@semcore/mini-chart 16.1.1 → 17.0.0-prerelease.18

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 (47) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +4 -4
  3. package/lib/cjs/component/score/Donut.js +84 -96
  4. package/lib/cjs/component/score/Donut.js.map +1 -1
  5. package/lib/cjs/component/score/Line.js +104 -108
  6. package/lib/cjs/component/score/Line.js.map +1 -1
  7. package/lib/cjs/component/score/Line.types.js.map +1 -1
  8. package/lib/cjs/component/score/index.js +3 -3
  9. package/lib/cjs/component/trend/Bar.js +83 -96
  10. package/lib/cjs/component/trend/Bar.js.map +1 -1
  11. package/lib/cjs/component/trend/Line.js +114 -135
  12. package/lib/cjs/component/trend/Line.js.map +1 -1
  13. package/lib/cjs/component/trend/Trend.js +43 -65
  14. package/lib/cjs/component/trend/Trend.js.map +1 -1
  15. package/lib/cjs/component/trend/index.js +4 -4
  16. package/lib/cjs/index.js +3 -3
  17. package/lib/cjs/index.js.map +1 -1
  18. package/lib/cjs/utils/ScoreDonutUtils.js +48 -75
  19. package/lib/cjs/utils/ScoreDonutUtils.js.map +1 -1
  20. package/lib/es6/component/score/Donut.js +80 -93
  21. package/lib/es6/component/score/Donut.js.map +1 -1
  22. package/lib/es6/component/score/Line.js +99 -103
  23. package/lib/es6/component/score/Line.js.map +1 -1
  24. package/lib/es6/component/score/Line.types.js.map +1 -1
  25. package/lib/es6/component/trend/Bar.js +78 -91
  26. package/lib/es6/component/trend/Bar.js.map +1 -1
  27. package/lib/es6/component/trend/Line.js +109 -130
  28. package/lib/es6/component/trend/Line.js.map +1 -1
  29. package/lib/es6/component/trend/Trend.js +41 -64
  30. package/lib/es6/component/trend/Trend.js.map +1 -1
  31. package/lib/es6/index.js +8 -8
  32. package/lib/es6/index.js.map +1 -1
  33. package/lib/es6/utils/ScoreDonutUtils.js +43 -71
  34. package/lib/es6/utils/ScoreDonutUtils.js.map +1 -1
  35. package/lib/esm/component/score/Donut.mjs +80 -79
  36. package/lib/esm/component/score/Line.mjs +100 -91
  37. package/lib/esm/component/trend/Bar.mjs +79 -82
  38. package/lib/esm/component/trend/Line.mjs +110 -116
  39. package/lib/esm/component/trend/Trend.mjs +41 -61
  40. package/lib/esm/index.mjs +1 -1
  41. package/lib/esm/utils/ScoreDonutUtils.mjs +43 -71
  42. package/lib/types/component/score/Donut.d.ts +7 -12
  43. package/lib/types/component/score/Line.types.d.ts +8 -6
  44. package/lib/types/component/trend/Bar.d.ts +2 -8
  45. package/lib/types/component/trend/Line.d.ts +6 -10
  46. package/lib/types/component/trend/Trend.d.ts +3 -3
  47. package/package.json +4 -4
@@ -1,117 +1,109 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _callSuper from "@babel/runtime/helpers/callSuper";
5
- import _inherits from "@babel/runtime/helpers/inherits";
6
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
2
  import { sstyled as _sstyled } from "@semcore/core";
8
3
  import { assignProps as _assignProps3 } from "@semcore/core";
9
4
  import { assignProps as _assignProps2 } from "@semcore/core";
10
5
  import { assignProps as _assignProps } from "@semcore/core";
6
+ import { Box, Flex } from '@semcore/base-components';
11
7
  import { createComponent, Component, Root, sstyled } from '@semcore/core';
12
8
  import resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';
13
- import { Box, Flex } from '@semcore/flex-box';
14
9
  import React from 'react';
15
10
  /*!__reshadow-styles__:"./line.shadow.css"*/
16
- var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/"@keyframes pulse_fmdk9{0%,to{opacity:1}50%{opacity:.4}}@keyframes move-line_fmdk9{0%{transform:translateX(0)}to{transform:translateX(100%)}}.___SDonutContainer_fmdk9_gg_.__loading_fmdk9_gg_,.___SLineGauge_fmdk9_gg_.__loading_fmdk9_gg_,.___STrendBar_fmdk9_gg_.__loading_fmdk9_gg_,.___STrendLine_fmdk9_gg_.__loading_fmdk9_gg_{animation-name:pulse_fmdk9;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-duration:1.6s;will-change:opacity}.___SLineGauge_fmdk9_gg_{height:8px;background-color:var(--base-bg-color_fmdk9, var(--intergalactic-chart-grid-bar-chart-base-bg, #e0e1e9));border-radius:var(--intergalactic-chart-rounded, 2px);overflow:hidden;position:relative}.___SLineValue_fmdk9_gg_{height:8px;border-radius:var(--intergalactic-chart-rounded, 2px)0 0 var(--intergalactic-chart-rounded, 2px)}.___SLineValue_fmdk9_gg_.__percent_fmdk9_gg_{width:var(--percent_fmdk9)}.___SLineSegmentItem_fmdk9_gg_.__color_fmdk9_gg_,.___SLineValue_fmdk9_gg_.__color_fmdk9_gg_{background-color:var(--color_fmdk9, var(--intergalactic-chart-palette-order-1, #2bb3ff))}.___SLineGauge_fmdk9_gg_.__segments_fmdk9_gg_{border-radius:var(--intergalactic-progress-bar-rounded, 6px)}.___SAnimationLine_fmdk9_gg_,.___SLineGaugeSegment_fmdk9_gg_{position:absolute;top:0;left:0;right:0;bottom:0}.___SLineSegmentItem_fmdk9_gg_:last-child{margin-right:0;border-right:none}.___SLineSegmentItem_fmdk9_gg_{height:8px;background:0 0;border-right-color:var(--intergalactic-chart-grid-border, #ffffff);border-right-style:solid;border-right-width:1px;box-sizing:content-box}.___SAnimationLine_fmdk9_gg_{background-color:var(--intergalactic-chart-grid-bar-chart-base-bg, #e0e1e9);transition:all var(--intergalactic-duration-extra-slow, 500) ease-in-out;animation-name:move-line_fmdk9;animation-duration:.5s;animation-timing-function:ease-in-out;animation-fill-mode:forwards}", /*__inner_css_end__*/"fmdk9_gg_"),
11
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/"@keyframes pulse_1q9hd{0%,to{opacity:1}50%{opacity:.4}}@keyframes move-line_1q9hd{0%{transform:translateX(0)}to{transform:translateX(100%)}}.___SDonutContainer_1q9hd_gg_.__loading_1q9hd_gg_,.___SLineGauge_1q9hd_gg_.__loading_1q9hd_gg_,.___STrendBar_1q9hd_gg_.__loading_1q9hd_gg_,.___STrendLine_1q9hd_gg_.__loading_1q9hd_gg_{animation-name:pulse_1q9hd;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-duration:1.6s;will-change:opacity}.___SLineGauge_1q9hd_gg_{height:8px;background-color:var(--base-bg-color_1q9hd, var(--intergalactic-chart-grid-bar-chart-base-bg, #e0e1e9));border-radius:var(--intergalactic-chart-rounded, 2px);overflow:hidden;position:relative}.___SLineValue_1q9hd_gg_{height:8px;border-radius:var(--intergalactic-chart-rounded, 2px)0 0 var(--intergalactic-chart-rounded, 2px)}.___SLineValue_1q9hd_gg_.__percent_1q9hd_gg_{width:var(--percent_1q9hd)}.___SLineSegmentItem_1q9hd_gg_.__color_1q9hd_gg_,.___SLineValue_1q9hd_gg_.__color_1q9hd_gg_{background-color:var(--color_1q9hd, var(--intergalactic-chart-palette-order-1, #2bb3ff))}.___SLineGauge_1q9hd_gg_.__segments_1q9hd_gg_{border-radius:var(--intergalactic-progress-bar-rounded, 6px)}.___SAnimationLine_1q9hd_gg_,.___SLineGaugeSegment_1q9hd_gg_{position:absolute;top:0;left:0;right:0;bottom:0}.___SLineSegmentItem_1q9hd_gg_:last-child{margin-right:0;border-right:none}.___SLineSegmentItem_1q9hd_gg_{height:8px;background:0 0;border-right-color:var(--intergalactic-chart-grid-border, #ffffff);border-right-style:solid;border-right-width:1px;box-sizing:content-box}.___SAnimationLine_1q9hd_gg_{background-color:var(--intergalactic-chart-grid-bar-chart-base-bg, #e0e1e9);transition:all var(--intergalactic-duration-extra-slow, 500) ease-in-out;animation-name:move-line_1q9hd;animation-duration:.5s;animation-timing-function:ease-in-out;animation-fill-mode:forwards}", /*__inner_css_end__*/"1q9hd_gg_"),
17
12
  /*__reshadow_css_end__*/
