@semcore/d3-chart 1.0.0-8 → 1.2.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.
Files changed (154) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/lib/cjs/Area.js +71 -49
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +148 -142
  5. package/lib/cjs/Axis.js.map +1 -1
  6. package/lib/cjs/Bar.js +101 -54
  7. package/lib/cjs/Bar.js.map +1 -1
  8. package/lib/cjs/ClipPath.js +110 -0
  9. package/lib/cjs/ClipPath.js.map +1 -0
  10. package/lib/cjs/Donut.js +169 -68
  11. package/lib/cjs/Donut.js.map +1 -1
  12. package/lib/cjs/Dots.js +55 -21
  13. package/lib/cjs/Dots.js.map +1 -1
  14. package/lib/cjs/GroupBar.js +7 -6
  15. package/lib/cjs/GroupBar.js.map +1 -1
  16. package/lib/cjs/HorizontalBar.js +72 -45
  17. package/lib/cjs/HorizontalBar.js.map +1 -1
  18. package/lib/cjs/Hover.js +46 -47
  19. package/lib/cjs/Hover.js.map +1 -1
  20. package/lib/cjs/Line.js +63 -41
  21. package/lib/cjs/Line.js.map +1 -1
  22. package/lib/cjs/Plot.js +16 -29
  23. package/lib/cjs/Plot.js.map +1 -1
  24. package/lib/cjs/ResponsiveContainer.js +13 -9
  25. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  26. package/lib/cjs/StackBar.js +6 -6
  27. package/lib/cjs/StackBar.js.map +1 -1
  28. package/lib/cjs/StackedArea.js +8 -9
  29. package/lib/cjs/StackedArea.js.map +1 -1
  30. package/lib/cjs/Tooltip.js +49 -75
  31. package/lib/cjs/Tooltip.js.map +1 -1
  32. package/lib/cjs/Venn.js +235 -0
  33. package/lib/cjs/Venn.js.map +1 -0
  34. package/lib/cjs/index.js +8 -0
  35. package/lib/cjs/index.js.map +1 -1
  36. package/lib/cjs/style/area.shadow.css +11 -10
  37. package/lib/cjs/style/bar.shadow.css +4 -0
  38. package/lib/cjs/style/donut.shadow.css +1 -0
  39. package/lib/cjs/style/dot.shadow.css +19 -0
  40. package/lib/cjs/style/line.shadow.css +4 -15
  41. package/lib/cjs/style/tooltip.shadow.css +1 -0
  42. package/lib/cjs/style/venn.shadow.css +23 -0
  43. package/lib/cjs/utils.js +8 -1
  44. package/lib/cjs/utils.js.map +1 -1
  45. package/lib/es6/Area.js +72 -50
  46. package/lib/es6/Area.js.map +1 -1
  47. package/lib/es6/Axis.js +149 -143
  48. package/lib/es6/Axis.js.map +1 -1
  49. package/lib/es6/Bar.js +100 -54
  50. package/lib/es6/Bar.js.map +1 -1
  51. package/lib/es6/ClipPath.js +91 -0
  52. package/lib/es6/ClipPath.js.map +1 -0
  53. package/lib/es6/Donut.js +167 -67
  54. package/lib/es6/Donut.js.map +1 -1
  55. package/lib/es6/Dots.js +51 -20
  56. package/lib/es6/Dots.js.map +1 -1
  57. package/lib/es6/GroupBar.js +7 -6
  58. package/lib/es6/GroupBar.js.map +1 -1
  59. package/lib/es6/HorizontalBar.js +72 -45
  60. package/lib/es6/HorizontalBar.js.map +1 -1
  61. package/lib/es6/Hover.js +47 -48
  62. package/lib/es6/Hover.js.map +1 -1
  63. package/lib/es6/Line.js +65 -43
  64. package/lib/es6/Line.js.map +1 -1
  65. package/lib/es6/Plot.js +17 -29
  66. package/lib/es6/Plot.js.map +1 -1
  67. package/lib/es6/ResponsiveContainer.js +13 -7
  68. package/lib/es6/ResponsiveContainer.js.map +1 -1
  69. package/lib/es6/StackBar.js +6 -6
  70. package/lib/es6/StackBar.js.map +1 -1
  71. package/lib/es6/StackedArea.js +8 -9
  72. package/lib/es6/StackedArea.js.map +1 -1
  73. package/lib/es6/Tooltip.js +52 -76
  74. package/lib/es6/Tooltip.js.map +1 -1
  75. package/lib/es6/Venn.js +217 -0
  76. package/lib/es6/Venn.js.map +1 -0
  77. package/lib/es6/index.js +1 -0
  78. package/lib/es6/index.js.map +1 -1
  79. package/lib/es6/style/area.shadow.css +11 -10
  80. package/lib/es6/style/bar.shadow.css +4 -0
  81. package/lib/es6/style/donut.shadow.css +1 -0
  82. package/lib/es6/style/dot.shadow.css +19 -0
  83. package/lib/es6/style/line.shadow.css +4 -15
  84. package/lib/es6/style/tooltip.shadow.css +1 -0
  85. package/lib/es6/style/venn.shadow.css +23 -0
  86. package/lib/es6/utils.js +6 -1
  87. package/lib/es6/utils.js.map +1 -1
  88. package/lib/types/Area.d.ts +7 -8
  89. package/lib/types/Axis.d.ts +6 -6
  90. package/lib/types/Bar.d.ts +7 -3
  91. package/lib/types/ClipPath.d.ts +26 -0
  92. package/lib/types/Donut.d.ts +12 -2
  93. package/lib/types/GroupBar.d.ts +2 -2
  94. package/lib/types/HorizontalBar.d.ts +7 -3
  95. package/lib/types/Hover.d.ts +2 -2
  96. package/lib/types/Line.d.ts +9 -4
  97. package/{src/types/Plot.ts → lib/types/Plot.d.ts} +2 -2
  98. package/lib/types/ResponsiveContainer.d.ts +1 -1
  99. package/lib/types/StackBar.d.ts +3 -11
  100. package/lib/types/StackedArea.d.ts +7 -6
  101. package/lib/types/Tooltip.d.ts +4 -4
  102. package/lib/types/Venn.d.ts +45 -0
  103. package/lib/types/context.d.ts +1 -1
  104. package/lib/types/index.d.ts +6 -0
  105. package/package.json +10 -5
  106. package/src/Area.js +43 -14
  107. package/src/Axis.js +24 -22
  108. package/src/Bar.js +69 -24
  109. package/src/ClipPath.js +36 -0
  110. package/src/Donut.js +84 -12
  111. package/src/Dots.js +36 -20
  112. package/src/GroupBar.js +1 -0
  113. package/src/HorizontalBar.js +49 -22
  114. package/src/Hover.js +3 -3
  115. package/src/Line.js +41 -13
  116. package/src/Plot.js +3 -7
  117. package/src/ResponsiveContainer.js +3 -3
  118. package/src/StackBar.js +1 -1
  119. package/src/StackedArea.js +3 -2
  120. package/src/Tooltip.js +11 -12
  121. package/src/Venn.js +112 -0
  122. package/src/index.js +1 -0
  123. package/src/style/area.shadow.css +11 -10
  124. package/src/style/bar.shadow.css +4 -0
  125. package/src/style/donut.shadow.css +1 -0
  126. package/src/style/dot.shadow.css +19 -0
  127. package/src/style/line.shadow.css +4 -15
  128. package/src/style/tooltip.shadow.css +1 -0
  129. package/src/style/venn.shadow.css +23 -0
  130. package/src/types/Area.d.ts +7 -8
  131. package/src/types/Axis.d.ts +6 -6
  132. package/src/types/Bar.d.ts +7 -3
  133. package/src/types/ClipPath.d.ts +26 -0
  134. package/src/types/Donut.d.ts +12 -2
  135. package/src/types/GroupBar.d.ts +2 -2
  136. package/src/types/HorizontalBar.d.ts +7 -3
  137. package/src/types/Hover.d.ts +2 -2
  138. package/src/types/Line.d.ts +9 -4
  139. package/src/types/Plot.d.ts +16 -0
  140. package/src/types/ResponsiveContainer.d.ts +1 -1
  141. package/src/types/StackBar.d.ts +3 -11
  142. package/src/types/StackedArea.d.ts +7 -6
  143. package/src/types/Tooltip.d.ts +4 -4
  144. package/src/types/Venn.d.ts +45 -0
  145. package/src/types/context.d.ts +1 -1
  146. package/src/types/index.d.ts +6 -0
  147. package/src/utils.js +7 -1
  148. package/lib/cjs/style/chart.shadow.css +0 -4
  149. package/lib/cjs/types/Plot.js +0 -2
  150. package/lib/cjs/types/Plot.js.map +0 -1
  151. package/lib/es6/style/chart.shadow.css +0 -4
  152. package/lib/es6/types/Plot.js +0 -2
  153. package/lib/es6/types/Plot.js.map +0 -1
  154. package/src/style/chart.shadow.css +0 -4
