@semcore/d3-chart 16.0.6 → 16.1.0-prerelease.1
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.
- package/CHANGELOG.md +25 -0
- package/lib/cjs/Area.js +55 -30
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +16 -16
- package/lib/cjs/Bubble.js +28 -15
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/CompactHorizontalBar.js +31 -19
- package/lib/cjs/CompactHorizontalBar.js.map +1 -1
- package/lib/cjs/Donut.js +31 -16
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +24 -10
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +16 -16
- package/lib/cjs/Hover.js +3 -3
- package/lib/cjs/Line.js +51 -25
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +206 -176
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +12 -12
- package/lib/cjs/Reference.js +12 -12
- package/lib/cjs/ScatterPlot.js +22 -10
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/Tooltip.js +9 -9
- package/lib/cjs/Venn.js +32 -15
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/lib/cjs/component/Chart/AreaChart.js +6 -3
- package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
- package/lib/cjs/component/Chart/AreaChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/BubbleChart.js +2 -0
- package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
- package/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/DonutChart.js +3 -1
- package/lib/cjs/component/Chart/DonutChart.js.map +1 -1
- package/lib/cjs/component/Chart/DonutChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/LineChart.js +4 -2
- package/lib/cjs/component/Chart/LineChart.js.map +1 -1
- package/lib/cjs/component/Chart/LineChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/RadarChart.js +3 -1
- package/lib/cjs/component/Chart/RadarChart.js.map +1 -1
- package/lib/cjs/component/Chart/RadarChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/ScatterPlotChart.js +3 -1
- package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/cjs/component/Chart/ScatterPlotChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/VennChart.js +6 -2
- package/lib/cjs/component/Chart/VennChart.js.map +1 -1
- package/lib/cjs/component/Chart/VennChart.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/lib/cjs/types/Area.d.js.map +1 -1
- package/lib/cjs/types/Bubble.d.js.map +1 -1
- package/lib/cjs/types/Donut.d.js.map +1 -1
- package/lib/cjs/types/Line.d.js.map +1 -1
- package/lib/cjs/types/Radar.d.js.map +1 -1
- package/lib/cjs/types/ScatterPlot.d.js.map +1 -1
- package/lib/es6/Area.js +56 -31
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +16 -16
- package/lib/es6/Bubble.js +28 -15
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/CompactHorizontalBar.js +31 -19
- package/lib/es6/CompactHorizontalBar.js.map +1 -1
- package/lib/es6/Donut.js +31 -16
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +24 -10
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/HorizontalBar.js +16 -16
- package/lib/es6/Hover.js +3 -3
- package/lib/es6/Line.js +52 -26
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +206 -176
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +12 -12
- package/lib/es6/Reference.js +12 -12
- package/lib/es6/ScatterPlot.js +22 -10
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/Tooltip.js +9 -9
- package/lib/es6/Venn.js +32 -15
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yView.js +2 -2
- package/lib/es6/component/Chart/AreaChart.js +6 -3
- package/lib/es6/component/Chart/AreaChart.js.map +1 -1
- package/lib/es6/component/Chart/AreaChart.type.js.map +1 -1
- package/lib/es6/component/Chart/BubbleChart.js +2 -0
- package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
- package/lib/es6/component/Chart/BubbleChart.type.js.map +1 -1
- package/lib/es6/component/Chart/DonutChart.js +3 -1
- package/lib/es6/component/Chart/DonutChart.js.map +1 -1
- package/lib/es6/component/Chart/DonutChart.type.js.map +1 -1
- package/lib/es6/component/Chart/LineChart.js +4 -2
- package/lib/es6/component/Chart/LineChart.js.map +1 -1
- package/lib/es6/component/Chart/LineChart.type.js.map +1 -1
- package/lib/es6/component/Chart/RadarChart.js +3 -1
- package/lib/es6/component/Chart/RadarChart.js.map +1 -1
- package/lib/es6/component/Chart/RadarChart.type.js.map +1 -1
- package/lib/es6/component/Chart/ScatterPlotChart.js +3 -1
- package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/es6/component/Chart/ScatterPlotChart.type.js.map +1 -1
- package/lib/es6/component/Chart/VennChart.js +6 -2
- package/lib/es6/component/Chart/VennChart.js.map +1 -1
- package/lib/es6/component/Chart/VennChart.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/lib/es6/types/Area.d.js.map +1 -1
- package/lib/es6/types/Bubble.d.js.map +1 -1
- package/lib/es6/types/Donut.d.js.map +1 -1
- package/lib/es6/types/Line.d.js.map +1 -1
- package/lib/es6/types/Radar.d.js.map +1 -1
- package/lib/es6/types/ScatterPlot.d.js.map +1 -1
- package/lib/esm/Area.mjs +33 -17
- package/lib/esm/Axis.mjs +15 -15
- package/lib/esm/Bar.mjs +17 -17
- package/lib/esm/Bubble.mjs +28 -16
- package/lib/esm/CompactHorizontalBar.mjs +31 -20
- package/lib/esm/Donut.mjs +32 -18
- package/lib/esm/Dots.mjs +21 -11
- package/lib/esm/HorizontalBar.mjs +17 -17
- package/lib/esm/Hover.mjs +4 -4
- package/lib/esm/Line.mjs +32 -15
- package/lib/esm/Plot.mjs +4 -4
- package/lib/esm/Radar.mjs +119 -96
- package/lib/esm/RadialTree.mjs +13 -13
- package/lib/esm/Reference.mjs +13 -13
- package/lib/esm/ScatterPlot.mjs +23 -11
- package/lib/esm/Tooltip.mjs +10 -10
- package/lib/esm/Venn.mjs +31 -16
- package/lib/esm/a11y/PlotA11yModule.mjs +3 -3
- package/lib/esm/a11y/PlotA11yView.mjs +3 -3
- package/lib/esm/component/Chart/AreaChart.mjs +5 -3
- package/lib/esm/component/Chart/BubbleChart.mjs +2 -0
- package/lib/esm/component/Chart/DonutChart.mjs +2 -1
- package/lib/esm/component/Chart/LineChart.mjs +3 -2
- package/lib/esm/component/Chart/RadarChart.mjs +2 -1
- package/lib/esm/component/Chart/ScatterPlotChart.mjs +2 -1
- package/lib/esm/component/Chart/VennChart.mjs +4 -2
- package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +5 -5
- package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +18 -18
- package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +7 -7
- package/lib/types/Area.d.ts +2 -0
- package/lib/types/Bubble.d.ts +2 -0
- package/lib/types/Donut.d.ts +2 -0
- package/lib/types/Line.d.ts +2 -0
- package/lib/types/Radar.d.ts +2 -0
- package/lib/types/ScatterPlot.d.ts +2 -0
- package/lib/types/component/Chart/AreaChart.type.d.ts +2 -0
- package/lib/types/component/Chart/BubbleChart.type.d.ts +2 -0
- package/lib/types/component/Chart/DonutChart.type.d.ts +4 -1
- package/lib/types/component/Chart/LineChart.type.d.ts +2 -0
- package/lib/types/component/Chart/RadarChart.type.d.ts +2 -0
- package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +2 -0
- package/lib/types/component/Chart/VennChart.type.d.ts +4 -1
- package/package.json +16 -16
package/lib/cjs/Radar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radar.js","names":["_core","require","_canUseDOM","_interopRequireDefault","_getOriginChildren","_rafTrottle","_uniqueID","_d3Polygon","_d3Shape","_react","_interopRequireWildcard","_createElement","_Pattern","_Tooltip","_utils","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct2","Reflect","construct","constructor","apply","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","measureText","React","isValidElement","_text$props","_text$props2","max","props","width","height","_toConsumableArray2","getTicks","tickSize","radius","ticks","trunc","Array","keys","reduce","_t","push","pieContains","_ref11","_ref12","_ref13","_slicedToArray2","startAngle","endAngle","_ref14","x","y","distance","sqrt","pow","atan2","prevAngle","nextAngle","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","concat","MINIMUM_OFFSET","RadarRoot","_Component","_this","_classCallCheck2","_len","args","_key","_defineProperty2","_inherits2","_createClass2","key","get","_this$asProps","asProps","id","uid","offset","computeOffset","value","getAxisProps","type","getPolygonProps","_ref15","index","dataKey","_this$asProps2","data","scale","patterns","color","getChartDefaultColorName","getHoverProps","categories","categoriesKey","render","_ref2","SRadar","Element","_this$asProps3","Children","styles","size","_size","dataHintsHandler","establishDataType","toArray","getOriginChildren","forEach","child","Radar","Axis","createElement","cn","Component","uniqueIDEnhancement","PolygonRoot","_Component2","getDotsProps","_this$asProps4","resolveColor","transparent","categoryKey","getLineProps","_this$asProps5","d3","_ref3","_this$asProps6","SPolygon","fill","Fragment","PatternFill","_ref20","_ref20$curve","curve","curveLinearClosed","min","lineRadial","d","_d","PolygonLine","_ref4","SPolygonLine","PolygonDots","SPolygonDot","_ref6","describeGroupedValues","_getRadianPosition","_getRadianPosition2","cx","cy","_ref5","patternKey","_getPatternSymbolSize","getPatternSymbolSize","_getPatternSymbolSize2","PatternSymbol","AxisRoot","_Component3","_this2","_len2","_key2","activeLineIndex","_anchorProps","_ref16","setState","createLineRadial","getTicksProps","_ref17","_ref17$tickSize","_this$asProps7","getLabelsProps","_ref18","_ref18$labelOffset","labelOffset","_this$asProps8","componentDidMount","eventEmitter","unsubscribeTooltipVisible","subscribe","handleTooltipRenderingProps","componentWillUnmount","_this$unsubscribeTool","call","_ref7","_this$asProps9","SAxis","state","_category","_getRadianPosition3","_getRadianPosition4","_sstyled$cn","active","className","x1","y1","x2","y2","_ref21","AxisTicks","SAxisTick","tick","_ref8","AxisLabels","SAxisLabel","category","_getRadianPosition5","_getRadianPosition6","_getLabelPlacement","_getLabelPlacement2","_ref9","labelKey","lines","split","lineText","lineIndex","_category$props","_ref19","_ref19$width","_ref19$height","_getLabelOffsetPositi","_getLabelOffsetPositi2","cloneElement","Hover","_Component4","_this3","_len3","_key3","canUseDOM","document","trottle","_this3$asProps","rootRef","point","eventToPoint","current","diam","centerX","centerY","clientX","clientY","getIndex","emit","generateGetBoundingClientRect","top","right","bottom","left","getPolygon","_this$asProps0","prevIndex","nextIndex","_getRadianPosition7","_getRadianPosition8","prevX1","prevY1","_getRadianPosition9","_getRadianPosition0","_getRadianPosition1","_getRadianPosition10","nextX1","nextY1","getPie","_this$asProps1","_this4","_this$asProps10","findIndex","_c","polygonContains","_this5","unsubscribeMouseMoveRoot","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","_this$asProps11","SPieRect","_ref0","_this$getPie","_this$getPie2","circle","arc","innerRadius","outerRadius","_ref1","line","Ticks","Labels","Polygon","Line","Dots","RadarTooltip","_ref","arguments[0]","_ref10","SRadarTooltip","Tooltip","_objectSpread2","assignProps","_______childrenComponents","_default","exports"],"sources":["../../src/Radar.jsx"],"sourcesContent":["import { Component, sstyled, Root } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport trottle from '@semcore/core/lib/utils/rafTrottle';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { polygonContains } from 'd3-polygon';\nimport { line, lineRadial, curveLinearClosed, arc } from 'd3-shape';\nimport React, { cloneElement } from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill, PatternSymbol, getPatternSymbolSize } from './Pattern';\nimport style from './style/radar.shadow.css';\nimport Tooltip from './Tooltip';\nimport { eventToPoint, getChartDefaultColorName, measureText } from './utils';\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 }, index) {\n const { data, scale, angleOffset, uid, patterns } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n angleOffset,\n color: getChartDefaultColorName(index),\n uid: `${uid}-${index}`,\n patterns,\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, styles, 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(styles)(\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 {\n data,\n scale,\n color,\n resolveColor,\n transparent,\n dataKey,\n dataHintsHandler,\n angleOffset,\n patterns,\n } = this.asProps;\n return {\n data,\n scale,\n color,\n resolveColor,\n transparent,\n categoryKey: dataKey,\n dataHintsHandler,\n angleOffset,\n patterns,\n };\n }\n\n getLineProps() {\n const { d3, data, color, resolveColor, transparent } = this.asProps;\n return {\n data,\n color,\n resolveColor,\n transparent,\n d3,\n };\n }\n\n render() {\n const {\n Element: SPolygon,\n styles,\n d3,\n data,\n color,\n resolveColor,\n fill,\n uid,\n patterns,\n } = this.asProps;\n return (\n <>\n {sstyled(styles)(\n <SPolygon\n render='path'\n d={d3(data)}\n color={resolveColor(fill || color)}\n pattern={patterns ? `url(#${uid}-pattern)` : undefined}\n />,\n )}\n {patterns && (\n <PatternFill\n id={`${uid}-pattern`}\n patternKey={color}\n color={resolveColor(fill || color)}\n patterns={patterns}\n />\n )}\n </>\n );\n }\n}\n\nfunction PolygonLine(props) {\n const { Element: SPolygonLine, styles, d3, color, resolveColor, data, transparent } = props;\n return sstyled(styles)(\n <SPolygonLine\n render='path'\n d={d3(data)}\n color={resolveColor(color)}\n transparent={transparent}\n />,\n );\n}\n\nfunction PolygonDots(props) {\n const {\n Element: SPolygonDot,\n styles,\n color,\n resolveColor,\n data,\n scale,\n transparent,\n categoryKey,\n angleOffset,\n patterns,\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\n if (!patterns) {\n return sstyled(styles)(\n <SPolygonDot\n render='circle'\n color={resolveColor(color)}\n transparent={transparent}\n patternKey={color}\n key={`${i}`}\n cx={cx}\n cy={cy}\n />,\n );\n }\n\n const patternKey = color || getChartDefaultColorName(0);\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n return sstyled(styles)(\n <SPolygonDot\n render={PatternSymbol}\n color={resolveColor(color)}\n transparent={transparent}\n patternKey={color}\n key={`${i}`}\n x={cx - width / 2}\n y={cy - height / 2}\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 handleTooltipRenderingProps = (_anchorProps, { index }) => {\n this.setState({ activeLineIndex: index });\n };\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'setTooltipRenderingProps',\n this.handleTooltipRenderingProps,\n );\n }\n\n componentWillUnmount() {\n this.unsubscribeTooltipVisible?.();\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 ? (\n <SAxis render='circle' cx={0} cy={0} r={radius} />\n )\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 ? (\n <SAxisTick key={i} render='circle' cx={0} cy={0} r={radius * tick} />\n )\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, patterns } = 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\n const index = this.getIndex([centerX, centerY]);\n\n this.setState({ index }, () => {\n eventEmitter.emit('setTooltipPosition', clientX, clientY);\n eventEmitter.emit('setTooltipRenderingProps', {}, { index, patterns });\n eventEmitter.emit('setTooltipVisible', index !== null);\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n this.setState({ index: null }, () => {\n this.asProps.eventEmitter.emit('setTooltipVisible', false);\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 RadarTooltip = (props) => {\n const SRadarTooltip = Root;\n return sstyled(props.styles)(\n <SRadarTooltip render={Tooltip} tag={Radar.Hover} excludeAnchorProps />,\n );\n};\n\nconst Radar = createElement(RadarRoot, {\n Axis,\n Polygon,\n Hover,\n Tooltip: [RadarTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Radar;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Radar.js","names":["_core","require","_canUseDOM","_interopRequireDefault","_getOriginChildren","_rafTrottle","_uniqueID","_d3Polygon","_d3Shape","_react","_interopRequireWildcard","_createElement","_Pattern","_Tooltip","_utils","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct2","Reflect","construct","constructor","apply","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","measureText","React","isValidElement","_text$props","_text$props2","max","props","width","height","_toConsumableArray2","getTicks","tickSize","radius","ticks","trunc","Array","keys","reduce","_t","push","pieContains","_ref11","_ref12","_ref13","_slicedToArray2","startAngle","endAngle","_ref14","x","y","distance","sqrt","pow","atan2","prevAngle","nextAngle","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","concat","MINIMUM_OFFSET","RadarRoot","_Component","_this","_classCallCheck2","_len","args","_key","_defineProperty2","_inherits2","_createClass2","key","get","_this$asProps","asProps","id","uid","offset","computeOffset","value","getAxisProps","type","getPolygonProps","_ref15","index","dataKey","_this$asProps2","data","scale","patterns","color","getChartDefaultColorName","getHoverProps","categories","categoriesKey","getIndex","bind","getPolygon","getPie","point","_this2","_this$asProps3","findIndex","_c","polygonContains","_this$asProps4","size","diam","min","prevIndex","nextIndex","_getRadianPosition","_getRadianPosition2","prevX1","prevY1","_getRadianPosition3","_getRadianPosition4","_getRadianPosition5","_getRadianPosition6","nextX1","nextY1","_this$asProps5","handlerOnClick","stopPropagation","_this$asProps6","rootRef","onClick","_eventToPoint","eventToPoint","current","_eventToPoint2","pointX","pointY","r","centerX","centerY","render","_ref2","SRadar","Element","_this$asProps7","Children","styles","_size","dataHintsHandler","establishDataType","toArray","getOriginChildren","forEach","child","Radar","Axis","createElement","cn","Component","uniqueIDEnhancement","PolygonRoot","_Component2","getDotsProps","_this$asProps8","resolveColor","transparent","categoryKey","getLineProps","_this$asProps9","d3","_ref3","_this$asProps0","SPolygon","fill","Fragment","PatternFill","_ref20","_ref20$curve","curve","curveLinearClosed","lineRadial","d","_d","PolygonLine","_ref4","SPolygonLine","PolygonDots","SPolygonDot","_ref6","describeGroupedValues","_getRadianPosition7","_getRadianPosition8","cx","cy","_ref5","patternKey","_getPatternSymbolSize","getPatternSymbolSize","_getPatternSymbolSize2","PatternSymbol","AxisRoot","_Component3","_this3","_len2","_key2","activeLineIndex","_anchorProps","_ref16","setState","createLineRadial","getTicksProps","_ref17","_ref17$tickSize","_this$asProps1","getLabelsProps","_ref18","_ref18$labelOffset","labelOffset","_this$asProps10","componentDidMount","eventEmitter","unsubscribeTooltipVisible","subscribe","handleTooltipRenderingProps","componentWillUnmount","_this$unsubscribeTool","call","_ref7","_this$asProps11","SAxis","state","_category","_getRadianPosition9","_getRadianPosition0","_sstyled$cn","active","className","x1","y1","x2","y2","_ref21","AxisTicks","SAxisTick","tick","_ref8","AxisLabels","SAxisLabel","category","_getRadianPosition1","_getRadianPosition10","_getLabelPlacement","_getLabelPlacement2","_ref9","labelKey","lines","split","lineText","lineIndex","_category$props","_ref19","_ref19$width","_ref19$height","_getLabelOffsetPositi","_getLabelOffsetPositi2","cloneElement","Hover","_Component4","_this4","_len3","_key3","canUseDOM","document","trottle","_this4$asProps","clientX","clientY","emit","generateGetBoundingClientRect","top","right","bottom","left","_this5","unsubscribeMouseMoveRoot","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","_this$asProps12","SPieRect","_ref0","_getPie","_getPie2","circle","arc","innerRadius","outerRadius","_ref1","line","Ticks","Labels","Polygon","Line","Dots","RadarTooltip","_ref","arguments[0]","_ref10","SRadarTooltip","Tooltip","_objectSpread2","assignProps","_______childrenComponents","_default","exports"],"sources":["../../src/Radar.jsx"],"sourcesContent":["import { Component, sstyled, Root } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport trottle from '@semcore/core/lib/utils/rafTrottle';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { polygonContains } from 'd3-polygon';\nimport { line, lineRadial, curveLinearClosed, arc } from 'd3-shape';\nimport React, { cloneElement } from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill, PatternSymbol, getPatternSymbolSize } from './Pattern';\nimport style from './style/radar.shadow.css';\nimport Tooltip from './Tooltip';\nimport { eventToPoint, getChartDefaultColorName, measureText } from './utils';\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 }, index) {\n const { data, scale, angleOffset, uid, patterns } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n angleOffset,\n color: getChartDefaultColorName(index),\n uid: `${uid}-${index}`,\n patterns,\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 getIndex: this.getIndex.bind(this),\n getPolygon: this.getPolygon.bind(this),\n getPie: this.getPie.bind(this),\n };\n }\n\n getIndex(point) {\n const { data, type } = this.asProps;\n const categories = data[this.categoriesKey];\n\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 getPolygon(index) {\n const { data, size, angleOffset } = this.asProps;\n const offset = this.offset;\n const categories = data[this.categoriesKey];\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 { data, size, angleOffset } = this.asProps;\n const categories = data[this.categoriesKey];\n const offset = this.offset;\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 handlerOnClick(e) {\n e.stopPropagation();\n\n const { rootRef, size, onClick } = this.asProps;\n\n if (!onClick) return;\n\n const [pointX, pointY] = eventToPoint(e, rootRef.current);\n const r = Math.min(size[0], size[1]) / 2;\n const centerX = pointX - r;\n const centerY = pointY - r;\n\n const index = this.getIndex([centerX, centerY]);\n\n if (index === null) return;\n\n onClick(index, e);\n }\n\n render() {\n const SRadar = this.Element;\n const { Children, styles, 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(styles)(\n <SRadar\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / 2})`}\n onClickCapture={this.handlerOnClick.bind(this)}\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 {\n data,\n scale,\n color,\n resolveColor,\n transparent,\n dataKey,\n dataHintsHandler,\n angleOffset,\n patterns,\n } = this.asProps;\n return {\n data,\n scale,\n color,\n resolveColor,\n transparent,\n categoryKey: dataKey,\n dataHintsHandler,\n angleOffset,\n patterns,\n };\n }\n\n getLineProps() {\n const { d3, data, color, resolveColor, transparent } = this.asProps;\n return {\n data,\n color,\n resolveColor,\n transparent,\n d3,\n };\n }\n\n render() {\n const {\n Element: SPolygon,\n styles,\n d3,\n data,\n color,\n resolveColor,\n fill,\n uid,\n patterns,\n } = this.asProps;\n return (\n <>\n {sstyled(styles)(\n <SPolygon\n render='path'\n d={d3(data)}\n color={resolveColor(fill || color)}\n pattern={patterns ? `url(#${uid}-pattern)` : undefined}\n />,\n )}\n {patterns && (\n <PatternFill\n id={`${uid}-pattern`}\n patternKey={color}\n color={resolveColor(fill || color)}\n patterns={patterns}\n />\n )}\n </>\n );\n }\n}\n\nfunction PolygonLine(props) {\n const { Element: SPolygonLine, styles, d3, color, resolveColor, data, transparent } = props;\n return sstyled(styles)(\n <SPolygonLine\n render='path'\n d={d3(data)}\n color={resolveColor(color)}\n transparent={transparent}\n />,\n );\n}\n\nfunction PolygonDots(props) {\n const {\n Element: SPolygonDot,\n styles,\n color,\n resolveColor,\n data,\n scale,\n transparent,\n categoryKey,\n angleOffset,\n patterns,\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\n if (!patterns) {\n return sstyled(styles)(\n <SPolygonDot\n render='circle'\n color={resolveColor(color)}\n transparent={transparent}\n patternKey={color}\n key={`${i}`}\n cx={cx}\n cy={cy}\n />,\n );\n }\n\n const patternKey = color || getChartDefaultColorName(0);\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n return sstyled(styles)(\n <SPolygonDot\n render={PatternSymbol}\n color={resolveColor(color)}\n transparent={transparent}\n patternKey={color}\n key={`${i}`}\n x={cx - width / 2}\n y={cy - height / 2}\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 handleTooltipRenderingProps = (_anchorProps, { index }) => {\n this.setState({ activeLineIndex: index });\n };\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'setTooltipRenderingProps',\n this.handleTooltipRenderingProps,\n );\n }\n\n componentWillUnmount() {\n this.unsubscribeTooltipVisible?.();\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 ? (\n <SAxis render='circle' cx={0} cy={0} r={radius} />\n )\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 ? (\n <SAxisTick key={i} render='circle' cx={0} cy={0} r={radius * tick} />\n )\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 handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, size, rootRef, patterns, getIndex } = 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\n const index = getIndex([centerX, centerY]);\n\n this.setState({ index }, () => {\n eventEmitter.emit('setTooltipPosition', clientX, clientY);\n eventEmitter.emit('setTooltipRenderingProps', {}, { index, patterns });\n eventEmitter.emit('setTooltipVisible', index !== null);\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n this.setState({ index: null }, () => {\n this.asProps.eventEmitter.emit('setTooltipVisible', false);\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, getPie, getPolygon } = 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] = 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()(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 RadarTooltip = (props) => {\n const SRadarTooltip = Root;\n return sstyled(props.styles)(\n <SRadarTooltip render={Tooltip} tag={Radar.Hover} excludeAnchorProps />,\n );\n};\n\nconst Radar = createElement(RadarRoot, {\n Axis,\n Polygon,\n Hover,\n Tooltip: [RadarTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Radar;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/cjs/RadialTree.js
CHANGED
|
@@ -29,20 +29,20 @@ var _utils = require("./utils");
|
|
|
29
29
|
var _excluded = ["data"];
|
|
30
30
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, (0, _isNativeReflectConstruct2["default"])() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
31
31
|
/*!__reshadow-styles__:"./style/radial-tree.shadow.css"*/
|
|
32
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
32
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SRadian_zc1qp_gg_{cursor:pointer;fill:var(--intergalactic-text-large-info, #008ff8)}.___SLine_zc1qp_gg_{stroke:var(--intergalactic-text-large-info, #008ff8)}.___SLine_zc1qp_gg_.__stroke_zc1qp_gg_{stroke:var(--stroke_zc1qp)}.___SLine_zc1qp_gg_.__transparent_zc1qp_gg_{opacity:.3}.___SCap_zc1qp_gg_{transition:r .1s}.___SCap_zc1qp_gg_.__pattern_zc1qp_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:1px}.___SCap_zc1qp_gg_.__transparent_zc1qp_gg_,.___SIcon_zc1qp_gg_.__transparent_zc1qp_gg_,.___SLabel_zc1qp_gg_.__transparent_zc1qp_gg_{opacity:.3}.___SLabel_zc1qp_gg_{fill:var(--color_zc1qp)}@media (hover:hover){.___SRadian_zc1qp_gg_:hover .___SLabel_zc1qp_gg_{cursor:pointer;filter:brightness(.6)}}@media (prefers-reduced-motion){.___SLineCap_zc1qp_gg_{transition:none}}", /*__inner_css_end__*/"zc1qp_gg_"),
|
|
33
33
|
/*__reshadow_css_end__*/
|
|
34
34
|
{
|
|
35
|
-
"__SRadian": "
|
|
36
|
-
"__SLine": "
|
|
37
|
-
"_stroke": "
|
|
38
|
-
"--stroke": "--
|
|
39
|
-
"_transparent": "
|
|
40
|
-
"__SCap": "
|
|
41
|
-
"_pattern": "
|
|
42
|
-
"__SIcon": "
|
|
43
|
-
"__SLabel": "
|
|
44
|
-
"--color": "--
|
|
45
|
-
"__SLineCap": "
|
|
35
|
+
"__SRadian": "___SRadian_zc1qp_gg_",
|
|
36
|
+
"__SLine": "___SLine_zc1qp_gg_",
|
|
37
|
+
"_stroke": "__stroke_zc1qp_gg_",
|
|
38
|
+
"--stroke": "--stroke_zc1qp",
|
|
39
|
+
"_transparent": "__transparent_zc1qp_gg_",
|
|
40
|
+
"__SCap": "___SCap_zc1qp_gg_",
|
|
41
|
+
"_pattern": "__pattern_zc1qp_gg_",
|
|
42
|
+
"__SIcon": "___SIcon_zc1qp_gg_",
|
|
43
|
+
"__SLabel": "___SLabel_zc1qp_gg_",
|
|
44
|
+
"--color": "--color_zc1qp",
|
|
45
|
+
"__SLineCap": "___SLineCap_zc1qp_gg_"
|
|
46
46
|
});
|
|
47
47
|
var baseAngle = -Math.PI / 2; // The top vertical line
|
|
48
48
|
|
package/lib/cjs/Reference.js
CHANGED
|
@@ -21,20 +21,20 @@ var _createElement = _interopRequireDefault(require("./createElement"));
|
|
|
21
21
|
var _utils = require("./utils");
|
|
22
22
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, (0, _isNativeReflectConstruct2["default"])() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
23
23
|
/*!__reshadow-styles__:"./style/reference.shadow.css"*/
|
|
24
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
24
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SReferenceLine_uwwsc_gg_{fill:none;stroke:var(--intergalactic-chart-grid-y-accent-hover-line, #a9abb6)}.___STitle_uwwsc_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_uwwsc)}.___STitle_uwwsc_gg_._position_top_uwwsc_gg_{text-anchor:middle}.___STitle_uwwsc_gg_._position_bottom_uwwsc_gg_{text-anchor:middle;dominant-baseline:hanging}.___STitle_uwwsc_gg_._position_left_uwwsc_gg_,.___STitle_uwwsc_gg_._position_right_uwwsc_gg_{transform:rotate(-90deg);text-anchor:middle;dominant-baseline:middle}.___SBackground_uwwsc_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}.___SStripes_uwwsc_gg_{fill:var(--fill_uwwsc)}.___SStripesPatternPath_uwwsc_gg_{stroke:var(--intergalactic-chart-grid-period-pattern, rgba(25, 27, 35, 0.15));stroke-width:1px}", /*__inner_css_end__*/"uwwsc_gg_"),
|
|
25
25
|
/*__reshadow_css_end__*/
|
|
26
26
|
{
|
|
27
|
-
"__SReferenceLine": "
|
|
28
|
-
"__STitle": "
|
|
29
|
-
"--transform-origin": "--transform-
|
|
30
|
-
"_position_top": "
|
|
31
|
-
"_position_bottom": "
|
|
32
|
-
"_position_right": "
|
|
33
|
-
"_position_left": "
|
|
34
|
-
"__SBackground": "
|
|
35
|
-
"__SStripes": "
|
|
36
|
-
"--fill": "--
|
|
37
|
-
"__SStripesPatternPath": "
|
|
27
|
+
"__SReferenceLine": "___SReferenceLine_uwwsc_gg_",
|
|
28
|
+
"__STitle": "___STitle_uwwsc_gg_",
|
|
29
|
+
"--transform-origin": "--transform-origin_uwwsc",
|
|
30
|
+
"_position_top": "_position_top_uwwsc_gg_",
|
|
31
|
+
"_position_bottom": "_position_bottom_uwwsc_gg_",
|
|
32
|
+
"_position_right": "_position_right_uwwsc_gg_",
|
|
33
|
+
"_position_left": "_position_left_uwwsc_gg_",
|
|
34
|
+
"__SBackground": "___SBackground_uwwsc_gg_",
|
|
35
|
+
"__SStripes": "___SStripes_uwwsc_gg_",
|
|
36
|
+
"--fill": "--fill_uwwsc",
|
|
37
|
+
"__SStripesPatternPath": "___SStripesPatternPath_uwwsc_gg_"
|
|
38
38
|
});
|
|
39
39
|
var side2direction = {
|
|
40
40
|
left: 'vertical',
|
package/lib/cjs/ScatterPlot.js
CHANGED
|
@@ -25,17 +25,17 @@ var _Tooltip = _interopRequireDefault(require("./Tooltip"));
|
|
|
25
25
|
var _utils = require("./utils");
|
|
26
26
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, (0, _isNativeReflectConstruct2["default"])() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
27
27
|
/*!__reshadow-styles__:"./style/scatterplot.shadow.css"*/
|
|
28
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
28
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SScatterPlot_1aq4j_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_1aq4j);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_1aq4j_gg_:hover{opacity:.8}}.___SScatterPlot_1aq4j_gg_.__color_1aq4j_gg_{fill:var(--color_1aq4j)}.___SScatterPlot_1aq4j_gg_.__pattern_1aq4j_gg_.__color_1aq4j_gg_{fill:var(--pattern_1aq4j);stroke:var(--color_1aq4j);stroke-width:1px}.___SScatterPlot_1aq4j_gg_.__transparent_1aq4j_gg_{opacity:.3}.___SValue_1aq4j_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_1aq4j_gg_.__color_1aq4j_gg_{stroke:var(--color_1aq4j)}.___SValue_1aq4j_gg_.__transparent_1aq4j_gg_{opacity:.3}", /*__inner_css_end__*/"1aq4j_gg_"),
|
|
29
29
|
/*__reshadow_css_end__*/
|
|
30
30
|
{
|
|
31
|
-
"__SScatterPlot": "
|
|
32
|
-
"_color": "
|
|
33
|
-
"--color": "--
|
|
34
|
-
"_pattern": "
|
|
35
|
-
"--pattern": "--
|
|
36
|
-
"_transparent": "
|
|
37
|
-
"__SValue": "
|
|
38
|
-
"--duration": "--
|
|
31
|
+
"__SScatterPlot": "___SScatterPlot_1aq4j_gg_",
|
|
32
|
+
"_color": "__color_1aq4j_gg_",
|
|
33
|
+
"--color": "--color_1aq4j",
|
|
34
|
+
"_pattern": "__pattern_1aq4j_gg_",
|
|
35
|
+
"--pattern": "--pattern_1aq4j",
|
|
36
|
+
"_transparent": "__transparent_1aq4j_gg_",
|
|
37
|
+
"__SValue": "___SValue_1aq4j_gg_",
|
|
38
|
+
"--duration": "--duration_1aq4j"
|
|
39
39
|
});
|
|
40
40
|
var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
41
41
|
function ScatterPlotRoot() {
|
|
@@ -102,6 +102,17 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
102
102
|
value: function componentDidMount() {
|
|
103
103
|
this.animationCircle();
|
|
104
104
|
}
|
|
105
|
+
}, {
|
|
106
|
+
key: "handlerOnClick",
|
|
107
|
+
value: function handlerOnClick(index) {
|
|
108
|
+
var _this2 = this;
|
|
109
|
+
return function (e) {
|
|
110
|
+
e.stopPropagation();
|
|
111
|
+
var onClick = _this2.asProps.onClick;
|
|
112
|
+
if (!onClick) return;
|
|
113
|
+
onClick(index, e);
|
|
114
|
+
};
|
|
115
|
+
}
|
|
105
116
|
}, {
|
|
106
117
|
key: "renderCircle",
|
|
107
118
|
value: function renderCircle(d, i) {
|
|
@@ -141,7 +152,8 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
141
152
|
xIndex: i,
|
|
142
153
|
index: i,
|
|
143
154
|
patterns: patterns
|
|
144
|
-
})
|
|
155
|
+
}),
|
|
156
|
+
"onClickCapture": this.handlerOnClick(i)
|
|
145
157
|
}), /*#__PURE__*/_react["default"].createElement(SScatterPlot, _ref2.cn("SScatterPlot", {
|
|
146
158
|
"aria-hidden": true,
|
|
147
159
|
"id": "".concat(uid).concat(i),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterPlot.js","names":["_core","require","_canUseDOM","_interopRequireDefault","_uniqueID","_d3Transition","_react","_createElement","_Pattern","_Tooltip","_utils","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct2","Reflect","construct","constructor","apply","style","sstyled","insert","ScatterPlotRoot","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","clientX","clientY","eventEmitter","asProps","emit","_inherits2","_createClass2","key","value","generateGetBoundingClientRect","x","undefined","y","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","getScatterPlotRadius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","prevProps","data","componentDidMount","renderCircle","d","i","_ref2","_this$asProps2","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","index","PatternFill","render","_this$asProps3","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","Tooltip","_objectSpread2","assignProps","ScatterPlot","_______childrenComponents","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/scatterplot.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getScatterPlotRadius } from './utils';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\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, tooltipProps) => ({ clientX, clientY }) => {\n const { eventEmitter } = this.asProps;\n\n eventEmitter.emit('setTooltipPosition', clientX, clientY);\n eventEmitter.emit('setTooltipRenderingProps', props, tooltipProps);\n eventEmitter.emit('setTooltipVisible', visible);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : getScatterPlotRadius(value);\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.data !== this.props.data) {\n this.animationCircle();\n }\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n r,\n offset,\n styles,\n uid,\n duration,\n value,\n valueColor,\n transparent,\n resolveColor,\n patterns,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n if (Number.isNaN(d[x]) || Number.isNaN(d[y])) {\n return null;\n }\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i, patterns })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i, patterns })}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\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={resolveColor(color)}\n pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n {d[value] !== undefined && (\n <SValue\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={resolveColor(valueColor)}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\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 <clipPath id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </clipPath>\n </>\n );\n }\n}\n\nconst ScatterPlotTooltip = (props) => {\n const SScatterPlotTooltip = Root;\n return sstyled(props.styles)(<SScatterPlotTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst ScatterPlot = createElement(ScatterPlotRoot, {\n Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents],\n});\n\nexport default ScatterPlot;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ScatterPlot.js","names":["_core","require","_canUseDOM","_interopRequireDefault","_uniqueID","_d3Transition","_react","_createElement","_Pattern","_Tooltip","_utils","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct2","Reflect","construct","constructor","apply","style","sstyled","insert","ScatterPlotRoot","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","clientX","clientY","eventEmitter","asProps","emit","_inherits2","_createClass2","key","value","generateGetBoundingClientRect","x","undefined","y","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","getScatterPlotRadius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","prevProps","data","componentDidMount","handlerOnClick","index","_this2","stopPropagation","onClick","renderCircle","d","i","_ref2","_this$asProps2","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","PatternFill","render","_this$asProps3","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","Tooltip","_objectSpread2","assignProps","ScatterPlot","_______childrenComponents","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/scatterplot.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getScatterPlotRadius } from './utils';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\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, tooltipProps) => ({ clientX, clientY }) => {\n const { eventEmitter } = this.asProps;\n\n eventEmitter.emit('setTooltipPosition', clientX, clientY);\n eventEmitter.emit('setTooltipRenderingProps', props, tooltipProps);\n eventEmitter.emit('setTooltipVisible', visible);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : getScatterPlotRadius(value);\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.data !== this.props.data) {\n this.animationCircle();\n }\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n handlerOnClick(index) {\n return (e) => {\n e.stopPropagation();\n\n const { onClick } = this.asProps;\n\n if (!onClick) return;\n\n onClick(index, e);\n };\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n r,\n offset,\n styles,\n uid,\n duration,\n value,\n valueColor,\n transparent,\n resolveColor,\n patterns,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n if (Number.isNaN(d[x]) || Number.isNaN(d[y])) {\n return null;\n }\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i, patterns })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i, patterns })}\n onClickCapture={this.handlerOnClick(i)}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\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={resolveColor(color)}\n pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n {d[value] !== undefined && (\n <SValue\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={resolveColor(valueColor)}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\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 <clipPath id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </clipPath>\n </>\n );\n }\n}\n\nconst ScatterPlotTooltip = (props) => {\n const SScatterPlotTooltip = Root;\n return sstyled(props.styles)(<SScatterPlotTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst ScatterPlot = createElement(ScatterPlotRoot, {\n Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents],\n});\n\nexport default ScatterPlot;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/cjs/Tooltip.js
CHANGED
|
@@ -26,17 +26,17 @@ var _utils = require("./utils");
|
|
|
26
26
|
var _excluded = ["Children", "children", "tag", "forcedAdvancedMode", "onClick"];
|
|
27
27
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, (0, _isNativeReflectConstruct2["default"])() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
28
28
|
/*!__reshadow-styles__:"./style/tooltip.shadow.css"*/
|
|
29
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
29
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___STooltip_1sevq_gg_{font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);border:1px solid var(--intergalactic-border-secondary, #e0e1e9);box-sizing:border-box;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));padding:var(--intergalactic-spacing-3x, 12px)}.___STitle_1sevq_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SDotGroup_1sevq_gg_{display:flex;align-items:center}.___SDot_1sevq_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDotCircle_1sevq_gg_.__color_1sevq_gg_{background-color:var(--color_1sevq);width:8px;height:8px;border-radius:50%}.___SFooter_1sevq_gg_{background:var(--intergalactic-bg-secondary-neutral, #f4f5f9);padding:var(--intergalactic-spacing-1x, 4px) var(--intergalactic-spacing-3x, 12px);border-radius:0 0 var(--intergalactic-rounded-medium, 6px) var(--intergalactic-rounded-medium, 6px);margin:var(--intergalactic-spacing-3x, 12px) calc(-1*var(--intergalactic-spacing-3x, 12px)) calc(-1*var(--intergalactic-spacing-3x, 12px))}", /*__inner_css_end__*/"1sevq_gg_"),
|
|
30
30
|
/*__reshadow_css_end__*/
|
|
31
31
|
{
|
|
32
|
-
"__STooltip": "
|
|
33
|
-
"__STitle": "
|
|
34
|
-
"__SDotGroup": "
|
|
35
|
-
"__SDot": "
|
|
36
|
-
"__SDotCircle": "
|
|
37
|
-
"_color": "
|
|
38
|
-
"--color": "--
|
|
39
|
-
"__SFooter": "
|
|
32
|
+
"__STooltip": "___STooltip_1sevq_gg_",
|
|
33
|
+
"__STitle": "___STitle_1sevq_gg_",
|
|
34
|
+
"__SDotGroup": "___SDotGroup_1sevq_gg_",
|
|
35
|
+
"__SDot": "___SDot_1sevq_gg_",
|
|
36
|
+
"__SDotCircle": "___SDotCircle_1sevq_gg_",
|
|
37
|
+
"_color": "__color_1sevq_gg_",
|
|
38
|
+
"--color": "--color_1sevq",
|
|
39
|
+
"__SFooter": "___SFooter_1sevq_gg_"
|
|
40
40
|
});
|
|
41
41
|
/**
|
|
42
42
|
* `TooltipDotRenderContext` is a hack to bypass problem that getDotProps doesn't work for D3 tooltip.
|