18
13
  {
19
- "__SLineGauge": "___SLineGauge_fmdk9_gg_",
20
- "_loading": "__loading_fmdk9_gg_",
21
- "__SDonutContainer": "___SDonutContainer_fmdk9_gg_",
22
- "__STrendLine": "___STrendLine_fmdk9_gg_",
23
- "__STrendBar": "___STrendBar_fmdk9_gg_",
24
- "@pulse": "pulse_fmdk9",
25
- "--base-bg-color": "--base-bg-color_fmdk9",
26
- "__SLineValue": "___SLineValue_fmdk9_gg_",
27
- "_percent": "__percent_fmdk9_gg_",
28
- "--percent": "--percent_fmdk9",
29
- "_color": "__color_fmdk9_gg_",
30
- "__SLineSegmentItem": "___SLineSegmentItem_fmdk9_gg_",
31
- "--color": "--color_fmdk9",
32
- "_segments": "__segments_fmdk9_gg_",
33
- "__SLineGaugeSegment": "___SLineGaugeSegment_fmdk9_gg_",
34
- "__SAnimationLine": "___SAnimationLine_fmdk9_gg_",
35
- "@move-line": "move-line_fmdk9"
14
+ "__SLineGauge": "___SLineGauge_1q9hd_gg_",
15
+ "_loading": "__loading_1q9hd_gg_",
16
+ "__SDonutContainer": "___SDonutContainer_1q9hd_gg_",
17
+ "__STrendLine": "___STrendLine_1q9hd_gg_",
18
+ "__STrendBar": "___STrendBar_1q9hd_gg_",
19
+ "@pulse": "pulse_1q9hd",
20
+ "--base-bg-color": "--base-bg-color_1q9hd",
21
+ "__SLineValue": "___SLineValue_1q9hd_gg_",
22
+ "_percent": "__percent_1q9hd_gg_",
23
+ "--percent": "--percent_1q9hd",
24
+ "_color": "__color_1q9hd_gg_",
25
+ "__SLineSegmentItem": "___SLineSegmentItem_1q9hd_gg_",
26
+ "--color": "--color_1q9hd",
27
+ "_segments": "__segments_1q9hd_gg_",
28
+ "__SLineGaugeSegment": "___SLineGaugeSegment_1q9hd_gg_",
29
+ "__SAnimationLine": "___SAnimationLine_1q9hd_gg_",
30
+ "@move-line": "move-line_1q9hd"
36
31
  });
