@carbon/charts 0.41.46 → 0.41.50

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 (248) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/build/demo/data/combo.d.ts +0 -11
  3. package/build/demo/data/index.d.ts +23 -17
  4. package/build/demo/data/wordcloud.d.ts +14 -0
  5. package/build/src/charts/index.d.ts +1 -0
  6. package/build/src/charts/wordcloud.d.ts +6 -0
  7. package/build/src/components/graphs/wordcloud.d.ts +10 -0
  8. package/build/src/components/index.d.ts +1 -0
  9. package/build/src/configuration.d.ts +2 -1
  10. package/build/src/interfaces/charts.d.ts +23 -0
  11. package/build/src/interfaces/events.d.ts +9 -0
  12. package/bundle.js +1 -1
  13. package/charts/index.d.ts +1 -0
  14. package/charts/index.js +1 -0
  15. package/charts/index.js.map +1 -1
  16. package/charts/wordcloud.d.ts +6 -0
  17. package/charts/wordcloud.js +46 -0
  18. package/charts/wordcloud.js.map +1 -0
  19. package/components/essentials/tooltip-axis.js +1 -1
  20. package/components/essentials/tooltip-axis.js.map +1 -1
  21. package/components/graphs/area.js +11 -2
  22. package/components/graphs/area.js.map +1 -1
  23. package/components/graphs/boxplot.js +2 -2
  24. package/components/graphs/boxplot.js.map +1 -1
  25. package/components/graphs/wordcloud.d.ts +10 -0
  26. package/components/graphs/wordcloud.js +229 -0
  27. package/components/graphs/wordcloud.js.map +1 -0
  28. package/components/index.d.ts +1 -0
  29. package/components/index.js +1 -0
  30. package/components/index.js.map +1 -1
  31. package/configuration.d.ts +2 -1
  32. package/configuration.js +22 -0
  33. package/configuration.js.map +1 -1
  34. package/demo/data/bundle.js +1 -1
  35. package/demo/data/combo.d.ts +0 -11
  36. package/demo/data/combo.js +0 -11
  37. package/demo/data/combo.js.map +1 -1
  38. package/demo/data/index.d.ts +23 -17
  39. package/demo/data/index.js +107 -50
  40. package/demo/data/index.js.map +1 -1
  41. package/demo/data/wordcloud.d.ts +14 -0
  42. package/demo/data/wordcloud.js +105 -0
  43. package/demo/data/wordcloud.js.map +1 -0
  44. package/demo/styles.css +2824 -28
  45. package/demo/styles.css.map +1 -1
  46. package/demo/styles.min.css +1 -1
  47. package/demo/styles.min.css.map +1 -1
  48. package/demo/tsconfig.tsbuildinfo +31 -17
  49. package/interfaces/charts.d.ts +23 -0
  50. package/interfaces/charts.js.map +1 -1
  51. package/interfaces/events.d.ts +9 -0
  52. package/interfaces/events.js +10 -0
  53. package/interfaces/events.js.map +1 -1
  54. package/package.json +8 -7
  55. package/styles/_type.scss +4 -2
  56. package/styles/graphs/_wordcloud.scss +7 -0
  57. package/styles/graphs/index.scss +1 -0
  58. package/styles/vendor/@carbon/colors/README.md +4 -3
  59. package/styles/vendor/@carbon/colors/es/index.js +13 -12
  60. package/styles/vendor/@carbon/colors/lib/index.js +98 -93
  61. package/styles/vendor/@carbon/colors/package.json +14 -10
  62. package/styles/vendor/@carbon/colors/scss/colors.scss +1 -1
  63. package/styles/vendor/@carbon/colors/scss/index.scss +1 -1
  64. package/styles/vendor/@carbon/colors/scss/mixins.scss +33 -13
  65. package/styles/vendor/@carbon/colors/umd/index.js +99 -94
  66. package/styles/vendor/@carbon/elements/README.md +0 -6
  67. package/styles/vendor/@carbon/elements/es/index.js +4 -11
  68. package/styles/vendor/@carbon/elements/lib/index.js +959 -13
  69. package/styles/vendor/@carbon/elements/package.json +17 -13
  70. package/styles/vendor/@carbon/elements/scss/colors/colors.scss +1 -1
  71. package/styles/vendor/@carbon/elements/scss/colors/index.scss +1 -1
  72. package/styles/vendor/@carbon/elements/scss/colors/mixins.scss +33 -13
  73. package/styles/vendor/@carbon/elements/scss/grid/_inlined/_mixins.scss +82 -22
  74. package/styles/vendor/@carbon/elements/scss/grid/_mixins.scss +82 -22
  75. package/styles/vendor/@carbon/elements/scss/grid/modules/_breakpoint.scss +266 -0
  76. package/styles/vendor/@carbon/{themes/node_modules/@carbon/colors/scss/colors.scss → elements/scss/grid/modules/_config.scss} +6 -6
  77. package/styles/vendor/@carbon/elements/scss/grid/modules/_css-grid.scss +350 -0
  78. package/styles/vendor/@carbon/elements/scss/grid/modules/_mixins.scss +323 -0
  79. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/_breakpoint.scss +8 -3
  80. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_breakpoint.scss +232 -0
  81. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_convert.scss +40 -0
  82. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_spacing.scss +9 -0
  83. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_utilities.scss +41 -0
  84. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/generated/_fluid-spacing.scss +37 -0
  85. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/generated/_spacing.scss +85 -0
  86. package/styles/vendor/@carbon/elements/scss/layout/_breakpoint.scss +8 -3
  87. package/styles/vendor/@carbon/elements/scss/layout/modules/_breakpoint.scss +232 -0
  88. package/styles/vendor/@carbon/elements/scss/layout/modules/_convert.scss +40 -0
  89. package/styles/vendor/@carbon/elements/scss/layout/modules/_spacing.scss +9 -0
  90. package/styles/vendor/@carbon/elements/scss/layout/modules/_utilities.scss +41 -0
  91. package/styles/vendor/@carbon/elements/scss/layout/modules/generated/_fluid-spacing.scss +37 -0
  92. package/styles/vendor/@carbon/elements/scss/layout/modules/generated/_spacing.scss +85 -0
  93. package/styles/vendor/@carbon/elements/scss/motion/motion.scss +24 -0
  94. package/styles/vendor/@carbon/elements/scss/themes/generated/_mixins.scss +643 -138
  95. package/styles/vendor/@carbon/elements/scss/themes/generated/_themes.scss +154 -77
  96. package/styles/vendor/@carbon/elements/scss/themes/generated/_tokens.scss +157 -75
  97. package/styles/vendor/@carbon/elements/scss/themes/modules/_theme.scss +50 -0
  98. package/styles/vendor/@carbon/elements/scss/themes/modules/_themes.scss +8 -0
  99. package/styles/vendor/@carbon/elements/scss/themes/modules/_utilities.scss +18 -0
  100. package/styles/vendor/@carbon/elements/scss/themes/modules/generated/_themes.scss +247 -0
  101. package/styles/vendor/@carbon/elements/scss/type/_font-family.scss +2 -2
  102. package/styles/vendor/@carbon/elements/scss/type/_inlined/_font-family.scss +2 -2
  103. package/styles/vendor/@carbon/elements/scss/type/_inlined/_reset.scss +9 -3
  104. package/styles/vendor/@carbon/elements/scss/type/_inlined/_scale.scss +2 -2
  105. package/styles/vendor/@carbon/elements/scss/type/_inlined/_styles.scss +60 -57
  106. package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_mono.scss +72 -72
  107. package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_sans-condensed.scss +302 -0
  108. package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_sans.scss +84 -84
  109. package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_serif.scss +72 -72
  110. package/styles/vendor/@carbon/elements/scss/type/_reset.scss +9 -3
  111. package/styles/vendor/@carbon/elements/scss/type/_scale.scss +2 -2
  112. package/styles/vendor/@carbon/elements/scss/type/_styles.scss +60 -57
  113. package/styles/vendor/@carbon/elements/scss/type/font-face/_mono.scss +72 -72
  114. package/styles/vendor/@carbon/elements/scss/type/font-face/_sans-condensed.scss +302 -0
  115. package/styles/vendor/@carbon/elements/scss/type/font-face/_sans.scss +84 -84
  116. package/styles/vendor/@carbon/elements/scss/type/font-face/_serif.scss +72 -72
  117. package/styles/vendor/@carbon/elements/scss/type/modules/_classes.scss +42 -0
  118. package/styles/vendor/@carbon/elements/scss/type/modules/_font-family.scss +70 -0
  119. package/styles/vendor/@carbon/elements/scss/type/modules/_prefix.scss +11 -0
  120. package/styles/vendor/@carbon/elements/scss/type/modules/_reset.scss +92 -0
  121. package/styles/vendor/@carbon/elements/scss/type/modules/_scale.scss +56 -0
  122. package/styles/vendor/@carbon/elements/scss/type/modules/_styles.scss +713 -0
  123. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/_breakpoint.scss +8 -3
  124. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_breakpoint.scss +232 -0
  125. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_convert.scss +40 -0
  126. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_spacing.scss +9 -0
  127. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_utilities.scss +41 -0
  128. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/generated/_fluid-spacing.scss +37 -0
  129. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/generated/_spacing.scss +85 -0
  130. package/styles/vendor/@carbon/elements/src/__tests__/PublicAPI-test.js +12 -0
  131. package/styles/vendor/@carbon/elements/src/__tests__/__snapshots__/PublicAPI-test.js.snap +306 -0
  132. package/styles/vendor/@carbon/elements/src/index.js +166 -4
  133. package/styles/vendor/@carbon/elements/umd/index.js +961 -17
  134. package/styles/vendor/@carbon/layout/README.md +0 -6
  135. package/styles/vendor/@carbon/layout/es/index.js +1 -1
  136. package/styles/vendor/@carbon/{themes/node_modules/@carbon/colors/scss → layout}/index.scss +5 -6
  137. package/styles/vendor/@carbon/layout/lib/index.js +30 -30
  138. package/styles/vendor/@carbon/layout/package.json +14 -10
  139. package/styles/vendor/@carbon/layout/scss/_breakpoint.scss +8 -3
  140. package/styles/vendor/@carbon/layout/scss/modules/_breakpoint.scss +232 -0
  141. package/styles/vendor/@carbon/layout/scss/modules/_convert.scss +40 -0
  142. package/styles/vendor/@carbon/layout/scss/modules/_spacing.scss +9 -0
  143. package/styles/vendor/@carbon/layout/scss/modules/_utilities.scss +41 -0
  144. package/styles/vendor/@carbon/layout/scss/modules/generated/_fluid-spacing.scss +37 -0
  145. package/styles/vendor/@carbon/layout/scss/modules/generated/_spacing.scss +85 -0
  146. package/styles/vendor/@carbon/layout/umd/index.js +31 -31
  147. package/styles/vendor/@carbon/motion/README.md +0 -6
  148. package/styles/vendor/@carbon/motion/es/index.js +8 -1
  149. package/styles/vendor/@carbon/motion/index.scss +56 -0
  150. package/styles/vendor/@carbon/motion/lib/index.js +14 -0
  151. package/styles/vendor/@carbon/motion/package.json +10 -6
  152. package/styles/vendor/@carbon/motion/scss/motion.scss +24 -0
  153. package/styles/vendor/@carbon/motion/src/index.js +16 -0
  154. package/styles/vendor/@carbon/motion/umd/index.js +15 -1
  155. package/styles/vendor/@carbon/themes/README.md +5 -4
  156. package/styles/vendor/@carbon/themes/es/index.js +719 -57
  157. package/styles/vendor/@carbon/themes/index.scss +9 -0
  158. package/styles/vendor/@carbon/themes/lib/index.js +1297 -251
  159. package/styles/vendor/@carbon/themes/metadata.yml +3 -0
  160. package/styles/vendor/@carbon/themes/package.json +23 -14
  161. package/styles/vendor/@carbon/themes/scss/_mixins.scss +27 -146
  162. package/styles/vendor/@carbon/themes/scss/_theme-maps.scss +3 -263
  163. package/styles/vendor/@carbon/themes/scss/_tokens.scss +2 -297
  164. package/styles/vendor/@carbon/themes/scss/generated/_mixins.scss +1851 -0
  165. package/styles/vendor/@carbon/themes/scss/generated/_themes.scss +1534 -0
  166. package/styles/vendor/@carbon/themes/scss/generated/_tokens.scss +1757 -0
  167. package/styles/vendor/@carbon/themes/scss/modules/_theme.scss +50 -0
  168. package/styles/vendor/@carbon/themes/scss/modules/_themes.scss +8 -0
  169. package/styles/vendor/@carbon/themes/scss/modules/_utilities.scss +18 -0
  170. package/styles/vendor/@carbon/themes/scss/modules/generated/_themes.scss +247 -0
  171. package/styles/vendor/@carbon/themes/scss/themes.scss +3 -2
  172. package/styles/vendor/@carbon/themes/src/g10.js +97 -5
  173. package/styles/vendor/@carbon/themes/src/g100.js +96 -4
  174. package/styles/vendor/@carbon/themes/src/g90.js +98 -6
  175. package/styles/vendor/@carbon/themes/src/index.js +5 -3
  176. package/styles/vendor/@carbon/themes/src/tokens.js +112 -2
  177. package/styles/vendor/@carbon/themes/src/tools.js +25 -0
  178. package/styles/vendor/@carbon/themes/src/v9.js +181 -0
  179. package/styles/vendor/@carbon/themes/src/white.js +98 -3
  180. package/styles/vendor/@carbon/themes/umd/index.js +1297 -254
  181. package/styles/vendor/@carbon/type/README.md +0 -6
  182. package/styles/vendor/@carbon/type/es/index.js +111 -82
  183. package/styles/vendor/@carbon/type/lib/index.js +132 -103
  184. package/styles/vendor/@carbon/type/package.json +12 -8
  185. package/styles/vendor/@carbon/type/scss/_font-family.scss +2 -2
  186. package/styles/vendor/@carbon/type/scss/_inlined/_font-family.scss +2 -2
  187. package/styles/vendor/@carbon/type/scss/_inlined/_reset.scss +9 -3
  188. package/styles/vendor/@carbon/type/scss/_inlined/_scale.scss +2 -2
  189. package/styles/vendor/@carbon/type/scss/_inlined/_styles.scss +60 -57
  190. package/styles/vendor/@carbon/type/scss/_inlined/font-face/_mono.scss +72 -72
  191. package/styles/vendor/@carbon/type/scss/_inlined/font-face/_sans-condensed.scss +302 -0
  192. package/styles/vendor/@carbon/type/scss/_inlined/font-face/_sans.scss +84 -84
  193. package/styles/vendor/@carbon/type/scss/_inlined/font-face/_serif.scss +72 -72
  194. package/styles/vendor/@carbon/type/scss/_reset.scss +9 -3
  195. package/styles/vendor/@carbon/type/scss/_scale.scss +2 -2
  196. package/styles/vendor/@carbon/type/scss/_styles.scss +60 -57
  197. package/styles/vendor/@carbon/type/scss/font-face/_mono.scss +72 -72
  198. package/styles/vendor/@carbon/type/scss/font-face/_sans-condensed.scss +302 -0
  199. package/styles/vendor/@carbon/type/scss/font-face/_sans.scss +84 -84
  200. package/styles/vendor/@carbon/type/scss/font-face/_serif.scss +72 -72
  201. package/styles/vendor/@carbon/type/scss/modules/_classes.scss +42 -0
  202. package/styles/vendor/@carbon/type/scss/modules/_font-family.scss +70 -0
  203. package/styles/vendor/@carbon/type/scss/modules/_prefix.scss +11 -0
  204. package/styles/vendor/@carbon/type/scss/modules/_reset.scss +92 -0
  205. package/styles/vendor/@carbon/type/scss/modules/_scale.scss +56 -0
  206. package/styles/vendor/@carbon/type/scss/modules/_styles.scss +713 -0
  207. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/_breakpoint.scss +8 -3
  208. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_breakpoint.scss +232 -0
  209. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_convert.scss +40 -0
  210. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_spacing.scss +9 -0
  211. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_utilities.scss +41 -0
  212. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/generated/_fluid-spacing.scss +37 -0
  213. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/generated/_spacing.scss +85 -0
  214. package/styles/vendor/@carbon/type/src/__tests__/__snapshots__/styles-test.js.snap +32 -34
  215. package/styles/vendor/@carbon/type/src/__tests__/exports-test.js +1 -1
  216. package/styles/vendor/@carbon/type/src/__tests__/fluid-test.js +26 -26
  217. package/styles/vendor/@carbon/type/src/__tests__/styles-test.js +1 -1
  218. package/styles/vendor/@carbon/type/src/__tests__/tokens-test.js +2 -2
  219. package/styles/vendor/@carbon/type/src/fluid.js +1 -1
  220. package/styles/vendor/@carbon/type/src/index.js +1 -1
  221. package/styles/vendor/@carbon/type/src/styles.js +65 -64
  222. package/styles/vendor/@carbon/type/src/tokens.js +64 -31
  223. package/styles/vendor/@carbon/type/umd/index.js +134 -105
  224. package/styles-g10.css +570 -2
  225. package/styles-g10.css.map +1 -1
  226. package/styles-g10.min.css +1 -1
  227. package/styles-g10.min.css.map +1 -1
  228. package/styles-g100.css +574 -6
  229. package/styles-g100.css.map +1 -1
  230. package/styles-g100.min.css +1 -1
  231. package/styles-g100.min.css.map +1 -1
  232. package/styles-g90.css +574 -6
  233. package/styles-g90.css.map +1 -1
  234. package/styles-g90.min.css +1 -1
  235. package/styles-g90.min.css.map +1 -1
  236. package/styles.css +570 -2
  237. package/styles.css.map +1 -1
  238. package/styles.min.css +1 -1
  239. package/styles.min.css.map +1 -1
  240. package/tsconfig.tsbuildinfo +65 -15
  241. package/styles/vendor/@carbon/layout/docs/sass.md +0 -1899
  242. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/LICENSE +0 -201
  243. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/README.md +0 -154
  244. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/es/index.js +0 -287
  245. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/lib/index.js +0 -410
  246. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/package.json +0 -51
  247. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/scss/mixins.scss +0 -646
  248. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/umd/index.js +0 -416
