@semcore/d3-chart 3.0.0-beta.0 → 3.0.0

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.
Files changed (97) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/lib/cjs/Area.js +9 -9
  3. package/lib/cjs/Axis.js +14 -14
  4. package/lib/cjs/Bar.js +8 -8
  5. package/lib/cjs/Bubble.js +33 -25
  6. package/lib/cjs/Bubble.js.map +1 -1
  7. package/lib/cjs/Donut.js +105 -89
  8. package/lib/cjs/Donut.js.map +1 -1
  9. package/lib/cjs/Dots.js +9 -9
  10. package/lib/cjs/HorizontalBar.js +8 -8
  11. package/lib/cjs/Hover.js +9 -7
  12. package/lib/cjs/Hover.js.map +1 -1
  13. package/lib/cjs/Line.js +8 -8
  14. package/lib/cjs/Plot.js +3 -3
  15. package/lib/cjs/Radar.js +22 -21
  16. package/lib/cjs/Radar.js.map +1 -1
  17. package/lib/cjs/RadialTree.js +75 -74
  18. package/lib/cjs/RadialTree.js.map +1 -1
  19. package/lib/cjs/ReferenceLine.js +9 -9
  20. package/lib/cjs/ResponsiveContainer.js +1 -2
  21. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  22. package/lib/cjs/ScatterPlot.js +29 -21
  23. package/lib/cjs/ScatterPlot.js.map +1 -1
  24. package/lib/cjs/Tooltip.js +24 -13
  25. package/lib/cjs/Tooltip.js.map +1 -1
  26. package/lib/cjs/Venn.js +56 -35
  27. package/lib/cjs/Venn.js.map +1 -1
  28. package/lib/cjs/a11y/PlotA11yModule.js +2 -2
  29. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  30. package/lib/cjs/a11y/PlotA11yView.js +3 -3
  31. package/lib/cjs/a11y/hints.js.map +1 -1
  32. package/lib/cjs/a11y/serialize.js.map +1 -1
  33. package/lib/cjs/createElement.d.js +2 -0
  34. package/lib/cjs/createElement.d.js.map +1 -0
  35. package/lib/cjs/types/Bubble.d.js.map +1 -1
  36. package/lib/cjs/types/Hover.d.js.map +1 -1
  37. package/lib/cjs/types/Plot.d.js.map +1 -1
  38. package/lib/cjs/types/Tooltip.d.js.map +1 -1
  39. package/lib/cjs/types/index.d.js.map +1 -1
  40. package/lib/cjs/utils.js.map +1 -1
  41. package/lib/es6/Area.js +9 -9
  42. package/lib/es6/Axis.js +14 -14
  43. package/lib/es6/Bar.js +8 -8
  44. package/lib/es6/Bubble.js +35 -26
  45. package/lib/es6/Bubble.js.map +1 -1
  46. package/lib/es6/Donut.js +107 -90
  47. package/lib/es6/Donut.js.map +1 -1
  48. package/lib/es6/Dots.js +9 -9
  49. package/lib/es6/HorizontalBar.js +8 -8
  50. package/lib/es6/Hover.js +9 -7
  51. package/lib/es6/Hover.js.map +1 -1
  52. package/lib/es6/Line.js +8 -8
  53. package/lib/es6/Plot.js +3 -3
  54. package/lib/es6/Radar.js +22 -21
  55. package/lib/es6/Radar.js.map +1 -1
  56. package/lib/es6/RadialTree.js +73 -72
  57. package/lib/es6/RadialTree.js.map +1 -1
  58. package/lib/es6/ReferenceLine.js +9 -9
  59. package/lib/es6/ResponsiveContainer.js +0 -1
  60. package/lib/es6/ResponsiveContainer.js.map +1 -1
  61. package/lib/es6/ScatterPlot.js +31 -22
  62. package/lib/es6/ScatterPlot.js.map +1 -1
  63. package/lib/es6/Tooltip.js +24 -13
  64. package/lib/es6/Tooltip.js.map +1 -1
  65. package/lib/es6/Venn.js +58 -36
  66. package/lib/es6/Venn.js.map +1 -1
  67. package/lib/es6/a11y/PlotA11yModule.js +2 -2
  68. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  69. package/lib/es6/a11y/PlotA11yView.js +3 -3
  70. package/lib/es6/a11y/hints.js.map +1 -1
  71. package/lib/es6/a11y/serialize.js.map +1 -1
  72. package/lib/es6/createElement.d.js +2 -0
  73. package/lib/es6/createElement.d.js.map +1 -0
  74. package/lib/es6/types/Bubble.d.js.map +1 -1
  75. package/lib/es6/types/Hover.d.js.map +1 -1
  76. package/lib/es6/types/Plot.d.js.map +1 -1
  77. package/lib/es6/types/Tooltip.d.js.map +1 -1
  78. package/lib/es6/types/index.d.js +3 -0
  79. package/lib/es6/types/index.d.js.map +1 -1
  80. package/lib/es6/utils.js.map +1 -1
  81. package/lib/types/Bubble.d.ts +1 -5
  82. package/lib/types/Hover.d.ts +1 -1
  83. package/lib/types/Plot.d.ts +3 -5
  84. package/lib/types/RadialTree.d.ts +14 -14
  85. package/lib/types/Tooltip.d.ts +2 -2
  86. package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
  87. package/lib/types/a11y/focus.d.ts +1 -1
  88. package/lib/types/a11y/hints.d.ts +5 -5
  89. package/lib/types/a11y/insights.d.ts +8 -8
  90. package/lib/types/a11y/intl.d.ts +1 -1
  91. package/lib/types/a11y/locale.d.ts +1 -1
  92. package/lib/types/a11y/serialize.d.ts +4 -4
  93. package/lib/types/a11y/summarize.d.ts +1 -1
  94. package/lib/types/createElement.d.ts +2 -0
  95. package/lib/types/index.d.ts +2 -0
  96. package/lib/types/utils.d.ts +7 -6
  97. package/package.json +10 -10
