@semcore/d3-chart 3.15.2 → 3.16.0-prerelease.1
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 +12 -1
- package/lib/cjs/Area.js +26 -17
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +10 -9
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +15 -14
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/Donut.js +21 -15
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +13 -12
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +4 -2
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +11 -10
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +3 -3
- package/lib/cjs/Line.js +17 -12
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +9 -6
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/Radar.js +30 -22
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +46 -40
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +11 -10
- package/lib/cjs/ReferenceLine.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +11 -10
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +7 -4
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +3 -1
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +36 -12
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +18 -12
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yView.js +3 -3
- package/lib/cjs/color.js +0 -14
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/style/radial-tree.shadow.css +3 -3
- package/lib/cjs/style/venn.shadow.css +1 -1
- package/lib/cjs/types/Area.d.js.map +1 -1
- package/lib/cjs/types/Bar.d.js.map +1 -1
- package/lib/cjs/types/Donut.d.js.map +1 -1
- package/lib/cjs/types/HorizontalBar.d.js.map +1 -1
- package/lib/cjs/types/Line.d.js.map +1 -1
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js +8 -2
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +26 -17
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +10 -9
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +15 -14
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/Donut.js +22 -16
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +13 -12
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +5 -3
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +11 -10
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +3 -3
- package/lib/es6/Line.js +17 -12
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +9 -6
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/Radar.js +31 -23
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +46 -40
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +11 -10
- package/lib/es6/ReferenceLine.js.map +1 -1
- package/lib/es6/ScatterPlot.js +11 -10
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +7 -4
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +3 -1
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +37 -13
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +19 -13
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yView.js +3 -3
- package/lib/es6/color.js +0 -13
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/style/radial-tree.shadow.css +3 -3
- package/lib/es6/style/venn.shadow.css +1 -1
- package/lib/es6/types/Area.d.js.map +1 -1
- package/lib/es6/types/Bar.d.js.map +1 -1
- package/lib/es6/types/Donut.d.js.map +1 -1
- package/lib/es6/types/HorizontalBar.d.js.map +1 -1
- package/lib/es6/types/Line.d.js.map +1 -1
- package/lib/es6/types/index.d.js +4 -0
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js +6 -1
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/Area.d.ts +1 -2
- package/lib/types/Bar.d.ts +1 -2
- package/lib/types/Donut.d.ts +1 -3
- package/lib/types/HorizontalBar.d.ts +1 -2
- package/lib/types/Line.d.ts +1 -2
- package/lib/types/RadialTree.d.ts +3 -0
- package/lib/types/index.d.ts +4 -0
- package/lib/types/utils.d.ts +1 -0
- package/package.json +6 -6
package/lib/es6/Bubble.js
CHANGED
|
@@ -20,16 +20,16 @@ import ClipPath from './ClipPath';
|
|
|
20
20
|
import { CONSTANT, measureText } from './utils';
|
|
21
21
|
import Tooltip from './Tooltip';
|
|
22
22
|
/*__reshadow-styles__:"./style/bubble.shadow.css"*/
|
|
23
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
24
|
-
"__SBubble": "
|
|
25
|
-
"--duration": "--
|
|
26
|
-
"_color": "
|
|
27
|
-
"--color": "--
|
|
28
|
-
"_transparent": "
|
|
29
|
-
"__SCenter": "
|
|
30
|
-
"__SLabel": "
|
|
31
|
-
"_position_right": "
|
|
32
|
-
"_position_left": "
|
|
23
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBubble_tabld_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_tabld);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_tabld_gg_:hover{opacity:.8}}.___SBubble_tabld_gg_.__color_tabld_gg_{fill:var(--color_tabld)}.___SBubble_tabld_gg_.__transparent_tabld_gg_{opacity:.3}.___SCenter_tabld_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_tabld_gg_.__color_tabld_gg_{stroke:var(--color_tabld)}.___SCenter_tabld_gg_.__transparent_tabld_gg_{opacity:.3}.___SLabel_tabld_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_tabld_gg_._position_right_tabld_gg_{text-anchor:end}.___SLabel_tabld_gg_._position_left_tabld_gg_{text-anchor:start}.___SLabel_tabld_gg_.__color_tabld_gg_{fill:var(--color_tabld)}.___SLabel_tabld_gg_.__transparent_tabld_gg_{opacity:.3}" /*__inner_css_end__*/, "tabld_gg_") /*__reshadow_css_end__*/, {
|
|
24
|
+
"__SBubble": "___SBubble_tabld_gg_",
|
|
25
|
+
"--duration": "--duration_tabld",
|
|
26
|
+
"_color": "__color_tabld_gg_",
|
|
27
|
+
"--color": "--color_tabld",
|
|
28
|
+
"_transparent": "__transparent_tabld_gg_",
|
|
29
|
+
"__SCenter": "___SCenter_tabld_gg_",
|
|
30
|
+
"__SLabel": "___SLabel_tabld_gg_",
|
|
31
|
+
"_position_right": "_position_right_tabld_gg_",
|
|
32
|
+
"_position_left": "_position_left_tabld_gg_"
|
|
33
33
|
});
|
|
34
34
|
var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
35
35
|
_inherits(BubbleRoot, _Component);
|
|
@@ -117,7 +117,8 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
117
117
|
markedCross = _this$asProps2.markedCross,
|
|
118
118
|
size = _this$asProps2.size,
|
|
119
119
|
data = _this$asProps2.data,
|
|
120
|
-
transparent = _this$asProps2.transparent
|
|
120
|
+
transparent = _this$asProps2.transparent,
|
|
121
|
+
resolveColor = _this$asProps2.resolveColor;
|
|
121
122
|
var _scale = _slicedToArray(scale, 2),
|
|
122
123
|
xScale = _scale[0],
|
|
123
124
|
yScale = _scale[1];
|
|
@@ -149,7 +150,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
149
150
|
"y": yScale(d[y]) + offset[1],
|
|
150
151
|
"dy": '.3em',
|
|
151
152
|
"clipPath": "url(#".concat(uid, ")"),
|
|
152
|
-
"color": (_d$color = d[color]) !== null && _d$color !== void 0 ? _d$color : color,
|
|
153
|
+
"color": resolveColor((_d$color = d[color]) !== null && _d$color !== void 0 ? _d$color : color),
|
|
153
154
|
"transparent": transparent
|
|
154
155
|
}), "+"), /*#__PURE__*/React.createElement(SBubble, _ref2.cn("SBubble", {
|
|
155
156
|
"aria-hidden": true,
|
|
@@ -159,7 +160,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
159
160
|
"clipPath": "url(#".concat(uid, ")"),
|
|
160
161
|
"cx": xScale(d[x]) + offset[0],
|
|
161
162
|
"cy": yScale(d[y]) + offset[1],
|
|
162
|
-
"color": d[color],
|
|
163
|
+
"color": resolveColor(d[color]),
|
|
163
164
|
"r": z(d[value]),
|
|
164
165
|
"use:duration": "".concat(duration, "ms"),
|
|
165
166
|
"transparent": transparent
|
|
@@ -170,7 +171,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
170
171
|
"dy": '.3em',
|
|
171
172
|
"clipPath": "url(#".concat(uid, ")"),
|
|
172
173
|
"position": labelPosition,
|
|
173
|
-
"color": d[color],
|
|
174
|
+
"color": resolveColor(d[color]),
|
|
174
175
|
"transparent": transparent
|
|
175
176
|
}), d[label]));
|
|
176
177
|
}
|
package/lib/es6/Bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","Root","sstyled","canUseDOM","uniqueIDEnhancement","createElement","ClipPath","CONSTANT","measureText","Tooltip","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","tooltipProps","_ref4","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","_ref2","_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","xIndex","index","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","BubbleTooltip","_ref","arguments[0]","_ref3","SBubbleTooltip","_objectSpread","_assignProps","Bubble","_______childrenComponents"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, Root, 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';\nimport Tooltip from './Tooltip';\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, tooltipProps) => ({ 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, tooltipProps, 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, index: i })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: 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 BubbleTooltip = (props) => {\n const SBubbleTooltip = Root;\n return sstyled(props.styles)(<SBubbleTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Bubble = createElement(BubbleRoot, {\n Tooltip: [BubbleTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Bubble;\n"],"mappings":";;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,UAAU;AACpC,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,SAAS,EAAEC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AACxD,OAAOC,SAAS,MAAM,8BAA8B;AACpD,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,QAAQ,EAAEC,WAAW,QAAQ,SAAS;AAC/C,OAAOC,OAAO,MAAM,WAAW;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAI1BC,UAAU,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,UAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,UAAA;EAAA,SAAAA,WAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,UAAA;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,qBAWGf,SAAS,EAAE,GAAG4B,QAAQ,CAAC1B,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAAwB,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAM5C,UAACc,OAAO,EAAEC,KAAK,EAAEC,YAAY;MAAA,OAAK,UAAAC,KAAA,EAAgC;QAAA,IAApBC,CAAC,GAAAD,KAAA,CAAVE,OAAO;UAAcC,CAAC,GAAAH,KAAA,CAAVI,OAAO;QAC3E,IAAQC,YAAY,GAAKtB,KAAA,CAAKuB,OAAO,CAA7BD,YAAY;QACpBtB,KAAA,CAAKwB,cAAc,CAACC,qBAAqB,GAAGzB,KAAA,CAAK0B,6BAA6B,CAACR,CAAC,EAAEE,CAAC,CAAC;QACpFpB,KAAA,CAAKwB,cAAc,CAACnC,QAAQ,CAACsC,eAAe,CAAC,GAAG,IAAI;QACpDL,YAAY,CAACM,IAAI,CAAC,kBAAkB,EAAEd,OAAO,EAAEC,KAAK,EAAEC,YAAY,EAAEhB,KAAA,CAAKwB,cAAc,CAAC;MAC1F,CAAC;IAAA;IAAA,OAAAxB,KAAA;EAAA;EAAA6B,YAAA,CAAAlC,UAAA;IAAAmC,GAAA;IAAAC,KAAA,EATD,SAAAL,8BAAA,EAA4C;MAAA,IAAdR,CAAC,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6B,SAAA,GAAA7B,SAAA,MAAG,CAAC;MAAA,IAAEiB,CAAC,GAAAjB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6B,SAAA,GAAA7B,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAE8B,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEC,GAAG,EAAEf,CAAC;UAAEgB,KAAK,EAAElB,CAAC;UAAEmB,MAAM,EAAEjB,CAAC;UAAEkB,IAAI,EAAEpB;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAY,GAAA;IAAAC,KAAA,EASD,SAAAQ,gBAAA,EAAkB;MAChB,IAAAC,aAAA,GAAuC,IAAI,CAACjB,OAAO;QAA3CkB,QAAQ,GAAAD,aAAA,CAARC,QAAQ;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;QAAEC,IAAI,GAAAH,aAAA,CAAJG,IAAI;QAAEZ,KAAK,GAAAS,aAAA,CAALT,KAAK;MAClC,IAAMa,CAAC,GAAGhE,SAAS,EAAE,CAClBiE,MAAM,CAAC,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG,CAAAtC,KAAA,CAARqC,IAAI,EAAAE,kBAAA,CAAQL,IAAI,CAACM,GAAG,CAAC,UAACC,EAAE;QAAA,OAAKA,EAAE,CAACnB,KAAK,CAAC;MAAA,EAAC,EAAC,CAAC,CAAC,CACrDoB,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;MAErB,IAAMC,UAAU,GAAGvE,UAAU,EAAE,CAACwE,SAAS,EAAE,CAACC,SAAS,SAAA5C,MAAA,CAASgC,GAAG,EAAAhC,MAAA,CAAGgC,GAAG,OAAI,CAACa,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;MAExF,IAAMC,cAAc,GAAGJ,UAAU,CAACK,IAAI,EAAE;MACxC,IAAIhB,QAAQ,GAAG,CAAC,IAAIe,cAAc,EAAE;QAClCJ,UAAU,CACPvE,UAAU,EAAE,CACZ4D,QAAQ,CAACA,QAAQ,CAAC,CAClBc,IAAI,CAAC,GAAG,EAAE,UAAUG,CAAC,EAAEC,GAAG,EAAE;UAC3B,OAAOf,CAAC,CAACD,IAAI,CAACgB,GAAG,CAAC,CAAC5B,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;MACN;IACF;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAA6B,mBAAA,EAAqB;MACnB,IAAI,CAACrB,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAA8B,kBAAA,EAAoB;MAClB,IAAI,CAACtB,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAA+B,aAAaC,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAAC,KAAA,EAAAC,QAAA;MACjB,IAAAC,cAAA,GAeI,IAAI,CAAC5C,OAAO;QAdd6C,KAAK,GAAAD,cAAA,CAALC,KAAK;QACLC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACLnD,CAAC,GAAAiD,cAAA,CAADjD,CAAC;QACDE,CAAC,GAAA+C,cAAA,CAAD/C,CAAC;QACDkD,MAAM,GAAAH,cAAA,CAANG,MAAM;QACNC,MAAM,GAAAJ,cAAA,CAANI,MAAM;QACN7B,GAAG,GAAAyB,cAAA,CAAHzB,GAAG;QACHD,QAAQ,GAAA0B,cAAA,CAAR1B,QAAQ;QACRV,KAAK,GAAAoC,cAAA,CAALpC,KAAK;QACLyC,KAAK,GAAAL,cAAA,CAALK,KAAK;QACLC,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACXC,IAAI,GAAAP,cAAA,CAAJO,IAAI;QACJ/B,IAAI,GAAAwB,cAAA,CAAJxB,IAAI;QACJgC,WAAW,GAAAR,cAAA,CAAXQ,WAAW;MAEb,IAAAC,MAAA,GAAAC,cAAA,CAAyBR,KAAK;QAAvBS,MAAM,GAAAF,MAAA;QAAEG,MAAM,GAAAH,MAAA;MAErB,IAAMI,OAAO,GAAG,IAAI,CAACC,OAAO;MAC5B,IAAMC,OAAO,GAAG,MAAM;MACtB,IAAMC,MAAM,GAAG,MAAM;MACrB,IAAMvC,CAAC,GAAGhE,SAAS,EAAE,CAClBiE,MAAM,CAAC,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG,CAAAtC,KAAA,CAARqC,IAAI,EAAAE,kBAAA,CAAQL,IAAI,CAACM,GAAG,CAAC,UAACC,EAAE;QAAA,OAAKA,EAAE,CAACnB,KAAK,CAAC;MAAA,EAAC,EAAC,CAAC,CAAC,CACrDoB,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;MAErB,IAAMiC,MAAM,GAAGtC,IAAI,CAACuC,GAAG,CAACP,MAAM,CAAC3B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE2B,MAAM,CAAC3B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE7D,IAAMmC,aAAa,GACjBZ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGU,MAAM,IAAIN,MAAM,CAACf,CAAC,CAAC7C,CAAC,CAAC,CAAC,GAAGoD,MAAM,CAAC,CAAC,CAAC,GAAG1B,CAAC,CAACmB,CAAC,CAAChC,KAAK,CAAC,CAAC,CAAC,GAAGzC,WAAW,CAACyE,CAAC,CAACS,KAAK,CAAC,CAAC,GACnF,OAAO,GACP,MAAM;MACZ,IAAMe,aAAa,GAAG;QACpBnD,KAAK,EAAE0C,MAAM,CAACf,CAAC,CAAC7C,CAAC,CAAC,CAAC,GAAGoD,MAAM,CAAC,CAAC,CAAC,GAAG1B,CAAC,CAACmB,CAAC,CAAChC,KAAK,CAAC,CAAC;QAC7CO,IAAI,EAAEwC,MAAM,CAACf,CAAC,CAAC7C,CAAC,CAAC,CAAC,GAAGoD,MAAM,CAAC,CAAC,CAAC,GAAG1B,CAAC,CAACmB,CAAC,CAAChC,KAAK,CAAC;MAC7C,CAAC,CAACuD,aAAa,CAAC;MAEhB,OAAArB,KAAA,GAAOjF,OAAO,CAACuF,MAAM,CAAC,eACpB5F,KAAA,CAAAQ,aAAA,MAAA8E,KAAA,CAAAuB,EAAA;QAAA,kBAAA9E,MAAA,CACkBsD,CAAC;QAAA,eACJ,IAAI,CAACyB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC1E,KAAK,EAAE;UAAE2E,MAAM,EAAE1B,CAAC;UAAE2B,KAAK,EAAE3B;QAAE,CAAC,CAAC;QAAA,gBACjE,IAAI,CAACyB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC1E,KAAK,EAAE;UAAE2E,MAAM,EAAE1B,CAAC;UAAE2B,KAAK,EAAE3B;QAAE,CAAC;MAAC,IAEhFS,WAAW,iBACV9F,KAAA,CAAAQ,aAAA,CAAC+F,OAAO,EAAAjB,KAAA,CAAAuB,EAAA;QAAA;QAAA,KAEHV,MAAM,CAACf,CAAC,CAAC7C,CAAC,CAAC,CAAC,GAAGoD,MAAM,CAAC,CAAC,CAAC;QAAA,KACxBS,MAAM,CAAChB,CAAC,CAAC3C,CAAC,CAAC,CAAC,GAAGkD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAA5D,MAAA,CACSgC,GAAG;QAAA,UAAAwB,QAAA,GACdH,CAAC,CAACK,KAAK,CAAC,cAAAF,QAAA,cAAAA,QAAA,GAAIE,KAAK;QAAA,eACXO;MAAW,IACzB,GAED,CACD,eACDhG,KAAA,CAAAQ,aAAA,CAAC6F,OAAO,EAAAf,KAAA,CAAAuB,EAAA;QAAA;QAAA,SAAA9E,MAAA,CAECgC,GAAG,EAAAhC,MAAA,CAAGgC,GAAG;QAAA,SACTsB,CAAC;QAAA,UACD,QAAQ;QAAA,oBAAAtD,MAAA,CACGgC,GAAG;QAAA,MACjBoC,MAAM,CAACf,CAAC,CAAC7C,CAAC,CAAC,CAAC,GAAGoD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxBS,MAAM,CAAChB,CAAC,CAAC3C,CAAC,CAAC,CAAC,GAAGkD,MAAM,CAAC,CAAC,CAAC;QAAA,SACrBP,CAAC,CAACK,KAAK,CAAC;QAAA,KACZxB,CAAC,CAACmB,CAAC,CAAChC,KAAK,CAAC,CAAC;QAAA,mBAAArB,MAAA,CACG+B,QAAQ;QAAA,eACZkC;MAAW,GACxB,EACDZ,CAAC,CAACS,KAAK,CAAC,iBACP7F,KAAA,CAAAQ,aAAA,CAACgG,MAAM,EAAAlB,KAAA,CAAAuB,EAAA;QAAA;QAAA,KAEFD,aAAa;QAAA,KACbR,MAAM,CAAChB,CAAC,CAAC3C,CAAC,CAAC,CAAC,GAAGkD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAA5D,MAAA,CACSgC,GAAG;QAAA,YACX4C,aAAa;QAAA,SAChBvB,CAAC,CAACK,KAAK,CAAC;QAAA,eACFO;MAAW,IAEvBZ,CAAC,CAACS,KAAK,CAAC,CAEZ,CACC;IAER;EAAC;IAAA1C,GAAA;IAAAC,KAAA,EAED,SAAA6D,OAAA,EAAS;MACP,IAAAC,cAAA,GAA0C,IAAI,CAACtE,OAAO;QAA9CoB,IAAI,GAAAkD,cAAA,CAAJlD,IAAI;QAAED,GAAG,GAAAmD,cAAA,CAAHnD,GAAG;QAAE2B,KAAK,GAAAwB,cAAA,CAALxB,KAAK;QAAEnD,CAAC,GAAA2E,cAAA,CAAD3E,CAAC;QAAEE,CAAC,GAAAyE,cAAA,CAADzE,CAAC;QAAEW,KAAK,GAAA8D,cAAA,CAAL9D,KAAK;MACrC,IAAA+D,OAAA,GAAAjB,cAAA,CAAyBR,KAAK;QAAvBS,MAAM,GAAAgB,OAAA;QAAEf,MAAM,GAAAe,OAAA;MACrB,IAAMC,KAAK,GAAGjD,IAAI,CAACkD,GAAG,CAAClB,MAAM,CAAC3B,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG2B,MAAM,CAAC3B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAM8C,KAAK,GAAGnD,IAAI,CAACkD,GAAG,CAACjB,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG4B,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAM+C,OAAO,GAAGpD,IAAI,CAACuC,GAAG,CAACP,MAAM,CAAC3B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE2B,MAAM,CAAC3B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAMgD,OAAO,GAAGrD,IAAI,CAACuC,GAAG,CAACN,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE4B,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE9D,IAAI,CAAC5B,OAAO,CAAC6E,gBAAgB,CAACC,oBAAoB,CAACnF,CAAC,EAAEE,CAAC,EAAEW,KAAK,CAAC;MAC/D,IAAI,CAACR,OAAO,CAAC6E,gBAAgB,CAACE,iBAAiB,CAAC,cAAc,CAAC;MAE/D,oBACE3H,KAAA,CAAAQ,aAAA,CAAAR,KAAA,CAAA4H,QAAA,QACG5D,IAAI,CAACM,GAAG,CAAC,IAAI,CAACa,YAAY,CAAC0C,IAAI,CAAC,IAAI,CAAC,CAAC,EACtC7D,IAAI,CAACM,GAAG,CAAC,IAAI,CAACV,eAAe,CAACiE,IAAI,CAAC,IAAI,CAAC,CAAC,eAC1C7H,KAAA,CAAAQ,aAAA,CAACC,QAAQ;QACP,mBAAW;QACXqH,EAAE,EAAE/D,GAAI;QACRxB,CAAC,EAAEgF,OAAQ;QACX9E,CAAC,EAAE+E,OAAQ;QACXlE,KAAK,KAAAvB,MAAA,CAAKqF,KAAK,OAAK;QACpB7D,MAAM,KAAAxB,MAAA,CAAKuF,KAAK;MAAK,EACrB,CACD;IAEP;EAAC;EAAA,OAAAtG,UAAA;AAAA,EAnKsBb,SAAS;AAAA6B,eAAA,CAA5BhB,UAAU,iBACO,QAAQ;AAAAgB,eAAA,CADzBhB,UAAU,WAECH,KAAK;AAAAmB,eAAA,CAFhBhB,UAAU,aAGG,CAACT,mBAAmB,EAAE,CAAC;AAAAyB,eAAA,CAHpChB,UAAU,kBAKQ;EACpB2E,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACd7B,QAAQ,EAAE,GAAG;EACbgC,WAAW,EAAE;AACf,CAAC;AA6JH,IAAMiC,aAAa,GAAG,SAAhBA,aAAaA,CAAI3F,KAAK,EAAK;EAAA,IAAA4F,IAAA,GAAAC,YAAA;IAAAC,KAAA;EAC/B,IAAMC,cAAc,GACiCvH,OAAO;EAA5D,OAAAsH,KAAA,GAAO7H,OAAO,CAAC+B,KAAK,CAACwD,MAAM,CAAC,eAAC5F,KAAA,CAAAQ,aAAA,CAAC2H,cAAc,EAAAD,KAAA,CAAArB,EAAA,mBAAAuB,aAAA,KAAAC,YAAA;IAAA;EAAA,GAAAL,IAAA,IAAuC;AACrF,CAAC;AAED,IAAMM,MAAM,GAAG9H,aAAa,CAACQ,UAAU,EAAE;EACvCJ,OAAO,EAAE,CAACmH,aAAa,EAAEnH,OAAO,CAAC2H,yBAAyB;AAC5D,CAAC,CAAC;AAEF,eAAeD,MAAM"}
|
|
1
|
+
{"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","Root","sstyled","canUseDOM","uniqueIDEnhancement","createElement","ClipPath","CONSTANT","measureText","Tooltip","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","tooltipProps","_ref4","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","_ref2","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","resolveColor","_scale","_slicedToArray","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","cn","bindHandlerTooltip","xIndex","index","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","BubbleTooltip","_ref","arguments[0]","_ref3","SBubbleTooltip","_objectSpread","_assignProps","Bubble","_______childrenComponents"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, Root, 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';\nimport Tooltip from './Tooltip';\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, tooltipProps) => ({ 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, tooltipProps, 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 resolveColor,\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, index: i })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: 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={resolveColor(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={resolveColor(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={resolveColor(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 BubbleTooltip = (props) => {\n const SBubbleTooltip = Root;\n return sstyled(props.styles)(<SBubbleTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Bubble = createElement(BubbleRoot, {\n Tooltip: [BubbleTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Bubble;\n"],"mappings":"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"}
|
package/lib/es6/Donut.js
CHANGED
|
@@ -9,7 +9,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
9
9
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
10
10
|
import { sstyled as _sstyled } from "@semcore/core";
|
|
11
11
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
12
|
-
var _excluded = ["Element", "styles", "d3Arc", "data", "color", "$animationActivePie", "active", "d3ArcOut", "name", "dataKey", "dataHintsHandler", "transparent", "innerRadius", "outerRadius", "halfsize"];
|
|
12
|
+
var _excluded = ["Element", "styles", "d3Arc", "data", "color", "$animationActivePie", "active", "d3ArcOut", "name", "dataKey", "dataHintsHandler", "transparent", "innerRadius", "outerRadius", "resolveColor", "halfsize"];
|
|
13
13
|
import React, { useEffect, useRef, useState } from 'react';
|
|
14
14
|
import { arc, pie } from 'd3-shape';
|
|
15
15
|
import { interpolate } from 'd3-interpolate';
|
|
@@ -19,16 +19,16 @@ import canUseDOM from '@semcore/utils/lib/canUseDOM';
|
|
|
19
19
|
import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
|
|
20
20
|
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
21
21
|
import createElement from './createElement';
|
|
22
|
-
import { CONSTANT } from './utils';
|
|
22
|
+
import { CONSTANT, getChartDefaultColorName } from './utils';
|
|
23
23
|
import Tooltip from './Tooltip';
|
|
24
24
|
/*__reshadow-styles__:"./style/donut.shadow.css"*/
|
|
25
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
26
|
-
"__SPie": "
|
|
27
|
-
"_color": "
|
|
28
|
-
"--color": "--
|
|
29
|
-
"_transparent": "
|
|
30
|
-
"__SEmptyData": "
|
|
31
|
-
"__SLabel": "
|
|
25
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPie_1jq6u_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_1jq6u_gg_.__color_1jq6u_gg_{fill:var(--color_1jq6u)}.___SPie_1jq6u_gg_.__transparent_1jq6u_gg_{opacity:.3}.___SEmptyData_1jq6u_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_1jq6u_gg_.__color_1jq6u_gg_{fill:var(--color_1jq6u)}.___SLabel_1jq6u_gg_{text-anchor:middle;vertical-anchor:middle}" /*__inner_css_end__*/, "1jq6u_gg_") /*__reshadow_css_end__*/, {
|
|
26
|
+
"__SPie": "___SPie_1jq6u_gg_",
|
|
27
|
+
"_color": "__color_1jq6u_gg_",
|
|
28
|
+
"--color": "--color_1jq6u",
|
|
29
|
+
"_transparent": "__transparent_1jq6u_gg_",
|
|
30
|
+
"__SEmptyData": "___SEmptyData_1jq6u_gg_",
|
|
31
|
+
"__SLabel": "___SLabel_1jq6u_gg_"
|
|
32
32
|
});
|
|
33
33
|
var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
34
34
|
function transitionAnglePie(_ref6) {
|
|
@@ -232,25 +232,27 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
232
232
|
}
|
|
233
233
|
}, {
|
|
234
234
|
key: "getPieProps",
|
|
235
|
-
value: function getPieProps(props,
|
|
235
|
+
value: function getPieProps(props, index) {
|
|
236
236
|
var _this2 = this;
|
|
237
237
|
var _this$asProps5 = this.asProps,
|
|
238
238
|
d3Arc = _this$asProps5.d3Arc,
|
|
239
239
|
d3ArcOut = _this$asProps5.d3ArcOut,
|
|
240
240
|
innerRadius = _this$asProps5.innerRadius,
|
|
241
241
|
outerRadius = _this$asProps5.outerRadius,
|
|
242
|
-
halfsize = _this$asProps5.halfsize
|
|
242
|
+
halfsize = _this$asProps5.halfsize,
|
|
243
|
+
resolveColor = _this$asProps5.resolveColor;
|
|
243
244
|
var active = props.active;
|
|
244
245
|
var data = this.arcs.find(function (arc) {
|
|
245
246
|
return arc.data[0] === props.dataKey;
|
|
246
247
|
});
|
|
247
248
|
if (active) {
|
|
248
|
-
this.activeIndexPie =
|
|
249
|
+
this.activeIndexPie = index;
|
|
249
250
|
}
|
|
250
251
|
var tooltipProps = {
|
|
251
252
|
dataKey: props.dataKey,
|
|
252
253
|
name: props.name,
|
|
253
|
-
|
|
254
|
+
resolveColor: resolveColor,
|
|
255
|
+
color: props.color || getChartDefaultColorName(index),
|
|
254
256
|
active: props.active,
|
|
255
257
|
transparent: props.transparent
|
|
256
258
|
};
|
|
@@ -261,6 +263,8 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
261
263
|
innerRadius: innerRadius,
|
|
262
264
|
outerRadius: outerRadius,
|
|
263
265
|
halfsize: halfsize,
|
|
266
|
+
color: props.color || getChartDefaultColorName(index),
|
|
267
|
+
resolveColor: resolveColor,
|
|
264
268
|
$animationActivePie: this.animationActivePie,
|
|
265
269
|
onMouseMove: this.bindHandlerTooltip(true, props, tooltipProps),
|
|
266
270
|
onMouseLeave: this.bindHandlerTooltip(false, props, tooltipProps),
|
|
@@ -385,6 +389,7 @@ function Pie(_ref17) {
|
|
|
385
389
|
transparent = _ref17.transparent,
|
|
386
390
|
innerRadius = _ref17.innerRadius,
|
|
387
391
|
outerRadius = _ref17.outerRadius,
|
|
392
|
+
resolveColor = _ref17.resolveColor,
|
|
388
393
|
halfsize = _ref17.halfsize,
|
|
389
394
|
other = _objectWithoutProperties(_ref17, _excluded);
|
|
390
395
|
var _React$useState = React.useState(false),
|
|
@@ -420,7 +425,7 @@ function Pie(_ref17) {
|
|
|
420
425
|
return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SPie, _ref2.cn("SPie", {
|
|
421
426
|
"render": 'path',
|
|
422
427
|
"ref": pieRef,
|
|
423
|
-
"color": color,
|
|
428
|
+
"color": resolveColor(color),
|
|
424
429
|
"d": active ? d3ArcOut(data) : d3Arc(data),
|
|
425
430
|
"transparent": transparent
|
|
426
431
|
}));
|
|
@@ -430,10 +435,11 @@ function EmptyData(_ref18) {
|
|
|
430
435
|
var SEmptyData = _ref18.Element,
|
|
431
436
|
styles = _ref18.styles,
|
|
432
437
|
d3Arc = _ref18.d3Arc,
|
|
433
|
-
color = _ref18.color
|
|
438
|
+
color = _ref18.color,
|
|
439
|
+
resolveColor = _ref18.resolveColor;
|
|
434
440
|
return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SEmptyData, _ref3.cn("SEmptyData", {
|
|
435
441
|
"render": 'path',
|
|
436
|
-
"color": color,
|
|
442
|
+
"color": resolveColor(color),
|
|
437
443
|
"d": d3Arc({
|
|
438
444
|
endAngle: Math.PI * 2,
|
|
439
445
|
startAngle: 0
|
package/lib/es6/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Donut.js","names":["React","useEffect","useRef","useState","arc","pie","interpolate","transition","Component","Root","sstyled","canUseDOM","getOriginChildren","uniqueIDEnhancement","createElement","CONSTANT","Tooltip","style","_sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref6","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","_ref7","data","element","innerRadius","outerRadiusStartEnd","paddingAngle","select","_outerRadiusStartEnd","_slicedToArray","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","padAngle","increaseFactor","getOuterRadius","_ref8","size","_size","width","height","minORmax","max","min","gradToRad","grad","DonutRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","undefined","visible","props","tooltipProps","_ref9","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_ref10","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","_ref11","_ref12","includes","sort","_ref13","_ref14","_ref15","a","_ref16","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","name","color","transparent","$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","_ref20","_ref20$innerRadius","_ref20$paddingAngle","_ref20$halfsize","_ref21","_ref22","_ref17","_ref2","SPie","styles","other","_objectWithoutProperties","_excluded","_React$useState","_React$useState2","isMount","setIsMount","pieRef","current","Boolean","describeValueEntity","cn","EmptyData","_ref18","_ref3","SEmptyData","Label","_ref19","_ref4","SLabel","children","label","_ref19$x","_ref19$y","setTitle","DonutTooltip","_ref","arguments[0]","_ref5","SDonutTooltip","_objectSpread","_assignProps","_______childrenComponents"],"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, Root, 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';\nimport Tooltip from './Tooltip';\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 paddingAngle,\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()\n .innerRadius(innerRadius)\n .outerRadius(outerRadiusPX)\n .padAngle(paddingAngle);\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\nconst gradToRad = (grad) => (grad * Math.PI) / 180;\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 paddingAngle = 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 .padAngle(paddingAngle);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(innerRadius)\n .padAngle(paddingAngle);\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 paddingAngle,\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, value]) => keys.includes(key) && value > 0)\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, tooltipProps) => ({ 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, tooltipProps, this.virtualElement);\n };\n\n animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc, paddingAngle } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n const outerRadiusStartEnd = active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, 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,\n paddingAngle,\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, innerRadius, outerRadius, halfsize } = 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 const tooltipProps = {\n dataKey: props.dataKey,\n name: props.name,\n color: props.color,\n active: props.active,\n transparent: props.transparent,\n };\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n innerRadius,\n outerRadius,\n halfsize,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props, tooltipProps),\n onMouseLeave: this.bindHandlerTooltip(false, props, tooltipProps),\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 innerRadius,\n outerRadius,\n halfsize,\n ...other\n}) {\n const [isMount, setIsMount] = React.useState(false);\n const pieRef = React.useRef(null);\n\n React.useEffect(() => {\n if (!pieRef.current) return;\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, Boolean(data)]);\n React.useEffect(() => {\n if (!pieRef.current) return;\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n }, [active, innerRadius, outerRadius, halfsize, Boolean(data)]);\n\n if (!data) return null;\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({\n Element: SLabel,\n styles,\n Children,\n children,\n label,\n dataHintsHandler,\n x = 0,\n y = 0,\n}) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x={x} y={y} aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nconst DonutTooltip = (props) => {\n const SDonutTooltip = Root;\n return sstyled(props.styles)(<SDonutTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Donut = createElement(DonutRoot, {\n Pie,\n Label,\n EmptyData,\n Tooltip: [DonutTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Donut;\n"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,SAASC,GAAG,EAAEC,GAAG,QAAQ,UAAU;AACnC,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,SAAS,EAAEC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AACxD,OAAOC,SAAS,MAAM,8BAA8B;AACpD,OAAOC,iBAAiB,MAAM,sCAAsC;AACpE,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,QAAQ,QAAQ,SAAS;AAClC,OAAOC,OAAO,MAAM,WAAW;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAIhC,IAAMC,gBAAgB,GAAGC,MAAM,CAAC,kBAAkB,CAAC;AAEnD,SAASC,kBAAkBA,CAAAC,KAAA,EAQxB;EAAA,IAPDC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IACRC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IACRC,QAAQ,GAAAH,KAAA,CAARG,QAAQ;IACRC,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLC,QAAQ,GAAAL,KAAA,CAARK,QAAQ;IACRC,IAAI,GAAAN,KAAA,CAAJM,IAAI;IACJC,cAAc,GAAAP,KAAA,CAAdO,cAAc;EAEd,OAAOvB,UAAU,EAAE,CAChBwB,SAAS,EAAE,CACXC,SAAS,CAACR,QAAQ,CAAC,CACnBS,SAAS,EAAE,CACX1B,UAAU,EAAE,CACZkB,QAAQ,CAACA,QAAQ,CAAC,CAClBS,SAAS,CAAC,GAAG,EAAE,UAAUC,CAAC,EAAEC,GAAG,EAAE;IAChC,IAAI,CAACP,IAAI,CAACO,GAAG,CAAC,EAAE,OAAO;MAAA,OAAM,EAAE;IAAA;IAC/B,IAAMC,CAAC,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEV,IAAI,CAACO,GAAG,CAAC,CAAC;IACtC,IAAMI,IAAI,GAAG,IAAI;IACjB,IAAMC,SAAS,GAAGf,QAAQ,GAAG,CAACgB,IAAI,CAACC,EAAE,GAAG,CAAC,GAAG,CAAC;IAC7C,IAAIC,cAAc,GAAGH,SAAS;IAC9B,IAAII,YAAY,GAAGJ,SAAS;IAC5B,IAAID,IAAI,CAACpC,GAAG,EAAE;MACZwC,cAAc,GAAGJ,IAAI,CAACpC,GAAG,CAAC0C,UAAU;MACpCD,YAAY,GAAGL,IAAI,CAACpC,GAAG,CAAC2C,QAAQ;IAClC;IACA,IAAMC,WAAW,GAAG1C,WAAW,CAACsC,cAAc,EAAEP,CAAC,CAACS,UAAU,CAAC;IAC7D,IAAMG,SAAS,GAAG3C,WAAW,CAACuC,YAAY,EAAER,CAAC,CAACU,QAAQ,CAAC;IACvD,OAAO,UAAUG,CAAC,EAAE;MAClBb,CAAC,CAACS,UAAU,GAAGE,WAAW,CAACE,CAAC,CAAC;MAC7Bb,CAAC,CAACU,QAAQ,GAAGE,SAAS,CAACC,CAAC,CAAC;MACzBV,IAAI,CAACpC,GAAG,GAAGiC,CAAC;MACZ,OAAOD,GAAG,KAAKN,cAAc,GAAGF,QAAQ,CAACY,IAAI,CAACpC,GAAG,CAAC,GAAGuB,KAAK,CAACa,IAAI,CAACpC,GAAG,CAAC;IACtE,CAAC;EACH,CAAC,CAAC;AACN;AAEA,SAAS+C,mBAAmBA,CAAAC,KAAA,EAQzB;EAAA,IAPDC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IACJ7B,QAAQ,GAAA4B,KAAA,CAAR5B,QAAQ;IACR8B,OAAO,GAAAF,KAAA,CAAPE,OAAO;IACP7B,QAAQ,GAAA2B,KAAA,CAAR3B,QAAQ;IACR8B,WAAW,GAAAH,KAAA,CAAXG,WAAW;IACXC,mBAAmB,GAAAJ,KAAA,CAAnBI,mBAAmB;IACnBC,YAAY,GAAAL,KAAA,CAAZK,YAAY;EAEZ,OAAOlD,UAAU,EAAE,CAChBwB,SAAS,EAAE,CACX2B,MAAM,CAAClC,QAAQ,CAAC,CAChBS,SAAS,EAAE,CACX1B,UAAU,EAAE,CACZkB,QAAQ,CAACA,QAAQ,CAAC,CAClBS,SAAS,CAAC,GAAG,EAAE,YAAY;IAC1B,IAAAyB,oBAAA,GAAAC,cAAA,CAAqBJ,mBAAmB;MAAjCK,KAAK,GAAAF,oBAAA;MAAEG,GAAG,GAAAH,oBAAA;IACjB,IAAMI,YAAY,GAAGzD,WAAW,CAACuD,KAAK,EAAEC,GAAG,CAAC;IAC5C,OAAO,UAAUZ,CAAC,EAAE;MAClB,IAAMc,aAAa,GAAGD,YAAY,CAACb,CAAC,CAAC;MACrCI,OAAO,CAACW,OAAO,CAAC,eAAe,CAAC,GAAGD,aAAa;MAChD,IAAMpC,QAAQ,GAAGxB,GAAG,EAAE,CACnBmD,WAAW,CAACA,WAAW,CAAC,CACxBW,WAAW,CAACF,aAAa,CAAC,CAC1BG,QAAQ,CAACV,YAAY,CAAC;MACzB,OAAO7B,QAAQ,CAACyB,IAAI,CAAC;IACvB,CAAC;EACH,CAAC,CAAC;AACN;AAEA,IAAMe,cAAc,GAAG,CAAC;AAExB,SAASC,cAAcA,CAAAC,KAAA,EAAqB;EAAA,IAAlBC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IAAE7C,QAAQ,GAAA4C,KAAA,CAAR5C,QAAQ;EACtC,IAAA8C,KAAA,GAAAZ,cAAA,CAAwBW,IAAI;IAArBE,KAAK,GAAAD,KAAA;IAAEE,MAAM,GAAAF,KAAA;EACpB,IAAMG,QAAQ,GAAGjD,QAAQ,GAAGgB,IAAI,CAACkC,GAAG,GAAGlC,IAAI,CAACmC,GAAG;EAC/C,OAAOF,QAAQ,CAACF,KAAK,GAAGL,cAAc,GAAG,CAAC,EAAEM,MAAM,GAAGN,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC;AAC9E;AAEA,IAAMU,SAAS,GAAG,SAAZA,SAASA,CAAIC,IAAI;EAAA,OAAMA,IAAI,GAAGrC,IAAI,CAACC,EAAE,GAAI,GAAG;AAAA;AAAC,IAE7CqC,SAAS,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,SAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,SAAA;EAAA,SAAAA,UAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,SAAA;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,qBA4CI1E,SAAS,EAAE,GAAGuF,QAAQ,CAACpF,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAAkF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,qBAChDc,SAAS;IAAAH,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,uBACP,KAAK;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAiCH,UAACe,OAAO,EAAEC,KAAK,EAAEC,YAAY;MAAA,OAAK,UAAAC,KAAA,EAAgC;QAAA,IAApBC,CAAC,GAAAD,KAAA,CAAVE,OAAO;UAAcC,CAAC,GAAAH,KAAA,CAAVI,OAAO;QAC3E,IAAQC,YAAY,GAAKvB,KAAA,CAAKwB,OAAO,CAA7BD,YAAY;QACpBvB,KAAA,CAAKyB,cAAc,CAACC,qBAAqB,GAAG1B,KAAA,CAAK2B,6BAA6B,CAACR,CAAC,EAAEE,CAAC,CAAC;QACpFrB,KAAA,CAAKyB,cAAc,CAAC/F,QAAQ,CAACkG,eAAe,CAAC,GAAG,IAAI;QACpDL,YAAY,CAACM,IAAI,CAAC,kBAAkB,EAAEd,OAAO,EAAEC,KAAK,EAAEC,YAAY,EAAEjB,KAAA,CAAKyB,cAAc,CAAC;MAC1F,CAAC;IAAA;IAAAd,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAEoB,UAAA8B,MAAA,EAAyC;MAAA,IAAtC9D,IAAI,GAAA8D,MAAA,CAAJ9D,IAAI;QAAE+D,MAAM,GAAAD,MAAA,CAANC,MAAM;QAAE5F,QAAQ,GAAA2F,MAAA,CAAR3F,QAAQ;QAAE8B,OAAO,GAAA6D,MAAA,CAAP7D,OAAO;MACrD,IAAA+D,aAAA,GAAuDhC,KAAA,CAAKwB,OAAO;QAA3DpF,QAAQ,GAAA4F,aAAA,CAAR5F,QAAQ;QAAE8B,WAAW,GAAA8D,aAAA,CAAX9D,WAAW;QAAE5B,KAAK,GAAA0F,aAAA,CAAL1F,KAAK;QAAE8B,YAAY,GAAA4D,aAAA,CAAZ5D,YAAY;MAClD,IAAMS,WAAW,GAAGvC,KAAK,CAACuC,WAAW,EAAE,EAAE;MACzC,IAAMV,mBAAmB,GAAG4D,MAAM,GAC9B,CAAC,CAAC9D,OAAO,CAACW,OAAO,CAAC,eAAe,CAAC,IAAIC,WAAW,EAAEA,WAAW,GAAGE,cAAc,CAAC,GAChF,CAAC,CAACd,OAAO,CAACW,OAAO,CAAC,eAAe,CAAC,IAAIC,WAAW,EAAEA,WAAW,CAAC;MACnE,IAAImB,KAAA,CAAKiC,gBAAgB,IAAI7F,QAAQ,GAAG,CAAC,EAAE;QACzC0B,mBAAmB,CAAC;UAClBE,IAAI,EAAJA,IAAI;UACJ7B,QAAQ,MAAAuE,MAAA,CAAMV,KAAA,CAAKkC,EAAE,OAAAxB,MAAA,CAAIvE,QAAQ,CAAE;UACnC8B,OAAO,EAAPA,OAAO;UACP7B,QAAQ,EAAEA,QAAQ,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG;UAClC8B,WAAW,EAAXA,WAAW;UACXC,mBAAmB,EAAnBA,mBAAmB;UACnBC,YAAY,EAAZA;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAAAuC,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAEoB,YAAM;MACzB,IAAAmC,cAAA,GAAgDnC,KAAA,CAAKwB,OAAO;QAApDpF,QAAQ,GAAA+F,cAAA,CAAR/F,QAAQ;QAAEE,KAAK,GAAA6F,cAAA,CAAL7F,KAAK;QAAED,QAAQ,GAAA8F,cAAA,CAAR9F,QAAQ;QAAEE,QAAQ,GAAA4F,cAAA,CAAR5F,QAAQ;MAC3CyD,KAAA,CAAKiC,gBAAgB,GAAG,KAAK;MAC7B,IAAI7F,QAAQ,GAAG,CAAC,EAAE;QAChBH,kBAAkB,CAAC;UACjBE,QAAQ,MAAAuE,MAAA,CAAMV,KAAA,CAAKkC,EAAE,kCAA6B;UAClD9F,QAAQ,EAARA,QAAQ;UACRI,IAAI,EAAEwD,KAAA,CAAKxD,IAAI;UACfH,QAAQ,EAARA,QAAQ;UACRC,KAAK,EAALA,KAAK;UACLC,QAAQ,EAARA,QAAQ;UACRE,cAAc,EAAEuD,KAAA,CAAKvD;QACvB,CAAC,CAAC,CAAC2F,EAAE,CAAC,KAAK,EAAE,YAAM;UACjBpC,KAAA,CAAKiC,gBAAgB,GAAG,IAAI;QAC9B,CAAC,CAAC;MACJ,CAAC,MAAM;QACLjC,KAAA,CAAKiC,gBAAgB,GAAG,IAAI;MAC9B;IACF,CAAC;IAAA,OAAAjC,KAAA;EAAA;EAAAqC,YAAA,CAAA1C,SAAA;IAAA2C,GAAA;IAAAC,GAAA,EApFD,SAAAA,IAAA,EAAS;MACP,IAAAC,cAAA,GAAoB,IAAI,CAAChB,OAAO;QAAxBiB,GAAG,GAAAD,cAAA,CAAHC,GAAG;QAAEP,EAAE,GAAAM,cAAA,CAAFN,EAAE;MACf,OAAOA,EAAE,IAAIO,GAAG;IAClB;EAAC;IAAAH,GAAA;IAAAI,KAAA,EAMD,SAAAf,8BAAA,EAA4C;MAAA,IAAdR,CAAC,GAAAhB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAW,SAAA,GAAAX,SAAA,MAAG,CAAC;MAAA,IAAEkB,CAAC,GAAAlB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAW,SAAA,GAAAX,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAEf,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEsD,GAAG,EAAEtB,CAAC;UAAEuB,KAAK,EAAEzB,CAAC;UAAE0B,MAAM,EAAExB,CAAC;UAAEyB,IAAI,EAAE3B;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAmB,GAAA;IAAAI,KAAA,EAED,SAAAK,QAAA,EAAU;MACR,IAAAC,cAAA,GAAkC,IAAI,CAACxB,OAAO;QAAtCyB,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEjF,IAAI,GAAAgF,cAAA,CAAJhF,IAAI;QAAEkF,KAAK,GAAAF,cAAA,CAALE,KAAK;MAC7B,IAAIC,OAAO,GAAGlG,MAAM,CAACmG,OAAO,CAACpF,IAAI,CAAC;MAElC,IAAIkF,KAAK,CAACnH,gBAAgB,CAAC,EAAE;QAC3B,IAAMsH,IAAI,GAAG1I,KAAK,CAACsI,QAAQ,CAACK,OAAO,CAAC/H,iBAAiB,CAAC0H,QAAQ,CAAC,CAAC,CAACM,MAAM,CAAC,UAACC,GAAG,EAAEC,KAAK,EAAK;UACtF,IAAI,cAAA9I,KAAK,CAAC+I,cAAc,CAACD,KAAK,CAAC,IAAIA,KAAK,CAACE,IAAI,KAAKC,KAAK,CAACC,GAAG,EAAE;YAC3DL,GAAG,CAACM,IAAI,CAACL,KAAK,CAACzC,KAAK,CAAC+C,OAAO,CAAC;UAC/B;UACA,OAAOP,GAAG;QACZ,CAAC,EAAE,EAAE,CAAC;QACNL,OAAO,GAAGlG,MAAM,CAACmG,OAAO,CAACpF,IAAI,CAAC,CAC3BgG,MAAM,CAAC,UAAAC,MAAA;UAAA,IAAAC,MAAA,GAAA3F,cAAA,CAAA0F,MAAA;YAAE3B,GAAG,GAAA4B,MAAA;YAAExB,KAAK,GAAAwB,MAAA;UAAA,OAAMb,IAAI,CAACc,QAAQ,CAAC7B,GAAG,CAAC,IAAII,KAAK,GAAG,CAAC;QAAA,EAAC,CACzD0B,IAAI,CAAC,UAAAC,MAAA,EAAAC,MAAA;UAAA,IAAAC,MAAA,GAAAhG,cAAA,CAAA8F,MAAA;YAAEG,CAAC,GAAAD,MAAA;UAAA,IAAAE,MAAA,GAAAlG,cAAA,CAAA+F,MAAA;YAAII,CAAC,GAAAD,MAAA;UAAA,OAAOpB,IAAI,CAACsB,OAAO,CAACH,CAAC,CAAC,GAAGnB,IAAI,CAACsB,OAAO,CAACD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAA,CAAC,CAAC;MACrE;MACA,IAAME,QAAQ,GACZzB,OAAO,CAACI,MAAM,CAAC,UAACC,GAAG,EAAEqB,GAAG,EAAK;QAC3B,IAAIA,GAAG,CAAC,CAAC,CAAC,EAAErB,GAAG,IAAIqB,GAAG,CAAC,CAAC,CAAC;QACzB,OAAOrB,GAAG;MACZ,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;MACbL,OAAO,GAAGA,OAAO,CAAC2B,GAAG,CAAC,UAAC9H,CAAC,EAAK;QAC3B,IAAIA,CAAC,CAAC,CAAC,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,GAAG4H,QAAQ,EAAE5H,CAAC,CAAC,CAAC,CAAC,GAAG4H,QAAQ;QAC5C,OAAO5H,CAAC;MACV,CAAC,CAAC;MACF,OAAOkG,KAAK,CAACC,OAAO,CAAC;IACvB;EAAC;IAAAb,GAAA;IAAAI,KAAA,EAgDD,SAAAqC,YAAY/D,KAAK,EAAEjE,GAAG,EAAE;MAAA,IAAAiI,MAAA;MACtB,IAAAC,cAAA,GAAgE,IAAI,CAACzD,OAAO;QAApElF,KAAK,GAAA2I,cAAA,CAAL3I,KAAK;QAAEC,QAAQ,GAAA0I,cAAA,CAAR1I,QAAQ;QAAE2B,WAAW,GAAA+G,cAAA,CAAX/G,WAAW;QAAEW,WAAW,GAAAoG,cAAA,CAAXpG,WAAW;QAAExC,QAAQ,GAAA4I,cAAA,CAAR5I,QAAQ;MAC3D,IAAQ0F,MAAM,GAAKf,KAAK,CAAhBe,MAAM;MACd,IAAM/D,IAAI,GAAG,IAAI,CAACxB,IAAI,CAAC0I,IAAI,CAAC,UAACnK,GAAG;QAAA,OAAKA,GAAG,CAACiD,IAAI,CAAC,CAAC,CAAC,KAAKgD,KAAK,CAAC+C,OAAO;MAAA,EAAC;MACnE,IAAIhC,MAAM,EAAE;QACV,IAAI,CAACtF,cAAc,GAAGM,GAAG;MAC3B;MACA,IAAMkE,YAAY,GAAG;QACnB8C,OAAO,EAAE/C,KAAK,CAAC+C,OAAO;QACtBoB,IAAI,EAAEnE,KAAK,CAACmE,IAAI;QAChBC,KAAK,EAAEpE,KAAK,CAACoE,KAAK;QAClBrD,MAAM,EAAEf,KAAK,CAACe,MAAM;QACpBsD,WAAW,EAAErE,KAAK,CAACqE;MACrB,CAAC;MAED,OAAO;QACLrH,IAAI,EAAJA,IAAI;QACJ1B,KAAK,EAALA,KAAK;QACLC,QAAQ,EAARA,QAAQ;QACR2B,WAAW,EAAXA,WAAW;QACXW,WAAW,EAAXA,WAAW;QACXxC,QAAQ,EAARA,QAAQ;QACRiJ,mBAAmB,EAAE,IAAI,CAACC,kBAAkB;QAC5CC,WAAW,EAAE,IAAI,CAACC,kBAAkB,CAAC,IAAI,EAAEzE,KAAK,EAAEC,YAAY,CAAC;QAC/DyE,YAAY,EAAE,IAAI,CAACD,kBAAkB,CAAC,KAAK,EAAEzE,KAAK,EAAEC,YAAY,CAAC;QACjE0E,WAAW,EAAE,SAAAA,YAACC,CAAC,EAAK;UAClB,IAAI,CAAC7D,MAAM,EAAE;YACXiD,MAAI,CAACO,kBAAkB,CAAC;cACtBxD,MAAM,EAAE,IAAI;cACZ/D,IAAI,EAAJA,IAAI;cACJ7B,QAAQ,UAAAuE,MAAA,CAASkF,CAAC,CAACC,MAAM,CAACC,YAAY,CAAC,GAAG,CAAC,QAAI;cAC/C7H,OAAO,EAAE2H,CAAC,CAACC;YACb,CAAC,CAAC;UACJ;QACF,CAAC;QACDE,UAAU,EAAE,SAAAA,WAACH,CAAC,EAAK;UACjB,IAAI,CAAC7D,MAAM,EAAE;YACXiD,MAAI,CAACO,kBAAkB,CAAC;cACtBxD,MAAM,EAAE,KAAK;cACb/D,IAAI,EAAJA,IAAI;cACJ7B,QAAQ,UAAAuE,MAAA,CAASkF,CAAC,CAACC,MAAM,CAACC,YAAY,CAAC,GAAG,CAAC,QAAI;cAC/C7H,OAAO,EAAE2H,CAAC,CAACC;YACb,CAAC,CAAC;UACJ;QACF;MACF,CAAC;IACH;EAAC;IAAAvD,GAAA;IAAAI,KAAA,EAED,SAAAsD,kBAAA,EAAoB;MAClB,IAAQ1J,KAAK,GAAK,IAAI,CAACkF,OAAO,CAAtBlF,KAAK;MACb,OAAO;QACLA,KAAK,EAALA;MACF,CAAC;IACH;EAAC;IAAAgG,GAAA;IAAAI,KAAA,EAED,SAAAuD,mBAAmBC,SAAS,EAAE;MAC5B,IAAQlI,IAAI,GAAK,IAAI,CAACwD,OAAO,CAArBxD,IAAI;MACZ,IAAIkI,SAAS,CAACC,UAAU,CAACnI,IAAI,KAAKA,IAAI,EAAE;QACtC,IAAI,CAACoI,kBAAkB,EAAE;MAC3B;IACF;EAAC;IAAA9D,GAAA;IAAAI,KAAA,EAED,SAAA2D,kBAAA,EAAoB;MAClB,IAAI,CAACD,kBAAkB,EAAE;IAC3B;EAAC;IAAA9D,GAAA;IAAAI,KAAA,EAED,SAAA4D,OAAA,EAAS;MACP,IAAAC,cAAA,GAA2B,IAAI,CAAC/E,OAAO;QAA/BnF,QAAQ,GAAAkK,cAAA,CAARlK,QAAQ;QAAE6C,IAAI,GAAAqH,cAAA,CAAJrH,IAAI;MACtB,IAAI,CAACsC,OAAO,CAACgF,gBAAgB,CAACC,iBAAiB,CAAC,YAAY,CAAC;MAC7D,IAAAC,MAAA,GAAAnI,cAAA,CAAwBW,IAAI;QAArBE,KAAK,GAAAsH,MAAA;QAAErH,MAAM,GAAAqH,MAAA;MACpB,IAAMC,OAAO,GAAG,IAAI,CAACA,OAAO;MAC5B,IAAMC,CAAC,GAAGvK,QAAQ,GAAG,CAAC,GAAG,CAAC;MAC1B,IAAI,CAACG,IAAI,GAAG,IAAI,CAACuG,OAAO,EAAE;MAC1B,oBACEpI,KAAA,CAAAc,aAAA,CAACkL,OAAO;QACN,mBAAW;QACXzE,EAAE,EAAE,IAAI,CAACA,EAAG;QACZoE,MAAM,EAAC,GAAG;QACVO,gBAAgB,EAAC,QAAQ;QACzBC,SAAS,eAAApG,MAAA,CAAetB,KAAK,GAAG,CAAC,OAAAsB,MAAA,CAAIrB,MAAM,GAAGuH,CAAC;MAAI,EACnD;IAEN;EAAC;EAAA,OAAAjH,SAAA;AAAA,EA/MqBxE,SAAS;AAAAwF,eAAA,CAA3BhB,SAAS,iBACQ,OAAO;AAAAgB,eAAA,CADxBhB,SAAS,WAEE/D,KAAK;AAAA+E,eAAA,CAFhBhB,SAAS,aAGI,CAACnE,mBAAmB,EAAE,CAAC;AAAAmF,eAAA,CAHpChB,SAAS,kBAKS,UAAAoH,MAAA,EAMhB;EAAA,IAAAC,kBAAA,GAAAD,MAAA,CALJ7I,WAAW;IAAXA,WAAW,GAAA8I,kBAAA,cAAG,CAAC,GAAAA,kBAAA;IAAAC,mBAAA,GAAAF,MAAA,CACf3I,YAAY;IAAZA,YAAY,GAAA6I,mBAAA,cAAG,CAAC,GAAAA,mBAAA;IAChBpI,WAAW,GAAAkI,MAAA,CAAXlI,WAAW;IAAAqI,eAAA,GAAAH,MAAA,CACX1K,QAAQ;IAARA,QAAQ,GAAA6K,eAAA,cAAG,KAAK,GAAAA,eAAA;IACFhI,IAAI,GAAA6H,MAAA,CAAlBZ,UAAU,CAAIjH,IAAI;EAElB,IAAM5C,KAAK,GAAGvB,GAAG,EAAE,CAChB8D,WAAW,CAACA,WAAW,IAAIG,cAAc,CAAC;IAAEE,IAAI,EAAJA,IAAI;IAAE7C,QAAQ,EAARA,QAAQ;IAAEwC,WAAW,EAAXA;EAAY,CAAC,CAAC,CAAC,CAC3EX,WAAW,CAACA,WAAW,CAAC,CACxBY,QAAQ,CAACV,YAAY,CAAC;EAEzB,IAAM7B,QAAQ,GAAGxB,GAAG,EAAE,CACnB8D,WAAW,CAAC,CAACA,WAAW,IAAIG,cAAc,CAAC;IAAEE,IAAI,EAAJA,IAAI;IAAE7C,QAAQ,EAARA;EAAS,CAAC,CAAC,IAAI0C,cAAc,CAAC,CACjFb,WAAW,CAACA,WAAW,CAAC,CACxBY,QAAQ,CAACV,YAAY,CAAC;EAEzB,IAAI8E,KAAK,GAAGlI,GAAG,EAAE,CACdoJ,IAAI,CAAC,IAAI,CAAC,CACV1B,KAAK,CAAC,UAAAyE,MAAA;IAAA,IAAAC,MAAA,GAAA7I,cAAA,CAAA4I,MAAA;MAAIzE,KAAK,GAAA0E,MAAA;IAAA,OAAM1E,KAAK;EAAA,EAAC;EAC9BQ,KAAK,CAACnH,gBAAgB,CAAC,GAAG,IAAI;EAE9B,IAAIM,QAAQ,EAAE;IACZ6G,KAAK,GAAGA,KAAK,CAACzF,UAAU,CAAC,CAACJ,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC,CAACI,QAAQ,CAACL,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC;EAC9D;EACA,OAAO;IACL4F,KAAK,EAALA,KAAK;IACL5G,KAAK,EAALA,KAAK;IACLC,QAAQ,EAARA,QAAQ;IACRH,QAAQ,EAAE,GAAG;IACbgC,YAAY,EAAZA;EACF,CAAC;AACH,CAAC;AA6KH,SAASyF,GAAGA,CAAAwD,MAAA,EAiBT;EAAA,IAAAC,KAAA;EAAA,IAhBQC,IAAI,GAAAF,MAAA,CAAbV,OAAO;IACPa,MAAM,GAAAH,MAAA,CAANG,MAAM;IACNlL,KAAK,GAAA+K,MAAA,CAAL/K,KAAK;IACL0B,IAAI,GAAAqJ,MAAA,CAAJrJ,IAAI;IACJoH,KAAK,GAAAiC,MAAA,CAALjC,KAAK;IACLE,mBAAmB,GAAA+B,MAAA,CAAnB/B,mBAAmB;IACnBvD,MAAM,GAAAsF,MAAA,CAANtF,MAAM;IACNxF,QAAQ,GAAA8K,MAAA,CAAR9K,QAAQ;IACR4I,IAAI,GAAAkC,MAAA,CAAJlC,IAAI;IACJpB,OAAO,GAAAsD,MAAA,CAAPtD,OAAO;IACPyC,gBAAgB,GAAAa,MAAA,CAAhBb,gBAAgB;IAChBnB,WAAW,GAAAgC,MAAA,CAAXhC,WAAW;IACXnH,WAAW,GAAAmJ,MAAA,CAAXnJ,WAAW;IACXW,WAAW,GAAAwI,MAAA,CAAXxI,WAAW;IACXxC,QAAQ,GAAAgL,MAAA,CAARhL,QAAQ;IACLoL,KAAK,GAAAC,wBAAA,CAAAL,MAAA,EAAAM,SAAA;EAER,IAAAC,eAAA,GAA8BjN,KAAK,CAACG,QAAQ,CAAC,KAAK,CAAC;IAAA+M,gBAAA,GAAAtJ,cAAA,CAAAqJ,eAAA;IAA5CE,OAAO,GAAAD,gBAAA;IAAEE,UAAU,GAAAF,gBAAA;EAC1B,IAAMG,MAAM,GAAGrN,KAAK,CAACE,MAAM,CAAC,IAAI,CAAC;EAEjCF,KAAK,CAACC,SAAS,CAAC,YAAM;IACpB,IAAI,CAACoN,MAAM,CAACC,OAAO,EAAE;IACrBD,MAAM,CAACC,OAAO,CAACrJ,OAAO,CAAC,eAAe,CAAC,GAAG,CAACmD,MAAM,GAAGxF,QAAQ,GAAGD,KAAK,EAAEuC,WAAW,EAAE,EAAE;;IAErF;IACA,IAAI,CAACiJ,OAAO,EAAE;MACZC,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACA,IAAIhG,MAAM,KAAKjB,SAAS,IAAIiB,MAAM,KAAK,IAAI,EAAE;MAC3CuD,mBAAmB,CAAC;QAClBvD,MAAM,EAANA,MAAM;QACN/D,IAAI,EAAJA,IAAI;QACJ7B,QAAQ,aAAAuE,MAAA,CAAY+G,KAAK,CAACtC,IAAI,QAAI;QAClClH,OAAO,EAAE+J,MAAM,CAACC;MAClB,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAAClG,MAAM,EAAEmG,OAAO,CAAClK,IAAI,CAAC,CAAC,CAAC;EAC3BrD,KAAK,CAACC,SAAS,CAAC,YAAM;IACpB,IAAI,CAACoN,MAAM,CAACC,OAAO,EAAE;IACrBD,MAAM,CAACC,OAAO,CAACrJ,OAAO,CAAC,eAAe,CAAC,GAAG,CAACmD,MAAM,GAAGxF,QAAQ,GAAGD,KAAK,EAAEuC,WAAW,EAAE,EAAE;EACvF,CAAC,EAAE,CAACkD,MAAM,EAAE7D,WAAW,EAAEW,WAAW,EAAExC,QAAQ,EAAE6L,OAAO,CAAClK,IAAI,CAAC,CAAC,CAAC;EAE/D,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;EAEtBwI,gBAAgB,CAACC,iBAAiB,CAAC,YAAY,CAAC;EAChDD,gBAAgB,CAAC2B,mBAAmB,CAACpE,OAAO,EAAEoB,IAAI,CAAC;EAEnD,OAAAmC,KAAA,GAAOjM,OAAO,CAACmM,MAAM,CAAC,eACpB7M,KAAA,CAAAc,aAAA,CAAC8L,IAAI,EAAAD,KAAA,CAAAc,EAAA;IAAA,UACI,MAAM;IAAA,OACRJ,MAAM;IAAA,SACJ5C,KAAK;IAAA,KACTrD,MAAM,GAAGxF,QAAQ,CAACyB,IAAI,CAAC,GAAG1B,KAAK,CAAC0B,IAAI,CAAC;IAAA,eAC3BqH;EAAW,GACxB;AAEN;AAEA,SAASgD,SAASA,CAAAC,MAAA,EAAgD;EAAA,IAAAC,KAAA;EAAA,IAApCC,UAAU,GAAAF,MAAA,CAAnB3B,OAAO;IAAca,MAAM,GAAAc,MAAA,CAANd,MAAM;IAAElL,KAAK,GAAAgM,MAAA,CAALhM,KAAK;IAAE8I,KAAK,GAAAkD,MAAA,CAALlD,KAAK;EAC5D,OAAAmD,KAAA,GAAOlN,OAAO,CAACmM,MAAM,CAAC,eACpB7M,KAAA,CAAAc,aAAA,CAAC+M,UAAU,EAAAD,KAAA,CAAAH,EAAA;IAAA,UAAQ,MAAM;IAAA,SAAQhD,KAAK;IAAA,KAAK9I,KAAK,CAAC;MAAEoB,QAAQ,EAAEL,IAAI,CAACC,EAAE,GAAG,CAAC;MAAEG,UAAU,EAAE;IAAE,CAAC;EAAC,GAAI;AAElG;AAEA,SAASgL,KAAKA,CAAAC,MAAA,EASX;EAAA,IAAAC,KAAA;EAAA,IARQC,MAAM,GAAAF,MAAA,CAAf/B,OAAO;IACPa,MAAM,GAAAkB,MAAA,CAANlB,MAAM;IACNvE,QAAQ,GAAAyF,MAAA,CAARzF,QAAQ;IACR4F,QAAQ,GAAAH,MAAA,CAARG,QAAQ;IACRC,KAAK,GAAAJ,MAAA,CAALI,KAAK;IACLtC,gBAAgB,GAAAkC,MAAA,CAAhBlC,gBAAgB;IAAAuC,QAAA,GAAAL,MAAA,CAChBvH,CAAC;IAADA,CAAC,GAAA4H,QAAA,cAAG,CAAC,GAAAA,QAAA;IAAAC,QAAA,GAAAN,MAAA,CACLrH,CAAC;IAADA,CAAC,GAAA2H,QAAA,cAAG,CAAC,GAAAA,QAAA;EAELxC,gBAAgB,CAACyC,QAAQ,CAAC,UAAU,EAAEH,KAAK,IAAID,QAAQ,CAAC;EAExD,OAAAF,KAAA,GAAOtN,OAAO,CAACmM,MAAM,CAAC,eACpB7M,KAAA,CAAAc,aAAA,CAACmN,MAAM,EAAAD,KAAA,CAAAP,EAAA;IAAA,UAAQ,MAAM;IAAA,KAAIjH,CAAC;IAAA,KAAKE,CAAC;IAAA;EAAA,iBAC9B1G,KAAA,CAAAc,aAAA,CAACwH,QAAQ,EAAA0F,KAAA,CAAAP,EAAA,iBAAG,CACL;AAEb;AAEA,IAAMc,YAAY,GAAG,SAAfA,YAAYA,CAAIlI,KAAK,EAAK;EAAA,IAAAmI,IAAA,GAAAC,YAAA;IAAAC,KAAA;EAC9B,IAAMC,aAAa,GACiC3N,OAAO;EAA3D,OAAA0N,KAAA,GAAOhO,OAAO,CAAC2F,KAAK,CAACwG,MAAM,CAAC,eAAC7M,KAAA,CAAAc,aAAA,CAAC6N,aAAa,EAAAD,KAAA,CAAAjB,EAAA,kBAAAmB,aAAA,KAAAC,YAAA;IAAA;EAAA,GAAAL,IAAA,IAAuC;AACpF,CAAC;AAED,IAAMvF,KAAK,GAAGnI,aAAa,CAACkE,SAAS,EAAE;EACrCkE,GAAG,EAAHA,GAAG;EACH4E,KAAK,EAALA,KAAK;EACLJ,SAAS,EAATA,SAAS;EACT1M,OAAO,EAAE,CAACuN,YAAY,EAAEvN,OAAO,CAAC8N,yBAAyB;AAC3D,CAAC,CAAC;AAEF,eAAe7F,KAAK"}
|
|
1
|
+
{"version":3,"file":"Donut.js","names":["React","useEffect","useRef","useState","arc","pie","interpolate","transition","Component","Root","sstyled","canUseDOM","getOriginChildren","uniqueIDEnhancement","createElement","CONSTANT","getChartDefaultColorName","Tooltip","style","_sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref6","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","_ref7","data","element","innerRadius","outerRadiusStartEnd","paddingAngle","select","_outerRadiusStartEnd","_slicedToArray","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","padAngle","increaseFactor","getOuterRadius","_ref8","size","_size","width","height","minORmax","max","min","gradToRad","grad","DonutRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","undefined","visible","props","tooltipProps","_ref9","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_ref10","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","_ref11","_ref12","includes","sort","_ref13","_ref14","_ref15","a","_ref16","b","indexOf","minValue","cur","map","getPieProps","index","_this2","_this$asProps5","resolveColor","find","name","color","transparent","$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","_ref20","_ref20$innerRadius","_ref20$paddingAngle","_ref20$halfsize","_ref21","_ref22","_ref17","_ref2","SPie","styles","other","_objectWithoutProperties","_excluded","_React$useState","_React$useState2","isMount","setIsMount","pieRef","current","Boolean","describeValueEntity","cn","EmptyData","_ref18","_ref3","SEmptyData","Label","_ref19","_ref4","SLabel","children","label","_ref19$x","_ref19$y","setTitle","DonutTooltip","_ref","arguments[0]","_ref5","SDonutTooltip","_objectSpread","_assignProps","_______childrenComponents"],"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, Root, 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, getChartDefaultColorName } from './utils';\nimport Tooltip from './Tooltip';\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 paddingAngle,\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()\n .innerRadius(innerRadius)\n .outerRadius(outerRadiusPX)\n .padAngle(paddingAngle);\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\nconst gradToRad = (grad) => (grad * Math.PI) / 180;\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 paddingAngle = 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 .padAngle(paddingAngle);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(innerRadius)\n .padAngle(paddingAngle);\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 paddingAngle,\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, value]) => keys.includes(key) && value > 0)\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, tooltipProps) => ({ 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, tooltipProps, this.virtualElement);\n };\n\n animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc, paddingAngle } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n const outerRadiusStartEnd = active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, 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,\n paddingAngle,\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, index) {\n const { d3Arc, d3ArcOut, innerRadius, outerRadius, halfsize, resolveColor } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = index;\n }\n const tooltipProps = {\n dataKey: props.dataKey,\n name: props.name,\n resolveColor,\n color: props.color || getChartDefaultColorName(index),\n active: props.active,\n transparent: props.transparent,\n };\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n innerRadius,\n outerRadius,\n halfsize,\n color: props.color || getChartDefaultColorName(index),\n resolveColor,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props, tooltipProps),\n onMouseLeave: this.bindHandlerTooltip(false, props, tooltipProps),\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 innerRadius,\n outerRadius,\n resolveColor,\n halfsize,\n ...other\n}) {\n const [isMount, setIsMount] = React.useState(false);\n const pieRef = React.useRef(null);\n\n React.useEffect(() => {\n if (!pieRef.current) return;\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, Boolean(data)]);\n React.useEffect(() => {\n if (!pieRef.current) return;\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n }, [active, innerRadius, outerRadius, halfsize, Boolean(data)]);\n\n if (!data) return null;\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={resolveColor(color)}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />,\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color, resolveColor }) {\n return sstyled(styles)(\n <SEmptyData\n render='path'\n color={resolveColor(color)}\n d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })}\n />,\n );\n}\n\nfunction Label({\n Element: SLabel,\n styles,\n Children,\n children,\n label,\n dataHintsHandler,\n x = 0,\n y = 0,\n}) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x={x} y={y} aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nconst DonutTooltip = (props) => {\n const SDonutTooltip = Root;\n return sstyled(props.styles)(<SDonutTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Donut = createElement(DonutRoot, {\n Pie,\n Label,\n EmptyData,\n Tooltip: [DonutTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Donut;\n"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,SAASC,GAAG,EAAEC,GAAG,QAAQ,UAAU;AACnC,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,SAAS,EAAEC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AACxD,OAAOC,SAAS,MAAM,8BAA8B;AACpD,OAAOC,iBAAiB,MAAM,sCAAsC;AACpE,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,QAAQ,EAAEC,wBAAwB,QAAQ,SAAS;AAC5D,OAAOC,OAAO,MAAM,WAAW;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAIhC,IAAMC,gBAAgB,GAAGC,MAAM,CAAC,kBAAkB,CAAC;AAEnD,SAASC,kBAAkBA,CAAAC,KAAA,EAQxB;EAAA,IAPDC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IACRC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IACRC,QAAQ,GAAAH,KAAA,CAARG,QAAQ;IACRC,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLC,QAAQ,GAAAL,KAAA,CAARK,QAAQ;IACRC,IAAI,GAAAN,KAAA,CAAJM,IAAI;IACJC,cAAc,GAAAP,KAAA,CAAdO,cAAc;EAEd,OAAOxB,UAAU,EAAE,CAChByB,SAAS,EAAE,CACXC,SAAS,CAACR,QAAQ,CAAC,CACnBS,SAAS,EAAE,CACX3B,UAAU,EAAE,CACZmB,QAAQ,CAACA,QAAQ,CAAC,CAClBS,SAAS,CAAC,GAAG,EAAE,UAAUC,CAAC,EAAEC,GAAG,EAAE;IAChC,IAAI,CAACP,IAAI,CAACO,GAAG,CAAC,EAAE,OAAO;MAAA,OAAM,EAAE;IAAA;IAC/B,IAAMC,CAAC,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEV,IAAI,CAACO,GAAG,CAAC,CAAC;IACtC,IAAMI,IAAI,GAAG,IAAI;IACjB,IAAMC,SAAS,GAAGf,QAAQ,GAAG,CAACgB,IAAI,CAACC,EAAE,GAAG,CAAC,GAAG,CAAC;IAC7C,IAAIC,cAAc,GAAGH,SAAS;IAC9B,IAAII,YAAY,GAAGJ,SAAS;IAC5B,IAAID,IAAI,CAACrC,GAAG,EAAE;MACZyC,cAAc,GAAGJ,IAAI,CAACrC,GAAG,CAAC2C,UAAU;MACpCD,YAAY,GAAGL,IAAI,CAACrC,GAAG,CAAC4C,QAAQ;IAClC;IACA,IAAMC,WAAW,GAAG3C,WAAW,CAACuC,cAAc,EAAEP,CAAC,CAACS,UAAU,CAAC;IAC7D,IAAMG,SAAS,GAAG5C,WAAW,CAACwC,YAAY,EAAER,CAAC,CAACU,QAAQ,CAAC;IACvD,OAAO,UAAUG,CAAC,EAAE;MAClBb,CAAC,CAACS,UAAU,GAAGE,WAAW,CAACE,CAAC,CAAC;MAC7Bb,CAAC,CAACU,QAAQ,GAAGE,SAAS,CAACC,CAAC,CAAC;MACzBV,IAAI,CAACrC,GAAG,GAAGkC,CAAC;MACZ,OAAOD,GAAG,KAAKN,cAAc,GAAGF,QAAQ,CAACY,IAAI,CAACrC,GAAG,CAAC,GAAGwB,KAAK,CAACa,IAAI,CAACrC,GAAG,CAAC;IACtE,CAAC;EACH,CAAC,CAAC;AACN;AAEA,SAASgD,mBAAmBA,CAAAC,KAAA,EAQzB;EAAA,IAPDC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IACJ7B,QAAQ,GAAA4B,KAAA,CAAR5B,QAAQ;IACR8B,OAAO,GAAAF,KAAA,CAAPE,OAAO;IACP7B,QAAQ,GAAA2B,KAAA,CAAR3B,QAAQ;IACR8B,WAAW,GAAAH,KAAA,CAAXG,WAAW;IACXC,mBAAmB,GAAAJ,KAAA,CAAnBI,mBAAmB;IACnBC,YAAY,GAAAL,KAAA,CAAZK,YAAY;EAEZ,OAAOnD,UAAU,EAAE,CAChByB,SAAS,EAAE,CACX2B,MAAM,CAAClC,QAAQ,CAAC,CAChBS,SAAS,EAAE,CACX3B,UAAU,EAAE,CACZmB,QAAQ,CAACA,QAAQ,CAAC,CAClBS,SAAS,CAAC,GAAG,EAAE,YAAY;IAC1B,IAAAyB,oBAAA,GAAAC,cAAA,CAAqBJ,mBAAmB;MAAjCK,KAAK,GAAAF,oBAAA;MAAEG,GAAG,GAAAH,oBAAA;IACjB,IAAMI,YAAY,GAAG1D,WAAW,CAACwD,KAAK,EAAEC,GAAG,CAAC;IAC5C,OAAO,UAAUZ,CAAC,EAAE;MAClB,IAAMc,aAAa,GAAGD,YAAY,CAACb,CAAC,CAAC;MACrCI,OAAO,CAACW,OAAO,CAAC,eAAe,CAAC,GAAGD,aAAa;MAChD,IAAMpC,QAAQ,GAAGzB,GAAG,EAAE,CACnBoD,WAAW,CAACA,WAAW,CAAC,CACxBW,WAAW,CAACF,aAAa,CAAC,CAC1BG,QAAQ,CAACV,YAAY,CAAC;MACzB,OAAO7B,QAAQ,CAACyB,IAAI,CAAC;IACvB,CAAC;EACH,CAAC,CAAC;AACN;AAEA,IAAMe,cAAc,GAAG,CAAC;AAExB,SAASC,cAAcA,CAAAC,KAAA,EAAqB;EAAA,IAAlBC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IAAE7C,QAAQ,GAAA4C,KAAA,CAAR5C,QAAQ;EACtC,IAAA8C,KAAA,GAAAZ,cAAA,CAAwBW,IAAI;IAArBE,KAAK,GAAAD,KAAA;IAAEE,MAAM,GAAAF,KAAA;EACpB,IAAMG,QAAQ,GAAGjD,QAAQ,GAAGgB,IAAI,CAACkC,GAAG,GAAGlC,IAAI,CAACmC,GAAG;EAC/C,OAAOF,QAAQ,CAACF,KAAK,GAAGL,cAAc,GAAG,CAAC,EAAEM,MAAM,GAAGN,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC;AAC9E;AAEA,IAAMU,SAAS,GAAG,SAAZA,SAASA,CAAIC,IAAI;EAAA,OAAMA,IAAI,GAAGrC,IAAI,CAACC,EAAE,GAAI,GAAG;AAAA;AAAC,IAE7CqC,SAAS,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,SAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,SAAA;EAAA,SAAAA,UAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,SAAA;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,qBA4CI3E,SAAS,EAAE,GAAGwF,QAAQ,CAACrF,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAAmF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,qBAChDc,SAAS;IAAAH,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,uBACP,KAAK;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAiCH,UAACe,OAAO,EAAEC,KAAK,EAAEC,YAAY;MAAA,OAAK,UAAAC,KAAA,EAAgC;QAAA,IAApBC,CAAC,GAAAD,KAAA,CAAVE,OAAO;UAAcC,CAAC,GAAAH,KAAA,CAAVI,OAAO;QAC3E,IAAQC,YAAY,GAAKvB,KAAA,CAAKwB,OAAO,CAA7BD,YAAY;QACpBvB,KAAA,CAAKyB,cAAc,CAACC,qBAAqB,GAAG1B,KAAA,CAAK2B,6BAA6B,CAACR,CAAC,EAAEE,CAAC,CAAC;QACpFrB,KAAA,CAAKyB,cAAc,CAAChG,QAAQ,CAACmG,eAAe,CAAC,GAAG,IAAI;QACpDL,YAAY,CAACM,IAAI,CAAC,kBAAkB,EAAEd,OAAO,EAAEC,KAAK,EAAEC,YAAY,EAAEjB,KAAA,CAAKyB,cAAc,CAAC;MAC1F,CAAC;IAAA;IAAAd,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAEoB,UAAA8B,MAAA,EAAyC;MAAA,IAAtC9D,IAAI,GAAA8D,MAAA,CAAJ9D,IAAI;QAAE+D,MAAM,GAAAD,MAAA,CAANC,MAAM;QAAE5F,QAAQ,GAAA2F,MAAA,CAAR3F,QAAQ;QAAE8B,OAAO,GAAA6D,MAAA,CAAP7D,OAAO;MACrD,IAAA+D,aAAA,GAAuDhC,KAAA,CAAKwB,OAAO;QAA3DpF,QAAQ,GAAA4F,aAAA,CAAR5F,QAAQ;QAAE8B,WAAW,GAAA8D,aAAA,CAAX9D,WAAW;QAAE5B,KAAK,GAAA0F,aAAA,CAAL1F,KAAK;QAAE8B,YAAY,GAAA4D,aAAA,CAAZ5D,YAAY;MAClD,IAAMS,WAAW,GAAGvC,KAAK,CAACuC,WAAW,EAAE,EAAE;MACzC,IAAMV,mBAAmB,GAAG4D,MAAM,GAC9B,CAAC,CAAC9D,OAAO,CAACW,OAAO,CAAC,eAAe,CAAC,IAAIC,WAAW,EAAEA,WAAW,GAAGE,cAAc,CAAC,GAChF,CAAC,CAACd,OAAO,CAACW,OAAO,CAAC,eAAe,CAAC,IAAIC,WAAW,EAAEA,WAAW,CAAC;MACnE,IAAImB,KAAA,CAAKiC,gBAAgB,IAAI7F,QAAQ,GAAG,CAAC,EAAE;QACzC0B,mBAAmB,CAAC;UAClBE,IAAI,EAAJA,IAAI;UACJ7B,QAAQ,MAAAuE,MAAA,CAAMV,KAAA,CAAKkC,EAAE,OAAAxB,MAAA,CAAIvE,QAAQ,CAAE;UACnC8B,OAAO,EAAPA,OAAO;UACP7B,QAAQ,EAAEA,QAAQ,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG;UAClC8B,WAAW,EAAXA,WAAW;UACXC,mBAAmB,EAAnBA,mBAAmB;UACnBC,YAAY,EAAZA;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAAAuC,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAEoB,YAAM;MACzB,IAAAmC,cAAA,GAAgDnC,KAAA,CAAKwB,OAAO;QAApDpF,QAAQ,GAAA+F,cAAA,CAAR/F,QAAQ;QAAEE,KAAK,GAAA6F,cAAA,CAAL7F,KAAK;QAAED,QAAQ,GAAA8F,cAAA,CAAR9F,QAAQ;QAAEE,QAAQ,GAAA4F,cAAA,CAAR5F,QAAQ;MAC3CyD,KAAA,CAAKiC,gBAAgB,GAAG,KAAK;MAC7B,IAAI7F,QAAQ,GAAG,CAAC,EAAE;QAChBH,kBAAkB,CAAC;UACjBE,QAAQ,MAAAuE,MAAA,CAAMV,KAAA,CAAKkC,EAAE,kCAA6B;UAClD9F,QAAQ,EAARA,QAAQ;UACRI,IAAI,EAAEwD,KAAA,CAAKxD,IAAI;UACfH,QAAQ,EAARA,QAAQ;UACRC,KAAK,EAALA,KAAK;UACLC,QAAQ,EAARA,QAAQ;UACRE,cAAc,EAAEuD,KAAA,CAAKvD;QACvB,CAAC,CAAC,CAAC2F,EAAE,CAAC,KAAK,EAAE,YAAM;UACjBpC,KAAA,CAAKiC,gBAAgB,GAAG,IAAI;QAC9B,CAAC,CAAC;MACJ,CAAC,MAAM;QACLjC,KAAA,CAAKiC,gBAAgB,GAAG,IAAI;MAC9B;IACF,CAAC;IAAA,OAAAjC,KAAA;EAAA;EAAAqC,YAAA,CAAA1C,SAAA;IAAA2C,GAAA;IAAAC,GAAA,EApFD,SAAAA,IAAA,EAAS;MACP,IAAAC,cAAA,GAAoB,IAAI,CAAChB,OAAO;QAAxBiB,GAAG,GAAAD,cAAA,CAAHC,GAAG;QAAEP,EAAE,GAAAM,cAAA,CAAFN,EAAE;MACf,OAAOA,EAAE,IAAIO,GAAG;IAClB;EAAC;IAAAH,GAAA;IAAAI,KAAA,EAMD,SAAAf,8BAAA,EAA4C;MAAA,IAAdR,CAAC,GAAAhB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAW,SAAA,GAAAX,SAAA,MAAG,CAAC;MAAA,IAAEkB,CAAC,GAAAlB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAW,SAAA,GAAAX,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAEf,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEsD,GAAG,EAAEtB,CAAC;UAAEuB,KAAK,EAAEzB,CAAC;UAAE0B,MAAM,EAAExB,CAAC;UAAEyB,IAAI,EAAE3B;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAmB,GAAA;IAAAI,KAAA,EAED,SAAAK,QAAA,EAAU;MACR,IAAAC,cAAA,GAAkC,IAAI,CAACxB,OAAO;QAAtCyB,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEjF,IAAI,GAAAgF,cAAA,CAAJhF,IAAI;QAAEkF,KAAK,GAAAF,cAAA,CAALE,KAAK;MAC7B,IAAIC,OAAO,GAAGlG,MAAM,CAACmG,OAAO,CAACpF,IAAI,CAAC;MAElC,IAAIkF,KAAK,CAACnH,gBAAgB,CAAC,EAAE;QAC3B,IAAMsH,IAAI,GAAG3I,KAAK,CAACuI,QAAQ,CAACK,OAAO,CAAChI,iBAAiB,CAAC2H,QAAQ,CAAC,CAAC,CAACM,MAAM,CAAC,UAACC,GAAG,EAAEC,KAAK,EAAK;UACtF,IAAI,cAAA/I,KAAK,CAACgJ,cAAc,CAACD,KAAK,CAAC,IAAIA,KAAK,CAACE,IAAI,KAAKC,KAAK,CAACC,GAAG,EAAE;YAC3DL,GAAG,CAACM,IAAI,CAACL,KAAK,CAACzC,KAAK,CAAC+C,OAAO,CAAC;UAC/B;UACA,OAAOP,GAAG;QACZ,CAAC,EAAE,EAAE,CAAC;QACNL,OAAO,GAAGlG,MAAM,CAACmG,OAAO,CAACpF,IAAI,CAAC,CAC3BgG,MAAM,CAAC,UAAAC,MAAA;UAAA,IAAAC,MAAA,GAAA3F,cAAA,CAAA0F,MAAA;YAAE3B,GAAG,GAAA4B,MAAA;YAAExB,KAAK,GAAAwB,MAAA;UAAA,OAAMb,IAAI,CAACc,QAAQ,CAAC7B,GAAG,CAAC,IAAII,KAAK,GAAG,CAAC;QAAA,EAAC,CACzD0B,IAAI,CAAC,UAAAC,MAAA,EAAAC,MAAA;UAAA,IAAAC,MAAA,GAAAhG,cAAA,CAAA8F,MAAA;YAAEG,CAAC,GAAAD,MAAA;UAAA,IAAAE,MAAA,GAAAlG,cAAA,CAAA+F,MAAA;YAAII,CAAC,GAAAD,MAAA;UAAA,OAAOpB,IAAI,CAACsB,OAAO,CAACH,CAAC,CAAC,GAAGnB,IAAI,CAACsB,OAAO,CAACD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAA,CAAC,CAAC;MACrE;MACA,IAAME,QAAQ,GACZzB,OAAO,CAACI,MAAM,CAAC,UAACC,GAAG,EAAEqB,GAAG,EAAK;QAC3B,IAAIA,GAAG,CAAC,CAAC,CAAC,EAAErB,GAAG,IAAIqB,GAAG,CAAC,CAAC,CAAC;QACzB,OAAOrB,GAAG;MACZ,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;MACbL,OAAO,GAAGA,OAAO,CAAC2B,GAAG,CAAC,UAAC9H,CAAC,EAAK;QAC3B,IAAIA,CAAC,CAAC,CAAC,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,GAAG4H,QAAQ,EAAE5H,CAAC,CAAC,CAAC,CAAC,GAAG4H,QAAQ;QAC5C,OAAO5H,CAAC;MACV,CAAC,CAAC;MACF,OAAOkG,KAAK,CAACC,OAAO,CAAC;IACvB;EAAC;IAAAb,GAAA;IAAAI,KAAA,EAgDD,SAAAqC,YAAY/D,KAAK,EAAEgE,KAAK,EAAE;MAAA,IAAAC,MAAA;MACxB,IAAAC,cAAA,GAA8E,IAAI,CAAC1D,OAAO;QAAlFlF,KAAK,GAAA4I,cAAA,CAAL5I,KAAK;QAAEC,QAAQ,GAAA2I,cAAA,CAAR3I,QAAQ;QAAE2B,WAAW,GAAAgH,cAAA,CAAXhH,WAAW;QAAEW,WAAW,GAAAqG,cAAA,CAAXrG,WAAW;QAAExC,QAAQ,GAAA6I,cAAA,CAAR7I,QAAQ;QAAE8I,YAAY,GAAAD,cAAA,CAAZC,YAAY;MACzE,IAAQpD,MAAM,GAAKf,KAAK,CAAhBe,MAAM;MACd,IAAM/D,IAAI,GAAG,IAAI,CAACxB,IAAI,CAAC4I,IAAI,CAAC,UAACtK,GAAG;QAAA,OAAKA,GAAG,CAACkD,IAAI,CAAC,CAAC,CAAC,KAAKgD,KAAK,CAAC+C,OAAO;MAAA,EAAC;MACnE,IAAIhC,MAAM,EAAE;QACV,IAAI,CAACtF,cAAc,GAAGuI,KAAK;MAC7B;MACA,IAAM/D,YAAY,GAAG;QACnB8C,OAAO,EAAE/C,KAAK,CAAC+C,OAAO;QACtBsB,IAAI,EAAErE,KAAK,CAACqE,IAAI;QAChBF,YAAY,EAAZA,YAAY;QACZG,KAAK,EAAEtE,KAAK,CAACsE,KAAK,IAAI5J,wBAAwB,CAACsJ,KAAK,CAAC;QACrDjD,MAAM,EAAEf,KAAK,CAACe,MAAM;QACpBwD,WAAW,EAAEvE,KAAK,CAACuE;MACrB,CAAC;MAED,OAAO;QACLvH,IAAI,EAAJA,IAAI;QACJ1B,KAAK,EAALA,KAAK;QACLC,QAAQ,EAARA,QAAQ;QACR2B,WAAW,EAAXA,WAAW;QACXW,WAAW,EAAXA,WAAW;QACXxC,QAAQ,EAARA,QAAQ;QACRiJ,KAAK,EAAEtE,KAAK,CAACsE,KAAK,IAAI5J,wBAAwB,CAACsJ,KAAK,CAAC;QACrDG,YAAY,EAAZA,YAAY;QACZK,mBAAmB,EAAE,IAAI,CAACC,kBAAkB;QAC5CC,WAAW,EAAE,IAAI,CAACC,kBAAkB,CAAC,IAAI,EAAE3E,KAAK,EAAEC,YAAY,CAAC;QAC/D2E,YAAY,EAAE,IAAI,CAACD,kBAAkB,CAAC,KAAK,EAAE3E,KAAK,EAAEC,YAAY,CAAC;QACjE4E,WAAW,EAAE,SAAAA,YAACC,CAAC,EAAK;UAClB,IAAI,CAAC/D,MAAM,EAAE;YACXkD,MAAI,CAACQ,kBAAkB,CAAC;cACtB1D,MAAM,EAAE,IAAI;cACZ/D,IAAI,EAAJA,IAAI;cACJ7B,QAAQ,UAAAuE,MAAA,CAASoF,CAAC,CAACC,MAAM,CAACC,YAAY,CAAC,GAAG,CAAC,QAAI;cAC/C/H,OAAO,EAAE6H,CAAC,CAACC;YACb,CAAC,CAAC;UACJ;QACF,CAAC;QACDE,UAAU,EAAE,SAAAA,WAACH,CAAC,EAAK;UACjB,IAAI,CAAC/D,MAAM,EAAE;YACXkD,MAAI,CAACQ,kBAAkB,CAAC;cACtB1D,MAAM,EAAE,KAAK;cACb/D,IAAI,EAAJA,IAAI;cACJ7B,QAAQ,UAAAuE,MAAA,CAASoF,CAAC,CAACC,MAAM,CAACC,YAAY,CAAC,GAAG,CAAC,QAAI;cAC/C/H,OAAO,EAAE6H,CAAC,CAACC;YACb,CAAC,CAAC;UACJ;QACF;MACF,CAAC;IACH;EAAC;IAAAzD,GAAA;IAAAI,KAAA,EAED,SAAAwD,kBAAA,EAAoB;MAClB,IAAQ5J,KAAK,GAAK,IAAI,CAACkF,OAAO,CAAtBlF,KAAK;MACb,OAAO;QACLA,KAAK,EAALA;MACF,CAAC;IACH;EAAC;IAAAgG,GAAA;IAAAI,KAAA,EAED,SAAAyD,mBAAmBC,SAAS,EAAE;MAC5B,IAAQpI,IAAI,GAAK,IAAI,CAACwD,OAAO,CAArBxD,IAAI;MACZ,IAAIoI,SAAS,CAACC,UAAU,CAACrI,IAAI,KAAKA,IAAI,EAAE;QACtC,IAAI,CAACsI,kBAAkB,EAAE;MAC3B;IACF;EAAC;IAAAhE,GAAA;IAAAI,KAAA,EAED,SAAA6D,kBAAA,EAAoB;MAClB,IAAI,CAACD,kBAAkB,EAAE;IAC3B;EAAC;IAAAhE,GAAA;IAAAI,KAAA,EAED,SAAA8D,OAAA,EAAS;MACP,IAAAC,cAAA,GAA2B,IAAI,CAACjF,OAAO;QAA/BnF,QAAQ,GAAAoK,cAAA,CAARpK,QAAQ;QAAE6C,IAAI,GAAAuH,cAAA,CAAJvH,IAAI;MACtB,IAAI,CAACsC,OAAO,CAACkF,gBAAgB,CAACC,iBAAiB,CAAC,YAAY,CAAC;MAC7D,IAAAC,MAAA,GAAArI,cAAA,CAAwBW,IAAI;QAArBE,KAAK,GAAAwH,MAAA;QAAEvH,MAAM,GAAAuH,MAAA;MACpB,IAAMC,OAAO,GAAG,IAAI,CAACA,OAAO;MAC5B,IAAMC,CAAC,GAAGzK,QAAQ,GAAG,CAAC,GAAG,CAAC;MAC1B,IAAI,CAACG,IAAI,GAAG,IAAI,CAACuG,OAAO,EAAE;MAC1B,oBACErI,KAAA,CAAAc,aAAA,CAACqL,OAAO;QACN,mBAAW;QACX3E,EAAE,EAAE,IAAI,CAACA,EAAG;QACZsE,MAAM,EAAC,GAAG;QACVO,gBAAgB,EAAC,QAAQ;QACzBC,SAAS,eAAAtG,MAAA,CAAetB,KAAK,GAAG,CAAC,OAAAsB,MAAA,CAAIrB,MAAM,GAAGyH,CAAC;MAAI,EACnD;IAEN;EAAC;EAAA,OAAAnH,SAAA;AAAA,EAlNqBzE,SAAS;AAAAyF,eAAA,CAA3BhB,SAAS,iBACQ,OAAO;AAAAgB,eAAA,CADxBhB,SAAS,WAEE/D,KAAK;AAAA+E,eAAA,CAFhBhB,SAAS,aAGI,CAACpE,mBAAmB,EAAE,CAAC;AAAAoF,eAAA,CAHpChB,SAAS,kBAKS,UAAAsH,MAAA,EAMhB;EAAA,IAAAC,kBAAA,GAAAD,MAAA,CALJ/I,WAAW;IAAXA,WAAW,GAAAgJ,kBAAA,cAAG,CAAC,GAAAA,kBAAA;IAAAC,mBAAA,GAAAF,MAAA,CACf7I,YAAY;IAAZA,YAAY,GAAA+I,mBAAA,cAAG,CAAC,GAAAA,mBAAA;IAChBtI,WAAW,GAAAoI,MAAA,CAAXpI,WAAW;IAAAuI,eAAA,GAAAH,MAAA,CACX5K,QAAQ;IAARA,QAAQ,GAAA+K,eAAA,cAAG,KAAK,GAAAA,eAAA;IACFlI,IAAI,GAAA+H,MAAA,CAAlBZ,UAAU,CAAInH,IAAI;EAElB,IAAM5C,KAAK,GAAGxB,GAAG,EAAE,CAChB+D,WAAW,CAACA,WAAW,IAAIG,cAAc,CAAC;IAAEE,IAAI,EAAJA,IAAI;IAAE7C,QAAQ,EAARA,QAAQ;IAAEwC,WAAW,EAAXA;EAAY,CAAC,CAAC,CAAC,CAC3EX,WAAW,CAACA,WAAW,CAAC,CACxBY,QAAQ,CAACV,YAAY,CAAC;EAEzB,IAAM7B,QAAQ,GAAGzB,GAAG,EAAE,CACnB+D,WAAW,CAAC,CAACA,WAAW,IAAIG,cAAc,CAAC;IAAEE,IAAI,EAAJA,IAAI;IAAE7C,QAAQ,EAARA;EAAS,CAAC,CAAC,IAAI0C,cAAc,CAAC,CACjFb,WAAW,CAACA,WAAW,CAAC,CACxBY,QAAQ,CAACV,YAAY,CAAC;EAEzB,IAAI8E,KAAK,GAAGnI,GAAG,EAAE,CACdqJ,IAAI,CAAC,IAAI,CAAC,CACV1B,KAAK,CAAC,UAAA2E,MAAA;IAAA,IAAAC,MAAA,GAAA/I,cAAA,CAAA8I,MAAA;MAAI3E,KAAK,GAAA4E,MAAA;IAAA,OAAM5E,KAAK;EAAA,EAAC;EAC9BQ,KAAK,CAACnH,gBAAgB,CAAC,GAAG,IAAI;EAE9B,IAAIM,QAAQ,EAAE;IACZ6G,KAAK,GAAGA,KAAK,CAACzF,UAAU,CAAC,CAACJ,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC,CAACI,QAAQ,CAACL,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC;EAC9D;EACA,OAAO;IACL4F,KAAK,EAALA,KAAK;IACL5G,KAAK,EAALA,KAAK;IACLC,QAAQ,EAARA,QAAQ;IACRH,QAAQ,EAAE,GAAG;IACbgC,YAAY,EAAZA;EACF,CAAC;AACH,CAAC;AAgLH,SAASyF,GAAGA,CAAA0D,MAAA,EAkBT;EAAA,IAAAC,KAAA;EAAA,IAjBQC,IAAI,GAAAF,MAAA,CAAbV,OAAO;IACPa,MAAM,GAAAH,MAAA,CAANG,MAAM;IACNpL,KAAK,GAAAiL,MAAA,CAALjL,KAAK;IACL0B,IAAI,GAAAuJ,MAAA,CAAJvJ,IAAI;IACJsH,KAAK,GAAAiC,MAAA,CAALjC,KAAK;IACLE,mBAAmB,GAAA+B,MAAA,CAAnB/B,mBAAmB;IACnBzD,MAAM,GAAAwF,MAAA,CAANxF,MAAM;IACNxF,QAAQ,GAAAgL,MAAA,CAARhL,QAAQ;IACR8I,IAAI,GAAAkC,MAAA,CAAJlC,IAAI;IACJtB,OAAO,GAAAwD,MAAA,CAAPxD,OAAO;IACP2C,gBAAgB,GAAAa,MAAA,CAAhBb,gBAAgB;IAChBnB,WAAW,GAAAgC,MAAA,CAAXhC,WAAW;IACXrH,WAAW,GAAAqJ,MAAA,CAAXrJ,WAAW;IACXW,WAAW,GAAA0I,MAAA,CAAX1I,WAAW;IACXsG,YAAY,GAAAoC,MAAA,CAAZpC,YAAY;IACZ9I,QAAQ,GAAAkL,MAAA,CAARlL,QAAQ;IACLsL,KAAK,GAAAC,wBAAA,CAAAL,MAAA,EAAAM,SAAA;EAER,IAAAC,eAAA,GAA8BpN,KAAK,CAACG,QAAQ,CAAC,KAAK,CAAC;IAAAkN,gBAAA,GAAAxJ,cAAA,CAAAuJ,eAAA;IAA5CE,OAAO,GAAAD,gBAAA;IAAEE,UAAU,GAAAF,gBAAA;EAC1B,IAAMG,MAAM,GAAGxN,KAAK,CAACE,MAAM,CAAC,IAAI,CAAC;EAEjCF,KAAK,CAACC,SAAS,CAAC,YAAM;IACpB,IAAI,CAACuN,MAAM,CAACC,OAAO,EAAE;IACrBD,MAAM,CAACC,OAAO,CAACvJ,OAAO,CAAC,eAAe,CAAC,GAAG,CAACmD,MAAM,GAAGxF,QAAQ,GAAGD,KAAK,EAAEuC,WAAW,EAAE,EAAE;;IAErF;IACA,IAAI,CAACmJ,OAAO,EAAE;MACZC,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACA,IAAIlG,MAAM,KAAKjB,SAAS,IAAIiB,MAAM,KAAK,IAAI,EAAE;MAC3CyD,mBAAmB,CAAC;QAClBzD,MAAM,EAANA,MAAM;QACN/D,IAAI,EAAJA,IAAI;QACJ7B,QAAQ,aAAAuE,MAAA,CAAYiH,KAAK,CAACtC,IAAI,QAAI;QAClCpH,OAAO,EAAEiK,MAAM,CAACC;MAClB,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACpG,MAAM,EAAEqG,OAAO,CAACpK,IAAI,CAAC,CAAC,CAAC;EAC3BtD,KAAK,CAACC,SAAS,CAAC,YAAM;IACpB,IAAI,CAACuN,MAAM,CAACC,OAAO,EAAE;IACrBD,MAAM,CAACC,OAAO,CAACvJ,OAAO,CAAC,eAAe,CAAC,GAAG,CAACmD,MAAM,GAAGxF,QAAQ,GAAGD,KAAK,EAAEuC,WAAW,EAAE,EAAE;EACvF,CAAC,EAAE,CAACkD,MAAM,EAAE7D,WAAW,EAAEW,WAAW,EAAExC,QAAQ,EAAE+L,OAAO,CAACpK,IAAI,CAAC,CAAC,CAAC;EAE/D,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;EAEtB0I,gBAAgB,CAACC,iBAAiB,CAAC,YAAY,CAAC;EAChDD,gBAAgB,CAAC2B,mBAAmB,CAACtE,OAAO,EAAEsB,IAAI,CAAC;EAEnD,OAAAmC,KAAA,GAAOpM,OAAO,CAACsM,MAAM,CAAC,eACpBhN,KAAA,CAAAc,aAAA,CAACiM,IAAI,EAAAD,KAAA,CAAAc,EAAA;IAAA,UACI,MAAM;IAAA,OACRJ,MAAM;IAAA,SACJ/C,YAAY,CAACG,KAAK,CAAC;IAAA,KACvBvD,MAAM,GAAGxF,QAAQ,CAACyB,IAAI,CAAC,GAAG1B,KAAK,CAAC0B,IAAI,CAAC;IAAA,eAC3BuH;EAAW,GACxB;AAEN;AAEA,SAASgD,SAASA,CAAAC,MAAA,EAA8D;EAAA,IAAAC,KAAA;EAAA,IAAlDC,UAAU,GAAAF,MAAA,CAAnB3B,OAAO;IAAca,MAAM,GAAAc,MAAA,CAANd,MAAM;IAAEpL,KAAK,GAAAkM,MAAA,CAALlM,KAAK;IAAEgJ,KAAK,GAAAkD,MAAA,CAALlD,KAAK;IAAEH,YAAY,GAAAqD,MAAA,CAAZrD,YAAY;EAC1E,OAAAsD,KAAA,GAAOrN,OAAO,CAACsM,MAAM,CAAC,eACpBhN,KAAA,CAAAc,aAAA,CAACkN,UAAU,EAAAD,KAAA,CAAAH,EAAA;IAAA,UACF,MAAM;IAAA,SACNnD,YAAY,CAACG,KAAK,CAAC;IAAA,KACvBhJ,KAAK,CAAC;MAAEoB,QAAQ,EAAEL,IAAI,CAACC,EAAE,GAAG,CAAC;MAAEG,UAAU,EAAE;IAAE,CAAC;EAAC,GAClD;AAEN;AAEA,SAASkL,KAAKA,CAAAC,MAAA,EASX;EAAA,IAAAC,KAAA;EAAA,IARQC,MAAM,GAAAF,MAAA,CAAf/B,OAAO;IACPa,MAAM,GAAAkB,MAAA,CAANlB,MAAM;IACNzE,QAAQ,GAAA2F,MAAA,CAAR3F,QAAQ;IACR8F,QAAQ,GAAAH,MAAA,CAARG,QAAQ;IACRC,KAAK,GAAAJ,MAAA,CAALI,KAAK;IACLtC,gBAAgB,GAAAkC,MAAA,CAAhBlC,gBAAgB;IAAAuC,QAAA,GAAAL,MAAA,CAChBzH,CAAC;IAADA,CAAC,GAAA8H,QAAA,cAAG,CAAC,GAAAA,QAAA;IAAAC,QAAA,GAAAN,MAAA,CACLvH,CAAC;IAADA,CAAC,GAAA6H,QAAA,cAAG,CAAC,GAAAA,QAAA;EAELxC,gBAAgB,CAACyC,QAAQ,CAAC,UAAU,EAAEH,KAAK,IAAID,QAAQ,CAAC;EAExD,OAAAF,KAAA,GAAOzN,OAAO,CAACsM,MAAM,CAAC,eACpBhN,KAAA,CAAAc,aAAA,CAACsN,MAAM,EAAAD,KAAA,CAAAP,EAAA;IAAA,UAAQ,MAAM;IAAA,KAAInH,CAAC;IAAA,KAAKE,CAAC;IAAA;EAAA,iBAC9B3G,KAAA,CAAAc,aAAA,CAACyH,QAAQ,EAAA4F,KAAA,CAAAP,EAAA,iBAAG,CACL;AAEb;AAEA,IAAMc,YAAY,GAAG,SAAfA,YAAYA,CAAIpI,KAAK,EAAK;EAAA,IAAAqI,IAAA,GAAAC,YAAA;IAAAC,KAAA;EAC9B,IAAMC,aAAa,GACiC7N,OAAO;EAA3D,OAAA4N,KAAA,GAAOnO,OAAO,CAAC4F,KAAK,CAAC0G,MAAM,CAAC,eAAChN,KAAA,CAAAc,aAAA,CAACgO,aAAa,EAAAD,KAAA,CAAAjB,EAAA,kBAAAmB,aAAA,KAAAC,YAAA;IAAA;EAAA,GAAAL,IAAA,IAAuC;AACpF,CAAC;AAED,IAAMzF,KAAK,GAAGpI,aAAa,CAACmE,SAAS,EAAE;EACrCkE,GAAG,EAAHA,GAAG;EACH8E,KAAK,EAALA,KAAK;EACLJ,SAAS,EAATA,SAAS;EACT5M,OAAO,EAAE,CAACyN,YAAY,EAAEzN,OAAO,CAACgO,yBAAyB;AAC3D,CAAC,CAAC;AAEF,eAAe/F,KAAK"}
|
package/lib/es6/Dots.js
CHANGED
|
@@ -7,16 +7,16 @@ import trottle from '@semcore/utils/lib/rafTrottle';
|
|
|
7
7
|
import createElement from './createElement';
|
|
8
8
|
import { eventToPoint, invert, interpolateValue } 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
|
-
"--radius": "--
|
|
15
|
-
"_hide": "
|
|
16
|
-
"_active": "
|
|
17
|
-
"_color": "
|
|
18
|
-
"--color": "--
|
|
19
|
-
"_transparent": "
|
|
10
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDots_1jwoz_gg_ .___SDot_1jwoz_gg_{transition-duration:var(--duration_1jwoz)}.___SDot_1jwoz_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:var(--radius_1jwoz);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_1jwoz_gg_.__hide_1jwoz_gg_{display:none}.___SDot_1jwoz_gg_.__active_1jwoz_gg_{r:calc(var(--radius_1jwoz)*8/6)}.___SDot_1jwoz_gg_.__color_1jwoz_gg_{fill:var(--color_1jwoz)}.___SDot_1jwoz_gg_.__transparent_1jwoz_gg_{opacity:.3}" /*__inner_css_end__*/, "1jwoz_gg_") /*__reshadow_css_end__*/, {
|
|
11
|
+
"__SDots": "___SDots_1jwoz_gg_",
|
|
12
|
+
"__SDot": "___SDot_1jwoz_gg_",
|
|
13
|
+
"--duration": "--duration_1jwoz",
|
|
14
|
+
"--radius": "--radius_1jwoz",
|
|
15
|
+
"_hide": "__hide_1jwoz_gg_",
|
|
16
|
+
"_active": "__active_1jwoz_gg_",
|
|
17
|
+
"_color": "__color_1jwoz_gg_",
|
|
18
|
+
"--color": "--color_1jwoz",
|
|
19
|
+
"_transparent": "__transparent_1jwoz_gg_"
|
|
20
20
|
});
|
|
21
21
|
var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
|
|
22
22
|
function Dots(props) {
|
|
@@ -36,7 +36,8 @@ function Dots(props) {
|
|
|
36
36
|
duration = _props$duration === void 0 ? 500 : _props$duration,
|
|
37
37
|
transparent = props.transparent,
|
|
38
38
|
_props$radius = props.radius,
|
|
39
|
-
radius = _props$radius === void 0 ? 6 : _props$radius
|
|
39
|
+
radius = _props$radius === void 0 ? 6 : _props$radius,
|
|
40
|
+
resolveColor = props.resolveColor;
|
|
40
41
|
var SDots = 'g';
|
|
41
42
|
var bisect = bisector(function (d) {
|
|
42
43
|
return d[x];
|
|
@@ -93,7 +94,7 @@ function Dots(props) {
|
|
|
93
94
|
"cy": d3.y()(d),
|
|
94
95
|
"active": active,
|
|
95
96
|
"hide": hide,
|
|
96
|
-
"color": color,
|
|
97
|
+
"color": resolveColor(color),
|
|
97
98
|
"transparent": transparent,
|
|
98
99
|
"radius": radius
|
|
99
100
|
}))));
|
package/lib/es6/Dots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dots.js","names":["bisector","React","sstyled","trottle","createElement","eventToPoint","invert","interpolateValue","style","_sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","_props$radius","radius","SDots","bisect","d","center","_React$useState","useState","_React$useState2","_slicedToArray","activeIndex","setActiveIndex","data","useMemo","filter","item","handlerMouseMoveRoot","useCallback","e","_scale","xScale","_eventToPoint","current","_eventToPoint2","pX","vX","handlerMouseLeaveRoot","useEffect","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 from 'react';\nimport { sstyled } from '@semcore/core';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { eventToPoint, invert, interpolateValue } 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 color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n radius = 6,\n } = props;\n const SDots = 'g';\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = React.useState(null);\n const data = React.useMemo(\n () => props.data.filter((item) => item[y] !== interpolateValue),\n [props.data],\n );\n\n const handlerMouseMoveRoot = React.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 = React.useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n React.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 radius={radius}\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":";;AAAA,SAASA,QAAQ,QAAQ,UAAU;AACnC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,QAAQ,eAAe;AACvC,OAAOC,OAAO,MAAM,+BAA+B;AACnD,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,YAAY,EAAEC,MAAM,EAAEC,gBAAgB,QAAQ,SAAS;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAIjE,IAAMC,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;AAE3D,SAASC,IAAIA,CAACC,KAAK,EAAE;EAAA,IAAAC,KAAA;EACnB,IACWC,IAAI,
|
|
1
|
+
{"version":3,"file":"Dots.js","names":["bisector","React","sstyled","trottle","createElement","eventToPoint","invert","interpolateValue","style","_sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","_props$radius","radius","resolveColor","SDots","bisect","d","center","_React$useState","useState","_React$useState2","_slicedToArray","activeIndex","setActiveIndex","data","useMemo","filter","item","handlerMouseMoveRoot","useCallback","e","_scale","xScale","_eventToPoint","current","_eventToPoint2","pX","vX","handlerMouseLeaveRoot","useEffect","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 from 'react';\nimport { sstyled } from '@semcore/core';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { eventToPoint, invert, interpolateValue } 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 color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n radius = 6,\n resolveColor,\n } = props;\n const SDots = 'g';\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = React.useState(null);\n const data = React.useMemo(\n () => props.data.filter((item) => item[y] !== interpolateValue),\n [props.data],\n );\n\n const handlerMouseMoveRoot = React.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 = React.useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n React.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={resolveColor(color)}\n transparent={transparent}\n radius={radius}\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":";;AAAA,SAASA,QAAQ,QAAQ,UAAU;AACnC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,QAAQ,eAAe;AACvC,OAAOC,OAAO,MAAM,+BAA+B;AACnD,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,YAAY,EAAEC,MAAM,EAAEC,gBAAgB,QAAQ,SAAS;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAIjE,IAAMC,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;AAE3D,SAASC,IAAIA,CAACC,KAAK,EAAE;EAAA,IAAAC,KAAA;EACnB,IACWC,IAAI,GAeXF,KAAK,CAfPG,OAAO;IACPC,MAAM,GAcJJ,KAAK,CAdPI,MAAM;IACNC,KAAK,GAaHL,KAAK,CAbPK,KAAK;IACLC,EAAE,GAYAN,KAAK,CAZPM,EAAE;IACFC,CAAC,GAWCP,KAAK,CAXPO,CAAC;IACDC,CAAC,GAUCR,KAAK,CAVPQ,CAAC;IACDC,YAAY,GASVT,KAAK,CATPS,YAAY;IACZC,OAAO,GAQLV,KAAK,CARPU,OAAO;IACPC,IAAI,GAOFX,KAAK,CAPPW,IAAI;IACJC,OAAO,GAMLZ,KAAK,CANPY,OAAO;IACPC,KAAK,GAKHb,KAAK,CALPa,KAAK;IAAAC,eAAA,GAKHd,KAAK,CAJPe,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,GAAG,GAAAA,eAAA;IACdE,WAAW,GAGThB,KAAK,CAHPgB,WAAW;IAAAC,aAAA,GAGTjB,KAAK,CAFPkB,MAAM;IAANA,MAAM,GAAAD,aAAA,cAAG,CAAC,GAAAA,aAAA;IACVE,YAAY,GACVnB,KAAK,CADPmB,YAAY;EAEd,IAAMC,KAAK,GAAG,GAAG;EACjB,IAAMC,MAAM,GAAGlC,QAAQ,CAAC,UAACmC,CAAC;IAAA,OAAKA,CAAC,CAACf,CAAC,CAAC;EAAA,EAAC,CAACgB,MAAM;EAC3C,IAAAC,eAAA,GAAsCpC,KAAK,CAACqC,QAAQ,CAAC,IAAI,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAAnDI,WAAW,GAAAF,gBAAA;IAAEG,cAAc,GAAAH,gBAAA;EAClC,IAAMI,IAAI,GAAG1C,KAAK,CAAC2C,OAAO,CACxB;IAAA,OAAM/B,KAAK,CAAC8B,IAAI,CAACE,MAAM,CAAC,UAACC,IAAI;MAAA,OAAKA,IAAI,CAACzB,CAAC,CAAC,KAAKd,gBAAgB;IAAA,EAAC;EAAA,GAC/D,CAACM,KAAK,CAAC8B,IAAI,CAAC,CACb;EAED,IAAMI,oBAAoB,GAAG9C,KAAK,CAAC+C,WAAW,CAC5C7C,OAAO,CAAC,UAAC8C,CAAC,EAAK;IACb,IAAAC,MAAA,GAAAV,cAAA,CAAiBd,KAAK;MAAfyB,MAAM,GAAAD,MAAA;IACb,IAAAE,aAAA,GAAa/C,YAAY,CAAC4C,CAAC,EAAExB,OAAO,CAAC4B,OAAO,CAAC;MAAAC,cAAA,GAAAd,cAAA,CAAAY,aAAA;MAAtCG,EAAE,GAAAD,cAAA;IACT,IAAME,EAAE,GAAGlD,MAAM,CAAC6C,MAAM,EAAEI,EAAE,CAAC;IAC7Bb,cAAc,CAACR,MAAM,CAACS,IAAI,EAAEa,EAAE,CAAC,CAAC;EAClC,CAAC,CAAC,EACF,CAAC9B,KAAK,EAAEiB,IAAI,CAAC,CACd;EAED,IAAMc,qBAAqB,GAAGxD,KAAK,CAAC+C,WAAW,CAC7C7C,OAAO,CAAC,YAAM;IACZuC,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC,CAAC,EACF,EAAE,CACH;EAEDzC,KAAK,CAACyD,SAAS,CAAC,YAAM;IACpB,IAAMC,wBAAwB,GAAGrC,YAAY,CAACsC,SAAS,CAAC,kBAAkB,EAAE,UAACX,CAAC,EAAK;MACjFA,CAAC,CAACY,OAAO,EAAE;MACXd,oBAAoB,CAACE,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,IAAMa,yBAAyB,GAAGxC,YAAY,CAACsC,SAAS,CACtD,mBAAmB,EACnBH,qBAAqB,CACtB;IAED,OAAO,YAAM;MACXE,wBAAwB,EAAE;MAC1BG,yBAAyB,EAAE;IAC7B,CAAC;EACH,CAAC,EAAE,CAACxC,YAAY,EAAEI,KAAK,EAAEiB,IAAI,EAAEvB,CAAC,EAAEC,CAAC,CAAC,CAAC;EAErC,IAAM0C,IAAI,GAAGpB,IAAI,CAACqB,MAAM,CAAC,UAACC,GAAG,EAAE9B,CAAC,EAAE+B,CAAC,EAAK;IAAA,IAAAC,IAAA;IACtC,IAAMC,MAAM,GAAGjD,EAAE,CAACkD,OAAO,EAAE,CAAC1B,IAAI,CAACuB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAMI,MAAM,GAAGnD,EAAE,CAACkD,OAAO,EAAE,CAAC1B,IAAI,CAACuB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAMK,MAAM,GAAGL,CAAC,KAAKzB,WAAW;IAChC,IAAM+B,OAAO,GAAGjD,OAAO,IAAI2C,CAAC,KAAKzB,WAAW,IAAK,CAAC2B,MAAM,IAAI,CAACE,MAAO;IACpE,IAAI,CAACnD,EAAE,CAACkD,OAAO,EAAE,CAAClC,CAAC,CAAC,EAAE,OAAO8B,GAAG;IAChC,IAAI,CAACO,OAAO,EAAE,OAAOP,GAAG;IACxBA,GAAG,CAACQ,IAAI,EAAAN,IAAA,GACNjE,OAAO,CAACe,MAAM,CAAC,eACbhB,KAAA,CAAAG,aAAA,CAACW,IAAI,EAAAoD,IAAA,CAAAO,EAAA;MAAA;MAAA,UAAAC,MAAA,CAEKT,CAAC;MAAA,UACF,QAAQ;MAAA,WACNM,OAAO;MAAA,kBACA7D,aAAa;MAAA,SACtBwB,CAAC;MAAA,SACD+B,CAAC;MAAA,MACJ/C,EAAE,CAACC,CAAC,EAAE,CAACe,CAAC,CAAC;MAAA,MACThB,EAAE,CAACE,CAAC,EAAE,CAACc,CAAC,CAAC;MAAA,UACLoC,MAAM;MAAA,QACR/C,IAAI;MAAA,SACHQ,YAAY,CAACd,KAAK,CAAC;MAAA,eACbW,WAAW;MAAA,UAChBE;IAAM,GACd,EAEL;IACD,OAAOkC,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;EACN,OAAAnD,KAAA,GAAOZ,OAAO,CAACe,MAAM,CAAC,eAAChB,KAAA,CAAAG,aAAA,CAAC6B,KAAK,EAAAnB,KAAA,CAAA4D,EAAA;IAAA,mBAAAC,MAAA,CAAkB/C,QAAQ;EAAA,IAAOmC,IAAI,CAAS;AAC7E;AAEAnD,IAAI,CAACJ,KAAK,GAAGA,KAAK;AAElB,eAAeJ,aAAa,CAACQ,IAAI,CAAC"}
|
package/lib/es6/GroupBar.js
CHANGED
|
@@ -10,7 +10,7 @@ import createElement from './createElement';
|
|
|
10
10
|
import Bar from './Bar';
|
|
11
11
|
import HorizontalBar from './HorizontalBar';
|
|
12
12
|
import { scaleBand } from 'd3-scale';
|
|
13
|
-
import { scaleToBand } from './utils';
|
|
13
|
+
import { getChartDefaultColorName, scaleToBand } from './utils';
|
|
14
14
|
var GroupBarRoot = /*#__PURE__*/function (_Component) {
|
|
15
15
|
_inherits(GroupBarRoot, _Component);
|
|
16
16
|
var _super = _createSuper(GroupBarRoot);
|
|
@@ -42,7 +42,7 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
42
42
|
}
|
|
43
43
|
}, {
|
|
44
44
|
key: "getBarProps",
|
|
45
|
-
value: function getBarProps(_ref) {
|
|
45
|
+
value: function getBarProps(_ref, index) {
|
|
46
46
|
var y = _ref.y;
|
|
47
47
|
var _this$asProps2 = this.asProps,
|
|
48
48
|
x = _this$asProps2.x,
|
|
@@ -54,13 +54,14 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
54
54
|
return {
|
|
55
55
|
offset: [offsetX, 0],
|
|
56
56
|
width: width,
|
|
57
|
+
color: getChartDefaultColorName(index),
|
|
57
58
|
x: x,
|
|
58
59
|
groupKey: x
|
|
59
60
|
};
|
|
60
61
|
}
|
|
61
62
|
}, {
|
|
62
63
|
key: "getHorizontalBarProps",
|
|
63
|
-
value: function getHorizontalBarProps(_ref2) {
|
|
64
|
+
value: function getHorizontalBarProps(_ref2, index) {
|
|
64
65
|
var x = _ref2.x;
|
|
65
66
|
var _this$asProps3 = this.asProps,
|
|
66
67
|
y = _this$asProps3.y,
|
|
@@ -72,6 +73,7 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
72
73
|
return {
|
|
73
74
|
offset: [0, offsetY],
|
|
74
75
|
height: height,
|
|
76
|
+
color: getChartDefaultColorName(index),
|
|
75
77
|
y: y,
|
|
76
78
|
groupKey: y
|
|
77
79
|
};
|
package/lib/es6/GroupBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupBar.js","names":["React","Component","getOriginChildren","createElement","Bar","HorizontalBar","scaleBand","scaleToBand","GroupBarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getScaleGroup","_this$asProps","asProps","Children","scale","scaleGroup","x","xyScale","domain","toArray","reduce","acc","child","isValidElement","type","GroupBar","props","hide","push","y","range","bandwidth","paddingInner","paddingOuter","getBarProps","_ref","_this$asProps2","_this$asProps2$maxBar","maxBarSize","Infinity","bandWidth","width","Math","min","offsetX","offset","groupKey","getHorizontalBarProps","_ref2","_this$asProps3","_this$asProps3$maxBar","height","offsetY","render","Element","dataHintsHandler","establishDataType","childrenPosition","_defineProperty"],"sources":["../../src/GroupBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\nimport { scaleBand } from 'd3-scale';\nimport { scaleToBand } from './utils';\n\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: love that hack (by lsroman) ❤️\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === GroupBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return scaleBand()\n .range([0, scaleToBand(xyScale).bandwidth()])\n .domain(domain)\n .paddingInner(0.1)\n .paddingOuter(0.1);\n }\n\n getBarProps({ y }) {\n const { x, maxBarSize = Infinity } = this.asProps;\n\n const bandWidth = this.scaleGroup.bandwidth();\n const width = Math.min(bandWidth, maxBarSize);\n const offsetX = this.scaleGroup(y) + bandWidth / 2 - width / 2;\n\n return {\n offset: [offsetX, 0],\n width,\n x,\n groupKey: x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y, maxBarSize = Infinity } = this.asProps;\n\n const bandWidth = this.scaleGroup.bandwidth();\n const height = Math.min(bandWidth, maxBarSize);\n const offsetY = this.scaleGroup(x) + bandWidth / 2 - height / 2;\n\n return {\n offset: [0, offsetY],\n height,\n y,\n groupKey: y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n return (\n <Element aria-hidden render='g' childrenPosition='inside' scaleGroup={this.scaleGroup} />\n );\n }\n}\n\nconst GroupBar = createElement(GroupBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default GroupBar;\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,eAAe;AACzC,OAAOC,iBAAiB,MAAM,sCAAsC;AACpE,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,GAAG,MAAM,OAAO;AACvB,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,SAAS,QAAQ,UAAU;AACpC,SAASC,WAAW,QAAQ,SAAS;AAAC,
|
|
1
|
+
{"version":3,"file":"GroupBar.js","names":["React","Component","getOriginChildren","createElement","Bar","HorizontalBar","scaleBand","getChartDefaultColorName","scaleToBand","GroupBarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getScaleGroup","_this$asProps","asProps","Children","scale","scaleGroup","x","xyScale","domain","toArray","reduce","acc","child","isValidElement","type","GroupBar","props","hide","push","y","range","bandwidth","paddingInner","paddingOuter","getBarProps","_ref","index","_this$asProps2","_this$asProps2$maxBar","maxBarSize","Infinity","bandWidth","width","Math","min","offsetX","offset","color","groupKey","getHorizontalBarProps","_ref2","_this$asProps3","_this$asProps3$maxBar","height","offsetY","render","Element","dataHintsHandler","establishDataType","childrenPosition","_defineProperty"],"sources":["../../src/GroupBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\nimport { scaleBand } from 'd3-scale';\nimport { getChartDefaultColorName, scaleToBand } from './utils';\n\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: love that hack (by lsroman) ❤️\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === GroupBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return scaleBand()\n .range([0, scaleToBand(xyScale).bandwidth()])\n .domain(domain)\n .paddingInner(0.1)\n .paddingOuter(0.1);\n }\n\n getBarProps({ y }, index) {\n const { x, maxBarSize = Infinity } = this.asProps;\n\n const bandWidth = this.scaleGroup.bandwidth();\n const width = Math.min(bandWidth, maxBarSize);\n const offsetX = this.scaleGroup(y) + bandWidth / 2 - width / 2;\n\n return {\n offset: [offsetX, 0],\n width,\n color: getChartDefaultColorName(index),\n x,\n groupKey: x,\n };\n }\n\n getHorizontalBarProps({ x }, index) {\n const { y, maxBarSize = Infinity } = this.asProps;\n\n const bandWidth = this.scaleGroup.bandwidth();\n const height = Math.min(bandWidth, maxBarSize);\n const offsetY = this.scaleGroup(x) + bandWidth / 2 - height / 2;\n\n return {\n offset: [0, offsetY],\n height,\n color: getChartDefaultColorName(index),\n y,\n groupKey: y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n return (\n <Element aria-hidden render='g' childrenPosition='inside' scaleGroup={this.scaleGroup} />\n );\n }\n}\n\nconst GroupBar = createElement(GroupBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default GroupBar;\n"],"mappings":"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"}
|