@semcore/d3-chart 2.3.4 → 2.3.6

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 (195) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/lib/cjs/Area.js +13 -13
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +14 -14
  5. package/lib/cjs/Bar.js +8 -8
  6. package/lib/cjs/Bubble.js +15 -15
  7. package/lib/cjs/Bubble.js.map +1 -1
  8. package/lib/cjs/Donut.js +13 -13
  9. package/lib/cjs/Donut.js.map +1 -1
  10. package/lib/cjs/Dots.js +11 -11
  11. package/lib/cjs/Dots.js.map +1 -1
  12. package/lib/cjs/GroupBar.js +1 -4
  13. package/lib/cjs/GroupBar.js.map +1 -1
  14. package/lib/cjs/HorizontalBar.js +8 -8
  15. package/lib/cjs/Hover.js +8 -8
  16. package/lib/cjs/Hover.js.map +1 -1
  17. package/lib/cjs/Line.js +10 -10
  18. package/lib/cjs/Line.js.map +1 -1
  19. package/lib/cjs/Plot.js +6 -6
  20. package/lib/cjs/Plot.js.map +1 -1
  21. package/lib/cjs/RadialTree.js +16 -16
  22. package/lib/cjs/RadialTree.js.map +1 -1
  23. package/lib/cjs/ReferenceLine.js +10 -10
  24. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  25. package/lib/cjs/ScatterPlot.js +11 -11
  26. package/lib/cjs/ScatterPlot.js.map +1 -1
  27. package/lib/cjs/StackBar.js +0 -3
  28. package/lib/cjs/StackBar.js.map +1 -1
  29. package/lib/cjs/StackedArea.js +0 -3
  30. package/lib/cjs/StackedArea.js.map +1 -1
  31. package/lib/cjs/Tooltip.js +10 -10
  32. package/lib/cjs/Tooltip.js.map +1 -1
  33. package/lib/cjs/Venn.js +7 -7
  34. package/lib/cjs/Venn.js.map +1 -1
  35. package/lib/cjs/a11y/PlotA11yModule.js +3 -3
  36. package/lib/cjs/a11y/PlotA11yView.js +4 -4
  37. package/lib/cjs/createElement.js +3 -3
  38. package/lib/cjs/createElement.js.map +1 -1
  39. package/lib/cjs/types/Area.d.js +2 -0
  40. package/lib/cjs/types/Area.d.js.map +1 -0
  41. package/lib/cjs/types/Axis.d.js +2 -0
  42. package/lib/cjs/types/Axis.d.js.map +1 -0
  43. package/lib/cjs/types/Bar.d.js +2 -0
  44. package/lib/cjs/types/Bar.d.js.map +1 -0
  45. package/lib/cjs/types/Bubble.d.js +2 -0
  46. package/lib/cjs/types/Bubble.d.js.map +1 -0
  47. package/lib/cjs/types/ClipPath.d.js +2 -0
  48. package/lib/cjs/types/ClipPath.d.js.map +1 -0
  49. package/lib/cjs/types/Donut.d.js +2 -0
  50. package/lib/cjs/types/Donut.d.js.map +1 -0
  51. package/lib/cjs/types/GroupBar.d.js +2 -0
  52. package/lib/cjs/types/GroupBar.d.js.map +1 -0
  53. package/lib/cjs/types/HorizontalBar.d.js +2 -0
  54. package/lib/cjs/types/HorizontalBar.d.js.map +1 -0
  55. package/lib/cjs/types/Hover.d.js +2 -0
  56. package/lib/cjs/types/Hover.d.js.map +1 -0
  57. package/lib/cjs/types/Line.d.js +2 -0
  58. package/lib/cjs/types/Line.d.js.map +1 -0
  59. package/lib/cjs/types/Plot.d.js +2 -0
  60. package/lib/cjs/types/Plot.d.js.map +1 -0
  61. package/lib/cjs/types/ReferenceLine.d.js +2 -0
  62. package/lib/cjs/types/ReferenceLine.d.js.map +1 -0
  63. package/lib/cjs/types/ResponsiveContainer.d.js +2 -0
  64. package/lib/cjs/types/ResponsiveContainer.d.js.map +1 -0
  65. package/lib/cjs/types/ScatterPlot.d.js +2 -0
  66. package/lib/cjs/types/ScatterPlot.d.js.map +1 -0
  67. package/lib/cjs/types/StackBar.d.js +2 -0
  68. package/lib/cjs/types/StackBar.d.js.map +1 -0
  69. package/lib/cjs/types/StackedArea.d.js +2 -0
  70. package/lib/cjs/types/StackedArea.d.js.map +1 -0
  71. package/lib/cjs/types/Tooltip.d.js +2 -0
  72. package/lib/cjs/types/Tooltip.d.js.map +1 -0
  73. package/lib/cjs/types/Venn.d.js +2 -0
  74. package/lib/cjs/types/Venn.d.js.map +1 -0
  75. package/lib/cjs/types/context.d.js +2 -0
  76. package/lib/cjs/types/context.d.js.map +1 -0
  77. package/lib/cjs/types/index.d.js +378 -0
  78. package/lib/cjs/types/index.d.js.map +1 -0
  79. package/lib/es6/Area.js +12 -12
  80. package/lib/es6/Area.js.map +1 -1
  81. package/lib/es6/Axis.js +14 -14
  82. package/lib/es6/Bar.js +8 -8
  83. package/lib/es6/Bubble.js +15 -15
  84. package/lib/es6/Bubble.js.map +1 -1
  85. package/lib/es6/Donut.js +11 -11
  86. package/lib/es6/Donut.js.map +1 -1
  87. package/lib/es6/Dots.js +11 -11
  88. package/lib/es6/Dots.js.map +1 -1
  89. package/lib/es6/GroupBar.js +1 -4
  90. package/lib/es6/GroupBar.js.map +1 -1
  91. package/lib/es6/HorizontalBar.js +8 -8
  92. package/lib/es6/Hover.js +6 -6
  93. package/lib/es6/Hover.js.map +1 -1
  94. package/lib/es6/Line.js +9 -9
  95. package/lib/es6/Line.js.map +1 -1
  96. package/lib/es6/Plot.js +7 -7
  97. package/lib/es6/Plot.js.map +1 -1
  98. package/lib/es6/RadialTree.js +18 -19
  99. package/lib/es6/RadialTree.js.map +1 -1
  100. package/lib/es6/ReferenceLine.js +10 -10
  101. package/lib/es6/ResponsiveContainer.js.map +1 -1
  102. package/lib/es6/ScatterPlot.js +11 -11
  103. package/lib/es6/ScatterPlot.js.map +1 -1
  104. package/lib/es6/StackBar.js +0 -3
  105. package/lib/es6/StackBar.js.map +1 -1
  106. package/lib/es6/StackedArea.js +0 -3
  107. package/lib/es6/StackedArea.js.map +1 -1
  108. package/lib/es6/Tooltip.js +10 -10
  109. package/lib/es6/Tooltip.js.map +1 -1
  110. package/lib/es6/Venn.js +7 -7
  111. package/lib/es6/Venn.js.map +1 -1
  112. package/lib/es6/a11y/PlotA11yModule.js +3 -3
  113. package/lib/es6/a11y/PlotA11yView.js +4 -4
  114. package/lib/es6/createElement.js +2 -2
  115. package/lib/es6/createElement.js.map +1 -1
  116. package/lib/es6/types/Area.d.js +2 -0
  117. package/lib/es6/types/Area.d.js.map +1 -0
  118. package/lib/es6/types/Axis.d.js +2 -0
  119. package/lib/es6/types/Axis.d.js.map +1 -0
  120. package/lib/es6/types/Bar.d.js +2 -0
  121. package/lib/es6/types/Bar.d.js.map +1 -0
  122. package/lib/es6/types/Bubble.d.js +2 -0
  123. package/lib/es6/types/Bubble.d.js.map +1 -0
  124. package/lib/es6/types/ClipPath.d.js +2 -0
  125. package/lib/es6/types/ClipPath.d.js.map +1 -0
  126. package/lib/es6/types/Donut.d.js +2 -0
  127. package/lib/es6/types/Donut.d.js.map +1 -0
  128. package/lib/es6/types/GroupBar.d.js +2 -0
  129. package/lib/es6/types/GroupBar.d.js.map +1 -0
  130. package/lib/es6/types/HorizontalBar.d.js +2 -0
  131. package/lib/es6/types/HorizontalBar.d.js.map +1 -0
  132. package/lib/es6/types/Hover.d.js +2 -0
  133. package/lib/es6/types/Hover.d.js.map +1 -0
  134. package/lib/es6/types/Line.d.js +2 -0
  135. package/lib/es6/types/Line.d.js.map +1 -0
  136. package/lib/es6/types/Plot.d.js +2 -0
  137. package/lib/es6/types/Plot.d.js.map +1 -0
  138. package/lib/es6/types/ReferenceLine.d.js +2 -0
  139. package/lib/es6/types/ReferenceLine.d.js.map +1 -0
  140. package/lib/es6/types/ResponsiveContainer.d.js +2 -0
  141. package/lib/es6/types/ResponsiveContainer.d.js.map +1 -0
  142. package/lib/es6/types/ScatterPlot.d.js +2 -0
  143. package/lib/es6/types/ScatterPlot.d.js.map +1 -0
  144. package/lib/es6/types/StackBar.d.js +2 -0
  145. package/lib/es6/types/StackBar.d.js.map +1 -0
  146. package/lib/es6/types/StackedArea.d.js +2 -0
  147. package/lib/es6/types/StackedArea.d.js.map +1 -0
  148. package/lib/es6/types/Tooltip.d.js +2 -0
  149. package/lib/es6/types/Tooltip.d.js.map +1 -0
  150. package/lib/es6/types/Venn.d.js +2 -0
  151. package/lib/es6/types/Venn.d.js.map +1 -0
  152. package/lib/es6/types/context.d.js +2 -0
  153. package/lib/es6/types/context.d.js.map +1 -0
  154. package/lib/{cjs/types/index.d.ts → es6/types/index.d.js} +4 -22
  155. package/lib/es6/types/index.d.js.map +1 -0
  156. package/package.json +5 -2
  157. package/lib/cjs/types/Area.d.ts +0 -48
  158. package/lib/cjs/types/Axis.d.ts +0 -64
  159. package/lib/cjs/types/Bar.d.ts +0 -52
  160. package/lib/cjs/types/Bubble.d.ts +0 -32
  161. package/lib/cjs/types/ClipPath.d.ts +0 -26
  162. package/lib/cjs/types/Donut.d.ts +0 -46
  163. package/lib/cjs/types/GroupBar.d.ts +0 -20
  164. package/lib/cjs/types/HorizontalBar.d.ts +0 -29
  165. package/lib/cjs/types/Hover.d.ts +0 -15
  166. package/lib/cjs/types/Line.d.ts +0 -50
  167. package/lib/cjs/types/Plot.d.ts +0 -91
  168. package/lib/cjs/types/ReferenceLine.d.ts +0 -31
  169. package/lib/cjs/types/ResponsiveContainer.d.ts +0 -20
  170. package/lib/cjs/types/ScatterPlot.d.ts +0 -27
  171. package/lib/cjs/types/StackBar.d.ts +0 -26
  172. package/lib/cjs/types/StackedArea.d.ts +0 -26
  173. package/lib/cjs/types/Tooltip.d.ts +0 -33
  174. package/lib/cjs/types/Venn.d.ts +0 -45
  175. package/lib/cjs/types/context.d.ts +0 -6
  176. package/lib/es6/types/Area.d.ts +0 -48
  177. package/lib/es6/types/Axis.d.ts +0 -64
  178. package/lib/es6/types/Bar.d.ts +0 -52
  179. package/lib/es6/types/Bubble.d.ts +0 -32
  180. package/lib/es6/types/ClipPath.d.ts +0 -26
  181. package/lib/es6/types/Donut.d.ts +0 -46
  182. package/lib/es6/types/GroupBar.d.ts +0 -20
  183. package/lib/es6/types/HorizontalBar.d.ts +0 -29
  184. package/lib/es6/types/Hover.d.ts +0 -15
  185. package/lib/es6/types/Line.d.ts +0 -50
  186. package/lib/es6/types/Plot.d.ts +0 -91
  187. package/lib/es6/types/ReferenceLine.d.ts +0 -31
  188. package/lib/es6/types/ResponsiveContainer.d.ts +0 -20
  189. package/lib/es6/types/ScatterPlot.d.ts +0 -27
  190. package/lib/es6/types/StackBar.d.ts +0 -26
  191. package/lib/es6/types/StackedArea.d.ts +0 -26
  192. package/lib/es6/types/Tooltip.d.ts +0 -33
  193. package/lib/es6/types/Venn.d.ts +0 -45
  194. package/lib/es6/types/context.d.ts +0 -6
  195. package/lib/es6/types/index.d.ts +0 -59
