@semcore/d3-chart 2.4.6 → 2.4.8

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 (44) hide show
  1. package/CHANGELOG.md +16 -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 +9 -9
  7. package/lib/cjs/Donut.js.map +1 -1
  8. package/lib/cjs/Dots.js +9 -9
  9. package/lib/cjs/HorizontalBar.js +14 -12
  10. package/lib/cjs/HorizontalBar.js.map +1 -1
  11. package/lib/cjs/Hover.js +4 -4
  12. package/lib/cjs/Line.js +8 -8
  13. package/lib/cjs/Plot.js +4 -4
  14. package/lib/cjs/RadialTree.js +11 -11
  15. package/lib/cjs/ReferenceLine.js +10 -10
  16. package/lib/cjs/ScatterPlot.js +7 -7
  17. package/lib/cjs/StackBar.js +2 -0
  18. package/lib/cjs/StackBar.js.map +1 -1
  19. package/lib/cjs/Tooltip.js +8 -8
  20. package/lib/cjs/Venn.js +7 -7
  21. package/lib/cjs/a11y/PlotA11yModule.js +3 -3
  22. package/lib/cjs/a11y/PlotA11yView.js +4 -4
  23. package/lib/es6/Area.js +9 -9
  24. package/lib/es6/Axis.js +14 -14
  25. package/lib/es6/Bar.js +8 -8
  26. package/lib/es6/Bubble.js +10 -10
  27. package/lib/es6/Donut.js +9 -9
  28. package/lib/es6/Donut.js.map +1 -1
  29. package/lib/es6/Dots.js +9 -9
  30. package/lib/es6/HorizontalBar.js +14 -12
  31. package/lib/es6/HorizontalBar.js.map +1 -1
  32. package/lib/es6/Hover.js +4 -4
  33. package/lib/es6/Line.js +8 -8
  34. package/lib/es6/Plot.js +4 -4
  35. package/lib/es6/RadialTree.js +11 -11
  36. package/lib/es6/ReferenceLine.js +10 -10
  37. package/lib/es6/ScatterPlot.js +7 -7
  38. package/lib/es6/StackBar.js +2 -0
  39. package/lib/es6/StackBar.js.map +1 -1
  40. package/lib/es6/Tooltip.js +8 -8
  41. package/lib/es6/Venn.js +7 -7
  42. package/lib/es6/a11y/PlotA11yModule.js +3 -3
  43. package/lib/es6/a11y/PlotA11yView.js +4 -4
  44. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [2.4.8] - 2022-11-02
6
+
7
+ ### Fixed
8
+
9
+ - Fixed display of minimum bar size in `StackBar`.
10
+
11
+ ### Added
12
+
13
+ - Added display of minimum bar size in `HorizontalBar`.
14
+
15
+ ## [2.4.7] - 2022-11-01
16
+
17
+ ### Fixed
18
+
19
+ - Fixed inner radius for `Donut` chart. It began to equal what is indicated in the `innerRadius` prop.
20
+
5
21
  ## [2.4.6] - 2022-10-31
6
22
 
7
23
  ### Fixed
package/lib/cjs/Area.js CHANGED
@@ -48,18 +48,18 @@ var style = (
48
48
  /*__reshadow_css_start__*/
49
49
  _core.sstyled.insert(
50
50
  /*__inner_css_start__*/
51
- ".___SArea_glm2i_gg_ {\n fill: #2bb3ff;\n fill-opacity: 0.2;\n}\n\n.___SArea_glm2i_gg_.__color_glm2i_gg_ {\n fill: var(--color_glm2i);\n}\n\n.___SAreaLine_glm2i_gg_ {\n stroke: #2bb3ff;\n stroke-width: 3;\n fill: transparent;\n}\n\n.___SAreaLine_glm2i_gg_.__color_glm2i_gg_ {\n stroke: var(--color_glm2i);\n}\n\n.___SArea_glm2i_gg_,\n.___SAreaLine_glm2i_gg_ {\n transition-property: d;\n transition-duration: var(--duration_glm2i);\n transition-timing-function: ease-in-out;\n}\n\n.___SNull_glm2i_gg_ {\n fill: transparent;\n stroke: #8a8e9b;\n stroke-dasharray: 4;\n}\n\n.___SNull_glm2i_gg_.__hide_glm2i_gg_ {\n display: none;\n}\n"
51
+ ".___SArea_1uicu_gg_{fill:#2bb3ff;fill-opacity:.2}.___SArea_1uicu_gg_.__color_1uicu_gg_{fill:var(--color_1uicu)}.___SAreaLine_1uicu_gg_{stroke:#2bb3ff;stroke-width:3;fill:transparent}.___SAreaLine_1uicu_gg_.__color_1uicu_gg_{stroke:var(--color_1uicu)}.___SArea_1uicu_gg_,.___SAreaLine_1uicu_gg_{transition-property:d;transition-duration:var(--duration_1uicu);transition-timing-function:ease-in-out}.___SNull_1uicu_gg_{fill:transparent;stroke:#8a8e9b;stroke-dasharray:4}.___SNull_1uicu_gg_.__hide_1uicu_gg_{display:none}"
52
52
  /*__inner_css_end__*/
53
- , "glm2i_gg_")
53
+ , "1uicu_gg_")
54
54
  /*__reshadow_css_end__*/
55
55
  , {
56
- "__SArea": "___SArea_glm2i_gg_",
57
- "_color": "__color_glm2i_gg_",
58
- "--color": "--color_glm2i",
59
- "__SAreaLine": "___SAreaLine_glm2i_gg_",
60
- "--duration": "--duration_glm2i",
61
- "__SNull": "___SNull_glm2i_gg_",
62
- "_hide": "__hide_glm2i_gg_"
56
+ "__SArea": "___SArea_1uicu_gg_",
57
+ "_color": "__color_1uicu_gg_",
58
+ "--color": "--color_1uicu",
59
+ "__SAreaLine": "___SAreaLine_1uicu_gg_",
60
+ "--duration": "--duration_1uicu",
61
+ "__SNull": "___SNull_1uicu_gg_",
62
+ "_hide": "__hide_1uicu_gg_"
63
63
  });
64
64
 
