@expressms/smartapp-ui 2.6.9 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) 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.d.ts +1 -1
  35. package/build/main//321/201omponents/ContextMenu/ContextMenu.js +18 -9
  36. package/build/main//321/201omponents/ContextMenu/ContextMenu.js.map +1 -1
  37. package/build/main//321/201omponents/ContextMenu/types.d.ts +4 -2
  38. package/build/main//321/201omponents/ScrollBar/ScrollBar.js.map +1 -1
  39. package/build/main//321/201omponents/UserDropdown/UserDropdown.js +7 -0
  40. package/build/main//321/201omponents/UserDropdown/UserDropdown.js.map +1 -1
  41. package/package.json +2 -1
@@ -1,44 +1,18 @@
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
- import { OPTIONS } from './constants';
13
- import { LINE_COLOR } from './colors';
1
+ import { isArray, isEmpty } from 'lodash';
14
2
  import { COLORS } from '../../constants';
3
+ import { NUMBER_FORMATTER, OPTIONS } from './constants';
4
+ import { LINE_COLOR } from './colors';
15
5
  var darkerGray = COLORS.darkerGray, black = COLORS.black, transparent = COLORS.transparent;
16
- var series = OPTIONS.series, line = OPTIONS.line, bar = OPTIONS.bar, category = OPTIONS.category;
6
+ var series = OPTIONS.series, line = OPTIONS.line, bar = OPTIONS.bar, category = OPTIONS.category, pie = OPTIONS.pie;
7
+ export var isBarChart = function (chartType) { return chartType === bar; };
8
+ export var isLineChart = function (chartType) { return chartType === line; };
9
+ export var isPieChart = function (chartType) { return chartType === pie; };
10
+ export var calculatePieChartPadding = function (chartSize) { return ((chartSize * 3) / 100) * 2; };
17
11
  export var calculateValue = function (data) { return data.reduce(function (acc, val) { return acc + val; }, 0); };
18
12
  export var calculatePieValue = function (data) { return data.reduce(function (acc, _a) {
19
13
  var value = _a.value;
20
14
  return acc + value;
21
15
  }, 0).toString(); };
