@expressms/smartapp-ui 2.6.9 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/build/main/hooks/useModal.js +6 -1
  2. package/build/main/hooks/useModal.js.map +1 -1
  3. package/build/main/styles/styles.scss +2 -2
  4. package/build/main//321/201omponents/Charts/ChartBar/ChartBar.d.ts +1 -1
  5. package/build/main//321/201omponents/Charts/ChartBar/ChartBar.js +16 -10
  6. package/build/main//321/201omponents/Charts/ChartBar/ChartBar.js.map +1 -1
  7. package/build/main//321/201omponents/Charts/ChartLegend/ChartLegend.d.ts +4 -0
  8. package/build/main//321/201omponents/Charts/ChartLegend/ChartLegend.js +71 -0
  9. package/build/main//321/201omponents/Charts/ChartLegend/ChartLegend.js.map +1 -0
  10. package/build/main//321/201omponents/Charts/ChartLine/ChartLine.d.ts +1 -1
  11. package/build/main//321/201omponents/Charts/ChartLine/ChartLine.js +23 -13
  12. package/build/main//321/201omponents/Charts/ChartLine/ChartLine.js.map +1 -1
  13. package/build/main//321/201omponents/Charts/ChartPie/ChartPie.d.ts +1 -1
  14. package/build/main//321/201omponents/Charts/ChartPie/ChartPie.js +38 -40
  15. package/build/main//321/201omponents/Charts/ChartPie/ChartPie.js.map +1 -1
  16. package/build/main//321/201omponents/Charts/colors.d.ts +1 -0
  17. package/build/main//321/201omponents/Charts/colors.js +1 -0
  18. package/build/main//321/201omponents/Charts/colors.js.map +1 -1
  19. package/build/main//321/201omponents/Charts/constants.d.ts +25 -10
  20. package/build/main//321/201omponents/Charts/constants.js +28 -10
  21. package/build/main//321/201omponents/Charts/constants.js.map +1 -1
  22. package/build/main//321/201omponents/Charts/helpers.d.ts +10 -42
  23. package/build/main//321/201omponents/Charts/helpers.js +35 -69
  24. package/build/main//321/201omponents/Charts/helpers.js.map +1 -1
  25. package/build/main//321/201omponents/Charts/types.d.ts +67 -30
  26. package/build/main//321/201omponents/Charts/useEvents.d.ts +5 -0
  27. package/build/main//321/201omponents/Charts/useEvents.js +45 -0
  28. package/build/main//321/201omponents/Charts/useEvents.js.map +1 -0
  29. package/build/main//321/201omponents/Charts/usePieEvents.d.ts +6 -0
  30. package/build/main//321/201omponents/Charts/usePieEvents.js +57 -0
  31. package/build/main//321/201omponents/Charts/usePieEvents.js.map +1 -0
  32. package/build/main//321/201omponents/Checkbox/Checkbox.js +2 -1
  33. package/build/main//321/201omponents/Checkbox/Checkbox.js.map +1 -1
  34. package/build/main//321/201omponents/ContextMenu/ContextMenu.js +9 -2
  35. package/build/main//321/201omponents/ContextMenu/ContextMenu.js.map +1 -1
  36. package/build/main//321/201omponents/ContextMenu/types.d.ts +3 -2
  37. package/build/main//321/201omponents/ScrollBar/ScrollBar.js.map +1 -1
  38. package/build/main//321/201omponents/UserDropdown/UserDropdown.js +7 -0
  39. package/build/main//321/201omponents/UserDropdown/UserDropdown.js.map +1 -1
  40. package/package.json +2 -1
@@ -1,3 +1,3 @@
1
1
  import { IChartProps } from '../types';
2
2
  import '../../../styles/styles.scss';
3
- export declare const ChartBar: ({ title, xAxis, data }: IChartProps) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const ChartBar: ({ chartHeight, title, xAxis, tooltipXAxis, data, legendUnits }: IChartProps) => import("react/jsx-runtime").JSX.Element;
@@ -9,19 +9,23 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { jsx as _jsx } from "react/jsx-runtime";
12
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useRef } from 'react';
13
14
  import ReactEcharts from 'echarts-for-react';
14
- import { OPTION_GRID, OPTION_TITLE, OPTION_TOOLTIP, OPTION_Y_AXIS, OPTIONS } from '../constants';
15
- import { generateBarItem, generateLegend, generateXAxis } from '../helpers';
15
+ import classNames from 'classnames';
16
+ import ChartLegend from '../ChartLegend/ChartLegend';
17
+ import { useEvents } from '../useEvents';
18
+ import { generateBarItem, generateLegendItems, generateXAxis, renderChartTooltip } from '../helpers';
19
+ import { DEFAULT_CHART_HEIGHT, LEGEND, OPTION_GRID, OPTION_TOOLTIP, OPTION_Y_AXIS, OPTIONS, TEXT_STYLE } from '../constants';
16
20
  import '../../../styles/styles.scss';
17
21
  var series = OPTIONS.series, shadow = OPTIONS.shadow, bar = OPTIONS.bar;