65
65
  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
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SAxis_haesk_gg_ {\n stroke: #c4c7cf;\n}\n\n.___SAxis_haesk_gg_.__hide_haesk_gg_ {\n display: none;\n}\n\n.___STick_haesk_gg_ {\n font-size: 12px;\n fill: #6c6e79;\n}\n\n.___STick_haesk_gg_.__hide_haesk_gg_ {\n display: none;\n}\n\n.___SGrid_haesk_gg_ {\n fill: transparent;\n stroke: #e0e1e9;\n}\n\n.___STitle_haesk_gg_ {\n font-size: 12px;\n fill: #6c6e79;\n transform-origin: var(--transform-origin_haesk);\n}\n\n.___STitle_haesk_gg_._position_top_haesk_gg_ {\n text-anchor: middle;\n}\n\n.___STitle_haesk_gg_._position_bottom_haesk_gg_ {\n text-anchor: middle;\n alignment-baseline: hanging;\n}\n\n.___STitle_haesk_gg_._position_right_haesk_gg_ {\n transform: rotate(-90deg);\n alignment-baseline: middle;\n text-anchor: middle;\n}\n\n.___STitle_haesk_gg_._position_left_haesk_gg_ {\n transform: rotate(-90deg);\n text-anchor: middle;\n alignment-baseline: middle;\n}\n\n.___STick_haesk_gg_._position_top_haesk_gg_ {\n transform: translateY(-12px);\n text-anchor: middle;\n}\n\n.___STick_haesk_gg_._position_bottom_haesk_gg_ {\n transform: translateY(12px);\n text-anchor: middle;\n alignment-baseline: hanging;\n}\n\n.___STick_haesk_gg_._position_right_haesk_gg_ {\n transform: translateX(16px);\n text-anchor: start;\n alignment-baseline: middle;\n}\n\n.___STick_haesk_gg_._position_left_haesk_gg_ {\n transform: translateX(-16px);\n text-anchor: end;\n alignment-baseline: middle;\n}\n\n.___STick_haesk_gg_._position_custom_0_haesk_gg_ {\n transform: translateY(12px);\n text-anchor: middle;\n alignment-baseline: hanging;\n}\n\n.___STick_haesk_gg_._position_custom_1_haesk_gg_ {\n transform: translateX(-16px);\n text-anchor: end;\n alignment-baseline: middle;\n}\n"
47
+ ".___SAxis_15rvl_gg_{stroke:#c4c7cf}.___SAxis_15rvl_gg_.__hide_15rvl_gg_{display:none}.___STick_15rvl_gg_{font-size:12px;fill:#6c6e79}.___STick_15rvl_gg_.__hide_15rvl_gg_{display:none}.___SGrid_15rvl_gg_{fill:transparent;stroke:#e0e1e9}.___STitle_15rvl_gg_{font-size:12px;fill:#6c6e79;transform-origin:var(--transform-origin_15rvl)}.___STitle_15rvl_gg_._position_top_15rvl_gg_{text-anchor:middle}.___STitle_15rvl_gg_._position_bottom_15rvl_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_15rvl_gg_._position_right_15rvl_gg_{transform:rotate(-90deg);alignment-baseline:middle;text-anchor:middle}.___STitle_15rvl_gg_._position_left_15rvl_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STick_15rvl_gg_._position_top_15rvl_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_15rvl_gg_._position_bottom_15rvl_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_15rvl_gg_._position_right_15rvl_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_15rvl_gg_._position_left_15rvl_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_15rvl_gg_._position_custom_0_15rvl_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_15rvl_gg_._position_custom_1_15rvl_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
48
48
  /*__inner_css_end__*/
49
- , "haesk_gg_")
49
+ , "15rvl_gg_")
50
50
  /*__reshadow_css_end__*/
51
51
  , {
52
- "__SAxis": "___SAxis_haesk_gg_",
53
- "_hide": "__hide_haesk_gg_",
54
- "__STick": "___STick_haesk_gg_",
55
- "__SGrid": "___SGrid_haesk_gg_",
56
- "__STitle": "___STitle_haesk_gg_",
57
- "--transform-origin": "--transform-origin_haesk",
58
- "_position_top": "_position_top_haesk_gg_",
59
- "_position_bottom": "_position_bottom_haesk_gg_",
60
- "_position_right": "_position_right_haesk_gg_",
61
- "_position_left": "_position_left_haesk_gg_",
62
- "_position_custom_0": "_position_custom_0_haesk_gg_",
63
- "_position_custom_1": "_position_custom_1_haesk_gg_"
52
+ "__SAxis": "___SAxis_15rvl_gg_",
53
+ "_hide": "__hide_15rvl_gg_",
54
+ "__STick": "___STick_15rvl_gg_",
55
+ "__SGrid": "___SGrid_15rvl_gg_",
56
+ "__STitle": "___STitle_15rvl_gg_",
57
+ "--transform-origin": "--transform-origin_15rvl",
58
+ "_position_top": "_position_top_15rvl_gg_",
59
+ "_position_bottom": "_position_bottom_15rvl_gg_",
60
+ "_position_right": "_position_right_15rvl_gg_",
61
+ "_position_left": "_position_left_15rvl_gg_",
62
+ "_position_custom_0": "_position_custom_0_15rvl_gg_",
63
+ "_position_custom_1": "_position_custom_1_15rvl_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
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SBar_1vizy_gg_ {\n fill: #2bb3ff;\n transition-property: height, width, y;\n transition-duration: var(--duration_1vizy);\n transition-timing-function: ease-in-out;\n}\n\n.___SBar_1vizy_gg_.__color_1vizy_gg_ {\n fill: var(--color_1vizy);\n}\n\n.___SBar_1vizy_gg_.__hide_1vizy_gg_ {\n display: none;\n}\n\n.___SBackground_1vizy_gg_ {\n fill: #c4c7cf;\n}\n"
47
+ ".___SBar_bbmmd_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_bbmmd);transition-timing-function:ease-in-out}.___SBar_bbmmd_gg_.__color_bbmmd_gg_{fill:var(--color_bbmmd)}.___SBar_bbmmd_gg_.__hide_bbmmd_gg_{display:none}.___SBackground_bbmmd_gg_{fill:#c4c7cf}"
48
48
  /*__inner_css_end__*/
49
- , "1vizy_gg_")
49
+ , "bbmmd_gg_")
50
50
  /*__reshadow_css_end__*/