@@ -21,35 +21,36 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
21
21
 
22
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
23
 
24
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
24
+ var _core = require("@semcore/core");
25
25
 
26
26
  var _react = _interopRequireDefault(require("react"));
27
27
 
28
- var _core = require("@semcore/core");
29
-
30
28
  var _createElement = _interopRequireDefault(require("./createElement"));
31
29
 
30
+ var _ClipPath = _interopRequireDefault(require("./ClipPath"));
31
+
32
+ var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
33
+
32
34
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
35
 
34
36
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
37
 
36
38
  /*__reshadow-styles__:"./style/bar.shadow.css"*/
37
- var _ref = (
39
+ var style = (
38
40
  /*__reshadow_css_start__*/
39
- (0, _core.__css__)(
41
+ _core.sstyled.insert(
40
42
  /*__inner_css_start__*/
41
- ".___SBar_g0awa_gg_.__hide_g0awa_gg_{display:none}.___SBackground_g0awa_gg_{fill:#e4ecf1}"
43
+ ".___SBar_1u1r9_gg_{fill:var(--color_10kcl1b);transition-property:height,width,y;transition-duration:var(--duration_10kcl1b);transition-timing-function:ease-in-out}.___SBar_1u1r9_gg_.__hide_1u1r9_gg_{display:none}.___SBackground_1u1r9_gg_{fill:#e4ecf1}"
42
44
  /*__inner_css_end__*/
43
- , "rkv0hj_gg_")
45
+ , "10kcl1b_gg_")
44
46
  /*__reshadow_css_end__*/
45
47
  , {
46
- "__SBar": "___SBar_g0awa_gg_",
47
- "_hide": "__hide_g0awa_gg_",
48
- "__SBackground": "___SBackground_g0awa_gg_"
49
- }),
50
- style = (0, _extends2["default"])({}, _ref);
51
-
52
- var styled_c8 = (0, _core.create)([]);
48
+ "__SBar": "___SBar_1u1r9_gg_",
49
+ "--color": "--color_10kcl1b",
50
+ "--duration": "--duration_10kcl1b",
51
+ "_hide": "__hide_1u1r9_gg_",
52
+ "__SBackground": "___SBackground_1u1r9_gg_"
53
+ });
53
54
 
54
55
  var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
55
56
  (0, _inherits2["default"])(HorizontalBarRoot, _Component);
@@ -72,8 +73,10 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
72
73
  };
73
74
  }
74
75
  }, {
75
- key: "render",
76
- value: function render() {
76
+ key: "renderBar",
77
+ value: function renderBar(d, i) {
78
+ var _ref, _d$x, _d$x2;
79
+
77
80
  var SBar = this.Element;
78
81
  var _this$asProps2 = this.asProps,
79
82
  styles = _this$asProps2.styles,
@@ -81,45 +84,69 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
81
84
  x = _this$asProps2.x,
82
85
  x0 = _this$asProps2.x0,
83
86
  y = _this$asProps2.y,
84
- data = _this$asProps2.data,
85
87
  scale = _this$asProps2.scale,
86
- offset = _this$asProps2.offset;
88
+ hide = _this$asProps2.hide,
89
+ offset = _this$asProps2.offset,
90
+ uid = _this$asProps2.uid,
91
+ duration = _this$asProps2.duration;
87
92
 
88
93
  var _scale = (0, _slicedToArray2["default"])(scale, 2),
89
94
  xScale = _scale[0],
90
95
  yScale = _scale[1];
91
96
 
92
- return data.map(function (d, i) {
93
- var _d$x, _d$x2;
94
-
95
- return (0, _core.styled)(((0, _core.set)([styled_c8, styles]), /*#__PURE__*/_react["default"].createElement(SBar, (0, _core.map)("SBar", {
96
- key: i,
97
- __excludeProps: ['data', 'scale', 'value'],
98
- value: d,
99
- index: i,
100
- render: "rect",
101
- childrenPosition: "above",
102
- fill: color,
103
- width: Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale((_d$x = d[x0]) !== null && _d$x !== void 0 ? _d$x : 0))),
104
- height: yScale.bandwidth(),
105
- x: xScale(Math.min((_d$x2 = d[x0]) !== null && _d$x2 !== void 0 ? _d$x2 : 0, d[x])) + offset[0],
106
- y: yScale(d[y]) + offset[1]
107
- }))));
108
- });
97
+ return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBar, _ref.cn("SBar", {
98
+ "key": "horizontal-bar-".concat(i),
99
+ "render": "rect",
100
+ "clipPath": "url(#".concat(uid, ")"),
101
+ "__excludeProps": ['data', 'scale', 'value'],
102
+ "childrenPosition": "above",
103
+ "value": d,
104
+ "index": i,
105
+ "hide": hide,
106
+ "color": color,
107
+ "width": Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale((_d$x = d[x0]) !== null && _d$x !== void 0 ? _d$x : 0))),
108
+ "height": yScale.bandwidth(),
109
+ "x": xScale(Math.min((_d$x2 = d[x0]) !== null && _d$x2 !== void 0 ? _d$x2 : 0, d[x])) + offset[0],
110
+ "y": yScale(d[y]) + offset[1],
111
+ "use:duration": "".concat(duration, "ms")
112
+ }));
113
+ }
114
+ }, {
115
+ key: "render",
116
+ value: function render() {
117
+ var _this$asProps3 = this.asProps,
118
+ data = _this$asProps3.data,
119
+ uid = _this$asProps3.uid,
120
+ size = _this$asProps3.size,
121
+ duration = _this$asProps3.duration;
122
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, data.map(this.renderBar.bind(this)), duration && /*#__PURE__*/_react["default"].createElement(_ClipPath["default"], {
123
+ setAttributeTag: function setAttributeTag(rect) {
124
+ rect.setAttribute('width', size[0]);
125
+ },
126
+ id: uid,
127
+ x: "0",
128
+ y: "0",
129
+ width: 0,
130
+ height: size[1],
131
+ transition: "width ".concat(duration, "ms ease-in-out")
132
+ }));
109
133
  }
