@semcore/d3-chart 3.18.1 → 3.18.2

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 (177) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/README.md +1 -1
  3. package/lib/cjs/Area.js +9 -9
  4. package/lib/cjs/Axis.js +14 -14
  5. package/lib/cjs/Bar.js +8 -8
  6. package/lib/cjs/Bubble.js +10 -10
  7. package/lib/cjs/Donut.js +7 -7
  8. package/lib/cjs/Dots.js +10 -10
  9. package/lib/cjs/HorizontalBar.js +8 -8
  10. package/lib/cjs/Hover.js +3 -3
  11. package/lib/cjs/Line.js +13 -11
  12. package/lib/cjs/Line.js.map +1 -1
  13. package/lib/cjs/Plot.js +3 -3
  14. package/lib/cjs/Radar.js +17 -17
  15. package/lib/cjs/RadialTree.js +10 -10
  16. package/lib/cjs/ReferenceLine.js +9 -9
  17. package/lib/cjs/ScatterPlot.js +8 -8
  18. package/lib/cjs/ScatterPlot.js.map +1 -1
  19. package/lib/cjs/Tooltip.js +8 -8
  20. package/lib/cjs/Venn.js +7 -7
  21. package/lib/cjs/a11y/PlotA11yModule.js +2 -2
  22. package/lib/cjs/a11y/PlotA11yView.js +2 -2
  23. package/lib/cjs/component/Chart/AbstractChart.js +420 -0
  24. package/lib/cjs/component/Chart/AbstractChart.js.map +1 -0
  25. package/lib/cjs/component/Chart/AbstractChart.type.js +2 -0
  26. package/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -0
  27. package/lib/cjs/component/Chart/AreaChart.js +160 -0
  28. package/lib/cjs/component/Chart/AreaChart.js.map +1 -0
  29. package/lib/cjs/component/Chart/AreaChart.type.js +2 -0
  30. package/lib/cjs/component/Chart/AreaChart.type.js.map +1 -0
  31. package/lib/cjs/component/Chart/BarChart.js +253 -0
  32. package/lib/cjs/component/Chart/BarChart.js.map +1 -0
  33. package/lib/cjs/component/Chart/BarChart.type.js +2 -0
  34. package/lib/cjs/component/Chart/BarChart.type.js.map +1 -0
  35. package/lib/cjs/component/Chart/BubbleChart.js +145 -0
  36. package/lib/cjs/component/Chart/BubbleChart.js.map +1 -0
  37. package/lib/cjs/component/Chart/BubbleChart.type.js +2 -0
  38. package/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -0
  39. package/lib/cjs/component/Chart/DonutChart.js +117 -0
  40. package/lib/cjs/component/Chart/DonutChart.js.map +1 -0
  41. package/lib/cjs/component/Chart/DonutChart.type.js +2 -0
  42. package/lib/cjs/component/Chart/DonutChart.type.js.map +1 -0
  43. package/lib/cjs/component/Chart/HistogramChart.js +189 -0
  44. package/lib/cjs/component/Chart/HistogramChart.js.map +1 -0
  45. package/lib/cjs/component/Chart/HistogramChart.type.js +2 -0
  46. package/lib/cjs/component/Chart/HistogramChart.type.js.map +1 -0
  47. package/lib/cjs/component/Chart/LineChart.js +147 -0
  48. package/lib/cjs/component/Chart/LineChart.js.map +1 -0
  49. package/lib/cjs/component/Chart/LineChart.type.js +2 -0
  50. package/lib/cjs/component/Chart/LineChart.type.js.map +1 -0
  51. package/lib/cjs/component/Chart/RadarChart.js +121 -0
  52. package/lib/cjs/component/Chart/RadarChart.js.map +1 -0
  53. package/lib/cjs/component/Chart/RadarChart.type.js +2 -0
  54. package/lib/cjs/component/Chart/RadarChart.type.js.map +1 -0
  55. package/lib/cjs/component/Chart/ScatterPlotChart.js +159 -0
  56. package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -0
  57. package/lib/cjs/component/Chart/ScatterPlotChart.type.js +2 -0
  58. package/lib/cjs/component/Chart/ScatterPlotChart.type.js.map +1 -0
  59. package/lib/cjs/component/Chart/VennChart.js +144 -0
  60. package/lib/cjs/component/Chart/VennChart.js.map +1 -0
  61. package/lib/cjs/component/Chart/VennChart.type.js +2 -0
  62. package/lib/cjs/component/Chart/VennChart.type.js.map +1 -0
  63. package/lib/cjs/component/Chart/index.js +28 -0
  64. package/lib/cjs/component/Chart/index.js.map +1 -0
  65. package/lib/cjs/component/ChartLegend/BaseLegend.type.js.map +1 -1
  66. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  67. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +20 -17
  68. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  69. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -7
  70. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  71. package/lib/cjs/component/ChartLegend/LegendTable/legend-table.shadow.css +5 -2
  72. package/lib/cjs/index.js +7 -0
  73. package/lib/cjs/index.js.map +1 -1
  74. package/lib/cjs/style/donut.shadow.css +3 -0
  75. package/lib/cjs/types/Line.d.js.map +1 -1
  76. package/lib/cjs/types/index.d.js +130 -1
  77. package/lib/cjs/types/index.d.js.map +1 -1
  78. package/lib/es6/Area.js +9 -9
  79. package/lib/es6/Axis.js +14 -14
  80. package/lib/es6/Bar.js +8 -8
  81. package/lib/es6/Bubble.js +10 -10
  82. package/lib/es6/Donut.js +7 -7
  83. package/lib/es6/Dots.js +10 -10
  84. package/lib/es6/HorizontalBar.js +8 -8
  85. package/lib/es6/Hover.js +3 -3
  86. package/lib/es6/Line.js +13 -11
  87. package/lib/es6/Line.js.map +1 -1
  88. package/lib/es6/Plot.js +3 -3
  89. package/lib/es6/Radar.js +17 -17
  90. package/lib/es6/RadialTree.js +10 -10
  91. package/lib/es6/ReferenceLine.js +9 -9
  92. package/lib/es6/ScatterPlot.js +8 -8
  93. package/lib/es6/ScatterPlot.js.map +1 -1
  94. package/lib/es6/Tooltip.js +8 -8
  95. package/lib/es6/Venn.js +7 -7
  96. package/lib/es6/a11y/PlotA11yModule.js +2 -2
  97. package/lib/es6/a11y/PlotA11yView.js +2 -2
  98. package/lib/es6/component/Chart/AbstractChart.js +412 -0
  99. package/lib/es6/component/Chart/AbstractChart.js.map +1 -0
  100. package/lib/es6/component/Chart/AbstractChart.type.js +2 -0
  101. package/lib/es6/component/Chart/AbstractChart.type.js.map +1 -0
  102. package/lib/es6/component/Chart/AreaChart.js +152 -0
  103. package/lib/es6/component/Chart/AreaChart.js.map +1 -0
  104. package/lib/es6/component/Chart/AreaChart.type.js +2 -0
  105. package/lib/es6/component/Chart/AreaChart.type.js.map +1 -0
  106. package/lib/es6/component/Chart/BarChart.js +245 -0
  107. package/lib/es6/component/Chart/BarChart.js.map +1 -0
  108. package/lib/es6/component/Chart/BarChart.type.js +2 -0
  109. package/lib/es6/component/Chart/BarChart.type.js.map +1 -0
  110. package/lib/es6/component/Chart/BubbleChart.js +137 -0
  111. package/lib/es6/component/Chart/BubbleChart.js.map +1 -0
  112. package/lib/es6/component/Chart/BubbleChart.type.js +2 -0
  113. package/lib/es6/component/Chart/BubbleChart.type.js.map +1 -0
  114. package/lib/es6/component/Chart/DonutChart.js +109 -0
  115. package/lib/es6/component/Chart/DonutChart.js.map +1 -0
  116. package/lib/es6/component/Chart/DonutChart.type.js +2 -0
  117. package/lib/es6/component/Chart/DonutChart.type.js.map +1 -0
  118. package/lib/es6/component/Chart/HistogramChart.js +181 -0
  119. package/lib/es6/component/Chart/HistogramChart.js.map +1 -0
  120. package/lib/es6/component/Chart/HistogramChart.type.js +2 -0
  121. package/lib/es6/component/Chart/HistogramChart.type.js.map +1 -0
  122. package/lib/es6/component/Chart/LineChart.js +139 -0
  123. package/lib/es6/component/Chart/LineChart.js.map +1 -0
  124. package/lib/es6/component/Chart/LineChart.type.js +2 -0
  125. package/lib/es6/component/Chart/LineChart.type.js.map +1 -0
  126. package/lib/es6/component/Chart/RadarChart.js +113 -0
  127. package/lib/es6/component/Chart/RadarChart.js.map +1 -0
  128. package/lib/es6/component/Chart/RadarChart.type.js +2 -0
  129. package/lib/es6/component/Chart/RadarChart.type.js.map +1 -0
  130. package/lib/es6/component/Chart/ScatterPlotChart.js +151 -0
  131. package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -0
  132. package/lib/es6/component/Chart/ScatterPlotChart.type.js +2 -0
  133. package/lib/es6/component/Chart/ScatterPlotChart.type.js.map +1 -0
  134. package/lib/es6/component/Chart/VennChart.js +136 -0
  135. package/lib/es6/component/Chart/VennChart.js.map +1 -0
  136. package/lib/es6/component/Chart/VennChart.type.js +2 -0
  137. package/lib/es6/component/Chart/VennChart.type.js.map +1 -0
  138. package/lib/es6/component/Chart/index.js +21 -0
  139. package/lib/es6/component/Chart/index.js.map +1 -0
  140. package/lib/es6/component/ChartLegend/BaseLegend.type.js.map +1 -1
  141. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  142. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +20 -17
  143. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  144. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -7
  145. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  146. package/lib/es6/component/ChartLegend/LegendTable/legend-table.shadow.css +5 -2
  147. package/lib/es6/index.js +1 -0
  148. package/lib/es6/index.js.map +1 -1
  149. package/lib/es6/style/donut.shadow.css +3 -0
  150. package/lib/es6/types/Line.d.js.map +1 -1
  151. package/lib/es6/types/index.d.js +12 -0
  152. package/lib/es6/types/index.d.js.map +1 -1
  153. package/lib/types/Line.d.ts +7 -2
  154. package/lib/types/component/Chart/AbstractChart.d.ts +50 -0
  155. package/lib/types/component/Chart/AbstractChart.type.d.ts +161 -0
  156. package/lib/types/component/Chart/AreaChart.d.ts +2 -0
  157. package/lib/types/component/Chart/AreaChart.type.d.ts +16 -0
  158. package/lib/types/component/Chart/BarChart.d.ts +2 -0
  159. package/lib/types/component/Chart/BarChart.type.d.ts +19 -0
  160. package/lib/types/component/Chart/BubbleChart.d.ts +2 -0
  161. package/lib/types/component/Chart/BubbleChart.type.d.ts +17 -0
  162. package/lib/types/component/Chart/DonutChart.d.ts +2 -0
  163. package/lib/types/component/Chart/DonutChart.type.d.ts +15 -0
  164. package/lib/types/component/Chart/HistogramChart.d.ts +2 -0
  165. package/lib/types/component/Chart/HistogramChart.type.d.ts +11 -0
  166. package/lib/types/component/Chart/LineChart.d.ts +2 -0
  167. package/lib/types/component/Chart/LineChart.type.d.ts +24 -0
  168. package/lib/types/component/Chart/RadarChart.d.ts +2 -0
  169. package/lib/types/component/Chart/RadarChart.type.d.ts +14 -0
  170. package/lib/types/component/Chart/ScatterPlotChart.d.ts +2 -0
  171. package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +13 -0
  172. package/lib/types/component/Chart/VennChart.d.ts +2 -0
  173. package/lib/types/component/Chart/VennChart.type.d.ts +11 -0
  174. package/lib/types/component/Chart/index.d.ts +12 -0
  175. package/lib/types/component/ChartLegend/BaseLegend.type.d.ts +2 -2
  176. package/lib/types/index.d.ts +13 -0
  177. package/package.json +2 -2
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=AbstractChart.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractChart.type.js","names":[],"sources":["../../../../src/component/Chart/AbstractChart.type.ts"],"sourcesContent":["import React from 'react';\nimport { FlexProps } from '@semcore/flex-box';\nimport { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\nimport Icon from '@semcore/icon';\nimport { BaseChartLegendProps } from '../ChartLegend/BaseLegend.type';\nimport { TrendProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\n\nexport type BaseLegendProps = BaseChartLegendProps & {\n /**\n * Disable hover (for transition items legend of each not hovered)\n */\n disableHoverItems?: boolean;\n /**\n * Disable selectable of data items by checkboxes in Legend\n */\n disableSelectItems?: boolean;\n} & (\n | (TrendProps & {\n /**\n * How to render Legend - Flex view. Just list of legend items\n */\n legendType?: never | 'Flex';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Flex'>;\n })\n | {\n /**\n * How to render Legend - Table view. Table of legend items with some additional information in columns\n */\n legendType: 'Table';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Table'>;\n }\n );\n\nexport type ObjectData = Record<string, unknown>;\nexport type ListData = ObjectData[];\n\nexport type BaseChartProps<T extends ListData | ObjectData> = FlexProps & {\n /**\n * Chart data. For all charts except Donut(Pie), Radar and Venn should be an Array\n */\n data: T;\n /**\n * Width of plot\n */\n plotWidth: number;\n /**\n * Height of plot\n */\n plotHeight: number;\n /**\n * Margin (for Y axis points) from left side of chart container to Y axis\n */\n marginY?: number;\n /**\n * Margin (for X axis points) from bottom of chart container to X axis\n */\n marginX?: number;\n /**\n * invert axis and show horizontal charts (only for Bars!)\n */\n invertAxis?: boolean;\n\n /**\n * Show X axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showXAxis?: boolean;\n /**\n * Show Y axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showYAxis?: boolean;\n /**\n * Map with colors for data items\n */\n colorMap?: Record<string, string>;\n /**\n * Show tooltip's.\n * @default true\n */\n showTooltip?: boolean;\n /**\n * Show sum of values for selected point in tooltip\n */\n showTotalInTooltip?: boolean;\n /**\n * Scale for xAxis (see more in d3-scale)\n */\n xScale?: unknown;\n /**\n * Scale for yAxis (see more in d3-scale)\n */\n yScale?: unknown;\n /**\n * Count of ticks for X axis\n */\n xTicksCount?: number;\n /**\n * Count of ticks for Y axis\n */\n yTicksCount?: number;\n /**\n * Group key for all array-based charts (for get keys of items for legend except that group key)\n */\n groupKey?: string;\n /**\n * function for format axis item text\n */\n axisXValueFormatter?: (value: unknown) => string;\n axisYValueFormatter?: (value: unknown) => string;\n /**\n * Function for format text for tooltip\n */\n tooltipValueFormatter?: (value?: unknown) => string;\n} /**\n * By default, we show the Legend for all charts with more the one data item.\n * For hide the Legend, you should set showLegend prop to `false`.\n */ & (\n | {\n /**\n * Don't show legend\n */\n showLegend?: false;\n legendProps?: never;\n }\n | {\n /**\n * By default (if showLegend don't set), for one data item on chart,\n * Legend component will be hide, and show for more then 1 data item.\n * If set `true` - Legend component will show always.\n */\n showLegend?: true;\n /**\n * Props for Legend\n */\n legendProps?: Partial<BaseLegendProps>;\n }\n );\n\ntype LegendDataMap<T extends 'Flex' | 'Table'> = Record<\n LegendItemKey,\n {\n /**\n * Custom label for legend item (by default use keys from data item object)\n */\n label?: string;\n /**\n * Additional text after label\n */\n additionalInfo?: string;\n /**\n * Count after label\n */\n count?: number;\n /**\n * Custom Icon\n */\n icon?: typeof Icon;\n /**\n * Flag for uncheck some items by default\n */\n defaultChecked?: boolean;\n } & (T extends 'Table' ? { columns?: React.ReactNode[] } : { columns?: never })\n>;\n"],"mappings":""}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.AreaChart = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
12
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireDefault(require("react"));
17
+ var _core = _interopRequireDefault(require("@semcore/core"));
18
+ var _d3Scale = require("d3-scale");
19
+ var _ = require("../..");
20
+ var _AbstractChart2 = require("./AbstractChart");
21
+ var _flexBox = require("@semcore/flex-box");
22
+ var _typography = require("@semcore/typography");
23
+ // @ts-ignore
24
+ var AreaChartComponent = /*#__PURE__*/function (_AbstractChart) {
25
+ (0, _inherits2["default"])(AreaChartComponent, _AbstractChart);
26
+ var _super = (0, _createSuper2["default"])(AreaChartComponent);
27
+ function AreaChartComponent() {
28
+ (0, _classCallCheck2["default"])(this, AreaChartComponent);
29
+ return _super.apply(this, arguments);
30
+ }
31
+ (0, _createClass2["default"])(AreaChartComponent, [{
32
+ key: "xScale",
33
+ get: function get() {
34
+ var _this$asProps = this.asProps,
35
+ xScale = _this$asProps.xScale,
36
+ _this$asProps$marginY = _this$asProps.marginY,
37
+ marginY = _this$asProps$marginY === void 0 ? 40 : _this$asProps$marginY,
38
+ plotWidth = _this$asProps.plotWidth,
39
+ data = _this$asProps.data,
40
+ groupKey = _this$asProps.groupKey;
41
+ if (xScale) {
42
+ return xScale;
43
+ }
44
+ var testItem = data[0][groupKey];
45
+ var range = [marginY, plotWidth - this.plotPadding];
46
+ var domain = (0, _.minMax)(data, groupKey);
47
+ if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {
48
+ return (0, _d3Scale.scaleTime)(domain, range);
49
+ }
50
+ return (0, _d3Scale.scaleLinear)(domain, range);
51
+ }
52
+ }, {
53
+ key: "yScale",
54
+ get: function get() {
55
+ var _this$asProps2 = this.asProps,
56
+ yScale = _this$asProps2.yScale,
57
+ _this$asProps2$margin = _this$asProps2.marginX,
58
+ marginX = _this$asProps2$margin === void 0 ? 24 : _this$asProps2$margin,
59
+ plotHeight = _this$asProps2.plotHeight,
60
+ stacked = _this$asProps2.stacked,
61
+ data = _this$asProps2.data,
62
+ groupKey = _this$asProps2.groupKey;
63
+ if (yScale) {
64
+ return yScale;
65
+ }
66
+ var flatValues = (0, _get2["default"])((0, _getPrototypeOf2["default"])(AreaChartComponent.prototype), "flatValues", this);
67
+ var min = Math.min.apply(Math, (0, _toConsumableArray2["default"])(flatValues));
68
+ var max = stacked ? (0, _get2["default"])((0, _getPrototypeOf2["default"])(AreaChartComponent.prototype), "maxStackedValue", this) : Math.max.apply(Math, (0, _toConsumableArray2["default"])(flatValues));
69
+ return (0, _d3Scale.scaleLinear)().range([plotHeight - marginX, this.plotPadding]).domain([min, max]);
70
+ }
71
+ }, {
72
+ key: "renderChart",
73
+ value: function renderChart() {
74
+ var _this$asProps3 = this.asProps,
75
+ groupKey = _this$asProps3.groupKey,
76
+ curve = _this$asProps3.curve,
77
+ showDots = _this$asProps3.showDots,
78
+ stacked = _this$asProps3.stacked;
79
+ var _this$state = this.state,
80
+ dataDefinitions = _this$state.dataDefinitions,
81
+ highlightedLine = _this$state.highlightedLine;
82
+ if (stacked) {
83
+ return /*#__PURE__*/_react["default"].createElement(_.StackedArea, {
84
+ x: groupKey
85
+ }, dataDefinitions.map(function (item, index) {
86
+ return item.checked && /*#__PURE__*/_react["default"].createElement(_.StackedArea.Area, {
87
+ x: groupKey,
88
+ y: item.id,
89
+ key: item.id,
90
+ color: item.color,
91
+ transparent: highlightedLine !== -1 && highlightedLine !== index,
92
+ curve: curve
93
+ }, showDots && /*#__PURE__*/_react["default"].createElement(_.StackedArea.Area.Dots, {
94
+ display: true
95
+ }));
96
+ }));
97
+ }
98
+ return dataDefinitions.map(function (item, index) {
99
+ return item.checked && /*#__PURE__*/_react["default"].createElement(_.Area, {
100
+ x: groupKey,
101
+ y: item.id,
102
+ key: item.id,
103
+ color: item.color,
104
+ transparent: highlightedLine !== -1 && highlightedLine !== index,
105
+ curve: curve
106
+ }, showDots && /*#__PURE__*/_react["default"].createElement(_.Area.Dots, {
107
+ display: true
108
+ }));
109
+ });
110
+ }
111
+ }, {
112
+ key: "renderTooltip",
113
+ value: function renderTooltip() {
114
+ var _this = this;
115
+ var _this$asProps4 = this.asProps,
116
+ data = _this$asProps4.data,
117
+ groupKey = _this$asProps4.groupKey,
118
+ showTotalInTooltip = _this$asProps4.showTotalInTooltip,
119
+ showTooltip = _this$asProps4.showTooltip;
120
+ var dataDefinitions = this.state.dataDefinitions;
121
+ if (!showTooltip) {
122
+ return null;
123
+ }
124
+ return /*#__PURE__*/_react["default"].createElement(_.HoverLine.Tooltip, {
125
+ x: groupKey,
126
+ wMin: 100
127
+ }, function (_ref) {
128
+ var _dataItem$groupKey;
129
+ var xIndex = _ref.xIndex;
130
+ var dataItem = data[xIndex];
131
+ var total = _this.totalValue(dataItem);
132
+ return {
133
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_.HoverLine.Tooltip.Title, null, (_dataItem$groupKey = dataItem[groupKey]) === null || _dataItem$groupKey === void 0 ? void 0 : _dataItem$groupKey.toString()), dataDefinitions.map(function (item) {
134
+ return item.checked && /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, {
135
+ justifyContent: "space-between",
136
+ key: item.id
137
+ }, /*#__PURE__*/_react["default"].createElement(_.HoverLine.Tooltip.Dot, {
138
+ mr: 4,
139
+ color: item.color
140
+ }, item.label), /*#__PURE__*/_react["default"].createElement(_typography.Text, {
141
+ bold: true
142
+ }, _this.tooltipValueFormatter(dataItem[item.id])));
143
+ }), showTotalInTooltip === true && /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, {
144
+ mt: 2,
145
+ justifyContent: "space-between"
146
+ }, /*#__PURE__*/_react["default"].createElement(_flexBox.Box, {
147
+ mr: 4
148
+ }, "Total"), /*#__PURE__*/_react["default"].createElement(_typography.Text, {
149
+ bold: true
150
+ }, total)))
151
+ };
152
+ });
153
+ }
154
+ }]);
155
+ return AreaChartComponent;
156
+ }(_AbstractChart2.AbstractChart);
157
+ (0, _defineProperty2["default"])(AreaChartComponent, "displayName", 'Chart.Area');
158
+ var AreaChart = (0, _core["default"])(AreaChartComponent);
159
+ exports.AreaChart = AreaChart;
160
+ //# sourceMappingURL=AreaChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_flexBox","_typography","AreaChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","data","groupKey","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","stacked","flatValues","_get2","_getPrototypeOf2","prototype","min","Math","_toConsumableArray2","max","value","renderChart","_this$asProps3","curve","showDots","_this$state","state","dataDefinitions","highlightedLine","createElement","StackedArea","x","map","item","index","checked","Area","y","id","color","transparent","Dots","display","renderTooltip","_this","_this$asProps4","showTotalInTooltip","showTooltip","HoverLine","Tooltip","wMin","_ref","_dataItem$groupKey","xIndex","dataItem","total","totalValue","children","Fragment","Title","toString","Flex","justifyContent","Dot","mr","label","Text","bold","tooltipValueFormatter","mt","Box","AbstractChart","_defineProperty2","AreaChart","createComponent","exports"],"sources":["../../../../src/component/Chart/AreaChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { Area, minMax, HoverLine, StackedArea } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { AreaChartData, AreaChartProps, AreaChartType } from './AreaChart.type';\nimport { Flex, Box } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\n\nclass AreaChartComponent extends AbstractChart<AreaChartData, AreaChartProps> {\n static displayName = 'Chart.Area';\n\n get xScale() {\n const { xScale, marginY = 40, plotWidth, data, groupKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime(domain, range);\n }\n\n return scaleLinear(domain, range);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 24, plotHeight, stacked, data, groupKey } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = super.flatValues;\n const min = Math.min(...flatValues);\n const max = stacked ? super.maxStackedValue : Math.max(...flatValues);\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n renderChart() {\n const { groupKey, curve, showDots, stacked } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (stacked) {\n return (\n <StackedArea x={groupKey}>\n {dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <StackedArea.Area\n x={groupKey}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n >\n {showDots && <StackedArea.Area.Dots display />}\n </StackedArea.Area>\n )\n );\n })}\n </StackedArea>\n );\n }\n\n return dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <Area\n x={groupKey}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n >\n {showDots && <Area.Dots display />}\n </Area>\n )\n );\n });\n }\n\n renderTooltip() {\n const { data, groupKey, showTotalInTooltip, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <HoverLine.Tooltip x={groupKey} wMin={100}>\n {({ xIndex }: any) => {\n const dataItem = data[xIndex];\n const total = this.totalValue(dataItem);\n\n return {\n children: (\n <>\n <HoverLine.Tooltip.Title>{dataItem[groupKey]?.toString()}</HoverLine.Tooltip.Title>\n\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Flex justifyContent='space-between' key={item.id}>\n <HoverLine.Tooltip.Dot mr={4} color={item.color}>\n {item.label}\n </HoverLine.Tooltip.Dot>\n <Text bold>{this.tooltipValueFormatter(dataItem[item.id])}</Text>\n </Flex>\n )\n );\n })}\n\n {showTotalInTooltip === true && (\n <Flex mt={2} justifyContent='space-between'>\n <Box mr={4}>Total</Box>\n <Text bold>{total}</Text>\n </Flex>\n )}\n </>\n ),\n };\n }}\n </HoverLine.Tooltip>\n );\n }\n}\n\nexport const AreaChart: AreaChartType = createComponent(AreaChartComponent);\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=AreaChart.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaChart.type.js","names":[],"sources":["../../../../src/component/Chart/AreaChart.type.ts"],"sourcesContent":["import { Intergalactic } from '@semcore/core';\nimport { Flex } from '@semcore/flex-box';\nimport { interpolateValue } from '../../utils';\nimport { ScaleLinear, ScaleTime } from 'd3-scale';\nimport { CurveFactory } from 'd3-shape';\nimport { BaseChartProps } from './AbstractChart.type';\n\nexport type AreaChartData = Array<Record<string, number | typeof interpolateValue | Date>>;\n\nexport type AreaChartProps = BaseChartProps<AreaChartData> & {\n groupKey: string;\n xScale?: ScaleLinear<any, any> | ScaleTime<any, any>;\n yScale?: ScaleLinear<any, any>;\n showDots?: boolean;\n curve?: CurveFactory;\n stacked?: boolean;\n};\n\nexport type AreaChartType = Intergalactic.Component<typeof Flex, AreaChartProps>;\n"],"mappings":""}
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.BarChart = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _react = _interopRequireDefault(require("react"));
18
+ var _core = _interopRequireDefault(require("@semcore/core"));
19
+ var _d3Scale = require("d3-scale");
20
+ var _ = require("../..");
21
+ var _AbstractChart2 = require("./AbstractChart");
22
+ var _flexBox = require("@semcore/flex-box");
23
+ var _typography = require("@semcore/typography");
24
+ // @ts-ignore
25
+ var BarChartComponent = /*#__PURE__*/function (_AbstractChart) {
26
+ (0, _inherits2["default"])(BarChartComponent, _AbstractChart);
27
+ var _super = (0, _createSuper2["default"])(BarChartComponent);
28
+ function BarChartComponent() {
29
+ (0, _classCallCheck2["default"])(this, BarChartComponent);
30
+ return _super.apply(this, arguments);
31
+ }
32
+ (0, _createClass2["default"])(BarChartComponent, [{
33
+ key: "xScale",
34
+ get: function get() {
35
+ var _this$asProps = this.asProps,
36
+ xScale = _this$asProps.xScale,
37
+ invertAxis = _this$asProps.invertAxis;
38
+ if (xScale) {
39
+ return xScale;
40
+ }
41
+ return invertAxis ? this.valueScale : this.categoryScale;
42
+ }
43
+ }, {
44
+ key: "yScale",
45
+ get: function get() {
46
+ var _this$asProps2 = this.asProps,
47
+ yScale = _this$asProps2.yScale,
48
+ invertAxis = _this$asProps2.invertAxis;
49
+ if (yScale) {
50
+ return yScale;
51
+ }
52
+ return invertAxis ? this.categoryScale : this.valueScale;
53
+ }
54
+ }, {
55
+ key: "defaultLegendProps",
56
+ value: function defaultLegendProps() {
57
+ if (this.props.trend !== undefined) {
58
+ return {
59
+ withTrend: true
60
+ };
61
+ }
62
+ return {};
63
+ }
64
+ }, {
65
+ key: "renderTrend",
66
+ value: function renderTrend(key) {
67
+ var _this$asProps3 = this.asProps,
68
+ groupKey = _this$asProps3.groupKey,
69
+ _this$asProps3$type = _this$asProps3.type,
70
+ type = _this$asProps3$type === void 0 ? 'group' : _this$asProps3$type,
71
+ invertAxis = _this$asProps3.invertAxis,
72
+ trend = _this$asProps3.trend;
73
+ var withTrend = this.state.withTrend;
74
+ var trendItem = trend === null || trend === void 0 ? void 0 : trend[key];
75
+ if (withTrend && trendItem) {
76
+ return /*#__PURE__*/_react["default"].createElement(_.Line, {
77
+ data: trendItem,
78
+ key: "".concat(key, "_").concat(groupKey),
79
+ x: invertAxis ? 'y' : 'x',
80
+ y: invertAxis ? 'x' : 'y',
81
+ color: 'wall',
82
+ style: {
83
+ strokeWidth: 3,
84
+ strokeDasharray: 5
85
+ }
86
+ }, /*#__PURE__*/_react["default"].createElement(_.Line.Dots, {
87
+ data: trendItem,
88
+ display: true
89
+ }));
90
+ }
91
+ return null;
92
+ }
93
+ }, {
94
+ key: "renderChart",
95
+ value: function renderChart() {
96
+ var _this = this;
97
+ var _this$asProps4 = this.asProps,
98
+ groupKey = _this$asProps4.groupKey,
99
+ _this$asProps4$type = _this$asProps4.type,
100
+ type = _this$asProps4$type === void 0 ? 'group' : _this$asProps4$type,
101
+ invertAxis = _this$asProps4.invertAxis;
102
+ var _this$state = this.state,
103
+ dataDefinitions = _this$state.dataDefinitions,
104
+ highlightedLine = _this$state.highlightedLine;
105
+ if (dataDefinitions.length === 1) {
106
+ var item = dataDefinitions[0];
107
+ var BarComponent = invertAxis ? _.GroupBar.HorizontalBar : _.GroupBar.Bar;
108
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(BarComponent, {
109
+ x: invertAxis ? item.id : groupKey,
110
+ y: invertAxis ? groupKey : item.id,
111
+ key: item.id,
112
+ color: item.color
113
+ }), this.renderTrend(item.id));
114
+ }
115
+ if (type === 'group') {
116
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_.GroupBar, {
117
+ x: invertAxis ? undefined : groupKey,
118
+ y: invertAxis ? groupKey : undefined
119
+ }, dataDefinitions.map(function (item, index) {
120
+ var BarComponent = invertAxis ? _.GroupBar.HorizontalBar : _.GroupBar.Bar;
121
+ var commonBarComponentProps = {
122
+ color: item.color,
123
+ transparent: highlightedLine !== -1 && highlightedLine !== index
124
+ };
125
+ if (invertAxis) {
126
+ commonBarComponentProps.x = item.id;
127
+ } else {
128
+ commonBarComponentProps.y = item.id;
129
+ }
130
+ return item.checked && /*#__PURE__*/_react["default"].createElement(BarComponent, (0, _extends2["default"])({
131
+ key: item.id
132
+ }, commonBarComponentProps));
133
+ })), dataDefinitions.map(function (item) {
134
+ return item.checked && _this.renderTrend(item.id);
135
+ }));
136
+ }
137
+ if (type === 'stack') {
138
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_.StackBar, {
139
+ x: invertAxis ? undefined : groupKey,
140
+ y: invertAxis ? groupKey : undefined
141
+ }, dataDefinitions.map(function (item, index) {
142
+ var BarComponent = invertAxis ? _.StackBar.HorizontalBar : _.StackBar.Bar;
143
+ var commonBarComponentProps = {
144
+ color: item.color,
145
+ transparent: highlightedLine !== -1 && highlightedLine !== index
146
+ };
147
+ if (invertAxis) {
148
+ commonBarComponentProps.x = item.id;
149
+ } else {
150
+ commonBarComponentProps.y = item.id;
151
+ }
152
+ return item.checked && /*#__PURE__*/_react["default"].createElement(BarComponent, (0, _extends2["default"])({
153
+ key: item.id
154
+ }, commonBarComponentProps));
155
+ })), dataDefinitions.map(function (item) {
156
+ return item.checked && _this.renderTrend(item.id);
157
+ }));
158
+ }
159
+ return null;
160
+ }
161
+ }, {
162
+ key: "renderTooltip",
163
+ value: function renderTooltip() {
164
+ var _this2 = this;
165
+ var _this$asProps5 = this.asProps,
166
+ data = _this$asProps5.data,
167
+ groupKey = _this$asProps5.groupKey,
168
+ showTotalInTooltip = _this$asProps5.showTotalInTooltip,
169
+ showTooltip = _this$asProps5.showTooltip,
170
+ invertAxis = _this$asProps5.invertAxis;
171
+ var dataDefinitions = this.state.dataDefinitions;
172
+ if (!showTooltip) {
173
+ return null;
174
+ }
175
+ return /*#__PURE__*/_react["default"].createElement(_.HoverRect.Tooltip, {
176
+ x: invertAxis ? undefined : groupKey,
177
+ y: invertAxis ? groupKey : undefined,
178
+ wMin: 100
179
+ }, function (_ref) {
180
+ var _dataItem$groupKey;
181
+ var xIndex = _ref.xIndex,
182
+ yIndex = _ref.yIndex;
183
+ var index = invertAxis ? yIndex : xIndex;
184
+ var dataItem = data[index];
185
+ var total = _this2.totalValue(dataItem);
186
+ return {
187
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_.HoverRect.Tooltip.Title, null, (_dataItem$groupKey = dataItem[groupKey]) === null || _dataItem$groupKey === void 0 ? void 0 : _dataItem$groupKey.toString()), dataDefinitions.map(function (item) {
188
+ return item.checked && /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, {
189
+ justifyContent: "space-between",
190
+ key: item.id
191
+ }, /*#__PURE__*/_react["default"].createElement(_.HoverRect.Tooltip.Dot, {
192
+ mr: 4,
193
+ color: item.color
194
+ }, item.label), /*#__PURE__*/_react["default"].createElement(_typography.Text, {
195
+ bold: true
196
+ }, _this2.tooltipValueFormatter(dataItem[item.id])));
197
+ }), showTotalInTooltip === true && /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, {
198
+ mt: 2,
199
+ justifyContent: "space-between"
200
+ }, /*#__PURE__*/_react["default"].createElement(_flexBox.Box, {
201
+ mr: 4
202
+ }, "Total"), /*#__PURE__*/_react["default"].createElement(_typography.Text, {
203
+ bold: true
204
+ }, total)))
205
+ };
206
+ });
207
+ }
208
+ }, {
209
+ key: "categoryScale",
210
+ get: function get() {
211
+ var _this$asProps6 = this.asProps,
212
+ _this$asProps6$margin = _this$asProps6.marginY,
213
+ marginY = _this$asProps6$margin === void 0 ? 40 : _this$asProps6$margin,
214
+ _this$asProps6$margin2 = _this$asProps6.marginX,
215
+ marginX = _this$asProps6$margin2 === void 0 ? 24 : _this$asProps6$margin2,
216
+ plotWidth = _this$asProps6.plotWidth,
217
+ plotHeight = _this$asProps6.plotHeight,
218
+ invertAxis = _this$asProps6.invertAxis,
219
+ data = _this$asProps6.data,
220
+ groupKey = _this$asProps6.groupKey;
221
+ var testItem = data[0][groupKey];
222
+ var range = invertAxis ? [plotHeight - marginX, this.plotPadding] : [marginY, plotWidth - this.plotPadding];
223
+ if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {
224
+ var _domain = (0, _.minMax)(data, groupKey);
225
+ return (0, _d3Scale.scaleTime)(_domain, range);
226
+ }
227
+ var domain = data.map(function (item) {
228
+ return item[groupKey];
229
+ });
230
+ return (0, _d3Scale.scaleBand)(domain, range).paddingInner(0.4).paddingOuter(0.2);
231
+ }
232
+ }, {
233
+ key: "valueScale",
234
+ get: function get() {
235
+ var _this$asProps7 = this.asProps,
236
+ _this$asProps7$margin = _this$asProps7.marginY,
237
+ marginY = _this$asProps7$margin === void 0 ? 40 : _this$asProps7$margin,
238
+ _this$asProps7$margin2 = _this$asProps7.marginX,
239
+ marginX = _this$asProps7$margin2 === void 0 ? 24 : _this$asProps7$margin2,
240
+ plotWidth = _this$asProps7.plotWidth,
241
+ plotHeight = _this$asProps7.plotHeight,
242
+ invertAxis = _this$asProps7.invertAxis,
243
+ type = _this$asProps7.type;
244
+ var max = type === 'stack' ? (0, _get2["default"])((0, _getPrototypeOf2["default"])(BarChartComponent.prototype), "maxStackedValue", this) : Math.max.apply(Math, (0, _toConsumableArray2["default"])((0, _get2["default"])((0, _getPrototypeOf2["default"])(BarChartComponent.prototype), "flatValues", this)));
245
+ return (0, _d3Scale.scaleLinear)().range(invertAxis ? [marginY, plotWidth - this.plotPadding] : [plotHeight - marginX, this.plotPadding]).domain([0, max]);
246
+ }
247
+ }]);
248
+ return BarChartComponent;
249
+ }(_AbstractChart2.AbstractChart);
250
+ (0, _defineProperty2["default"])(BarChartComponent, "displayName", 'Chart.Bar');
251
+ var BarChart = (0, _core["default"])(BarChartComponent);
252
+ exports.BarChart = BarChart;
253
+ //# sourceMappingURL=BarChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_flexBox","_typography","BarChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","_this$asProps","asProps","xScale","invertAxis","valueScale","categoryScale","_this$asProps2","yScale","value","defaultLegendProps","props","trend","undefined","withTrend","renderTrend","_this$asProps3","groupKey","_this$asProps3$type","type","state","trendItem","createElement","Line","data","concat","x","y","color","style","strokeWidth","strokeDasharray","Dots","display","renderChart","_this","_this$asProps4","_this$asProps4$type","_this$state","dataDefinitions","highlightedLine","length","item","BarComponent","GroupBar","HorizontalBar","Bar","Fragment","id","map","index","commonBarComponentProps","transparent","checked","_extends2","StackBar","renderTooltip","_this2","_this$asProps5","showTotalInTooltip","showTooltip","HoverRect","Tooltip","wMin","_ref","_dataItem$groupKey","xIndex","yIndex","dataItem","total","totalValue","children","Title","toString","Flex","justifyContent","Dot","mr","label","Text","bold","tooltipValueFormatter","mt","Box","_this$asProps6","_this$asProps6$margin","marginY","_this$asProps6$margin2","marginX","plotWidth","plotHeight","testItem","range","plotPadding","Date","Number","isNaN","getMilliseconds","domain","minMax","scaleTime","scaleBand","paddingInner","paddingOuter","_this$asProps7","_this$asProps7$margin","_this$asProps7$margin2","max","_get2","_getPrototypeOf2","prototype","Math","_toConsumableArray2","scaleLinear","AbstractChart","_defineProperty2","BarChart","createComponent","exports"],"sources":["../../../../src/component/Chart/BarChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { BaseLegendProps } from './AbstractChart.type';\nimport { BarChartData, BarChartProps, BarChartType } from './BarChart.type';\nimport { scaleBand, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { minMax, GroupBar, HoverRect, StackBar, Line } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { BarProps } from '../../types';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\n\nclass BarChartComponent extends AbstractChart<BarChartData, BarChartProps> {\n static displayName = 'Chart.Bar';\n\n get xScale() {\n const { xScale, invertAxis } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n return invertAxis ? this.valueScale : this.categoryScale;\n }\n\n get yScale() {\n const { yScale, invertAxis } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n return invertAxis ? this.categoryScale : this.valueScale;\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n if (this.props.trend !== undefined) {\n return { withTrend: true };\n }\n\n return {};\n }\n\n renderTrend(key: LegendItemKey) {\n const { groupKey, type = 'group', invertAxis, trend } = this.asProps;\n const { withTrend } = this.state;\n const trendItem = trend?.[key];\n\n if (withTrend && trendItem) {\n return (\n <Line\n data={trendItem}\n key={`${key}_${groupKey}`}\n x={invertAxis ? 'y' : 'x'}\n y={invertAxis ? 'x' : 'y'}\n color={'wall'}\n style={{ strokeWidth: 3, strokeDasharray: 5 }}\n >\n <Line.Dots data={trendItem} display />\n </Line>\n );\n }\n\n return null;\n }\n\n renderChart() {\n const { groupKey, type = 'group', invertAxis } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (dataDefinitions.length === 1) {\n const item = dataDefinitions[0];\n const BarComponent = invertAxis ? GroupBar.HorizontalBar : GroupBar.Bar;\n\n return (\n <>\n <BarComponent\n x={invertAxis ? item.id : groupKey}\n y={invertAxis ? groupKey : item.id}\n key={item.id}\n color={item.color}\n />\n {this.renderTrend(item.id)}\n </>\n );\n }\n\n if (type === 'group') {\n return (\n <>\n <GroupBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? GroupBar.HorizontalBar : GroupBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </GroupBar>\n {dataDefinitions.map((item) => item.checked && this.renderTrend(item.id))}\n </>\n );\n }\n\n if (type === 'stack') {\n return (\n <>\n <StackBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? StackBar.HorizontalBar : StackBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </StackBar>\n {dataDefinitions.map((item) => item.checked && this.renderTrend(item.id))}\n </>\n );\n }\n\n return null;\n }\n\n renderTooltip(): React.ReactNode {\n const { data, groupKey, showTotalInTooltip, showTooltip, invertAxis } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? undefined : groupKey}\n y={invertAxis ? groupKey : undefined}\n wMin={100}\n >\n {({ xIndex, yIndex }: any) => {\n const index = invertAxis ? yIndex : xIndex;\n const dataItem = data[index];\n const total = this.totalValue(dataItem);\n\n return {\n children: (\n <>\n <HoverRect.Tooltip.Title>{dataItem[groupKey]?.toString()}</HoverRect.Tooltip.Title>\n\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Flex justifyContent='space-between' key={item.id}>\n <HoverRect.Tooltip.Dot mr={4} color={item.color}>\n {item.label}\n </HoverRect.Tooltip.Dot>\n <Text bold>{this.tooltipValueFormatter(dataItem[item.id])}</Text>\n </Flex>\n )\n );\n })}\n\n {showTotalInTooltip === true && (\n <Flex mt={2} justifyContent='space-between'>\n <Box mr={4}>Total</Box>\n <Text bold>{total}</Text>\n </Flex>\n )}\n </>\n ),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n private get categoryScale() {\n const {\n marginY = 40,\n marginX = 24,\n plotWidth,\n plotHeight,\n invertAxis,\n data,\n groupKey,\n } = this.asProps;\n\n const testItem = data[0][groupKey];\n const range = invertAxis\n ? [plotHeight - marginX, this.plotPadding]\n : [marginY, plotWidth - this.plotPadding];\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n const domain = minMax(data, groupKey);\n\n return scaleTime(domain, range);\n }\n\n const domain = data.map((item) => item[groupKey]);\n\n return scaleBand(domain, range).paddingInner(0.4).paddingOuter(0.2);\n }\n\n private get valueScale() {\n const { marginY = 40, marginX = 24, plotWidth, plotHeight, invertAxis, type } = this.asProps;\n\n const max = type === 'stack' ? super.maxStackedValue : Math.max(...super.flatValues);\n\n return scaleLinear()\n .range(\n invertAxis\n ? [marginY, plotWidth - this.plotPadding]\n : [plotHeight - marginX, this.plotPadding],\n )\n .domain([0, max]);\n }\n}\n\nexport const BarChart: BarChartType = createComponent(BarChartComponent);\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=BarChart.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart.type.js","names":[],"sources":["../../../../src/component/Chart/BarChart.type.ts"],"sourcesContent":["import { Intergalactic } from '@semcore/core';\nimport { Flex } from '@semcore/flex-box';\nimport { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport { BaseChartProps } from './AbstractChart.type';\nimport { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\n\ntype TrendItem = {\n x: number;\n y: number;\n};\n\nexport type BarChartData = Array<Record<string, string | number | Date>>;\n\nexport type BarChartProps = BaseChartProps<BarChartData> & {\n groupKey: string;\n xScale?: ScaleBand<any> | ScaleTime<any, any>;\n yScale?: ScaleLinear<any, any>;\n type?: 'stack' | 'group';\n trend?: Record<LegendItemKey, TrendItem[]>;\n};\n\nexport type BarChartType = Intergalactic.Component<typeof Flex, BarChartProps>;\n"],"mappings":""}