51
51
  , {
52
- "__SBar": "___SBar_1vizy_gg_",
53
- "--duration": "--duration_1vizy",
54
- "_color": "__color_1vizy_gg_",
55
- "--color": "--color_1vizy",
56
- "_hide": "__hide_1vizy_gg_",
57
- "__SBackground": "___SBackground_1vizy_gg_"
52
+ "__SBar": "___SBar_bbmmd_gg_",
53
+ "--duration": "--duration_bbmmd",
54
+ "_color": "__color_bbmmd_gg_",
55
+ "--color": "--color_bbmmd",
56
+ "_hide": "__hide_bbmmd_gg_",
57
+ "__SBackground": "___SBackground_bbmmd_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
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SBubble_132zu_gg_ {\n fill: #2bb3ff;\n stroke: #fff;\n stroke-width: 2px;\n transition-property: cx, cy;\n transition-duration: var(--duration_132zu);\n transition-timing-function: ease-in-out;\n opacity: 0.5\n}\n\n.___SBubble_132zu_gg_:hover {\n opacity: 0.8;\n }\n\n.___SBubble_132zu_gg_.__color_132zu_gg_ {\n fill: var(--color_132zu);\n}\n\n.___SCenter_132zu_gg_ {\n text-anchor: middle;\n font-size: 11px;\n stroke: #2bb3ff;\n}\n\n.___SCenter_132zu_gg_.__color_132zu_gg_ {\n stroke: var(--color_132zu);\n}\n\n.___SLabel_132zu_gg_ {\n fill: #2bb3ff;\n}\n\n.___SLabel_132zu_gg_._position_right_132zu_gg_ {\n text-anchor: end;\n}\n\n.___SLabel_132zu_gg_._position_left_132zu_gg_ {\n text-anchor: start;\n}\n\n.___SLabel_132zu_gg_.__color_132zu_gg_ {\n fill: var(--color_132zu);\n}\n"
59
+ ".___SBubble_1un3j_gg_{fill:#2bb3ff;stroke:#fff;stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_1un3j);transition-timing-function:ease-in-out;opacity:.5}.___SBubble_1un3j_gg_:hover{opacity:.8}.___SBubble_1un3j_gg_.__color_1un3j_gg_{fill:var(--color_1un3j)}.___SCenter_1un3j_gg_{text-anchor:middle;font-size:11px;stroke:#2bb3ff}.___SCenter_1un3j_gg_.__color_1un3j_gg_{stroke:var(--color_1un3j)}.___SLabel_1un3j_gg_{fill:#2bb3ff}.___SLabel_1un3j_gg_._position_right_1un3j_gg_{text-anchor:end}.___SLabel_1un3j_gg_._position_left_1un3j_gg_{text-anchor:start}.___SLabel_1un3j_gg_.__color_1un3j_gg_{fill:var(--color_1un3j)}"
60
60
  /*__inner_css_end__*/
61
- , "132zu_gg_")
61
+ , "1un3j_gg_")
62
62
  /*__reshadow_css_end__*/
63
63
  , {
64
- "__SBubble": "___SBubble_132zu_gg_",
65
- "--duration": "--duration_132zu",
66
- "_color": "__color_132zu_gg_",
67
- "--color": "--color_132zu",
68
- "__SCenter": "___SCenter_132zu_gg_",
69
- "__SLabel": "___SLabel_132zu_gg_",
70
- "_position_right": "_position_right_132zu_gg_",
71
- "_position_left": "_position_left_132zu_gg_"
64
+ "__SBubble": "___SBubble_1un3j_gg_",
65
+ "--duration": "--duration_1un3j",
66
+ "_color": "__color_1un3j_gg_",
67
+ "--color": "--color_1un3j",
68
+ "__SCenter": "___SCenter_1un3j_gg_",
69
+ "__SLabel": "___SLabel_1un3j_gg_",
70
+ "_position_right": "_position_right_1un3j_gg_",
71
+ "_position_left": "_position_left_1un3j_gg_"
72
72
  });
73
73
 
