@semcore/mini-chart 16.1.1 → 17.0.0-prerelease.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +4 -4
- package/lib/cjs/component/score/Donut.js +84 -96
- package/lib/cjs/component/score/Donut.js.map +1 -1
- package/lib/cjs/component/score/Line.js +104 -108
- package/lib/cjs/component/score/Line.js.map +1 -1
- package/lib/cjs/component/score/Line.types.js.map +1 -1
- package/lib/cjs/component/score/index.js +3 -3
- package/lib/cjs/component/trend/Bar.js +83 -96
- package/lib/cjs/component/trend/Bar.js.map +1 -1
- package/lib/cjs/component/trend/Line.js +114 -135
- package/lib/cjs/component/trend/Line.js.map +1 -1
- package/lib/cjs/component/trend/Trend.js +43 -65
- package/lib/cjs/component/trend/Trend.js.map +1 -1
- package/lib/cjs/component/trend/index.js +4 -4
- package/lib/cjs/index.js +3 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/utils/ScoreDonutUtils.js +48 -75
- package/lib/cjs/utils/ScoreDonutUtils.js.map +1 -1
- package/lib/es6/component/score/Donut.js +80 -93
- package/lib/es6/component/score/Donut.js.map +1 -1
- package/lib/es6/component/score/Line.js +99 -103
- package/lib/es6/component/score/Line.js.map +1 -1
- package/lib/es6/component/score/Line.types.js.map +1 -1
- package/lib/es6/component/trend/Bar.js +78 -91
- package/lib/es6/component/trend/Bar.js.map +1 -1
- package/lib/es6/component/trend/Line.js +109 -130
- package/lib/es6/component/trend/Line.js.map +1 -1
- package/lib/es6/component/trend/Trend.js +41 -64
- package/lib/es6/component/trend/Trend.js.map +1 -1
- package/lib/es6/index.js +8 -8
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/utils/ScoreDonutUtils.js +43 -71
- package/lib/es6/utils/ScoreDonutUtils.js.map +1 -1
- package/lib/esm/component/score/Donut.mjs +80 -79
- package/lib/esm/component/score/Line.mjs +100 -91
- package/lib/esm/component/trend/Bar.mjs +79 -82
- package/lib/esm/component/trend/Line.mjs +110 -116
- package/lib/esm/component/trend/Trend.mjs +41 -61
- package/lib/esm/index.mjs +1 -1
- package/lib/esm/utils/ScoreDonutUtils.mjs +43 -71
- package/lib/types/component/score/Donut.d.ts +7 -12
- package/lib/types/component/score/Line.types.d.ts +8 -6
- package/lib/types/component/trend/Bar.d.ts +2 -8
- package/lib/types/component/trend/Line.d.ts +6 -10
- package/lib/types/component/trend/Trend.d.ts +3 -3
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/@semcore/mini-chart)
|
|
4
4
|
[](https://www.npmjs.com/package/@semcore/mini-chart)
|
|
5
|
-
[](https://github.com/semrush/intergalactic/blob/
|
|
5
|
+
[](https://github.com/semrush/intergalactic/blob/HEAD/LICENSE)
|
|
6
6
|
|
|
7
7
|
> This component is part of the Intergalactic Design System
|
|
8
8
|
|
|
@@ -20,13 +20,13 @@ npm install @semcore/mini-chart
|
|
|
20
20
|
|
|
21
21
|
## 👤 Author
|
|
22
22
|
|
|
23
|
-
[UI-kit team](https://github.com/semrush/intergalactic/blob/
|
|
23
|
+
[UI-kit team](https://github.com/semrush/intergalactic/blob/HEAD/MAINTAINERS) and [others ❤️](https://github.com/semrush/intergalactic/graphs/contributors)
|
|
24
24
|
|
|
25
25
|
## 🤝 Contributing
|
|
26
26
|
|
|
27
27
|
Contributions, issues and feature requests are welcome!
|
|
28
28
|
|
|
29
|
-
Feel free to check [issues page](https://github.com/semrush/intergalactic/issues). You can also take a look at the [contributing guide](https://github.com/semrush/intergalactic/blob/
|
|
29
|
+
Feel free to check [issues page](https://github.com/semrush/intergalactic/issues). You can also take a look at the [contributing guide](https://github.com/semrush/intergalactic/blob/HEAD/CONTRIBUTING.md).
|
|
30
30
|
|
|
31
31
|
## Show your support
|
|
32
32
|
|
|
@@ -34,4 +34,4 @@ Give a ⭐️ if this project helped you!
|
|
|
34
34
|
|
|
35
35
|
## 📝 License
|
|
36
36
|
|
|
37
|
-
This project is [MIT](https://github.com/semrush/intergalactic/blob/
|
|
37
|
+
This project is [MIT](https://github.com/semrush/intergalactic/blob/HEAD/LICENSE) licensed.
|
|
@@ -1,125 +1,113 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.ScoreSemiDonut = exports.ScoreDonut = void 0;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
|
|
12
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
9
|
var _core = require("@semcore/core");
|
|
10
|
+
var _baseComponents = require("@semcore/base-components");
|
|
15
11
|
var _ariaProps = require("@semcore/core/lib/utils/ariaProps");
|
|
16
12
|
var _resolveColorEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/resolveColorEnhance"));
|
|
17
13
|
var _useCssVariable = require("@semcore/core/lib/utils/useCssVariable");
|
|
18
|
-
var _flexBox = require("@semcore/flex-box");
|
|
19
14
|
var _react = _interopRequireDefault(require("react"));
|
|
20
15
|
var _ScoreDonutUtils = require("../../utils/ScoreDonutUtils");
|
|
21
16
|
/*!__reshadow-styles__:"./donut.shadow.css"*/
|
|
22
|
-
|
|
17
|
+
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/"@keyframes pulse_1yj1g{0%,to{opacity:1}50%{opacity:.4}}.___SDonutContainer_1yj1g_gg_.__loading_1yj1g_gg_,.___SLineGauge_1yj1g_gg_.__loading_1yj1g_gg_,.___STrendBar_1yj1g_gg_.__loading_1yj1g_gg_,.___STrendLine_1yj1g_gg_.__loading_1yj1g_gg_{animation-name:pulse_1yj1g;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-duration:1.6s;will-change:opacity}.___SDonutContainer_1yj1g_gg_.__semi_1yj1g_gg_ g{transform:rotate(180deg) translate(-24px,-24px)}.___SDonutContainer_1yj1g_gg_ g{transform:rotate(-90deg) translate(-24px)}.___SDonutContainer_1yj1g_gg_.__animate_1yj1g_gg_ circle{transition:all var(--intergalactic-duration-extra-slow, 500) ease-in-out}", /*__inner_css_end__*/"1yj1g_gg_"),
|
|
23
18
|
/*__reshadow_css_end__*/
|
|
24
19
|
{
|
|
25
|
-
"__SLineGauge": "
|
|
26
|
-
"_loading": "
|
|
27
|
-
"__SDonutContainer": "
|
|
28
|
-
"__STrendLine": "
|
|
29
|
-
"__STrendBar": "
|
|
30
|
-
"@pulse": "
|
|
31
|
-
"_animate": "
|
|
32
|
-
"_semi": "
|
|
20
|
+
"__SLineGauge": "___SLineGauge_1yj1g_gg_",
|
|
21
|
+
"_loading": "__loading_1yj1g_gg_",
|
|
22
|
+
"__SDonutContainer": "___SDonutContainer_1yj1g_gg_",
|
|
23
|
+
"__STrendLine": "___STrendLine_1yj1g_gg_",
|
|
24
|
+
"__STrendBar": "___STrendBar_1yj1g_gg_",
|
|
25
|
+
"@pulse": "pulse_1yj1g",
|
|
26
|
+
"_animate": "__animate_1yj1g_gg_",
|
|
27
|
+
"_semi": "__semi_1yj1g_gg_"
|
|
33
28
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
duration = _this$asProps.duration;
|
|
58
|
-
var scoreDonut = new _ScoreDonutUtils.ScoreDonutUtils(value, isSemiDonut);
|
|
59
|
-
var _extractAriaProps = (0, _ariaProps.extractAriaProps)(this.asProps),
|
|
60
|
-
__excludeProps = _extractAriaProps.__excludeProps,
|
|
61
|
-
extractedAriaProps = _extractAriaProps.extractedAriaProps;
|
|
62
|
-
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDonutContainer, _ref2.cn("SDonutContainer", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
29
|
+
class DonutRoot extends _core.Component {
|
|
30
|
+
render() {
|
|
31
|
+
var _ref = this.asProps,
|
|
32
|
+
_ref2;
|
|
33
|
+
const SDonutContainer = _baseComponents.Box;
|
|
34
|
+
const {
|
|
35
|
+
value,
|
|
36
|
+
styles,
|
|
37
|
+
baseBgColor = 'chart-grid-bar-chart-base-bg',
|
|
38
|
+
color = 'chart-palette-order-1',
|
|
39
|
+
resolveColor,
|
|
40
|
+
isSemiDonut,
|
|
41
|
+
loading,
|
|
42
|
+
animate,
|
|
43
|
+
duration
|
|
44
|
+
} = this.asProps;
|
|
45
|
+
const scoreDonut = new _ScoreDonutUtils.ScoreDonutUtils(value, isSemiDonut);
|
|
46
|
+
const {
|
|
47
|
+
__excludeProps,
|
|
48
|
+
extractedAriaProps
|
|
49
|
+
} = (0, _ariaProps.extractAriaProps)(this.asProps);
|
|
50
|
+
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SDonutContainer, _ref2.cn("SDonutContainer", {
|
|
51
|
+
...(0, _core.assignProps)({
|
|
63
52
|
"semi": isSemiDonut,
|
|
64
53
|
"__excludeProps": __excludeProps
|
|
65
|
-
}, _ref)
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
|
|
54
|
+
}, _ref)
|
|
55
|
+
}), /*#__PURE__*/_react.default.createElement("svg", _ref2.cn("svg", {
|
|
56
|
+
"width": '100%',
|
|
57
|
+
"height": '100%',
|
|
58
|
+
"viewBox": scoreDonut.viewBox,
|
|
59
|
+
"fill": 'none',
|
|
60
|
+
"role": 'img',
|
|
61
|
+
...extractedAriaProps
|
|
62
|
+
}), /*#__PURE__*/_react.default.createElement("g", _ref2.cn("g", {}), /*#__PURE__*/_react.default.createElement("circle", _ref2.cn("circle", {
|
|
63
|
+
"cx": '12',
|
|
64
|
+
"cy": '12',
|
|
65
|
+
"r": scoreDonut.radius,
|
|
66
|
+
"strokeWidth": scoreDonut.strokeWidth,
|
|
67
|
+
"stroke": resolveColor(baseBgColor),
|
|
68
|
+
"strokeDasharray": loading ? undefined : `${scoreDonut.baseLength} ${scoreDonut.fullLength}`,
|
|
69
|
+
"strokeDashoffset": scoreDonut.baseOffset
|
|
70
|
+
}), animate && value > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("animate", _ref2.cn("animate", {
|
|
71
|
+
"attributeName": 'stroke-dasharray',
|
|
72
|
+
"from": `${scoreDonut.animatedBaseLengthFrom} ${scoreDonut.fullLength}`,
|
|
73
|
+
"to": `${scoreDonut.animatedBaseLengthTo} ${scoreDonut.fullLength}`,
|
|
74
|
+
"dur": duration + 'ms'
|
|
75
|
+
})), /*#__PURE__*/_react.default.createElement("animate", _ref2.cn("animate", {
|
|
76
|
+
"attributeName": 'stroke-dashoffset',
|
|
77
|
+
"from": -1 * scoreDonut.startMargin,
|
|
78
|
+
"to": scoreDonut.baseOffset,
|
|
79
|
+
"dur": duration + 'ms'
|
|
80
|
+
})))), !loading && value > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("circle", _ref2.cn("circle", {
|
|
81
|
+
"cx": '12',
|
|
82
|
+
"cy": '12',
|
|
83
|
+
"r": scoreDonut.radius,
|
|
84
|
+
"strokeWidth": scoreDonut.strokeWidth,
|
|
85
|
+
"stroke": resolveColor(color),
|
|
86
|
+
"strokeDasharray": `${scoreDonut.valueLength} ${scoreDonut.fullLength}`
|
|
87
|
+
}), animate && /*#__PURE__*/_react.default.createElement("animate", _ref2.cn("animate", {
|
|
88
|
+
"attributeName": 'stroke-dasharray',
|
|
89
|
+
"from": `0 ${scoreDonut.fullLength}`,
|
|
90
|
+
"to": `${scoreDonut.valueLength} ${scoreDonut.fullLength}`,
|
|
91
|
+
"dur": duration + 'ms'
|
|
92
|
+
})))))));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
(0, _defineProperty2.default)(DonutRoot, "enhance", [(0, _useCssVariable.cssVariableEnhance)({
|
|
106
96
|
variable: '--intergalactic-duration-extra-slow',
|
|
107
97
|
fallback: '500',
|
|
108
|
-
map:
|
|
109
|
-
return Number.parseInt(v, 10).toString();
|
|
110
|
-
},
|
|
98
|
+
map: v => Number.parseInt(v, 10).toString(),
|
|
111
99
|
prop: 'duration'
|
|
112
|
-
}), (0, _resolveColorEnhance
|
|
113
|
-
(0, _defineProperty2
|
|
114
|
-
(0, _defineProperty2
|
|
100
|
+
}), (0, _resolveColorEnhance.default)()]);
|
|
101
|
+
(0, _defineProperty2.default)(DonutRoot, "style", style);
|
|
102
|
+
(0, _defineProperty2.default)(DonutRoot, "defaultProps", {
|
|
115
103
|
animate: true
|
|
116
104
|
});
|
|
117
|
-
|
|
105
|
+
const ScoreDonut = exports.ScoreDonut = (0, _core.createComponent)(DonutRoot);
|
|
118
106
|
ScoreDonut.displayName = 'MiniChart.ScoreDonut';
|
|
119
|
-
|
|
120
|
-
enhancements: [
|
|
107
|
+
const ScoreSemiDonut = exports.ScoreSemiDonut = (0, _core.createComponent)(DonutRoot, {}, {
|
|
108
|
+
enhancements: [() => {
|
|
121
109
|
return {
|
|
122
|
-
wrapperProps:
|
|
110
|
+
wrapperProps: props => {
|
|
123
111
|
return (0, _core.assignProps)(props, {
|
|
124
112
|
isSemiDonut: true
|
|
125
113
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Donut.js","names":["_core","require","_ariaProps","_resolveColorEnhance","_interopRequireDefault","_useCssVariable","
|
|
1
|
+
{"version":3,"file":"Donut.js","names":["_core","require","_baseComponents","_ariaProps","_resolveColorEnhance","_interopRequireDefault","_useCssVariable","_react","_ScoreDonutUtils","style","sstyled","insert","DonutRoot","Component","render","_ref","asProps","_ref2","SDonutContainer","Box","value","styles","baseBgColor","color","resolveColor","isSemiDonut","loading","animate","duration","scoreDonut","ScoreDonutUtils","__excludeProps","extractedAriaProps","extractAriaProps","default","createElement","cn","assignProps","viewBox","radius","strokeWidth","undefined","baseLength","fullLength","baseOffset","Fragment","animatedBaseLengthFrom","animatedBaseLengthTo","startMargin","valueLength","_defineProperty2","cssVariableEnhance","variable","fallback","map","v","Number","parseInt","toString","prop","resolveColorEnhance","ScoreDonut","exports","createComponent","displayName","ScoreSemiDonut","enhancements","wrapperProps","props"],"sources":["../../../../src/component/score/Donut.tsx"],"sourcesContent":["import { Box, type BoxProps } from '@semcore/base-components';\nimport { createComponent, Component, Root, sstyled, assignProps } from '@semcore/core';\nimport { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport { cssVariableEnhance } from '@semcore/core/lib/utils/useCssVariable';\nimport React from 'react';\n\nimport style from './donut.shadow.css';\nimport type { CommonScoreProps } from './Score';\nimport { ScoreDonutUtils } from '../../utils/ScoreDonutUtils';\n\nexport type ScoreDonutProps = BoxProps & CommonScoreProps;\n\nclass DonutRoot extends Component<ScoreDonutProps, typeof DonutRoot.enhance> {\n static enhance = [\n cssVariableEnhance({\n variable: '--intergalactic-duration-extra-slow',\n fallback: '500',\n map: (v: string) => Number.parseInt(v, 10).toString(),\n prop: 'duration',\n }),\n resolveColorEnhance(),\n ] as const;\n\n static style = style;\n\n static defaultProps = {\n animate: true,\n };\n\n render() {\n const SDonutContainer = Root;\n const {\n value,\n styles,\n baseBgColor = 'chart-grid-bar-chart-base-bg',\n color = 'chart-palette-order-1',\n resolveColor,\n isSemiDonut,\n loading,\n animate,\n duration,\n } = this.asProps;\n\n const scoreDonut = new ScoreDonutUtils(value, isSemiDonut);\n const { __excludeProps, extractedAriaProps } = extractAriaProps(this.asProps);\n\n return sstyled(styles)(\n <SDonutContainer render={Box} semi={isSemiDonut} __excludeProps={__excludeProps}>\n <svg\n width='100%'\n height='100%'\n viewBox={scoreDonut.viewBox}\n fill='none'\n role='img'\n {...extractedAriaProps}\n >\n <g>\n <circle\n cx='12'\n cy='12'\n r={scoreDonut.radius}\n strokeWidth={scoreDonut.strokeWidth}\n stroke={resolveColor(baseBgColor)}\n strokeDasharray={\n loading\n ? undefined\n : `${scoreDonut.baseLength} ${scoreDonut.fullLength}`\n }\n strokeDashoffset={scoreDonut.baseOffset}\n >\n {animate && value > 0 && (\n <>\n <animate\n attributeName='stroke-dasharray'\n from={`${scoreDonut.animatedBaseLengthFrom} ${scoreDonut.fullLength}`}\n to={`${scoreDonut.animatedBaseLengthTo} ${scoreDonut.fullLength}`}\n dur={duration + 'ms'}\n />\n <animate\n attributeName='stroke-dashoffset'\n from={-1 * scoreDonut.startMargin}\n to={scoreDonut.baseOffset}\n dur={duration + 'ms'}\n />\n </>\n )}\n </circle>\n {!loading && value > 0 && (\n <>\n <circle\n cx='12'\n cy='12'\n r={scoreDonut.radius}\n strokeWidth={scoreDonut.strokeWidth}\n stroke={resolveColor(color)}\n strokeDasharray={`${scoreDonut.valueLength} ${scoreDonut.fullLength}`}\n >\n {animate && (\n <animate\n attributeName='stroke-dasharray'\n from={`0 ${scoreDonut.fullLength}`}\n to={`${scoreDonut.valueLength} ${scoreDonut.fullLength}`}\n dur={duration + 'ms'}\n />\n )}\n </circle>\n </>\n )}\n </g>\n </svg>\n </SDonutContainer>,\n );\n }\n}\n\nexport const ScoreDonut = createComponent<'svg', ScoreDonutProps, {}, typeof DonutRoot.enhance>(DonutRoot);\n\nScoreDonut.displayName = 'MiniChart.ScoreDonut';\n\nexport const ScoreSemiDonut = createComponent<'svg', ScoreDonutProps, {}, typeof DonutRoot.enhance>(\n DonutRoot,\n {},\n {\n enhancements: [\n () => {\n return {\n wrapperProps: (props: ScoreDonutProps) => {\n return assignProps(props, { isSemiDonut: true });\n },\n };\n },\n ],\n },\n);\n\nScoreSemiDonut.displayName = 'MiniChart.ScoreSemiDonut';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,138 +1,134 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.ScoreLine = void 0;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
|
|
12
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
9
|
var _core = require("@semcore/core");
|
|
10
|
+
var _baseComponents = require("@semcore/base-components");
|
|
15
11
|
var _resolveColorEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/resolveColorEnhance"));
|
|
16
|
-
var _flexBox = require("@semcore/flex-box");
|
|
17
12
|
var _react = _interopRequireDefault(require("react"));
|
|
18
13
|
/*!__reshadow-styles__:"./line.shadow.css"*/
|
|
19
|
-
|
|
14
|
+
const style = (/*__reshadow_css_start__*/_core.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_"),
|
|
20
15
|
/*__reshadow_css_end__*/
|
|
21
16
|
{
|
|
22
|
-
"__SLineGauge": "
|
|
23
|
-
"_loading": "
|
|
24
|
-
"__SDonutContainer": "
|
|
25
|
-
"__STrendLine": "
|
|
26
|
-
"__STrendBar": "
|
|
27
|
-
"@pulse": "
|
|
28
|
-
"--base-bg-color": "--base-bg-
|
|
29
|
-
"__SLineValue": "
|
|
30
|
-
"_percent": "
|
|
31
|
-
"--percent": "--
|
|
32
|
-
"_color": "
|
|
33
|
-
"__SLineSegmentItem": "
|
|
34
|
-
"--color": "--
|
|
35
|
-
"_segments": "
|
|
36
|
-
"__SLineGaugeSegment": "
|
|
37
|
-
"__SAnimationLine": "
|
|
38
|
-
"@move-line": "move-
|
|
17
|
+
"__SLineGauge": "___SLineGauge_1q9hd_gg_",
|
|
18
|
+
"_loading": "__loading_1q9hd_gg_",
|
|
19
|
+
"__SDonutContainer": "___SDonutContainer_1q9hd_gg_",
|
|
20
|
+
"__STrendLine": "___STrendLine_1q9hd_gg_",
|
|
21
|
+
"__STrendBar": "___STrendBar_1q9hd_gg_",
|
|
22
|
+
"@pulse": "pulse_1q9hd",
|
|
23
|
+
"--base-bg-color": "--base-bg-color_1q9hd",
|
|
24
|
+
"__SLineValue": "___SLineValue_1q9hd_gg_",
|
|
25
|
+
"_percent": "__percent_1q9hd_gg_",
|
|
26
|
+
"--percent": "--percent_1q9hd",
|
|
27
|
+
"_color": "__color_1q9hd_gg_",
|
|
28
|
+
"__SLineSegmentItem": "___SLineSegmentItem_1q9hd_gg_",
|
|
29
|
+
"--color": "--color_1q9hd",
|
|
30
|
+
"_segments": "__segments_1q9hd_gg_",
|
|
31
|
+
"__SLineGaugeSegment": "___SLineGaugeSegment_1q9hd_gg_",
|
|
32
|
+
"__SAnimationLine": "___SAnimationLine_1q9hd_gg_",
|
|
33
|
+
"@move-line": "move-line_1q9hd"
|
|
39
34
|
});
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
class LineRoot extends _core.Component {
|
|
36
|
+
getSegmentProps(segmentProps) {
|
|
37
|
+
const {
|
|
38
|
+
children,
|
|
39
|
+
resolveColor
|
|
40
|
+
} = this.asProps;
|
|
41
|
+
let sum = 0;
|
|
42
|
+
_react.default.Children.forEach(children, child => {
|
|
43
|
+
if (/*#__PURE__*/_react.default.isValidElement(child)) {
|
|
44
|
+
sum = sum + child.props.value;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
const width = sum > 0 ? 100 * segmentProps.value / sum : 0;
|
|
48
|
+
return {
|
|
49
|
+
'w': `${width}%`,
|
|
50
|
+
'use:color': resolveColor(segmentProps.color)
|
|
51
|
+
};
|
|
44
52
|
}
|
|
45
|
-
(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
_ref5;
|
|
69
|
-
var SLineGauge = _flexBox.Box;
|
|
70
|
-
var SLineValue = _flexBox.Box;
|
|
71
|
-
var SAnimationLine = _flexBox.Box;
|
|
72
|
-
var SLineGaugeSegment = _flexBox.Flex;
|
|
73
|
-
var SLineSegmentItem = _flexBox.Box;
|
|
74
|
-
var _this$asProps2 = this.asProps,
|
|
75
|
-
value = _this$asProps2.value,
|
|
76
|
-
styles = _this$asProps2.styles,
|
|
77
|
-
_this$asProps2$color = _this$asProps2.color,
|
|
78
|
-
color = _this$asProps2$color === void 0 ? 'chart-palette-order-1' : _this$asProps2$color,
|
|
79
|
-
baseBgColor = _this$asProps2.baseBgColor,
|
|
80
|
-
resolveColor = _this$asProps2.resolveColor,
|
|
81
|
-
loading = _this$asProps2.loading,
|
|
82
|
-
children = _this$asProps2.children,
|
|
83
|
-
Children = _this$asProps2.Children,
|
|
84
|
-
animate = _this$asProps2.animate;
|
|
85
|
-
if (children !== undefined) {
|
|
86
|
-
var _ref3;
|
|
87
|
-
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SLineGauge, _ref3.cn("SLineGauge", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
53
|
+
render() {
|
|
54
|
+
var _ref = this.asProps,
|
|
55
|
+
_ref5;
|
|
56
|
+
const SLineGauge = _baseComponents.Box;
|
|
57
|
+
const SLineValue = _baseComponents.Box;
|
|
58
|
+
const SAnimationLine = _baseComponents.Box;
|
|
59
|
+
const SLineGaugeSegment = _baseComponents.Flex;
|
|
60
|
+
const SLineSegmentItem = _baseComponents.Box;
|
|
61
|
+
const {
|
|
62
|
+
value,
|
|
63
|
+
styles,
|
|
64
|
+
color = 'chart-palette-order-1',
|
|
65
|
+
baseBgColor,
|
|
66
|
+
resolveColor,
|
|
67
|
+
loading,
|
|
68
|
+
children,
|
|
69
|
+
Children,
|
|
70
|
+
animate
|
|
71
|
+
} = this.asProps;
|
|
72
|
+
if (children !== undefined) {
|
|
73
|
+
var _ref3;
|
|
74
|
+
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SLineGauge, _ref3.cn("SLineGauge", {
|
|
75
|
+
...(0, _core.assignProps)({
|
|
88
76
|
"segments": true,
|
|
89
77
|
"base-bg-color": resolveColor(baseBgColor)
|
|
90
|
-
}, _ref)
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if (segments) {
|
|
107
|
-
percent = "".concat(value / segments * 100, "%");
|
|
78
|
+
}, _ref)
|
|
79
|
+
}), /*#__PURE__*/_react.default.createElement(SLineGaugeSegment, _ref3.cn("SLineGaugeSegment", {}), /*#__PURE__*/_react.default.createElement(Children, _ref3.cn("Children", {}))), animate && /*#__PURE__*/_react.default.createElement(SAnimationLine, _ref3.cn("SAnimationLine", {})));
|
|
80
|
+
}
|
|
81
|
+
const {
|
|
82
|
+
segments
|
|
83
|
+
} = this.asProps;
|
|
84
|
+
const SegmentItems = [];
|
|
85
|
+
if (segments) {
|
|
86
|
+
for (let i = 0; i < segments; i++) {
|
|
87
|
+
var _ref4;
|
|
88
|
+
const width = `calc((100% - ${segments - 1}px) / ${segments})`;
|
|
89
|
+
SegmentItems.push((_ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SLineSegmentItem, _ref4.cn("SLineSegmentItem", {
|
|
90
|
+
"key": i,
|
|
91
|
+
"color": i < value ? resolveColor(color) : undefined,
|
|
92
|
+
"w": width
|
|
93
|
+
}))));
|
|
108
94
|
}
|
|
109
|
-
return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SLineGauge, _ref5.cn("SLineGauge", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
110
|
-
"base-bg-color": resolveColor(baseBgColor)
|
|
111
|
-
}, _ref))), !loading && /*#__PURE__*/_react["default"].createElement(SLineValue, _ref5.cn("SLineValue", {
|
|
112
|
-
"w": percent,
|
|
113
|
-
"color": resolveColor(color)
|
|
114
|
-
})), Boolean(SegmentItems.length) && /*#__PURE__*/_react["default"].createElement(SLineGaugeSegment, _ref5.cn("SLineGaugeSegment", {}), SegmentItems), animate && /*#__PURE__*/_react["default"].createElement(SAnimationLine, _ref5.cn("SAnimationLine", {})));
|
|
115
95
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
(0,
|
|
121
|
-
(0,
|
|
96
|
+
let percent = `${value}%`;
|
|
97
|
+
if (segments) {
|
|
98
|
+
percent = `${value / segments * 100}%`;
|
|
99
|
+
}
|
|
100
|
+
return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SLineGauge, _ref5.cn("SLineGauge", {
|
|
101
|
+
...(0, _core.assignProps)({
|
|
102
|
+
"base-bg-color": resolveColor(baseBgColor)
|
|
103
|
+
}, _ref)
|
|
104
|
+
}), !loading && /*#__PURE__*/_react.default.createElement(SLineValue, _ref5.cn("SLineValue", {
|
|
105
|
+
"w": percent,
|
|
106
|
+
"color": resolveColor(color)
|
|
107
|
+
})), Boolean(SegmentItems.length) && /*#__PURE__*/_react.default.createElement(SLineGaugeSegment, _ref5.cn("SLineGaugeSegment", {}), SegmentItems), animate && /*#__PURE__*/_react.default.createElement(SAnimationLine, _ref5.cn("SAnimationLine", {})));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
(0, _defineProperty2.default)(LineRoot, "enhance", [(0, _resolveColorEnhance.default)()]);
|
|
111
|
+
(0, _defineProperty2.default)(LineRoot, "displayName", 'ScoreLine');
|
|
112
|
+
(0, _defineProperty2.default)(LineRoot, "style", style);
|
|
113
|
+
(0, _defineProperty2.default)(LineRoot, "defaultProps", {
|
|
122
114
|
animate: true
|
|
123
115
|
});
|
|
124
116
|
function Segment(props) {
|
|
125
117
|
var _ref2 = arguments[0],
|
|
126
118
|
_ref6;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
119
|
+
const {
|
|
120
|
+
styles,
|
|
121
|
+
value
|
|
122
|
+
} = props;
|
|
123
|
+
const SLineSegmentItem = _baseComponents.Box;
|
|
130
124
|
if (!value) return null;
|
|
131
|
-
return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react
|
|
125
|
+
return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SLineSegmentItem, _ref6.cn("SLineSegmentItem", {
|
|
126
|
+
...(0, _core.assignProps)({}, _ref2)
|
|
127
|
+
}));
|
|
132
128
|
}
|
|
133
129
|
Segment.displayName = 'Segment';
|
|
134
|
-
|
|
135
|
-
Segment
|
|
130
|
+
const ScoreLine = exports.ScoreLine = (0, _core.createComponent)(LineRoot, {
|
|
131
|
+
Segment
|
|
136
132
|
});
|
|
137
133
|
ScoreLine.displayName = 'MiniChart.ScoreLine';
|
|
138
134
|
//# sourceMappingURL=Line.js.map
|