110
134
  }]);
111
135
  return HorizontalBarRoot;
112
136
  }(_core.Component);
113
137
 
114
138
  (0, _defineProperty2["default"])(HorizontalBarRoot, "displayName", 'HorizontalBar');
139
+ (0, _defineProperty2["default"])(HorizontalBarRoot, "enhance", [(0, _uniqueID["default"])()]);
115
140
  (0, _defineProperty2["default"])(HorizontalBarRoot, "style", style);
116
141
  (0, _defineProperty2["default"])(HorizontalBarRoot, "defaultProps", {
117
142
  color: '#50aef4',
118
- offset: [0, 0]
143
+ offset: [0, 0],
144
+ duration: 500
119
145
  });
120
- var styled_12c = (0, _core.create)([]);
121
146
 
122
147
  function Background(props) {
148
+ var _ref2;
149
+
123
150
  var SBackground = props.Element,
124
151
  styles = props.styles,
125
152
  scale = props.scale,
@@ -130,14 +157,14 @@ function Background(props) {
130
157
  yScale = _scale2[1];
131
158
 
132
159
  var xRange = xScale.range();
133
- return (0, _core.styled)(((0, _core.set)([styled_12c, styles]), /*#__PURE__*/_react["default"].createElement(SBackground, (0, _core.map)("SBackground", {
134
- render: "rect",
135
- childrenPosition: "above",
136
- width: xRange[1] - xRange[0],
137
- height: yScale.bandwidth(),
138
- x: xRange[0],
139
- y: yScale(value)
140
- }))));
160
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBackground, _ref2.cn("SBackground", {
161
+ "render": "rect",
162
+ "childrenPosition": "above",
163
+ "width": xRange[1] - xRange[0],
164
+ "height": yScale.bandwidth(),
165
+ "x": xRange[0],
166
+ "y": yScale(value)
167
+ }));
141
168
  }
142
169
 
143
170
  var _default = (0, _createElement["default"])(HorizontalBarRoot, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/HorizontalBar.js"],"names":["HorizontalBarRoot","props","index","asProps","data","y","value","SBar","Element","styles","color","x","x0","scale","offset","xScale","yScale","map","d","i","Math","abs","max","domain","bandwidth","min","Component","style","Background","SBackground","xRange","range"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, styled } from '@semcore/core';\nimport createElement from './createElement';\n\nimport style from './style/bar.shadow.css';\n\nclass HorizontalBarRoot extends Component {\n static displayName = 'HorizontalBar';\n\n static style = style;\n\n static defaultProps = {\n color: '#50aef4',\n offset: [0, 0],\n };\n\n getBackgroundProps(props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n };\n }\n\n render() {\n const SBar = this.Element;\n const { styles, color, x, x0, y, data, scale, offset } = this.asProps;\n const [xScale, yScale] = scale;\n\n return data.map((d, i) => {\n return styled(styles)(\n <SBar\n key={i}\n __excludeProps={['data', 'scale', 'value']}\n value={d}\n index={i}\n render=\"rect\"\n childrenPosition=\"above\"\n fill={color}\n width={Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)))}\n height={yScale.bandwidth()}\n x={xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n />,\n );\n });\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n const [xScale, yScale] = scale;\n const xRange = xScale.range();\n\n return styled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xRange[1] - xRange[0]}\n height={yScale.bandwidth()}\n x={xRange[0]}\n y={yScale(value)}\n />,\n );\n}\n\nexport default createElement(HorizontalBarRoot, { Background });\n"],"file":"HorizontalBar.js"}