74
74
  var BubbleRoot = /*#__PURE__*/function (_Component) {
package/lib/cjs/Donut.js CHANGED
@@ -66,16 +66,16 @@ var style = (
66
66
  /*__reshadow_css_start__*/
67
67
  _core.sstyled.insert(
68
68
  /*__inner_css_start__*/
69
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SPie_ncixh_gg_ {\n stroke: #ffffff;\n fill: #2bb3ff;\n}\n\n.___SPie_ncixh_gg_.__color_ncixh_gg_ {\n fill: var(--color_ncixh);\n}\n\n.___SEmptyData_ncixh_gg_ {\n fill: #e0e1e9;\n}\n\n.___SEmptyData_ncixh_gg_.__color_ncixh_gg_ {\n fill: var(--color_ncixh);\n}\n\n.___SLabel_ncixh_gg_ {\n text-anchor: middle;\n vertical-anchor: middle;\n}\n"
69
+ ".___SPie_1yoih_gg_{stroke:#fff;fill:#2bb3ff}.___SPie_1yoih_gg_.__color_1yoih_gg_{fill:var(--color_1yoih)}.___SEmptyData_1yoih_gg_{fill:#e0e1e9}.___SEmptyData_1yoih_gg_.__color_1yoih_gg_{fill:var(--color_1yoih)}.___SLabel_1yoih_gg_{text-anchor:middle;vertical-anchor:middle}"
70
70
  /*__inner_css_end__*/
71
- , "ncixh_gg_")
71
+ , "1yoih_gg_")
72
72
  /*__reshadow_css_end__*/
73
73
  , {
74
- "__SPie": "___SPie_ncixh_gg_",
75
- "_color": "__color_ncixh_gg_",
76
- "--color": "--color_ncixh",
77
- "__SEmptyData": "___SEmptyData_ncixh_gg_",
78
- "__SLabel": "___SLabel_ncixh_gg_"
74
+ "__SPie": "___SPie_1yoih_gg_",
75
+ "_color": "__color_1yoih_gg_",
76
+ "--color": "--color_1yoih",
77
+ "__SEmptyData": "___SEmptyData_1yoih_gg_",
78
+ "__SLabel": "___SLabel_1yoih_gg_"
79
79
  });
80
80
  var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
81
81
 
@@ -415,12 +415,12 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
415
415
  size: size,
416
416
  halfsize: halfsize,
417
417
  outerRadius: outerRadius
418
- })).innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);
418
+ })).innerRadius(innerRadius);
419
419
  var d3ArcOut = (0, _d3Shape.arc)().outerRadius(getOuterRadius({
420
420
  size: size,
421
421
  halfsize: halfsize,
422
422
  outerRadius: outerRadius
423
- }) + increaseFactor).innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);
423
+ }) + increaseFactor).innerRadius(innerRadius);
424
424
  var d3Pie = (0, _d3Shape.pie)().sort(null).value(function (_ref19) {
425
425
  var _ref20 = (0, _slicedToArray2["default"])(_ref19, 2),
426
426
  value = _ref20[1];
@@ -1 +1 @@
1
- {"version":3,"file":"Donut.js","names":["DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","_","ind","d","iStart","interpolate","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","transition","selection","select","attrTween","min","max","arc","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","canUseDOM","document","createElement","undefined","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","active","data","id","uid","top","right","bottom","left","Children","d3Pie","pieData","Object","entries","keys","React","toArray","getOriginChildren","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","Component","style","uniqueIDEnhancement","pie","value","SPie","styles","color","name","other","useState","isMount","setIsMount","useEffect","describeValueEntity","sstyled","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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"}
1
+ {"version":3,"file":"Donut.js","names":["DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","_","ind","d","iStart","interpolate","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","transition","selection","select","attrTween","min","max","arc","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","canUseDOM","document","createElement","undefined","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","active","data","id","uid","top","right","bottom","left","Children","d3Pie","pieData","Object","entries","keys","React","toArray","getOriginChildren","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","Component","style","uniqueIDEnhancement","pie","value","SPie","styles","color","name","other","useState","isMount","setIsMount","useEffect","describeValueEntity","sstyled","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);\n\n const d3ArcOut = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }) + increaseFactor)\n .innerRadius(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/cjs/Dots.js CHANGED
@@ -32,18 +32,18 @@ var style = (
32
32
  /*__reshadow_css_start__*/
33
33
  _core.sstyled.insert(
34
34
  /*__inner_css_start__*/
35
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SDots_1g138_gg_ .___SDot_1g138_gg_ {\n transition-duration: var(--duration_1g138);\n }\n\n.___SDot_1g138_gg_ {\n stroke-width: 2px;\n stroke: #fff;\n r: 6px;\n fill: #2bb3ff;\n transition-property: cx, cy;\n transition-timing-function: ease-in-out;\n}\n\n.___SDot_1g138_gg_.__hide_1g138_gg_ {\n display: none;\n}\n\n.___SDot_1g138_gg_.__active_1g138_gg_ {\n r: 8px;\n}\n\n.___SDot_1g138_gg_.__color_1g138_gg_ {\n fill: var(--color_1g138);\n}\n"
35
+ ".___SDots_czaw2_gg_ .___SDot_czaw2_gg_{transition-duration:var(--duration_czaw2)}.___SDot_czaw2_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:#2bb3ff;transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_czaw2_gg_.__hide_czaw2_gg_{display:none}.___SDot_czaw2_gg_.__active_czaw2_gg_{r:8px}.___SDot_czaw2_gg_.__color_czaw2_gg_{fill:var(--color_czaw2)}"
36
36
  /*__inner_css_end__*/
37
- , "1g138_gg_")
37
+ , "czaw2_gg_")
38
38
  /*__reshadow_css_end__*/
39
39
  , {
40
- "__SDots": "___SDots_1g138_gg_",
41
- "__SDot": "___SDot_1g138_gg_",
42
- "--duration": "--duration_1g138",
43
- "_hide": "__hide_1g138_gg_",
44
- "_active": "__active_1g138_gg_",
45
- "_color": "__color_1g138_gg_",
46
- "--color": "--color_1g138"
40
+ "__SDots": "___SDots_czaw2_gg_",
41
+ "__SDot": "___SDot_czaw2_gg_",
42
+ "--duration": "--duration_czaw2",
43
+ "_hide": "__hide_czaw2_gg_",
44
+ "_active": "__active_czaw2_gg_",
45
+ "_color": "__color_czaw2_gg_",
46
+ "--color": "--color_czaw2"
47
47
  });
48
48
  var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
49
49
 
@@ -42,17 +42,17 @@ var style = (
42
42
  /*__reshadow_css_start__*/
43
43
  _core.sstyled.insert(
44
44
  /*__inner_css_start__*/
45
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SBar_1vizy_gg_ {\n fill: #2bb3ff;\n transition-property: height, width, y;\n transition-duration: var(--duration_1vizy);\n transition-timing-function: ease-in-out;\n}\n\n.___SBar_1vizy_gg_.__color_1vizy_gg_ {\n fill: var(--color_1vizy);\n}\n\n.___SBar_1vizy_gg_.__hide_1vizy_gg_ {\n display: none;\n}\n\n.___SBackground_1vizy_gg_ {\n fill: #c4c7cf;\n}\n"
45
+ ".___SBar_bbmmd_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_bbmmd);transition-timing-function:ease-in-out}.___SBar_bbmmd_gg_.__color_bbmmd_gg_{fill:var(--color_bbmmd)}.___SBar_bbmmd_gg_.__hide_bbmmd_gg_{display:none}.___SBackground_bbmmd_gg_{fill:#c4c7cf}"
46
46
  /*__inner_css_end__*/
47
- , "1vizy_gg_")
47
+ , "bbmmd_gg_")
48
48
  /*__reshadow_css_end__*/
49
49
  , {
50
- "__SBar": "___SBar_1vizy_gg_",
51
- "--duration": "--duration_1vizy",
52
- "_color": "__color_1vizy_gg_",
53
- "--color": "--color_1vizy",
54
- "_hide": "__hide_1vizy_gg_",
55
- "__SBackground": "___SBackground_1vizy_gg_"
50
+ "__SBar": "___SBar_bbmmd_gg_",
51
+ "--duration": "--duration_bbmmd",
52
+ "_color": "__color_bbmmd_gg_",
53
+ "--color": "--color_bbmmd",
54
+ "_hide": "__hide_bbmmd_gg_",
55
+ "__SBackground": "___SBackground_bbmmd_gg_"
56
56
  });
57
57
 
58
58
  var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
@@ -93,6 +93,7 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
93
93
  uid = _this$asProps2.uid,
94
94
  duration = _this$asProps2.duration,
95
95
  r = _this$asProps2.r,
96
+ wMin = _this$asProps2.wMin,
96
97
  heightProps = _this$asProps2.height,
97
98
  onMouseMove = _this$asProps2.onMouseMove,
98
99
  onMouseLeave = _this$asProps2.onMouseLeave,
@@ -103,16 +104,16 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
103
104
  yScale = _scale[1];
104
105
 
105
106
  var barY = yScale(d[y]) + offset[1];
106
- var barX = xScale(Math.min((_d$x = d[x0]) !== null && _d$x !== void 0 ? _d$x : 0, d[x])) + offset[0];
107
+ var barX = xScale(Math.min((_d$x = d[x0]) !== null && _d$x !== void 0 ? _d$x : 0, d[x])) + offset[0] - (Object.is(d[x], -0) ? wMin : 0);
107
108
  var height = heightProps || (0, _utils.getBandwidth)(yScale);
108
- var width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale((_d$x2 = d[x0]) !== null && _d$x2 !== void 0 ? _d$x2 : 0)));
109
+ var width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale((_d$x2 = d[x0]) !== null && _d$x2 !== void 0 ? _d$x2 : 0))) || wMin;
109
110
  var dSvg = getHorizontalRect({
110
111
  x: barX,
111
112
  y: barY,
112
113
  width: width,
113
114
  height: height,
114
115
  radius: Array.isArray(r) ? r[i] : r,
115
- position: d[x] > 0 ? 'right' : 'left'
116
+ position: d[x] > 0 || Object.is(d[x], 0) ? 'right' : 'left'
116
117
  });
117
118
 
118
119
  if (groupKey) {
@@ -173,7 +174,8 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
173
174
  (0, _defineProperty2["default"])(HorizontalBarRoot, "defaultProps", {
174
175
  offset: [0, 0],
175
176
  duration: 500,
176
- r: 2
177
+ r: 2,
178
+ wMin: 4
177
179
  });
178
180
 
179
181
  function Background(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalBar.js","names":["HorizontalBarRoot","props","index","asProps","data","y","value","d","i","SBar","Element","styles","color","x","x0","scale","hide","offset","uid","duration","r","heightProps","height","onMouseMove","onMouseLeave","groupKey","xScale","yScale","barY","barX","Math","min","getBandwidth","width","abs","max","domain","dSvg","getHorizontalRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","sstyled","size","map","renderBar","bind","rect","setAttribute","Component","uniqueIDEnhancement","style","Background","SBackground","xRange","range","bandwidth","roundedPath","createElement"],"sources":["../../src/HorizontalBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass HorizontalBarRoot extends Component {\n static displayName = 'HorizontalBar';\n static enhance = [uniqueIDEnhancement()];\n static style = style;\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n };\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n x0,\n y,\n scale,\n hide,\n offset,\n uid,\n duration,\n r,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n groupKey,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const barY = yScale(d[y]) + offset[1];\n const barX = xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0];\n const height = heightProps || getBandwidth(yScale);\n const width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)));\n const dSvg = getHorizontalRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[x] > 0 ? 'right' : 'left',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, x);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${x}`, groupKey ?? d[y]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`horizontal-bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n use:duration={`${duration}ms`}\n onMouseMove={onMouseMove}\n onMouseLeave={onMouseLeave}\n />,\n );\n }\n\n render() {\n const { data, uid, size, duration } = this.asProps;\n\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n aria-hidden\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n const [xScale, yScale] = scale;\n const xRange = xScale.range();\n\n return sstyled(styles)(\n <SBackground\n aria-hidden\n render=\"rect\"\n childrenPosition=\"above\"\n width={xRange[1] - xRange[0]}\n height={yScale.bandwidth()}\n x={xRange[0]}\n y={yScale(value)}\n />,\n );\n}\n\nfunction getHorizontalRect({ x, y, width, height, radius, position }) {\n if (width <= radius) return '';\n if (radius) {\n if (position === 'right')\n return roundedPath(x, y, width, height, radius, false, true, false, true);\n return roundedPath(x, y, width, height, radius, true, false, true, false);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(HorizontalBarRoot, { Background });\n"],"mappings":"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"}