package/lib/es6/Axis.js CHANGED
@@ -27,23 +27,23 @@ var style = (
27
27
  /*__reshadow_css_start__*/
28
28
  _sstyled.insert(
29
29
  /*__inner_css_start__*/
30
- ".___SAxis_1oodn_gg_{stroke:#c4c7cf}.___SAxis_1oodn_gg_.__hide_1oodn_gg_{display:none}.___STick_1oodn_gg_{font-size:12px;fill:#6c6e79}.___STick_1oodn_gg_.__hide_1oodn_gg_{display:none}.___SGrid_1oodn_gg_{fill:transparent;stroke:#e0e1e9}.___STitle_1oodn_gg_{font-size:12px;fill:#6c6e79;transform-origin:var(--transform-origin_1oodn)}.___STitle_1oodn_gg_._position_top_1oodn_gg_{text-anchor:middle}.___STitle_1oodn_gg_._position_bottom_1oodn_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_1oodn_gg_._position_right_1oodn_gg_{transform:rotate(-90deg);alignment-baseline:middle;text-anchor:middle}.___STitle_1oodn_gg_._position_left_1oodn_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STick_1oodn_gg_._position_top_1oodn_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_1oodn_gg_._position_bottom_1oodn_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1oodn_gg_._position_right_1oodn_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_1oodn_gg_._position_left_1oodn_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_1oodn_gg_._position_custom_0_1oodn_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1oodn_gg_._position_custom_1_1oodn_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
30
+ ".___SAxis_a9c6j_gg_{stroke:#c4c7cf}.___SAxis_a9c6j_gg_.__hide_a9c6j_gg_{display:none}.___STick_a9c6j_gg_{font-size:12px;fill:#6c6e79}.___STick_a9c6j_gg_.__hide_a9c6j_gg_{display:none}.___SGrid_a9c6j_gg_{fill:transparent;stroke:#e0e1e9}.___STitle_a9c6j_gg_{font-size:12px;fill:#6c6e79;transform-origin:var(--transform-origin_a9c6j)}.___STitle_a9c6j_gg_._position_top_a9c6j_gg_{text-anchor:middle}.___STitle_a9c6j_gg_._position_bottom_a9c6j_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_a9c6j_gg_._position_right_a9c6j_gg_{transform:rotate(-90deg);alignment-baseline:middle;text-anchor:middle}.___STitle_a9c6j_gg_._position_left_a9c6j_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STick_a9c6j_gg_._position_top_a9c6j_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_a9c6j_gg_._position_bottom_a9c6j_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_a9c6j_gg_._position_right_a9c6j_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_a9c6j_gg_._position_left_a9c6j_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_a9c6j_gg_._position_custom_0_a9c6j_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_a9c6j_gg_._position_custom_1_a9c6j_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
31
31
  /*__inner_css_end__*/
32
- , "1oodn_gg_")
32
+ , "a9c6j_gg_")
33
33
  /*__reshadow_css_end__*/
