@watermarkinsights/ripple 0.0.0 → 3.0.1-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/{esm/app-globals-18876ad3.js → ripple/app-globals-b5693c90.js} +1 -1
  2. package/dist/{componentlibrary → ripple}/css-shim-bbdf0cc6.js +0 -0
  3. package/dist/{componentlibrary → ripple}/dom-1f98a75f.js +0 -0
  4. package/dist/{componentlibrary → ripple}/functions-316c1b23.js +0 -0
  5. package/dist/{componentlibrary → ripple}/http-service-5d037e16.js +0 -0
  6. package/dist/{esm/index-d5997567.js → ripple/index-20b65f86.js} +3 -3
  7. package/dist/ripple/index.esm.js +1 -0
  8. package/dist/{componentlibrary → ripple}/interfaces-50753346.js +0 -0
  9. package/dist/{componentlibrary → ripple}/priv-chart-popover.entry.js +1 -1
  10. package/dist/{componentlibrary → ripple}/priv-datepicker.entry.js +1 -1
  11. package/dist/{componentlibrary → ripple}/priv-navigator-button.entry.js +1 -1
  12. package/dist/{componentlibrary → ripple}/priv-navigator-item.entry.js +1 -1
  13. package/dist/{componentlibrary/componentlibrary.css → ripple/ripple.css} +0 -0
  14. package/dist/ripple/ripple.esm.js +125 -0
  15. package/dist/{componentlibrary → ripple}/shadow-css-67b66845.js +0 -0
  16. package/dist/{esm → ripple}/wm-action-menu.entry.js +1 -1
  17. package/dist/{componentlibrary → ripple}/wm-button.entry.js +1 -1
  18. package/dist/{componentlibrary → ripple}/wm-chart-slice.entry.js +1 -1
  19. package/dist/{componentlibrary → ripple}/wm-chart.entry.js +1 -1
  20. package/dist/{componentlibrary → ripple}/wm-datepicker.entry.js +1 -1
  21. package/dist/{componentlibrary → ripple}/wm-input.entry.js +1 -1
  22. package/dist/{componentlibrary → ripple}/wm-menuitem.entry.js +1 -1
  23. package/dist/{componentlibrary → ripple}/wm-modal-footer.entry.js +1 -1
  24. package/dist/{componentlibrary → ripple}/wm-modal-header.entry.js +1 -1
  25. package/dist/{componentlibrary → ripple}/wm-modal.entry.js +1 -1
  26. package/dist/{componentlibrary → ripple}/wm-navigator.entry.js +1 -1
  27. package/dist/{componentlibrary → ripple}/wm-network-uploader.entry.js +1 -1
  28. package/dist/{componentlibrary → ripple}/wm-option.entry.js +1 -1
  29. package/dist/{componentlibrary → ripple}/wm-pagination.entry.js +1 -1
  30. package/dist/{componentlibrary → ripple}/wm-search.entry.js +1 -1
  31. package/dist/{componentlibrary → ripple}/wm-select.entry.js +1 -1
  32. package/dist/{componentlibrary → ripple}/wm-snackbar.entry.js +1 -1
  33. package/dist/{esm → ripple}/wm-tab-item.entry.js +1 -1
  34. package/dist/{componentlibrary → ripple}/wm-tab-list.entry.js +1 -1
  35. package/dist/{componentlibrary → ripple}/wm-tab-panel.entry.js +1 -1
  36. package/dist/{componentlibrary → ripple}/wm-tag-input.entry.js +31 -6
  37. package/dist/{componentlibrary → ripple}/wm-timepicker.entry.js +1 -1
  38. package/dist/{componentlibrary → ripple}/wm-toggletip.entry.js +1 -1
  39. package/dist/{componentlibrary → ripple}/wm-uploader.entry.js +1 -1
  40. package/dist/{componentlibrary → ripple}/wm-wrapper.entry.js +1 -1
  41. package/dist/types/components/wm-tag-input/{wm-tag-input.d.ts → wm-tag-input.d.ts~ds312_tagInputMaxTags} +4 -0
  42. package/dist/types/{components.d.ts → components.d.ts~ds312_tagInputMaxTags} +2 -0
  43. package/dist/types/{stencil-public-runtime.d.ts → stencil-public-runtime.d.ts~ds312_tagInputMaxTags} +0 -0
  44. package/package.json +3 -3
  45. package/dist/cjs/app-globals-6b0c6e80.js +0 -110
  46. package/dist/cjs/app-globals-f1dd8fda.js +0 -47
  47. package/dist/cjs/componentlibrary.cjs.js +0 -20
  48. package/dist/cjs/css-shim-a7379e2b.js +0 -6
  49. package/dist/cjs/dom-3e7d9c3b.js +0 -75
  50. package/dist/cjs/functions-65513c61.js +0 -8360
  51. package/dist/cjs/functions-f2333f02.js +0 -6129
  52. package/dist/cjs/global-6849642d.js +0 -38
  53. package/dist/cjs/http-service-494d81de.js +0 -57
  54. package/dist/cjs/http-service-9e8c4dd5.js +0 -57
  55. package/dist/cjs/index-298ebef1.js +0 -2976
  56. package/dist/cjs/index.cjs.js +0 -2
  57. package/dist/cjs/interfaces-a3338581.js +0 -35
  58. package/dist/cjs/interfaces-b2beb752.js +0 -54
  59. package/dist/cjs/loader.cjs.js +0 -22
  60. package/dist/cjs/priv-chart-popover.cjs.entry.js +0 -89
  61. package/dist/cjs/priv-datepicker.cjs.entry.js +0 -672
  62. package/dist/cjs/priv-navigator-button.cjs.entry.js +0 -29
  63. package/dist/cjs/priv-navigator-item.cjs.entry.js +0 -34
  64. package/dist/cjs/shadow-css-09555044.js +0 -391
  65. package/dist/cjs/wm-action-menu.cjs.entry.js +0 -206
  66. package/dist/cjs/wm-action-menu_2.cjs.entry.js +0 -318
  67. package/dist/cjs/wm-button.cjs.entry.js +0 -152
  68. package/dist/cjs/wm-chart-slice.cjs.entry.js +0 -22
  69. package/dist/cjs/wm-chart.cjs.entry.js +0 -508
  70. package/dist/cjs/wm-datepicker.cjs.entry.js +0 -262
  71. package/dist/cjs/wm-input.cjs.entry.js +0 -110
  72. package/dist/cjs/wm-menuitem.cjs.entry.js +0 -118
  73. package/dist/cjs/wm-modal-footer.cjs.entry.js +0 -43
  74. package/dist/cjs/wm-modal-header.cjs.entry.js +0 -45
  75. package/dist/cjs/wm-modal.cjs.entry.js +0 -149
  76. package/dist/cjs/wm-navigator.cjs.entry.js +0 -279
  77. package/dist/cjs/wm-network-uploader.cjs.entry.js +0 -431
  78. package/dist/cjs/wm-option.cjs.entry.js +0 -123
  79. package/dist/cjs/wm-option_2.cjs.entry.js +0 -483
  80. package/dist/cjs/wm-pagination.cjs.entry.js +0 -176
  81. package/dist/cjs/wm-search.cjs.entry.js +0 -231
  82. package/dist/cjs/wm-select.cjs.entry.js +0 -366
  83. package/dist/cjs/wm-snackbar.cjs.entry.js +0 -160
  84. package/dist/cjs/wm-tab-item.cjs.entry.js +0 -82
  85. package/dist/cjs/wm-tab-item_3.cjs.entry.js +0 -316
  86. package/dist/cjs/wm-tab-list.cjs.entry.js +0 -205
  87. package/dist/cjs/wm-tab-panel.cjs.entry.js +0 -42
  88. package/dist/cjs/wm-tag-input.cjs.entry.js +0 -513
  89. package/dist/cjs/wm-timepicker.cjs.entry.js +0 -386
  90. package/dist/cjs/wm-toggletip.cjs.entry.js +0 -128
  91. package/dist/cjs/wm-uploader.cjs.entry.js +0 -342
  92. package/dist/cjs/wm-wrapper.cjs.entry.js +0 -21
  93. package/dist/collection/collection-manifest.json +0 -131
  94. package/dist/collection/components/wm-action-menu/wm-action-menu.css +0 -122
  95. package/dist/collection/components/wm-action-menu/wm-action-menu.js +0 -392
  96. package/dist/collection/components/wm-button/wm-button.css +0 -572
  97. package/dist/collection/components/wm-button/wm-button.js +0 -365
  98. package/dist/collection/components/wm-chart/priv-chart-popover/priv-chart-popover.css +0 -132
  99. package/dist/collection/components/wm-chart/priv-chart-popover/priv-chart-popover.js +0 -232
  100. package/dist/collection/components/wm-chart/wm-chart-slice.js +0 -64
  101. package/dist/collection/components/wm-chart/wm-chart.css +0 -337
  102. package/dist/collection/components/wm-chart/wm-chart.js +0 -710
  103. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.css +0 -365
  104. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +0 -1003
  105. package/dist/collection/components/wm-datepicker/wm-datepicker.css +0 -211
  106. package/dist/collection/components/wm-datepicker/wm-datepicker.js +0 -445
  107. package/dist/collection/components/wm-input/wm-input.css +0 -220
  108. package/dist/collection/components/wm-input/wm-input.js +0 -302
  109. package/dist/collection/components/wm-menuitem/wm-menuitem.css +0 -118
  110. package/dist/collection/components/wm-menuitem/wm-menuitem.js +0 -411
  111. package/dist/collection/components/wm-modal/wm-modal-footer.css +0 -84
  112. package/dist/collection/components/wm-modal/wm-modal-footer.js +0 -159
  113. package/dist/collection/components/wm-modal/wm-modal-header.css +0 -78
  114. package/dist/collection/components/wm-modal/wm-modal-header.js +0 -109
  115. package/dist/collection/components/wm-modal/wm-modal.css +0 -155
  116. package/dist/collection/components/wm-modal/wm-modal.js +0 -356
  117. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.css +0 -94
  118. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +0 -97
  119. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.css +0 -67
  120. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +0 -114
  121. package/dist/collection/components/wm-navigator/wm-navigator.css +0 -137
  122. package/dist/collection/components/wm-navigator/wm-navigator.js +0 -468
  123. package/dist/collection/components/wm-option/wm-option.css +0 -162
  124. package/dist/collection/components/wm-option/wm-option.js +0 -394
  125. package/dist/collection/components/wm-pagination/wm-pagination.css +0 -217
  126. package/dist/collection/components/wm-pagination/wm-pagination.js +0 -348
  127. package/dist/collection/components/wm-search/wm-search.css +0 -155
  128. package/dist/collection/components/wm-search/wm-search.js +0 -439
  129. package/dist/collection/components/wm-select/wm-select.css +0 -315
  130. package/dist/collection/components/wm-select/wm-select.js +0 -676
  131. package/dist/collection/components/wm-snackbar/wm-snackbar.css +0 -331
  132. package/dist/collection/components/wm-snackbar/wm-snackbar.js +0 -240
  133. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +0 -104
  134. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +0 -202
  135. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.css +0 -73
  136. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +0 -315
  137. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.css +0 -57
  138. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +0 -104
  139. package/dist/collection/components/wm-tag-input/wm-tag-input.css +0 -408
  140. package/dist/collection/components/wm-tag-input/wm-tag-input.js +0 -707
  141. package/dist/collection/components/wm-timepicker/wm-timepicker.css +0 -370
  142. package/dist/collection/components/wm-timepicker/wm-timepicker.js +0 -567
  143. package/dist/collection/components/wm-toggletip/wm-toggletip.css +0 -350
  144. package/dist/collection/components/wm-toggletip/wm-toggletip.js +0 -217
  145. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.css +0 -642
  146. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +0 -753
  147. package/dist/collection/components/wm-uploader/wm-uploader.css +0 -666
  148. package/dist/collection/components/wm-uploader/wm-uploader.js +0 -673
  149. package/dist/collection/components/wm-wrapper/wm-wrapper.js +0 -27
  150. package/dist/collection/dev/scripts.js +0 -20
  151. package/dist/collection/global/__mocks__/functions.js +0 -5
  152. package/dist/collection/global/functions.js +0 -420
  153. package/dist/collection/global/global.js +0 -39
  154. package/dist/collection/global/interfaces.js +0 -49
  155. package/dist/collection/global/services/__mocks__/http-service.js +0 -130
  156. package/dist/collection/global/services/http-service.js +0 -50
  157. package/dist/collection/lang/lang.js +0 -5
  158. package/dist/collection/lang/piglatin.js +0 -93
  159. package/dist/componentlibrary/app-globals-18876ad3.js +0 -45
  160. package/dist/componentlibrary/app-globals-307a1083.js +0 -108
  161. package/dist/componentlibrary/componentlibrary.esm.js +0 -1
  162. package/dist/componentlibrary/index-d5997567.js +0 -2938
  163. package/dist/componentlibrary/index.esm.js +0 -0
  164. package/dist/componentlibrary/p-01bdfed8.js +0 -16
  165. package/dist/componentlibrary/p-0ca70ed4.entry.js +0 -1
  166. package/dist/componentlibrary/p-126bde92.entry.js +0 -1
  167. package/dist/componentlibrary/p-12a67d93.entry.js +0 -1
  168. package/dist/componentlibrary/p-188deaf5.entry.js +0 -1
  169. package/dist/componentlibrary/p-2514df6f.entry.js +0 -1
  170. package/dist/componentlibrary/p-269b8a5f.entry.js +0 -1
  171. package/dist/componentlibrary/p-35e57079.entry.js +0 -1
  172. package/dist/componentlibrary/p-414e20f7.entry.js +0 -1
  173. package/dist/componentlibrary/p-43f1298b.js +0 -1
  174. package/dist/componentlibrary/p-4d387ec6.entry.js +0 -1
  175. package/dist/componentlibrary/p-59ba81d6.entry.js +0 -1
  176. package/dist/componentlibrary/p-5e3cbec8.entry.js +0 -1
  177. package/dist/componentlibrary/p-5e81e830.entry.js +0 -1
  178. package/dist/componentlibrary/p-64ff5040.js +0 -1
  179. package/dist/componentlibrary/p-68a871d3.entry.js +0 -1
  180. package/dist/componentlibrary/p-996a7395.entry.js +0 -1
  181. package/dist/componentlibrary/p-9b460452.entry.js +0 -1
  182. package/dist/componentlibrary/p-a416e410.entry.js +0 -1
  183. package/dist/componentlibrary/p-d550a94f.entry.js +0 -1
  184. package/dist/componentlibrary/p-e4735c23.entry.js +0 -1
  185. package/dist/componentlibrary/p-e725f388.entry.js +0 -1
  186. package/dist/componentlibrary/p-e9532ae5.entry.js +0 -1
  187. package/dist/componentlibrary/p-edf6f848.entry.js +0 -1
  188. package/dist/componentlibrary/p-fd8070fb.js +0 -1
  189. package/dist/componentlibrary/wm-action-menu.entry.js +0 -202
  190. package/dist/componentlibrary/wm-tab-item.entry.js +0 -78
  191. package/dist/esm/app-globals-307a1083.js +0 -108
  192. package/dist/esm/componentlibrary.js +0 -18
  193. package/dist/esm/css-shim-bbdf0cc6.js +0 -4
  194. package/dist/esm/dom-1f98a75f.js +0 -73
  195. package/dist/esm/functions-316c1b23.js +0 -8340
  196. package/dist/esm/functions-60034bf7.js +0 -6109
  197. package/dist/esm/global-430cb201.js +0 -36
  198. package/dist/esm/http-service-3dc3b3e7.js +0 -52
  199. package/dist/esm/http-service-5d037e16.js +0 -52
  200. package/dist/esm/index.js +0 -1
  201. package/dist/esm/interfaces-2b97fab2.js +0 -32
  202. package/dist/esm/interfaces-50753346.js +0 -51
  203. package/dist/esm/loader.js +0 -18
  204. package/dist/esm/polyfills/core-js.js +0 -11
  205. package/dist/esm/polyfills/css-shim.js +0 -1
  206. package/dist/esm/polyfills/dom.js +0 -79
  207. package/dist/esm/polyfills/es5-html-element.js +0 -1
  208. package/dist/esm/polyfills/index.js +0 -34
  209. package/dist/esm/polyfills/system.js +0 -6
  210. package/dist/esm/priv-chart-popover.entry.js +0 -85
  211. package/dist/esm/priv-datepicker.entry.js +0 -668
  212. package/dist/esm/priv-navigator-button.entry.js +0 -25
  213. package/dist/esm/priv-navigator-item.entry.js +0 -30
  214. package/dist/esm/shadow-css-67b66845.js +0 -389
  215. package/dist/esm/wm-action-menu_2.entry.js +0 -313
  216. package/dist/esm/wm-button.entry.js +0 -148
  217. package/dist/esm/wm-chart-slice.entry.js +0 -18
  218. package/dist/esm/wm-chart.entry.js +0 -504
  219. package/dist/esm/wm-datepicker.entry.js +0 -258
  220. package/dist/esm/wm-input.entry.js +0 -106
  221. package/dist/esm/wm-menuitem.entry.js +0 -114
  222. package/dist/esm/wm-modal-footer.entry.js +0 -39
  223. package/dist/esm/wm-modal-header.entry.js +0 -41
  224. package/dist/esm/wm-modal.entry.js +0 -145
  225. package/dist/esm/wm-navigator.entry.js +0 -275
  226. package/dist/esm/wm-network-uploader.entry.js +0 -427
  227. package/dist/esm/wm-option.entry.js +0 -119
  228. package/dist/esm/wm-option_2.entry.js +0 -478
  229. package/dist/esm/wm-pagination.entry.js +0 -172
  230. package/dist/esm/wm-search.entry.js +0 -227
  231. package/dist/esm/wm-select.entry.js +0 -362
  232. package/dist/esm/wm-snackbar.entry.js +0 -156
  233. package/dist/esm/wm-tab-item_3.entry.js +0 -310
  234. package/dist/esm/wm-tab-list.entry.js +0 -201
  235. package/dist/esm/wm-tab-panel.entry.js +0 -38
  236. package/dist/esm/wm-tag-input.entry.js +0 -509
  237. package/dist/esm/wm-timepicker.entry.js +0 -382
  238. package/dist/esm/wm-toggletip.entry.js +0 -124
  239. package/dist/esm/wm-uploader.entry.js +0 -338
  240. package/dist/esm/wm-wrapper.entry.js +0 -17
  241. package/dist/index.cjs.js +0 -1
  242. package/dist/index.js +0 -1
  243. package/dist/loader/cdn.js +0 -3
  244. package/dist/loader/index.cjs.js +0 -3
  245. package/dist/loader/index.d.ts +0 -13
  246. package/dist/loader/index.es2017.js +0 -3
  247. package/dist/loader/index.js +0 -4
  248. package/dist/loader/package.json +0 -10
  249. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +0 -43
  250. package/dist/types/components/wm-button/wm-button.d.ts +0 -36
  251. package/dist/types/components/wm-chart/priv-chart-popover/priv-chart-popover.d.ts +0 -23
  252. package/dist/types/components/wm-chart/wm-chart-slice.d.ts +0 -8
  253. package/dist/types/components/wm-chart/wm-chart.d.ts +0 -77
  254. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +0 -75
  255. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +0 -39
  256. package/dist/types/components/wm-input/wm-input.d.ts +0 -30
  257. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +0 -30
  258. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +0 -15
  259. package/dist/types/components/wm-modal/wm-modal-header.d.ts +0 -12
  260. package/dist/types/components/wm-modal/wm-modal.d.ts +0 -34
  261. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +0 -10
  262. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +0 -13
  263. package/dist/types/components/wm-navigator/wm-navigator.d.ts +0 -61
  264. package/dist/types/components/wm-option/wm-option.d.ts +0 -28
  265. package/dist/types/components/wm-pagination/wm-pagination.d.ts +0 -31
  266. package/dist/types/components/wm-search/wm-search.d.ts +0 -78
  267. package/dist/types/components/wm-select/wm-select.d.ts +0 -63
  268. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +0 -32
  269. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +0 -35
  270. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +0 -50
  271. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +0 -20
  272. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +0 -59
  273. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +0 -25
  274. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +0 -85
  275. package/dist/types/components/wm-uploader/wm-uploader.d.ts +0 -75
  276. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +0 -7
  277. package/dist/types/global/__mocks__/functions.d.ts +0 -5
  278. package/dist/types/global/global.d.ts +0 -1
  279. package/dist/types/global/interfaces.d.ts +0 -33
  280. package/dist/types/global/services/__mocks__/http-service.d.ts +0 -6
  281. package/dist/types/global/services/http-service.d.ts +0 -4
  282. package/dist/types/lang/lang.d.ts +0 -5