22
- var generateSumText = function (itemName, value) {
23
- var sumText = "{value|".concat(value, "}");
24
- return "{Name|".concat(itemName, "}\n\n").concat(sumText);
25
- };
26
- export var generateLegendItemValue = function (itemName, data) {
27
- var item = data.find(function (_a) {
28
- var name = _a.name;
29
- return name === itemName;
30
- });
31
- var value = calculateValue((item === null || item === void 0 ? void 0 : item.data) || []);
32
- return generateSumText(itemName, value);
33
- };
34
- export var generatePieLegendItemValue = function (itemName, data) {
35
- var item = data.find(function (_a) {
36
- var name = _a.name;
37
- return name === itemName;
38
- });
39
- var value = (item === null || item === void 0 ? void 0 : item.value) || 0;
40
- return generateSumText(itemName, value);
41
- };
42
16
  export var generateLineItem = function (data) {
43
17
  return data.map(function (_a) {
44
18
  var name = _a.name, color = _a.color, data = _a.data;
@@ -60,48 +34,40 @@ export var generateBarItem = function (data) {
60
34
  return ({ name: name, data: data, type: bar, itemStyle: { color: color } });
61
35
  });
62
36
  };
63
- export var generateLegend = function (_a) {
64
- var data = _a.data, chartType = _a.chartType;
65
- var isLineChart = chartType === OPTIONS.line;
66
- var isBarChart = chartType === OPTIONS.bar;
67
- var isPieChart = chartType === OPTIONS.pie;
68
- var commonSettings = {
69
- bottom: 5,
70
- icon: OPTIONS.circle,
71
- textStyle: {
72
- rich: {
73
- Name: { fontSize: 14, align: OPTIONS.center },
74
- value: { fontSize: 24, align: OPTIONS.center },
75
- },
76
- },
77
- };
78
- if (isLineChart || isBarChart) {
79
- var chartData_1 = data;
80
- commonSettings = __assign(__assign({}, commonSettings), { data: chartData_1.map(function (_a) {
81
- var name = _a.name;
82
- return name;
83
- }), formatter: function (name) { return generateLegendItemValue(name, chartData_1); } });
84
- }
85
- if (isLineChart)
86
- return __assign(__assign({}, commonSettings), { itemGap: 70 });
87
- if (isBarChart)
88
- return __assign(__assign({}, commonSettings), { itemGap: 45 });
89
- if (isPieChart) {
90
- var chartPieData_1 = data;
91
- return __assign(__assign({}, commonSettings), { bottom: 0, itemGap: 20, formatter: function (name) { return generatePieLegendItemValue(name, chartPieData_1); }, textStyle: {
92
- rich: __assign(__assign({}, commonSettings.textStyle.rich), { Name: __assign(__assign({}, commonSettings.textStyle.rich.Name), { width: 100 }) }),
93
- } });
94
- }
95
- };
96
37
  export var generateXAxis = function (data) { return ({
97
38
  data: data,
98
39
  type: category,
99
40
  axisLine: {
100
41
  lineStyle: { color: LINE_COLOR },
101
42
  },
102
- axisLabel: { color: darkerGray },
43
+ axisLabel: { fontSize: '9px', fontWeight: 600, color: darkerGray },
103
44
  axisPointer: {
104
- label: { show: true, backgroundColor: transparent, color: black },
45
+ label: { show: false, backgroundColor: transparent, color: black },
105
46
  },
106
47
  }); };
48
+ export var renderChartTooltip = function (_a) {
49
+ var chartType = _a.chartType, params = _a.params, tooltipXAxis = _a.tooltipXAxis;
50
+ var _b = params[0], dataIndex = _b.dataIndex, name = _b.name;
51
+ var axisName = (tooltipXAxis === null || tooltipXAxis === void 0 ? void 0 : tooltipXAxis[dataIndex]) || name;
52
+ var tooltipContent = '';
53
+ params.forEach(function (_a) {
54
+ var color = _a.color, value = _a.value;
55
+ var formattedValue = isLineChart(chartType) ? NUMBER_FORMATTER.format(value) : value;
56
+ tooltipContent += "\n <div class='smartapp-chart-tooltip-content__data--item'>\n <div class='smartapp-chart-tooltip-content__data--item__indicator' style='background: ".concat(color, "'></div>\n <div class='smartapp-chart-tooltip-content__data--item__value'>").concat(formattedValue, "</div>\n </div>\n ");
57
+ });
58
+ return "\n <div class='smartapp-chart-tooltip-content'>\n <div class='smartapp-chart-tooltip-content__axis-name'>".concat(axisName, "</div>\n <div class='smartapp-chart-tooltip-content__data'>").concat(tooltipContent, "</div>\n </div>\n ");
59
+ };
60
+ export var renderPieChartTooltip = function (_a) {
61
+ var name = _a.name, value = _a.value;
62
+ return "\n <div class='smartapp-pie-chart-tooltip-content'>\n <div class='smartapp-pie-chart-tooltip-content__axis-name'>".concat(name, "</div>\n <div class='smartapp-pie-chart-tooltip-content__value'>").concat(value, "</div>\n </div>\n");
63
+ };
64
+ export var generateLegendItems = function (chartType, chartRef) {
65
+ var _a;
66
+ var chartInstance = (_a = chartRef.current) === null || _a === void 0 ? void 0 : _a.getEchartsInstance();
67
+ var chartOption = chartInstance === null || chartInstance === void 0 ? void 0 : chartInstance.getOption();
68
+ var series = chartOption === null || chartOption === void 0 ? void 0 : chartOption.series;
69
+ if (isArray(series) && !isEmpty(series))
70
+ return isPieChart(chartType) ? series[0].data : series;
71
+ return [];
72
+ };
107
73
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/сomponents/Charts/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/сomponents/Charts/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,51 +1,88 @@
1
- import { OPTIONS } from './constants';
1
+ import { RefObject } from 'react';
2
+ import ReactEcharts from 'echarts-for-react';
3
+ type TLegendVisibility = {
4
+ [name: string]: boolean;
5
+ };
6
+ type TBatchItem = {
7
+ dataIndex: number;
8
+ };
9
+ type TItemStyle = {
10
+ color: string;
11
+ };
12
+ type TLegendItems = {
13
+ name: string;
14
+ value?: number;
15
+ data?: number[];
16
+ itemStyle: TItemStyle;
17
+ };
18
+ export type TMouseover = {
19
+ name: string;
20
+ };
21
+ export type TDataItem = {
22
+ name: string;
23
+ color: string;
24
+ };
2
25
  export type TChartData = {
3
26
  name: string;
4
27
  color: string;
5
28
  data: number[];
6
29
  };
7
- export interface IChartProps {
8
- title?: string;
9
- xAxis: string[];
10
- data: TChartData[];
11
- }
12
30
  export type TChartPieData = {
13
31
  name: string;
14
32
  color: string;
15
33
  value: number;
16
34
  };
35
+ export type TTooltipFormatterParam = {
36
+ name: string;
37
+ value: number;
38
+ color: string;
39
+ dataIndex: number;
40
+ };
41
+ export type TAxisLabel = {
42
+ value: string;
43
+ textStyle: {
44
+ color: string;
45
+ };
46
+ };
47
+ export type THighlightChart = {
48
+ batch?: TBatchItem[];
49
+ };
50
+ export type TRenderChartTooltip = {
51
+ chartType: string;
52
+ params: TTooltipFormatterParam[];
53
+ tooltipXAxis?: string[];
54
+ };
55
+ export interface IChartProps {
56
+ chartHeight?: number;
57
+ title?: string;
58
+ xAxis: string[];
59
+ tooltipXAxis?: string[];
60
+ data: TChartData[];
61
+ legendUnits?: string;
62
+ }
17
63
  export interface IChartPieProps {
64
+ chartSize?: number;
18
65
  title?: string;
19
66
  subtitle: string;
20
67
  data: TChartPieData[];
68
+ legendUnits?: string;
21
69
  }
22
- export type TLegendVisibility = {
23
- [name: string]: boolean;
24
- };
25
70
  export type TLegendsChanged = {
26
71
  name: string;
27
72
  selected: TLegendVisibility;
28
73
  };
29
- export type TCommonChartSettings = {
30
- bottom: number;
31
- icon: OPTIONS.circle;
32
- textStyle: {
33
- rich: {
34
- Name: {
35
- fontSize: number;
36
- align: OPTIONS.center;
37
- };
38
- value: {
39
- fontSize: number;
40
- align: OPTIONS.center;
41
- };
42
- };
43
- };
44
- data?: string[];
45
- formatter?: (name: string) => string;
46
- itemGap?: number;
47
- };
48
- export type TGenerateLegendProps = {
49
- data: TChartData[] | TChartPieData[];
74
+ export interface IChartLegendProps {
75
+ chartRef: RefObject<ReactEcharts | null>;
76
+ chartType: string;
77
+ legendItems: TLegendItems[];
78
+ legendUnits?: string;
79
+ }
80
+ export type TUseEvents = {
81
+ chartRef: RefObject<ReactEcharts | null>;
50
82
  chartType: string;
51
83
  };
84
+ export type TUsePieEvents = {
85
+ chartRef: RefObject<ReactEcharts | null>;
86
+ data: TChartPieData[];
87
+ };
88
+ export {};
@@ -0,0 +1,5 @@
1
+ import { THighlightChart, TUseEvents } from './types';
2
+ export declare const useEvents: ({ chartRef, chartType }: TUseEvents) => {
3
+ highlight: ({ batch }: THighlightChart) => void;
4
+ downplay: () => void;
5
+ };
@@ -0,0 +1,45 @@
1
+ import { isArray, isEmpty } from 'lodash';
2
+ import { isLineChart } from './helpers';
3
+ import { COLORS } from '../../constants';
4
+ import { DISPATCH_ACTION_TYPES } from './constants';
5
+ var black = COLORS.black;
6
+ export var useEvents = function (_a) {
7
+ var chartRef = _a.chartRef, chartType = _a.chartType;
8
+ var getChartInstance = function () { var _a; return (_a = chartRef.current) === null || _a === void 0 ? void 0 : _a.getEchartsInstance(); };
9
+ var getChartOption = function () { var _a; return (_a = getChartInstance()) === null || _a === void 0 ? void 0 : _a.getOption(); };
10
+ var generateAxisLabel = function (label) { return (typeof label === 'object' ? label.value : label); };
11
+ var generateXAxisData = function () {
12
+ var _a;
13
+ var xAxis = (_a = getChartOption()) === null || _a === void 0 ? void 0 : _a.xAxis;
14
+ return isArray(xAxis) && !isEmpty(xAxis) ? xAxis[0].data : [];
15
+ };
16
+ var highlight = function (_a) {
17
+ var batch = _a.batch;
18
+ var chartInstance = getChartInstance();
19
+ var initialXAxisData = generateXAxisData();
20
+ if (batch === null || batch === void 0 ? void 0 : batch.length) {
21
+ var dataIndex_1 = batch[0].dataIndex;
22
+ var xAxisData = initialXAxisData.map(function (label, index) {
23
+ var value = generateAxisLabel(label);
24
+ return index === dataIndex_1 ? { value: value, textStyle: { color: black } } : value;
25
+ });
26
+ chartInstance === null || chartInstance === void 0 ? void 0 : chartInstance.setOption({
27
+ xAxis: [
28
+ {
29
+ data: xAxisData,
30
+ formatter: function (label) { return generateAxisLabel(label); },
31
+ },
32
+ ],
33
+ });
34
+ isLineChart(chartType) && (chartInstance === null || chartInstance === void 0 ? void 0 : chartInstance.dispatchAction({ type: DISPATCH_ACTION_TYPES.highlight, dataIndex: dataIndex_1 }));
35
+ }
36
+ };
37
+ var downplay = function () {
38
+ var chartInstance = getChartInstance();
39
+ var initialXAxisData = generateXAxisData();
40
+ var xAxisData = initialXAxisData.map(function (label) { return generateAxisLabel(label); });
41
+ chartInstance === null || chartInstance === void 0 ? void 0 : chartInstance.setOption({ xAxis: [{ data: xAxisData }] });
42
+ };
43
+ return { highlight: highlight, downplay: downplay };
44
+ };
45
+ //# sourceMappingURL=useEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEvents.js","sourceRoot":"","sources":["../../../../src/сomponents/Charts/useEvents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { TLegendsChanged, TMouseover, TUsePieEvents } from './types';
2
+ export declare const usePieEvents: ({ chartRef, data }: TUsePieEvents) => {
3
+ legendselectchanged: ({ selected }: TLegendsChanged) => void;
4
+ mouseover: ({ name }: TMouseover) => void;
5
+ mouseout: () => void;
6
+ };
@@ -0,0 +1,57 @@
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
+ import { isArray, isEmpty } from 'lodash';
13
+ import Color from 'color';
14
+ import { calculatePieValue } from './helpers';
15
+ export var usePieEvents = function (_a) {
16
+ var chartRef = _a.chartRef, data = _a.data;
17
+ var getChartInstance = function () { var _a; return (_a = chartRef.current) === null || _a === void 0 ? void 0 : _a.getEchartsInstance(); };
18
+ var getChartOption = function () { var _a; return (_a = getChartInstance()) === null || _a === void 0 ? void 0 : _a.getOption(); };
19
+ var getSeriesData = function () {
20
+ var chartOption = getChartOption();
21
+ var series = chartOption === null || chartOption === void 0 ? void 0 : chartOption.series;
22
+ return isArray(series) && !isEmpty(series) ? series[0].data : [];
23
+ };
24
+ var legendselectchanged = function (_a) {
25
+ var selected = _a.selected;
26
+ var chartInstance = getChartInstance();
27
+ var filteredData = data.filter(function (_a) {
28
+ var name = _a.name;
29
+ return selected[name];
30
+ });
31
+ var subtext = calculatePieValue(filteredData);
32
+ chartInstance === null || chartInstance === void 0 ? void 0 : chartInstance.setOption({ title: { subtext: subtext } });
33
+ };
34
+ var mouseover = function (_a) {
35
+ var name = _a.name;
36
+ var chartInstance = getChartInstance();
37
+ var series = getSeriesData();
38
+ var data = series.map(function (dataItem) {
39
+ var dataItemName = dataItem.name, color = dataItem.color;
40
+ var _a = Color(color).rgb().object(), r = _a.r, g = _a.g, b = _a.b;
41
+ var itemStyle = dataItemName === name ? { color: color } : { color: "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(0.65, ")") };
42
+ return __assign(__assign({}, dataItem), { itemStyle: itemStyle });
43
+ });
44
+ chartInstance === null || chartInstance === void 0 ? void 0 : chartInstance.setOption({ series: [{ data: data }] });
45
+ };
46
+ var mouseout = function () {
47
+ var chartInstance = getChartInstance();
48
+ var series = getSeriesData();
49
+ var data = series.map(function (dataItem) {
50
+ var color = dataItem.color;
51
+ return __assign(__assign({}, dataItem), { itemStyle: { color: color } });
52
+ });
53
+ chartInstance === null || chartInstance === void 0 ? void 0 : chartInstance.setOption({ series: [{ data: data }] });
54
+ };
55
+ return { legendselectchanged: legendselectchanged, mouseover: mouseover, mouseout: mouseout };
56
+ };
57
+ //# sourceMappingURL=usePieEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePieEvents.js","sourceRoot":"","sources":["../../../../src/сomponents/Charts/usePieEvents.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,8 @@ var CheckBox = function (_a) {
31
31
  }, []);
