@carbon/charts 0.41.48 → 0.41.52
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.
- package/CHANGELOG.md +20 -11
- package/build/demo/data/CHART_TYPES.d.ts +93 -0
- package/build/demo/data/bar.d.ts +17 -23
- package/build/demo/data/combo.d.ts +3 -0
- package/build/demo/data/index.d.ts +16 -92
- package/build/demo/data/line.d.ts +3 -77
- package/build/demo/data/scatter.d.ts +0 -18
- package/build/demo/data/wordcloud.d.ts +14 -0
- package/build/src/charts/index.d.ts +1 -0
- package/build/src/charts/wordcloud.d.ts +6 -0
- package/build/src/components/graphs/wordcloud.d.ts +10 -0
- package/build/src/components/index.d.ts +1 -0
- package/build/src/configuration.d.ts +2 -1
- package/build/src/interfaces/charts.d.ts +23 -0
- package/build/src/interfaces/events.d.ts +9 -0
- package/bundle.js +1 -1
- package/charts/index.d.ts +1 -0
- package/charts/index.js +1 -0
- package/charts/index.js.map +1 -1
- package/charts/wordcloud.d.ts +6 -0
- package/charts/wordcloud.js +46 -0
- package/charts/wordcloud.js.map +1 -0
- package/components/essentials/tooltip-axis.js +1 -1
- package/components/essentials/tooltip-axis.js.map +1 -1
- package/components/essentials/tooltip.js +5 -2
- package/components/essentials/tooltip.js.map +1 -1
- package/components/graphs/boxplot.js +2 -2
- package/components/graphs/boxplot.js.map +1 -1
- package/components/graphs/wordcloud.d.ts +10 -0
- package/components/graphs/wordcloud.js +229 -0
- package/components/graphs/wordcloud.js.map +1 -0
- package/components/index.d.ts +1 -0
- package/components/index.js +1 -0
- package/components/index.js.map +1 -1
- package/configuration.d.ts +2 -1
- package/configuration.js +22 -0
- package/configuration.js.map +1 -1
- package/demo/data/CHART_TYPES.d.ts +93 -0
- package/demo/data/CHART_TYPES.js +93 -0
- package/demo/data/CHART_TYPES.js.map +1 -0
- package/demo/data/area.js +1 -1
- package/demo/data/area.js.map +1 -1
- package/demo/data/bar.d.ts +17 -23
- package/demo/data/bar.js +60 -68
- package/demo/data/bar.js.map +1 -1
- package/demo/data/boxplot.js +2 -2
- package/demo/data/boxplot.js.map +1 -1
- package/demo/data/bundle.js +1 -1
- package/demo/data/combo.d.ts +3 -0
- package/demo/data/combo.js +3 -0
- package/demo/data/combo.js.map +1 -1
- package/demo/data/index.d.ts +16 -92
- package/demo/data/index.js +404 -512
- package/demo/data/index.js.map +1 -1
- package/demo/data/line.d.ts +3 -77
- package/demo/data/line.js +9 -73
- package/demo/data/line.js.map +1 -1
- package/demo/data/scatter.d.ts +0 -18
- package/demo/data/scatter.js +0 -51
- package/demo/data/scatter.js.map +1 -1
- package/demo/data/wordcloud.d.ts +14 -0
- package/demo/data/wordcloud.js +105 -0
- package/demo/data/wordcloud.js.map +1 -0
- package/demo/styles.css +2827 -28
- package/demo/styles.css.map +1 -1
- package/demo/styles.min.css +1 -1
- package/demo/styles.min.css.map +1 -1
- package/demo/tsconfig.tsbuildinfo +47 -312
- package/interfaces/charts.d.ts +23 -0
- package/interfaces/charts.js.map +1 -1
- package/interfaces/events.d.ts +9 -0
- package/interfaces/events.js +10 -0
- package/interfaces/events.js.map +1 -1
- package/model.js +1 -1
- package/model.js.map +1 -1
- package/package.json +8 -7
- package/styles/_type.scss +4 -2
- package/styles/graphs/_wordcloud.scss +7 -0
- package/styles/graphs/index.scss +1 -0
- package/styles/vendor/@carbon/colors/README.md +4 -3
- package/styles/vendor/@carbon/colors/es/index.js +13 -12
- package/styles/vendor/@carbon/colors/lib/index.js +98 -93
- package/styles/vendor/@carbon/colors/package.json +14 -10
- package/styles/vendor/@carbon/colors/scss/colors.scss +1 -1
- package/styles/vendor/@carbon/colors/scss/index.scss +1 -1
- package/styles/vendor/@carbon/colors/scss/mixins.scss +33 -13
- package/styles/vendor/@carbon/colors/umd/index.js +99 -94
- package/styles/vendor/@carbon/elements/README.md +0 -6
- package/styles/vendor/@carbon/elements/es/index.js +4 -11
- package/styles/vendor/@carbon/elements/lib/index.js +959 -13
- package/styles/vendor/@carbon/elements/package.json +17 -13
- package/styles/vendor/@carbon/elements/scss/colors/colors.scss +1 -1
- package/styles/vendor/@carbon/elements/scss/colors/index.scss +1 -1
- package/styles/vendor/@carbon/elements/scss/colors/mixins.scss +33 -13
- package/styles/vendor/@carbon/elements/scss/grid/_inlined/_mixins.scss +82 -22
- package/styles/vendor/@carbon/elements/scss/grid/_mixins.scss +82 -22
- package/styles/vendor/@carbon/elements/scss/grid/modules/_breakpoint.scss +266 -0
- package/styles/vendor/@carbon/{themes/node_modules/@carbon/colors/scss/colors.scss → elements/scss/grid/modules/_config.scss} +6 -6
- package/styles/vendor/@carbon/elements/scss/grid/modules/_css-grid.scss +350 -0
- package/styles/vendor/@carbon/elements/scss/grid/modules/_mixins.scss +323 -0
- package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/_breakpoint.scss +8 -3
- package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_breakpoint.scss +232 -0
- package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_convert.scss +40 -0
- package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_spacing.scss +9 -0
- package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_utilities.scss +41 -0
- package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/generated/_fluid-spacing.scss +37 -0
- package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/generated/_spacing.scss +85 -0
- package/styles/vendor/@carbon/elements/scss/layout/_breakpoint.scss +8 -3
- package/styles/vendor/@carbon/elements/scss/layout/modules/_breakpoint.scss +232 -0
- package/styles/vendor/@carbon/elements/scss/layout/modules/_convert.scss +40 -0
- package/styles/vendor/@carbon/elements/scss/layout/modules/_spacing.scss +9 -0
- package/styles/vendor/@carbon/elements/scss/layout/modules/_utilities.scss +41 -0
- package/styles/vendor/@carbon/elements/scss/layout/modules/generated/_fluid-spacing.scss +37 -0
- package/styles/vendor/@carbon/elements/scss/layout/modules/generated/_spacing.scss +85 -0
- package/styles/vendor/@carbon/elements/scss/motion/motion.scss +24 -0
- package/styles/vendor/@carbon/elements/scss/themes/generated/_mixins.scss +643 -138
- package/styles/vendor/@carbon/elements/scss/themes/generated/_themes.scss +154 -77
- package/styles/vendor/@carbon/elements/scss/themes/generated/_tokens.scss +157 -75
- package/styles/vendor/@carbon/elements/scss/themes/modules/_theme.scss +50 -0
- package/styles/vendor/@carbon/elements/scss/themes/modules/_themes.scss +8 -0
- package/styles/vendor/@carbon/elements/scss/themes/modules/_utilities.scss +18 -0
- package/styles/vendor/@carbon/elements/scss/themes/modules/generated/_themes.scss +247 -0
- package/styles/vendor/@carbon/elements/scss/type/_font-family.scss +2 -2
- package/styles/vendor/@carbon/elements/scss/type/_inlined/_font-family.scss +2 -2
- package/styles/vendor/@carbon/elements/scss/type/_inlined/_reset.scss +9 -3
- package/styles/vendor/@carbon/elements/scss/type/_inlined/_scale.scss +2 -2
- package/styles/vendor/@carbon/elements/scss/type/_inlined/_styles.scss +60 -57
- package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_mono.scss +72 -72
- package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_sans-condensed.scss +302 -0
- package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_sans.scss +84 -84
- package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_serif.scss +72 -72
- package/styles/vendor/@carbon/elements/scss/type/_reset.scss +9 -3
- package/styles/vendor/@carbon/elements/scss/type/_scale.scss +2 -2
- package/styles/vendor/@carbon/elements/scss/type/_styles.scss +60 -57
- package/styles/vendor/@carbon/elements/scss/type/font-face/_mono.scss +72 -72
- package/styles/vendor/@carbon/elements/scss/type/font-face/_sans-condensed.scss +302 -0
- package/styles/vendor/@carbon/elements/scss/type/font-face/_sans.scss +84 -84
- package/styles/vendor/@carbon/elements/scss/type/font-face/_serif.scss +72 -72
- package/styles/vendor/@carbon/elements/scss/type/modules/_classes.scss +42 -0
- package/styles/vendor/@carbon/elements/scss/type/modules/_font-family.scss +70 -0
- package/styles/vendor/@carbon/elements/scss/type/modules/_prefix.scss +11 -0
- package/styles/vendor/@carbon/elements/scss/type/modules/_reset.scss +92 -0
- package/styles/vendor/@carbon/elements/scss/type/modules/_scale.scss +56 -0
- package/styles/vendor/@carbon/elements/scss/type/modules/_styles.scss +713 -0
- package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/_breakpoint.scss +8 -3
- package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_breakpoint.scss +232 -0
- package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_convert.scss +40 -0
- package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_spacing.scss +9 -0
- package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_utilities.scss +41 -0
- package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/generated/_fluid-spacing.scss +37 -0
- package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/generated/_spacing.scss +85 -0
- package/styles/vendor/@carbon/elements/src/__tests__/PublicAPI-test.js +12 -0
- package/styles/vendor/@carbon/elements/src/__tests__/__snapshots__/PublicAPI-test.js.snap +306 -0
- package/styles/vendor/@carbon/elements/src/index.js +166 -4
- package/styles/vendor/@carbon/elements/umd/index.js +961 -17
- package/styles/vendor/@carbon/layout/README.md +0 -6
- package/styles/vendor/@carbon/layout/es/index.js +1 -1
- package/styles/vendor/@carbon/{themes/node_modules/@carbon/colors/scss → layout}/index.scss +5 -6
- package/styles/vendor/@carbon/layout/lib/index.js +30 -30
- package/styles/vendor/@carbon/layout/package.json +14 -10
- package/styles/vendor/@carbon/layout/scss/_breakpoint.scss +8 -3
- package/styles/vendor/@carbon/layout/scss/modules/_breakpoint.scss +232 -0
- package/styles/vendor/@carbon/layout/scss/modules/_convert.scss +40 -0
- package/styles/vendor/@carbon/layout/scss/modules/_spacing.scss +9 -0
- package/styles/vendor/@carbon/layout/scss/modules/_utilities.scss +41 -0
- package/styles/vendor/@carbon/layout/scss/modules/generated/_fluid-spacing.scss +37 -0
- package/styles/vendor/@carbon/layout/scss/modules/generated/_spacing.scss +85 -0
- package/styles/vendor/@carbon/layout/umd/index.js +31 -31
- package/styles/vendor/@carbon/motion/README.md +0 -6
- package/styles/vendor/@carbon/motion/es/index.js +8 -1
- package/styles/vendor/@carbon/motion/index.scss +56 -0
- package/styles/vendor/@carbon/motion/lib/index.js +14 -0
- package/styles/vendor/@carbon/motion/package.json +10 -6
- package/styles/vendor/@carbon/motion/scss/motion.scss +24 -0
- package/styles/vendor/@carbon/motion/src/index.js +16 -0
- package/styles/vendor/@carbon/motion/umd/index.js +15 -1
- package/styles/vendor/@carbon/themes/README.md +5 -4
- package/styles/vendor/@carbon/themes/es/index.js +719 -57
- package/styles/vendor/@carbon/themes/index.scss +9 -0
- package/styles/vendor/@carbon/themes/lib/index.js +1297 -251
- package/styles/vendor/@carbon/themes/metadata.yml +3 -0
- package/styles/vendor/@carbon/themes/package.json +23 -14
- package/styles/vendor/@carbon/themes/scss/_mixins.scss +27 -146
- package/styles/vendor/@carbon/themes/scss/_theme-maps.scss +3 -263
- package/styles/vendor/@carbon/themes/scss/_tokens.scss +2 -297
- package/styles/vendor/@carbon/themes/scss/generated/_mixins.scss +1851 -0
- package/styles/vendor/@carbon/themes/scss/generated/_themes.scss +1534 -0
- package/styles/vendor/@carbon/themes/scss/generated/_tokens.scss +1757 -0
- package/styles/vendor/@carbon/themes/scss/modules/_theme.scss +50 -0
- package/styles/vendor/@carbon/themes/scss/modules/_themes.scss +8 -0
- package/styles/vendor/@carbon/themes/scss/modules/_utilities.scss +18 -0
- package/styles/vendor/@carbon/themes/scss/modules/generated/_themes.scss +247 -0
- package/styles/vendor/@carbon/themes/scss/themes.scss +3 -2
- package/styles/vendor/@carbon/themes/src/g10.js +97 -5
- package/styles/vendor/@carbon/themes/src/g100.js +96 -4
- package/styles/vendor/@carbon/themes/src/g90.js +98 -6
- package/styles/vendor/@carbon/themes/src/index.js +5 -3
- package/styles/vendor/@carbon/themes/src/tokens.js +112 -2
- package/styles/vendor/@carbon/themes/src/tools.js +25 -0
- package/styles/vendor/@carbon/themes/src/v9.js +181 -0
- package/styles/vendor/@carbon/themes/src/white.js +98 -3
- package/styles/vendor/@carbon/themes/umd/index.js +1297 -254
- package/styles/vendor/@carbon/type/README.md +0 -6
- package/styles/vendor/@carbon/type/es/index.js +111 -82
- package/styles/vendor/@carbon/type/lib/index.js +132 -103
- package/styles/vendor/@carbon/type/package.json +12 -8
- package/styles/vendor/@carbon/type/scss/_font-family.scss +2 -2
- package/styles/vendor/@carbon/type/scss/_inlined/_font-family.scss +2 -2
- package/styles/vendor/@carbon/type/scss/_inlined/_reset.scss +9 -3
- package/styles/vendor/@carbon/type/scss/_inlined/_scale.scss +2 -2
- package/styles/vendor/@carbon/type/scss/_inlined/_styles.scss +60 -57
- package/styles/vendor/@carbon/type/scss/_inlined/font-face/_mono.scss +72 -72
- package/styles/vendor/@carbon/type/scss/_inlined/font-face/_sans-condensed.scss +302 -0
- package/styles/vendor/@carbon/type/scss/_inlined/font-face/_sans.scss +84 -84
- package/styles/vendor/@carbon/type/scss/_inlined/font-face/_serif.scss +72 -72
- package/styles/vendor/@carbon/type/scss/_reset.scss +9 -3
- package/styles/vendor/@carbon/type/scss/_scale.scss +2 -2
- package/styles/vendor/@carbon/type/scss/_styles.scss +60 -57
- package/styles/vendor/@carbon/type/scss/font-face/_mono.scss +72 -72
- package/styles/vendor/@carbon/type/scss/font-face/_sans-condensed.scss +302 -0
- package/styles/vendor/@carbon/type/scss/font-face/_sans.scss +84 -84
- package/styles/vendor/@carbon/type/scss/font-face/_serif.scss +72 -72
- package/styles/vendor/@carbon/type/scss/modules/_classes.scss +42 -0
- package/styles/vendor/@carbon/type/scss/modules/_font-family.scss +70 -0
- package/styles/vendor/@carbon/type/scss/modules/_prefix.scss +11 -0
- package/styles/vendor/@carbon/type/scss/modules/_reset.scss +92 -0
- package/styles/vendor/@carbon/type/scss/modules/_scale.scss +56 -0
- package/styles/vendor/@carbon/type/scss/modules/_styles.scss +713 -0
- package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/_breakpoint.scss +8 -3
- package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_breakpoint.scss +232 -0
- package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_convert.scss +40 -0
- package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_spacing.scss +9 -0
- package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_utilities.scss +41 -0
- package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/generated/_fluid-spacing.scss +37 -0
- package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/generated/_spacing.scss +85 -0
- package/styles/vendor/@carbon/type/src/__tests__/__snapshots__/styles-test.js.snap +32 -34
- package/styles/vendor/@carbon/type/src/__tests__/exports-test.js +1 -1
- package/styles/vendor/@carbon/type/src/__tests__/fluid-test.js +26 -26
- package/styles/vendor/@carbon/type/src/__tests__/styles-test.js +1 -1
- package/styles/vendor/@carbon/type/src/__tests__/tokens-test.js +2 -2
- package/styles/vendor/@carbon/type/src/fluid.js +1 -1
- package/styles/vendor/@carbon/type/src/index.js +1 -1
- package/styles/vendor/@carbon/type/src/styles.js +65 -64
- package/styles/vendor/@carbon/type/src/tokens.js +64 -31
- package/styles/vendor/@carbon/type/umd/index.js +134 -105
- package/styles-g10.css +570 -2
- package/styles-g10.css.map +1 -1
- package/styles-g10.min.css +1 -1
- package/styles-g10.min.css.map +1 -1
- package/styles-g100.css +574 -6
- package/styles-g100.css.map +1 -1
- package/styles-g100.min.css +1 -1
- package/styles-g100.min.css.map +1 -1
- package/styles-g90.css +574 -6
- package/styles-g90.css.map +1 -1
- package/styles-g90.min.css +1 -1
- package/styles-g90.min.css.map +1 -1
- package/styles.css +570 -2
- package/styles.css.map +1 -1
- package/styles.min.css +1 -1
- package/styles.min.css.map +1 -1
- package/tools.js +1 -1
- package/tools.js.map +1 -1
- package/tsconfig.tsbuildinfo +67 -17
- package/styles/vendor/@carbon/layout/docs/sass.md +0 -1899
- package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/LICENSE +0 -201
- package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/README.md +0 -154
- package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/es/index.js +0 -287
- package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/lib/index.js +0 -410
- package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/package.json +0 -51
- package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/scss/mixins.scss +0 -646
- package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/umd/index.js +0 -416
package/charts/index.d.ts
CHANGED
package/charts/index.js
CHANGED
package/charts/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC","sourcesContent":["export * from './area';\nexport * from './area-stacked';\nexport * from './bar-simple';\nexport * from './bar-grouped';\nexport * from './bar-stacked';\nexport * from './boxplot';\nexport * from './bubble';\nexport * from './line';\nexport * from './lollipop';\nexport * from './scatter';\nexport * from './pie';\nexport * from './donut';\nexport * from './meter';\nexport * from './radar';\nexport * from './gauge';\nexport * from './combo';\nexport * from './treemap';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC","sourcesContent":["export * from './area';\nexport * from './area-stacked';\nexport * from './bar-simple';\nexport * from './bar-grouped';\nexport * from './bar-stacked';\nexport * from './boxplot';\nexport * from './bubble';\nexport * from './line';\nexport * from './lollipop';\nexport * from './scatter';\nexport * from './pie';\nexport * from './donut';\nexport * from './meter';\nexport * from './radar';\nexport * from './gauge';\nexport * from './combo';\nexport * from './treemap';\nexport * from './wordcloud';\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Chart } from '../chart';
|
|
2
|
+
import { ChartConfig, WorldCloudChartOptions } from '../interfaces/index';
|
|
3
|
+
export declare class WordCloudChart extends Chart {
|
|
4
|
+
constructor(holder: Element, chartConfigs: ChartConfig<WorldCloudChartOptions>);
|
|
5
|
+
getComponents(): any[];
|
|
6
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
import { Chart } from '../chart';
|
|
15
|
+
import * as Configuration from '../configuration';
|
|
16
|
+
import { Tools } from '../tools';
|
|
17
|
+
import { Skeletons } from '../interfaces/enums';
|
|
18
|
+
// Components
|
|
19
|
+
import { WordCloud, Skeleton, } from '../components/index';
|
|
20
|
+
var WordCloudChart = /** @class */ (function (_super) {
|
|
21
|
+
__extends(WordCloudChart, _super);
|
|
22
|
+
function WordCloudChart(holder, chartConfigs) {
|
|
23
|
+
var _this = _super.call(this, holder, chartConfigs) || this;
|
|
24
|
+
// Merge the default options for this chart
|
|
25
|
+
// With the user provided options
|
|
26
|
+
_this.model.setOptions(Tools.mergeDefaultChartOptions(Configuration.options.wordCloudChart, chartConfigs.options));
|
|
27
|
+
// Initialize data, services, components etc.
|
|
28
|
+
_this.init(holder, chartConfigs);
|
|
29
|
+
return _this;
|
|
30
|
+
}
|
|
31
|
+
WordCloudChart.prototype.getComponents = function () {
|
|
32
|
+
// Specify what to render inside the graph-frame
|
|
33
|
+
var graphFrameComponents = [
|
|
34
|
+
new WordCloud(this.model, this.services),
|
|
35
|
+
new Skeleton(this.model, this.services, {
|
|
36
|
+
skeleton: Skeletons.PIE,
|
|
37
|
+
}),
|
|
38
|
+
];
|
|
39
|
+
// get the base chart components and export with tooltip
|
|
40
|
+
var components = this.getChartComponents(graphFrameComponents);
|
|
41
|
+
return components;
|
|
42
|
+
};
|
|
43
|
+
return WordCloudChart;
|
|
44
|
+
}(Chart));
|
|
45
|
+
export { WordCloudChart };
|
|
46
|
+
//# sourceMappingURL=../../src/charts/wordcloud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wordcloud.js","sourceRoot":"","sources":["wordcloud.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,aAAa;AACb,OAAO,EACN,SAAS,EAIT,QAAQ,GACR,MAAM,qBAAqB,CAAC;AAE7B;IAAoC,kCAAK;IACxC,wBAAY,MAAe,EAAE,YAAiD;QAA9E,YACC,kBAAM,MAAM,EAAE,YAAY,CAAC,SAa3B;QAXA,2CAA2C;QAC3C,iCAAiC;QACjC,KAAI,CAAC,KAAK,CAAC,UAAU,CACpB,KAAK,CAAC,wBAAwB,CAC7B,aAAa,CAAC,OAAO,CAAC,cAAc,EACpC,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QAEF,6CAA6C;QAC7C,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;;IACjC,CAAC;IAED,sCAAa,GAAb;QACC,gDAAgD;QAChD,IAAM,oBAAoB,GAAU;YACnC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACxC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACvC,QAAQ,EAAE,SAAS,CAAC,GAAG;aACvB,CAAC;SACF,CAAC;QAEF,wDAAwD;QACxD,IAAM,UAAU,GAAU,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QACxE,OAAO,UAAU,CAAC;IACnB,CAAC;IACF,qBAAC;AAAD,CAAC,AA9BD,CAAoC,KAAK,GA8BxC","sourcesContent":["// Internal Imports\nimport { PieChartModel } from '../model-pie';\nimport { Chart } from '../chart';\nimport * as Configuration from '../configuration';\nimport { ChartConfig, WorldCloudChartOptions } from '../interfaces/index';\nimport { Tools } from '../tools';\nimport { Skeletons } from '../interfaces/enums';\n\n// Components\nimport {\n\tWordCloud,\n\t// the imports below are needed because of typescript bug (error TS4029)\n\tLegend,\n\tLayoutComponent,\n\tSkeleton,\n} from '../components/index';\n\nexport class WordCloudChart extends Chart {\n\tconstructor(holder: Element, chartConfigs: ChartConfig<WorldCloudChartOptions>) {\n\t\tsuper(holder, chartConfigs);\n\n\t\t// Merge the default options for this chart\n\t\t// With the user provided options\n\t\tthis.model.setOptions(\n\t\t\tTools.mergeDefaultChartOptions(\n\t\t\t\tConfiguration.options.wordCloudChart,\n\t\t\t\tchartConfigs.options\n\t\t\t)\n\t\t);\n\n\t\t// Initialize data, services, components etc.\n\t\tthis.init(holder, chartConfigs);\n\t}\n\n\tgetComponents() {\n\t\t// Specify what to render inside the graph-frame\n\t\tconst graphFrameComponents: any[] = [\n\t\t\tnew WordCloud(this.model, this.services),\n\t\t\tnew Skeleton(this.model, this.services, {\n\t\t\t\tskeleton: Skeletons.PIE,\n\t\t\t}),\n\t\t];\n\n\t\t// get the base chart components and export with tooltip\n\t\tconst components: any[] = this.getChartComponents(graphFrameComponents);\n\t\treturn components;\n\t}\n}\n"]}
|
|
@@ -74,7 +74,7 @@ var AxisChartsTooltip = /** @class */ (function (_super) {
|
|
|
74
74
|
value: datum[rangeIdentifier],
|
|
75
75
|
},
|
|
76
76
|
{
|
|
77
|
-
label: options.tooltip.groupLabel
|
|
77
|
+
label: options.tooltip.groupLabel,
|
|
78
78
|
value: datum[groupMapsTo],
|
|
79
79
|
color: this.model.getFillColor(datum[groupMapsTo]),
|
|
80
80
|
class: this.model.getColorClassName({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-axis.js","sourceRoot":"","sources":["tooltip-axis.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC;IAAuC,qCAAO;IAA9C;;IAqHA,CAAC;IApHA,oCAAQ,GAAR,UAAS,CAAc;QAAvB,iBAmHC;QAlHA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;YACnB,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SACtB;QAED,IAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC7B,OAAO,EAAE,CAAC;SACV;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAA,+CAAe,CAAmB;QAC1C,IAAM,iBAAiB,GAAG,eAAe,CAAC,oBAAoB,EAAE,CAAC;QACjE,IAAM,gBAAgB,GAAG,eAAe,CAAC,mBAAmB,EAAE,CAAC;QAE/D,2BAA2B;QACnB,IAAA,sCAAW,CAAkB;QACrC,IAAI,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE;YACjB,IAAM,kBAAkB,GAAG,eAAe,CAAC,qBAAqB,EAAE,CAAC;YACnE,IACC,kBAAkB,KAAK,aAAa,CAAC,MAAM;gBAC3C,kBAAkB,KAAK,aAAa,CAAC,GAAG,EACvC;gBACD,WAAW,GAAG,SAAS,CAAC;aACxB;iBAAM;gBACN,WAAW,GAAG,SAAS,CAAC;aACxB;SACD;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAAI,KAAY,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,IAAM,iBAAiB,GAAG,eAAe,CAAC,oBAAoB,CAAC;gBAC9D,KAAK,OAAA;aACL,CAAC,CAAC;YACH,IAAM,eAAe,GAAG,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAClE,IAAM,gBAAgB,GAAG,eAAe,CAAC,cAAc,CACtD,iBAAiB,CACjB,CAAC;YAEF,IAAI,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC;YACxC,IAAI,CAAC,UAAU,EAAE;gBAChB,IACC,iBAAiB,KAAK,aAAa,CAAC,IAAI;oBACxC,iBAAiB,KAAK,aAAa,CAAC,KAAK,EACxC;oBACD,UAAU,GAAG,SAAS,CAAC;iBACvB;qBAAM;oBACN,UAAU,GAAG,SAAS,CAAC;iBACvB;aACD;YAED,KAAK,GAAG;gBACP;oBACC,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,WAAW;iBAClB;gBACD;oBACC,KAAK,EAAE,UAAU;oBACjB,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC;iBAC7B;gBACD;oBACC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU
|
|
1
|
+
{"version":3,"file":"tooltip-axis.js","sourceRoot":"","sources":["tooltip-axis.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tooltip } from './tooltip';\nimport { AxisPositions, ColorClassNameTypes } from '../../interfaces';\nimport { Tools } from '../../tools';\nexport class AxisChartsTooltip extends Tooltip {\n\tgetItems(e: CustomEvent) {\n\t\tif (e.detail.items) {\n\t\t\treturn e.detail.items;\n\t\t}\n\n\t\tconst data = e.detail.data;\n\t\tif (!data.length || !data[0]) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst options = this.getOptions();\n\t\tconst { cartesianScales } = this.services;\n\t\tconst domainAxisOptions = cartesianScales.getDomainAxisOptions();\n\t\tconst domainIdentifier = cartesianScales.getDomainIdentifier();\n\n\t\t// Generate default tooltip\n\t\tconst { groupMapsTo } = options.data;\n\t\tlet domainLabel = domainAxisOptions.title;\n\t\tif (!domainLabel) {\n\t\t\tconst domainAxisPosition = cartesianScales.getDomainAxisPosition();\n\t\t\tif (\n\t\t\t\tdomainAxisPosition === AxisPositions.BOTTOM ||\n\t\t\t\tdomainAxisPosition === AxisPositions.TOP\n\t\t\t) {\n\t\t\t\tdomainLabel = 'x-value';\n\t\t\t} else {\n\t\t\t\tdomainLabel = 'y-value';\n\t\t\t}\n\t\t}\n\n\t\tlet domainValue = data[0][domainIdentifier];\n\t\tlet items: any[];\n\t\tif (data.length === 1) {\n\t\t\tconst datum = data[0];\n\t\t\tconst rangeAxisPosition = cartesianScales.getRangeAxisPosition({\n\t\t\t\tdatum,\n\t\t\t});\n\t\t\tconst rangeIdentifier = cartesianScales.getRangeIdentifier(datum);\n\t\t\tconst rangeAxisOptions = cartesianScales.getAxisOptions(\n\t\t\t\trangeAxisPosition\n\t\t\t);\n\n\t\t\tlet rangeLabel = rangeAxisOptions.title;\n\t\t\tif (!rangeLabel) {\n\t\t\t\tif (\n\t\t\t\t\trangeAxisPosition === AxisPositions.LEFT ||\n\t\t\t\t\trangeAxisPosition === AxisPositions.RIGHT\n\t\t\t\t) {\n\t\t\t\t\trangeLabel = 'y-value';\n\t\t\t\t} else {\n\t\t\t\t\trangeLabel = 'x-value';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\titems = [\n\t\t\t\t{\n\t\t\t\t\tlabel: domainLabel,\n\t\t\t\t\tvalue: domainValue,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: rangeLabel,\n\t\t\t\t\tvalue: datum[rangeIdentifier],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: options.tooltip.groupLabel,\n\t\t\t\t\tvalue: datum[groupMapsTo],\n\t\t\t\t\tcolor: this.model.getFillColor(datum[groupMapsTo]),\n\t\t\t\t\tclass: this.model.getColorClassName({\n\t\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.TOOLTIP],\n\t\t\t\t\t\tdataGroupName: datum[groupMapsTo],\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t];\n\t\t} else if (data.length > 1) {\n\t\t\titems = [\n\t\t\t\t{\n\t\t\t\t\tlabel: domainLabel,\n\t\t\t\t\tvalue: domainValue,\n\t\t\t\t},\n\t\t\t];\n\n\t\t\titems = items.concat(\n\t\t\t\tdata\n\t\t\t\t\t.map((datum) => ({\n\t\t\t\t\t\tlabel: datum[groupMapsTo],\n\t\t\t\t\t\tvalue: datum[cartesianScales.getRangeIdentifier(datum)],\n\t\t\t\t\t\tcolor: this.model.getFillColor(datum[groupMapsTo]),\n\t\t\t\t\t\tclass: this.model.getColorClassName({\n\t\t\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.TOOLTIP],\n\t\t\t\t\t\t\tdataGroupName: datum[groupMapsTo],\n\t\t\t\t\t\t}),\n\t\t\t\t\t}))\n\t\t\t\t\t.sort((a, b) => b.value - a.value)\n\t\t\t);\n\n\t\t\tconst dualAxes = cartesianScales.isDualAxes();\n\t\t\tif (\n\t\t\t\t!dualAxes &&\n\t\t\t\tTools.getProperty(options, 'tooltip', 'showTotal') === true\n\t\t\t) {\n\t\t\t\t// use the primary/only range id\n\t\t\t\tconst rangeIdentifier = cartesianScales.getRangeIdentifier();\n\t\t\t\titems.push({\n\t\t\t\t\tlabel: options.tooltip.totalLabel || 'Total',\n\t\t\t\t\tvalue: data.reduce(\n\t\t\t\t\t\t(accumulator, datum) =>\n\t\t\t\t\t\t\taccumulator + datum[rangeIdentifier],\n\t\t\t\t\t\t0\n\t\t\t\t\t),\n\t\t\t\t\tbold: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn items;\n\t}\n}\n"]}
|
|
@@ -132,7 +132,10 @@ var Tooltip = /** @class */ (function (_super) {
|
|
|
132
132
|
? '<a style="background-color: ' +
|
|
133
133
|
item.color +
|
|
134
134
|
'" class="tooltip-color"></a>'
|
|
135
|
-
: '') + "\n\t\t\t\t\t\t\t\t<p class=\"label\">" + (item.label || '') + "</p>\n\t\t\t\t\t\t\t\t<p class=\"value\">" + (item.value
|
|
135
|
+
: '') + "\n\t\t\t\t\t\t\t\t<p class=\"label\">" + (item.label || '') + "</p>\n\t\t\t\t\t\t\t\t<p class=\"value\">" + (item.value === undefined ||
|
|
136
|
+
item.value === null
|
|
137
|
+
? ''
|
|
138
|
+
: item.value) + "</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</li>";
|
|
136
139
|
})
|
|
137
140
|
.join('') +
|
|
138
141
|
"</ul>";
|
|
@@ -145,7 +148,7 @@ var Tooltip = /** @class */ (function (_super) {
|
|
|
145
148
|
if (valueFormatter) {
|
|
146
149
|
return valueFormatter(value, label);
|
|
147
150
|
}
|
|
148
|
-
if (typeof value.getTime ===
|
|
151
|
+
if (typeof value.getTime === 'function') {
|
|
149
152
|
return format(value, 'MMM d, yyyy');
|
|
150
153
|
}
|
|
151
154
|
return value.toLocaleString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component } from '../component';\nimport { Tools } from '../../tools';\nimport { DOMUtils } from '../../services';\nimport { ChartModel } from '../../model';\nimport { Events, TruncationTypes } from '../../interfaces';\nimport * as Configuration from '../../configuration';\n\n// Carbon position service\nimport Position, { PLACEMENTS } from '@carbon/utils-position';\n\n// import the settings for the css prefix\nimport settings from 'carbon-components/es/globals/js/settings';\n\n// D3 Imports\nimport { select, mouse } from 'd3-selection';\n\nimport { format } from 'date-fns';\n\nexport class Tooltip extends Component {\n\ttype = 'tooltip';\n\n\t// flag for checking whether tooltip event listener is added or not\n\tisEventListenerAdded = false;\n\ttooltip: any;\n\tpositionService = new Position();\n\n\tconstructor(model: ChartModel, services: any, configs?: any) {\n\t\tsuper(model, services, configs);\n\n\t\tthis.init();\n\t}\n\n\thandleShowTooltip = (e) => {\n\t\tconst data = e.detail.data || e.detail.items;\n\t\tconst defaultHTML = this.getTooltipHTML(e);\n\n\t\tconst tooltipTextContainer = DOMUtils.appendOrSelect(\n\t\t\tthis.tooltip,\n\t\t\t'div.content-box'\n\t\t);\n\n\t\t// if there is a provided tooltip HTML function call it\n\t\tif (Tools.getProperty(this.getOptions(), 'tooltip', 'customHTML')) {\n\t\t\tif (e.detail.content) {\n\t\t\t\tconst labelHTML = `<div class=\"title-tooltip\"><p>${e.detail.content}</p></div>`;\n\t\t\t\ttooltipTextContainer.html(labelHTML);\n\t\t\t} else {\n\t\t\t\ttooltipTextContainer.html(\n\t\t\t\t\tthis.model\n\t\t\t\t\t\t.getOptions()\n\t\t\t\t\t\t.tooltip.customHTML(data, defaultHTML)\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// Use default tooltip\n\t\t\ttooltipTextContainer.html(defaultHTML);\n\t\t}\n\n\t\t// Position the tooltip\n\t\tthis.positionTooltip(e);\n\n\t\t// Fade in\n\t\tthis.tooltip.classed('hidden', false).attr('aria-hidden', false);\n\t};\n\n\thandleHideTooltip = () => {\n\t\tthis.tooltip.classed('hidden', true).attr('aria-hidden', true);\n\t};\n\n\taddTooltipEventListener() {\n\t\t// listen to move-tooltip Custom Events to move the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.MOVE,\n\t\t\t(e: CustomEvent) => {\n\t\t\t\tthis.positionTooltip(e);\n\t\t\t}\n\t\t);\n\n\t\t// listen to show-tooltip Custom Events to render the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.SHOW,\n\t\t\tthis.handleShowTooltip\n\t\t);\n\n\t\t// listen to hide-tooltip Custom Events to hide the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.HIDE,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\n\t\t// listen to chart-mouseout event to hide the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Chart.MOUSEOUT,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\t}\n\n\tremoveTooltipEventListener() {\n\t\t// remove move-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(Events.Tooltip.MOVE, null);\n\n\t\t// remove show-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Tooltip.SHOW,\n\t\t\tthis.handleShowTooltip\n\t\t);\n\n\t\t// remove hide-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Tooltip.HIDE,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\n\t\t// remove the listener on chart-mouseout\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Chart.MOUSEOUT,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\t}\n\n\tgetItems(e: CustomEvent) {\n\t\tif (e.detail.items) {\n\t\t\treturn e.detail.items;\n\t\t}\n\n\t\treturn [];\n\t}\n\n\tformatItems(items) {\n\t\tconst options = this.getOptions();\n\n\t\t// get user provided custom values for truncation\n\t\tconst truncationType = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'truncation',\n\t\t\t'type'\n\t\t);\n\n\t\tconst truncationThreshold = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'truncation',\n\t\t\t'threshold'\n\t\t);\n\n\t\tconst truncationNumCharacter = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'truncation',\n\t\t\t'numCharacter'\n\t\t);\n\n\t\t// truncate the label if it's too long\n\t\t// only applies to discrete type\n\t\tif (truncationType !== TruncationTypes.NONE) {\n\t\t\treturn items.map((item) => {\n\t\t\t\titem.value = item.value\n\t\t\t\t\t? this.valueFormatter(item.value, item.label)\n\t\t\t\t\t: item.value;\n\t\t\t\tif (item.label && item.label.length > truncationThreshold) {\n\t\t\t\t\titem.label = Tools.truncateLabel(\n\t\t\t\t\t\titem.label,\n\t\t\t\t\t\ttruncationType,\n\t\t\t\t\t\ttruncationNumCharacter\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (item.value && item.value.length > truncationThreshold) {\n\t\t\t\t\titem.value = Tools.truncateLabel(\n\t\t\t\t\t\titem.value,\n\t\t\t\t\t\ttruncationType,\n\t\t\t\t\t\ttruncationNumCharacter\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn item;\n\t\t\t});\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tgetTooltipHTML(e: CustomEvent) {\n\t\tlet defaultHTML;\n\t\tif (e.detail.content) {\n\t\t\tdefaultHTML = `<div class=\"title-tooltip\"><p>${e.detail.content}</p></div>`;\n\t\t} else {\n\t\t\tconst items = this.getItems(e);\n\t\t\tconst formattedItems = this.formatItems(items);\n\n\t\t\tdefaultHTML =\n\t\t\t\t`<ul class='multi-tooltip'>` +\n\t\t\t\tformattedItems\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<li>\n\t\t\t\t\t\t\t<div class=\"datapoint-tooltip ${item.bold ? 'bold' : ''}\">\n\t\t\t\t\t\t\t\t${item.class ? `<a class=\"tooltip-color ${item.class}\"></a>` : ''}\n\t\t\t\t\t\t\t\t${\n\t\t\t\t\t\t\t\t\titem.color\n\t\t\t\t\t\t\t\t\t\t? '<a style=\"background-color: ' +\n\t\t\t\t\t\t\t\t\t\t item.color +\n\t\t\t\t\t\t\t\t\t\t '\" class=\"tooltip-color\"></a>'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t<p class=\"label\">${item.label || ''}</p>\n\t\t\t\t\t\t\t\t<p class=\"value\">${item.value || ''}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</li>`\n\t\t\t\t\t)\n\t\t\t\t\t.join('') +\n\t\t\t\t`</ul>`;\n\t\t}\n\n\t\treturn defaultHTML;\n\t}\n\n\tvalueFormatter(value: any, label: string) {\n\t\tconst options = this.getOptions();\n\t\tconst valueFormatter = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'valueFormatter'\n\t\t);\n\n\t\tif (valueFormatter) {\n\t\t\treturn valueFormatter(value, label);\n\t\t}\n\n\t\tif (typeof value.getTime === \"function\") {\n\t\t\treturn format(value, 'MMM d, yyyy');\n\t\t}\n\n\t\treturn value.toLocaleString();\n\t}\n\n\trender() {\n\t\tconst options = this.getOptions();\n\t\tconst isTooltipEnabled = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'enabled'\n\t\t);\n\t\tif (isTooltipEnabled) {\n\t\t\t// Grab the tooltip element\n\t\t\tconst holder = select(this.services.domUtils.getHolder());\n\t\t\tconst chartprefix = Tools.getProperty(options, 'style', 'prefix');\n\t\t\tthis.tooltip = DOMUtils.appendOrSelect(\n\t\t\t\tholder,\n\t\t\t\t`div.${settings.prefix}--${chartprefix}--tooltip`\n\t\t\t);\n\n\t\t\tthis.tooltip.style('max-width', null);\n\t\t\tif (!this.isEventListenerAdded) {\n\t\t\t\tthis.addTooltipEventListener();\n\t\t\t\tthis.isEventListenerAdded = true;\n\t\t\t}\n\t\t\tthis.tooltip.classed('hidden', true);\n\t\t} else if (!isTooltipEnabled && this.isEventListenerAdded) {\n\t\t\t// remove tooltip eventListener\n\t\t\tthis.removeTooltipEventListener();\n\t\t\tthis.isEventListenerAdded = false;\n\t\t}\n\t}\n\n\tpositionTooltip(e: CustomEvent) {\n\t\tconst holder = this.services.domUtils.getHolder();\n\t\tconst target = this.tooltip.node();\n\t\tconst options = this.getOptions();\n\t\tconst isTopZoomBarEnabled = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'zoomBar',\n\t\t\t'top',\n\t\t\t'enabled'\n\t\t);\n\n\t\tlet mouseRelativePos = Tools.getProperty(e, 'detail', 'mousePosition');\n\t\tif (!mouseRelativePos) {\n\t\t\tmouseRelativePos = mouse(holder);\n\t\t} else {\n\t\t\tconst zoombarType = Tools.getProperty(\n\t\t\t\toptions,\n\t\t\t\t'zoomBar',\n\t\t\t\t'top',\n\t\t\t\t'type'\n\t\t\t);\n\t\t\tconst zoombarHeight = Configuration.zoomBar.height[zoombarType];\n\n\t\t\t// if the mouse position is from event (ruler)\n\t\t\t// we need add zoom bar height\n\t\t\tif (isTopZoomBarEnabled) {\n\t\t\t\tmouseRelativePos[1] +=\n\t\t\t\t\tzoombarHeight + Configuration.zoomBar.spacerHeight;\n\n\t\t\t\t// TODO - we need to add toolbar height when toolbar is available\n\t\t\t}\n\t\t}\n\n\t\tlet pos;\n\n\t\t// Find out whether tooltip should be shown on the left or right side\n\t\tconst bestPlacementOption = this.positionService.findBestPlacementAt(\n\t\t\t{\n\t\t\t\tleft: mouseRelativePos[0],\n\t\t\t\ttop: mouseRelativePos[1],\n\t\t\t},\n\t\t\ttarget,\n\t\t\t[\n\t\t\t\tPLACEMENTS.RIGHT,\n\t\t\t\tPLACEMENTS.LEFT,\n\t\t\t\tPLACEMENTS.TOP,\n\t\t\t\tPLACEMENTS.BOTTOM,\n\t\t\t],\n\t\t\t() => ({\n\t\t\t\twidth: holder.offsetWidth,\n\t\t\t\theight: holder.offsetHeight,\n\t\t\t})\n\t\t);\n\n\t\tlet { horizontalOffset } = Configuration.tooltips;\n\t\tif (bestPlacementOption === PLACEMENTS.LEFT) {\n\t\t\thorizontalOffset *= -1;\n\t\t}\n\n\t\t// Get coordinates to where tooltip should be positioned\n\t\tpos = this.positionService.findPositionAt(\n\t\t\t{\n\t\t\t\tleft: mouseRelativePos[0] + horizontalOffset,\n\t\t\t\ttop: mouseRelativePos[1],\n\t\t\t},\n\t\t\ttarget,\n\t\t\tbestPlacementOption\n\t\t);\n\n\t\tthis.positionService.setElement(target, pos);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component } from '../component';\nimport { Tools } from '../../tools';\nimport { DOMUtils } from '../../services';\nimport { ChartModel } from '../../model';\nimport { Events, TruncationTypes } from '../../interfaces';\nimport * as Configuration from '../../configuration';\n\n// Carbon position service\nimport Position, { PLACEMENTS } from '@carbon/utils-position';\n\n// import the settings for the css prefix\nimport settings from 'carbon-components/es/globals/js/settings';\n\n// D3 Imports\nimport { select, mouse } from 'd3-selection';\n\nimport { format } from 'date-fns';\n\nexport class Tooltip extends Component {\n\ttype = 'tooltip';\n\n\t// flag for checking whether tooltip event listener is added or not\n\tisEventListenerAdded = false;\n\ttooltip: any;\n\tpositionService = new Position();\n\n\tconstructor(model: ChartModel, services: any, configs?: any) {\n\t\tsuper(model, services, configs);\n\n\t\tthis.init();\n\t}\n\n\thandleShowTooltip = (e) => {\n\t\tconst data = e.detail.data || e.detail.items;\n\t\tconst defaultHTML = this.getTooltipHTML(e);\n\n\t\tconst tooltipTextContainer = DOMUtils.appendOrSelect(\n\t\t\tthis.tooltip,\n\t\t\t'div.content-box'\n\t\t);\n\n\t\t// if there is a provided tooltip HTML function call it\n\t\tif (Tools.getProperty(this.getOptions(), 'tooltip', 'customHTML')) {\n\t\t\tif (e.detail.content) {\n\t\t\t\tconst labelHTML = `<div class=\"title-tooltip\"><p>${e.detail.content}</p></div>`;\n\t\t\t\ttooltipTextContainer.html(labelHTML);\n\t\t\t} else {\n\t\t\t\ttooltipTextContainer.html(\n\t\t\t\t\tthis.model\n\t\t\t\t\t\t.getOptions()\n\t\t\t\t\t\t.tooltip.customHTML(data, defaultHTML)\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// Use default tooltip\n\t\t\ttooltipTextContainer.html(defaultHTML);\n\t\t}\n\n\t\t// Position the tooltip\n\t\tthis.positionTooltip(e);\n\n\t\t// Fade in\n\t\tthis.tooltip.classed('hidden', false).attr('aria-hidden', false);\n\t};\n\n\thandleHideTooltip = () => {\n\t\tthis.tooltip.classed('hidden', true).attr('aria-hidden', true);\n\t};\n\n\taddTooltipEventListener() {\n\t\t// listen to move-tooltip Custom Events to move the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.MOVE,\n\t\t\t(e: CustomEvent) => {\n\t\t\t\tthis.positionTooltip(e);\n\t\t\t}\n\t\t);\n\n\t\t// listen to show-tooltip Custom Events to render the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.SHOW,\n\t\t\tthis.handleShowTooltip\n\t\t);\n\n\t\t// listen to hide-tooltip Custom Events to hide the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Tooltip.HIDE,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\n\t\t// listen to chart-mouseout event to hide the tooltip\n\t\tthis.services.events.addEventListener(\n\t\t\tEvents.Chart.MOUSEOUT,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\t}\n\n\tremoveTooltipEventListener() {\n\t\t// remove move-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(Events.Tooltip.MOVE, null);\n\n\t\t// remove show-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Tooltip.SHOW,\n\t\t\tthis.handleShowTooltip\n\t\t);\n\n\t\t// remove hide-tooltip Custom Events\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Tooltip.HIDE,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\n\t\t// remove the listener on chart-mouseout\n\t\tthis.services.events.removeEventListener(\n\t\t\tEvents.Chart.MOUSEOUT,\n\t\t\tthis.handleHideTooltip\n\t\t);\n\t}\n\n\tgetItems(e: CustomEvent) {\n\t\tif (e.detail.items) {\n\t\t\treturn e.detail.items;\n\t\t}\n\n\t\treturn [];\n\t}\n\n\tformatItems(items) {\n\t\tconst options = this.getOptions();\n\n\t\t// get user provided custom values for truncation\n\t\tconst truncationType = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'truncation',\n\t\t\t'type'\n\t\t);\n\n\t\tconst truncationThreshold = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'truncation',\n\t\t\t'threshold'\n\t\t);\n\n\t\tconst truncationNumCharacter = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'truncation',\n\t\t\t'numCharacter'\n\t\t);\n\n\t\t// truncate the label if it's too long\n\t\t// only applies to discrete type\n\t\tif (truncationType !== TruncationTypes.NONE) {\n\t\t\treturn items.map((item) => {\n\t\t\t\titem.value = item.value\n\t\t\t\t\t? this.valueFormatter(item.value, item.label)\n\t\t\t\t\t: item.value;\n\t\t\t\tif (item.label && item.label.length > truncationThreshold) {\n\t\t\t\t\titem.label = Tools.truncateLabel(\n\t\t\t\t\t\titem.label,\n\t\t\t\t\t\ttruncationType,\n\t\t\t\t\t\ttruncationNumCharacter\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (item.value && item.value.length > truncationThreshold) {\n\t\t\t\t\titem.value = Tools.truncateLabel(\n\t\t\t\t\t\titem.value,\n\t\t\t\t\t\ttruncationType,\n\t\t\t\t\t\ttruncationNumCharacter\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn item;\n\t\t\t});\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tgetTooltipHTML(e: CustomEvent) {\n\t\tlet defaultHTML;\n\t\tif (e.detail.content) {\n\t\t\tdefaultHTML = `<div class=\"title-tooltip\"><p>${e.detail.content}</p></div>`;\n\t\t} else {\n\t\t\tconst items = this.getItems(e);\n\t\t\tconst formattedItems = this.formatItems(items);\n\n\t\t\tdefaultHTML =\n\t\t\t\t`<ul class='multi-tooltip'>` +\n\t\t\t\tformattedItems\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<li>\n\t\t\t\t\t\t\t<div class=\"datapoint-tooltip ${item.bold ? 'bold' : ''}\">\n\t\t\t\t\t\t\t\t${item.class ? `<a class=\"tooltip-color ${item.class}\"></a>` : ''}\n\t\t\t\t\t\t\t\t${\n\t\t\t\t\t\t\t\t\titem.color\n\t\t\t\t\t\t\t\t\t\t? '<a style=\"background-color: ' +\n\t\t\t\t\t\t\t\t\t\t item.color +\n\t\t\t\t\t\t\t\t\t\t '\" class=\"tooltip-color\"></a>'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t<p class=\"label\">${item.label || ''}</p>\n\t\t\t\t\t\t\t\t<p class=\"value\">${\n\t\t\t\t\t\t\t\t\titem.value === undefined ||\n\t\t\t\t\t\t\t\t\titem.value === null\n\t\t\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t\t\t: item.value\n\t\t\t\t\t\t\t\t}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</li>`\n\t\t\t\t\t)\n\t\t\t\t\t.join('') +\n\t\t\t\t`</ul>`;\n\t\t}\n\n\t\treturn defaultHTML;\n\t}\n\n\tvalueFormatter(value: any, label: string) {\n\t\tconst options = this.getOptions();\n\t\tconst valueFormatter = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'valueFormatter'\n\t\t);\n\n\t\tif (valueFormatter) {\n\t\t\treturn valueFormatter(value, label);\n\t\t}\n\n\t\tif (typeof value.getTime === 'function') {\n\t\t\treturn format(value, 'MMM d, yyyy');\n\t\t}\n\n\t\treturn value.toLocaleString();\n\t}\n\n\trender() {\n\t\tconst options = this.getOptions();\n\t\tconst isTooltipEnabled = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'tooltip',\n\t\t\t'enabled'\n\t\t);\n\t\tif (isTooltipEnabled) {\n\t\t\t// Grab the tooltip element\n\t\t\tconst holder = select(this.services.domUtils.getHolder());\n\t\t\tconst chartprefix = Tools.getProperty(options, 'style', 'prefix');\n\t\t\tthis.tooltip = DOMUtils.appendOrSelect(\n\t\t\t\tholder,\n\t\t\t\t`div.${settings.prefix}--${chartprefix}--tooltip`\n\t\t\t);\n\n\t\t\tthis.tooltip.style('max-width', null);\n\t\t\tif (!this.isEventListenerAdded) {\n\t\t\t\tthis.addTooltipEventListener();\n\t\t\t\tthis.isEventListenerAdded = true;\n\t\t\t}\n\t\t\tthis.tooltip.classed('hidden', true);\n\t\t} else if (!isTooltipEnabled && this.isEventListenerAdded) {\n\t\t\t// remove tooltip eventListener\n\t\t\tthis.removeTooltipEventListener();\n\t\t\tthis.isEventListenerAdded = false;\n\t\t}\n\t}\n\n\tpositionTooltip(e: CustomEvent) {\n\t\tconst holder = this.services.domUtils.getHolder();\n\t\tconst target = this.tooltip.node();\n\t\tconst options = this.getOptions();\n\t\tconst isTopZoomBarEnabled = Tools.getProperty(\n\t\t\toptions,\n\t\t\t'zoomBar',\n\t\t\t'top',\n\t\t\t'enabled'\n\t\t);\n\n\t\tlet mouseRelativePos = Tools.getProperty(e, 'detail', 'mousePosition');\n\t\tif (!mouseRelativePos) {\n\t\t\tmouseRelativePos = mouse(holder);\n\t\t} else {\n\t\t\tconst zoombarType = Tools.getProperty(\n\t\t\t\toptions,\n\t\t\t\t'zoomBar',\n\t\t\t\t'top',\n\t\t\t\t'type'\n\t\t\t);\n\t\t\tconst zoombarHeight = Configuration.zoomBar.height[zoombarType];\n\n\t\t\t// if the mouse position is from event (ruler)\n\t\t\t// we need add zoom bar height\n\t\t\tif (isTopZoomBarEnabled) {\n\t\t\t\tmouseRelativePos[1] +=\n\t\t\t\t\tzoombarHeight + Configuration.zoomBar.spacerHeight;\n\n\t\t\t\t// TODO - we need to add toolbar height when toolbar is available\n\t\t\t}\n\t\t}\n\n\t\tlet pos;\n\n\t\t// Find out whether tooltip should be shown on the left or right side\n\t\tconst bestPlacementOption = this.positionService.findBestPlacementAt(\n\t\t\t{\n\t\t\t\tleft: mouseRelativePos[0],\n\t\t\t\ttop: mouseRelativePos[1],\n\t\t\t},\n\t\t\ttarget,\n\t\t\t[\n\t\t\t\tPLACEMENTS.RIGHT,\n\t\t\t\tPLACEMENTS.LEFT,\n\t\t\t\tPLACEMENTS.TOP,\n\t\t\t\tPLACEMENTS.BOTTOM,\n\t\t\t],\n\t\t\t() => ({\n\t\t\t\twidth: holder.offsetWidth,\n\t\t\t\theight: holder.offsetHeight,\n\t\t\t})\n\t\t);\n\n\t\tlet { horizontalOffset } = Configuration.tooltips;\n\t\tif (bestPlacementOption === PLACEMENTS.LEFT) {\n\t\t\thorizontalOffset *= -1;\n\t\t}\n\n\t\t// Get coordinates to where tooltip should be positioned\n\t\tpos = this.positionService.findPositionAt(\n\t\t\t{\n\t\t\t\tleft: mouseRelativePos[0] + horizontalOffset,\n\t\t\t\ttop: mouseRelativePos[1],\n\t\t\t},\n\t\t\ttarget,\n\t\t\tbestPlacementOption\n\t\t);\n\n\t\tthis.positionService.setElement(target, pos);\n\t}\n}\n"]}
|
|
@@ -274,7 +274,7 @@ var Boxplot = /** @class */ (function (_super) {
|
|
|
274
274
|
hoveredElement: hoveredElement,
|
|
275
275
|
items: [
|
|
276
276
|
{
|
|
277
|
-
label: options.tooltip.groupLabel
|
|
277
|
+
label: options.tooltip.groupLabel,
|
|
278
278
|
value: datum[groupMapsTo],
|
|
279
279
|
class: self.model.getColorClassName({
|
|
280
280
|
classNameTypes: [ColorClassNameTypes.TOOLTIP],
|
|
@@ -364,7 +364,7 @@ var Boxplot = /** @class */ (function (_super) {
|
|
|
364
364
|
hoveredElement: hoveredElement,
|
|
365
365
|
items: [
|
|
366
366
|
{
|
|
367
|
-
label: options.tooltip.groupLabel
|
|
367
|
+
label: options.tooltip.groupLabel,
|
|
368
368
|
value: datum[groupMapsTo],
|
|
369
369
|
class: self.model.getColorClassName({
|
|
370
370
|
classNameTypes: [ColorClassNameTypes.TOOLTIP],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boxplot.js","sourceRoot":"","sources":["boxplot.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport {\n\tCartesianOrientations,\n\tColorClassNameTypes,\n\tEvents,\n\tRoles,\n} from '../../interfaces';\nimport { Tools } from '../../tools';\nimport * as Configuration from '../../configuration';\n\n// D3 Imports\nimport { select } from 'd3-selection';\n\nexport class Boxplot extends Component {\n\ttype = 'boxplot';\n\n\trender(animate: boolean) {\n\t\t// Grab container SVG\n\t\tconst svg = this.getContainerSVG({ withinChartClip: true });\n\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\n\t\tconst dataGroupNames = this.model.getDataGroupNames();\n\n\t\t/*\n\t\t * Get graphable dimensions\n\t\t */\n\t\tconst mainXScale = this.services.cartesianScales.getMainXScale();\n\t\tconst mainYScale = this.services.cartesianScales.getMainYScale();\n\t\tconst [xScaleStart, xScaleEnd] = mainXScale.range();\n\t\tconst [yScaleEnd, yScaleStart] = mainYScale.range();\n\t\tconst width = xScaleEnd - xScaleStart;\n\t\tconst height = yScaleEnd - yScaleStart;\n\t\tif (width === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get orientation of the chart\n\t\tconst { cartesianScales } = this.services;\n\t\tconst orientation = cartesianScales.getOrientation();\n\t\tconst isInVerticalOrientation =\n\t\t\torientation === CartesianOrientations.VERTICAL;\n\t\tconst [\n\t\t\tgetXValue,\n\t\t\tgetYValue,\n\t\t] = Tools.flipDomainAndRangeBasedOnOrientation(\n\t\t\t(d, i?) => this.services.cartesianScales.getDomainValue(d, i),\n\t\t\t(d, i?) => this.services.cartesianScales.getRangeValue(d, i),\n\t\t\torientation\n\t\t);\n\n\t\tconst gridSize = Math.floor(\n\t\t\t(isInVerticalOrientation ? width : height) / dataGroupNames.length\n\t\t);\n\t\tconst boxWidth = Math.min(gridSize / 2, 16);\n\n\t\tconst boxplotData = this.model.getBoxplotData();\n\n\t\t/*\n\t\t * update or initialize all box groups\n\t\t */\n\t\tconst boxGroups = svg.selectAll('.box-group').data(boxplotData);\n\t\tboxGroups.exit().remove();\n\n\t\tconst boxGroupsEnter = boxGroups\n\t\t\t.enter()\n\t\t\t.append('g')\n\t\t\t.attr('class', 'box-group');\n\n\t\tconst allBoxGroups = boxGroups.merge(boxGroupsEnter);\n\n\t\t/*\n\t\t * draw the 2 range lines for each box\n\t\t */\n\t\t// Start range line\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.vertical-line.start'))\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\toriginalClassName: 'vertical-line start',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('stroke-width', Configuration.boxplot.strokeWidth.default)\n\t\t\t.attr('fill', 'none')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-verticalstartline',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 = cartesianScales.getDomainValue(d[groupMapsTo]);\n\t\t\t\tconst x1 = x0;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.whiskers.min);\n\t\t\t\tconst y1 = cartesianScales.getRangeValue(d.quartiles.q_25);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t// End range line\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.vertical-line.end'))\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\toriginalClassName: 'vertical-line end',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('stroke-width', Configuration.boxplot.strokeWidth.default)\n\t\t\t.attr('fill', 'none')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-verticalendline',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 = cartesianScales.getDomainValue(d[groupMapsTo]);\n\t\t\t\tconst x1 = x0;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.whiskers.max);\n\t\t\t\tconst y1 = cartesianScales.getRangeValue(d.quartiles.q_75);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update the boxes\n\t\t */\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.box'))\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [\n\t\t\t\t\t\tColorClassNameTypes.FILL,\n\t\t\t\t\t\tColorClassNameTypes.STROKE,\n\t\t\t\t\t],\n\t\t\t\t\toriginalClassName: 'box',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('fill-opacity', Configuration.boxplot.box.opacity.default)\n\t\t\t.attr('stroke-width', Configuration.boxplot.strokeWidth.default)\n\t\t\t.attr('role', Roles.GRAPHICS_SYMBOL)\n\t\t\t.attr('aria-roledescription', 'box')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-quartiles',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 =\n\t\t\t\t\tcartesianScales.getDomainValue(d[groupMapsTo]) -\n\t\t\t\t\tboxWidth / 2;\n\t\t\t\tconst x1 = x0 + boxWidth;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(\n\t\t\t\t\tMath[isInVerticalOrientation ? 'max' : 'min'](\n\t\t\t\t\t\td.quartiles.q_75,\n\t\t\t\t\t\td.quartiles.q_25\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst y1 =\n\t\t\t\t\ty0 +\n\t\t\t\t\tMath.abs(\n\t\t\t\t\t\tcartesianScales.getRangeValue(d.quartiles.q_75) -\n\t\t\t\t\t\t\tcartesianScales.getRangeValue(d.quartiles.q_25)\n\t\t\t\t\t);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update highlight areas\n\t\t */\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.highlight-area'))\n\t\t\t.attr('class', 'highlight-area')\n\t\t\t.attr('opacity', 0)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 =\n\t\t\t\t\tcartesianScales.getDomainValue(d[groupMapsTo]) -\n\t\t\t\t\tboxWidth / 2;\n\t\t\t\tconst x1 = x0 + boxWidth;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.whiskers.min);\n\t\t\t\tconst y1 = cartesianScales.getRangeValue(d.whiskers.max);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update the starting whisker\n\t\t */\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.whisker.start'))\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\toriginalClassName: 'whisker start',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('stroke-width', Configuration.boxplot.strokeWidth.thicker)\n\t\t\t.attr('fill', 'none')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-startingwhisker',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 =\n\t\t\t\t\tcartesianScales.getDomainValue(d[groupMapsTo]) -\n\t\t\t\t\tboxWidth / 4;\n\t\t\t\tconst x1 = x0 + boxWidth / 2;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.whiskers.min);\n\t\t\t\tconst y1 = cartesianScales.getRangeValue(d.whiskers.min);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update the median line\n\t\t */\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.median'))\n\t\t\t.attr('fill', 'none')\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\toriginalClassName: 'median',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('stroke-width', 2)\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-median',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 =\n\t\t\t\t\tcartesianScales.getDomainValue(d[groupMapsTo]) -\n\t\t\t\t\tboxWidth / 2;\n\t\t\t\tconst x1 = x0 + boxWidth;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.quartiles.q_50);\n\t\t\t\tconst y1 = y0;\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update the ending whisker\n\t\t */\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.whisker.end'))\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\toriginalClassName: 'whisker end',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('stroke-width', Configuration.boxplot.strokeWidth.thicker)\n\t\t\t.attr('fill', 'none')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-endingwhisker',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 =\n\t\t\t\t\tcartesianScales.getDomainValue(d[groupMapsTo]) -\n\t\t\t\t\tboxWidth / 4;\n\t\t\t\tconst x1 = x0 + boxWidth / 2;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.whiskers.max);\n\t\t\t\tconst y1 = cartesianScales.getRangeValue(d.whiskers.max);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update the outlier circles\n\t\t */\n\t\tconst circles = allBoxGroups.selectAll('circle.outlier').data((d) =>\n\t\t\td.outliers.map((outlier) => {\n\t\t\t\treturn {\n\t\t\t\t\tmin: d.whiskers.min,\n\t\t\t\t\tmax: d.whiskers.max,\n\t\t\t\t\t[groupMapsTo]: d[groupMapsTo],\n\t\t\t\t\tvalue: outlier,\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\n\t\tcircles.exit().remove();\n\n\t\tconst circlesEnter = circles.enter().append('circle');\n\n\t\tcircles\n\t\t\t.merge(circlesEnter)\n\t\t\t.attr('r', Configuration.boxplot.circle.radius)\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [\n\t\t\t\t\t\tColorClassNameTypes.FILL,\n\t\t\t\t\t\tColorClassNameTypes.STROKE,\n\t\t\t\t\t],\n\t\t\t\t\toriginalClassName: 'outlier',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('fill-opacity', Configuration.boxplot.circle.opacity.default)\n\t\t\t.attr('cx', getXValue)\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-circles',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('cy', getYValue);\n\n\t\tthis.addBoxEventListeners();\n\t\tthis.addCircleEventListeners();\n\t}\n\n\taddBoxEventListeners() {\n\t\tconst self = this;\n\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\n\t\tthis.parent\n\t\t\t.selectAll('path.highlight-area')\n\t\t\t.on('mouseover', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\t\t\t\tconst parentElement = select(this.parentNode);\n\t\t\t\tparentElement\n\t\t\t\t\t.select('path.box')\n\t\t\t\t\t.classed('hovered', true)\n\t\t\t\t\t.attr('fill-opacity', Configuration.boxplot.box.opacity.hovered);\n\n\t\t\t\t// Show tooltip for single datapoint\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.groupLabel || 'Group',\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}),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Minimum',\n\t\t\t\t\t\t\tvalue: datum.whiskers.min,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Q1',\n\t\t\t\t\t\t\tvalue: datum.quartiles.q_25,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Median',\n\t\t\t\t\t\t\tvalue: datum.quartiles.q_50,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Q3',\n\t\t\t\t\t\t\tvalue: datum.quartiles.q_75,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Maximum',\n\t\t\t\t\t\t\tvalue: datum.whiskers.max,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'IQR',\n\t\t\t\t\t\t\tvalue: datum.quartiles.q_75 - datum.quartiles.q_25,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.Boxplot.BOX_MOUSEOVER,\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\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.Boxplot.BOX_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\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(Events.Boxplot.BOX_CLICK, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum,\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\tconst parentElement = select(this.parentNode);\n\t\t\t\tparentElement\n\t\t\t\t\t.select('path.box')\n\t\t\t\t\t.classed('hovered', false)\n\t\t\t\t\t.attr('fill-opacity', Configuration.boxplot.box.opacity.default);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.Boxplot.BOX_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\taddCircleEventListeners() {\n\t\tconst self = this;\n\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\n\t\tconst rangeIdentifier = this.services.cartesianScales.getRangeIdentifier();\n\n\t\tthis.parent\n\t\t\t.selectAll('circle')\n\t\t\t.on('mouseover', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\n\t\t\t\thoveredElement\n\t\t\t\t\t.classed('hovered', true)\n\t\t\t\t\t.attr('fill-opacity', Configuration.boxplot.circle.opacity.hovered)\n\t\t\t\t\t.classed('unfilled', false);\n\n\t\t\t\t// Show tooltip for single datapoint\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.groupLabel || 'Group',\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}),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Outlier',\n\t\t\t\t\t\t\tvalue: datum[rangeIdentifier],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.Boxplot.OUTLIER_MOUSEOVER,\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\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.Boxplot.OUTLIER_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\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.Boxplot.OUTLIER_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\thoveredElement\n\t\t\t\t\t.classed('hovered', false)\n\t\t\t\t\t.attr('fill-opacity', Configuration.boxplot.circle.opacity.default);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.Boxplot.OUTLIER_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"]}
|
|
1
|
+
{"version":3,"file":"boxplot.js","sourceRoot":"","sources":["boxplot.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACN,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,EACN,KAAK,GACL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAErD,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;IAA6B,2BAAS;IAAtC;QAAA,qEAyhBC;QAxhBA,UAAI,GAAG,SAAS,CAAC;;IAwhBlB,CAAC;IAthBA,wBAAM,GAAN,UAAO,OAAgB;QAAvB,iBA8UC;QA7UA,qBAAqB;QACrB,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5D,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAA,sCAAW,CAAkB;QAErC,IAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAEtD;;WAEG;QACH,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;QACjE,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;QAC3D,IAAA,uBAA6C,EAA5C,mBAAW,EAAE,iBAA+B,CAAC;QAC9C,IAAA,uBAA6C,EAA5C,iBAAS,EAAE,mBAAiC,CAAC;QACpD,IAAM,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;QACtC,IAAM,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,EAAE;YAChB,OAAO;SACP;QAED,+BAA+B;QACvB,IAAA,+CAAe,CAAmB;QAC1C,IAAM,WAAW,GAAG,eAAe,CAAC,cAAc,EAAE,CAAC;QACrD,IAAM,uBAAuB,GAC5B,WAAW,KAAK,qBAAqB,CAAC,QAAQ,CAAC;QAC1C,IAAA,6NAOL,EANA,iBAAS,EACT,iBAKA,CAAC;QAEF,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAC1B,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAClE,CAAC;QACF,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAE5C,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEhD;;WAEG;QACH,IAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAE1B,IAAM,cAAc,GAAG,SAAS;aAC9B,KAAK,EAAE;aACP,MAAM,CAAC,GAAG,CAAC;aACX,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE7B,IAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAErD;;WAEG;QACH,mBAAmB;QACnB,cAAc;aACZ,MAAM,CAAC,MAAM,CAAC;aACd,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;aACnD,IAAI,CAAC,OAAO,EAAE;YACd,OAAA,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,cAAc,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBAC5C,iBAAiB,EAAE,qBAAqB;aACxC,CAAC;QAHF,CAGE,CACF;aACA,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;aAC/D,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;aACpB,UAAU,CACV,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CACtC,kCAAkC,EAClC,OAAO,CACP,CACD;aACA,IAAI,CAAC,GAAG,EAAE,UAAA,CAAC;YACX,IAAM,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1D,IAAM,EAAE,GAAG,EAAE,CAAC;YACd,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzD,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE3D,OAAO,KAAK,CAAC,qBAAqB,CACjC,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAClB,WAAW,CACX,CAAC;QACH,CAAC,CAAC,CAAC;QAEJ,iBAAiB;QACjB,cAAc;aACZ,MAAM,CAAC,MAAM,CAAC;aACd,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;aACjD,IAAI,CAAC,OAAO,EAAE;YACd,OAAA,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,cAAc,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBAC5C,iBAAiB,EAAE,mBAAmB;aACtC,CAAC;QAHF,CAGE,CACF;aACA,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;aAC/D,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;aACpB,UAAU,CACV,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CACtC,gCAAgC,EAChC,OAAO,CACP,CACD;aACA,IAAI,CAAC,GAAG,EAAE,UAAA,CAAC;YACX,IAAM,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1D,IAAM,EAAE,GAAG,EAAE,CAAC;YACd,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzD,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE3D,OAAO,KAAK,CAAC,qBAAqB,CACjC,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAClB,WAAW,CACX,CAAC;QACH,CAAC,CAAC,CAAC;QAEJ;;WAEG;QACH,cAAc;aACZ,MAAM,CAAC,MAAM,CAAC;aACd,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACnC,IAAI,CAAC,OAAO,EAAE;YACd,OAAA,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,cAAc,EAAE;oBACf,mBAAmB,CAAC,IAAI;oBACxB,mBAAmB,CAAC,MAAM;iBAC1B;gBACD,iBAAiB,EAAE,KAAK;aACxB,CAAC;QANF,CAME,CACF;aACA,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;aAC/D,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;aAC/D,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC;aACnC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC;aACnC,UAAU,CACV,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CACtC,0BAA0B,EAC1B,OAAO,CACP,CACD;aACA,IAAI,CAAC,GAAG,EAAE,UAAA,CAAC;YACX,IAAM,EAAE,GACP,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC9C,QAAQ,GAAG,CAAC,CAAC;YACd,IAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;YACzB,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CACvC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAC5C,CAAC,CAAC,SAAS,CAAC,IAAI,EAChB,CAAC,CAAC,SAAS,CAAC,IAAI,CAChB,CACD,CAAC;YACF,IAAM,EAAE,GACP,EAAE;gBACF,IAAI,CAAC,GAAG,CACP,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC9C,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAChD,CAAC;YAEH,OAAO,KAAK,CAAC,qBAAqB,CACjC,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAClB,WAAW,CACX,CAAC;QACH,CAAC,CAAC,CAAC;QAEJ;;WAEG;QACH,cAAc;aACZ,MAAM,CAAC,MAAM,CAAC;aACd,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;aAC9C,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC;aAC/B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aAClB,IAAI,CAAC,GAAG,EAAE,UAAA,CAAC;YACX,IAAM,EAAE,GACP,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC9C,QAAQ,GAAG,CAAC,CAAC;YACd,IAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;YACzB,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzD,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEzD,OAAO,KAAK,CAAC,qBAAqB,CACjC,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAClB,WAAW,CACX,CAAC;QACH,CAAC,CAAC,CAAC;QAEJ;;WAEG;QACH,cAAc;aACZ,MAAM,CAAC,MAAM,CAAC;aACd,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;aAC7C,IAAI,CAAC,OAAO,EAAE;YACd,OAAA,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,cAAc,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBAC5C,iBAAiB,EAAE,eAAe;aAClC,CAAC;QAHF,CAGE,CACF;aACA,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;aAC/D,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;aACpB,UAAU,CACV,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CACtC,gCAAgC,EAChC,OAAO,CACP,CACD;aACA,IAAI,CAAC,GAAG,EAAE,UAAA,CAAC;YACX,IAAM,EAAE,GACP,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC9C,QAAQ,GAAG,CAAC,CAAC;YACd,IAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC;YAC7B,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzD,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEzD,OAAO,KAAK,CAAC,qBAAqB,CACjC,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAClB,WAAW,CACX,CAAC;QACH,CAAC,CAAC,CAAC;QAEJ;;WAEG;QACH,cAAc;aACZ,MAAM,CAAC,MAAM,CAAC;aACd,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aACtC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;aACpB,IAAI,CAAC,OAAO,EAAE;YACd,OAAA,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,cAAc,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBAC5C,iBAAiB,EAAE,QAAQ;aAC3B,CAAC;QAHF,CAGE,CACF;aACA,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;aACvB,UAAU,CACV,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CACtC,uBAAuB,EACvB,OAAO,CACP,CACD;aACA,IAAI,CAAC,GAAG,EAAE,UAAA,CAAC;YACX,IAAM,EAAE,GACP,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC9C,QAAQ,GAAG,CAAC,CAAC;YACd,IAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;YACzB,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAM,EAAE,GAAG,EAAE,CAAC;YAEd,OAAO,KAAK,CAAC,qBAAqB,CACjC,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAClB,WAAW,CACX,CAAC;QACH,CAAC,CAAC,CAAC;QAEJ;;WAEG;QACH,cAAc;aACZ,MAAM,CAAC,MAAM,CAAC;aACd,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;aAC3C,IAAI,CAAC,OAAO,EAAE;YACd,OAAA,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,cAAc,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBAC5C,iBAAiB,EAAE,aAAa;aAChC,CAAC;QAHF,CAGE,CACF;aACA,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;aAC/D,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;aACpB,UAAU,CACV,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CACtC,8BAA8B,EAC9B,OAAO,CACP,CACD;aACA,IAAI,CAAC,GAAG,EAAE,UAAA,CAAC;YACX,IAAM,EAAE,GACP,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC9C,QAAQ,GAAG,CAAC,CAAC;YACd,IAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC;YAC7B,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzD,IAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEzD,OAAO,KAAK,CAAC,qBAAqB,CACjC,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAClB,WAAW,CACX,CAAC;QACH,CAAC,CAAC,CAAC;QAEJ;;WAEG;QACH,IAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC;YAC/D,OAAA,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO;;gBACtB;wBACC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG;wBACnB,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG;;oBACnB,GAAC,WAAW,IAAG,CAAC,CAAC,WAAW,CAAC;oBAC7B,QAAK,GAAE,OAAO;uBACb;YACH,CAAC,CAAC;QAPF,CAOE,CACF,CAAC;QAEF,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAExB,IAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEtD,OAAO;aACL,KAAK,CAAC,YAAY,CAAC;aACnB,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;aAC9C,IAAI,CAAC,OAAO,EAAE;YACd,OAAA,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,cAAc,EAAE;oBACf,mBAAmB,CAAC,IAAI;oBACxB,mBAAmB,CAAC,MAAM;iBAC1B;gBACD,iBAAiB,EAAE,SAAS;aAC5B,CAAC;QANF,CAME,CACF;aACA,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aAClE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;aACrB,UAAU,CACV,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CACtC,wBAAwB,EACxB,OAAO,CACP,CACD;aACA,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAExB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAChC,CAAC;IAED,sCAAoB,GAApB;QACC,IAAM,IAAI,GAAG,IAAI,CAAC;QAElB,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAA,sCAAW,CAAkB;QAErC,IAAI,CAAC,MAAM;aACT,SAAS,CAAC,qBAAqB,CAAC;aAChC,EAAE,CAAC,WAAW,EAAE,UAAU,KAAK;YAC/B,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,IAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9C,aAAa;iBACX,MAAM,CAAC,UAAU,CAAC;iBAClB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;iBACxB,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAElE,oCAAoC;YACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACvD,cAAc,gBAAA;gBACd,KAAK,EAAE;oBACN;wBACC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;wBACjC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC;wBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;4BACnC,cAAc,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC;yBAC7C,CAAC;qBACF;oBACD;wBACC,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;qBACzB;oBACD;wBACC,KAAK,EAAE,IAAI;wBACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;qBAC3B;oBACD;wBACC,KAAK,EAAE,QAAQ;wBACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;qBAC3B;oBACD;wBACC,KAAK,EAAE,IAAI;wBACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;qBAC3B;oBACD;wBACC,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;qBACzB;oBACD;wBACC,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI;qBAClD;iBACD;aACD,CAAC,CAAC;YAEH,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CACjC,MAAM,CAAC,OAAO,CAAC,aAAa,EAC5B;gBACC,OAAO,EAAE,cAAc;gBACvB,KAAK,OAAA;aACL,CACD,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,WAAW,EAAE,UAAU,KAAK;YAC/B,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAEpC,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CACjC,MAAM,CAAC,OAAO,CAAC,aAAa,EAC5B;gBACC,OAAO,EAAE,cAAc;gBACvB,KAAK,OAAA;aACL,CACD,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK;YAC3B,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;gBAC5D,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;gBACrB,KAAK,OAAA;aACL,CAAC,CAAC;QACJ,CAAC,CAAC;aACD,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK;YAC9B,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,IAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9C,aAAa;iBACX,MAAM,CAAC,UAAU,CAAC;iBAClB,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC;iBACzB,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAElE,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CACjC,MAAM,CAAC,OAAO,CAAC,YAAY,EAC3B;gBACC,OAAO,EAAE,cAAc;gBACvB,KAAK,OAAA;aACL,CACD,CAAC;YAEF,eAAe;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACvD,cAAc,gBAAA;aACd,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAuB,GAAvB;QACC,IAAM,IAAI,GAAG,IAAI,CAAC;QAElB,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAA,sCAAW,CAAkB;QAErC,IAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;QAE3E,IAAI,CAAC,MAAM;aACT,SAAS,CAAC,QAAQ,CAAC;aACnB,EAAE,CAAC,WAAW,EAAE,UAAU,KAAK;YAC/B,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAEpC,cAAc;iBACZ,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;iBACxB,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;iBAClE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAE7B,oCAAoC;YACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACvD,cAAc,gBAAA;gBACd,KAAK,EAAE;oBACN;wBACC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;wBACjC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC;wBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;4BACnC,cAAc,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC;yBAC7C,CAAC;qBACF;oBACD;wBACC,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC;qBAC7B;iBACD;aACD,CAAC,CAAC;YAEH,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CACjC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAChC;gBACC,OAAO,EAAE,cAAc;gBACvB,KAAK,OAAA;aACL,CACD,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,WAAW,EAAE,UAAU,KAAK;YAC/B,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAEpC,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CACjC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAChC;gBACC,OAAO,EAAE,cAAc;gBACvB,KAAK,OAAA;aACL,CACD,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK;YAC3B,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CACjC,MAAM,CAAC,OAAO,CAAC,aAAa,EAC5B;gBACC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;gBACrB,KAAK,OAAA;aACL,CACD,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK;YAC9B,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,cAAc;iBACZ,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC;iBACzB,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAErE,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CACjC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAC/B;gBACC,OAAO,EAAE,cAAc;gBACvB,KAAK,OAAA;aACL,CACD,CAAC;YAEF,eAAe;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACvD,cAAc,gBAAA;aACd,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACF,cAAC;AAAD,CAAC,AAzhBD,CAA6B,SAAS,GAyhBrC","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport {\n\tCartesianOrientations,\n\tColorClassNameTypes,\n\tEvents,\n\tRoles,\n} from '../../interfaces';\nimport { Tools } from '../../tools';\nimport * as Configuration from '../../configuration';\n\n// D3 Imports\nimport { select } from 'd3-selection';\n\nexport class Boxplot extends Component {\n\ttype = 'boxplot';\n\n\trender(animate: boolean) {\n\t\t// Grab container SVG\n\t\tconst svg = this.getContainerSVG({ withinChartClip: true });\n\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\n\t\tconst dataGroupNames = this.model.getDataGroupNames();\n\n\t\t/*\n\t\t * Get graphable dimensions\n\t\t */\n\t\tconst mainXScale = this.services.cartesianScales.getMainXScale();\n\t\tconst mainYScale = this.services.cartesianScales.getMainYScale();\n\t\tconst [xScaleStart, xScaleEnd] = mainXScale.range();\n\t\tconst [yScaleEnd, yScaleStart] = mainYScale.range();\n\t\tconst width = xScaleEnd - xScaleStart;\n\t\tconst height = yScaleEnd - yScaleStart;\n\t\tif (width === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get orientation of the chart\n\t\tconst { cartesianScales } = this.services;\n\t\tconst orientation = cartesianScales.getOrientation();\n\t\tconst isInVerticalOrientation =\n\t\t\torientation === CartesianOrientations.VERTICAL;\n\t\tconst [\n\t\t\tgetXValue,\n\t\t\tgetYValue,\n\t\t] = Tools.flipDomainAndRangeBasedOnOrientation(\n\t\t\t(d, i?) => this.services.cartesianScales.getDomainValue(d, i),\n\t\t\t(d, i?) => this.services.cartesianScales.getRangeValue(d, i),\n\t\t\torientation\n\t\t);\n\n\t\tconst gridSize = Math.floor(\n\t\t\t(isInVerticalOrientation ? width : height) / dataGroupNames.length\n\t\t);\n\t\tconst boxWidth = Math.min(gridSize / 2, 16);\n\n\t\tconst boxplotData = this.model.getBoxplotData();\n\n\t\t/*\n\t\t * update or initialize all box groups\n\t\t */\n\t\tconst boxGroups = svg.selectAll('.box-group').data(boxplotData);\n\t\tboxGroups.exit().remove();\n\n\t\tconst boxGroupsEnter = boxGroups\n\t\t\t.enter()\n\t\t\t.append('g')\n\t\t\t.attr('class', 'box-group');\n\n\t\tconst allBoxGroups = boxGroups.merge(boxGroupsEnter);\n\n\t\t/*\n\t\t * draw the 2 range lines for each box\n\t\t */\n\t\t// Start range line\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.vertical-line.start'))\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\toriginalClassName: 'vertical-line start',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('stroke-width', Configuration.boxplot.strokeWidth.default)\n\t\t\t.attr('fill', 'none')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-verticalstartline',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 = cartesianScales.getDomainValue(d[groupMapsTo]);\n\t\t\t\tconst x1 = x0;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.whiskers.min);\n\t\t\t\tconst y1 = cartesianScales.getRangeValue(d.quartiles.q_25);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t// End range line\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.vertical-line.end'))\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\toriginalClassName: 'vertical-line end',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('stroke-width', Configuration.boxplot.strokeWidth.default)\n\t\t\t.attr('fill', 'none')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-verticalendline',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 = cartesianScales.getDomainValue(d[groupMapsTo]);\n\t\t\t\tconst x1 = x0;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.whiskers.max);\n\t\t\t\tconst y1 = cartesianScales.getRangeValue(d.quartiles.q_75);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update the boxes\n\t\t */\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.box'))\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [\n\t\t\t\t\t\tColorClassNameTypes.FILL,\n\t\t\t\t\t\tColorClassNameTypes.STROKE,\n\t\t\t\t\t],\n\t\t\t\t\toriginalClassName: 'box',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('fill-opacity', Configuration.boxplot.box.opacity.default)\n\t\t\t.attr('stroke-width', Configuration.boxplot.strokeWidth.default)\n\t\t\t.attr('role', Roles.GRAPHICS_SYMBOL)\n\t\t\t.attr('aria-roledescription', 'box')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-quartiles',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 =\n\t\t\t\t\tcartesianScales.getDomainValue(d[groupMapsTo]) -\n\t\t\t\t\tboxWidth / 2;\n\t\t\t\tconst x1 = x0 + boxWidth;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(\n\t\t\t\t\tMath[isInVerticalOrientation ? 'max' : 'min'](\n\t\t\t\t\t\td.quartiles.q_75,\n\t\t\t\t\t\td.quartiles.q_25\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst y1 =\n\t\t\t\t\ty0 +\n\t\t\t\t\tMath.abs(\n\t\t\t\t\t\tcartesianScales.getRangeValue(d.quartiles.q_75) -\n\t\t\t\t\t\t\tcartesianScales.getRangeValue(d.quartiles.q_25)\n\t\t\t\t\t);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update highlight areas\n\t\t */\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.highlight-area'))\n\t\t\t.attr('class', 'highlight-area')\n\t\t\t.attr('opacity', 0)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 =\n\t\t\t\t\tcartesianScales.getDomainValue(d[groupMapsTo]) -\n\t\t\t\t\tboxWidth / 2;\n\t\t\t\tconst x1 = x0 + boxWidth;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.whiskers.min);\n\t\t\t\tconst y1 = cartesianScales.getRangeValue(d.whiskers.max);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update the starting whisker\n\t\t */\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.whisker.start'))\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\toriginalClassName: 'whisker start',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('stroke-width', Configuration.boxplot.strokeWidth.thicker)\n\t\t\t.attr('fill', 'none')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-startingwhisker',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 =\n\t\t\t\t\tcartesianScales.getDomainValue(d[groupMapsTo]) -\n\t\t\t\t\tboxWidth / 4;\n\t\t\t\tconst x1 = x0 + boxWidth / 2;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.whiskers.min);\n\t\t\t\tconst y1 = cartesianScales.getRangeValue(d.whiskers.min);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update the median line\n\t\t */\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.median'))\n\t\t\t.attr('fill', 'none')\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\toriginalClassName: 'median',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('stroke-width', 2)\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-median',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 =\n\t\t\t\t\tcartesianScales.getDomainValue(d[groupMapsTo]) -\n\t\t\t\t\tboxWidth / 2;\n\t\t\t\tconst x1 = x0 + boxWidth;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.quartiles.q_50);\n\t\t\t\tconst y1 = y0;\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update the ending whisker\n\t\t */\n\t\tboxGroupsEnter\n\t\t\t.append('path')\n\t\t\t.merge(boxGroups.select('path.whisker.end'))\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\toriginalClassName: 'whisker end',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('stroke-width', Configuration.boxplot.strokeWidth.thicker)\n\t\t\t.attr('fill', 'none')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-endingwhisker',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('d', d => {\n\t\t\t\tconst x0 =\n\t\t\t\t\tcartesianScales.getDomainValue(d[groupMapsTo]) -\n\t\t\t\t\tboxWidth / 4;\n\t\t\t\tconst x1 = x0 + boxWidth / 2;\n\t\t\t\tconst y0 = cartesianScales.getRangeValue(d.whiskers.max);\n\t\t\t\tconst y1 = cartesianScales.getRangeValue(d.whiskers.max);\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\torientation\n\t\t\t\t);\n\t\t\t});\n\n\t\t/*\n\t\t * Draw out and update the outlier circles\n\t\t */\n\t\tconst circles = allBoxGroups.selectAll('circle.outlier').data((d) =>\n\t\t\td.outliers.map((outlier) => {\n\t\t\t\treturn {\n\t\t\t\t\tmin: d.whiskers.min,\n\t\t\t\t\tmax: d.whiskers.max,\n\t\t\t\t\t[groupMapsTo]: d[groupMapsTo],\n\t\t\t\t\tvalue: outlier,\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\n\t\tcircles.exit().remove();\n\n\t\tconst circlesEnter = circles.enter().append('circle');\n\n\t\tcircles\n\t\t\t.merge(circlesEnter)\n\t\t\t.attr('r', Configuration.boxplot.circle.radius)\n\t\t\t.attr('class', () =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [\n\t\t\t\t\t\tColorClassNameTypes.FILL,\n\t\t\t\t\t\tColorClassNameTypes.STROKE,\n\t\t\t\t\t],\n\t\t\t\t\toriginalClassName: 'outlier',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.attr('fill-opacity', Configuration.boxplot.circle.opacity.default)\n\t\t\t.attr('cx', getXValue)\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'boxplot-update-circles',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('cy', getYValue);\n\n\t\tthis.addBoxEventListeners();\n\t\tthis.addCircleEventListeners();\n\t}\n\n\taddBoxEventListeners() {\n\t\tconst self = this;\n\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\n\t\tthis.parent\n\t\t\t.selectAll('path.highlight-area')\n\t\t\t.on('mouseover', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\t\t\t\tconst parentElement = select(this.parentNode);\n\t\t\t\tparentElement\n\t\t\t\t\t.select('path.box')\n\t\t\t\t\t.classed('hovered', true)\n\t\t\t\t\t.attr('fill-opacity', Configuration.boxplot.box.opacity.hovered);\n\n\t\t\t\t// Show tooltip for single datapoint\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.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}),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Minimum',\n\t\t\t\t\t\t\tvalue: datum.whiskers.min,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Q1',\n\t\t\t\t\t\t\tvalue: datum.quartiles.q_25,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Median',\n\t\t\t\t\t\t\tvalue: datum.quartiles.q_50,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Q3',\n\t\t\t\t\t\t\tvalue: datum.quartiles.q_75,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Maximum',\n\t\t\t\t\t\t\tvalue: datum.whiskers.max,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'IQR',\n\t\t\t\t\t\t\tvalue: datum.quartiles.q_75 - datum.quartiles.q_25,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.Boxplot.BOX_MOUSEOVER,\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\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.Boxplot.BOX_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\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(Events.Boxplot.BOX_CLICK, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum,\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\tconst parentElement = select(this.parentNode);\n\t\t\t\tparentElement\n\t\t\t\t\t.select('path.box')\n\t\t\t\t\t.classed('hovered', false)\n\t\t\t\t\t.attr('fill-opacity', Configuration.boxplot.box.opacity.default);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.Boxplot.BOX_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\taddCircleEventListeners() {\n\t\tconst self = this;\n\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\n\t\tconst rangeIdentifier = this.services.cartesianScales.getRangeIdentifier();\n\n\t\tthis.parent\n\t\t\t.selectAll('circle')\n\t\t\t.on('mouseover', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\n\t\t\t\thoveredElement\n\t\t\t\t\t.classed('hovered', true)\n\t\t\t\t\t.attr('fill-opacity', Configuration.boxplot.circle.opacity.hovered)\n\t\t\t\t\t.classed('unfilled', false);\n\n\t\t\t\t// Show tooltip for single datapoint\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.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}),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Outlier',\n\t\t\t\t\t\t\tvalue: datum[rangeIdentifier],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.Boxplot.OUTLIER_MOUSEOVER,\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\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.Boxplot.OUTLIER_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\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.Boxplot.OUTLIER_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\thoveredElement\n\t\t\t\t\t.classed('hovered', false)\n\t\t\t\t\t.attr('fill-opacity', Configuration.boxplot.circle.opacity.default);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(\n\t\t\t\t\tEvents.Boxplot.OUTLIER_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"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Component } from '../component';
|
|
2
|
+
export declare class WordCloud extends Component {
|
|
3
|
+
type: string;
|
|
4
|
+
init(): void;
|
|
5
|
+
getFontSizeScale(data: any): import("d3-scale").ScaleLinear<number, number>;
|
|
6
|
+
render(animate?: boolean): void;
|
|
7
|
+
handleLegendOnHover: (event: CustomEvent<any>) => void;
|
|
8
|
+
handleLegendMouseOut: (event: CustomEvent<any>) => void;
|
|
9
|
+
addEventListeners(): void;
|
|
10
|
+
}
|