@watermarkinsights/ripple 3.8.2 → 3.9.0-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/chartFunctions-a1dd1291.js +429 -0
  3. package/dist/cjs/{functions-b90816b8.js → functions-0750b767.js} +506 -532
  4. package/dist/cjs/{global-cf9485c4.js → global-0a6b313f.js} +60 -60
  5. package/dist/cjs/{http-service-9e8c4dd5.js → http-service-494d81de.js} +49 -49
  6. package/dist/cjs/{index-0e7e3668.js → index-98c6524c.js} +69 -96
  7. package/dist/cjs/{interfaces-30a74c1f.js → interfaces-a3338581.js} +29 -29
  8. package/dist/cjs/loader.cjs.js +4 -4
  9. package/dist/cjs/priv-chart-popover.cjs.entry.js +87 -79
  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 +117 -473
  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 +422 -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 +92 -0
  29. package/dist/cjs/wm-progress-monitor.cjs.entry.js +57 -0
  30. package/dist/cjs/wm-progress-slice.cjs.entry.js +17 -0
  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 +348 -348
  38. package/dist/cjs/wm-wrapper.cjs.entry.js +13 -13
  39. package/dist/collection/collection-manifest.json +8 -5
  40. package/dist/collection/components/{wm-chart → charts}/priv-chart-popover/priv-chart-popover.css +0 -0
  41. package/dist/collection/components/{wm-chart → charts}/priv-chart-popover/priv-chart-popover.js +258 -232
  42. package/dist/collection/components/{wm-chart → charts/wm-chart}/wm-chart-slice.js +115 -115
  43. package/dist/collection/components/charts/wm-chart/wm-chart.css +460 -0
  44. package/dist/collection/components/charts/wm-chart/wm-chart.js +332 -0
  45. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.css +460 -0
  46. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +199 -0
  47. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.css +53 -0
  48. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +95 -0
  49. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +111 -0
  50. package/dist/collection/components/wm-action-menu/wm-action-menu.js +460 -460
  51. package/dist/collection/components/wm-button/wm-button.css +2 -1
  52. package/dist/collection/components/wm-button/wm-button.js +491 -491
  53. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.css +4 -3
  54. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +1024 -1024
  55. package/dist/collection/components/wm-datepicker/wm-datepicker.css +2 -1
  56. package/dist/collection/components/wm-datepicker/wm-datepicker.js +471 -471
  57. package/dist/collection/components/wm-input/wm-input.css +2 -1
  58. package/dist/collection/components/wm-input/wm-input.js +423 -423
  59. package/dist/collection/components/wm-menuitem/wm-menuitem.js +444 -444
  60. package/dist/collection/components/wm-modal/wm-modal-footer.js +141 -141
  61. package/dist/collection/components/wm-modal/wm-modal-header.js +92 -92
  62. package/dist/collection/components/wm-modal/wm-modal.js +461 -461
  63. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +2 -1
  64. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +162 -162
  65. package/dist/collection/components/wm-navigation/wm-navigation-item.js +121 -121
  66. package/dist/collection/components/wm-navigation/wm-navigation.js +211 -211
  67. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +97 -97
  68. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +114 -114
  69. package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
  70. package/dist/collection/components/wm-option/wm-option.css +3 -2
  71. package/dist/collection/components/wm-option/wm-option.js +414 -414
  72. package/dist/collection/components/wm-pagination/wm-pagination.js +368 -368
  73. package/dist/collection/components/wm-search/wm-search.js +480 -480
  74. package/dist/collection/components/wm-select/wm-select.css +3 -2
  75. package/dist/collection/components/wm-select/wm-select.js +718 -718
  76. package/dist/collection/components/wm-snackbar/wm-snackbar.css +3 -2
  77. package/dist/collection/components/wm-snackbar/wm-snackbar.js +297 -297
  78. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +2 -2
  79. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +216 -216
  80. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +330 -330
  81. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
  82. package/dist/collection/components/wm-tag-input/wm-tag-input.css +3 -2
  83. package/dist/collection/components/wm-tag-input/wm-tag-input.js +810 -810
  84. package/dist/collection/components/wm-timepicker/wm-timepicker.css +3 -2
  85. package/dist/collection/components/wm-timepicker/wm-timepicker.js +583 -583
  86. package/dist/collection/components/wm-toggletip/wm-toggletip.css +2 -1
  87. package/dist/collection/components/wm-toggletip/wm-toggletip.js +241 -241
  88. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.css +2 -1
  89. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +753 -753
  90. package/dist/collection/components/wm-uploader/wm-uploader.css +2 -1
  91. package/dist/collection/components/wm-uploader/wm-uploader.js +748 -748
  92. package/dist/collection/components/wm-wrapper/wm-wrapper.js +27 -27
  93. package/dist/collection/dev/scripts.js +20 -20
  94. package/dist/collection/global/__mocks__/functions.js +6 -6
  95. package/dist/collection/global/chartFunctions.js +417 -0
  96. package/dist/collection/global/functions.js +468 -468
  97. package/dist/collection/global/global.js +67 -67
  98. package/dist/collection/global/interfaces.js +49 -49
  99. package/dist/collection/global/services/__mocks__/http-service.js +130 -130
  100. package/dist/collection/global/services/http-service.js +50 -50
  101. package/dist/collection/lang/lang.js +5 -5
  102. package/dist/collection/lang/missing.js +39 -39
  103. package/dist/collection/lang/piglatin.js +93 -93
  104. package/dist/esm/chartFunctions-fc11df2b.js +420 -0
  105. package/dist/esm/{functions-8d09a511.js → functions-b478ef24.js} +506 -532
  106. package/dist/esm/{global-d1d68bab.js → global-b8be90a6.js} +60 -60
  107. package/dist/esm/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +49 -49
  108. package/dist/esm/{index-cd8f9ae2.js → index-d649a861.js} +69 -96
  109. package/dist/esm/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +29 -29
  110. package/dist/esm/loader.js +4 -4
  111. package/dist/esm/polyfills/core-js.js +0 -0
  112. package/dist/esm/polyfills/css-shim.js +1 -1
  113. package/dist/esm/polyfills/dom.js +0 -0
  114. package/dist/esm/polyfills/es5-html-element.js +0 -0
  115. package/dist/esm/polyfills/index.js +0 -0
  116. package/dist/esm/polyfills/system.js +0 -0
  117. package/dist/esm/priv-chart-popover.entry.js +87 -79
  118. package/dist/esm/priv-datepicker.entry.js +659 -659
  119. package/dist/esm/priv-navigator-button.entry.js +19 -19
  120. package/dist/esm/priv-navigator-item.entry.js +24 -24
  121. package/dist/esm/ripple.js +4 -4
  122. package/dist/esm/wm-action-menu_2.entry.js +342 -342
  123. package/dist/esm/wm-button.entry.js +228 -228
  124. package/dist/esm/wm-chart-slice.entry.js +14 -14
  125. package/dist/esm/wm-chart.entry.js +117 -473
  126. package/dist/esm/wm-datepicker.entry.js +267 -267
  127. package/dist/esm/wm-input.entry.js +136 -136
  128. package/dist/esm/wm-modal-footer.entry.js +32 -32
  129. package/dist/esm/wm-modal-header.entry.js +35 -35
  130. package/dist/esm/wm-modal.entry.js +164 -164
  131. package/dist/esm/wm-navigation_3.entry.js +222 -222
  132. package/dist/esm/wm-navigator.entry.js +269 -269
  133. package/dist/esm/wm-network-uploader.entry.js +422 -422
  134. package/dist/esm/wm-option_2.entry.js +487 -487
  135. package/dist/esm/wm-pagination.entry.js +168 -168
  136. package/dist/esm/wm-progress-indicator.entry.js +88 -0
  137. package/dist/esm/wm-progress-monitor.entry.js +53 -0
  138. package/dist/esm/wm-progress-slice.entry.js +13 -0
  139. package/dist/esm/wm-search.entry.js +233 -233
  140. package/dist/esm/wm-snackbar.entry.js +172 -172
  141. package/dist/esm/wm-tab-item_3.entry.js +298 -298
  142. package/dist/esm/wm-tag-input.entry.js +581 -581
  143. package/dist/esm/wm-timepicker.entry.js +385 -385
  144. package/dist/esm/wm-toggletip.entry.js +126 -126
  145. package/dist/esm/wm-uploader.entry.js +348 -348
  146. package/dist/esm/wm-wrapper.entry.js +13 -13
  147. package/dist/esm-es5/chartFunctions-fc11df2b.js +1 -0
  148. package/dist/esm-es5/functions-b478ef24.js +15 -0
  149. package/dist/esm-es5/global-b8be90a6.js +1 -0
  150. package/dist/esm-es5/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +1 -1
  151. package/dist/esm-es5/index-d649a861.js +1 -0
  152. package/dist/esm-es5/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +0 -0
  153. package/dist/esm-es5/loader.js +1 -1
  154. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  155. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  156. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  157. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  158. package/dist/esm-es5/ripple.js +1 -1
  159. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  160. package/dist/esm-es5/wm-button.entry.js +1 -1
  161. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  162. package/dist/esm-es5/wm-chart.entry.js +1 -1
  163. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  164. package/dist/esm-es5/wm-input.entry.js +1 -1
  165. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  166. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  167. package/dist/esm-es5/wm-modal.entry.js +1 -1
  168. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  169. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  170. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  171. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  172. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  173. package/dist/esm-es5/wm-progress-indicator.entry.js +1 -0
  174. package/dist/esm-es5/wm-progress-monitor.entry.js +1 -0
  175. package/dist/esm-es5/wm-progress-slice.entry.js +1 -0
  176. package/dist/esm-es5/wm-search.entry.js +1 -1
  177. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  178. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  179. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  180. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  181. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  182. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  183. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  184. package/dist/loader/index.d.ts +1 -0
  185. package/dist/ripple/p-063bc67c.system.entry.js +1 -0
  186. package/dist/ripple/{p-504579c2.system.entry.js → p-099df7b7.system.entry.js} +1 -1
  187. package/dist/ripple/p-0b23a4fe.entry.js +1 -0
  188. package/dist/ripple/p-1b2c3251.system.entry.js +1 -0
  189. package/dist/ripple/{p-34e0410e.system.entry.js → p-1b7be30d.system.entry.js} +1 -1
  190. package/dist/ripple/p-1e2c46f1.entry.js +1 -0
  191. package/dist/ripple/p-1e7fc028.entry.js +1 -0
  192. package/dist/ripple/p-2296c2c3.entry.js +1 -0
  193. package/dist/ripple/p-24cd6213.system.entry.js +1 -0
  194. package/dist/ripple/p-2587031d.system.entry.js +1 -0
  195. package/dist/ripple/p-29d527c8.entry.js +1 -0
  196. package/dist/ripple/p-2b6246d9.entry.js +1 -0
  197. package/dist/ripple/{p-a5177480.system.entry.js → p-2b63995f.system.entry.js} +1 -1
  198. package/dist/ripple/p-2b9c54e7.system.entry.js +1 -0
  199. package/dist/ripple/p-2cc9e6cf.system.entry.js +1 -0
  200. package/dist/ripple/p-30db4ad7.entry.js +1 -0
  201. package/dist/ripple/{p-dc0e6d55.system.entry.js → p-30e1daf7.system.entry.js} +1 -1
  202. package/dist/ripple/p-3388ca40.entry.js +1 -0
  203. package/dist/ripple/p-34736928.entry.js +1 -0
  204. package/dist/ripple/p-366e00f9.js +1 -0
  205. package/dist/ripple/p-36be0612.js +1 -0
  206. package/dist/ripple/p-3b31eaec.system.js +1 -0
  207. package/dist/ripple/p-3eb3a1f8.entry.js +1 -0
  208. package/dist/ripple/{p-888bec42.js → p-43f1298b.js} +0 -0
  209. package/dist/ripple/p-492ad5d0.system.entry.js +1 -0
  210. package/dist/ripple/p-4f23cdc6.entry.js +1 -0
  211. package/dist/ripple/p-50be3b44.js +1 -0
  212. package/dist/ripple/p-5743d4bc.system.entry.js +1 -0
  213. package/dist/ripple/p-59963be9.system.entry.js +1 -0
  214. package/dist/ripple/p-5d6cc9da.system.js +1 -0
  215. package/dist/ripple/p-5e5f162c.system.entry.js +1 -0
  216. package/dist/ripple/{p-53caf7e4.system.entry.js → p-647edff3.system.entry.js} +1 -1
  217. package/dist/ripple/p-6c295beb.entry.js +1 -0
  218. package/dist/ripple/p-6c751341.entry.js +1 -0
  219. package/dist/ripple/p-6f9e8fbc.entry.js +1 -0
  220. package/dist/ripple/p-70ececb5.entry.js +1 -0
  221. package/dist/ripple/p-7674c9b0.system.entry.js +1 -0
  222. package/dist/ripple/p-76b96f77.entry.js +1 -0
  223. package/dist/ripple/p-7a2a0d2e.js +16 -0
  224. package/dist/ripple/p-7c2b1682.entry.js +1 -0
  225. package/dist/ripple/p-7f0c64ac.entry.js +1 -0
  226. package/dist/ripple/p-803f1f22.entry.js +1 -0
  227. package/dist/ripple/p-84fb34b5.entry.js +1 -0
  228. package/dist/ripple/p-8a583f84.entry.js +1 -0
  229. package/dist/ripple/p-8daa2613.system.entry.js +1 -0
  230. package/dist/ripple/p-935a266f.entry.js +1 -0
  231. package/dist/ripple/p-9d02957d.system.js +1 -0
  232. package/dist/ripple/p-a14ac623.entry.js +1 -0
  233. package/dist/ripple/{p-e758db14.system.entry.js → p-a1511315.system.entry.js} +1 -1
  234. package/dist/ripple/p-b325c35a.system.entry.js +1 -0
  235. package/dist/ripple/{p-9a9743f5.system.entry.js → p-bfc1ab2e.system.entry.js} +1 -1
  236. package/dist/ripple/p-bfe93d8d.system.entry.js +1 -0
  237. package/dist/ripple/p-c1c7b0b1.system.js +15 -0
  238. package/dist/ripple/p-c20a179f.system.entry.js +1 -0
  239. package/dist/ripple/p-c8bbf15e.entry.js +1 -0
  240. package/dist/ripple/{p-7913283e.system.entry.js → p-cb7d8ade.system.entry.js} +1 -1
  241. package/dist/ripple/p-cfb62ded.entry.js +1 -0
  242. package/dist/ripple/p-d12e0f49.system.js +1 -0
  243. package/dist/ripple/p-d648d193.entry.js +1 -0
  244. package/dist/ripple/p-d7ff84eb.entry.js +1 -0
  245. package/dist/ripple/{p-c19298a5.system.entry.js → p-ddf157c8.system.entry.js} +1 -1
  246. package/dist/ripple/p-e90f6915.system.js +1 -0
  247. package/dist/ripple/p-ea33bda7.system.entry.js +1 -0
  248. package/dist/ripple/p-f2566a42.system.entry.js +1 -0
  249. package/dist/ripple/{p-08b7ec08.system.js → p-f5df5903.system.js} +0 -0
  250. package/dist/ripple/p-f62fc5ea.system.entry.js +1 -0
  251. package/dist/ripple/{p-a6d6eae7.js → p-fd8070fb.js} +0 -0
  252. package/dist/ripple/{p-dcfe93ea.system.entry.js → p-fd9380f2.system.entry.js} +1 -1
  253. package/dist/ripple/p-fe0abd10.system.entry.js +1 -0
  254. package/dist/ripple/p-fe2a30d3.entry.js +1 -0
  255. package/dist/ripple/p-ffbc5db3.entry.js +1 -0
  256. package/dist/ripple/ripple.esm.js +1 -1
  257. package/dist/ripple/ripple.js +1 -1
  258. package/dist/types/components/{wm-chart → charts}/priv-chart-popover/priv-chart-popover.d.ts +27 -23
  259. package/dist/types/components/{wm-chart → charts/wm-chart}/wm-chart-slice.d.ts +11 -11
  260. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +35 -0
  261. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +26 -0
  262. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +17 -0
  263. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -0
  264. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +48 -48
  265. package/dist/types/components/wm-button/wm-button.d.ts +43 -43
  266. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -80
  267. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +41 -41
  268. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  269. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
  270. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +15 -15
  271. package/dist/types/components/wm-modal/wm-modal-header.d.ts +12 -12
  272. package/dist/types/components/wm-modal/wm-modal.d.ts +41 -41
  273. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +21 -21
  274. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -13
  275. package/dist/types/components/wm-navigation/wm-navigation.d.ts +30 -30
  276. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  277. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
  278. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
  279. package/dist/types/components/wm-option/wm-option.d.ts +32 -32
  280. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  281. package/dist/types/components/wm-search/wm-search.d.ts +86 -86
  282. package/dist/types/components/wm-select/wm-select.d.ts +66 -66
  283. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +35 -35
  284. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +38 -38
  285. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +53 -53
  286. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
  287. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +92 -92
  288. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +61 -61
  289. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +27 -27
  290. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
  291. package/dist/types/components/wm-uploader/wm-uploader.d.ts +80 -80
  292. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  293. package/dist/types/components.d.ts +86 -24
  294. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  295. package/dist/types/global/chartFunctions.d.ts +28 -0
  296. package/dist/types/global/functions.d.ts +42 -42
  297. package/dist/types/global/global.d.ts +1 -1
  298. package/dist/types/global/interfaces.d.ts +44 -34
  299. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  300. package/dist/types/global/services/http-service.d.ts +4 -4
  301. package/dist/types/lang/lang.d.ts +5 -5
  302. package/dist/types/stencil-public-runtime.d.ts +4 -6
  303. package/package.json +47 -47
  304. package/dist/collection/components/wm-chart/wm-chart.css +0 -346
  305. package/dist/collection/components/wm-chart/wm-chart.js +0 -715
  306. package/dist/esm-es5/functions-8d09a511.js +0 -15
  307. package/dist/esm-es5/global-d1d68bab.js +0 -1
  308. package/dist/esm-es5/index-cd8f9ae2.js +0 -1
  309. package/dist/ripple/p-09508c2d.entry.js +0 -1
  310. package/dist/ripple/p-0a916c6e.entry.js +0 -1
  311. package/dist/ripple/p-11a9ce3f.system.js +0 -1
  312. package/dist/ripple/p-1ef19ec1.entry.js +0 -1
  313. package/dist/ripple/p-20856a2d.system.js +0 -1
  314. package/dist/ripple/p-244877c8.entry.js +0 -1
  315. package/dist/ripple/p-253a08fe.system.js +0 -15
  316. package/dist/ripple/p-268622b5.system.entry.js +0 -1
  317. package/dist/ripple/p-27f0d9be.entry.js +0 -1
  318. package/dist/ripple/p-29d3ca15.system.entry.js +0 -1
  319. package/dist/ripple/p-2a27dba5.entry.js +0 -1
  320. package/dist/ripple/p-2b209cf3.js +0 -1
  321. package/dist/ripple/p-313b6073.system.js +0 -1
  322. package/dist/ripple/p-38062c39.js +0 -1
  323. package/dist/ripple/p-39eea6bd.system.entry.js +0 -1
  324. package/dist/ripple/p-3b6b7618.entry.js +0 -1
  325. package/dist/ripple/p-3ba3afca.entry.js +0 -1
  326. package/dist/ripple/p-4de0799d.entry.js +0 -1
  327. package/dist/ripple/p-56963e2f.system.entry.js +0 -1
  328. package/dist/ripple/p-597985b9.entry.js +0 -1
  329. package/dist/ripple/p-5adc422a.entry.js +0 -1
  330. package/dist/ripple/p-5e0d47b9.system.entry.js +0 -1
  331. package/dist/ripple/p-67f74636.entry.js +0 -1
  332. package/dist/ripple/p-69735b23.system.entry.js +0 -1
  333. package/dist/ripple/p-6c65643e.system.entry.js +0 -1
  334. package/dist/ripple/p-7484c4e6.system.entry.js +0 -1
  335. package/dist/ripple/p-764fa608.entry.js +0 -1
  336. package/dist/ripple/p-81c023a7.entry.js +0 -1
  337. package/dist/ripple/p-8a0450fd.entry.js +0 -1
  338. package/dist/ripple/p-8e2cbae6.system.entry.js +0 -1
  339. package/dist/ripple/p-93b1c864.system.entry.js +0 -1
  340. package/dist/ripple/p-991abdb9.system.entry.js +0 -1
  341. package/dist/ripple/p-99d610f9.entry.js +0 -1
  342. package/dist/ripple/p-a8d66745.js +0 -16
  343. package/dist/ripple/p-b53962af.entry.js +0 -1
  344. package/dist/ripple/p-b53cecad.system.entry.js +0 -1
  345. package/dist/ripple/p-bdbc14ee.system.entry.js +0 -1
  346. package/dist/ripple/p-bf3c22d9.entry.js +0 -1
  347. package/dist/ripple/p-c58520e4.entry.js +0 -1
  348. package/dist/ripple/p-c7660ed9.entry.js +0 -1
  349. package/dist/ripple/p-c8040acd.system.entry.js +0 -1
  350. package/dist/ripple/p-c9284e6b.entry.js +0 -1
  351. package/dist/ripple/p-cd75be7a.entry.js +0 -1
  352. package/dist/ripple/p-cdd5ce00.entry.js +0 -1
  353. package/dist/ripple/p-d680d98f.entry.js +0 -1
  354. package/dist/ripple/p-e597d7bb.system.entry.js +0 -1
  355. package/dist/ripple/p-e6bcfdd5.entry.js +0 -1
  356. package/dist/ripple/p-e8761ba1.system.js +0 -1
  357. package/dist/ripple/p-ef344252.entry.js +0 -1
  358. package/dist/ripple/p-fc254870.system.entry.js +0 -1
  359. package/dist/types/components/wm-chart/wm-chart.d.ts +0 -82