34
34
  , {
35
- "__SAxis": "___SAxis_1oodn_gg_",
36
- "_hide": "__hide_1oodn_gg_",
37
- "__STick": "___STick_1oodn_gg_",
38
- "__SGrid": "___SGrid_1oodn_gg_",
39
- "__STitle": "___STitle_1oodn_gg_",
40
- "--transform-origin": "--transform-origin_1oodn",
41
- "_position_top": "_position_top_1oodn_gg_",
42
- "_position_bottom": "_position_bottom_1oodn_gg_",
43
- "_position_right": "_position_right_1oodn_gg_",
44
- "_position_left": "_position_left_1oodn_gg_",
45
- "_position_custom_0": "_position_custom_0_1oodn_gg_",
46
- "_position_custom_1": "_position_custom_1_1oodn_gg_"
35
+ "__SAxis": "___SAxis_a9c6j_gg_",
36
+ "_hide": "__hide_a9c6j_gg_",
37
+ "__STick": "___STick_a9c6j_gg_",
38
+ "__SGrid": "___SGrid_a9c6j_gg_",
39
+ "__STitle": "___STitle_a9c6j_gg_",
40
+ "--transform-origin": "--transform-origin_a9c6j",
41
+ "_position_top": "_position_top_a9c6j_gg_",
42
+ "_position_bottom": "_position_bottom_a9c6j_gg_",
43
+ "_position_right": "_position_right_a9c6j_gg_",
44
+ "_position_left": "_position_left_a9c6j_gg_",
45
+ "_position_custom_0": "_position_custom_0_a9c6j_gg_",
46
+ "_position_custom_1": "_position_custom_1_a9c6j_gg_"
47
47
  });
48
48
  var CUSTOM_0 = Symbol('custom_0');
49
49
  var CUSTOM_1 = Symbol('custom_1');
package/lib/es6/Bar.js CHANGED
@@ -24,17 +24,17 @@ var style = (
24
24
  /*__reshadow_css_start__*/
25
25
  _sstyled.insert(
26
26
  /*__inner_css_start__*/
27
- ".___SBar_1gm67_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_1gm67);transition-timing-function:ease-in-out}.___SBar_1gm67_gg_.__color_1gm67_gg_{fill:var(--color_1gm67)}.___SBar_1gm67_gg_.__hide_1gm67_gg_{display:none}.___SBackground_1gm67_gg_{fill:#c4c7cf}"
27
+ ".___SBar_khsp0_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_khsp0);transition-timing-function:ease-in-out}.___SBar_khsp0_gg_.__color_khsp0_gg_{fill:var(--color_khsp0)}.___SBar_khsp0_gg_.__hide_khsp0_gg_{display:none}.___SBackground_khsp0_gg_{fill:#c4c7cf}"
28
28
  /*__inner_css_end__*/
29
- , "1gm67_gg_")
29
+ , "khsp0_gg_")
30
30
  /*__reshadow_css_end__*/
