@semcore/d3-chart 16.4.2 → 16.5.0-prerelease.2
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 -0
- package/README.md +4 -4
- package/lib/cjs/Area.js +11 -11
- package/lib/cjs/Axis.js +15 -15
- package/lib/cjs/Bar.js +16 -16
- package/lib/cjs/Bubble.js +15 -15
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/CompactHorizontalBar.js +21 -19
- package/lib/cjs/CompactHorizontalBar.js.map +1 -1
- package/lib/cjs/Donut.js +12 -11
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +8 -8
- package/lib/cjs/HorizontalBar.js +16 -16
- package/lib/cjs/Hover.js +7 -7
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +9 -9
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +21 -21
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +24 -24
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/Reference.js +12 -12
- package/lib/cjs/ScatterPlot.js +12 -11
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/Tooltip.js +9 -9
- package/lib/cjs/Venn.js +12 -11
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +5 -5
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/lib/cjs/component/Chart/AbstractChart.js +119 -35
- package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
- package/lib/cjs/component/Chart/AreaChart.js +5 -29
- package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
- package/lib/cjs/component/Chart/BarChart.js +5 -29
- package/lib/cjs/component/Chart/BarChart.js.map +1 -1
- package/lib/cjs/component/Chart/BubbleChart.js +0 -4
- package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
- package/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/CigaretteChart.js +96 -59
- package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/cjs/component/Chart/CigaretteChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/DonutChart.js +1 -6
- package/lib/cjs/component/Chart/DonutChart.js.map +1 -1
- package/lib/cjs/component/Chart/DonutChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/HistogramChart.js +4 -28
- package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
- package/lib/cjs/component/Chart/LineChart.js +5 -29
- package/lib/cjs/component/Chart/LineChart.js.map +1 -1
- package/lib/cjs/component/Chart/RadarChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/ScatterPlotChart.js +1 -5
- package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/cjs/component/Chart/ScatterPlotChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/VennChart.js +0 -4
- package/lib/cjs/component/Chart/VennChart.js.map +1 -1
- package/lib/cjs/component/Chart/VennChart.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/lib/cjs/style/abstract-chart.shadow.css +12 -0
- package/lib/es6/Area.js +11 -11
- package/lib/es6/Axis.js +15 -15
- package/lib/es6/Bar.js +16 -16
- package/lib/es6/Bubble.js +15 -15
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/CompactHorizontalBar.js +21 -19
- package/lib/es6/CompactHorizontalBar.js.map +1 -1
- package/lib/es6/Donut.js +12 -11
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +8 -8
- package/lib/es6/HorizontalBar.js +16 -16
- package/lib/es6/Hover.js +7 -7
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +9 -9
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +21 -21
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +24 -24
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/Reference.js +12 -12
- package/lib/es6/ScatterPlot.js +12 -11
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/Tooltip.js +9 -9
- package/lib/es6/Venn.js +12 -11
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +4 -4
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +2 -2
- package/lib/es6/component/Chart/AbstractChart.js +119 -31
- package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
- package/lib/es6/component/Chart/AreaChart.js +5 -29
- package/lib/es6/component/Chart/AreaChart.js.map +1 -1
- package/lib/es6/component/Chart/BarChart.js +5 -29
- package/lib/es6/component/Chart/BarChart.js.map +1 -1
- package/lib/es6/component/Chart/BubbleChart.js +0 -4
- package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
- package/lib/es6/component/Chart/BubbleChart.type.js.map +1 -1
- package/lib/es6/component/Chart/CigaretteChart.js +100 -61
- package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/es6/component/Chart/CigaretteChart.type.js.map +1 -1
- package/lib/es6/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
- package/lib/es6/component/Chart/DonutChart.js +1 -6
- package/lib/es6/component/Chart/DonutChart.js.map +1 -1
- package/lib/es6/component/Chart/DonutChart.type.js.map +1 -1
- package/lib/es6/component/Chart/HistogramChart.js +4 -28
- package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
- package/lib/es6/component/Chart/LineChart.js +5 -29
- package/lib/es6/component/Chart/LineChart.js.map +1 -1
- package/lib/es6/component/Chart/RadarChart.type.js.map +1 -1
- package/lib/es6/component/Chart/ScatterPlotChart.js +1 -5
- package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/es6/component/Chart/ScatterPlotChart.type.js.map +1 -1
- package/lib/es6/component/Chart/VennChart.js +0 -4
- package/lib/es6/component/Chart/VennChart.js.map +1 -1
- package/lib/es6/component/Chart/VennChart.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/lib/es6/style/abstract-chart.shadow.css +12 -0
- package/lib/esm/Area.mjs +12 -12
- package/lib/esm/Axis.mjs +16 -16
- package/lib/esm/Bar.mjs +17 -17
- package/lib/esm/Bubble.mjs +16 -16
- package/lib/esm/CompactHorizontalBar.mjs +21 -20
- package/lib/esm/Donut.mjs +12 -12
- package/lib/esm/Dots.mjs +9 -9
- package/lib/esm/HorizontalBar.mjs +17 -17
- package/lib/esm/Hover.mjs +8 -8
- package/lib/esm/Line.mjs +10 -10
- package/lib/esm/Plot.mjs +4 -4
- package/lib/esm/Radar.mjs +22 -22
- package/lib/esm/RadialTree.mjs +27 -27
- package/lib/esm/Reference.mjs +13 -13
- package/lib/esm/ScatterPlot.mjs +12 -12
- package/lib/esm/Tooltip.mjs +10 -10
- package/lib/esm/Venn.mjs +12 -12
- package/lib/esm/a11y/PlotA11yModule.mjs +5 -5
- package/lib/esm/a11y/PlotA11yView.mjs +3 -3
- package/lib/esm/component/Chart/AbstractChart.mjs +103 -19
- package/lib/esm/component/Chart/AreaChart.mjs +5 -27
- package/lib/esm/component/Chart/BarChart.mjs +6 -28
- package/lib/esm/component/Chart/BubbleChart.mjs +0 -4
- package/lib/esm/component/Chart/CigaretteChart.mjs +78 -45
- package/lib/esm/component/Chart/DonutChart.mjs +1 -4
- package/lib/esm/component/Chart/HistogramChart.mjs +5 -27
- package/lib/esm/component/Chart/LineChart.mjs +5 -27
- package/lib/esm/component/Chart/ScatterPlotChart.mjs +1 -4
- package/lib/esm/component/Chart/VennChart.mjs +0 -4
- package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +5 -5
- package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +18 -18
- package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +7 -7
- package/lib/esm/style/abstract-chart.shadow.css +12 -0
- package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
- package/lib/types/component/Chart/AbstractChart.d.ts +11 -1
- package/lib/types/component/Chart/BubbleChart.type.d.ts +1 -1
- package/lib/types/component/Chart/CigaretteChart.type.d.ts +2 -0
- package/lib/types/component/Chart/CompactHorizontalBarChart.type.d.ts +1 -1
- package/lib/types/component/Chart/DonutChart.type.d.ts +1 -1
- package/lib/types/component/Chart/RadarChart.type.d.ts +1 -1
- package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +1 -1
- package/lib/types/component/Chart/VennChart.type.d.ts +1 -1
- package/package.json +5 -5
package/lib/cjs/RadialTree.js
CHANGED
|
@@ -26,20 +26,20 @@ var _Pattern = require("./Pattern");
|
|
|
26
26
|
var _utils = require("./utils");
|
|
27
27
|
var _excluded = ["data"];
|
|
28
28
|
/*!__reshadow-styles__:"./style/radial-tree.shadow.css"*/
|
|
29
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
29
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SRadian_1sbqs_gg_{cursor:pointer;fill:var(--intergalactic-text-large-info, #008ff8)}.___SLine_1sbqs_gg_{stroke:var(--intergalactic-text-large-info, #008ff8)}.___SLine_1sbqs_gg_.__stroke_1sbqs_gg_{stroke:var(--stroke_1sbqs)}.___SLine_1sbqs_gg_.__transparent_1sbqs_gg_{opacity:.3}.___SCap_1sbqs_gg_{transition:r .1s}.___SCap_1sbqs_gg_.__pattern_1sbqs_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:1px}.___SCap_1sbqs_gg_.__transparent_1sbqs_gg_,.___SIcon_1sbqs_gg_.__transparent_1sbqs_gg_,.___SLabel_1sbqs_gg_.__transparent_1sbqs_gg_{opacity:.3}.___SLabel_1sbqs_gg_{fill:var(--color_1sbqs)}@media (hover:hover){.___SRadian_1sbqs_gg_:hover .___SLabel_1sbqs_gg_{cursor:pointer;filter:brightness(.6)}}@media (prefers-reduced-motion){.___SLineCap_1sbqs_gg_{transition:none}}", /*__inner_css_end__*/"1sbqs_gg_"),
|
|
30
30
|
/*__reshadow_css_end__*/
|
|
31
31
|
{
|
|
32
|
-
"__SRadian": "
|
|
33
|
-
"__SLine": "
|
|
34
|
-
"_stroke": "
|
|
35
|
-
"--stroke": "--
|
|
36
|
-
"_transparent": "
|
|
37
|
-
"__SCap": "
|
|
38
|
-
"_pattern": "
|
|
39
|
-
"__SIcon": "
|
|
40
|
-
"__SLabel": "
|
|
41
|
-
"--color": "--
|
|
42
|
-
"__SLineCap": "
|
|
32
|
+
"__SRadian": "___SRadian_1sbqs_gg_",
|
|
33
|
+
"__SLine": "___SLine_1sbqs_gg_",
|
|
34
|
+
"_stroke": "__stroke_1sbqs_gg_",
|
|
35
|
+
"--stroke": "--stroke_1sbqs",
|
|
36
|
+
"_transparent": "__transparent_1sbqs_gg_",
|
|
37
|
+
"__SCap": "___SCap_1sbqs_gg_",
|
|
38
|
+
"_pattern": "__pattern_1sbqs_gg_",
|
|
39
|
+
"__SIcon": "___SIcon_1sbqs_gg_",
|
|
40
|
+
"__SLabel": "___SLabel_1sbqs_gg_",
|
|
41
|
+
"--color": "--color_1sbqs",
|
|
42
|
+
"__SLineCap": "___SLineCap_1sbqs_gg_"
|
|
43
43
|
});
|
|
44
44
|
var baseAngle = -Math.PI / 2; // The top vertical line
|
|
45
45
|
|
|
@@ -523,7 +523,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
|
|
|
523
523
|
iconSize: 16,
|
|
524
524
|
textSize: 14
|
|
525
525
|
});
|
|
526
|
-
|
|
526
|
+
function InteractiveArea(_ref20) {
|
|
527
527
|
var _ref4;
|
|
528
528
|
var SInteractiveArea = _ref20.Element,
|
|
529
529
|
styles = _ref20.styles;
|
|
@@ -531,11 +531,11 @@ var InteractiveArea = function InteractiveArea(_ref20) {
|
|
|
531
531
|
"stroke": 'transparent',
|
|
532
532
|
"render": 'line'
|
|
533
533
|
}));
|
|
534
|
-
}
|
|
534
|
+
}
|
|
535
535
|
|
|
536
536
|
/** @deprecated */
|
|
537
537
|
|
|
538
|
-
|
|
538
|
+
function Line(_ref21) {
|
|
539
539
|
var _ref5;
|
|
540
540
|
var SLine = _ref21.Element,
|
|
541
541
|
styles = _ref21.styles,
|
|
@@ -547,11 +547,11 @@ var Line = function Line(_ref21) {
|
|
|
547
547
|
"stroke": resolveColor(stroke),
|
|
548
548
|
"transparent": transparent
|
|
549
549
|
}));
|
|
550
|
-
}
|
|
550
|
+
}
|
|
551
551
|
|
|
552
552
|
/** @deprecated */
|
|
553
553
|
|
|
554
|
-
|
|
554
|
+
function Cap(_ref22) {
|
|
555
555
|
var _ref7;
|
|
556
556
|
var SCap = _ref22.Element,
|
|
557
557
|
styles = _ref22.styles,
|
|
@@ -592,11 +592,11 @@ var Cap = function Cap(_ref22) {
|
|
|
592
592
|
"transparent": transparent,
|
|
593
593
|
"pattern": true
|
|
594
594
|
}));
|
|
595
|
-
}
|
|
595
|
+
}
|
|
596
596
|
|
|
597
597
|
/** @deprecated */
|
|
598
598
|
|
|
599
|
-
|
|
599
|
+
function Icon(_ref23) {
|
|
600
600
|
var _ref8;
|
|
601
601
|
var SIcon = _ref23.Element,
|
|
602
602
|
styles = _ref23.styles,
|
|
@@ -617,11 +617,11 @@ var Icon = function Icon(_ref23) {
|
|
|
617
617
|
"render": tag,
|
|
618
618
|
"transparent": transparent
|
|
619
619
|
}));
|
|
620
|
-
}
|
|
620
|
+
}
|
|
621
621
|
|
|
622
622
|
/** @deprecated */
|
|
623
623
|
|
|
624
|
-
|
|
624
|
+
function Label(_ref24) {
|
|
625
625
|
var SLabel = _ref24.Element,
|
|
626
626
|
Children = _ref24.Children,
|
|
627
627
|
styles = _ref24.styles,
|
|
@@ -663,7 +663,7 @@ var Label = function Label(_ref24) {
|
|
|
663
663
|
key: "#".concat(lineIndex, "-").concat(lineText)
|
|
664
664
|
}, lineText);
|
|
665
665
|
}), /*#__PURE__*/_react["default"].createElement(Children, null));
|
|
666
|
-
}
|
|
666
|
+
}
|
|
667
667
|
var Radian = (0, _createElement["default"])(RadialTreeRadian, {
|
|
668
668
|
InteractiveArea: InteractiveArea,
|
|
669
669
|
Line: Line,
|
|
@@ -674,7 +674,7 @@ var Radian = (0, _createElement["default"])(RadialTreeRadian, {
|
|
|
674
674
|
|
|
675
675
|
/** @deprecated */
|
|
676
676
|
|
|
677
|
-
|
|
677
|
+
function Title(_ref25) {
|
|
678
678
|
var _ref9;
|
|
679
679
|
var STitle = _ref25.Element,
|
|
680
680
|
Children = _ref25.Children,
|
|
@@ -699,7 +699,7 @@ var Title = function Title(_ref25) {
|
|
|
699
699
|
"x": x,
|
|
700
700
|
"y": y
|
|
701
701
|
}), /*#__PURE__*/_react["default"].createElement(Children, _ref9.cn("Children", {})));
|
|
702
|
-
}
|
|
702
|
+
}
|
|
703
703
|
var RadialTree = (0, _createElement["default"])(RadialTreeBase, {
|
|
704
704
|
Title: Title,
|
|
705
705
|
Radian: Radian
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialTree.js","names":["_core","require","_assignProps","_interopRequireDefault","_canUseDOM","_getOriginChildren","_uniqueID","_d3Transition","_react","_createElement","_Pattern","_utils","_excluded","style","sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","props","_this","_classCallCheck2","_callSuper2","_defineProperty2","handleRadianClick","bind","_inherits2","_createClass2","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","canUseDOM","preferReduceMotion","window","matchMedia","matches","circlesAnimation","transition","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$y","radianIndex","Number","parseInt","dataset","lineNode","from","cx","x1","baseVal","cy","y1","to","attr","_","index","_attrs$index$from","_attrs$index$from2","_attrs$index$to","_attrs$index$to2","_node$width","_node$height","_lineNode$x2","_lineNode$y2","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$y","x2","y2","_attrs2$index$from","_attrs2$index$from2","_attrs2$index$to","_attrs2$index$to2","componentDidUpdate","prevProps","$rootProps","data","componentDidMount","_this2","event","newKey","handlers","computeTextWidth","_this$asProps2","textSize","widths","_ref0","label","measureText","max","apply","_toConsumableArray2","getTitleProps","_this$asProps3","size","_size","_slicedToArray2","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties2","textWidth","_objectSpread2","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","createElement","cn","Component","uniqueIDEnhancement","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_this3","renderRadian","getInteractiveAreaProps","_ref10","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref11","_$rootProps$data2","_color","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","resolveColor","color","stroke","getCapProps","_ref13","_$rootProps$data3","_color2","_this$computeRadianPo3","_this$asProps6","patterns","getIconProps","_ref15","_$rootProps$data4","_iconColor","_iconSize","_icon","_this$computeRadianPo4","isActive","_this$asProps7","icon","getLabelProps","_ref17","_$rootProps$data5","_color3","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps8","_ref18","angle","getRadianKey","_data$key","_data$capSize","_this$asProps9","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps0","SRadian","children","getOriginChildren","_child","mergedProps","assignProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref20","_ref4","SInteractiveArea","Line","_ref21","_ref5","SLine","Cap","_ref22","_ref7","SCap","_ref22$x","_ref22$y","radius","_ref6","patternKey","getChartDefaultColorName","_getPatternSymbolSize","getPatternSymbolSize","_getPatternSymbolSize2","PatternSymbol","Icon","_ref23","_ref8","SIcon","tag","Label","_ref24","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref25","_ref9","STitle","setTitle","_default","exports"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import { Component, sstyled, type UnknownProperties, type Intergalactic } from '@semcore/core';\nimport assignProps from '@semcore/core/lib/utils/assignProps';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport type { DataHintsHandler } from './a11y/hints';\nimport createElement from './createElement';\nimport { PatternSymbol, type PatternsConfig, getPatternSymbolSize } from './Pattern';\nimport style from './style/radial-tree.shadow.css';\nimport { getChartDefaultColorName, measureText } from './utils';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\n/** @deprecated */\nexport interface IRadialTreeProps extends RadialTreeProps, UnknownProperties {}\nexport type RadialTreeProps = {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data?: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highlighted with inreased cap size.\n */\n activeKey?: string | null;\n /** Callback when active key changes */\n onActiveKeyChange?: (activeKey: string | null) => void;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n /** Enables element transparency */\n transparent?: boolean;\n};\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n labelMargin: number;\n angleOffset: number;\n transparent: boolean;\n $rootProps: RootAsProps;\n dataHintsHandler: DataHintsHandler;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 5,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ children?: React.ReactNode; render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n if (!canUseDOM()) return;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on Number.NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`)\n .interrupt();\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`)\n .interrupt();\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`)\n .interrupt();\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`)\n .interrupt();\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const radianIndex = Number.parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: {\n cx: node.dataset['cx'],\n cy: node.dataset['cy'],\n },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('cx', (_, index) => attrs[index].to?.cx!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('cy', (_, index) => attrs[index].to?.cy!);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = Number.parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x: node.dataset['x'],\n y: node.dataset['y'],\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x', (_, index) => attrs[index].from?.x!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y', (_, index) => attrs[index].from?.y!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x', (_, index) => attrs[index].to?.x!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y', (_, index) => attrs[index].to?.y!);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2: node.dataset['x2'],\n y2: node.dataset['y2'],\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x2', (_, index) => attrs[index].from?.x2!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y2', (_, index) => attrs[index].from?.y2!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x2', (_, index) => attrs[index].to?.x2!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y2', (_, index) => attrs[index].to?.y2!);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data !== this.asProps.data) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render='g'>\n <Children />\n </SRadialTree>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianProps extends RadialTreeRadianProps, UnknownProperties {}\nexport type RadialTreeRadianProps = RadialTreeProps & {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n};\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data!,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n resolveColor,\n transparent,\n ['data-x1']: xStart,\n ['data-y1']: yStart,\n ['data-x2']: xEnd,\n ['data-y2']: yEnd,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor, patterns } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n ['data-cx']: xEnd,\n ['data-cy']: yEnd,\n radius: capSize,\n color,\n resolveColor,\n transparent,\n patterns,\n uid: `${uid}-cap-${index}`,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data!, index);\n const { uid, resolveColor } = this.asProps;\n const iconColor = data!.iconColor ?? this.asProps.iconColor;\n const iconSize = data!.iconSize ?? this.asProps.iconSize;\n const icon = data!.icon ?? this.asProps.icon;\n const x = xEnd - iconSize! / 2;\n const y = yEnd - iconSize! / 2;\n return {\n x,\n y,\n ['data-x']: x,\n ['data-y']: y,\n iconSize,\n color: iconColor ?? '#fff',\n resolveColor,\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n tag: icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data!,\n index,\n );\n const { uid, textSize, transparent, resolveColor } = this.asProps;\n const { label } = data!;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n resolveColor,\n isHorizontal,\n textSize,\n transparent,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps as any);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n this.asProps.dataHintsHandler.describeValueEntity(`${index}.${data.label}`, data.label);\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian aria-hidden key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianInteractiveAreaProps\n extends RadialTreeRadianInteractiveAreaProps {}\nexport type RadialTreeRadianInteractiveAreaProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n};\n\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke='transparent' render='line' />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLineProps extends RadialTreeRadianLineProps, UnknownProperties {}\nexport type RadialTreeRadianLineProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n};\n\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n resolveColor,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={resolveColor(stroke)} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianCapProps extends RadialTreeRadianCapProps, UnknownProperties {}\nexport type RadialTreeRadianCapProps = {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n /** Enables charts patterns that enhances charts accessibility */\n patterns?: PatternsConfig;\n};\n\ntype RadialTreeRadianCapAsProps = RadialTreeRadianCapProps & {\n Element: React.FC<\n {\n render: React.FC<any> | string;\n transparent: boolean;\n patternKey?: string;\n pattern?: boolean;\n } & React.SVGProps<any>\n >;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x = 0,\n y = 0,\n radius,\n color,\n resolveColor,\n transparent,\n patterns,\n}) => {\n if (!patterns) {\n return sstyled(styles)(\n <SCap\n render='circle'\n cx={x}\n cy={y}\n r={radius}\n fill={resolveColor(color)}\n transparent={transparent!}\n />,\n ) as React.ReactElement;\n }\n\n const patternKey = color || getChartDefaultColorName(0);\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n return sstyled(styles)(\n <SCap\n render={PatternSymbol}\n patternKey={color}\n x={x - (width || 0) / 2}\n y={y - (height || 0) / 2}\n fill={resolveColor(color)}\n transparent={transparent!}\n pattern\n />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianIconProps extends RadialTreeRadianIconProps, UnknownProperties {}\nexport type RadialTreeRadianIconProps = {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n isActive?: boolean;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC; transparent: boolean } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n tag?: React.FC;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n transparent,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLabelProps\n extends RadialTreeRadianLabelProps,\n UnknownProperties {}\nexport type RadialTreeRadianLabelProps = {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n resolveColor: (color?: string) => string;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n resolveColor,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n transparent,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n 'color': resolveColor(color),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n transparent,\n });\n\n return (\n <SLabel\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\n/** @deprecated */\nexport interface IRadialTreeTitleProps extends RadialTreeTitleProps, UnknownProperties {}\nexport type RadialTreeTitleProps = {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n};\n\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n children: React.ReactNode;\n styles: React.CSSProperties;\n dataHintsHandler: DataHintsHandler;\n resolveColor: (color?: string) => string;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n resolveColor,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={resolveColor(color)}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\ntype IntergalacticD3Component<BaseTag extends Intergalactic.Tag, Props, Context = {}> = (<\n Tag extends Intergalactic.Tag = Intergalactic.Tag,\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<BaseTag, BaseTag, Props>;\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as IntergalacticD3Component<\n 'g',\n RadialTreeProps\n> & {\n Title: IntergalacticD3Component<'text', RadialTreeTitleProps>;\n Radian: IntergalacticD3Component<'g', RadialTreeRadianProps> & {\n Line: IntergalacticD3Component<'line', RadialTreeRadianLineProps>;\n Cap: IntergalacticD3Component<'circle', RadialTreeRadianCapProps>;\n Icon: IntergalacticD3Component<'g', RadialTreeRadianIconProps>;\n Label: IntergalacticD3Component<'text', RadialTreeRadianLabelProps>;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"RadialTree.js","names":["_core","require","_assignProps","_interopRequireDefault","_canUseDOM","_getOriginChildren","_uniqueID","_d3Transition","_react","_createElement","_Pattern","_utils","_excluded","style","sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","props","_this","_classCallCheck2","_callSuper2","_defineProperty2","handleRadianClick","bind","_inherits2","_createClass2","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","canUseDOM","preferReduceMotion","window","matchMedia","matches","circlesAnimation","transition","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$y","radianIndex","Number","parseInt","dataset","lineNode","from","cx","x1","baseVal","cy","y1","to","attr","_","index","_attrs$index$from","_attrs$index$from2","_attrs$index$to","_attrs$index$to2","_node$width","_node$height","_lineNode$x2","_lineNode$y2","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$y","x2","y2","_attrs2$index$from","_attrs2$index$from2","_attrs2$index$to","_attrs2$index$to2","componentDidUpdate","prevProps","$rootProps","data","componentDidMount","_this2","event","newKey","handlers","computeTextWidth","_this$asProps2","textSize","widths","_ref0","label","measureText","max","apply","_toConsumableArray2","getTitleProps","_this$asProps3","size","_size","_slicedToArray2","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties2","textWidth","_objectSpread2","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","createElement","cn","Component","uniqueIDEnhancement","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_this3","renderRadian","getInteractiveAreaProps","_ref10","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref11","_$rootProps$data2","_color","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","resolveColor","color","stroke","getCapProps","_ref13","_$rootProps$data3","_color2","_this$computeRadianPo3","_this$asProps6","patterns","getIconProps","_ref15","_$rootProps$data4","_iconColor","_iconSize","_icon","_this$computeRadianPo4","isActive","_this$asProps7","icon","getLabelProps","_ref17","_$rootProps$data5","_color3","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps8","_ref18","angle","getRadianKey","_data$key","_data$capSize","_this$asProps9","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps0","SRadian","children","getOriginChildren","_child","mergedProps","assignProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref20","_ref4","SInteractiveArea","Line","_ref21","_ref5","SLine","Cap","_ref22","_ref7","SCap","_ref22$x","_ref22$y","radius","_ref6","patternKey","getChartDefaultColorName","_getPatternSymbolSize","getPatternSymbolSize","_getPatternSymbolSize2","PatternSymbol","Icon","_ref23","_ref8","SIcon","tag","Label","_ref24","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref25","_ref9","STitle","setTitle","_default","exports"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import { Component, sstyled, type UnknownProperties, type Intergalactic } from '@semcore/core';\nimport assignProps from '@semcore/core/lib/utils/assignProps';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport type { DataHintsHandler } from './a11y/hints';\nimport createElement from './createElement';\nimport { PatternSymbol, type PatternsConfig, getPatternSymbolSize } from './Pattern';\nimport style from './style/radial-tree.shadow.css';\nimport { getChartDefaultColorName, measureText } from './utils';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\n/** @deprecated */\nexport interface IRadialTreeProps extends RadialTreeProps, UnknownProperties {}\nexport type RadialTreeProps = {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data?: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highlighted with inreased cap size.\n */\n activeKey?: string | null;\n /** Callback when active key changes */\n onActiveKeyChange?: (activeKey: string | null) => void;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n /** Enables element transparency */\n transparent?: boolean;\n};\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n labelMargin: number;\n angleOffset: number;\n transparent: boolean;\n $rootProps: RootAsProps;\n dataHintsHandler: DataHintsHandler;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 5,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ children?: React.ReactNode; render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n if (!canUseDOM()) return;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on Number.NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`)\n .interrupt();\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`)\n .interrupt();\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`)\n .interrupt();\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`)\n .interrupt();\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const radianIndex = Number.parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: {\n cx: node.dataset['cx'],\n cy: node.dataset['cy'],\n },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('cx', (_, index) => attrs[index].to?.cx!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('cy', (_, index) => attrs[index].to?.cy!);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = Number.parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x: node.dataset['x'],\n y: node.dataset['y'],\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x', (_, index) => attrs[index].from?.x!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y', (_, index) => attrs[index].from?.y!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x', (_, index) => attrs[index].to?.x!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y', (_, index) => attrs[index].to?.y!);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2: node.dataset['x2'],\n y2: node.dataset['y2'],\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x2', (_, index) => attrs[index].from?.x2!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y2', (_, index) => attrs[index].from?.y2!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x2', (_, index) => attrs[index].to?.x2!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y2', (_, index) => attrs[index].to?.y2!);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data !== this.asProps.data) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render='g'>\n <Children />\n </SRadialTree>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianProps extends RadialTreeRadianProps, UnknownProperties {}\nexport type RadialTreeRadianProps = RadialTreeProps & {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n};\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data!,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n resolveColor,\n transparent,\n ['data-x1']: xStart,\n ['data-y1']: yStart,\n ['data-x2']: xEnd,\n ['data-y2']: yEnd,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor, patterns } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n ['data-cx']: xEnd,\n ['data-cy']: yEnd,\n radius: capSize,\n color,\n resolveColor,\n transparent,\n patterns,\n uid: `${uid}-cap-${index}`,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data!, index);\n const { uid, resolveColor } = this.asProps;\n const iconColor = data!.iconColor ?? this.asProps.iconColor;\n const iconSize = data!.iconSize ?? this.asProps.iconSize;\n const icon = data!.icon ?? this.asProps.icon;\n const x = xEnd - iconSize! / 2;\n const y = yEnd - iconSize! / 2;\n return {\n x,\n y,\n ['data-x']: x,\n ['data-y']: y,\n iconSize,\n color: iconColor ?? '#fff',\n resolveColor,\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n tag: icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data!,\n index,\n );\n const { uid, textSize, transparent, resolveColor } = this.asProps;\n const { label } = data!;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n resolveColor,\n isHorizontal,\n textSize,\n transparent,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps as any);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n this.asProps.dataHintsHandler.describeValueEntity(`${index}.${data.label}`, data.label);\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian aria-hidden key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianInteractiveAreaProps\n extends RadialTreeRadianInteractiveAreaProps {}\nexport type RadialTreeRadianInteractiveAreaProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n};\n\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nfunction InteractiveArea({\n Element: SInteractiveArea,\n styles,\n}: RadialTreeRadianInteractiveAreaAsProps) {\n return sstyled(styles)(\n <SInteractiveArea stroke='transparent' render='line' />,\n ) as React.ReactElement;\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianLineProps extends RadialTreeRadianLineProps, UnknownProperties {}\nexport type RadialTreeRadianLineProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n};\n\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nfunction Line({\n Element: SLine,\n styles,\n stroke,\n resolveColor,\n transparent,\n}: RadialTreeRadianLineAsProps) {\n return sstyled(styles)(\n <SLine render='line' stroke={resolveColor(stroke)} transparent={transparent!} />,\n ) as React.ReactElement;\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianCapProps extends RadialTreeRadianCapProps, UnknownProperties {}\nexport type RadialTreeRadianCapProps = {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n /** Enables charts patterns that enhances charts accessibility */\n patterns?: PatternsConfig;\n};\n\ntype RadialTreeRadianCapAsProps = RadialTreeRadianCapProps & {\n Element: React.FC<\n {\n render: React.FC<any> | string;\n transparent: boolean;\n patternKey?: string;\n pattern?: boolean;\n } & React.SVGProps<any>\n >;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nfunction Cap({\n Element: SCap,\n styles,\n x = 0,\n y = 0,\n radius,\n color,\n resolveColor,\n transparent,\n patterns,\n}: RadialTreeRadianCapAsProps) {\n if (!patterns) {\n return sstyled(styles)(\n <SCap\n render='circle'\n cx={x}\n cy={y}\n r={radius}\n fill={resolveColor(color)}\n transparent={transparent!}\n />,\n ) as React.ReactElement;\n }\n\n const patternKey = color || getChartDefaultColorName(0);\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n return sstyled(styles)(\n <SCap\n render={PatternSymbol}\n patternKey={color}\n x={x - (width || 0) / 2}\n y={y - (height || 0) / 2}\n fill={resolveColor(color)}\n transparent={transparent!}\n pattern\n />,\n ) as React.ReactElement;\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianIconProps extends RadialTreeRadianIconProps, UnknownProperties {}\nexport type RadialTreeRadianIconProps = {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n isActive?: boolean;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC; transparent: boolean } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n tag?: React.FC;\n};\nfunction Icon({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n transparent,\n}: RadialTreeRadianIconAsProps) {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} transparent={transparent!} />,\n ) as React.ReactElement;\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianLabelProps\n extends RadialTreeRadianLabelProps,\n UnknownProperties {}\nexport type RadialTreeRadianLabelProps = {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n resolveColor: (color?: string) => string;\n};\nfunction Label({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n resolveColor,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n transparent,\n}: RadialTreeRadianLabelAsProps) {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n 'color': resolveColor(color),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n transparent,\n });\n\n return (\n <SLabel\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n}\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\n/** @deprecated */\nexport interface IRadialTreeTitleProps extends RadialTreeTitleProps, UnknownProperties {}\nexport type RadialTreeTitleProps = {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n};\n\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n children: React.ReactNode;\n styles: React.CSSProperties;\n dataHintsHandler: DataHintsHandler;\n resolveColor: (color?: string) => string;\n};\nfunction Title({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n resolveColor,\n x,\n y,\n dataHintsHandler,\n}: RadialTreeTitleAsProps) {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={resolveColor(color)}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n}\n\ntype IntergalacticD3Component<BaseTag extends Intergalactic.Tag, Props, Context = {}> = (<\n Tag extends Intergalactic.Tag = Intergalactic.Tag,\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<BaseTag, BaseTag, Props>;\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as IntergalacticD3Component<\n 'g',\n RadialTreeProps\n> & {\n Title: IntergalacticD3Component<'text', RadialTreeTitleProps>;\n Radian: IntergalacticD3Component<'g', RadialTreeRadianProps> & {\n Line: IntergalacticD3Component<'line', RadialTreeRadianLineProps>;\n Cap: IntergalacticD3Component<'circle', RadialTreeRadianCapProps>;\n Icon: IntergalacticD3Component<'g', RadialTreeRadianIconProps>;\n Label: IntergalacticD3Component<'text', RadialTreeRadianLabelProps>;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/cjs/Reference.js
CHANGED
|
@@ -18,20 +18,20 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
18
18
|
var _createElement = _interopRequireDefault(require("./createElement"));
|
|
19
19
|
var _utils = require("./utils");
|
|
20
20
|
/*!__reshadow-styles__:"./style/reference.shadow.css"*/
|
|
21
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
21
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SReferenceLine_1fsdg_gg_{fill:none;stroke:var(--intergalactic-chart-grid-y-accent-hover-line, #a9abb6)}.___STitle_1fsdg_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_1fsdg)}.___STitle_1fsdg_gg_._position_top_1fsdg_gg_{text-anchor:middle}.___STitle_1fsdg_gg_._position_bottom_1fsdg_gg_{text-anchor:middle;dominant-baseline:hanging}.___STitle_1fsdg_gg_._position_left_1fsdg_gg_,.___STitle_1fsdg_gg_._position_right_1fsdg_gg_{transform:rotate(-90deg);text-anchor:middle;dominant-baseline:middle}.___SBackground_1fsdg_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}.___SStripes_1fsdg_gg_{fill:var(--fill_1fsdg)}.___SStripesPatternPath_1fsdg_gg_{stroke:var(--intergalactic-chart-grid-period-pattern, rgba(25, 27, 35, 0.15));stroke-width:1px}", /*__inner_css_end__*/"1fsdg_gg_"),
|
|
22
22
|
/*__reshadow_css_end__*/
|
|
23
23
|
{
|
|
24
|
-
"__SReferenceLine": "
|
|
25
|
-
"__STitle": "
|
|
26
|
-
"--transform-origin": "--transform-
|
|
27
|
-
"_position_top": "
|
|
28
|
-
"_position_bottom": "
|
|
29
|
-
"_position_right": "
|
|
30
|
-
"_position_left": "
|
|
31
|
-
"__SBackground": "
|
|
32
|
-
"__SStripes": "
|
|
33
|
-
"--fill": "--
|
|
34
|
-
"__SStripesPatternPath": "
|
|
24
|
+
"__SReferenceLine": "___SReferenceLine_1fsdg_gg_",
|
|
25
|
+
"__STitle": "___STitle_1fsdg_gg_",
|
|
26
|
+
"--transform-origin": "--transform-origin_1fsdg",
|
|
27
|
+
"_position_top": "_position_top_1fsdg_gg_",
|
|
28
|
+
"_position_bottom": "_position_bottom_1fsdg_gg_",
|
|
29
|
+
"_position_right": "_position_right_1fsdg_gg_",
|
|
30
|
+
"_position_left": "_position_left_1fsdg_gg_",
|
|
31
|
+
"__SBackground": "___SBackground_1fsdg_gg_",
|
|
32
|
+
"__SStripes": "___SStripes_1fsdg_gg_",
|
|
33
|
+
"--fill": "--fill_1fsdg",
|
|
34
|
+
"__SStripesPatternPath": "___SStripesPatternPath_1fsdg_gg_"
|
|
35
35
|
});
|
|
36
36
|
var side2direction = {
|
|
37
37
|
left: 'vertical',
|
package/lib/cjs/ScatterPlot.js
CHANGED
|
@@ -22,17 +22,17 @@ var _Pattern = require("./Pattern");
|
|
|
22
22
|
var _Tooltip = _interopRequireDefault(require("./Tooltip"));
|
|
23
23
|
var _utils = require("./utils");
|
|
24
24
|
/*!__reshadow-styles__:"./style/scatterplot.shadow.css"*/
|
|
25
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
25
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SScatterPlot_1xwes_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_1xwes);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_1xwes_gg_:hover{opacity:.8}}.___SScatterPlot_1xwes_gg_.__color_1xwes_gg_{fill:var(--color_1xwes)}.___SScatterPlot_1xwes_gg_.__pattern_1xwes_gg_.__color_1xwes_gg_{fill:var(--pattern_1xwes);stroke:var(--color_1xwes);stroke-width:1px}.___SScatterPlot_1xwes_gg_.__transparent_1xwes_gg_{opacity:.3}.___SValue_1xwes_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_1xwes_gg_.__color_1xwes_gg_{stroke:var(--color_1xwes)}.___SValue_1xwes_gg_.__transparent_1xwes_gg_{opacity:.3}", /*__inner_css_end__*/"1xwes_gg_"),
|
|
26
26
|
/*__reshadow_css_end__*/
|
|
27
27
|
{
|
|
28
|
-
"__SScatterPlot": "
|
|
29
|
-
"_color": "
|
|
30
|
-
"--color": "--
|
|
31
|
-
"_pattern": "
|
|
32
|
-
"--pattern": "--
|
|
33
|
-
"_transparent": "
|
|
34
|
-
"__SValue": "
|
|
35
|
-
"--duration": "--
|
|
28
|
+
"__SScatterPlot": "___SScatterPlot_1xwes_gg_",
|
|
29
|
+
"_color": "__color_1xwes_gg_",
|
|
30
|
+
"--color": "--color_1xwes",
|
|
31
|
+
"_pattern": "__pattern_1xwes_gg_",
|
|
32
|
+
"--pattern": "--pattern_1xwes",
|
|
33
|
+
"_transparent": "__transparent_1xwes_gg_",
|
|
34
|
+
"__SValue": "___SValue_1xwes_gg_",
|
|
35
|
+
"--duration": "--duration_1xwes"
|
|
36
36
|
});
|
|
37
37
|
var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
38
38
|
function ScatterPlotRoot() {
|
|
@@ -218,14 +218,15 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
218
218
|
offset: [0, 0],
|
|
219
219
|
duration: 500
|
|
220
220
|
});
|
|
221
|
-
|
|
221
|
+
function ScatterPlotTooltip(props) {
|
|
222
222
|
var _ref = arguments[0],
|
|
223
223
|
_ref3;
|
|
224
224
|
var SScatterPlotTooltip = _Tooltip["default"];
|
|
225
225
|
return _ref3 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SScatterPlotTooltip, _ref3.cn("SScatterPlotTooltip", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
226
226
|
"excludeAnchorProps": true
|
|
227
227
|
}, _ref))));
|
|
228
|
-
}
|
|
228
|
+
}
|
|
229
|
+
;
|
|
229
230
|
var ScatterPlot = (0, _createElement["default"])(ScatterPlotRoot, {
|
|
230
231
|
Tooltip: [ScatterPlotTooltip, _Tooltip["default"]._______childrenComponents]
|
|
231
232
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterPlot.js","names":["_core","require","_canUseDOM","_interopRequireDefault","_uniqueID","_d3Transition","_react","_createElement","_Pattern","_Tooltip","_utils","style","sstyled","insert","ScatterPlotRoot","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","clientX","clientY","_this$asProps","asProps","eventEmitter","plotId","emit","_inherits2","_createClass2","key","value","generateGetBoundingClientRect","x","undefined","y","width","height","top","right","bottom","left","animationCircle","_this$asProps2","duration","uid","r","radius","getScatterPlotRadius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","prevProps","data","componentDidMount","handlerOnClick","index","_this2","e","stopPropagation","onClick","renderCircle","d","i","_ref2","_this$asProps3","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","PatternFill","render","_this$asProps4","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","Tooltip","_objectSpread2","assignProps","ScatterPlot","_______childrenComponents","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/scatterplot.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getScatterPlotRadius } from './utils';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\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, clientY }) => {\n const { eventEmitter, plotId } = this.asProps;\n\n eventEmitter.emit(`setTooltipPosition_${plotId}`, clientX, clientY);\n eventEmitter.emit(`setTooltipRenderingProps_${plotId}`, props, tooltipProps);\n eventEmitter.emit(`setTooltipVisible_${plotId}`, visible);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : getScatterPlotRadius(value);\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.data !== this.props.data) {\n this.animationCircle();\n }\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n handlerOnClick(index) {\n return (e) => {\n e.stopPropagation();\n\n const { onClick } = this.asProps;\n\n if (!onClick) return;\n\n onClick(index, e);\n };\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n r,\n offset,\n styles,\n uid,\n duration,\n value,\n valueColor,\n transparent,\n resolveColor,\n patterns,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n if (Number.isNaN(d[x]) || Number.isNaN(d[y])) {\n return null;\n }\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i, patterns })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i, patterns })}\n onClickCapture={this.handlerOnClick(i)}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\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(color)}\n pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n {d[value] !== undefined && (\n <SValue\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(valueColor)}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\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 <clipPath id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </clipPath>\n </>\n );\n }\n}\n\nconst ScatterPlotTooltip = (props) => {\n const SScatterPlotTooltip = Root;\n return sstyled(props.styles)(<SScatterPlotTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst ScatterPlot = createElement(ScatterPlotRoot, {\n Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents],\n});\n\nexport default ScatterPlot;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAH,sBAAA,CAAAF,OAAA;AAEA,IAAAM,cAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAEA,IAAAQ,QAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AAA+C;AAAA,IAAAU,KAAA,8BAAAX,KAAA,CAAAY,OAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAEzCC,eAAe,0BAAAC,UAAA;EAAA,SAAAD,gBAAA;IAAA,IAAAE,KAAA;IAAA,IAAAC,gBAAA,mBAAAH,eAAA;IAAA,SAAAI,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,OAAAQ,WAAA,mBAAAV,eAAA,KAAAW,MAAA,CAAAJ,IAAA;IAAA,IAAAK,gBAAA,aAAAV,KAAA,oBAUF,IAAAW,qBAAS,EAAC,CAAC,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,IAAAH,gBAAA,aAAAV,KAAA,wBAM5C,UAACc,OAAO,EAAEC,KAAK,EAAEC,YAAY;MAAA,OAAK,UAAAC,KAAA,EAA0B;QAAA,IAAvBC,OAAO,GAAAD,KAAA,CAAPC,OAAO;UAAEC,OAAO,GAAAF,KAAA,CAAPE,OAAO;QACxE,IAAAC,aAAA,GAAiCpB,KAAA,CAAKqB,OAAO;UAArCC,YAAY,GAAAF,aAAA,CAAZE,YAAY;UAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;QAE5BD,YAAY,CAACE,IAAI,uBAAAf,MAAA,CAAuBc,MAAM,GAAIL,OAAO,EAAEC,OAAO,CAAC;QACnEG,YAAY,CAACE,IAAI,6BAAAf,MAAA,CAA6Bc,MAAM,GAAIR,KAAK,EAAEC,YAAY,CAAC;QAC5EM,YAAY,CAACE,IAAI,sBAAAf,MAAA,CAAsBc,MAAM,GAAIT,OAAO,CAAC;MAC3D,CAAC;IAAA;IAAA,OAAAd,KAAA;EAAA;EAAA,IAAAyB,UAAA,aAAA3B,eAAA,EAAAC,UAAA;EAAA,WAAA2B,aAAA,aAAA5B,eAAA;IAAA6B,GAAA;IAAAC,KAAA,EAVD,SAAAC,6BAA6BA,CAAA,EAAe;MAAA,IAAdC,CAAC,GAAA3B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG,CAAC;MAAA,IAAE6B,CAAC,GAAA7B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAE8B,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEC,GAAG,EAAEH,CAAC;UAAEI,KAAK,EAAEN,CAAC;UAAEO,MAAM,EAAEL,CAAC;UAAEM,IAAI,EAAER;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAUD,SAAAW,eAAeA,CAAA,EAAG;MAChB,IAAAC,cAAA,GAAoC,IAAI,CAACnB,OAAO;QAAxCoB,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEC,GAAG,GAAAF,cAAA,CAAHE,GAAG;QAAEC,CAAC,GAAAH,cAAA,CAADG,CAAC;QAAEf,KAAK,GAAAY,cAAA,CAALZ,KAAK;MAC/B,IAAMgB,MAAM,GAAGD,CAAC,GAAGA,CAAC,GAAG,IAAAE,2BAAoB,EAACjB,KAAK,CAAC;MAClD,IAAMkB,UAAU,GAAG,IAAAC,wBAAU,EAAC,CAAC,CAACC,SAAS,CAAC,CAAC,CAACC,SAAS,SAAAxC,MAAA,CAASiC,GAAG,MAAG,CAAC,CAACQ,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;MAClF,IAAMC,cAAc,GAAGL,UAAU,CAACM,IAAI,CAAC,CAAC;MAExC,IAAIX,QAAQ,GAAG,CAAC,IAAIU,cAAc,EAAE;QAClCL,UAAU,CAACC,UAAU,CAAC,CAAC,CAACN,QAAQ,CAACA,QAAQ,CAAC,CAACS,IAAI,CAAC,GAAG,EAAEN,MAAM,CAAC;MAC9D;IACF;EAAC;IAAAjB,GAAA;IAAAC,KAAA,EAED,SAAAyB,kBAAkBA,CAACC,SAAS,EAAE;MAC5B,IAAIA,SAAS,CAACC,IAAI,KAAK,IAAI,CAACxC,KAAK,CAACwC,IAAI,EAAE;QACtC,IAAI,CAAChB,eAAe,CAAC,CAAC;MACxB;IACF;EAAC;IAAAZ,GAAA;IAAAC,KAAA,EAED,SAAA4B,iBAAiBA,CAAA,EAAG;MAClB,IAAI,CAACjB,eAAe,CAAC,CAAC;IACxB;EAAC;IAAAZ,GAAA;IAAAC,KAAA,EAED,SAAA6B,cAAcA,CAACC,KAAK,EAAE;MAAA,IAAAC,MAAA;MACpB,OAAO,UAACC,CAAC,EAAK;QACZA,CAAC,CAACC,eAAe,CAAC,CAAC;QAEnB,IAAQC,OAAO,GAAKH,MAAI,CAACtC,OAAO,CAAxByC,OAAO;QAEf,IAAI,CAACA,OAAO,EAAE;QAEdA,OAAO,CAACJ,KAAK,EAAEE,CAAC,CAAC;MACnB,CAAC;IACH;EAAC;IAAAjC,GAAA;IAAAC,KAAA,EAED,SAAAmC,YAAYA,CAACC,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAAC,KAAA;MACjB,IAAAC,cAAA,GAeI,IAAI,CAAC9C,OAAO;QAdd+C,KAAK,GAAAD,cAAA,CAALC,KAAK;QACLC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACLvC,CAAC,GAAAqC,cAAA,CAADrC,CAAC;QACDE,CAAC,GAAAmC,cAAA,CAADnC,CAAC;QACDW,CAAC,GAAAwB,cAAA,CAADxB,CAAC;QACD2B,MAAM,GAAAH,cAAA,CAANG,MAAM;QACNC,MAAM,GAAAJ,cAAA,CAANI,MAAM;QACN7B,GAAG,GAAAyB,cAAA,CAAHzB,GAAG;QACHD,QAAQ,GAAA0B,cAAA,CAAR1B,QAAQ;QACRb,KAAK,GAAAuC,cAAA,CAALvC,KAAK;QACL4C,UAAU,GAAAL,cAAA,CAAVK,UAAU;QACVC,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACXC,YAAY,GAAAP,cAAA,CAAZO,YAAY;QACZC,QAAQ,GAAAR,cAAA,CAARQ,QAAQ;MAEV,IAAAC,MAAA,OAAAC,eAAA,aAAyBR,KAAK;QAAvBS,MAAM,GAAAF,MAAA;QAAEG,MAAM,GAAAH,MAAA;MACrB,IAAMI,YAAY,GAAG,IAAI,CAACC,OAAO;MACjC,IAAMC,MAAM,GAAG,MAAM;MAErB,IAAIC,MAAM,CAACC,KAAK,CAACpB,CAAC,CAAClC,CAAC,CAAC,CAAC,IAAIqD,MAAM,CAACC,KAAK,CAACpB,CAAC,CAAChC,CAAC,CAAC,CAAC,EAAE;QAC5C,OAAO,IAAI;MACb;MAEA,OAAAkC,KAAA,GAAO,IAAAtE,aAAO,EAAC2E,MAAM,CAAC,eACpBjF,MAAA,YAAAuB,aAAA,MAAAqD,KAAA,CAAAmB,EAAA;QAAA;QAAA,kBAAA5E,MAAA,CAEkBwD,CAAC;QAAA,eACJ,IAAI,CAACqB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAACvE,KAAK,EAAE;UAAEwE,MAAM,EAAEtB,CAAC;UAAEP,KAAK,EAAEO,CAAC;UAAEU,QAAQ,EAARA;QAAS,CAAC,CAAC;QAAA,gBAC3E,IAAI,CAACW,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAACvE,KAAK,EAAE;UAAEwE,MAAM,EAAEtB,CAAC;UAAEP,KAAK,EAAEO,CAAC;UAAEU,QAAQ,EAARA;QAAS,CAAC,CAAC;QAAA,kBAC3E,IAAI,CAAClB,cAAc,CAACQ,CAAC;MAAC,iBAEtC3E,MAAA,YAAAuB,aAAA,CAACmE,YAAY,EAAAd,KAAA,CAAAmB,EAAA;QAAA;QAAA,SAAA5E,MAAA,CAEJiC,GAAG,EAAAjC,MAAA,CAAGwD,CAAC;QAAA,SACPA,CAAC;QAAA,UACD,QAAQ;QAAA,oBAAAxD,MAAA,CACGiC,GAAG;QAAA,MACjBoC,MAAM,CAACd,CAAC,CAAClC,CAAC,CAAC,CAAC,GAAGwC,MAAM,CAAC,CAAC,CAAC;QAAA,MACxBS,MAAM,CAACf,CAAC,CAAChC,CAAC,CAAC,CAAC,GAAGsC,MAAM,CAAC,CAAC,CAAC;QAAA,SACrBI,YAAY,CAACN,KAAK,CAAC;QAAA,WACjBO,QAAQ,WAAAlE,MAAA,CAAWiC,GAAG,OAAAjC,MAAA,CAAIwD,CAAC,iBAAclC,SAAS;QAAA,KACxDY,CAAC;QAAA,mBAAAlC,MAAA,CACagC,QAAQ;QAAA,eACZgC;MAAW,EACzB,CAAC,EACDE,QAAQ,iBACPrF,MAAA,YAAAuB,aAAA,CAACrB,QAAA,CAAAgG,WAAW,EAAAtB,KAAA,CAAAmB,EAAA;QAAA,SAAA5E,MAAA,CACHiC,GAAG,OAAAjC,MAAA,CAAIwD,CAAC;QAAA,cACHG,KAAK;QAAA,SACVM,YAAY,CAACN,KAAK,CAAC;QAAA,YAChBO;MAAQ,EACnB,CACF,EACAX,CAAC,CAACpC,KAAK,CAAC,KAAKG,SAAS,iBACrBzC,MAAA,YAAAuB,aAAA,CAACqE,MAAM,EAAAhB,KAAA,CAAAmB,EAAA;QAAA;QAAA,KAEFP,MAAM,CAACd,CAAC,CAAClC,CAAC,CAAC,CAAC,GAAGwC,MAAM,CAAC,CAAC,CAAC;QAAA,KACxBS,MAAM,CAACf,CAAC,CAAChC,CAAC,CAAC,CAAC,GAAGsC,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAA7D,MAAA,CACSiC,GAAG;QAAA,SACdgC,YAAY,CAACF,UAAU,CAAC;QAAA,eAClBC;MAAW,IAEvBT,CAAC,CAACpC,KAAK,CACF,CAET,CAAC;IAER;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAA6D,MAAMA,CAAA,EAAG;MACP,IAAAC,cAAA,GAA0C,IAAI,CAACrE,OAAO;QAA9CkC,IAAI,GAAAmC,cAAA,CAAJnC,IAAI;QAAEb,GAAG,GAAAgD,cAAA,CAAHhD,GAAG;QAAE2B,KAAK,GAAAqB,cAAA,CAALrB,KAAK;QAAEvC,CAAC,GAAA4D,cAAA,CAAD5D,CAAC;QAAEE,CAAC,GAAA0D,cAAA,CAAD1D,CAAC;QAAEJ,KAAK,GAAA8D,cAAA,CAAL9D,KAAK;MACrC,IAAA+D,OAAA,OAAAd,eAAA,aAAyBR,KAAK;QAAvBS,MAAM,GAAAa,OAAA;QAAEZ,MAAM,GAAAY,OAAA;MACrB,IAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAChB,MAAM,CAACiB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGjB,MAAM,CAACiB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMC,KAAK,GAAGH,IAAI,CAACC,GAAG,CAACf,MAAM,CAACgB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGhB,MAAM,CAACgB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAME,OAAO,GAAGJ,IAAI,CAACK,GAAG,CAACpB,MAAM,CAACiB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEjB,MAAM,CAACiB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAMI,OAAO,GAAGN,IAAI,CAACK,GAAG,CAACnB,MAAM,CAACgB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEhB,MAAM,CAACgB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAE9D,IAAI,CAAC1E,OAAO,CAAC+E,gBAAgB,CAACC,oBAAoB,CAACvE,CAAC,EAAEE,CAAC,EAAEJ,KAAK,CAAC;MAC/D,IAAI,CAACP,OAAO,CAAC+E,gBAAgB,CAACE,iBAAiB,CAAC,cAAc,CAAC;MAE/D,oBACEhH,MAAA,YAAAuB,aAAA,CAAAvB,MAAA,YAAAiH,QAAA,QACGhD,IAAI,CAACiD,GAAG,CAAC,IAAI,CAACzC,YAAY,CAAC0C,IAAI,CAAC,IAAI,CAAC,CAAC,eACvCnH,MAAA,YAAAuB,aAAA;QAAU6F,EAAE,EAAEhE;MAAI,gBAChBpD,MAAA,YAAAuB,aAAA;QAAMiB,CAAC,EAAEmE,OAAQ;QAACjE,CAAC,EAAEmE,OAAQ;QAAClE,KAAK,KAAAxB,MAAA,CAAKmF,KAAK,OAAK;QAAC1D,MAAM,KAAAzB,MAAA,CAAKuF,KAAK;MAAK,CAAE,CAClE,CACV,CAAC;IAEP;EAAC;AAAA,EApJ2BW,eAAS;AAAA,IAAAjG,gBAAA,aAAjCZ,eAAe,iBACE,aAAa;AAAA,IAAAY,gBAAA,aAD9BZ,eAAe,WAEJH,KAAK;AAAA,IAAAe,gBAAA,aAFhBZ,eAAe,aAGF,CAAC,IAAA8G,oBAAmB,EAAC,CAAC,CAAC;AAAA,IAAAlG,gBAAA,aAHpCZ,eAAe,kBAKG;EACpBwE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACd7B,QAAQ,EAAE;AACZ,CAAC;AA+IH,IAAMoE,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAI9F,KAAK,EAAK;EAAA,IAAA+F,IAAA,GAAAC,YAAA;IAAAC,KAAA;EACpC,IAAMC,mBAAmB,GACiCC,mBAAO;EAAjE,OAAAF,KAAA,GAAO,IAAApH,aAAO,EAACmB,KAAK,CAACwD,MAAM,CAAC,eAACjF,MAAA,YAAAuB,aAAA,CAACoG,mBAAmB,EAAAD,KAAA,CAAA3B,EAAA,4BAAA8B,cAAA,qBAAAnI,KAAA,CAAAoI,WAAA;IAAA;EAAA,GAAAN,IAAA,GAAsC,CAAC;AAC1F,CAAC;AAED,IAAMO,WAAW,GAAG,IAAAxG,yBAAa,EAACf,eAAe,EAAE;EACjDoH,OAAO,EAAE,CAACL,kBAAkB,EAAEK,mBAAO,CAACI,yBAAyB;AACjE,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEYH,WAAW","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ScatterPlot.js","names":["_core","require","_canUseDOM","_interopRequireDefault","_uniqueID","_d3Transition","_react","_createElement","_Pattern","_Tooltip","_utils","style","sstyled","insert","ScatterPlotRoot","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","clientX","clientY","_this$asProps","asProps","eventEmitter","plotId","emit","_inherits2","_createClass2","key","value","generateGetBoundingClientRect","x","undefined","y","width","height","top","right","bottom","left","animationCircle","_this$asProps2","duration","uid","r","radius","getScatterPlotRadius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","prevProps","data","componentDidMount","handlerOnClick","index","_this2","e","stopPropagation","onClick","renderCircle","d","i","_ref2","_this$asProps3","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","PatternFill","render","_this$asProps4","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","Tooltip","_objectSpread2","assignProps","ScatterPlot","_______childrenComponents","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/scatterplot.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getScatterPlotRadius } from './utils';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\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, clientY }) => {\n const { eventEmitter, plotId } = this.asProps;\n\n eventEmitter.emit(`setTooltipPosition_${plotId}`, clientX, clientY);\n eventEmitter.emit(`setTooltipRenderingProps_${plotId}`, props, tooltipProps);\n eventEmitter.emit(`setTooltipVisible_${plotId}`, visible);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : getScatterPlotRadius(value);\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.data !== this.props.data) {\n this.animationCircle();\n }\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n handlerOnClick(index) {\n return (e) => {\n e.stopPropagation();\n\n const { onClick } = this.asProps;\n\n if (!onClick) return;\n\n onClick(index, e);\n };\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n r,\n offset,\n styles,\n uid,\n duration,\n value,\n valueColor,\n transparent,\n resolveColor,\n patterns,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n if (Number.isNaN(d[x]) || Number.isNaN(d[y])) {\n return null;\n }\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i, patterns })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i, patterns })}\n onClickCapture={this.handlerOnClick(i)}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\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(color)}\n pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n {d[value] !== undefined && (\n <SValue\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(valueColor)}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\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 <clipPath id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </clipPath>\n </>\n );\n }\n}\n\nfunction ScatterPlotTooltip(props) {\n const SScatterPlotTooltip = Root;\n return sstyled(props.styles)(<SScatterPlotTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst ScatterPlot = createElement(ScatterPlotRoot, {\n Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents],\n});\n\nexport default ScatterPlot;\n"],"mappings":"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","ignoreList":[]}
|