32
32
  var handleMouseDown = function () { var _a; return (_a = checkBoxRef.current) === null || _a === void 0 ? void 0 : _a.classList.add('smartapp-check-box__pressed'); };
33
33
  var handleMouseUp = function () { var _a; return (_a = checkBoxRef.current) === null || _a === void 0 ? void 0 : _a.classList.remove('smartapp-check-box__pressed'); };
34
- return (_jsx("div", __assign({ ref: checkBoxRef, className: classNames('smartapp-check-box', className), style: styles }, { children: _jsxs("label", __assign({ htmlFor: "cb-".concat(id) }, { children: [_jsx("input", { id: "cb-".concat(id), type: "checkbox", className: "smartapp-check-box__custom-check-box", disabled: isDisabled, checked: isChecked, onChange: onChange }), isChecked ? (_jsx(CheckIcon, { style: { color: generateColor(checkedColor, COLORS.blue) }, onMouseDown: handleMouseDown })) : (_jsx("span", { className: "checkmark", onMouseDown: handleMouseDown }))] })) })));
34
+ var handleClick = function (event) { return event.stopPropagation(); };
35
+ return (_jsx("div", __assign({ ref: checkBoxRef, className: classNames('smartapp-check-box', className), style: styles }, { children: _jsxs("label", __assign({ htmlFor: "cb-".concat(id) }, { children: [_jsx("input", { id: "cb-".concat(id), type: "checkbox", className: "smartapp-check-box__custom-check-box", disabled: isDisabled, checked: isChecked, onChange: onChange, onClick: handleClick }), isChecked ? (_jsx(CheckIcon, { style: { color: generateColor(checkedColor, COLORS.blue) }, onMouseDown: handleMouseDown })) : (_jsx("span", { className: "checkmark", onMouseDown: handleMouseDown }))] })) })));
35
36
  };