1
+ {"version":3,"sources":["../../src/HorizontalBar.js"],"names":["HorizontalBarRoot","props","index","asProps","data","y","value","d","i","SBar","Element","styles","color","x","x0","scale","hide","offset","uid","duration","xScale","yScale","Math","abs","max","domain","bandwidth","min","size","map","renderBar","bind","rect","setAttribute","Component","style","Background","SBackground","xRange","range"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/bar.shadow.css';\n\nclass HorizontalBarRoot extends Component {\n static displayName = 'HorizontalBar';\n static enhance = [uniqueIDEnhancement()];\n static style = style;\n\n static defaultProps = {\n color: '#50aef4',\n offset: [0, 0],\n duration: 500,\n };\n\n getBackgroundProps(props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n };\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const { styles, color, x, x0, y, scale, hide, offset, uid, duration } = this.asProps;\n const [xScale, yScale] = scale;\n\n return sstyled(styles)(\n <SBar\n key={`horizontal-bar-${i}`}\n render=\"rect\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n width={Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)))}\n height={yScale.bandwidth()}\n x={xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n use:duration={`${duration}ms`}\n />,\n );\n }\n\n render() {\n const { data, uid, size, duration } = this.asProps;\n\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n const [xScale, yScale] = scale;\n const xRange = xScale.range();\n\n return sstyled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xRange[1] - xRange[0]}\n height={yScale.bandwidth()}\n x={xRange[0]}\n y={yScale(value)}\n />,\n );\n}\n\nexport default createElement(HorizontalBarRoot, { Background });\n"],"file":"HorizontalBar.js"}
package/lib/cjs/Hover.js CHANGED
@@ -23,12 +23,10 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
23
23
 
24
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
25
 
26
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
26
+ var _core = require("@semcore/core");
27
27
 
28
28
  var _react = _interopRequireDefault(require("react"));
29
29
 
30
- var _core = require("@semcore/core");
31
-
32
30
  var _createElement = _interopRequireDefault(require("./createElement"));
33
31
 
34
32
  var _rafTrottle = _interopRequireDefault(require("@semcore/utils/lib/rafTrottle"));
@@ -40,19 +38,18 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
40
38
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
39
 
42
40
  /*__reshadow-styles__:"./style/hover.shadow.css"*/
43
- var _ref = (
41
+ var style = (
44
42
  /*__reshadow_css_start__*/
45
- (0, _core.__css__)(
43
+ _core.sstyled.insert(
46
44
  /*__inner_css_start__*/
47
- ".___SHoverLine_1j0lo_gg_{stroke:#a6b0b3}.___SHoverRect_1j0lo_gg_{fill:rgba(152,170,175,.3)}"
45
+ ".___SHoverLine_wqcps_gg_{stroke:#a6b0b3}.___SHoverRect_wqcps_gg_{fill:rgba(152,170,175,.3)}"
48
46
  /*__inner_css_end__*/
49
- , "10eypqq_gg_")
47
+ , "1tjsi7e_gg_")
50
48
  /*__reshadow_css_end__*/
51
49
  , {
52
- "__SHoverLine": "___SHoverLine_1j0lo_gg_",
53
- "__SHoverRect": "___SHoverRect_1j0lo_gg_"
54
- }),
55
- style = (0, _extends2["default"])({}, _ref);
50
+ "__SHoverLine": "___SHoverLine_wqcps_gg_",
51
+ "__SHoverRect": "___SHoverRect_wqcps_gg_"
52
+ });
56
53
 
57
54
  var Hover = /*#__PURE__*/function (_Component) {
58
55
  (0, _inherits2["default"])(Hover, _Component);
@@ -147,7 +144,6 @@ var Hover = /*#__PURE__*/function (_Component) {
147
144
  }(_core.Component);
148
145
 
149
146
  (0, _defineProperty2["default"])(Hover, "style", style);
150
- var styled_c8 = (0, _core.create)([]);
151
147
 
152
148
  var HoverLineRoot = /*#__PURE__*/function (_Hover) {
153
149
  (0, _inherits2["default"])(HoverLineRoot, _Hover);
@@ -162,6 +158,8 @@ var HoverLineRoot = /*#__PURE__*/function (_Hover) {
162
158
  (0, _createClass2["default"])(HoverLineRoot, [{
163
159
  key: "render",
164
160
  value: function render() {
161
+ var _ref;
162
+
165
163
  var SHoverLine = this.Element;
166
164
  var _this$asProps2 = this.asProps,
167
165
  styles = _this$asProps2.styles,
@@ -181,30 +179,29 @@ var HoverLineRoot = /*#__PURE__*/function (_Hover) {
181
179
  var yRange = yScale.range();
182
180
  var x1 = xIndex !== null ? (0, _utils.scaleOfBandwidth)(xScale, data[xIndex][x]) : undefined;
183
181
  var y1 = yIndex !== null ? (0, _utils.scaleOfBandwidth)(yScale, data[yIndex][y]) : undefined;
184
- return (0, _core.styled)(((0, _core.set)([styled_c8, styles]), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, xIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverLine, (0, _core.map)("SHoverLine", {
185
- render: "line",
186
- ref: this.hoverRef,
187
- index: xIndex,
188
- x1: x1,
189
- y1: yRange[0],
190
- x2: x1,
191
- y2: yRange[1]
192
- })) : null, yIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverLine, (0, _core.map)("SHoverLine", {
193
- render: "line",
194
- ref: this.hoverRef,
195
- index: yIndex,
196
- x1: xRange[0],
197
- y1: y1,
198
- x2: xRange[1],
199
- y2: y1
200
- })) : null)));
182
+ return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, xIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverLine, _ref.cn("SHoverLine", {
183
+ "render": "line",
184
+ "ref": this.hoverRef,
185
+ "index": xIndex,
186
+ "x1": x1,
187
+ "y1": yRange[0],
188
+ "x2": x1,
189
+ "y2": yRange[1]
190
+ })) : null, yIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverLine, _ref.cn("SHoverLine", {
191
+ "render": "line",
192
+ "ref": this.hoverRef,
193
+ "index": yIndex,
194
+ "x1": xRange[0],
195
+ "y1": y1,
196
+ "x2": xRange[1],
197
+ "y2": y1
198
+ })) : null);
201
199
  }
202
200
  }]);
203
201
  return HoverLineRoot;
204
202
  }(Hover);
205
203
 
206
204
  (0, _defineProperty2["default"])(HoverLineRoot, "displayName", 'HoverLine');
207
- var styled_12c = (0, _core.create)([]);
208
205
 
209
206
  var HoverRectRoot = /*#__PURE__*/function (_Hover2) {
210
207
  (0, _inherits2["default"])(HoverRectRoot, _Hover2);
@@ -219,6 +216,8 @@ var HoverRectRoot = /*#__PURE__*/function (_Hover2) {
219
216
  (0, _createClass2["default"])(HoverRectRoot, [{
220
217
  key: "render",
221
218
  value: function render() {
219
+ var _ref2;
220
+
222
221
  var SHoverRect = this.Element;
223
222
  var _this$asProps3 = this.asProps,
224
223
  styles = _this$asProps3.styles,
@@ -236,23 +235,23 @@ var HoverRectRoot = /*#__PURE__*/function (_Hover2) {
236
235
 
237
236
  var xRange = xScale.range();
238
237
  var yRange = yScale.range();
239
- return (0, _core.styled)(((0, _core.set)([styled_12c, styles]), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, xIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverRect, (0, _core.map)("SHoverRect", {
240
- render: "rect",
241
- ref: this.hoverRef,
242
- index: xIndex,
243
- width: xScale.step() - xScale.paddingInner() / 2,
244
- height: yRange[0] - yRange[1],
245
- x: xScale(data[xIndex][x]) - xScale.step() * xScale.paddingInner() / 2,
246
- y: yRange[1]
247
- })) : null, yIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverRect, (0, _core.map)("SHoverRect", {
248
- render: "rect",
249
- ref: this.hoverRef,
250
- index: yIndex,
251
- width: xRange[1] - xRange[0],
252
- height: yScale.step() - yScale.paddingInner() / 2,
253
- x: xRange[0],
254
- y: yScale(data[yIndex][y]) - yScale.step() * yScale.paddingInner() / 2
255
- })) : null)));
238
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, xIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverRect, _ref2.cn("SHoverRect", {
239
+ "render": "rect",
240
+ "ref": this.hoverRef,
241
+ "index": xIndex,
242
+ "width": xScale.step() - xScale.paddingInner() / 2,
243
+ "height": yRange[0] - yRange[1],
244
+ "x": xScale(data[xIndex][x]) - xScale.step() * xScale.paddingInner() / 2,
245
+ "y": yRange[1]
246
+ })) : null, yIndex !== null ? /*#__PURE__*/_react["default"].createElement(SHoverRect, _ref2.cn("SHoverRect", {
247
+ "render": "rect",
248
+ "ref": this.hoverRef,
249
+ "index": yIndex,
250
+ "width": xRange[1] - xRange[0],
251
+ "height": yScale.step() - yScale.paddingInner() / 2,
252
+ "x": xRange[0],
253
+ "y": yScale(data[yIndex][y]) - yScale.step() * yScale.paddingInner() / 2
254
+ })) : null);
256
255
  }
257
256
  }]);