@@ -0,0 +1,229 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ extendStatics(d, b);
10
+ function __() { this.constructor = d; }
11
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
+ };
13
+ })();
14
+ // Internal Imports
15
+ import { Component } from '../component';
16
+ import { DOMUtils } from '../../services';
17
+ import { Events, ColorClassNameTypes } from '../../interfaces';
18
+ import { Tools } from '../../tools';
19
+ // D3 Imports
20
+ import { select } from 'd3-selection';
21
+ import { scaleLinear } from 'd3-scale';
22
+ import { extent } from 'd3-array';
23
+ import cloud from 'd3-cloud';
24
+ var WordCloud = /** @class */ (function (_super) {
25
+ __extends(WordCloud, _super);
26
+ function WordCloud() {
27
+ var _this = _super !== null && _super.apply(this, arguments) || this;
28
+ _this.type = 'wordcloud';
29
+ // Highlight elements that match the hovered legend item
30
+ _this.handleLegendOnHover = function (event) {
31
+ var hoveredElement = event.detail.hoveredElement;
32
+ var groupMapsTo = _this.getOptions().data.groupMapsTo;
33
+ _this.parent
34
+ .selectAll('text.word')
35
+ .transition(_this.services.transitions.getTransition('legend-hover-wordcloud'))
36
+ .attr('opacity', function (d) {
37
+ return d[groupMapsTo] !== hoveredElement.datum()['name'] ? 0.3 : 1;
38
+ });
39
+ };
40
+ // Un-highlight all elements
41
+ _this.handleLegendMouseOut = function (event) {
42
+ _this.parent
43
+ .selectAll('text.word')
44
+ .transition(_this.services.transitions.getTransition('legend-mouseout-wordcloud'))
45
+ .attr('opacity', 1);
46
+ };
47
+ return _this;
48
+ }
49
+ WordCloud.prototype.init = function () {
50
+ var eventsFragment = this.services.events;
51
+ // Highlight correct words on legend item hovers
52
+ eventsFragment.addEventListener(Events.Legend.ITEM_HOVER, this.handleLegendOnHover);
53
+ // Un-highlight words on legend item mouseouts
54
+ eventsFragment.addEventListener(Events.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);
55
+ };
56
+ WordCloud.prototype.getFontSizeScale = function (data) {
57
+ var options = this.getOptions();
58
+ var fontSizeMapsTo = options.wordCloud.fontSizeMapsTo;
59
+ // Filter out any null/undefined values
60
+ var allOccurences = data
61
+ .map(function (d) { return d[fontSizeMapsTo]; })
62
+ .filter(function (size) { return size; });
63
+ var chartSize = DOMUtils.getSVGElementSize(this.services.domUtils.getMainSVG(), { useAttr: true });
64
+ // We need the ternary operator here in case the user
65
+ // doesn't provide size values in data
66
+ var sizeDataIsValid = allOccurences.length > 0;
67
+ var domain = sizeDataIsValid ? extent(allOccurences) : [1, 1];
68
+ return scaleLinear()
69
+ .domain(domain)
70
+ .range(sizeDataIsValid
71
+ ? options.wordCloud.fontSizeRange(chartSize, data)
72
+ : [4, 4]);
73
+ };
74
+ WordCloud.prototype.render = function (animate) {
75
+ if (animate === void 0) { animate = true; }
76
+ var self = this;
77
+ var svg = this.getContainerSVG();
78
+ var displayData = this.model.getDisplayData();
79
+ var fontSizeScale = this.getFontSizeScale(displayData);
80
+ var options = this.getOptions();
81
+ var _a = options.wordCloud, fontSizeMapsTo = _a.fontSizeMapsTo, wordMapsTo = _a.wordMapsTo;
82
+ var groupMapsTo = options.data.groupMapsTo;
83
+ var _b = DOMUtils.getSVGElementSize(this.parent, {
84
+ useAttrs: true,
85
+ }), width = _b.width, height = _b.height;
86
+ if (width === 0 || height === 0) {
87
+ return;
88
+ }
89
+ var layout = cloud()
90
+ .size([width, height])
91
+ .words(displayData.map(function (d) {
92
+ var _a;
93
+ return _a = {},
94
+ _a[groupMapsTo] = d[groupMapsTo],
95
+ _a.text = d[wordMapsTo],
96
+ _a.size = d[fontSizeMapsTo],
97
+ _a.value = d[fontSizeMapsTo],
98
+ _a;
99
+ }))
100
+ .padding(5)
101
+ .rotate(0)
102
+ .fontSize(function (d) { return fontSizeScale(d.size); })
103
+ .on('end', draw);
104
+ layout.start();
105
+ function draw(words) {
106
+ var textGroup = DOMUtils.appendOrSelect(svg, 'g.words');
107
+ textGroup.attr('transform', "translate(" + layout.size()[0] / 2 + ", " + layout.size()[1] / 2 + ")");
108
+ var allText = textGroup
109
+ .selectAll('text')
110
+ .data(words, function (d) { return d[groupMapsTo] + "-" + d.text; });
111
+ // Remove texts that are no longer needed
112
+ allText.exit().attr('opacity', 0).remove();
113
+ var enteringText = allText
114
+ .enter()
115
+ .append('text')
116
+ .attr('opacity', 0);
117
+ enteringText
118
+ .merge(allText)
119
+ .style('font-size', function (d) {
120
+ return d.size;
121
+ })
122
+ .text(function (d) {
123
+ return d.text;
124
+ })
125
+ .attr('class', function (d) {
126
+ return self.model.getColorClassName({
127
+ classNameTypes: [ColorClassNameTypes.FILL],
128
+ dataGroupName: d[groupMapsTo],
129
+ originalClassName: "word " + (d.size > 32 ? 'light' : ''),
130
+ });
131
+ })
132
+ .attr('text-anchor', 'middle')
133
+ .transition(self.services.transitions.getTransition('wordcloud-text-update-enter', animate))
134
+ .attr('transform', function (d) { return "translate(" + d.x + ", " + d.y + ")"; })
135
+ .attr('opacity', 1);
136
+ }
137
+ // Add event listeners
138
+ this.addEventListeners();
139
+ };
140
+ WordCloud.prototype.addEventListeners = function () {
141
+ var options = this.getOptions();
142
+ var fontSizeMapsTo = options.wordCloud.fontSizeMapsTo;
143
+ var groupMapsTo = options.data.groupMapsTo;
144
+ // Highlights 1 word or unhighlights all
145
+ var debouncedHighlight = Tools.debounce(function (word) {
146
+ var allWords = self.parent
147
+ .selectAll('text.word')
148
+ .transition(self.services.transitions.getTransition('wordcloud-word-mouse-highlight'));
149
+ if (word === null) {
150
+ allWords.attr('opacity', 1);
151
+ }
152
+ else {
153
+ allWords.attr('opacity', function () {
154
+ if (word === this) {
155
+ return 1;
156
+ }
157
+ return 0.3;
158
+ });
159
+ }
160
+ }, 6);
161
+ var self = this;
162
+ this.parent
163
+ .selectAll('text.word')
164
+ .on('mouseover', function (datum) {
165
+ var hoveredElement = this;
166
+ debouncedHighlight(hoveredElement);
167
+ // Dispatch mouse event
168
+ self.services.events.dispatchEvent(Events.WordCloud.WORD_MOUSEOVER, {
169
+ element: select(this),
170
+ datum: datum,
171
+ });
172
+ // Show tooltip
173
+ self.services.events.dispatchEvent(Events.Tooltip.SHOW, {
174
+ hoveredElement: hoveredElement,
175
+ items: [
176
+ {
177
+ label: options.tooltip.wordLabel,
178
+ value: datum.text,
179
+ },
180
+ {
181
+ label: options.tooltip.valueLabel,
182
+ value: datum.value,
183
+ },
184
+ {
185
+ label: options.tooltip.groupLabel,
186
+ value: datum[groupMapsTo],
187
+ class: self.model.getColorClassName({
188
+ classNameTypes: [ColorClassNameTypes.TOOLTIP],
189
+ dataGroupName: datum[groupMapsTo],
190
+ }),
191
+ },
192
+ ],
193
+ });
194
+ })
195
+ .on('mousemove', function (datum) {
196
+ var hoveredElement = select(this);
197
+ // Dispatch mouse event
198
+ self.services.events.dispatchEvent(Events.WordCloud.WORD_MOUSEMOVE, {
199
+ element: hoveredElement,
200
+ datum: datum,
201
+ });
202
+ // Show tooltip
203
+ self.services.events.dispatchEvent(Events.Tooltip.MOVE);
204
+ })
205
+ .on('click', function (datum) {
206
+ // Dispatch mouse event
207
+ self.services.events.dispatchEvent(Events.WordCloud.WORD_CLICK, {
208
+ element: select(this),
209
+ datum: datum,
210
+ });
211
+ })
212
+ .on('mouseout', function (datum) {
213
+ var hoveredElement = select(this);
214
+ debouncedHighlight(null);
215
+ // Dispatch mouse event
216
+ self.services.events.dispatchEvent(Events.WordCloud.WORD_MOUSEOUT, {
217
+ element: hoveredElement,
218
+ datum: datum,
219
+ });
220
+ // Hide tooltip
221
+ self.services.events.dispatchEvent(Events.Tooltip.HIDE, {
222
+ hoveredElement: hoveredElement,
223
+ });
224
+ });
225
+ };
226
+ return WordCloud;
227
+ }(Component));
228
+ export { WordCloud };
229
+ //# sourceMappingURL=../../../src/components/graphs/wordcloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wordcloud.js","sourceRoot":"","sources":["wordcloud.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport { DOMUtils } from '../../services';\nimport { Events, ColorClassNameTypes } from '../../interfaces';\nimport { Tools } from '../../tools';\n\n// D3 Imports\nimport { select } from 'd3-selection';\nimport { scaleLinear } from 'd3-scale';\nimport { extent } from 'd3-array';\nimport cloud from 'd3-cloud';\n\nexport class WordCloud extends Component {\n\ttype = 'wordcloud';\n\n\tinit() {\n\t\tconst eventsFragment = this.services.events;\n\n\t\t// Highlight correct words on legend item hovers\n\t\teventsFragment.addEventListener(\n\t\t\tEvents.Legend.ITEM_HOVER,\n\t\t\tthis.handleLegendOnHover\n\t\t);\n\n\t\t// Un-highlight words on legend item mouseouts\n\t\teventsFragment.addEventListener(\n\t\t\tEvents.Legend.ITEM_MOUSEOUT,\n\t\t\tthis.handleLegendMouseOut\n\t\t);\n\t}\n\n\tgetFontSizeScale(data: any) {\n\t\tconst options = this.getOptions();\n\t\tconst { fontSizeMapsTo } = options.wordCloud;\n\n\t\t// Filter out any null/undefined values\n\t\tconst allOccurences = data\n\t\t\t.map((d) => d[fontSizeMapsTo])\n\t\t\t.filter((size) => size);\n\t\tconst chartSize = DOMUtils.getSVGElementSize(\n\t\t\tthis.services.domUtils.getMainSVG(),\n\t\t\t{ useAttr: true }\n\t\t);\n\n\t\t// We need the ternary operator here in case the user\n\t\t// doesn't provide size values in data\n\t\tconst sizeDataIsValid = allOccurences.length > 0;\n\t\tconst domain = sizeDataIsValid ? extent(allOccurences) : [1, 1];\n\t\treturn scaleLinear()\n\t\t\t.domain(domain as any)\n\t\t\t.range(\n\t\t\t\tsizeDataIsValid\n\t\t\t\t\t? options.wordCloud.fontSizeRange(chartSize, data)\n\t\t\t\t\t: [4, 4]\n\t\t\t);\n\t}\n\n\trender(animate = true) {\n\t\tconst self = this;\n\t\tconst svg = this.getContainerSVG();\n\n\t\tconst displayData = this.model.getDisplayData();\n\t\tconst fontSizeScale = this.getFontSizeScale(displayData);\n\n\t\tconst options = this.getOptions();\n\t\tconst { fontSizeMapsTo, wordMapsTo } = options.wordCloud;\n\t\tconst { groupMapsTo } = options.data;\n\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(this.parent, {\n\t\t\tuseAttrs: true,\n\t\t});\n\n\t\tif (width === 0 || height === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst layout = cloud()\n\t\t\t.size([width, height])\n\t\t\t.words(\n\t\t\t\tdisplayData.map(function (d) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t[groupMapsTo]: d[groupMapsTo],\n\t\t\t\t\t\ttext: d[wordMapsTo],\n\t\t\t\t\t\tsize: d[fontSizeMapsTo],\n\t\t\t\t\t\tvalue: d[fontSizeMapsTo],\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t)\n\t\t\t.padding(5)\n\t\t\t.rotate(0)\n\t\t\t.fontSize((d) => fontSizeScale(d.size))\n\t\t\t.on('end', draw);\n\n\t\tlayout.start();\n\n\t\tfunction draw(words) {\n\t\t\tconst textGroup = DOMUtils.appendOrSelect(svg, 'g.words');\n\t\t\ttextGroup.attr(\n\t\t\t\t'transform',\n\t\t\t\t`translate(${layout.size()[0] / 2}, ${layout.size()[1] / 2})`\n\t\t\t);\n\n\t\t\tconst allText = textGroup\n\t\t\t\t.selectAll('text')\n\t\t\t\t.data(words, (d) => `${d[groupMapsTo]}-${d.text}`);\n\n\t\t\t// Remove texts that are no longer needed\n\t\t\tallText.exit().attr('opacity', 0).remove();\n\n\t\t\tconst enteringText = allText\n\t\t\t\t.enter()\n\t\t\t\t.append('text')\n\t\t\t\t.attr('opacity', 0);\n\n\t\t\tenteringText\n\t\t\t\t.merge(allText)\n\t\t\t\t.style('font-size', function (d) {\n\t\t\t\t\treturn d.size;\n\t\t\t\t})\n\t\t\t\t.text(function (d) {\n\t\t\t\t\treturn d.text;\n\t\t\t\t})\n\t\t\t\t.attr('class', (d) =>\n\t\t\t\t\tself.model.getColorClassName({\n\t\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.FILL],\n\t\t\t\t\t\tdataGroupName: d[groupMapsTo],\n\t\t\t\t\t\toriginalClassName: `word ${d.size > 32 ? 'light' : ''}`,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t\t.attr('text-anchor', 'middle')\n\t\t\t\t.transition(\n\t\t\t\t\tself.services.transitions.getTransition(\n\t\t\t\t\t\t'wordcloud-text-update-enter',\n\t\t\t\t\t\tanimate\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.attr('transform', d => `translate(${d.x}, ${d.y})`)\n\t\t\t\t.attr('opacity', 1);\n\t\t}\n\n\t\t// Add event listeners\n\t\tthis.addEventListeners();\n\t}\n\n\t// Highlight elements that match the hovered legend item\n\thandleLegendOnHover = (event: CustomEvent) => {\n\t\tconst { hoveredElement } = event.detail;\n\t\tconst { groupMapsTo } = this.getOptions().data;\n\n\t\tthis.parent\n\t\t\t.selectAll('text.word')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'legend-hover-wordcloud'\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('opacity', (d) =>\n\t\t\t\td[groupMapsTo] !== hoveredElement.datum()['name'] ? 0.3 : 1\n\t\t\t);\n\t};\n\n\t// Un-highlight all elements\n\thandleLegendMouseOut = (event: CustomEvent) => {\n\t\tthis.parent\n\t\t\t.selectAll('text.word')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'legend-mouseout-wordcloud'\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('opacity', 1);\n\t};\n\n\taddEventListeners() {\n\t\tconst options = this.getOptions();\n\t\tconst { fontSizeMapsTo } = options.wordCloud;\n\t\tconst { groupMapsTo } = options.data;\n\n\t\t// Highlights 1 word or unhighlights all\n\t\tconst debouncedHighlight = Tools.debounce((word) => {\n\t\t\tconst allWords = self.parent\n\t\t\t\t.selectAll('text.word')\n\t\t\t\t.transition(\n\t\t\t\t\tself.services.transitions.getTransition(\n\t\t\t\t\t\t'wordcloud-word-mouse-highlight'\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\tif (word === null) {\n\t\t\t\tallWords.attr('opacity', 1);\n\t\t\t} else {\n\t\t\t\tallWords.attr('opacity', function () {\n\t\t\t\t\tif (word === this) {\n\t\t\t\t\t\treturn 1;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn 0.3;\n\t\t\t\t});\n\t\t\t}\n\t\t}, 6);\n\n\t\tconst self = this;\n\t\tthis.parent\n\t\t\t.selectAll('text.word')\n\t\t\t.on('mouseover', function (datum) {\n\t\t\t\tconst hoveredElement = this;\n\t\t\t\tdebouncedHighlight(hoveredElement);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.WordCloud.WORD_MOUSEOVER,\n\t\t\t\t\t{\n\t\t\t\t\t\telement: select(this),\n\t\t\t\t\t\tdatum,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// Show tooltip\n\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.SHOW, {\n\t\t\t\t\thoveredElement,\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: options.tooltip.wordLabel,\n\t\t\t\t\t\t\tvalue: datum.text,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: options.tooltip.valueLabel,\n\t\t\t\t\t\t\tvalue: datum.value,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: options.tooltip.groupLabel,\n\t\t\t\t\t\t\tvalue: datum[groupMapsTo],\n\t\t\t\t\t\t\tclass: self.model.getColorClassName({\n\t\t\t\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.TOOLTIP],\n\t\t\t\t\t\t\t\tdataGroupName: datum[groupMapsTo],\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mousemove', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.WordCloud.WORD_MOUSEMOVE,\n\t\t\t\t\t{\n\t\t\t\t\t\telement: hoveredElement,\n\t\t\t\t\t\tdatum,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// Show tooltip\n\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.MOVE);\n\t\t\t})\n\t\t\t.on('click', function (datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.WordCloud.WORD_CLICK,\n\t\t\t\t\t{\n\t\t\t\t\t\telement: select(this),\n\t\t\t\t\t\tdatum,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t})\n\t\t\t.on('mouseout', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\t\t\t\tdebouncedHighlight(null);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.WordCloud.WORD_MOUSEOUT,\n\t\t\t\t\t{\n\t\t\t\t\t\telement: hoveredElement,\n\t\t\t\t\t\tdatum,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// Hide tooltip\n\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.HIDE, {\n\t\t\t\t\thoveredElement,\n\t\t\t\t});\n\t\t\t});\n\t}\n}\n"]}
@@ -23,6 +23,7 @@ export * from './graphs/skeleton';
23
23
  export * from './graphs/skeleton-lines';