31
31
  , {
32
- "__SBar": "___SBar_1gm67_gg_",
33
- "--duration": "--duration_1gm67",
34
- "_color": "__color_1gm67_gg_",
35
- "--color": "--color_1gm67",
36
- "_hide": "__hide_1gm67_gg_",
37
- "__SBackground": "___SBackground_1gm67_gg_"
32
+ "__SBar": "___SBar_khsp0_gg_",
33
+ "--duration": "--duration_khsp0",
34
+ "_color": "__color_khsp0_gg_",
35
+ "--color": "--color_khsp0",
36
+ "_hide": "__hide_khsp0_gg_",
37
+ "__SBackground": "___SBackground_khsp0_gg_"
38
38
  });
39
39
 
40
40
  var BarRoot = /*#__PURE__*/function (_Component) {
package/lib/es6/Bubble.js CHANGED
@@ -18,34 +18,34 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
18
18
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
19
19
 
20
20
  import React from 'react';
21
+ import { scaleSqrt } from 'd3-scale';
22
+ import { transition } from 'd3-transition';
21
23
  import { Component, sstyled } from '@semcore/core';
22
24
  import canUseDOM from '@semcore/utils/lib/canUseDOM';
23
- import { CONSTANT, measureText } from './utils';
24
- import createElement from './createElement';
25
25
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
26
- import { transition } from 'd3-transition';
26
+ import createElement from './createElement';
27
+ import ClipPath from './ClipPath';
28
+ import { CONSTANT, measureText } from './utils';
27
29
 
28
30
  /*__reshadow-styles__:"./style/bubble.shadow.css"*/
29
31
  var style = (
30
32
  /*__reshadow_css_start__*/
31
33
  _sstyled.insert(
32
34
  /*__inner_css_start__*/
33
- ".___SBubble_3yz5f_gg_{fill:#2bb3ff;stroke:#fff;stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_3yz5f);transition-timing-function:ease-in-out;opacity:.5}.___SBubble_3yz5f_gg_:hover{opacity:.8}.___SBubble_3yz5f_gg_.__color_3yz5f_gg_{fill:var(--color_3yz5f)}.___SCenter_3yz5f_gg_{text-anchor:middle;font-size:11px;stroke:#2bb3ff}.___SCenter_3yz5f_gg_.__color_3yz5f_gg_{stroke:var(--color_3yz5f)}.___SLabel_3yz5f_gg_{fill:#2bb3ff}.___SLabel_3yz5f_gg_._position_right_3yz5f_gg_{text-anchor:end}.___SLabel_3yz5f_gg_._position_left_3yz5f_gg_{text-anchor:start}.___SLabel_3yz5f_gg_.__color_3yz5f_gg_{fill:var(--color_3yz5f)}"
35
+ ".___SBubble_9b78r_gg_{fill:#2bb3ff;stroke:#fff;stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_9b78r);transition-timing-function:ease-in-out;opacity:.5}.___SBubble_9b78r_gg_:hover{opacity:.8}.___SBubble_9b78r_gg_.__color_9b78r_gg_{fill:var(--color_9b78r)}.___SCenter_9b78r_gg_{text-anchor:middle;font-size:11px;stroke:#2bb3ff}.___SCenter_9b78r_gg_.__color_9b78r_gg_{stroke:var(--color_9b78r)}.___SLabel_9b78r_gg_{fill:#2bb3ff}.___SLabel_9b78r_gg_._position_right_9b78r_gg_{text-anchor:end}.___SLabel_9b78r_gg_._position_left_9b78r_gg_{text-anchor:start}.___SLabel_9b78r_gg_.__color_9b78r_gg_{fill:var(--color_9b78r)}"
34
36
  /*__inner_css_end__*/
35
- , "3yz5f_gg_")
37
+ , "9b78r_gg_")
36
38
  /*__reshadow_css_end__*/
37
39
  , {
38
- "__SBubble": "___SBubble_3yz5f_gg_",
39
- "--duration": "--duration_3yz5f",
40
- "_color": "__color_3yz5f_gg_",
41
- "--color": "--color_3yz5f",
42
- "__SCenter": "___SCenter_3yz5f_gg_",
43
- "__SLabel": "___SLabel_3yz5f_gg_",
44
- "_position_right": "_position_right_3yz5f_gg_",
45
- "_position_left": "_position_left_3yz5f_gg_"
40
+ "__SBubble": "___SBubble_9b78r_gg_",
41
+ "--duration": "--duration_9b78r",
42
+ "_color": "__color_9b78r_gg_",
43
+ "--color": "--color_9b78r",
44
+ "__SCenter": "___SCenter_9b78r_gg_",
45
+ "__SLabel": "___SLabel_9b78r_gg_",
46
+ "_position_right": "_position_right_9b78r_gg_",
47
+ "_position_left": "_position_left_9b78r_gg_"
46
48
  });
47
- import ClipPath from './ClipPath';
48
- import { scaleSqrt } from 'd3-scale';
49
49
 