36
37
  export default CheckBox;
37
38
  //# sourceMappingURL=Checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/сomponents/Checkbox/Checkbox.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,0BAA0B,CAAA;AAEjC,IAAM,QAAQ,GAAG,UAAC,EAUD;QATf,EAAE,QAAA,EACF,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,SAAS,eAAA,EACT,MAAM,YAAA,EACN,YAAY,kBAAA,EACZ,iBAAiB,uBAAA,EACjB,mBAAmB,yBAAA,EACnB,gBAAgC,EAAhC,QAAQ,mBAAG,cAAY,OAAA,SAAS,EAAT,CAAS,KAAA;IAEhC,IAAM,WAAW,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IAEvD,SAAS,CAAC;QACR,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,aAAa,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QACvH,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IAC/H,CAAC,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAE5C,SAAS,CAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAEjD,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACtD,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAM,eAAe,GAAG,sBAAM,OAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA,EAAA,CAAA;IAC/F,IAAM,aAAa,GAAG,sBAAM,OAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,SAAS,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAA,EAAA,CAAA;IAEhG,OAAO,CACL,uBAAK,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,gBAC1F,0BAAO,OAAO,EAAE,aAAM,EAAE,CAAE,iBACxB,gBACE,EAAE,EAAE,aAAM,EAAE,CAAE,EACd,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,sCAAsC,EAChD,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,GAClB,EACD,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,GAAI,CACxG,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,WAAW,EAAC,WAAW,EAAE,eAAe,GAAI,CAC7D,KACK,IACJ,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/сomponents/Checkbox/Checkbox.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,0BAA0B,CAAA;AAEjC,IAAM,QAAQ,GAAG,UAAC,EAUD;QATf,EAAE,QAAA,EACF,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,SAAS,eAAA,EACT,MAAM,YAAA,EACN,YAAY,kBAAA,EACZ,iBAAiB,uBAAA,EACjB,mBAAmB,yBAAA,EACnB,gBAAgC,EAAhC,QAAQ,mBAAG,cAAY,OAAA,SAAS,EAAT,CAAS,KAAA;IAEhC,IAAM,WAAW,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IAEvD,SAAS,CAAC;QACR,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,aAAa,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QACvH,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IAC/H,CAAC,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAE5C,SAAS,CAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAEjD,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACtD,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAM,eAAe,GAAG,sBAAM,OAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA,EAAA,CAAA;IAC/F,IAAM,aAAa,GAAG,sBAAM,OAAA,MAAA,WAAW,CAAC,OAAO,0CAAE,SAAS,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAA,EAAA,CAAA;IAEhG,IAAM,WAAW,GAAG,UAAC,KAAyC,IAAK,OAAA,KAAK,CAAC,eAAe,EAAE,EAAvB,CAAuB,CAAA;IAE1F,OAAO,CACL,uBAAK,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,gBAC1F,0BAAO,OAAO,EAAE,aAAM,EAAE,CAAE,iBACxB,gBACE,EAAE,EAAE,aAAM,EAAE,CAAE,EACd,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,sCAAsC,EAChD,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,GACpB,EACD,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,GAAI,CACxG,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,WAAW,EAAC,WAAW,EAAE,eAAe,GAAI,CAC7D,KACK,IACJ,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { IContextMenuProps } from './types';