@@ -21,18 +21,18 @@ import canUseDOM from '@semcore/utils/lib/canUseDOM';
21
21
  import createElement from './createElement';
22
22
  import { measureText } from './utils';
23
23
  /*__reshadow-styles__:"./style/radial-tree.shadow.css"*/
24
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SRadian_10i4t_gg_{cursor:pointer;fill:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SLine_10i4t_gg_{stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SLine_10i4t_gg_.__color_10i4t_gg_{stroke:var(--color_10i4t)}.___SCap_10i4t_gg_.__transparent_10i4t_gg_,.___SIcon_10i4t_gg_.__transparent_10i4t_gg_,.___SLabel_10i4t_gg_.__transparent_10i4t_gg_,.___SLine_10i4t_gg_.__transparent_10i4t_gg_{opacity:.3}.___SCap_10i4t_gg_{transition:r .1s}.___SLabel_10i4t_gg_{fill:var(--color_10i4t);cursor:var(--text-cursor_10i4t)}@media (hover:hover){.___SRadian_10i4t_gg_:hover .___SLabel_10i4t_gg_{fill:var(--color-hovered_10i4t)}}@media (prefers-reduced-motion){.___SLineCap_10i4t_gg_{transition:none}}" /*__inner_css_end__*/, "10i4t_gg_") /*__reshadow_css_end__*/, {
25
- "__SRadian": "___SRadian_10i4t_gg_",
26
- "__SLine": "___SLine_10i4t_gg_",
27
- "_color": "__color_10i4t_gg_",
28
- "--color": "--color_10i4t",
29
- "_transparent": "__transparent_10i4t_gg_",
30
- "__SCap": "___SCap_10i4t_gg_",
31
- "__SIcon": "___SIcon_10i4t_gg_",
32
- "__SLabel": "___SLabel_10i4t_gg_",
33
- "--text-cursor": "--text-cursor_10i4t",
34
- "--color-hovered": "--color-hovered_10i4t",
35
- "__SLineCap": "___SLineCap_10i4t_gg_"
24
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SRadian_6mh2y_gg_{cursor:pointer;fill:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SLine_6mh2y_gg_{stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SLine_6mh2y_gg_.__color_6mh2y_gg_{stroke:var(--color_6mh2y)}.___SCap_6mh2y_gg_.__transparent_6mh2y_gg_,.___SIcon_6mh2y_gg_.__transparent_6mh2y_gg_,.___SLabel_6mh2y_gg_.__transparent_6mh2y_gg_,.___SLine_6mh2y_gg_.__transparent_6mh2y_gg_{opacity:.3}.___SCap_6mh2y_gg_{transition:r .1s}.___SLabel_6mh2y_gg_{fill:var(--color_6mh2y);cursor:var(--text-cursor_6mh2y)}@media (hover:hover){.___SRadian_6mh2y_gg_:hover .___SLabel_6mh2y_gg_{fill:var(--color-hovered_6mh2y)}}@media (prefers-reduced-motion){.___SLineCap_6mh2y_gg_{transition:none}}" /*__inner_css_end__*/, "6mh2y_gg_") /*__reshadow_css_end__*/, {
25
+ "__SRadian": "___SRadian_6mh2y_gg_",
26
+ "__SLine": "___SLine_6mh2y_gg_",
27
+ "_color": "__color_6mh2y_gg_",
28
+ "--color": "--color_6mh2y",
29
+ "_transparent": "__transparent_6mh2y_gg_",
30
+ "__SCap": "___SCap_6mh2y_gg_",
31
+ "__SIcon": "___SIcon_6mh2y_gg_",
32
+ "__SLabel": "___SLabel_6mh2y_gg_",
33
+ "--text-cursor": "--text-cursor_6mh2y",
34
+ "--color-hovered": "--color-hovered_6mh2y",
35
+ "__SLineCap": "___SLineCap_6mh2y_gg_"
36
36
  });
37
37
  var baseAngle = -Math.PI / 2; // The top vertical line
38
38
  var RadialTreeBase = /*#__PURE__*/function (_Component) {
@@ -298,7 +298,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
298
298
  }, {
299
299
  key: "getLineProps",
300
300
  value: function getLineProps(_ref12, index) {
301
- var _$rootProps$data2, _data$color, _ref13;
301
+ var _$rootProps$data2, _color, _ref13;
302
302
  var $rootProps = _ref12.$rootProps;
303
303
  var data = (_$rootProps$data2 = $rootProps.data) === null || _$rootProps$data2 === void 0 ? void 0 : _$rootProps$data2[index];
304
304
  var _this$computeRadianPo2 = this.computeRadianPosition(data, index),
@@ -309,7 +309,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
309
309
  var _this$asProps5 = this.asProps,
310
310
  uid = _this$asProps5.uid,
311
311
  transparent = _this$asProps5.transparent;
312
- var color = (_data$color = data.color) !== null && _data$color !== void 0 ? _data$color : this.asProps.color;
312
+ var color = (_color = data.color) !== null && _color !== void 0 ? _color : this.asProps.color;
313
313
  return _ref13 = {
314
314
  x1: xStart,
315
315
  y1: yStart,
@@ -322,7 +322,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
322
322
  }, {
323
323
  key: "getCapProps",
324
324
  value: function getCapProps(_ref14, index) {
325
- var _$rootProps$data3, _data$color2, _ref15;
325
+ var _$rootProps$data3, _color2, _ref15;
326
326
  var $rootProps = _ref14.$rootProps;
327
327
  var data = (_$rootProps$data3 = $rootProps.data) === null || _$rootProps$data3 === void 0 ? void 0 : _$rootProps$data3[index];
328
328
  var _this$computeRadianPo3 = this.computeRadianPosition(data, index),
@@ -332,7 +332,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
332
332
  var _this$asProps6 = this.asProps,
333
333
  uid = _this$asProps6.uid,
334
334
  transparent = _this$asProps6.transparent;
335
- var color = (_data$color2 = data.color) !== null && _data$color2 !== void 0 ? _data$color2 : this.asProps.color;
335
+ var color = (_color2 = data.color) !== null && _color2 !== void 0 ? _color2 : this.asProps.color;
336
336
  return _ref15 = {
337
337
  x: xEnd,
338
338
  y: yEnd
@@ -341,7 +341,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
341
341
  }, {
342
342
  key: "getIconProps",
343
343
  value: function getIconProps(_ref16, index) {
344
- var _$rootProps$data4, _data$iconColor, _data$iconSize, _data$icon, _ref17;
344
+ var _$rootProps$data4, _iconColor, _iconSize, _icon, _ref17;
345
345
  var $rootProps = _ref16.$rootProps;
346
346
  var data = (_$rootProps$data4 = $rootProps.data) === null || _$rootProps$data4 === void 0 ? void 0 : _$rootProps$data4[index];
347
347
  var _this$computeRadianPo4 = this.computeRadianPosition(data, index),
@@ -349,9 +349,9 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
349
349
  yEnd = _this$computeRadianPo4.yEnd,
350
350
  isActive = _this$computeRadianPo4.isActive;
351
351
  var uid = this.asProps.uid;
352
- var iconColor = (_data$iconColor = data.iconColor) !== null && _data$iconColor !== void 0 ? _data$iconColor : this.asProps.iconColor;
353
- var iconSize = (_data$iconSize = data.iconSize) !== null && _data$iconSize !== void 0 ? _data$iconSize : this.asProps.iconSize;
354
- var icon = (_data$icon = data.icon) !== null && _data$icon !== void 0 ? _data$icon : this.asProps.icon;
352
+ var iconColor = (_iconColor = data.iconColor) !== null && _iconColor !== void 0 ? _iconColor : this.asProps.iconColor;
353
+ var iconSize = (_iconSize = data.iconSize) !== null && _iconSize !== void 0 ? _iconSize : this.asProps.iconSize;
354
+ var icon = (_icon = data.icon) !== null && _icon !== void 0 ? _icon : this.asProps.icon;
355
355
  var x = xEnd - iconSize / 2;
356
356
  var y = yEnd - iconSize / 2;
357
357
  return _ref17 = {
@@ -362,7 +362,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
362
362
  }, {
363
363
  key: "getLabelProps",
364
364
  value: function getLabelProps(_ref18, index) {
365
- var _$rootProps$data5, _data$color3, _ref19;
365
+ var _$rootProps$data5, _color3, _ref20;
366
366
  var $rootProps = _ref18.$rootProps;
367
367
  var data = (_$rootProps$data5 = $rootProps.data) === null || _$rootProps$data5 === void 0 ? void 0 : _$rootProps$data5[index];
368
368
  var _this$computeRadianPo5 = this.computeRadianPosition(data, index),
@@ -374,13 +374,14 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
374
374
  uid = _this$asProps7.uid,
375
375
  textSize = _this$asProps7.textSize,
376
376
  transparent = _this$asProps7.transparent;
377
- var label = data.label;
378
- var color = (_data$color3 = data.color) !== null && _data$color3 !== void 0 ? _data$color3 : this.asProps.color;
379
- return _ref19 = {
377
+ var _ref19 = data,
378
+ label = _ref19.label;
379
+ var color = (_color3 = data.color) !== null && _color3 !== void 0 ? _color3 : this.asProps.color;
380
+ return _ref20 = {
380
381
  x: xLabelCenter,
381
382
  y: yLabelCenter,
382
383
  angle: labelAngle
383
- }, _defineProperty(_ref19, 'data-radial-animation', "".concat(uid, "-label")), _defineProperty(_ref19, 'data-radian-index', index), _defineProperty(_ref19, "label", label), _defineProperty(_ref19, "color", color), _defineProperty(_ref19, "isHorizontal", isHorizontal), _defineProperty(_ref19, "textSize", textSize), _defineProperty(_ref19, "transparent", transparent), _ref19;
384
+ }, _defineProperty(_ref20, 'data-radial-animation', "".concat(uid, "-label")), _defineProperty(_ref20, 'data-radian-index', index), _defineProperty(_ref20, "label", label), _defineProperty(_ref20, "color", color), _defineProperty(_ref20, "isHorizontal", isHorizontal), _defineProperty(_ref20, "textSize", textSize), _defineProperty(_ref20, "transparent", transparent), _ref20;
384
385
  }
385
386
  }, {
386
387
  key: "getRadianKey",
@@ -490,10 +491,10 @@ _defineProperty(RadialTreeRadian, "defaultProps", {
490
491
  iconSize: 16,
491
492
  textSize: 14
492
493
  });
493
- var InteractiveArea = function InteractiveArea(_ref20) {
494
+ var InteractiveArea = function InteractiveArea(_ref21) {
494
495
  var _ref4;
495
- var SInteractiveArea = _ref20.Element,
496
- styles = _ref20.styles;
496
+ var SInteractiveArea = _ref21.Element,
497
+ styles = _ref21.styles;
497
498
  return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SInteractiveArea, _ref4.cn("SInteractiveArea", {
498
499
  "stroke": 'transparent',
499
500
  "render": 'line'
@@ -502,12 +503,12 @@ var InteractiveArea = function InteractiveArea(_ref20) {
502
503
 
503
504
  /** @deprecated */
504
505
 
505
- var Line = function Line(_ref21) {
506
+ var Line = function Line(_ref22) {
506
507
  var _ref5;
507
- var SLine = _ref21.Element,
508
- styles = _ref21.styles,
509
- stroke = _ref21.stroke,
510
- transparent = _ref21.transparent;
508
+ var SLine = _ref22.Element,
509
+ styles = _ref22.styles,
510
+ stroke = _ref22.stroke,
511
+ transparent = _ref22.transparent;
511
512
  return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SLine, _ref5.cn("SLine", {
512
513
  "render": 'line',
513
514
  "stroke": stroke,
@@ -517,15 +518,15 @@ var Line = function Line(_ref21) {
517
518
 
518
519
  /** @deprecated */
519
520
 
520
- var Cap = function Cap(_ref22) {
521
+ var Cap = function Cap(_ref23) {
521
522
  var _ref6;
522
- var SCap = _ref22.Element,
523
- styles = _ref22.styles,
524
- x = _ref22.x,
525
- y = _ref22.y,
526
- radius = _ref22.radius,
527
- color = _ref22.color,
528
- transparent = _ref22.transparent;
523
+ var SCap = _ref23.Element,
524
+ styles = _ref23.styles,
525
+ x = _ref23.x,
526
+ y = _ref23.y,
527
+ radius = _ref23.radius,
528
+ color = _ref23.color,
529
+ transparent = _ref23.transparent;
529
530
  return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SCap, _ref6.cn("SCap", {
530
531
  "render": 'circle',
531
532
  "cx": x,
@@ -538,16 +539,16 @@ var Cap = function Cap(_ref22) {
538
539
 
539
540
  /** @deprecated */
540
541
 
541
- var Icon = function Icon(_ref23) {
542
+ var Icon = function Icon(_ref24) {
542
543
  var _ref7;
543
- var SIcon = _ref23.Element,
544
- styles = _ref23.styles,
545
- isActive = _ref23.isActive,
546
- tag = _ref23.tag,
547
- x = _ref23.x,
548
- y = _ref23.y,
549
- iconSize = _ref23.iconSize,
550
- transparent = _ref23.transparent;
544
+ var SIcon = _ref24.Element,
545
+ styles = _ref24.styles,
546
+ isActive = _ref24.isActive,
547
+ tag = _ref24.tag,
548
+ x = _ref24.x,
549
+ y = _ref24.y,
550
+ iconSize = _ref24.iconSize,
551
+ transparent = _ref24.transparent;
551
552
  if (!(isActive && tag)) return null;
552
553
  var width = iconSize;
553
554
  var height = iconSize;
@@ -563,18 +564,18 @@ var Icon = function Icon(_ref23) {
563
564
 
564
565
  /** @deprecated */
565
566
 
566
- var Label = function Label(_ref24) {
567
- var SLabel = _ref24.Element,
568
- Children = _ref24.Children,
569
- styles = _ref24.styles,
570
- label = _ref24.label,
571
- color = _ref24.color,
572
- isHorizontal = _ref24.isHorizontal,
573
- x = _ref24.x,
574
- y = _ref24.y,
575
- textSize = _ref24.textSize,
576
- angle = _ref24.angle,
577
- transparent = _ref24.transparent;
567
+ var Label = function Label(_ref25) {
568
+ var SLabel = _ref25.Element,
569
+ Children = _ref25.Children,
570
+ styles = _ref25.styles,
571
+ label = _ref25.label,
572
+ color = _ref25.color,
573
+ isHorizontal = _ref25.isHorizontal,
574
+ x = _ref25.x,
575
+ y = _ref25.y,
576
+ textSize = _ref25.textSize,
577
+ angle = _ref25.angle,
578
+ transparent = _ref25.transparent;
578
579
  var lines = String(label).split('\n');
579
580
  var linesCount = lines.length;
580
581
  var SLabelLine = 'tspan';
@@ -616,17 +617,17 @@ var Radian = createElement(RadialTreeRadian, {
616
617
 
617
618
  /** @deprecated */
618
619
 
619
- var Title = function Title(_ref25) {
620
+ var Title = function Title(_ref26) {
620
621
  var _ref8;
621
- var STitle = _ref25.Element,
622
- Children = _ref25.Children,
623
- children = _ref25.children,
624
- styles = _ref25.styles,
625
- textSize = _ref25.textSize,
626
- color = _ref25.color,
627
- x = _ref25.x,
628
- y = _ref25.y,
629
- dataHintsHandler = _ref25.dataHintsHandler;
622
+ var STitle = _ref26.Element,
623
+ Children = _ref26.Children,
624
+ children = _ref26.children,
625
+ styles = _ref26.styles,
626
+ textSize = _ref26.textSize,
627
+ color = _ref26.color,
628
+ x = _ref26.x,
629
+ y = _ref26.y,
630
+ dataHintsHandler = _ref26.dataHintsHandler;
630
631
  if (typeof children === 'string') {
631
632
  dataHintsHandler.setTitle('vertical', children);
632
633
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RadialTree.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","shade","assignProps","getOriginChildren","canUseDOM","createElement","measureText","style","_sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","handleRadianClick","bind","_createClass","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$x$baseVal","_lineNode$y","_lineNode$y$baseVal","radianIndex","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$width$baseVal","_node$height","_node$height$baseVal","_lineNode$x2","_lineNode$x2$baseVal","_lineNode$y2","_lineNode$y2$baseVal","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$x$baseVal","_node$y","_node$y$baseVal","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","_ref9","label","max","apply","_toConsumableArray","getTitleProps","_this$asProps3","size","_size","_slicedToArray","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties","_excluded","textWidth","_objectSpread","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","cn","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_super2","_this3","renderRadian","getInteractiveAreaProps","_ref11","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref12","_$rootProps$data2","_data$color","_ref13","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","color","stroke","getCapProps","_ref14","_$rootProps$data3","_data$color2","_ref15","_this$computeRadianPo3","_this$asProps6","getIconProps","_ref16","_$rootProps$data4","_data$iconColor","_data$iconSize","_data$icon","_ref17","_this$computeRadianPo4","isActive","icon","getLabelProps","_ref18","_$rootProps$data5","_data$color3","_ref19","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps7","angle","getRadianKey","_data$key","_data$capSize","_this$asProps8","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps9","SRadian","children","_child","mergedProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref20","_ref4","SInteractiveArea","Line","_ref21","_ref5","SLine","Cap","_ref22","_ref6","SCap","radius","Icon","_ref23","_ref7","SIcon","tag","Label","_ref24","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref25","_ref8","STitle","setTitle"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl, UnknownProperties, Intergalactic } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { shade } from '@semcore/utils/lib/color';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport createElement from './createElement';\nimport { measureText } from './utils';\nimport { DataHintsHandler } from './a11y/hints';\n\nimport style from './style/radial-tree.shadow.css';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\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 highligted with inreased cap size.\n */\n activeKey?: string | null;\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 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 = 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 .attr('cx', (_, index) => attrs[index].to?.cx)\n .attr('cy', (_, index) => attrs[index].to?.cy);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x: node.dataset['x'],\n y: node.dataset['y'],\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x)\n .attr('y', (_, index) => attrs[index].from?.y)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x)\n .attr('y', (_, index) => attrs[index].to?.y);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n 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 .attr('x2', (_, index) => attrs[index].from?.x2)\n .attr('y2', (_, index) => attrs[index].from?.y2)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2)\n .attr('y2', (_, index) => attrs[index].to?.y2);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data !== 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 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 } = 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 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 } = 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 transparent,\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 } = 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 ['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 } = this.asProps;\n const { label } = data;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n isHorizontal,\n textSize,\n 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};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={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};\n\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n transparent,\n}) => {\n return sstyled(styles)(\n <SCap render='circle' cx={x} cy={y} r={radius} fill={color} transparent={transparent} />,\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 tag?: React.FC;\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};\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};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n 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,\n 'color-hovered': shade(color, -0.12),\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};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\ntype IntergalacticD3Component<\n BaseTag extends Intergalactic.InternalTypings.ComponentTag,\n Props,\n Context = {},\n> = (<\n Tag extends Intergalactic.InternalTypings.ComponentTag = Intergalactic.InternalTypings.ComponentTag,\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<BaseTag>;\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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"}
1
+ {"version":3,"file":"RadialTree.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","shade","assignProps","getOriginChildren","canUseDOM","createElement","measureText","style","_sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","handleRadianClick","bind","_createClass","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$x$baseVal","_lineNode$y","_lineNode$y$baseVal","radianIndex","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$width$baseVal","_node$height","_node$height$baseVal","_lineNode$x2","_lineNode$x2$baseVal","_lineNode$y2","_lineNode$y2$baseVal","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$x$baseVal","_node$y","_node$y$baseVal","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","_ref9","label","max","apply","_toConsumableArray","getTitleProps","_this$asProps3","size","_size","_slicedToArray","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties","_excluded","textWidth","_objectSpread","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","cn","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_super2","_this3","renderRadian","getInteractiveAreaProps","_ref11","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref12","_$rootProps$data2","_color","_ref13","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","color","stroke","getCapProps","_ref14","_$rootProps$data3","_color2","_ref15","_this$computeRadianPo3","_this$asProps6","getIconProps","_ref16","_$rootProps$data4","_iconColor","_iconSize","_icon","_ref17","_this$computeRadianPo4","isActive","icon","getLabelProps","_ref18","_$rootProps$data5","_color3","_ref20","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps7","_ref19","angle","getRadianKey","_data$key","_data$capSize","_this$asProps8","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps9","SRadian","children","_child","mergedProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref21","_ref4","SInteractiveArea","Line","_ref22","_ref5","SLine","Cap","_ref23","_ref6","SCap","radius","Icon","_ref24","_ref7","SIcon","tag","Label","_ref25","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref26","_ref8","STitle","setTitle"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl, UnknownProperties, Intergalactic } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { shade } from '@semcore/utils/lib/color';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport createElement from './createElement';\nimport { measureText } from './utils';\nimport { DataHintsHandler } from './a11y/hints';\n\nimport style from './style/radial-tree.shadow.css';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\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 highligted with inreased cap size.\n */\n activeKey?: string | null;\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 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 = 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 .attr('cx', (_, index) => attrs[index].to?.cx!)\n .attr('cy', (_, index) => attrs[index].to?.cy!);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x: node.dataset['x'],\n y: node.dataset['y'],\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x!)\n .attr('y', (_, index) => attrs[index].from?.y!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x!)\n .attr('y', (_, index) => attrs[index].to?.y!);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n 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 .attr('x2', (_, index) => attrs[index].from?.x2!)\n .attr('y2', (_, index) => attrs[index].from?.y2!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2!)\n .attr('y2', (_, index) => attrs[index].to?.y2!);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data !== 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 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 } = 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 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 } = 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 transparent,\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 } = 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 ['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 } = this.asProps;\n const { label } = data!;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n isHorizontal,\n textSize,\n 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};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={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};\n\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n transparent,\n}) => {\n return sstyled(styles)(\n <SCap render='circle' cx={x} cy={y} r={radius} fill={color} transparent={transparent!} />,\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 tag?: React.FC;\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};\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};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n 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,\n 'color-hovered': shade(color, -0.12),\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};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\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) &\n Intergalactic.InternalTypings.ComponentAdditive<BaseTag>;\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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"}
@@ -11,15 +11,15 @@ import { Component, sstyled } from '@semcore/core';
11
11
  import createElement from './createElement';
12
12
  import { scaleOfBandwidth } from './utils';
13
13
  /*__reshadow-styles__:"./style/reference-line.shadow.css"*/
14
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SReferenceLine_1ycyo_gg_{fill:none;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___STitle_1ycyo_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_1ycyo)}.___STitle_1ycyo_gg_._position_top_1ycyo_gg_{text-anchor:middle}.___STitle_1ycyo_gg_._position_bottom_1ycyo_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_1ycyo_gg_._position_left_1ycyo_gg_,.___STitle_1ycyo_gg_._position_right_1ycyo_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_1ycyo_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}" /*__inner_css_end__*/, "1ycyo_gg_") /*__reshadow_css_end__*/, {
15
- "__SReferenceLine": "___SReferenceLine_1ycyo_gg_",
16
- "__STitle": "___STitle_1ycyo_gg_",
17
- "--transform-origin": "--transform-origin_1ycyo",
18
- "_position_top": "_position_top_1ycyo_gg_",
19
- "_position_bottom": "_position_bottom_1ycyo_gg_",
20
- "_position_right": "_position_right_1ycyo_gg_",
21
- "_position_left": "_position_left_1ycyo_gg_",
22
- "__SBackground": "___SBackground_1ycyo_gg_"
14
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SReferenceLine_y3mte_gg_{fill:none;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___STitle_y3mte_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_y3mte)}.___STitle_y3mte_gg_._position_top_y3mte_gg_{text-anchor:middle}.___STitle_y3mte_gg_._position_bottom_y3mte_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_y3mte_gg_._position_left_y3mte_gg_,.___STitle_y3mte_gg_._position_right_y3mte_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_y3mte_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}" /*__inner_css_end__*/, "y3mte_gg_") /*__reshadow_css_end__*/, {
15
+ "__SReferenceLine": "___SReferenceLine_y3mte_gg_",
16
+ "__STitle": "___STitle_y3mte_gg_",
17
+ "--transform-origin": "--transform-origin_y3mte",
18
+ "_position_top": "_position_top_y3mte_gg_",
19
+ "_position_bottom": "_position_bottom_y3mte_gg_",
20
+ "_position_right": "_position_right_y3mte_gg_",
21
+ "_position_left": "_position_left_y3mte_gg_",
22
+ "__SBackground": "___SBackground_y3mte_gg_"
23
23
  });
24
24
  var side2direction = {
25
25
  left: 'vertical',
@@ -8,7 +8,6 @@ import _createSuper from "@babel/runtime/helpers/createSuper";
8
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
9
  import { assignProps as _assignProps } from "@semcore/core";
10
10
  import React from 'react';
11
- import ResizeObserver from 'resize-observer-polyfill';
12
11
  import createComponent, { Component, Root, sstyled } from '@semcore/core';
13
12
  import { Box } from '@semcore/flex-box';
14
13
  import trottle from '@semcore/utils/lib/rafTrottle';
@@ -1 +1 @@
1
- {"version":3,"file":"ResponsiveContainer.js","names":["React","ResizeObserver","createComponent","Component","Root","sstyled","Box","trottle","fire","getOriginChildren","ResponsiveContainerRoot","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","entries","_this$asProps","asProps","Children","aspect","$container","_this$$container","width","clientWidth","height","clientHeight","style","window","getComputedStyle","minHeight","Number","parseInt","getPropertyValue","maxHeight","size","forceUpdate","observer","handleResize","_createClass","key","get","containerRef","current","value","setContext","_this$size","_slicedToArray","componentDidMount","observe","componentWillUnmount","disconnect","render","_ref","_ref2","SResponsiveContainer","styles","createElement","cn","_objectSpread","_assignProps","ResponsiveContainer"],"sources":["../../src/ResponsiveContainer.jsx"],"sourcesContent":["import React from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport fire from '@semcore/utils/lib/fire';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\n\nclass ResponsiveContainerRoot extends Component {\n static displayName = 'ResponsiveContainer';\n\n containerRef = React.createRef();\n size = [0, 0];\n\n constructor(props) {\n super(props);\n this.observer = new ResizeObserver(this.handleResize);\n }\n\n get $container() {\n return this.containerRef.current;\n }\n\n handleResize = trottle((entries) => {\n const { Children, aspect } = this.asProps;\n\n if (!this.$container) return;\n\n let { clientWidth: width, clientHeight: height } = this.$container;\n\n if (aspect) {\n const style = window.getComputedStyle(this.$container);\n const minHeight = Number.parseInt(style.getPropertyValue('min-height'));\n const maxHeight = Number.parseInt(style.getPropertyValue('max-height'));\n height = width * aspect;\n\n if (height < minHeight) {\n height = minHeight;\n }\n if (height > maxHeight) {\n height = maxHeight;\n }\n }\n\n if (this.size[0] === width && this.size[1] === height) return;\n\n this.size = [width, height];\n\n fire(this, 'onResize', this.size, entries);\n\n if (typeof getOriginChildren(Children) === 'function') {\n this.forceUpdate();\n }\n });\n\n setContext() {\n const [width, height] = this.size;\n return {\n width,\n height,\n };\n }\n\n componentDidMount() {\n if (this.$container) {\n // TODO: may be we can increase perfomance here? (by lsroman)\n this.observer.observe(this.$container);\n }\n }\n\n // TODO component did update ref?\n\n componentWillUnmount() {\n this.observer.disconnect();\n }\n\n render() {\n const SResponsiveContainer = Root;\n const { styles } = this.asProps;\n return sstyled(styles)(<SResponsiveContainer render={Box} ref={this.containerRef} />);\n }\n}\n\nconst ResponsiveContainer = createComponent(ResponsiveContainerRoot);\n\nexport default ResponsiveContainer;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ResponsiveContainer.js","names":["React","createComponent","Component","Root","sstyled","Box","trottle","fire","getOriginChildren","ResponsiveContainerRoot","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","entries","_this$asProps","asProps","Children","aspect","$container","_this$$container","width","clientWidth","height","clientHeight","style","window","getComputedStyle","minHeight","Number","parseInt","getPropertyValue","maxHeight","size","forceUpdate","observer","ResizeObserver","handleResize","_createClass","key","get","containerRef","current","value","setContext","_this$size","_slicedToArray","componentDidMount","observe","componentWillUnmount","disconnect","render","_ref","_ref2","SResponsiveContainer","styles","createElement","cn","_objectSpread","_assignProps","ResponsiveContainer"],"sources":["../../src/ResponsiveContainer.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport fire from '@semcore/utils/lib/fire';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\n\nclass ResponsiveContainerRoot extends Component {\n static displayName = 'ResponsiveContainer';\n\n containerRef = React.createRef();\n size = [0, 0];\n\n constructor(props) {\n super(props);\n this.observer = new ResizeObserver(this.handleResize);\n }\n\n get $container() {\n return this.containerRef.current;\n }\n\n handleResize = trottle((entries) => {\n const { Children, aspect } = this.asProps;\n\n if (!this.$container) return;\n\n let { clientWidth: width, clientHeight: height } = this.$container;\n\n if (aspect) {\n const style = window.getComputedStyle(this.$container);\n const minHeight = Number.parseInt(style.getPropertyValue('min-height'));\n const maxHeight = Number.parseInt(style.getPropertyValue('max-height'));\n height = width * aspect;\n\n if (height < minHeight) {\n height = minHeight;\n }\n if (height > maxHeight) {\n height = maxHeight;\n }\n }\n\n if (this.size[0] === width && this.size[1] === height) return;\n\n this.size = [width, height];\n\n fire(this, 'onResize', this.size, entries);\n\n if (typeof getOriginChildren(Children) === 'function') {\n this.forceUpdate();\n }\n });\n\n setContext() {\n const [width, height] = this.size;\n return {\n width,\n height,\n };\n }\n\n componentDidMount() {\n if (this.$container) {\n // TODO: may be we can increase perfomance here? (by lsroman)\n this.observer.observe(this.$container);\n }\n }\n\n // TODO component did update ref?\n\n componentWillUnmount() {\n this.observer.disconnect();\n }\n\n render() {\n const SResponsiveContainer = Root;\n const { styles } = this.asProps;\n return sstyled(styles)(<SResponsiveContainer render={Box} ref={this.containerRef} />);\n }\n}\n\nconst ResponsiveContainer = createComponent(ResponsiveContainerRoot);\n\nexport default ResponsiveContainer;\n"],"mappings":"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"}