24
24
  export * from './graphs/treemap';
25
25
  export * from './graphs/radar';
26
+ export * from './graphs/wordcloud';
26
27
  export * from './layout/spacer';
27
28
  export * from './layout/layout';
28
29
  export * from './axes/two-dimensional-axes';
@@ -25,6 +25,7 @@ export * from './graphs/skeleton';
25
25
  export * from './graphs/skeleton-lines';
26
26
  export * from './graphs/treemap';
27
27
  export * from './graphs/radar';
28
+ export * from './graphs/wordcloud';
28
29
  // Layout
29
30
  export * from './layout/spacer';
30
31
  export * from './layout/layout';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAE5B,aAAa;AACb,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAE1C,SAAS;AACT,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAE/B,SAAS;AACT,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,OAAO;AACP,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './component';\n\n// ESSENTIALS\nexport * from './essentials/legend';\nexport * from './essentials/threshold';\nexport * from './essentials/title';\nexport * from './essentials/title-meter';\nexport * from './essentials/tooltip';\nexport * from './essentials/tooltip-axis';\n\n// GRAPHS\nexport * from './graphs/area';\nexport * from './graphs/area-stacked';\nexport * from './graphs/bar-simple';\nexport * from './graphs/bar-grouped';\nexport * from './graphs/bar-stacked';\nexport * from './graphs/boxplot';\nexport * from './graphs/bubble';\nexport * from './graphs/line';\nexport * from './graphs/lollipop';\nexport * from './graphs/scatter';\nexport * from './graphs/scatter-stacked';\nexport * from './graphs/pie';\nexport * from './graphs/gauge';\nexport * from './graphs/donut';\nexport * from './graphs/skeleton';\nexport * from './graphs/skeleton-lines';\nexport * from './graphs/treemap';\nexport * from './graphs/radar';\n\n// Layout\nexport * from './layout/spacer';\nexport * from './layout/layout';\n\n// MISC\nexport * from './axes/two-dimensional-axes';\nexport * from './axes/axis';\nexport * from './axes/grid-brush';\nexport * from './axes/chart-clip';\nexport * from './axes/grid';\nexport * from './axes/ruler';\nexport * from './axes/ruler-stacked';\nexport * from './axes/toolbar';\nexport * from './axes/zero-line';\nexport * from './axes/zoom-bar';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAE5B,aAAa;AACb,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAE1C,SAAS;AACT,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AAGnC,SAAS;AACT,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,OAAO;AACP,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './component';\n\n// ESSENTIALS\nexport * from './essentials/legend';\nexport * from './essentials/threshold';\nexport * from './essentials/title';\nexport * from './essentials/title-meter';\nexport * from './essentials/tooltip';\nexport * from './essentials/tooltip-axis';\n\n// GRAPHS\nexport * from './graphs/area';\nexport * from './graphs/area-stacked';\nexport * from './graphs/bar-simple';\nexport * from './graphs/bar-grouped';\nexport * from './graphs/bar-stacked';\nexport * from './graphs/boxplot';\nexport * from './graphs/bubble';\nexport * from './graphs/line';\nexport * from './graphs/lollipop';\nexport * from './graphs/scatter';\nexport * from './graphs/scatter-stacked';\nexport * from './graphs/pie';\nexport * from './graphs/gauge';\nexport * from './graphs/donut';\nexport * from './graphs/skeleton';\nexport * from './graphs/skeleton-lines';\nexport * from './graphs/treemap';\nexport * from './graphs/radar';\nexport * from './graphs/wordcloud';\n\n\n// Layout\nexport * from './layout/spacer';\nexport * from './layout/layout';\n\n// MISC\nexport * from './axes/two-dimensional-axes';\nexport * from './axes/axis';\nexport * from './axes/grid-brush';\nexport * from './axes/chart-clip';\nexport * from './axes/grid';\nexport * from './axes/ruler';\nexport * from './axes/ruler-stacked';\nexport * from './axes/toolbar';\nexport * from './axes/zero-line';\nexport * from './axes/zoom-bar';\n"]}