2
2
  import '../../styles/styles.scss';
3
- declare const ContextMenu: ({ theme, isMenuOpen, isClickForbidden, position: { x, y }, menuWidth, containerClassName, menuClassName, itemClassName, containerStyles, menuStyles, itemStyles, items, closeMenu, }: IContextMenuProps) => import("react/jsx-runtime").JSX.Element | null;
3
+ declare const ContextMenu: ({ theme, isMenuOpen, isClickForbidden, position: { x, y }, menuWidth, containerClassName, menuClassName, itemClassName, containerStyles, menuStyles, itemStyles, items, closeMenu, isCloseOnItemClick, }: IContextMenuProps) => import("react/jsx-runtime").JSX.Element | null;
4
4
  export default ContextMenu;
@@ -11,14 +11,17 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { useLayoutEffect, useRef, useState } from 'react';
14
+ import { v4 as uuidv4 } from 'uuid';
14
15
  import classNames from 'classnames';
16
+ import Checkbox from '../Checkbox';
15
17
  import { CONTEXT_MENU_SAFE_SPACE, CONTEXT_MENU_WIDTH, THEME } from '../../constants';
16
18
  import '../../styles/styles.scss';
19
+ var generateCheckBoxId = function () { return uuidv4(); };
17
20
  var ContextMenu = function (_a) {
18
21
  var _b;
19
- var _c = _a.theme, theme = _c === void 0 ? THEME.default : _c, isMenuOpen = _a.isMenuOpen, _d = _a.isClickForbidden, isClickForbidden = _d === void 0 ? false : _d, _e = _a.position, x = _e.x, y = _e.y, _f = _a.menuWidth, menuWidth = _f === void 0 ? CONTEXT_MENU_WIDTH : _f, containerClassName = _a.containerClassName, menuClassName = _a.menuClassName, itemClassName = _a.itemClassName, containerStyles = _a.containerStyles, _g = _a.menuStyles, menuStyles = _g === void 0 ? {} : _g, _h = _a.itemStyles, itemStyles = _h === void 0 ? {} : _h, items = _a.items, closeMenu = _a.closeMenu;
22
+ var _c = _a.theme, theme = _c === void 0 ? THEME.default : _c, isMenuOpen = _a.isMenuOpen, _d = _a.isClickForbidden, isClickForbidden = _d === void 0 ? false : _d, _e = _a.position, x = _e.x, y = _e.y, _f = _a.menuWidth, menuWidth = _f === void 0 ? CONTEXT_MENU_WIDTH : _f, containerClassName = _a.containerClassName, menuClassName = _a.menuClassName, itemClassName = _a.itemClassName, containerStyles = _a.containerStyles, _g = _a.menuStyles, menuStyles = _g === void 0 ? {} : _g, _h = _a.itemStyles, itemStyles = _h === void 0 ? {} : _h, items = _a.items, closeMenu = _a.closeMenu, _j = _a.isCloseOnItemClick, isCloseOnItemClick = _j === void 0 ? true : _j;
20
23
  var elementRef = useRef(null);
21
- var _j = useState(((_b = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0), contextMenuHeight = _j[0], setContextMenuHeight = _j[1];
24
+ var _k = useState(((_b = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0), contextMenuHeight = _k[0], setContextMenuHeight = _k[1];
22
25
  var clientHeight = document.documentElement.clientHeight;
23
26
  var clientWidth = document.documentElement.clientWidth;
24
27
  var handleContextMenu = function (event) {
@@ -30,25 +33,31 @@ var ContextMenu = function (_a) {
30
33
  setContextMenuHeight(((_a = elementRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0);
31
34
  }, [isMenuOpen]);
32
35
  var handleMenuItemClick = function (action) { return !isClickForbidden && action(); };
33
- var handleMenuClose = function (event) {
34
- if (!isClickForbidden) {
35
- event.stopPropagation();
36
+ var handleMenuClose = function (_a) {
37
+ var event = _a.event, _b = _a.isItemClick, isItemClick = _b === void 0 ? true : _b;
38
+ event.stopPropagation();
39
+ if (isItemClick && !isCloseOnItemClick)
40
+ return;
41
+ if (!isClickForbidden)
36
42
  closeMenu();
37
- }
38
43
  };
39
44
  var contextMenuItems = items.map(function (_a) {
40
- var _b = _a.isNegativeAction, isNegativeAction = _b === void 0 ? false : _b, _c = _a.isSelected, isSelected = _c === void 0 ? false : _c, _d = _a.isDisabled, isDisabled = _d === void 0 ? false : _d, title = _a.title, icon = _a.icon, action = _a.action;
45
+ var _b = _a.isNegativeAction, isNegativeAction = _b === void 0 ? false : _b, _c = _a.isSelected, isSelected = _c === void 0 ? false : _c, _d = _a.isDisabled, isDisabled = _d === void 0 ? false : _d, title = _a.title, icon = _a.icon, action = _a.action, _e = _a.isWithCheckbox, isWithCheckbox = _e === void 0 ? false : _e, _f = _a.isChecked, isChecked = _f === void 0 ? false : _f;
41
46
  return (_jsxs("button", __assign({ className: classNames({
47
+ 'smartapp-context-menu__items--checkbox': isWithCheckbox,
42
48
  'smartapp-context-menu__items--negative': isNegativeAction,
43
49
  'smartapp-context-menu__items--selected': isSelected,
44
50
  'smartapp-context-menu__items--disabled': isDisabled,
45
- }, itemClassName), disabled: isDisabled, style: itemStyles, onClick: function () { return handleMenuItemClick(action); } }, { children: [icon && _jsx("div", { children: icon }), _jsx("span", { children: title })] }), title));
51
+ }, itemClassName), disabled: isDisabled, style: itemStyles, onClick: function () { return handleMenuItemClick(action); } }, { children: [_jsxs("div", __assign({ className: classNames('smartapp-context-menu__items--content', {
52
+ 'smartapp-context-menu__items--checkbox__content': isWithCheckbox,
53
+ 'smartapp-context-menu__items--disabled__content': isDisabled,
54
+ }) }, { children: [icon && _jsx("div", __assign({ className: "smartapp-context-menu__items--content__icon" }, { children: icon })), _jsx("span", { children: title })] })), isWithCheckbox && _jsx(Checkbox, { id: generateCheckBoxId(), isChecked: isChecked, isDisabled: isDisabled })] }), title));
46
55
  });
47
56
  var contextMenuStyles = __assign({ top: y + contextMenuHeight > clientHeight ? clientHeight - contextMenuHeight - CONTEXT_MENU_SAFE_SPACE : y, left: x + menuWidth > clientWidth ? clientWidth - menuWidth - CONTEXT_MENU_SAFE_SPACE : x, width: menuWidth }, menuStyles);
48
57
  if (!isMenuOpen) {
49
58
  return null;
50
59
  }
51
- return (_jsx("div", __assign({ className: classNames('smartapp-context-menu', containerClassName), style: containerStyles, onClick: handleMenuClose, onContextMenu: handleContextMenu }, { children: _jsx("div", __assign({ ref: elementRef, className: classNames('smartapp-context-menu__items', "smartapp-context-menu__items--".concat(theme), menuClassName), style: contextMenuStyles }, { children: contextMenuItems })) })));
60
+ return (_jsx("div", __assign({ className: classNames('smartapp-context-menu', containerClassName), style: containerStyles, onClick: function (event) { return handleMenuClose({ event: event, isItemClick: false }); }, onContextMenu: handleContextMenu }, { children: _jsx("div", __assign({ ref: elementRef, className: classNames('smartapp-context-menu__items', "smartapp-context-menu__items--".concat(theme), menuClassName), style: contextMenuStyles, onClick: function (event) { return handleMenuClose({ event: event }); } }, { children: contextMenuItems })) })));
52
61
  };
53
62
  export default ContextMenu;
54
63
  //# sourceMappingURL=ContextMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../../src/сomponents/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../../src/сomponents/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,18 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { IThemeProps, TStyles } from '../../constants';
3
- type MenuItem = {
3
+ export type MenuItem = {
4
4
  isNegativeAction?: boolean;
5
5
  isSelected?: boolean;
6
6
  isDisabled?: boolean;
7
7
  title: string;
8
8
  action: () => void;
9
9
  icon?: ReactElement;
10
+ isWithCheckbox?: boolean;
11
+ isChecked?: boolean;
10
12
  };
11
13
  export interface IContextMenuProps extends IThemeProps {
12
14
  isMenuOpen: boolean;
15
+ isCloseOnItemClick?: boolean;
13
16
  isClickForbidden?: boolean;
14
17
  position: {
15
18
  x: number;
@@ -25,4 +28,3 @@ export interface IContextMenuProps extends IThemeProps {
25
28
  items: MenuItem[];
26
29
  closeMenu: () => void;
27
30
  }
28
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollBar.js","sourceRoot":"","sources":["../../../../src/сomponents/ScrollBar/ScrollBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollBar.js","sourceRoot":"","sources":["../../../../src/сomponents/ScrollBar/ScrollBar.tsx"],"names":[],"mappings":"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"}
@@ -383,6 +383,13 @@ var UserDropdown = function (_a) {
383
383
  }
384
384
  // eslint-disable-next-line
385
385
  }, [selectedEntries]);
386
+ useEffect(function () {
387
+ var handleVisibilityChange = function () { var _a; return document.hidden && ((_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.blur()); };
388
+ document.addEventListener('visibilitychange', handleVisibilityChange);
389
+ return function () {
390
+ document.removeEventListener('visibilitychange', handleVisibilityChange);
391
+ };
392
+ }, []);
386
393
  var OptionComponent = useCallback(function (props) { return _jsx(Option, __assign({}, props, { children: props.children })); }, []);
387
394
  var MenuListComponent = useCallback(function (props) { return (_jsx(MenuList, __assign({}, props, { children: props.children, appTheme: theme, selectRef: selectRef, scrollFromTop: menuScrollFromTop, hasNextPage: hasNextPage, isLoading: isLoading, isUserTyping: isUserTyping, isNextPageLoading: isNextPageLoading, onLoadNextPage: function (inputValue) { return onLoadNextPage && onLoadNextPage(inputValue); } }))); }, [hasNextPage, isLoading, isNextPageLoading, isUserTyping, onLoadNextPage, theme]);
388
395
  return (_jsxs("div", __assign({ id: userDropdownId, className: classNames('smartapp-user-dropdown', containerClassName), style: containerStyles }, { children: [renderTitle(), _jsxs("div", __assign({ className: "smartapp-user-dropdown__container" }, { children: [renderMask(), _jsx(Select, { ref: selectRef, isMulti: true, openMenuOnFocus: true, blurInputOnSelect: false, captureMenuScroll: false, isSearchable: isSearchable, menuPlacement: menuPosition, controlShouldRenderValue: isChipsVisible, backspaceRemovesValue: isChipsVisible, isDisabled: isDisabled, closeMenuOnSelect: isMenuCloseOnSelect, isLoading: isLoading || isUserTyping, isClearable: false, styles: generateStyles(), placeholder: placeholder || '', noOptionsMessage: generateNoOptionsMessage, loadingMessage: function () { return _jsx(LoadingMessage, { theme: theme }); }, value: selectedUsers, options: !isNull(corporateEntries) || !isNull(myContactsEntries) ? generateOptions() : undefined, filterOption: handleFilterOption, onInputChange: handleInputChange, onChange: handleChange, onMenuClose: handleMenuClose, onMenuOpen: onMenuOpen, onKeyDown: handleKeyDown, onBlur: handleBlur, onFocus: handleFocus, components: {