258
257
  return HoverRectRoot;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Hover.js"],"names":["Hover","xIndex","yIndex","React","createRef","e","asProps","eventEmitter","data","scale","x","y","rootRef","xScale","yScale","current","pX","pY","vX","vY","undefined","state","setState","emit","hoverRef","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","Component","style","HoverLineRoot","SHoverLine","Element","styles","xRange","range","yRange","x1","y1","HoverRectRoot","SHoverRect","step","paddingInner","HoverLine","HoverRect"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, styled } from '@semcore/core';\nimport createElement from './createElement';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert } from './utils';\n\nimport style from './style/hover.shadow.css';\n\nclass Hover extends Component {\n static style = style;\n\n state = {\n xIndex: null,\n yIndex: null,\n };\n\n hoverRef = React.createRef();\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const vY = invert(yScale, pY);\n const xIndex =\n x === undefined || vX === undefined ? null : getIndexFromData(data, xScale, x, vX);\n const yIndex =\n y === undefined || vY === undefined ? null : getIndexFromData(data, yScale, y, vY);\n const state = { xIndex, yIndex };\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n state,\n this.hoverRef.current,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n const state = {\n xIndex: null,\n yIndex: null,\n };\n this.setState(state, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, state);\n });\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveRoot', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveRoot',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n}\n\nclass HoverLineRoot extends Hover {\n static displayName = 'HoverLine';\n\n render() {\n const SHoverLine = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n const x1 = xIndex !== null ? scaleOfBandwidth(xScale, data[xIndex][x]) : undefined;\n const y1 = yIndex !== null ? scaleOfBandwidth(yScale, data[yIndex][y]) : undefined;\n\n return styled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverLine\n render=\"line\"\n ref={this.hoverRef}\n index={xIndex}\n x1={x1}\n y1={yRange[0]}\n x2={x1}\n y2={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverLine\n render=\"line\"\n ref={this.hoverRef}\n index={yIndex}\n x1={xRange[0]}\n y1={y1}\n x2={xRange[1]}\n y2={y1}\n />\n ) : null}\n </>,\n );\n }\n}\n\nclass HoverRectRoot extends Hover {\n static displayName = 'HoverRect';\n\n render() {\n const SHoverRect = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n\n return styled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverRect\n render=\"rect\"\n ref={this.hoverRef}\n index={xIndex}\n width={xScale.step() - xScale.paddingInner() / 2}\n height={yRange[0] - yRange[1]}\n x={xScale(data[xIndex][x]) - (xScale.step() * xScale.paddingInner()) / 2}\n y={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverRect\n render=\"rect\"\n ref={this.hoverRef}\n index={yIndex}\n width={xRange[1] - xRange[0]}\n height={yScale.step() - yScale.paddingInner() / 2}\n x={xRange[0]}\n y={yScale(data[yIndex][y]) - (yScale.step() * yScale.paddingInner()) / 2}\n />\n ) : null}\n </>,\n );\n }\n}\n\nconst HoverLine = createElement(HoverLineRoot);\nconst HoverRect = createElement(HoverRectRoot);\n\nexport { HoverLine, HoverRect };\n"],"file":"Hover.js"}