@@ -1,4 +1,4 @@
1
- import { BaseChartOptions, AxisChartOptions, ScatterChartOptions, LollipopChartOptions, LineChartOptions, BarChartOptions, StackedBarChartOptions, BoxplotChartOptions, AreaChartOptions, PieChartOptions, GaugeChartOptions, DonutChartOptions, BubbleChartOptions, RadarChartOptions, ComboChartOptions, TreemapChartOptions, GridOptions, RulerOptions, TimeScaleOptions, TooltipOptions, MeterChartOptions } from './interfaces';
1
+ import { BaseChartOptions, AxisChartOptions, ScatterChartOptions, LollipopChartOptions, LineChartOptions, BarChartOptions, StackedBarChartOptions, BoxplotChartOptions, AreaChartOptions, PieChartOptions, GaugeChartOptions, DonutChartOptions, BubbleChartOptions, RadarChartOptions, ComboChartOptions, TreemapChartOptions, WorldCloudChartOptions, GridOptions, RulerOptions, TimeScaleOptions, TooltipOptions, MeterChartOptions } from './interfaces';
2
2
  /**
3
3
  * Grid options
4
4
  */
@@ -32,5 +32,6 @@ export declare const options: {
32
32
  gaugeChart: GaugeChartOptions;
33
33
  comboChart: ComboChartOptions;
34
34
  treemapChart: TreemapChartOptions;
35
+ wordCloudChart: WorldCloudChartOptions;
35
36
  };
