@semcore/d3-chart 2.9.0 → 2.9.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 +6 -0
- package/lib/cjs/Area.js +10 -10
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +9 -9
- package/lib/cjs/Bubble.js +11 -11
- package/lib/cjs/Donut.js +8 -8
- package/lib/cjs/Dots.js +10 -10
- package/lib/cjs/HorizontalBar.js +9 -9
- package/lib/cjs/Hover.js +4 -4
- package/lib/cjs/Line.js +9 -9
- package/lib/cjs/Plot.js +4 -4
- package/lib/cjs/Radar.js +20 -18
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +13 -13
- package/lib/cjs/ReferenceLine.js +10 -10
- package/lib/cjs/ScatterPlot.js +8 -8
- package/lib/cjs/Tooltip.js +8 -8
- package/lib/cjs/Venn.js +8 -8
- package/lib/cjs/a11y/PlotA11yModule.js +3 -3
- package/lib/cjs/a11y/PlotA11yView.js +4 -4
- package/lib/es6/Area.js +10 -10
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +9 -9
- package/lib/es6/Bubble.js +11 -11
- package/lib/es6/Donut.js +8 -8
- package/lib/es6/Dots.js +10 -10
- package/lib/es6/HorizontalBar.js +9 -9
- package/lib/es6/Hover.js +4 -4
- package/lib/es6/Line.js +9 -9
- package/lib/es6/Plot.js +4 -4
- package/lib/es6/Radar.js +20 -18
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +13 -13
- package/lib/es6/ReferenceLine.js +10 -10
- package/lib/es6/ScatterPlot.js +8 -8
- package/lib/es6/Tooltip.js +8 -8
- package/lib/es6/Venn.js +8 -8
- package/lib/es6/a11y/PlotA11yModule.js +3 -3
- package/lib/es6/a11y/PlotA11yView.js +4 -4
- package/package.json +1 -1
package/lib/es6/Radar.js.map
CHANGED
|
@@ -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","getAngle","i","range","func","total","angle","Math","PI","getRadianPosition","sin","cos","getLabelDirection","abs","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","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","MINIMUM_OFFSET","RadarRoot","asProps","id","uid","offset","computeOffset","type","dataKey","data","scale","categories","categoriesKey","SRadar","Element","Children","style","size","toArray","forEach","child","Radar","Axis","undefined","PolygonRoot","color","transparent","d3","SPolygon","styles","fill","curve","min","d","PolygonLine","SPolygonLine","PolygonDots","SPolygonDot","value","cx","cy","AxisRoot","activeLineIndex","visible","index","setState","createLineRadial","labelOffset","eventEmitter","unsubscribeTooltipVisible","subscribe","handlerTooltipVisible","SAxis","state","category","cn","active","className","AxisTicks","SAxisTick","tick","AxisLabels","SAxisLabel","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\nfunction getAngle(i, range, func, total) {\n const angle = (total - i) * 2 * Math.PI / total;\n return range * (1 - func(angle)) - range;\n}\n\nfunction getRadianPosition(i, range, total) {\n return [\n getAngle(i, range, Math.sin, total),\n getAngle(i, range, Math.cos, total),\n ];\n}\n\nfunction getLabelDirection(i, total) {\n const angle = -Math.PI / 2 + (i / total) * (Math.PI * 2);\n return [\n Math.abs(angle) === Math.PI / 2 ? 'middle' : angle < Math.PI / 2 ? 'start' : 'end',\n angle === Math.PI / 2 ? 'mathematical' : angle === -Math.PI / 2 ? 'alphabetic' : 'middle',\n ];\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 let angle = Math.atan2(y, x) + Math.PI / 2;\n if (angle < 0) {\n // angle from 0 to 6.28...\n angle += 2 * Math.PI;\n }\n if (startAngle < 0) {\n if (angle < endAngle) {\n angle += Math.abs(startAngle);\n } else {\n angle += Math.abs(startAngle) - Math.PI * 2;\n }\n endAngle += Math.abs(startAngle);\n startAngle = 0;\n }\n return angle > startAngle && angle < endAngle;\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 };\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 };\n }\n\n getPolygonProps({ dataKey }) {\n const { data, scale } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n };\n }\n\n getHoverProps() {\n return {\n type: this.asProps.type,\n offset: this.offset,\n categories: this.asProps.data[this.categoriesKey],\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 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 }) => {\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);\n }),\n };\n };\n\n getDotsProps() {\n const { data, scale, color, transparent } = this.asProps;\n return {\n data,\n scale,\n color,\n transparent,\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)(\n <SPolygon render='path' d={d3(data)} color={fill || color} />,\n );\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 { Element: SPolygonDot, styles, color, data, scale, transparent } = props;\n return data.map((value, i) => {\n if (value === null || value === undefined) return;\n const radius = scale(value);\n const [cx, cy] = getRadianPosition(i, radius, data.length);\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 } = this.asProps;\n return {\n categories,\n textSize,\n offset: offset - labelOffset,\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('onTooltipVisible', this.handlerTooltipVisible);\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 } = 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' ? <SAxis render='circle' cx={0} cy={0} r={radius} /> :\n <SAxis render='path' d={this.createLineRadial(radius, total)(categories)} />}\n {categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, total);\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' ? <SAxisTick key={i} render='circle' cx={0} cy={0} r={radius * tick} /> :\n <SAxisTick render='path' key={i} d={d3(categories)} />,\n );\n });\n}\n\nfunction AxisLabels(props) {\n const { Element: SAxisLabel, styles, textSize, size, offset, categories } = 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);\n const [xDirection, yDirection] = getLabelDirection(i, categories.length);\n if (typeof category === 'string') {\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\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 } = 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);\n const [x, y] = getRadianPosition(index, radius, total);\n const [nextX1, nextY1] = getRadianPosition(nextIndex, radius, total);\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 } = 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,\n (index + 1) * angle - angle / 2,\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 index,\n }, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n index !== null,\n { index },\n this.virtualElement,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n this.setState({\n index: null,\n }, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, { index: null });\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}\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;"],"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","getAngle","i","range","func","total","angle","Math","PI","getRadianPosition","sin","cos","getLabelDirection","abs","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","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","MINIMUM_OFFSET","RadarRoot","asProps","id","uid","offset","computeOffset","type","dataKey","data","scale","categories","categoriesKey","SRadar","Element","Children","style","size","toArray","forEach","child","Radar","Axis","undefined","PolygonRoot","color","transparent","d3","SPolygon","styles","fill","curve","min","d","PolygonLine","SPolygonLine","PolygonDots","SPolygonDot","value","cx","cy","AxisRoot","activeLineIndex","visible","index","setState","createLineRadial","labelOffset","eventEmitter","unsubscribeTooltipVisible","subscribe","handlerTooltipVisible","SAxis","state","category","cn","active","className","AxisTicks","SAxisTick","tick","AxisLabels","SAxisLabel","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\nfunction getAngle(i, range, func, total) {\n const angle = (total - i) * 2 * Math.PI / total;\n return range * (1 - func(angle)) - range;\n}\n\nfunction getRadianPosition(i, range, total) {\n return [\n getAngle(i, range, Math.sin, total),\n getAngle(i, range, Math.cos, total),\n ];\n}\n\nfunction getLabelDirection(i, total) {\n const angle = -Math.PI / 2 + (i / total) * (Math.PI * 2);\n return [\n Math.abs(angle) === Math.PI / 2 ? 'middle' : angle < Math.PI / 2 ? 'start' : 'end',\n angle === Math.PI / 2 ? 'mathematical' : angle === -Math.PI / 2 ? 'alphabetic' : 'middle',\n ];\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 let angle = Math.atan2(y, x) + Math.PI / 2;\n if (angle < 0) {\n // angle from 0 to 6.28...\n angle += 2 * Math.PI;\n }\n if (startAngle < 0) {\n if (angle < endAngle) {\n angle += Math.abs(startAngle);\n } else {\n angle += Math.abs(startAngle) - Math.PI * 2;\n }\n endAngle += Math.abs(startAngle);\n startAngle = 0;\n }\n return angle > startAngle && angle < endAngle;\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 };\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 };\n }\n\n getPolygonProps({ dataKey }) {\n const { data, scale } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n };\n }\n\n getHoverProps() {\n return {\n type: this.asProps.type,\n offset: this.offset,\n categories: this.asProps.data[this.categoriesKey],\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 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 }) => {\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);\n }),\n };\n };\n\n getDotsProps() {\n const { data, scale, color, transparent } = this.asProps;\n return {\n data,\n scale,\n color,\n transparent,\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)(\n <SPolygon render='path' d={d3(data)} color={fill || color} />,\n );\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 { Element: SPolygonDot, styles, color, data, scale, transparent } = props;\n return data.map((value, i) => {\n if (value === null || value === undefined) return;\n const radius = scale(value);\n const [cx, cy] = getRadianPosition(i, radius, data.length);\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 } = this.asProps;\n return {\n categories,\n textSize,\n offset: offset - labelOffset,\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('onTooltipVisible', this.handlerTooltipVisible);\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 } = 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' ? <SAxis render='circle' cx={0} cy={0} r={radius} /> :\n <SAxis render='path' d={this.createLineRadial(radius, total)(categories)} />}\n {categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, total);\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' ? <SAxisTick key={i} render='circle' cx={0} cy={0} r={radius * tick} /> :\n <SAxisTick render='path' key={i} d={d3(categories)} />,\n );\n });\n}\n\nfunction AxisLabels(props) {\n const { Element: SAxisLabel, styles, textSize, size, offset, categories } = 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);\n const [xDirection, yDirection] = getLabelDirection(i, categories.length);\n if (typeof category === 'string') {\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\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 } = 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);\n const [x, y] = getRadianPosition(index, radius, total);\n const [nextX1, nextY1] = getRadianPosition(nextIndex, radius, total);\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 } = 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,\n (index + 1) * angle - angle / 2,\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 index,\n }, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n index !== null,\n { index },\n this.virtualElement,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n this.setState({\n index: null,\n }, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, { index: null });\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;"],"mappings":"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"}
|
package/lib/es6/RadialTree.js
CHANGED
|
@@ -26,22 +26,22 @@ var style = (
|
|
|
26
26
|
/*__reshadow_css_start__*/
|
|
27
27
|
_sstyled.insert(
|
|
28
28
|
/*__inner_css_start__*/
|
|
29
|
-
".
|
|
29
|
+
".___SRadian_y3oky_gg_{cursor:pointer;fill:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SLine_y3oky_gg_{stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SLine_y3oky_gg_.__color_y3oky_gg_{stroke:var(--color_y3oky)}.___SCap_y3oky_gg_.__transparent_y3oky_gg_,.___SIcon_y3oky_gg_.__transparent_y3oky_gg_,.___SLabel_y3oky_gg_.__transparent_y3oky_gg_,.___SLine_y3oky_gg_.__transparent_y3oky_gg_{opacity:.3}.___SCap_y3oky_gg_{transition:r .1s}.___SLabel_y3oky_gg_{fill:var(--color_y3oky);cursor:var(--text-cursor_y3oky)}@media (hover:hover){.___SRadian_y3oky_gg_:hover .___SLabel_y3oky_gg_{fill:var(--color-hovered_y3oky)}}@media (prefers-reduced-motion){.___SLineCap_y3oky_gg_{transition:none}}"
|
|
30
30
|
/*__inner_css_end__*/
|
|
31
|
-
, "
|
|
31
|
+
, "y3oky_gg_")
|
|
32
32
|
/*__reshadow_css_end__*/
|
|
33
33
|
, {
|
|
34
|
-
"__SRadian": "
|
|
35
|
-
"__SLine": "
|
|
36
|
-
"_color": "
|
|
37
|
-
"--color": "--
|
|
38
|
-
"_transparent": "
|
|
39
|
-
"__SCap": "
|
|
40
|
-
"__SIcon": "
|
|
41
|
-
"__SLabel": "
|
|
42
|
-
"--text-cursor": "--text-
|
|
43
|
-
"--color-hovered": "--color-
|
|
44
|
-
"__SLineCap": "
|
|
34
|
+
"__SRadian": "___SRadian_y3oky_gg_",
|
|
35
|
+
"__SLine": "___SLine_y3oky_gg_",
|
|
36
|
+
"_color": "__color_y3oky_gg_",
|
|
37
|
+
"--color": "--color_y3oky",
|
|
38
|
+
"_transparent": "__transparent_y3oky_gg_",
|
|
39
|
+
"__SCap": "___SCap_y3oky_gg_",
|
|
40
|
+
"__SIcon": "___SIcon_y3oky_gg_",
|
|
41
|
+
"__SLabel": "___SLabel_y3oky_gg_",
|
|
42
|
+
"--text-cursor": "--text-cursor_y3oky",
|
|
43
|
+
"--color-hovered": "--color-hovered_y3oky",
|
|
44
|
+
"__SLineCap": "___SLineCap_y3oky_gg_"
|
|
45
45
|
});
|
|
46
46
|
var baseAngle = -Math.PI / 2; // The top vertical line
|
|
47
47
|
|
package/lib/es6/ReferenceLine.js
CHANGED
|
@@ -16,19 +16,19 @@ var style = (
|
|
|
16
16
|
/*__reshadow_css_start__*/
|
|
17
17
|
_sstyled.insert(
|
|
18
18
|
/*__inner_css_start__*/
|
|
19
|
-
".
|
|
19
|
+
".___SReferenceLine_1gb0a_gg_{fill:none;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___STitle_1gb0a_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_1gb0a)}.___STitle_1gb0a_gg_._position_top_1gb0a_gg_{text-anchor:middle}.___STitle_1gb0a_gg_._position_bottom_1gb0a_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_1gb0a_gg_._position_left_1gb0a_gg_,.___STitle_1gb0a_gg_._position_right_1gb0a_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_1gb0a_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}"
|
|
20
20
|
/*__inner_css_end__*/
|
|
21
|
-
, "
|
|
21
|
+
, "1gb0a_gg_")
|
|
22
22
|
/*__reshadow_css_end__*/
|
|
23
23
|
, {
|
|
24
|
-
"__SReferenceLine": "
|
|
25
|
-
"__STitle": "
|
|
26
|
-
"--transform-origin": "--transform-
|
|
27
|
-
"_position_top": "
|
|
28
|
-
"_position_bottom": "
|
|
29
|
-
"_position_right": "
|
|
30
|
-
"_position_left": "
|
|
31
|
-
"__SBackground": "
|
|
24
|
+
"__SReferenceLine": "___SReferenceLine_1gb0a_gg_",
|
|
25
|
+
"__STitle": "___STitle_1gb0a_gg_",
|
|
26
|
+
"--transform-origin": "--transform-origin_1gb0a",
|
|
27
|
+
"_position_top": "_position_top_1gb0a_gg_",
|
|
28
|
+
"_position_bottom": "_position_bottom_1gb0a_gg_",
|
|
29
|
+
"_position_right": "_position_right_1gb0a_gg_",
|
|
30
|
+
"_position_left": "_position_left_1gb0a_gg_",
|
|
31
|
+
"__SBackground": "___SBackground_1gb0a_gg_"
|
|
32
32
|
});
|
|
33
33
|
var side2direction = {
|
|
34
34
|
left: 'vertical',
|
package/lib/es6/ScatterPlot.js
CHANGED
|
@@ -21,17 +21,17 @@ var style = (
|
|
|
21
21
|
/*__reshadow_css_start__*/
|
|
22
22
|
_sstyled.insert(
|
|
23
23
|
/*__inner_css_start__*/
|
|
24
|
-
".
|
|
24
|
+
".___SScatterPlot_s8746_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_s8746);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_s8746_gg_:hover{opacity:.8}}.___SScatterPlot_s8746_gg_.__color_s8746_gg_{fill:var(--color_s8746)}.___SScatterPlot_s8746_gg_.__transparent_s8746_gg_{opacity:.3}.___SValue_s8746_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_s8746_gg_.__color_s8746_gg_{stroke:var(--color_s8746)}.___SValue_s8746_gg_.__transparent_s8746_gg_{opacity:.3}"
|
|
25
25
|
/*__inner_css_end__*/
|
|
26
|
-
, "
|
|
26
|
+
, "s8746_gg_")
|
|
27
27
|
/*__reshadow_css_end__*/
|
|
28
28
|
, {
|
|
29
|
-
"__SScatterPlot": "
|
|
30
|
-
"--duration": "--
|
|
31
|
-
"_color": "
|
|
32
|
-
"--color": "--
|
|
33
|
-
"_transparent": "
|
|
34
|
-
"__SValue": "
|
|
29
|
+
"__SScatterPlot": "___SScatterPlot_s8746_gg_",
|
|
30
|
+
"--duration": "--duration_s8746",
|
|
31
|
+
"_color": "__color_s8746_gg_",
|
|
32
|
+
"--color": "--color_s8746",
|
|
33
|
+
"_transparent": "__transparent_s8746_gg_",
|
|
34
|
+
"__SValue": "___SValue_s8746_gg_"
|
|
35
35
|
});
|
|
36
36
|
|
|
37
37
|
var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
package/lib/es6/Tooltip.js
CHANGED
|
@@ -25,17 +25,17 @@ var style = (
|
|
|
25
25
|
/*__reshadow_css_start__*/
|
|
26
26
|
_sstyled.insert(
|
|
27
27
|
/*__inner_css_start__*/
|
|
28
|
-
".
|
|
28
|
+
".___STooltip_1odd6_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_1odd6_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SDotGroup_1odd6_gg_{display:flex;align-items:center}.___SDot_1odd6_gg_{width:8px;height:8px;border-radius:50%;margin-right:var(--intergalactic-spacing-2x, 8px);background:var(--intergalactic-icon-secondary-info, #2bb3ff)}.___SDot_1odd6_gg_.__color_1odd6_gg_{background:var(--color_1odd6)}"
|
|
29
29
|
/*__inner_css_end__*/
|
|
30
|
-
, "
|
|
30
|
+
, "1odd6_gg_")
|
|
31
31
|
/*__reshadow_css_end__*/
|
|
32
32
|
, {
|
|
33
|
-
"__STooltip": "
|
|
34
|
-
"__STitle": "
|
|
35
|
-
"__SDotGroup": "
|
|
36
|
-
"__SDot": "
|
|
37
|
-
"_color": "
|
|
38
|
-
"--color": "--
|
|
33
|
+
"__STooltip": "___STooltip_1odd6_gg_",
|
|
34
|
+
"__STitle": "___STitle_1odd6_gg_",
|
|
35
|
+
"__SDotGroup": "___SDotGroup_1odd6_gg_",
|
|
36
|
+
"__SDot": "___SDot_1odd6_gg_",
|
|
37
|
+
"_color": "__color_1odd6_gg_",
|
|
38
|
+
"--color": "--color_1odd6"
|
|
39
39
|
});
|
|
40
40
|
|
|
41
41
|
var TooltipRoot = /*#__PURE__*/function (_Component) {
|
package/lib/es6/Venn.js
CHANGED
|
@@ -20,17 +20,17 @@ var style = (
|
|
|
20
20
|
/*__reshadow_css_start__*/
|
|
21
21
|
_sstyled.insert(
|
|
22
22
|
/*__inner_css_start__*/
|
|
23
|
-
".
|
|
23
|
+
".___SCircle_3ynuf_gg_,.___SIntersection_3ynuf_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px}.___SCircle_3ynuf_gg_{fill:var(--intergalactic-chart-palette-order-2, #59ddaa);fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_3ynuf);transition-timing-function:ease-in-out}@media (hover:hover){.___SCircle_3ynuf_gg_:hover{fill-opacity:.7}}.___SCircle_3ynuf_gg_.__color_3ynuf_gg_{fill:var(--color_3ynuf)}.___SCircle_3ynuf_gg_.__transparent_3ynuf_gg_{opacity:.3}.___SIntersection_3ynuf_gg_{fill-opacity:0}@media (hover:hover){.___SIntersection_3ynuf_gg_:hover{fill-opacity:.1}}.___SIntersection_3ynuf_gg_.__transparent_3ynuf_gg_{opacity:.3}"
|
|
24
24
|
/*__inner_css_end__*/
|
|
25
|
-
, "
|
|
25
|
+
, "3ynuf_gg_")
|
|
26
26
|
/*__reshadow_css_end__*/
|
|
27
27
|
, {
|
|
28
|
-
"__SCircle": "
|
|
29
|
-
"--duration": "--
|
|
30
|
-
"_color": "
|
|
31
|
-
"--color": "--
|
|
32
|
-
"_transparent": "
|
|
33
|
-
"__SIntersection": "
|
|
28
|
+
"__SCircle": "___SCircle_3ynuf_gg_",
|
|
29
|
+
"--duration": "--duration_3ynuf",
|
|
30
|
+
"_color": "__color_3ynuf_gg_",
|
|
31
|
+
"--color": "--color_3ynuf",
|
|
32
|
+
"_transparent": "__transparent_3ynuf_gg_",
|
|
33
|
+
"__SIntersection": "___SIntersection_3ynuf_gg_"
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
var VennRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -15,12 +15,12 @@ var styles = (
|
|
|
15
15
|
/*__reshadow_css_start__*/
|
|
16
16
|
_sstyled.insert(
|
|
17
17
|
/*__inner_css_start__*/
|
|
18
|
-
".
|
|
18
|
+
".___SPlotA11yModule_zv9hg_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0}.___SPlotA11yModule_zv9hg_gg_:focus{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1}"
|
|
19
19
|
/*__inner_css_end__*/
|
|
20
|
-
, "
|
|
20
|
+
, "zv9hg_gg_")
|
|
21
21
|
/*__reshadow_css_end__*/
|
|
22
22
|
, {
|
|
23
|
-
"__SPlotA11yModule": "
|
|
23
|
+
"__SPlotA11yModule": "___SPlotA11yModule_zv9hg_gg_"
|
|
24
24
|
});
|
|
25
25
|
import { Context as I18nContext, useI18n } from '@semcore/utils/lib/enhances/WithI18n';
|
|
26
26
|
import { Box } from '@semcore/flex-box';
|
|
@@ -17,13 +17,13 @@ var styles = (
|
|
|
17
17
|
/*__reshadow_css_start__*/
|
|
18
18
|
_sstyled.insert(
|
|
19
19
|
/*__inner_css_start__*/
|
|
20
|
-
".
|
|
20
|
+
".___SPlotA11yView_1uicj_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);border:3px solid var(--intergalactic-border-primary, #c4c7cf);font-size:var(--intergalactic-fs-50, 10px);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}.___SPlotA11yView_1uicj_gg_.__focus-within_1uicj_gg_,.___SPlotA11yView_1uicj_gg_:focus{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay, 500);position:relative;display:block}.___SPlotA11yView_1uicj_gg_:focus,.___SPlotA11yView_1uicj_gg_:focus-within{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay, 500);position:relative;display:block}.___SPlotA11yView_1uicj_gg_ a{cursor:pointer;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x, 8px);display:block}.___SPlotA11yView_1uicj_gg_ table,.___SPlotA11yView_1uicj_gg_ td,.___SPlotA11yView_1uicj_gg_ th{border:1px solid var(--intergalactic-border-primary, #c4c7cf)}"
|
|
21
21
|
/*__inner_css_end__*/
|
|
22
|
-
, "
|
|
22
|
+
, "1uicj_gg_")
|
|
23
23
|
/*__reshadow_css_end__*/
|
|
24
24
|
, {
|
|
25
|
-
"__SPlotA11yView": "
|
|
26
|
-
"_focus-within": "__focus-
|
|
25
|
+
"__SPlotA11yView": "___SPlotA11yView_1uicj_gg_",
|
|
26
|
+
"_focus-within": "__focus-within_1uicj_gg_"
|
|
27
27
|
});
|
|
28
28
|
import { Box } from '@semcore/flex-box';
|
|
29
29
|
import { useAsyncI18nMessages } from '@semcore/utils/lib/enhances/i18nEnhance';
|