1
+ {"version":3,"sources":["../../src/Hover.js"],"names":["Hover","xIndex","yIndex","React","createRef","e","asProps","eventEmitter","data","scale","x","y","rootRef","xScale","yScale","current","pX","pY","vX","vY","undefined","state","setState","emit","hoverRef","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","Component","style","HoverLineRoot","SHoverLine","Element","styles","xRange","range","yRange","x1","y1","HoverRectRoot","SHoverRect","step","paddingInner","HoverLine","HoverRect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;IAIMA,K;;;;;;;;;;;;;;;8FAGI;AACNC,MAAAA,MAAM,EAAE,IADF;AAENC,MAAAA,MAAM,EAAE;AAFF,K;8GAKGC,kBAAMC,SAAN,E;6GAEY,4BAAQ,UAACC,CAAD,EAAO;AAAA,0BACiB,MAAKC,OADtB;AAAA,UAC5BC,YAD4B,iBAC5BA,YAD4B;AAAA,UACdC,IADc,iBACdA,IADc;AAAA,UACRC,KADQ,iBACRA,KADQ;AAAA,UACDC,CADC,iBACDA,CADC;AAAA,UACEC,CADF,iBACEA,CADF;AAAA,UACKC,OADL,iBACKA,OADL;;AAAA,mDAEXH,KAFW;AAAA,UAE7BI,MAF6B;AAAA,UAErBC,MAFqB;;AAAA,0BAGnB,yBAAaT,CAAb,EAAgBO,OAAO,CAACG,OAAxB,CAHmB;AAAA;AAAA,UAG7BC,EAH6B;AAAA,UAGzBC,EAHyB;;AAIpC,UAAMC,EAAE,GAAG,mBAAOL,MAAP,EAAeG,EAAf,CAAX;AACA,UAAMG,EAAE,GAAG,mBAAOL,MAAP,EAAeG,EAAf,CAAX;AACA,UAAMhB,MAAM,GACVS,CAAC,KAAKU,SAAN,IAAmBF,EAAE,KAAKE,SAA1B,GAAsC,IAAtC,GAA6C,6BAAiBZ,IAAjB,EAAuBK,MAAvB,EAA+BH,CAA/B,EAAkCQ,EAAlC,CAD/C;AAEA,UAAMhB,MAAM,GACVS,CAAC,KAAKS,SAAN,IAAmBD,EAAE,KAAKC,SAA1B,GAAsC,IAAtC,GAA6C,6BAAiBZ,IAAjB,EAAuBM,MAAvB,EAA+BH,CAA/B,EAAkCQ,EAAlC,CAD/C;AAEA,UAAME,KAAK,GAAG;AAAEpB,QAAAA,MAAM,EAANA,MAAF;AAAUC,QAAAA,MAAM,EAANA;AAAV,OAAd;;AACA,YAAKoB,QAAL,CAAcD,KAAd,EAAqB,YAAM;AACzBd,QAAAA,YAAY,CAACgB,IAAb,CACE,kBADF,EAEEtB,MAAM,KAAK,IAAX,IAAmBC,MAAM,KAAK,IAFhC,EAGEmB,KAHF,EAIE,MAAKG,QAAL,CAAcT,OAJhB;AAMD,OAPD;AAQD,KAnBsB,C;8GAqBC,4BAAQ,YAAM;AACpC,UAAMM,KAAK,GAAG;AACZpB,QAAAA,MAAM,EAAE,IADI;AAEZC,QAAAA,MAAM,EAAE;AAFI,OAAd;;AAIA,YAAKoB,QAAL,CAAcD,KAAd,EAAqB,YAAM;AACzB,cAAKf,OAAL,CAAaC,YAAb,CAA0BgB,IAA1B,CAA+B,kBAA/B,EAAmD,KAAnD,EAA0DF,KAA1D;AACD,OAFD;AAGD,KARuB,C;;;;;;WAUxB,6BAAoB;AAAA;;AAAA,UACVd,YADU,GACO,KAAKD,OADZ,CACVC,YADU;AAElB,WAAKkB,wBAAL,GAAgClB,YAAY,CAACmB,SAAb,CAAuB,iBAAvB,EAA0C,UAACrB,CAAD,EAAO;AAC/EA,QAAAA,CAAC,CAACsB,OAAF;;AACA,QAAA,MAAI,CAACC,oBAAL,CAA0BvB,CAA1B;AACD,OAH+B,CAAhC;AAIA,WAAKwB,yBAAL,GAAiCtB,YAAY,CAACmB,SAAb,CAC/B,kBAD+B,EAE/B,KAAKI,qBAF0B,CAAjC;AAID;;;WAED,gCAAuB;AACrB,UAAI,KAAKL,wBAAT,EAAmC;AACjC,aAAKA,wBAAL;AACD;;AACD,UAAI,KAAKI,yBAAT,EAAoC;AAClC,aAAKA,yBAAL;AACD;AACF;;;EA5DiBE,e;;iCAAd/B,K,WACWgC,K;;IA8DXC,a;;;;;;;;;;;;WAGJ,kBAAS;AAAA;;AACP,UAAMC,UAAU,GAAG,KAAKC,OAAxB;AADO,2BAE+B,KAAK7B,OAFpC;AAAA,UAEC8B,MAFD,kBAECA,MAFD;AAAA,UAES1B,CAFT,kBAESA,CAFT;AAAA,UAEYC,CAFZ,kBAEYA,CAFZ;AAAA,UAEeH,IAFf,kBAEeA,IAFf;AAAA,UAEqBC,KAFrB,kBAEqBA,KAFrB;AAAA,wBAGoB,KAAKY,KAHzB;AAAA,UAGCpB,MAHD,eAGCA,MAHD;AAAA,UAGSC,MAHT,eAGSA,MAHT;;AAAA,oDAIkBO,KAJlB;AAAA,UAIAI,MAJA;AAAA,UAIQC,MAJR;;AAMP,UAAMuB,MAAM,GAAGxB,MAAM,CAACyB,KAAP,EAAf;AACA,UAAMC,MAAM,GAAGzB,MAAM,CAACwB,KAAP,EAAf;AACA,UAAME,EAAE,GAAGvC,MAAM,KAAK,IAAX,GAAkB,6BAAiBY,MAAjB,EAAyBL,IAAI,CAACP,MAAD,CAAJ,CAAaS,CAAb,CAAzB,CAAlB,GAA8DU,SAAzE;AACA,UAAMqB,EAAE,GAAGvC,MAAM,KAAK,IAAX,GAAkB,6BAAiBY,MAAjB,EAAyBN,IAAI,CAACN,MAAD,CAAJ,CAAaS,CAAb,CAAzB,CAAlB,GAA8DS,SAAzE;AAEA,oBAAO,mBAAQgB,MAAR,CAAP,eACE,kEACGnC,MAAM,KAAK,IAAX,gBACC,gCAAC,UAAD;AAAA,kBACS,MADT;AAAA,eAEO,KAAKuB,QAFZ;AAAA,iBAGSvB,MAHT;AAAA,cAIMuC,EAJN;AAAA,cAKMD,MAAM,CAAC,CAAD,CALZ;AAAA,cAMMC,EANN;AAAA,cAOMD,MAAM,CAAC,CAAD;AAPZ,SADD,GAUG,IAXN,EAYGrC,MAAM,KAAK,IAAX,gBACC,gCAAC,UAAD;AAAA,kBACS,MADT;AAAA,eAEO,KAAKsB,QAFZ;AAAA,iBAGStB,MAHT;AAAA,cAIMmC,MAAM,CAAC,CAAD,CAJZ;AAAA,cAKMI,EALN;AAAA,cAMMJ,MAAM,CAAC,CAAD,CANZ;AAAA,cAOMI;AAPN,SADD,GAUG,IAtBN,CADF;AA0BD;;;EAxCyBzC,K;;iCAAtBiC,a,iBACiB,W;;IA0CjBS,a;;;;;;;;;;;;WAGJ,kBAAS;AAAA;;AACP,UAAMC,UAAU,GAAG,KAAKR,OAAxB;AADO,2BAE+B,KAAK7B,OAFpC;AAAA,UAEC8B,MAFD,kBAECA,MAFD;AAAA,UAES1B,CAFT,kBAESA,CAFT;AAAA,UAEYC,CAFZ,kBAEYA,CAFZ;AAAA,UAEeH,IAFf,kBAEeA,IAFf;AAAA,UAEqBC,KAFrB,kBAEqBA,KAFrB;AAAA,yBAGoB,KAAKY,KAHzB;AAAA,UAGCpB,MAHD,gBAGCA,MAHD;AAAA,UAGSC,MAHT,gBAGSA,MAHT;;AAAA,oDAIkBO,KAJlB;AAAA,UAIAI,MAJA;AAAA,UAIQC,MAJR;;AAMP,UAAMuB,MAAM,GAAGxB,MAAM,CAACyB,KAAP,EAAf;AACA,UAAMC,MAAM,GAAGzB,MAAM,CAACwB,KAAP,EAAf;AAEA,qBAAO,mBAAQF,MAAR,CAAP,eACE,kEACGnC,MAAM,KAAK,IAAX,gBACC,gCAAC,UAAD;AAAA,kBACS,MADT;AAAA,eAEO,KAAKuB,QAFZ;AAAA,iBAGSvB,MAHT;AAAA,iBAISY,MAAM,CAAC+B,IAAP,KAAgB/B,MAAM,CAACgC,YAAP,KAAwB,CAJjD;AAAA,kBAKUN,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAL5B;AAAA,aAMK1B,MAAM,CAACL,IAAI,CAACP,MAAD,CAAJ,CAAaS,CAAb,CAAD,CAAN,GAA2BG,MAAM,CAAC+B,IAAP,KAAgB/B,MAAM,CAACgC,YAAP,EAAjB,GAA0C,CANzE;AAAA,aAOKN,MAAM,CAAC,CAAD;AAPX,SADD,GAUG,IAXN,EAYGrC,MAAM,KAAK,IAAX,gBACC,gCAAC,UAAD;AAAA,kBACS,MADT;AAAA,eAEO,KAAKsB,QAFZ;AAAA,iBAGStB,MAHT;AAAA,iBAISmC,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAJ3B;AAAA,kBAKUvB,MAAM,CAAC8B,IAAP,KAAgB9B,MAAM,CAAC+B,YAAP,KAAwB,CALlD;AAAA,aAMKR,MAAM,CAAC,CAAD,CANX;AAAA,aAOKvB,MAAM,CAACN,IAAI,CAACN,MAAD,CAAJ,CAAaS,CAAb,CAAD,CAAN,GAA2BG,MAAM,CAAC8B,IAAP,KAAgB9B,MAAM,CAAC+B,YAAP,EAAjB,GAA0C;AAPzE,SADD,GAUG,IAtBN,CADF;AA0BD;;;EAtCyB7C,K;;iCAAtB0C,a,iBACiB,W;AAwCvB,IAAMI,SAAS,GAAG,+BAAcb,aAAd,CAAlB;;AACA,IAAMc,SAAS,GAAG,+BAAcL,aAAd,CAAlB","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert } from './utils';\n\nimport style from './style/hover.shadow.css';\n\nclass Hover extends Component {\n static style = style;\n\n state = {\n xIndex: null,\n yIndex: null,\n };\n\n hoverRef = React.createRef();\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const vY = invert(yScale, pY);\n const xIndex =\n x === undefined || vX === undefined ? null : getIndexFromData(data, xScale, x, vX);\n const yIndex =\n y === undefined || vY === undefined ? null : getIndexFromData(data, yScale, y, vY);\n const state = { xIndex, yIndex };\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n state,\n this.hoverRef.current,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n const state = {\n xIndex: null,\n yIndex: null,\n };\n this.setState(state, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, state);\n });\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveRoot', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveRoot',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n}\n\nclass HoverLineRoot extends Hover {\n static displayName = 'HoverLine';\n\n render() {\n const SHoverLine = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n const x1 = xIndex !== null ? scaleOfBandwidth(xScale, data[xIndex][x]) : undefined;\n const y1 = yIndex !== null ? scaleOfBandwidth(yScale, data[yIndex][y]) : undefined;\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverLine\n render=\"line\"\n ref={this.hoverRef}\n index={xIndex}\n x1={x1}\n y1={yRange[0]}\n x2={x1}\n y2={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverLine\n render=\"line\"\n ref={this.hoverRef}\n index={yIndex}\n x1={xRange[0]}\n y1={y1}\n x2={xRange[1]}\n y2={y1}\n />\n ) : null}\n </>,\n );\n }\n}\n\nclass HoverRectRoot extends Hover {\n static displayName = 'HoverRect';\n\n render() {\n const SHoverRect = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverRect\n render=\"rect\"\n ref={this.hoverRef}\n index={xIndex}\n width={xScale.step() - xScale.paddingInner() / 2}\n height={yRange[0] - yRange[1]}\n x={xScale(data[xIndex][x]) - (xScale.step() * xScale.paddingInner()) / 2}\n y={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverRect\n render=\"rect\"\n ref={this.hoverRef}\n index={yIndex}\n width={xRange[1] - xRange[0]}\n height={yScale.step() - yScale.paddingInner() / 2}\n x={xRange[0]}\n y={yScale(data[yIndex][y]) - (yScale.step() * yScale.paddingInner()) / 2}\n />\n ) : null}\n </>,\n );\n }\n}\n\nconst HoverLine = createElement(HoverLineRoot);\nconst HoverRect = createElement(HoverRectRoot);\n\nexport { HoverLine, HoverRect };\n"],"file":"Hover.js"}
package/lib/cjs/Line.js CHANGED
@@ -21,43 +21,42 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
21
21
 
