@semcore/d3-chart 16.4.2 → 16.5.0-prerelease.2
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 +12 -0
- package/README.md +4 -4
- package/lib/cjs/Area.js +11 -11
- package/lib/cjs/Axis.js +15 -15
- package/lib/cjs/Bar.js +16 -16
- package/lib/cjs/Bubble.js +15 -15
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/CompactHorizontalBar.js +21 -19
- package/lib/cjs/CompactHorizontalBar.js.map +1 -1
- package/lib/cjs/Donut.js +12 -11
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +8 -8
- package/lib/cjs/HorizontalBar.js +16 -16
- package/lib/cjs/Hover.js +7 -7
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +9 -9
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +21 -21
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +24 -24
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/Reference.js +12 -12
- package/lib/cjs/ScatterPlot.js +12 -11
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/Tooltip.js +9 -9
- package/lib/cjs/Venn.js +12 -11
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +5 -5
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/lib/cjs/component/Chart/AbstractChart.js +119 -35
- package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
- package/lib/cjs/component/Chart/AreaChart.js +5 -29
- package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
- package/lib/cjs/component/Chart/BarChart.js +5 -29
- package/lib/cjs/component/Chart/BarChart.js.map +1 -1
- package/lib/cjs/component/Chart/BubbleChart.js +0 -4
- 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/CigaretteChart.js +96 -59
- package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/cjs/component/Chart/CigaretteChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/DonutChart.js +1 -6
- 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/HistogramChart.js +4 -28
- package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
- package/lib/cjs/component/Chart/LineChart.js +5 -29
- package/lib/cjs/component/Chart/LineChart.js.map +1 -1
- package/lib/cjs/component/Chart/RadarChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/ScatterPlotChart.js +1 -5
- 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 +0 -4
- 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/style/abstract-chart.shadow.css +12 -0
- package/lib/es6/Area.js +11 -11
- package/lib/es6/Axis.js +15 -15
- package/lib/es6/Bar.js +16 -16
- package/lib/es6/Bubble.js +15 -15
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/CompactHorizontalBar.js +21 -19
- package/lib/es6/CompactHorizontalBar.js.map +1 -1
- package/lib/es6/Donut.js +12 -11
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +8 -8
- package/lib/es6/HorizontalBar.js +16 -16
- package/lib/es6/Hover.js +7 -7
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +9 -9
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +21 -21
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +24 -24
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/Reference.js +12 -12
- package/lib/es6/ScatterPlot.js +12 -11
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/Tooltip.js +9 -9
- package/lib/es6/Venn.js +12 -11
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +4 -4
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +2 -2
- package/lib/es6/component/Chart/AbstractChart.js +119 -31
- package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
- package/lib/es6/component/Chart/AreaChart.js +5 -29
- package/lib/es6/component/Chart/AreaChart.js.map +1 -1
- package/lib/es6/component/Chart/BarChart.js +5 -29
- package/lib/es6/component/Chart/BarChart.js.map +1 -1
- package/lib/es6/component/Chart/BubbleChart.js +0 -4
- 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/CigaretteChart.js +100 -61
- package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/es6/component/Chart/CigaretteChart.type.js.map +1 -1
- package/lib/es6/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
- package/lib/es6/component/Chart/DonutChart.js +1 -6
- 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/HistogramChart.js +4 -28
- package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
- package/lib/es6/component/Chart/LineChart.js +5 -29
- package/lib/es6/component/Chart/LineChart.js.map +1 -1
- package/lib/es6/component/Chart/RadarChart.type.js.map +1 -1
- package/lib/es6/component/Chart/ScatterPlotChart.js +1 -5
- 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 +0 -4
- 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/style/abstract-chart.shadow.css +12 -0
- package/lib/esm/Area.mjs +12 -12
- package/lib/esm/Axis.mjs +16 -16
- package/lib/esm/Bar.mjs +17 -17
- package/lib/esm/Bubble.mjs +16 -16
- package/lib/esm/CompactHorizontalBar.mjs +21 -20
- package/lib/esm/Donut.mjs +12 -12
- package/lib/esm/Dots.mjs +9 -9
- package/lib/esm/HorizontalBar.mjs +17 -17
- package/lib/esm/Hover.mjs +8 -8
- package/lib/esm/Line.mjs +10 -10
- package/lib/esm/Plot.mjs +4 -4
- package/lib/esm/Radar.mjs +22 -22
- package/lib/esm/RadialTree.mjs +27 -27
- package/lib/esm/Reference.mjs +13 -13
- package/lib/esm/ScatterPlot.mjs +12 -12
- package/lib/esm/Tooltip.mjs +10 -10
- package/lib/esm/Venn.mjs +12 -12
- package/lib/esm/a11y/PlotA11yModule.mjs +5 -5
- package/lib/esm/a11y/PlotA11yView.mjs +3 -3
- package/lib/esm/component/Chart/AbstractChart.mjs +103 -19
- package/lib/esm/component/Chart/AreaChart.mjs +5 -27
- package/lib/esm/component/Chart/BarChart.mjs +6 -28
- package/lib/esm/component/Chart/BubbleChart.mjs +0 -4
- package/lib/esm/component/Chart/CigaretteChart.mjs +78 -45
- package/lib/esm/component/Chart/DonutChart.mjs +1 -4
- package/lib/esm/component/Chart/HistogramChart.mjs +5 -27
- package/lib/esm/component/Chart/LineChart.mjs +5 -27
- package/lib/esm/component/Chart/ScatterPlotChart.mjs +1 -4
- package/lib/esm/component/Chart/VennChart.mjs +0 -4
- 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/esm/style/abstract-chart.shadow.css +12 -0
- package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
- package/lib/types/component/Chart/AbstractChart.d.ts +11 -1
- package/lib/types/component/Chart/BubbleChart.type.d.ts +1 -1
- package/lib/types/component/Chart/CigaretteChart.type.d.ts +2 -0
- package/lib/types/component/Chart/CompactHorizontalBarChart.type.d.ts +1 -1
- package/lib/types/component/Chart/DonutChart.type.d.ts +1 -1
- package/lib/types/component/Chart/RadarChart.type.d.ts +1 -1
- package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +1 -1
- package/lib/types/component/Chart/VennChart.type.d.ts +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialTree.js","names":["Component","sstyled","assignProps","canUseDOM","getOriginChildren","uniqueIDEnhancement","transition","React","createElement","PatternSymbol","getPatternSymbolSize","style","_sstyled","insert","getChartDefaultColorName","measureText","baseAngle","Math","PI","RadialTreeBase","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","handleRadianClick","bind","_inherits","_createClass","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$y","radianIndex","Number","parseInt","dataset","lineNode","from","cx","x1","baseVal","cy","y1","to","attr","_","index","_attrs$index$from","_attrs$index$from2","_attrs$index$to","_attrs$index$to2","_node$width","_node$height","_lineNode$x2","_lineNode$y2","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$y","x2","y2","_attrs2$index$from","_attrs2$index$from2","_attrs2$index$to","_attrs2$index$to2","componentDidUpdate","prevProps","$rootProps","data","componentDidMount","_this2","event","newKey","handlers","computeTextWidth","_this$asProps2","textSize","widths","_ref0","label","max","apply","_toConsumableArray","getTitleProps","_this$asProps3","size","_size","_slicedToArray","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties","_excluded","textWidth","_objectSpread","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","cn","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_this3","renderRadian","getInteractiveAreaProps","_ref10","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref11","_$rootProps$data2","_color","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","resolveColor","color","stroke","getCapProps","_ref13","_$rootProps$data3","_color2","_this$computeRadianPo3","_this$asProps6","patterns","getIconProps","_ref15","_$rootProps$data4","_iconColor","_iconSize","_icon","_this$computeRadianPo4","isActive","_this$asProps7","icon","getLabelProps","_ref17","_$rootProps$data5","_color3","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps8","_ref18","angle","getRadianKey","_data$key","_data$capSize","_this$asProps9","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps0","SRadian","children","_child","mergedProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref20","_ref4","SInteractiveArea","Line","_ref21","_ref5","SLine","Cap","_ref22","_ref7","SCap","_ref22$x","_ref22$y","radius","_ref6","patternKey","_getPatternSymbolSize","_getPatternSymbolSize2","Icon","_ref23","_ref8","SIcon","tag","Label","_ref24","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref25","_ref9","STitle","setTitle"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import { Component, sstyled, type UnknownProperties, type Intergalactic } from '@semcore/core';\nimport assignProps from '@semcore/core/lib/utils/assignProps';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport type { DataHintsHandler } from './a11y/hints';\nimport createElement from './createElement';\nimport { PatternSymbol, type PatternsConfig, getPatternSymbolSize } from './Pattern';\nimport style from './style/radial-tree.shadow.css';\nimport { getChartDefaultColorName, measureText } from './utils';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\n/** @deprecated */\nexport interface IRadialTreeProps extends RadialTreeProps, UnknownProperties {}\nexport type RadialTreeProps = {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data?: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highlighted with inreased cap size.\n */\n activeKey?: string | null;\n /** Callback when active key changes */\n onActiveKeyChange?: (activeKey: string | null) => void;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n /** Enables element transparency */\n transparent?: boolean;\n};\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n labelMargin: number;\n angleOffset: number;\n transparent: boolean;\n $rootProps: RootAsProps;\n dataHintsHandler: DataHintsHandler;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 5,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ children?: React.ReactNode; render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n if (!canUseDOM()) return;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on Number.NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`)\n .interrupt();\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`)\n .interrupt();\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`)\n .interrupt();\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`)\n .interrupt();\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const radianIndex = Number.parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: {\n cx: node.dataset['cx'],\n cy: node.dataset['cy'],\n },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('cx', (_, index) => attrs[index].to?.cx!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('cy', (_, index) => attrs[index].to?.cy!);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = Number.parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x: node.dataset['x'],\n y: node.dataset['y'],\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x', (_, index) => attrs[index].from?.x!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y', (_, index) => attrs[index].from?.y!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x', (_, index) => attrs[index].to?.x!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y', (_, index) => attrs[index].to?.y!);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2: node.dataset['x2'],\n y2: node.dataset['y2'],\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x2', (_, index) => attrs[index].from?.x2!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y2', (_, index) => attrs[index].from?.y2!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x2', (_, index) => attrs[index].to?.x2!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y2', (_, index) => attrs[index].to?.y2!);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data !== this.asProps.data) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render='g'>\n <Children />\n </SRadialTree>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianProps extends RadialTreeRadianProps, UnknownProperties {}\nexport type RadialTreeRadianProps = RadialTreeProps & {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n};\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data!,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n resolveColor,\n transparent,\n ['data-x1']: xStart,\n ['data-y1']: yStart,\n ['data-x2']: xEnd,\n ['data-y2']: yEnd,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor, patterns } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n ['data-cx']: xEnd,\n ['data-cy']: yEnd,\n radius: capSize,\n color,\n resolveColor,\n transparent,\n patterns,\n uid: `${uid}-cap-${index}`,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data!, index);\n const { uid, resolveColor } = this.asProps;\n const iconColor = data!.iconColor ?? this.asProps.iconColor;\n const iconSize = data!.iconSize ?? this.asProps.iconSize;\n const icon = data!.icon ?? this.asProps.icon;\n const x = xEnd - iconSize! / 2;\n const y = yEnd - iconSize! / 2;\n return {\n x,\n y,\n ['data-x']: x,\n ['data-y']: y,\n iconSize,\n color: iconColor ?? '#fff',\n resolveColor,\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n tag: icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data!,\n index,\n );\n const { uid, textSize, transparent, resolveColor } = this.asProps;\n const { label } = data!;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n resolveColor,\n isHorizontal,\n textSize,\n transparent,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps as any);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n this.asProps.dataHintsHandler.describeValueEntity(`${index}.${data.label}`, data.label);\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian aria-hidden key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianInteractiveAreaProps\n extends RadialTreeRadianInteractiveAreaProps {}\nexport type RadialTreeRadianInteractiveAreaProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n};\n\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke='transparent' render='line' />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLineProps extends RadialTreeRadianLineProps, UnknownProperties {}\nexport type RadialTreeRadianLineProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n};\n\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n resolveColor,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={resolveColor(stroke)} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianCapProps extends RadialTreeRadianCapProps, UnknownProperties {}\nexport type RadialTreeRadianCapProps = {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n /** Enables charts patterns that enhances charts accessibility */\n patterns?: PatternsConfig;\n};\n\ntype RadialTreeRadianCapAsProps = RadialTreeRadianCapProps & {\n Element: React.FC<\n {\n render: React.FC<any> | string;\n transparent: boolean;\n patternKey?: string;\n pattern?: boolean;\n } & React.SVGProps<any>\n >;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x = 0,\n y = 0,\n radius,\n color,\n resolveColor,\n transparent,\n patterns,\n}) => {\n if (!patterns) {\n return sstyled(styles)(\n <SCap\n render='circle'\n cx={x}\n cy={y}\n r={radius}\n fill={resolveColor(color)}\n transparent={transparent!}\n />,\n ) as React.ReactElement;\n }\n\n const patternKey = color || getChartDefaultColorName(0);\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n return sstyled(styles)(\n <SCap\n render={PatternSymbol}\n patternKey={color}\n x={x - (width || 0) / 2}\n y={y - (height || 0) / 2}\n fill={resolveColor(color)}\n transparent={transparent!}\n pattern\n />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianIconProps extends RadialTreeRadianIconProps, UnknownProperties {}\nexport type RadialTreeRadianIconProps = {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n isActive?: boolean;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC; transparent: boolean } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n tag?: React.FC;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n transparent,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLabelProps\n extends RadialTreeRadianLabelProps,\n UnknownProperties {}\nexport type RadialTreeRadianLabelProps = {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n resolveColor: (color?: string) => string;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n resolveColor,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n transparent,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n 'color': resolveColor(color),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n transparent,\n });\n\n return (\n <SLabel\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\n/** @deprecated */\nexport interface IRadialTreeTitleProps extends RadialTreeTitleProps, UnknownProperties {}\nexport type RadialTreeTitleProps = {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n};\n\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n children: React.ReactNode;\n styles: React.CSSProperties;\n dataHintsHandler: DataHintsHandler;\n resolveColor: (color?: string) => string;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n resolveColor,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={resolveColor(color)}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\ntype IntergalacticD3Component<BaseTag extends Intergalactic.Tag, Props, Context = {}> = (<\n Tag extends Intergalactic.Tag = Intergalactic.Tag,\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<BaseTag, BaseTag, Props>;\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as IntergalacticD3Component<\n 'g',\n RadialTreeProps\n> & {\n Title: IntergalacticD3Component<'text', RadialTreeTitleProps>;\n Radian: IntergalacticD3Component<'g', RadialTreeRadianProps> & {\n Line: IntergalacticD3Component<'line', RadialTreeRadianLineProps>;\n Cap: IntergalacticD3Component<'circle', RadialTreeRadianCapProps>;\n Icon: IntergalacticD3Component<'g', RadialTreeRadianIconProps>;\n Label: IntergalacticD3Component<'text', RadialTreeRadianLabelProps>;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"RadialTree.js","names":["Component","sstyled","assignProps","canUseDOM","getOriginChildren","uniqueIDEnhancement","transition","React","createElement","PatternSymbol","getPatternSymbolSize","style","_sstyled","insert","getChartDefaultColorName","measureText","baseAngle","Math","PI","RadialTreeBase","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","handleRadianClick","bind","_inherits","_createClass","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$y","radianIndex","Number","parseInt","dataset","lineNode","from","cx","x1","baseVal","cy","y1","to","attr","_","index","_attrs$index$from","_attrs$index$from2","_attrs$index$to","_attrs$index$to2","_node$width","_node$height","_lineNode$x2","_lineNode$y2","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$y","x2","y2","_attrs2$index$from","_attrs2$index$from2","_attrs2$index$to","_attrs2$index$to2","componentDidUpdate","prevProps","$rootProps","data","componentDidMount","_this2","event","newKey","handlers","computeTextWidth","_this$asProps2","textSize","widths","_ref0","label","max","apply","_toConsumableArray","getTitleProps","_this$asProps3","size","_size","_slicedToArray","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties","_excluded","textWidth","_objectSpread","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","cn","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_this3","renderRadian","getInteractiveAreaProps","_ref10","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref11","_$rootProps$data2","_color","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","resolveColor","color","stroke","getCapProps","_ref13","_$rootProps$data3","_color2","_this$computeRadianPo3","_this$asProps6","patterns","getIconProps","_ref15","_$rootProps$data4","_iconColor","_iconSize","_icon","_this$computeRadianPo4","isActive","_this$asProps7","icon","getLabelProps","_ref17","_$rootProps$data5","_color3","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps8","_ref18","angle","getRadianKey","_data$key","_data$capSize","_this$asProps9","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps0","SRadian","children","_child","mergedProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref20","_ref4","SInteractiveArea","Line","_ref21","_ref5","SLine","Cap","_ref22","_ref7","SCap","_ref22$x","_ref22$y","radius","_ref6","patternKey","_getPatternSymbolSize","_getPatternSymbolSize2","Icon","_ref23","_ref8","SIcon","tag","Label","_ref24","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref25","_ref9","STitle","setTitle"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import { Component, sstyled, type UnknownProperties, type Intergalactic } from '@semcore/core';\nimport assignProps from '@semcore/core/lib/utils/assignProps';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport type { DataHintsHandler } from './a11y/hints';\nimport createElement from './createElement';\nimport { PatternSymbol, type PatternsConfig, getPatternSymbolSize } from './Pattern';\nimport style from './style/radial-tree.shadow.css';\nimport { getChartDefaultColorName, measureText } from './utils';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\n/** @deprecated */\nexport interface IRadialTreeProps extends RadialTreeProps, UnknownProperties {}\nexport type RadialTreeProps = {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data?: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highlighted with inreased cap size.\n */\n activeKey?: string | null;\n /** Callback when active key changes */\n onActiveKeyChange?: (activeKey: string | null) => void;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n /** Enables element transparency */\n transparent?: boolean;\n};\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n labelMargin: number;\n angleOffset: number;\n transparent: boolean;\n $rootProps: RootAsProps;\n dataHintsHandler: DataHintsHandler;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 5,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ children?: React.ReactNode; render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n if (!canUseDOM()) return;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on Number.NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`)\n .interrupt();\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`)\n .interrupt();\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`)\n .interrupt();\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`)\n .interrupt();\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const radianIndex = Number.parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: {\n cx: node.dataset['cx'],\n cy: node.dataset['cy'],\n },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('cx', (_, index) => attrs[index].to?.cx!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('cy', (_, index) => attrs[index].to?.cy!);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = Number.parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x: node.dataset['x'],\n y: node.dataset['y'],\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x', (_, index) => attrs[index].from?.x!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y', (_, index) => attrs[index].from?.y!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x', (_, index) => attrs[index].to?.x!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y', (_, index) => attrs[index].to?.y!);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2: node.dataset['x2'],\n y2: node.dataset['y2'],\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x2', (_, index) => attrs[index].from?.x2!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y2', (_, index) => attrs[index].from?.y2!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('x2', (_, index) => attrs[index].to?.x2!)\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n .attr('y2', (_, index) => attrs[index].to?.y2!);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data !== this.asProps.data) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render='g'>\n <Children />\n </SRadialTree>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianProps extends RadialTreeRadianProps, UnknownProperties {}\nexport type RadialTreeRadianProps = RadialTreeProps & {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n};\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data!,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n resolveColor,\n transparent,\n ['data-x1']: xStart,\n ['data-y1']: yStart,\n ['data-x2']: xEnd,\n ['data-y2']: yEnd,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor, patterns } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n ['data-cx']: xEnd,\n ['data-cy']: yEnd,\n radius: capSize,\n color,\n resolveColor,\n transparent,\n patterns,\n uid: `${uid}-cap-${index}`,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data!, index);\n const { uid, resolveColor } = this.asProps;\n const iconColor = data!.iconColor ?? this.asProps.iconColor;\n const iconSize = data!.iconSize ?? this.asProps.iconSize;\n const icon = data!.icon ?? this.asProps.icon;\n const x = xEnd - iconSize! / 2;\n const y = yEnd - iconSize! / 2;\n return {\n x,\n y,\n ['data-x']: x,\n ['data-y']: y,\n iconSize,\n color: iconColor ?? '#fff',\n resolveColor,\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n tag: icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data!,\n index,\n );\n const { uid, textSize, transparent, resolveColor } = this.asProps;\n const { label } = data!;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n resolveColor,\n isHorizontal,\n textSize,\n transparent,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps as any);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n this.asProps.dataHintsHandler.describeValueEntity(`${index}.${data.label}`, data.label);\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian aria-hidden key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianInteractiveAreaProps\n extends RadialTreeRadianInteractiveAreaProps {}\nexport type RadialTreeRadianInteractiveAreaProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n};\n\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nfunction InteractiveArea({\n Element: SInteractiveArea,\n styles,\n}: RadialTreeRadianInteractiveAreaAsProps) {\n return sstyled(styles)(\n <SInteractiveArea stroke='transparent' render='line' />,\n ) as React.ReactElement;\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianLineProps extends RadialTreeRadianLineProps, UnknownProperties {}\nexport type RadialTreeRadianLineProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n};\n\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nfunction Line({\n Element: SLine,\n styles,\n stroke,\n resolveColor,\n transparent,\n}: RadialTreeRadianLineAsProps) {\n return sstyled(styles)(\n <SLine render='line' stroke={resolveColor(stroke)} transparent={transparent!} />,\n ) as React.ReactElement;\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianCapProps extends RadialTreeRadianCapProps, UnknownProperties {}\nexport type RadialTreeRadianCapProps = {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n /** Enables charts patterns that enhances charts accessibility */\n patterns?: PatternsConfig;\n};\n\ntype RadialTreeRadianCapAsProps = RadialTreeRadianCapProps & {\n Element: React.FC<\n {\n render: React.FC<any> | string;\n transparent: boolean;\n patternKey?: string;\n pattern?: boolean;\n } & React.SVGProps<any>\n >;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nfunction Cap({\n Element: SCap,\n styles,\n x = 0,\n y = 0,\n radius,\n color,\n resolveColor,\n transparent,\n patterns,\n}: RadialTreeRadianCapAsProps) {\n if (!patterns) {\n return sstyled(styles)(\n <SCap\n render='circle'\n cx={x}\n cy={y}\n r={radius}\n fill={resolveColor(color)}\n transparent={transparent!}\n />,\n ) as React.ReactElement;\n }\n\n const patternKey = color || getChartDefaultColorName(0);\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n return sstyled(styles)(\n <SCap\n render={PatternSymbol}\n patternKey={color}\n x={x - (width || 0) / 2}\n y={y - (height || 0) / 2}\n fill={resolveColor(color)}\n transparent={transparent!}\n pattern\n />,\n ) as React.ReactElement;\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianIconProps extends RadialTreeRadianIconProps, UnknownProperties {}\nexport type RadialTreeRadianIconProps = {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n isActive?: boolean;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC; transparent: boolean } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n tag?: React.FC;\n};\nfunction Icon({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n transparent,\n}: RadialTreeRadianIconAsProps) {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} transparent={transparent!} />,\n ) as React.ReactElement;\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianLabelProps\n extends RadialTreeRadianLabelProps,\n UnknownProperties {}\nexport type RadialTreeRadianLabelProps = {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n resolveColor: (color?: string) => string;\n};\nfunction Label({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n resolveColor,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n transparent,\n}: RadialTreeRadianLabelAsProps) {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n 'color': resolveColor(color),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n transparent,\n });\n\n return (\n <SLabel\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n}\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\n/** @deprecated */\nexport interface IRadialTreeTitleProps extends RadialTreeTitleProps, UnknownProperties {}\nexport type RadialTreeTitleProps = {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n};\n\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n children: React.ReactNode;\n styles: React.CSSProperties;\n dataHintsHandler: DataHintsHandler;\n resolveColor: (color?: string) => string;\n};\nfunction Title({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n resolveColor,\n x,\n y,\n dataHintsHandler,\n}: RadialTreeTitleAsProps) {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={resolveColor(color)}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n}\n\ntype IntergalacticD3Component<BaseTag extends Intergalactic.Tag, Props, Context = {}> = (<\n Tag extends Intergalactic.Tag = Intergalactic.Tag,\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<BaseTag, BaseTag, Props>;\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as IntergalacticD3Component<\n 'g',\n RadialTreeProps\n> & {\n Title: IntergalacticD3Component<'text', RadialTreeTitleProps>;\n Radian: IntergalacticD3Component<'g', RadialTreeRadianProps> & {\n Line: IntergalacticD3Component<'line', RadialTreeRadianLineProps>;\n Cap: IntergalacticD3Component<'circle', RadialTreeRadianCapProps>;\n Icon: IntergalacticD3Component<'g', RadialTreeRadianIconProps>;\n Label: IntergalacticD3Component<'text', RadialTreeRadianLabelProps>;\n };\n};\n\nexport default RadialTree;\n"],"mappings":";;;;;;;;;;;AAAA,SAASA,SAAS,EAAEC,OAAO,QAAoD,eAAe;AAC9F,OAAOC,WAAW,MAAM,qCAAqC;AAC7D,OAAOC,SAAS,MAAM,mCAAmC;AACzD,OAAOC,iBAAiB,MAAM,2CAA2C;AACzE,OAAOC,mBAAmB,MAAM,kCAAkC;AAClE,SAASC,UAAU,QAAQ,eAAe;AAC1C,OAAOC,KAAK,MAAM,OAAO;AAGzB,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,aAAa,EAAuBC,oBAAoB,QAAQ,WAAW;AAAC;AAAA,IAAAC,KAAA,8BAAAC,QAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAErF,SAASC,wBAAwB,EAAEC,WAAW,QAAQ,SAAS;AAE/D,IAAMC,SAAS,GAAG,CAACC,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC,CAAC;;AAqChC;AAAA,IAwFMC,cAAc,0BAAAC,UAAA;EAmBlB,SAAAD,eAAYE,KAAU,EAAE;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAJ,cAAA;IACtBG,KAAA,GAAAE,UAAA,OAAAL,cAAA,GAAME,KAAK;IAAEI,eAAA,CAAAH,KAAA;IACbA,KAAA,CAAKI,iBAAiB,GAAGJ,KAAA,CAAKI,iBAAiB,CAACC,IAAI,CAAAL,KAAK,CAAC;IAAC,OAAAA,KAAA;EAC7D;EAACM,SAAA,CAAAT,cAAA,EAAAC,UAAA;EAAA,OAAAS,YAAA,CAAAV,cAAA;IAAAW,GAAA;IAAAC,KAAA,EAED,SAAAC,iBAAiBA,CAAA,EAAG;MAClB,OAAO;QACLC,SAAS,EAAE;MACb,CAAC;IACH;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAG,kBAAkBA,CAAA,EAAG;MAAA,IAAAC,kBAAA;MACnB,IAAAC,aAAA,GAA0B,IAAI,CAACC,OAAO;QAA9BC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAAEC,GAAG,GAAAH,aAAA,CAAHG,GAAG;MACrB,IAAI,CAACpC,SAAS,CAAC,CAAC,EAAE;MAClB,IAAMqC,kBAAkB,IAAAL,kBAAA,GAAGM,MAAM,CAACC,UAAU,CAAC,kCAAkC,CAAC,cAAAP,kBAAA,uBAArDA,kBAAA,CAAuDQ,OAAO;;MAEzF;MACA,IAAI,EAAEL,QAAQ,GAAG,CAAC,CAAC,EAAE;MACrB,IAAIE,kBAAkB,EAAE;MAExB,IAAMI,gBAAgB,GAAGtC,UAAU,CAAC,CAAC,CAClCuC,SAAS,CAAC,CAAC,CACXC,SAAS,2BAAAC,MAAA,CAA2BR,GAAG,iBAAc,CAAC,CACtDS,SAAS,CAAC,CAAC;MACd,IAAMC,cAAc,GAAG3C,UAAU,CAAC,CAAC,CAChCuC,SAAS,CAAC,CAAC,CACXC,SAAS,2BAAAC,MAAA,CAA2BR,GAAG,eAAY,CAAC,CACpDS,SAAS,CAAC,CAAC;MACd,IAAME,cAAc,GAAG5C,UAAU,CAAC,CAAC,CAChCuC,SAAS,CAAC,CAAC,CACXC,SAAS,2BAAAC,MAAA,CAA2BR,GAAG,WAAQ,CAAC,CAChDS,SAAS,CAAC,CAAC;MACd,IAAMG,eAAe,GAAG7C,UAAU,CAAC,CAAC,CACjCuC,SAAS,CAAC,CAAC,CACXC,SAAS,2BAAAC,MAAA,CAA2BR,GAAG,YAAS,CAAC,CACjDS,SAAS,CAAC,CAAC;MACd,IAAMI,YAAY,GAAGR,gBAAgB,CAACS,KAAK,CAAC,CAAuB;MACnE,IAAMC,UAAU,GAAGL,cAAc,CAACI,KAAK,CAAC,CAAqB;MAC7D,IAAME,UAAU,GAAGL,cAAc,CAACG,KAAK,CAAC,CAAqB;MAC7D,IAAMG,WAAW,GAAGN,cAAc,CAACG,KAAK,CAAC,CAAqB;MAE9D,IAAID,YAAY,CAACK,MAAM,GAAG,CAAC,EAAE;QAC3B,IAAMC,KAAK,GAAGN,YAAY,CAACO,GAAG,CAAC,UAACC,IAAI,EAAK;UAAA,IAAAC,WAAA,EAAAC,WAAA;UACvC,IAAMC,WAAW,GAAGC,MAAM,CAACC,QAAQ,CAACL,IAAI,CAACM,OAAO,CAACH,WAAW,EAAG,EAAE,CAAC;UAClE,IAAMI,QAAQ,GAAGZ,UAAU,CAACQ,WAAW,CAAC;UACxC,OAAO;YACLK,IAAI,EAAE;cACJC,EAAE,GAAAR,WAAA,GAAEM,QAAQ,CAACG,EAAE,cAAAT,WAAA,gBAAAA,WAAA,GAAXA,WAAA,CAAaU,OAAO,cAAAV,WAAA,uBAApBA,WAAA,CAAsB9B,KAAK;cAC/ByC,EAAE,GAAAV,WAAA,GAAEK,QAAQ,CAACM,EAAE,cAAAX,WAAA,gBAAAA,WAAA,GAAXA,WAAA,CAAaS,OAAO,cAAAT,WAAA,uBAApBA,WAAA,CAAsB/B;YAC5B,CAAC;YACD2C,EAAE,EAAE;cACFL,EAAE,EAAET,IAAI,CAACM,OAAO,CAAC,IAAI,CAAC;cACtBM,EAAE,EAAEZ,IAAI,CAACM,OAAO,CAAC,IAAI;YACvB;UACF,CAAC;QACH,CAAC,CAAC;QAEFtB,gBAAgB,CACb+B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAClBA,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAC,iBAAA;UAAA,QAAAA,iBAAA,GAAKpB,KAAK,CAACmB,KAAK,CAAC,CAACT,IAAI,cAAAU,iBAAA,uBAAjBA,iBAAA,CAAmBT,EAAE;QAAA,EAAC,CAC/CM,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAE,kBAAA;UAAA,QAAAA,kBAAA,GAAKrB,KAAK,CAACmB,KAAK,CAAC,CAACT,IAAI,cAAAW,kBAAA,uBAAjBA,kBAAA,CAAmBP,EAAE;QAAA,EAAC,CAC/ClE,UAAU,CAAC,CAAC,CACZgC,QAAQ,CAACA,QAAQ,CAAC,CAClBqC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB;QAAA,CACCA,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAG,eAAA;UAAA,QAAAA,eAAA,GAAKtB,KAAK,CAACmB,KAAK,CAAC,CAACH,EAAE,cAAAM,eAAA,uBAAfA,eAAA,CAAiBX,EAAE;QAAA,CAAC;QAC9C;QAAA,CACCM,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAI,gBAAA;UAAA,QAAAA,gBAAA,GAAKvB,KAAK,CAACmB,KAAK,CAAC,CAACH,EAAE,cAAAO,gBAAA,uBAAfA,gBAAA,CAAiBT,EAAE;QAAA,CAAC,CAAC;MACnD;MACA,IAAIlB,UAAU,CAACG,MAAM,GAAG,CAAC,EAAE;QACzB,IAAMC,MAAK,GAAGJ,UAAU,CAACK,GAAG,CAAC,UAACC,IAAI,EAAK;UAAA,IAAAsB,WAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,YAAA;UACrC,IAAMC,KAAK,IAAAJ,WAAA,GAAGtB,IAAI,CAAC0B,KAAK,cAAAJ,WAAA,gBAAAA,WAAA,GAAVA,WAAA,CAAYX,OAAO,cAAAW,WAAA,uBAAnBA,WAAA,CAAqBnD,KAAK;UACxC,IAAMwD,MAAM,IAAAJ,YAAA,GAAGvB,IAAI,CAAC2B,MAAM,cAAAJ,YAAA,gBAAAA,YAAA,GAAXA,YAAA,CAAaZ,OAAO,cAAAY,YAAA,uBAApBA,YAAA,CAAsBpD,KAAK;UAC1C,IAAMgC,WAAW,GAAGC,MAAM,CAACC,QAAQ,CAACL,IAAI,CAACM,OAAO,CAACH,WAAW,EAAG,EAAE,CAAC;UAClE,IAAMI,QAAQ,GAAGZ,UAAU,CAACQ,WAAW,CAAC;UACxC,OAAO;YACLK,IAAI,EAAE;cACJoB,CAAC,EAAE,EAAAJ,YAAA,GAAAjB,QAAQ,CAACG,EAAE,cAAAc,YAAA,gBAAAA,YAAA,GAAXA,YAAA,CAAab,OAAO,cAAAa,YAAA,uBAApBA,YAAA,CAAsBrD,KAAK,IAAGuD,KAAK,GAAG,CAAC;cAC1CG,CAAC,EAAE,EAAAJ,YAAA,GAAAlB,QAAQ,CAACM,EAAE,cAAAY,YAAA,gBAAAA,YAAA,GAAXA,YAAA,CAAad,OAAO,cAAAc,YAAA,uBAApBA,YAAA,CAAsBtD,KAAK,IAAGwD,MAAM,GAAG;YAC5C,CAAC;YACDb,EAAE,EAAE;cACFc,CAAC,EAAE5B,IAAI,CAACM,OAAO,CAAC,GAAG,CAAC;cACpBuB,CAAC,EAAE7B,IAAI,CAACM,OAAO,CAAC,GAAG;YACrB;UACF,CAAC;QACH,CAAC,CAAC;QAEFjB,cAAc,CACX0B,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB;QAAA,CACCA,IAAI,CAAC,GAAG,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAa,kBAAA;UAAA,QAAAA,kBAAA,GAAKhC,MAAK,CAACmB,KAAK,CAAC,CAACT,IAAI,cAAAsB,kBAAA,uBAAjBA,kBAAA,CAAmBF,CAAC;QAAA,CAAC;QAC9C;QAAA,CACCb,IAAI,CAAC,GAAG,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAc,kBAAA;UAAA,QAAAA,kBAAA,GAAKjC,MAAK,CAACmB,KAAK,CAAC,CAACT,IAAI,cAAAuB,kBAAA,uBAAjBA,kBAAA,CAAmBF,CAAC;QAAA,CAAC,CAAC,CAC9CnF,UAAU,CAAC,CAAC,CACZgC,QAAQ,CAACA,QAAQ,CAAC,CAClBqC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB;QAAA,CACCA,IAAI,CAAC,GAAG,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAe,gBAAA;UAAA,QAAAA,gBAAA,GAAKlC,MAAK,CAACmB,KAAK,CAAC,CAACH,EAAE,cAAAkB,gBAAA,uBAAfA,gBAAA,CAAiBJ,CAAC;QAAA,CAAC;QAC5C;QAAA,CACCb,IAAI,CAAC,GAAG,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAgB,gBAAA;UAAA,QAAAA,gBAAA,GAAKnC,MAAK,CAACmB,KAAK,CAAC,CAACH,EAAE,cAAAmB,gBAAA,uBAAfA,gBAAA,CAAiBJ,CAAC;QAAA,CAAC,CAAC;MACjD;MACA,IAAIlC,UAAU,CAACE,MAAM,GAAG,CAAC,EAAE;QACzB,IAAMC,OAAK,GAAGH,UAAU,CAACI,GAAG,CAAC,UAACC,IAAI,EAAK;UAAA,IAAAkC,OAAA,EAAAC,OAAA;UACrC,OAAO;YACL3B,IAAI,EAAE;cACJ4B,EAAE,GAAAF,OAAA,GAAElC,IAAI,CAACU,EAAE,cAAAwB,OAAA,gBAAAA,OAAA,GAAPA,OAAA,CAASvB,OAAO,cAAAuB,OAAA,uBAAhBA,OAAA,CAAkB/D,KAAK;cAC3BkE,EAAE,GAAAF,OAAA,GAAEnC,IAAI,CAACa,EAAE,cAAAsB,OAAA,gBAAAA,OAAA,GAAPA,OAAA,CAASxB,OAAO,cAAAwB,OAAA,uBAAhBA,OAAA,CAAkBhE;YACxB,CAAC;YACD2C,EAAE,EAAE;cACFsB,EAAE,EAAEpC,IAAI,CAACM,OAAO,CAAC,IAAI,CAAC;cACtB+B,EAAE,EAAErC,IAAI,CAACM,OAAO,CAAC,IAAI;YACvB;UACF,CAAC;QACH,CAAC,CAAC;QAEFhB,cAAc,CACXyB,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB;QAAA,CACCA,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAqB,kBAAA;UAAA,QAAAA,kBAAA,GAAKxC,OAAK,CAACmB,KAAK,CAAC,CAACT,IAAI,cAAA8B,kBAAA,uBAAjBA,kBAAA,CAAmBF,EAAE;QAAA,CAAC;QAChD;QAAA,CACCrB,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAsB,mBAAA;UAAA,QAAAA,mBAAA,GAAKzC,OAAK,CAACmB,KAAK,CAAC,CAACT,IAAI,cAAA+B,mBAAA,uBAAjBA,mBAAA,CAAmBF,EAAE;QAAA,CAAC,CAAC,CAChD3F,UAAU,CAAC,CAAC,CACZgC,QAAQ,CAACA,QAAQ,CAAC,CAClBqC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB;QAAA,CACCA,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAuB,gBAAA;UAAA,QAAAA,gBAAA,GAAK1C,OAAK,CAACmB,KAAK,CAAC,CAACH,EAAE,cAAA0B,gBAAA,uBAAfA,gBAAA,CAAiBJ,EAAE;QAAA,CAAC;QAC9C;QAAA,CACCrB,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAwB,iBAAA;UAAA,QAAAA,iBAAA,GAAK3C,OAAK,CAACmB,KAAK,CAAC,CAACH,EAAE,cAAA2B,iBAAA,uBAAfA,iBAAA,CAAiBJ,EAAE;QAAA,CAAC,CAAC;MACnD;MACA,IAAIzC,WAAW,CAACC,MAAM,GAAG,CAAC,EAAE;QAC1BN,eAAe,CAACwB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAClCxB,eAAe,CAAC7C,UAAU,CAAC,CAAC,CAACgC,QAAQ,CAACA,QAAQ,CAAC,CAACqC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;MACpE;IACF;EAAC;IAAA7C,GAAA;IAAAC,KAAA,EAED,SAAAuE,kBAAkBA,CAACC,SAAsB,EAAE;MACzC,IAAIA,SAAS,CAACC,UAAU,CAACC,IAAI,KAAK,IAAI,CAACpE,OAAO,CAACoE,IAAI,EAAE;QACnD,IAAI,CAACvE,kBAAkB,CAAC,CAAC;MAC3B;IACF;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAA2E,iBAAiBA,CAAA,EAAG;MAClB,IAAI,CAACxE,kBAAkB,CAAC,CAAC;IAC3B;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAAL,iBAAiBA,CAACI,GAAW,EAAE;MAAA,IAAA6E,MAAA;MAC7B,OAAO,UAACC,KAAuB,EAAK;QAClC,IAAMC,MAAM,GAAG/E,GAAG,KAAK6E,MAAI,CAACtE,OAAO,CAACJ,SAAS,GAAGH,GAAG,GAAG,IAAI;QAC1D6E,MAAI,CAACG,QAAQ,CAAC7E,SAAS,CAAC4E,MAAM,EAAED,KAAK,CAAC;MACxC,CAAC;IACH;EAAC;IAAA9E,GAAA;IAAAC,KAAA,EAED,SAAAgF,gBAAgBA,CAAA,EAAG;MACjB,IAAAC,cAAA,GAA2B,IAAI,CAAC3E,OAAO;QAA/BoE,IAAI,GAAAO,cAAA,CAAJP,IAAI;QAAEQ,QAAQ,GAAAD,cAAA,CAARC,QAAQ;MACtB,IAAMC,MAAM,GAAGT,IAAI,CAAC9C,GAAG,CAAC,UAAAwD,KAAA;QAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;QAAA,OAAOrG,WAAW,CAACqG,KAAK,EAAEH,QAAQ,CAAC;MAAA,EAAC;MAEpE,OAAOhG,IAAI,CAACoG,GAAG,CAAAC,KAAA,CAARrG,IAAI,EAAAsG,kBAAA,CAAQL,MAAM,EAAC;IAC5B;EAAC;IAAApF,GAAA;IAAAC,KAAA,EAED,SAAAyF,aAAaA,CAAA,EAAG;MACd,IAAAC,cAAA,GAAgC,IAAI,CAACpF,OAAO;QAApCE,GAAG,GAAAkF,cAAA,CAAHlF,GAAG;QAAEmF,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAET,QAAQ,GAAAQ,cAAA,CAARR,QAAQ;MAE3B,IAAAU,KAAA,GAAAC,cAAA,CAAwBF,IAAI;QAArBpC,KAAK,GAAAqC,KAAA;QAAEpC,MAAM,GAAAoC,KAAA;MACpB,IAAME,MAAM,GAAG,CAACvC,KAAK,GAAG,CAAC,EAAEC,MAAM,GAAG,CAAC,CAAC;MACtC,IAAOC,CAAC,GAAOqC,MAAM;QAAXpC,CAAC,GAAIoC,MAAM;MACrB,OAAApG,eAAA;QACE+D,CAAC,EAADA,CAAC;QACDC,CAAC,EAADA,CAAC;QACDwB,QAAQ,EAAEA,QAAQ,GAAG;MAAG,GACvB,uBAAuB,KAAAlE,MAAA,CAAMR,GAAG;IAErC;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAA+F,cAAcA,CAAA,EAAG;MACf,IAAAC,cAAA,GAAmC,IAAI,CAAC1F,OAAO;QAAvCoE,IAAI,GAAAsB,cAAA,CAAJtB,IAAI;QAAKuB,aAAa,GAAAC,wBAAA,CAAAF,cAAA,EAAAG,SAAA;MAC9B,IAAMC,SAAS,GAAG,IAAI,CAACpB,gBAAgB,CAAC,CAAC;MAEzC,OAAAqB,aAAA,CAAAA,aAAA,KACKJ,aAAa;QAChBK,YAAY,EAAE5B,IAAI,CAAChD,MAAM;QACzBgD,IAAI,EAAJA,IAAI;QACJ0B,SAAS,EAATA,SAAS;QACTG,aAAa,EAAE,IAAI,CAAC5G;MAAiB;IAEzC;EAAC;IAAAI,GAAA;IAAAC,KAAA,EAED,SAAAwG,MAAMA,CAAA,EAAG;MAAA,IAAAC,IAAA;MACP,IAAMC,WAAW,GAAG,IAAI,CAACC,OAAO;MAChC,IAAQC,QAAQ,GAAK,IAAI,CAACtG,OAAO,CAAzBsG,QAAQ;MAChB,IAAI,CAACtG,OAAO,CAACuG,gBAAgB,CAACC,iBAAiB,CAAC,YAAY,CAAC;MAE7D,OAAAL,IAAA,GAAOvI,OAAO,CAAC,IAAI,CAACoC,OAAO,CAACyG,MAAM,CAAC,eACjCvI,KAAA,CAAAC,aAAA,CAACiI,WAAW,EAAAD,IAAA,CAAAO,EAAA;QAAA,UAAQ;MAAG,iBACrBxI,KAAA,CAAAC,aAAA,CAACmI,QAAQ,EAAAH,IAAA,CAAAO,EAAA,gBAAE,CACA,CAAC;IAElB;EAAC;AAAA,EAvN0B/I,SAAS;AA0NtC;AAAAyB,eAAA,CA1NMN,cAAc,iBACG,YAAY;AAAAM,eAAA,CAD7BN,cAAc,WAEHR,KAAK;AAAAc,eAAA,CAFhBN,cAAc,aAGD,CAACd,mBAAmB,CAAC,CAAC,CAAC;AAAAoB,eAAA,CAHpCN,cAAc,kBAK+B;EAC/C6H,WAAW,EAAE,CAAC;EACd1G,QAAQ,EAAE,GAAG;EACb2G,aAAa,EAAE,EAAE;EACjBC,WAAW,EAAE,CAAC;EACdC,SAAS,EAAE,MAAM;EACjBC,OAAO,EAAE,CAAC;EACVC,QAAQ,EAAE,CAAC;EACXpC,QAAQ,EAAE,EAAE;EACZqC,gBAAgB,EAAE;AACpB,CAAC;AAAA,IAyNGC,gBAAgB,0BAAAC,WAAA;EAepB,SAAAD,iBAAYlI,KAAU,EAAE;IAAA,IAAAoI,MAAA;IAAAlI,eAAA,OAAAgI,gBAAA;IACtBE,MAAA,GAAAjI,UAAA,OAAA+H,gBAAA,GAAMlI,KAAK;IAAEI,eAAA,CAAAgI,MAAA;IACbA,MAAA,CAAKC,YAAY,GAAGD,MAAA,CAAKC,YAAY,CAAC/H,IAAI,CAAA8H,MAAK,CAAC;IAAC,OAAAA,MAAA;EACnD;EAAC7H,SAAA,CAAA2H,gBAAA,EAAAC,WAAA;EAAA,OAAA3H,YAAA,CAAA0H,gBAAA;IAAAzH,GAAA;IAAAC,KAAA,EAED,SAAA4H,uBAAuBA,CAAAC,MAAA,EAAmD/E,KAAa,EAAE;MAAA,IAAAgF,gBAAA;MAAA,IAA/DrD,UAAU,GAAAoD,MAAA,CAAVpD,UAAU;MAClC,IAAMC,IAAI,IAAAoD,gBAAA,GAAGrD,UAAU,CAACC,IAAI,cAAAoD,gBAAA,uBAAfA,gBAAA,CAAkBhF,KAAK,CAAC;MACrC,IAAAiF,qBAAA,GAAgE,IAAI,CAACC,qBAAqB,CACxFtD,IAAI,EACJ5B,KACF,CAAC;QAHOmF,MAAM,GAAAF,qBAAA,CAANE,MAAM;QAAEC,MAAM,GAAAH,qBAAA,CAANG,MAAM;QAAEC,YAAY,GAAAJ,qBAAA,CAAZI,YAAY;QAAEC,YAAY,GAAAL,qBAAA,CAAZK,YAAY;QAAEf,OAAO,GAAAU,qBAAA,CAAPV,OAAO;MAK3D,OAAO;QACL9E,EAAE,EAAE0F,MAAM;QACVvF,EAAE,EAAEwF,MAAM;QACVjE,EAAE,EAAEkE,YAAY;QAChBjE,EAAE,EAAEkE,YAAY;QAChBC,WAAW,EAAEhB,OAAO,GAAG;MACzB,CAAC;IACH;EAAC;IAAAtH,GAAA;IAAAC,KAAA,EAED,SAAAsI,YAAYA,CAAAC,MAAA,EAAmDzF,KAAa,EAAE;MAAA,IAAA0F,iBAAA,EAAAC,MAAA;MAAA,IAA/DhE,UAAU,GAAA8D,MAAA,CAAV9D,UAAU;MACvB,IAAMC,IAAI,IAAA8D,iBAAA,GAAG/D,UAAU,CAACC,IAAI,cAAA8D,iBAAA,uBAAfA,iBAAA,CAAkB1F,KAAK,CAAC;MACrC,IAAA4F,sBAAA,GAAuC,IAAI,CAACV,qBAAqB,CAACtD,IAAI,EAAG5B,KAAK,CAAC;QAAvEmF,MAAM,GAAAS,sBAAA,CAANT,MAAM;QAAEC,MAAM,GAAAQ,sBAAA,CAANR,MAAM;QAAES,IAAI,GAAAD,sBAAA,CAAJC,IAAI;QAAEC,IAAI,GAAAF,sBAAA,CAAJE,IAAI;MAClC,IAAAC,cAAA,GAA2C,IAAI,CAACvI,OAAO;QAA/CE,GAAG,GAAAqI,cAAA,CAAHrI,GAAG;QAAEsI,WAAW,GAAAD,cAAA,CAAXC,WAAW;QAAEC,YAAY,GAAAF,cAAA,CAAZE,YAAY;MACtC,IAAMC,KAAK,IAAAP,MAAA,GAAG/D,IAAI,CAAEsE,KAAK,cAAAP,MAAA,cAAAA,MAAA,GAAI,IAAI,CAACnI,OAAO,CAAC0I,KAAK;MAE/C,OAAAtJ,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA;QACE6C,EAAE,EAAE0F,MAAM;QACVvF,EAAE,EAAEwF,MAAM;QACVjE,EAAE,EAAE0E,IAAI;QACRzE,EAAE,EAAE0E,IAAI;QACRK,MAAM,EAAED,KAAK;QACbD,YAAY,EAAZA,YAAY;QACZD,WAAW,EAAXA;MAAW,GACV,SAAS,EAAGb,MAAM,GAClB,SAAS,EAAGC,MAAM,GAClB,SAAS,EAAGS,IAAI,GAChB,SAAS,EAAGC,IAAI,GAChB,uBAAuB,KAAA5H,MAAA,CAAMR,GAAG,aAChC,mBAAmB,EAAGsC,KAAK;IAEhC;EAAC;IAAA/C,GAAA;IAAAC,KAAA,EAED,SAAAkJ,WAAWA,CAAAC,MAAA,EAAmDrG,KAAa,EAAE;MAAA,IAAAsG,iBAAA,EAAAC,OAAA;MAAA,IAA/D5E,UAAU,GAAA0E,MAAA,CAAV1E,UAAU;MACtB,IAAMC,IAAI,IAAA0E,iBAAA,GAAG3E,UAAU,CAACC,IAAI,cAAA0E,iBAAA,uBAAfA,iBAAA,CAAkBtG,KAAK,CAAC;MACrC,IAAAwG,sBAAA,GAAgC,IAAI,CAACtB,qBAAqB,CAACtD,IAAI,EAAG5B,KAAK,CAAC;QAAhE6F,IAAI,GAAAW,sBAAA,CAAJX,IAAI;QAAEC,IAAI,GAAAU,sBAAA,CAAJV,IAAI;QAAEvB,OAAO,GAAAiC,sBAAA,CAAPjC,OAAO;MAC3B,IAAAkC,cAAA,GAAqD,IAAI,CAACjJ,OAAO;QAAzDE,GAAG,GAAA+I,cAAA,CAAH/I,GAAG;QAAEsI,WAAW,GAAAS,cAAA,CAAXT,WAAW;QAAEC,YAAY,GAAAQ,cAAA,CAAZR,YAAY;QAAES,QAAQ,GAAAD,cAAA,CAARC,QAAQ;MAChD,IAAMR,KAAK,IAAAK,OAAA,GAAG3E,IAAI,CAAEsE,KAAK,cAAAK,OAAA,cAAAA,OAAA,GAAI,IAAI,CAAC/I,OAAO,CAAC0I,KAAK;MAE/C,OAAAtJ,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA;QACE+D,CAAC,EAAEkF,IAAI;QACPjF,CAAC,EAAEkF;MAAI,GACN,SAAS,EAAGD,IAAI,GAChB,SAAS,EAAGC,IAAI,aACTvB,OAAO,YACf2B,KAAK,mBACLD,YAAY,kBACZD,WAAW,eACXU,QAAQ,aAAAxI,MAAA,CACAR,GAAG,WAAAQ,MAAA,CAAQ8B,KAAK,IACvB,uBAAuB,KAAA9B,MAAA,CAAMR,GAAG,mBAChC,mBAAmB,EAAGsC,KAAK;IAEhC;EAAC;IAAA/C,GAAA;IAAAC,KAAA,EAED,SAAAyJ,YAAYA,CAAAC,MAAA,EAAmD5G,KAAa,EAAE;MAAA,IAAA6G,iBAAA,EAAAC,UAAA,EAAAC,SAAA,EAAAC,KAAA;MAAA,IAA/DrF,UAAU,GAAAiF,MAAA,CAAVjF,UAAU;MACvB,IAAMC,IAAI,IAAAiF,iBAAA,GAAGlF,UAAU,CAACC,IAAI,cAAAiF,iBAAA,uBAAfA,iBAAA,CAAkB7G,KAAK,CAAC;MACrC,IAAAiH,sBAAA,GAAiC,IAAI,CAAC/B,qBAAqB,CAACtD,IAAI,EAAG5B,KAAK,CAAC;QAAjE6F,IAAI,GAAAoB,sBAAA,CAAJpB,IAAI;QAAEC,IAAI,GAAAmB,sBAAA,CAAJnB,IAAI;QAAEoB,QAAQ,GAAAD,sBAAA,CAARC,QAAQ;MAC5B,IAAAC,cAAA,GAA8B,IAAI,CAAC3J,OAAO;QAAlCE,GAAG,GAAAyJ,cAAA,CAAHzJ,GAAG;QAAEuI,YAAY,GAAAkB,cAAA,CAAZlB,YAAY;MACzB,IAAM3B,SAAS,IAAAwC,UAAA,GAAGlF,IAAI,CAAE0C,SAAS,cAAAwC,UAAA,cAAAA,UAAA,GAAI,IAAI,CAACtJ,OAAO,CAAC8G,SAAS;MAC3D,IAAME,QAAQ,IAAAuC,SAAA,GAAGnF,IAAI,CAAE4C,QAAQ,cAAAuC,SAAA,cAAAA,SAAA,GAAI,IAAI,CAACvJ,OAAO,CAACgH,QAAQ;MACxD,IAAM4C,IAAI,IAAAJ,KAAA,GAAGpF,IAAI,CAAEwF,IAAI,cAAAJ,KAAA,cAAAA,KAAA,GAAI,IAAI,CAACxJ,OAAO,CAAC4J,IAAI;MAC5C,IAAMzG,CAAC,GAAGkF,IAAI,GAAGrB,QAAQ,GAAI,CAAC;MAC9B,IAAM5D,CAAC,GAAGkF,IAAI,GAAGtB,QAAQ,GAAI,CAAC;MAC9B,OAAA5H,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA;QACE+D,CAAC,EAADA,CAAC;QACDC,CAAC,EAADA;MAAC,GACA,QAAQ,EAAGD,CAAC,GACZ,QAAQ,EAAGC,CAAC,eACb4D,QAAQ,YACDF,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,MAAM,mBAC1B2B,YAAY,GACX,uBAAuB,KAAA/H,MAAA,CAAMR,GAAG,iBAChC,mBAAmB,EAAGsC,KAAK,WAC5BoH,IAAI,UACCA,IAAI,eACTF,QAAQ;IAEZ;EAAC;IAAAjK,GAAA;IAAAC,KAAA,EAED,SAAAmK,aAAaA,CAAAC,MAAA,EAAmDtH,KAAa,EAAE;MAAA,IAAAuH,iBAAA,EAAAC,OAAA;MAAA,IAA/D7F,UAAU,GAAA2F,MAAA,CAAV3F,UAAU;MACxB,IAAMC,IAAI,IAAA2F,iBAAA,GAAG5F,UAAU,CAACC,IAAI,cAAA2F,iBAAA,uBAAfA,iBAAA,CAAkBvH,KAAK,CAAC;MACrC,IAAAyH,sBAAA,GAAiE,IAAI,CAACvC,qBAAqB,CACzFtD,IAAI,EACJ5B,KACF,CAAC;QAHOqF,YAAY,GAAAoC,sBAAA,CAAZpC,YAAY;QAAEC,YAAY,GAAAmC,sBAAA,CAAZnC,YAAY;QAAEoC,UAAU,GAAAD,sBAAA,CAAVC,UAAU;QAAEC,YAAY,GAAAF,sBAAA,CAAZE,YAAY;MAI5D,IAAAC,cAAA,GAAqD,IAAI,CAACpK,OAAO;QAAzDE,GAAG,GAAAkK,cAAA,CAAHlK,GAAG;QAAE0E,QAAQ,GAAAwF,cAAA,CAARxF,QAAQ;QAAE4D,WAAW,GAAA4B,cAAA,CAAX5B,WAAW;QAAEC,YAAY,GAAA2B,cAAA,CAAZ3B,YAAY;MAChD,IAAA4B,MAAA,GAAkBjG,IAAI;QAAdW,KAAK,GAAAsF,MAAA,CAALtF,KAAK;MACb,IAAM2D,KAAK,IAAAsB,OAAA,GAAG5F,IAAI,CAAEsE,KAAK,cAAAsB,OAAA,cAAAA,OAAA,GAAI,IAAI,CAAChK,OAAO,CAAC0I,KAAK;MAE/C,OAAAtJ,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA;QACE+D,CAAC,EAAE0E,YAAY;QACfzE,CAAC,EAAE0E,YAAY;QACfwC,KAAK,EAAEJ;MAAU,GAChB,uBAAuB,KAAAxJ,MAAA,CAAMR,GAAG,cAChC,mBAAmB,EAAGsC,KAAK,YAC5BuC,KAAK,YACL2D,KAAK,mBACLD,YAAY,mBACZ0B,YAAY,eACZvF,QAAQ,kBACR4D,WAAW;IAEf;EAAC;IAAA/I,GAAA;IAAAC,KAAA,EAED,SAAA6K,YAAYA,CAACnG,IAAgB,EAAE5B,KAAa,EAAE;MAAA,IAAAgI,SAAA;MAC5C,QAAAA,SAAA,GAAOpG,IAAI,CAAC3E,GAAG,cAAA+K,SAAA,cAAAA,SAAA,aAAA9J,MAAA,CAAc8B,KAAK;IACpC;EAAC;IAAA/C,GAAA;IAAAC,KAAA,EAED,SAAAgI,qBAAqBA,CAACtD,IAAgB,EAAE5B,KAAa,EAAE;MAAA,IAAAiI,aAAA;MACrD,IAAAC,cAAA,GACE,IAAI,CAAC1K,OAAO;QADN4G,aAAa,GAAA8D,cAAA,CAAb9D,aAAa;QAAEC,WAAW,GAAA6D,cAAA,CAAX7D,WAAW;QAAEF,WAAW,GAAA+D,cAAA,CAAX/D,WAAW;QAAE/G,SAAS,GAAA8K,cAAA,CAAT9K,SAAS;QAAEyF,IAAI,GAAAqF,cAAA,CAAJrF,IAAI;QAAEW,YAAY,GAAA0E,cAAA,CAAZ1E,YAAY;QAAEF,SAAS,GAAA4E,cAAA,CAAT5E,SAAS;MAEzF,IAAA6E,MAAA,GAAApF,cAAA,CAAwBF,IAAI;QAArBpC,KAAK,GAAA0H,MAAA;QAAEzH,MAAM,GAAAyH,MAAA;MACpB,IAAMlL,GAAG,GAAG,IAAI,CAAC8K,YAAY,CAACnG,IAAI,EAAE5B,KAAK,CAAC;MAC1C,IAAMkH,QAAQ,GAAG9J,SAAS,KAAKH,GAAG;MAClC,IAAMmL,WAAW,IAAAH,aAAA,GAAGrG,IAAI,CAAC2C,OAAO,cAAA0D,aAAA,cAAAA,aAAA,GAAI,IAAI,CAACzK,OAAO,CAAC+G,OAAO;MACxD,IAAMA,OAAO,GAAG6D,WAAW,IAAIlB,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC;MAElD,IAAMmB,UAAU,GAAGjM,IAAI,CAACkM,GAAG,CAAC7H,KAAK,EAAEC,MAAM,CAAC,GAAG,CAAC;MAC9C,IAAM9B,MAAM,GAAGxC,IAAI,CAACoG,GAAG,CACrB6F,UAAU,GAAG/E,SAAS,GAAG8E,WAAW,GAAGhE,aAAa,GAAGC,WAAW,GAAG,CAAC,EACtE,EACF,CAAC;MAED,IAAMyD,KAAK,GAAG3L,SAAS,GAAGgI,WAAW,GAAInE,KAAK,GAAGwD,YAAY,IAAKpH,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC;MAC9E,IAAMsL,YAAY,GACfG,KAAK,GAAG3L,SAAS,GAAI,CAAC,GAAG,CAAC,GAAIC,IAAI,CAACC,EAAE,IAAIyL,KAAK,GAAG3L,SAAS,GAAI,CAAC,GAAG,CAAC,GAAIC,IAAI,CAACC,EAAE,IAC9EyL,KAAK,GAAG3L,SAAS,GAAI,CAAC,GAAG,CAAC,GAAIC,IAAI,CAACC,EAAE,IAAIyL,KAAK,GAAG3L,SAAS,GAAI,EAAE,GAAG,CAAC,GAAIC,IAAI,CAACC,EAAG;MACnF,IAAMkM,QAAQ,GAAG,CAACnM,IAAI,CAACC,EAAE,GAAG,CAAC;MAC7B,IAAMqL,UAAU,GAAI,CAACI,KAAK,GAAGS,QAAQ,IAAInM,IAAI,CAACC,EAAE,GAAIkM,QAAQ;MAE5D,IAAMvF,MAAM,GAAG,CAACvC,KAAK,GAAG,CAAC,EAAEC,MAAM,GAAG,CAAC,CAAC;MACtC,IAAO8H,OAAO,GAAaxF,MAAM;QAAjByF,OAAO,GAAIzF,MAAM;MACjC,IAAM0F,KAAK,GAAG,CACZF,OAAO,GAAGpM,IAAI,CAACuM,GAAG,CAACb,KAAK,CAAC,GAAG1D,aAAa,EACzCqE,OAAO,GAAGrM,IAAI,CAACwM,GAAG,CAACd,KAAK,CAAC,GAAG1D,aAAa,CAC1C;MACD,IAAMyE,GAAG,GAAG,CACVL,OAAO,GAAGpM,IAAI,CAACuM,GAAG,CAACb,KAAK,CAAC,IAAI1D,aAAa,GAAGxF,MAAM,CAAC,EACpD6J,OAAO,GAAGrM,IAAI,CAACwM,GAAG,CAACd,KAAK,CAAC,IAAI1D,aAAa,GAAGxF,MAAM,CAAC,CACrD;MACD,IAAOuG,MAAM,GAAYuD,KAAK;QAAftD,MAAM,GAAIsD,KAAK;MAC9B,IAAO7C,IAAI,GAAUgD,GAAG;QAAX/C,IAAI,GAAI+C,GAAG;MAExB,IAAMC,WAAW,GAAG,CAClBN,OAAO,GACPpM,IAAI,CAACuM,GAAG,CAACb,KAAK,CAAC,IAAI1D,aAAa,GAAGxF,MAAM,GAAGwJ,WAAW,GAAG9E,SAAS,GAAG,CAAC,GAAGe,WAAW,CAAC,EACtFoE,OAAO,GACPrM,IAAI,CAACwM,GAAG,CAACd,KAAK,CAAC,IAAI1D,aAAa,GAAGxF,MAAM,GAAGwJ,WAAW,GAAG9E,SAAS,GAAG,CAAC,GAAGe,WAAW,CAAC,CACvF;MACD,IAAOgB,YAAY,GAAkByD,WAAW;QAA3BxD,YAAY,GAAIwD,WAAW;MAEhD,OAAO;QACL3D,MAAM,EAANA,MAAM;QACNC,MAAM,EAANA,MAAM;QACNS,IAAI,EAAJA,IAAI;QACJC,IAAI,EAAJA,IAAI;QACJT,YAAY,EAAZA,YAAY;QACZC,YAAY,EAAZA,YAAY;QACZoC,UAAU,EAAVA,UAAU;QACVC,YAAY,EAAZA,YAAY;QACZpD,OAAO,EAAPA,OAAO;QACP2C,QAAQ,EAARA;MACF,CAAC;IACH;EAAC;IAAAjK,GAAA;IAAAC,KAAA,EAED,SAAA2H,YAAYA,CAACjD,IAAgB,EAAE5B,KAAa,EAAE;MAAA,IAAA+I,KAAA;MAC5C,IAAAC,cAAA,GAA4C,IAAI,CAACxL,OAAO;QAAhDyG,MAAM,GAAA+E,cAAA,CAAN/E,MAAM;QAAEH,QAAQ,GAAAkF,cAAA,CAARlF,QAAQ;QAAEL,aAAa,GAAAuF,cAAA,CAAbvF,aAAa;MACvC,IAAMxG,GAAG,GAAG,IAAI,CAAC8K,YAAY,CAACnG,IAAI,EAAE5B,KAAK,CAAC;MAC1C,IAAMiJ,OAAO,GAAG,GAAG;MAEnB,IAAIC,QAAQ,GAAG3N,iBAAiB,CAACuI,QAAQ,CAAC;MAE1C,IAAI,OAAOoF,QAAQ,KAAK,UAAU,EAAE;QAClC,IAAMC,MAAM,GAAG,IAAI,CAAC3L,OAAO,CAAC0L,QAAQ;QACpC,IAAME,WAAW,GAAG/N,WAAW,CAAC6N,QAAQ,CAAC,IAAI,CAAC1L,OAAO,CAAC,EAAE,IAAI,CAACA,OAAc,CAAC;QAC5E0L,QAAQ,GAAGE,WAAW,CAACF,QAAQ;QAC/BE,WAAW,CAACF,QAAQ,GAAGC,MAAM;MAC/B;MAEA,IAAI,CAAC3L,OAAO,CAACuG,gBAAgB,CAACsF,mBAAmB,IAAAnL,MAAA,CAAI8B,KAAK,OAAA9B,MAAA,CAAI0D,IAAI,CAACW,KAAK,GAAIX,IAAI,CAACW,KAAK,CAAC;;MAEvF;MACA,IAAM+G,eAAe,GAAIC,UAAU,CAACC,MAAM,CAASF,eAAe;MAElE,OAAAP,KAAA,GAAO3N,OAAO,CAAC6I,MAAM,CAAC,eACpBvI,KAAA,CAAAC,aAAA,CAACsN,OAAO,EAAAF,KAAA,CAAA7E,EAAA;QAAA;QAAA,OAAkBjH,GAAG;QAAA,WAAWwG,aAAa,CAACxG,GAAG;MAAC,iBACxDvB,KAAA,CAAAC,aAAA,CAAC2N,eAAe,EAAAP,KAAA,CAAA7E,EAAA,uBAAE,CAAC,EAClBgF,QACM,CAAC;IAEd;EAAC;IAAAjM,GAAA;IAAAC,KAAA,EAED,SAAAwG,MAAMA,CAAA,EAAG;MAAA,IAAA+F,KAAA;QAAAC,MAAA;MACP,IAAQ9H,IAAI,GAAK,IAAI,CAACpE,OAAO,CAArBoE,IAAI;MACZ,IAAM+H,WAAW,GAAG,GAAG;MAEvB,OAAAF,KAAA,GAAOrO,OAAO,CAAC,IAAI,CAACoC,OAAO,CAACyG,MAAM,CAAC,eACjCvI,KAAA,CAAAC,aAAA,CAACgO,WAAW,EAAAF,KAAA,CAAAvF,EAAA,qBAAEtC,IAAI,CAAC9C,GAAG,CAAC,UAAC8C,IAAI,EAAE5B,KAAK;QAAA,OAAK0J,MAAI,CAAC7E,YAAY,CAACjD,IAAI,EAAE5B,KAAK,CAAC;MAAA,EAAe,CAAC;IAE1F;EAAC;AAAA,EAlO4B7E,SAAS;AAqOxC;AAAAyB,eAAA,CArOM8H,gBAAgB,iBACC,kBAAkB;AAAA9H,eAAA,CADnC8H,gBAAgB,WAEL5I,KAAK;AAAAc,eAAA,CAFhB8H,gBAAgB,kBAImC;EACrDN,aAAa,EAAE,EAAE;EACjBC,WAAW,EAAE,CAAC;EACdC,SAAS,EAAE,MAAM;EACjBC,OAAO,EAAE,EAAE;EACXC,QAAQ,EAAE,EAAE;EACZpC,QAAQ,EAAE;AACZ,CAAC;AAyOH,SAASkH,eAAeA,CAAAM,MAAA,EAGmB;EAAA,IAAAC,KAAA;EAAA,IAFhCC,gBAAgB,GAAAF,MAAA,CAAzB/F,OAAO;IACPI,MAAM,GAAA2F,MAAA,CAAN3F,MAAM;EAEN,OAAA4F,KAAA,GAAOzO,OAAO,CAAC6I,MAAM,CAAC,eACpBvI,KAAA,CAAAC,aAAA,CAACmO,gBAAgB,EAAAD,KAAA,CAAA3F,EAAA;IAAA,UAAQ,aAAa;IAAA,UAAQ;EAAM,EAAE,CAAC;AAE3D;;AAEA;;AAkBA,SAAS6F,IAAIA,CAAAC,MAAA,EAMmB;EAAA,IAAAC,KAAA;EAAA,IALrBC,KAAK,GAAAF,MAAA,CAAdnG,OAAO;IACPI,MAAM,GAAA+F,MAAA,CAAN/F,MAAM;IACNkC,MAAM,GAAA6D,MAAA,CAAN7D,MAAM;IACNF,YAAY,GAAA+D,MAAA,CAAZ/D,YAAY;IACZD,WAAW,GAAAgE,MAAA,CAAXhE,WAAW;EAEX,OAAAiE,KAAA,GAAO7O,OAAO,CAAC6I,MAAM,CAAC,eACpBvI,KAAA,CAAAC,aAAA,CAACuO,KAAK,EAAAD,KAAA,CAAA/F,EAAA;IAAA,UAAQ,MAAM;IAAA,UAAS+B,YAAY,CAACE,MAAM,CAAC;IAAA,eAAeH;EAAW,EAAI,CAAC;AAEpF;;AAEA;;AA0BA,SAASmE,GAAGA,CAAAC,MAAA,EAUmB;EAAA,IAAAC,KAAA;EAAA,IATpBC,IAAI,GAAAF,MAAA,CAAbvG,OAAO;IACPI,MAAM,GAAAmG,MAAA,CAANnG,MAAM;IAAAsG,QAAA,GAAAH,MAAA,CACNzJ,CAAC;IAADA,CAAC,GAAA4J,QAAA,cAAG,CAAC,GAAAA,QAAA;IAAAC,QAAA,GAAAJ,MAAA,CACLxJ,CAAC;IAADA,CAAC,GAAA4J,QAAA,cAAG,CAAC,GAAAA,QAAA;IACLC,MAAM,GAAAL,MAAA,CAANK,MAAM;IACNvE,KAAK,GAAAkE,MAAA,CAALlE,KAAK;IACLD,YAAY,GAAAmE,MAAA,CAAZnE,YAAY;IACZD,WAAW,GAAAoE,MAAA,CAAXpE,WAAW;IACXU,QAAQ,GAAA0D,MAAA,CAAR1D,QAAQ;EAER,IAAI,CAACA,QAAQ,EAAE;IAAA,IAAAgE,KAAA;IACb,OAAAA,KAAA,GAAOtP,OAAO,CAAC6I,MAAM,CAAC,eACpBvI,KAAA,CAAAC,aAAA,CAAC2O,IAAI,EAAAI,KAAA,CAAAxG,EAAA;MAAA,UACI,QAAQ;MAAA,MACXvD,CAAC;MAAA,MACDC,CAAC;MAAA,KACF6J,MAAM;MAAA,QACHxE,YAAY,CAACC,KAAK,CAAC;MAAA,eACZF;IAAW,EACzB,CAAC;EAEN;EAEA,IAAM2E,UAAU,GAAGzE,KAAK,IAAIjK,wBAAwB,CAAC,CAAC,CAAC;EACvD,IAAA2O,qBAAA,GAAwB/O,oBAAoB,CAAC;MAC3C8O,UAAU,EAAVA,UAAU;MACVjE,QAAQ,EAARA;IACF,CAAC,CAAC;IAAAmE,sBAAA,GAAA9H,cAAA,CAAA6H,qBAAA;IAHKnK,KAAK,GAAAoK,sBAAA;IAAEnK,MAAM,GAAAmK,sBAAA;EAKpB,OAAAR,KAAA,GAAOjP,OAAO,CAAC6I,MAAM,CAAC,eACpBvI,KAAA,CAAAC,aAAA,CAAC2O,IAAI,EAAAD,KAAA,CAAAnG,EAAA;IAAA,UACKtI,aAAa;IAAA,cACTsK,KAAK;IAAA,KACdvF,CAAC,GAAG,CAACF,KAAK,IAAI,CAAC,IAAI,CAAC;IAAA,KACpBG,CAAC,GAAG,CAACF,MAAM,IAAI,CAAC,IAAI,CAAC;IAAA,QAClBuF,YAAY,CAACC,KAAK,CAAC;IAAA,eACZF,WAAW;IAAA;EAAA,EAEzB,CAAC;AAEN;;AAEA;;AAqBA,SAAS8E,IAAIA,CAAAC,MAAA,EASmB;EAAA,IAAAC,KAAA;EAAA,IARrBC,KAAK,GAAAF,MAAA,CAAdlH,OAAO;IACPI,MAAM,GAAA8G,MAAA,CAAN9G,MAAM;IACNiD,QAAQ,GAAA6D,MAAA,CAAR7D,QAAQ;IACRgE,GAAG,GAAAH,MAAA,CAAHG,GAAG;IACHvK,CAAC,GAAAoK,MAAA,CAADpK,CAAC;IACDC,CAAC,GAAAmK,MAAA,CAADnK,CAAC;IACD4D,QAAQ,GAAAuG,MAAA,CAARvG,QAAQ;IACRwB,WAAW,GAAA+E,MAAA,CAAX/E,WAAW;EAEX,IAAI,EAAEkB,QAAQ,IAAIgE,GAAG,CAAC,EAAE,OAAO,IAAI;EACnC,IAAMzK,KAAK,GAAG+D,QAAQ;EACtB,IAAM9D,MAAM,GAAG8D,QAAQ;EACvB,OAAAwG,KAAA,GAAO5P,OAAO,CAAC6I,MAAM,CAAC,eACpBvI,KAAA,CAAAC,aAAA,CAACsP,KAAK,EAAAD,KAAA,CAAA9G,EAAA;IAAA,KAAIvD,CAAC;IAAA,KAAKC,CAAC;IAAA,SAASH,KAAK;IAAA,UAAUC,MAAM;IAAA,UAAUwK,GAAG;IAAA,eAAelF;EAAW,EAAI,CAAC;AAE/F;;AAEA;;AA2BA,SAASmF,KAAKA,CAAAC,MAAA,EAamB;EAAA,IAZtBC,MAAM,GAAAD,MAAA,CAAfvH,OAAO;IACPC,QAAQ,GAAAsH,MAAA,CAARtH,QAAQ;IACRG,MAAM,GAAAmH,MAAA,CAANnH,MAAM;IACN1B,KAAK,GAAA6I,MAAA,CAAL7I,KAAK;IACL2D,KAAK,GAAAkF,MAAA,CAALlF,KAAK;IACLD,YAAY,GAAAmF,MAAA,CAAZnF,YAAY;IACZ0B,YAAY,GAAAyD,MAAA,CAAZzD,YAAY;IACZhH,CAAC,GAAAyK,MAAA,CAADzK,CAAC;IACDC,CAAC,GAAAwK,MAAA,CAADxK,CAAC;IACDwB,QAAQ,GAAAgJ,MAAA,CAARhJ,QAAQ;IACR0F,KAAK,GAAAsD,MAAA,CAALtD,KAAK;IACL9B,WAAW,GAAAoF,MAAA,CAAXpF,WAAW;EAEX,IAAMsF,KAAK,GAAGC,MAAM,CAAChJ,KAAK,CAAC,CAACiJ,KAAK,CAAC,IAAI,CAAC;EACvC,IAAMC,UAAU,GAAGH,KAAK,CAAC1M,MAAM;EAC/B,IAAM8M,UAAU,GAAG,OAAO;EAE1B,IAAMC,SAAS,GAAG,CAAE7D,KAAK,GAAG1L,IAAI,CAACC,EAAE,GAAI,GAAG,EAAEuP,OAAO,CAAC,CAAC,CAAC;EACtD,IAAMC,eAAe,GAAG,CAAClL,CAAC,CAACiL,OAAO,CAAC,CAAC,CAAC,EAAEhL,CAAC,CAACgL,OAAO,CAAC,CAAC,CAAC,CAAC;EACpD,IAAME,SAAS,aAAA5N,MAAA,CAAa,CAACyN,SAAS,EAAAzN,MAAA,CAAK2N,eAAe,EAAEE,IAAI,CAAC,IAAI,CAAC,MAAG;EAEzE,IAAMC,OAAO,GAAG5Q,OAAO,CAAC6I,MAAM,CAAC;EAC/B,IAAMgI,YAAY,GAAGD,OAAO,CAAC9H,EAAE,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE+B,YAAY,CAACC,KAAK,CAAC;IAC5B,aAAa,EAAEyB,YAAY,GAAG,MAAM,GAAG,eAAe;IACtD3B,WAAW,EAAXA;EACF,CAAC,CAAC;EAEF,oBACEtK,KAAA,CAAAC,aAAA,CAAC0P,MAAM;IACL,mBAAW;IACX3H,MAAM,EAAC,MAAM;IACbwI,UAAU,EAAC,QAAQ;IACnBC,gBAAgB,EAAC,SAAS;IAC1BC,SAAS,EAAEH,YAAY,CAACG,SAAU;IAClCtQ,KAAK,EAAEmQ,YAAY,CAACnQ,KAAM;IAC1B6E,CAAC,EAAEA,CAAC,CAACiL,OAAO,CAAC,CAAC,CAAE;IAChBhL,CAAC,EAAEA,CAAC,CAACgL,OAAO,CAAC,CAAC,CAAE;IAChBE,SAAS,EAAEA;EAAU,GAEpBR,KAAK,CAACxM,GAAG,CAAC,UAACuN,QAAQ,EAAEC,SAAS;IAAA,oBAC7B5Q,KAAA,CAAAC,aAAA,CAAC+P,UAAU;MACT/K,CAAC,EAAEA,CAAE;MACLC,CAAC,EAAEA,CAAC,GAAG,CAAC0L,SAAS,GAAG,CAACb,UAAU,GAAG,CAAC,IAAI,CAAC,IAAIrJ,QAAS;MACrDnF,GAAG,MAAAiB,MAAA,CAAMoO,SAAS,OAAApO,MAAA,CAAImO,QAAQ;IAAG,GAEhCA,QACS,CAAC;EAAA,CACd,CAAC,eACF3Q,KAAA,CAAAC,aAAA,CAACmI,QAAQ,MAAE,CACL,CAAC;AAEb;AAEA,IAAM0F,MAAM,GAAG7N,aAAa,CAAC+I,gBAAgB,EAAE;EAC7C4E,eAAe,EAAfA,eAAe;EACfS,IAAI,EAAJA,IAAI;EACJI,GAAG,EAAHA,GAAG;EACHW,IAAI,EAAJA,IAAI;EACJK,KAAK,EAALA;AACF,CAAC,CAAC;;AAEF;;AAkBA,SAASoB,KAAKA,CAAAC,MAAA,EAWa;EAAA,IAAAC,KAAA;EAAA,IAVhBC,MAAM,GAAAF,MAAA,CAAf3I,OAAO;IACPC,QAAQ,GAAA0I,MAAA,CAAR1I,QAAQ;IACRoF,QAAQ,GAAAsD,MAAA,CAARtD,QAAQ;IACRjF,MAAM,GAAAuI,MAAA,CAANvI,MAAM;IACN7B,QAAQ,GAAAoK,MAAA,CAARpK,QAAQ;IACR8D,KAAK,GAAAsG,MAAA,CAALtG,KAAK;IACLD,YAAY,GAAAuG,MAAA,CAAZvG,YAAY;IACZtF,CAAC,GAAA6L,MAAA,CAAD7L,CAAC;IACDC,CAAC,GAAA4L,MAAA,CAAD5L,CAAC;IACDmD,gBAAgB,GAAAyI,MAAA,CAAhBzI,gBAAgB;EAEhB,IAAI,OAAOmF,QAAQ,KAAK,QAAQ,EAAE;IAChCnF,gBAAgB,CAAC4I,QAAQ,CAAC,UAAU,EAAEzD,QAAQ,CAAC;EACjD;EACA,OAAAuD,KAAA,GAAOrR,OAAO,CAAC6I,MAAM,CAAC,eACpBvI,KAAA,CAAAC,aAAA,CAAC+Q,MAAM,EAAAD,KAAA,CAAAvI,EAAA;IAAA;IAAA,UAEE,MAAM;IAAA,cACF,QAAQ;IAAA,oBACF,SAAS;IAAA,YAChB9B,QAAQ;IAAA,QACZ6D,YAAY,CAACC,KAAK,CAAC;IAAA,KACtBvF,CAAC;IAAA,KACDC;EAAC,iBAEJlF,KAAA,CAAAC,aAAA,CAACmI,QAAQ,EAAA2I,KAAA,CAAAvI,EAAA,gBAAE,CACL,CAAC;AAEb;AASA,IAAMqF,UAAU,GAAG5N,aAAa,CAACW,cAAc,EAAE;EAAEiQ,KAAK,EAALA,KAAK;EAAE/C,MAAM,EAANA;AAAO,CAAC,CAWjE;AAED,eAAeD,UAAU","ignoreList":[]}
|
package/lib/es6/Reference.js
CHANGED
|
@@ -11,20 +11,20 @@ import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
|
|
|
11
11
|
import React from 'react';
|
|
12
12
|
import createElement from './createElement';
|
|
13
13
|
/*!__reshadow-styles__:"./style/reference.shadow.css"*/
|
|
14
|
-
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
14
|
+
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SReferenceLine_1fsdg_gg_{fill:none;stroke:var(--intergalactic-chart-grid-y-accent-hover-line, #a9abb6)}.___STitle_1fsdg_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_1fsdg)}.___STitle_1fsdg_gg_._position_top_1fsdg_gg_{text-anchor:middle}.___STitle_1fsdg_gg_._position_bottom_1fsdg_gg_{text-anchor:middle;dominant-baseline:hanging}.___STitle_1fsdg_gg_._position_left_1fsdg_gg_,.___STitle_1fsdg_gg_._position_right_1fsdg_gg_{transform:rotate(-90deg);text-anchor:middle;dominant-baseline:middle}.___SBackground_1fsdg_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}.___SStripes_1fsdg_gg_{fill:var(--fill_1fsdg)}.___SStripesPatternPath_1fsdg_gg_{stroke:var(--intergalactic-chart-grid-period-pattern, rgba(25, 27, 35, 0.15));stroke-width:1px}", /*__inner_css_end__*/"1fsdg_gg_"),
|
|
15
15
|
/*__reshadow_css_end__*/
|
|
16
16
|
{
|
|
17
|
-
"__SReferenceLine": "
|
|
18
|
-
"__STitle": "
|
|
19
|
-
"--transform-origin": "--transform-
|
|
20
|
-
"_position_top": "
|
|
21
|
-
"_position_bottom": "
|
|
22
|
-
"_position_right": "
|
|
23
|
-
"_position_left": "
|
|
24
|
-
"__SBackground": "
|
|
25
|
-
"__SStripes": "
|
|
26
|
-
"--fill": "--
|
|
27
|
-
"__SStripesPatternPath": "
|
|
17
|
+
"__SReferenceLine": "___SReferenceLine_1fsdg_gg_",
|
|
18
|
+
"__STitle": "___STitle_1fsdg_gg_",
|
|
19
|
+
"--transform-origin": "--transform-origin_1fsdg",
|
|
20
|
+
"_position_top": "_position_top_1fsdg_gg_",
|
|
21
|
+
"_position_bottom": "_position_bottom_1fsdg_gg_",
|
|
22
|
+
"_position_right": "_position_right_1fsdg_gg_",
|
|
23
|
+
"_position_left": "_position_left_1fsdg_gg_",
|
|
24
|
+
"__SBackground": "___SBackground_1fsdg_gg_",
|
|
25
|
+
"__SStripes": "___SStripes_1fsdg_gg_",
|
|
26
|
+
"--fill": "--fill_1fsdg",
|
|
27
|
+
"__SStripesPatternPath": "___SStripesPatternPath_1fsdg_gg_"
|
|
28
28
|
});
|
|
29
29
|
import { scaleOfBandwidth } from './utils';
|
|
30
30
|
var side2direction = {
|
package/lib/es6/ScatterPlot.js
CHANGED
|
@@ -15,17 +15,17 @@ import React from 'react';
|
|
|
15
15
|
import createElement from './createElement';
|
|
16
16
|
import { PatternFill } from './Pattern';
|
|
17
17
|
/*!__reshadow-styles__:"./style/scatterplot.shadow.css"*/
|
|
18
|
-
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
18
|
+
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SScatterPlot_1xwes_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_1xwes);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_1xwes_gg_:hover{opacity:.8}}.___SScatterPlot_1xwes_gg_.__color_1xwes_gg_{fill:var(--color_1xwes)}.___SScatterPlot_1xwes_gg_.__pattern_1xwes_gg_.__color_1xwes_gg_{fill:var(--pattern_1xwes);stroke:var(--color_1xwes);stroke-width:1px}.___SScatterPlot_1xwes_gg_.__transparent_1xwes_gg_{opacity:.3}.___SValue_1xwes_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_1xwes_gg_.__color_1xwes_gg_{stroke:var(--color_1xwes)}.___SValue_1xwes_gg_.__transparent_1xwes_gg_{opacity:.3}", /*__inner_css_end__*/"1xwes_gg_"),
|
|
19
19
|
/*__reshadow_css_end__*/
|
|
20
20
|
{
|
|
21
|
-
"__SScatterPlot": "
|
|
22
|
-
"_color": "
|
|
23
|
-
"--color": "--
|
|
24
|
-
"_pattern": "
|
|
25
|
-
"--pattern": "--
|
|
26
|
-
"_transparent": "
|
|
27
|
-
"__SValue": "
|
|
28
|
-
"--duration": "--
|
|
21
|
+
"__SScatterPlot": "___SScatterPlot_1xwes_gg_",
|
|
22
|
+
"_color": "__color_1xwes_gg_",
|
|
23
|
+
"--color": "--color_1xwes",
|
|
24
|
+
"_pattern": "__pattern_1xwes_gg_",
|
|
25
|
+
"--pattern": "--pattern_1xwes",
|
|
26
|
+
"_transparent": "__transparent_1xwes_gg_",
|
|
27
|
+
"__SValue": "___SValue_1xwes_gg_",
|
|
28
|
+
"--duration": "--duration_1xwes"
|
|
29
29
|
});
|
|
30
30
|
import Tooltip from './Tooltip';
|
|
31
31
|
import { getScatterPlotRadius } from './utils';
|
|
@@ -213,14 +213,15 @@ _defineProperty(ScatterPlotRoot, "defaultProps", {
|
|
|
213
213
|
offset: [0, 0],
|
|
214
214
|
duration: 500
|
|
215
215
|
});
|
|
216
|
-
|
|
216
|
+
function ScatterPlotTooltip(props) {
|
|
217
217
|
var _ref = arguments[0],
|
|
218
218
|
_ref3;
|
|
219
219
|
var SScatterPlotTooltip = Tooltip;
|
|
220
220
|
return _ref3 = sstyled(props.styles), /*#__PURE__*/React.createElement(SScatterPlotTooltip, _ref3.cn("SScatterPlotTooltip", _objectSpread({}, _assignProps({
|
|
221
221
|
"excludeAnchorProps": true
|
|
222
222
|
}, _ref))));
|
|
223
|
-
}
|
|
223
|
+
}
|
|
224
|
+
;
|
|
224
225
|
var ScatterPlot = createElement(ScatterPlotRoot, {
|
|
225
226
|
Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents]
|
|
226
227
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterPlot.js","names":["Component","Root","sstyled","canUseDOM","uniqueIDEnhancement","transition","React","createElement","PatternFill","style","_sstyled","insert","Tooltip","getScatterPlotRadius","ScatterPlotRoot","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","document","visible","props","tooltipProps","_ref4","clientX","clientY","_this$asProps","asProps","eventEmitter","plotId","emit","_inherits","_createClass","key","value","generateGetBoundingClientRect","x","undefined","y","width","height","top","right","bottom","left","animationCircle","_this$asProps2","duration","uid","r","radius","selectRect","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","prevProps","data","componentDidMount","handlerOnClick","index","_this2","e","stopPropagation","onClick","renderCircle","d","i","_ref2","_this$asProps3","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","_scale","_slicedToArray","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","render","_this$asProps4","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","_objectSpread","_assignProps","ScatterPlot","_______childrenComponents"],"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, plotId } = this.asProps;\n\n eventEmitter.emit(`setTooltipPosition_${plotId}`, clientX, clientY);\n eventEmitter.emit(`setTooltipRenderingProps_${plotId}`, props, tooltipProps);\n eventEmitter.emit(`setTooltipVisible_${plotId}`, 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":[]}
|
|
1
|
+
{"version":3,"file":"ScatterPlot.js","names":["Component","Root","sstyled","canUseDOM","uniqueIDEnhancement","transition","React","createElement","PatternFill","style","_sstyled","insert","Tooltip","getScatterPlotRadius","ScatterPlotRoot","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","document","visible","props","tooltipProps","_ref4","clientX","clientY","_this$asProps","asProps","eventEmitter","plotId","emit","_inherits","_createClass","key","value","generateGetBoundingClientRect","x","undefined","y","width","height","top","right","bottom","left","animationCircle","_this$asProps2","duration","uid","r","radius","selectRect","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","prevProps","data","componentDidMount","handlerOnClick","index","_this2","e","stopPropagation","onClick","renderCircle","d","i","_ref2","_this$asProps3","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","_scale","_slicedToArray","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","render","_this$asProps4","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","_objectSpread","_assignProps","ScatterPlot","_______childrenComponents"],"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, plotId } = this.asProps;\n\n eventEmitter.emit(`setTooltipPosition_${plotId}`, clientX, clientY);\n eventEmitter.emit(`setTooltipRenderingProps_${plotId}`, props, tooltipProps);\n eventEmitter.emit(`setTooltipVisible_${plotId}`, 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\nfunction 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/es6/Tooltip.js
CHANGED
|
@@ -21,17 +21,17 @@ import React from 'react';
|
|
|
21
21
|
import createElement from './createElement';
|
|
22
22
|
import { PatternSymbol } from './Pattern';
|
|
23
23
|
/*!__reshadow-styles__:"./style/tooltip.shadow.css"*/
|
|
24
|
-
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
24
|
+
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___STooltip_gj0h7_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_gj0h7_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SDotGroup_gj0h7_gg_{display:flex;align-items:center}.___SDot_gj0h7_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SDotCircle_gj0h7_gg_.__color_gj0h7_gg_{background-color:var(--color_gj0h7);width:8px;height:8px;border-radius:50%}.___SFooter_gj0h7_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__*/"gj0h7_gg_"),
|
|
25
25
|
/*__reshadow_css_end__*/
|
|
26
26
|
{
|
|
27
|
-
"__STooltip": "
|
|
28
|
-
"__STitle": "
|
|
29
|
-
"__SDotGroup": "
|
|
30
|
-
"__SDot": "
|
|
31
|
-
"__SDotCircle": "
|
|
32
|
-
"_color": "
|
|
33
|
-
"--color": "--
|
|
34
|
-
"__SFooter": "
|
|
27
|
+
"__STooltip": "___STooltip_gj0h7_gg_",
|
|
28
|
+
"__STitle": "___STitle_gj0h7_gg_",
|
|
29
|
+
"__SDotGroup": "___SDotGroup_gj0h7_gg_",
|
|
30
|
+
"__SDot": "___SDot_gj0h7_gg_",
|
|
31
|
+
"__SDotCircle": "___SDotCircle_gj0h7_gg_",
|
|
32
|
+
"_color": "__color_gj0h7_gg_",
|
|
33
|
+
"--color": "--color_gj0h7",
|
|
34
|
+
"__SFooter": "___SFooter_gj0h7_gg_"
|
|
35
35
|
});
|
|
36
36
|
import { getChartDefaultColorName } from './utils';
|
|
37
37
|
|
package/lib/es6/Venn.js
CHANGED
|
@@ -18,17 +18,17 @@ import React from 'react';
|
|
|
18
18
|
import createElement from './createElement';
|
|
19
19
|
import { PatternFill } from './Pattern';
|
|
20
20
|
/*!__reshadow-styles__:"./style/venn.shadow.css"*/
|
|
21
|
-
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
21
|
+
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SCircle_fyipu_gg_,.___SIntersection_fyipu_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px}.___SCircle_fyipu_gg_{fill:var(--intergalactic-chart-palette-order-2, #59ddaa);fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_fyipu);transition-timing-function:ease-in-out}@media (hover:hover){.___SCircle_fyipu_gg_:hover{fill-opacity:.7}}.___SCircle_fyipu_gg_.__color_fyipu_gg_{fill:var(--color_fyipu)}.___SCircle_fyipu_gg_.__pattern_fyipu_gg_.__color_fyipu_gg_{fill:var(--pattern_fyipu);fill-opacity:.7;stroke:var(--color_fyipu);stroke-width:1px}@media (hover:hover){.___SCircle_fyipu_gg_.__pattern_fyipu_gg_.__color_fyipu_gg_:hover{fill-opacity:.85}}.___SCircle_fyipu_gg_.__transparent_fyipu_gg_{opacity:.3}.___SIntersection_fyipu_gg_{fill-opacity:0}@media (hover:hover){.___SIntersection_fyipu_gg_:hover{fill-opacity:.1}}.___SIntersection_fyipu_gg_.__transparent_fyipu_gg_{opacity:.3}", /*__inner_css_end__*/"fyipu_gg_"),
|
|
22
22
|
/*__reshadow_css_end__*/
|
|
23
23
|
{
|
|
24
|
-
"__SCircle": "
|
|
25
|
-
"_color": "
|
|
26
|
-
"--color": "--
|
|
27
|
-
"_transparent": "
|
|
28
|
-
"__SIntersection": "
|
|
29
|
-
"--duration": "--
|
|
30
|
-
"_pattern": "
|
|
31
|
-
"--pattern": "--
|
|
24
|
+
"__SCircle": "___SCircle_fyipu_gg_",
|
|
25
|
+
"_color": "__color_fyipu_gg_",
|
|
26
|
+
"--color": "--color_fyipu",
|
|
27
|
+
"_transparent": "__transparent_fyipu_gg_",
|
|
28
|
+
"__SIntersection": "___SIntersection_fyipu_gg_",
|
|
29
|
+
"--duration": "--duration_fyipu",
|
|
30
|
+
"_pattern": "__pattern_fyipu_gg_",
|
|
31
|
+
"--pattern": "--pattern_fyipu"
|
|
32
32
|
});
|
|
33
33
|
import Tooltip from './Tooltip';
|
|
34
34
|
import { getChartDefaultColorName } from './utils';
|
|
@@ -266,14 +266,15 @@ function Intersection(props) {
|
|
|
266
266
|
"onClickCapture": callAllEventHandlers(onClickIntersectionRoot, onClick)
|
|
267
267
|
}));
|
|
268
268
|
}
|
|
269
|
-
|
|
269
|
+
function VennTooltip(props) {
|
|
270
270
|
var _ref = arguments[0],
|
|
271
271
|
_ref4;
|
|
272
272
|
var SVennTooltip = Tooltip;
|
|
273
273
|
return _ref4 = sstyled(props.styles), /*#__PURE__*/React.createElement(SVennTooltip, _ref4.cn("SVennTooltip", _objectSpread({}, _assignProps({
|
|
274
274
|
"excludeAnchorProps": true
|
|
275
275
|
}, _ref))));
|
|
276
|
-
}
|
|
276
|
+
}
|
|
277
|
+
;
|
|
277
278
|
var Venn = createElement(VennRoot, {
|
|
278
279
|
Circle: Circle,
|
|
279
280
|
Intersection: Intersection,
|