50
50
  var BubbleRoot = /*#__PURE__*/function (_Component) {
51
51
  _inherits(BubbleRoot, _Component);
@@ -1 +1 @@
1
- {"version":3,"file":"Bubble.js","names":["React","Component","sstyled","canUseDOM","CONSTANT","measureText","createElement","uniqueIDEnhancement","transition","ClipPath","scaleSqrt","BubbleRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","data","value","z","domain","Math","max","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","animationCircle","d","i","color","scale","offset","styles","label","markedCross","size","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","bindHandlerTooltip","xIndex","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","renderCircle","bind","style","Bubble"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { CONSTANT, measureText } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/bubble.shadow.css';\nimport ClipPath from './ClipPath';\nimport { scaleSqrt } from 'd3-scale';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n color={d[color] ?? color}\n >\n &#43;\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render=\"circle\"\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={d[color]}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n />\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={d[color]}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","sstyled","canUseDOM","uniqueIDEnhancement","createElement","ClipPath","CONSTANT","measureText","BubbleRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","data","value","z","domain","Math","max","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","animationCircle","d","i","color","scale","offset","styles","label","markedCross","size","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","bindHandlerTooltip","xIndex","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","renderCircle","bind","style","Bubble"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { CONSTANT, measureText } from './utils';\n\nimport style from './style/bubble.shadow.css';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n color={d[color] ?? color}\n >\n &#43;\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render=\"circle\"\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={d[color]}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n />\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={d[color]}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"mappings":"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"}
package/lib/es6/Donut.js CHANGED
@@ -20,30 +20,30 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
20
20
 
21
21
  import React, { useEffect, useState } from 'react';
22
22
  import { arc, pie } from 'd3-shape';
23
+ import { interpolate } from 'd3-interpolate';
24
+ import { transition } from 'd3-transition';
23
25
  import { Component, sstyled } from '@semcore/core';
24
26
  import canUseDOM from '@semcore/utils/lib/canUseDOM';
25
27
  import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
26
- import { CONSTANT } from './utils';
27
- import createElement from './createElement';
28
28
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
29
- import { interpolate } from 'd3-interpolate';
30
- import { transition } from 'd3-transition';
29
+ import createElement from './createElement';
30
+ import { CONSTANT } from './utils';
31
31
 
32
32
  /*__reshadow-styles__:"./style/donut.shadow.css"*/
33
33
  var style = (
34
34
  /*__reshadow_css_start__*/
35
35
  _sstyled.insert(
36
36
  /*__inner_css_start__*/
37
- ".___SPie_uacef_gg_{stroke:#fff;fill:#2bb3ff}.___SPie_uacef_gg_.__color_uacef_gg_{fill:var(--color_uacef)}.___SEmptyData_uacef_gg_{fill:#e0e1e9}.___SEmptyData_uacef_gg_.__color_uacef_gg_{fill:var(--color_uacef)}.___SLabel_uacef_gg_{text-anchor:middle;vertical-anchor:middle}"
37
+ ".___SPie_1pnw6_gg_{stroke:#fff;fill:#2bb3ff}.___SPie_1pnw6_gg_.__color_1pnw6_gg_{fill:var(--color_1pnw6)}.___SEmptyData_1pnw6_gg_{fill:#e0e1e9}.___SEmptyData_1pnw6_gg_.__color_1pnw6_gg_{fill:var(--color_1pnw6)}.___SLabel_1pnw6_gg_{text-anchor:middle;vertical-anchor:middle}"
38
38
  /*__inner_css_end__*/
39
- , "uacef_gg_")
39
+ , "1pnw6_gg_")
40
40
  /*__reshadow_css_end__*/
41
41
  , {
42
- "__SPie": "___SPie_uacef_gg_",
43
- "_color": "__color_uacef_gg_",
44
- "--color": "--color_uacef",
45
- "__SEmptyData": "___SEmptyData_uacef_gg_",
46
- "__SLabel": "___SLabel_uacef_gg_"
42
+ "__SPie": "___SPie_1pnw6_gg_",
43
+ "_color": "__color_1pnw6_gg_",
44
+ "--color": "--color_1pnw6",
45
+ "__SEmptyData": "___SEmptyData_1pnw6_gg_",
46
+ "__SLabel": "___SLabel_1pnw6_gg_"
47
47
  });
48
48
  var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
49
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"Donut.js","names":["React","useEffect","useState","arc","pie","Component","sstyled","canUseDOM","getOriginChildren","CONSTANT","createElement","uniqueIDEnhancement","interpolate","transition","DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","attrTween","min","max","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","undefined","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","active","data","id","uid","top","right","bottom","left","Children","d3Pie","pieData","Object","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","dataHintsHandler","establishDataType","Element","k","getArcs","style","value","SPie","styles","color","name","other","isMount","setIsMount","describeValueEntity","EmptyData","SEmptyData","Label","SLabel","children","setTitle"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, d3ArcOut, arcs, activeIndexPie }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function (t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return ind === activeIndexPie ? d3ArcOut(d) : d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function (t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function (t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }) + increaseFactor)\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationActivePie = (props) => {\n let { duration, innerRadius } = this.asProps;\n const { active, data, selector } = props;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n active\n ? animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n })\n : animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n !active &&\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n onMouseOut: (e) => {\n !active &&\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n const arcs = this.arcs;\n\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function (_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween(\n 'd',\n animationInitialPie({\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie: this.activeIndexPie,\n }),\n );\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n aria-hidden\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n\n useEffect(() => {\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({ ...other, active, data, selector: `[name=\"${other.name}\"]` });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SPie render=\"path\" color={color} d={active ? d3ArcOut(data) : d3Arc(data)} />,\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children, children, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', children);\n\n return sstyled(styles)(\n <SLabel render=\"text\" x=\"0\" y=\"0\" aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Donut.js","names":["React","useEffect","useState","arc","pie","interpolate","transition","Component","sstyled","canUseDOM","getOriginChildren","uniqueIDEnhancement","createElement","CONSTANT","DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","attrTween","min","max","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","undefined","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","active","data","id","uid","top","right","bottom","left","Children","d3Pie","pieData","Object","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","dataHintsHandler","establishDataType","Element","k","getArcs","style","value","SPie","styles","color","name","other","isMount","setIsMount","describeValueEntity","EmptyData","SEmptyData","Label","SLabel","children","setTitle"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, d3ArcOut, arcs, activeIndexPie }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function (t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return ind === activeIndexPie ? d3ArcOut(d) : d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function (t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function (t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }) + increaseFactor)\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationActivePie = (props) => {\n let { duration, innerRadius } = this.asProps;\n const { active, data, selector } = props;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n active\n ? animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n })\n : animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n !active &&\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n onMouseOut: (e) => {\n !active &&\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n const arcs = this.arcs;\n\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function (_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween(\n 'd',\n animationInitialPie({\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie: this.activeIndexPie,\n }),\n );\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n aria-hidden\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n\n useEffect(() => {\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({ ...other, active, data, selector: `[name=\"${other.name}\"]` });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SPie render=\"path\" color={color} d={active ? d3ArcOut(data) : d3Arc(data)} />,\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children, children, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', children);\n\n return sstyled(styles)(\n <SLabel render=\"text\" x=\"0\" y=\"0\" aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"mappings":"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"}
package/lib/es6/Dots.js CHANGED
@@ -3,27 +3,27 @@ import { sstyled as _sstyled } from "@semcore/core";
3
3
  import { bisector } from 'd3-array';
4
4
  import React, { useCallback, useEffect, useState } from 'react';
5
5
  import { sstyled } from '@semcore/core';
6
- import { eventToPoint, invert } from './utils';
7
- import createElement from './createElement';
8
6
  import trottle from '@semcore/utils/lib/rafTrottle';
7
+ import createElement from './createElement';
8
+ import { eventToPoint, invert } from './utils';
9
9
 
10
10
  /*__reshadow-styles__:"./style/dot.shadow.css"*/
11
11
  var style = (
12
12
  /*__reshadow_css_start__*/
13
13
  _sstyled.insert(
14
14
  /*__inner_css_start__*/
15
- ".___SDots_v4ge4_gg_ .___SDot_v4ge4_gg_{transition-duration:var(--duration_v4ge4)}.___SDot_v4ge4_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:#2bb3ff;transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_v4ge4_gg_.__hide_v4ge4_gg_{display:none}.___SDot_v4ge4_gg_.__active_v4ge4_gg_{r:8px}.___SDot_v4ge4_gg_.__color_v4ge4_gg_{fill:var(--color_v4ge4)}"
15
+ ".___SDots_1rauw_gg_ .___SDot_1rauw_gg_{transition-duration:var(--duration_1rauw)}.___SDot_1rauw_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:#2bb3ff;transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_1rauw_gg_.__hide_1rauw_gg_{display:none}.___SDot_1rauw_gg_.__active_1rauw_gg_{r:8px}.___SDot_1rauw_gg_.__color_1rauw_gg_{fill:var(--color_1rauw)}"
16
16
  /*__inner_css_end__*/
17
- , "v4ge4_gg_")
17
+ , "1rauw_gg_")
18
18
  /*__reshadow_css_end__*/
19
19
  , {
20
- "__SDots": "___SDots_v4ge4_gg_",
21
- "__SDot": "___SDot_v4ge4_gg_",
22
- "--duration": "--duration_v4ge4",
23
- "_hide": "__hide_v4ge4_gg_",
24
- "_active": "__active_v4ge4_gg_",
25
- "_color": "__color_v4ge4_gg_",
26
- "--color": "--color_v4ge4"
20
+ "__SDots": "___SDots_1rauw_gg_",
21
+ "__SDot": "___SDot_1rauw_gg_",
22
+ "--duration": "--duration_1rauw",
23
+ "_hide": "__hide_1rauw_gg_",
24
+ "_active": "__active_1rauw_gg_",
25
+ "_color": "__color_1rauw_gg_",
26
+ "--color": "--color_1rauw"
27
27
  });
28
28
  var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
29
29
 
@@ -1 +1 @@
1
- {"version":3,"file":"Dots.js","names":["bisector","React","useCallback","useEffect","useState","sstyled","eventToPoint","invert","createElement","trottle","EXCLUDE_PROPS","Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","SDots","bisect","d","center","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","xScale","current","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","isPrev","defined","isNext","active","visible","push","style"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport { eventToPoint, invert } from './utils';\nimport createElement from './createElement';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n } = props;\n const SDots = 'g';\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, scale, data, x, y]);\n\n const dots = data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n const visible = display || i === activeIndex || (!isPrev && !isNext);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n aria-hidden\n key={i}\n render=\"circle\"\n visible={visible}\n __excludeProps={EXCLUDE_PROPS}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={color}\n />,\n ),\n );\n return acc;\n }, []);\n return sstyled(styles)(<SDots use:duration={`${duration}ms`}>{dots}</SDots>);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Dots.js","names":["bisector","React","useCallback","useEffect","useState","sstyled","trottle","createElement","eventToPoint","invert","EXCLUDE_PROPS","Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","SDots","bisect","d","center","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","xScale","current","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","isPrev","defined","isNext","active","visible","push","style"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { eventToPoint, invert } from './utils';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n } = props;\n const SDots = 'g';\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, scale, data, x, y]);\n\n const dots = data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n const visible = display || i === activeIndex || (!isPrev && !isNext);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n aria-hidden\n key={i}\n render=\"circle\"\n visible={visible}\n __excludeProps={EXCLUDE_PROPS}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={color}\n />,\n ),\n );\n return acc;\n }, []);\n return sstyled(styles)(<SDots use:duration={`${duration}ms`}>{dots}</SDots>);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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"}
@@ -15,7 +15,6 @@ import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
15
15
  import createElement from './createElement';
16
16
  import Bar from './Bar';
17
17
  import HorizontalBar from './HorizontalBar';
18
- import style from './style/bar.shadow.css';
19
18
 
20
19
  var GroupBarRoot = /*#__PURE__*/function (_Component) {
21
20
  _inherits(GroupBarRoot, _Component);
@@ -35,7 +34,7 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
35
34
  Children = _this$asProps.Children,
36
35
  scale = _this$asProps.scale,
37
36
  scaleGroup = _this$asProps.scaleGroup,
38
- x = _this$asProps.x; // TODO: love that hack (by lsroman)
37
+ x = _this$asProps.x; // TODO: love that hack (by lsroman) ❤️
39
38
 
40
39
  var xyScale = x ? scale[0] : scale[1];
41
40
  if (scaleGroup) return scaleGroup;
@@ -96,8 +95,6 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
96
95
 
97
96
  _defineProperty(GroupBarRoot, "displayName", 'GroupBar');
98
97
 
99
- _defineProperty(GroupBarRoot, "style", style);
100
-
101
98
  var GroupBar = createElement(GroupBarRoot, {
102
99
  Bar: Bar,
103
100
  HorizontalBar: HorizontalBar
@@ -1 +1 @@
1
- {"version":3,"file":"GroupBar.js","names":["React","Component","getOriginChildren","createElement","Bar","HorizontalBar","style","GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","toArray","reduce","acc","child","isValidElement","type","GroupBar","props","hide","push","y","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","groupKey","height","Element","getScaleGroup","dataHintsHandler","establishDataType"],"sources":["../../src/GroupBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nimport style from './style/bar.shadow.css';\n\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n static style = style;\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: love that hack (by lsroman)\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === GroupBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return xyScale\n .copy()\n .range([0, xyScale.bandwidth()])\n .domain(domain)\n .paddingInner(xyScale.paddingOuter())\n .paddingOuter(0);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n return {\n offset: [this.scaleGroup(y), 0],\n width: this.scaleGroup.bandwidth(),\n x,\n groupKey: x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y } = this.asProps;\n\n return {\n offset: [0, this.scaleGroup(x)],\n height: this.scaleGroup.bandwidth(),\n y,\n groupKey: y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n return (\n <Element aria-hidden render=\"g\" childrenPosition=\"inside\" scaleGroup={this.scaleGroup} />\n );\n }\n}\n\nconst GroupBar = createElement(GroupBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default GroupBar;\n"],"mappings":"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"}
1
+ {"version":3,"file":"GroupBar.js","names":["React","Component","getOriginChildren","createElement","Bar","HorizontalBar","GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","toArray","reduce","acc","child","isValidElement","type","GroupBar","props","hide","push","y","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","groupKey","height","Element","getScaleGroup","dataHintsHandler","establishDataType"],"sources":["../../src/GroupBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: love that hack (by lsroman) ❤️\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === GroupBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return xyScale\n .copy()\n .range([0, xyScale.bandwidth()])\n .domain(domain)\n .paddingInner(xyScale.paddingOuter())\n .paddingOuter(0);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n return {\n offset: [this.scaleGroup(y), 0],\n width: this.scaleGroup.bandwidth(),\n x,\n groupKey: x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y } = this.asProps;\n\n return {\n offset: [0, this.scaleGroup(x)],\n height: this.scaleGroup.bandwidth(),\n y,\n groupKey: y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n return (\n <Element aria-hidden render=\"g\" childrenPosition=\"inside\" scaleGroup={this.scaleGroup} />\n );\n }\n}\n\nconst GroupBar = createElement(GroupBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default GroupBar;\n"],"mappings":"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"}
@@ -23,17 +23,17 @@ var style = (
23
23
  /*__reshadow_css_start__*/
24
24
  _sstyled.insert(
25
25
  /*__inner_css_start__*/
26
- ".___SBar_1gm67_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_1gm67);transition-timing-function:ease-in-out}.___SBar_1gm67_gg_.__color_1gm67_gg_{fill:var(--color_1gm67)}.___SBar_1gm67_gg_.__hide_1gm67_gg_{display:none}.___SBackground_1gm67_gg_{fill:#c4c7cf}"
26
+ ".___SBar_khsp0_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_khsp0);transition-timing-function:ease-in-out}.___SBar_khsp0_gg_.__color_khsp0_gg_{fill:var(--color_khsp0)}.___SBar_khsp0_gg_.__hide_khsp0_gg_{display:none}.___SBackground_khsp0_gg_{fill:#c4c7cf}"
27
27
  /*__inner_css_end__*/
28
- , "1gm67_gg_")
28
+ , "khsp0_gg_")
29
29
  /*__reshadow_css_end__*/
30
30
  , {
31
- "__SBar": "___SBar_1gm67_gg_",
32
- "--duration": "--duration_1gm67",
33
- "_color": "__color_1gm67_gg_",
34
- "--color": "--color_1gm67",
35
- "_hide": "__hide_1gm67_gg_",
36
- "__SBackground": "___SBackground_1gm67_gg_"
31
+ "__SBar": "___SBar_khsp0_gg_",
32
+ "--duration": "--duration_khsp0",
33
+ "_color": "__color_khsp0_gg_",
34
+ "--color": "--color_khsp0",
35
+ "_hide": "__hide_khsp0_gg_",
36
+ "__SBackground": "___SBackground_khsp0_gg_"
37
37
  });
38
38
 
39
39
  var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
package/lib/es6/Hover.js CHANGED
@@ -14,23 +14,23 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
14
14
 
15
15
  import React from 'react';
16
16
  import { Component, sstyled } from '@semcore/core';
17
- import createElement from './createElement';
18
17
  import canUseDOM from '@semcore/utils/lib/canUseDOM';
19
- import { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';
20
18
  import trottle from '@semcore/utils/lib/rafTrottle';
19
+ import createElement from './createElement';
20
+ import { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';
21
21
 
22
22
  /*__reshadow-styles__:"./style/hover.shadow.css"*/
23
23
  var style = (
24
24
  /*__reshadow_css_start__*/
25
25
  _sstyled.insert(
26
26
  /*__inner_css_start__*/
27
- ".___SHoverLine_coze4_gg_{stroke:#a9abb6}.___SHoverRect_coze4_gg_{fill:rgba(196,199,207,.3)}"
27
+ ".___SHoverLine_38u7p_gg_{stroke:#a9abb6}.___SHoverRect_38u7p_gg_{fill:rgba(196,199,207,.3)}"
28
28
  /*__inner_css_end__*/
29
- , "coze4_gg_")
29
+ , "38u7p_gg_")
30
30
  /*__reshadow_css_end__*/
31
31
  , {
32
- "__SHoverLine": "___SHoverLine_coze4_gg_",
33
- "__SHoverRect": "___SHoverRect_coze4_gg_"
32
+ "__SHoverLine": "___SHoverLine_38u7p_gg_",
33
+ "__SHoverRect": "___SHoverRect_38u7p_gg_"
34
34
  });
35
35
 
36
36
  var Hover = /*#__PURE__*/function (_Component) {
@@ -1 +1 @@
1
- {"version":3,"file":"Hover.js","names":["React","Component","sstyled","createElement","canUseDOM","scaleOfBandwidth","getIndexFromData","eventToPoint","invert","CONSTANT","trottle","Hover","xIndex","yIndex","document","e","asProps","eventEmitter","data","scale","x","y","rootRef","clientX","clientY","xScale","yScale","current","pX","pY","vX","vY","undefined","state","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","setState","emit","width","height","top","right","bottom","left","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","style","HoverLineRoot","SHoverLine","Element","styles","xRange","range","yRange","x1","y1","HoverRectRoot","SHoverRect","step","paddingInner","HoverLine","HoverRect"],"sources":["../../src/Hover.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/hover.shadow.css';\n\nclass Hover extends Component {\n static style = style;\n\n state = {\n xIndex: null,\n yIndex: null,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const { clientX, clientY } = e;\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const vY = invert(yScale, pY);\n const xIndex =\n x === undefined || vX === undefined ? null : getIndexFromData(data, xScale, x, vX);\n const yIndex =\n y === undefined || vY === undefined ? null : getIndexFromData(data, yScale, y, vY);\n const state = { xIndex, yIndex };\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n state,\n this.virtualElement,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n const state = {\n xIndex: null,\n yIndex: null,\n };\n this.setState(state, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, state);\n });\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n}\n\nclass HoverLineRoot extends Hover {\n static displayName = 'HoverLine';\n\n render() {\n const SHoverLine = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n const x1 = xIndex !== null ? scaleOfBandwidth(xScale, data[xIndex][x]) : undefined;\n const y1 = yIndex !== null ? scaleOfBandwidth(yScale, data[yIndex][y]) : undefined;\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverLine\n aria-hidden\n render=\"line\"\n index={xIndex}\n x1={x1}\n y1={yRange[0]}\n x2={x1}\n y2={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverLine\n aria-hidden\n render=\"line\"\n index={yIndex}\n x1={xRange[0]}\n y1={y1}\n x2={xRange[1]}\n y2={y1}\n />\n ) : null}\n </>,\n );\n }\n}\n\nclass HoverRectRoot extends Hover {\n static displayName = 'HoverRect';\n\n render() {\n const SHoverRect = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverRect\n aria-hidden\n render=\"rect\"\n index={xIndex}\n width={xScale.step() - xScale.paddingInner() / 2}\n height={yRange[0] - yRange[1]}\n x={xScale(data[xIndex][x]) - (xScale.step() * xScale.paddingInner()) / 2}\n y={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverRect\n aria-hidden\n render=\"rect\"\n index={yIndex}\n width={xRange[1] - xRange[0]}\n height={yScale.step() - yScale.paddingInner() / 2}\n x={xRange[0]}\n y={yScale(data[yIndex][y]) - (yScale.step() * yScale.paddingInner()) / 2}\n />\n ) : null}\n </>,\n );\n }\n}\n\nconst HoverLine = createElement(HoverLineRoot);\nconst HoverRect = createElement(HoverRectRoot);\n\nexport { HoverLine, HoverRect };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Hover.js","names":["React","Component","sstyled","canUseDOM","trottle","createElement","scaleOfBandwidth","getIndexFromData","eventToPoint","invert","CONSTANT","Hover","xIndex","yIndex","document","e","asProps","eventEmitter","data","scale","x","y","rootRef","clientX","clientY","xScale","yScale","current","pX","pY","vX","vY","undefined","state","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","setState","emit","width","height","top","right","bottom","left","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","style","HoverLineRoot","SHoverLine","Element","styles","xRange","range","yRange","x1","y1","HoverRectRoot","SHoverRect","step","paddingInner","HoverLine","HoverRect"],"sources":["../../src/Hover.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';\n\nimport style from './style/hover.shadow.css';\n\nclass Hover extends Component {\n static style = style;\n\n state = {\n xIndex: null,\n yIndex: null,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const { clientX, clientY } = e;\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const vY = invert(yScale, pY);\n const xIndex =\n x === undefined || vX === undefined ? null : getIndexFromData(data, xScale, x, vX);\n const yIndex =\n y === undefined || vY === undefined ? null : getIndexFromData(data, yScale, y, vY);\n const state = { xIndex, yIndex };\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n state,\n this.virtualElement,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n const state = {\n xIndex: null,\n yIndex: null,\n };\n this.setState(state, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, state);\n });\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n}\n\nclass HoverLineRoot extends Hover {\n static displayName = 'HoverLine';\n\n render() {\n const SHoverLine = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n const x1 = xIndex !== null ? scaleOfBandwidth(xScale, data[xIndex][x]) : undefined;\n const y1 = yIndex !== null ? scaleOfBandwidth(yScale, data[yIndex][y]) : undefined;\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverLine\n aria-hidden\n render=\"line\"\n index={xIndex}\n x1={x1}\n y1={yRange[0]}\n x2={x1}\n y2={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverLine\n aria-hidden\n render=\"line\"\n index={yIndex}\n x1={xRange[0]}\n y1={y1}\n x2={xRange[1]}\n y2={y1}\n />\n ) : null}\n </>,\n );\n }\n}\n\nclass HoverRectRoot extends Hover {\n static displayName = 'HoverRect';\n\n render() {\n const SHoverRect = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverRect\n aria-hidden\n render=\"rect\"\n index={xIndex}\n width={xScale.step() - xScale.paddingInner() / 2}\n height={yRange[0] - yRange[1]}\n x={xScale(data[xIndex][x]) - (xScale.step() * xScale.paddingInner()) / 2}\n y={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverRect\n aria-hidden\n render=\"rect\"\n index={yIndex}\n width={xRange[1] - xRange[0]}\n height={yScale.step() - yScale.paddingInner() / 2}\n x={xRange[0]}\n y={yScale(data[yIndex][y]) - (yScale.step() * yScale.paddingInner()) / 2}\n />\n ) : null}\n </>,\n );\n }\n}\n\nconst HoverLine = createElement(HoverLineRoot);\nconst HoverRect = createElement(HoverRectRoot);\n\nexport { HoverLine, HoverRect };\n"],"mappings":"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"}