@semcore/mini-chart 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/LICENSE +21 -0
- package/README.md +41 -0
- package/lib/cjs/component/score/Donut.js +123 -0
- package/lib/cjs/component/score/Donut.js.map +1 -0
- package/lib/cjs/component/score/Line.js +94 -0
- package/lib/cjs/component/score/Line.js.map +1 -0
- package/lib/cjs/component/score/Score.js +2 -0
- package/lib/cjs/component/score/Score.js.map +1 -0
- package/lib/cjs/component/score/donut.shadow.css +17 -0
- package/lib/cjs/component/score/index.js +26 -0
- package/lib/cjs/component/score/index.js.map +1 -0
- package/lib/cjs/component/score/line.shadow.css +66 -0
- package/lib/cjs/component/skeleton/skeleton.shadow.css +24 -0
- package/lib/cjs/component/trend/Bar.js +124 -0
- package/lib/cjs/component/trend/Bar.js.map +1 -0
- package/lib/cjs/component/trend/Line.js +166 -0
- package/lib/cjs/component/trend/Line.js.map +1 -0
- package/lib/cjs/component/trend/Trend.js +87 -0
- package/lib/cjs/component/trend/Trend.js.map +1 -0
- package/lib/cjs/component/trend/index.js +32 -0
- package/lib/cjs/component/trend/index.js.map +1 -0
- package/lib/cjs/index.js +20 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/es6/component/score/Donut.js +116 -0
- package/lib/es6/component/score/Donut.js.map +1 -0
- package/lib/es6/component/score/Line.js +87 -0
- package/lib/es6/component/score/Line.js.map +1 -0
- package/lib/es6/component/score/Score.js +2 -0
- package/lib/es6/component/score/Score.js.map +1 -0
- package/lib/es6/component/score/donut.shadow.css +17 -0
- package/lib/es6/component/score/index.js +4 -0
- package/lib/es6/component/score/index.js.map +1 -0
- package/lib/es6/component/score/line.shadow.css +66 -0
- package/lib/es6/component/skeleton/skeleton.shadow.css +24 -0
- package/lib/es6/component/trend/Bar.js +116 -0
- package/lib/es6/component/trend/Bar.js.map +1 -0
- package/lib/es6/component/trend/Line.js +158 -0
- package/lib/es6/component/trend/Line.js.map +1 -0
- package/lib/es6/component/trend/Trend.js +79 -0
- package/lib/es6/component/trend/Trend.js.map +1 -0
- package/lib/es6/component/trend/index.js +4 -0
- package/lib/es6/component/trend/index.js.map +1 -0
- package/lib/es6/index.js +13 -0
- package/lib/es6/index.js.map +1 -0
- package/lib/types/component/score/Donut.d.ts +12 -0
- package/lib/types/component/score/Line.d.ts +15 -0
- package/lib/types/component/score/Score.d.ts +20 -0
- package/lib/types/component/score/index.d.ts +3 -0
- package/lib/types/component/trend/Bar.d.ts +26 -0
- package/lib/types/component/trend/Line.d.ts +29 -0
- package/lib/types/component/trend/Trend.d.ts +36 -0
- package/lib/types/component/trend/index.d.ts +3 -0
- package/lib/types/index.d.ts +12 -0
- package/package.json +34 -0
package/CHANGELOG.md
ADDED
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright ©, 2022, Semrush Inc. (written by Roman Lysov, Sergey Kobets, Mikhail Karachev, Julia Mnizhek, Elena Krasnopolskaia, Mikhail Sereniti).
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# @semcore/mini-charts
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/@semcore/mini-chart)
|
|
4
|
+
[](https://www.npmjs.com/package/@semcore/mini-chart)
|
|
5
|
+
[](https://github.com/semrush/intergalactic/blob/master/LICENSE)
|
|
6
|
+
|
|
7
|
+
> This component is part of the Intergalactic Design System
|
|
8
|
+
|
|
9
|
+
### 📖 [Component documentation](https://developer.semrush.com/intergalactic/components/mini-chart/)
|
|
10
|
+
|
|
11
|
+
### 🏠 [Design system](https://developer.semrush.com/intergalactic/)
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
npm install intergalactic
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```jsx
|
|
22
|
+
import MiniChart from 'intergalactic/mini-chart';
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 👤 Author
|
|
26
|
+
|
|
27
|
+
[UI-kit team](https://github.com/semrush/intergalactic/blob/master/MAINTAINERS) and [others ❤️](https://github.com/semrush/intergalactic/graphs/contributors)
|
|
28
|
+
|
|
29
|
+
## 🤝 Contributing
|
|
30
|
+
|
|
31
|
+
Contributions, issues and feature requests are welcome!
|
|
32
|
+
|
|
33
|
+
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/master/CONTRIBUTING.md).
|
|
34
|
+
|
|
35
|
+
## Show your support
|
|
36
|
+
|
|
37
|
+
Give a ⭐️ if this project helped you!
|
|
38
|
+
|
|
39
|
+
## 📝 License
|
|
40
|
+
|
|
41
|
+
This project is [MIT](https://github.com/semrush/intergalactic/blob/master/LICENSE) licensed.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ScoreSemiDonut = exports.ScoreDonut = void 0;
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _core = _interopRequireWildcard(require("@semcore/core"));
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
var _flexBox = require("@semcore/flex-box");
|
|
18
|
+
var _resolveColorEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/resolveColorEnhance"));
|
|
19
|
+
/*__reshadow-styles__:"./donut.shadow.css"*/
|
|
20
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/"@keyframes pulse_1qkd9{0%,to{opacity:1}50%{opacity:.4}}.___SDonutContainer_1qkd9_gg_.__loading_1qkd9_gg_,.___SLineGauge_1qkd9_gg_.__loading_1qkd9_gg_,.___STrendBar_1qkd9_gg_.__loading_1qkd9_gg_,.___STrendLine_1qkd9_gg_.__loading_1qkd9_gg_{animation-name:pulse_1qkd9;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-duration:1.6s;will-change:opacity}.___SDonutContainer_1qkd9_gg_.__semi_1qkd9_gg_ g{transform:rotate(180deg) translate(-24px,-24px)}.___SDonutContainer_1qkd9_gg_ g{transform:rotate(-90deg) translate(-24px)}.___SDonutContainer_1qkd9_gg_.__animate_1qkd9_gg_ circle{transition:all var(--intergalactic-duration-extra-slow, 500) ease-in-out}" /*__inner_css_end__*/, "1qkd9_gg_") /*__reshadow_css_end__*/, {
|
|
21
|
+
"__SLineGauge": "___SLineGauge_1qkd9_gg_",
|
|
22
|
+
"_loading": "__loading_1qkd9_gg_",
|
|
23
|
+
"__SDonutContainer": "___SDonutContainer_1qkd9_gg_",
|
|
24
|
+
"__STrendLine": "___STrendLine_1qkd9_gg_",
|
|
25
|
+
"__STrendBar": "___STrendBar_1qkd9_gg_",
|
|
26
|
+
"@pulse": "pulse_1qkd9",
|
|
27
|
+
"_animate": "__animate_1qkd9_gg_",
|
|
28
|
+
"_semi": "__semi_1qkd9_gg_"
|
|
29
|
+
});
|
|
30
|
+
var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
31
|
+
(0, _inherits2["default"])(DonutRoot, _Component);
|
|
32
|
+
var _super = (0, _createSuper2["default"])(DonutRoot);
|
|
33
|
+
function DonutRoot() {
|
|
34
|
+
(0, _classCallCheck2["default"])(this, DonutRoot);
|
|
35
|
+
return _super.apply(this, arguments);
|
|
36
|
+
}
|
|
37
|
+
(0, _createClass2["default"])(DonutRoot, [{
|
|
38
|
+
key: "render",
|
|
39
|
+
value: function render() {
|
|
40
|
+
var _ref = this.asProps,
|
|
41
|
+
_ref2;
|
|
42
|
+
var SDonutContainer = _flexBox.Box;
|
|
43
|
+
var _this$asProps = this.asProps,
|
|
44
|
+
value = _this$asProps.value,
|
|
45
|
+
styles = _this$asProps.styles,
|
|
46
|
+
_this$asProps$color = _this$asProps.color,
|
|
47
|
+
color = _this$asProps$color === void 0 ? 'chart-palette-order-1' : _this$asProps$color,
|
|
48
|
+
resolveColor = _this$asProps.resolveColor,
|
|
49
|
+
isSemiDonut = _this$asProps.isSemiDonut,
|
|
50
|
+
loading = _this$asProps.loading;
|
|
51
|
+
var strokeWidth = isSemiDonut ? 6 : 4;
|
|
52
|
+
var radius = isSemiDonut ? 9 : 10;
|
|
53
|
+
var baseStrokeDasharray = isSemiDonut ? Math.PI * radius : Math.PI * 2 * radius;
|
|
54
|
+
var valueStrokeDasharray = baseStrokeDasharray * (value / 100);
|
|
55
|
+
var greyStrokeDasharray = baseStrokeDasharray * ((100 - value) / 100);
|
|
56
|
+
var offsetPoint = isSemiDonut ? baseStrokeDasharray / (100 / 3) : baseStrokeDasharray / 100;
|
|
57
|
+
var strokeDasharrayBetweenSpaces = "".concat(greyStrokeDasharray - 2 * offsetPoint, " ").concat(offsetPoint);
|
|
58
|
+
var spaceStrokeDasharray = "".concat(offsetPoint, " ").concat(value < 99 ? "".concat(strokeDasharrayBetweenSpaces) : '', " ").concat(baseStrokeDasharray);
|
|
59
|
+
if (isSemiDonut) {
|
|
60
|
+
spaceStrokeDasharray = "".concat(offsetPoint, " ").concat(value < 95 ? "".concat(strokeDasharrayBetweenSpaces) : '', " ").concat(baseStrokeDasharray);
|
|
61
|
+
}
|
|
62
|
+
var viewBox = isSemiDonut ? '0 0 24 12' : '0 0 24 24';
|
|
63
|
+
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDonutContainer, _ref2.cn("SDonutContainer", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
64
|
+
"semi": isSemiDonut
|
|
65
|
+
}, _ref))), /*#__PURE__*/_react["default"].createElement("svg", _ref2.cn("svg", {
|
|
66
|
+
"width": '100%',
|
|
67
|
+
"height": '100%',
|
|
68
|
+
"viewBox": viewBox,
|
|
69
|
+
"fill": 'none'
|
|
70
|
+
}), /*#__PURE__*/_react["default"].createElement("g", _ref2.cn("g", {}), /*#__PURE__*/_react["default"].createElement("circle", _ref2.cn("circle", {
|
|
71
|
+
"cx": '12',
|
|
72
|
+
"cy": '12',
|
|
73
|
+
"r": radius,
|
|
74
|
+
"strokeWidth": strokeWidth,
|
|
75
|
+
"stroke": resolveColor('skeleton-bg'),
|
|
76
|
+
"strokeDasharray": loading ? undefined : "".concat(greyStrokeDasharray, " ").concat(baseStrokeDasharray),
|
|
77
|
+
"strokeDashoffset": -1 * valueStrokeDasharray
|
|
78
|
+
})), !loading && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("circle", _ref2.cn("circle", {
|
|
79
|
+
"cx": '12',
|
|
80
|
+
"cy": '12',
|
|
81
|
+
"r": radius,
|
|
82
|
+
"strokeWidth": strokeWidth,
|
|
83
|
+
"stroke": resolveColor(color),
|
|
84
|
+
"strokeDasharray": "".concat(valueStrokeDasharray, " ").concat(baseStrokeDasharray),
|
|
85
|
+
"strokeDashoffset": valueStrokeDasharray
|
|
86
|
+
}), /*#__PURE__*/_react["default"].createElement("animate", _ref2.cn("animate", {
|
|
87
|
+
"attributeName": 'stroke-dashoffset',
|
|
88
|
+
"values": "0;".concat(valueStrokeDasharray)
|
|
89
|
+
}))), value !== 100 && /*#__PURE__*/_react["default"].createElement("circle", _ref2.cn("circle", {
|
|
90
|
+
"cx": '12',
|
|
91
|
+
"cy": '12',
|
|
92
|
+
"r": radius,
|
|
93
|
+
"strokeWidth": strokeWidth,
|
|
94
|
+
"stroke": resolveColor('chart-grid-border'),
|
|
95
|
+
"strokeDasharray": spaceStrokeDasharray,
|
|
96
|
+
"strokeDashoffset": -1 * valueStrokeDasharray
|
|
97
|
+
}))))));
|
|
98
|
+
}
|
|
99
|
+
}]);
|
|
100
|
+
return DonutRoot;
|
|
101
|
+
}(_core.Component);
|
|
102
|
+
(0, _defineProperty2["default"])(DonutRoot, "enhance", [(0, _resolveColorEnhance["default"])()]);
|
|
103
|
+
(0, _defineProperty2["default"])(DonutRoot, "style", style);
|
|
104
|
+
(0, _defineProperty2["default"])(DonutRoot, "defaultProps", {
|
|
105
|
+
animate: true
|
|
106
|
+
});
|
|
107
|
+
var ScoreDonut = (0, _core["default"])(DonutRoot);
|
|
108
|
+
exports.ScoreDonut = ScoreDonut;
|
|
109
|
+
ScoreDonut.displayName = 'MiniChart.ScoreDonut';
|
|
110
|
+
var ScoreSemiDonut = (0, _core["default"])(DonutRoot, {}, {
|
|
111
|
+
enhancements: [function () {
|
|
112
|
+
return {
|
|
113
|
+
wrapperProps: function wrapperProps(props) {
|
|
114
|
+
return (0, _core.assignProps)(props, {
|
|
115
|
+
isSemiDonut: true
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
}]
|
|
120
|
+
});
|
|
121
|
+
exports.ScoreSemiDonut = ScoreSemiDonut;
|
|
122
|
+
ScoreSemiDonut.displayName = 'MiniChart.ScoreSemiDonut';
|
|
123
|
+
//# sourceMappingURL=Donut.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Donut.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_resolveColorEnhance","style","sstyled","insert","DonutRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","render","_ref","asProps","_ref2","SDonutContainer","Box","_this$asProps","styles","_this$asProps$color","color","resolveColor","isSemiDonut","loading","strokeWidth","radius","baseStrokeDasharray","Math","PI","valueStrokeDasharray","greyStrokeDasharray","offsetPoint","strokeDasharrayBetweenSpaces","concat","spaceStrokeDasharray","viewBox","createElement","cn","_objectSpread2","assignProps","undefined","Fragment","Component","_defineProperty2","resolveColorEnhance","animate","ScoreDonut","createComponent","exports","displayName","ScoreSemiDonut","enhancements","wrapperProps","props"],"sources":["../../../../src/component/score/Donut.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled, ComponentType } from '@semcore/core';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport { assignProps } from '@semcore/core';\nimport { CommonScoreProps } from './Score';\n\nimport style from './donut.shadow.css';\n\nexport type ScoreDonutProps = BoxProps & CommonScoreProps;\n\ntype Enhances = {\n resolveColor: ReturnType<typeof resolveColorEnhance>;\n isSemiDonut?: true;\n};\n\nclass DonutRoot extends Component<ScoreDonutProps, {}, {}, Enhances> {\n static enhance = [resolveColorEnhance()];\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 color = 'chart-palette-order-1',\n resolveColor,\n isSemiDonut,\n loading,\n } = this.asProps;\n\n const strokeWidth = isSemiDonut ? 6 : 4;\n const radius = isSemiDonut ? 9 : 10;\n const baseStrokeDasharray = isSemiDonut ? Math.PI * radius : Math.PI * 2 * radius;\n const valueStrokeDasharray = baseStrokeDasharray * (value / 100);\n const greyStrokeDasharray = baseStrokeDasharray * ((100 - value) / 100);\n const offsetPoint = isSemiDonut ? baseStrokeDasharray / (100 / 3) : baseStrokeDasharray / 100;\n\n const strokeDasharrayBetweenSpaces = `${greyStrokeDasharray - 2 * offsetPoint} ${offsetPoint}`;\n\n let spaceStrokeDasharray = `${offsetPoint} ${\n value < 99 ? `${strokeDasharrayBetweenSpaces}` : ''\n } ${baseStrokeDasharray}`;\n\n if (isSemiDonut) {\n spaceStrokeDasharray = `${offsetPoint} ${\n value < 95 ? `${strokeDasharrayBetweenSpaces}` : ''\n } ${baseStrokeDasharray}`;\n }\n\n const viewBox = isSemiDonut ? '0 0 24 12' : '0 0 24 24';\n\n return sstyled(styles)(\n <SDonutContainer render={Box} semi={isSemiDonut}>\n <svg width='100%' height='100%' viewBox={viewBox} fill='none'>\n <g>\n <circle\n cx='12'\n cy='12'\n r={radius}\n strokeWidth={strokeWidth}\n stroke={resolveColor('skeleton-bg')}\n strokeDasharray={\n loading ? undefined : `${greyStrokeDasharray} ${baseStrokeDasharray}`\n }\n strokeDashoffset={-1 * valueStrokeDasharray}\n />\n {!loading && (\n <>\n <circle\n cx='12'\n cy='12'\n r={radius}\n strokeWidth={strokeWidth}\n stroke={resolveColor(color)}\n strokeDasharray={`${valueStrokeDasharray} ${baseStrokeDasharray}`}\n strokeDashoffset={valueStrokeDasharray}\n >\n <animate\n attributeName={'stroke-dashoffset'}\n values={`0;${valueStrokeDasharray}`}\n />\n </circle>\n {value !== 100 && (\n <circle\n cx='12'\n cy='12'\n r={radius}\n strokeWidth={strokeWidth}\n stroke={resolveColor('chart-grid-border')}\n strokeDasharray={spaceStrokeDasharray}\n strokeDashoffset={-1 * valueStrokeDasharray}\n />\n )}\n </>\n )}\n </g>\n </svg>\n </SDonutContainer>,\n );\n }\n}\n\nexport const ScoreDonut: ComponentType<ScoreDonutProps, {}, {}, Enhances> =\n createComponent(DonutRoot);\n\nScoreDonut.displayName = 'MiniChart.ScoreDonut';\n\nexport const ScoreSemiDonut: ComponentType<ScoreDonutProps, {}, {}, Enhances> = createComponent(\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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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ScoreLine = void 0;
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _core = _interopRequireWildcard(require("@semcore/core"));
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
var _flexBox = require("@semcore/flex-box");
|
|
18
|
+
var _resolveColorEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/resolveColorEnhance"));
|
|
19
|
+
/*__reshadow-styles__:"./line.shadow.css"*/
|
|
20
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/"@keyframes pulse_fcan3{0%,to{opacity:1}50%{opacity:.4}}@keyframes move-line_fcan3{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.___SDonutContainer_fcan3_gg_.__loading_fcan3_gg_,.___SLineGauge_fcan3_gg_.__loading_fcan3_gg_,.___STrendBar_fcan3_gg_.__loading_fcan3_gg_,.___STrendLine_fcan3_gg_.__loading_fcan3_gg_{animation-name:pulse_fcan3;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-duration:1.6s;will-change:opacity}.___SLineGauge_fcan3_gg_{height:8px;background-color:var(--intergalactic-skeleton-bg, rgba(224, 225, 233, 0.8));border-radius:var(--intergalactic-chart-rounded, 2px);overflow:hidden;position:relative}.___SLineGauge_fcan3_gg_.__animate_fcan3_gg_ .___SLineValue_fcan3_gg_{transition:all var(--intergalactic-duration-extra-slow, 500) ease-in-out;animation-name:move-line_fcan3;animation-duration:.5s;animation-timing-function:ease-in-out}.___SLineValue_fcan3_gg_{height:8px;background-color:var(--intergalactic-chart-palette-order-1, #2bb3ff);border-radius:var(--intergalactic-chart-rounded, 2px)0 0 var(--intergalactic-chart-rounded, 2px)}.___SLineValue_fcan3_gg_.__percent_fcan3_gg_{width:var(--percent_fcan3)}.___SLineValue_fcan3_gg_.__color_fcan3_gg_{background-color:var(--color_fcan3, var(--intergalactic-chart-palette-order-1, #2bb3ff))}.___SLineGauge_fcan3_gg_.__segments_fcan3_gg_{border-radius:var(--intergalactic-progress-bar-rounded, 6px)}.___SLineGauge_fcan3_gg_.__segments_fcan3_gg_ .___SLineValue_fcan3_gg_{border-radius:var(--intergalactic-progress-bar-rounded, 6px)0 0 var(--intergalactic-progress-bar-rounded, 6px)}.___SLineGaugeSegment_fcan3_gg_{position:absolute;top:0;left:0;right:0;bottom:0}.___SLineSegmentItem_fcan3_gg_:last-child{margin-right:0;border-right:none}.___SLineSegmentItem_fcan3_gg_{height:8px;background:0 0;margin-right:1px;border-right-color:var(--intergalactic-chart-grid-border, #ffffff);border-right-style:solid;border-right-width:1px;box-sizing:content-box}" /*__inner_css_end__*/, "fcan3_gg_") /*__reshadow_css_end__*/, {
|
|
21
|
+
"__SLineGauge": "___SLineGauge_fcan3_gg_",
|
|
22
|
+
"_loading": "__loading_fcan3_gg_",
|
|
23
|
+
"__SDonutContainer": "___SDonutContainer_fcan3_gg_",
|
|
24
|
+
"__STrendLine": "___STrendLine_fcan3_gg_",
|
|
25
|
+
"__STrendBar": "___STrendBar_fcan3_gg_",
|
|
26
|
+
"@pulse": "pulse_fcan3",
|
|
27
|
+
"_animate": "__animate_fcan3_gg_",
|
|
28
|
+
"__SLineValue": "___SLineValue_fcan3_gg_",
|
|
29
|
+
"_percent": "__percent_fcan3_gg_",
|
|
30
|
+
"--percent": "--percent_fcan3",
|
|
31
|
+
"_color": "__color_fcan3_gg_",
|
|
32
|
+
"--color": "--color_fcan3",
|
|
33
|
+
"_segments": "__segments_fcan3_gg_",
|
|
34
|
+
"__SLineGaugeSegment": "___SLineGaugeSegment_fcan3_gg_",
|
|
35
|
+
"__SLineSegmentItem": "___SLineSegmentItem_fcan3_gg_",
|
|
36
|
+
"@move-line": "move-line_fcan3"
|
|
37
|
+
});
|
|
38
|
+
var LineRoot = /*#__PURE__*/function (_Component) {
|
|
39
|
+
(0, _inherits2["default"])(LineRoot, _Component);
|
|
40
|
+
var _super = (0, _createSuper2["default"])(LineRoot);
|
|
41
|
+
function LineRoot() {
|
|
42
|
+
(0, _classCallCheck2["default"])(this, LineRoot);
|
|
43
|
+
return _super.apply(this, arguments);
|
|
44
|
+
}
|
|
45
|
+
(0, _createClass2["default"])(LineRoot, [{
|
|
46
|
+
key: "render",
|
|
47
|
+
value: function render() {
|
|
48
|
+
var _ref = this.asProps,
|
|
49
|
+
_ref3;
|
|
50
|
+
var SLineGauge = _flexBox.Box;
|
|
51
|
+
var SLineValue = _flexBox.Box;
|
|
52
|
+
var SLineGaugeSegment = _flexBox.Flex;
|
|
53
|
+
var SLineSegmentItem = _flexBox.Box;
|
|
54
|
+
var _this$asProps = this.asProps,
|
|
55
|
+
value = _this$asProps.value,
|
|
56
|
+
styles = _this$asProps.styles,
|
|
57
|
+
_this$asProps$color = _this$asProps.color,
|
|
58
|
+
color = _this$asProps$color === void 0 ? 'chart-palette-order-1' : _this$asProps$color,
|
|
59
|
+
resolveColor = _this$asProps.resolveColor,
|
|
60
|
+
segments = _this$asProps.segments,
|
|
61
|
+
loading = _this$asProps.loading;
|
|
62
|
+
var SegmentItems = [];
|
|
63
|
+
if (segments) {
|
|
64
|
+
for (var i = 0; i < segments; i++) {
|
|
65
|
+
var _ref2;
|
|
66
|
+
var width = "calc((100% - ".concat(segments - 1, "px) / ").concat(segments, ")");
|
|
67
|
+
SegmentItems.push((_ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SLineSegmentItem, _ref2.cn("SLineSegmentItem", {
|
|
68
|
+
"key": i,
|
|
69
|
+
"color": i < value ? resolveColor(color) : undefined,
|
|
70
|
+
"w": width
|
|
71
|
+
}))));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
var percent = "".concat(value, "%");
|
|
75
|
+
if (segments) {
|
|
76
|
+
percent = "".concat(value / segments * 100, "%");
|
|
77
|
+
}
|
|
78
|
+
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SLineGauge, _ref3.cn("SLineGauge", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref))), !loading && /*#__PURE__*/_react["default"].createElement(SLineValue, _ref3.cn("SLineValue", {
|
|
79
|
+
"w": percent,
|
|
80
|
+
"color": resolveColor(color)
|
|
81
|
+
})), Boolean(SegmentItems.length) && /*#__PURE__*/_react["default"].createElement(SLineGaugeSegment, _ref3.cn("SLineGaugeSegment", {}), SegmentItems));
|
|
82
|
+
}
|
|
83
|
+
}]);
|
|
84
|
+
return LineRoot;
|
|
85
|
+
}(_core.Component);
|
|
86
|
+
(0, _defineProperty2["default"])(LineRoot, "enhance", [(0, _resolveColorEnhance["default"])()]);
|
|
87
|
+
(0, _defineProperty2["default"])(LineRoot, "style", style);
|
|
88
|
+
(0, _defineProperty2["default"])(LineRoot, "defaultProps", {
|
|
89
|
+
animate: true
|
|
90
|
+
});
|
|
91
|
+
var ScoreLine = (0, _core["default"])(LineRoot);
|
|
92
|
+
exports.ScoreLine = ScoreLine;
|
|
93
|
+
ScoreLine.displayName = 'MiniChart.ScoreLine';
|
|
94
|
+
//# sourceMappingURL=Line.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Line.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_resolveColorEnhance","style","sstyled","insert","LineRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","render","_ref","asProps","_ref3","SLineGauge","Box","SLineValue","SLineGaugeSegment","Flex","SLineSegmentItem","_this$asProps","styles","_this$asProps$color","color","resolveColor","segments","loading","SegmentItems","i","_ref2","width","concat","push","createElement","cn","undefined","percent","_objectSpread2","assignProps","Boolean","length","Component","_defineProperty2","resolveColorEnhance","animate","ScoreLine","createComponent","exports","displayName"],"sources":["../../../../src/component/score/Line.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled, ComponentType } from '@semcore/core';\nimport { Box, Flex, BoxProps } from '@semcore/flex-box';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport { CommonScoreProps } from './Score';\n\nimport style from './line.shadow.css';\n\nexport type ScoreLineGaugeProps = BoxProps &\n CommonScoreProps & {\n /**\n * Count of line segments\n */\n segments?: number;\n };\n\ntype Enhances = {\n resolveColor: ReturnType<typeof resolveColorEnhance>;\n};\n\nclass LineRoot extends Component<ScoreLineGaugeProps, {}, {}, Enhances> {\n static enhance = [resolveColorEnhance()];\n\n static style = style;\n\n static defaultProps = {\n animate: true,\n };\n\n render() {\n const SLineGauge = Root;\n const SLineValue = Box;\n const SLineGaugeSegment = Flex;\n const SLineSegmentItem = Box;\n const {\n value,\n styles,\n color = 'chart-palette-order-1',\n resolveColor,\n segments,\n loading,\n } = 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}>\n {!loading && <SLineValue w={percent} color={resolveColor(color)} />}\n {Boolean(SegmentItems.length) && <SLineGaugeSegment>{SegmentItems}</SLineGaugeSegment>}\n </SLineGauge>,\n );\n }\n}\n\nexport const ScoreLine: ComponentType<ScoreLineGaugeProps, {}, {}, Enhances> =\n createComponent(LineRoot);\n\nScoreLine.displayName = 'MiniChart.ScoreLine';\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Score.js","names":[],"sources":["../../../../src/component/score/Score.ts"],"sourcesContent":["export type CommonScoreProps = {\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 /**\n * Color of value\n */\n color?: string;\n\n /**\n * Flag to enable skeleton\n * @default false\n */\n loading?: boolean;\n\n /**\n * Flag to enable animate of charts\n * @default true\n */\n animate?: boolean;\n};\n"],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@import '../skeleton/skeleton.shadow.css';
|
|
2
|
+
|
|
3
|
+
SDonutContainer[semi] {
|
|
4
|
+
g {
|
|
5
|
+
transform: rotate(180deg) translate(-24px, -24px);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
SDonutContainer {
|
|
10
|
+
g {
|
|
11
|
+
transform: rotate(-90deg) translate(-24px)
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
SDonutContainer[animate] circle {
|
|
16
|
+
transition: all var(--intergalactic-duration-extra-slow, 500) ease-in-out;
|
|
17
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "ScoreDonut", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _Donut.ScoreDonut;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "ScoreLine", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _Line.ScoreLine;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "ScoreSemiDonut", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _Donut.ScoreSemiDonut;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _Donut = require("./Donut");
|
|
25
|
+
var _Line = require("./Line");
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_Donut","require","_Line"],"sources":["../../../../src/component/score/index.ts"],"sourcesContent":["import { ScoreDonut, ScoreSemiDonut } from './Donut';\nimport { ScoreLine } from './Line';\n\nexport { ScoreDonut, ScoreSemiDonut, ScoreLine };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
@import '../skeleton/skeleton.shadow.css';
|
|
2
|
+
|
|
3
|
+
SLineGauge {
|
|
4
|
+
height: 8px;
|
|
5
|
+
background-color: var(--intergalactic-skeleton-bg, rgba(224, 225, 233, 0.8));
|
|
6
|
+
border-radius: var(--intergalactic-chart-rounded, 2px);
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
position: relative;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
SLineGauge[animate] SLineValue {
|
|
12
|
+
transition: all var(--intergalactic-duration-extra-slow, 500) ease-in-out;
|
|
13
|
+
animation-name: move-line;
|
|
14
|
+
animation-duration: 0.5s;
|
|
15
|
+
animation-timing-function: ease-in-out;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
SLineValue {
|
|
19
|
+
height: 8px;
|
|
20
|
+
background-color: var(--intergalactic-chart-palette-order-1, #2bb3ff);
|
|
21
|
+
border-radius: var(--intergalactic-chart-rounded, 2px) 0 0 var(--intergalactic-chart-rounded, 2px);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
SLineValue[percent] {
|
|
25
|
+
width: var(--percent);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
SLineValue[color] {
|
|
29
|
+
background-color: var(--color, var(--intergalactic-chart-palette-order-1, #2bb3ff));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
SLineGauge[segments] {
|
|
33
|
+
border-radius: var(--intergalactic-progress-bar-rounded, 6px);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
SLineGauge[segments] SLineValue {
|
|
37
|
+
border-radius: var(--intergalactic-progress-bar-rounded, 6px) 0 0 var(--intergalactic-progress-bar-rounded, 6px);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
SLineGaugeSegment {
|
|
41
|
+
position: absolute;
|
|
42
|
+
top: 0;
|
|
43
|
+
left: 0;
|
|
44
|
+
right: 0;
|
|
45
|
+
bottom: 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
SLineSegmentItem:last-child {
|
|
49
|
+
margin-right: 0;
|
|
50
|
+
border-right: none;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
SLineSegmentItem {
|
|
54
|
+
height: 8px;
|
|
55
|
+
background: transparent;
|
|
56
|
+
margin-right: 1px;
|
|
57
|
+
border-right-color: var(--intergalactic-chart-grid-border, #ffffff);
|
|
58
|
+
border-right-style: solid;
|
|
59
|
+
border-right-width: 1px;
|
|
60
|
+
box-sizing: content-box;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@keyframes move-line {
|
|
64
|
+
0% {transform: translateX(-100%);}
|
|
65
|
+
100% {transform: translateX(0);}
|
|
66
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
SLineGauge[loading],
|
|
2
|
+
SDonutContainer[loading],
|
|
3
|
+
STrendLine[loading],
|
|
4
|
+
STrendBar[loading] {
|
|
5
|
+
animation-name: pulse;
|
|
6
|
+
animation-iteration-count: infinite;
|
|
7
|
+
animation-timing-function: ease-in-out;
|
|
8
|
+
animation-duration: 1.6s;
|
|
9
|
+
will-change: opacity;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@keyframes pulse {
|
|
13
|
+
0% {
|
|
14
|
+
opacity: 1;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
50% {
|
|
18
|
+
opacity: 0.4;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
100% {
|
|
22
|
+
opacity: 1;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.TrendHistogram = exports.TrendBar = void 0;
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _core = _interopRequireWildcard(require("@semcore/core"));
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
var _resolveColorEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/resolveColorEnhance"));
|
|
18
|
+
var _Trend2 = require("./Trend");
|
|
19
|
+
var _flexBox = require("@semcore/flex-box");
|
|
20
|
+
/*__reshadow-styles__:"../skeleton/skeleton.shadow.css"*/
|
|
21
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/"@keyframes pulse_dvegh{0%,to{opacity:1}50%{opacity:.4}}.___SDonutContainer_dvegh_gg_.__loading_dvegh_gg_,.___SLineGauge_dvegh_gg_.__loading_dvegh_gg_,.___STrendBar_dvegh_gg_.__loading_dvegh_gg_,.___STrendLine_dvegh_gg_.__loading_dvegh_gg_{animation-name:pulse_dvegh;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-duration:1.6s;will-change:opacity}" /*__inner_css_end__*/, "dvegh_gg_") /*__reshadow_css_end__*/, {
|
|
22
|
+
"__SLineGauge": "___SLineGauge_dvegh_gg_",
|
|
23
|
+
"_loading": "__loading_dvegh_gg_",
|
|
24
|
+
"__SDonutContainer": "___SDonutContainer_dvegh_gg_",
|
|
25
|
+
"__STrendLine": "___STrendLine_dvegh_gg_",
|
|
26
|
+
"__STrendBar": "___STrendBar_dvegh_gg_",
|
|
27
|
+
"@pulse": "pulse_dvegh"
|
|
28
|
+
});
|
|
29
|
+
var TrendBarRoot = /*#__PURE__*/function (_Trend) {
|
|
30
|
+
(0, _inherits2["default"])(TrendBarRoot, _Trend);
|
|
31
|
+
var _super = (0, _createSuper2["default"])(TrendBarRoot);
|
|
32
|
+
function TrendBarRoot() {
|
|
33
|
+
(0, _classCallCheck2["default"])(this, TrendBarRoot);
|
|
34
|
+
return _super.apply(this, arguments);
|
|
35
|
+
}
|
|
36
|
+
(0, _createClass2["default"])(TrendBarRoot, [{
|
|
37
|
+
key: "defaultData",
|
|
38
|
+
get: function get() {
|
|
39
|
+
return [{
|
|
40
|
+
value: 20
|
|
41
|
+
}, {
|
|
42
|
+
value: 80
|
|
43
|
+
}, {
|
|
44
|
+
value: 45
|
|
45
|
+
}, {
|
|
46
|
+
value: 10
|
|
47
|
+
}];
|
|
48
|
+
}
|
|
49
|
+
}, {
|
|
50
|
+
key: "data",
|
|
51
|
+
get: function get() {
|
|
52
|
+
var _this$asProps = this.asProps,
|
|
53
|
+
data = _this$asProps.data,
|
|
54
|
+
loading = _this$asProps.loading;
|
|
55
|
+
if (loading) {
|
|
56
|
+
return this.defaultData;
|
|
57
|
+
}
|
|
58
|
+
return data;
|
|
59
|
+
}
|
|
60
|
+
}, {
|
|
61
|
+
key: "render",
|
|
62
|
+
value: function render() {
|
|
63
|
+
var _ref = this.asProps,
|
|
64
|
+
_ref2,
|
|
65
|
+
_this = this;
|
|
66
|
+
var STrendBar = _flexBox.Box;
|
|
67
|
+
var _this$asProps2 = this.asProps,
|
|
68
|
+
styles = _this$asProps2.styles,
|
|
69
|
+
resolveColor = _this$asProps2.resolveColor,
|
|
70
|
+
isHistogram = _this$asProps2.isHistogram,
|
|
71
|
+
animate = _this$asProps2.animate,
|
|
72
|
+
loading = _this$asProps2.loading;
|
|
73
|
+
var step = this.defaultWidth / this.data.length;
|
|
74
|
+
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(STrendBar, _ref2.cn("STrendBar", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
75
|
+
"ref": this.containerRef,
|
|
76
|
+
"__excludeProps": ['data']
|
|
77
|
+
}, _ref))), /*#__PURE__*/_react["default"].createElement("svg", _ref2.cn("svg", {
|
|
78
|
+
"width": '100%',
|
|
79
|
+
"height": '100%',
|
|
80
|
+
"viewBox": "0 0 ".concat(this.svgWidth, " ").concat(this.svgHeight)
|
|
81
|
+
}), this.data.map(function (barItem, index) {
|
|
82
|
+
var color = resolveColor('skeleton-bg');
|
|
83
|
+
if (barItem.color) {
|
|
84
|
+
color = resolveColor(barItem.color);
|
|
85
|
+
}
|
|
86
|
+
return /*#__PURE__*/_react["default"].createElement("rect", {
|
|
87
|
+
key: index,
|
|
88
|
+
x: step * index,
|
|
89
|
+
y: _this.defaultHeight - barItem.value,
|
|
90
|
+
width: isHistogram ? step : step * 0.8,
|
|
91
|
+
height: barItem.value,
|
|
92
|
+
fill: color
|
|
93
|
+
}, animate && !loading && /*#__PURE__*/_react["default"].createElement("animate", {
|
|
94
|
+
attributeName: 'y',
|
|
95
|
+
values: "".concat(_this.defaultHeight, ";").concat(_this.defaultHeight - barItem.value),
|
|
96
|
+
dur: '500ms'
|
|
97
|
+
}));
|
|
98
|
+
})));
|
|
99
|
+
}
|
|
100
|
+
}]);
|
|
101
|
+
return TrendBarRoot;
|
|
102
|
+
}(_Trend2.Trend);
|
|
103
|
+
(0, _defineProperty2["default"])(TrendBarRoot, "enhance", [(0, _resolveColorEnhance["default"])()]);
|
|
104
|
+
(0, _defineProperty2["default"])(TrendBarRoot, "style", style);
|
|
105
|
+
(0, _defineProperty2["default"])(TrendBarRoot, "defaultProps", {
|
|
106
|
+
animate: true
|
|
107
|
+
});
|
|
108
|
+
var TrendBar = (0, _core["default"])(TrendBarRoot);
|
|
109
|
+
exports.TrendBar = TrendBar;
|
|
110
|
+
TrendBar.displayName = 'MiniChart.TrendBar';
|
|
111
|
+
var TrendHistogram = (0, _core["default"])(TrendBarRoot, {}, {
|
|
112
|
+
enhancements: [function () {
|
|
113
|
+
return {
|
|
114
|
+
wrapperProps: function wrapperProps(props) {
|
|
115
|
+
return (0, _core.assignProps)(props, {
|
|
116
|
+
isHistogram: true
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}]
|
|
121
|
+
});
|
|
122
|
+
exports.TrendHistogram = TrendHistogram;
|
|
123
|
+
TrendBar.displayName = 'MiniChart.TrendHistogram';
|
|
124
|
+
//# sourceMappingURL=Bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bar.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_resolveColorEnhance","_Trend2","_flexBox","style","sstyled","insert","TrendBarRoot","_Trend","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","value","_this$asProps","asProps","data","loading","defaultData","render","_ref","_ref2","_this","STrendBar","Box","_this$asProps2","styles","resolveColor","isHistogram","animate","step","defaultWidth","length","createElement","cn","_objectSpread2","assignProps","containerRef","concat","svgWidth","svgHeight","map","barItem","index","color","x","y","defaultHeight","width","height","fill","attributeName","values","dur","Trend","_defineProperty2","resolveColorEnhance","TrendBar","createComponent","exports","displayName","TrendHistogram","enhancements","wrapperProps","props"],"sources":["../../../../src/component/trend/Bar.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { ComponentType, assignProps, Root, sstyled } from '@semcore/core';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport { Trend, CommonTrendProps } from './Trend';\nimport { Box } from '@semcore/flex-box';\n\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, Enhances> {\n static enhance = [resolveColorEnhance()];\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\n return sstyled(styles)(\n <STrendBar render={Box} ref={this.containerRef} __excludeProps={['data']}>\n <svg width='100%' height='100%' viewBox={`0 0 ${this.svgWidth} ${this.svgHeight}`}>\n {this.data.map((barItem, index) => {\n let color = resolveColor('skeleton-bg');\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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"}
|