1
+ {"version":3,"file":"HorizontalBar.js","names":["HorizontalBarRoot","props","index","asProps","data","y","value","d","i","SBar","Element","styles","color","x","x0","scale","hide","offset","uid","duration","r","wMin","heightProps","height","onMouseMove","onMouseLeave","groupKey","xScale","yScale","barY","barX","Math","min","Object","is","getBandwidth","width","abs","max","domain","dSvg","getHorizontalRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","sstyled","size","map","renderBar","bind","rect","setAttribute","Component","uniqueIDEnhancement","style","Background","SBackground","xRange","range","bandwidth","roundedPath","createElement"],"sources":["../../src/HorizontalBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass HorizontalBarRoot extends Component {\n static displayName = 'HorizontalBar';\n static enhance = [uniqueIDEnhancement()];\n static style = style;\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n wMin: 4,\n };\n\n getBackgroundProps(props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n };\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n x0,\n y,\n scale,\n hide,\n offset,\n uid,\n duration,\n r,\n wMin,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n groupKey,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const barY = yScale(d[y]) + offset[1];\n const barX = xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0] - (Object.is(d[x], -0) ? wMin : 0);\n const height = heightProps || getBandwidth(yScale);\n const width =\n Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0))) || wMin;\n const dSvg = getHorizontalRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[x] > 0 || Object.is(d[x], 0) ? 'right' : 'left',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, x);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${x}`, groupKey ?? d[y]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`horizontal-bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n use:duration={`${duration}ms`}\n onMouseMove={onMouseMove}\n onMouseLeave={onMouseLeave}\n />,\n );\n }\n\n render() {\n const { data, uid, size, duration } = this.asProps;\n\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n aria-hidden\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n const [xScale, yScale] = scale;\n const xRange = xScale.range();\n\n return sstyled(styles)(\n <SBackground\n aria-hidden\n render=\"rect\"\n childrenPosition=\"above\"\n width={xRange[1] - xRange[0]}\n height={yScale.bandwidth()}\n x={xRange[0]}\n y={yScale(value)}\n />,\n );\n}\n\nfunction getHorizontalRect({ x, y, width, height, radius, position }) {\n if (width <= radius) return '';\n if (radius) {\n if (position === 'right')\n return roundedPath(x, y, width, height, radius, false, true, false, true);\n return roundedPath(x, y, width, height, radius, true, false, true, false);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(HorizontalBarRoot, { Background });\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,iB;;;;;;;;;;;;WAYJ,4BAAmBC,KAAnB,EAA0BC,KAA1B,EAAiC;MAC/B,oBAAoB,KAAKC,OAAzB;MAAA,IAAQC,IAAR,iBAAQA,IAAR;MAAA,IAAcC,CAAd,iBAAcA,CAAd;MACA,OAAO;QACLC,KAAK,EAAEF,IAAI,CAACF,KAAD,CAAJ,CAAYG,CAAZ;MADF,CAAP;IAGD;;;WAED,mBAAUE,CAAV,EAAaC,CAAb,EAAgB;MAAA;;MACd,IAAMC,IAAI,GAAG,KAAKC,OAAlB;MACA,qBAiBI,KAAKP,OAjBT;MAAA,IACEQ,MADF,kBACEA,MADF;MAAA,IAEEC,KAFF,kBAEEA,KAFF;MAAA,IAGEC,CAHF,kBAGEA,CAHF;MAAA,IAIEC,EAJF,kBAIEA,EAJF;MAAA,IAKET,CALF,kBAKEA,CALF;MAAA,IAMEU,KANF,kBAMEA,KANF;MAAA,IAOEC,IAPF,kBAOEA,IAPF;MAAA,IAQEC,MARF,kBAQEA,MARF;MAAA,IASEC,GATF,kBASEA,GATF;MAAA,IAUEC,QAVF,kBAUEA,QAVF;MAAA,IAWEC,CAXF,kBAWEA,CAXF;MAAA,IAYEC,IAZF,kBAYEA,IAZF;MAAA,IAaUC,WAbV,kBAaEC,MAbF;MAAA,IAcEC,WAdF,kBAcEA,WAdF;MAAA,IAeEC,YAfF,kBAeEA,YAfF;MAAA,IAgBEC,QAhBF,kBAgBEA,QAhBF;;MAmBA,6CAAyBX,KAAzB;MAAA,IAAOY,MAAP;MAAA,IAAeC,MAAf;;MACA,IAAMC,IAAI,GAAGD,MAAM,CAACrB,CAAC,CAACF,CAAD,CAAF,CAAN,GAAeY,MAAM,CAAC,CAAD,CAAlC;MACA,IAAMa,IAAI,GAAGH,MAAM,CAACI,IAAI,CAACC,GAAL,SAASzB,CAAC,CAACO,EAAD,CAAV,uCAAkB,CAAlB,EAAqBP,CAAC,CAACM,CAAD,CAAtB,CAAD,CAAN,GAAqCI,MAAM,CAAC,CAAD,CAA3C,IAAkDgB,MAAM,CAACC,EAAP,CAAU3B,CAAC,CAACM,CAAD,CAAX,EAAgB,CAAC,CAAjB,IAAsBQ,IAAtB,GAA6B,CAA/E,CAAb;MACA,IAAME,MAAM,GAAGD,WAAW,IAAI,IAAAa,mBAAA,EAAaP,MAAb,CAA9B;MACA,IAAMQ,KAAK,GACTL,IAAI,CAACM,GAAL,CAASV,MAAM,CAACpB,CAAC,CAACM,CAAD,CAAF,CAAN,GAAekB,IAAI,CAACO,GAAL,CAASX,MAAM,CAACA,MAAM,CAACY,MAAP,GAAgB,CAAhB,CAAD,CAAf,EAAqCZ,MAAM,UAACpB,CAAC,CAACO,EAAD,CAAF,yCAAU,CAAV,CAA3C,CAAxB,KAAqFO,IADvF;MAEA,IAAMmB,IAAI,GAAGC,iBAAiB,CAAC;QAC7B5B,CAAC,EAAEiB,IAD0B;QAE7BzB,CAAC,EAAEwB,IAF0B;QAG7BO,KAAK,EAALA,KAH6B;QAI7Bb,MAAM,EAANA,MAJ6B;QAK7BmB,MAAM,EAAEC,KAAK,CAACC,OAAN,CAAcxB,CAAd,IAAmBA,CAAC,CAACZ,CAAD,CAApB,GAA0BY,CALL;QAM7ByB,QAAQ,EAAEtC,CAAC,CAACM,CAAD,CAAD,GAAO,CAAP,IAAYoB,MAAM,CAACC,EAAP,CAAU3B,CAAC,CAACM,CAAD,CAAX,EAAgB,CAAhB,CAAZ,GAAiC,OAAjC,GAA2C;MANxB,CAAD,CAA9B;;MASA,IAAIa,QAAJ,EAAc;QACZ,KAAKvB,OAAL,CAAa2C,gBAAb,CAA8BC,qBAA9B,CAAoDrB,QAApD,EAA8Db,CAA9D;MACD,CAFD,MAEO;QACL,KAAKV,OAAL,CAAa2C,gBAAb,CAA8BE,mBAA9B,WAAqDxC,CAArD,cAA0DK,CAA1D,GAA+Da,QAA/D,aAA+DA,QAA/D,cAA+DA,QAA/D,GAA2EnB,CAAC,CAACF,CAAD,CAA5E;MACD;;MAED,cAAO,IAAA4C,aAAA,EAAQtC,MAAR,CAAP,eACE,gCAAC,IAAD;QAAA;QAAA,gCAEyBH,CAFzB;QAAA,UAGS,MAHT;QAAA,2BAIoBU,GAJpB;QAAA,kBAKkB,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CALlB;QAAA,oBAMmB,OANnB;QAAA,SAOSX,CAPT;QAAA,SAQSC,CART;QAAA,QASQQ,IATR;QAAA,SAUSJ,KAVT;QAAA,KAWKkB,IAXL;QAAA,KAYKD,IAZL;QAAA,SAaSO,KAbT;QAAA,UAcUb,MAdV;QAAA,KAeKiB,IAfL;QAAA,0BAgBmBrB,QAhBnB;QAAA,eAiBeK,WAjBf;QAAA,gBAkBgBC;MAlBhB,GADF;IAsBD;;;WAED,kBAAS;MACP,qBAAsC,KAAKtB,OAA3C;MAAA,IAAQC,IAAR,kBAAQA,IAAR;MAAA,IAAcc,GAAd,kBAAcA,GAAd;MAAA,IAAmBgC,IAAnB,kBAAmBA,IAAnB;MAAA,IAAyB/B,QAAzB,kBAAyBA,QAAzB;MAEA,oBACE,kEACGf,IAAI,CAAC+C,GAAL,CAAS,KAAKC,SAAL,CAAeC,IAAf,CAAoB,IAApB,CAAT,CADH,EAEGlC,QAAQ,iBACP,gCAAC,oBAAD;QACE,mBADF;QAEE,eAAe,EAAE,yBAACmC,IAAD,EAAU;UACzBA,IAAI,CAACC,YAAL,CAAkB,OAAlB,EAA2BL,IAAI,CAAC,CAAD,CAA/B;QACD,CAJH;QAKE,EAAE,EAAEhC,GALN;QAME,CAAC,EAAC,GANJ;QAOE,CAAC,EAAC,GAPJ;QAQE,KAAK,EAAE,CART;QASE,MAAM,EAAEgC,IAAI,CAAC,CAAD,CATd;QAUE,UAAU,kBAAW/B,QAAX;MAVZ,EAHJ,CADF;IAmBD;;;EA3G6BqC,e;;iCAA1BxD,iB,iBACiB,e;iCADjBA,iB,aAEa,CAAC,IAAAyD,oBAAA,GAAD,C;iCAFbzD,iB,WAGW0D,K;iCAHX1D,iB,kBAKkB;EACpBiB,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,CADY;EAEpBE,QAAQ,EAAE,GAFU;EAGpBC,CAAC,EAAE,CAHiB;EAIpBC,IAAI,EAAE;AAJc,C;;AAyGxB,SAASsC,UAAT,CAAoB1D,KAApB,EAA2B;EAAA;;EACzB,IAAiB2D,WAAjB,GAAuD3D,KAAvD,CAAQS,OAAR;EAAA,IAA8BC,MAA9B,GAAuDV,KAAvD,CAA8BU,MAA9B;EAAA,IAAsCI,KAAtC,GAAuDd,KAAvD,CAAsCc,KAAtC;EAAA,IAA6CT,KAA7C,GAAuDL,KAAvD,CAA6CK,KAA7C;;EACA,8CAAyBS,KAAzB;EAAA,IAAOY,MAAP;EAAA,IAAeC,MAAf;;EACA,IAAMiC,MAAM,GAAGlC,MAAM,CAACmC,KAAP,EAAf;EAEA,eAAO,IAAAb,aAAA,EAAQtC,MAAR,CAAP,eACE,gCAAC,WAAD;IAAA;IAAA,UAES,MAFT;IAAA,oBAGmB,OAHnB;IAAA,SAISkD,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAJ3B;IAAA,UAKUjC,MAAM,CAACmC,SAAP,EALV;IAAA,KAMKF,MAAM,CAAC,CAAD,CANX;IAAA,KAOKjC,MAAM,CAACtB,KAAD;EAPX,GADF;AAWD;;AAED,SAASmC,iBAAT,QAAsE;EAAA,IAAzC5B,CAAyC,SAAzCA,CAAyC;EAAA,IAAtCR,CAAsC,SAAtCA,CAAsC;EAAA,IAAnC+B,KAAmC,SAAnCA,KAAmC;EAAA,IAA5Bb,MAA4B,SAA5BA,MAA4B;EAAA,IAApBmB,MAAoB,SAApBA,MAAoB;EAAA,IAAZG,QAAY,SAAZA,QAAY;EACpE,IAAIT,KAAK,IAAIM,MAAb,EAAqB,OAAO,EAAP;;EACrB,IAAIA,MAAJ,EAAY;IACV,IAAIG,QAAQ,KAAK,OAAjB,EACE,OAAO,IAAAmB,kBAAA,EAAYnD,CAAZ,EAAeR,CAAf,EAAkB+B,KAAlB,EAAyBb,MAAzB,EAAiCmB,MAAjC,EAAyC,KAAzC,EAAgD,IAAhD,EAAsD,KAAtD,EAA6D,IAA7D,CAAP;IACF,OAAO,IAAAsB,kBAAA,EAAYnD,CAAZ,EAAeR,CAAf,EAAkB+B,KAAlB,EAAyBb,MAAzB,EAAiCmB,MAAjC,EAAyC,IAAzC,EAA+C,KAA/C,EAAsD,IAAtD,EAA4D,KAA5D,CAAP;EACD;;EACD,OAAO,IAAAsB,kBAAA,EAAYnD,CAAZ,EAAeR,CAAf,EAAkB+B,KAAlB,EAAyBb,MAAzB,EAAiCmB,MAAjC,CAAP;AACD;;eAEc,IAAAuB,yBAAA,EAAcjE,iBAAd,EAAiC;EAAE2D,UAAU,EAAVA;AAAF,CAAjC,C"}
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
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SHoverLine_zcouu_gg_ {\n stroke: #a9abb6;\n}\n\n.___SHoverRect_zcouu_gg_ {\n fill: rgba(196, 199, 207, 0.3);\n}\n"
47
+ ".___SHoverLine_dlgw6_gg_{stroke:#a9abb6}.___SHoverRect_dlgw6_gg_{fill:rgba(196,199,207,.3)}"
48
48
  /*__inner_css_end__*/
49
- , "zcouu_gg_")
49
+ , "dlgw6_gg_")
50
50
  /*__reshadow_css_end__*/