37
- var LineRoot = /*#__PURE__*/function (_Component) {
38
- function LineRoot() {
39
- _classCallCheck(this, LineRoot);
40
- return _callSuper(this, LineRoot, arguments);
32
+ class LineRoot extends Component {
33
+ getSegmentProps(segmentProps) {
34
+ const {
35
+ children,
36
+ resolveColor
37
+ } = this.asProps;
38
+ let sum = 0;
39
+ React.Children.forEach(children, child => {
40
+ if (/*#__PURE__*/React.isValidElement(child)) {
41
+ sum = sum + child.props.value;
42
+ }
43
+ });
44
+ const width = sum > 0 ? 100 * segmentProps.value / sum : 0;
45
+ return {
46
+ 'w': `${width}%`,
47
+ 'use:color': resolveColor(segmentProps.color)
48
+ };
41
49
  }
42
- _inherits(LineRoot, _Component);
43
- return _createClass(LineRoot, [{
44
- key: "getSegmentProps",
45
- value: function getSegmentProps(segmentProps) {
46
- var _this$asProps = this.asProps,
47
- children = _this$asProps.children,
48
- resolveColor = _this$asProps.resolveColor;
49
- var sum = 0;
50
- React.Children.forEach(children, function (child) {
51
- if (/*#__PURE__*/React.isValidElement(child)) {
52
- sum = sum + child.props.value;
53
- }
54
- });
55
- var width = sum > 0 ? 100 * segmentProps.value / sum : 0;
56
- return {
57
- 'w': "".concat(width, "%"),
58
- 'use:color': resolveColor(segmentProps.color)
59
- };
60
- }
61
- }, {
62
- key: "render",
63
- value: function render() {
64
- var _ref = this.asProps,
65
- _ref5;
66
- var SLineGauge = Box;
67
- var SLineValue = Box;
68
- var SAnimationLine = Box;
69
- var SLineGaugeSegment = Flex;
70
- var SLineSegmentItem = Box;
71
- var _this$asProps2 = this.asProps,
72
- value = _this$asProps2.value,
73
- styles = _this$asProps2.styles,
74
- _this$asProps2$color = _this$asProps2.color,
75
- color = _this$asProps2$color === void 0 ? 'chart-palette-order-1' : _this$asProps2$color,
76
- baseBgColor = _this$asProps2.baseBgColor,
77
- resolveColor = _this$asProps2.resolveColor,
78
- loading = _this$asProps2.loading,
79
- children = _this$asProps2.children,
80
- Children = _this$asProps2.Children,
81
- animate = _this$asProps2.animate;
82
- if (children !== undefined) {
83
- var _ref3;
84
- return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SLineGauge, _ref3.cn("SLineGauge", _objectSpread({}, _assignProps({
50
+ render() {
51
+ var _ref = this.asProps,
52
+ _ref5;
53
+ const SLineGauge = Box;
54
+ const SLineValue = Box;
55
+ const SAnimationLine = Box;
56
+ const SLineGaugeSegment = Flex;
57
+ const SLineSegmentItem = Box;
58
+ const {
59
+ value,
60
+ styles,
61
+ color = 'chart-palette-order-1',
62
+ baseBgColor,
63
+ resolveColor,
64
+ loading,
65
+ children,
66
+ Children,
67
+ animate
68
+ } = this.asProps;
69
+ if (children !== undefined) {
70
+ var _ref3;
71
+ return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SLineGauge, _ref3.cn("SLineGauge", {
72
+ ..._assignProps({
85
73
  "segments": true,
86
74
  "base-bg-color": resolveColor(baseBgColor)
87
- }, _ref))), /*#__PURE__*/React.createElement(SLineGaugeSegment, _ref3.cn("SLineGaugeSegment", {}), /*#__PURE__*/React.createElement(Children, _ref3.cn("Children", {}))), animate && /*#__PURE__*/React.createElement(SAnimationLine, _ref3.cn("SAnimationLine", {})));
88
- }
89
- var segments = this.asProps.segments;
90
- var SegmentItems = [];
91
- if (segments) {
92
- for (var i = 0; i < segments; i++) {
93
- var _ref4;
94
- var width = "calc((100% - ".concat(segments - 1, "px) / ").concat(segments, ")");
95
- SegmentItems.push((_ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SLineSegmentItem, _ref4.cn("SLineSegmentItem", {
96
- "key": i,
97
- "color": i < value ? resolveColor(color) : undefined,
98
- "w": width
99
- }))));
100
- }
101
- }
102
- var percent = "".concat(value, "%");
103
- if (segments) {
104
- percent = "".concat(value / segments * 100, "%");
75
+ }, _ref)
76
+ }), /*#__PURE__*/React.createElement(SLineGaugeSegment, _ref3.cn("SLineGaugeSegment", {}), /*#__PURE__*/React.createElement(Children, _ref3.cn("Children", {}))), animate && /*#__PURE__*/React.createElement(SAnimationLine, _ref3.cn("SAnimationLine", {})));
77
+ }
78
+ const {
79
+ segments
80
+ } = this.asProps;
81
+ const SegmentItems = [];
82
+ if (segments) {
83
+ for (let i = 0; i < segments; i++) {
84
+ var _ref4;
85
+ const width = `calc((100% - ${segments - 1}px) / ${segments})`;
86
+ SegmentItems.push((_ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SLineSegmentItem, _ref4.cn("SLineSegmentItem", {
87
+ "key": i,
88
+ "color": i < value ? resolveColor(color) : undefined,
89
+ "w": width
90
+ }))));
105
91
  }
106
- return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SLineGauge, _ref5.cn("SLineGauge", _objectSpread({}, _assignProps2({
107
- "base-bg-color": resolveColor(baseBgColor)
108
- }, _ref))), !loading && /*#__PURE__*/React.createElement(SLineValue, _ref5.cn("SLineValue", {
109
- "w": percent,
110
- "color": resolveColor(color)
111
- })), Boolean(SegmentItems.length) && /*#__PURE__*/React.createElement(SLineGaugeSegment, _ref5.cn("SLineGaugeSegment", {}), SegmentItems), animate && /*#__PURE__*/React.createElement(SAnimationLine, _ref5.cn("SAnimationLine", {})));
112
92
  }
113
- }]);
114
- }(Component);
93
+ let percent = `${value}%`;
94
+ if (segments) {
95
+ percent = `${value / segments * 100}%`;
96
+ }
97
+ return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SLineGauge, _ref5.cn("SLineGauge", {
98
+ ..._assignProps2({
99
+ "base-bg-color": resolveColor(baseBgColor)
100
+ }, _ref)
101
+ }), !loading && /*#__PURE__*/React.createElement(SLineValue, _ref5.cn("SLineValue", {
102
+ "w": percent,
103
+ "color": resolveColor(color)
104
+ })), Boolean(SegmentItems.length) && /*#__PURE__*/React.createElement(SLineGaugeSegment, _ref5.cn("SLineGaugeSegment", {}), SegmentItems), animate && /*#__PURE__*/React.createElement(SAnimationLine, _ref5.cn("SAnimationLine", {})));
105
+ }
106
+ }
115
107
  _defineProperty(LineRoot, "enhance", [resolveColorEnhance()]);
116
108
  _defineProperty(LineRoot, "displayName", 'ScoreLine');
117
109
  _defineProperty(LineRoot, "style", style);
@@ -121,15 +113,19 @@ _defineProperty(LineRoot, "defaultProps", {
121
113
  function Segment(props) {
122
114
  var _ref2 = arguments[0],
123
115
  _ref6;
124
- var styles = props.styles,
125
- value = props.value;
126
- var SLineSegmentItem = Box;
116
+ const {
117
+ styles,
118
+ value
119
+ } = props;
120
+ const SLineSegmentItem = Box;
127
121
  if (!value) return null;
128
- return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SLineSegmentItem, _ref6.cn("SLineSegmentItem", _objectSpread({}, _assignProps3({}, _ref2))));
122
+ return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SLineSegmentItem, _ref6.cn("SLineSegmentItem", {
123
+ ..._assignProps3({}, _ref2)
124
+ }));
129
125
  }
130
126
  Segment.displayName = 'Segment';
