@semcore/d3-chart 1.6.0 → 1.6.4
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 +19 -1
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +2 -2
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +8 -4
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +28 -8
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +6 -2
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +6 -6
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +8 -4
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +8 -4
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +10 -6
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +8 -8
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +9 -9
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +17 -7
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/color.js +1 -1
- package/lib/cjs/createElement.js +15 -7
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js +36 -36
- package/lib/cjs/utils.js +17 -17
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +2 -2
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +8 -4
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +21 -6
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +6 -6
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +2 -2
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +2 -2
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +10 -6
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +8 -8
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +9 -9
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +10 -5
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/createElement.js +8 -5
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/utils.js +10 -10
- package/lib/es6/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/Bar.js +2 -7
- package/src/Bubble.js +4 -7
- package/src/ClipPath.js +13 -3
- package/src/Donut.js +8 -10
- package/src/Plot.js +1 -1
- package/src/ScatterPlot.js +6 -12
- package/src/Tooltip.js +8 -2
- package/src/createElement.js +4 -4
- package/src/utils.js +2 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [1.6.
|
|
5
|
+
## [1.6.4] - 2022-02-10
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Fixed animation display when resizing.
|
|
10
|
+
|
|
11
|
+
## [1.6.3] - 2022-01-26
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Revert function `findComponent` for check children in `Tooltip`, because it's valid for children `() => ({})`.
|
|
16
|
+
|
|
17
|
+
## [1.6.2] - 2022-01-25
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Replaced function `findComponent` to `isAdvanceMode` for check children in `Tooltip`.
|
|
22
|
+
|
|
23
|
+
## [1.6.1] - 2021-01-21
|
|
6
24
|
|
|
7
25
|
### Added
|
|
8
26
|
|
package/lib/cjs/Area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Area.js"],"names":["AreaRoot","asProps","x","y","color","data","d3Line","d3","SArea","Element","SAreaLine","styles","hide","uid","size","duration","rect","setAttribute","Component","style","y0","$rootProps","curve","curveLinear","scale","xScale","yScale","yRange","range","defined","p","y1","Null","props","SNull","Dots"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAHA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,Q;;;;;;;;;;;;WAyBJ,wBAAe;
|
|
1
|
+
{"version":3,"sources":["../../src/Area.js"],"names":["AreaRoot","asProps","x","y","color","data","d3Line","d3","SArea","Element","SAreaLine","styles","hide","uid","size","duration","rect","setAttribute","Component","style","y0","$rootProps","curve","curveLinear","scale","xScale","yScale","yRange","range","defined","p","y1","Null","props","SNull","Dots"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { area, curveLinear, line } from 'd3-shape';\nimport Dots from './Dots';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { definedData, scaleOfBandwidth, getNullData, definedNullData } from './utils';\nimport ClipPath from './ClipPath';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/area.shadow.css';\n\nclass AreaRoot extends Component {\n static displayName = 'Area';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, y0, $rootProps, curve = curveLinear, scale }) => {\n const [xScale, yScale] = scale || $rootProps.scale;\n const yRange = yScale.range();\n\n return {\n d3: area()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y0((p) => (p[y0] ? scaleOfBandwidth(yScale, p[y0]) : yRange[0]))\n .y1((p) => scaleOfBandwidth(yScale, p[y])),\n d3Line: line()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y((p) => scaleOfBandwidth(yScale, p[y])),\n duration: 500,\n };\n };\n\n getDotsProps() {\n const { x, y, color, data, d3Line } = this.asProps;\n\n return {\n x,\n y,\n data,\n d3: d3Line,\n color,\n };\n }\n\n getNullProps() {\n const { x, y, color, data, d3Line } = this.asProps;\n return {\n data: getNullData(data, definedNullData(x, y), y),\n d3: d3Line,\n color,\n };\n }\n\n render() {\n const SArea = this.Element;\n const SAreaLine = 'path';\n const { styles, hide, d3, d3Line, data, color, uid, size, duration } = this.asProps;\n return sstyled(styles)(\n <>\n <SAreaLine\n clipPath={`url(#${uid})`}\n d={d3Line(data)}\n color={color}\n use:duration={`${duration}ms`}\n />\n <SArea\n clipPath={`url(#${uid})`}\n render=\"path\"\n d={d3(data)}\n hide={hide}\n color={color}\n use:duration={`${duration}ms`}\n />\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 Null(props) {\n const { Element: SNull, styles, d3, data, hide, color } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} color={color} />);\n}\n\nexport default createElement(AreaRoot, {\n Dots,\n Null,\n});\n"],"file":"Area.js"}
|
package/lib/cjs/Axis.js
CHANGED
|
@@ -31,9 +31,9 @@ var _utils = require("./utils");
|
|
|
31
31
|
|
|
32
32
|
var _MAP_POSITION_AXIS, _MAP_POSITION_TICK;
|
|
33
33
|
|
|
34
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
34
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
35
35
|
|
|
36
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
36
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
37
|
|
|
38
38
|
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
39
|
|
package/lib/cjs/Axis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Axis.js"],"names":["CUSTOM_0","Symbol","CUSTOM_1","MAP_INDEX_SCALE_SYMBOL","MAP_POSITION_REVERT","top","right","bottom","left","MAP_POSITION_AXIS","xScale","yScale","xRange","range","yRange","x1","y1","x2","y2","pos","MAP_POSITION_TICK","value","x","y","MAP_POSITION_GRID","MAP_POSITION_TITlE","renderValue","Date","toLocaleDateString","AxisRoot","asProps","ticks","indexScale","scale","scl","domain","position","SAxis","Element","styles","hide","Component","style","Ticks","props","STick","positionClass","map","i","Grid","SGrid","Title","STitle","XAxis","defaultProps","YAxis"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { scaleOfBandwidth } from './utils';\n\nimport style from './style/axis.shadow.css';\n\nconst CUSTOM_0 = Symbol('custom_0');\nconst CUSTOM_1 = Symbol('custom_1');\n\nconst MAP_INDEX_SCALE_SYMBOL = {\n 0: CUSTOM_0,\n 1: CUSTOM_1,\n};\n\nconst MAP_POSITION_REVERT = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nconst MAP_POSITION_AXIS = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[1],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[0],\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[1],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[0],\n y2: yRange[1],\n };\n },\n [CUSTOM_0]: ([xScale, yScale], pos) => {\n const xRange = xScale.range();\n return {\n x1: xRange[0],\n y1: scaleOfBandwidth(yScale, pos),\n x2: xRange[1],\n y2: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], pos) => {\n const yRange = yScale.range();\n return {\n x1: scaleOfBandwidth(xScale, pos),\n y1: yRange[0],\n x2: scaleOfBandwidth(xScale, pos),\n y2: yRange[1],\n };\n },\n};\n\nconst MAP_POSITION_TICK = {\n top: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[0],\n };\n },\n right: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[1],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n left: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[0],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n [CUSTOM_0]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, value),\n y: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, pos),\n y: scaleOfBandwidth(yScale, value),\n };\n },\n};\n\nconst MAP_POSITION_GRID = {\n 0: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n y1: yRange[0],\n x2: x,\n y2: yRange[1],\n };\n },\n 1: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n y1: y,\n x2: xRange[1],\n y2: y,\n };\n },\n};\n\nconst MAP_POSITION_TITlE = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[0],\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1],\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[0],\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n};\n\nfunction renderValue(value) {\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n return value;\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Axis';\n\n static style = style;\n\n get ticks() {\n const { ticks, indexScale, scale } = this.asProps;\n const scl = scale[indexScale];\n return ticks || (scl.ticks && scl.ticks()) || (scl.domain && scl.domain()) || [];\n }\n\n getTitleProps() {\n const { position } = this.asProps;\n return {\n position: MAP_POSITION_REVERT[position],\n };\n }\n\n getTicksProps() {\n const { position, indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n position,\n };\n }\n\n getGridProps() {\n const { indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n };\n }\n\n render() {\n const SAxis = this.Element;\n const { styles, position, scale, hide, indexScale } = this.asProps;\n\n const pos =\n MAP_POSITION_AXIS[position] ?? MAP_POSITION_AXIS[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n\n return sstyled(styles)(<SAxis render=\"line\" hide={hide} {...pos(scale, position)} />);\n }\n}\n\nfunction Ticks(props) {\n const { Element: STick, styles, scale, ticks, position, hide, indexScale } = props;\n\n const pos = MAP_POSITION_TICK[position] ?? MAP_POSITION_TICK[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n const positionClass = MAP_POSITION_TICK[position] ? position : 'custom_' + indexScale;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <STick\n key={i}\n render=\"text\"\n childrenPosition=\"inside\"\n __excludeProps={['data', 'scale', 'format', 'value']}\n value={value}\n index={i}\n position={positionClass}\n hide={hide}\n {...pos(scale, value, position)}\n >\n {renderValue(value)}\n </STick>,\n );\n });\n}\n\nfunction Grid(props) {\n const { Element: SGrid, styles, scale, ticks, indexScale } = props;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <SGrid key={i} render=\"line\" {...MAP_POSITION_GRID[indexScale](scale, value)} />,\n );\n });\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position } = props;\n\n return sstyled(styles)(\n <STitle\n render=\"text\"\n childrenPosition=\"inside\"\n position={position}\n {...MAP_POSITION_TITlE[position](scale)}\n />,\n );\n}\n\nconst XAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nXAxis.defaultProps = {\n indexScale: 0,\n position: 'bottom',\n};\n\nconst YAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nYAxis.defaultProps = {\n indexScale: 1,\n position: 'left',\n hide: true,\n};\n\nexport { XAxis, YAxis };\n"],"file":"Axis.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Axis.js"],"names":["CUSTOM_0","Symbol","CUSTOM_1","MAP_INDEX_SCALE_SYMBOL","MAP_POSITION_REVERT","top","right","bottom","left","MAP_POSITION_AXIS","xScale","yScale","xRange","range","yRange","x1","y1","x2","y2","pos","MAP_POSITION_TICK","value","x","y","MAP_POSITION_GRID","MAP_POSITION_TITlE","renderValue","Date","toLocaleDateString","AxisRoot","asProps","ticks","indexScale","scale","scl","domain","position","SAxis","Element","styles","hide","Component","style","Ticks","props","STick","positionClass","map","i","Grid","SGrid","Title","STitle","XAxis","defaultProps","YAxis"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { scaleOfBandwidth } from './utils';\n\nimport style from './style/axis.shadow.css';\n\nconst CUSTOM_0 = Symbol('custom_0');\nconst CUSTOM_1 = Symbol('custom_1');\n\nconst MAP_INDEX_SCALE_SYMBOL = {\n 0: CUSTOM_0,\n 1: CUSTOM_1,\n};\n\nconst MAP_POSITION_REVERT = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nconst MAP_POSITION_AXIS = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[1],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[0],\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[1],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[0],\n y2: yRange[1],\n };\n },\n [CUSTOM_0]: ([xScale, yScale], pos) => {\n const xRange = xScale.range();\n return {\n x1: xRange[0],\n y1: scaleOfBandwidth(yScale, pos),\n x2: xRange[1],\n y2: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], pos) => {\n const yRange = yScale.range();\n return {\n x1: scaleOfBandwidth(xScale, pos),\n y1: yRange[0],\n x2: scaleOfBandwidth(xScale, pos),\n y2: yRange[1],\n };\n },\n};\n\nconst MAP_POSITION_TICK = {\n top: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[0],\n };\n },\n right: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[1],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n left: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[0],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n [CUSTOM_0]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, value),\n y: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, pos),\n y: scaleOfBandwidth(yScale, value),\n };\n },\n};\n\nconst MAP_POSITION_GRID = {\n 0: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n y1: yRange[0],\n x2: x,\n y2: yRange[1],\n };\n },\n 1: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n y1: y,\n x2: xRange[1],\n y2: y,\n };\n },\n};\n\nconst MAP_POSITION_TITlE = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[0],\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1],\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[0],\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n};\n\nfunction renderValue(value) {\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n return value;\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Axis';\n\n static style = style;\n\n get ticks() {\n const { ticks, indexScale, scale } = this.asProps;\n const scl = scale[indexScale];\n return ticks || (scl.ticks && scl.ticks()) || (scl.domain && scl.domain()) || [];\n }\n\n getTitleProps() {\n const { position } = this.asProps;\n return {\n position: MAP_POSITION_REVERT[position],\n };\n }\n\n getTicksProps() {\n const { position, indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n position,\n };\n }\n\n getGridProps() {\n const { indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n };\n }\n\n render() {\n const SAxis = this.Element;\n const { styles, position, scale, hide, indexScale } = this.asProps;\n\n const pos =\n MAP_POSITION_AXIS[position] ?? MAP_POSITION_AXIS[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n\n return sstyled(styles)(<SAxis render=\"line\" hide={hide} {...pos(scale, position)} />);\n }\n}\n\nfunction Ticks(props) {\n const { Element: STick, styles, scale, ticks, position, hide, indexScale } = props;\n\n const pos = MAP_POSITION_TICK[position] ?? MAP_POSITION_TICK[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n const positionClass = MAP_POSITION_TICK[position] ? position : 'custom_' + indexScale;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <STick\n key={i}\n render=\"text\"\n childrenPosition=\"inside\"\n __excludeProps={['data', 'scale', 'format', 'value']}\n value={value}\n index={i}\n position={positionClass}\n hide={hide}\n {...pos(scale, value, position)}\n >\n {renderValue(value)}\n </STick>,\n );\n });\n}\n\nfunction Grid(props) {\n const { Element: SGrid, styles, scale, ticks, indexScale } = props;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <SGrid key={i} render=\"line\" {...MAP_POSITION_GRID[indexScale](scale, value)} />,\n );\n });\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position } = props;\n\n return sstyled(styles)(\n <STitle\n render=\"text\"\n childrenPosition=\"inside\"\n position={position}\n {...MAP_POSITION_TITlE[position](scale)}\n />,\n );\n}\n\nconst XAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nXAxis.defaultProps = {\n indexScale: 0,\n position: 'bottom',\n};\n\nconst YAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nYAxis.defaultProps = {\n indexScale: 1,\n position: 'left',\n hide: true,\n};\n\nexport { XAxis, YAxis };\n"],"file":"Axis.js"}
|
package/lib/cjs/Bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Bar.js"],"names":["BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","transition","attr","animationBar","d","i","SBar","Element","styles","color","y","y0","scale","hide","offset","r","widthProps","width","xScale","yScale","barY","Math","max","barX","height","abs","min","domain","dSvg","getRect","radius","Array","isArray","position","size","map","renderBar","bind","Component","style","Background","SBackground","yRange","range","bandwidth"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,O;;;;;;;;;;;;WAWJ,4BAAmBC,KAAnB,EAA0BC,KAA1B,EAAiC;
|
|
1
|
+
{"version":3,"sources":["../../src/Bar.js"],"names":["BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","transition","attr","animationBar","d","i","SBar","Element","styles","color","y","y0","scale","hide","offset","r","widthProps","width","xScale","yScale","barY","Math","max","barX","height","abs","min","domain","dSvg","getRect","radius","Array","isArray","position","size","map","renderBar","bind","Component","style","Background","SBackground","yRange","range","bandwidth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n y,\n y0,\n scale,\n hide,\n offset,\n duration,\n uid,\n r,\n width: widthProps,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const barY = yScale(Math.max(d[y0] ?? 0, d[y])) + offset[1];\n const barX = xScale(d[x]) + offset[0];\n const height = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const width = widthProps || getBandwidth(xScale);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 ? 'top' : 'bottom',\n });\n\n return sstyled(styles)(\n <SBar\n key={`bar-${i}`}\n render=\"path\"\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 x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n use:duration={`${duration}ms`}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n key={`${uid}-animation`}\n id={uid}\n x=\"0\"\n y={size[1]}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xScale.bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height <= radius) return '';\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"file":"Bar.js"}
|
package/lib/cjs/Bubble.js
CHANGED
|
@@ -43,6 +43,10 @@ var _ClipPath = _interopRequireDefault(require("./ClipPath"));
|
|
|
43
43
|
|
|
44
44
|
var _d3Scale = require("d3-scale");
|
|
45
45
|
|
|
46
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
47
|
+
|
|
48
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
49
|
+
|
|
46
50
|
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); }; }
|
|
47
51
|
|
|
48
52
|
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; } }
|
|
@@ -201,12 +205,12 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
201
205
|
}[labelPosition];
|
|
202
206
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement("g", _ref.cn("g", {
|
|
203
207
|
"key": "circle(#".concat(i, ")"),
|
|
204
|
-
"onMouseMove": this.bindHandlerTooltip(true, {
|
|
208
|
+
"onMouseMove": this.bindHandlerTooltip(true, _objectSpread(_objectSpread({}, this.props), {}, {
|
|
205
209
|
xIndex: i
|
|
206
|
-
}),
|
|
207
|
-
"onMouseLeave": this.bindHandlerTooltip(false, {
|
|
210
|
+
})),
|
|
211
|
+
"onMouseLeave": this.bindHandlerTooltip(false, _objectSpread(_objectSpread({}, this.props), {}, {
|
|
208
212
|
xIndex: i
|
|
209
|
-
})
|
|
213
|
+
}))
|
|
210
214
|
}), markedCross && /*#__PURE__*/_react["default"].createElement(SCenter, _ref.cn("SCenter", {
|
|
211
215
|
"x": xScale(d[x]) + offset[0],
|
|
212
216
|
"y": yScale(d[y]) + offset[1],
|
package/lib/cjs/Bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Bubble.js"],"names":["memoize","func","results","argsKey","measureText","text","span","document","createElement","append","createTextNode","style","display","body","textLength","offsetWidth","remove","BubbleRoot","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","data","value","z","domain","Math","max","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","transition","_","ind","animationCircle","d","i","color","scale","offset","styles","label","markedCross","size","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","bindHandlerTooltip","xIndex","marginX","marginY","renderCircle","bind","Component","Bubble"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/bubble.shadow.css';\nimport ClipPath from './ClipPath';\nimport { scaleSqrt } from 'd3-scale';\n\nconst memoize = (func) => {\n const results = {};\n return (argsKey) => {\n if (!results[argsKey]) {\n results[argsKey] = func(argsKey);\n }\n return results[argsKey];\n };\n};\n\nconst measureText = memoize((text) => {\n let span = document.createElement('span');\n span.append(document.createTextNode(text));\n span.style.display = 'inline-block';\n document.body.append(span);\n const textLength = span.offsetWidth;\n span.remove();\n return textLength;\n});\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition()\n .selection()\n .selectAll(`[id^=${uid}${uid}]`)\n .attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function(_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { xIndex: i })}\n >\n {markedCross && (\n <SCenter\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n color={d[color] ?? color}\n >\n +\n </SCenter>\n )}\n <SBubble\n id={`${uid}${uid}`}\n render=\"circle\"\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={d[color]}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n />\n {d[label] && (\n <SLabel\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={d[color]}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, size, scale } = this.asProps;\n const [xScale, yScale] = scale;\n const marginX = Math.min(xScale.range()[0], xScale.range()[1]);\n const marginY = Math.min(yScale.range()[0], yScale.range()[1]);\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n id={uid}\n x={marginX}\n y={marginY}\n width={`${size[0] - 2 * marginX}px`}\n height={`${size[1] - 2 * marginY}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"file":"Bubble.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Bubble.js"],"names":["memoize","func","results","argsKey","measureText","text","span","document","createElement","append","createTextNode","style","display","body","textLength","offsetWidth","remove","BubbleRoot","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","data","value","z","domain","Math","max","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","transition","_","ind","animationCircle","d","i","color","scale","offset","styles","label","markedCross","size","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","bindHandlerTooltip","xIndex","marginX","marginY","renderCircle","bind","Component","Bubble"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/bubble.shadow.css';\nimport ClipPath from './ClipPath';\nimport { scaleSqrt } from 'd3-scale';\n\nconst memoize = (func) => {\n const results = {};\n return (argsKey) => {\n if (!results[argsKey]) {\n results[argsKey] = func(argsKey);\n }\n return results[argsKey];\n };\n};\n\nconst measureText = memoize((text) => {\n let span = document.createElement('span');\n span.append(document.createTextNode(text));\n span.style.display = 'inline-block';\n document.body.append(span);\n const textLength = span.offsetWidth;\n span.remove();\n return textLength;\n});\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n {markedCross && (\n <SCenter\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n color={d[color] ?? color}\n >\n +\n </SCenter>\n )}\n <SBubble\n id={`${uid}${uid}`}\n render=\"circle\"\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={d[color]}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n />\n {d[label] && (\n <SLabel\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={d[color]}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, size, scale } = this.asProps;\n const [xScale, yScale] = scale;\n const marginX = Math.min(xScale.range()[0], xScale.range()[1]);\n const marginY = Math.min(yScale.range()[0], yScale.range()[1]);\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n id={uid}\n x={marginX}\n y={marginY}\n width={`${size[0] - 2 * marginX}px`}\n height={`${size[1] - 2 * marginY}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"file":"Bubble.js"}
|
package/lib/cjs/ClipPath.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
@@ -33,9 +33,15 @@ var _core = _interopRequireWildcard(require("@semcore/core"));
|
|
|
33
33
|
|
|
34
34
|
var _propsForElement = _interopRequireDefault(require("@semcore/utils/lib/propsForElement"));
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
var _excluded = ["id", "transition", "tag", "style", "className"];
|
|
37
|
+
|
|
38
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
|
+
|
|
40
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
41
|
|
|
38
|
-
function
|
|
42
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
43
|
+
|
|
44
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
39
45
|
|
|
40
46
|
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); }; }
|
|
41
47
|
|
|
@@ -61,18 +67,32 @@ var ClipPath = /*#__PURE__*/function (_Component) {
|
|
|
61
67
|
}
|
|
62
68
|
|
|
63
69
|
(0, _createClass2["default"])(ClipPath, [{
|
|
64
|
-
key: "
|
|
65
|
-
value: function
|
|
70
|
+
key: "setAttributeTag",
|
|
71
|
+
value: function setAttributeTag() {
|
|
66
72
|
var _this$asProps = this.asProps,
|
|
67
73
|
id = _this$asProps.id,
|
|
68
74
|
tag = _this$asProps.tag,
|
|
69
75
|
setAttributeTag = _this$asProps.setAttributeTag;
|
|
76
|
+
|
|
77
|
+
if (setAttributeTag) {
|
|
78
|
+
Array.from(document.querySelectorAll("#".concat(id, " ").concat(tag))).forEach(setAttributeTag);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}, {
|
|
82
|
+
key: "componentDidMount",
|
|
83
|
+
value: function componentDidMount() {
|
|
84
|
+
var id = this.asProps.id;
|
|
70
85
|
if (!document || !id || !document.querySelector("#".concat(id))) return;
|
|
71
86
|
var svg = document.querySelector("#".concat(id)).closest('svg');
|
|
72
87
|
Array.from(svg.querySelectorAll("[clip-path=\"url(#".concat(id, ")\"]"))).forEach(function (node) {
|
|
73
88
|
node && node.getTotalLength && node.getTotalLength();
|
|
74
89
|
});
|
|
75
|
-
setAttributeTag
|
|
90
|
+
this.setAttributeTag();
|
|
91
|
+
}
|
|
92
|
+
}, {
|
|
93
|
+
key: "componentDidUpdate",
|
|
94
|
+
value: function componentDidUpdate() {
|
|
95
|
+
this.setAttributeTag();
|
|
76
96
|
}
|
|
77
97
|
}, {
|
|
78
98
|
key: "render",
|
|
@@ -83,7 +103,7 @@ var ClipPath = /*#__PURE__*/function (_Component) {
|
|
|
83
103
|
Tag = _this$asProps2.tag,
|
|
84
104
|
style = _this$asProps2.style,
|
|
85
105
|
className = _this$asProps2.className,
|
|
86
|
-
other = (0, _objectWithoutProperties2["default"])(_this$asProps2,
|
|
106
|
+
other = (0, _objectWithoutProperties2["default"])(_this$asProps2, _excluded);
|
|
87
107
|
return /*#__PURE__*/_react["default"].createElement("clipPath", {
|
|
88
108
|
ref: this.refClipPath,
|
|
89
109
|
id: id
|
package/lib/cjs/ClipPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ClipPath.js"],"names":["ClipPath","React","createRef","asProps","id","tag","setAttributeTag","
|
|
1
|
+
{"version":3,"sources":["../../src/ClipPath.js"],"names":["ClipPath","React","createRef","asProps","id","tag","setAttributeTag","Array","from","document","querySelectorAll","forEach","querySelector","svg","closest","node","getTotalLength","transition","Tag","style","className","other","refClipPath","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;IAEMA,Q;;;;;;;;;;;;;;;iHAQUC,kBAAMC,SAAN,E;;;;;;WAEd,2BAAkB;AAChB,0BAAqC,KAAKC,OAA1C;AAAA,UAAQC,EAAR,iBAAQA,EAAR;AAAA,UAAYC,GAAZ,iBAAYA,GAAZ;AAAA,UAAiBC,eAAjB,iBAAiBA,eAAjB;;AACA,UAAIA,eAAJ,EAAqB;AACnBC,QAAAA,KAAK,CAACC,IAAN,CAAWC,QAAQ,CAACC,gBAAT,YAA8BN,EAA9B,cAAoCC,GAApC,EAAX,EAAuDM,OAAvD,CAA+DL,eAA/D;AACD;AACF;;;WAED,6BAAoB;AAClB,UAAQF,EAAR,GAAe,KAAKD,OAApB,CAAQC,EAAR;AACA,UAAI,CAACK,QAAD,IAAa,CAACL,EAAd,IAAoB,CAACK,QAAQ,CAACG,aAAT,YAA2BR,EAA3B,EAAzB,EAA2D;AAC3D,UAAMS,GAAG,GAAGJ,QAAQ,CAACG,aAAT,YAA2BR,EAA3B,GAAiCU,OAAjC,CAAyC,KAAzC,CAAZ;AACAP,MAAAA,KAAK,CAACC,IAAN,CAAWK,GAAG,CAACH,gBAAJ,6BAAyCN,EAAzC,UAAX,EAA8DO,OAA9D,CAAsE,UAACI,IAAD,EAAU;AAC9EA,QAAAA,IAAI,IAAIA,IAAI,CAACC,cAAb,IAA+BD,IAAI,CAACC,cAAL,EAA/B;AACD,OAFD;AAGA,WAAKV,eAAL;AACD;;;WAED,8BAAqB;AACnB,WAAKA,eAAL;AACD;;;WAED,kBAAS;AACP,2BAAiE,KAAKH,OAAtE;AAAA,UAAQC,EAAR,kBAAQA,EAAR;AAAA,UAAYa,UAAZ,kBAAYA,UAAZ;AAAA,UAA6BC,GAA7B,kBAAwBb,GAAxB;AAAA,UAAkCc,KAAlC,kBAAkCA,KAAlC;AAAA,UAAyCC,SAAzC,kBAAyCA,SAAzC;AAAA,UAAuDC,KAAvD;AACA,0BACE;AAAU,QAAA,GAAG,EAAE,KAAKC,WAApB;AAAiC,QAAA,EAAE,EAAElB;AAArC,sBACE,gCAAC,GAAD;AAAK,QAAA,KAAK,kCAAOe,KAAP;AAAcF,UAAAA,UAAU,EAAVA;AAAd;AAAV,SAA0C,iCAAgBI,KAAhB,EAAuBH,GAAvB,CAA1C,EADF,CADF;AAKD;;;EAtCoBK,e;;iCAAjBvB,Q,kBACkB;AACpBK,EAAAA,GAAG,EAAE,MADe;AAEpBD,EAAAA,EAAE,EAAE,EAFgB;AAGpBa,EAAAA,UAAU,EAAE,EAHQ;AAIpBX,EAAAA,eAAe,EAAE;AAJG,C;;eAwCT,sBAAgBN,QAAhB,C","sourcesContent":["import React from 'react';\nimport createComponent, { Component } from '@semcore/core';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\n\nclass ClipPath extends Component {\n static defaultProps = {\n tag: 'rect',\n id: '',\n transition: '',\n setAttributeTag: null,\n };\n\n refClipPath = React.createRef();\n\n setAttributeTag() {\n const { id, tag, setAttributeTag } = this.asProps;\n if (setAttributeTag) {\n Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);\n }\n }\n\n componentDidMount() {\n const { id } = this.asProps;\n if (!document || !id || !document.querySelector(`#${id}`)) return;\n const svg = document.querySelector(`#${id}`).closest('svg');\n Array.from(svg.querySelectorAll(`[clip-path=\"url(#${id})\"]`)).forEach((node) => {\n node && node.getTotalLength && node.getTotalLength();\n });\n this.setAttributeTag();\n }\n\n componentDidUpdate() {\n this.setAttributeTag();\n }\n\n render() {\n const { id, transition, tag: Tag, style, className, ...other } = this.asProps;\n return (\n <clipPath ref={this.refClipPath} id={id}>\n <Tag style={{ ...style, transition }} {...propsForElement(other, Tag)} />\n </clipPath>\n );\n }\n}\n\nexport default createComponent(ClipPath);\n"],"file":"ClipPath.js"}
|
package/lib/cjs/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Donut.js"],"names":["DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","arcs","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","transition","attrTween","min","max","d3ArcOut","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","uid","id","top","right","bottom","left","Children","data","d3Pie","pieData","Object","entries","keys","React","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","arc","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","Component","style","value","SPie","styles","color","EmptyData","SEmptyData","Label","SLabel"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, arcs }) {\n return function(_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function(t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function(_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function(t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function() {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function(t) {\n const d3ArcOut = arc()\n .innerRadius(innerRadius)\n .outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n let { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n getPieProps(props) {\n let { d3Arc, duration, innerRadius } = this.asProps;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n\n return {\n data,\n d3Arc,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n });\n },\n onMouseOut: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function(_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween('d', animationInitialPie({ halfsize, d3Arc, arcs }));\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({ Element: SPie, styles, d3Arc, data, color }) {\n return sstyled(styles)(<SPie render=\"path\" color={color} d={d3Arc(data)} />);\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children }) {\n return sstyled(styles)(\n <SLabel render=\"text\" x=\"0\" y=\"0\">\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"file":"Donut.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Donut.js"],"names":["DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","arcs","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","transition","attrTween","min","max","d3ArcOut","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","uid","id","top","right","bottom","left","Children","data","d3Pie","pieData","Object","entries","keys","React","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","arc","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","Component","style","value","SPie","styles","color","EmptyData","SEmptyData","Label","SLabel"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, arcs }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function (t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function (t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function (t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n let { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n getPieProps(props) {\n let { d3Arc, duration, innerRadius } = this.asProps;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n\n return {\n data,\n d3Arc,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n });\n },\n onMouseOut: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function (_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween('d', animationInitialPie({ halfsize, d3Arc, arcs }));\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({ Element: SPie, styles, d3Arc, data, color }) {\n return sstyled(styles)(<SPie render=\"path\" color={color} d={d3Arc(data)} />);\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children }) {\n return sstyled(styles)(\n <SLabel render=\"text\" x=\"0\" y=\"0\">\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"file":"Donut.js"}
|
package/lib/cjs/Dots.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
@@ -27,6 +27,10 @@ var _animation = require("@semcore/animation");
|
|
|
27
27
|
|
|
28
28
|
var _rafTrottle = _interopRequireDefault(require("@semcore/utils/lib/rafTrottle"));
|
|
29
29
|
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
+
|
|
32
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
|
+
|
|
30
34
|
/*__reshadow-styles__:"./style/dot.shadow.css"*/
|
|
31
35
|
var style = (
|
|
32
36
|
/*__reshadow_css_start__*/
|
package/lib/cjs/Dots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Dots.js"],"names":["Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","bisect","d","center","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","xScale","current","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","renderCircle","React","forwardRef","ref","reduce","acc","i","isPrev","defined","isNext","active","push","style"],"mappings":";;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA
|
|
1
|
+
{"version":3,"sources":["../../src/Dots.js"],"names":["Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","bisect","d","center","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","xScale","current","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","renderCircle","React","forwardRef","ref","reduce","acc","i","isPrev","defined","isNext","active","push","style"],"mappings":"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","sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport { eventToPoint, invert } from './utils';\nimport createElement from './createElement';\nimport { FadeInOut } from '@semcore/animation';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/dot.shadow.css';\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n } = props;\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, data, x, y]);\n\n const renderCircle = useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"circle\" {...props} />;\n }),\n [props],\n );\n\n return data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n if (!d3.defined()(d)) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n key={i}\n render={renderCircle}\n visible={display || i === activeIndex || (!isPrev && !isNext)}\n __excludeProps={['data', 'scale', 'value', 'display']}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={color}\n use:duration={`${duration}ms`}\n />,\n ),\n );\n return acc;\n }, []);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"file":"Dots.js"}
|