@@ -2,481 +2,125 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-0e7e3668.js');
6
- const functions = require('./functions-b90816b8.js');
5
+ const index = require('./index-98c6524c.js');
6
+ const functions = require('./functions-0750b767.js');
7
+ const chartFunctions = require('./chartFunctions-a1dd1291.js');
7
8
 
8
- const wmChartCss = ".component-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;font-size:0.875rem;position:relative;}.component-wrapper .label{display:block;margin:0;padding-bottom:0.25rem;font-weight:500;position:relative}.component-wrapper .label .subinfo{display:block;font-weight:normal;font-style:italic;bottom:0.25rem;width:100%;color:#6b6b6b}.component-wrapper .legend-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-align:center}.component-wrapper .legend-wrapper .legend{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;text-align:center;padding-top:0.25rem;padding-bottom:0.75rem;-webkit-box-sizing:border-box;box-sizing:border-box}.component-wrapper .legend-wrapper .legend.--top{margin-top:-0.75rem}.component-wrapper .legend-wrapper .legend.--top .legend-item{padding-top:0.75rem}.component-wrapper .legend-wrapper .legend.--top .legend-color{top:0.75rem}.component-wrapper .legend-wrapper .legend.--bottom{margin-bottom:-0.75rem}.component-wrapper .legend-wrapper .legend.--bottom .legend-item{padding-bottom:0.75rem}.component-wrapper .legend-wrapper .legend.--bottom .legend-color{top:-0.75rem}.component-wrapper .legend-wrapper .legend .legend-item{position:relative}.component-wrapper .legend-wrapper .legend .legend-item:not(:last-of-type){padding-right:1.25rem}.component-wrapper .legend-wrapper .legend .legend-text{padding-left:1rem;line-height:1}.component-wrapper .legend-wrapper .legend .legend-color{position:absolute;left:0;bottom:0;margin:auto;width:0.6875rem;height:0.6875rem}.component-wrapper .legend-wrapper .cluster-warning{font-size:0.75rem;font-style:italic;max-width:100%}.component-wrapper .doughnut-svg,.component-wrapper .inner-bar-wrapper{overflow:visible}.component-wrapper .bar-wrapper{-ms-flex-positive:1;flex-grow:1;width:100%}.component-wrapper .bar-wrapper .inner-bar-wrapper{width:100%}.component-wrapper .bar-wrapper .inner-bar-wrapper .values{display:-ms-flexbox;display:flex}.component-wrapper .bar-wrapper .inner-bar-wrapper .bar-segments-wrapper{display:-ms-flexbox;display:flex}.component-wrapper .bar-wrapper .inner-bar-wrapper .bar-segments-wrapper .bar-segment{height:30px;cursor:pointer}.component-wrapper .bar-wrapper .inner-bar-wrapper .bar-segments-wrapper .bar-segment:not(.zero):not(:last-of-type){margin-right:2px}.component-wrapper .doughnut-wrapper{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px}.component-wrapper .doughnut-wrapper .doughnut-segment{cursor:pointer}.component-wrapper .value{display:inline-block;text-align:center}.component-wrapper .value:not(:last-of-type){margin-right:2px}.component-wrapper path:active,.component-wrapper path:hover,.component-wrapper path:focus,.component-wrapper .bar-segment:active,.component-wrapper .bar-segment:hover,.component-wrapper .bar-segment:focus{outline:none}.component-wrapper path:active.bar-segment,.component-wrapper path:hover.bar-segment,.component-wrapper path:focus.bar-segment,.component-wrapper .bar-segment:active.bar-segment,.component-wrapper .bar-segment:hover.bar-segment,.component-wrapper .bar-segment:focus.bar-segment{-webkit-box-shadow:0px 0px 6px #333;-moz-box-shadow:0px 0px 6px #333;box-shadow:0px 0px 6px #333}.component-wrapper path:active.doughnut-segment,.component-wrapper path:hover.doughnut-segment,.component-wrapper path:focus.doughnut-segment,.component-wrapper .bar-segment:active.doughnut-segment,.component-wrapper .bar-segment:hover.doughnut-segment,.component-wrapper .bar-segment:focus.doughnut-segment{-webkit-filter:url(#wmHoverDropShadow);filter:url(#wmHoverDropShadow)}.component-wrapper path::-moz-focus-inner,.component-wrapper .bar-segment::-moz-focus-inner{border:0;outline:none}.component-wrapper.doughnut1 label,.component-wrapper.doughnut1 .label-text,.component-wrapper.doughnut2 label,.component-wrapper.doughnut2 .label-text,.component-wrapper.doughnut3 label,.component-wrapper.doughnut3 .label-text{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}.component-wrapper.doughnut0{-ms-flex-align:center;align-items:center}.component-wrapper.doughnut0 label{text-align:center;width:100%;padding-bottom:1.5rem}.component-wrapper.doughnut0 label .subinfo{position:absolute}.component-wrapper.doughnut0 .legend{display:-ms-flexbox;display:flex}.component-wrapper.doughnut0 .completion-message{padding-top:0.625rem}.component-wrapper.bar1{padding:1.25rem;-ms-flex-align:start;align-items:flex-start}.component-wrapper.bar1 label{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.component-wrapper.bar1 label .subinfo{position:initial}.component-wrapper.bar1 .legend{display:none}.component-wrapper.bar1 .chart-wrapper{display:-ms-flexbox;display:flex}.component-wrapper.bar1 .chart-wrapper .single-perc{width:4rem;-ms-flex:none;flex:none;display:-ms-flexbox;display:flex;height:30px;-ms-flex-align:center;align-items:center}.component-wrapper.bar1 .chart-wrapper .inner-bar-wrapper{-ms-flex:1;flex:1}.component-wrapper.bar1 .chart-wrapper .completion-message{width:100%;text-align:right;margin-top:0.25rem}@media screen and (min-width: 768px){.component-wrapper.bar1{-ms-flex-direction:row;flex-direction:row}.component-wrapper.bar1 label{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;min-height:30px;width:12rem;text-align:left;padding-right:1.25rem;padding-bottom:0;-ms-flex:none;flex:none}.component-wrapper.bar1 .bar-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.component-wrapper.bar1 .bar-wrapper .single-perc{text-align:center;padding-left:0.5rem;-ms-flex-pack:center;justify-content:center}}.component-wrapper.bar2,.component-wrapper.bar3,.component-wrapper.bar4,.component-wrapper.bar5{-ms-flex-align:start;align-items:flex-start}.component-wrapper.bar2 .inner-bar-wrapper,.component-wrapper.bar4 .inner-bar-wrapper,.component-wrapper.bar5 .inner-bar-wrapper{height:30px;margin-bottom:0}.component-wrapper.bar2 .inner-bar-wrapper.show-values,.component-wrapper.bar4 .inner-bar-wrapper.show-values,.component-wrapper.bar5 .inner-bar-wrapper.show-values{height:60px;margin-top:0}.component-wrapper.bar3 .legend{padding-bottom:1.25rem}.component-wrapper.bar3 .chart-wrapper{position:relative;height:100px}.component-wrapper.bar3 .chart-wrapper .inner-bar-wrapper{position:absolute;top:35px;left:0;right:0;bottom:0;height:30px}.component-wrapper.bar3 .chart-wrapper .inner-bar-wrapper text{fill:#4a4a4a}.component-wrapper.bar3 .chart-wrapper .axis{position:absolute;top:0;left:0;height:90px;width:100%;overflow:visible;-webkit-transform:translateY(90px);transform:translateY(90px)}.component-wrapper.bar3 .chart-wrapper .axis line{stroke:#eeedf4;stroke-width:1px}.component-wrapper.bar3 .chart-wrapper .axis text{-webkit-transform:translate(4px, 24px);transform:translate(4px, 24px);text-anchor:middle}.component-wrapper.left-label{-ms-flex-direction:row;flex-direction:row}.component-wrapper.left-label .label{width:12rem;padding-right:1.25rem;-ms-flex:none;flex:none;-ms-flex-item-align:end;align-self:flex-end;min-height:30px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host(:focus){outline:none}:host(:focus) .component-wrapper.user-is-tabbing .bar-segments-wrapper,:host(:focus) .component-wrapper.user-is-tabbing .doughnut-wrapper{-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e}:host(:focus) .component-wrapper.user-is-tabbing .bar-segments-wrapper::-moz-focus-inner,:host(:focus) .component-wrapper.user-is-tabbing .doughnut-wrapper::-moz-focus-inner{border:0}";
9
+ const wmChartCss = ":host,wm-chart{}:host .component-wrapper,wm-chart .component-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;font-size:0.875rem;position:relative;}:host .component-wrapper .label,wm-chart .component-wrapper .label{display:block;margin:0;padding-bottom:0.25rem;font-weight:500;position:relative}:host .component-wrapper .label .subinfo,wm-chart .component-wrapper .label .subinfo{display:block;font-weight:normal;font-style:italic;bottom:0.25rem;width:100%;color:#6b6b6b}:host .component-wrapper .legend-wrapper,wm-chart .component-wrapper .legend-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-align:center}:host .component-wrapper .legend-wrapper .legend,wm-chart .component-wrapper .legend-wrapper .legend{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;text-align:center;padding-top:0.25rem;padding-bottom:0.75rem;-webkit-box-sizing:border-box;box-sizing:border-box}:host .component-wrapper .legend-wrapper .legend.--top,wm-chart .component-wrapper .legend-wrapper .legend.--top{margin-top:-0.75rem}:host .component-wrapper .legend-wrapper .legend.--top .legend-item,wm-chart .component-wrapper .legend-wrapper .legend.--top .legend-item{padding-top:0.75rem}:host .component-wrapper .legend-wrapper .legend.--top .legend-color,wm-chart .component-wrapper .legend-wrapper .legend.--top .legend-color{top:0.75rem}:host .component-wrapper .legend-wrapper .legend.--bottom,wm-chart .component-wrapper .legend-wrapper .legend.--bottom{margin-bottom:-0.75rem}:host .component-wrapper .legend-wrapper .legend.--bottom .legend-item,wm-chart .component-wrapper .legend-wrapper .legend.--bottom .legend-item{padding-bottom:0.75rem}:host .component-wrapper .legend-wrapper .legend.--bottom .legend-color,wm-chart .component-wrapper .legend-wrapper .legend.--bottom .legend-color{top:-0.75rem}:host .component-wrapper .legend-wrapper .legend .legend-item,wm-chart .component-wrapper .legend-wrapper .legend .legend-item{position:relative}:host .component-wrapper .legend-wrapper .legend .legend-item:not(:last-of-type),wm-chart .component-wrapper .legend-wrapper .legend .legend-item:not(:last-of-type){padding-right:1.25rem}:host .component-wrapper .legend-wrapper .legend .legend-text,wm-chart .component-wrapper .legend-wrapper .legend .legend-text{padding-left:1rem;line-height:1}:host .component-wrapper .legend-wrapper .legend .legend-color,wm-chart .component-wrapper .legend-wrapper .legend .legend-color{position:absolute;left:0;bottom:0;margin:auto;width:0.6875rem;height:0.6875rem}:host .component-wrapper .legend-wrapper .cluster-warning,wm-chart .component-wrapper .legend-wrapper .cluster-warning{font-size:0.75rem;font-style:italic;max-width:100%}:host .component-wrapper .doughnut-svg,wm-chart .component-wrapper .doughnut-svg,:host .component-wrapper .inner-bar-wrapper,wm-chart .component-wrapper .inner-bar-wrapper{overflow:visible}:host .component-wrapper .bar-wrapper,wm-chart .component-wrapper .bar-wrapper{-ms-flex-positive:1;flex-grow:1;width:100%}:host .component-wrapper .bar-wrapper .inner-bar-wrapper,wm-chart .component-wrapper .bar-wrapper .inner-bar-wrapper{width:100%}:host .component-wrapper .bar-wrapper .inner-bar-wrapper .values,wm-chart .component-wrapper .bar-wrapper .inner-bar-wrapper .values{display:-ms-flexbox;display:flex}:host .component-wrapper .bar-wrapper .inner-bar-wrapper .bar-segments-wrapper,wm-chart .component-wrapper .bar-wrapper .inner-bar-wrapper .bar-segments-wrapper{display:-ms-flexbox;display:flex}:host .component-wrapper .bar-wrapper .inner-bar-wrapper .bar-segments-wrapper .bar-segment,wm-chart .component-wrapper .bar-wrapper .inner-bar-wrapper .bar-segments-wrapper .bar-segment{height:30px;cursor:pointer}:host .component-wrapper .bar-wrapper .inner-bar-wrapper .bar-segments-wrapper .bar-segment:not(.zero):not(:last-of-type),wm-chart .component-wrapper .bar-wrapper .inner-bar-wrapper .bar-segments-wrapper .bar-segment:not(.zero):not(:last-of-type){margin-right:2px}:host .component-wrapper .doughnut-wrapper,wm-chart .component-wrapper .doughnut-wrapper{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px}:host .component-wrapper .doughnut-wrapper .doughnut-segment,wm-chart .component-wrapper .doughnut-wrapper .doughnut-segment{cursor:pointer}:host .component-wrapper .value,wm-chart .component-wrapper .value{display:inline-block;text-align:center}:host .component-wrapper .value:not(:last-of-type),wm-chart .component-wrapper .value:not(:last-of-type){margin-right:2px}:host .component-wrapper path:active,wm-chart .component-wrapper path:active,:host .component-wrapper path:hover,wm-chart .component-wrapper path:hover,:host .component-wrapper path:focus,wm-chart .component-wrapper path:focus,:host .component-wrapper .bar-segment:active,wm-chart .component-wrapper .bar-segment:active,:host .component-wrapper .bar-segment:hover,wm-chart .component-wrapper .bar-segment:hover,:host .component-wrapper .bar-segment:focus,wm-chart .component-wrapper .bar-segment:focus{outline:none}:host .component-wrapper .bar-segment:active.bar-segment,wm-chart .component-wrapper .bar-segment:active.bar-segment,:host .component-wrapper .bar-segment:hover.bar-segment,wm-chart .component-wrapper .bar-segment:hover.bar-segment,:host .component-wrapper .bar-segment:focus.bar-segment,wm-chart .component-wrapper .bar-segment:focus.bar-segment{-webkit-box-shadow:0px 0px 6px #333;-moz-box-shadow:0px 0px 6px #333;box-shadow:0px 0px 6px #333}:host .component-wrapper path:active.doughnut-segment,wm-chart .component-wrapper path:active.doughnut-segment,:host .component-wrapper path:hover.doughnut-segment,wm-chart .component-wrapper path:hover.doughnut-segment,:host .component-wrapper path:focus.doughnut-segment,wm-chart .component-wrapper path:focus.doughnut-segment,:host .component-wrapper .bar-segment:active.doughnut-segment,wm-chart .component-wrapper .bar-segment:active.doughnut-segment,:host .component-wrapper .bar-segment:hover.doughnut-segment,wm-chart .component-wrapper .bar-segment:hover.doughnut-segment,:host .component-wrapper .bar-segment:focus.doughnut-segment,wm-chart .component-wrapper .bar-segment:focus.doughnut-segment{-webkit-filter:url(#wmHoverDropShadow);filter:url(#wmHoverDropShadow)}:host .component-wrapper path::-moz-focus-inner,wm-chart .component-wrapper path::-moz-focus-inner,:host .component-wrapper .bar-segment::-moz-focus-inner,wm-chart .component-wrapper .bar-segment::-moz-focus-inner{border:0;outline:none}:host .component-wrapper.doughnut,wm-chart .component-wrapper.doughnut{width:300px}:host .component-wrapper.doughnut1 label,wm-chart .component-wrapper.doughnut1 label,:host .component-wrapper.doughnut1 .label-text,wm-chart .component-wrapper.doughnut1 .label-text,:host .component-wrapper.doughnut2 label,wm-chart .component-wrapper.doughnut2 label,:host .component-wrapper.doughnut2 .label-text,wm-chart .component-wrapper.doughnut2 .label-text,:host .component-wrapper.doughnut3 label,wm-chart .component-wrapper.doughnut3 label,:host .component-wrapper.doughnut3 .label-text,wm-chart .component-wrapper.doughnut3 .label-text{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 .component-wrapper.doughnut0,wm-chart .component-wrapper.doughnut0,:host .component-wrapper.doughnut,wm-chart .component-wrapper.doughnut{-ms-flex-align:center;align-items:center}:host .component-wrapper.doughnut0 label,wm-chart .component-wrapper.doughnut0 label,:host .component-wrapper.doughnut label,wm-chart .component-wrapper.doughnut label{text-align:center;width:100%;padding-bottom:1.5rem}:host .component-wrapper.doughnut0 label .subinfo,wm-chart .component-wrapper.doughnut0 label .subinfo,:host .component-wrapper.doughnut label .subinfo,wm-chart .component-wrapper.doughnut label .subinfo{position:absolute}:host .component-wrapper.doughnut0 .legend,wm-chart .component-wrapper.doughnut0 .legend,:host .component-wrapper.doughnut .legend,wm-chart .component-wrapper.doughnut .legend{display:-ms-flexbox;display:flex}:host .component-wrapper.doughnut0 .completion-message,wm-chart .component-wrapper.doughnut0 .completion-message,:host .component-wrapper.doughnut .completion-message,wm-chart .component-wrapper.doughnut .completion-message{padding-top:0.625rem}:host .component-wrapper.bar1,wm-chart .component-wrapper.bar1,:host .component-wrapper.bar,wm-chart .component-wrapper.bar{padding:1.25rem;-ms-flex-align:start;align-items:flex-start}:host .component-wrapper.bar1 label,wm-chart .component-wrapper.bar1 label,:host .component-wrapper.bar label,wm-chart .component-wrapper.bar label{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host .component-wrapper.bar1 label .subinfo,wm-chart .component-wrapper.bar1 label .subinfo,:host .component-wrapper.bar label .subinfo,wm-chart .component-wrapper.bar label .subinfo{position:initial}:host .component-wrapper.bar1 .legend,wm-chart .component-wrapper.bar1 .legend,:host .component-wrapper.bar .legend,wm-chart .component-wrapper.bar .legend{display:none}:host .component-wrapper.bar1 .chart-wrapper,wm-chart .component-wrapper.bar1 .chart-wrapper,:host .component-wrapper.bar .chart-wrapper,wm-chart .component-wrapper.bar .chart-wrapper{display:-ms-flexbox;display:flex}:host .component-wrapper.bar1 .chart-wrapper .single-perc,wm-chart .component-wrapper.bar1 .chart-wrapper .single-perc,:host .component-wrapper.bar .chart-wrapper .single-perc,wm-chart .component-wrapper.bar .chart-wrapper .single-perc{width:4rem;-ms-flex:none;flex:none;display:-ms-flexbox;display:flex;height:30px;-ms-flex-align:center;align-items:center}:host .component-wrapper.bar1 .chart-wrapper .inner-bar-wrapper,wm-chart .component-wrapper.bar1 .chart-wrapper .inner-bar-wrapper,:host .component-wrapper.bar .chart-wrapper .inner-bar-wrapper,wm-chart .component-wrapper.bar .chart-wrapper .inner-bar-wrapper{-ms-flex:1;flex:1}:host .component-wrapper.bar1 .chart-wrapper .completion-message,wm-chart .component-wrapper.bar1 .chart-wrapper .completion-message,:host .component-wrapper.bar .chart-wrapper .completion-message,wm-chart .component-wrapper.bar .chart-wrapper .completion-message{width:100%;text-align:right;margin-top:0.25rem}@media screen and (min-width: 768px){:host .component-wrapper.bar1,wm-chart .component-wrapper.bar1,:host .component-wrapper.bar,wm-chart .component-wrapper.bar{-ms-flex-direction:row;flex-direction:row}:host .component-wrapper.bar1 label,wm-chart .component-wrapper.bar1 label,:host .component-wrapper.bar label,wm-chart .component-wrapper.bar label{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;min-height:30px;width:12rem;text-align:left;padding-right:1.25rem;padding-bottom:0;-ms-flex:none;flex:none}:host .component-wrapper.bar1 .bar-wrapper,wm-chart .component-wrapper.bar1 .bar-wrapper,:host .component-wrapper.bar .bar-wrapper,wm-chart .component-wrapper.bar .bar-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host .component-wrapper.bar1 .bar-wrapper .single-perc,wm-chart .component-wrapper.bar1 .bar-wrapper .single-perc,:host .component-wrapper.bar .bar-wrapper .single-perc,wm-chart .component-wrapper.bar .bar-wrapper .single-perc{text-align:center;padding-left:0.5rem;-ms-flex-pack:center;justify-content:center}}:host .component-wrapper.bar2,wm-chart .component-wrapper.bar2,:host .component-wrapper.bar3,wm-chart .component-wrapper.bar3,:host .component-wrapper.bar4,wm-chart .component-wrapper.bar4,:host .component-wrapper.bar5,wm-chart .component-wrapper.bar5{-ms-flex-align:start;align-items:flex-start}:host .component-wrapper.bar2 .inner-bar-wrapper,wm-chart .component-wrapper.bar2 .inner-bar-wrapper,:host .component-wrapper.bar4 .inner-bar-wrapper,wm-chart .component-wrapper.bar4 .inner-bar-wrapper,:host .component-wrapper.bar5 .inner-bar-wrapper,wm-chart .component-wrapper.bar5 .inner-bar-wrapper{height:30px;margin-bottom:0}:host .component-wrapper.bar2 .inner-bar-wrapper.show-values,wm-chart .component-wrapper.bar2 .inner-bar-wrapper.show-values,:host .component-wrapper.bar4 .inner-bar-wrapper.show-values,wm-chart .component-wrapper.bar4 .inner-bar-wrapper.show-values,:host .component-wrapper.bar5 .inner-bar-wrapper.show-values,wm-chart .component-wrapper.bar5 .inner-bar-wrapper.show-values{height:60px;margin-top:0}:host .component-wrapper.bar3 .legend,wm-chart .component-wrapper.bar3 .legend{padding-bottom:1.25rem}:host .component-wrapper.bar3 .chart-wrapper,wm-chart .component-wrapper.bar3 .chart-wrapper{position:relative;height:100px}:host .component-wrapper.bar3 .chart-wrapper .inner-bar-wrapper,wm-chart .component-wrapper.bar3 .chart-wrapper .inner-bar-wrapper{position:absolute;top:35px;left:0;right:0;bottom:0;height:30px}:host .component-wrapper.bar3 .chart-wrapper .inner-bar-wrapper text,wm-chart .component-wrapper.bar3 .chart-wrapper .inner-bar-wrapper text{fill:#4a4a4a}:host .component-wrapper.bar3 .chart-wrapper .axis,wm-chart .component-wrapper.bar3 .chart-wrapper .axis{position:absolute;top:0;left:0;height:90px;width:100%;overflow:visible;-webkit-transform:translateY(90px);transform:translateY(90px)}:host .component-wrapper.bar3 .chart-wrapper .axis line,wm-chart .component-wrapper.bar3 .chart-wrapper .axis line{stroke:#eeedf4;stroke-width:1px}:host .component-wrapper.bar3 .chart-wrapper .axis text,wm-chart .component-wrapper.bar3 .chart-wrapper .axis text{-webkit-transform:translate(4px, 24px);transform:translate(4px, 24px);text-anchor:middle}:host .component-wrapper.left-label,wm-chart .component-wrapper.left-label{-ms-flex-direction:row;flex-direction:row}:host .component-wrapper.left-label .label,wm-chart .component-wrapper.left-label .label{width:12rem;padding-right:1.25rem;-ms-flex:none;flex:none;-ms-flex-item-align:end;align-self:flex-end;min-height:30px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host :host(:focus),wm-chart :host(:focus){outline:none}:host :host(:focus) .component-wrapper.user-is-tabbing .bar-segments-wrapper,wm-chart :host(:focus) .component-wrapper.user-is-tabbing .bar-segments-wrapper,:host :host(:focus) .component-wrapper.user-is-tabbing .doughnut-wrapper,wm-chart :host(:focus) .component-wrapper.user-is-tabbing .doughnut-wrapper{-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e}:host :host(:focus) .component-wrapper.user-is-tabbing .bar-segments-wrapper::-moz-focus-inner,wm-chart :host(:focus) .component-wrapper.user-is-tabbing .bar-segments-wrapper::-moz-focus-inner,:host :host(:focus) .component-wrapper.user-is-tabbing .doughnut-wrapper::-moz-focus-inner,wm-chart :host(:focus) .component-wrapper.user-is-tabbing .doughnut-wrapper::-moz-focus-inner{border:0}";
9
10
 
