@semcore/d3-chart 2.17.2 → 2.17.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 +9 -3
- package/lib/cjs/Area.js +14 -14
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +23 -22
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +12 -12
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +13 -13
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +2 -2
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +45 -43
- 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.map +1 -1
- package/lib/cjs/HorizontalBar.js +12 -12
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +7 -7
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +12 -12
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +8 -8
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/Radar.js +46 -45
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +30 -29
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +14 -14
- package/lib/cjs/ReferenceLine.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +9 -9
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js.map +1 -1
- 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 +8 -8
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +4 -5
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +6 -6
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
- package/lib/cjs/a11y/focus.js +0 -3
- package/lib/cjs/a11y/focus.js.map +1 -1
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/insights.js +1 -1
- package/lib/cjs/a11y/insights.js.map +1 -1
- package/lib/cjs/a11y/intl.js +2 -4
- package/lib/cjs/a11y/intl.js.map +1 -1
- package/lib/cjs/a11y/locale.js +0 -1
- package/lib/cjs/a11y/locale.js.map +1 -1
- package/lib/cjs/createElement.js +1 -2
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js +17 -18
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +14 -14
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +23 -22
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +12 -12
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +13 -13
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +2 -2
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +46 -44
- 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.map +1 -1
- package/lib/es6/HorizontalBar.js +12 -12
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +7 -7
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +12 -12
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +8 -8
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/Radar.js +46 -45
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +30 -29
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +14 -14
- package/lib/es6/ReferenceLine.js.map +1 -1
- package/lib/es6/ScatterPlot.js +9 -9
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js.map +1 -1
- 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 +8 -8
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +4 -5
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +6 -6
- package/lib/es6/a11y/PlotA11yView.js.map +1 -1
- package/lib/es6/a11y/focus.js +0 -3
- package/lib/es6/a11y/focus.js.map +1 -1
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/insights.js +1 -1
- package/lib/es6/a11y/insights.js.map +1 -1
- package/lib/es6/a11y/intl.js +2 -4
- package/lib/es6/a11y/intl.js.map +1 -1
- package/lib/es6/a11y/locale.js +0 -1
- package/lib/es6/a11y/locale.js.map +1 -1
- package/lib/es6/createElement.js +1 -2
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/types/index.d.js +1 -2
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js +17 -18
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/index.d.ts +2 -2
- package/package.json +1 -1
package/lib/es6/Bubble.js
CHANGED
|
@@ -18,16 +18,16 @@ import createElement from './createElement';
|
|
|
18
18
|
import ClipPath from './ClipPath';
|
|
19
19
|
import { CONSTANT, measureText } from './utils';
|
|
20
20
|
/*__reshadow-styles__:"./style/bubble.shadow.css"*/
|
|
21
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
22
|
-
"__SBubble": "
|
|
23
|
-
"--duration": "--
|
|
24
|
-
"_color": "
|
|
25
|
-
"--color": "--
|
|
26
|
-
"_transparent": "
|
|
27
|
-
"__SCenter": "
|
|
28
|
-
"__SLabel": "
|
|
29
|
-
"_position_right": "
|
|
30
|
-
"_position_left": "
|
|
21
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBubble_1hemx_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_1hemx);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_1hemx_gg_:hover{opacity:.8}}.___SBubble_1hemx_gg_.__color_1hemx_gg_{fill:var(--color_1hemx)}.___SBubble_1hemx_gg_.__transparent_1hemx_gg_{opacity:.3}.___SCenter_1hemx_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_1hemx_gg_.__color_1hemx_gg_{stroke:var(--color_1hemx)}.___SCenter_1hemx_gg_.__transparent_1hemx_gg_{opacity:.3}.___SLabel_1hemx_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_1hemx_gg_._position_right_1hemx_gg_{text-anchor:end}.___SLabel_1hemx_gg_._position_left_1hemx_gg_{text-anchor:start}.___SLabel_1hemx_gg_.__color_1hemx_gg_{fill:var(--color_1hemx)}.___SLabel_1hemx_gg_.__transparent_1hemx_gg_{opacity:.3}" /*__inner_css_end__*/, "1hemx_gg_") /*__reshadow_css_end__*/, {
|
|
22
|
+
"__SBubble": "___SBubble_1hemx_gg_",
|
|
23
|
+
"--duration": "--duration_1hemx",
|
|
24
|
+
"_color": "__color_1hemx_gg_",
|
|
25
|
+
"--color": "--color_1hemx",
|
|
26
|
+
"_transparent": "__transparent_1hemx_gg_",
|
|
27
|
+
"__SCenter": "___SCenter_1hemx_gg_",
|
|
28
|
+
"__SLabel": "___SLabel_1hemx_gg_",
|
|
29
|
+
"_position_right": "_position_right_1hemx_gg_",
|
|
30
|
+
"_position_left": "_position_left_1hemx_gg_"
|
|
31
31
|
});
|
|
32
32
|
var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
33
33
|
_inherits(BubbleRoot, _Component);
|
|
@@ -143,7 +143,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
143
143
|
"aria-hidden": true,
|
|
144
144
|
"x": xScale(d[x]) + offset[0],
|
|
145
145
|
"y": yScale(d[y]) + offset[1],
|
|
146
|
-
"dy":
|
|
146
|
+
"dy": '.3em',
|
|
147
147
|
"clipPath": "url(#".concat(uid, ")"),
|
|
148
148
|
"color": (_d$color = d[color]) !== null && _d$color !== void 0 ? _d$color : color,
|
|
149
149
|
"transparent": transparent
|
|
@@ -151,7 +151,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
151
151
|
"aria-hidden": true,
|
|
152
152
|
"id": "".concat(uid).concat(uid),
|
|
153
153
|
"index": i,
|
|
154
|
-
"render":
|
|
154
|
+
"render": 'circle',
|
|
155
155
|
"clipPath": "url(#".concat(uid, ")"),
|
|
156
156
|
"cx": xScale(d[x]) + offset[0],
|
|
157
157
|
"cy": yScale(d[y]) + offset[1],
|
|
@@ -163,7 +163,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
163
163
|
"aria-hidden": true,
|
|
164
164
|
"x": labelDistance,
|
|
165
165
|
"y": yScale(d[y]) + offset[1],
|
|
166
|
-
"dy":
|
|
166
|
+
"dy": '.3em',
|
|
167
167
|
"clipPath": "url(#".concat(uid, ")"),
|
|
168
168
|
"position": labelPosition,
|
|
169
169
|
"color": d[color],
|
package/lib/es6/Bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","sstyled","canUseDOM","uniqueIDEnhancement","createElement","ClipPath","CONSTANT","measureText","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_createClass","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","domain","Math","max","_toConsumableArray","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","cn","bindHandlerTooltip","_objectSpread","xIndex","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","Bubble"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { CONSTANT, measureText } from './utils';\n\nimport style from './style/bubble.shadow.css';\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 =\n (visible, props) =>\n ({ 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 transparent,\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 aria-hidden\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 transparent={transparent}\n >\n +\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\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 transparent={transparent}\n />\n {d[label] && (\n <SLabel\n aria-hidden\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 transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","sstyled","canUseDOM","uniqueIDEnhancement","createElement","ClipPath","CONSTANT","measureText","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_createClass","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","domain","Math","max","_toConsumableArray","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","cn","bindHandlerTooltip","_objectSpread","xIndex","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","Bubble"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { CONSTANT, measureText } from './utils';\n\nimport style from './style/bubble.shadow.css';\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 transparent,\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 aria-hidden\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 transparent={transparent}\n >\n +\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\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 transparent={transparent}\n />\n {d[label] && (\n <SLabel\n aria-hidden\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 transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"mappings":"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"}
|
package/lib/es6/ClipPath.js
CHANGED
|
@@ -42,7 +42,8 @@ var ClipPath = /*#__PURE__*/function (_Component) {
|
|
|
42
42
|
if (!document || !id || !document.querySelector("#".concat(id))) return;
|
|
43
43
|
var svg = document.querySelector("#".concat(id)).closest('svg');
|
|
44
44
|
Array.from(svg.querySelectorAll("[clip-path=\"url(#".concat(id, ")\"]"))).forEach(function (node) {
|
|
45
|
-
|
|
45
|
+
var _node$getTotalLength;
|
|
46
|
+
node === null || node === void 0 ? void 0 : (_node$getTotalLength = node.getTotalLength) === null || _node$getTotalLength === void 0 ? void 0 : _node$getTotalLength.call(node);
|
|
46
47
|
});
|
|
47
48
|
this.setAttributeTag();
|
|
48
49
|
}
|
|
@@ -54,7 +55,6 @@ var ClipPath = /*#__PURE__*/function (_Component) {
|
|
|
54
55
|
}, {
|
|
55
56
|
key: "render",
|
|
56
57
|
value: function render() {
|
|
57
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
58
58
|
var _this$asProps2 = this.asProps,
|
|
59
59
|
id = _this$asProps2.id,
|
|
60
60
|
transition = _this$asProps2.transition,
|
package/lib/es6/ClipPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipPath.js","names":["React","createComponent","Component","propsForElement","ClipPath","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","_createClass","key","value","setAttributeTag","_this$asProps","asProps","id","tag","from","document","querySelectorAll","forEach","componentDidMount","querySelector","svg","closest","node","getTotalLength","componentDidUpdate","render","_this$asProps2","transition","Tag","style","className","other","_objectWithoutProperties","_excluded","createElement","ref","refClipPath","_extends","_objectSpread"],"sources":["../../src/ClipPath.jsx"],"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
|
|
1
|
+
{"version":3,"file":"ClipPath.js","names":["React","createComponent","Component","propsForElement","ClipPath","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","_createClass","key","value","setAttributeTag","_this$asProps","asProps","id","tag","from","document","querySelectorAll","forEach","componentDidMount","querySelector","svg","closest","node","_node$getTotalLength","getTotalLength","componentDidUpdate","render","_this$asProps2","transition","Tag","style","className","other","_objectWithoutProperties","_excluded","createElement","ref","refClipPath","_extends","_objectSpread"],"sources":["../../src/ClipPath.jsx"],"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?.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 aria-hidden ref={this.refClipPath} id={id}>\n <Tag style={{ ...style, transition }} {...propsForElement(other, Tag)} />\n </clipPath>\n );\n }\n}\n\nexport default createComponent(ClipPath);\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,IAAIC,SAAS,QAAQ,eAAe;AAC1D,OAAOC,eAAe,MAAM,oCAAoC;AAAC,IAE3DC,QAAQ,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,QAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,QAAA;EAAA,SAAAA,SAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,QAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,+BAQET,KAAK,CAACsB,SAAS,EAAE;IAAA,OAAAb,KAAA;EAAA;EAAAc,YAAA,CAAAnB,QAAA;IAAAoB,GAAA;IAAAC,KAAA,EAE/B,SAAAC,gBAAA,EAAkB;MAChB,IAAAC,aAAA,GAAqC,IAAI,CAACC,OAAO;QAAzCC,EAAE,GAAAF,aAAA,CAAFE,EAAE;QAAEC,GAAG,GAAAH,aAAA,CAAHG,GAAG;QAAEJ,eAAe,GAAAC,aAAA,CAAfD,eAAe;MAChC,IAAIA,eAAe,EAAE;QACnBX,KAAK,CAACgB,IAAI,CAACC,QAAQ,CAACC,gBAAgB,KAAAd,MAAA,CAAKU,EAAE,OAAAV,MAAA,CAAIW,GAAG,EAAG,CAAC,CAACI,OAAO,CAACR,eAAe,CAAC;MACjF;IACF;EAAC;IAAAF,GAAA;IAAAC,KAAA,EAED,SAAAU,kBAAA,EAAoB;MAClB,IAAQN,EAAE,GAAK,IAAI,CAACD,OAAO,CAAnBC,EAAE;MACV,IAAI,CAACG,QAAQ,IAAI,CAACH,EAAE,IAAI,CAACG,QAAQ,CAACI,aAAa,KAAAjB,MAAA,CAAKU,EAAE,EAAG,EAAE;MAC3D,IAAMQ,GAAG,GAAGL,QAAQ,CAACI,aAAa,KAAAjB,MAAA,CAAKU,EAAE,EAAG,CAACS,OAAO,CAAC,KAAK,CAAC;MAC3DvB,KAAK,CAACgB,IAAI,CAACM,GAAG,CAACJ,gBAAgB,sBAAAd,MAAA,CAAqBU,EAAE,UAAM,CAAC,CAACK,OAAO,CAAC,UAACK,IAAI,EAAK;QAAA,IAAAC,oBAAA;QAC9ED,IAAI,aAAJA,IAAI,wBAAAC,oBAAA,GAAJD,IAAI,CAAEE,cAAc,cAAAD,oBAAA,uBAApBA,oBAAA,CAAAvB,IAAA,CAAAsB,IAAI,CAAoB;MAC1B,CAAC,CAAC;MACF,IAAI,CAACb,eAAe,EAAE;IACxB;EAAC;IAAAF,GAAA;IAAAC,KAAA,EAED,SAAAiB,mBAAA,EAAqB;MACnB,IAAI,CAAChB,eAAe,EAAE;IACxB;EAAC;IAAAF,GAAA;IAAAC,KAAA,EAED,SAAAkB,OAAA,EAAS;MACP,IAAAC,cAAA,GAAiE,IAAI,CAAChB,OAAO;QAArEC,EAAE,GAAAe,cAAA,CAAFf,EAAE;QAAEgB,UAAU,GAAAD,cAAA,CAAVC,UAAU;QAAOC,GAAG,GAAAF,cAAA,CAARd,GAAG;QAAOiB,KAAK,GAAAH,cAAA,CAALG,KAAK;QAAEC,SAAS,GAAAJ,cAAA,CAATI,SAAS;QAAKC,KAAK,GAAAC,wBAAA,CAAAN,cAAA,EAAAO,SAAA;MAC5D,oBACEnD,KAAA,CAAAoD,aAAA;QAAU,mBAAW;QAACC,GAAG,EAAE,IAAI,CAACC,WAAY;QAACzB,EAAE,EAAEA;MAAG,gBAClD7B,KAAA,CAAAoD,aAAA,CAACN,GAAG,EAAAS,QAAA;QAACR,KAAK,EAAAS,aAAA,CAAAA,aAAA,KAAOT,KAAK;UAAEF,UAAU,EAAVA;QAAU;MAAG,GAAK1C,eAAe,CAAC8C,KAAK,EAAEH,GAAG,CAAC,EAAI,CAChE;IAEf;EAAC;EAAA,OAAA1C,QAAA;AAAA,EAtCoBF,SAAS;AAAAkB,eAAA,CAA1BhB,QAAQ,kBACU;EACpB0B,GAAG,EAAE,MAAM;EACXD,EAAE,EAAE,EAAE;EACNgB,UAAU,EAAE,EAAE;EACdnB,eAAe,EAAE;AACnB,CAAC;AAmCH,eAAezB,eAAe,CAACG,QAAQ,CAAC"}
|
package/lib/es6/Donut.js
CHANGED
|
@@ -8,7 +8,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
8
8
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
9
9
|
import { sstyled as _sstyled } from "@semcore/core";
|
|
10
10
|
var _excluded = ["Element", "styles", "d3Arc", "data", "color", "$animationActivePie", "active", "d3ArcOut", "name", "dataKey", "dataHintsHandler", "transparent"];
|
|
11
|
-
import React, { useEffect, useState } from 'react';
|
|
11
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
12
12
|
import { arc, pie } from 'd3-shape';
|
|
13
13
|
import { interpolate } from 'd3-interpolate';
|
|
14
14
|
import { transition } from 'd3-transition';
|
|
@@ -19,13 +19,13 @@ import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
|
19
19
|
import createElement from './createElement';
|
|
20
20
|
import { CONSTANT } from './utils';
|
|
21
21
|
/*__reshadow-styles__:"./style/donut.shadow.css"*/
|
|
22
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
23
|
-
"__SPie": "
|
|
24
|
-
"_color": "
|
|
25
|
-
"--color": "--
|
|
26
|
-
"_transparent": "
|
|
27
|
-
"__SEmptyData": "
|
|
28
|
-
"__SLabel": "
|
|
22
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPie_1b4fv_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_1b4fv_gg_.__color_1b4fv_gg_{fill:var(--color_1b4fv)}.___SPie_1b4fv_gg_.__transparent_1b4fv_gg_{opacity:.3}.___SEmptyData_1b4fv_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_1b4fv_gg_.__color_1b4fv_gg_{fill:var(--color_1b4fv)}.___SLabel_1b4fv_gg_{text-anchor:middle;vertical-anchor:middle}" /*__inner_css_end__*/, "1b4fv_gg_") /*__reshadow_css_end__*/, {
|
|
23
|
+
"__SPie": "___SPie_1b4fv_gg_",
|
|
24
|
+
"_color": "__color_1b4fv_gg_",
|
|
25
|
+
"--color": "--color_1b4fv",
|
|
26
|
+
"_transparent": "__transparent_1b4fv_gg_",
|
|
27
|
+
"__SEmptyData": "___SEmptyData_1b4fv_gg_",
|
|
28
|
+
"__SLabel": "___SLabel_1b4fv_gg_"
|
|
29
29
|
});
|
|
30
30
|
var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
31
31
|
function transitionAnglePie(_ref4) {
|
|
@@ -62,16 +62,19 @@ function transitionAnglePie(_ref4) {
|
|
|
62
62
|
function transitionRadiusPie(_ref5) {
|
|
63
63
|
var data = _ref5.data,
|
|
64
64
|
selector = _ref5.selector,
|
|
65
|
+
element = _ref5.element,
|
|
65
66
|
duration = _ref5.duration,
|
|
66
67
|
innerRadius = _ref5.innerRadius,
|
|
67
|
-
|
|
68
|
+
outerRadiusStartEnd = _ref5.outerRadiusStartEnd;
|
|
68
69
|
return transition().selection().select(selector).interrupt().transition().duration(duration).attrTween('d', function () {
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
var iOuterRadius = interpolate(
|
|
70
|
+
var _outerRadiusStartEnd = _slicedToArray(outerRadiusStartEnd, 2),
|
|
71
|
+
start = _outerRadiusStartEnd[0],
|
|
72
|
+
end = _outerRadiusStartEnd[1];
|
|
73
|
+
var iOuterRadius = interpolate(start, end);
|
|
73
74
|
return function (t) {
|
|
74
|
-
var
|
|
75
|
+
var outerRadiusPX = iOuterRadius(t);
|
|
76
|
+
element.dataset['currentRadius'] = outerRadiusPX;
|
|
77
|
+
var d3ArcOut = arc().innerRadius(innerRadius).outerRadius(outerRadiusPX);
|
|
75
78
|
return d3ArcOut(data);
|
|
76
79
|
};
|
|
77
80
|
});
|
|
@@ -79,13 +82,12 @@ function transitionRadiusPie(_ref5) {
|
|
|
79
82
|
var increaseFactor = 8;
|
|
80
83
|
function getOuterRadius(_ref6) {
|
|
81
84
|
var size = _ref6.size,
|
|
82
|
-
halfsize = _ref6.halfsize
|
|
83
|
-
outerRadius = _ref6.outerRadius;
|
|
85
|
+
halfsize = _ref6.halfsize;
|
|
84
86
|
var _size = _slicedToArray(size, 2),
|
|
85
87
|
width = _size[0],
|
|
86
88
|
height = _size[1];
|
|
87
89
|
var minORmax = halfsize ? Math.max : Math.min;
|
|
88
|
-
return
|
|
90
|
+
return minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;
|
|
89
91
|
}
|
|
90
92
|
var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
91
93
|
_inherits(DonutRoot, _Component);
|
|
@@ -113,28 +115,22 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
113
115
|
_defineProperty(_assertThisInitialized(_this), "animationActivePie", function (_ref8) {
|
|
114
116
|
var data = _ref8.data,
|
|
115
117
|
active = _ref8.active,
|
|
116
|
-
selector = _ref8.selector
|
|
118
|
+
selector = _ref8.selector,
|
|
119
|
+
element = _ref8.element;
|
|
117
120
|
var _this$asProps = _this.asProps,
|
|
118
121
|
duration = _this$asProps.duration,
|
|
119
122
|
innerRadius = _this$asProps.innerRadius,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
data: data,
|
|
132
|
-
selector: "#".concat(_this.id, " ").concat(selector),
|
|
133
|
-
duration: duration === 0 ? 0 : 300,
|
|
134
|
-
innerRadius: innerRadius,
|
|
135
|
-
outerRadiusMinMax: active ? [outerRadius, outerRadius + increaseFactor] : [outerRadius + increaseFactor, outerRadius]
|
|
136
|
-
});
|
|
137
|
-
}
|
|
123
|
+
d3Arc = _this$asProps.d3Arc;
|
|
124
|
+
var outerRadius = d3Arc.outerRadius()();
|
|
125
|
+
if (_this.canAnimatedHover && duration > 0) {
|
|
126
|
+
transitionRadiusPie({
|
|
127
|
+
data: data,
|
|
128
|
+
selector: "#".concat(_this.id, " ").concat(selector),
|
|
129
|
+
element: element,
|
|
130
|
+
duration: duration === 0 ? 0 : 300,
|
|
131
|
+
innerRadius: innerRadius,
|
|
132
|
+
outerRadiusStartEnd: active ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor] : [+element.dataset['currentRadius'] || outerRadius, outerRadius]
|
|
133
|
+
});
|
|
138
134
|
}
|
|
139
135
|
});
|
|
140
136
|
_defineProperty(_assertThisInitialized(_this), "animationUpdatePie", function () {
|
|
@@ -249,7 +245,8 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
249
245
|
_this2.animationActivePie({
|
|
250
246
|
active: true,
|
|
251
247
|
data: data,
|
|
252
|
-
selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]")
|
|
248
|
+
selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]"),
|
|
249
|
+
element: e.target
|
|
253
250
|
});
|
|
254
251
|
}
|
|
255
252
|
},
|
|
@@ -258,7 +255,8 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
258
255
|
_this2.animationActivePie({
|
|
259
256
|
active: false,
|
|
260
257
|
data: data,
|
|
261
|
-
selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]")
|
|
258
|
+
selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]"),
|
|
259
|
+
element: e.target
|
|
262
260
|
});
|
|
263
261
|
}
|
|
264
262
|
}
|
|
@@ -319,16 +317,15 @@ _defineProperty(DonutRoot, "defaultProps", function (_ref18) {
|
|
|
319
317
|
_ref18$halfsize = _ref18.halfsize,
|
|
320
318
|
halfsize = _ref18$halfsize === void 0 ? false : _ref18$halfsize,
|
|
321
319
|
size = _ref18.$rootProps.size;
|
|
322
|
-
var d3Arc = arc().outerRadius(getOuterRadius({
|
|
320
|
+
var d3Arc = arc().outerRadius(outerRadius || getOuterRadius({
|
|
323
321
|
size: size,
|
|
324
322
|
halfsize: halfsize,
|
|
325
323
|
outerRadius: outerRadius
|
|
326
324
|
})).innerRadius(innerRadius);
|
|
327
|
-
var d3ArcOut = arc().outerRadius(getOuterRadius({
|
|
325
|
+
var d3ArcOut = arc().outerRadius((outerRadius || getOuterRadius({
|
|
328
326
|
size: size,
|
|
329
|
-
halfsize: halfsize
|
|
330
|
-
|
|
331
|
-
}) + increaseFactor).innerRadius(innerRadius);
|
|
327
|
+
halfsize: halfsize
|
|
328
|
+
})) + increaseFactor).innerRadius(innerRadius);
|
|
332
329
|
var d3Pie = pie().sort(null).value(function (_ref19) {
|
|
333
330
|
var _ref20 = _slicedToArray(_ref19, 2),
|
|
334
331
|
value = _ref20[1];
|
|
@@ -364,7 +361,10 @@ function Pie(_ref15) {
|
|
|
364
361
|
_useState2 = _slicedToArray(_useState, 2),
|
|
365
362
|
isMount = _useState2[0],
|
|
366
363
|
setIsMount = _useState2[1];
|
|
364
|
+
var pieRef = useRef(null);
|
|
367
365
|
useEffect(function () {
|
|
366
|
+
pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();
|
|
367
|
+
|
|
368
368
|
// do not run animation on first render
|
|
369
369
|
if (!isMount) {
|
|
370
370
|
setIsMount(true);
|
|
@@ -374,7 +374,8 @@ function Pie(_ref15) {
|
|
|
374
374
|
$animationActivePie({
|
|
375
375
|
active: active,
|
|
376
376
|
data: data,
|
|
377
|
-
selector: "[name=\"".concat(other.name, "\"]")
|
|
377
|
+
selector: "[name=\"".concat(other.name, "\"]"),
|
|
378
|
+
element: pieRef.current
|
|
378
379
|
});
|
|
379
380
|
}
|
|
380
381
|
}, [active]);
|
|
@@ -382,6 +383,7 @@ function Pie(_ref15) {
|
|
|
382
383
|
dataHintsHandler.describeValueEntity(dataKey, name);
|
|
383
384
|
return _ref = sstyled(styles), /*#__PURE__*/React.createElement(SPie, _ref.cn("SPie", {
|
|
384
385
|
"render": 'path',
|
|
386
|
+
"ref": pieRef,
|
|
385
387
|
"color": color,
|
|
386
388
|
"d": active ? d3ArcOut(data) : d3Arc(data),
|
|
387
389
|
"transparent": transparent
|
package/lib/es6/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Donut.js","names":["React","useEffect","useState","arc","pie","interpolate","transition","Component","sstyled","canUseDOM","getOriginChildren","uniqueIDEnhancement","createElement","CONSTANT","style","_sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","startAngle","endAngle","iStartAngle","iEndAngle","t","transitionRadiusPie","_ref5","data","innerRadius","outerRadiusMinMax","select","_outerRadiusMinMax","_slicedToArray","min","max","iOuterRadius","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","DonutRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","_outerRadius","canAnimatedHover","id","_this$asProps2","on","_createClass","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","_ref18","_ref18$innerRadius","_ref18$halfsize","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties","_excluded","_useState","_useState2","isMount","setIsMount","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","setTitle"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({ selector, duration, halfsize, d3Arc, d3ArcOut, arcs, activeIndexPie }) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function(_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function(t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({ data, selector, duration, innerRadius, outerRadiusMinMax }) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function() {\n const [min, max] = outerRadiusMinMax;\n const iOuterRadius = interpolate(min, max);\n return function(t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(iOuterRadius(t));\n return d3ArcOut(data);\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);\n\n const d3ArcOut = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }) + increaseFactor)\n .innerRadius(innerRadius);\n\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, d3Arc, d3ArcOut, 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 activeIndexPie = undefined;\n canAnimatedHover = false;\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 const { 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 = 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 animationActivePie = ({ data, active, selector }) => {\n const { duration, innerRadius, outerRadius: _outerRadius, size, halfsize } = this.asProps;\n const outerRadius = getOuterRadius({ size, halfsize, outerRadius: _outerRadius });\n\n if (this.canAnimatedHover) {\n if (duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusMinMax: active ? [outerRadius, outerRadius + increaseFactor] : [outerRadius + increaseFactor, outerRadius],\n });\n }\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true, data, selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false, data, selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\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 } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (<Element\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />);\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n\n useEffect(() => {\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({ active, data, selector: `[name=\"${other.name}\"]` });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(<SPie\n render='path'\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />);\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(<SEmptyData render='path' color={color}\n d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />);\n}\n\nfunction Label({ Element: SLabel, styles, Children, children, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(<SLabel render='text' x='0' y='0' aria-hidden>\n <Children />\n </SLabel>);\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Donut.js","names":["React","useEffect","useRef","useState","arc","pie","interpolate","transition","Component","sstyled","canUseDOM","getOriginChildren","uniqueIDEnhancement","createElement","CONSTANT","style","_sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","startAngle","endAngle","iStartAngle","iEndAngle","t","transitionRadiusPie","_ref5","data","element","innerRadius","outerRadiusStartEnd","select","_outerRadiusStartEnd","_slicedToArray","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","max","min","DonutRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","canAnimatedHover","id","_this$asProps2","on","_createClass","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","_ref18","_ref18$innerRadius","_ref18$halfsize","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties","_excluded","_useState","_useState2","isMount","setIsMount","pieRef","current","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","setTitle"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({\n data,\n selector,\n element,\n duration,\n innerRadius,\n outerRadiusStartEnd,\n}) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [start, end] = outerRadiusStartEnd;\n const iOuterRadius = interpolate(start, end);\n return function (t) {\n const outerRadiusPX = iOuterRadius(t);\n element.dataset['currentRadius'] = outerRadiusPX;\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(outerRadiusPX);\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return 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(outerRadius || getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(innerRadius);\n\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 d3ArcOut,\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 activeIndexPie = undefined;\n canAnimatedHover = false;\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 const { 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 animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n if (this.canAnimatedHover && duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n element,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusStartEnd: active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, outerRadius],\n });\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\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 } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\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 aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n const pieRef = useRef(null);\n\n useEffect(() => {\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({\n active,\n data,\n selector: `[name=\"${other.name}\"]`,\n element: pieRef.current,\n });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SPie\n render='path'\n ref={pieRef}\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />,\n );\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, children, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x='0' y='0' aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"mappings":"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"}
|
package/lib/es6/Dots.js
CHANGED
|
@@ -7,15 +7,15 @@ import trottle from '@semcore/utils/lib/rafTrottle';
|
|
|
7
7
|
import createElement from './createElement';
|
|
8
8
|
import { eventToPoint, invert } from './utils';
|
|
9
9
|
/*__reshadow-styles__:"./style/dot.shadow.css"*/
|
|
10
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
11
|
-
"__SDots": "
|
|
12
|
-
"__SDot": "
|
|
13
|
-
"--duration": "--
|
|
14
|
-
"_hide": "
|
|
15
|
-
"_active": "
|
|
16
|
-
"_color": "
|
|
17
|
-
"--color": "--
|
|
18
|
-
"_transparent": "
|
|
10
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDots_1cya0_gg_ .___SDot_1cya0_gg_{transition-duration:var(--duration_1cya0)}.___SDot_1cya0_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px;fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_1cya0_gg_.__hide_1cya0_gg_{display:none}.___SDot_1cya0_gg_.__active_1cya0_gg_{r:8px}.___SDot_1cya0_gg_.__color_1cya0_gg_{fill:var(--color_1cya0)}.___SDot_1cya0_gg_.__transparent_1cya0_gg_{opacity:.3}" /*__inner_css_end__*/, "1cya0_gg_") /*__reshadow_css_end__*/, {
|
|
11
|
+
"__SDots": "___SDots_1cya0_gg_",
|
|
12
|
+
"__SDot": "___SDot_1cya0_gg_",
|
|
13
|
+
"--duration": "--duration_1cya0",
|
|
14
|
+
"_hide": "__hide_1cya0_gg_",
|
|
15
|
+
"_active": "__active_1cya0_gg_",
|
|
16
|
+
"_color": "__color_1cya0_gg_",
|
|
17
|
+
"--color": "--color_1cya0",
|
|
18
|
+
"_transparent": "__transparent_1cya0_gg_"
|
|
19
19
|
});
|
|
20
20
|
var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
|
|
21
21
|
function Dots(props) {
|
|
@@ -76,8 +76,8 @@ function Dots(props) {
|
|
|
76
76
|
if (!visible) return acc;
|
|
77
77
|
acc.push((_ref = sstyled(styles), /*#__PURE__*/React.createElement(SDot, _ref.cn("SDot", {
|
|
78
78
|
"aria-hidden": true,
|
|
79
|
-
"key": i,
|
|
80
|
-
"render":
|
|
79
|
+
"key": "".concat(i),
|
|
80
|
+
"render": 'circle',
|
|
81
81
|
"visible": visible,
|
|
82
82
|
"__excludeProps": EXCLUDE_PROPS,
|
|
83
83
|
"value": d,
|
package/lib/es6/Dots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dots.js","names":["bisector","React","useCallback","useEffect","useState","sstyled","trottle","createElement","eventToPoint","invert","style","_sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","SDots","bisect","d","center","_useState","_useState2","_slicedToArray","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","_scale","xScale","_eventToPoint","current","_eventToPoint2","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","_ref","isPrev","defined","isNext","active","visible","push","cn","concat"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { eventToPoint, invert } from './utils';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\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 transparent,\n } = props;\n const SDots = 'g';\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, scale, data, x, y]);\n\n const dots = 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 const visible = display || i === activeIndex || (!isPrev && !isNext);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n aria-hidden\n key={i}\n render
|
|
1
|
+
{"version":3,"file":"Dots.js","names":["bisector","React","useCallback","useEffect","useState","sstyled","trottle","createElement","eventToPoint","invert","style","_sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","SDots","bisect","d","center","_useState","_useState2","_slicedToArray","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","_scale","xScale","_eventToPoint","current","_eventToPoint2","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","_ref","isPrev","defined","isNext","active","visible","push","cn","concat"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { eventToPoint, invert } from './utils';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\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 transparent,\n } = props;\n const SDots = 'g';\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, scale, data, x, y]);\n\n const dots = 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 const visible = display || i === activeIndex || (!isPrev && !isNext);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n aria-hidden\n key={`${i}`}\n render='circle'\n visible={visible}\n __excludeProps={EXCLUDE_PROPS}\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 transparent={transparent}\n />,\n ),\n );\n return acc;\n }, []);\n return sstyled(styles)(<SDots use:duration={`${duration}ms`}>{dots}</SDots>);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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"}
|