18
22
  var option = function (_a) {
19
- var data = _a.data, title = _a.title, xAxis = _a.xAxis;
23
+ var data = _a.data, xAxis = _a.xAxis, tooltipXAxis = _a.tooltipXAxis;
20
24
  return ({
21
- title: __assign({ text: title }, OPTION_TITLE),
22
- legend: generateLegend({ data: data, chartType: bar }),
23
- tooltip: __assign(__assign({}, OPTION_TOOLTIP), { axisPointer: { type: shadow } }),
24
- grid: OPTION_GRID,
25
+ legend: LEGEND,
26
+ tooltip: __assign(__assign({}, OPTION_TOOLTIP), { axisPointer: { type: shadow }, formatter: function (params) { return renderChartTooltip({ chartType: bar, params: params, tooltipXAxis: tooltipXAxis }); } }),
27
+ textStyle: TEXT_STYLE,
28
+ grid: __assign(__assign({}, OPTION_GRID), { right: 0 }),
25
29
  xAxis: generateXAxis(xAxis),
26
30
  yAxis: OPTION_Y_AXIS,
27
31
  series: generateBarItem(data),
@@ -33,7 +37,9 @@ var option = function (_a) {
33
37
  });
34
38
  };
35
39
  export var ChartBar = function (_a) {
36
- var title = _a.title, xAxis = _a.xAxis, data = _a.data;
37
- return _jsx(ReactEcharts, { option: option({ data: data, title: title, xAxis: xAxis }), style: { height: 420 } });
40
+ var _b = _a.chartHeight, chartHeight = _b === void 0 ? DEFAULT_CHART_HEIGHT.bar : _b, title = _a.title, xAxis = _a.xAxis, tooltipXAxis = _a.tooltipXAxis, data = _a.data, legendUnits = _a.legendUnits;
41
+ var chartRef = useRef(null);
42
+ var _c = useEvents({ chartType: bar, chartRef: chartRef }), highlight = _c.highlight, downplay = _c.downplay;
43
+ return (_jsxs(_Fragment, { children: [_jsx("p", __assign({ className: classNames('smartapp-chart__title', 'mb-24') }, { children: title })), _jsx(ReactEcharts, { ref: chartRef, option: option({ data: data, xAxis: xAxis, tooltipXAxis: tooltipXAxis }), style: { height: chartHeight }, onEvents: { highlight: highlight, downplay: downplay } }), _jsx(ChartLegend, { chartRef: chartRef, chartType: bar, legendItems: generateLegendItems(bar, chartRef), legendUnits: legendUnits })] }));
38
44
  };
39
45
  //# sourceMappingURL=ChartBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartBar.js","sourceRoot":"","sources":["../../../../../src/сomponents/Charts/ChartBar/ChartBar.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,YAA+B,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAChG,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE3E,OAAO,6BAA6B,CAAA;AAE5B,IAAA,MAAM,GAAkB,OAAO,OAAzB,EAAE,MAAM,GAAU,OAAO,OAAjB,EAAE,GAAG,GAAK,OAAO,IAAZ,CAAY;AAEvC,IAAM,MAAM,GAAG,UAAC,EAAmC;QAAjC,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,KAAK,WAAA;IAAmC,OAAA,CAAC;QACtE,KAAK,aAAI,IAAI,EAAE,KAAK,IAAK,YAAY,CAAE;QACvC,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,MAAA,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAChD,OAAO,wBACF,cAAc,KACjB,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAC9B;QACD,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;QAC3B,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC;QAC7B,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QAC3B,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;QACzC,MAAM,EAAE,KAAK;KACd,CAAC;AAhBqE,CAgBrE,CAAA;AAEF,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,EAAmC;QAAjC,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,IAAI,UAAA;IAAoB,OAAA,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,KAAK,OAAA,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAI;AAAhF,CAAgF,CAAA"}
1
+ {"version":3,"file":"ChartBar.js","sourceRoot":"","sources":["../../../../../src/сomponents/Charts/ChartBar/ChartBar.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,YAA+B,MAAM,mBAAmB,CAAA;AAC/D,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,WAAW,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE5H,OAAO,6BAA6B,CAAA;AAE5B,IAAA,MAAM,GAAkB,OAAO,OAAzB,EAAE,MAAM,GAAU,OAAO,OAAjB,EAAE,GAAG,GAAK,OAAO,IAAZ,CAAY;AAEvC,IAAM,MAAM,GAAG,UAAC,EAA0C;QAAxC,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,YAAY,kBAAA;IAAmC,OAAA,CAAC;QAC7E,MAAM,EAAE,MAAM;QACd,OAAO,wBACF,cAAc,KACjB,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAC7B,SAAS,EAAE,UAAC,MAAgC,IAAK,OAAA,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,QAAA,EAAE,YAAY,cAAA,EAAE,CAAC,EAA5D,CAA4D,GAC9G;QACD,SAAS,EAAE,UAAU;QACrB,IAAI,wBAAO,WAAW,KAAE,KAAK,EAAE,CAAC,GAAE;QAClC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;QAC3B,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC;QAC7B,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QAC3B,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;QACzC,MAAM,EAAE,KAAK;KACd,CAAC;AAjB4E,CAiB5E,CAAA;AAEF,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,EAAsG;QAApG,mBAAsC,EAAtC,WAAW,mBAAG,oBAAoB,CAAC,GAAG,KAAA,EAAE,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,YAAY,kBAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAAA;IAC9G,IAAM,QAAQ,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IAC5C,IAAA,KAA0B,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,UAAA,EAAE,CAAC,EAA/D,SAAS,eAAA,EAAE,QAAQ,cAA4C,CAAA;IAEvE,OAAO,CACL,8BACE,qBAAG,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,OAAO,CAAC,gBAAG,KAAK,IAAK,EACvE,KAAC,YAAY,IACX,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,YAAY,cAAA,EAAE,CAAC,EAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAC9B,QAAQ,EAAE,EAAE,SAAS,WAAA,EAAE,QAAQ,UAAA,EAAE,GACjC,EACF,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,WAAW,GAAI,IAC7H,CACJ,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { IChartLegendProps } from '../types';
2
+ import '../../../styles/styles.scss';
3
+ declare const ChartLegend: ({ chartRef, chartType, legendItems, legendUnits }: IChartLegendProps) => import("react/jsx-runtime").JSX.Element;
4
+ export default ChartLegend;
@@ -0,0 +1,71 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
+ if (ar || !(i in from)) {
15
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
+ ar[i] = from[i];
17
+ }
18
+ }
19
+ return to.concat(ar || Array.prototype.slice.call(from));
20
+ };
21
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
+ import { useEffect, useState } from 'react';
23
+ import classNames from 'classnames';
24
+ import { calculateValue, isBarChart, isLineChart, isPieChart } from '../helpers';
25
+ import { DISPATCH_ACTION_TYPES, NUMBER_FORMATTER } from '../constants';
26
+ import '../../../styles/styles.scss';
27
+ var ChartLegend = function (_a) {
28
+ var chartRef = _a.chartRef, chartType = _a.chartType, legendItems = _a.legendItems, legendUnits = _a.legendUnits;
29
+ var _b = useState([]), activeLegendItems = _b[0], setActiveLegendItems = _b[1];
30
+ var getChartInstance = function () { var _a; return (_a = chartRef.current) === null || _a === void 0 ? void 0 : _a.getEchartsInstance(); };
31
+ var generateLegendValue = function (value, data) {
32
+ if (data === void 0) { data = []; }
33
+ if (isBarChart(chartType))
34
+ return calculateValue(data);
35
+ if (isLineChart(chartType))
36
+ return NUMBER_FORMATTER.format(calculateValue(data));
37
+ return value;
38
+ };
39
+ var generateDispatchActionData = function (name, seriesIndex) { return (isPieChart(chartType) ? { name: name } : { seriesIndex: seriesIndex }); };
40
+ var handleLegendMouseEnter = function (name, seriesIndex) {
41
+ var chartInstance = getChartInstance();
42
+ chartInstance === null || chartInstance === void 0 ? void 0 : chartInstance.dispatchAction(__assign({ type: DISPATCH_ACTION_TYPES.highlight }, generateDispatchActionData(name, seriesIndex)));
43
+ };
44
+ var handleLegendMouseLeave = function (name, seriesIndex) {
45
+ var chartInstance = getChartInstance();
46
+ chartInstance === null || chartInstance === void 0 ? void 0 : chartInstance.dispatchAction(__assign({ type: DISPATCH_ACTION_TYPES.downplay }, generateDispatchActionData(name, seriesIndex)));
47
+ };
48
+ var handleLegendClick = function (name) {
49
+ var chartInstance = getChartInstance();
50
+ setActiveLegendItems(function (prevActiveLegendItems) {
51
+ return prevActiveLegendItems.includes(name)
52
+ ? prevActiveLegendItems.filter(function (legendItemName) { return legendItemName !== name; })
53
+ : __spreadArray(__spreadArray([], prevActiveLegendItems, true), [name], false);
54
+ });
55
+ chartInstance === null || chartInstance === void 0 ? void 0 : chartInstance.dispatchAction({ type: DISPATCH_ACTION_TYPES.legendToggleSelect, name: name });
56
+ isPieChart(chartType) && (chartInstance === null || chartInstance === void 0 ? void 0 : chartInstance.dispatchAction({ type: DISPATCH_ACTION_TYPES.highlight, name: name }));
57
+ };
58
+ useEffect(function () {
59
+ legendItems && setActiveLegendItems(legendItems.map(function (_a) {
60
+ var name = _a.name;
61
+ return name;
62
+ }));
63
+ }, [legendItems]);
64
+ return (_jsx("div", __assign({ className: classNames('smartapp-chart__legend', "smartapp-chart__legend--".concat(chartType)) }, { children: legendItems.map(function (_a, index) {
65
+ var name = _a.name, value = _a.value, data = _a.data, color = _a.itemStyle.color;
66
+ var inactiveLegendItem = !activeLegendItems.includes(name);
67
+ return (_jsxs("div", __assign({ className: "smartapp-chart__legend--item", onClick: function () { return handleLegendClick(name); }, onMouseEnter: function () { return handleLegendMouseEnter(name, index); }, onMouseLeave: function () { return handleLegendMouseLeave(name, index); } }, { children: [_jsx("div", __assign({ className: classNames('smartapp-chart__legend--item__name', { 'smartapp-chart__legend--item__name--inactive': inactiveLegendItem }) }, { children: name })), _jsxs("div", __assign({ className: classNames('smartapp-chart__legend--item__value', { 'smartapp-chart__legend--item__value--inactive': inactiveLegendItem }), style: { color: color } }, { children: [generateLegendValue(value, data), legendUnits] }))] }), name));
68
+ }) })));
69
+ };
70
+ export default ChartLegend;
71
+ //# sourceMappingURL=ChartLegend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartLegend.js","sourceRoot":"","sources":["../../../../../src/сomponents/Charts/ChartLegend/ChartLegend.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { IChartProps } from '../types';
2
2
  import '../../../styles/styles.scss';
3
- export declare const ChartLine: ({ title, xAxis, data }: IChartProps) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const ChartLine: ({ chartHeight, title, xAxis, tooltipXAxis, data, legendUnits }: IChartProps) => import("react/jsx-runtime").JSX.Element;
@@ -9,22 +9,32 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { jsx as _jsx } from "react/jsx-runtime";
12
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useRef } from 'react';
13
14
  import ReactEcharts from 'echarts-for-react';