@@ -1,710 +0,0 @@
1
- import { Component, Element, h, Host, Prop, State, Listen } from "@stencil/core";
2
- import { forceUpdate } from "@stencil/core";
3
- import { debounce, generateId, checkForActiveElInShadow, getPosition, intl, findParentWithScrollbar, } from "../../global/functions";
4
- export class Chart {
5
- constructor() {
6
- this.chartType = "doughnut1";
7
- this.showLegend = true;
8
- this.notStartedColor = false;
9
- this.isTabbing = false;
10
- this.uid = generateId();
11
- this.slicesData = [];
12
- this.colors = {
13
- salmon: "#ff5f4e",
14
- cyan: "#19a1a9",
15
- sleet: "#7f97ad",
16
- midnight: "#2e1b46",
17
- lavender: "#8b86ca",
18
- };
19
- this.types = {
20
- doughnut0: {
21
- size: 155,
22
- colors: [this.colors.cyan, "#bfbfbf"],
23
- thickness: 0.73,
24
- padding: 25,
25
- isBar: false,
26
- },
27
- doughnut1: {
28
- size: 130,
29
- colors: [this.colors.lavender, this.colors.midnight, "#d4d4d4"],
30
- thickness: 0.5,
31
- padding: 90,
32
- isBar: false,
33
- },
34
- doughnut2: {
35
- size: 130,
36
- colors: [this.colors.cyan, this.colors.salmon, "#d4d4d4"],
37
- thickness: 0.5,
38
- padding: 90,
39
- isBar: false,
40
- },
41
- doughnut3: {
42
- size: 130,
43
- colors: [this.colors.lavender, this.colors.midnight, "#919834", "#c177cf", "#c16e00", "#029af2", "#2a6993"],
44
- thickness: 0.5,
45
- padding: 90,
46
- isBar: false,
47
- },
48
- bar1: {
49
- size: 350,
50
- colors: [this.colors.cyan, "#bfbfbf"],
51
- padding: 0,
52
- isBar: true,
53
- },
54
- bar2: {
55
- size: 400,
56
- colors: ["#d4d4d4", this.colors.sleet, this.colors.cyan, this.colors.salmon],
57
- padding: 0,
58
- isBar: true,
59
- },
60
- bar3: {
61
- size: 300,
62
- colors: ["#0d696e", this.colors.cyan, "#8e4129", this.colors.salmon],
63
- padding: 0,
64
- isBar: true,
65
- },
66
- bar4: {
67
- size: 400,
68
- colors: ["#d4d4d4", this.colors.sleet, "#33a919"],
69
- padding: 0,
70
- isBar: true,
71
- },
72
- bar5: {
73
- size: 400,
74
- colors: [
75
- "#d4d4d4",
76
- this.colors.lavender,
77
- this.colors.midnight,
78
- "#919834",
79
- "#c177cf",
80
- "#c16e00",
81
- "#029af2",
82
- "#2a6993",
83
- ],
84
- padding: 0,
85
- isBar: true,
86
- },
87
- };
88
- /* LIFECYCLE METHODS + EVENTS FROM THE CHILDREN */
89
- this.debouncedUpdate = debounce(async () => {
90
- this.setHybridType();
91
- await this.getData();
92
- forceUpdate(this.el);
93
- }, 30);
94
- this.debouncedSliceUpdate = debounce(async () => {
95
- await this.getData();
96
- forceUpdate(this.el);
97
- }, 100);
98
- }
99
- toggleTabbingOn() {
100
- this.isTabbing = true;
101
- }
102
- toggleTabbingOff() {
103
- this.isTabbing = false;
104
- }
105
- handleKeydown(ev) {
106
- switch (ev.keyCode) {
107
- // arrow up / left
108
- case 37:
109
- case 38:
110
- ev.preventDefault();
111
- this.isTabbing = true; // shd already be true. just in case user clicked on chart then pressed an arrow key
112
- this.focusPrevious();
113
- break;
114
- // arrow right / down
115
- case 39:
116
- case 40:
117
- ev.preventDefault();
118
- this.isTabbing = true; // shd already be true. just in case user clicked on chart then pressed an arrow key
119
- this.focusNext();
120
- break;
121
- // tab
122
- case 9:
123
- this.exitChart();
124
- break;
125
- case 27:
126
- this.popoverEl.open = false;
127
- break;
128
- }
129
- }
130
- focusNext() {
131
- const activeEl = checkForActiveElInShadow(document.activeElement);
132
- const index =
133
- // if the active el is not in the array the first element gets focused
134
- (this.sliceEls.indexOf(activeEl) + 1) % this.sliceEls.length;
135
- this.focusSlice(index);
136
- }
137
- focusPrevious() {
138
- if (this.sliceEls) {
139
- const activeEl = checkForActiveElInShadow(document.activeElement);
140
- let index = this.sliceEls.indexOf(activeEl);
141
- if (index === -1) {
142
- // not in the array : focus the first slice
143
- index = 0;
144
- }
145
- else if (index === 0) {
146
- // first slice : focus the last slice
147
- index = this.sliceEls.length - 1;
148
- }
149
- else {
150
- // anything else: focus previous
151
- index -= 1;
152
- }
153
- this.focusSlice(index);
154
- }
155
- }
156
- focusSlice(index) {
157
- if (this.sliceEls && this.el) {
158
- if (this.popoverEl) {
159
- this.popoverEl.open = false;
160
- }
161
- this.el.tabIndex = -1;
162
- // @ts-ignore
163
- this.el.focusable = false; // for Edge
164
- this.sliceEls.map((p) => {
165
- p.tabIndex = -1;
166
- // @ts-ignore
167
- p.focusable = false; // for Edge
168
- });
169
- this.sliceEls[index].tabIndex = 0;
170
- // @ts-ignore
171
- this.sliceEls[index].focusable = true; // for Edge
172
- this.sliceEls[index].focus();
173
- window.setTimeout(() => {
174
- if (this.popoverEl) {
175
- this.popoverEl.open = true;
176
- }
177
- }, 10);
178
- }
179
- }
180
- exitChart() {
181
- this.sliceEls &&
182
- this.sliceEls.map((p) => {
183
- p.tabIndex = -1;
184
- // @ts-ignore
185
- p.focusable = false; // for Edge
186
- });
187
- // delay so that we can tab out of component before chart becomes focusable again
188
- // and in case user was still pressing an arrow key when they pressed tab
189
- window.setTimeout(() => {
190
- if (this.el) {
191
- this.el.tabIndex = 0;
192
- // @ts-ignore
193
- this.el.focusable = true; // for Edge
194
- if (this.popoverEl) {
195
- this.popoverEl.open = false;
196
- }
197
- }
198
- }, 100);
199
- }
200
- openPopover(s) {
201
- if (!!this.popoverEl && !!s.title && !!s.text) {
202
- this.popoverEl.popoverTitle = s.title;
203
- this.popoverEl.popoverText = s.text;
204
- this.popoverEl.buttonText = s.buttonText;
205
- this.popoverEl.coords = s.coords;
206
- this.popoverEl.sliceRef = s.sliceRef;
207
- window.setTimeout(() => {
208
- if (this.popoverEl) {
209
- this.popoverEl.open = true;
210
- }
211
- }, 30);
212
- const debouncedClosePopover = debounce(async () => {
213
- this.popoverEl.open = false;
214
- }, 10);
215
- // set up event listeners for scrolling
216
- // to close popover on page scroll
217
- document.addEventListener("scroll", () => {
218
- debouncedClosePopover();
219
- });
220
- // ... and on parent scroll
221
- const scrollableParent = findParentWithScrollbar(this.el);
222
- if (!!scrollableParent) {
223
- scrollableParent.addEventListener("scroll", () => {
224
- debouncedClosePopover();
225
- });
226
- }
227
- }
228
- }
229
- /* UTILS */
230
- amountToPercent(val, asInt) {
231
- return asInt ? Math.round((val * 100) / this.total) : Math.round((val * 10000) / this.total) / 100; // with 2 decimals
232
- }
233
- amountToDegree(val) {
234
- return (val * 360) / this.total;
235
- }
236
- toFixed(number) {
237
- var val = parseFloat((Math.floor(number * 100) / 100).toFixed(2));
238
- return val;
239
- }
240
- polarToCartesian(half, radius, startAngle, endAngle) {
241
- var x = this.toFixed(half + half * radius * Math.cos((Math.PI * startAngle) / 180));
242
- var y = this.toFixed(half + half * radius * Math.sin((Math.PI * startAngle) / 180));
243
- if (endAngle !== undefined) {
244
- // if a 2nd angle value was passed, return 2 pairs of coords
245
- var x2 = this.toFixed(half + half * radius * Math.cos((Math.PI * endAngle) / 180));
246
- var y2 = this.toFixed(half + half * radius * Math.sin((Math.PI * endAngle) / 180));
247
- return { x1: x, y1: y, x2, y2 };
248
- }
249
- return { x, y };
250
- }
251
- /* CRUNCH THE NUMBERS */
252
- getPathData(amount, offset) {
253
- var startAngle = this.amountToDegree(offset) - 90; // start at noon, not at 3 o'clock
254
- var activeAngle = (amount / this.total) * 360;
255
- var endAngle = startAngle + activeAngle;
256
- var largeArcFlagOuter = activeAngle > 180 ? "1 1" : "0 1";
257
- var largeArcFlagInner = activeAngle > 180 ? "1 0" : "0 0";
258
- var half = this.chartData.size / 2;
259
- var innerRadius = this.chartData.thickness;
260
- var outerRadius = 1;
261
- if (activeAngle === 360) {
262
- // fix to avoid bad svg shape when the path goes all around (100%)
263
- endAngle -= 0.01;
264
- }
265
- var outerCoords = this.polarToCartesian(half, outerRadius, startAngle + 1.5, // 1.5 for slice separator
266
- endAngle);
267
- var innerCoords = this.polarToCartesian(half, innerRadius, startAngle + 3, // 3 for slice separator
268
- endAngle);
269
- const moveTo = `M ${outerCoords.x1}, ${outerCoords.y1} `;
270
- const arc1 = this.getArc(outerRadius, largeArcFlagOuter, outerCoords.x2, outerCoords.y2);
271
- const line = ` L ${innerCoords.x2}, ${innerCoords.y2} `;
272
- const arc2 = this.getArc(innerRadius, largeArcFlagInner, innerCoords.x1, innerCoords.y1);
273
- return moveTo + arc1 + line + arc2 + " z";
274
- }
275
- getArc(radius, largeArcFlag, x, y) {
276
- var z = this.toFixed((this.chartData.size / 2) * radius);
277
- return `A ${z}, ${z} 0 ${largeArcFlag} ${this.toFixed(x)}, ${this.toFixed(y)}`;
278
- }
279
- setHybridType() {
280
- this.hybridType = window.innerWidth > 1340 ? "doughnut0" : "bar1";
281
- }
282
- getType() {
283
- return this.chartType === "hybrid" ? this.hybridType : this.chartType;
284
- }
285
- /* GET THE DATA */
286
- async getData() {
287
- this.slicesData = [];
288
- let acc = 0;
289
- const children = this.el.querySelectorAll("wm-chart-slice");
290
- this.total = Array.from(children).reduce((total, slice) => (total += parseInt(slice.getAttribute("amount") || "0")), 0);
291
- children.forEach((c, i) => {
292
- const amount = parseInt(c.getAttribute("amount") || "0");
293
- const perc = this.amountToPercent(amount, true);
294
- // determine whether the slice is in a cluster of small values
295
- // to avoid percentage text overlap for small values
296
- const prev = children[i === 0 ? children.length - 1 : i - 1];
297
- const prevPerc = this.amountToPercent(parseInt(prev.getAttribute("amount") || "0"), true);
298
- const next = children[i === children.length - 1 ? 0 : i + 1];
299
- const nextPerc = this.amountToPercent(parseInt(next.getAttribute("amount") || "0"), true);
300
- const isSmall = perc < 4;
301
- const prevIsSmall = prevPerc < 5;
302
- const nextIsSmall = nextPerc < 5;
303
- let inSmallCluster = isSmall && (prevIsSmall || nextIsSmall);
304
- // because <1% slice percentage text has an additional character
305
- // the inSmallCluster threshold needs to be widened for that slice only
306
- const lessThanOnePerc = perc === 0 && amount > 0;
307
- if (lessThanOnePerc && (nextPerc < 8 || prevPerc < 8)) {
308
- inSmallCluster = true;
309
- }
310
- // for bar5, first color should be skipped unless notStartedColor is set to true
311
- const ind = this.getType() === "bar5" ? (this.notStartedColor ? i : i + 1) : i;
312
- const color = this.types[this.getType()].colors[ind];
313
- const sliceData = {
314
- amount: amount,
315
- perc: perc,
316
- legend: c.getAttribute("legend"),
317
- color: color || "#d4d4d4",
318
- offset: acc,
319
- id: `${this.uid}-${i + 1}`,
320
- title: c.getAttribute("popover-title"),
321
- text: c.getAttribute("popover-text"),
322
- buttonText: c.getAttribute("popover-button-text"),
323
- sliceRef: c,
324
- inSmallCluster: inSmallCluster,
325
- };
326
- acc += amount;
327
- this.slicesData.push(sliceData);
328
- });
329
- this.chartData = this.types[this.getType()];
330
- }
331
- getSliceEls() {
332
- if (this.svgEl) {
333
- this.sliceEls = Array.from(this.svgEl.querySelectorAll(this.chartData.isBar ? "rect" : "path"));
334
- }
335
- }
336
- handleResize() {
337
- if (this.chartType === "hybrid") {
338
- this.debouncedUpdate();
339
- }
340
- }
341
- async componentWillLoad() {
342
- if (!this.label) {
343
- throw new Error("For accessibility purposes, you must provide a label for the chart. See https://components.watermarkinsights.com/chart for more information.");
344
- }
345
- if (this.chartType === "hybrid") {
346
- this.setHybridType();
347
- }
348
- await this.getData();
349
- }
350
- componentDidLoad() {
351
- this.getSliceEls();
352
- }
353
- componentDidUpdate() {
354
- this.getSliceEls();
355
- }
356
- handleSliceUpdate() {
357
- this.debouncedSliceUpdate();
358
- }
359
- /* RENDERING */
360
- renderFilter() {
361
- return (h("defs", null,
362
- h("filter", { id: "wmHoverDropShadow" },
363
- h("feGaussianBlur", { stdDeviation: "3" }),
364
- h("feOffset", { result: "offsetblur" }),
365
- h("feFlood", { "flood-color": "#333" }),
366
- h("feComposite", { operator: "in", in2: "offsetblur" }),
367
- h("feMerge", null,
368
- h("feMergeNode", null),
369
- h("feMergeNode", { in: "SourceGraphic" })))));
370
- }
371
- // DOUGHNUT
372
- renderDoughnut() {
373
- const outerSize = this.chartData.size + this.chartData.padding;
374
- return (h("div", { class: "svg-wrapper doughnut-wrapper" },
375
- h("svg", { width: outerSize + "px", height: outerSize + "px", ref: (el) => (this.svgEl = el), id: `graphic-${this.uid}`, class: `chart-svg doughnut-svg ${this.isTabbing ? "user-is-tabbing" : ""}` },
376
- this.renderFilter(),
377
- this.slicesData.map((s) => this.renderPath(s)),
378
- this.getType() === "doughnut0" ? (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) + "%")) : (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) : "")))))));
379
- }
380
- renderPath(s) {
381
- return (h("g", { transform: `translate(${this.chartData.padding / 2}, ${this.chartData.padding / 2})` },
382
- h("path", { id: s.id, fill: s.amount ? s.color : "transparent", d: this.getPathData(s.amount, s.offset), onClick: (ev) => {
383
- if (this.popoverEl) {
384
- if (!this.isTabbing) {
385
- s.coords = { x: ev.clientX, y: ev.clientY };
386
- this.openPopover(s);
387
- }
388
- }
389
- }, onFocus: (ev) => {
390
- if (this.popoverEl) {
391
- if (this.isTabbing) {
392
- s.coords = getPosition(ev.target);
393
- this.openPopover(s);
394
- }
395
- }
396
- }, onKeyDown: (ev) => {
397
- if (this.popoverEl && this.popoverEl.open && ev.keyCode === 13) {
398
- const popoverBtn = this.popoverEl.querySelector("button");
399
- popoverBtn && popoverBtn.click();
400
- }
401
- } }),
402
- h("text", { class: "sr-only" }, s.legend)));
403
- }
404
- renderDoughnutText(s) {
405
- if (!s.inSmallCluster) {
406
- const arcMiddle = this.amountToDegree(s.offset + s.amount / 2);
407
- let { x, y } = this.polarToCartesian(this.chartData.size / 2, 1.4, arcMiddle - 90);
408
- return (h("text", { class: "value", x: x + "px", y: y + "px" }, `${s.perc > 0 ? s.perc : "<1"}%`));
409
- }
410
- }
411
- // BAR
412
- renderBar() {
413
- return (h("div", { class: "svg-wrapper bar-wrapper" },
414
- this.getType() === "bar1" ? (h("div", { class: "single-perc" }, this.amountToPercent(this.slicesData[0].amount, true) + "%")) : (""),
415
- this.drawAxis(),
416
- h("svg", { ref: (el) => (this.svgEl = el), id: `graphic-${this.uid}`, class: {
417
- "chart-svg bar-svg": true,
418
- "user-is-tabbing": this.isTabbing,
419
- "show-values": this.showValues === "percentage" || this.showValues === "amount",
420
- } },
421
- this.renderFilter(),
422
- h("foreignObject", { class: this.getType() === "bar2" || this.getType() === "bar4" || this.getType() === "bar5" ? "focus-offset" : "" },
423
- h("div", {
424
- // @ts-ignore
425
- xmlns: "http://www.w3.org/1999/xhtml", class: "tabbing-focus" })),
426
- this.slicesData.map((s, idx) => this.renderRect(s, idx)),
427
- this.getType() !== "bar1" ? (h("g", { class: "percs" }, this.slicesData.map((s) => (s.perc > 0 ? this.renderBarText(s) : "")))) : (""))));
428
- }
429
- renderRect(s, idx) {
430
- let y;
431
- switch (this.getType()) {
432
- case "bar2":
433
- case "bar4":
434
- case "bar5":
435
- y = this.showValues === "percentage" || this.showValues === "amount" ? "30px" : "0";
436
- break;
437
- default:
438
- y = "0";
439
- }
440
- return (h("g", { class: "barcontainer" },
441
- h("style", null, ` #${s.id} {
442
- fill:${s.color};
443
- x: ${`${this.amountToPercent(s.offset, false)}%`};
444
- y: ${y};
445
- height: 30px;
446
- width: calc(${this.amountToPercent(s.amount, false)}%${idx !== this.slicesData.length - 1 ? " - 2px" : ""});
447
- }`),
448
- h("rect", { id: s.id, onClick: (ev) => {
449
- if (this.popoverEl) {
450
- if (!this.isTabbing) {
451
- s.coords = { x: ev.clientX, y: ev.clientY };
452
- this.openPopover(s);
453
- }
454
- }
455
- }, onFocus: (ev) => {
456
- if (this.popoverEl) {
457
- if (this.isTabbing) {
458
- s.coords = getPosition(ev.target);
459
- this.openPopover(s);
460
- }
461
- }
462
- }, onKeyDown: (ev) => {
463
- if (this.popoverEl && this.popoverEl.open && ev.keyCode === 13) {
464
- const popoverBtn = this.popoverEl.querySelector("button");
465
- popoverBtn && popoverBtn.click();
466
- }
467
- } }),
468
- h("text", { class: "sr-only" }, s.legend)));
469
- }
470
- renderBarText(s) {
471
- let val;
472
- if (this.showValues === "percentage") {
473
- val = s.perc + "%";
474
- }
475
- else if (this.showValues === "amount") {
476
- val = s.amount;
477
- }
478
- else {
479
- return;
480
- }
481
- return (h("text", { class: "value", x: `${this.amountToPercent(s.offset, false) + this.amountToPercent(s.amount, false) / 2}%` }, val));
482
- }
483
- drawAxis() {
484
- if (this.getType() === "bar3") {
485
- return (h("svg", { class: "axis" },
486
- h("line", { x1: "0", x2: "100%", y1: "0", y2: "0" }),
487
- h("line", { x1: "0", x2: "0", y1: "0", y2: "-85px" }),
488
- h("line", { class: "tick", x1: "0.5", x2: "0.5", y1: "0", y2: "6" }),
489
- h("text", { x: "0.5", y: "-6" }, "0%"),
490
- h("line", { class: "tick", x1: "100%", x2: "100%", y1: "0", y2: "6" }),
491
- h("text", { x: "100%", y: "-6" }, "100%")));
492
- }
493
- }
494
- renderCompletionMessage() {
495
- if (this.chartType === "hybrid" && this.completionMessage) {
496
- return h("span", { class: "completion-message" }, this.completionMessage);
497
- }
498
- }
499
- renderLegend() {
500
- // legend is hidden for bar1 type regardless of showLegend value
501
- if (this.showLegend) {
502
- const hasCluster = this.slicesData.reduce((hasCluster, cur) => (hasCluster = cur.inSmallCluster ? true : hasCluster), false);
503
- return (h("div", { class: "legend-wrapper" },
504
- h("div", { class: `legend ${this.chartData.isBar ? "--top" : "--bottom"}`, "aria-hidden": "true" }, this.total > 0
505
- ? this.slicesData.map((s) => {
506
- // when both legend and amount are omitted, the legend is not shown for that particular option (it's been deactivated by the user)
507
- if (!!s.amount || !!s.legend) {
508
- return (h("div", { class: "legend-item" },
509
- h("div", { class: "legend-color", style: { "background-color": s.color } }),
510
- h("div", { class: "legend-text" }, s.legend)));
511
- }
512
- })
513
- : ""),
514
- !this.chartData.isBar && hasCluster ? (h("div", { class: "cluster-warning" },
515
- intl.formatMessage({
516
- id: "chart.hiddenPercentages",
517
- defaultMessage: "Percentages smaller than 5% are not shown when too close to each other.",
518
- }),
519
- h("br", null),
520
- intl.formatMessage({
521
- id: "chart.clickToSeeDetails",
522
- defaultMessage: "Click or use arrow keys to see details.",
523
- }))) : ("")));
524
- }
525
- }
526
- render() {
527
- return (h(Host, { role: "application", "aria-label": this.label +
528
- ", " +
529
- intl.formatMessage({
530
- id: "chart.interactiveChart",
531
- defaultMessage: "Interactive chart. Use arrow keys to browse elements, press Tab to exit.",
532
- }), tabindex: "0" },
533
- h("div", { class: `component-wrapper ${this.getType()}` },
534
- h("label", { class: "label", id: `label-${this.uid}`, htmlFor: `graphic-${this.uid}` },
535
- h("span", { class: "label-text" }, this.label),
536
- this.subinfo ? h("span", { class: "subinfo" }, this.subinfo) : ""),
537
- this.chartData.isBar ? this.renderLegend() : "",
538
- this.total > 0 && this.chartData.isBar ? this.renderBar() : this.renderDoughnut(),
539
- !this.chartData.isBar ? this.renderLegend() : "",
540
- h("priv-chart-popover", { class: this.isTabbing ? "user-is-tabbing" : "", ref: (el) => (this.popoverEl = el) }),
541
- this.renderCompletionMessage())));
542
- }
543
- static get is() { return "wm-chart"; }
544
- static get encapsulation() { return "shadow"; }
545
- static get originalStyleUrls() { return {
546
- "$": ["wm-chart.scss"]
547
- }; }
548
- static get styleUrls() { return {
549
- "$": ["wm-chart.css"]
550
- }; }
551
- static get properties() { return {
552
- "chartType": {
553
- "type": "string",
554
- "mutable": false,
555
- "complexType": {
556
- "original": "\"doughnut1\" | \"doughnut2\" | \"doughnut3\" | \"hybrid\" | \"bar1\" | \"bar2\" | \"bar3\" | \"bar4\" | \"bar5\"",
557
- "resolved": "\"bar1\" | \"bar2\" | \"bar3\" | \"bar4\" | \"bar5\" | \"doughnut1\" | \"doughnut2\" | \"doughnut3\" | \"hybrid\"",
558
- "references": {}
559
- },
560
- "required": false,
561
- "optional": false,
562
- "docs": {
563
- "tags": [],
564
- "text": ""
565
- },
566
- "attribute": "chart-type",
567
- "reflect": false,
568
- "defaultValue": "\"doughnut1\""
569
- },
570
- "label": {
571
- "type": "string",
572
- "mutable": false,
573
- "complexType": {
574
- "original": "string",
575
- "resolved": "string | undefined",
576
- "references": {}
577
- },
578
- "required": false,
579
- "optional": true,
580
- "docs": {
581
- "tags": [],
582
- "text": ""
583
- },
584
- "attribute": "label",
585
- "reflect": false
586
- },
587
- "subinfo": {
588
- "type": "string",
589
- "mutable": false,
590
- "complexType": {
591
- "original": "string",
592
- "resolved": "string | undefined",
593
- "references": {}
594
- },
595
- "required": false,
596
- "optional": true,
597
- "docs": {
598
- "tags": [],
599
- "text": ""
600
- },
601
- "attribute": "subinfo",
602
- "reflect": false
603
- },
604
- "completionMessage": {
605
- "type": "string",
606
- "mutable": false,
607
- "complexType": {
608
- "original": "string",
609
- "resolved": "string | undefined",
610
- "references": {}
611
- },
612
- "required": false,
613
- "optional": true,
614
- "docs": {
615
- "tags": [],
616
- "text": ""
617
- },
618
- "attribute": "completion-message",
619
- "reflect": false
620
- },
621
- "showValues": {
622
- "type": "string",
623
- "mutable": false,
624
- "complexType": {
625
- "original": "\"percentage\" | \"amount\"",
626
- "resolved": "\"amount\" | \"percentage\" | undefined",
627
- "references": {}
628
- },
629
- "required": false,
630
- "optional": true,
631
- "docs": {
632
- "tags": [],
633
- "text": ""
634
- },
635
- "attribute": "show-values",
636
- "reflect": false
637
- },
638
- "showLegend": {
639
- "type": "boolean",
640
- "mutable": false,
641
- "complexType": {
642
- "original": "boolean",
643
- "resolved": "boolean",
644
- "references": {}
645
- },
646
- "required": false,
647
- "optional": false,
648
- "docs": {
649
- "tags": [],
650
- "text": ""
651
- },
652
- "attribute": "show-legend",
653
- "reflect": false,
654
- "defaultValue": "true"
655
- },
656
- "notStartedColor": {
657
- "type": "boolean",
658
- "mutable": false,
659
- "complexType": {
660
- "original": "boolean",
661
- "resolved": "boolean",
662
- "references": {}
663
- },
664
- "required": false,
665
- "optional": false,
666
- "docs": {
667
- "tags": [],
668
- "text": ""
669
- },
670
- "attribute": "not-started-color",
671
- "reflect": false,
672
- "defaultValue": "false"
673
- }
674
- }; }
675
- static get states() { return {
676
- "isTabbing": {}
677
- }; }
678
- static get elementRef() { return "el"; }
679
- static get listeners() { return [{
680
- "name": "wmUserIsTabbing",
681
- "method": "toggleTabbingOn",
682
- "target": "window",
683
- "capture": false,
684
- "passive": false
685
- }, {
686
- "name": "wmUserIsNotTabbing",
687
- "method": "toggleTabbingOff",
688
- "target": "window",
689
- "capture": false,
690
- "passive": false
691
- }, {
692
- "name": "keydown",
693
- "method": "handleKeydown",
694
- "target": undefined,
695
- "capture": false,
696
- "passive": false
697
- }, {
698
- "name": "resize",
699
- "method": "handleResize",
700
- "target": "window",
701
- "capture": false,
702
- "passive": true
703
- }, {
704
- "name": "wmChartSliceUpdated",
705
- "method": "handleSliceUpdate",
706
- "target": undefined,
707
- "capture": false,
708
- "passive": false
709
- }]; }
710
- }