51
51
  , {
52
- "__SHoverLine": "___SHoverLine_zcouu_gg_",
53
- "__SHoverRect": "___SHoverRect_zcouu_gg_"
52
+ "__SHoverLine": "___SHoverLine_dlgw6_gg_",
53
+ "__SHoverRect": "___SHoverRect_dlgw6_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
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SLine_1pg54_gg_ {\n fill: transparent;\n stroke-width: 3;\n stroke: #2bb3ff;\n transition-property: d;\n transition-duration: var(--duration_1pg54);\n transition-timing-function: ease-in-out;\n}\n\n.___SLine_1pg54_gg_.__color_1pg54_gg_ {\n stroke: var(--color_1pg54);\n}\n\n.___SLine_1pg54_gg_.__hide_1pg54_gg_ {\n display: none;\n}\n\n.___SNull_1pg54_gg_ {\n fill: transparent;\n stroke: #c4c7cf;\n stroke-dasharray: 4;\n}\n\n.___SNull_1pg54_gg_.__hide_1pg54_gg_ {\n display: none;\n}\n"
49
+ ".___SLine_r2txj_gg_{fill:transparent;stroke-width:3;stroke:#2bb3ff;transition-property:d;transition-duration:var(--duration_r2txj);transition-timing-function:ease-in-out}.___SLine_r2txj_gg_.__color_r2txj_gg_{stroke:var(--color_r2txj)}.___SLine_r2txj_gg_.__hide_r2txj_gg_{display:none}.___SNull_r2txj_gg_{fill:transparent;stroke:#c4c7cf;stroke-dasharray:4}.___SNull_r2txj_gg_.__hide_r2txj_gg_{display:none}"
50
50
  /*__inner_css_end__*/
51
- , "1pg54_gg_")
51
+ , "r2txj_gg_")
52
52
  /*__reshadow_css_end__*/
