@semcore/d3-chart 2.17.2 → 2.17.3

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 (114) hide show
  1. package/CHANGELOG.md +4 -2
  2. package/lib/cjs/Area.js +14 -14
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +23 -22
  5. package/lib/cjs/Axis.js.map +1 -1
  6. package/lib/cjs/Bar.js +12 -12
  7. package/lib/cjs/Bar.js.map +1 -1
  8. package/lib/cjs/Bubble.js +13 -13
  9. package/lib/cjs/Bubble.js.map +1 -1
  10. package/lib/cjs/ClipPath.js +2 -2
  11. package/lib/cjs/ClipPath.js.map +1 -1
  12. package/lib/cjs/Donut.js +7 -7
  13. package/lib/cjs/Donut.js.map +1 -1
  14. package/lib/cjs/Dots.js +11 -11
  15. package/lib/cjs/Dots.js.map +1 -1
  16. package/lib/cjs/GroupBar.js.map +1 -1
  17. package/lib/cjs/HorizontalBar.js +12 -12
  18. package/lib/cjs/HorizontalBar.js.map +1 -1
  19. package/lib/cjs/Hover.js +7 -7
  20. package/lib/cjs/Hover.js.map +1 -1
  21. package/lib/cjs/Line.js +12 -12
  22. package/lib/cjs/Line.js.map +1 -1
  23. package/lib/cjs/Plot.js +8 -8
  24. package/lib/cjs/Plot.js.map +1 -1
  25. package/lib/cjs/Radar.js +46 -45
  26. package/lib/cjs/Radar.js.map +1 -1
  27. package/lib/cjs/RadialTree.js +30 -29
  28. package/lib/cjs/RadialTree.js.map +1 -1
  29. package/lib/cjs/ReferenceLine.js +14 -14
  30. package/lib/cjs/ReferenceLine.js.map +1 -1
  31. package/lib/cjs/ScatterPlot.js +9 -9
  32. package/lib/cjs/ScatterPlot.js.map +1 -1
  33. package/lib/cjs/StackBar.js.map +1 -1
  34. package/lib/cjs/StackedArea.js.map +1 -1
  35. package/lib/cjs/Tooltip.js +10 -10
  36. package/lib/cjs/Tooltip.js.map +1 -1
  37. package/lib/cjs/Venn.js +8 -8
  38. package/lib/cjs/Venn.js.map +1 -1
  39. package/lib/cjs/a11y/PlotA11yModule.js +4 -5
  40. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  41. package/lib/cjs/a11y/PlotA11yView.js +6 -6
  42. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  43. package/lib/cjs/a11y/focus.js +0 -3
  44. package/lib/cjs/a11y/focus.js.map +1 -1
  45. package/lib/cjs/a11y/hints.js.map +1 -1
  46. package/lib/cjs/a11y/insights.js +1 -1
  47. package/lib/cjs/a11y/insights.js.map +1 -1
  48. package/lib/cjs/a11y/intl.js +2 -4
  49. package/lib/cjs/a11y/intl.js.map +1 -1
  50. package/lib/cjs/a11y/locale.js +0 -1
  51. package/lib/cjs/a11y/locale.js.map +1 -1
  52. package/lib/cjs/createElement.js +1 -2
  53. package/lib/cjs/createElement.js.map +1 -1
  54. package/lib/cjs/types/index.d.js.map +1 -1
  55. package/lib/cjs/utils.js +17 -18
  56. package/lib/cjs/utils.js.map +1 -1
  57. package/lib/es6/Area.js +14 -14
  58. package/lib/es6/Area.js.map +1 -1
  59. package/lib/es6/Axis.js +23 -22
  60. package/lib/es6/Axis.js.map +1 -1
  61. package/lib/es6/Bar.js +12 -12
  62. package/lib/es6/Bar.js.map +1 -1
  63. package/lib/es6/Bubble.js +13 -13
  64. package/lib/es6/Bubble.js.map +1 -1
  65. package/lib/es6/ClipPath.js +2 -2
  66. package/lib/es6/ClipPath.js.map +1 -1
  67. package/lib/es6/Donut.js +7 -7
  68. package/lib/es6/Donut.js.map +1 -1
  69. package/lib/es6/Dots.js +11 -11
  70. package/lib/es6/Dots.js.map +1 -1
  71. package/lib/es6/GroupBar.js.map +1 -1
  72. package/lib/es6/HorizontalBar.js +12 -12
  73. package/lib/es6/HorizontalBar.js.map +1 -1
  74. package/lib/es6/Hover.js +7 -7
  75. package/lib/es6/Hover.js.map +1 -1
  76. package/lib/es6/Line.js +12 -12
  77. package/lib/es6/Line.js.map +1 -1
  78. package/lib/es6/Plot.js +8 -8
  79. package/lib/es6/Plot.js.map +1 -1
  80. package/lib/es6/Radar.js +46 -45
  81. package/lib/es6/Radar.js.map +1 -1
  82. package/lib/es6/RadialTree.js +30 -29
  83. package/lib/es6/RadialTree.js.map +1 -1
  84. package/lib/es6/ReferenceLine.js +14 -14
  85. package/lib/es6/ReferenceLine.js.map +1 -1
  86. package/lib/es6/ScatterPlot.js +9 -9
  87. package/lib/es6/ScatterPlot.js.map +1 -1
  88. package/lib/es6/StackBar.js.map +1 -1
  89. package/lib/es6/StackedArea.js.map +1 -1
  90. package/lib/es6/Tooltip.js +10 -10
  91. package/lib/es6/Tooltip.js.map +1 -1
  92. package/lib/es6/Venn.js +8 -8
  93. package/lib/es6/Venn.js.map +1 -1
  94. package/lib/es6/a11y/PlotA11yModule.js +4 -5
  95. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  96. package/lib/es6/a11y/PlotA11yView.js +6 -6
  97. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  98. package/lib/es6/a11y/focus.js +0 -3
  99. package/lib/es6/a11y/focus.js.map +1 -1
  100. package/lib/es6/a11y/hints.js.map +1 -1
  101. package/lib/es6/a11y/insights.js +1 -1
  102. package/lib/es6/a11y/insights.js.map +1 -1
  103. package/lib/es6/a11y/intl.js +2 -4
  104. package/lib/es6/a11y/intl.js.map +1 -1
  105. package/lib/es6/a11y/locale.js +0 -1
  106. package/lib/es6/a11y/locale.js.map +1 -1
  107. package/lib/es6/createElement.js +1 -2
  108. package/lib/es6/createElement.js.map +1 -1
  109. package/lib/es6/types/index.d.js +1 -2
  110. package/lib/es6/types/index.d.js.map +1 -1
  111. package/lib/es6/utils.js +17 -18
  112. package/lib/es6/utils.js.map +1 -1
  113. package/lib/types/index.d.ts +2 -2
  114. package/package.json +1 -1
package/lib/es6/Bubble.js CHANGED
@@ -18,16 +18,16 @@ import createElement from './createElement';
18
18
  import ClipPath from './ClipPath';
19
19
  import { CONSTANT, measureText } from './utils';
20
20
  /*__reshadow-styles__:"./style/bubble.shadow.css"*/
21
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBubble_omz37_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_omz37);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_omz37_gg_:hover{opacity:.8}}.___SBubble_omz37_gg_.__color_omz37_gg_{fill:var(--color_omz37)}.___SBubble_omz37_gg_.__transparent_omz37_gg_{opacity:.3}.___SCenter_omz37_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_omz37_gg_.__color_omz37_gg_{stroke:var(--color_omz37)}.___SCenter_omz37_gg_.__transparent_omz37_gg_{opacity:.3}.___SLabel_omz37_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_omz37_gg_._position_right_omz37_gg_{text-anchor:end}.___SLabel_omz37_gg_._position_left_omz37_gg_{text-anchor:start}.___SLabel_omz37_gg_.__color_omz37_gg_{fill:var(--color_omz37)}.___SLabel_omz37_gg_.__transparent_omz37_gg_{opacity:.3}" /*__inner_css_end__*/, "omz37_gg_") /*__reshadow_css_end__*/, {
22
- "__SBubble": "___SBubble_omz37_gg_",
23
- "--duration": "--duration_omz37",
24
- "_color": "__color_omz37_gg_",
25
- "--color": "--color_omz37",
26
- "_transparent": "__transparent_omz37_gg_",
27
- "__SCenter": "___SCenter_omz37_gg_",
28
- "__SLabel": "___SLabel_omz37_gg_",
29
- "_position_right": "_position_right_omz37_gg_",
30
- "_position_left": "_position_left_omz37_gg_"
21
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBubble_10vfd_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_10vfd);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_10vfd_gg_:hover{opacity:.8}}.___SBubble_10vfd_gg_.__color_10vfd_gg_{fill:var(--color_10vfd)}.___SBubble_10vfd_gg_.__transparent_10vfd_gg_{opacity:.3}.___SCenter_10vfd_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_10vfd_gg_.__color_10vfd_gg_{stroke:var(--color_10vfd)}.___SCenter_10vfd_gg_.__transparent_10vfd_gg_{opacity:.3}.___SLabel_10vfd_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_10vfd_gg_._position_right_10vfd_gg_{text-anchor:end}.___SLabel_10vfd_gg_._position_left_10vfd_gg_{text-anchor:start}.___SLabel_10vfd_gg_.__color_10vfd_gg_{fill:var(--color_10vfd)}.___SLabel_10vfd_gg_.__transparent_10vfd_gg_{opacity:.3}" /*__inner_css_end__*/, "10vfd_gg_") /*__reshadow_css_end__*/, {
22
+ "__SBubble": "___SBubble_10vfd_gg_",
23
+ "--duration": "--duration_10vfd",
24
+ "_color": "__color_10vfd_gg_",
25
+ "--color": "--color_10vfd",
26
+ "_transparent": "__transparent_10vfd_gg_",
27
+ "__SCenter": "___SCenter_10vfd_gg_",
28
+ "__SLabel": "___SLabel_10vfd_gg_",
29
+ "_position_right": "_position_right_10vfd_gg_",
30
+ "_position_left": "_position_left_10vfd_gg_"
31
31
  });