36
37
  export * from './configuration-non-customizable';
package/configuration.js CHANGED
@@ -58,6 +58,7 @@ export var baseTooltip = {
58
58
  enabled: true,
59
59
  showTotal: true,
60
60
  truncation: standardTruncationOptions,
61
+ groupLabel: 'Group',
61
62
  };
62
63
  // These options will be managed by Tools.mergeDefaultChartOptions
63
64
  // by removing the ones the user is not providing,
@@ -240,6 +241,26 @@ var bubbleChart = Tools.merge({}, axisChart, {
240
241
  filled: true,
241
242
  },
242
243
  });
244
+ /**
245
+ * options specific to word cloud charts
246
+ */
247
+ var wordCloudChart = Tools.merge({}, chart, {
248
+ tooltip: Tools.merge({}, baseTooltip, {
249
+ wordLabel: 'Word',
250
+ valueLabel: 'Value',
251
+ }),
252
+ wordCloud: {
253
+ fontSizeMapsTo: 'value',
254
+ fontSizeRange: function (chartSize, data) {
255
+ var smallerChartDimension = Math.min(chartSize.width, chartSize.height);
256
+ return [
257
+ (smallerChartDimension * 20) / 400,
258
+ (smallerChartDimension * 75) / 400,
259
+ ];
260
+ },
261
+ wordMapsTo: 'word',
262
+ },
263
+ });
243
264
  /**
244
265
  * options specific to pie charts
245
266
  */
@@ -362,6 +383,7 @@ export var options = {
362
383
  gaugeChart: gaugeChart,
363
384
  comboChart: comboChart,
364
385
  treemapChart: treemapChart,
386
+ wordCloudChart: wordCloudChart,
365
387
  };
366
388
  export * from './configuration-non-customizable';