10
- let Chart = class {
11
- constructor(hostRef) {
12
- index.registerInstance(this, hostRef);
13
- this.chartType = "doughnut1";
14
- this.showLegend = true;
15
- this.notStartedColor = false;
16
- // left labels are a temporary solution for the lack of a stacked bar chart and is undocumented
17
- // it only works with bar4 and should be used without a legend
18
- this.labelPosition = "top";
19
- this.isTabbing = false;
20
- this.uid = functions.generateId();
21
- this.slicesData = [];
22
- this.colors = {
23
- salmon: "#ff5f4e",
24
- cyan: "#19a1a9",
25
- forest: "#088000",
26
- sleet: "#7f97ad",
27
- midnight: "#2e1b46",
28
- lavender: "#8b86ca",
29
- };
30
- this.types = {
31
- doughnut0: {
32
- size: 155,
33
- colors: [this.colors.forest, "#bfbfbf"],
34
- thickness: 0.73,
35
- padding: 25,
36
- isBar: false,
37
- },
38
- doughnut1: {
39
- size: 130,
40
- colors: [this.colors.lavender, this.colors.midnight, "#d4d4d4"],
41
- thickness: 0.5,
42
- padding: 90,
43
- isBar: false,
44
- },
45
- doughnut2: {
46
- size: 130,
47
- colors: [this.colors.cyan, this.colors.salmon, "#d4d4d4"],
48
- thickness: 0.5,
49
- padding: 90,
50
- isBar: false,
51
- },
52
- doughnut3: {
53
- size: 130,
54
- colors: [this.colors.lavender, this.colors.midnight, "#919834", "#c177cf", "#c16e00", "#029af2", "#2a6993"],
55
- thickness: 0.5,
56
- padding: 90,
57
- isBar: false,
58
- },
59
- bar1: {
60
- size: 350,
61
- colors: [this.colors.forest, "#bfbfbf"],
62
- padding: 0,
63
- isBar: true,
64
- },
65
- bar2: {
66
- size: 400,
67
- colors: ["#d4d4d4", this.colors.sleet, this.colors.cyan, this.colors.salmon],
68
- padding: 0,
69
- isBar: true,
70
- },
71
- bar3: {
72
- size: 300,
73
- colors: ["#0d696e", this.colors.cyan, "#8e4129", this.colors.salmon],
74
- padding: 0,
75
- isBar: true,
76
- },
77
- bar4: {
78
- size: 400,
79
- colors: ["#d4d4d4", this.colors.sleet, "#33a919"],
80
- padding: 0,
81
- isBar: true,
82
- },
83
- bar5: {
84
- size: 400,
85
- colors: [
86
- "#d4d4d4",
87
- this.colors.lavender,
88
- this.colors.midnight,
89
- "#919834",
90
- "#c177cf",
91
- "#c16e00",
92
- "#029af2",
93
- "#2a6993",
94
- ],
95
- padding: 0,
96
- isBar: true,
97
- },
98
- };
99
- /* LIFECYCLE METHODS + EVENTS FROM THE CHILDREN */
100
- this.debouncedResize = functions.debounce(async () => {
101
- this.setHybridType();
102
- await this.getData();
103
- index.forceUpdate(this.el);
104
- }, 10);
105
- this.debouncedSliceUpdate = functions.debounce(async () => {
106
- await this.getData();
107
- index.forceUpdate(this.el);
108
- }, 100);
109
- }
110
- get tempValueFormat() {
111
- // use of this getter should be replaced with dateFormat when showValues is fully phased out
112
- return this.valueFormat || this.showValues || "none";
113
- }
114
- get sliceEls() {
115
- const isBarType = this.currentChartType.includes("bar");
116
- const isDoughnutType = this.currentChartType.includes("doughnut");
117
- return isBarType
118
- ? Array.from(this.barEl.querySelectorAll(".bar-segment"))
119
- : isDoughnutType
120
- ? Array.from(this.doughnutEl.querySelectorAll(".doughnut-segment"))
121
- : undefined;
122
- }
123
- get currentChartType() {
124
- return this.chartType === "hybrid" ? this.hybridType : this.chartType;
125
- }
126
- toggleTabbingOn() {
127
- this.isTabbing = true;
128
- }
129
- toggleTabbingOff() {
130
- this.isTabbing = false;
131
- }
132
- handleKeydown(ev) {
133
- switch (ev.key) {
134
- case "ArrowUp":
135
- case "ArrowLeft":
136
- ev.preventDefault();
137
- this.isTabbing = true; // shd already be true. just in case user clicked on chart then pressed an arrow key
138
- this.focusPrevious();
139
- break;
140
- case "ArrowRight":
141
- case "ArrowDown":
142
- ev.preventDefault();
143
- this.isTabbing = true; // shd already be true. just in case user clicked on chart then pressed an arrow key
144
- this.focusNext();
145
- break;
146
- case "Tab":
147
- this.exitChart();
148
- break;
149
- case "Escape":
150
- this.popoverEl.open = false;
151
- break;
152
- }
153
- }
154
- handleSliceClick(ev, s) {
155
- if (this.popoverEl && !this.isTabbing) {
156
- s.coords = { x: ev.clientX, y: ev.clientY };
157
- this.openPopover(s);
158
- }
159
- }
160
- handleSliceFocus(ev, s) {
161
- if (this.popoverEl && this.isTabbing) {
162
- s.coords = functions.getPosition(ev.target);
163
- this.openPopover(s);
164
- }
165
- }
166
- handleSliceKeyDown(ev) {
167
- if (this.popoverEl && this.popoverEl.open && ev.key === "Enter") {
168
- const popoverBtn = this.popoverEl.querySelector("button");
169
- popoverBtn && popoverBtn.click();
170
- }
171
- }
172
- focusNext() {
173
- const activeEl = functions.checkForActiveElInShadow(document.activeElement);
174
- const index =
175
- // if the active el is not in the array the first element gets focused
176
- (this.sliceEls.indexOf(activeEl) + 1) % this.sliceEls.length;
177
- this.focusSlice(index);
178
- }
179
- focusPrevious() {
180
- if (this.sliceEls) {
181
- const activeEl = functions.checkForActiveElInShadow(document.activeElement);
182
- let index = this.sliceEls.indexOf(activeEl);
183
- if (index === -1) {
184
- // not in the array : focus the first slice
185
- index = 0;
186
- }
187
- else if (index === 0) {
188
- // first slice : focus the last slice
189
- index = this.sliceEls.length - 1;
190
- }
191
- else {
192
- // anything else: focus previous
193
- index -= 1;
194
- }
195
- this.focusSlice(index);
196
- }
197
- }
198
- focusSlice(index) {
199
- if (this.sliceEls && this.el) {
200
- if (this.popoverEl) {
201
- this.popoverEl.open = false;
202
- }
203
- this.el.tabIndex = -1;
204
- // @ts-ignore
205
- this.el.focusable = false; // for Edge
206
- this.sliceEls.map((p) => {
207
- p.tabIndex = -1;
208
- // @ts-ignore
209
- p.focusable = false; // for Edge
210
- });
211
- this.sliceEls[index].tabIndex = 0;
212
- // @ts-ignore
213
- this.sliceEls[index].focusable = true; // for Edge
214
- this.sliceEls[index].focus();
215
- window.setTimeout(() => {
216
- if (this.popoverEl) {
217
- this.popoverEl.open = true;
218
- }
219
- }, 10);
220
- }
221
- }
222
- exitChart() {
223
- this.sliceEls &&
224
- this.sliceEls.map((p) => {
225
- p.tabIndex = -1;
226
- // @ts-ignore
227
- p.focusable = false; // for Edge
228
- });
229
- // delay so that we can tab out of component before chart becomes focusable again
230
- // and in case user was still pressing an arrow key when they pressed tab
231
- window.setTimeout(() => {
232
- if (this.el) {
233
- this.el.tabIndex = 0;
234
- // @ts-ignore
235
- this.el.focusable = true; // for Edge
236
- if (this.popoverEl) {
237
- this.popoverEl.open = false;
238
- }
239
- }
240
- }, 100);
241
- }
242
- openPopover(s) {
243
- if (!!this.popoverEl && !!s.title && !!s.text) {
244
- this.popoverEl.popoverTitle = s.title;
245
- this.popoverEl.popoverText = s.text;
246
- this.popoverEl.buttonText = s.buttonText;
247
- this.popoverEl.coords = s.coords;
248
- this.popoverEl.sliceRef = s.sliceRef;
249
- window.setTimeout(() => {
250
- if (this.popoverEl) {
251
- this.popoverEl.open = true;
252
- }
253
- }, 30);
254
- const debouncedClosePopover = functions.debounce(async () => {
255
- this.popoverEl.open = false;
256
- }, 10);
257
- // set up event listeners for scrolling
258
- // to close popover on page scroll
259
- document.addEventListener("scroll", () => {
260
- debouncedClosePopover();
261
- });
262
- // ... and on parent scroll
263
- const scrollableParent = functions.findParentWithScrollbar(this.el);
264
- if (!!scrollableParent) {
265
- scrollableParent.addEventListener("scroll", () => {
266
- debouncedClosePopover();
267
- });
268
- }
269
- }
270
- }
271
- /* UTILS */
272
- amountToPercent(val, asInt) {
273
- return asInt ? Math.round((val * 100) / this.total) : Math.round((val * 10000) / this.total) / 100; // with 2 decimals
274
- }
275
- amountToDegree(val) {
276
- return (val * 360) / this.total;
277
- }
278
- toFixed(number) {
279
- var val = parseFloat((Math.floor(number * 100) / 100).toFixed(2));
280
- return val;
281
- }
282
- polarToCartesian(half, radius, startAngle, endAngle) {
283
- var x = this.toFixed(half + half * radius * Math.cos((Math.PI * startAngle) / 180));
284
- var y = this.toFixed(half + half * radius * Math.sin((Math.PI * startAngle) / 180));
285
- if (endAngle !== undefined) {
286
- // if a 2nd angle value was passed, return 2 pairs of coords
287
- var x2 = this.toFixed(half + half * radius * Math.cos((Math.PI * endAngle) / 180));
288
- var y2 = this.toFixed(half + half * radius * Math.sin((Math.PI * endAngle) / 180));
289
- return { x1: x, y1: y, x2, y2 };
290
- }
291
- return { x, y };
292
- }
293
- /* CRUNCH THE NUMBERS */
294
- getPathData(amount, offset) {
295
- var startAngle = this.amountToDegree(offset) - 90; // start at noon, not at 3 o'clock
296
- var activeAngle = (amount / this.total) * 360;
297
- var endAngle = startAngle + activeAngle;
298
- var largeArcFlagOuter = activeAngle > 180 ? "1 1" : "0 1";
299
- var largeArcFlagInner = activeAngle > 180 ? "1 0" : "0 0";
300
- var half = this.chartData.size / 2;
301
- var innerRadius = this.chartData.thickness;
302
- var outerRadius = 1;
303
- if (activeAngle === 360) {
304
- // fix to avoid bad svg shape when the path goes all around (100%)
305
- endAngle -= 0.01;
306
- }
307
- var outerCoords = this.polarToCartesian(half, outerRadius, startAngle + 1.5, // 1.5 for slice separator
308
- endAngle);
309
- var innerCoords = this.polarToCartesian(half, innerRadius, startAngle + 3, // 3 for slice separator
310
- endAngle);
311
- const moveTo = `M ${outerCoords.x1}, ${outerCoords.y1} `;
312
- const arc1 = this.getArc(outerRadius, largeArcFlagOuter, outerCoords.x2, outerCoords.y2);
313
- const line = ` L ${innerCoords.x2}, ${innerCoords.y2} `;
314
- const arc2 = this.getArc(innerRadius, largeArcFlagInner, innerCoords.x1, innerCoords.y1);
315
- return moveTo + arc1 + line + arc2 + " z";
316
- }
317
- getArc(radius, largeArcFlag, x, y) {
318
- var z = this.toFixed((this.chartData.size / 2) * radius);
319
- return `A ${z}, ${z} 0 ${largeArcFlag} ${this.toFixed(x)}, ${this.toFixed(y)}`;
320
- }
321
- setHybridType() {
322
- this.hybridType = window.innerWidth > 1340 ? "doughnut0" : "bar1";
323
- }
324
- /* GET THE DATA */
325
- async getData() {
326
- this.slicesData = [];
327
- let acc = 0;
328
- const children = this.el.querySelectorAll("wm-chart-slice");
329
- this.total = Array.from(children).reduce((total, slice) => (total += parseInt(slice.getAttribute("amount") || "0")), 0);
330
- children.forEach((c, i) => {
331
- const amount = parseInt(c.getAttribute("amount") || "0");
332
- const perc = this.amountToPercent(amount, true);
333
- // determine whether the slice is in a cluster of small values
334
- // to avoid percentage text overlap for small values
335
- const prev = children[i === 0 ? children.length - 1 : i - 1];
336
- const prevPerc = this.amountToPercent(parseInt(prev.getAttribute("amount") || "0"), true);
337
- const next = children[i === children.length - 1 ? 0 : i + 1];
338
- const nextPerc = this.amountToPercent(parseInt(next.getAttribute("amount") || "0"), true);
339
- const isSmall = perc < 4;
340
- const prevIsSmall = prevPerc < 5;
341
- const nextIsSmall = nextPerc < 5;
342
- let inSmallCluster = isSmall && (prevIsSmall || nextIsSmall);
343
- // because <1% slice percentage text has an additional character
344
- // the inSmallCluster threshold needs to be widened for that slice only
345
- const lessThanOnePerc = perc === 0 && amount > 0;
346
- if (lessThanOnePerc && (nextPerc < 8 || prevPerc < 8)) {
347
- inSmallCluster = true;
348
- }
349
- // for bar5, first color should be skipped unless notStartedColor is set to true
350
- const ind = this.currentChartType === "bar5" ? (this.notStartedColor ? i : i + 1) : i;
351
- const color = this.types[this.currentChartType].colors[ind];
352
- const sliceData = {
353
- amount: amount,
354
- perc: perc,
355
- legend: c.getAttribute("legend"),
356
- color: color || "#d4d4d4",
357
- offset: acc,
358
- id: `${this.uid}-${i + 1}`,
359
- title: c.getAttribute("popover-title"),
360
- text: c.getAttribute("popover-text"),
361
- buttonText: c.getAttribute("popover-button-text"),
362
- sliceRef: c,
363
- inSmallCluster: inSmallCluster,
364
- };
365
- acc += amount;
366
- this.slicesData.push(sliceData);
367
- });
368
- this.chartData = this.types[this.currentChartType];
369
- }
370
- handleResize() {
371
- if (this.chartType === "hybrid") {
372
- this.debouncedResize();
373
- }
374
- }
375
- async componentWillLoad() {
376
- if (!this.label) {
377
- throw new Error("For accessibility purposes, you must provide a label for the chart. See https://components.watermarkinsights.com/chart for more information.");
378
- }
379
- if (this.showValues) {
380
- console.warn("wm-chart: show-values has been deprecated as of v3.1.0. Please use value-format instead.");
381
- }
382
- if (this.chartType === "hybrid") {
383
- this.setHybridType();
384
- }
385
- await this.getData();
386
- }
387
- handleSliceUpdate() {
388
- this.debouncedSliceUpdate();
389
- }
390
- /* RENDERING */
391
- renderFilter() {
392
- return (index.h("defs", null, index.h("filter", { id: "wmHoverDropShadow" }, index.h("feGaussianBlur", { stdDeviation: "3" }), index.h("feOffset", { result: "offsetblur" }), index.h("feFlood", { "flood-color": "#333" }), index.h("feComposite", { operator: "in", in2: "offsetblur" }), index.h("feMerge", null, index.h("feMergeNode", null), index.h("feMergeNode", { in: "SourceGraphic" })))));
393
- }
394
- // DOUGHNUT
395
- renderDoughnut() {
396
- const outerSize = this.chartData.size + this.chartData.padding;
397
- return (index.h("div", { class: "chart-wrapper doughnut-wrapper" }, index.h("svg", { width: outerSize + "px", height: outerSize + "px", ref: (el) => (this.doughnutEl = el), id: `graphic-${this.uid}`, class: "doughnut-svg" }, this.renderFilter(), this.slicesData.map((s) => this.renderPath(s)), this.currentChartType === "doughnut0" ? (index.h("text", { class: "value", x: "50%", y: "50%", "font-size": "1.5rem", "font-weight": "500", "text-anchor": "middle", "dominant-baseline": "middle" }, this.amountToPercent(this.slicesData[0].amount, true) + "%")) : (index.h("g", { transform: `translate(${this.chartData.padding / 2}, ${this.chartData.padding / 2})`, "text-anchor": "middle", "dominant-baseline": "middle" }, this.slicesData.map((s) => (s.amount > 0 ? this.renderDoughnutText(s) : "")))))));
398
- }
399
- renderPath(s) {
400
- return (index.h("g", { transform: `translate(${this.chartData.padding / 2}, ${this.chartData.padding / 2})` }, index.h("path", { id: s.id, class: "doughnut-segment", fill: s.amount ? s.color : "transparent", d: this.getPathData(s.amount, s.offset), onClick: (ev) => this.handleSliceClick(ev, s), onFocus: (ev) => this.handleSliceFocus(ev, s), onKeyDown: (ev) => this.handleSliceKeyDown(ev), role: "img", "aria-label": s.legend })));
401
- }
402
- renderDoughnutText(s) {
403
- if (!s.inSmallCluster) {
404
- const arcMiddle = this.amountToDegree(s.offset + s.amount / 2);
405
- let { x, y } = this.polarToCartesian(this.chartData.size / 2, 1.4, arcMiddle - 90);
406
- return (index.h("text", { class: "value", x: x + "px", y: y + "px" }, `${s.perc > 0 ? s.perc : "<1"}%`));
407
- }
408
- }
409
- // BAR
410
- renderBar() {
411
- return (index.h("div", { class: "chart-wrapper bar-wrapper" }, this.currentChartType === "bar1" ? (index.h("div", { class: "single-perc" }, this.amountToPercent(this.slicesData[0].amount, true) + "%")) : (""), this.drawAxis(), index.h("div", { class: {
412
- "inner-bar-wrapper": true,
413
- "show-values": this.tempValueFormat === "percentage" || this.tempValueFormat === "amount",
414
- } }, this.currentChartType !== "bar1" ? (index.h("div", { class: "values" }, this.slicesData.map((s, idx) => (s.perc > 0 ? this.renderBarText(s, idx) : "")))) : (""), index.h("div", { class: "bar-segments-wrapper", ref: (el) => (this.barEl = el) }, this.slicesData.map((s, idx) => this.renderBarSegment(s, idx))), this.renderCompletionMessage())));
415
- }
416
- renderBarSegment(s, idx) {
417
- const isLastSlice = idx !== this.slicesData.length - 1;
418
- const width = `calc(${this.amountToPercent(s.amount, false)}%${isLastSlice ? " - 2px" : ""})`;
419
- return (index.h("div", { class: `bar-segment ${this.amountToPercent(s.amount, false) === 0 ? "zero" : ""}`, style: {
420
- backgroundColor: s.color,
421
- width: width,
422
- }, onClick: (ev) => this.handleSliceClick(ev, s), onFocus: (ev) => this.handleSliceFocus(ev, s), onKeyDown: (ev) => this.handleSliceKeyDown(ev) }, index.h("text", { class: "sr-only" }, s.legend)));
423
- }
424
- renderBarText(s, idx) {
425
- let val;
426
- if (this.tempValueFormat === "percentage") {
427
- val = s.perc + "%";
428
- }
429
- else if (this.tempValueFormat === "amount") {
430
- val = s.amount;
431
- }
432
- else {
433
- return;
434
- }
435
- return (index.h("span", { class: "value", style: {
436
- width: `calc(${this.amountToPercent(s.amount, false)}%
437
- ${idx !== this.slicesData.length - 1 ? " - 2px" : ""}`,
438
- } }, val));
439
- }
440
- drawAxis() {
441
- if (this.currentChartType === "bar3") {
442
- return (index.h("svg", { class: "axis" }, index.h("line", { x1: "0", x2: "100%", y1: "0", y2: "0" }), index.h("line", { x1: "0", x2: "0", y1: "0", y2: "-85px" }), index.h("line", { class: "tick", x1: "0.5", x2: "0.5", y1: "0", y2: "6" }), index.h("text", { x: "0.5", y: "-6" }, "0%"), index.h("line", { class: "tick", x1: "100%", x2: "100%", y1: "0", y2: "6" }), index.h("text", { x: "100%", y: "-6" }, "100%")));
443
- }
444
- }
445
- renderCompletionMessage() {
446
- if (this.chartType === "hybrid" && this.completionMessage) {
447
- return index.h("div", { class: "completion-message" }, this.completionMessage);
448
- }
449
- }
450
- renderLegend() {
451
- // legend is hidden for bar1 type regardless of showLegend value
452
- if (this.showLegend) {
453
- const hasCluster = this.slicesData.reduce((hasCluster, cur) => (hasCluster = cur.inSmallCluster ? true : hasCluster), false);
454
- return (index.h("div", { class: "legend-wrapper" }, index.h("div", { class: `legend ${this.chartData.isBar ? "--top" : "--bottom"}`, "aria-hidden": "true" }, this.total > 0
455
- ? this.slicesData.map((s) => {
456
- // when both legend and amount are omitted, the legend is not shown for that particular option (it's been deactivated by the user)
457
- if (!!s.amount || !!s.legend) {
458
- return (index.h("div", { class: "legend-item" }, index.h("div", { class: "legend-color", style: { "background-color": s.color } }), index.h("div", { class: "legend-text" }, s.legend)));
459
- }
460
- })
461
- : ""), !this.chartData.isBar && hasCluster ? (index.h("div", { class: "cluster-warning" }, functions.intl.formatMessage({
462
- id: "chart.hiddenPercentages",
463
- defaultMessage: "Percentages smaller than 5% are not shown when too close to each other.",
464
- }), index.h("br", null), functions.intl.formatMessage({
465
- id: "chart.clickToSeeDetails",
466
- defaultMessage: "Click or use arrow keys to see details.",
467
- }))) : ("")));
468
- }
469
- }
470
- render() {
471
- return (index.h(index.Host, { role: "application", "aria-label": this.label +
472
- ", " +
473
- functions.intl.formatMessage({
474
- id: "chart.interactiveChart",
475
- defaultMessage: "Interactive chart. Use arrow keys to browse elements, press Tab to exit.",
476
- }), tabindex: "0" }, index.h("div", { class: `component-wrapper ${this.currentChartType} ${this.isTabbing ? "user-is-tabbing" : ""} ${this.labelPosition === "left" && this.chartType === "bar4" ? "left-label" : ""}` }, index.h("label", { class: "label", id: `label-${this.uid}`, htmlFor: `graphic-${this.uid}` }, index.h("span", { class: "label-text" }, this.label), this.subinfo ? index.h("span", { class: "subinfo" }, this.subinfo) : ""), this.chartData.isBar ? this.renderLegend() : "", this.total > 0 && this.chartData.isBar ? this.renderBar() : this.renderDoughnut(), !this.chartData.isBar ? this.renderLegend() : "", index.h("priv-chart-popover", { class: this.isTabbing ? "user-is-tabbing" : "", ref: (el) => (this.popoverEl = el) }), this.hybridType === "doughnut0" ? this.renderCompletionMessage() : "")));
477
- }
478
- get el() { return index.getElement(this); }
479
- };
11
+ const Chart = class {
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this.chartType = "doughnut1";
15
+ this.showLegend = true;
16
+ this.notStartedColor = false;
17
+ // left labels are a temporary solution for the lack of a stacked bar chart and is undocumented
18
+ // it only works with bar4 and should be used without a legend
19
+ this.labelPosition = "top";
20
+ this.isTabbing = false;
21
+ this.uid = functions.generateId();
22
+ this.slicesData = [];
23
+ this.chartLabelMessage = functions.intl.formatMessage({
24
+ id: "chart.interactiveChart",
25
+ defaultMessage: "Interactive chart. Use arrow keys to browse elements, press Tab to exit.",
26
+ });
27
+ /* LIFECYCLE METHODS + EVENTS FROM THE CHILDREN */
28
+ this.debouncedResize = functions.debounce(async () => {
29
+ await chartFunctions.getData.call(this, this.currentChartType);
30
+ index.forceUpdate(this.el);
31
+ }, 10);
32
+ this.debouncedSliceUpdate = functions.debounce(async () => {
33
+ await chartFunctions.getData.call(this, this.currentChartType);
34
+ index.forceUpdate(this.el);
35
+ }, 100);
36
+ }
37
+ get tempValueFormat() {
38
+ // use of this getter should be replaced with dateFormat when showValues is fully phased out
39
+ return this.valueFormat || this.showValues || "none";
40
+ }
41
+ get hybridType() {
42
+ return window.innerWidth > 1340 ? "doughnut0" : "bar1";
43
+ }
44
+ get popoverEl() {
45
+ return this.el.shadowRoot.querySelector("priv-chart-popover");
46
+ }
47
+ get sliceEls() {
48
+ const isBarType = this.currentChartType.includes("bar");
49
+ const isDoughnutType = this.currentChartType.includes("doughnut");
50
+ return isBarType
51
+ ? Array.from(this.el.shadowRoot.querySelectorAll(".bar-segment"))
52
+ : isDoughnutType
53
+ ? Array.from(this.el.shadowRoot.querySelectorAll(".doughnut-segment"))
54
+ : undefined;
55
+ }
56
+ get currentChartType() {
57
+ return this.chartType === "hybrid" ? this.hybridType : this.chartType;
58
+ }
59
+ get chartData() {
60
+ return chartFunctions.types[this.currentChartType];
61
+ }
62
+ get ariaLabelText() {
63
+ let text = `${this.label}, ${this.chartLabelMessage}`;
64
+ if (this.subinfo) {
65
+ text += ` ${this.subinfo}`;
66
+ }
67
+ return text;
68
+ }
69
+ toggleTabbingOn() {
70
+ this.isTabbing = true;
71
+ }
72
+ toggleTabbingOff() {
73
+ this.isTabbing = false;
74
+ }
75
+ handleKeydown(ev) {
76
+ chartFunctions.handleChartKeydown.call(this, ev);
77
+ }
78
+ handleResize() {
79
+ if (this.chartType === "hybrid") {
80
+ this.debouncedResize();
81
+ }
82
+ }
83
+ async componentWillLoad() {
84
+ if (!this.label) {
85
+ throw new Error("For accessibility purposes, you must provide a label for the chart. See https://components.watermarkinsights.com/chart for more information.");
86
+ }
87
+ if (this.showValues) {
88
+ console.warn("wm-chart: show-values has been deprecated as of v3.1.0. Please use value-format instead.");
89
+ }
90
+ await chartFunctions.getData.call(this, this.currentChartType);
91
+ }
92
+ handleSliceUpdate() {
93
+ this.debouncedSliceUpdate();
94
+ }
95
+ /* RENDERING */
96
+ renderBarText(s, idx) {
97
+ let val;
98
+ if (this.tempValueFormat === "percentage") {
99
+ val = s.perc + "%";
100
+ }
101
+ else if (this.tempValueFormat === "amount") {
102
+ val = s.amount;
103
+ }
104
+ else {
105
+ return;
106
+ }
107
+ return (index.h("span", { class: "value", style: {
108
+ width: `calc(${chartFunctions.amountToPercent(s.amount, this.total, false)}%
109
+ ${idx !== this.slicesData.length - 1 ? " - 2px" : ""}`,
110
+ } }, val));
111
+ }
112
+ drawAxis() {
113
+ if (this.currentChartType === "bar3") {
114
+ return (index.h("svg", { class: "axis" }, index.h("line", { x1: "0", x2: "100%", y1: "0", y2: "0" }), index.h("line", { x1: "0", x2: "0", y1: "0", y2: "-85px" }), index.h("line", { class: "tick", x1: "0.5", x2: "0.5", y1: "0", y2: "6" }), index.h("text", { x: "0.5", y: "-6" }, "0%"), index.h("line", { class: "tick", x1: "100%", x2: "100%", y1: "0", y2: "6" }), index.h("text", { x: "100%", y: "-6" }, "100%")));
115
+ }
116
+ }
117
+ render() {
118
+ return (index.h(index.Host, { role: "application", "aria-label": this.ariaLabelText, tabindex: "0" }, index.h("div", { class: `component-wrapper ${this.currentChartType} ${this.isTabbing ? "user-is-tabbing" : ""} ${this.labelPosition === "left" && this.chartType === "bar4" ? "left-label" : ""}` }, index.h("label", { class: "label", id: `label-${this.uid}`, htmlFor: `graphic-${this.uid}` }, index.h("span", { class: "label-text" }, this.label), this.subinfo ? index.h("span", { class: "subinfo" }, this.subinfo) : ""), this.chartData.isBar ? chartFunctions.renderLegend.call(this) : "", this.total > 0 && this.chartData.isBar
119
+ ? chartFunctions.renderBar.call(this, this.currentChartType)
120
+ : chartFunctions.renderDoughnut.call(this, this.currentChartType), !this.chartData.isBar ? chartFunctions.renderLegend.call(this) : "", index.h("priv-chart-popover", { class: this.isTabbing ? "user-is-tabbing" : "" }), this.currentChartType === "doughnut0" ? chartFunctions.renderCompletionMessage.call(this) : "")));
121
+ }
122
+ get el() { return index.getElement(this); }
123
+ };
480
124
  Chart.style = wmChartCss;
481
125
 
482
126
  exports.wm_chart = Chart;