@semcore/d3-chart 1.9.0 → 2.0.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.
Files changed (80) hide show
  1. package/CHANGELOG.md +18 -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 +10 -10
  6. package/lib/cjs/Donut.js +7 -7
  7. package/lib/cjs/Dots.js +8 -8
  8. package/lib/cjs/GroupBar.js +6 -6
  9. package/lib/cjs/HorizontalBar.js +8 -8
  10. package/lib/cjs/Hover.js +4 -4
  11. package/lib/cjs/Line.js +8 -8
  12. package/lib/cjs/RadialTree.js +16 -13
  13. package/lib/cjs/RadialTree.js.map +1 -1
  14. package/lib/cjs/ScatterPlot.js +7 -7
  15. package/lib/cjs/StackBar.js +6 -6
  16. package/lib/cjs/StackedArea.js +7 -7
  17. package/lib/cjs/Tooltip.js +8 -8
  18. package/lib/cjs/Venn.js +7 -7
  19. package/lib/cjs/color.js +122 -30
  20. package/lib/cjs/color.js.map +1 -1
  21. package/lib/cjs/style/area.shadow.css +4 -4
  22. package/lib/cjs/style/axis.shadow.css +4 -4
  23. package/lib/cjs/style/bar.shadow.css +2 -2
  24. package/lib/cjs/style/bubble.shadow.css +3 -3
  25. package/lib/cjs/style/donut.shadow.css +2 -2
  26. package/lib/cjs/style/dot.shadow.css +1 -1
  27. package/lib/cjs/style/hover.shadow.css +2 -2
  28. package/lib/cjs/style/line.shadow.css +2 -2
  29. package/lib/cjs/style/radial-tree.shadow.css +11 -0
  30. package/lib/cjs/style/scatterplot.shadow.css +2 -2
  31. package/lib/cjs/style/tooltip.shadow.css +5 -5
  32. package/lib/cjs/style/var.css +123 -30
  33. package/lib/cjs/style/venn.shadow.css +1 -1
  34. package/lib/es6/Area.js +9 -9
  35. package/lib/es6/Axis.js +14 -14
  36. package/lib/es6/Bar.js +8 -8
  37. package/lib/es6/Bubble.js +10 -10
  38. package/lib/es6/Donut.js +7 -7
  39. package/lib/es6/Dots.js +8 -8
  40. package/lib/es6/GroupBar.js +6 -6
  41. package/lib/es6/HorizontalBar.js +8 -8
  42. package/lib/es6/Hover.js +4 -4
  43. package/lib/es6/Line.js +8 -8
  44. package/lib/es6/RadialTree.js +16 -13
  45. package/lib/es6/RadialTree.js.map +1 -1
  46. package/lib/es6/ScatterPlot.js +7 -7
  47. package/lib/es6/StackBar.js +6 -6
  48. package/lib/es6/StackedArea.js +7 -7
  49. package/lib/es6/Tooltip.js +8 -8
  50. package/lib/es6/Venn.js +7 -7
  51. package/lib/es6/color.js +122 -30
  52. package/lib/es6/color.js.map +1 -1
  53. package/lib/es6/style/area.shadow.css +4 -4
  54. package/lib/es6/style/axis.shadow.css +4 -4
  55. package/lib/es6/style/bar.shadow.css +2 -2
  56. package/lib/es6/style/bubble.shadow.css +3 -3
  57. package/lib/es6/style/donut.shadow.css +2 -2
  58. package/lib/es6/style/dot.shadow.css +1 -1
  59. package/lib/es6/style/hover.shadow.css +2 -2
  60. package/lib/es6/style/line.shadow.css +2 -2
  61. package/lib/es6/style/radial-tree.shadow.css +11 -0
  62. package/lib/es6/style/scatterplot.shadow.css +2 -2
  63. package/lib/es6/style/tooltip.shadow.css +5 -5
  64. package/lib/es6/style/var.css +123 -30
  65. package/lib/es6/style/venn.shadow.css +1 -1
  66. package/package.json +7 -2
  67. package/src/RadialTree.tsx +2 -3
  68. package/src/style/area.shadow.css +4 -4
  69. package/src/style/axis.shadow.css +4 -4
  70. package/src/style/bar.shadow.css +2 -2
  71. package/src/style/bubble.shadow.css +3 -3
  72. package/src/style/donut.shadow.css +2 -2
  73. package/src/style/dot.shadow.css +1 -1
  74. package/src/style/hover.shadow.css +2 -2
  75. package/src/style/line.shadow.css +2 -2
  76. package/src/style/radial-tree.shadow.css +11 -0
  77. package/src/style/scatterplot.shadow.css +2 -2
  78. package/src/style/tooltip.shadow.css +5 -5
  79. package/src/style/var.css +123 -30
  80. package/src/style/venn.shadow.css +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [2.0.2] - 2022-05-18
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/button` [4.0.0 ~> 4.0.1], `@semcore/checkbox` [6.0.0 ~> 6.0.1]).
10
+
11
+ ## [2.0.1] - 2022-05-18
12
+
13
+ ### Changed
14
+
15
+ - Version patch update due to children dependencies update (`@semcore/icon` [2.24.0 ~> 2.25.0]).
16
+
17
+ ## [2.0.0] - 2022-05-17
18
+
19
+ ### BREAK
20
+
21
+ - Updated styles according to the library redesign policy.
22
+
5
23
  ## [1.9.0] - 2022-04-14
6
24
 
7
25
  ### Added
package/lib/cjs/Area.js CHANGED
@@ -46,18 +46,18 @@ var style = (
46
46
  /*__reshadow_css_start__*/
47
47
  _core.sstyled.insert(
48
48
  /*__inner_css_start__*/
49
- ".___SArea_cehn5_gg_{fill:#50aef4;fill-opacity:.4}.___SArea_cehn5_gg_.__color_cehn5_gg_{fill:var(--color_clbofp)}.___SAreaLine_cehn5_gg_{stroke:#50aef4;stroke-width:3;fill:transparent}.___SAreaLine_cehn5_gg_.__color_cehn5_gg_{stroke:var(--color_clbofp)}.___SArea_cehn5_gg_,.___SAreaLine_cehn5_gg_{transition-property:d;transition-duration:var(--duration_clbofp);transition-timing-function:ease-in-out}.___SNull_cehn5_gg_{fill:transparent;stroke:#bdc4c6;stroke-dasharray:4}.___SNull_cehn5_gg_.__hide_cehn5_gg_{display:none}"
49
+ ".___SArea_1iyoe_gg_{fill:#2bb3ff;fill-opacity:.2}.___SArea_1iyoe_gg_.__color_1iyoe_gg_{fill:var(--color_14tehk4)}.___SAreaLine_1iyoe_gg_{stroke:#2bb3ff;stroke-width:3;fill:transparent}.___SAreaLine_1iyoe_gg_.__color_1iyoe_gg_{stroke:var(--color_14tehk4)}.___SArea_1iyoe_gg_,.___SAreaLine_1iyoe_gg_{transition-property:d;transition-duration:var(--duration_14tehk4);transition-timing-function:ease-in-out}.___SNull_1iyoe_gg_{fill:transparent;stroke:#8a8e9b;stroke-dasharray:4}.___SNull_1iyoe_gg_.__hide_1iyoe_gg_{display:none}"
50
50
  /*__inner_css_end__*/
51
- , "clbofp_gg_")
51
+ , "14tehk4_gg_")
52
52
  /*__reshadow_css_end__*/
53
53
  , {
54
- "__SArea": "___SArea_cehn5_gg_",
55
- "_color": "__color_cehn5_gg_",
56
- "--color": "--color_clbofp",
57
- "__SAreaLine": "___SAreaLine_cehn5_gg_",
58
- "--duration": "--duration_clbofp",
59
- "__SNull": "___SNull_cehn5_gg_",
60
- "_hide": "__hide_cehn5_gg_"
54
+ "__SArea": "___SArea_1iyoe_gg_",
55
+ "_color": "__color_1iyoe_gg_",
56
+ "--color": "--color_14tehk4",
57
+ "__SAreaLine": "___SAreaLine_1iyoe_gg_",
58
+ "--duration": "--duration_14tehk4",
59
+ "__SNull": "___SNull_1iyoe_gg_",
60
+ "_hide": "__hide_1iyoe_gg_"
61
61
  });
62
62
 
63
63
  var AreaRoot = /*#__PURE__*/function (_Component) {
package/lib/cjs/Axis.js CHANGED
@@ -44,23 +44,23 @@ var style = (
44
44
  /*__reshadow_css_start__*/
45
45
  _core.sstyled.insert(
46
46
  /*__inner_css_start__*/
47
- ".___SAxis_wl4ee_gg_{stroke:#a6b0b3}.___SAxis_wl4ee_gg_.__hide_wl4ee_gg_{display:none}.___STick_wl4ee_gg_{font-size:12px;fill:#757575}.___STick_wl4ee_gg_.__hide_wl4ee_gg_{display:none}.___SGrid_wl4ee_gg_{fill:transparent;stroke:#dee3e5}.___STitle_wl4ee_gg_{font-size:12px;fill:#757575;transform-origin:var(--transform-origin_16jhmok)}.___STitle_wl4ee_gg_._position_top_wl4ee_gg_{text-anchor:middle;transform:translateY(-16px)}.___STitle_wl4ee_gg_._position_bottom_wl4ee_gg_{text-anchor:middle;alignment-baseline:hanging;transform:translateY(16px)}.___STitle_wl4ee_gg_._position_right_wl4ee_gg_{transform:rotate(-90deg);alignment-baseline:middle}.___STitle_wl4ee_gg_._position_left_wl4ee_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STick_wl4ee_gg_._position_top_wl4ee_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_wl4ee_gg_._position_bottom_wl4ee_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_wl4ee_gg_._position_right_wl4ee_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_wl4ee_gg_._position_left_wl4ee_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_wl4ee_gg_._position_custom_0_wl4ee_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_wl4ee_gg_._position_custom_1_wl4ee_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
47
+ ".___SAxis_1uh3e_gg_{stroke:#c4c7cf}.___SAxis_1uh3e_gg_.__hide_1uh3e_gg_{display:none}.___STick_1uh3e_gg_{font-size:12px;fill:#6c6e79}.___STick_1uh3e_gg_.__hide_1uh3e_gg_{display:none}.___SGrid_1uh3e_gg_{fill:transparent;stroke:#e0e1e9}.___STitle_1uh3e_gg_{font-size:12px;fill:#6c6e79;transform-origin:var(--transform-origin_10rkj03)}.___STitle_1uh3e_gg_._position_top_1uh3e_gg_{text-anchor:middle;transform:translateY(-16px)}.___STitle_1uh3e_gg_._position_bottom_1uh3e_gg_{text-anchor:middle;alignment-baseline:hanging;transform:translateY(16px)}.___STitle_1uh3e_gg_._position_right_1uh3e_gg_{transform:rotate(-90deg);alignment-baseline:middle}.___STitle_1uh3e_gg_._position_left_1uh3e_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STick_1uh3e_gg_._position_top_1uh3e_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_1uh3e_gg_._position_bottom_1uh3e_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1uh3e_gg_._position_right_1uh3e_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_1uh3e_gg_._position_left_1uh3e_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_1uh3e_gg_._position_custom_0_1uh3e_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1uh3e_gg_._position_custom_1_1uh3e_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
48
48
  /*__inner_css_end__*/
49
- , "16jhmok_gg_")
49
+ , "10rkj03_gg_")
50
50
  /*__reshadow_css_end__*/
51
51
  , {
52
- "__SAxis": "___SAxis_wl4ee_gg_",
53
- "_hide": "__hide_wl4ee_gg_",
54
- "__STick": "___STick_wl4ee_gg_",
55
- "__SGrid": "___SGrid_wl4ee_gg_",
56
- "__STitle": "___STitle_wl4ee_gg_",
57
- "--transform-origin": "--transform-origin_16jhmok",
58
- "_position_top": "_position_top_wl4ee_gg_",
59
- "_position_bottom": "_position_bottom_wl4ee_gg_",
60
- "_position_right": "_position_right_wl4ee_gg_",
61
- "_position_left": "_position_left_wl4ee_gg_",
62
- "_position_custom_0": "_position_custom_0_wl4ee_gg_",
63
- "_position_custom_1": "_position_custom_1_wl4ee_gg_"
52
+ "__SAxis": "___SAxis_1uh3e_gg_",
53
+ "_hide": "__hide_1uh3e_gg_",
54
+ "__STick": "___STick_1uh3e_gg_",
55
+ "__SGrid": "___SGrid_1uh3e_gg_",
56
+ "__STitle": "___STitle_1uh3e_gg_",
57
+ "--transform-origin": "--transform-origin_10rkj03",
58
+ "_position_top": "_position_top_1uh3e_gg_",
59
+ "_position_bottom": "_position_bottom_1uh3e_gg_",
60
+ "_position_right": "_position_right_1uh3e_gg_",
61
+ "_position_left": "_position_left_1uh3e_gg_",
62
+ "_position_custom_0": "_position_custom_0_1uh3e_gg_",
63
+ "_position_custom_1": "_position_custom_1_1uh3e_gg_"
64
64
  });
65
65
  var CUSTOM_0 = Symbol('custom_0');
66
66
  var CUSTOM_1 = Symbol('custom_1');
package/lib/cjs/Bar.js CHANGED
@@ -44,17 +44,17 @@ var style = (
44
44
  /*__reshadow_css_start__*/
45
45
  _core.sstyled.insert(
46
46
  /*__inner_css_start__*/
47
- ".___SBar_1p4r4_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration_6qtpvs);transition-timing-function:ease-in-out}.___SBar_1p4r4_gg_.__color_1p4r4_gg_{fill:var(--color_6qtpvs)}.___SBar_1p4r4_gg_.__hide_1p4r4_gg_{display:none}.___SBackground_1p4r4_gg_{fill:#e4ecf1}"
47
+ ".___SBar_1fm2a_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_1iw4ich);transition-timing-function:ease-in-out}.___SBar_1fm2a_gg_.__color_1fm2a_gg_{fill:var(--color_1iw4ich)}.___SBar_1fm2a_gg_.__hide_1fm2a_gg_{display:none}.___SBackground_1fm2a_gg_{fill:#c4c7cf}"
48
48
  /*__inner_css_end__*/
49
- , "6qtpvs_gg_")
49
+ , "1iw4ich_gg_")
50
50
  /*__reshadow_css_end__*/
51
51
  , {
52
- "__SBar": "___SBar_1p4r4_gg_",
53
- "--duration": "--duration_6qtpvs",
54
- "_color": "__color_1p4r4_gg_",
55
- "--color": "--color_6qtpvs",
56
- "_hide": "__hide_1p4r4_gg_",
57
- "__SBackground": "___SBackground_1p4r4_gg_"
52
+ "__SBar": "___SBar_1fm2a_gg_",
53
+ "--duration": "--duration_1iw4ich",
54
+ "_color": "__color_1fm2a_gg_",
55
+ "--color": "--color_1iw4ich",
56
+ "_hide": "__hide_1fm2a_gg_",
57
+ "__SBackground": "___SBackground_1fm2a_gg_"
58
58
  });
59
59
 
60
60
  var BarRoot = /*#__PURE__*/function (_Component) {
package/lib/cjs/Bubble.js CHANGED
@@ -56,19 +56,19 @@ var style = (
56
56
  /*__reshadow_css_start__*/
57
57
  _core.sstyled.insert(
58
58
  /*__inner_css_start__*/
59
- ".___SBubble_qnd2k_gg_{fill:#2bb3ff;stroke:#fff;stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_1pe3cbw);transition-timing-function:ease-in-out;opacity:.5}.___SBubble_qnd2k_gg_:hover{opacity:.8}.___SBubble_qnd2k_gg_.__color_qnd2k_gg_{fill:var(--color_1pe3cbw)}.___SCenter_qnd2k_gg_{text-anchor:middle;font-size:11px;stroke:#2bb3ff}.___SCenter_qnd2k_gg_.__color_qnd2k_gg_{stroke:var(--color_1pe3cbw)}.___SLabel_qnd2k_gg_{fill:#2bb3ff}.___SLabel_qnd2k_gg_._position_right_qnd2k_gg_{text-anchor:end}.___SLabel_qnd2k_gg_._position_left_qnd2k_gg_{text-anchor:start}.___SLabel_qnd2k_gg_.__color_qnd2k_gg_{fill:var(--color_1pe3cbw)}"
59
+ ".___SBubble_1hkv5_gg_{fill:#2bb3ff;stroke:#fff;stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_no5xh6);transition-timing-function:ease-in-out;opacity:.5}.___SBubble_1hkv5_gg_:hover{opacity:.8}.___SBubble_1hkv5_gg_.__color_1hkv5_gg_{fill:var(--color_no5xh6)}.___SCenter_1hkv5_gg_{text-anchor:middle;font-size:11px;stroke:#2bb3ff}.___SCenter_1hkv5_gg_.__color_1hkv5_gg_{stroke:var(--color_no5xh6)}.___SLabel_1hkv5_gg_{fill:#2bb3ff}.___SLabel_1hkv5_gg_._position_right_1hkv5_gg_{text-anchor:end}.___SLabel_1hkv5_gg_._position_left_1hkv5_gg_{text-anchor:start}.___SLabel_1hkv5_gg_.__color_1hkv5_gg_{fill:var(--color_no5xh6)}"
60
60
  /*__inner_css_end__*/
61
- , "1pe3cbw_gg_")
61
+ , "no5xh6_gg_")
62
62
  /*__reshadow_css_end__*/
63
63
  , {
64
- "__SBubble": "___SBubble_qnd2k_gg_",
65
- "--duration": "--duration_1pe3cbw",
66
- "_color": "__color_qnd2k_gg_",
67
- "--color": "--color_1pe3cbw",
68
- "__SCenter": "___SCenter_qnd2k_gg_",
69
- "__SLabel": "___SLabel_qnd2k_gg_",
70
- "_position_right": "_position_right_qnd2k_gg_",
71
- "_position_left": "_position_left_qnd2k_gg_"
64
+ "__SBubble": "___SBubble_1hkv5_gg_",
65
+ "--duration": "--duration_no5xh6",
66
+ "_color": "__color_1hkv5_gg_",
67
+ "--color": "--color_no5xh6",
68
+ "__SCenter": "___SCenter_1hkv5_gg_",
69
+ "__SLabel": "___SLabel_1hkv5_gg_",
70
+ "_position_right": "_position_right_1hkv5_gg_",
71
+ "_position_left": "_position_left_1hkv5_gg_"
72
72
  });
73
73
 
74
74
  var BubbleRoot = /*#__PURE__*/function (_Component) {
package/lib/cjs/Donut.js CHANGED
@@ -52,16 +52,16 @@ var style = (
52
52
  /*__reshadow_css_start__*/
53
53
  _core.sstyled.insert(
54
54
  /*__inner_css_start__*/
55
- ".___SPie_1f47o_gg_{stroke:#fff;fill:#50aef4}.___SPie_1f47o_gg_.__color_1f47o_gg_{fill:var(--color_40fbm0)}.___SEmptyData_1f47o_gg_{fill:#e4ecf1}.___SEmptyData_1f47o_gg_.__color_1f47o_gg_{fill:var(--color_40fbm0)}.___SLabel_1f47o_gg_{text-anchor:middle;vertical-anchor:middle}"
55
+ ".___SPie_60wu6_gg_{stroke:#fff;fill:#2bb3ff}.___SPie_60wu6_gg_.__color_60wu6_gg_{fill:var(--color_q6oc02)}.___SEmptyData_60wu6_gg_{fill:#e0e1e9}.___SEmptyData_60wu6_gg_.__color_60wu6_gg_{fill:var(--color_q6oc02)}.___SLabel_60wu6_gg_{text-anchor:middle;vertical-anchor:middle}"
56
56
  /*__inner_css_end__*/
57
- , "40fbm0_gg_")
57
+ , "q6oc02_gg_")
58
58
  /*__reshadow_css_end__*/
59
59
  , {
60
- "__SPie": "___SPie_1f47o_gg_",
61
- "_color": "__color_1f47o_gg_",
62
- "--color": "--color_40fbm0",
63
- "__SEmptyData": "___SEmptyData_1f47o_gg_",
64
- "__SLabel": "___SLabel_1f47o_gg_"
60
+ "__SPie": "___SPie_60wu6_gg_",
61
+ "_color": "__color_60wu6_gg_",
62
+ "--color": "--color_q6oc02",
63
+ "__SEmptyData": "___SEmptyData_60wu6_gg_",
64
+ "__SLabel": "___SLabel_60wu6_gg_"
65
65
  });
66
66
  var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
67
67
 
package/lib/cjs/Dots.js CHANGED
@@ -36,17 +36,17 @@ var style = (
36
36
  /*__reshadow_css_start__*/
37
37
  _core.sstyled.insert(
38
38
  /*__inner_css_start__*/
39
- ".___SDot_kolmf_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:#50aef4;transition-property:cx,cy;transition-duration:var(--duration_1mcd7jn);transition-timing-function:ease-in-out}.___SDot_kolmf_gg_.__color_kolmf_gg_{fill:var(--color_1mcd7jn)}.___SDot_kolmf_gg_.__hide_kolmf_gg_{display:none}.___SDot_kolmf_gg_.__active_kolmf_gg_{r:8px}"
39
+ ".___SDot_1gsnq_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:#2bb3ff;transition-property:cx,cy;transition-duration:var(--duration_1hsdugh);transition-timing-function:ease-in-out}.___SDot_1gsnq_gg_.__color_1gsnq_gg_{fill:var(--color_1hsdugh)}.___SDot_1gsnq_gg_.__hide_1gsnq_gg_{display:none}.___SDot_1gsnq_gg_.__active_1gsnq_gg_{r:8px}"
40
40
  /*__inner_css_end__*/
41
- , "1mcd7jn_gg_")
41
+ , "1hsdugh_gg_")
42
42
  /*__reshadow_css_end__*/
43
43
  , {
44
- "__SDot": "___SDot_kolmf_gg_",
45
- "--duration": "--duration_1mcd7jn",
46
- "_color": "__color_kolmf_gg_",
47
- "--color": "--color_1mcd7jn",
48
- "_hide": "__hide_kolmf_gg_",
49
- "_active": "__active_kolmf_gg_"
44
+ "__SDot": "___SDot_1gsnq_gg_",
45
+ "--duration": "--duration_1hsdugh",
46
+ "_color": "__color_1gsnq_gg_",
47
+ "--color": "--color_1hsdugh",
48
+ "_hide": "__hide_1gsnq_gg_",
49
+ "_active": "__active_1gsnq_gg_"
50
50
  });
51
51
 
52
52
  function Dots(props) {
@@ -42,15 +42,15 @@ var _ref = (
42
42
  /*__reshadow_css_start__*/
43
43
  (0, _core.__css__)(
44
44
  /*__inner_css_start__*/
45
- ".___SBar_1f75c_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_1f75c_gg_.__color_1f75c_gg_{fill:var(--color)}.___SBar_1f75c_gg_.__hide_1f75c_gg_{display:none}.___SBackground_1f75c_gg_{fill:#e4ecf1}"
45
+ ".___SBar_1bdm5_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_1bdm5_gg_.__color_1bdm5_gg_{fill:var(--color)}.___SBar_1bdm5_gg_.__hide_1bdm5_gg_{display:none}.___SBackground_1bdm5_gg_{fill:#c4c7cf}"
46
46
  /*__inner_css_end__*/
47
- , "aih8l2_gg_")
47
+ , "1i9fuo2_gg_")
48
48
  /*__reshadow_css_end__*/
49
49
  , {
50
- "__SBar": "___SBar_1f75c_gg_",
51
- "_color": "__color_1f75c_gg_",
52
- "_hide": "__hide_1f75c_gg_",
53
- "__SBackground": "___SBackground_1f75c_gg_"
50
+ "__SBar": "___SBar_1bdm5_gg_",
51
+ "_color": "__color_1bdm5_gg_",
52
+ "_hide": "__hide_1bdm5_gg_",
53
+ "__SBackground": "___SBackground_1bdm5_gg_"
54
54
  }),
55
55
  style = (0, _extends2["default"])({}, _ref);
56
56
 
@@ -42,17 +42,17 @@ var style = (
42
42
  /*__reshadow_css_start__*/
43
43
  _core.sstyled.insert(
44
44
  /*__inner_css_start__*/
45
- ".___SBar_1p4r4_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration_6qtpvs);transition-timing-function:ease-in-out}.___SBar_1p4r4_gg_.__color_1p4r4_gg_{fill:var(--color_6qtpvs)}.___SBar_1p4r4_gg_.__hide_1p4r4_gg_{display:none}.___SBackground_1p4r4_gg_{fill:#e4ecf1}"
45
+ ".___SBar_1fm2a_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_1iw4ich);transition-timing-function:ease-in-out}.___SBar_1fm2a_gg_.__color_1fm2a_gg_{fill:var(--color_1iw4ich)}.___SBar_1fm2a_gg_.__hide_1fm2a_gg_{display:none}.___SBackground_1fm2a_gg_{fill:#c4c7cf}"
46
46
  /*__inner_css_end__*/
47
- , "6qtpvs_gg_")
47
+ , "1iw4ich_gg_")
48
48
  /*__reshadow_css_end__*/
49
49
  , {
50
- "__SBar": "___SBar_1p4r4_gg_",
51
- "--duration": "--duration_6qtpvs",
52
- "_color": "__color_1p4r4_gg_",
53
- "--color": "--color_6qtpvs",
54
- "_hide": "__hide_1p4r4_gg_",
55
- "__SBackground": "___SBackground_1p4r4_gg_"
50
+ "__SBar": "___SBar_1fm2a_gg_",
51
+ "--duration": "--duration_1iw4ich",
52
+ "_color": "__color_1fm2a_gg_",
53
+ "--color": "--color_1iw4ich",
54
+ "_hide": "__hide_1fm2a_gg_",
55
+ "__SBackground": "___SBackground_1fm2a_gg_"
56
56
  });
57
57
 
58
58
  var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
package/lib/cjs/Hover.js CHANGED
@@ -44,13 +44,13 @@ var style = (
44
44
  /*__reshadow_css_start__*/
45
45
  _core.sstyled.insert(
46
46
  /*__inner_css_start__*/
47
- ".___SHoverLine_1gg7i_gg_{stroke:#a6b0b3}.___SHoverRect_1gg7i_gg_{fill:rgba(152,170,175,.3)}"
47
+ ".___SHoverLine_1x76j_gg_{stroke:#a9abb6}.___SHoverRect_1x76j_gg_{fill:rgba(196,199,207,.3)}"
48
48
  /*__inner_css_end__*/
49
- , "1tjsi7e_gg_")
49
+ , "8ax2kr_gg_")
50
50
  /*__reshadow_css_end__*/
51
51
  , {
52
- "__SHoverLine": "___SHoverLine_1gg7i_gg_",
53
- "__SHoverRect": "___SHoverRect_1gg7i_gg_"
52
+ "__SHoverLine": "___SHoverLine_1x76j_gg_",
53
+ "__SHoverRect": "___SHoverRect_1x76j_gg_"
54
54
  });
55
55
 
56
56
  var Hover = /*#__PURE__*/function (_Component) {
package/lib/cjs/Line.js CHANGED
@@ -46,17 +46,17 @@ var style = (
46
46
  /*__reshadow_css_start__*/
47
47
  _core.sstyled.insert(
48
48
  /*__inner_css_start__*/
49
- ".___SLine_kqhyz_gg_{fill:transparent;stroke-width:3;stroke:#50aef4;transition-property:d;transition-duration:var(--duration_1lu5daw);transition-timing-function:ease-in-out}.___SLine_kqhyz_gg_.__color_kqhyz_gg_{stroke:var(--color_1lu5daw)}.___SLine_kqhyz_gg_.__hide_kqhyz_gg_{display:none}.___SNull_kqhyz_gg_{fill:transparent;stroke:#98aaaf;stroke-dasharray:4}.___SNull_kqhyz_gg_.__hide_kqhyz_gg_{display:none}"
49
+ ".___SLine_gt0it_gg_{fill:transparent;stroke-width:3;stroke:#2bb3ff;transition-property:d;transition-duration:var(--duration_xmj8r);transition-timing-function:ease-in-out}.___SLine_gt0it_gg_.__color_gt0it_gg_{stroke:var(--color_xmj8r)}.___SLine_gt0it_gg_.__hide_gt0it_gg_{display:none}.___SNull_gt0it_gg_{fill:transparent;stroke:#c4c7cf;stroke-dasharray:4}.___SNull_gt0it_gg_.__hide_gt0it_gg_{display:none}"
50
50
  /*__inner_css_end__*/
51
- , "1lu5daw_gg_")
51
+ , "xmj8r_gg_")
52
52
  /*__reshadow_css_end__*/
53
53
  , {
54
- "__SLine": "___SLine_kqhyz_gg_",
55
- "--duration": "--duration_1lu5daw",
56
- "_color": "__color_kqhyz_gg_",
57
- "--color": "--color_1lu5daw",
58
- "_hide": "__hide_kqhyz_gg_",
59
- "__SNull": "___SNull_kqhyz_gg_"
54
+ "__SLine": "___SLine_gt0it_gg_",
55
+ "--duration": "--duration_xmj8r",
56
+ "_color": "__color_gt0it_gg_",
57
+ "--color": "--color_xmj8r",
58
+ "_hide": "__hide_gt0it_gg_",
59
+ "__SNull": "___SNull_gt0it_gg_"
60
60
  });
61
61
 
62
62
  var LineRoot = /*#__PURE__*/function (_Component) {
@@ -60,19 +60,21 @@ var style = (
60
60
  /*__reshadow_css_start__*/
61
61
  _core.sstyled.insert(
62
62
  /*__inner_css_start__*/
63
- ".___SRadian_1rr18_gg_{cursor:pointer}.___SCap_1rr18_gg_{transition:r .1s}.___SLabel_1rr18_gg_{fill:var(--color_qzvs85);cursor:var(--text-cursor_qzvs85);transform-origin:var(--transform-origin_qzvs85)}.___SRadian_1rr18_gg_:hover .___SLabel_1rr18_gg_{fill:var(--color-hovered_qzvs85)}@media (prefers-reduced-motion){.___SLineCap_1rr18_gg_{transition:none}}"
63
+ ".___SRadian_1lwpb_gg_{cursor:pointer;fill:#008ff8}.___SLine_1lwpb_gg_{stroke:#008ff8}.___SLine_1lwpb_gg_.__color_1lwpb_gg_{stroke:var(--color_1uem4n7)}.___SCap_1lwpb_gg_{transition:r .1s}.___SLabel_1lwpb_gg_{fill:var(--color_1uem4n7);cursor:var(--text-cursor_1uem4n7);transform-origin:var(--transform-origin_1uem4n7)}.___SRadian_1lwpb_gg_:hover .___SLabel_1lwpb_gg_{fill:var(--color-hovered_1uem4n7)}@media (prefers-reduced-motion){.___SLineCap_1lwpb_gg_{transition:none}}"
64
64
  /*__inner_css_end__*/
65
- , "qzvs85_gg_")
65
+ , "1uem4n7_gg_")
66
66
  /*__reshadow_css_end__*/
67
67
  , {
68
- "__SRadian": "___SRadian_1rr18_gg_",
69
- "__SCap": "___SCap_1rr18_gg_",
70
- "__SLabel": "___SLabel_1rr18_gg_",
71
- "--color": "--color_qzvs85",
72
- "--text-cursor": "--text-cursor_qzvs85",
73
- "--transform-origin": "--transform-origin_qzvs85",
74
- "--color-hovered": "--color-hovered_qzvs85",
75
- "__SLineCap": "___SLineCap_1rr18_gg_"
68
+ "__SRadian": "___SRadian_1lwpb_gg_",
69
+ "__SLine": "___SLine_1lwpb_gg_",
70
+ "_color": "__color_1lwpb_gg_",
71
+ "--color": "--color_1uem4n7",
72
+ "__SCap": "___SCap_1lwpb_gg_",
73
+ "__SLabel": "___SLabel_1lwpb_gg_",
74
+ "--text-cursor": "--text-cursor_1uem4n7",
75
+ "--transform-origin": "--transform-origin_1uem4n7",
76
+ "--color-hovered": "--color-hovered_1uem4n7",
77
+ "__SLineCap": "___SLineCap_1lwpb_gg_"
76
78
  });
77
79
  var baseAngle = -Math.PI / 2; // The top vertical line
78
80
 
@@ -305,7 +307,6 @@ var RadialTreeBase = /*#__PURE__*/function (_Component) {
305
307
  duration: 300,
306
308
  centralMargin: 50,
307
309
  labelMargin: 2,
308
- color: '#008FF8',
309
310
  iconColor: '#fff',
310
311
  capSize: 8,
311
312
  iconSize: 8,
@@ -568,9 +569,11 @@ var Line = function Line(_ref21) {
568
569
  var _ref5;
569
570
 
570
571
  var SLine = _ref21.Element,
571
- styles = _ref21.styles;
572
+ styles = _ref21.styles,
573
+ stroke = _ref21.stroke;
572
574
  return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SLine, _ref5.cn("SLine", {
573
- "render": "line"
575
+ "render": "line",
576
+ "stroke": stroke
574
577
  }));
575
578
  };
576
579
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/RadialTree.tsx"],"names":["baseAngle","Math","PI","RadialTreeBase","props","handleRadianClick","bind","activeKey","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","cx","baseVal","value","cy","radianIndex","parseInt","dataset","lineNode","from","x1","y1","to","attr","_","index","transition","x","y","width","height","x2","y2","prevProps","$rootProps","data","runAppearAnimation","key","event","newKey","handlers","textSize","widths","label","max","size","center","restRootProps","textWidth","computeTextWidth","radiansCount","onRadianClick","SRadialTree","Element","Children","styles","Component","style","angleOffset","centralMargin","labelMargin","color","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","renderRadian","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","xEnd","yEnd","stroke","radius","isActive","icon","labelAngle","isHorizontal","angle","getRadianKey","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","SRadian","children","_child","mergedProps","InteractiveArea","RadialTree","Radian","SRadianList","SInteractiveArea","Line","SLine","Cap","SCap","Icon","SIcon","tag","Label","SLabel","lines","String","split","linesCount","SLabelLine","sstyles","sLabelStyles","cn","toFixed","className","lineText","lineIndex","Title","STitle"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, CProps, ReturnEl } from '@semcore/core';\n// @ts-ignore\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/radial-tree.shadow.css';\nimport { shade } from '@semcore/utils/lib/color';\nimport { measureText } from './utils';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\nexport interface IRadialTreeProps {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highligted with inreased cap size.\n */\n activeKey?: string | null;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n}\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n angleOffset: number;\n $rootProps: RootAsProps;\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: 2,\n color: '#008FF8',\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`);\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`);\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`);\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`);\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const cx = node.cx?.baseVal?.value;\n const cy = node.cy?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: { cx, cy },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy);\n circlesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('cx', (_, index) => attrs[index].to?.cx)\n .attr('cy', (_, index) => attrs[index].to?.cy);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const x = node.x?.baseVal?.value;\n const y = node.y?.baseVal?.value;\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x,\n y,\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x)\n .attr('y', (_, index) => attrs[index].from?.y);\n iconsAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x)\n .attr('y', (_, index) => attrs[index].to?.y);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n const x2 = node.x2?.baseVal?.value;\n const y2 = node.y2?.baseVal?.value;\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2,\n y2,\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n .attr('x2', (_, index) => attrs[index].from?.x2)\n .attr('y2', (_, index) => attrs[index].from?.y2);\n linesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2)\n .attr('y2', (_, index) => attrs[index].to?.y2);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data?.length !== this.asProps.data?.length) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render=\"g\">\n <Children />\n </SRadialTree>,\n );\n }\n}\n\nexport interface IRadialTreeRadianProps extends IRadialTreeProps {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n}\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n radius: capSize,\n color,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const iconColor = data.iconColor ?? this.asProps.iconColor;\n const iconSize = data.iconSize ?? this.asProps.iconSize;\n const icon = data.icon ?? this.asProps.icon;\n\n return {\n x: xEnd - iconSize! / 2,\n y: yEnd - iconSize! / 2,\n iconSize,\n color: iconColor ?? '#fff',\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data,\n index,\n );\n const { uid, textSize } = this.asProps;\n const { label } = data;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n isHorizontal,\n textSize,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, angleOffset, activeKey, size, radiansCount, textWidth } = 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(minDemSize - textWidth - baseCapSize - centralMargin, 10);\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 + Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2),\n yCenter + Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\nexport interface IRadialTreeRadianInteractiveAreaProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n}\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke=\"transparent\" render=\"line\" />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLineProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({ Element: SLine, styles }) => {\n return sstyled(styles)(<SLine render=\"line\" />) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianCapProps {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n}) => {\n return sstyled(styles)(\n <SCap render=\"circle\" cx={x} cy={y} r={radius} fill={color} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianIconProps {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n tag?: React.FC;\n isActive?: boolean;\n}\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLabelProps {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n}\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const 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 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return (\n <SLabel\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={`rotate(${((angle / Math.PI) * 180).toFixed(2)})`}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\nexport interface IRadialTreeTitleProps {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n}\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n styles,\n textSize,\n color,\n x,\n y,\n}) => {\n return sstyled(styles)(\n <STitle\n render=\"text\"\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n fontSize={textSize}\n fill={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as (<T>(\n props: CProps<IRadialTreeProps & T>,\n) => ReturnEl) & {\n Title: <T>(props: CProps<IRadialTreeTitleProps & T>) => ReturnEl;\n Radian: (<T>(props: CProps<IRadialTreeRadianProps & T>) => ReturnEl) & {\n Line: <T>(props: CProps<IRadialTreeRadianLineProps & T>) => ReturnEl;\n Cap: <T>(props: CProps<IRadialTreeRadianCapProps & T>) => ReturnEl;\n Icon: <T>(props: CProps<IRadialTreeRadianIconProps & T>) => ReturnEl;\n Label: <T>(props: CProps<IRadialTreeRadianLabelProps & T>) => ReturnEl;\n };\n};\n\nexport default RadialTree;\n"],"file":"RadialTree.js"}
1
+ {"version":3,"sources":["../../src/RadialTree.tsx"],"names":["baseAngle","Math","PI","RadialTreeBase","props","handleRadianClick","bind","activeKey","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","cx","baseVal","value","cy","radianIndex","parseInt","dataset","lineNode","from","x1","y1","to","attr","_","index","transition","x","y","width","height","x2","y2","prevProps","$rootProps","data","runAppearAnimation","key","event","newKey","handlers","textSize","widths","label","max","size","center","restRootProps","textWidth","computeTextWidth","radiansCount","onRadianClick","SRadialTree","Element","Children","styles","Component","style","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","renderRadian","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","xEnd","yEnd","color","stroke","radius","isActive","icon","labelAngle","isHorizontal","angle","getRadianKey","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","SRadian","children","_child","mergedProps","InteractiveArea","RadialTree","Radian","SRadianList","SInteractiveArea","Line","SLine","Cap","SCap","Icon","SIcon","tag","Label","SLabel","lines","String","split","linesCount","SLabelLine","sstyles","sLabelStyles","cn","toFixed","className","lineText","lineIndex","Title","STitle"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, CProps, ReturnEl } from '@semcore/core';\n// @ts-ignore\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/radial-tree.shadow.css';\nimport { shade } from '@semcore/utils/lib/color';\nimport { measureText } from './utils';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\nexport interface IRadialTreeProps {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highligted with inreased cap size.\n */\n activeKey?: string | null;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n}\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n angleOffset: number;\n $rootProps: RootAsProps;\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: 2,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`);\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`);\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`);\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`);\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const cx = node.cx?.baseVal?.value;\n const cy = node.cy?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: { cx, cy },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy);\n circlesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('cx', (_, index) => attrs[index].to?.cx)\n .attr('cy', (_, index) => attrs[index].to?.cy);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const x = node.x?.baseVal?.value;\n const y = node.y?.baseVal?.value;\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x,\n y,\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x)\n .attr('y', (_, index) => attrs[index].from?.y);\n iconsAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x)\n .attr('y', (_, index) => attrs[index].to?.y);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n const x2 = node.x2?.baseVal?.value;\n const y2 = node.y2?.baseVal?.value;\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2,\n y2,\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n .attr('x2', (_, index) => attrs[index].from?.x2)\n .attr('y2', (_, index) => attrs[index].from?.y2);\n linesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2)\n .attr('y2', (_, index) => attrs[index].to?.y2);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data?.length !== this.asProps.data?.length) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render=\"g\">\n <Children />\n </SRadialTree>,\n );\n }\n}\n\nexport interface IRadialTreeRadianProps extends IRadialTreeProps {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n}\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n radius: capSize,\n color,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const iconColor = data.iconColor ?? this.asProps.iconColor;\n const iconSize = data.iconSize ?? this.asProps.iconSize;\n const icon = data.icon ?? this.asProps.icon;\n\n return {\n x: xEnd - iconSize! / 2,\n y: yEnd - iconSize! / 2,\n iconSize,\n color: iconColor ?? '#fff',\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data,\n index,\n );\n const { uid, textSize } = this.asProps;\n const { label } = data;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n isHorizontal,\n textSize,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, angleOffset, activeKey, size, radiansCount, textWidth } = 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(minDemSize - textWidth - baseCapSize - centralMargin, 10);\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 + Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2),\n yCenter + Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\nexport interface IRadialTreeRadianInteractiveAreaProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n}\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke=\"transparent\" render=\"line\" />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLineProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({ Element: SLine, styles, stroke }) => {\n return sstyled(styles)(<SLine render=\"line\" stroke={stroke} />) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianCapProps {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n}) => {\n return sstyled(styles)(\n <SCap render=\"circle\" cx={x} cy={y} r={radius} fill={color} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianIconProps {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n tag?: React.FC;\n isActive?: boolean;\n}\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLabelProps {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n}\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const 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 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return (\n <SLabel\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={`rotate(${((angle / Math.PI) * 180).toFixed(2)})`}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\nexport interface IRadialTreeTitleProps {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n}\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n styles,\n textSize,\n color,\n x,\n y,\n}) => {\n return sstyled(styles)(\n <STitle\n render=\"text\"\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n fontSize={textSize}\n fill={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as (<T>(\n props: CProps<IRadialTreeProps & T>,\n) => ReturnEl) & {\n Title: <T>(props: CProps<IRadialTreeTitleProps & T>) => ReturnEl;\n Radian: (<T>(props: CProps<IRadialTreeRadianProps & T>) => ReturnEl) & {\n Line: <T>(props: CProps<IRadialTreeRadianLineProps & T>) => ReturnEl;\n Cap: <T>(props: CProps<IRadialTreeRadianCapProps & T>) => ReturnEl;\n Icon: <T>(props: CProps<IRadialTreeRadianIconProps & T>) => ReturnEl;\n Label: <T>(props: CProps<IRadialTreeRadianLabelProps & T>) => ReturnEl;\n };\n};\n\nexport default RadialTree;\n"],"file":"RadialTree.js"}
@@ -52,16 +52,16 @@ var style = (
52
52
  /*__reshadow_css_start__*/
53
53
  _core.sstyled.insert(
54
54
  /*__inner_css_start__*/
55
- ".___SScatterPlot_a9tp4_gg_{fill:#2bb3ff;transition-property:cx,cy;transition-duration:var(--duration_hiipjg);transition-timing-function:ease-in-out;opacity:.5}.___SScatterPlot_a9tp4_gg_:hover{opacity:.8}.___SScatterPlot_a9tp4_gg_.__color_a9tp4_gg_{fill:var(--color_hiipjg)}.___SValue_a9tp4_gg_{text-anchor:middle;font-size:10px;stroke:#008ff8}.___SValue_a9tp4_gg_.__color_a9tp4_gg_{stroke:var(--color_hiipjg)}"
55
+ ".___SScatterPlot_1xk4p_gg_{fill:#2bb3ff;transition-property:cx,cy;transition-duration:var(--duration_ti4bpm);transition-timing-function:ease-in-out;opacity:.5}.___SScatterPlot_1xk4p_gg_:hover{opacity:.8}.___SScatterPlot_1xk4p_gg_.__color_1xk4p_gg_{fill:var(--color_ti4bpm)}.___SValue_1xk4p_gg_{text-anchor:middle;font-size:10px;stroke:#008ff8}.___SValue_1xk4p_gg_.__color_1xk4p_gg_{stroke:var(--color_ti4bpm)}"
56
56
  /*__inner_css_end__*/
57
- , "hiipjg_gg_")
57
+ , "ti4bpm_gg_")
58
58
  /*__reshadow_css_end__*/
59
59
  , {
60
- "__SScatterPlot": "___SScatterPlot_a9tp4_gg_",
61
- "--duration": "--duration_hiipjg",
62
- "_color": "__color_a9tp4_gg_",
63
- "--color": "--color_hiipjg",
64
- "__SValue": "___SValue_a9tp4_gg_"
60
+ "__SScatterPlot": "___SScatterPlot_1xk4p_gg_",
61
+ "--duration": "--duration_ti4bpm",
62
+ "_color": "__color_1xk4p_gg_",
63
+ "--color": "--color_ti4bpm",
64
+ "__SValue": "___SValue_1xk4p_gg_"
65
65
  });
66
66
 
67
67
  var ScatterPlotRoot = /*#__PURE__*/function (_Component) {