@semcore/d3-chart 2.13.4 → 2.13.5

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 (152) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/Area.js +59 -97
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +76 -143
  5. package/lib/cjs/Axis.js.map +1 -1
  6. package/lib/cjs/Bar.js +49 -96
  7. package/lib/cjs/Bar.js.map +1 -1
  8. package/lib/cjs/Bubble.js +39 -81
  9. package/lib/cjs/Bubble.js.map +1 -1
  10. package/lib/cjs/ClipPath.js +9 -35
  11. package/lib/cjs/ClipPath.js.map +1 -1
  12. package/lib/cjs/Donut.js +77 -152
  13. package/lib/cjs/Donut.js.map +1 -1
  14. package/lib/cjs/Dots.js +29 -57
  15. package/lib/cjs/Dots.js.map +1 -1
  16. package/lib/cjs/GroupBar.js +5 -26
  17. package/lib/cjs/GroupBar.js.map +1 -1
  18. package/lib/cjs/HorizontalBar.js +43 -84
  19. package/lib/cjs/HorizontalBar.js.map +1 -1
  20. package/lib/cjs/Hover.js +33 -88
  21. package/lib/cjs/Hover.js.map +1 -1
  22. package/lib/cjs/Line.js +42 -78
  23. package/lib/cjs/Line.js.map +1 -1
  24. package/lib/cjs/Plot.js +27 -73
  25. package/lib/cjs/Plot.js.map +1 -1
  26. package/lib/cjs/Radar.js +152 -277
  27. package/lib/cjs/Radar.js.map +1 -1
  28. package/lib/cjs/RadialTree.js +105 -211
  29. package/lib/cjs/RadialTree.js.map +1 -1
  30. package/lib/cjs/ReferenceLine.js +45 -87
  31. package/lib/cjs/ReferenceLine.js.map +1 -1
  32. package/lib/cjs/ResponsiveContainer.js +9 -38
  33. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  34. package/lib/cjs/ScatterPlot.js +34 -74
  35. package/lib/cjs/ScatterPlot.js.map +1 -1
  36. package/lib/cjs/StackBar.js +9 -38
  37. package/lib/cjs/StackBar.js.map +1 -1
  38. package/lib/cjs/StackedArea.js +5 -29
  39. package/lib/cjs/StackedArea.js.map +1 -1
  40. package/lib/cjs/Tooltip.js +27 -76
  41. package/lib/cjs/Tooltip.js.map +1 -1
  42. package/lib/cjs/Venn.js +32 -75
  43. package/lib/cjs/Venn.js.map +1 -1
  44. package/lib/cjs/a11y/PlotA11yModule.js +18 -71
  45. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  46. package/lib/cjs/a11y/PlotA11yView.js +19 -83
  47. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  48. package/lib/cjs/a11y/bezier.js +0 -7
  49. package/lib/cjs/a11y/bezier.js.map +1 -1
  50. package/lib/cjs/a11y/focus.js +2 -11
  51. package/lib/cjs/a11y/focus.js.map +1 -1
  52. package/lib/cjs/a11y/hints.js +0 -13
  53. package/lib/cjs/a11y/hints.js.map +1 -1
  54. package/lib/cjs/a11y/insights.js +21 -132
  55. package/lib/cjs/a11y/insights.js.map +1 -1
  56. package/lib/cjs/a11y/intl.js +0 -6
  57. package/lib/cjs/a11y/intl.js.map +1 -1
  58. package/lib/cjs/a11y/locale.js +4 -22
  59. package/lib/cjs/a11y/locale.js.map +1 -1
  60. package/lib/cjs/a11y/serialize.js +23 -83
  61. package/lib/cjs/a11y/serialize.js.map +1 -1
  62. package/lib/cjs/a11y/summarize.js +0 -4
  63. package/lib/cjs/a11y/summarize.js.map +1 -1
  64. package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js +0 -13
  65. package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
  66. package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js +0 -13
  67. package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
  68. package/lib/cjs/color.js +0 -3
  69. package/lib/cjs/color.js.map +1 -1
  70. package/lib/cjs/createElement.js +18 -47
  71. package/lib/cjs/createElement.js.map +1 -1
  72. package/lib/cjs/index.js +0 -23
  73. package/lib/cjs/index.js.map +1 -1
  74. package/lib/cjs/types/Plot.d.js.map +1 -1
  75. package/lib/cjs/types/index.d.js +0 -39
  76. package/lib/cjs/types/index.d.js.map +1 -1
  77. package/lib/cjs/utils.js +7 -59
  78. package/lib/cjs/utils.js.map +1 -1
  79. package/lib/es6/Area.js +59 -86
  80. package/lib/es6/Area.js.map +1 -1
  81. package/lib/es6/Axis.js +76 -135
  82. package/lib/es6/Axis.js.map +1 -1
  83. package/lib/es6/Bar.js +49 -86
  84. package/lib/es6/Bar.js.map +1 -1
  85. package/lib/es6/Bubble.js +39 -70
  86. package/lib/es6/Bubble.js.map +1 -1
  87. package/lib/es6/ClipPath.js +9 -23
  88. package/lib/es6/ClipPath.js.map +1 -1
  89. package/lib/es6/Donut.js +77 -141
  90. package/lib/es6/Donut.js.map +1 -1
  91. package/lib/es6/Dots.js +29 -46
  92. package/lib/es6/Dots.js.map +1 -1
  93. package/lib/es6/GroupBar.js +5 -15
  94. package/lib/es6/GroupBar.js.map +1 -1
  95. package/lib/es6/HorizontalBar.js +43 -75
  96. package/lib/es6/HorizontalBar.js.map +1 -1
  97. package/lib/es6/Hover.js +33 -85
  98. package/lib/es6/Hover.js.map +1 -1
  99. package/lib/es6/Line.js +42 -67
  100. package/lib/es6/Line.js.map +1 -1
  101. package/lib/es6/Plot.js +27 -66
  102. package/lib/es6/Plot.js.map +1 -1
  103. package/lib/es6/Radar.js +152 -281
  104. package/lib/es6/Radar.js.map +1 -1
  105. package/lib/es6/RadialTree.js +105 -203
  106. package/lib/es6/RadialTree.js.map +1 -1
  107. package/lib/es6/ReferenceLine.js +45 -79
  108. package/lib/es6/ReferenceLine.js.map +1 -1
  109. package/lib/es6/ResponsiveContainer.js +9 -28
  110. package/lib/es6/ResponsiveContainer.js.map +1 -1
  111. package/lib/es6/ScatterPlot.js +34 -65
  112. package/lib/es6/ScatterPlot.js.map +1 -1
  113. package/lib/es6/StackBar.js +9 -26
  114. package/lib/es6/StackBar.js.map +1 -1
  115. package/lib/es6/StackedArea.js +5 -18
  116. package/lib/es6/StackedArea.js.map +1 -1
  117. package/lib/es6/Tooltip.js +27 -63
  118. package/lib/es6/Tooltip.js.map +1 -1
  119. package/lib/es6/Venn.js +32 -64
  120. package/lib/es6/Venn.js.map +1 -1
  121. package/lib/es6/a11y/PlotA11yModule.js +18 -52
  122. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  123. package/lib/es6/a11y/PlotA11yView.js +19 -53
  124. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  125. package/lib/es6/a11y/bezier.js +0 -5
  126. package/lib/es6/a11y/bezier.js.map +1 -1
  127. package/lib/es6/a11y/focus.js +2 -9
  128. package/lib/es6/a11y/focus.js.map +1 -1
  129. package/lib/es6/a11y/hints.js +0 -3
  130. package/lib/es6/a11y/hints.js.map +1 -1
  131. package/lib/es6/a11y/insights.js +21 -133
  132. package/lib/es6/a11y/insights.js.map +1 -1
  133. package/lib/es6/a11y/intl.js +0 -1
  134. package/lib/es6/a11y/intl.js.map +1 -1
  135. package/lib/es6/a11y/locale.js +4 -18
  136. package/lib/es6/a11y/locale.js.map +1 -1
  137. package/lib/es6/a11y/serialize.js +23 -74
  138. package/lib/es6/a11y/serialize.js.map +1 -1
  139. package/lib/es6/a11y/summarize.js.map +1 -1
  140. package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
  141. package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
  142. package/lib/es6/color.js +0 -1
  143. package/lib/es6/color.js.map +1 -1
  144. package/lib/es6/createElement.js +18 -34
  145. package/lib/es6/createElement.js.map +1 -1
  146. package/lib/es6/index.js.map +1 -1
  147. package/lib/es6/types/Plot.d.js.map +1 -1
  148. package/lib/es6/types/index.d.js +5 -3
  149. package/lib/es6/types/index.d.js.map +1 -1
  150. package/lib/es6/utils.js +7 -28
  151. package/lib/es6/utils.js.map +1 -1
  152. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Radar.js","names":["React","cloneElement","Component","sstyled","uniqueIDEnhancement","getOriginChildren","trottle","canUseDOM","polygonContains","line","lineRadial","curveLinearClosed","arc","createElement","CONSTANT","eventToPoint","measureText","clampAngle","angle","Math","PI","getBoxAxesValue","i","range","axes","total","angleOffset","func","sin","cos","getRadianPosition","getLabelXPlacement","getLabelYPlacement","getLabelPlacement","computeTextWidth","texts","textSize","defaultWidth","defaultHeight","widths","map","text","isValidElement","max","props","width","height","getTicks","tickSize","radius","ticks","trunc","Array","keys","reduce","t","push","length","pieContains","startAngle","endAngle","x","y","distance","sqrt","atan2","prevAngle","nextAngle","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","MINIMUM_OFFSET","RadarRoot","asProps","id","uid","offset","computeOffset","type","dataKey","data","scale","categories","categoriesKey","SRadar","Element","Children","style","size","dataHintsHandler","establishDataType","toArray","forEach","child","Radar","Axis","undefined","PolygonRoot","color","transparent","categoryKey","d3","SPolygon","styles","fill","curve","min","d","PolygonLine","SPolygonLine","PolygonDots","SPolygonDot","value","describeGroupedValues","cx","cy","AxisRoot","activeLineIndex","visible","index","setState","createLineRadial","labelOffset","eventEmitter","unsubscribeTooltipVisible","subscribe","handlerTooltipVisible","SAxis","state","category","cn","active","className","AxisTicks","SAxisTick","tick","AxisLabels","SAxisLabel","labelKey","lines","split","lineText","lineIndex","key","Hover","document","e","rootRef","point","current","diam","centerX","centerY","clientX","clientY","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","getIndex","emit","top","right","bottom","left","prevIndex","nextIndex","prevX1","prevY1","nextX1","nextY1","findIndex","c","getPie","getPolygon","unsubscribeMouseMoveRoot","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","SPieRect","circle","innerRadius","outerRadius","Ticks","Labels","Polygon","Line","Dots"],"sources":["../../src/Radar.jsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { polygonContains } from 'd3-polygon';\nimport { line, lineRadial, curveLinearClosed, arc } from 'd3-shape';\nimport createElement from './createElement';\nimport { CONSTANT, eventToPoint, measureText } from './utils';\n\nimport style from './style/radar.shadow.css';\n\nconst clampAngle = (angle) => {\n angle = angle % (2 * Math.PI);\n if (angle < 0) angle += 2 * Math.PI;\n return angle;\n};\n\nfunction getBoxAxesValue(i, range, axes, total, angleOffset) {\n const func = axes === 'y' ? Math.sin : Math.cos;\n\n const angle = clampAngle(((total - i) * 2 * Math.PI) / total + angleOffset);\n return range * (1 - func(angle)) - range;\n}\n\nfunction getRadianPosition(i, range, total, angleOffset) {\n return [\n getBoxAxesValue(i, range, 'y', total, angleOffset),\n getBoxAxesValue(i, range, 'x', total, angleOffset),\n ];\n}\n\nconst getLabelXPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'middle';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'middle';\n\n return angle < Math.PI ? 'start' : 'end';\n};\nconst getLabelYPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'alphabetic';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'mathematical';\n\n return 'middle';\n};\n\nfunction getLabelPlacement(i, total, angleOffset) {\n return [getLabelXPlacement(i, total, angleOffset), getLabelYPlacement(i, total, angleOffset)];\n}\n\nfunction computeTextWidth(texts, textSize, defaultWidth = 50, defaultHeight = 20) {\n const widths = texts.map((text) => {\n if (typeof text === 'string') {\n return measureText(text, textSize);\n }\n if (React.isValidElement(text)) {\n // @ts-ignore\n return Math.max(text.props?.width || defaultWidth, text.props?.height || defaultHeight);\n }\n return defaultWidth;\n });\n return Math.max(...widths);\n}\n\nfunction getTicks(tickSize, radius) {\n let ticks = 0;\n while (Math.trunc(radius / (tickSize / 2)) > ticks) {\n ticks += 1;\n }\n return [...Array(ticks).keys()].reduce((ticks, t, i, total) => {\n if (i) ticks.push(i / total.length);\n return ticks;\n }, []);\n}\n\nfunction pieContains([startAngle, endAngle, radius], [x, y]) {\n const distance = Math.sqrt(x ** 2 + y ** 2);\n if (distance > radius) return false;\n\n startAngle = clampAngle(startAngle);\n endAngle = clampAngle(endAngle);\n startAngle = startAngle < endAngle ? startAngle : startAngle - 2 * Math.PI;\n\n const angle = clampAngle(Math.atan2(y, x) + Math.PI / 2);\n const prevAngle = angle - Math.PI * 2;\n const nextAngle = angle + Math.PI * 2;\n\n if (angle > startAngle && angle < endAngle) return true;\n if (prevAngle > startAngle && prevAngle < endAngle) return true;\n if (nextAngle > startAngle && nextAngle < endAngle) return true;\n return false;\n}\n\nexport function getLabelOffsetPosition(xDirection, yDirection, width, height) {\n let xOffset = 0;\n let yOffset = 0;\n switch (`${xDirection}-${yDirection}`) {\n case 'middle-alphabetic':\n yOffset = height / 2;\n break;\n case 'start-middle':\n xOffset = -width / 2;\n break;\n case 'middle-mathematical':\n yOffset = -height / 2;\n break;\n case 'end-middle':\n xOffset = width / 2;\n break;\n }\n return [xOffset + width / 2, yOffset + height / 2];\n}\n\nconst MINIMUM_OFFSET = 5;\n\nclass RadarRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n computeOffset = 0;\n\n categoriesKey = null;\n\n static defaultProps = {\n type: 'polygon',\n angleOffset: 0,\n };\n\n get id() {\n const { id, uid } = this.asProps;\n return id || uid;\n }\n\n get offset() {\n const { offset } = this.asProps;\n return offset ?? this.computeOffset;\n }\n\n get textSize() {\n const { textSize } = this.asProps;\n return textSize ?? 12;\n }\n\n getAxisProps() {\n return {\n offset: this.offset,\n textSize: this.textSize,\n type: this.asProps.type,\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n getPolygonProps({ dataKey }) {\n const { data, scale, angleOffset } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n angleOffset,\n };\n }\n\n getHoverProps() {\n return {\n type: this.asProps.type,\n offset: this.offset,\n categories: this.asProps.data[this.categoriesKey],\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n render() {\n const SRadar = this.Element;\n const { Children, style, size, data, offset } = this.asProps;\n const [width, height] = size;\n\n this.asProps.dataHintsHandler.establishDataType('indexed-groups');\n\n let dataKey;\n React.Children.toArray(getOriginChildren(Children)).forEach((child) => {\n if (React.isValidElement(child) && child.type === Radar.Axis) {\n dataKey = child.props.dataKey;\n }\n });\n if (dataKey) {\n if (offset === undefined) {\n // +5 because font might not be loaded and just in case)\n this.computeOffset = computeTextWidth(data[dataKey], this.textSize) + MINIMUM_OFFSET;\n }\n this.categoriesKey = dataKey;\n }\n\n return sstyled(style)(\n <SRadar\n aria-hidden\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / 2})`}\n />,\n );\n }\n}\n\nclass PolygonRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ scale, curve = curveLinearClosed, size, offset, angleOffset }) => {\n scale.range([0, Math.min(size[0], size[1]) / 2 - offset]);\n\n return {\n d3: lineRadial()\n .curve(curve)\n .radius((d) => {\n return scale(d || 0);\n })\n .angle((d, i, data) => {\n return (i / data.length) * 2 * Math.PI - angleOffset;\n }),\n };\n };\n\n getDotsProps() {\n const { data, scale, color, transparent, dataKey, dataHintsHandler, angleOffset } =\n this.asProps;\n return {\n data,\n scale,\n color,\n transparent,\n categoryKey: dataKey,\n dataHintsHandler,\n angleOffset,\n };\n }\n\n getLineProps() {\n const { d3, data, color, transparent } = this.asProps;\n return {\n data,\n color,\n transparent,\n d3,\n };\n }\n\n render() {\n const { Element: SPolygon, styles, d3, data, color, fill } = this.asProps;\n return sstyled(styles)(<SPolygon render=\"path\" d={d3(data)} color={fill || color} />);\n }\n}\n\nfunction PolygonLine(props) {\n const { Element: SPolygonLine, styles, d3, color, data, transparent } = props;\n return sstyled(styles)(\n <SPolygonLine render=\"path\" d={d3(data)} color={color} transparent={transparent} />,\n );\n}\n\nfunction PolygonDots(props) {\n const {\n Element: SPolygonDot,\n styles,\n color,\n data,\n scale,\n transparent,\n categoryKey,\n angleOffset,\n } = props;\n return data.map((value, i) => {\n if (value === null || value === undefined) return;\n const radius = scale(value);\n props.dataHintsHandler.describeGroupedValues(categoryKey, `${categoryKey}.${i}`);\n const [cx, cy] = getRadianPosition(i, radius, data.length, angleOffset);\n return sstyled(styles)(\n <SPolygonDot\n key={i}\n render=\"circle\"\n cx={cx}\n cy={cy}\n color={color}\n transparent={transparent}\n />,\n );\n });\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ data, dataKey }) => {\n const categories = data[dataKey];\n return {\n categories,\n };\n };\n\n unsubscribeTooltipVisible = null;\n\n state = {\n activeLineIndex: null,\n };\n\n createLineRadial(radius, total) {\n return lineRadial()\n .curve(curveLinearClosed)\n .radius(() => {\n return radius;\n })\n .angle((d, i) => {\n return (i / total) * 2 * Math.PI;\n });\n }\n\n getTicksProps({ tickSize = 100 }) {\n const { data, offset, categories, size, type } = this.asProps;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return {\n type,\n data,\n categories,\n ticks: getTicks(tickSize, radius),\n offset,\n d3: this.createLineRadial(radius, categories.length),\n };\n }\n\n getLabelsProps({ labelOffset = 10 }) {\n const { offset, categories, textSize, angleOffset } = this.asProps;\n return {\n categories,\n textSize,\n offset: offset - labelOffset,\n angleOffset,\n };\n }\n\n handlerTooltipVisible = (visible, { index }) => {\n this.setState({\n activeLineIndex: index,\n });\n };\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'onTooltipVisible',\n this.handlerTooltipVisible,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeTooltipVisible) {\n this.unsubscribeTooltipVisible();\n }\n }\n\n render() {\n const { Element: SAxis, styles, categories, size, offset, type, angleOffset } = this.asProps;\n const { activeLineIndex } = this.state;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n const total = categories.length;\n\n return sstyled(styles)(\n <>\n {type === 'circle' ? (\n <SAxis render=\"circle\" cx={0} cy={0} r={radius} />\n ) : (\n <SAxis render=\"path\" d={this.createLineRadial(radius, total)(categories)} />\n )}\n {categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, total, angleOffset);\n const { className } = sstyled(styles).cn('SAxisLine', {\n active: activeLineIndex === i,\n });\n return <line key={i} x1={0} y1={0} x2={x} y2={y} className={className} />;\n })}\n </>,\n );\n }\n}\n\nfunction AxisTicks(props) {\n const { Element: SAxisTick, styles, size, ticks, d3, categories, offset, type } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return ticks.map((tick, i) => {\n d3.radius(() => radius * tick);\n return sstyled(styles)(\n type === 'circle' ? (\n <SAxisTick key={i} render=\"circle\" cx={0} cy={0} r={radius * tick} />\n ) : (\n <SAxisTick render=\"path\" key={i} d={d3(categories)} />\n ),\n );\n });\n}\n\nfunction AxisLabels(props) {\n const { Element: SAxisLabel, styles, textSize, size, offset, categories, angleOffset } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, categories.length, angleOffset);\n const [xDirection, yDirection] = getLabelPlacement(i, categories.length, angleOffset);\n if (typeof category === 'string') {\n props.dataHintsHandler.labelKey('value', i, category);\n\n const lines = category.split('\\n');\n return sstyled(styles)(\n <SAxisLabel\n key={i}\n render=\"text\"\n childrenPosition=\"inside\"\n x={x}\n y={y}\n xDirection={xDirection}\n yDirection={yDirection}\n >\n {lines.map((lineText, lineIndex) => (\n <tspan\n x={x}\n y={y + (lineIndex - (lines.length - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </tspan>\n ))}\n </SAxisLabel>,\n );\n }\n if (React.isValidElement(category)) {\n const { width = 0, height = 0 } = category?.props;\n const [xOffset, yOffset] = getLabelOffsetPosition(xDirection, yDirection, width, height);\n return cloneElement(category, {\n key: i,\n x: x - xOffset,\n y: y - yOffset,\n });\n }\n });\n}\n\nclass Hover extends Component {\n state = {\n index: null,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n unsubscribeMouseMoveRoot = null;\n unsubscribeMouseLeaveRoot = null;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getPolygon(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const total = categories.length;\n const diam = Math.min(size[0], size[1]);\n const radius = diam / 2 - offset;\n const prevIndex = (index - 1 + total) % total;\n const nextIndex = (index + 1 + total) % total;\n const [prevX1, prevY1] = getRadianPosition(prevIndex, radius, total, angleOffset);\n const [x, y] = getRadianPosition(index, radius, total, angleOffset);\n const [nextX1, nextY1] = getRadianPosition(nextIndex, radius, total, angleOffset);\n return [\n [0, 0],\n [(prevX1 + x) / 2, (prevY1 + y) / 2],\n [x, y],\n [(nextX1 + x) / 2, (nextY1 + y) / 2],\n ];\n }\n\n getPie(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const angle = (Math.PI * 2) / categories.length;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return [\n index * angle - angle / 2 - angleOffset,\n (index + 1) * angle - angle / 2 - angleOffset,\n radius,\n ];\n }\n\n getIndex(point) {\n const { categories, type } = this.asProps;\n let index;\n if (type === 'circle') {\n index = categories.findIndex((c, i) => pieContains(this.getPie(i), point));\n } else {\n index = categories.findIndex((c, i) => polygonContains(this.getPolygon(i), point));\n }\n return index === -1 ? null : index;\n }\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, size, rootRef } = this.asProps;\n const point = eventToPoint(e, rootRef.current);\n const diam = Math.min(size[0], size[1]);\n const centerX = point[0] - diam / 2;\n const centerY = point[1] - diam / 2;\n const { clientX, clientY } = e;\n // @ts-ignore\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n const index = this.getIndex([centerX, centerY]);\n\n this.setState(\n {\n index,\n },\n () => {\n eventEmitter.emit('onTooltipVisible', index !== null, { index }, this.virtualElement);\n },\n );\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n this.setState(\n {\n index: null,\n },\n () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, { index: null });\n },\n );\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveRoot', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveRoot',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n\n render() {\n const { styles, type } = this.asProps;\n const { index } = this.state;\n const SPieRect = this.Element;\n\n if (index !== null) {\n if (type === 'circle') {\n const [startAngle, endAngle, radius] = this.getPie(index);\n const circle = arc()\n .innerRadius(0)\n .outerRadius(radius)\n .startAngle(startAngle)\n .endAngle(endAngle);\n return sstyled(styles)(\n <SPieRect\n render=\"path\"\n // @ts-ignore\n d={circle()}\n />,\n );\n } else {\n return sstyled(styles)(\n <SPieRect\n render=\"path\"\n // @ts-ignore\n d={line()(this.getPolygon(index))}\n />,\n );\n }\n }\n\n return null;\n }\n}\n\nconst Axis = createElement(AxisRoot, {\n Ticks: AxisTicks,\n Labels: AxisLabels,\n});\n\nconst Polygon = createElement(PolygonRoot, {\n Line: PolygonLine,\n Dots: PolygonDots,\n});\n\nconst Radar = createElement(RadarRoot, {\n Axis,\n Polygon,\n Hover,\n});\n\nexport default Radar;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Radar.js","names":["React","cloneElement","Component","sstyled","uniqueIDEnhancement","getOriginChildren","trottle","canUseDOM","polygonContains","line","lineRadial","curveLinearClosed","arc","createElement","CONSTANT","eventToPoint","measureText","style","_sstyled","insert","clampAngle","angle","Math","PI","getBoxAxesValue","i","range","axes","total","angleOffset","func","sin","cos","getRadianPosition","getLabelXPlacement","getLabelYPlacement","getLabelPlacement","computeTextWidth","texts","textSize","defaultWidth","arguments","length","undefined","defaultHeight","widths","map","text","isValidElement","_text$props","_text$props2","max","props","width","height","apply","_toConsumableArray","getTicks","tickSize","radius","ticks","trunc","Array","keys","reduce","t","push","pieContains","_ref10","_ref11","_ref12","_slicedToArray","startAngle","endAngle","_ref13","x","y","distance","sqrt","pow","atan2","prevAngle","nextAngle","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","concat","MINIMUM_OFFSET","RadarRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","_key","call","_defineProperty","_assertThisInitialized","_createClass","key","get","_this$asProps","asProps","id","uid","offset","computeOffset","value","getAxisProps","type","getPolygonProps","_ref14","dataKey","_this$asProps2","data","scale","getHoverProps","categories","categoriesKey","render","_ref","SRadar","Element","_this$asProps3","Children","size","_size","dataHintsHandler","establishDataType","toArray","forEach","child","Radar","Axis","cn","PolygonRoot","_Component2","_super2","getDotsProps","_this$asProps4","color","transparent","categoryKey","getLineProps","_this$asProps5","d3","_ref2","_this$asProps6","SPolygon","styles","fill","_ref18","_ref18$curve","curve","min","d","PolygonLine","_ref3","SPolygonLine","PolygonDots","SPolygonDot","_ref4","describeGroupedValues","_getRadianPosition","_getRadianPosition2","cx","cy","AxisRoot","_Component3","_super3","_this2","_len2","_key2","activeLineIndex","visible","_ref15","index","setState","createLineRadial","getTicksProps","_ref16","_ref16$tickSize","_this$asProps7","getLabelsProps","_ref17","_ref17$labelOffset","labelOffset","_this$asProps8","componentDidMount","eventEmitter","unsubscribeTooltipVisible","subscribe","handlerTooltipVisible","componentWillUnmount","_ref5","_this$asProps9","SAxis","state","Fragment","category","_getRadianPosition3","_getRadianPosition4","_sstyled$cn","active","className","x1","y1","x2","y2","_ref19","AxisTicks","SAxisTick","tick","_ref6","AxisLabels","SAxisLabel","_getRadianPosition5","_getRadianPosition6","_getLabelPlacement","_getLabelPlacement2","_ref7","labelKey","lines","split","lineText","lineIndex","_category$props","_category$props$width","_category$props$heigh","_getLabelOffsetPositi","_getLabelOffsetPositi2","Hover","_Component4","_super4","_this3","_len3","_key3","document","e","_this3$asProps","rootRef","point","current","diam","centerX","centerY","clientX","clientY","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","getIndex","emit","top","right","bottom","left","getPolygon","_this$asProps10","prevIndex","nextIndex","_getRadianPosition7","_getRadianPosition8","prevX1","prevY1","_getRadianPosition9","_getRadianPosition10","_getRadianPosition11","_getRadianPosition12","nextX1","nextY1","getPie","_this$asProps11","_this4","_this$asProps12","findIndex","c","_this5","unsubscribeMouseMoveRoot","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","_this$asProps13","SPieRect","_ref8","_this$getPie","_this$getPie2","circle","innerRadius","outerRadius","_ref9","Ticks","Labels","Polygon","Line","Dots"],"sources":["../../src/Radar.jsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { polygonContains } from 'd3-polygon';\nimport { line, lineRadial, curveLinearClosed, arc } from 'd3-shape';\nimport createElement from './createElement';\nimport { CONSTANT, eventToPoint, measureText } from './utils';\n\nimport style from './style/radar.shadow.css';\n\nconst clampAngle = (angle) => {\n angle = angle % (2 * Math.PI);\n if (angle < 0) angle += 2 * Math.PI;\n return angle;\n};\n\nfunction getBoxAxesValue(i, range, axes, total, angleOffset) {\n const func = axes === 'y' ? Math.sin : Math.cos;\n\n const angle = clampAngle(((total - i) * 2 * Math.PI) / total + angleOffset);\n return range * (1 - func(angle)) - range;\n}\n\nfunction getRadianPosition(i, range, total, angleOffset) {\n return [\n getBoxAxesValue(i, range, 'y', total, angleOffset),\n getBoxAxesValue(i, range, 'x', total, angleOffset),\n ];\n}\n\nconst getLabelXPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'middle';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'middle';\n\n return angle < Math.PI ? 'start' : 'end';\n};\nconst getLabelYPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'alphabetic';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'mathematical';\n\n return 'middle';\n};\n\nfunction getLabelPlacement(i, total, angleOffset) {\n return [getLabelXPlacement(i, total, angleOffset), getLabelYPlacement(i, total, angleOffset)];\n}\n\nfunction computeTextWidth(texts, textSize, defaultWidth = 50, defaultHeight = 20) {\n const widths = texts.map((text) => {\n if (typeof text === 'string') {\n return measureText(text, textSize);\n }\n if (React.isValidElement(text)) {\n // @ts-ignore\n return Math.max(text.props?.width || defaultWidth, text.props?.height || defaultHeight);\n }\n return defaultWidth;\n });\n return Math.max(...widths);\n}\n\nfunction getTicks(tickSize, radius) {\n let ticks = 0;\n while (Math.trunc(radius / (tickSize / 2)) > ticks) {\n ticks += 1;\n }\n return [...Array(ticks).keys()].reduce((ticks, t, i, total) => {\n if (i) ticks.push(i / total.length);\n return ticks;\n }, []);\n}\n\nfunction pieContains([startAngle, endAngle, radius], [x, y]) {\n const distance = Math.sqrt(x ** 2 + y ** 2);\n if (distance > radius) return false;\n\n startAngle = clampAngle(startAngle);\n endAngle = clampAngle(endAngle);\n startAngle = startAngle < endAngle ? startAngle : startAngle - 2 * Math.PI;\n\n const angle = clampAngle(Math.atan2(y, x) + Math.PI / 2);\n const prevAngle = angle - Math.PI * 2;\n const nextAngle = angle + Math.PI * 2;\n\n if (angle > startAngle && angle < endAngle) return true;\n if (prevAngle > startAngle && prevAngle < endAngle) return true;\n if (nextAngle > startAngle && nextAngle < endAngle) return true;\n return false;\n}\n\nexport function getLabelOffsetPosition(xDirection, yDirection, width, height) {\n let xOffset = 0;\n let yOffset = 0;\n switch (`${xDirection}-${yDirection}`) {\n case 'middle-alphabetic':\n yOffset = height / 2;\n break;\n case 'start-middle':\n xOffset = -width / 2;\n break;\n case 'middle-mathematical':\n yOffset = -height / 2;\n break;\n case 'end-middle':\n xOffset = width / 2;\n break;\n }\n return [xOffset + width / 2, yOffset + height / 2];\n}\n\nconst MINIMUM_OFFSET = 5;\n\nclass RadarRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n computeOffset = 0;\n\n categoriesKey = null;\n\n static defaultProps = {\n type: 'polygon',\n angleOffset: 0,\n };\n\n get id() {\n const { id, uid } = this.asProps;\n return id || uid;\n }\n\n get offset() {\n const { offset } = this.asProps;\n return offset ?? this.computeOffset;\n }\n\n get textSize() {\n const { textSize } = this.asProps;\n return textSize ?? 12;\n }\n\n getAxisProps() {\n return {\n offset: this.offset,\n textSize: this.textSize,\n type: this.asProps.type,\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n getPolygonProps({ dataKey }) {\n const { data, scale, angleOffset } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n angleOffset,\n };\n }\n\n getHoverProps() {\n return {\n type: this.asProps.type,\n offset: this.offset,\n categories: this.asProps.data[this.categoriesKey],\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n render() {\n const SRadar = this.Element;\n const { Children, style, size, data, offset } = this.asProps;\n const [width, height] = size;\n\n this.asProps.dataHintsHandler.establishDataType('indexed-groups');\n\n let dataKey;\n React.Children.toArray(getOriginChildren(Children)).forEach((child) => {\n if (React.isValidElement(child) && child.type === Radar.Axis) {\n dataKey = child.props.dataKey;\n }\n });\n if (dataKey) {\n if (offset === undefined) {\n // +5 because font might not be loaded and just in case)\n this.computeOffset = computeTextWidth(data[dataKey], this.textSize) + MINIMUM_OFFSET;\n }\n this.categoriesKey = dataKey;\n }\n\n return sstyled(style)(\n <SRadar\n aria-hidden\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / 2})`}\n />,\n );\n }\n}\n\nclass PolygonRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ scale, curve = curveLinearClosed, size, offset, angleOffset }) => {\n scale.range([0, Math.min(size[0], size[1]) / 2 - offset]);\n\n return {\n d3: lineRadial()\n .curve(curve)\n .radius((d) => {\n return scale(d || 0);\n })\n .angle((d, i, data) => {\n return (i / data.length) * 2 * Math.PI - angleOffset;\n }),\n };\n };\n\n getDotsProps() {\n const { data, scale, color, transparent, dataKey, dataHintsHandler, angleOffset } =\n this.asProps;\n return {\n data,\n scale,\n color,\n transparent,\n categoryKey: dataKey,\n dataHintsHandler,\n angleOffset,\n };\n }\n\n getLineProps() {\n const { d3, data, color, transparent } = this.asProps;\n return {\n data,\n color,\n transparent,\n d3,\n };\n }\n\n render() {\n const { Element: SPolygon, styles, d3, data, color, fill } = this.asProps;\n return sstyled(styles)(<SPolygon render=\"path\" d={d3(data)} color={fill || color} />);\n }\n}\n\nfunction PolygonLine(props) {\n const { Element: SPolygonLine, styles, d3, color, data, transparent } = props;\n return sstyled(styles)(\n <SPolygonLine render=\"path\" d={d3(data)} color={color} transparent={transparent} />,\n );\n}\n\nfunction PolygonDots(props) {\n const {\n Element: SPolygonDot,\n styles,\n color,\n data,\n scale,\n transparent,\n categoryKey,\n angleOffset,\n } = props;\n return data.map((value, i) => {\n if (value === null || value === undefined) return;\n const radius = scale(value);\n props.dataHintsHandler.describeGroupedValues(categoryKey, `${categoryKey}.${i}`);\n const [cx, cy] = getRadianPosition(i, radius, data.length, angleOffset);\n return sstyled(styles)(\n <SPolygonDot\n key={i}\n render=\"circle\"\n cx={cx}\n cy={cy}\n color={color}\n transparent={transparent}\n />,\n );\n });\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ data, dataKey }) => {\n const categories = data[dataKey];\n return {\n categories,\n };\n };\n\n unsubscribeTooltipVisible = null;\n\n state = {\n activeLineIndex: null,\n };\n\n createLineRadial(radius, total) {\n return lineRadial()\n .curve(curveLinearClosed)\n .radius(() => {\n return radius;\n })\n .angle((d, i) => {\n return (i / total) * 2 * Math.PI;\n });\n }\n\n getTicksProps({ tickSize = 100 }) {\n const { data, offset, categories, size, type } = this.asProps;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return {\n type,\n data,\n categories,\n ticks: getTicks(tickSize, radius),\n offset,\n d3: this.createLineRadial(radius, categories.length),\n };\n }\n\n getLabelsProps({ labelOffset = 10 }) {\n const { offset, categories, textSize, angleOffset } = this.asProps;\n return {\n categories,\n textSize,\n offset: offset - labelOffset,\n angleOffset,\n };\n }\n\n handlerTooltipVisible = (visible, { index }) => {\n this.setState({\n activeLineIndex: index,\n });\n };\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'onTooltipVisible',\n this.handlerTooltipVisible,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeTooltipVisible) {\n this.unsubscribeTooltipVisible();\n }\n }\n\n render() {\n const { Element: SAxis, styles, categories, size, offset, type, angleOffset } = this.asProps;\n const { activeLineIndex } = this.state;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n const total = categories.length;\n\n return sstyled(styles)(\n <>\n {type === 'circle' ? (\n <SAxis render=\"circle\" cx={0} cy={0} r={radius} />\n ) : (\n <SAxis render=\"path\" d={this.createLineRadial(radius, total)(categories)} />\n )}\n {categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, total, angleOffset);\n const { className } = sstyled(styles).cn('SAxisLine', {\n active: activeLineIndex === i,\n });\n return <line key={i} x1={0} y1={0} x2={x} y2={y} className={className} />;\n })}\n </>,\n );\n }\n}\n\nfunction AxisTicks(props) {\n const { Element: SAxisTick, styles, size, ticks, d3, categories, offset, type } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return ticks.map((tick, i) => {\n d3.radius(() => radius * tick);\n return sstyled(styles)(\n type === 'circle' ? (\n <SAxisTick key={i} render=\"circle\" cx={0} cy={0} r={radius * tick} />\n ) : (\n <SAxisTick render=\"path\" key={i} d={d3(categories)} />\n ),\n );\n });\n}\n\nfunction AxisLabels(props) {\n const { Element: SAxisLabel, styles, textSize, size, offset, categories, angleOffset } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, categories.length, angleOffset);\n const [xDirection, yDirection] = getLabelPlacement(i, categories.length, angleOffset);\n if (typeof category === 'string') {\n props.dataHintsHandler.labelKey('value', i, category);\n\n const lines = category.split('\\n');\n return sstyled(styles)(\n <SAxisLabel\n key={i}\n render=\"text\"\n childrenPosition=\"inside\"\n x={x}\n y={y}\n xDirection={xDirection}\n yDirection={yDirection}\n >\n {lines.map((lineText, lineIndex) => (\n <tspan\n x={x}\n y={y + (lineIndex - (lines.length - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </tspan>\n ))}\n </SAxisLabel>,\n );\n }\n if (React.isValidElement(category)) {\n const { width = 0, height = 0 } = category?.props;\n const [xOffset, yOffset] = getLabelOffsetPosition(xDirection, yDirection, width, height);\n return cloneElement(category, {\n key: i,\n x: x - xOffset,\n y: y - yOffset,\n });\n }\n });\n}\n\nclass Hover extends Component {\n state = {\n index: null,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n unsubscribeMouseMoveRoot = null;\n unsubscribeMouseLeaveRoot = null;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getPolygon(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const total = categories.length;\n const diam = Math.min(size[0], size[1]);\n const radius = diam / 2 - offset;\n const prevIndex = (index - 1 + total) % total;\n const nextIndex = (index + 1 + total) % total;\n const [prevX1, prevY1] = getRadianPosition(prevIndex, radius, total, angleOffset);\n const [x, y] = getRadianPosition(index, radius, total, angleOffset);\n const [nextX1, nextY1] = getRadianPosition(nextIndex, radius, total, angleOffset);\n return [\n [0, 0],\n [(prevX1 + x) / 2, (prevY1 + y) / 2],\n [x, y],\n [(nextX1 + x) / 2, (nextY1 + y) / 2],\n ];\n }\n\n getPie(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const angle = (Math.PI * 2) / categories.length;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return [\n index * angle - angle / 2 - angleOffset,\n (index + 1) * angle - angle / 2 - angleOffset,\n radius,\n ];\n }\n\n getIndex(point) {\n const { categories, type } = this.asProps;\n let index;\n if (type === 'circle') {\n index = categories.findIndex((c, i) => pieContains(this.getPie(i), point));\n } else {\n index = categories.findIndex((c, i) => polygonContains(this.getPolygon(i), point));\n }\n return index === -1 ? null : index;\n }\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, size, rootRef } = this.asProps;\n const point = eventToPoint(e, rootRef.current);\n const diam = Math.min(size[0], size[1]);\n const centerX = point[0] - diam / 2;\n const centerY = point[1] - diam / 2;\n const { clientX, clientY } = e;\n // @ts-ignore\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n const index = this.getIndex([centerX, centerY]);\n\n this.setState(\n {\n index,\n },\n () => {\n eventEmitter.emit('onTooltipVisible', index !== null, { index }, this.virtualElement);\n },\n );\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n this.setState(\n {\n index: null,\n },\n () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, { index: null });\n },\n );\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveRoot', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveRoot',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n\n render() {\n const { styles, type } = this.asProps;\n const { index } = this.state;\n const SPieRect = this.Element;\n\n if (index !== null) {\n if (type === 'circle') {\n const [startAngle, endAngle, radius] = this.getPie(index);\n const circle = arc()\n .innerRadius(0)\n .outerRadius(radius)\n .startAngle(startAngle)\n .endAngle(endAngle);\n return sstyled(styles)(\n <SPieRect\n render=\"path\"\n // @ts-ignore\n d={circle()}\n />,\n );\n } else {\n return sstyled(styles)(\n <SPieRect\n render=\"path\"\n // @ts-ignore\n d={line()(this.getPolygon(index))}\n />,\n );\n }\n }\n\n return null;\n }\n}\n\nconst Axis = createElement(AxisRoot, {\n Ticks: AxisTicks,\n Labels: AxisLabels,\n});\n\nconst Polygon = createElement(PolygonRoot, {\n Line: PolygonLine,\n Dots: PolygonDots,\n});\n\nconst Radar = createElement(RadarRoot, {\n Axis,\n Polygon,\n Hover,\n});\n\nexport default Radar;\n"],"mappings":"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"}