32
32
  var BubbleRoot = /*#__PURE__*/function (_Component) {
33
33
  _inherits(BubbleRoot, _Component);
@@ -143,7 +143,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
143
143
  "aria-hidden": true,
144
144
  "x": xScale(d[x]) + offset[0],
145
145
  "y": yScale(d[y]) + offset[1],
146
- "dy": ".3em",
146
+ "dy": '.3em',
147
147
  "clipPath": "url(#".concat(uid, ")"),
148
148
  "color": (_d$color = d[color]) !== null && _d$color !== void 0 ? _d$color : color,
149
149
  "transparent": transparent
@@ -151,7 +151,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
151
151
  "aria-hidden": true,
152
152
  "id": "".concat(uid).concat(uid),
153
153
  "index": i,
154
- "render": "circle",
154
+ "render": 'circle',
155
155
  "clipPath": "url(#".concat(uid, ")"),
156
156
  "cx": xScale(d[x]) + offset[0],
157
157
  "cy": yScale(d[y]) + offset[1],
@@ -163,7 +163,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
163
163
  "aria-hidden": true,
164
164
  "x": labelDistance,
165
165
  "y": yScale(d[y]) + offset[1],
166
- "dy": ".3em",
166
+ "dy": '.3em',
167
167
  "clipPath": "url(#".concat(uid, ")"),
168
168
  "position": labelPosition,
169
169
  "color": d[color],
@@ -1 +1 @@
1
- {"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","sstyled","canUseDOM","uniqueIDEnhancement","createElement","ClipPath","CONSTANT","measureText","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_createClass","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","domain","Math","max","_toConsumableArray","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","cn","bindHandlerTooltip","_objectSpread","xIndex","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","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 transparent,\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 transparent={transparent}\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 transparent={transparent}\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 transparent={transparent}\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","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_createClass","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","domain","Math","max","_toConsumableArray","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","cn","bindHandlerTooltip","_objectSpread","xIndex","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","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 = (visible, props) => ({ 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 transparent,\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 transparent={transparent}\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 transparent={transparent}\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 transparent={transparent}\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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"}
@@ -42,7 +42,8 @@ var ClipPath = /*#__PURE__*/function (_Component) {
42
42
  if (!document || !id || !document.querySelector("#".concat(id))) return;
43
43
  var svg = document.querySelector("#".concat(id)).closest('svg');
44
44
  Array.from(svg.querySelectorAll("[clip-path=\"url(#".concat(id, ")\"]"))).forEach(function (node) {
45
- node && node.getTotalLength && node.getTotalLength();
45
+ var _node$getTotalLength;
46
+ node === null || node === void 0 ? void 0 : (_node$getTotalLength = node.getTotalLength) === null || _node$getTotalLength === void 0 ? void 0 : _node$getTotalLength.call(node);
46
47
  });
47
48
  this.setAttributeTag();
48
49
  }
@@ -54,7 +55,6 @@ var ClipPath = /*#__PURE__*/function (_Component) {
54
55
  }, {
55
56
  key: "render",
56
57
  value: function render() {
57
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
58
58
  var _this$asProps2 = this.asProps,
59
59
  id = _this$asProps2.id,
60
60
  transition = _this$asProps2.transition,
@@ -1 +1 @@
1
- {"version":3,"file":"ClipPath.js","names":["React","createComponent","Component","propsForElement","ClipPath","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","_createClass","key","value","setAttributeTag","_this$asProps","asProps","id","tag","from","document","querySelectorAll","forEach","componentDidMount","querySelector","svg","closest","node","getTotalLength","componentDidUpdate","render","_this$asProps2","transition","Tag","style","className","other","_objectWithoutProperties","_excluded","createElement","ref","refClipPath","_extends","_objectSpread"],"sources":["../../src/ClipPath.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component } from '@semcore/core';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\n\nclass ClipPath extends Component {\n static defaultProps = {\n tag: 'rect',\n id: '',\n transition: '',\n setAttributeTag: null,\n };\n\n refClipPath = React.createRef();\n\n setAttributeTag() {\n const { id, tag, setAttributeTag } = this.asProps;\n if (setAttributeTag) {\n Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);\n }\n }\n\n componentDidMount() {\n const { id } = this.asProps;\n if (!document || !id || !document.querySelector(`#${id}`)) return;\n const svg = document.querySelector(`#${id}`).closest('svg');\n Array.from(svg.querySelectorAll(`[clip-path=\"url(#${id})\"]`)).forEach((node) => {\n node && node.getTotalLength && node.getTotalLength();\n });\n this.setAttributeTag();\n }\n\n componentDidUpdate() {\n this.setAttributeTag();\n }\n\n render() {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { id, transition, tag: Tag, style, className, ...other } = this.asProps;\n return (\n <clipPath aria-hidden ref={this.refClipPath} id={id}>\n <Tag style={{ ...style, transition }} {...propsForElement(other, Tag)} />\n </clipPath>\n );\n }\n}\n\nexport default createComponent(ClipPath);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ClipPath.js","names":["React","createComponent","Component","propsForElement","ClipPath","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","_createClass","key","value","setAttributeTag","_this$asProps","asProps","id","tag","from","document","querySelectorAll","forEach","componentDidMount","querySelector","svg","closest","node","_node$getTotalLength","getTotalLength","componentDidUpdate","render","_this$asProps2","transition","Tag","style","className","other","_objectWithoutProperties","_excluded","createElement","ref","refClipPath","_extends","_objectSpread"],"sources":["../../src/ClipPath.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component } from '@semcore/core';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\n\nclass ClipPath extends Component {\n static defaultProps = {\n tag: 'rect',\n id: '',\n transition: '',\n setAttributeTag: null,\n };\n\n refClipPath = React.createRef();\n\n setAttributeTag() {\n const { id, tag, setAttributeTag } = this.asProps;\n if (setAttributeTag) {\n Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);\n }\n }\n\n componentDidMount() {\n const { id } = this.asProps;\n if (!document || !id || !document.querySelector(`#${id}`)) return;\n const svg = document.querySelector(`#${id}`).closest('svg');\n Array.from(svg.querySelectorAll(`[clip-path=\"url(#${id})\"]`)).forEach((node) => {\n node?.getTotalLength?.();\n });\n this.setAttributeTag();\n }\n\n componentDidUpdate() {\n this.setAttributeTag();\n }\n\n render() {\n const { id, transition, tag: Tag, style, className, ...other } = this.asProps;\n return (\n <clipPath aria-hidden ref={this.refClipPath} id={id}>\n <Tag style={{ ...style, transition }} {...propsForElement(other, Tag)} />\n </clipPath>\n );\n }\n}\n\nexport default createComponent(ClipPath);\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,IAAIC,SAAS,QAAQ,eAAe;AAC1D,OAAOC,eAAe,MAAM,oCAAoC;AAAC,IAE3DC,QAAQ,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,QAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,QAAA;EAAA,SAAAA,SAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,QAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,+BAQET,KAAK,CAACsB,SAAS,EAAE;IAAA,OAAAb,KAAA;EAAA;EAAAc,YAAA,CAAAnB,QAAA;IAAAoB,GAAA;IAAAC,KAAA,EAE/B,SAAAC,gBAAA,EAAkB;MAChB,IAAAC,aAAA,GAAqC,IAAI,CAACC,OAAO;QAAzCC,EAAE,GAAAF,aAAA,CAAFE,EAAE;QAAEC,GAAG,GAAAH,aAAA,CAAHG,GAAG;QAAEJ,eAAe,GAAAC,aAAA,CAAfD,eAAe;MAChC,IAAIA,eAAe,EAAE;QACnBX,KAAK,CAACgB,IAAI,CAACC,QAAQ,CAACC,gBAAgB,KAAAd,MAAA,CAAKU,EAAE,OAAAV,MAAA,CAAIW,GAAG,EAAG,CAAC,CAACI,OAAO,CAACR,eAAe,CAAC;MACjF;IACF;EAAC;IAAAF,GAAA;IAAAC,KAAA,EAED,SAAAU,kBAAA,EAAoB;MAClB,IAAQN,EAAE,GAAK,IAAI,CAACD,OAAO,CAAnBC,EAAE;MACV,IAAI,CAACG,QAAQ,IAAI,CAACH,EAAE,IAAI,CAACG,QAAQ,CAACI,aAAa,KAAAjB,MAAA,CAAKU,EAAE,EAAG,EAAE;MAC3D,IAAMQ,GAAG,GAAGL,QAAQ,CAACI,aAAa,KAAAjB,MAAA,CAAKU,EAAE,EAAG,CAACS,OAAO,CAAC,KAAK,CAAC;MAC3DvB,KAAK,CAACgB,IAAI,CAACM,GAAG,CAACJ,gBAAgB,sBAAAd,MAAA,CAAqBU,EAAE,UAAM,CAAC,CAACK,OAAO,CAAC,UAACK,IAAI,EAAK;QAAA,IAAAC,oBAAA;QAC9ED,IAAI,aAAJA,IAAI,wBAAAC,oBAAA,GAAJD,IAAI,CAAEE,cAAc,cAAAD,oBAAA,uBAApBA,oBAAA,CAAAvB,IAAA,CAAAsB,IAAI,CAAoB;MAC1B,CAAC,CAAC;MACF,IAAI,CAACb,eAAe,EAAE;IACxB;EAAC;IAAAF,GAAA;IAAAC,KAAA,EAED,SAAAiB,mBAAA,EAAqB;MACnB,IAAI,CAAChB,eAAe,EAAE;IACxB;EAAC;IAAAF,GAAA;IAAAC,KAAA,EAED,SAAAkB,OAAA,EAAS;MACP,IAAAC,cAAA,GAAiE,IAAI,CAAChB,OAAO;QAArEC,EAAE,GAAAe,cAAA,CAAFf,EAAE;QAAEgB,UAAU,GAAAD,cAAA,CAAVC,UAAU;QAAOC,GAAG,GAAAF,cAAA,CAARd,GAAG;QAAOiB,KAAK,GAAAH,cAAA,CAALG,KAAK;QAAEC,SAAS,GAAAJ,cAAA,CAATI,SAAS;QAAKC,KAAK,GAAAC,wBAAA,CAAAN,cAAA,EAAAO,SAAA;MAC5D,oBACEnD,KAAA,CAAAoD,aAAA;QAAU,mBAAW;QAACC,GAAG,EAAE,IAAI,CAACC,WAAY;QAACzB,EAAE,EAAEA;MAAG,gBAClD7B,KAAA,CAAAoD,aAAA,CAACN,GAAG,EAAAS,QAAA;QAACR,KAAK,EAAAS,aAAA,CAAAA,aAAA,KAAOT,KAAK;UAAEF,UAAU,EAAVA;QAAU;MAAG,GAAK1C,eAAe,CAAC8C,KAAK,EAAEH,GAAG,CAAC,EAAI,CAChE;IAEf;EAAC;EAAA,OAAA1C,QAAA;AAAA,EAtCoBF,SAAS;AAAAkB,eAAA,CAA1BhB,QAAQ,kBACU;EACpB0B,GAAG,EAAE,MAAM;EACXD,EAAE,EAAE,EAAE;EACNgB,UAAU,EAAE,EAAE;EACdnB,eAAe,EAAE;AACnB,CAAC;AAmCH,eAAezB,eAAe,CAACG,QAAQ,CAAC"}
package/lib/es6/Donut.js CHANGED
@@ -19,13 +19,13 @@ import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
19
19
  import createElement from './createElement';
20
20
  import { CONSTANT } from './utils';
21
21
  /*__reshadow-styles__:"./style/donut.shadow.css"*/
22
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPie_y8ad9_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_y8ad9_gg_.__color_y8ad9_gg_{fill:var(--color_y8ad9)}.___SPie_y8ad9_gg_.__transparent_y8ad9_gg_{opacity:.3}.___SEmptyData_y8ad9_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_y8ad9_gg_.__color_y8ad9_gg_{fill:var(--color_y8ad9)}.___SLabel_y8ad9_gg_{text-anchor:middle;vertical-anchor:middle}" /*__inner_css_end__*/, "y8ad9_gg_") /*__reshadow_css_end__*/, {
23
- "__SPie": "___SPie_y8ad9_gg_",
24
- "_color": "__color_y8ad9_gg_",
25
- "--color": "--color_y8ad9",
26
- "_transparent": "__transparent_y8ad9_gg_",
27
- "__SEmptyData": "___SEmptyData_y8ad9_gg_",
28
- "__SLabel": "___SLabel_y8ad9_gg_"
22
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPie_klfhb_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_klfhb_gg_.__color_klfhb_gg_{fill:var(--color_klfhb)}.___SPie_klfhb_gg_.__transparent_klfhb_gg_{opacity:.3}.___SEmptyData_klfhb_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_klfhb_gg_.__color_klfhb_gg_{fill:var(--color_klfhb)}.___SLabel_klfhb_gg_{text-anchor:middle;vertical-anchor:middle}" /*__inner_css_end__*/, "klfhb_gg_") /*__reshadow_css_end__*/, {
23
+ "__SPie": "___SPie_klfhb_gg_",
24
+ "_color": "__color_klfhb_gg_",
25
+ "--color": "--color_klfhb",
26
+ "_transparent": "__transparent_klfhb_gg_",
27
+ "__SEmptyData": "___SEmptyData_klfhb_gg_",
28
+ "__SLabel": "___SLabel_klfhb_gg_"
29
29
  });
30
30
  var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
31
31
  function transitionAnglePie(_ref4) {
@@ -1 +1 @@
1
- {"version":3,"file":"Donut.js","names":["React","useEffect","useState","arc","pie","interpolate","transition","Component","sstyled","canUseDOM","getOriginChildren","uniqueIDEnhancement","createElement","CONSTANT","style","_sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","startAngle","endAngle","iStartAngle","iEndAngle","t","transitionRadiusPie","_ref5","data","innerRadius","outerRadiusMinMax","select","_outerRadiusMinMax","_slicedToArray","min","max","iOuterRadius","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","DonutRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","_outerRadius","canAnimatedHover","id","_this$asProps2","on","_createClass","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","_ref18","_ref18$innerRadius","_ref18$halfsize","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties","_excluded","_useState","_useState2","isMount","setIsMount","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","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 transitionAnglePie({ selector, duration, halfsize, d3Arc, d3ArcOut, arcs, activeIndexPie }) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function(_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function(t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({ data, selector, duration, innerRadius, outerRadiusMinMax }) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function() {\n const [min, max] = outerRadiusMinMax;\n const iOuterRadius = interpolate(min, max);\n return function(t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(iOuterRadius(t));\n return d3ArcOut(data);\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, d3Arc, d3ArcOut, 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 canAnimatedHover = false;\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 = 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 = (visible, props) => ({ 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 = ({ data, active, selector }) => {\n const { duration, innerRadius, outerRadius: _outerRadius, size, halfsize } = this.asProps;\n const outerRadius = getOuterRadius({ size, halfsize, outerRadius: _outerRadius });\n\n if (this.canAnimatedHover) {\n if (duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusMinMax: active ? [outerRadius, outerRadius + increaseFactor] : [outerRadius + increaseFactor, outerRadius],\n });\n }\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\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 if (!active) {\n this.animationActivePie({\n active: true, data, selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false, data, selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\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 } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\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 (<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\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 transparent,\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({ 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)(<SPie\n render='path'\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />);\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(<SEmptyData render='path' color={color}\n d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />);\n}\n\nfunction Label({ Element: SLabel, styles, Children, children, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(<SLabel render='text' x='0' y='0' aria-hidden>\n <Children />\n </SLabel>);\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","style","_sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","startAngle","endAngle","iStartAngle","iEndAngle","t","transitionRadiusPie","_ref5","data","innerRadius","outerRadiusMinMax","select","_outerRadiusMinMax","_slicedToArray","min","max","iOuterRadius","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","DonutRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","_outerRadius","canAnimatedHover","id","_this$asProps2","on","_createClass","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","_ref18","_ref18$innerRadius","_ref18$halfsize","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties","_excluded","_useState","_useState2","isMount","setIsMount","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","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 transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({ data, selector, duration, innerRadius, outerRadiusMinMax }) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [min, max] = outerRadiusMinMax;\n const iOuterRadius = interpolate(min, max);\n return function (t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(iOuterRadius(t));\n return d3ArcOut(data);\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 canAnimatedHover = false;\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 = (visible, props) => ({ 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 = ({ data, active, selector }) => {\n const { duration, innerRadius, outerRadius: _outerRadius, size, halfsize } = this.asProps;\n const outerRadius = getOuterRadius({ size, halfsize, outerRadius: _outerRadius });\n\n if (this.canAnimatedHover) {\n if (duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusMinMax: active\n ? [outerRadius, outerRadius + increaseFactor]\n : [outerRadius + increaseFactor, outerRadius],\n });\n }\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\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 if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\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 } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\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 transparent,\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({ 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\n render='path'\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />,\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, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || 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":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,GAAG,EAAEC,GAAG,QAAQ,UAAU;AACnC,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,SAAS,EAAEC,OAAO,QAAQ,eAAe;AAClD,OAAOC,SAAS,MAAM,8BAA8B;AACpD,OAAOC,iBAAiB,MAAM,sCAAsC;AACpE,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,QAAQ,QAAQ,SAAS;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAInC,IAAMC,gBAAgB,GAAGC,MAAM,CAAC,kBAAkB,CAAC;AAEnD,SAASC,kBAAkBA,CAAAC,KAAA,EAQxB;EAAA,IAPDC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IACRC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IACRC,QAAQ,GAAAH,KAAA,CAARG,QAAQ;IACRC,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLC,QAAQ,GAAAL,KAAA,CAARK,QAAQ;IACRC,IAAI,GAAAN,KAAA,CAAJM,IAAI;IACJC,cAAc,GAAAP,KAAA,CAAdO,cAAc;EAEd,OAAOrB,UAAU,EAAE,CAChBsB,SAAS,EAAE,CACXC,SAAS,CAACR,QAAQ,CAAC,CACnBS,SAAS,EAAE,CACXxB,UAAU,EAAE,CACZgB,QAAQ,CAACA,QAAQ,CAAC,CAClBS,SAAS,CAAC,GAAG,EAAE,UAAUC,CAAC,EAAEC,GAAG,EAAE;IAChC,IAAI,CAACP,IAAI,CAACO,GAAG,CAAC,EAAE,OAAO;MAAA,OAAM,EAAE;IAAA;IAC/B,IAAMC,CAAC,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEV,IAAI,CAACO,GAAG,CAAC,CAAC;IACtC,IAAMI,IAAI,GAAG,IAAI;IACjB,IAAMC,SAAS,GAAGf,QAAQ,GAAG,CAACgB,IAAI,CAACC,EAAE,GAAG,CAAC,GAAG,CAAC;IAC7C,IAAIC,cAAc,GAAGH,SAAS;IAC9B,IAAII,YAAY,GAAGJ,SAAS;IAC5B,IAAID,IAAI,CAAClC,GAAG,EAAE;MACZsC,cAAc,GAAGJ,IAAI,CAAClC,GAAG,CAACwC,UAAU;MACpCD,YAAY,GAAGL,IAAI,CAAClC,GAAG,CAACyC,QAAQ;IAClC;IACA,IAAMC,WAAW,GAAGxC,WAAW,CAACoC,cAAc,EAAEP,CAAC,CAACS,UAAU,CAAC;IAC7D,IAAMG,SAAS,GAAGzC,WAAW,CAACqC,YAAY,EAAER,CAAC,CAACU,QAAQ,CAAC;IACvD,OAAO,UAAUG,CAAC,EAAE;MAClBb,CAAC,CAACS,UAAU,GAAGE,WAAW,CAACE,CAAC,CAAC;MAC7Bb,CAAC,CAACU,QAAQ,GAAGE,SAAS,CAACC,CAAC,CAAC;MACzBV,IAAI,CAAClC,GAAG,GAAG+B,CAAC;MACZ,OAAOD,GAAG,KAAKN,cAAc,GAAGF,QAAQ,CAACY,IAAI,CAAClC,GAAG,CAAC,GAAGqB,KAAK,CAACa,IAAI,CAAClC,GAAG,CAAC;IACtE,CAAC;EACH,CAAC,CAAC;AACN;AAEA,SAAS6C,mBAAmBA,CAAAC,KAAA,EAA+D;EAAA,IAA5DC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IAAE7B,QAAQ,GAAA4B,KAAA,CAAR5B,QAAQ;IAAEC,QAAQ,GAAA2B,KAAA,CAAR3B,QAAQ;IAAE6B,WAAW,GAAAF,KAAA,CAAXE,WAAW;IAAEC,iBAAiB,GAAAH,KAAA,CAAjBG,iBAAiB;EACrF,OAAO9C,UAAU,EAAE,CAChBsB,SAAS,EAAE,CACXyB,MAAM,CAAChC,QAAQ,CAAC,CAChBS,SAAS,EAAE,CACXxB,UAAU,EAAE,CACZgB,QAAQ,CAACA,QAAQ,CAAC,CAClBS,SAAS,CAAC,GAAG,EAAE,YAAY;IAC1B,IAAAuB,kBAAA,GAAAC,cAAA,CAAmBH,iBAAiB;MAA7BI,GAAG,GAAAF,kBAAA;MAAEG,GAAG,GAAAH,kBAAA;IACf,IAAMI,YAAY,GAAGrD,WAAW,CAACmD,GAAG,EAAEC,GAAG,CAAC;IAC1C,OAAO,UAAUV,CAAC,EAAE;MAClB,IAAMtB,QAAQ,GAAGtB,GAAG,EAAE,CAACgD,WAAW,CAACA,WAAW,CAAC,CAACQ,WAAW,CAACD,YAAY,CAACX,CAAC,CAAC,CAAC;MAC5E,OAAOtB,QAAQ,CAACyB,IAAI,CAAC;IACvB,CAAC;EACH,CAAC,CAAC;AACN;AAEA,IAAMU,cAAc,GAAG,CAAC;AAExB,SAASC,cAAcA,CAAAC,KAAA,EAAkC;EAAA,IAA/BC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IAAExC,QAAQ,GAAAuC,KAAA,CAARvC,QAAQ;IAAEoC,WAAW,GAAAG,KAAA,CAAXH,WAAW;EACnD,IAAAK,KAAA,GAAAT,cAAA,CAAwBQ,IAAI;IAArBE,KAAK,GAAAD,KAAA;IAAEE,MAAM,GAAAF,KAAA;EACpB,IAAMG,QAAQ,GAAG5C,QAAQ,GAAGgB,IAAI,CAACkB,GAAG,GAAGlB,IAAI,CAACiB,GAAG;EAC/C,OAAOG,WAAW,IAAIQ,QAAQ,CAACF,KAAK,GAAGL,cAAc,GAAG,CAAC,EAAEM,MAAM,GAAGN,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC;AAC7F;AAAC,IAEKQ,SAAS,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,SAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,SAAA;EAAA,SAAAA,UAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,SAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,qBAwCIhE,SAAS,EAAE,GAAG6E,QAAQ,CAAC1E,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAAwE,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,qBAChDc,SAAS;IAAAH,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,uBACP,KAAK;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAiCH,UAACe,OAAO,EAAEC,KAAK;MAAA,OAAK,UAAAC,KAAA,EAAgC;QAAA,IAApBC,CAAC,GAAAD,KAAA,CAAVE,OAAO;UAAcC,CAAC,GAAAH,KAAA,CAAVI,OAAO;QAC7D,IAAQC,YAAY,GAAKtB,KAAA,CAAKuB,OAAO,CAA7BD,YAAY;QACpBtB,KAAA,CAAKwB,cAAc,CAACC,qBAAqB,GAAGzB,KAAA,CAAK0B,6BAA6B,CAACR,CAAC,EAAEE,CAAC,CAAC;QACpFpB,KAAA,CAAKwB,cAAc,CAACpF,QAAQ,CAACuF,eAAe,CAAC,GAAG,IAAI;QACpDL,YAAY,CAACM,IAAI,CAAC,kBAAkB,EAAEb,OAAO,EAAEC,KAAK,EAAEhB,KAAA,CAAKwB,cAAc,CAAC;MAC5E,CAAC;IAAA;IAAAb,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAEoB,UAAA6B,KAAA,EAAgC;MAAA,IAA7BpD,IAAI,GAAAoD,KAAA,CAAJpD,IAAI;QAAEqD,MAAM,GAAAD,KAAA,CAANC,MAAM;QAAElF,QAAQ,GAAAiF,KAAA,CAARjF,QAAQ;MAC5C,IAAAmF,aAAA,GAA6E/B,KAAA,CAAKuB,OAAO;QAAjF1E,QAAQ,GAAAkF,aAAA,CAARlF,QAAQ;QAAE6B,WAAW,GAAAqD,aAAA,CAAXrD,WAAW;QAAesD,YAAY,GAAAD,aAAA,CAAzB7C,WAAW;QAAgBI,IAAI,GAAAyC,aAAA,CAAJzC,IAAI;QAAExC,QAAQ,GAAAiF,aAAA,CAARjF,QAAQ;MACxE,IAAMoC,WAAW,GAAGE,cAAc,CAAC;QAAEE,IAAI,EAAJA,IAAI;QAAExC,QAAQ,EAARA,QAAQ;QAAEoC,WAAW,EAAE8C;MAAa,CAAC,CAAC;MAEjF,IAAIhC,KAAA,CAAKiC,gBAAgB,EAAE;QACzB,IAAIpF,QAAQ,GAAG,CAAC,EAAE;UAChB0B,mBAAmB,CAAC;YAClBE,IAAI,EAAJA,IAAI;YACJ7B,QAAQ,MAAA8D,MAAA,CAAMV,KAAA,CAAKkC,EAAE,OAAAxB,MAAA,CAAI9D,QAAQ,CAAE;YACnCC,QAAQ,EAAEA,QAAQ,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG;YAClC6B,WAAW,EAAXA,WAAW;YACXC,iBAAiB,EAAEmD,MAAM,GACrB,CAAC5C,WAAW,EAAEA,WAAW,GAAGC,cAAc,CAAC,GAC3C,CAACD,WAAW,GAAGC,cAAc,EAAED,WAAW;UAChD,CAAC,CAAC;QACJ;MACF;IACF,CAAC;IAAAyB,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAEoB,YAAM;MACzB,IAAAmC,cAAA,GAAgDnC,KAAA,CAAKuB,OAAO;QAApD1E,QAAQ,GAAAsF,cAAA,CAARtF,QAAQ;QAAEE,KAAK,GAAAoF,cAAA,CAALpF,KAAK;QAAED,QAAQ,GAAAqF,cAAA,CAARrF,QAAQ;QAAEE,QAAQ,GAAAmF,cAAA,CAARnF,QAAQ;MAC3CgD,KAAA,CAAKiC,gBAAgB,GAAG,KAAK;MAC7B,IAAIpF,QAAQ,GAAG,CAAC,EAAE;QAChBH,kBAAkB,CAAC;UACjBE,QAAQ,MAAA8D,MAAA,CAAMV,KAAA,CAAKkC,EAAE,kCAA6B;UAClDrF,QAAQ,EAARA,QAAQ;UACRI,IAAI,EAAE+C,KAAA,CAAK/C,IAAI;UACfH,QAAQ,EAARA,QAAQ;UACRC,KAAK,EAALA,KAAK;UACLC,QAAQ,EAARA,QAAQ;UACRE,cAAc,EAAE8C,KAAA,CAAK9C;QACvB,CAAC,CAAC,CAACkF,EAAE,CAAC,KAAK,EAAE,YAAM;UACjBpC,KAAA,CAAKiC,gBAAgB,GAAG,IAAI;QAC9B,CAAC,CAAC;MACJ,CAAC,MAAM;QACLjC,KAAA,CAAKiC,gBAAgB,GAAG,IAAI;MAC9B;IACF,CAAC;IAAA,OAAAjC,KAAA;EAAA;EAAAqC,YAAA,CAAA1C,SAAA;IAAA2C,GAAA;IAAAC,GAAA,EApFD,SAAAA,IAAA,EAAS;MACP,IAAAC,cAAA,GAAoB,IAAI,CAACjB,OAAO;QAAxBkB,GAAG,GAAAD,cAAA,CAAHC,GAAG;QAAEP,EAAE,GAAAM,cAAA,CAAFN,EAAE;MACf,OAAOA,EAAE,IAAIO,GAAG;IAClB;EAAC;IAAAH,GAAA;IAAAI,KAAA,EAMD,SAAAhB,8BAAA,EAA4C;MAAA,IAAdR,CAAC,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAW,SAAA,GAAAX,SAAA,MAAG,CAAC;MAAA,IAAEiB,CAAC,GAAAjB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAW,SAAA,GAAAX,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAEX,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEkD,GAAG,EAAEvB,CAAC;UAAEwB,KAAK,EAAE1B,CAAC;UAAE2B,MAAM,EAAEzB,CAAC;UAAE0B,IAAI,EAAE5B;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAoB,GAAA;IAAAI,KAAA,EAED,SAAAK,QAAA,EAAU;MACR,IAAAC,cAAA,GAAkC,IAAI,CAACzB,OAAO;QAAtC0B,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAExE,IAAI,GAAAuE,cAAA,CAAJvE,IAAI;QAAEyE,KAAK,GAAAF,cAAA,CAALE,KAAK;MAC7B,IAAIC,OAAO,GAAGzF,MAAM,CAAC0F,OAAO,CAAC3E,IAAI,CAAC;MAElC,IAAIyE,KAAK,CAAC1G,gBAAgB,CAAC,EAAE;QAC3B,IAAM6G,IAAI,GAAG9H,KAAK,CAAC0H,QAAQ,CAACK,OAAO,CAACrH,iBAAiB,CAACgH,QAAQ,CAAC,CAAC,CAACM,MAAM,CAAC,UAACC,GAAG,EAAEC,KAAK,EAAK;UACtF,IAAI,cAAAlI,KAAK,CAACmI,cAAc,CAACD,KAAK,CAAC,IAAIA,KAAK,CAACE,IAAI,KAAKC,KAAK,CAACC,GAAG,EAAE;YAC3DL,GAAG,CAACM,IAAI,CAACL,KAAK,CAACzC,KAAK,CAAC+C,OAAO,CAAC;UAC/B;UACA,OAAOP,GAAG;QACZ,CAAC,EAAE,EAAE,CAAC;QACNL,OAAO,GAAGzF,MAAM,CAAC0F,OAAO,CAAC3E,IAAI,CAAC,CAC3BuF,MAAM,CAAC,UAAAC,KAAA;UAAA,IAAAC,MAAA,GAAApF,cAAA,CAAAmF,KAAA;YAAE3B,GAAG,GAAA4B,MAAA;UAAA,OAAMb,IAAI,CAACc,QAAQ,CAAC7B,GAAG,CAAC;QAAA,EAAC,CACrC8B,IAAI,CAAC,UAAAC,MAAA,EAAAC,MAAA;UAAA,IAAAC,MAAA,GAAAzF,cAAA,CAAAuF,MAAA;YAAEG,CAAC,GAAAD,MAAA;UAAA,IAAAE,MAAA,GAAA3F,cAAA,CAAAwF,MAAA;YAAII,CAAC,GAAAD,MAAA;UAAA,OAAOpB,IAAI,CAACsB,OAAO,CAACH,CAAC,CAAC,GAAGnB,IAAI,CAACsB,OAAO,CAACD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAA,CAAC,CAAC;MACrE;MACA,IAAME,QAAQ,GACZzB,OAAO,CAACI,MAAM,CAAC,UAACC,GAAG,EAAEqB,GAAG,EAAK;QAC3B,IAAIA,GAAG,CAAC,CAAC,CAAC,EAAErB,GAAG,IAAIqB,GAAG,CAAC,CAAC,CAAC;QACzB,OAAOrB,GAAG;MACZ,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;MACbL,OAAO,GAAGA,OAAO,CAAC2B,GAAG,CAAC,UAACrH,CAAC,EAAK;QAC3B,IAAIA,CAAC,CAAC,CAAC,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,GAAGmH,QAAQ,EAAEnH,CAAC,CAAC,CAAC,CAAC,GAAGmH,QAAQ;QAC5C,OAAOnH,CAAC;MACV,CAAC,CAAC;MACF,OAAOyF,KAAK,CAACC,OAAO,CAAC;IACvB;EAAC;IAAAb,GAAA;IAAAI,KAAA,EAgDD,SAAAqC,YAAY/D,KAAK,EAAExD,GAAG,EAAE;MAAA,IAAAwH,MAAA;MACtB,IAAAC,cAAA,GAA4B,IAAI,CAAC1D,OAAO;QAAhCxE,KAAK,GAAAkI,cAAA,CAALlI,KAAK;QAAEC,QAAQ,GAAAiI,cAAA,CAARjI,QAAQ;MACvB,IAAQ8E,MAAM,GAAKd,KAAK,CAAhBc,MAAM;MACd,IAAMrD,IAAI,GAAG,IAAI,CAACxB,IAAI,CAACiI,IAAI,CAAC,UAACxJ,GAAG;QAAA,OAAKA,GAAG,CAAC+C,IAAI,CAAC,CAAC,CAAC,KAAKuC,KAAK,CAAC+C,OAAO;MAAA,EAAC;MACnE,IAAIjC,MAAM,EAAE;QACV,IAAI,CAAC5E,cAAc,GAAGM,GAAG;MAC3B;MAEA,OAAO;QACLiB,IAAI,EAAJA,IAAI;QACJ1B,KAAK,EAALA,KAAK;QACLC,QAAQ,EAARA,QAAQ;QACRmI,mBAAmB,EAAE,IAAI,CAACC,kBAAkB;QAC5CC,WAAW,EAAE,IAAI,CAACC,kBAAkB,CAAC,IAAI,EAAEtE,KAAK,CAAC;QACjDuE,YAAY,EAAE,IAAI,CAACD,kBAAkB,CAAC,KAAK,EAAEtE,KAAK,CAAC;QACnDwE,WAAW,EAAE,SAAAA,YAACC,CAAC,EAAK;UAClB,IAAI,CAAC3D,MAAM,EAAE;YACXkD,MAAI,CAACI,kBAAkB,CAAC;cACtBtD,MAAM,EAAE,IAAI;cACZrD,IAAI,EAAJA,IAAI;cACJ7B,QAAQ,UAAA8D,MAAA,CAAS+E,CAAC,CAACC,MAAM,CAACC,YAAY,CAAC,GAAG,CAAC;YAC7C,CAAC,CAAC;UACJ;QACF,CAAC;QACDC,UAAU,EAAE,SAAAA,WAACH,CAAC,EAAK;UACjB,IAAI,CAAC3D,MAAM,EAAE;YACXkD,MAAI,CAACI,kBAAkB,CAAC;cACtBtD,MAAM,EAAE,KAAK;cACbrD,IAAI,EAAJA,IAAI;cACJ7B,QAAQ,UAAA8D,MAAA,CAAS+E,CAAC,CAACC,MAAM,CAACC,YAAY,CAAC,GAAG,CAAC;YAC7C,CAAC,CAAC;UACJ;QACF;MACF,CAAC;IACH;EAAC;IAAArD,GAAA;IAAAI,KAAA,EAED,SAAAmD,kBAAA,EAAoB;MAClB,IAAQ9I,KAAK,GAAK,IAAI,CAACwE,OAAO,CAAtBxE,KAAK;MACb,OAAO;QACLA,KAAK,EAALA;MACF,CAAC;IACH;EAAC;IAAAuF,GAAA;IAAAI,KAAA,EAED,SAAAoD,mBAAmBC,SAAS,EAAE;MAC5B,IAAQtH,IAAI,GAAK,IAAI,CAAC8C,OAAO,CAArB9C,IAAI;MACZ,IAAIsH,SAAS,CAACC,UAAU,CAACvH,IAAI,KAAKA,IAAI,EAAE;QACtC,IAAI,CAACwH,kBAAkB,EAAE;MAC3B;IACF;EAAC;IAAA3D,GAAA;IAAAI,KAAA,EAED,SAAAwD,kBAAA,EAAoB;MAClB,IAAI,CAACD,kBAAkB,EAAE;IAC3B;EAAC;IAAA3D,GAAA;IAAAI,KAAA,EAED,SAAAyD,OAAA,EAAS;MACP,IAAAC,cAAA,GAA2B,IAAI,CAAC7E,OAAO;QAA/BzE,QAAQ,GAAAsJ,cAAA,CAARtJ,QAAQ;QAAEwC,IAAI,GAAA8G,cAAA,CAAJ9G,IAAI;MACtB,IAAI,CAACiC,OAAO,CAAC8E,gBAAgB,CAACC,iBAAiB,CAAC,YAAY,CAAC;MAC7D,IAAAC,MAAA,GAAAzH,cAAA,CAAwBQ,IAAI;QAArBE,KAAK,GAAA+G,MAAA;QAAE9G,MAAM,GAAA8G,MAAA;MACpB,IAAMC,OAAO,GAAG,IAAI,CAACA,OAAO;MAC5B,IAAMC,CAAC,GAAG3J,QAAQ,GAAG,CAAC,GAAG,CAAC;MAC1B,IAAI,CAACG,IAAI,GAAG,IAAI,CAAC8F,OAAO,EAAE;MAC1B,oBACExH,KAAA,CAAAY,aAAA,CAACqK,OAAO;QACN,mBAAW;QACXtE,EAAE,EAAE,IAAI,CAACA,EAAG;QACZiE,MAAM,EAAC,GAAG;QACVO,gBAAgB,EAAC,QAAQ;QACzBC,SAAS,eAAAjG,MAAA,CAAelB,KAAK,GAAG,CAAC,OAAAkB,MAAA,CAAIjB,MAAM,GAAGgH,CAAC;MAAI,EACnD;IAEN;EAAC;EAAA,OAAA9G,SAAA;AAAA,EA/LqB7D,SAAS;AAAA6E,eAAA,CAA3BhB,SAAS,iBACQ,OAAO;AAAAgB,eAAA,CADxBhB,SAAS,WAEEtD,KAAK;AAAAsE,eAAA,CAFhBhB,SAAS,aAGI,CAACzD,mBAAmB,EAAE,CAAC;AAAAyE,eAAA,CAHpChB,SAAS,kBAKS,UAAAiH,MAAA,EAKhB;EAAA,IAAAC,kBAAA,GAAAD,MAAA,CAJJlI,WAAW;IAAXA,WAAW,GAAAmI,kBAAA,cAAG,CAAC,GAAAA,kBAAA;IACf3H,WAAW,GAAA0H,MAAA,CAAX1H,WAAW;IAAA4H,eAAA,GAAAF,MAAA,CACX9J,QAAQ;IAARA,QAAQ,GAAAgK,eAAA,cAAG,KAAK,GAAAA,eAAA;IACFxH,IAAI,GAAAsH,MAAA,CAAlBZ,UAAU,CAAI1G,IAAI;EAElB,IAAMvC,KAAK,GAAGrB,GAAG,EAAE,CAChBwD,WAAW,CAACE,cAAc,CAAC;IAAEE,IAAI,EAAJA,IAAI;IAAExC,QAAQ,EAARA,QAAQ;IAAEoC,WAAW,EAAXA;EAAY,CAAC,CAAC,CAAC,CAC5DR,WAAW,CAACA,WAAW,CAAC;EAE3B,IAAM1B,QAAQ,GAAGtB,GAAG,EAAE,CACnBwD,WAAW,CAACE,cAAc,CAAC;IAAEE,IAAI,EAAJA,IAAI;IAAExC,QAAQ,EAARA,QAAQ;IAAEoC,WAAW,EAAXA;EAAY,CAAC,CAAC,GAAGC,cAAc,CAAC,CAC7ET,WAAW,CAACA,WAAW,CAAC;EAE3B,IAAIwE,KAAK,GAAGvH,GAAG,EAAE,CACdyI,IAAI,CAAC,IAAI,CAAC,CACV1B,KAAK,CAAC,UAAAqE,MAAA;IAAA,IAAAC,MAAA,GAAAlI,cAAA,CAAAiI,MAAA;MAAIrE,KAAK,GAAAsE,MAAA;IAAA,OAAMtE,KAAK;EAAA,EAAC;EAC9BQ,KAAK,CAAC1G,gBAAgB,CAAC,GAAG,IAAI;EAE9B,IAAIM,QAAQ,EAAE;IACZoG,KAAK,GAAGA,KAAK,CAAChF,UAAU,CAAC,CAACJ,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC,CAACI,QAAQ,CAACL,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC;EAC9D;EACA,OAAO;IACLmF,KAAK,EAALA,KAAK;IACLnG,KAAK,EAALA,KAAK;IACLC,QAAQ,EAARA,QAAQ;IACRH,QAAQ,EAAE;EACZ,CAAC;AACH,CAAC;AAiKH,SAASgH,GAAGA,CAAAoD,MAAA,EAcT;EAAA,IAAAC,IAAA;EAAA,IAbQC,IAAI,GAAAF,MAAA,CAAbT,OAAO;IACPY,MAAM,GAAAH,MAAA,CAANG,MAAM;IACNrK,KAAK,GAAAkK,MAAA,CAALlK,KAAK;IACL0B,IAAI,GAAAwI,MAAA,CAAJxI,IAAI;IACJ4I,KAAK,GAAAJ,MAAA,CAALI,KAAK;IACLlC,mBAAmB,GAAA8B,MAAA,CAAnB9B,mBAAmB;IACnBrD,MAAM,GAAAmF,MAAA,CAANnF,MAAM;IACN9E,QAAQ,GAAAiK,MAAA,CAARjK,QAAQ;IACRsK,IAAI,GAAAL,MAAA,CAAJK,IAAI;IACJvD,OAAO,GAAAkD,MAAA,CAAPlD,OAAO;IACPsC,gBAAgB,GAAAY,MAAA,CAAhBZ,gBAAgB;IAChBkB,WAAW,GAAAN,MAAA,CAAXM,WAAW;IACRC,KAAK,GAAAC,wBAAA,CAAAR,MAAA,EAAAS,SAAA;EAER,IAAAC,SAAA,GAA8BlM,QAAQ,CAAC,KAAK,CAAC;IAAAmM,UAAA,GAAA9I,cAAA,CAAA6I,SAAA;IAAtCE,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAE1BpM,SAAS,CAAC,YAAM;IACd;IACA,IAAI,CAACqM,OAAO,EAAE;MACZC,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACA,IAAIhG,MAAM,KAAKhB,SAAS,IAAIgB,MAAM,KAAK,IAAI,EAAE;MAC3CqD,mBAAmB,CAAC;QAAErD,MAAM,EAANA,MAAM;QAAErD,IAAI,EAAJA,IAAI;QAAE7B,QAAQ,aAAA8D,MAAA,CAAY8G,KAAK,CAACF,IAAI;MAAK,CAAC,CAAC;IAC3E;EACF,CAAC,EAAE,CAACxF,MAAM,CAAC,CAAC;EAEZuE,gBAAgB,CAACC,iBAAiB,CAAC,YAAY,CAAC;EAChDD,gBAAgB,CAAC0B,mBAAmB,CAAChE,OAAO,EAAEuD,IAAI,CAAC;EAEnD,OAAAJ,IAAA,GAAOnL,OAAO,CAACqL,MAAM,CAAC,eACpB7L,KAAA,CAAAY,aAAA,CAACgL,IAAI,EAAAD,IAAA,CAAAc,EAAA;IAAA,UACI,MAAM;IAAA,SACNX,KAAK;IAAA,KACTvF,MAAM,GAAG9E,QAAQ,CAACyB,IAAI,CAAC,GAAG1B,KAAK,CAAC0B,IAAI,CAAC;IAAA,eAC3B8I;EAAW,GACxB;AAEN;AAEA,SAASU,SAASA,CAAAC,MAAA,EAAgD;EAAA,IAAAC,KAAA;EAAA,IAApCC,UAAU,GAAAF,MAAA,CAAnB1B,OAAO;IAAcY,MAAM,GAAAc,MAAA,CAANd,MAAM;IAAErK,KAAK,GAAAmL,MAAA,CAALnL,KAAK;IAAEsK,KAAK,GAAAa,MAAA,CAALb,KAAK;EAC5D,OAAAc,KAAA,GAAOpM,OAAO,CAACqL,MAAM,CAAC,eACpB7L,KAAA,CAAAY,aAAA,CAACiM,UAAU,EAAAD,KAAA,CAAAH,EAAA;IAAA,UAAQ,MAAM;IAAA,SAAQX,KAAK;IAAA,KAAKtK,KAAK,CAAC;MAAEoB,QAAQ,EAAEL,IAAI,CAACC,EAAE,GAAG,CAAC;MAAEG,UAAU,EAAE;IAAE,CAAC;EAAC,GAAI;AAElG;AAEA,SAASmK,KAAKA,CAAAC,MAAA,EAA2E;EAAA,IAAAC,KAAA;EAAA,IAA/DC,MAAM,GAAAF,MAAA,CAAf9B,OAAO;IAAUY,MAAM,GAAAkB,MAAA,CAANlB,MAAM;IAAEnE,QAAQ,GAAAqF,MAAA,CAARrF,QAAQ;IAAEwF,QAAQ,GAAAH,MAAA,CAARG,QAAQ;IAAEC,KAAK,GAAAJ,MAAA,CAALI,KAAK;IAAErC,gBAAgB,GAAAiC,MAAA,CAAhBjC,gBAAgB;EACnFA,gBAAgB,CAACsC,QAAQ,CAAC,UAAU,EAAED,KAAK,IAAID,QAAQ,CAAC;EAExD,OAAAF,KAAA,GAAOxM,OAAO,CAACqL,MAAM,CAAC,eACpB7L,KAAA,CAAAY,aAAA,CAACqM,MAAM,EAAAD,KAAA,CAAAP,EAAA;IAAA,UAAQ,MAAM;IAAA,KAAG,GAAG;IAAA,KAAG,GAAG;IAAA;EAAA,iBAC/BzM,KAAA,CAAAY,aAAA,CAAC8G,QAAQ,EAAAsF,KAAA,CAAAP,EAAA,iBAAG,CACL;AAEb;AAEA,IAAMpE,KAAK,GAAGzH,aAAa,CAACwD,SAAS,EAAE;EAAEkE,GAAG,EAAHA,GAAG;EAAEwE,KAAK,EAALA,KAAK;EAAEJ,SAAS,EAATA;AAAU,CAAC,CAAC;AAEjE,eAAerE,KAAK"}
package/lib/es6/Dots.js CHANGED
@@ -7,15 +7,15 @@ import trottle from '@semcore/utils/lib/rafTrottle';
7
7
  import createElement from './createElement';
8
8
  import { eventToPoint, invert } from './utils';
9
9
  /*__reshadow-styles__:"./style/dot.shadow.css"*/
10
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDots_x8t9u_gg_ .___SDot_x8t9u_gg_{transition-duration:var(--duration_x8t9u)}.___SDot_x8t9u_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px;fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_x8t9u_gg_.__hide_x8t9u_gg_{display:none}.___SDot_x8t9u_gg_.__active_x8t9u_gg_{r:8px}.___SDot_x8t9u_gg_.__color_x8t9u_gg_{fill:var(--color_x8t9u)}.___SDot_x8t9u_gg_.__transparent_x8t9u_gg_{opacity:.3}" /*__inner_css_end__*/, "x8t9u_gg_") /*__reshadow_css_end__*/, {
11
- "__SDots": "___SDots_x8t9u_gg_",
12
- "__SDot": "___SDot_x8t9u_gg_",
13
- "--duration": "--duration_x8t9u",
14
- "_hide": "__hide_x8t9u_gg_",
15
- "_active": "__active_x8t9u_gg_",
16
- "_color": "__color_x8t9u_gg_",
17
- "--color": "--color_x8t9u",
18
- "_transparent": "__transparent_x8t9u_gg_"
10
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDots_1ordb_gg_ .___SDot_1ordb_gg_{transition-duration:var(--duration_1ordb)}.___SDot_1ordb_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px;fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_1ordb_gg_.__hide_1ordb_gg_{display:none}.___SDot_1ordb_gg_.__active_1ordb_gg_{r:8px}.___SDot_1ordb_gg_.__color_1ordb_gg_{fill:var(--color_1ordb)}.___SDot_1ordb_gg_.__transparent_1ordb_gg_{opacity:.3}" /*__inner_css_end__*/, "1ordb_gg_") /*__reshadow_css_end__*/, {
11
+ "__SDots": "___SDots_1ordb_gg_",
12
+ "__SDot": "___SDot_1ordb_gg_",
13
+ "--duration": "--duration_1ordb",
14
+ "_hide": "__hide_1ordb_gg_",
15
+ "_active": "__active_1ordb_gg_",
16
+ "_color": "__color_1ordb_gg_",
17
+ "--color": "--color_1ordb",
18
+ "_transparent": "__transparent_1ordb_gg_"
19
19
  });
20
20
  var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
21
21
  function Dots(props) {
@@ -76,8 +76,8 @@ function Dots(props) {
76
76
  if (!visible) return acc;
77
77
  acc.push((_ref = sstyled(styles), /*#__PURE__*/React.createElement(SDot, _ref.cn("SDot", {
78
78
  "aria-hidden": true,
79
- "key": i,
80
- "render": "circle",
79
+ "key": "".concat(i),
80
+ "render": 'circle',
81
81
  "visible": visible,
82
82
  "__excludeProps": EXCLUDE_PROPS,
83
83
  "value": d,
@@ -1 +1 @@
1
- {"version":3,"file":"Dots.js","names":["bisector","React","useCallback","useEffect","useState","sstyled","trottle","createElement","eventToPoint","invert","style","_sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","SDots","bisect","d","center","_useState","_useState2","_slicedToArray","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","_scale","xScale","_eventToPoint","current","_eventToPoint2","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","_ref","isPrev","defined","isNext","active","visible","push","cn","concat"],"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 transparent,\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 transparent={transparent}\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","style","_sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","SDots","bisect","d","center","_useState","_useState2","_slicedToArray","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","_scale","xScale","_eventToPoint","current","_eventToPoint2","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","_ref","isPrev","defined","isNext","active","visible","push","cn","concat"],"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 transparent,\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 transparent={transparent}\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 +1 @@
1
- {"version":3,"file":"GroupBar.js","names":["React","Component","getOriginChildren","createElement","Bar","HorizontalBar","GroupBarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getScaleGroup","_this$asProps","asProps","Children","scale","scaleGroup","x","xyScale","domain","toArray","reduce","acc","child","isValidElement","type","GroupBar","props","hide","push","y","copy","range","bandwidth","paddingInner","paddingOuter","getBarProps","_ref","offset","width","groupKey","getHorizontalBarProps","_ref2","height","render","Element","dataHintsHandler","establishDataType","childrenPosition","_defineProperty"],"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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"}
1
+ {"version":3,"file":"GroupBar.js","names":["React","Component","getOriginChildren","createElement","Bar","HorizontalBar","GroupBarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getScaleGroup","_this$asProps","asProps","Children","scale","scaleGroup","x","xyScale","domain","toArray","reduce","acc","child","isValidElement","type","GroupBar","props","hide","push","y","copy","range","bandwidth","paddingInner","paddingOuter","getBarProps","_ref","offset","width","groupKey","getHorizontalBarProps","_ref2","height","render","Element","dataHintsHandler","establishDataType","childrenPosition","_defineProperty"],"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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"}
@@ -12,14 +12,14 @@ import createElement from './createElement';
12
12
  import ClipPath from './ClipPath';
13
13
  import { getBandwidth, roundedPath } from './utils';
14
14
  /*__reshadow-styles__:"./style/bar.shadow.css"*/
15
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBar_8xzj8_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_8xzj8);transition-timing-function:ease-in-out}.___SBar_8xzj8_gg_.__color_8xzj8_gg_{fill:var(--color_8xzj8)}.___SBar_8xzj8_gg_.__hide_8xzj8_gg_{display:none}.___SBar_8xzj8_gg_.__transparent_8xzj8_gg_{opacity:.3}.___SBackground_8xzj8_gg_{fill:var(--intergalactic-chart-palette-order-other-data, #c4c7cf)}" /*__inner_css_end__*/, "8xzj8_gg_") /*__reshadow_css_end__*/, {
16
- "__SBar": "___SBar_8xzj8_gg_",
17
- "--duration": "--duration_8xzj8",
18
- "_color": "__color_8xzj8_gg_",
19
- "--color": "--color_8xzj8",
20
- "_hide": "__hide_8xzj8_gg_",
21
- "_transparent": "__transparent_8xzj8_gg_",
22
- "__SBackground": "___SBackground_8xzj8_gg_"
15
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBar_1kl0u_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_1kl0u);transition-timing-function:ease-in-out}.___SBar_1kl0u_gg_.__color_1kl0u_gg_{fill:var(--color_1kl0u)}.___SBar_1kl0u_gg_.__hide_1kl0u_gg_{display:none}.___SBar_1kl0u_gg_.__transparent_1kl0u_gg_{opacity:.3}.___SBackground_1kl0u_gg_{fill:var(--intergalactic-chart-palette-order-other-data, #c4c7cf)}" /*__inner_css_end__*/, "1kl0u_gg_") /*__reshadow_css_end__*/, {
16
+ "__SBar": "___SBar_1kl0u_gg_",
17
+ "--duration": "--duration_1kl0u",
18
+ "_color": "__color_1kl0u_gg_",
19
+ "--color": "--color_1kl0u",
20
+ "_hide": "__hide_1kl0u_gg_",
21
+ "_transparent": "__transparent_1kl0u_gg_",
22
+ "__SBackground": "___SBackground_1kl0u_gg_"
23
23
  });
24
24
  export var MIN_WIDTH = 2;
25
25
  var calcPartBarX = function calcPartBarX(x, minWidth, width) {
@@ -95,10 +95,10 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
95
95
  return _ref = sstyled(styles), /*#__PURE__*/React.createElement(SBar, _ref.cn("SBar", {
96
96
  "aria-hidden": true,
97
97
  "key": "horizontal-bar-".concat(i),
98
- "render": "path",
98
+ "render": 'path',
99
99
  "clipPath": "url(#".concat(uid, ")"),
100
100
  "__excludeProps": ['data', 'scale', 'value', 'offset'],
101
- "childrenPosition": "above",
101
+ "childrenPosition": 'above',
102
102
  "value": d,
103
103
  "index": i,
104
104
  "hide": hide,
@@ -159,8 +159,8 @@ function Background(props) {
159
159
  var xRange = xScale.range();
160
160
  return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SBackground, _ref2.cn("SBackground", {
161
161
  "aria-hidden": true,
162
- "render": "rect",
163
- "childrenPosition": "above",
162
+ "render": 'rect',
163
+ "childrenPosition": 'above',
164
164
  "width": xRange[1] - xRange[0],
165
165
  "height": yScale.bandwidth(),
166
166
  "x": xRange[0],
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalBar.js","names":["React","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","style","_sstyled","insert","MIN_WIDTH","calcPartBarX","x","minWidth","width","Object","is","HorizontalBarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getBackgroundProps","props","index","_this$asProps","asProps","data","y","renderBar","d","i","_ref","_d$x","_d$x2","_d$x3","SBar","Element","_this$asProps2","styles","color","x0","scale","hide","offsetProps","offset","uid","duration","r","wMin","heightProps","height","onMouseMove","onMouseLeave","groupKey","transparent","_scale","_slicedToArray","xScale","yScale","absWidth","Math","abs","max","domain","Number","barY","barX","min","dSvg","getHorizontalRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","concat","cn","render","_this$asProps3","size","Fragment","map","bind","setAttributeTag","rect","setAttribute","id","transition","_defineProperty","Background","_ref2","SBackground","_scale2","xRange","range","bandwidth","_ref3"],"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\nexport const MIN_WIDTH = 2;\n\nconst calcPartBarX = (x, minWidth, width) => {\n // need for the correct rendering of negative values\n if (x <= 0) {\n return width <= minWidth ? minWidth : 0;\n }\n // need for the correct rendering of the minimum positive values\n return Object.is(x, 0) ? minWidth : 0;\n};\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: MIN_WIDTH,\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: offsetProps,\n uid,\n duration,\n r,\n wMin,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n groupKey,\n transparent,\n } = this.asProps;\n\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)),\n );\n const height = heightProps || getBandwidth(yScale);\n const width = Number(d[x] - (d[x0] ?? 0)) === 0 ? 0 : Math.max(absWidth, wMin);\n const barY = yScale(d[y]) + offset[1];\n const barX =\n xScale(Math.min(d[x0] ?? 0, width <= wMin && d[x] < 0 ? 0 : d[x])) +\n offset[0] -\n calcPartBarX(d[x], wMin, width);\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', 'offset']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n transparent={transparent}\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) radius = width;\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":["React","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","style","_sstyled","insert","MIN_WIDTH","calcPartBarX","x","minWidth","width","Object","is","HorizontalBarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getBackgroundProps","props","index","_this$asProps","asProps","data","y","renderBar","d","i","_ref","_d$x","_d$x2","_d$x3","SBar","Element","_this$asProps2","styles","color","x0","scale","hide","offsetProps","offset","uid","duration","r","wMin","heightProps","height","onMouseMove","onMouseLeave","groupKey","transparent","_scale","_slicedToArray","xScale","yScale","absWidth","Math","abs","max","domain","Number","barY","barX","min","dSvg","getHorizontalRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","concat","cn","render","_this$asProps3","size","Fragment","map","bind","setAttributeTag","rect","setAttribute","id","transition","_defineProperty","Background","_ref2","SBackground","_scale2","xRange","range","bandwidth","_ref3"],"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\nexport const MIN_WIDTH = 2;\n\nconst calcPartBarX = (x, minWidth, width) => {\n // need for the correct rendering of negative values\n if (x <= 0) {\n return width <= minWidth ? minWidth : 0;\n }\n // need for the correct rendering of the minimum positive values\n return Object.is(x, 0) ? minWidth : 0;\n};\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: MIN_WIDTH,\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: offsetProps,\n uid,\n duration,\n r,\n wMin,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n groupKey,\n transparent,\n } = this.asProps;\n\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)),\n );\n const height = heightProps || getBandwidth(yScale);\n const width = Number(d[x] - (d[x0] ?? 0)) === 0 ? 0 : Math.max(absWidth, wMin);\n const barY = yScale(d[y]) + offset[1];\n const barX =\n xScale(Math.min(d[x0] ?? 0, width <= wMin && d[x] < 0 ? 0 : d[x])) +\n offset[0] -\n calcPartBarX(d[x], wMin, width);\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', 'offset']}\n childrenPosition='above'\n value={d}\n index={i}\n hide={hide}\n color={color}\n transparent={transparent}\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) radius = width;\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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"}