22
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
23
 
24
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
24
+ var _core = require("@semcore/core");
25
25
 
26
26
  var _react = _interopRequireDefault(require("react"));
27
27
 
28
28
  var _d3Shape = require("d3-shape");
29
29
 
30
- var _core = require("@semcore/core");
31
-
32
30
  var _createElement = _interopRequireDefault(require("./createElement"));
33
31
 
34
32
  var _utils = require("./utils");
35
33
 
36
34
  var _Dots = _interopRequireDefault(require("./Dots"));
37
35
 
36
+ var _ClipPath = _interopRequireDefault(require("./ClipPath"));
37
+
38
+ var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
39
+
38
40
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
41
 
40
42
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
43
 
42
44
  /*__reshadow-styles__:"./style/line.shadow.css"*/
43
- var _ref = (
45
+ var style = (
44
46
  /*__reshadow_css_start__*/
45
- (0, _core.__css__)(
47
+ _core.sstyled.insert(
46
48
  /*__inner_css_start__*/
47
- ".___SLine_1yslz_gg_{fill:transparent;stroke-width:3}.___SLine_1yslz_gg_.__hide_1yslz_gg_{display:none}.___SDot_1yslz_gg_{stroke-width:2px;stroke:#fff;r:6px}.___SDot_1yslz_gg_.__hide_1yslz_gg_{display:none}.___SDot_1yslz_gg_.__active_1yslz_gg_{r:8px}.___SNull_1yslz_gg_{fill:transparent;stroke:#98aaaf;stroke-dasharray:4}.___SNull_1yslz_gg_.__hide_1yslz_gg_{display:none}"
49
+ ".___SLine_d1qcq_gg_{fill:transparent;stroke-width:3;stroke:var(--color_153xqfw);transition-property:d;transition-duration:var(--duration_153xqfw);transition-timing-function:ease-in-out}.___SLine_d1qcq_gg_.__hide_d1qcq_gg_{display:none}.___SNull_d1qcq_gg_{fill:transparent;stroke:#98aaaf;stroke-dasharray:4}.___SNull_d1qcq_gg_.__hide_d1qcq_gg_{display:none}"
48
50
  /*__inner_css_end__*/
49
- , "qqomti_gg_")
51
+ , "153xqfw_gg_")
50
52
  /*__reshadow_css_end__*/
51
53
  , {
52
- "__SLine": "___SLine_1yslz_gg_",
53
- "_hide": "__hide_1yslz_gg_",
54
- "__SDot": "___SDot_1yslz_gg_",
55
- "_active": "__active_1yslz_gg_",
56
- "__SNull": "___SNull_1yslz_gg_"
57
- }),
58
- style = (0, _extends2["default"])({}, _ref);
59
-
60
- var styled_c8 = (0, _core.create)([]);
54
+ "__SLine": "___SLine_d1qcq_gg_",
55
+ "--color": "--color_153xqfw",
56
+ "--duration": "--duration_153xqfw",
57
+ "_hide": "__hide_d1qcq_gg_",
58
+ "__SNull": "___SNull_d1qcq_gg_"
59
+ });
61
60
 