367
389
  //# sourceMappingURL=../src/configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["configuration.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tools } from './tools';\nimport {\n\tBaseChartOptions,\n\tAxisChartOptions,\n\tScatterChartOptions,\n\tLollipopChartOptions,\n\tLineChartOptions,\n\tBarChartOptions,\n\tStackedBarChartOptions,\n\tBoxplotChartOptions,\n\tAreaChartOptions,\n\tPieChartOptions,\n\tGaugeChartOptions,\n\tDonutChartOptions,\n\tBubbleChartOptions,\n\tRadarChartOptions,\n\tComboChartOptions,\n\tTreemapChartOptions,\n\t// Components\n\tGridOptions,\n\tRulerOptions,\n\tAxesOptions,\n\tTimeScaleOptions,\n\tTooltipOptions,\n\tLegendOptions,\n\tStackedBarOptions,\n\tMeterChartOptions,\n\tToolbarOptions,\n\tToolbarControl,\n\tZoomBarsOptions,\n\t// ENUMS\n\tAlignments,\n\tGaugeTypes,\n\tLegendPositions,\n\tTruncationTypes,\n\tToolbarControlTypes,\n\tZoomBarTypes,\n} from './interfaces';\nimport enUSLocaleObject from 'date-fns/locale/en-US/index';\n\n/*\n *****************************\n * User configurable options *\n *****************************\n */\n\n/**\n * Default truncation configuration\n */\nconst standardTruncationOptions = {\n\ttype: TruncationTypes.END_LINE,\n\tthreshold: 16,\n\tnumCharacter: 14,\n};\n\n/**\n * Legend options\n */\nconst legend: LegendOptions = {\n\tenabled: true,\n\tposition: LegendPositions.BOTTOM,\n\tclickable: true,\n\ttruncation: standardTruncationOptions,\n\talignment: Alignments.LEFT,\n\torder: null,\n};\n\n/**\n * Grid options\n */\nexport const grid: GridOptions = {\n\tx: {\n\t\t// set enable to false will not draw grid and stroke of grid backdrop\n\t\tenabled: true,\n\t\tnumberOfTicks: 15,\n\t\talignWithAxisTicks: false\n\t},\n\ty: {\n\t\t// set enable to false will not draw grid and stroke of grid backdrop\n\t\tenabled: true,\n\t\tnumberOfTicks: 5,\n\t\talignWithAxisTicks: false\n\t},\n};\n\n/**\n * Ruler options\n */\nexport const ruler: RulerOptions = {\n\t// enable or disable ruler\n\tenabled: true,\n};\n\n/**\n * Tooltip options\n */\nexport const baseTooltip: TooltipOptions = {\n\tenabled: true,\n\tshowTotal: true,\n\ttruncation: standardTruncationOptions,\n};\n\n// These options will be managed by Tools.mergeDefaultChartOptions\n// by removing the ones the user is not providing,\n// and by TwoDimensionalAxes.\nconst axes: AxesOptions = {\n\ttop: {\n\t\tvisible: true,\n\t\tincludeZero: true,\n\t\ttruncation: standardTruncationOptions,\n\t},\n\tbottom: {\n\t\tvisible: true,\n\t\tincludeZero: true,\n\t\ttruncation: standardTruncationOptions,\n\t},\n\tleft: {\n\t\tvisible: true,\n\t\tincludeZero: true,\n\t\ttruncation: standardTruncationOptions,\n\t},\n\tright: {\n\t\tvisible: true,\n\t\tincludeZero: true,\n\t\ttruncation: standardTruncationOptions,\n\t},\n};\n\nexport const timeScale: TimeScaleOptions = {\n\taddSpaceOnEdges: 1,\n\tshowDayName: false,\n\tlocaleObject: enUSLocaleObject,\n\ttimeIntervalFormats: {\n\t\t'15seconds': { primary: 'MMM d, pp', secondary: 'pp' },\n\t\tminute: { primary: 'MMM d, p', secondary: 'p' },\n\t\t'30minutes': { primary: 'MMM d, p', secondary: 'p' },\n\t\thourly: { primary: 'MMM d, hh a', secondary: 'hh a' },\n\t\tdaily: { primary: 'MMM d', secondary: 'd' },\n\t\tweekly: { primary: 'eee, MMM d', secondary: 'eee' },\n\t\tmonthly: { primary: 'MMM yyyy', secondary: 'MMM' },\n\t\tquarterly: { primary: \"QQQ ''yy\", secondary: 'QQQ' },\n\t\tyearly: { primary: 'yyyy', secondary: 'yyyy' },\n\t},\n};\n\n/**\n * Base chart options common to any chart\n */\nconst chart: BaseChartOptions = {\n\twidth: null,\n\theight: null,\n\tresizable: true,\n\ttooltip: baseTooltip,\n\tlegend,\n\tstyle: {\n\t\tprefix: 'cc',\n\t},\n\tdata: {\n\t\tgroupMapsTo: 'group',\n\t\tloading: false,\n\t\tselectedGroups: [],\n\t},\n\tcolor: {\n\t\tscale: null,\n\t\tpairing: {\n\t\t\tnumberOfVariants: null,\n\t\t\toption: 1,\n\t\t},\n\t\tgradient: {\n\t\t\tenabled: false,\n\t\t},\n\t},\n};\n\n/**\n * Options common to any chart with an axis\n */\nconst axisChart: AxisChartOptions = Tools.merge({}, chart, {\n\taxes,\n\ttimeScale,\n\tgrid,\n\truler,\n\tzoomBar: {\n\t\tzoomRatio: 0.4,\n\t\tminZoomRatio: 0.01,\n\t\ttop: {\n\t\t\tenabled: false,\n\t\t\ttype: ZoomBarTypes.GRAPH_VIEW,\n\t\t},\n\t} as ZoomBarsOptions,\n\ttoolbar: {\n\t\tenabled: false,\n\t\tnumberOfIcons: 3,\n\t\tcontrols: [],\n\t} as ToolbarOptions,\n} as AxisChartOptions);\n\n/**\n * options specific to simple bar charts\n */\nconst baseBarChart: BarChartOptions = Tools.merge({}, axisChart, {\n\tbars: {\n\t\tmaxWidth: 16,\n\t},\n\ttimeScale: Tools.merge(timeScale, {\n\t\taddSpaceOnEdges: 1,\n\t} as TimeScaleOptions),\n} as BarChartOptions);\n\n/**\n * options specific to simple bar charts\n */\nconst simpleBarChart: BarChartOptions = Tools.merge(\n\t{},\n\tbaseBarChart,\n\t{} as BarChartOptions\n);\n\n/**\n * options specific to simple bar charts\n */\nconst groupedBarChart: BarChartOptions = Tools.merge(\n\t{},\n\tbaseBarChart,\n\t{} as BarChartOptions\n);\n\n/**\n * options specific to stacked bar charts\n */\nconst stackedBarChart: StackedBarChartOptions = Tools.merge({}, baseBarChart, {\n\tbars: Tools.merge({}, baseBarChart.bars, {\n\t\tdividerSize: 1.5,\n\t} as StackedBarOptions),\n} as BarChartOptions);\n\n/**\n * options specific to boxplot charts\n */\nconst boxplotChart: BoxplotChartOptions = Tools.merge(\n\t{},\n\tbaseBarChart,\n\t{} as BarChartOptions\n);\n\n/**\n * options specific to scatter charts\n */\nconst scatterChart: ScatterChartOptions = Tools.merge({}, axisChart, {\n\tpoints: {\n\t\t// default point radius to 4\n\t\tradius: 4,\n\t\tfillOpacity: 0.3,\n\t\tfilled: true,\n\t\tenabled: true,\n\t},\n} as ScatterChartOptions);\n\n/**\n * options specific to lollipop charts\n */\nconst lollipopChart: LollipopChartOptions = scatterChart as LollipopChartOptions;\n\n/**\n * options specific to line charts\n */\nconst lineChart: LineChartOptions = Tools.merge({}, scatterChart, {\n\tpoints: {\n\t\t// default point radius to 3\n\t\tradius: 3,\n\t\tfilled: false,\n\t\tenabled: true,\n\t},\n} as LineChartOptions);\n\n/**\n * options specific to area charts\n */\nconst areaChart: AreaChartOptions = Tools.merge({}, lineChart, {\n\ttimeScale: Tools.merge(timeScale, {\n\t\taddSpaceOnEdges: 0,\n\t} as TimeScaleOptions),\n} as LineChartOptions);\n\n/**\n * options specific to stacked area charts\n */\nconst stackedAreaChart = areaChart;\n\n/**\n * options specific to bubble charts\n */\nconst bubbleChart: BubbleChartOptions = Tools.merge({}, axisChart, {\n\tbubble: {\n\t\tradiusMapsTo: 'radius',\n\t\tradiusRange: (chartSize, data) => {\n\t\t\tconst smallerChartDimension = Math.min(\n\t\t\t\tchartSize.width,\n\t\t\t\tchartSize.height\n\t\t\t);\n\t\t\treturn [\n\t\t\t\t(smallerChartDimension * 3) / 400,\n\t\t\t\t(smallerChartDimension * 25) / 400,\n\t\t\t];\n\t\t},\n\t\tfillOpacity: 0.2,\n\t\tenabled: true,\n\t},\n\tpoints: {\n\t\tfilled: true,\n\t},\n} as BubbleChartOptions);\n\n/**\n * options specific to pie charts\n */\nconst pieChart: PieChartOptions = Tools.merge({}, chart, {\n\tpie: {\n\t\tlabels: {\n\t\t\tformatter: null,\n\t\t\tenabled: true,\n\t\t},\n\t\talignment: Alignments.LEFT,\n\t},\n} as PieChartOptions);\n\n/**\n * options specific to gauge charts\n */\nconst gaugeChart: GaugeChartOptions = Tools.merge({}, chart, {\n\tlegend: {\n\t\tenabled: false,\n\t},\n\tgauge: {\n\t\ttype: GaugeTypes.SEMI,\n\t\tarcWidth: 16,\n\t\tdeltaArrow: {\n\t\t\tsize: (radius) => radius / 8,\n\t\t\tenabled: true,\n\t\t},\n\t\tshowPercentageSymbol: true,\n\t\tstatus: null,\n\t\tnumberSpacing: 10,\n\t\tdeltaFontSize: (radius) => radius / 8,\n\t\tvalueFontSize: (radius) => radius / 2.5,\n\t\tnumberFormatter: (number) =>\n\t\t\tnumber.toFixed(2) % 1 !== 0\n\t\t\t\t? number.toFixed(2).toLocaleString()\n\t\t\t\t: number.toFixed().toLocaleString(),\n\t\talignment: Alignments.LEFT,\n\t},\n} as GaugeChartOptions);\n\n/**\n * options specific to donut charts\n */\nconst donutChart: DonutChartOptions = Tools.merge({}, pieChart, {\n\tdonut: {\n\t\tcenter: {\n\t\t\tnumberFontSize: (radius) =>\n\t\t\t\tMath.min((radius / 100) * 24, 24) + 'px',\n\t\t\ttitleFontSize: (radius) => Math.min((radius / 100) * 15, 15) + 'px',\n\t\t\ttitleYPosition: (radius) => Math.min((radius / 80) * 20, 20),\n\t\t\tnumberFormatter: (number) => Math.floor(number).toLocaleString(),\n\t\t},\n\t\talignment: Alignments.LEFT,\n\t},\n} as DonutChartOptions);\n\nconst meterChart: MeterChartOptions = Tools.merge({}, chart, {\n\tlegend: {\n\t\tenabled: false,\n\t},\n\tmeter: {\n\t\theight: 8,\n\t\tstatusBar: {\n\t\t\tpercentageIndicator: {\n\t\t\t\tenabled: true,\n\t\t\t},\n\t\t},\n\t},\n} as MeterChartOptions);\n\n/**\n * options specific to radar charts\n */\nconst radarChart: RadarChartOptions = Tools.merge({}, chart, {\n\tradar: {\n\t\taxes: {\n\t\t\tangle: 'key',\n\t\t\tvalue: 'value',\n\t\t},\n\t\talignment: Alignments.LEFT,\n\t},\n\ttooltip: {\n\t\tgridline: {\n\t\t\tenabled: true,\n\t\t},\n\t\tvalueFormatter: (value) =>\n\t\t\tvalue !== null && value !== undefined ? value : 'N/A',\n\t},\n} as RadarChartOptions);\n\n/**\n * options specific to combo charts\n */\nconst comboChart: ComboChartOptions = Tools.merge({}, baseBarChart, {\n\tcomboChartTypes: [],\n} as ComboChartOptions);\n\n/*\n * options specific to treemap charts\n */\nconst treemapChart: TreemapChartOptions = Tools.merge({}, chart, {\n\tdata: Tools.merge(chart.data, {\n\t\tgroupMapsTo: 'name',\n\t}),\n} as TreemapChartOptions);\n\nexport const options = {\n\tchart,\n\taxisChart,\n\tsimpleBarChart,\n\tgroupedBarChart,\n\tstackedBarChart,\n\tboxplotChart,\n\tbubbleChart,\n\tlineChart,\n\tareaChart,\n\tstackedAreaChart,\n\tscatterChart,\n\tlollipopChart,\n\tpieChart,\n\tdonutChart,\n\tmeterChart,\n\tradarChart,\n\tgaugeChart,\n\tcomboChart,\n\ttreemapChart,\n};\n\nexport * from './configuration-non-customizable';\n"]}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["configuration.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tools } from './tools';\nimport {\n\tBaseChartOptions,\n\tAxisChartOptions,\n\tScatterChartOptions,\n\tLollipopChartOptions,\n\tLineChartOptions,\n\tBarChartOptions,\n\tStackedBarChartOptions,\n\tBoxplotChartOptions,\n\tAreaChartOptions,\n\tPieChartOptions,\n\tGaugeChartOptions,\n\tDonutChartOptions,\n\tBubbleChartOptions,\n\tRadarChartOptions,\n\tComboChartOptions,\n\tTreemapChartOptions,\n\tWorldCloudChartOptions,\n\t// Components\n\tGridOptions,\n\tRulerOptions,\n\tAxesOptions,\n\tTimeScaleOptions,\n\tTooltipOptions,\n\tWordCloudChartTooltipOptions,\n\tLegendOptions,\n\tStackedBarOptions,\n\tMeterChartOptions,\n\tToolbarOptions,\n\tToolbarControl,\n\tZoomBarsOptions,\n\t// ENUMS\n\tAlignments,\n\tGaugeTypes,\n\tLegendPositions,\n\tTruncationTypes,\n\tToolbarControlTypes,\n\tZoomBarTypes,\n} from './interfaces';\nimport enUSLocaleObject from 'date-fns/locale/en-US/index';\n\n/*\n *****************************\n * User configurable options *\n *****************************\n */\n\n/**\n * Default truncation configuration\n */\nconst standardTruncationOptions = {\n\ttype: TruncationTypes.END_LINE,\n\tthreshold: 16,\n\tnumCharacter: 14,\n};\n\n/**\n * Legend options\n */\nconst legend: LegendOptions = {\n\tenabled: true,\n\tposition: LegendPositions.BOTTOM,\n\tclickable: true,\n\ttruncation: standardTruncationOptions,\n\talignment: Alignments.LEFT,\n\torder: null,\n};\n\n/**\n * Grid options\n */\nexport const grid: GridOptions = {\n\tx: {\n\t\t// set enable to false will not draw grid and stroke of grid backdrop\n\t\tenabled: true,\n\t\tnumberOfTicks: 15,\n\t\talignWithAxisTicks: false\n\t},\n\ty: {\n\t\t// set enable to false will not draw grid and stroke of grid backdrop\n\t\tenabled: true,\n\t\tnumberOfTicks: 5,\n\t\talignWithAxisTicks: false\n\t},\n};\n\n/**\n * Ruler options\n */\nexport const ruler: RulerOptions = {\n\t// enable or disable ruler\n\tenabled: true,\n};\n\n/**\n * Tooltip options\n */\nexport const baseTooltip: TooltipOptions = {\n\tenabled: true,\n\tshowTotal: true,\n\ttruncation: standardTruncationOptions,\n\tgroupLabel: 'Group',\n};\n\n// These options will be managed by Tools.mergeDefaultChartOptions\n// by removing the ones the user is not providing,\n// and by TwoDimensionalAxes.\nconst axes: AxesOptions = {\n\ttop: {\n\t\tvisible: true,\n\t\tincludeZero: true,\n\t\ttruncation: standardTruncationOptions,\n\t},\n\tbottom: {\n\t\tvisible: true,\n\t\tincludeZero: true,\n\t\ttruncation: standardTruncationOptions,\n\t},\n\tleft: {\n\t\tvisible: true,\n\t\tincludeZero: true,\n\t\ttruncation: standardTruncationOptions,\n\t},\n\tright: {\n\t\tvisible: true,\n\t\tincludeZero: true,\n\t\ttruncation: standardTruncationOptions,\n\t},\n};\n\nexport const timeScale: TimeScaleOptions = {\n\taddSpaceOnEdges: 1,\n\tshowDayName: false,\n\tlocaleObject: enUSLocaleObject,\n\ttimeIntervalFormats: {\n\t\t'15seconds': { primary: 'MMM d, pp', secondary: 'pp' },\n\t\tminute: { primary: 'MMM d, p', secondary: 'p' },\n\t\t'30minutes': { primary: 'MMM d, p', secondary: 'p' },\n\t\thourly: { primary: 'MMM d, hh a', secondary: 'hh a' },\n\t\tdaily: { primary: 'MMM d', secondary: 'd' },\n\t\tweekly: { primary: 'eee, MMM d', secondary: 'eee' },\n\t\tmonthly: { primary: 'MMM yyyy', secondary: 'MMM' },\n\t\tquarterly: { primary: \"QQQ ''yy\", secondary: 'QQQ' },\n\t\tyearly: { primary: 'yyyy', secondary: 'yyyy' },\n\t},\n};\n\n/**\n * Base chart options common to any chart\n */\nconst chart: BaseChartOptions = {\n\twidth: null,\n\theight: null,\n\tresizable: true,\n\ttooltip: baseTooltip,\n\tlegend,\n\tstyle: {\n\t\tprefix: 'cc',\n\t},\n\tdata: {\n\t\tgroupMapsTo: 'group',\n\t\tloading: false,\n\t\tselectedGroups: [],\n\t},\n\tcolor: {\n\t\tscale: null,\n\t\tpairing: {\n\t\t\tnumberOfVariants: null,\n\t\t\toption: 1,\n\t\t},\n\t\tgradient: {\n\t\t\tenabled: false,\n\t\t},\n\t},\n};\n\n/**\n * Options common to any chart with an axis\n */\nconst axisChart: AxisChartOptions = Tools.merge({}, chart, {\n\taxes,\n\ttimeScale,\n\tgrid,\n\truler,\n\tzoomBar: {\n\t\tzoomRatio: 0.4,\n\t\tminZoomRatio: 0.01,\n\t\ttop: {\n\t\t\tenabled: false,\n\t\t\ttype: ZoomBarTypes.GRAPH_VIEW,\n\t\t},\n\t} as ZoomBarsOptions,\n\ttoolbar: {\n\t\tenabled: false,\n\t\tnumberOfIcons: 3,\n\t\tcontrols: [],\n\t} as ToolbarOptions,\n} as AxisChartOptions);\n\n/**\n * options specific to simple bar charts\n */\nconst baseBarChart: BarChartOptions = Tools.merge({}, axisChart, {\n\tbars: {\n\t\tmaxWidth: 16,\n\t},\n\ttimeScale: Tools.merge(timeScale, {\n\t\taddSpaceOnEdges: 1,\n\t} as TimeScaleOptions),\n} as BarChartOptions);\n\n/**\n * options specific to simple bar charts\n */\nconst simpleBarChart: BarChartOptions = Tools.merge(\n\t{},\n\tbaseBarChart,\n\t{} as BarChartOptions\n);\n\n/**\n * options specific to simple bar charts\n */\nconst groupedBarChart: BarChartOptions = Tools.merge(\n\t{},\n\tbaseBarChart,\n\t{} as BarChartOptions\n);\n\n/**\n * options specific to stacked bar charts\n */\nconst stackedBarChart: StackedBarChartOptions = Tools.merge({}, baseBarChart, {\n\tbars: Tools.merge({}, baseBarChart.bars, {\n\t\tdividerSize: 1.5,\n\t} as StackedBarOptions),\n} as BarChartOptions);\n\n/**\n * options specific to boxplot charts\n */\nconst boxplotChart: BoxplotChartOptions = Tools.merge(\n\t{},\n\tbaseBarChart,\n\t{} as BarChartOptions\n);\n\n/**\n * options specific to scatter charts\n */\nconst scatterChart: ScatterChartOptions = Tools.merge({}, axisChart, {\n\tpoints: {\n\t\t// default point radius to 4\n\t\tradius: 4,\n\t\tfillOpacity: 0.3,\n\t\tfilled: true,\n\t\tenabled: true,\n\t},\n} as ScatterChartOptions);\n\n/**\n * options specific to lollipop charts\n */\nconst lollipopChart: LollipopChartOptions = scatterChart as LollipopChartOptions;\n\n/**\n * options specific to line charts\n */\nconst lineChart: LineChartOptions = Tools.merge({}, scatterChart, {\n\tpoints: {\n\t\t// default point radius to 3\n\t\tradius: 3,\n\t\tfilled: false,\n\t\tenabled: true,\n\t},\n} as LineChartOptions);\n\n/**\n * options specific to area charts\n */\nconst areaChart: AreaChartOptions = Tools.merge({}, lineChart, {\n\ttimeScale: Tools.merge(timeScale, {\n\t\taddSpaceOnEdges: 0,\n\t} as TimeScaleOptions),\n} as LineChartOptions);\n\n/**\n * options specific to stacked area charts\n */\nconst stackedAreaChart = areaChart;\n\n/**\n * options specific to bubble charts\n */\nconst bubbleChart: BubbleChartOptions = Tools.merge({}, axisChart, {\n\tbubble: {\n\t\tradiusMapsTo: 'radius',\n\t\tradiusRange: (chartSize, data) => {\n\t\t\tconst smallerChartDimension = Math.min(\n\t\t\t\tchartSize.width,\n\t\t\t\tchartSize.height\n\t\t\t);\n\t\t\treturn [\n\t\t\t\t(smallerChartDimension * 3) / 400,\n\t\t\t\t(smallerChartDimension * 25) / 400,\n\t\t\t];\n\t\t},\n\t\tfillOpacity: 0.2,\n\t\tenabled: true,\n\t},\n\tpoints: {\n\t\tfilled: true,\n\t},\n} as BubbleChartOptions);\n\n/**\n * options specific to word cloud charts\n */\nconst wordCloudChart: WorldCloudChartOptions = Tools.merge({}, chart, {\n\ttooltip: Tools.merge({}, baseTooltip, {\n\t\twordLabel: 'Word',\n\t\tvalueLabel: 'Value',\n\t}) as WordCloudChartTooltipOptions,\n\twordCloud: {\n\t\tfontSizeMapsTo: 'value',\n\t\tfontSizeRange: (chartSize, data) => {\n\t\t\tconst smallerChartDimension = Math.min(\n\t\t\t\tchartSize.width,\n\t\t\t\tchartSize.height\n\t\t\t);\n\t\t\treturn [\n\t\t\t\t(smallerChartDimension * 20) / 400,\n\t\t\t\t(smallerChartDimension * 75) / 400,\n\t\t\t];\n\t\t},\n\t\twordMapsTo: 'word',\n\t},\n} as WorldCloudChartOptions);\n\n/**\n * options specific to pie charts\n */\nconst pieChart: PieChartOptions = Tools.merge({}, chart, {\n\tpie: {\n\t\tlabels: {\n\t\t\tformatter: null,\n\t\t\tenabled: true,\n\t\t},\n\t\talignment: Alignments.LEFT,\n\t},\n} as PieChartOptions);\n\n/**\n * options specific to gauge charts\n */\nconst gaugeChart: GaugeChartOptions = Tools.merge({}, chart, {\n\tlegend: {\n\t\tenabled: false,\n\t},\n\tgauge: {\n\t\ttype: GaugeTypes.SEMI,\n\t\tarcWidth: 16,\n\t\tdeltaArrow: {\n\t\t\tsize: (radius) => radius / 8,\n\t\t\tenabled: true,\n\t\t},\n\t\tshowPercentageSymbol: true,\n\t\tstatus: null,\n\t\tnumberSpacing: 10,\n\t\tdeltaFontSize: (radius) => radius / 8,\n\t\tvalueFontSize: (radius) => radius / 2.5,\n\t\tnumberFormatter: (number) =>\n\t\t\tnumber.toFixed(2) % 1 !== 0\n\t\t\t\t? number.toFixed(2).toLocaleString()\n\t\t\t\t: number.toFixed().toLocaleString(),\n\t\talignment: Alignments.LEFT,\n\t},\n} as GaugeChartOptions);\n\n/**\n * options specific to donut charts\n */\nconst donutChart: DonutChartOptions = Tools.merge({}, pieChart, {\n\tdonut: {\n\t\tcenter: {\n\t\t\tnumberFontSize: (radius) =>\n\t\t\t\tMath.min((radius / 100) * 24, 24) + 'px',\n\t\t\ttitleFontSize: (radius) => Math.min((radius / 100) * 15, 15) + 'px',\n\t\t\ttitleYPosition: (radius) => Math.min((radius / 80) * 20, 20),\n\t\t\tnumberFormatter: (number) => Math.floor(number).toLocaleString(),\n\t\t},\n\t\talignment: Alignments.LEFT,\n\t},\n} as DonutChartOptions);\n\nconst meterChart: MeterChartOptions = Tools.merge({}, chart, {\n\tlegend: {\n\t\tenabled: false,\n\t},\n\tmeter: {\n\t\theight: 8,\n\t\tstatusBar: {\n\t\t\tpercentageIndicator: {\n\t\t\t\tenabled: true,\n\t\t\t},\n\t\t},\n\t},\n} as MeterChartOptions);\n\n/**\n * options specific to radar charts\n */\nconst radarChart: RadarChartOptions = Tools.merge({}, chart, {\n\tradar: {\n\t\taxes: {\n\t\t\tangle: 'key',\n\t\t\tvalue: 'value',\n\t\t},\n\t\talignment: Alignments.LEFT,\n\t},\n\ttooltip: {\n\t\tgridline: {\n\t\t\tenabled: true,\n\t\t},\n\t\tvalueFormatter: (value) =>\n\t\t\tvalue !== null && value !== undefined ? value : 'N/A',\n\t},\n} as RadarChartOptions);\n\n/**\n * options specific to combo charts\n */\nconst comboChart: ComboChartOptions = Tools.merge({}, baseBarChart, {\n\tcomboChartTypes: [],\n} as ComboChartOptions);\n\n/*\n * options specific to treemap charts\n */\nconst treemapChart: TreemapChartOptions = Tools.merge({}, chart, {\n\tdata: Tools.merge(chart.data, {\n\t\tgroupMapsTo: 'name',\n\t}),\n} as TreemapChartOptions);\n\nexport const options = {\n\tchart,\n\taxisChart,\n\tsimpleBarChart,\n\tgroupedBarChart,\n\tstackedBarChart,\n\tboxplotChart,\n\tbubbleChart,\n\tlineChart,\n\tareaChart,\n\tstackedAreaChart,\n\tscatterChart,\n\tlollipopChart,\n\tpieChart,\n\tdonutChart,\n\tmeterChart,\n\tradarChart,\n\tgaugeChart,\n\tcomboChart,\n\ttreemapChart,\n\twordCloudChart,\n};\n\nexport * from './configuration-non-customizable';\n"]}