131
- export var ScoreLine = createComponent(LineRoot, {
132
- Segment: Segment
127
+ export const ScoreLine = createComponent(LineRoot, {
128
+ Segment
133
129
  });
134
130
  ScoreLine.displayName = 'MiniChart.ScoreLine';
135
131
  //# sourceMappingURL=Line.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Line.js","names":["createComponent","Component","Root","sstyled","resolveColorEnhance","Box","Flex","React","style","_sstyled","insert","LineRoot","_Component","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","value","getSegmentProps","segmentProps","_this$asProps","asProps","children","resolveColor","sum","Children","forEach","child","isValidElement","props","width","concat","color","render","_ref","_ref5","SLineGauge","SLineValue","SAnimationLine","SLineGaugeSegment","SLineSegmentItem","_this$asProps2","styles","_this$asProps2$color","baseBgColor","loading","animate","undefined","_ref3","createElement","cn","_objectSpread","_assignProps","segments","SegmentItems","i","_ref4","push","percent","_assignProps2","Boolean","length","_defineProperty","Segment","_ref2","arguments[0]","_ref6","_assignProps3","displayName","ScoreLine"],"sources":["../../../../src/component/score/Line.tsx"],"sourcesContent":["import { createComponent, Component, Root, sstyled } from '@semcore/core';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport { Box, Flex } from '@semcore/flex-box';\nimport React from 'react';\n\nimport style from './line.shadow.css';\nimport type {\n ScoreLineComponent,\n ScoreLineGaugeProps,\n SegmentProps,\n InnerSegmentProps,\n} from './Line.types';\n\nclass LineRoot extends Component<ScoreLineGaugeProps, {}, {}, typeof LineRoot.enhance> {\n static enhance = [resolveColorEnhance()] as const;\n static displayName = 'ScoreLine';\n\n static style = style;\n\n static defaultProps = {\n animate: true,\n };\n\n getSegmentProps(segmentProps: SegmentProps) {\n const { children, resolveColor } = this.asProps;\n\n let sum = 0;\n React.Children.forEach(children, (child) => {\n if (React.isValidElement<SegmentProps>(child)) {\n sum = sum + child.props.value;\n }\n });\n\n const width = sum > 0 ? (100 * segmentProps.value) / sum : 0;\n\n return {\n 'w': `${width}%`,\n 'use:color': resolveColor(segmentProps.color),\n };\n }\n\n render() {\n const SLineGauge = Root;\n const SLineValue = Box;\n const SAnimationLine = Box;\n const SLineGaugeSegment = Flex;\n const SLineSegmentItem = Box;\n const {\n value,\n styles,\n color = 'chart-palette-order-1',\n baseBgColor,\n resolveColor,\n loading,\n children,\n Children,\n animate,\n } = this.asProps;\n\n if (children !== undefined) {\n return sstyled(styles)(\n <SLineGauge render={Box} segments base-bg-color={resolveColor(baseBgColor)}>\n <SLineGaugeSegment>\n <Children />\n </SLineGaugeSegment>\n {animate && <SAnimationLine />}\n </SLineGauge>,\n );\n }\n\n const { segments } = this.asProps;\n\n const SegmentItems = [];\n\n if (segments) {\n for (let i = 0; i < segments; i++) {\n const width = `calc((100% - ${segments - 1}px) / ${segments})`;\n\n SegmentItems.push(\n sstyled(styles)(\n <SLineSegmentItem\n key={i}\n color={i < value ? resolveColor(color) : undefined}\n w={width}\n />,\n ),\n );\n }\n }\n\n let percent = `${value}%`;\n\n if (segments) {\n percent = `${(value / segments) * 100}%`;\n }\n\n return sstyled(styles)(\n <SLineGauge render={Box} base-bg-color={resolveColor(baseBgColor)}>\n {!loading && <SLineValue w={percent} color={resolveColor(color)} />}\n {Boolean(SegmentItems.length) && <SLineGaugeSegment>{SegmentItems}</SLineGaugeSegment>}\n {animate && <SAnimationLine />}\n </SLineGauge>,\n );\n }\n}\n\nfunction Segment(props: InnerSegmentProps) {\n const { styles, value } = props;\n const SLineSegmentItem = Root;\n\n if (!value) return null;\n\n return sstyled(styles)(<SLineSegmentItem render={Box} />);\n}\nSegment.displayName = 'Segment';\n\nexport const ScoreLine: ScoreLineComponent = createComponent(LineRoot, {\n Segment,\n});\n\nScoreLine.displayName = 'MiniChart.ScoreLine';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Line.js","names":["Box","Flex","createComponent","Component","Root","sstyled","resolveColorEnhance","React","style","_sstyled","insert","LineRoot","getSegmentProps","segmentProps","children","resolveColor","asProps","sum","Children","forEach","child","isValidElement","props","value","width","color","render","_ref","_ref5","SLineGauge","SLineValue","SAnimationLine","SLineGaugeSegment","SLineSegmentItem","styles","baseBgColor","loading","animate","undefined","_ref3","createElement","cn","_assignProps","segments","SegmentItems","i","_ref4","push","percent","_assignProps2","Boolean","length","_defineProperty","Segment","_ref2","arguments[0]","_ref6","_assignProps3","displayName","ScoreLine"],"sources":["../../../../src/component/score/Line.tsx"],"sourcesContent":["import { Box, Flex } from '@semcore/base-components';\nimport { createComponent, Component, Root, sstyled } from '@semcore/core';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport React from 'react';\n\nimport style from './line.shadow.css';\nimport type {\n ScoreLineComponent,\n ScoreLineGaugeProps,\n SegmentProps,\n InnerSegmentProps,\n} from './Line.types';\n\nclass LineRoot extends Component<ScoreLineGaugeProps, typeof LineRoot.enhance> {\n static enhance = [resolveColorEnhance()] as const;\n static displayName = 'ScoreLine';\n\n static style = style;\n\n static defaultProps = {\n animate: true,\n };\n\n getSegmentProps(segmentProps: SegmentProps) {\n const { children, resolveColor } = this.asProps;\n\n let sum = 0;\n React.Children.forEach(children, (child) => {\n if (React.isValidElement<SegmentProps>(child)) {\n sum = sum + child.props.value;\n }\n });\n\n const width = sum > 0 ? (100 * segmentProps.value) / sum : 0;\n\n return {\n 'w': `${width}%`,\n 'use:color': resolveColor(segmentProps.color),\n };\n }\n\n render() {\n const SLineGauge = Root;\n const SLineValue = Box;\n const SAnimationLine = Box;\n const SLineGaugeSegment = Flex;\n const SLineSegmentItem = Box;\n const {\n value,\n styles,\n color = 'chart-palette-order-1',\n baseBgColor,\n resolveColor,\n loading,\n children,\n Children,\n animate,\n } = this.asProps;\n\n if (children !== undefined) {\n return sstyled(styles)(\n <SLineGauge render={Box} segments base-bg-color={resolveColor(baseBgColor)}>\n <SLineGaugeSegment>\n <Children />\n </SLineGaugeSegment>\n {animate && <SAnimationLine />}\n </SLineGauge>,\n );\n }\n\n const { segments } = this.asProps;\n\n const SegmentItems = [];\n\n if (segments) {\n for (let i = 0; i < segments; i++) {\n const width = `calc((100% - ${segments - 1}px) / ${segments})`;\n\n SegmentItems.push(\n sstyled(styles)(\n <SLineSegmentItem\n key={i}\n color={i < value ? resolveColor(color) : undefined}\n w={width}\n />,\n ),\n );\n }\n }\n\n let percent = `${value}%`;\n\n if (segments) {\n percent = `${(value / segments) * 100}%`;\n }\n\n return sstyled(styles)(\n <SLineGauge render={Box} base-bg-color={resolveColor(baseBgColor)}>\n {!loading && <SLineValue w={percent} color={resolveColor(color)} />}\n {Boolean(SegmentItems.length) && <SLineGaugeSegment>{SegmentItems}</SLineGaugeSegment>}\n {animate && <SAnimationLine />}\n </SLineGauge>,\n );\n }\n}\n\nfunction Segment(props: InnerSegmentProps) {\n const { styles, value } = props;\n const SLineSegmentItem = Root;\n\n if (!value) return null;\n\n return sstyled(styles)(<SLineSegmentItem render={Box} />);\n}\nSegment.displayName = 'Segment';\n\nexport const ScoreLine = createComponent(LineRoot, {\n Segment,\n}) as ScoreLineComponent;\n\nScoreLine.displayName = 'MiniChart.ScoreLine';\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Line.types.js","names":[],"sources":["../../../../src/component/score/Line.types.ts"],"sourcesContent":["import type { Intergalactic, ComponentType } from '@semcore/core';\nimport type resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport type { BoxProps, Box } from '@semcore/flex-box';\nimport type React from 'react';\n\nimport type { CommonScoreProps } from './Score';\n\ntype Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N\n ? Acc[number]\n : Enumerate<N, [...Acc, Acc['length']]>;\n\ntype Range<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;\n\nexport type SegmentColor = `chart-palette-order-${Range<1, 24>}`;\n\nexport type SegmentProps = {\n value: number;\n /**\n * Color of value\n */\n color: SegmentColor;\n};\n\ntype SegmentComponent = React.FC<SegmentProps>;\n\nexport type InnerSegmentProps = SegmentProps & {\n styles: React.DetailedHTMLProps<React.StyleHTMLAttributes<HTMLStyleElement>, HTMLStyleElement>;\n};\n\ntype ValuedScoreProps = {\n /**\n * Value of score (in percents from 0 to 100) or count of selected segments (for Line with segments)\n */\n value: number;\n /**\n * Color of value\n */\n color?: SegmentColor;\n /**\n * Count of line segments\n */\n segments?: number;\n /**\n * We don't accept children in this way\n */\n children?: never;\n};\n\ntype CustomRenderScoreProps = {\n children: SegmentComponent[];\n};\n\nexport type ScoreLineGaugeProps = BoxProps &\n Intergalactic.InternalTypings.EfficientOmit<CommonScoreProps, 'value' | 'color'> &\n (ValuedScoreProps | CustomRenderScoreProps);\n\nexport type Enhances = {\n resolveColor: ReturnType<typeof resolveColorEnhance>;\n};\n\nexport type ScoreLineComponent = ComponentType<ScoreLineGaugeProps, {}, {}, Enhances> & {\n Segment: Intergalactic.Component<typeof Box, SegmentProps>;\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"Line.types.js","names":[],"sources":["../../../../src/component/score/Line.types.ts"],"sourcesContent":["import type { BoxProps, Box } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport type React from 'react';\n\nimport type { CommonScoreProps } from './Score';\n\ntype Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N\n ? Acc[number]\n : Enumerate<N, [...Acc, Acc['length']]>;\n\ntype Range<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;\n\nexport type SegmentColor = `chart-palette-order-${Range<1, 24>}`;\n\nexport type SegmentProps = {\n value: number;\n /**\n * Color of value\n */\n color: SegmentColor;\n};\n\ntype SegmentComponent = React.FC<SegmentProps>;\n\nexport type InnerSegmentProps = SegmentProps & {\n styles: React.DetailedHTMLProps<React.StyleHTMLAttributes<HTMLStyleElement>, HTMLStyleElement>;\n};\n\ntype ValuedScoreProps = {\n /**\n * Value of score (in percents from 0 to 100) or count of selected segments (for Line with segments)\n */\n value: number;\n /**\n * Color of value\n */\n color?: SegmentColor;\n /**\n * Count of line segments\n */\n segments?: number;\n /**\n * We don't accept children in this way\n */\n children?: never;\n};\n\ntype CustomRenderScoreProps = {\n children: SegmentComponent[];\n};\n\nexport type ScoreLineGaugeProps = BoxProps &\n Intergalactic.InternalTypings.EfficientOmit<CommonScoreProps, 'value' | 'color'> &\n (ValuedScoreProps | CustomRenderScoreProps);\n\nexport type Enhances = [() => {\n resolveColor: ReturnType<typeof resolveColorEnhance>;\n}];\n\nexport type ScoreLineComponent = Intergalactic.Component<'svg', ScoreLineGaugeProps, {}, Enhances> & {\n Segment: Intergalactic.Component<typeof Box, SegmentProps>;\n};\n"],"mappings":"","ignoreList":[]}
@@ -1,116 +1,103 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
- import _createClass from "@babel/runtime/helpers/createClass";
5
- import _callSuper from "@babel/runtime/helpers/callSuper";
6
- import _inherits from "@babel/runtime/helpers/inherits";
7
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
2
  import { sstyled as _sstyled } from "@semcore/core";
9
3
  import { assignProps as _assignProps } from "@semcore/core";
4
+ import { Box } from '@semcore/base-components';
10
5
  import { createComponent, assignProps, Root, sstyled } from '@semcore/core';
11
6
  import { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';
12
7
  import resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';
13
- import { Box } from '@semcore/flex-box';
14
8
  import React from 'react';
15
9
  import { Trend } from './Trend';
16
10
  /*!__reshadow-styles__:"../skeleton/skeleton.shadow.css"*/
17
- var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/"@keyframes pulse_1wd8q{0%,to{opacity:1}50%{opacity:.4}}.___SDonutContainer_1wd8q_gg_.__loading_1wd8q_gg_,.___SLineGauge_1wd8q_gg_.__loading_1wd8q_gg_,.___STrendBar_1wd8q_gg_.__loading_1wd8q_gg_,.___STrendLine_1wd8q_gg_.__loading_1wd8q_gg_{animation-name:pulse_1wd8q;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-duration:1.6s;will-change:opacity}", /*__inner_css_end__*/"1wd8q_gg_"),
11
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/"@keyframes pulse_1ydx6{0%,to{opacity:1}50%{opacity:.4}}.___SDonutContainer_1ydx6_gg_.__loading_1ydx6_gg_,.___SLineGauge_1ydx6_gg_.__loading_1ydx6_gg_,.___STrendBar_1ydx6_gg_.__loading_1ydx6_gg_,.___STrendLine_1ydx6_gg_.__loading_1ydx6_gg_{animation-name:pulse_1ydx6;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-duration:1.6s;will-change:opacity}", /*__inner_css_end__*/"1ydx6_gg_"),
18
12
  /*__reshadow_css_end__*/
19
13
  {
20
- "__SLineGauge": "___SLineGauge_1wd8q_gg_",
21
- "_loading": "__loading_1wd8q_gg_",
22
- "__SDonutContainer": "___SDonutContainer_1wd8q_gg_",
23
- "__STrendLine": "___STrendLine_1wd8q_gg_",
24
- "__STrendBar": "___STrendBar_1wd8q_gg_",
25
- "@pulse": "pulse_1wd8q"
14
+ "__SLineGauge": "___SLineGauge_1ydx6_gg_",
15
+ "_loading": "__loading_1ydx6_gg_",
16
+ "__SDonutContainer": "___SDonutContainer_1ydx6_gg_",
17
+ "__STrendLine": "___STrendLine_1ydx6_gg_",
18
+ "__STrendBar": "___STrendBar_1ydx6_gg_",
19
+ "@pulse": "pulse_1ydx6"
26
20
  });