62
61
  var LineRoot = /*#__PURE__*/function (_Component) {
63
62
  (0, _inherits2["default"])(LineRoot, _Component);
@@ -76,18 +75,21 @@ var LineRoot = /*#__PURE__*/function (_Component) {
76
75
  x = _this$asProps.x,
77
76
  y = _this$asProps.y,
78
77
  d3 = _this$asProps.d3,
79
- color = _this$asProps.color;
78
+ color = _this$asProps.color,
79
+ duration = _this$asProps.duration;
80
80
  return {
81
81
  x: x,
82
82
  y: y,
83
83
  d3: d3,
84
- fill: color
84
+ color: color,
85
+ delay: duration
85
86
  };
86
87
  }
87
88
  }, {
88
89
  key: "getNullProps",
89
90
  value: function getNullProps() {
90
91
  var _this$asProps2 = this.asProps,
92
+ x = _this$asProps2.x,
91
93
  y = _this$asProps2.y,
92
94
  d3 = _this$asProps2.d3,
93
95
  color = _this$asProps2.color,
@@ -95,38 +97,57 @@ var LineRoot = /*#__PURE__*/function (_Component) {
95
97
  return {
96
98
  d3: d3,
97
99
  // TODO: vertical
98
- data: (0, _utils.getNullData)(data, d3.defined(), y),
99
- fill: color
100
+ data: (0, _utils.getNullData)(data, (0, _utils.definedNullData)(x, y), y),
101
+ color: color
100
102
  };
101
103
  }
102
104
  }, {
103
105
  key: "render",
104
106
  value: function render() {
107
+ var _ref;
108
+
105
109
  var SLine = this.Element;
106
110
  var _this$asProps3 = this.asProps,
107
111
  styles = _this$asProps3.styles,
108
112
  hide = _this$asProps3.hide,
109
113
  color = _this$asProps3.color,
114
+ uid = _this$asProps3.uid,
115
+ size = _this$asProps3.size,
110
116
  d3 = _this$asProps3.d3,
111
- data = _this$asProps3.data;
112
- return (0, _core.styled)(((0, _core.set)([styled_c8, styles]), /*#__PURE__*/_react["default"].createElement(SLine, (0, _core.map)("SLine", {
113
- render: "path",
114
- hide: hide,
115
- stroke: color,
116
- d: d3(data)
117
- }))));
117
+ data = _this$asProps3.data,
118
+ duration = _this$asProps3.duration;
119
+ return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SLine, _ref.cn("SLine", {
120
+ "clipPath": "url(#".concat(uid, ")"),
121
+ "render": "path",
122
+ "hide": hide,
123
+ "color": color,
124
+ "d": d3(data),
125
+ "use:duration": "".concat(duration, "ms")
126
+ })), duration && /*#__PURE__*/_react["default"].createElement(_ClipPath["default"], _ref.cn("ClipPath", {
127
+ "setAttributeTag": function setAttributeTag(rect) {
128
+ rect.setAttribute('width', size[0]);
129
+ },
130
+ "id": uid,
131
+ "x": "0",
132
+ "y": "0",
133
+ "width": 0,
134
+ "height": size[1],
135
+ "transition": "width ".concat(duration, "ms ease-in-out")
136
+ })));
118
137
  }
119
138
  }]);
120
139
  return LineRoot;
121
140
  }(_core.Component);
122
141
 
123
142
  (0, _defineProperty2["default"])(LineRoot, "displayName", 'Line');
124
- (0, _defineProperty2["default"])(LineRoot, "defaultProps", function (_ref2) {
125
- var x = _ref2.x,
126
- y = _ref2.y,
127
- $rootProps = _ref2.$rootProps,
128
- _ref2$curve = _ref2.curve,
129
- curve = _ref2$curve === void 0 ? _d3Shape.curveLinear : _ref2$curve;
143
+ (0, _defineProperty2["default"])(LineRoot, "style", style);
144
+ (0, _defineProperty2["default"])(LineRoot, "enhance", [(0, _uniqueID["default"])()]);
145
+ (0, _defineProperty2["default"])(LineRoot, "defaultProps", function (_ref3) {
146
+ var x = _ref3.x,
147
+ y = _ref3.y,
148
+ $rootProps = _ref3.$rootProps,
149
+ _ref3$curve = _ref3.curve,
150
+ curve = _ref3$curve === void 0 ? _d3Shape.curveLinear : _ref3$curve;
130
151
 
131
152
  var _$rootProps$scale = (0, _slicedToArray2["default"])($rootProps.scale, 2),
132
153
  xScale = _$rootProps$scale[0],
@@ -138,23 +159,24 @@ var LineRoot = /*#__PURE__*/function (_Component) {
138
159
  }).y(function (p) {
139
160
  return (0, _utils.scaleOfBandwidth)(yScale, p[y]);
140
161
  }),
141
- color: '#50aef4'
162
+ color: '#50aef4',
163
+ duration: 500
142
164
  };
143
165
  });
144
- (0, _defineProperty2["default"])(LineRoot, "style", style);
145
- var styled_12c = (0, _core.create)([]);
146
166
 
147
167
  function Null(props) {
168
+ var _ref2;
169
+
148
170
  var SNull = props.Element,
149
171
  styles = props.styles,
150
172
  d3 = props.d3,
151
173
  data = props.data,
152
174
  hide = props.hide;
153
- return (0, _core.styled)(((0, _core.set)([styled_12c, styles]), /*#__PURE__*/_react["default"].createElement(SNull, (0, _core.map)("SNull", {
154
- render: "path",
155
- d: d3(data),
156
- hide: hide
157
- }))));
175
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SNull, _ref2.cn("SNull", {
176
+ "render": "path",
177
+ "d": d3(data),
178
+ "hide": hide
179
+ }));
158
180
  }
159
181
 
160
182
  var _default = (0, _createElement["default"])(LineRoot, {