@semcore/d3-chart 2.3.4 → 2.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/lib/cjs/Area.js +13 -13
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +8 -8
- package/lib/cjs/Bubble.js +15 -15
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/Donut.js +13 -13
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +11 -11
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +1 -4
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +8 -8
- package/lib/cjs/Hover.js +8 -8
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +10 -10
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +6 -6
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/RadialTree.js +16 -16
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +10 -10
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +11 -11
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +0 -3
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +0 -3
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +10 -10
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +7 -7
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +3 -3
- package/lib/cjs/a11y/PlotA11yView.js +4 -4
- package/lib/cjs/createElement.js +3 -3
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/es6/Area.js +12 -12
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +8 -8
- package/lib/es6/Bubble.js +15 -15
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/Donut.js +11 -11
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +11 -11
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +1 -4
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +8 -8
- package/lib/es6/Hover.js +6 -6
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +9 -9
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +7 -7
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/RadialTree.js +18 -19
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +10 -10
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +11 -11
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +0 -3
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +0 -3
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +10 -10
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +7 -7
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +3 -3
- package/lib/es6/a11y/PlotA11yView.js +4 -4
- package/lib/es6/createElement.js +2 -2
- package/lib/es6/createElement.js.map +1 -1
- package/package.json +1 -1
package/lib/es6/Hover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hover.js","names":["React","Component","sstyled","createElement","canUseDOM","scaleOfBandwidth","getIndexFromData","eventToPoint","invert","CONSTANT","trottle","Hover","xIndex","yIndex","document","e","asProps","eventEmitter","data","scale","x","y","rootRef","clientX","clientY","xScale","yScale","current","pX","pY","vX","vY","undefined","state","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","setState","emit","width","height","top","right","bottom","left","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","style","HoverLineRoot","SHoverLine","Element","styles","xRange","range","yRange","x1","y1","HoverRectRoot","SHoverRect","step","paddingInner","HoverLine","HoverRect"],"sources":["../../src/Hover.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';\nimport trottle from '@semcore/utils/lib/rafTrottle';\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 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 handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const { clientX, clientY } = e;\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.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n state,\n this.virtualElement,\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('onMouseMoveChart', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\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 aria-hidden\n render=\"line\"\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 aria-hidden\n render=\"line\"\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 aria-hidden\n render=\"rect\"\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 aria-hidden\n render=\"rect\"\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Hover.js","names":["React","Component","sstyled","canUseDOM","trottle","createElement","scaleOfBandwidth","getIndexFromData","eventToPoint","invert","CONSTANT","Hover","xIndex","yIndex","document","e","asProps","eventEmitter","data","scale","x","y","rootRef","clientX","clientY","xScale","yScale","current","pX","pY","vX","vY","undefined","state","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","setState","emit","width","height","top","right","bottom","left","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","style","HoverLineRoot","SHoverLine","Element","styles","xRange","range","yRange","x1","y1","HoverRectRoot","SHoverRect","step","paddingInner","HoverLine","HoverRect"],"sources":["../../src/Hover.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } 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 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 handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const { clientX, clientY } = e;\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.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n state,\n this.virtualElement,\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('onMouseMoveChart', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\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 aria-hidden\n render=\"line\"\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 aria-hidden\n render=\"line\"\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 aria-hidden\n render=\"rect\"\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 aria-hidden\n render=\"rect\"\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"],"mappings":"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"}
|
package/lib/es6/Line.js
CHANGED
|
@@ -14,28 +14,28 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
14
14
|
import React from 'react';
|
|
15
15
|
import { curveLinear, line as d3Line } from 'd3-shape';
|
|
16
16
|
import { Component, sstyled } from '@semcore/core';
|
|
17
|
+
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
17
18
|
import createElement from './createElement';
|
|
18
19
|
import { definedData, definedNullData, scaleOfBandwidth, getNullData } from './utils';
|
|
19
20
|
import Dots from './Dots';
|
|
20
21
|
import ClipPath from './ClipPath';
|
|
21
|
-
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
22
22
|
|
|
23
23
|
/*__reshadow-styles__:"./style/line.shadow.css"*/
|
|
24
24
|
var style = (
|
|
25
25
|
/*__reshadow_css_start__*/
|
|
26
26
|
_sstyled.insert(
|
|
27
27
|
/*__inner_css_start__*/
|
|
28
|
-
".
|
|
28
|
+
".___SLine_gfaz7_gg_{fill:transparent;stroke-width:3;stroke:#2bb3ff;transition-property:d;transition-duration:var(--duration_gfaz7);transition-timing-function:ease-in-out}.___SLine_gfaz7_gg_.__color_gfaz7_gg_{stroke:var(--color_gfaz7)}.___SLine_gfaz7_gg_.__hide_gfaz7_gg_{display:none}.___SNull_gfaz7_gg_{fill:transparent;stroke:#c4c7cf;stroke-dasharray:4}.___SNull_gfaz7_gg_.__hide_gfaz7_gg_{display:none}"
|
|
29
29
|
/*__inner_css_end__*/
|
|
30
|
-
, "
|
|
30
|
+
, "gfaz7_gg_")
|
|
31
31
|
/*__reshadow_css_end__*/
|
|
32
32
|
, {
|
|
33
|
-
"__SLine": "
|
|
34
|
-
"--duration": "--
|
|
35
|
-
"_color": "
|
|
36
|
-
"--color": "--
|
|
37
|
-
"_hide": "
|
|
38
|
-
"__SNull": "
|
|
33
|
+
"__SLine": "___SLine_gfaz7_gg_",
|
|
34
|
+
"--duration": "--duration_gfaz7",
|
|
35
|
+
"_color": "__color_gfaz7_gg_",
|
|
36
|
+
"--color": "--color_gfaz7",
|
|
37
|
+
"_hide": "__hide_gfaz7_gg_",
|
|
38
|
+
"__SNull": "___SNull_gfaz7_gg_"
|
|
39
39
|
});
|
|
40
40
|
|
|
41
41
|
var LineRoot = /*#__PURE__*/function (_Component) {
|
package/lib/es6/Line.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Line.js","names":["React","curveLinear","line","d3Line","Component","sstyled","createElement","definedData","definedNullData","scaleOfBandwidth","getNullData","Dots","ClipPath","
|
|
1
|
+
{"version":3,"file":"Line.js","names":["React","curveLinear","line","d3Line","Component","sstyled","uniqueIDEnhancement","createElement","definedData","definedNullData","scaleOfBandwidth","getNullData","Dots","ClipPath","LineRoot","asProps","x","y","d3","color","duration","data","SLine","Element","styles","hide","uid","size","dataHintsHandler","specifyDataRowFields","establishDataType","rect","setAttribute","style","$rootProps","curve","scale","xScale","yScale","defined","p","Null","props","SNull"],"sources":["../../src/Line.jsx"],"sourcesContent":["import React from 'react';\nimport { curveLinear, line as d3Line } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { definedData, definedNullData, scaleOfBandwidth, getNullData } from './utils';\nimport Dots from './Dots';\nimport ClipPath from './ClipPath';\n\nimport style from './style/line.shadow.css';\n\nclass LineRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, $rootProps, curve = curveLinear, scale }) => {\n const [xScale, yScale] = scale || $rootProps.scale;\n return {\n d3: d3Line()\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, d3, color, duration } = this.asProps;\n return {\n x,\n y,\n d3,\n color,\n duration,\n };\n }\n\n getNullProps() {\n const { x, y, d3, color, data } = this.asProps;\n return {\n d3,\n // TODO: vertical\n data: getNullData(data, definedNullData(x, y), y),\n color,\n };\n }\n\n render() {\n const SLine = this.Element;\n const { styles, hide, color, uid, size, d3, data, duration, x, y } = this.asProps;\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y);\n this.asProps.dataHintsHandler.establishDataType('time-series');\n\n return sstyled(styles)(\n <>\n <SLine\n aria-hidden\n clipPath={`url(#${uid})`}\n render=\"path\"\n hide={hide}\n color={color}\n d={d3(data)}\n use:duration={`${duration}ms`}\n />\n {duration && (\n <ClipPath\n aria-hidden\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 } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} />);\n}\n\nexport default createElement(LineRoot, {\n Dots,\n Null,\n});\n"],"mappings":"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"}
|
package/lib/es6/Plot.js
CHANGED
|
@@ -21,24 +21,24 @@ import React from 'react';
|
|
|
21
21
|
import createComponent, { Component, Root, sstyled } from '@semcore/core';
|
|
22
22
|
import { Box } from '@semcore/flex-box';
|
|
23
23
|
import EventEmitter from '@semcore/utils/lib/eventEmitter';
|
|
24
|
+
import keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
|
|
24
25
|
import { eventToPoint, uniqueId } from './utils';
|
|
26
|
+
import { PlotA11yModule } from './a11y/PlotA11yModule';
|
|
27
|
+
import { makeDataHintsHandlers, makeDataHintsContainer } from './a11y/hints';
|
|
25
28
|
|
|
26
29
|
/*__reshadow-styles__:"./style/plot.shadow.css"*/
|
|
27
30
|
var style = (
|
|
28
31
|
/*__reshadow_css_start__*/
|
|
29
32
|
_sstyled.insert(
|
|
30
33
|
/*__inner_css_start__*/
|
|
31
|
-
".
|
|
34
|
+
".___SPlot_1ivna_gg_{overflow:hidden}.___SPlot_1ivna_gg_:active,.___SPlot_1ivna_gg_:focus{outline:0;text-decoration:none}.___SPlot_1ivna_gg_.__keyboardFocused_1ivna_gg_{border:1px solid #008ff8;box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}"
|
|
32
35
|
/*__inner_css_end__*/
|
|
33
|
-
, "
|
|
36
|
+
, "1ivna_gg_")
|
|
34
37
|
/*__reshadow_css_end__*/
|
|
35
38
|
, {
|
|
36
|
-
"__SPlot": "
|
|
37
|
-
"_keyboardFocused": "
|
|
39
|
+
"__SPlot": "___SPlot_1ivna_gg_",
|
|
40
|
+
"_keyboardFocused": "__keyboardFocused_1ivna_gg_"
|
|
38
41
|
});
|
|
39
|
-
import { PlotA11yModule } from './a11y/PlotA11yModule';
|
|
40
|
-
import { makeDataHintsHandlers, makeDataHintsContainer } from './a11y/hints';
|
|
41
|
-
import keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
|
|
42
42
|
|
|
43
43
|
var PlotRoot = /*#__PURE__*/function (_Component) {
|
|
44
44
|
_inherits(PlotRoot, _Component);
|
package/lib/es6/Plot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plot.js","names":["React","createComponent","Component","Root","sstyled","Box","EventEmitter","eventToPoint","uniqueId","PlotA11yModule","makeDataHintsHandlers","makeDataHintsContainer","
|
|
1
|
+
{"version":3,"file":"Plot.js","names":["React","createComponent","Component","Root","sstyled","Box","EventEmitter","keyboardFocusEnhance","eventToPoint","uniqueId","PlotA11yModule","makeDataHintsHandlers","makeDataHintsContainer","PlotRoot","props","createRef","dataStructureHints","e","scale","asProps","eventEmitter","emit","xScale","yScale","rootRef","current","pX","pY","range","minX","maxX","maxY","minY","data","width","height","yScaleDomain","domain","length","dataHintsHandler","setPointsDensity","Math","abs","$rootProps","size","SPlot","styles","Children","a11yAltTextConfig","label","locale","handlerMouseMove","handlerMouseLeave","plotId","style"],"sources":["../../src/Plot.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport EventEmitter from '@semcore/utils/lib/eventEmitter';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { eventToPoint, uniqueId } from './utils';\nimport { PlotA11yModule } from './a11y/PlotA11yModule';\nimport { makeDataHintsHandlers, makeDataHintsContainer } from './a11y/hints';\n\nimport style from './style/plot.shadow.css';\n\nclass PlotRoot extends Component {\n static displayName = 'Plot';\n static style = style;\n\n constructor(props) {\n super(props);\n this.eventEmitter = props.eventEmitter || new EventEmitter();\n }\n\n static defaultProps = () => ({\n width: 0,\n height: 0,\n });\n\n static enhance = [keyboardFocusEnhance()];\n\n plotId = uniqueId();\n\n rootRef = React.createRef();\n\n dataStructureHints = makeDataHintsContainer();\n dataHintsHandler = makeDataHintsHandlers(this.dataStructureHints);\n\n handlerMouseMove = (e) => {\n const { scale } = this.asProps;\n this.eventEmitter.emit(`onMouseMoveRoot`, e);\n\n if (scale) {\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, this.rootRef.current);\n const [minX, maxX] = xScale.range();\n const [maxY, minY] = yScale.range();\n\n if (pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) {\n this.eventEmitter.emit('onMouseMoveChart', e);\n } else {\n this.eventEmitter.emit('onMouseLeaveChart', e);\n }\n }\n };\n\n handlerMouseLeave = (e) => {\n this.eventEmitter.emit(`onMouseLeaveRoot`, e);\n this.eventEmitter.emit('onMouseLeaveChart', e);\n };\n\n setContext() {\n const { scale, data, width, height } = this.asProps;\n\n const yScaleDomain = scale?.[1]?.domain?.();\n if (yScaleDomain?.length && data?.length) {\n this.dataHintsHandler.setPointsDensity(\n data.length / width,\n Math.abs(yScaleDomain[1] - yScaleDomain[0]) / height,\n );\n }\n\n return {\n $rootProps: {\n size: [width, height],\n data: data,\n scale: scale,\n eventEmitter: this.eventEmitter,\n rootRef: this.rootRef,\n dataHintsHandler: this.dataHintsHandler,\n },\n };\n }\n\n render() {\n const SPlot = Root;\n const { styles, width, height, Children, data, a11yAltTextConfig, label, locale } =\n this.asProps;\n\n if (!width || !height) return null;\n\n return sstyled(styles)(\n <>\n <SPlot\n render={Box}\n tag=\"svg\"\n __excludeProps={['data', 'scale']}\n ref={this.rootRef}\n onMouseMove={this.handlerMouseMove}\n onMouseLeave={this.handlerMouseLeave}\n aria-label={label}\n tabIndex={0}\n >\n <Children />\n <foreignObject width=\"100%\" height=\"100%\">\n <PlotA11yModule\n id={this.plotId}\n data={data}\n plotLabel={label}\n locale={locale}\n plotRef={this.rootRef}\n hints={this.dataStructureHints}\n config={a11yAltTextConfig}\n />\n </foreignObject>\n </SPlot>\n </>,\n );\n }\n}\n\nexport default createComponent(PlotRoot);\n"],"mappings":"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"}
|
package/lib/es6/RadialTree.js
CHANGED
|
@@ -20,36 +20,35 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
20
20
|
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; } }
|
|
21
21
|
|
|
22
22
|
import React from 'react';
|
|
23
|
-
import { Component, sstyled } from '@semcore/core'; // @ts-ignore
|
|
24
|
-
|
|
25
|
-
import createElement from './createElement';
|
|
26
|
-
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
27
23
|
import { transition } from 'd3-transition';
|
|
24
|
+
import { Component, sstyled } from '@semcore/core';
|
|
25
|
+
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
26
|
+
import { shade } from '@semcore/utils/lib/color';
|
|
27
|
+
import assignProps from '@semcore/utils/lib/assignProps';
|
|
28
|
+
import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
|
|
29
|
+
import createElement from './createElement';
|
|
30
|
+
import { measureText } from './utils';
|
|
28
31
|
|
|
29
32
|
/*__reshadow-styles__:"./style/radial-tree.shadow.css"*/
|
|
30
33
|
var style = (
|
|
31
34
|
/*__reshadow_css_start__*/
|
|
32
35
|
_sstyled.insert(
|
|
33
36
|
/*__inner_css_start__*/
|
|
34
|
-
".
|
|
37
|
+
".___SRadian_idv3p_gg_{cursor:pointer;fill:#008ff8}.___SLine_idv3p_gg_{stroke:#008ff8}.___SLine_idv3p_gg_.__color_idv3p_gg_{stroke:var(--color_idv3p)}.___SCap_idv3p_gg_{transition:r .1s}.___SLabel_idv3p_gg_{fill:var(--color_idv3p);cursor:var(--text-cursor_idv3p)}.___SRadian_idv3p_gg_:hover .___SLabel_idv3p_gg_{fill:var(--color-hovered_idv3p)}@media (prefers-reduced-motion){.___SLineCap_idv3p_gg_{transition:none}}"
|
|
35
38
|
/*__inner_css_end__*/
|
|
36
|
-
, "
|
|
39
|
+
, "idv3p_gg_")
|
|
37
40
|
/*__reshadow_css_end__*/
|
|
38
41
|
, {
|
|
39
|
-
"__SRadian": "
|
|
40
|
-
"__SLine": "
|
|
41
|
-
"_color": "
|
|
42
|
-
"--color": "--
|
|
43
|
-
"__SCap": "
|
|
44
|
-
"__SLabel": "
|
|
45
|
-
"--text-cursor": "--text-
|
|
46
|
-
"--color-hovered": "--color-
|
|
47
|
-
"__SLineCap": "
|
|
42
|
+
"__SRadian": "___SRadian_idv3p_gg_",
|
|
43
|
+
"__SLine": "___SLine_idv3p_gg_",
|
|
44
|
+
"_color": "__color_idv3p_gg_",
|
|
45
|
+
"--color": "--color_idv3p",
|
|
46
|
+
"__SCap": "___SCap_idv3p_gg_",
|
|
47
|
+
"__SLabel": "___SLabel_idv3p_gg_",
|
|
48
|
+
"--text-cursor": "--text-cursor_idv3p",
|
|
49
|
+
"--color-hovered": "--color-hovered_idv3p",
|
|
50
|
+
"__SLineCap": "___SLineCap_idv3p_gg_"
|
|
48
51
|
});
|
|
49
|
-
import { shade } from '@semcore/utils/lib/color';
|
|
50
|
-
import { measureText } from './utils';
|
|
51
|
-
import assignProps from '@semcore/utils/lib/assignProps';
|
|
52
|
-
import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
|
|
53
52
|
var baseAngle = -Math.PI / 2; // The top vertical line
|
|
54
53
|
|
|
55
54
|
var RadialTreeBase = /*#__PURE__*/function (_Component) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialTree.js","names":["React","Component","sstyled","createElement","uniqueIDEnhancement","transition","shade","measureText","assignProps","getOriginChildren","baseAngle","Math","PI","RadialTreeBase","props","handleRadianClick","bind","activeKey","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","cx","baseVal","value","cy","radianIndex","parseInt","dataset","lineNode","from","x1","y1","to","attr","_","index","x","y","width","height","x2","y2","prevProps","$rootProps","data","runAppearAnimation","key","event","newKey","handlers","textSize","widths","label","max","size","center","restRootProps","textWidth","computeTextWidth","radiansCount","onRadianClick","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","style","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","renderRadian","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","xEnd","yEnd","color","stroke","radius","isActive","icon","labelAngle","isHorizontal","angle","getRadianKey","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","SRadian","children","_child","mergedProps","describeValueEntity","InteractiveArea","RadialTree","Radian","SRadianList","SInteractiveArea","Line","SLine","Cap","SCap","Icon","SIcon","tag","Label","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","cn","className","lineText","lineIndex","Title","STitle","setTitle"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, CProps, ReturnEl } from '@semcore/core';\n// @ts-ignore\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/radial-tree.shadow.css';\nimport { shade } from '@semcore/utils/lib/color';\nimport { measureText } from './utils';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { DataHintsHandler } from './a11y/hints';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\nexport interface IRadialTreeProps {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highligted with inreased cap size.\n */\n activeKey?: string | null;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n}\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n labelMargin: number;\n angleOffset: number;\n $rootProps: RootAsProps;\n dataHintsHandler: DataHintsHandler;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 5,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`);\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`);\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`);\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`);\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const cx = node.cx?.baseVal?.value;\n const cy = node.cy?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: { cx, cy },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy);\n circlesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('cx', (_, index) => attrs[index].to?.cx)\n .attr('cy', (_, index) => attrs[index].to?.cy);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const x = node.x?.baseVal?.value;\n const y = node.y?.baseVal?.value;\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x,\n y,\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x)\n .attr('y', (_, index) => attrs[index].from?.y);\n iconsAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x)\n .attr('y', (_, index) => attrs[index].to?.y);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n const x2 = node.x2?.baseVal?.value;\n const y2 = node.y2?.baseVal?.value;\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2,\n y2,\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n .attr('x2', (_, index) => attrs[index].from?.x2)\n .attr('y2', (_, index) => attrs[index].from?.y2);\n linesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2)\n .attr('y2', (_, index) => attrs[index].to?.y2);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data?.length !== this.asProps.data?.length) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render=\"g\">\n <Children />\n </SRadialTree>,\n );\n }\n}\n\nexport interface IRadialTreeRadianProps extends IRadialTreeProps {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n}\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n radius: capSize,\n color,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const iconColor = data.iconColor ?? this.asProps.iconColor;\n const iconSize = data.iconSize ?? this.asProps.iconSize;\n const icon = data.icon ?? this.asProps.icon;\n\n return {\n x: xEnd - iconSize! / 2,\n y: yEnd - iconSize! / 2,\n iconSize,\n color: iconColor ?? '#fff',\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data,\n index,\n );\n const { uid, textSize } = this.asProps;\n const { label } = data;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n isHorizontal,\n textSize,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n this.asProps.dataHintsHandler.describeValueEntity(`${index}.${data.label}`, data.label);\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian aria-hidden key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\nexport interface IRadialTreeRadianInteractiveAreaProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n}\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke=\"transparent\" render=\"line\" />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLineProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({ Element: SLine, styles, stroke }) => {\n return sstyled(styles)(<SLine render=\"line\" stroke={stroke} />) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianCapProps {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n}) => {\n return sstyled(styles)(\n <SCap render=\"circle\" cx={x} cy={y} r={radius} fill={color} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianIconProps {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n tag?: React.FC;\n isActive?: boolean;\n}\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLabelProps {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n}\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n color,\n 'color-hovered': shade(color, -0.12),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n });\n\n return (\n <SLabel\n aria-hidden\n render=\"text\"\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\nexport interface IRadialTreeTitleProps {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n}\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n dataHintsHandler: DataHintsHandler;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render=\"text\"\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n fontSize={textSize}\n fill={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as (<T>(\n props: CProps<IRadialTreeProps & T>,\n) => ReturnEl) & {\n Title: <T>(props: CProps<IRadialTreeTitleProps & T>) => ReturnEl;\n Radian: (<T>(props: CProps<IRadialTreeRadianProps & T>) => ReturnEl) & {\n Line: <T>(props: CProps<IRadialTreeRadianLineProps & T>) => ReturnEl;\n Cap: <T>(props: CProps<IRadialTreeRadianCapProps & T>) => ReturnEl;\n Icon: <T>(props: CProps<IRadialTreeRadianIconProps & T>) => ReturnEl;\n Label: <T>(props: CProps<IRadialTreeRadianLabelProps & T>) => ReturnEl;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RadialTree.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","shade","assignProps","getOriginChildren","createElement","measureText","baseAngle","Math","PI","RadialTreeBase","props","handleRadianClick","bind","activeKey","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","cx","baseVal","value","cy","radianIndex","parseInt","dataset","lineNode","from","x1","y1","to","attr","_","index","x","y","width","height","x2","y2","prevProps","$rootProps","data","runAppearAnimation","key","event","newKey","handlers","textSize","widths","label","max","size","center","restRootProps","textWidth","computeTextWidth","radiansCount","onRadianClick","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","style","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","renderRadian","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","xEnd","yEnd","color","stroke","radius","isActive","icon","labelAngle","isHorizontal","angle","getRadianKey","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","SRadian","children","_child","mergedProps","describeValueEntity","InteractiveArea","RadialTree","Radian","SRadianList","SInteractiveArea","Line","SLine","Cap","SCap","Icon","SIcon","tag","Label","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","cn","className","lineText","lineIndex","Title","STitle","setTitle"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, CProps, ReturnEl } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { shade } from '@semcore/utils/lib/color';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport { measureText } from './utils';\nimport { DataHintsHandler } from './a11y/hints';\n\nimport style from './style/radial-tree.shadow.css';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\nexport interface IRadialTreeProps {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highligted with inreased cap size.\n */\n activeKey?: string | null;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n}\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n labelMargin: number;\n angleOffset: number;\n $rootProps: RootAsProps;\n dataHintsHandler: DataHintsHandler;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 5,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`);\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`);\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`);\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`);\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const cx = node.cx?.baseVal?.value;\n const cy = node.cy?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: { cx, cy },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy);\n circlesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('cx', (_, index) => attrs[index].to?.cx)\n .attr('cy', (_, index) => attrs[index].to?.cy);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const x = node.x?.baseVal?.value;\n const y = node.y?.baseVal?.value;\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x,\n y,\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x)\n .attr('y', (_, index) => attrs[index].from?.y);\n iconsAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x)\n .attr('y', (_, index) => attrs[index].to?.y);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n const x2 = node.x2?.baseVal?.value;\n const y2 = node.y2?.baseVal?.value;\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2,\n y2,\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n .attr('x2', (_, index) => attrs[index].from?.x2)\n .attr('y2', (_, index) => attrs[index].from?.y2);\n linesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2)\n .attr('y2', (_, index) => attrs[index].to?.y2);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data?.length !== this.asProps.data?.length) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render=\"g\">\n <Children />\n </SRadialTree>,\n );\n }\n}\n\nexport interface IRadialTreeRadianProps extends IRadialTreeProps {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n}\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n radius: capSize,\n color,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const iconColor = data.iconColor ?? this.asProps.iconColor;\n const iconSize = data.iconSize ?? this.asProps.iconSize;\n const icon = data.icon ?? this.asProps.icon;\n\n return {\n x: xEnd - iconSize! / 2,\n y: yEnd - iconSize! / 2,\n iconSize,\n color: iconColor ?? '#fff',\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data,\n index,\n );\n const { uid, textSize } = this.asProps;\n const { label } = data;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n isHorizontal,\n textSize,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n this.asProps.dataHintsHandler.describeValueEntity(`${index}.${data.label}`, data.label);\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian aria-hidden key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\nexport interface IRadialTreeRadianInteractiveAreaProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n}\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke=\"transparent\" render=\"line\" />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLineProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({ Element: SLine, styles, stroke }) => {\n return sstyled(styles)(<SLine render=\"line\" stroke={stroke} />) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianCapProps {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n}) => {\n return sstyled(styles)(\n <SCap render=\"circle\" cx={x} cy={y} r={radius} fill={color} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianIconProps {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n tag?: React.FC;\n isActive?: boolean;\n}\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLabelProps {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n}\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n color,\n 'color-hovered': shade(color, -0.12),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n });\n\n return (\n <SLabel\n aria-hidden\n render=\"text\"\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\nexport interface IRadialTreeTitleProps {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n}\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n dataHintsHandler: DataHintsHandler;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render=\"text\"\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n fontSize={textSize}\n fill={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as (<T>(\n props: CProps<IRadialTreeProps & T>,\n) => ReturnEl) & {\n Title: <T>(props: CProps<IRadialTreeTitleProps & T>) => ReturnEl;\n Radian: (<T>(props: CProps<IRadialTreeRadianProps & T>) => ReturnEl) & {\n Line: <T>(props: CProps<IRadialTreeRadianLineProps & T>) => ReturnEl;\n Cap: <T>(props: CProps<IRadialTreeRadianCapProps & T>) => ReturnEl;\n Icon: <T>(props: CProps<IRadialTreeRadianIconProps & T>) => ReturnEl;\n Label: <T>(props: CProps<IRadialTreeRadianLabelProps & T>) => ReturnEl;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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"}
|
package/lib/es6/ReferenceLine.js
CHANGED
|
@@ -25,19 +25,19 @@ var style = (
|
|
|
25
25
|
/*__reshadow_css_start__*/
|
|
26
26
|
_sstyled.insert(
|
|
27
27
|
/*__inner_css_start__*/
|
|
28
|
-
".
|
|
28
|
+
".___SReferenceLine_qdqgh_gg_{fill:none;stroke:#a9abb6}.___STitle_qdqgh_gg_{font-size:12px;fill:#6c6e79;transform-origin:var(--transform-origin_qdqgh)}.___STitle_qdqgh_gg_._position_top_qdqgh_gg_{text-anchor:middle}.___STitle_qdqgh_gg_._position_bottom_qdqgh_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_qdqgh_gg_._position_right_qdqgh_gg_{transform:rotate(-90deg);alignment-baseline:middle;text-anchor:middle}.___STitle_qdqgh_gg_._position_left_qdqgh_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_qdqgh_gg_{fill:rgba(196,199,207,.2)}"
|
|
29
29
|
/*__inner_css_end__*/
|
|
30
|
-
, "
|
|
30
|
+
, "qdqgh_gg_")
|
|
31
31
|
/*__reshadow_css_end__*/
|
|
32
32
|
, {
|
|
33
|
-
"__SReferenceLine": "
|
|
34
|
-
"__STitle": "
|
|
35
|
-
"--transform-origin": "--transform-
|
|
36
|
-
"_position_top": "
|
|
37
|
-
"_position_bottom": "
|
|
38
|
-
"_position_right": "
|
|
39
|
-
"_position_left": "
|
|
40
|
-
"__SBackground": "
|
|
33
|
+
"__SReferenceLine": "___SReferenceLine_qdqgh_gg_",
|
|
34
|
+
"__STitle": "___STitle_qdqgh_gg_",
|
|
35
|
+
"--transform-origin": "--transform-origin_qdqgh",
|
|
36
|
+
"_position_top": "_position_top_qdqgh_gg_",
|
|
37
|
+
"_position_bottom": "_position_bottom_qdqgh_gg_",
|
|
38
|
+
"_position_right": "_position_right_qdqgh_gg_",
|
|
39
|
+
"_position_left": "_position_left_qdqgh_gg_",
|
|
40
|
+
"__SBackground": "___SBackground_qdqgh_gg_"
|
|
41
41
|
});
|
|
42
42
|
var MAP_ORIENTATION = {
|
|
43
43
|
left: 'vertical',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsiveContainer.js","names":["React","ResizeObserver","createComponent","Component","Root","sstyled","Box","trottle","fire","getOriginChildren","ResponsiveContainerRoot","props","createRef","entries","asProps","Children","aspect","$container","width","clientWidth","height","clientHeight","style","window","getComputedStyle","minHeight","Number","parseInt","getPropertyValue","maxHeight","size","forceUpdate","observer","handleResize","containerRef","current","observe","disconnect","SResponsiveContainer","styles","ResponsiveContainer"],"sources":["../../src/ResponsiveContainer.jsx"],"sourcesContent":["import React from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\
|
|
1
|
+
{"version":3,"file":"ResponsiveContainer.js","names":["React","ResizeObserver","createComponent","Component","Root","sstyled","Box","trottle","fire","getOriginChildren","ResponsiveContainerRoot","props","createRef","entries","asProps","Children","aspect","$container","width","clientWidth","height","clientHeight","style","window","getComputedStyle","minHeight","Number","parseInt","getPropertyValue","maxHeight","size","forceUpdate","observer","handleResize","containerRef","current","observe","disconnect","SResponsiveContainer","styles","ResponsiveContainer"],"sources":["../../src/ResponsiveContainer.jsx"],"sourcesContent":["import React from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport fire from '@semcore/utils/lib/fire';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\n\nclass ResponsiveContainerRoot extends Component {\n static displayName = 'ResponsiveContainer';\n\n containerRef = React.createRef();\n size = [0, 0];\n\n constructor(props) {\n super(props);\n this.observer = new ResizeObserver(this.handleResize);\n }\n\n get $container() {\n return this.containerRef.current;\n }\n\n handleResize = trottle((entries) => {\n const { Children, aspect } = this.asProps;\n\n if (!this.$container) return;\n\n let { clientWidth: width, clientHeight: height } = this.$container;\n\n if (aspect) {\n const style = window.getComputedStyle(this.$container);\n const minHeight = Number.parseInt(style.getPropertyValue('min-height'));\n const maxHeight = Number.parseInt(style.getPropertyValue('max-height'));\n height = width * aspect;\n\n if (height < minHeight) {\n height = minHeight;\n }\n if (height > maxHeight) {\n height = maxHeight;\n }\n }\n\n if (this.size[0] === width && this.size[1] === height) return;\n\n this.size = [width, height];\n\n fire(this, 'onResize', this.size, entries);\n\n if (typeof getOriginChildren(Children) === 'function') {\n this.forceUpdate();\n }\n });\n\n setContext() {\n const [width, height] = this.size;\n return {\n width,\n height,\n };\n }\n\n componentDidMount() {\n if (this.$container) {\n // TODO: may be we can increase perfomance here? (by lsroman)\n this.observer.observe(this.$container);\n }\n }\n\n // TODO component did update ref?\n\n componentWillUnmount() {\n this.observer.disconnect();\n }\n\n render() {\n const SResponsiveContainer = Root;\n const { styles } = this.asProps;\n return sstyled(styles)(<SResponsiveContainer render={Box} ref={this.containerRef} />);\n }\n}\n\nconst ResponsiveContainer = createComponent(ResponsiveContainerRoot);\n\nexport default ResponsiveContainer;\n"],"mappings":"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"}
|
package/lib/es6/ScatterPlot.js
CHANGED
|
@@ -17,30 +17,30 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
17
17
|
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; } }
|
|
18
18
|
|
|
19
19
|
import React from 'react';
|
|
20
|
+
import { transition } from 'd3-transition';
|
|
20
21
|
import { Component, sstyled } from '@semcore/core';
|
|
21
22
|
import canUseDOM from '@semcore/utils/lib/canUseDOM';
|
|
22
|
-
import { CONSTANT } from './utils';
|
|
23
|
-
import createElement from './createElement';
|
|
24
23
|
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
25
|
-
import
|
|
24
|
+
import createElement from './createElement';
|
|
25
|
+
import { CONSTANT } from './utils';
|
|
26
|
+
import ClipPath from './ClipPath';
|
|
26
27
|
|
|
27
28
|
/*__reshadow-styles__:"./style/scatterplot.shadow.css"*/
|
|
28
29
|
var style = (
|
|
29
30
|
/*__reshadow_css_start__*/
|
|
30
31
|
_sstyled.insert(
|
|
31
32
|
/*__inner_css_start__*/
|
|
32
|
-
".
|
|
33
|
+
".___SScatterPlot_7lqcg_gg_{fill:#2bb3ff;transition-property:cx,cy;transition-duration:var(--duration_7lqcg);transition-timing-function:ease-in-out;opacity:.5}.___SScatterPlot_7lqcg_gg_:hover{opacity:.8}.___SScatterPlot_7lqcg_gg_.__color_7lqcg_gg_{fill:var(--color_7lqcg)}.___SValue_7lqcg_gg_{text-anchor:middle;font-size:10px;stroke:#008ff8}.___SValue_7lqcg_gg_.__color_7lqcg_gg_{stroke:var(--color_7lqcg)}"
|
|
33
34
|
/*__inner_css_end__*/
|
|
34
|
-
, "
|
|
35
|
+
, "7lqcg_gg_")
|
|
35
36
|
/*__reshadow_css_end__*/
|
|
36
37
|
, {
|
|
37
|
-
"__SScatterPlot": "
|
|
38
|
-
"--duration": "--
|
|
39
|
-
"_color": "
|
|
40
|
-
"--color": "--
|
|
41
|
-
"__SValue": "
|
|
38
|
+
"__SScatterPlot": "___SScatterPlot_7lqcg_gg_",
|
|
39
|
+
"--duration": "--duration_7lqcg",
|
|
40
|
+
"_color": "__color_7lqcg_gg_",
|
|
41
|
+
"--color": "--color_7lqcg",
|
|
42
|
+
"__SValue": "___SValue_7lqcg_gg_"
|
|
42
43
|
});
|
|
43
|
-
import ClipPath from './ClipPath';
|
|
44
44
|
|
|
45
45
|
var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
46
46
|
_inherits(ScatterPlotRoot, _Component);
|