53
53
  , {
54
- "__SLine": "___SLine_1pg54_gg_",
55
- "--duration": "--duration_1pg54",
56
- "_color": "__color_1pg54_gg_",
57
- "--color": "--color_1pg54",
58
- "_hide": "__hide_1pg54_gg_",
59
- "__SNull": "___SNull_1pg54_gg_"
54
+ "__SLine": "___SLine_r2txj_gg_",
55
+ "--duration": "--duration_r2txj",
56
+ "_color": "__color_r2txj_gg_",
57
+ "--color": "--color_r2txj",
58
+ "_hide": "__hide_r2txj_gg_",
59
+ "__SNull": "___SNull_r2txj_gg_"
60
60
  });
61
61
 
62
62
  var LineRoot = /*#__PURE__*/function (_Component) {
package/lib/cjs/Plot.js CHANGED
@@ -58,13 +58,13 @@ var style = (
58
58
  /*__reshadow_css_start__*/
59
59
  _core.sstyled.insert(
60
60
  /*__inner_css_start__*/
61
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SPlot_yjcvy_gg_ {\n overflow: hidden;\n}\n\n.___SPlot_yjcvy_gg_:active,\n.___SPlot_yjcvy_gg_:focus {\n outline: 0;\n text-decoration: none;\n}\n\nforeignObject[data-aria-only] {\n pointer-events: none;\n}\n\n.___SPlot_yjcvy_gg_.__keyboardFocused_yjcvy_gg_ {\n border: 1px solid #008ff8;\n box-shadow: 0 0 0 3px rgba(0, 143, 248, 0.2);\n}\n"
61
+ ".___SPlot_1ps46_gg_{overflow:hidden}.___SPlot_1ps46_gg_:active,.___SPlot_1ps46_gg_:focus{outline:0;text-decoration:none}foreignObject[data-aria-only]{pointer-events:none}.___SPlot_1ps46_gg_.__keyboardFocused_1ps46_gg_{border:1px solid #008ff8;box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}"
62
62
  /*__inner_css_end__*/
63
- , "yjcvy_gg_")
63
+ , "1ps46_gg_")
64
64
  /*__reshadow_css_end__*/
65
65
  , {
66
- "__SPlot": "___SPlot_yjcvy_gg_",
67
- "_keyboardFocused": "__keyboardFocused_yjcvy_gg_"
66
+ "__SPlot": "___SPlot_1ps46_gg_",
67
+ "_keyboardFocused": "__keyboardFocused_1ps46_gg_"
68
68
  });
69
69
 
70
70
  var PlotRoot = /*#__PURE__*/function (_Component) {
@@ -60,20 +60,20 @@ var style = (
60
60
  /*__reshadow_css_start__*/
61
61
  _core.sstyled.insert(
62
62
  /*__inner_css_start__*/
63
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SRadian_4yuoa_gg_ {\n cursor: pointer;\n fill: #008ff8;\n}\n\n.___SLine_4yuoa_gg_ {\n stroke: #008ff8;\n}\n\n.___SLine_4yuoa_gg_.__color_4yuoa_gg_ {\n stroke: var(--color_4yuoa);\n}\n\n.___SCap_4yuoa_gg_ {\n transition: r 0.1s;\n}\n\n.___SLabel_4yuoa_gg_ {\n fill: var(--color_4yuoa);\n cursor: var(--text-cursor_4yuoa);\n}\n\n.___SRadian_4yuoa_gg_:hover .___SLabel_4yuoa_gg_ {\n fill: var(--color-hovered_4yuoa);\n}\n\n@media (prefers-reduced-motion) {\n .___SLineCap_4yuoa_gg_ {\n transition: none;\n }\n}\n"
63
+ ".___SRadian_g6fwx_gg_{cursor:pointer;fill:#008ff8}.___SLine_g6fwx_gg_{stroke:#008ff8}.___SLine_g6fwx_gg_.__color_g6fwx_gg_{stroke:var(--color_g6fwx)}.___SCap_g6fwx_gg_{transition:r .1s}.___SLabel_g6fwx_gg_{fill:var(--color_g6fwx);cursor:var(--text-cursor_g6fwx)}.___SRadian_g6fwx_gg_:hover .___SLabel_g6fwx_gg_{fill:var(--color-hovered_g6fwx)}@media (prefers-reduced-motion){.___SLineCap_g6fwx_gg_{transition:none}}"
64
64
  /*__inner_css_end__*/
65
- , "4yuoa_gg_")
65
+ , "g6fwx_gg_")
66
66
  /*__reshadow_css_end__*/
67
67
  , {
68
- "__SRadian": "___SRadian_4yuoa_gg_",
69
- "__SLine": "___SLine_4yuoa_gg_",
70
- "_color": "__color_4yuoa_gg_",
71
- "--color": "--color_4yuoa",
72
- "__SCap": "___SCap_4yuoa_gg_",
73
- "__SLabel": "___SLabel_4yuoa_gg_",
74
- "--text-cursor": "--text-cursor_4yuoa",
75
- "--color-hovered": "--color-hovered_4yuoa",
76
- "__SLineCap": "___SLineCap_4yuoa_gg_"
68
+ "__SRadian": "___SRadian_g6fwx_gg_",
69
+ "__SLine": "___SLine_g6fwx_gg_",
70
+ "_color": "__color_g6fwx_gg_",
71
+ "--color": "--color_g6fwx",
72
+ "__SCap": "___SCap_g6fwx_gg_",
73
+ "__SLabel": "___SLabel_g6fwx_gg_",
74
+ "--text-cursor": "--text-cursor_g6fwx",
75
+ "--color-hovered": "--color-hovered_g6fwx",
76
+ "__SLineCap": "___SLineCap_g6fwx_gg_"
77
77
  });
78
78
  var baseAngle = -Math.PI / 2; // The top vertical line
79
79