14
- import { OPTION_GRID, OPTION_TITLE, OPTION_TOOLTIP, OPTION_Y_AXIS, OPTIONS } from '../constants';
15
- import { generateLegend, generateLineItem, generateXAxis } from '../helpers';
15
+ import classNames from 'classnames';
16
+ import ChartLegend from '../ChartLegend/ChartLegend';
17
+ import { useEvents } from '../useEvents';
18
+ import { generateLegendItems, generateLineItem, generateXAxis, renderChartTooltip } from '../helpers';
19
+ import { DEFAULT_CHART_HEIGHT, LEGEND, NUMBER_FORMATTER, OPTION_GRID, OPTION_TOOLTIP, OPTION_Y_AXIS, OPTIONS, TEXT_STYLE } from '../constants';
16
20
  import '../../../styles/styles.scss';
17
- export var ChartLine = function (_a) {
18
- var title = _a.title, xAxis = _a.xAxis, data = _a.data;
19
- var option = {
20
- title: __assign({ text: title }, OPTION_TITLE),
21
- legend: generateLegend({ data: data, chartType: OPTIONS.line }),
22
- tooltip: OPTION_TOOLTIP,
23
- grid: OPTION_GRID,
21
+ var line = OPTIONS.line;
22
+ var option = function (_a) {
23
+ var data = _a.data, xAxis = _a.xAxis, tooltipXAxis = _a.tooltipXAxis;
24
+ return ({
25
+ textStyle: TEXT_STYLE,
26
+ legend: LEGEND,
27
+ tooltip: __assign(__assign({}, OPTION_TOOLTIP), { formatter: function (params) { return renderChartTooltip({ chartType: line, params: params, tooltipXAxis: tooltipXAxis }); } }),
28
+ grid: __assign(__assign({}, OPTION_GRID), { right: '10px' }),
24
29
  xAxis: __assign({ boundaryGap: false }, generateXAxis(xAxis)),
25
- yAxis: OPTION_Y_AXIS,
30
+ yAxis: __assign(__assign({}, OPTION_Y_AXIS), { axisLabel: __assign(__assign({}, OPTION_Y_AXIS.axisLabel), { formatter: function (value) { return NUMBER_FORMATTER.format(value); } }) }),
26
31
  series: generateLineItem(data),
27
- };
28
- return _jsx(ReactEcharts, { option: option, style: { height: 420 } });
32
+ });
33
+ };
34
+ export var ChartLine = function (_a) {
35
+ var _b = _a.chartHeight, chartHeight = _b === void 0 ? DEFAULT_CHART_HEIGHT.line : _b, title = _a.title, xAxis = _a.xAxis, tooltipXAxis = _a.tooltipXAxis, data = _a.data, legendUnits = _a.legendUnits;
36
+ var chartRef = useRef(null);
37
+ var _c = useEvents({ chartRef: chartRef, chartType: line }), highlight = _c.highlight, downplay = _c.downplay;
38
+ return (_jsxs(_Fragment, { children: [_jsx("p", __assign({ className: classNames('smartapp-chart__title', 'mb-24') }, { children: title })), _jsx(ReactEcharts, { ref: chartRef, option: option({ data: data, xAxis: xAxis, tooltipXAxis: tooltipXAxis }), style: { height: chartHeight }, onEvents: { highlight: highlight, downplay: downplay } }), _jsx(ChartLegend, { chartRef: chartRef, chartType: line, legendItems: generateLegendItems(line, chartRef), legendUnits: legendUnits })] }));
29
39
  };
30
40
  //# sourceMappingURL=ChartLine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartLine.js","sourceRoot":"","sources":["../../../../../src/сomponents/Charts/ChartLine/ChartLine.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,YAA+B,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAChG,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE5E,OAAO,6BAA6B,CAAA;AAEpC,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,EAAmC;QAAjC,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,IAAI,UAAA;IAC5C,IAAM,MAAM,GAAkB;QAC5B,KAAK,aAAI,IAAI,EAAE,KAAK,IAAK,YAAY,CAAE;QACvC,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,MAAA,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACzD,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,WAAW;QACjB,KAAK,aAAI,WAAW,EAAE,KAAK,IAAK,aAAa,CAAC,KAAK,CAAC,CAAE;QACtD,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC;KAC/B,CAAA;IAED,OAAO,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAI,CAAA;AACjE,CAAC,CAAA"}
1
+ {"version":3,"file":"ChartLine.js","sourceRoot":"","sources":["../../../../../src/сomponents/Charts/ChartLine/ChartLine.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAC5C,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,WAAW,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9I,OAAO,6BAA6B,CAAA;AAE5B,IAAA,IAAI,GAAK,OAAO,KAAZ,CAAY;AAExB,IAAM,MAAM,GAAG,UAAC,EAA0C;QAAxC,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,YAAY,kBAAA;IAAoB,OAAA,CAAC;QAC9D,SAAS,EAAE,UAAU;QACrB,MAAM,EAAE,MAAM;QACd,OAAO,wBACF,cAAc,KACjB,SAAS,EAAE,UAAC,MAAgC,IAAK,OAAA,kBAAkB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,QAAA,EAAE,YAAY,cAAA,EAAE,CAAC,EAA7D,CAA6D,GAC/G;QACD,IAAI,wBAAO,WAAW,KAAE,KAAK,EAAE,MAAM,GAAE;QACvC,KAAK,aAAI,WAAW,EAAE,KAAK,IAAK,aAAa,CAAC,KAAK,CAAC,CAAE;QACtD,KAAK,wBACA,aAAa,KAChB,SAAS,wBACJ,aAAa,CAAC,SAAS,KAC1B,SAAS,EAAE,UAAC,KAAa,IAAK,OAAA,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAA9B,CAA8B,MAE/D;QACD,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC;KAC/B,CAAC;AAjB6D,CAiB7D,CAAA;AAEF,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,EAAuG;QAArG,mBAAuC,EAAvC,WAAW,mBAAG,oBAAoB,CAAC,IAAI,KAAA,EAAE,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,YAAY,kBAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAAA;IAChH,IAAM,QAAQ,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IAC5C,IAAA,KAA0B,SAAS,CAAC,EAAE,QAAQ,UAAA,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAhE,SAAS,eAAA,EAAE,QAAQ,cAA6C,CAAA;IAExE,OAAO,CACL,8BACE,qBAAG,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,OAAO,CAAC,gBAAG,KAAK,IAAK,EACvE,KAAC,YAAY,IACX,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,YAAY,cAAA,EAAE,CAAC,EAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAC9B,QAAQ,EAAE,EAAE,SAAS,WAAA,EAAE,QAAQ,UAAA,EAAE,GACjC,EACF,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,WAAW,GAAI,IAC/H,CACJ,CAAA;AACH,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import { IChartPieProps } from '../types';
2
2
  import '../../../styles/styles.scss';
3
- export declare const ChartPie: ({ data, title, subtitle }: IChartPieProps) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const ChartPie: ({ chartSize, data, title, subtitle, legendUnits }: IChartPieProps) => import("react/jsx-runtime").JSX.Element;
@@ -12,53 +12,51 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { useRef } from 'react';
14
14
  import ReactEcharts from 'echarts-for-react';
15
- import { OPTIONS } from '../constants';
15
+ import ChartLegend from '../ChartLegend/ChartLegend';
16
+ import { usePieEvents } from '../usePieEvents';
17
+ import { calculatePieChartPadding, calculatePieValue, generateLegendItems, renderPieChartTooltip } from '../helpers';
18
+ import { CENTER_HORIZONTAL_POSITION, CENTER_VERTICAL_POSITION, DEFAULT_CHART_HEIGHT, INSIDE_RADIUS, LEGEND, OPTIONS, OUTSIDE_RADIUS, PIE_TOOLTIP_CLASS_NAME, TEXT_STYLE, } from '../constants';
16
19
  import { COLORS } from '../../../constants';
17
20
  import { TEXT_COLOR } from '../colors';
18
- import { calculatePieValue, generateLegend } from '../helpers';
19
21
  import '../../../styles/styles.scss';
20
22
  var center = OPTIONS.center, pie = OPTIONS.pie;
21
- var white = COLORS.white, black = COLORS.black;
22
- var option = function (data, title) { return ({
23
- legend: generateLegend({ data: data, chartType: pie }),
24
- tooltip: {},
25
- series: [
26
- {
27
- type: pie,
28
- data: data,
29
- radius: ['60%', '100%'],
30
- itemStyle: { borderRadius: 8, borderColor: white, borderWidth: 6 },
31
- label: { show: false },
32
- labelLine: { show: false },
33
- width: 320,
34
- height: 320,
23
+ var white = COLORS.white, black = COLORS.black, blue = COLORS.blue;
24
+ var option = function (_a) {
25
+ var chartSize = _a.chartSize, data = _a.data, subtitle = _a.subtitle;
26
+ return ({
27
+ legend: LEGEND,
28
+ tooltip: { className: PIE_TOOLTIP_CLASS_NAME, borderColor: blue, formatter: renderPieChartTooltip },
29
+ series: [
30
+ {
31
+ type: pie,
32
+ data: data.map(function (item) { return (__assign(__assign({}, item), { itemStyle: { color: item.color } })); }),
33
+ radius: [INSIDE_RADIUS, OUTSIDE_RADIUS],
34
+ center: [CENTER_HORIZONTAL_POSITION, CENTER_VERTICAL_POSITION],
35
+ itemStyle: { borderRadius: 8, borderColor: white, borderWidth: 6 },
36
+ label: { show: false },
37
+ labelLine: { show: false },
38
+ width: chartSize,
39
+ height: chartSize,
40
+ left: center,
41
+ emphasis: { scaleSize: 12.5 },
42
+ },
43
+ ],
44
+ title: {
45
+ text: subtitle,
35
46
  left: center,
47
+ top: '42.5%',
48
+ textStyle: { color: TEXT_COLOR, fontSize: 14, fontWeight: 400 },
49
+ subtext: calculatePieValue(data),
50
+ subtextStyle: { color: black, fontSize: 32, fontWeight: 700 },
51
+ itemGap: 10,
36
52
  },
37
- ],
38
- title: {
39
- text: title,
40
- left: center,
41
- top: '28%',
42
- textStyle: { color: TEXT_COLOR, fontSize: 14, fontWeight: 400 },
43
- subtext: calculatePieValue(data),
44
- subtextStyle: { color: black, fontSize: 32, fontWeight: 700 },
45
- itemGap: 10,
46
- },
47
- }); };
53
+ textStyle: TEXT_STYLE,
54
+ });
55
+ };
48
56
  export var ChartPie = function (_a) {
49
- var data = _a.data, title = _a.title, subtitle = _a.subtitle;
57
+ var _b = _a.chartSize, chartSize = _b === void 0 ? DEFAULT_CHART_HEIGHT.pie : _b, data = _a.data, title = _a.title, subtitle = _a.subtitle, legendUnits = _a.legendUnits;
50
58
  var chartRef = useRef(null);
51
- var handleLegendSelectChanged = function (_a) {
52
- var _b;
53
- var selected = _a.selected;
54
- var filteredData = data.filter(function (_a) {
55
- var name = _a.name;
56
- return selected[name];
57
- });
58
- var subtext = calculatePieValue(filteredData);
59
- (_b = chartRef.current) === null || _b === void 0 ? void 0 : _b.getEchartsInstance().setOption({ title: { subtext: subtext } });
60
- };
61
- var onEvents = { legendselectchanged: handleLegendSelectChanged };
62
- return (_jsxs(_Fragment, { children: [_jsx("p", __assign({ className: "smartapp-chart__title" }, { children: title })), _jsx(ReactEcharts, { ref: chartRef, option: option(data, subtitle), style: { height: 490 }, onEvents: onEvents })] }));
59
+ var _c = usePieEvents({ chartRef: chartRef, data: data }), legendselectchanged = _c.legendselectchanged, mouseover = _c.mouseover, mouseout = _c.mouseout;
60
+ return (_jsxs(_Fragment, { children: [_jsx("p", __assign({ className: "smartapp-chart__title" }, { children: title })), _jsx(ReactEcharts, { ref: chartRef, option: option({ chartSize: chartSize - calculatePieChartPadding(chartSize), data: data, subtitle: subtitle }), style: { height: chartSize }, onEvents: { mouseover: mouseover, mouseout: mouseout, highlight: mouseover, downplay: mouseout, legendselectchanged: legendselectchanged } }), _jsx(ChartLegend, { chartRef: chartRef, chartType: pie, legendItems: generateLegendItems(pie, chartRef), legendUnits: legendUnits })] }));
63
61
  };
64
62
  //# sourceMappingURL=ChartPie.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartPie.js","sourceRoot":"","sources":["../../../../../src/сomponents/Charts/ChartPie/ChartPie.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,YAA+B,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE9D,OAAO,6BAA6B,CAAA;AAE5B,IAAA,MAAM,GAAU,OAAO,OAAjB,EAAE,GAAG,GAAK,OAAO,IAAZ,CAAY;AACvB,IAAA,KAAK,GAAY,MAAM,MAAlB,EAAE,KAAK,GAAK,MAAM,MAAX,CAAW;AAE/B,IAAM,MAAM,GAAG,UAAC,IAAqB,EAAE,KAAa,IAAoB,OAAA,CAAC;IACvE,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,MAAA,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAChD,OAAO,EAAE,EAAE;IACX,MAAM,EAAE;QACN;YACE,IAAI,EAAE,GAAG;YACT,IAAI,MAAA;YACJ,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;YACvB,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE;YAClE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACtB,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1B,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,MAAM;SACb;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;QAC/D,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC;QAChC,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;QAC7D,OAAO,EAAE,EAAE;KACZ;CACF,CAAC,EAzBsE,CAyBtE,CAAA;AAEF,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,EAAyC;QAAvC,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA;IAC9C,IAAM,QAAQ,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IAElD,IAAM,yBAAyB,GAAG,UAAC,EAA6B;;YAA3B,QAAQ,cAAA;QAC3C,IAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAC,EAAQ;gBAAN,IAAI,UAAA;YAAO,OAAA,QAAQ,CAAC,IAAI,CAAC;QAAd,CAAc,CAAC,CAAA;QAC9D,IAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAE/C,MAAA,QAAQ,CAAC,OAAO,0CAAE,kBAAkB,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,SAAA,EAAE,EAAE,CAAC,CAAA;IAC1E,CAAC,CAAA;IAED,IAAM,QAAQ,GAAG,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,CAAA;IAEnE,OAAO,CACL,8BACE,qBAAG,SAAS,EAAC,uBAAuB,gBAAE,KAAK,IAAK,EAChD,KAAC,YAAY,IAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAI,IAC1G,CACJ,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"ChartPie.js","sourceRoot":"","sources":["../../../../../src/сomponents/Charts/ChartPie/ChartPie.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export declare const TEXT_COLOR = "#11111180";
2
2
  export declare const LINE_COLOR = "#D3D3D3";
3
+ export declare const BORDER_COLOR = "#E5E5E5";
@@ -1,3 +1,4 @@
1
1
  export var TEXT_COLOR = '#11111180';
2
2
  export var LINE_COLOR = '#D3D3D3';
3
+ export var BORDER_COLOR = '#E5E5E5';
3
4
  //# sourceMappingURL=colors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../../src/сomponents/Charts/colors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,UAAU,GAAG,WAAW,CAAA;AACrC,MAAM,CAAC,IAAM,UAAU,GAAG,SAAS,CAAA"}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../../src/сomponents/Charts/colors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,UAAU,GAAG,WAAW,CAAA;AACrC,MAAM,CAAC,IAAM,UAAU,GAAG,SAAS,CAAA;AACnC,MAAM,CAAC,IAAM,YAAY,GAAG,SAAS,CAAA"}
@@ -1,11 +1,9 @@
1
1
  import { TooltipComponentOption } from 'echarts';
2
2
  import { YAXisOption } from 'echarts/types/dist/shared';
3
- import { COLORS } from '../../constants';
4
3
  export declare enum OPTIONS {
5
4
  center = "center",
6
5
  axis = "axis",
7
6
  shadow = "shadow",
8
- circle = "circle",
9
7
  category = "category",
10
8
  transparent = "transparent",
11
9
  value = "value",
@@ -14,17 +12,34 @@ export declare enum OPTIONS {
14
12
  bar = "bar",
15
13
  line = "line"
16
14
  }
17
- export declare const OPTION_TITLE: {
18
- left: OPTIONS;
19
- textStyle: {
20
- color: COLORS;
21
- };
15
+ export declare const INSIDE_RADIUS = "60%";
16
+ export declare const OUTSIDE_RADIUS = "100%";
17
+ export declare const CENTER_HORIZONTAL_POSITION = "50%";
18
+ export declare const CENTER_VERTICAL_POSITION = "53%";
19
+ export declare const NUMBER_FORMATTER: Intl.NumberFormat;
20
+ export declare const LEGEND: {
21
+ show: boolean;
22
22
  };
23
+ export declare const TEXT_STYLE: {
24
+ fontFamily: string;
25
+ };
26
+ export declare const TOOLTIP_CLASS_NAME = "smartapp-chart-tooltip";
27
+ export declare const PIE_TOOLTIP_CLASS_NAME = "smartapp-pie-chart-tooltip";
23
28
  export declare const OPTION_TOOLTIP: TooltipComponentOption;
24
29
  export declare const OPTION_GRID: {
25
- left: string;
26
- right: string;
27
- bottom: string;
30
+ left: number;
31
+ bottom: number;
32
+ top: string;
28
33
  containLabel: boolean;
29
34
  };
30
35
  export declare const OPTION_Y_AXIS: YAXisOption;
36
+ export declare const DISPATCH_ACTION_TYPES: {
37
+ highlight: string;
38
+ downplay: string;
39
+ legendToggleSelect: string;
40
+ };
41
+ export declare const DEFAULT_CHART_HEIGHT: {
42
+ bar: number;
43
+ line: number;
44
+ pie: number;
45
+ };
@@ -1,10 +1,10 @@
1
- import { COLORS } from '../../constants';
1
+ import { COLORS, DEFAULT_FONT_FAMILY } from '../../constants';
2
+ import { BORDER_COLOR } from './colors';
2
3
  export var OPTIONS;
3
4
  (function (OPTIONS) {
4
5
  OPTIONS["center"] = "center";
5
6
  OPTIONS["axis"] = "axis";
6
7
  OPTIONS["shadow"] = "shadow";
7
- OPTIONS["circle"] = "circle";
8
8
  OPTIONS["category"] = "category";
9
9
  OPTIONS["transparent"] = "transparent";
10
10
  OPTIONS["value"] = "value";
@@ -13,13 +13,31 @@ export var OPTIONS;
13
13
  OPTIONS["bar"] = "bar";
14
14
  OPTIONS["line"] = "line";
15
15
  })(OPTIONS || (OPTIONS = {}));
16
- var black = COLORS.black;
17
- var center = OPTIONS.center, axis = OPTIONS.axis, value = OPTIONS.value;
18
- export var OPTION_TITLE = {
19
- left: center,
20
- textStyle: { color: black },
16
+ var axis = OPTIONS.axis, value = OPTIONS.value;
17
+ var DE_NUMBER_FORMAT = 'de-DE';
18
+ export var INSIDE_RADIUS = '60%';
19
+ export var OUTSIDE_RADIUS = '100%';
20
+ export var CENTER_HORIZONTAL_POSITION = '50%';
21
+ export var CENTER_VERTICAL_POSITION = '53%';
22
+ export var NUMBER_FORMATTER = new Intl.NumberFormat(DE_NUMBER_FORMAT);
23
+ export var LEGEND = { show: false };
24
+ export var TEXT_STYLE = { fontFamily: DEFAULT_FONT_FAMILY };
25
+ export var TOOLTIP_CLASS_NAME = 'smartapp-chart-tooltip';
26
+ export var PIE_TOOLTIP_CLASS_NAME = 'smartapp-pie-chart-tooltip';
27
+ export var OPTION_TOOLTIP = { trigger: axis, className: TOOLTIP_CLASS_NAME, borderColor: BORDER_COLOR };
28
+ export var OPTION_GRID = { left: 0, bottom: 0, top: '5px', containLabel: true };
29
+ export var OPTION_Y_AXIS = {
30
+ type: value,
31
+ axisLabel: { fontSize: '9px', fontWeight: 600, color: COLORS.darkerGray },
32
+ };
33
+ export var DISPATCH_ACTION_TYPES = {
34
+ highlight: 'highlight',
35
+ downplay: 'downplay',
36
+ legendToggleSelect: 'legendToggleSelect',
37
+ };
38
+ export var DEFAULT_CHART_HEIGHT = {
39
+ bar: 186,
40
+ line: 186,
41
+ pie: 340,
21
42
  };
22
- export var OPTION_TOOLTIP = { trigger: axis };
23
- export var OPTION_GRID = { left: '3%', right: '4%', bottom: '30%', containLabel: true };
24
- export var OPTION_Y_AXIS = { type: value };
25
43
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/сomponents/Charts/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,MAAM,CAAN,IAAY,OAYX;AAZD,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,wBAAa,CAAA;IACb,4BAAiB,CAAA;IACjB,4BAAiB,CAAA;IACjB,gCAAqB,CAAA;IACrB,sCAA2B,CAAA;IAC3B,0BAAe,CAAA;IACf,4BAAiB,CAAA;IACjB,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,wBAAa,CAAA;AACf,CAAC,EAZW,OAAO,KAAP,OAAO,QAYlB;AAEO,IAAA,KAAK,GAAK,MAAM,MAAX,CAAW;AAChB,IAAA,MAAM,GAAkB,OAAO,OAAzB,EAAE,IAAI,GAAY,OAAO,KAAnB,EAAE,KAAK,GAAK,OAAO,MAAZ,CAAY;AAEvC,MAAM,CAAC,IAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;CAC5B,CAAA;AAED,MAAM,CAAC,IAAM,cAAc,GAA2B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AACvE,MAAM,CAAC,IAAM,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;AACzF,MAAM,CAAC,IAAM,aAAa,GAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/сomponents/Charts/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,CAAN,IAAY,OAWX;AAXD,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,wBAAa,CAAA;IACb,4BAAiB,CAAA;IACjB,gCAAqB,CAAA;IACrB,sCAA2B,CAAA;IAC3B,0BAAe,CAAA;IACf,4BAAiB,CAAA;IACjB,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,wBAAa,CAAA;AACf,CAAC,EAXW,OAAO,KAAP,OAAO,QAWlB;AAEO,IAAA,IAAI,GAAY,OAAO,KAAnB,EAAE,KAAK,GAAK,OAAO,MAAZ,CAAY;AAC/B,IAAM,gBAAgB,GAAG,OAAO,CAAA;AAEhC,MAAM,CAAC,IAAM,aAAa,GAAG,KAAK,CAAA;AAClC,MAAM,CAAC,IAAM,cAAc,GAAG,MAAM,CAAA;AACpC,MAAM,CAAC,IAAM,0BAA0B,GAAG,KAAK,CAAA;AAC/C,MAAM,CAAC,IAAM,wBAAwB,GAAG,KAAK,CAAA;AAC7C,MAAM,CAAC,IAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA;AACvE,MAAM,CAAC,IAAM,MAAM,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACrC,MAAM,CAAC,IAAM,UAAU,GAAG,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAA;AAC7D,MAAM,CAAC,IAAM,kBAAkB,GAAG,wBAAwB,CAAA;AAC1D,MAAM,CAAC,IAAM,sBAAsB,GAAG,4BAA4B,CAAA;AAClE,MAAM,CAAC,IAAM,cAAc,GAA2B,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,CAAA;AACjI,MAAM,CAAC,IAAM,WAAW,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;AAEjF,MAAM,CAAC,IAAM,aAAa,GAAgB;IACxC,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;CAC1E,CAAA;AAED,MAAM,CAAC,IAAM,qBAAqB,GAAG;IACnC,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,kBAAkB,EAAE,oBAAoB;CACzC,CAAA;AAED,MAAM,CAAC,IAAM,oBAAoB,GAAG;IAClC,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;CACT,CAAA"}
@@ -1,49 +1,17 @@
1
+ import { RefObject } from 'react';
2
+ import ReactEcharts from 'echarts-for-react';
1
3
  import { SeriesOption } from 'echarts';
2
4
  import { XAXisOption } from 'echarts/types/dist/shared';
3
- import { OPTIONS } from './constants';
4
- import { TChartData, TChartPieData, TGenerateLegendProps } from './types';
5
+ import { TChartData, TChartPieData, TRenderChartTooltip, TTooltipFormatterParam } from './types';
6
+ export declare const isBarChart: (chartType: string) => boolean;
7
+ export declare const isLineChart: (chartType: string) => boolean;
8
+ export declare const isPieChart: (chartType: string) => boolean;
9
+ export declare const calculatePieChartPadding: (chartSize: number) => number;
5
10
  export declare const calculateValue: (data: number[]) => number;
6
11
  export declare const calculatePieValue: (data: TChartPieData[]) => string;
7
- export declare const generateLegendItemValue: (itemName: string, data: TChartData[]) => string;
8
- export declare const generatePieLegendItemValue: (itemName: string, data: TChartPieData[]) => string;
9
12
  export declare const generateLineItem: (data: TChartData[]) => SeriesOption[];
10
13
  export declare const generateBarItem: (data: TChartData[]) => SeriesOption[];
11
- export declare const generateLegend: ({ data, chartType }: TGenerateLegendProps) => {
12
- itemGap: number;
13
- bottom: number;
14
- icon: OPTIONS.circle;
15
- textStyle: {
16
- rich: {
17
- Name: {
18
- fontSize: number;
19
- align: OPTIONS.center;
20
- };
21
- value: {
22
- fontSize: number;
23
- align: OPTIONS.center;
24
- };
25
- };
26
- };
27
- data?: string[] | undefined;
28
- formatter?: ((name: string) => string) | undefined;
29
- } | {
30
- bottom: number;
31
- itemGap: number;
32
- formatter: (name: string) => string;
33
- textStyle: {
34
- rich: {
35
- Name: {
36
- width: number;
37
- fontSize: number;
38
- align: OPTIONS.center;
39
- };
40
- value: {
41
- fontSize: number;
42
- align: OPTIONS.center;
43
- };
44
- };
45
- };
46
- icon: OPTIONS.circle;
47
- data?: string[] | undefined;
48
- } | undefined;
49
14
  export declare const generateXAxis: (data: string[]) => XAXisOption;
15
+ export declare const renderChartTooltip: ({ chartType, params, tooltipXAxis }: TRenderChartTooltip) => string;
16
+ export declare const renderPieChartTooltip: ({ name, value }: TTooltipFormatterParam) => string;
17
+ export declare const generateLegendItems: (chartType: string, chartRef: RefObject<ReactEcharts | null>) => any;