27
- var TrendBarRoot = /*#__PURE__*/function (_Trend) {
28
- function TrendBarRoot() {
29
- _classCallCheck(this, TrendBarRoot);
30
- return _callSuper(this, TrendBarRoot, arguments);
21
+ class TrendBarRoot extends Trend {
22
+ get defaultData() {
23
+ return [{
24
+ value: 20
25
+ }, {
26
+ value: 80
27
+ }, {
28
+ value: 45
29
+ }, {
30
+ value: 10
31
+ }];
31
32
  }
32
- _inherits(TrendBarRoot, _Trend);
33
- return _createClass(TrendBarRoot, [{
34
- key: "defaultData",
35
- get: function get() {
36
- return [{
37
- value: 20
38
- }, {
39
- value: 80
40
- }, {
41
- value: 45
42
- }, {
43
- value: 10
44
- }];
33
+ get data() {
34
+ const {
35
+ data,
36
+ loading
37
+ } = this.asProps;
38
+ if (loading) {
39
+ return this.defaultData;
45
40
  }
46
- }, {
47
- key: "data",
48
- get: function get() {
49
- var _this$asProps = this.asProps,
50
- data = _this$asProps.data,
51
- loading = _this$asProps.loading;
52
- if (loading) {
53
- return this.defaultData;
54
- }
55
- return data;
56
- }
57
- }, {
58
- key: "render",
59
- value: function render() {
60
- var _ref = this.asProps,
61
- _ref2,
62
- _this = this;
63
- var STrendBar = Box;
64
- var _this$asProps2 = this.asProps,
65
- styles = _this$asProps2.styles,
66
- resolveColor = _this$asProps2.resolveColor,
67
- isHistogram = _this$asProps2.isHistogram,
68
- animate = _this$asProps2.animate,
69
- loading = _this$asProps2.loading;
70
- var step = this.defaultWidth / this.data.length;
71
- var _extractAriaProps = extractAriaProps(this.asProps),
72
- __excludeProps = _extractAriaProps.__excludeProps,
73
- extractedAriaProps = _extractAriaProps.extractedAriaProps;
74
- return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(STrendBar, _ref2.cn("STrendBar", _objectSpread({}, _assignProps({
41
+ return data;
42
+ }
43
+ render() {
44
+ var _ref = this.asProps,
45
+ _ref2;
46
+ const STrendBar = Box;
47
+ const {
48
+ styles,
49
+ resolveColor,
50
+ isHistogram,
51
+ animate,
52
+ loading
53
+ } = this.asProps;
54
+ const step = this.defaultWidth / this.data.length;
55
+ const {
56
+ __excludeProps,
57
+ extractedAriaProps
58
+ } = extractAriaProps(this.asProps);
59
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(STrendBar, _ref2.cn("STrendBar", {
60
+ ..._assignProps({
75
61
  "ref": this.containerRef,
76
- "__excludeProps": ['data'].concat(_toConsumableArray(__excludeProps))
77
- }, _ref))), /*#__PURE__*/React.createElement("svg", _ref2.cn("svg", _objectSpread({
78
- "width": '100%',
79
- "height": '100%',
80
- "viewBox": "0 0 ".concat(this.svgWidth, " ").concat(this.svgHeight),
81
- "role": 'img'
82
- }, extractedAriaProps)), this.data.map(function (barItem, index) {
83
- var color = resolveColor('chart-palette-order-other-data');
84
- if (barItem.color) {
85
- color = resolveColor(barItem.color);
86
- }
87
- return /*#__PURE__*/React.createElement("rect", {
88
- key: index,
89
- x: step * index,
90
- y: _this.defaultHeight - barItem.value,
91
- width: isHistogram ? step : step * 0.8,
92
- height: barItem.value,
93
- fill: color
94
- }, animate && !loading && /*#__PURE__*/React.createElement("animate", {
95
- attributeName: "y",
96
- values: "".concat(_this.defaultHeight, ";").concat(_this.defaultHeight - barItem.value),
97
- dur: "500ms"
98
- }));
99
- })));
100
- }
101
- }]);
102
- }(Trend);
62
+ "__excludeProps": ['data', ...__excludeProps]
63
+ }, _ref)
64
+ }), /*#__PURE__*/React.createElement("svg", _ref2.cn("svg", {
65
+ "width": '100%',
66
+ "height": '100%',
67
+ "viewBox": `0 0 ${this.svgWidth} ${this.svgHeight}`,
68
+ "role": 'img',
69
+ ...extractedAriaProps
70
+ }), this.data.map((barItem, index) => {
71
+ let color = resolveColor('chart-palette-order-other-data');
72
+ if (barItem.color) {
73
+ color = resolveColor(barItem.color);
74
+ }
75
+ return /*#__PURE__*/React.createElement("rect", {
76
+ key: index,
77
+ x: step * index,
78
+ y: this.defaultHeight - barItem.value,
79
+ width: isHistogram ? step : step * 0.8,
80
+ height: barItem.value,
81
+ fill: color
82
+ }, animate && !loading && /*#__PURE__*/React.createElement("animate", {
83
+ attributeName: "y",
84
+ values: `${this.defaultHeight};${this.defaultHeight - barItem.value}`,
85
+ dur: "500ms"
86
+ }));
87
+ })));
88
+ }
89
+ }
103
90
  _defineProperty(TrendBarRoot, "enhance", [resolveColorEnhance()]);
104
91
  _defineProperty(TrendBarRoot, "style", style);
105
92
  _defineProperty(TrendBarRoot, "defaultProps", {
106
93
  animate: true
107
94
  });
108
- export var TrendBar = createComponent(TrendBarRoot);
95
+ export const TrendBar = createComponent(TrendBarRoot);
109
96
  TrendBar.displayName = 'MiniChart.TrendBar';
110
- export var TrendHistogram = createComponent(TrendBarRoot, {}, {
111
- enhancements: [function () {
97
+ export const TrendHistogram = createComponent(TrendBarRoot, {}, {
98
+ enhancements: [() => {
112
99
  return {
113
- wrapperProps: function wrapperProps(props) {
100
+ wrapperProps: props => {
114
101
  return assignProps(props, {
115
102
  isHistogram: true
116
103
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Bar.js","names":["createComponent","assignProps","Root","sstyled","extractAriaProps","resolveColorEnhance","Box","React","Trend","style","_sstyled","insert","TrendBarRoot","_Trend","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","get","value","_this$asProps","asProps","data","loading","defaultData","render","_ref","_ref2","_this","STrendBar","_this$asProps2","styles","resolveColor","isHistogram","animate","step","defaultWidth","length","_extractAriaProps","__excludeProps","extractedAriaProps","createElement","cn","_objectSpread","_assignProps","containerRef","concat","_toConsumableArray","svgWidth","svgHeight","map","barItem","index","color","x","y","defaultHeight","width","height","fill","attributeName","values","dur","_defineProperty","TrendBar","displayName","TrendHistogram","enhancements","wrapperProps","props"],"sources":["../../../../src/component/trend/Bar.tsx"],"sourcesContent":["import { createComponent, type ComponentType, assignProps, Root, sstyled } from '@semcore/core';\nimport { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport { Box } from '@semcore/flex-box';\nimport React from 'react';\n\nimport { Trend, type CommonTrendProps } from './Trend';\nimport style from '../skeleton/skeleton.shadow.css';\n\ntype BarItem = {\n /**\n * Value\n */\n value: number;\n /**\n * Color of value\n */\n color?: string;\n};\n\nexport type TrendBarProps = CommonTrendProps & {\n /**\n * Data to bar chart\n */\n data: BarItem[];\n};\n\ntype Enhances = {\n resolveColor: ReturnType<typeof resolveColorEnhance>;\n isHistogram?: true;\n};\n\nclass TrendBarRoot extends Trend<TrendBarProps, typeof TrendBarRoot.enhance> {\n static enhance = [resolveColorEnhance()] as const;\n\n static style = style;\n\n static defaultProps = {\n animate: true,\n };\n\n get defaultData(): BarItem[] {\n return [{ value: 20 }, { value: 80 }, { value: 45 }, { value: 10 }];\n }\n\n get data(): BarItem[] {\n const { data, loading } = this.asProps;\n\n if (loading) {\n return this.defaultData;\n }\n\n return data;\n }\n\n render() {\n const STrendBar = Root;\n const { styles, resolveColor, isHistogram, animate, loading } = this.asProps;\n const step = this.defaultWidth / this.data.length;\n const { __excludeProps, extractedAriaProps } = extractAriaProps(this.asProps);\n\n return sstyled(styles)(\n <STrendBar render={Box} ref={this.containerRef} __excludeProps={['data', ...__excludeProps]}>\n <svg\n width='100%'\n height='100%'\n viewBox={`0 0 ${this.svgWidth} ${this.svgHeight}`}\n role='img'\n {...extractedAriaProps}\n >\n {this.data.map((barItem, index) => {\n let color = resolveColor('chart-palette-order-other-data');\n\n if (barItem.color) {\n color = resolveColor(barItem.color);\n }\n\n return (\n <rect\n key={index}\n x={step * index}\n y={this.defaultHeight - barItem.value}\n width={isHistogram ? step : step * 0.8}\n height={barItem.value}\n fill={color}\n >\n {animate && !loading && (\n <animate\n attributeName='y'\n values={`${this.defaultHeight};${this.defaultHeight - barItem.value}`}\n dur='500ms'\n />\n )}\n </rect>\n );\n })}\n </svg>\n </STrendBar>,\n );\n }\n}\n\nexport const TrendBar: ComponentType<TrendBarProps, {}, {}, Enhances> =\n createComponent(TrendBarRoot);\n\nTrendBar.displayName = 'MiniChart.TrendBar';\n\nexport const TrendHistogram: ComponentType<TrendBarProps, {}, {}, Enhances> = createComponent(\n TrendBarRoot,\n {},\n {\n enhancements: [\n () => {\n return {\n wrapperProps: (props: TrendBarProps) => {\n return assignProps(props, { isHistogram: true });\n },\n };\n },\n ],\n },\n);\n\nTrendBar.displayName = 'MiniChart.TrendHistogram';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Bar.js","names":["Box","createComponent","assignProps","Root","sstyled","extractAriaProps","resolveColorEnhance","React","Trend","style","_sstyled","insert","TrendBarRoot","defaultData","value","data","loading","asProps","render","_ref","_ref2","STrendBar","styles","resolveColor","isHistogram","animate","step","defaultWidth","length","__excludeProps","extractedAriaProps","createElement","cn","_assignProps","containerRef","svgWidth","svgHeight","map","barItem","index","color","key","x","y","defaultHeight","width","height","fill","attributeName","values","dur","_defineProperty","TrendBar","displayName","TrendHistogram","enhancements","wrapperProps","props"],"sources":["../../../../src/component/trend/Bar.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { createComponent, assignProps, Root, sstyled } from '@semcore/core';\nimport { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport React from 'react';\n\nimport { Trend, type CommonTrendProps } from './Trend';\nimport style from '../skeleton/skeleton.shadow.css';\n\ntype BarItem = {\n /**\n * Value\n */\n value: number;\n /**\n * Color of value\n */\n color?: string;\n};\n\nexport type TrendBarProps = CommonTrendProps & {\n /**\n * Data to bar chart\n */\n data: BarItem[];\n};\n\nclass TrendBarRoot extends Trend<TrendBarProps, typeof TrendBarRoot.enhance> {\n static enhance = [resolveColorEnhance()] as const;\n\n static style = style;\n\n static defaultProps = {\n animate: true,\n };\n\n get defaultData(): BarItem[] {\n return [{ value: 20 }, { value: 80 }, { value: 45 }, { value: 10 }];\n }\n\n get data(): BarItem[] {\n const { data, loading } = this.asProps;\n\n if (loading) {\n return this.defaultData;\n }\n\n return data;\n }\n\n render() {\n const STrendBar = Root;\n const { styles, resolveColor, isHistogram, animate, loading } = this.asProps;\n const step = this.defaultWidth / this.data.length;\n const { __excludeProps, extractedAriaProps } = extractAriaProps(this.asProps);\n\n return sstyled(styles)(\n <STrendBar render={Box} ref={this.containerRef} __excludeProps={['data', ...__excludeProps]}>\n <svg\n width='100%'\n height='100%'\n viewBox={`0 0 ${this.svgWidth} ${this.svgHeight}`}\n role='img'\n {...extractedAriaProps}\n >\n {this.data.map((barItem, index) => {\n let color = resolveColor('chart-palette-order-other-data');\n\n if (barItem.color) {\n color = resolveColor(barItem.color);\n }\n\n return (\n <rect\n key={index}\n x={step * index}\n y={this.defaultHeight - barItem.value}\n width={isHistogram ? step : step * 0.8}\n height={barItem.value}\n fill={color}\n >\n {animate && !loading && (\n <animate\n attributeName='y'\n values={`${this.defaultHeight};${this.defaultHeight - barItem.value}`}\n dur='500ms'\n />\n )}\n </rect>\n );\n })}\n </svg>\n </STrendBar>,\n );\n }\n}\n\nexport const TrendBar = createComponent<'svg', TrendBarProps, {}, typeof TrendBarRoot.enhance>(TrendBarRoot);\n\nTrendBar.displayName = 'MiniChart.TrendBar';\n\nexport const TrendHistogram = createComponent<'svg', TrendBarProps, {}, typeof TrendBarRoot.enhance>(\n TrendBarRoot,\n {},\n {\n enhancements: [\n () => {\n return {\n wrapperProps: (props: TrendBarProps) => {\n return assignProps(props, { isHistogram: true });\n },\n };\n },\n ],\n },\n);\n\nTrendBar.displayName = 'MiniChart.TrendHistogram';\n"],"mappings":";;;AAAA,SAASA,GAAG,QAAQ,0BAA0B;AAC9C,SAASC,eAAe,EAAEC,WAAW,EAAEC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AAC3E,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,OAAOC,mBAAmB,MAAM,sDAAsD;AACtF,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,KAAK,QAA+B,SAAS;AAAC;AAAA,MAAAC,KAAA,8BAAAC,QAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAqBvD,MAAMC,YAAY,SAASJ,KAAK,CAA6C;EAS3E,IAAIK,WAAWA,CAAA,EAAc;IAC3B,OAAO,CAAC;MAAEC,KAAK,EAAE;IAAG,CAAC,EAAE;MAAEA,KAAK,EAAE;IAAG,CAAC,EAAE;MAAEA,KAAK,EAAE;IAAG,CAAC,EAAE;MAAEA,KAAK,EAAE;IAAG,CAAC,CAAC;EACrE;EAEA,IAAIC,IAAIA,CAAA,EAAc;IACpB,MAAM;MAAEA,IAAI;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACC,OAAO;IAEtC,IAAID,OAAO,EAAE;MACX,OAAO,IAAI,CAACH,WAAW;IACzB;IAEA,OAAOE,IAAI;EACb;EAEAG,MAAMA,CAAA,EAAG;IAAA,IAAAC,IAAA,QAAAF,OAAA;MAAAG,KAAA;IACP,MAAMC,SAAS,GAMMrB,GAAG;IALxB,MAAM;MAAEsB,MAAM;MAAEC,YAAY;MAAEC,WAAW;MAAEC,OAAO;MAAET;IAAQ,CAAC,GAAG,IAAI,CAACC,OAAO;IAC5E,MAAMS,IAAI,GAAG,IAAI,CAACC,YAAY,GAAG,IAAI,CAACZ,IAAI,CAACa,MAAM;IACjD,MAAM;MAAEC,cAAc;MAAEC;IAAmB,CAAC,GAAGzB,gBAAgB,CAAC,IAAI,CAACY,OAAO,CAAC;IAE7E,OAAAG,KAAA,GAAOhB,OAAO,CAACkB,MAAM,CAAC,eACpBf,KAAA,CAAAwB,aAAA,CAACV,SAAS,EAAAD,KAAA,CAAAY,EAAA;MAAA,GAAAC,YAAA;QAAA,OAAmB,IAAI,CAACC,YAAY;QAAA,kBAAkB,CAAC,MAAM,EAAE,GAAGL,cAAc;MAAC,GAAAV,IAAA;IAAA,iBACzFZ,KAAA,CAAAwB,aAAA,QAAAX,KAAA,CAAAY,EAAA;MAAA,SACQ,MAAM;MAAA,UACL,MAAM;MAAA,WACJ,OAAO,IAAI,CAACG,QAAQ,IAAI,IAAI,CAACC,SAAS,EAAE;MAAA,QAC5C,KAAK;MAAA,GACNN;IAAkB,IAErB,IAAI,CAACf,IAAI,CAACsB,GAAG,CAAC,CAACC,OAAO,EAAEC,KAAK,KAAK;MACjC,IAAIC,KAAK,GAAGjB,YAAY,CAAC,gCAAgC,CAAC;MAE1D,IAAIe,OAAO,CAACE,KAAK,EAAE;QACjBA,KAAK,GAAGjB,YAAY,CAACe,OAAO,CAACE,KAAK,CAAC;MACrC;MAEA,oBACEjC,KAAA,CAAAwB,aAAA;QACEU,GAAG,EAAEF,KAAM;QACXG,CAAC,EAAEhB,IAAI,GAAGa,KAAM;QAChBI,CAAC,EAAE,IAAI,CAACC,aAAa,GAAGN,OAAO,CAACxB,KAAM;QACtC+B,KAAK,EAAErB,WAAW,GAAGE,IAAI,GAAGA,IAAI,GAAG,GAAI;QACvCoB,MAAM,EAAER,OAAO,CAACxB,KAAM;QACtBiC,IAAI,EAAEP;MAAM,GAEXf,OAAO,IAAI,CAACT,OAAO,iBAClBT,KAAA,CAAAwB,aAAA;QACEiB,aAAa,EAAC,GAAG;QACjBC,MAAM,EAAE,GAAG,IAAI,CAACL,aAAa,IAAI,IAAI,CAACA,aAAa,GAAGN,OAAO,CAACxB,KAAK,EAAG;QACtEoC,GAAG,EAAC;MAAO,CACZ,CAEC,CAAC;IAEX,CAAC,CACE,CACI,CAAC;EAEhB;AACF;AAACC,eAAA,CApEKvC,YAAY,aACC,CAACN,mBAAmB,CAAC,CAAC,CAAC;AAAA6C,eAAA,CADpCvC,YAAY,WAGDH,KAAK;AAAA0C,eAAA,CAHhBvC,YAAY,kBAKM;EACpBa,OAAO,EAAE;AACX,CAAC;AA+DH,OAAO,MAAM2B,QAAQ,GAAGnD,eAAe,CAAwDW,YAAY,CAAC;AAE5GwC,QAAQ,CAACC,WAAW,GAAG,oBAAoB;AAE3C,OAAO,MAAMC,cAAc,GAAGrD,eAAe,CAC3CW,YAAY,EACZ,CAAC,CAAC,EACF;EACE2C,YAAY,EAAE,CACZ,MAAM;IACJ,OAAO;MACLC,YAAY,EAAGC,KAAoB,IAAK;QACtC,OAAOvD,WAAW,CAACuD,KAAK,EAAE;UAAEjC,WAAW,EAAE;QAAK,CAAC,CAAC;MAClD;IACF,CAAC;EACH,CAAC;AAEL,CACF,CAAC;AAED4B,QAAQ,CAACC,WAAW,GAAG,0BAA0B","ignoreList":[]}