@semcore/d3-chart 2.8.12 → 2.8.14

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.
@@ -1 +1 @@
1
- {"version":3,"file":"RadialTree.js","names":["baseAngle","Math","PI","RadialTreeBase","props","handleRadianClick","bind","activeKey","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","transition","selection","selectAll","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","radianIndex","parseInt","dataset","lineNode","from","cx","x1","baseVal","value","cy","y1","to","attr","_","index","width","height","x","y","x2","y2","prevProps","$rootProps","data","runAppearAnimation","key","event","newKey","handlers","textSize","widths","label","measureText","max","size","center","restRootProps","textWidth","computeTextWidth","radiansCount","onRadianClick","SRadialTree","Element","Children","dataHintsHandler","establishDataType","sstyled","styles","Component","style","uniqueIDEnhancement","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","renderRadian","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","xEnd","yEnd","transparent","color","stroke","isActive","icon","labelAngle","isHorizontal","angle","getRadianKey","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","SRadian","children","getOriginChildren","_child","mergedProps","assignProps","describeValueEntity","InteractiveArea","RadialTree","Radian","SRadianList","SInteractiveArea","Line","SLine","Cap","SCap","radius","Icon","SIcon","tag","Label","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","cn","shade","className","lineText","lineIndex","createElement","Title","STitle","setTitle"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { shade } from '@semcore/utils/lib/color';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport { measureText } from './utils';\nimport { DataHintsHandler } from './a11y/hints';\n\nimport style from './style/radial-tree.shadow.css';\nimport type { MapProps } from './types';\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\nexport interface IRadialTreeProps {\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 highligted with inreased cap size.\n */\n activeKey?: string | null;\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 const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on 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]`).interrupt()\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`).interrupt()\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`).interrupt()\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`).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 = 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 .attr('cx', (_, index) => attrs[index].to?.cx)\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 = 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 .attr('x', (_, index) => attrs[index].from?.x)\n .attr('y', (_, index) => attrs[index].from?.y)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x)\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 .attr('x2', (_, index) => attrs[index].from?.x2)\n .attr('y2', (_, index) => attrs[index].from?.y2)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2)\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\nexport interface IRadialTreeRadianProps extends IRadialTreeProps {\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 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 } = 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 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 } = 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 transparent,\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 } = 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 ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n 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 } = 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 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);\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\nexport interface IRadialTreeRadianInteractiveAreaProps {\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\nexport interface IRadialTreeRadianLineProps {\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};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={stroke} transparent={transparent} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianCapProps {\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}\n\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n transparent,\n}) => {\n return sstyled(styles)(\n <SCap render='circle' cx={x} cy={y} r={radius} fill={color} transparent={transparent} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianIconProps {\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 tag?: React.FC;\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};\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\nexport interface IRadialTreeRadianLabelProps {\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};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\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,\n 'color-hovered': shade(color, -0.12),\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\nexport interface IRadialTreeTitleProps {\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};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\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={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as (<T>(\n props: MapProps<IRadialTreeProps & T>,\n) => ReturnEl) & {\n Title: <T>(props: MapProps<IRadialTreeTitleProps & T>) => ReturnEl;\n Radian: (<T>(props: MapProps<IRadialTreeRadianProps & T>) => ReturnEl) & {\n Line: <T>(props: MapProps<IRadialTreeRadianLineProps & T>) => ReturnEl;\n Cap: <T>(props: MapProps<IRadialTreeRadianCapProps & T>) => ReturnEl;\n Icon: <T>(props: MapProps<IRadialTreeRadianIconProps & T>) => ReturnEl;\n Label: <T>(props: MapProps<IRadialTreeRadianLabelProps & T>) => ReturnEl;\n };\n};\n\nexport default RadialTree;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,CAACC,IAAI,CAACC,EAAN,GAAW,CAA7B,C,CAAgC;;IAyH1BC,c;;;;;EAmBJ,wBAAYC,KAAZ,EAAwB;IAAA;;IAAA;IACtB,0BAAMA,KAAN;IADsB;IAEtB,MAAKC,iBAAL,GAAyB,MAAKA,iBAAL,CAAuBC,IAAvB,gDAAzB;IAFsB;EAGvB;;;;WAED,6BAAoB;MAClB,OAAO;QACLC,SAAS,EAAE;MADN,CAAP;IAGD;;;WAED,8BAAqB;MAAA;;MACnB,oBAA0B,KAAKC,OAA/B;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,GAAlB,iBAAkBA,GAAlB;MACA,IAAMC,kBAAkB,yBAAGC,MAAM,CAACC,UAAP,CAAkB,kCAAlB,CAAH,uDAAG,mBAAuDC,OAAlF;MAEA;;MACA,IAAI,EAAEL,QAAQ,GAAG,CAAb,CAAJ,EAAqB;MACrB,IAAIE,kBAAJ,EAAwB;MAExB,IAAMI,gBAAgB,GAAG,IAAAC,wBAAA,IACtBC,SADsB,GAEtBC,SAFsB,kCAEcR,GAFd,mBAEiCS,SAFjC,EAAzB;MAGA,IAAMC,cAAc,GAAG,IAAAJ,wBAAA,IACpBC,SADoB,GAEpBC,SAFoB,kCAEgBR,GAFhB,iBAEiCS,SAFjC,EAAvB;MAGA,IAAME,cAAc,GAAG,IAAAL,wBAAA,IACpBC,SADoB,GAEpBC,SAFoB,kCAEgBR,GAFhB,aAE6BS,SAF7B,EAAvB;MAGA,IAAMG,eAAe,GAAG,IAAAN,wBAAA,IACrBC,SADqB,GAErBC,SAFqB,kCAEeR,GAFf,cAE6BS,SAF7B,EAAxB;MAGA,IAAMI,YAAY,GAAGR,gBAAgB,CAACS,KAAjB,EAArB;MACA,IAAMC,UAAU,GAAGL,cAAc,CAACI,KAAf,EAAnB;MACA,IAAME,UAAU,GAAGL,cAAc,CAACG,KAAf,EAAnB;MACA,IAAMG,WAAW,GAAGN,cAAc,CAACG,KAAf,EAApB;;MAEA,IAAID,YAAY,CAACK,MAAb,GAAsB,CAA1B,EAA6B;QAC3B,IAAMC,KAAK,GAAGN,YAAY,CAACO,GAAb,CAAiB,UAACC,IAAD,EAAU;UAAA;;UACvC,IAAMC,WAAW,GAAGC,QAAQ,CAACF,IAAI,CAACG,OAAL,CAAaF,WAAd,EAA4B,EAA5B,CAA5B;UACA,IAAMG,QAAQ,GAAGT,UAAU,CAACM,WAAD,CAA3B;UACA,OAAO;YACLI,IAAI,EAAE;cACJC,EAAE,iBAAEF,QAAQ,CAACG,EAAX,uEAAE,YAAaC,OAAf,wDAAE,oBAAsBC,KADtB;cAEJC,EAAE,iBAAEN,QAAQ,CAACO,EAAX,uEAAE,YAAaH,OAAf,wDAAE,oBAAsBC;YAFtB,CADD;YAKLG,EAAE,EAAE;cACFN,EAAE,EAAEN,IAAI,CAACG,OAAL,CAAa,IAAb,CADF;cAEFO,EAAE,EAAEV,IAAI,CAACG,OAAL,CAAa,IAAb;YAFF;UALC,CAAP;QAUD,CAba,CAAd;QAeAnB,gBAAgB,CACb6B,IADH,CACQ,SADR,EACmB,CADnB,EAEGA,IAFH,CAEQ,IAFR,EAEc,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,4BAAcjB,KAAK,CAACiB,KAAD,CAAL,CAAaV,IAA3B,sDAAc,kBAAmBC,EAAjC;QAAA,CAFd,EAGGO,IAHH,CAGQ,IAHR,EAGc,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,6BAAcjB,KAAK,CAACiB,KAAD,CAAL,CAAaV,IAA3B,uDAAc,mBAAmBK,EAAjC;QAAA,CAHd,EAIGzB,UAJH,GAKGP,QALH,CAKYA,QALZ,EAMGmC,IANH,CAMQ,SANR,EAMmB,CANnB,EAOGA,IAPH,CAOQ,IAPR,EAOc,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,0BAAcjB,KAAK,CAACiB,KAAD,CAAL,CAAaH,EAA3B,oDAAc,gBAAiBN,EAA/B;QAAA,CAPd,EAQGO,IARH,CAQQ,IARR,EAQc,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,2BAAcjB,KAAK,CAACiB,KAAD,CAAL,CAAaH,EAA3B,qDAAc,iBAAiBF,EAA/B;QAAA,CARd;MASD;;MACD,IAAIhB,UAAU,CAACG,MAAX,GAAoB,CAAxB,EAA2B;QACzB,IAAMC,MAAK,GAAGJ,UAAU,CAACK,GAAX,CAAe,UAACC,IAAD,EAAU;UAAA;;UACrC,IAAMgB,KAAK,kBAAGhB,IAAI,CAACgB,KAAR,uEAAG,YAAYR,OAAf,wDAAG,oBAAqBC,KAAnC;UACA,IAAMQ,MAAM,mBAAGjB,IAAI,CAACiB,MAAR,yEAAG,aAAaT,OAAhB,yDAAG,qBAAsBC,KAArC;UACA,IAAMR,WAAW,GAAGC,QAAQ,CAACF,IAAI,CAACG,OAAL,CAAaF,WAAd,EAA4B,EAA5B,CAA5B;UACA,IAAMG,QAAQ,GAAGT,UAAU,CAACM,WAAD,CAA3B;UACA,OAAO;YACLI,IAAI,EAAE;cACJa,CAAC,EAAE,iBAAAd,QAAQ,CAACG,EAAT,sFAAaC,OAAb,8EAAsBC,KAAtB,IAA8BO,KAAK,GAAG,CADrC;cAEJG,CAAC,EAAE,iBAAAf,QAAQ,CAACO,EAAT,sFAAaH,OAAb,8EAAsBC,KAAtB,IAA8BQ,MAAM,GAAG;YAFtC,CADD;YAKLL,EAAE,EAAE;cACFM,CAAC,EAAElB,IAAI,CAACG,OAAL,CAAa,GAAb,CADD;cAEFgB,CAAC,EAAEnB,IAAI,CAACG,OAAL,CAAa,GAAb;YAFD;UALC,CAAP;QAUD,CAfa,CAAd;;QAiBAd,cAAc,CACXwB,IADH,CACQ,SADR,EACmB,CADnB,EAEGA,IAFH,CAEQ,GAFR,EAEa,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,6BAAcjB,MAAK,CAACiB,KAAD,CAAL,CAAaV,IAA3B,uDAAc,mBAAmBa,CAAjC;QAAA,CAFb,EAGGL,IAHH,CAGQ,GAHR,EAGa,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,6BAAcjB,MAAK,CAACiB,KAAD,CAAL,CAAaV,IAA3B,uDAAc,mBAAmBc,CAAjC;QAAA,CAHb,EAIGlC,UAJH,GAKGP,QALH,CAKYA,QALZ,EAMGmC,IANH,CAMQ,SANR,EAMmB,CANnB,EAOGA,IAPH,CAOQ,GAPR,EAOa,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,2BAAcjB,MAAK,CAACiB,KAAD,CAAL,CAAaH,EAA3B,qDAAc,iBAAiBM,CAA/B;QAAA,CAPb,EAQGL,IARH,CAQQ,GARR,EAQa,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,2BAAcjB,MAAK,CAACiB,KAAD,CAAL,CAAaH,EAA3B,qDAAc,iBAAiBO,CAA/B;QAAA,CARb;MASD;;MACD,IAAIxB,UAAU,CAACE,MAAX,GAAoB,CAAxB,EAA2B;QACzB,IAAMC,OAAK,GAAGH,UAAU,CAACI,GAAX,CAAe,UAACC,IAAD,EAAU;UAAA;;UACrC,OAAO;YACLK,IAAI,EAAE;cACJe,EAAE,aAAEpB,IAAI,CAACO,EAAP,+DAAE,QAASC,OAAX,oDAAE,gBAAkBC,KADlB;cAEJY,EAAE,aAAErB,IAAI,CAACW,EAAP,+DAAE,QAASH,OAAX,oDAAE,gBAAkBC;YAFlB,CADD;YAKLG,EAAE,EAAE;cACFQ,EAAE,EAAEpB,IAAI,CAACG,OAAL,CAAa,IAAb,CADF;cAEFkB,EAAE,EAAErB,IAAI,CAACG,OAAL,CAAa,IAAb;YAFF;UALC,CAAP;QAUD,CAXa,CAAd;;QAaAb,cAAc,CACXuB,IADH,CACQ,SADR,EACmB,CADnB,EAEGA,IAFH,CAEQ,IAFR,EAEc,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,6BAAcjB,OAAK,CAACiB,KAAD,CAAL,CAAaV,IAA3B,uDAAc,mBAAmBe,EAAjC;QAAA,CAFd,EAGGP,IAHH,CAGQ,IAHR,EAGc,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,8BAAcjB,OAAK,CAACiB,KAAD,CAAL,CAAaV,IAA3B,wDAAc,oBAAmBgB,EAAjC;QAAA,CAHd,EAIGpC,UAJH,GAKGP,QALH,CAKYA,QALZ,EAMGmC,IANH,CAMQ,SANR,EAMmB,CANnB,EAOGA,IAPH,CAOQ,IAPR,EAOc,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,2BAAcjB,OAAK,CAACiB,KAAD,CAAL,CAAaH,EAA3B,qDAAc,iBAAiBQ,EAA/B;QAAA,CAPd,EAQGP,IARH,CAQQ,IARR,EAQc,UAACC,CAAD,EAAIC,KAAJ;UAAA;;UAAA,4BAAcjB,OAAK,CAACiB,KAAD,CAAL,CAAaH,EAA3B,sDAAc,kBAAiBS,EAA/B;QAAA,CARd;MASD;;MACD,IAAIzB,WAAW,CAACC,MAAZ,GAAqB,CAAzB,EAA4B;QAC1BN,eAAe,CAACsB,IAAhB,CAAqB,SAArB,EAAgC,CAAhC;QACAtB,eAAe,CAACN,UAAhB,GAA6BP,QAA7B,CAAsCA,QAAtC,EAAgDmC,IAAhD,CAAqD,SAArD,EAAgE,CAAhE;MACD;IACF;;;WAED,4BAAmBS,SAAnB,EAA2C;MACzC,IAAIA,SAAS,CAACC,UAAV,CAAqBC,IAArB,KAA8B,KAAK/C,OAAL,CAAa+C,IAA/C,EAAqD;QACnD,KAAKC,kBAAL;MACD;IACF;;;WAED,6BAAoB;MAClB,KAAKA,kBAAL;IACD;;;WAED,2BAAkBC,GAAlB,EAA+B;MAAA;;MAC7B,OAAO,UAACC,KAAD,EAA6B;QAClC,IAAMC,MAAM,GAAGF,GAAG,KAAK,MAAI,CAACjD,OAAL,CAAaD,SAArB,GAAiCkD,GAAjC,GAAuC,IAAtD;;QACA,MAAI,CAACG,QAAL,CAAcrD,SAAd,CAAwBoD,MAAxB,EAAgCD,KAAhC;MACD,CAHD;IAID;;;WAED,4BAAmB;MACjB,qBAA2B,KAAKlD,OAAhC;MAAA,IAAQ+C,IAAR,kBAAQA,IAAR;MAAA,IAAcM,QAAd,kBAAcA,QAAd;MACA,IAAMC,MAAM,GAAGP,IAAI,CAACzB,GAAL,CAAS;QAAA,IAAGiC,KAAH,SAAGA,KAAH;QAAA,OAAe,IAAAC,kBAAA,EAAYD,KAAZ,EAAmBF,QAAnB,CAAf;MAAA,CAAT,CAAf;MAEA,OAAO5D,IAAI,CAACgE,GAAL,OAAAhE,IAAI,sCAAQ6D,MAAR,EAAX;IACD;;;WAED,yBAAgB;MACd,qBAAgC,KAAKtD,OAArC;MAAA,IAAQE,GAAR,kBAAQA,GAAR;MAAA,IAAawD,IAAb,kBAAaA,IAAb;MAAA,IAAmBL,QAAnB,kBAAmBA,QAAnB;;MAEA,4CAAwBK,IAAxB;MAAA,IAAOnB,KAAP;MAAA,IAAcC,MAAd;;MACA,IAAMmB,MAAM,GAAG,CAACpB,KAAK,GAAG,CAAT,EAAYC,MAAM,GAAG,CAArB,CAAf;MACA,IAAOC,CAAP,GAAekB,MAAf;MAAA,IAAUjB,CAAV,GAAeiB,MAAf;MACA;QACElB,CAAC,EAADA,CADF;QAEEC,CAAC,EAADA,CAFF;QAGEW,QAAQ,EAAEA,QAAQ,GAAG;MAHvB,GAIG,uBAJH,YAIgCnD,GAJhC;IAMD;;;WAED,0BAAiB;MACf,qBAAmC,KAAKF,OAAxC;MAAA,IAAQ+C,IAAR,kBAAQA,IAAR;MAAA,IAAiBa,aAAjB;MACA,IAAMC,SAAS,GAAG,KAAKC,gBAAL,EAAlB;MAEA,uCACKF,aADL;QAEEG,YAAY,EAAEhB,IAAI,CAAC3B,MAFrB;QAGE2B,IAAI,EAAJA,IAHF;QAIEc,SAAS,EAATA,SAJF;QAKEG,aAAa,EAAE,KAAKnE;MALtB;IAOD;;;WAED,kBAAS;MAAA;;MACP,IAAMoE,WAAW,GAAG,KAAKC,OAAzB;MACA,IAAQC,QAAR,GAAqB,KAAKnE,OAA1B,CAAQmE,QAAR;MACA,KAAKnE,OAAL,CAAaoE,gBAAb,CAA8BC,iBAA9B,CAAgD,YAAhD;MAEA,cAAO,IAAAC,aAAA,EAAQ,KAAKtE,OAAL,CAAauE,MAArB,CAAP,eACE,gCAAC,WAAD;QAAA,UAAoB;MAApB,iBACE,gCAAC,QAAD,0BADF,CADF;IAKD;;;EAxM0BC,e;;iCAAvB7E,c,iBACiB,Y;iCADjBA,c,WAEW8E,K;iCAFX9E,c,aAGa,CAAC,IAAA+E,oBAAA,GAAD,C;iCAHb/E,c,kBAK6C;EAC/CgF,WAAW,EAAE,CADkC;EAE/C1E,QAAQ,EAAE,GAFqC;EAG/C2E,aAAa,EAAE,EAHgC;EAI/CC,WAAW,EAAE,CAJkC;EAK/CC,SAAS,EAAE,MALoC;EAM/CC,OAAO,EAAE,CANsC;EAO/CC,QAAQ,EAAE,CAPqC;EAQ/C3B,QAAQ,EAAE,EARqC;EAS/C4B,gBAAgB,EAAE;AAT6B,C;;IAkN7CC,gB;;;;;EAcJ,0BAAYtF,KAAZ,EAAwB;IAAA;;IAAA;IACtB,4BAAMA,KAAN;IADsB;IAEtB,OAAKuF,YAAL,GAAoB,OAAKA,YAAL,CAAkBrF,IAAlB,iDAApB;IAFsB;EAGvB;;;;WAED,yCAA0EwC,KAA1E,EAAyF;MAAA,IAA/DQ,UAA+D,UAA/DA,UAA+D;MACvF,IAAMC,IAAI,GAAGD,UAAU,CAACC,IAAX,CAAiBT,KAAjB,CAAb;;MACA,4BAAgE,KAAK8C,qBAAL,CAC9DrC,IAD8D,EAE9DT,KAF8D,CAAhE;MAAA,IAAQ+C,MAAR,yBAAQA,MAAR;MAAA,IAAgBC,MAAhB,yBAAgBA,MAAhB;MAAA,IAAwBC,YAAxB,yBAAwBA,YAAxB;MAAA,IAAsCC,YAAtC,yBAAsCA,YAAtC;MAAA,IAAoDT,OAApD,yBAAoDA,OAApD;;MAKA,OAAO;QACLjD,EAAE,EAAEuD,MADC;QAELnD,EAAE,EAAEoD,MAFC;QAGL3C,EAAE,EAAE4C,YAHC;QAIL3C,EAAE,EAAE4C,YAJC;QAKLC,WAAW,EAAEV,OAAO,GAAG;MALlB,CAAP;IAOD;;;WAED,8BAA+DzC,KAA/D,EAA8E;MAAA;;MAAA,IAA/DQ,UAA+D,UAA/DA,UAA+D;MAC5E,IAAMC,IAAI,GAAGD,UAAU,CAACC,IAAX,CAAiBT,KAAjB,CAAb;;MACA,6BAAuC,KAAK8C,qBAAL,CAA2BrC,IAA3B,EAAiCT,KAAjC,CAAvC;MAAA,IAAQ+C,MAAR,0BAAQA,MAAR;MAAA,IAAgBC,MAAhB,0BAAgBA,MAAhB;MAAA,IAAwBI,IAAxB,0BAAwBA,IAAxB;MAAA,IAA8BC,IAA9B,0BAA8BA,IAA9B;;MACA,qBAA6B,KAAK3F,OAAlC;MAAA,IAAQE,GAAR,kBAAQA,GAAR;MAAA,IAAa0F,WAAb,kBAAaA,WAAb;MACA,IAAMC,KAAK,kBAAG9C,IAAI,CAAC8C,KAAR,qDAAiB,KAAK7F,OAAL,CAAa6F,KAAzC;MAEA;QACE/D,EAAE,EAAEuD,MADN;QAEEnD,EAAE,EAAEoD,MAFN;QAGE3C,EAAE,EAAE+C,IAHN;QAIE9C,EAAE,EAAE+C,IAJN;QAKEG,MAAM,EAAED,KALV;QAMED,WAAW,EAAXA;MANF,4CAOG,SAPH,EAOeP,MAPf,4CAQG,SARH,EAQeC,MARf,4CASG,SATH,EASeI,IATf,4CAUG,SAVH,EAUeC,IAVf,4CAWG,uBAXH,YAWgCzF,GAXhC,sDAYG,mBAZH,EAYyBoC,KAZzB;IAcD;;;WAED,6BAA8DA,KAA9D,EAA6E;MAAA;;MAAA,IAA/DQ,UAA+D,UAA/DA,UAA+D;MAC3E,IAAMC,IAAI,GAAGD,UAAU,CAACC,IAAX,CAAiBT,KAAjB,CAAb;;MACA,6BAAgC,KAAK8C,qBAAL,CAA2BrC,IAA3B,EAAiCT,KAAjC,CAAhC;MAAA,IAAQoD,IAAR,0BAAQA,IAAR;MAAA,IAAcC,IAAd,0BAAcA,IAAd;MAAA,IAAoBZ,OAApB,0BAAoBA,OAApB;;MACA,qBAA6B,KAAK/E,OAAlC;MAAA,IAAQE,GAAR,kBAAQA,GAAR;MAAA,IAAa0F,WAAb,kBAAaA,WAAb;MACA,IAAMC,KAAK,mBAAG9C,IAAI,CAAC8C,KAAR,uDAAiB,KAAK7F,OAAL,CAAa6F,KAAzC;MAEA;QACEpD,CAAC,EAAEiD,IADL;QAEEhD,CAAC,EAAEiD;MAFL,4CAGG,SAHH,EAGeD,IAHf,4CAIG,SAJH,EAIeC,IAJf,sDAKUZ,OALV,qDAMEc,KANF,2DAOED,WAPF,4CAQG,uBARH,YAQgC1F,GARhC,4DASG,mBATH,EASyBoC,KATzB;IAWD;;;WAED,8BAA+DA,KAA/D,EAA8E;MAAA;;MAAA,IAA/DQ,UAA+D,UAA/DA,UAA+D;MAC5E,IAAMC,IAAI,GAAGD,UAAU,CAACC,IAAX,CAAiBT,KAAjB,CAAb;;MACA,6BAAiC,KAAK8C,qBAAL,CAA2BrC,IAA3B,EAAiCT,KAAjC,CAAjC;MAAA,IAAQoD,IAAR,0BAAQA,IAAR;MAAA,IAAcC,IAAd,0BAAcA,IAAd;MAAA,IAAoBI,QAApB,0BAAoBA,QAApB;;MACA,IAAQ7F,GAAR,GAAgB,KAAKF,OAArB,CAAQE,GAAR;MACA,IAAM4E,SAAS,sBAAG/B,IAAI,CAAC+B,SAAR,6DAAqB,KAAK9E,OAAL,CAAa8E,SAAjD;MACA,IAAME,QAAQ,qBAAGjC,IAAI,CAACiC,QAAR,2DAAoB,KAAKhF,OAAL,CAAagF,QAA/C;MACA,IAAMgB,IAAI,iBAAGjD,IAAI,CAACiD,IAAR,mDAAgB,KAAKhG,OAAL,CAAagG,IAAvC;MACA,IAAMvD,CAAC,GAAGiD,IAAI,GAAGV,QAAQ,GAAI,CAA7B;MACA,IAAMtC,CAAC,GAAGiD,IAAI,GAAGX,QAAQ,GAAI,CAA7B;MACA;QACEvC,CAAC,EAADA,CADF;QAEEC,CAAC,EAADA;MAFF,4CAGG,QAHH,EAGcD,CAHd,4CAIG,QAJH,EAIcC,CAJd,wDAKEsC,QALF,qDAMSF,SANT,aAMSA,SANT,cAMSA,SANT,GAMsB,MANtB,4CAOG,uBAPH,YAOgC5E,GAPhC,0DAQG,mBARH,EAQyBoC,KARzB,oDASE0D,IATF,wDAUED,QAVF;IAYD;;;WAED,+BAAgEzD,KAAhE,EAA+E;MAAA;;MAAA,IAA/DQ,UAA+D,UAA/DA,UAA+D;MAC7E,IAAMC,IAAI,GAAGD,UAAU,CAACC,IAAX,CAAiBT,KAAjB,CAAb;;MACA,6BAAiE,KAAK8C,qBAAL,CAC/DrC,IAD+D,EAE/DT,KAF+D,CAAjE;MAAA,IAAQiD,YAAR,0BAAQA,YAAR;MAAA,IAAsBC,YAAtB,0BAAsBA,YAAtB;MAAA,IAAoCS,UAApC,0BAAoCA,UAApC;MAAA,IAAgDC,YAAhD,0BAAgDA,YAAhD;;MAIA,qBAAuC,KAAKlG,OAA5C;MAAA,IAAQE,GAAR,kBAAQA,GAAR;MAAA,IAAamD,QAAb,kBAAaA,QAAb;MAAA,IAAuBuC,WAAvB,kBAAuBA,WAAvB;MACA,IAAQrC,KAAR,GAAkBR,IAAlB,CAAQQ,KAAR;MACA,IAAMsC,KAAK,mBAAG9C,IAAI,CAAC8C,KAAR,uDAAiB,KAAK7F,OAAL,CAAa6F,KAAzC;MAEA;QACEpD,CAAC,EAAE8C,YADL;QAEE7C,CAAC,EAAE8C,YAFL;QAGEW,KAAK,EAAEF;MAHT,4CAIG,uBAJH,YAIgC/F,GAJhC,uDAKG,mBALH,EAKyBoC,KALzB,qDAMEiB,KANF,qDAOEsC,KAPF,4DAQEK,YARF,wDASE7C,QATF,2DAUEuC,WAVF;IAYD;;;WAED,sBAAa7C,IAAb,EAA+BT,KAA/B,EAA8C;MAAA;;MAC5C,oBAAOS,IAAI,CAACE,GAAZ,kEAA6BX,KAA7B;IACD;;;WAED,+BAAsBS,IAAtB,EAAwCT,KAAxC,EAAuD;MAAA;;MACrD,qBACE,KAAKtC,OADP;MAAA,IAAQ4E,aAAR,kBAAQA,aAAR;MAAA,IAAuBC,WAAvB,kBAAuBA,WAAvB;MAAA,IAAoCF,WAApC,kBAAoCA,WAApC;MAAA,IAAiD5E,SAAjD,kBAAiDA,SAAjD;MAAA,IAA4D2D,IAA5D,kBAA4DA,IAA5D;MAAA,IAAkEK,YAAlE,kBAAkEA,YAAlE;MAAA,IAAgFF,SAAhF,kBAAgFA,SAAhF;;MAEA,6CAAwBH,IAAxB;MAAA,IAAOnB,KAAP;MAAA,IAAcC,MAAd;;MACA,IAAMS,GAAG,GAAG,KAAKmD,YAAL,CAAkBrD,IAAlB,EAAwBT,KAAxB,CAAZ;MACA,IAAMyD,QAAQ,GAAGhG,SAAS,KAAKkD,GAA/B;MACA,IAAMoD,WAAW,oBAAGtD,IAAI,CAACgC,OAAR,yDAAmB,KAAK/E,OAAL,CAAa+E,OAAjD;MACA,IAAMA,OAAO,GAAGsB,WAAW,IAAIN,QAAQ,GAAG,CAAH,GAAO,GAAnB,CAA3B;MAEA,IAAMO,UAAU,GAAG7G,IAAI,CAAC8G,GAAL,CAAShE,KAAT,EAAgBC,MAAhB,IAA0B,CAA7C;MACA,IAAMpB,MAAM,GAAG3B,IAAI,CAACgE,GAAL,CACb6C,UAAU,GAAGzC,SAAb,GAAyBwC,WAAzB,GAAuCzB,aAAvC,GAAuDC,WAAW,GAAG,CADxD,EAEb,EAFa,CAAf;MAKA,IAAMsB,KAAK,GAAG3G,SAAS,GAAGmF,WAAZ,GAA2BrC,KAAK,GAAGyB,YAAT,IAA0BtE,IAAI,CAACC,EAAL,GAAU,CAApC,CAAxC;MACA,IAAMwG,YAAY,GACfC,KAAK,GAAG3G,SAAR,GAAqB,IAAI,CAAL,GAAUC,IAAI,CAACC,EAAnC,IAAyCyG,KAAK,GAAG3G,SAAR,GAAqB,IAAI,CAAL,GAAUC,IAAI,CAACC,EAA7E,IACCyG,KAAK,GAAG3G,SAAR,GAAqB,IAAI,CAAL,GAAUC,IAAI,CAACC,EAAnC,IAAyCyG,KAAK,GAAG3G,SAAR,GAAqB,KAAK,CAAN,GAAWC,IAAI,CAACC,EAFhF;MAGA,IAAM8G,QAAQ,GAAG,CAAC/G,IAAI,CAACC,EAAN,GAAW,CAA5B;MACA,IAAMuG,UAAU,GAAI,CAACE,KAAK,GAAGK,QAAT,IAAqB/G,IAAI,CAACC,EAA3B,GAAiC8G,QAApD;MAEA,IAAM7C,MAAM,GAAG,CAACpB,KAAK,GAAG,CAAT,EAAYC,MAAM,GAAG,CAArB,CAAf;MACA,IAAOiE,OAAP,GAA2B9C,MAA3B;MAAA,IAAgB+C,OAAhB,GAA2B/C,MAA3B;MACA,IAAMgD,KAAK,GAAG,CACZF,OAAO,GAAGhH,IAAI,CAACmH,GAAL,CAAST,KAAT,IAAkBvB,aADhB,EAEZ8B,OAAO,GAAGjH,IAAI,CAACoH,GAAL,CAASV,KAAT,IAAkBvB,aAFhB,CAAd;MAIA,IAAMkC,GAAG,GAAG,CACVL,OAAO,GAAGhH,IAAI,CAACmH,GAAL,CAAST,KAAT,KAAmBvB,aAAa,GAAGxD,MAAnC,CADA,EAEVsF,OAAO,GAAGjH,IAAI,CAACoH,GAAL,CAASV,KAAT,KAAmBvB,aAAa,GAAGxD,MAAnC,CAFA,CAAZ;MAIA,IAAOiE,MAAP,GAAyBsB,KAAzB;MAAA,IAAerB,MAAf,GAAyBqB,KAAzB;MACA,IAAOjB,IAAP,GAAqBoB,GAArB;MAAA,IAAanB,IAAb,GAAqBmB,GAArB;MAEA,IAAMC,WAAW,GAAG,CAClBN,OAAO,GACPhH,IAAI,CAACmH,GAAL,CAAST,KAAT,KAAmBvB,aAAa,GAAGxD,MAAhB,GAAyBiF,WAAzB,GAAuCxC,SAAS,GAAG,CAAnD,GAAuDgB,WAA1E,CAFkB,EAGlB6B,OAAO,GACPjH,IAAI,CAACoH,GAAL,CAASV,KAAT,KAAmBvB,aAAa,GAAGxD,MAAhB,GAAyBiF,WAAzB,GAAuCxC,SAAS,GAAG,CAAnD,GAAuDgB,WAA1E,CAJkB,CAApB;MAMA,IAAOU,YAAP,GAAqCwB,WAArC;MAAA,IAAqBvB,YAArB,GAAqCuB,WAArC;MAEA,OAAO;QACL1B,MAAM,EAANA,MADK;QAELC,MAAM,EAANA,MAFK;QAGLI,IAAI,EAAJA,IAHK;QAILC,IAAI,EAAJA,IAJK;QAKLJ,YAAY,EAAZA,YALK;QAMLC,YAAY,EAAZA,YANK;QAOLS,UAAU,EAAVA,UAPK;QAQLC,YAAY,EAAZA,YARK;QASLnB,OAAO,EAAPA,OATK;QAULgB,QAAQ,EAARA;MAVK,CAAP;IAYD;;;WAED,sBAAahD,IAAb,EAA+BT,KAA/B,EAA8C;MAAA;;MAC5C,qBAA4C,KAAKtC,OAAjD;MAAA,IAAQuE,MAAR,kBAAQA,MAAR;MAAA,IAAgBJ,QAAhB,kBAAgBA,QAAhB;MAAA,IAA0BH,aAA1B,kBAA0BA,aAA1B;MACA,IAAMf,GAAG,GAAG,KAAKmD,YAAL,CAAkBrD,IAAlB,EAAwBT,KAAxB,CAAZ;MACA,IAAM0E,OAAO,GAAG,GAAhB;MAEA,IAAIC,QAAQ,GAAG,IAAAC,6BAAA,EAAkB/C,QAAlB,CAAf;;MAEA,IAAI,OAAO8C,QAAP,KAAoB,UAAxB,EAAoC;QAClC,IAAME,MAAM,GAAG,KAAKnH,OAAL,CAAaiH,QAA5B;QACA,IAAMG,WAAW,GAAG,IAAAC,uBAAA,EAAYJ,QAAQ,CAAC,KAAKjH,OAAN,CAApB,EAAoC,KAAKA,OAAzC,CAApB;QACAiH,QAAQ,GAAGG,WAAW,CAACH,QAAvB;QACAG,WAAW,CAACH,QAAZ,GAAuBE,MAAvB;MACD;;MAED,KAAKnH,OAAL,CAAaoE,gBAAb,CAA8BkD,mBAA9B,WAAqDhF,KAArD,cAA8DS,IAAI,CAACQ,KAAnE,GAA4ER,IAAI,CAACQ,KAAjF,EAd4C,CAgB5C;;MACA,IAAMgE,eAAe,GAAIC,UAAU,CAACC,MAAZ,CAA2BF,eAAnD;MAEA,eAAO,IAAAjD,aAAA,EAAQC,MAAR,CAAP,eACE,gCAAC,OAAD;QAAA;QAAA,OAA0BtB,GAA1B;QAAA,WAAwCe,aAAa,CAACf,GAAD;MAArD,iBACE,gCAAC,eAAD,kCADF,EAEGgE,QAFH,CADF;IAMD;;;WAED,kBAAS;MAAA;MAAA;;MACP,IAAQlE,IAAR,GAAiB,KAAK/C,OAAtB,CAAQ+C,IAAR;MACA,IAAM2E,WAAW,GAAG,GAApB;MAEA,eAAO,IAAApD,aAAA,EAAQ,KAAKtE,OAAL,CAAauE,MAArB,CAAP,eACE,gCAAC,WAAD,+BAAcxB,IAAI,CAACzB,GAAL,CAAS,UAACyB,IAAD,EAAOT,KAAP;QAAA,OAAiB,MAAI,CAAC6C,YAAL,CAAkBpC,IAAlB,EAAwBT,KAAxB,CAAjB;MAAA,CAAT,CAAd,CADF;IAGD;;;EA1N4BkC,e;;iCAAzBU,gB,iBACiB,kB;iCADjBA,gB,WAEWT,K;iCAFXS,gB,kBAImD;EACrDN,aAAa,EAAE,EADsC;EAErDC,WAAW,EAAE,CAFwC;EAGrDC,SAAS,EAAE,MAH0C;EAIrDC,OAAO,EAAE,EAJ4C;EAKrDC,QAAQ,EAAE,EAL2C;EAMrD3B,QAAQ,EAAE;AAN2C,C;;AAqOzD,IAAMkE,eAAiE,GAAG,SAApEA,eAAoE,SAGpE;EAAA;;EAAA,IAFKI,gBAEL,UAFJzD,OAEI;EAAA,IADJK,MACI,UADJA,MACI;EACJ,eAAO,IAAAD,aAAA,EAAQC,MAAR,CAAP,eACE,gCAAC,gBAAD;IAAA,UAAyB,aAAzB;IAAA,UAA8C;EAA9C,GADF;AAGD,CAPD;;AAwBA,IAAMqD,IAA2C,GAAG,SAA9CA,IAA8C,SAK9C;EAAA;;EAAA,IAJKC,KAIL,UAJJ3D,OAII;EAAA,IAHJK,MAGI,UAHJA,MAGI;EAAA,IAFJuB,MAEI,UAFJA,MAEI;EAAA,IADJF,WACI,UADJA,WACI;EACJ,eAAO,IAAAtB,aAAA,EAAQC,MAAR,CAAP,eACE,gCAAC,KAAD;IAAA,UAAc,MAAd;IAAA,UAA6BuB,MAA7B;IAAA,eAAkDF;EAAlD,GADF;AAGD,CATD;;AAyBA,IAAMkC,GAAyC,GAAG,SAA5CA,GAA4C,SAQ5C;EAAA;;EAAA,IAPKC,IAOL,UAPJ7D,OAOI;EAAA,IANJK,MAMI,UANJA,MAMI;EAAA,IALJ9B,CAKI,UALJA,CAKI;EAAA,IAJJC,CAII,UAJJA,CAII;EAAA,IAHJsF,MAGI,UAHJA,MAGI;EAAA,IAFJnC,KAEI,UAFJA,KAEI;EAAA,IADJD,WACI,UADJA,WACI;EACJ,eAAO,IAAAtB,aAAA,EAAQC,MAAR,CAAP,eACE,gCAAC,IAAD;IAAA,UAAa,QAAb;IAAA,MAA0B9B,CAA1B;IAAA,MAAiCC,CAAjC;IAAA,KAAuCsF,MAAvC;IAAA,QAAqDnC,KAArD;IAAA,eAAyED;EAAzE,GADF;AAGD,CAZD;;AAiCA,IAAMqC,IAA2C,GAAG,SAA9CA,IAA8C,SAS9C;EAAA;;EAAA,IARKC,KAQL,UARJhE,OAQI;EAAA,IAPJK,MAOI,UAPJA,MAOI;EAAA,IANJwB,QAMI,UANJA,QAMI;EAAA,IALJoC,GAKI,UALJA,GAKI;EAAA,IAJJ1F,CAII,UAJJA,CAII;EAAA,IAHJC,CAGI,UAHJA,CAGI;EAAA,IAFJsC,QAEI,UAFJA,QAEI;EAAA,IADJY,WACI,UADJA,WACI;EACJ,IAAI,EAAEG,QAAQ,IAAIoC,GAAd,CAAJ,EAAwB,OAAO,IAAP;EACxB,IAAM5F,KAAK,GAAGyC,QAAd;EACA,IAAMxC,MAAM,GAAGwC,QAAf;EACA,eAAO,IAAAV,aAAA,EAAQC,MAAR,CAAP,eACE,gCAAC,KAAD;IAAA,KAAU9B,CAAV;IAAA,KAAgBC,CAAhB;IAAA,SAA0BH,KAA1B;IAAA,UAAyCC,MAAzC;IAAA,UAAyD2F,GAAzD;IAAA,eAA2EvC;EAA3E,GADF;AAGD,CAhBD;;AAwCA,IAAMwC,KAA6C,GAAG,SAAhDA,KAAgD,SAYhD;EAAA,IAXKC,MAWL,UAXJnE,OAWI;EAAA,IAVJC,QAUI,UAVJA,QAUI;EAAA,IATJI,MASI,UATJA,MASI;EAAA,IARJhB,KAQI,UARJA,KAQI;EAAA,IAPJsC,KAOI,UAPJA,KAOI;EAAA,IANJK,YAMI,UANJA,YAMI;EAAA,IALJzD,CAKI,UALJA,CAKI;EAAA,IAJJC,CAII,UAJJA,CAII;EAAA,IAHJW,QAGI,UAHJA,QAGI;EAAA,IAFJ8C,KAEI,UAFJA,KAEI;EAAA,IADJP,WACI,UADJA,WACI;EACJ,IAAM0C,KAAK,GAAGC,MAAM,CAAChF,KAAD,CAAN,CAAciF,KAAd,CAAoB,IAApB,CAAd;EACA,IAAMC,UAAU,GAAGH,KAAK,CAAClH,MAAzB;EACA,IAAMsH,UAAU,GAAG,OAAnB;EAEA,IAAMC,SAAS,GAAG,CAAExC,KAAK,GAAG1G,IAAI,CAACC,EAAd,GAAoB,GAArB,EAA0BkJ,OAA1B,CAAkC,CAAlC,CAAlB;EACA,IAAMC,eAAe,GAAG,CAACpG,CAAC,CAACmG,OAAF,CAAU,CAAV,CAAD,EAAelG,CAAC,CAACkG,OAAF,CAAU,CAAV,CAAf,CAAxB;EACA,IAAME,SAAS,oBAAa,CAACH,SAAD,SAAeE,eAAf,EAAgCE,IAAhC,CAAqC,IAArC,CAAb,MAAf;EAEA,IAAMC,OAAO,GAAG,IAAA1E,aAAA,EAAQC,MAAR,CAAhB;EACA,IAAM0E,YAAY,GAAGD,OAAO,CAACE,EAAR,CAAW,QAAX,EAAqB;IACxCrD,KAAK,EAALA,KADwC;IAExC,iBAAiB,IAAAsD,YAAA,EAAMtD,KAAN,EAAa,CAAC,IAAd,CAFuB;IAGxC,eAAeK,YAAY,GAAG,MAAH,GAAY,eAHC;IAIxCN,WAAW,EAAXA;EAJwC,CAArB,CAArB;EAOA,oBACE,gCAAC,MAAD;IACE,mBADF;IAEE,MAAM,EAAC,MAFT;IAGE,UAAU,EAAC,QAHb;IAIE,gBAAgB,EAAC,SAJnB;IAKE,SAAS,EAAEqD,YAAY,CAACG,SAL1B;IAME,KAAK,EAAEH,YAAY,CAACxE,KANtB;IAOE,CAAC,EAAEhC,CAAC,CAACmG,OAAF,CAAU,CAAV,CAPL;IAQE,CAAC,EAAElG,CAAC,CAACkG,OAAF,CAAU,CAAV,CARL;IASE,SAAS,EAAEE;EATb,GAWGR,KAAK,CAAChH,GAAN,CAAU,UAAC+H,QAAD,EAAWC,SAAX;IAAA,oBACT,gCAAC,UAAD;MACE,CAAC,EAAE7G,CADL;MAEE,CAAC,EAAEC,CAAC,GAAG,CAAC4G,SAAS,GAAG,CAACb,UAAU,GAAG,CAAd,IAAmB,CAAhC,IAAqCpF,QAF9C;MAGE,GAAG,aAAMiG,SAAN,cAAmBD,QAAnB;IAHL,GAKGA,QALH,CADS;EAAA,CAAV,CAXH,eAoBE,gCAAC,QAAD,OApBF,CADF;AAwBD,CArDD;;AAuDA,IAAM5B,MAAM,GAAG,IAAA8B,yBAAA,EAAcrE,gBAAd,EAAgC;EAC7CqC,eAAe,EAAfA,eAD6C;EAE7CK,IAAI,EAAJA,IAF6C;EAG7CE,GAAG,EAAHA,GAH6C;EAI7CG,IAAI,EAAJA,IAJ6C;EAK7CG,KAAK,EAALA;AAL6C,CAAhC,CAAf;;AAuBA,IAAMoB,KAAuC,GAAG,SAA1CA,KAA0C,SAU1C;EAAA;;EAAA,IATKC,MASL,UATJvF,OASI;EAAA,IARJC,QAQI,UARJA,QAQI;EAAA,IAPJ8C,QAOI,UAPJA,QAOI;EAAA,IANJ1C,MAMI,UANJA,MAMI;EAAA,IALJlB,QAKI,UALJA,QAKI;EAAA,IAJJwC,KAII,UAJJA,KAII;EAAA,IAHJpD,CAGI,UAHJA,CAGI;EAAA,IAFJC,CAEI,UAFJA,CAEI;EAAA,IADJ0B,gBACI,UADJA,gBACI;;EACJ,IAAI,OAAO6C,QAAP,KAAoB,QAAxB,EAAkC;IAChC7C,gBAAgB,CAACsF,QAAjB,CAA0B,UAA1B,EAAsCzC,QAAtC;EACD;;EACD,eAAO,IAAA3C,aAAA,EAAQC,MAAR,CAAP,eACE,gCAAC,MAAD;IAAA;IAAA,UAES,MAFT;IAAA,cAGa,QAHb;IAAA,oBAImB,SAJnB;IAAA,YAKYlB,QALZ;IAAA,QAMQwC,KANR;IAAA,KAOKpD,CAPL;IAAA,KAQKC;EARL,iBAUE,gCAAC,QAAD,2BAVF,CADF;AAcD,CA5BD;;AA8BA,IAAM8E,UAAU,GAAG,IAAA+B,yBAAA,EAAc5J,cAAd,EAA8B;EAAE6J,KAAK,EAALA,KAAF;EAAS/B,MAAM,EAANA;AAAT,CAA9B,CAAnB;eAYeD,U"}
1
+ {"version":3,"file":"RadialTree.js","names":["baseAngle","Math","PI","RadialTreeBase","props","handleRadianClick","bind","activeKey","asProps","duration","uid","canUseDOM","preferReduceMotion","window","matchMedia","matches","circlesAnimation","transition","selection","selectAll","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","radianIndex","parseInt","dataset","lineNode","from","cx","x1","baseVal","value","cy","y1","to","attr","_","index","width","height","x","y","x2","y2","prevProps","$rootProps","data","runAppearAnimation","key","event","newKey","handlers","textSize","widths","label","measureText","max","size","center","restRootProps","textWidth","computeTextWidth","radiansCount","onRadianClick","SRadialTree","Element","Children","dataHintsHandler","establishDataType","sstyled","styles","Component","style","uniqueIDEnhancement","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","renderRadian","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","xEnd","yEnd","transparent","color","stroke","isActive","icon","labelAngle","isHorizontal","angle","getRadianKey","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","SRadian","children","getOriginChildren","_child","mergedProps","assignProps","describeValueEntity","InteractiveArea","RadialTree","Radian","SRadianList","SInteractiveArea","Line","SLine","Cap","SCap","radius","Icon","SIcon","tag","Label","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","cn","shade","className","lineText","lineIndex","createElement","Title","STitle","setTitle"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { shade } from '@semcore/utils/lib/color';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport createElement from './createElement';\nimport { measureText } from './utils';\nimport { DataHintsHandler } from './a11y/hints';\n\nimport style from './style/radial-tree.shadow.css';\nimport type { MapProps } from './types';\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\nexport interface IRadialTreeProps {\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 highligted with inreased cap size.\n */\n activeKey?: string | null;\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 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]`).interrupt()\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`).interrupt()\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`).interrupt()\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`).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 = 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 .attr('cx', (_, index) => attrs[index].to?.cx)\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 = 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 .attr('x', (_, index) => attrs[index].from?.x)\n .attr('y', (_, index) => attrs[index].from?.y)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x)\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 .attr('x2', (_, index) => attrs[index].from?.x2)\n .attr('y2', (_, index) => attrs[index].from?.y2)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2)\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\nexport interface IRadialTreeRadianProps extends IRadialTreeProps {\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 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 } = 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 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 } = 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 transparent,\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 } = 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 ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n 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 } = 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 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);\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\nexport interface IRadialTreeRadianInteractiveAreaProps {\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\nexport interface IRadialTreeRadianLineProps {\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};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={stroke} transparent={transparent} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianCapProps {\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}\n\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n transparent,\n}) => {\n return sstyled(styles)(\n <SCap render='circle' cx={x} cy={y} r={radius} fill={color} transparent={transparent} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianIconProps {\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 tag?: React.FC;\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};\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\nexport interface IRadialTreeRadianLabelProps {\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};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\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,\n 'color-hovered': shade(color, -0.12),\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\nexport interface IRadialTreeTitleProps {\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};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\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={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as (<T>(\n props: MapProps<IRadialTreeProps & T>,\n) => ReturnEl) & {\n Title: <T>(props: MapProps<IRadialTreeTitleProps & T>) => ReturnEl;\n Radian: (<T>(props: MapProps<IRadialTreeRadianProps & T>) => ReturnEl) & {\n Line: <T>(props: MapProps<IRadialTreeRadianLineProps & T>) => ReturnEl;\n Cap: <T>(props: MapProps<IRadialTreeRadianCapProps & T>) => ReturnEl;\n Icon: <T>(props: MapProps<IRadialTreeRadianIconProps & T>) => ReturnEl;\n Label: <T>(props: MapProps<IRadialTreeRadianLabelProps & T>) => ReturnEl;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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"}
@@ -42,19 +42,19 @@ var style = (
42
42
  /*__reshadow_css_start__*/
43
43
  _core.sstyled.insert(
44
44
  /*__inner_css_start__*/
45
- ".___SReferenceLine_ognky_gg_{fill:none;stroke:var(--intergalactic-chart-grid-x-axis,#c4c7cf)}.___STitle_ognky_gg_{font-size:var(--intergalactic-fs-100,12px);fill:var(--intergalactic-chart-grid-text-label,#6c6e79);transform-origin:var(--transform-origin_ognky)}.___STitle_ognky_gg_._position_top_ognky_gg_{text-anchor:middle}.___STitle_ognky_gg_._position_bottom_ognky_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_ognky_gg_._position_right_ognky_gg_{transform:rotate(-90deg);alignment-baseline:middle;text-anchor:middle}.___STitle_ognky_gg_._position_left_ognky_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_ognky_gg_{fill:var(--intergalactic-chart-grid-period-bg,rgba(196,199,207,.2))}"
45
+ ".___SReferenceLine_1m9xf_gg_{fill:none;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___STitle_1m9xf_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_1m9xf)}.___STitle_1m9xf_gg_._position_top_1m9xf_gg_{text-anchor:middle}.___STitle_1m9xf_gg_._position_bottom_1m9xf_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_1m9xf_gg_._position_left_1m9xf_gg_,.___STitle_1m9xf_gg_._position_right_1m9xf_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_1m9xf_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}"
46
46
  /*__inner_css_end__*/
47
- , "ognky_gg_")
47
+ , "1m9xf_gg_")
48
48
  /*__reshadow_css_end__*/
49
49
  , {
50
- "__SReferenceLine": "___SReferenceLine_ognky_gg_",
51
- "__STitle": "___STitle_ognky_gg_",
52
- "--transform-origin": "--transform-origin_ognky",
53
- "_position_top": "_position_top_ognky_gg_",
54
- "_position_bottom": "_position_bottom_ognky_gg_",
55
- "_position_right": "_position_right_ognky_gg_",
56
- "_position_left": "_position_left_ognky_gg_",
57
- "__SBackground": "___SBackground_ognky_gg_"
50
+ "__SReferenceLine": "___SReferenceLine_1m9xf_gg_",
51
+ "__STitle": "___STitle_1m9xf_gg_",
52
+ "--transform-origin": "--transform-origin_1m9xf",
53
+ "_position_top": "_position_top_1m9xf_gg_",
54
+ "_position_bottom": "_position_bottom_1m9xf_gg_",
55
+ "_position_right": "_position_right_1m9xf_gg_",
56
+ "_position_left": "_position_left_1m9xf_gg_",
57
+ "__SBackground": "___SBackground_1m9xf_gg_"
58
58
  });
59
59
  var side2direction = {
60
60
  left: 'vertical',
@@ -52,17 +52,17 @@ var style = (
52
52
  /*__reshadow_css_start__*/
53
53
  _core.sstyled.insert(
54
54
  /*__inner_css_start__*/
55
- ".___SScatterPlot_149wp_gg_{fill:var(--intergalactic-chart-palette-order-1,#2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_149wp);transition-timing-function:ease-in-out;opacity:.5}@media (hover: hover){.___SScatterPlot_149wp_gg_:hover{opacity:.8}}.___SScatterPlot_149wp_gg_.__color_149wp_gg_{fill:var(--color_149wp)}.___SScatterPlot_149wp_gg_.__transparent_149wp_gg_{opacity:.3}.___SValue_149wp_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50,10px);stroke:var(--intergalactic-chart-palette-order-9,#008ff8)}.___SValue_149wp_gg_.__color_149wp_gg_{stroke:var(--color_149wp)}.___SValue_149wp_gg_.__transparent_149wp_gg_{opacity:.3}"
55
+ ".___SScatterPlot_j2rk3_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_j2rk3);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_j2rk3_gg_:hover{opacity:.8}}.___SScatterPlot_j2rk3_gg_.__color_j2rk3_gg_{fill:var(--color_j2rk3)}.___SScatterPlot_j2rk3_gg_.__transparent_j2rk3_gg_{opacity:.3}.___SValue_j2rk3_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_j2rk3_gg_.__color_j2rk3_gg_{stroke:var(--color_j2rk3)}.___SValue_j2rk3_gg_.__transparent_j2rk3_gg_{opacity:.3}"
56
56
  /*__inner_css_end__*/
57
- , "149wp_gg_")
57
+ , "j2rk3_gg_")
58
58
  /*__reshadow_css_end__*/
59
59
  , {
60
- "__SScatterPlot": "___SScatterPlot_149wp_gg_",
61
- "--duration": "--duration_149wp",
62
- "_color": "__color_149wp_gg_",
63
- "--color": "--color_149wp",
64
- "_transparent": "__transparent_149wp_gg_",
65
- "__SValue": "___SValue_149wp_gg_"
60
+ "__SScatterPlot": "___SScatterPlot_j2rk3_gg_",
61
+ "--duration": "--duration_j2rk3",
62
+ "_color": "__color_j2rk3_gg_",
63
+ "--color": "--color_j2rk3",
64
+ "_transparent": "__transparent_j2rk3_gg_",
65
+ "__SValue": "___SValue_j2rk3_gg_"
66
66
  });
67
67
 
68
68
  var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
@@ -60,17 +60,17 @@ var style = (
60
60
  /*__reshadow_css_start__*/
61
61
  _core.sstyled.insert(
62
62
  /*__inner_css_start__*/
63
- ".___STooltip_2np00_gg_{font-size:var(--intergalactic-fs-100,12px);line-height:var(--intergalactic-lh-100,133%);position:relative;background-color:var(--intergalactic-bg-primary-neutral,#fff);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,0 1px 12px 0 rgba(25,27,35,.15));padding:var(--intergalactic-spacing-3x,12px)}.___STitle_2np00_gg_{color:var(--intergalactic-text-secondary,#6c6e79);margin-bottom:var(--intergalactic-spacing-2x,8px)}.___SDotGroup_2np00_gg_{display:flex;align-items:center}.___SDot_2np00_gg_{width:8px;height:8px;border-radius:50%;margin-right:var(--intergalactic-spacing-2x,8px);background:var(--intergalactic-icon-secondary-info,#2bb3ff)}.___SDot_2np00_gg_.__color_2np00_gg_{background:var(--color_2np00)}"
63
+ ".___STooltip_1peyh_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_1peyh_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SDotGroup_1peyh_gg_{display:flex;align-items:center}.___SDot_1peyh_gg_{width:8px;height:8px;border-radius:50%;margin-right:var(--intergalactic-spacing-2x, 8px);background:var(--intergalactic-icon-secondary-info, #2bb3ff)}.___SDot_1peyh_gg_.__color_1peyh_gg_{background:var(--color_1peyh)}"
64
64
  /*__inner_css_end__*/
65
- , "2np00_gg_")
65
+ , "1peyh_gg_")
66
66
  /*__reshadow_css_end__*/
67
67
  , {
68
- "__STooltip": "___STooltip_2np00_gg_",
69
- "__STitle": "___STitle_2np00_gg_",
70
- "__SDotGroup": "___SDotGroup_2np00_gg_",
71
- "__SDot": "___SDot_2np00_gg_",
72
- "_color": "__color_2np00_gg_",
73
- "--color": "--color_2np00"
68
+ "__STooltip": "___STooltip_1peyh_gg_",
69
+ "__STitle": "___STitle_1peyh_gg_",
70
+ "__SDotGroup": "___SDotGroup_1peyh_gg_",
71
+ "__SDot": "___SDot_1peyh_gg_",
72
+ "_color": "__color_1peyh_gg_",
73
+ "--color": "--color_1peyh"
74
74
  });
75
75
 
76
76
  var TooltipRoot = /*#__PURE__*/function (_Component) {
package/lib/cjs/Venn.js CHANGED
@@ -48,17 +48,17 @@ var style = (
48
48
  /*__reshadow_css_start__*/
49
49
  _core.sstyled.insert(
50
50
  /*__inner_css_start__*/
51
- ".___SCircle_x7057_gg_{fill:var(--intergalactic-chart-palette-order-2,#59ddaa);stroke:var(--intergalactic-chart-grid-border,#fff);stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_x7057);transition-timing-function:ease-in-out}@media (hover: hover){.___SCircle_x7057_gg_:hover{fill-opacity:.7}}.___SCircle_x7057_gg_.__color_x7057_gg_{fill:var(--color_x7057)}.___SCircle_x7057_gg_.__transparent_x7057_gg_{opacity:.3}.___SIntersection_x7057_gg_{stroke:var(--intergalactic-chart-grid-border,#fff);stroke-width:2px;fill-opacity:0}@media (hover: hover){.___SIntersection_x7057_gg_:hover{fill-opacity:.1}}.___SIntersection_x7057_gg_.__transparent_x7057_gg_{opacity:.3}"
51
+ ".___SCircle_b4h43_gg_,.___SIntersection_b4h43_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px}.___SCircle_b4h43_gg_{fill:var(--intergalactic-chart-palette-order-2, #59ddaa);fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_b4h43);transition-timing-function:ease-in-out}@media (hover:hover){.___SCircle_b4h43_gg_:hover{fill-opacity:.7}}.___SCircle_b4h43_gg_.__color_b4h43_gg_{fill:var(--color_b4h43)}.___SCircle_b4h43_gg_.__transparent_b4h43_gg_{opacity:.3}.___SIntersection_b4h43_gg_{fill-opacity:0}@media (hover:hover){.___SIntersection_b4h43_gg_:hover{fill-opacity:.1}}.___SIntersection_b4h43_gg_.__transparent_b4h43_gg_{opacity:.3}"
52
52
  /*__inner_css_end__*/
53
- , "x7057_gg_")
53
+ , "b4h43_gg_")
54
54
  /*__reshadow_css_end__*/
55
55
  , {
56
- "__SCircle": "___SCircle_x7057_gg_",
57
- "--duration": "--duration_x7057",
58
- "_color": "__color_x7057_gg_",
59
- "--color": "--color_x7057",
60
- "_transparent": "__transparent_x7057_gg_",
61
- "__SIntersection": "___SIntersection_x7057_gg_"
56
+ "__SCircle": "___SCircle_b4h43_gg_",
57
+ "--duration": "--duration_b4h43",
58
+ "_color": "__color_b4h43_gg_",
59
+ "--color": "--color_b4h43",
60
+ "_transparent": "__transparent_b4h43_gg_",
61
+ "__SIntersection": "___SIntersection_b4h43_gg_"
62
62
  });
63
63
 
64
64
  var VennRoot = /*#__PURE__*/function (_Component) {
@@ -40,12 +40,12 @@ var styles = (
40
40
  /*__reshadow_css_start__*/
41
41
  _core.sstyled.insert(
42
42
  /*__inner_css_start__*/
43
- ".___SPlotA11yModule_t6z1a_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0}.___SPlotA11yModule_t6z1a_gg_:focus{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1}"
43
+ ".___SPlotA11yModule_1ms1y_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0}.___SPlotA11yModule_1ms1y_gg_:focus{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1}"
44
44
  /*__inner_css_end__*/
45
- , "t6z1a_gg_")
45
+ , "1ms1y_gg_")
46
46
  /*__reshadow_css_end__*/
47
47
  , {
48
- "__SPlotA11yModule": "___SPlotA11yModule_t6z1a_gg_"
48
+ "__SPlotA11yModule": "___SPlotA11yModule_1ms1y_gg_"
49
49
  });
50
50
  var globalWasFocused = false;
51
51
  var globalNavWithKeyboard = false;
@@ -48,13 +48,13 @@ var styles = (
48
48
  /*__reshadow_css_start__*/
49
49
  _core.sstyled.insert(
50
50
  /*__inner_css_start__*/
51
- ".___SPlotA11yView_wraf8_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0;background-color:var(--intergalactic-bg-primary-neutral,#fff);color:var(--intergalactic-text-primary,#191b23);border:3px solid var(--intergalactic-border-primary,#c4c7cf);font-size:var(--intergalactic-fs-50,10px);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}.___SPlotA11yView_wraf8_gg_:focus,.___SPlotA11yView_wraf8_gg_.__focus-within_wraf8_gg_{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay,500);position:relative;display:block}.___SPlotA11yView_wraf8_gg_:focus,.___SPlotA11yView_wraf8_gg_:focus-within{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay,500);position:relative;display:block}.___SPlotA11yView_wraf8_gg_ a{cursor:pointer;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x,8px);display:block}.___SPlotA11yView_wraf8_gg_ table,.___SPlotA11yView_wraf8_gg_ td,.___SPlotA11yView_wraf8_gg_ th{border:1px solid var(--intergalactic-border-primary,#c4c7cf)}"
51
+ ".___SPlotA11yView_nl1gf_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);border:3px solid var(--intergalactic-border-primary, #c4c7cf);font-size:var(--intergalactic-fs-50, 10px);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}.___SPlotA11yView_nl1gf_gg_.__focus-within_nl1gf_gg_,.___SPlotA11yView_nl1gf_gg_:focus{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay, 500);position:relative;display:block}.___SPlotA11yView_nl1gf_gg_:focus,.___SPlotA11yView_nl1gf_gg_:focus-within{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay, 500);position:relative;display:block}.___SPlotA11yView_nl1gf_gg_ a{cursor:pointer;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x, 8px);display:block}.___SPlotA11yView_nl1gf_gg_ table,.___SPlotA11yView_nl1gf_gg_ td,.___SPlotA11yView_nl1gf_gg_ th{border:1px solid var(--intergalactic-border-primary, #c4c7cf)}"
52
52
  /*__inner_css_end__*/
53
- , "wraf8_gg_")
53
+ , "nl1gf_gg_")
54
54
  /*__reshadow_css_end__*/
55
55
  , {
56
- "__SPlotA11yView": "___SPlotA11yView_wraf8_gg_",
57
- "_focus-within": "__focus-within_wraf8_gg_"
56
+ "__SPlotA11yView": "___SPlotA11yView_nl1gf_gg_",
57
+ "_focus-within": "__focus-within_nl1gf_gg_"
58
58
  });
59
59
 
60
60
  var PlotA11yView = function PlotA11yView(_ref3) {
package/lib/es6/Area.js CHANGED
@@ -26,19 +26,19 @@ var style = (
26
26
  /*__reshadow_css_start__*/
27
27
  _sstyled.insert(
28
28
  /*__inner_css_start__*/
29
- ".___SArea_lyjli_gg_{fill:var(--intergalactic-chart-palette-order-1,#2bb3ff);fill-opacity:.2}.___SArea_lyjli_gg_.__color_lyjli_gg_{fill:var(--color_lyjli)}.___SArea_lyjli_gg_.__transparent_lyjli_gg_{opacity:.3}.___SAreaLine_lyjli_gg_{stroke:var(--intergalactic-chart-palette-order-1,#2bb3ff);stroke-width:3;fill:transparent}.___SAreaLine_lyjli_gg_.__color_lyjli_gg_{stroke:var(--color_lyjli)}.___SAreaLine_lyjli_gg_.__transparent_lyjli_gg_{opacity:.3}.___SArea_lyjli_gg_,.___SAreaLine_lyjli_gg_{transition-property:d;transition-duration:var(--duration_lyjli);transition-timing-function:ease-in-out}.___SNull_lyjli_gg_{fill:transparent;stroke:var(--intergalactic-chart-grid-x-axis,#c4c7cf);stroke-dasharray:4}.___SNull_lyjli_gg_.__hide_lyjli_gg_{display:none}"
29
+ ".___SArea_1g02e_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);fill-opacity:.2}.___SArea_1g02e_gg_.__color_1g02e_gg_{fill:var(--color_1g02e)}.___SArea_1g02e_gg_.__transparent_1g02e_gg_{opacity:.3}.___SAreaLine_1g02e_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SAreaLine_1g02e_gg_.__color_1g02e_gg_{stroke:var(--color_1g02e)}.___SAreaLine_1g02e_gg_.__transparent_1g02e_gg_{opacity:.3}.___SAreaLine_1g02e_gg_,.___SArea_1g02e_gg_{transition-property:d;transition-duration:var(--duration_1g02e);transition-timing-function:ease-in-out}.___SNull_1g02e_gg_{fill:transparent;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf);stroke-dasharray:4}.___SNull_1g02e_gg_.__hide_1g02e_gg_{display:none}"
30
30
  /*__inner_css_end__*/
31
- , "lyjli_gg_")
31
+ , "1g02e_gg_")
32
32
  /*__reshadow_css_end__*/
33
33
  , {
34
- "__SArea": "___SArea_lyjli_gg_",
35
- "_color": "__color_lyjli_gg_",
36
- "--color": "--color_lyjli",
37
- "_transparent": "__transparent_lyjli_gg_",
38
- "__SAreaLine": "___SAreaLine_lyjli_gg_",
39
- "--duration": "--duration_lyjli",
40
- "__SNull": "___SNull_lyjli_gg_",
41
- "_hide": "__hide_lyjli_gg_"
34
+ "__SArea": "___SArea_1g02e_gg_",
35
+ "_color": "__color_1g02e_gg_",
36
+ "--color": "--color_1g02e",
37
+ "_transparent": "__transparent_1g02e_gg_",
38
+ "__SAreaLine": "___SAreaLine_1g02e_gg_",
39
+ "--duration": "--duration_1g02e",
40
+ "__SNull": "___SNull_1g02e_gg_",
41
+ "_hide": "__hide_1g02e_gg_"
42
42
  });
43
43
 
44
44
  var AreaRoot = /*#__PURE__*/function (_Component) {
package/lib/es6/Axis.js CHANGED
@@ -27,23 +27,23 @@ var style = (
27
27
  /*__reshadow_css_start__*/
28
28
  _sstyled.insert(
29
29
  /*__inner_css_start__*/
30
- ".___SAxis_1ldz6_gg_{stroke:var(--intergalactic-chart-grid-x-axis,#c4c7cf)}.___SAxis_1ldz6_gg_.__hide_1ldz6_gg_{display:none}.___STick_1ldz6_gg_{font-size:var(--intergalactic-fs-100,12px);fill:var(--intergalactic-chart-grid-text-label,#6c6e79)}.___STick_1ldz6_gg_.__hide_1ldz6_gg_{display:none}.___SGrid_1ldz6_gg_{fill:transparent;stroke:var(--intergalactic-border-secondary,#e0e1e9)}.___STitle_1ldz6_gg_{font-size:var(--intergalactic-fs-100,12px);fill:var(--intergalactic-text-hint,#6c6e79);transform-origin:var(--transform-origin_1ldz6)}.___STitle_1ldz6_gg_._position_top_1ldz6_gg_{text-anchor:middle}.___STitle_1ldz6_gg_._position_bottom_1ldz6_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_1ldz6_gg_._position_right_1ldz6_gg_{transform:rotate(-90deg);alignment-baseline:middle;text-anchor:middle}.___STitle_1ldz6_gg_._position_left_1ldz6_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STick_1ldz6_gg_._position_top_1ldz6_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_1ldz6_gg_._position_bottom_1ldz6_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1ldz6_gg_._position_right_1ldz6_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_1ldz6_gg_._position_left_1ldz6_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_1ldz6_gg_._position_custom_0_1ldz6_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1ldz6_gg_._position_custom_1_1ldz6_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
30
+ ".___SAxis_1wjsq_gg_{stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___SAxis_1wjsq_gg_.__hide_1wjsq_gg_,.___STick_1wjsq_gg_.__hide_1wjsq_gg_{display:none}.___STick_1wjsq_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79)}.___SGrid_1wjsq_gg_{fill:transparent;stroke:var(--intergalactic-border-secondary, #e0e1e9)}.___STitle_1wjsq_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-text-hint, #6c6e79);transform-origin:var(--transform-origin_1wjsq)}.___STitle_1wjsq_gg_._position_top_1wjsq_gg_{text-anchor:middle}.___STitle_1wjsq_gg_._position_bottom_1wjsq_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_1wjsq_gg_._position_left_1wjsq_gg_,.___STitle_1wjsq_gg_._position_right_1wjsq_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STick_1wjsq_gg_._position_top_1wjsq_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_1wjsq_gg_._position_bottom_1wjsq_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1wjsq_gg_._position_right_1wjsq_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_1wjsq_gg_._position_left_1wjsq_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_1wjsq_gg_._position_custom_0_1wjsq_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1wjsq_gg_._position_custom_1_1wjsq_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
31
31
  /*__inner_css_end__*/
32
- , "1ldz6_gg_")
32
+ , "1wjsq_gg_")
33
33
  /*__reshadow_css_end__*/
34
34
  , {
35
- "__SAxis": "___SAxis_1ldz6_gg_",
36
- "_hide": "__hide_1ldz6_gg_",
37
- "__STick": "___STick_1ldz6_gg_",
38
- "__SGrid": "___SGrid_1ldz6_gg_",
39
- "__STitle": "___STitle_1ldz6_gg_",
40
- "--transform-origin": "--transform-origin_1ldz6",
41
- "_position_top": "_position_top_1ldz6_gg_",
42
- "_position_bottom": "_position_bottom_1ldz6_gg_",
43
- "_position_right": "_position_right_1ldz6_gg_",
44
- "_position_left": "_position_left_1ldz6_gg_",
45
- "_position_custom_0": "_position_custom_0_1ldz6_gg_",
46
- "_position_custom_1": "_position_custom_1_1ldz6_gg_"
35
+ "__SAxis": "___SAxis_1wjsq_gg_",
36
+ "_hide": "__hide_1wjsq_gg_",
37
+ "__STick": "___STick_1wjsq_gg_",
38
+ "__SGrid": "___SGrid_1wjsq_gg_",
39
+ "__STitle": "___STitle_1wjsq_gg_",
40
+ "--transform-origin": "--transform-origin_1wjsq",
41
+ "_position_top": "_position_top_1wjsq_gg_",
42
+ "_position_bottom": "_position_bottom_1wjsq_gg_",
43
+ "_position_right": "_position_right_1wjsq_gg_",
44
+ "_position_left": "_position_left_1wjsq_gg_",
45
+ "_position_custom_0": "_position_custom_0_1wjsq_gg_",
46
+ "_position_custom_1": "_position_custom_1_1wjsq_gg_"
47
47
  });
48
48
  var CUSTOM_0 = Symbol('custom_0');
49
49
  var CUSTOM_1 = Symbol('custom_1');
package/lib/es6/Bar.js CHANGED
@@ -24,18 +24,18 @@ var style = (
24
24
  /*__reshadow_css_start__*/
25
25
  _sstyled.insert(
26
26
  /*__inner_css_start__*/
27
- ".___SBar_yhjow_gg_{fill:var(--intergalactic-chart-palette-order-1,#2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_yhjow);transition-timing-function:ease-in-out}.___SBar_yhjow_gg_.__color_yhjow_gg_{fill:var(--color_yhjow)}.___SBar_yhjow_gg_.__hide_yhjow_gg_{display:none}.___SBar_yhjow_gg_.__transparent_yhjow_gg_{opacity:.3}.___SBackground_yhjow_gg_{fill:var(--intergalactic-chart-palette-order-other-data,#c4c7cf)}"
27
+ ".___SBar_1ps47_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_1ps47);transition-timing-function:ease-in-out}.___SBar_1ps47_gg_.__color_1ps47_gg_{fill:var(--color_1ps47)}.___SBar_1ps47_gg_.__hide_1ps47_gg_{display:none}.___SBar_1ps47_gg_.__transparent_1ps47_gg_{opacity:.3}.___SBackground_1ps47_gg_{fill:var(--intergalactic-chart-palette-order-other-data, #c4c7cf)}"
28
28
  /*__inner_css_end__*/
29
- , "yhjow_gg_")
29
+ , "1ps47_gg_")
30
30
  /*__reshadow_css_end__*/
31
31
  , {
32
- "__SBar": "___SBar_yhjow_gg_",
33
- "--duration": "--duration_yhjow",
34
- "_color": "__color_yhjow_gg_",
35
- "--color": "--color_yhjow",
36
- "_hide": "__hide_yhjow_gg_",
37
- "_transparent": "__transparent_yhjow_gg_",
38
- "__SBackground": "___SBackground_yhjow_gg_"
32
+ "__SBar": "___SBar_1ps47_gg_",
33
+ "--duration": "--duration_1ps47",
34
+ "_color": "__color_1ps47_gg_",
35
+ "--color": "--color_1ps47",
36
+ "_hide": "__hide_1ps47_gg_",
37
+ "_transparent": "__transparent_1ps47_gg_",
38
+ "__SBackground": "___SBackground_1ps47_gg_"
39
39
  });
40
40
 
41
41
  var calcPartBarY = function calcPartBarY(y, minHeight, height) {
@@ -121,7 +121,7 @@ var BarRoot = /*#__PURE__*/function (_Component) {
121
121
  yScale = _scale[1];
122
122
 
123
123
  var absHeight = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale((_d$y = d[y0]) !== null && _d$y !== void 0 ? _d$y : 0)));
124
- var height = Math.max(absHeight, hMin);
124
+ var height = Number(d[y]) === 0 ? 0 : Math.max(absHeight, hMin);
125
125
  var barY = yScale(Math.max((_d$y2 = d[y0]) !== null && _d$y2 !== void 0 ? _d$y2 : 0, height <= hMin ? 0 : d[y])) + offset[1] - calcPartBarY(d[y], hMin, height);
126
126
  var barX = xScale(d[x]) + offset[0];
127
127
 
@@ -1 +1 @@
1
- {"version":3,"file":"Bar.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","calcPartBarY","y","minHeight","height","Object","is","BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","attr","animationBar","d","i","SBar","Element","styles","color","y0","scale","hide","offset","r","hMin","widthProps","width","groupKey","onClick","transparent","xScale","yScale","absHeight","Math","abs","min","domain","max","barY","barX","handleClick","event","dSvg","getRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","size","map","renderBar","bind","style","Background","SBackground","yRange","range","bandwidth"],"sources":["../../src/Bar.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nconst calcPartBarY = (y, minHeight, height) => {\n // need for the correct rendering of negative values (bar should be under Y-axis)\n if (y <= 0) {\n return Object.is(y, 0) ? minHeight : 0;\n }\n // need for the correct rendering of the minimum positive values\n return height <= minHeight ? minHeight : 0;\n};\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n hMin: 2,\n };\n\n getBackgroundProps(props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n y,\n y0,\n scale,\n hide,\n offset,\n duration,\n uid,\n r,\n hMin,\n width: widthProps,\n groupKey,\n onClick,\n transparent,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const height = Math.max(absHeight, hMin);\n const barY =\n yScale(Math.max(d[y0] ?? 0, height <= hMin ? 0 : d[y])) +\n offset[1] -\n calcPartBarY(d[y], hMin, height);\n const barX = xScale(d[x]) + offset[0];\n const handleClick = (event) => onClick?.(d, event);\n const width = widthProps || getBandwidth(xScale);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 || Object.is(d[y], 0) ? 'top' : 'bottom',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, y);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${y}`, groupKey ?? d[x]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'onClick']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n onClickCapture={handleClick}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n aria-hidden\n key={`${uid}-animation`}\n id={uid}\n x=\"0\"\n y={size[1]}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n aria-hidden\n render=\"rect\"\n childrenPosition=\"above\"\n width={xScale.bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height < radius) radius = height;\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"mappings":";;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,QAA2B,eAA3B;AACA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,eAAnC;AACA,OAAOC,mBAAP,MAAgC,6BAAhC;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,SAASC,YAAT,EAAuBC,WAAvB,QAA0C,SAA1C;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,CAAD,EAAIC,SAAJ,EAAeC,MAAf,EAA0B;EAC7C;EACA,IAAIF,CAAC,IAAI,CAAT,EAAY;IACV,OAAOG,MAAM,CAACC,EAAP,CAAUJ,CAAV,EAAa,CAAb,IAAkBC,SAAlB,GAA8B,CAArC;EACD,CAJ4C,CAK7C;;;EACA,OAAOC,MAAM,IAAID,SAAV,GAAsBA,SAAtB,GAAkC,CAAzC;AACD,CAPD;;IASMI,O;;;;;;;;;;;;;WAYJ,4BAAmBC,KAAnB,EAA0BC,KAA1B,EAAiC;MAC/B,oBAAoB,KAAKC,OAAzB;MAAA,IAAQC,CAAR,iBAAQA,CAAR;MAAA,IAAWC,IAAX,iBAAWA,IAAX;MACA,OAAO;QACLC,KAAK,EAAED,IAAI,CAACH,KAAD,CAAJ,CAAYE,CAAZ;MADF,CAAP;IAGD;;;WAED,wBAAe;MACb,qBAA0B,KAAKD,OAA/B;MAAA,IAAQI,QAAR,kBAAQA,QAAR;MAAA,IAAkBC,GAAlB,kBAAkBA,GAAlB;MACA,IAAMC,UAAU,GAAGvB,UAAU,GAAGwB,SAAb,GAAyBC,SAAzB,YAAuCH,GAAvC,WAAnB;MACA,IAAMI,cAAc,GAAGH,UAAU,CAACI,IAAX,EAAvB;;MAEA,IAAIN,QAAQ,GAAG,CAAX,IAAgBK,cAAhB,IAAkCA,cAAc,CAACE,YAAf,CAA4B,GAA5B,MAAqC,GAA3E,EAAgF;QAC9EL,UAAU,CAACvB,UAAX,GAAwBqB,QAAxB,CAAiCA,QAAjC,EAA2CQ,IAA3C,CAAgD,GAAhD,EAAqD,CAArD;MACD;IACF;;;WAED,8BAAqB;MACnB,KAAKC,YAAL;IACD;;;WAED,6BAAoB;MAClB,KAAKA,YAAL;IACD;;;WAED,mBAAUC,CAAV,EAAaC,CAAb,EAAgB;MAAA;;MACd,IAAMC,IAAI,GAAG,KAAKC,OAAlB;MACA,qBAiBI,KAAKjB,OAjBT;MAAA,IACEkB,MADF,kBACEA,MADF;MAAA,IAEEC,KAFF,kBAEEA,KAFF;MAAA,IAGElB,CAHF,kBAGEA,CAHF;MAAA,IAIET,CAJF,kBAIEA,CAJF;MAAA,IAKE4B,EALF,kBAKEA,EALF;MAAA,IAMEC,KANF,kBAMEA,KANF;MAAA,IAOEC,IAPF,kBAOEA,IAPF;MAAA,IAQEC,MARF,kBAQEA,MARF;MAAA,IASEnB,QATF,kBASEA,QATF;MAAA,IAUEC,GAVF,kBAUEA,GAVF;MAAA,IAWEmB,CAXF,kBAWEA,CAXF;MAAA,IAYEC,IAZF,kBAYEA,IAZF;MAAA,IAaSC,UAbT,kBAaEC,KAbF;MAAA,IAcEC,QAdF,kBAcEA,QAdF;MAAA,IAeEC,OAfF,kBAeEA,OAfF;MAAA,IAgBEC,WAhBF,kBAgBEA,WAhBF;;MAmBA,4BAAyBT,KAAzB;MAAA,IAAOU,MAAP;MAAA,IAAeC,MAAf;;MACA,IAAMC,SAAS,GAAGC,IAAI,CAACC,GAAL,CAChBH,MAAM,CAAClB,CAAC,CAACtB,CAAD,CAAF,CAAN,GAAe0C,IAAI,CAACE,GAAL,CAASJ,MAAM,CAACA,MAAM,CAACK,MAAP,GAAgB,CAAhB,CAAD,CAAf,EAAqCL,MAAM,SAAClB,CAAC,CAACM,EAAD,CAAF,uCAAU,CAAV,CAA3C,CADC,CAAlB;MAGA,IAAM1B,MAAM,GAAGwC,IAAI,CAACI,GAAL,CAASL,SAAT,EAAoBR,IAApB,CAAf;MACA,IAAMc,IAAI,GACRP,MAAM,CAACE,IAAI,CAACI,GAAL,UAASxB,CAAC,CAACM,EAAD,CAAV,yCAAkB,CAAlB,EAAqB1B,MAAM,IAAI+B,IAAV,GAAiB,CAAjB,GAAqBX,CAAC,CAACtB,CAAD,CAA3C,CAAD,CAAN,GACA+B,MAAM,CAAC,CAAD,CADN,GAEAhC,YAAY,CAACuB,CAAC,CAACtB,CAAD,CAAF,EAAOiC,IAAP,EAAa/B,MAAb,CAHd;MAIA,IAAM8C,IAAI,GAAGT,MAAM,CAACjB,CAAC,CAACb,CAAD,CAAF,CAAN,GAAesB,MAAM,CAAC,CAAD,CAAlC;;MACA,IAAMkB,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD;QAAA,OAAWb,OAAX,aAAWA,OAAX,uBAAWA,OAAO,CAAGf,CAAH,EAAM4B,KAAN,CAAlB;MAAA,CAApB;;MACA,IAAMf,KAAK,GAAGD,UAAU,IAAIrC,YAAY,CAAC0C,MAAD,CAAxC;MACA,IAAMY,IAAI,GAAGC,OAAO,CAAC;QACnB3C,CAAC,EAAEuC,IADgB;QAEnBhD,CAAC,EAAE+C,IAFgB;QAGnBZ,KAAK,EAALA,KAHmB;QAInBjC,MAAM,EAANA,MAJmB;QAKnBmD,MAAM,EAAEC,KAAK,CAACC,OAAN,CAAcvB,CAAd,IAAmBA,CAAC,CAACT,CAAD,CAApB,GAA0BS,CALf;QAMnBwB,QAAQ,EAAElC,CAAC,CAACtB,CAAD,CAAD,GAAO,CAAP,IAAYG,MAAM,CAACC,EAAP,CAAUkB,CAAC,CAACtB,CAAD,CAAX,EAAgB,CAAhB,CAAZ,GAAiC,KAAjC,GAAyC;MANhC,CAAD,CAApB;;MASA,IAAIoC,QAAJ,EAAc;QACZ,KAAK5B,OAAL,CAAaiD,gBAAb,CAA8BC,qBAA9B,CAAoDtB,QAApD,EAA8DpC,CAA9D;MACD,CAFD,MAEO;QACL,KAAKQ,OAAL,CAAaiD,gBAAb,CAA8BE,mBAA9B,WAAqDpC,CAArD,cAA0DvB,CAA1D,GAA+DoC,QAA/D,aAA+DA,QAA/D,cAA+DA,QAA/D,GAA2Ed,CAAC,CAACb,CAAD,CAA5E;MACD;;MAED,cAAOhB,OAAO,CAACiC,MAAD,CAAd,eACE,oBAAC,IAAD;QAAA;QAAA,qBAEcH,CAFd;QAAA,UAGS,MAHT;QAAA,2BAIoBV,GAJpB;QAAA,kBAKkB,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,EAA2B,SAA3B,CALlB;QAAA,oBAMmB,OANnB;QAAA,SAOSS,CAPT;QAAA,SAQSC,CART;QAAA,QASQO,IATR;QAAA,SAUSH,KAVT;QAAA,KAWKqB,IAXL;QAAA,KAYKD,IAZL;QAAA,SAaSZ,KAbT;QAAA,UAcUjC,MAdV;QAAA,KAeKiD,IAfL;QAAA,kBAgBkBF,WAhBlB;QAAA,0BAiBmBrC,QAjBnB;QAAA,eAkBe0B;MAlBf,GADF;IAsBD;;;WACD,kBAAS;MACP,qBAAsC,KAAK9B,OAA3C;MAAA,IAAQE,IAAR,kBAAQA,IAAR;MAAA,IAAcG,GAAd,kBAAcA,GAAd;MAAA,IAAmB+C,IAAnB,kBAAmBA,IAAnB;MAAA,IAAyBhD,QAAzB,kBAAyBA,QAAzB;MACA,oBACE,0CACGF,IAAI,CAACmD,GAAL,CAAS,KAAKC,SAAL,CAAeC,IAAf,CAAoB,IAApB,CAAT,CADH,EAEGnD,QAAQ,iBACP,oBAAC,QAAD;QACE,mBADF;QAEE,GAAG,YAAKC,GAAL,eAFL;QAGE,EAAE,EAAEA,GAHN;QAIE,CAAC,EAAC,GAJJ;QAKE,CAAC,EAAE+C,IAAI,CAAC,CAAD,CALT;QAME,KAAK,EAAEA,IAAI,CAAC,CAAD,CANb;QAOE,MAAM,YAAKA,IAAI,CAAC,CAAD,CAAT;MAPR,EAHJ,CADF;IAgBD;;;;EA9HmBpE,S;;gBAAhBa,O,iBACiB,K;;gBADjBA,O,WAEW2D,K;;gBAFX3D,O,aAGa,CAACX,mBAAmB,EAApB,C;;gBAHbW,O,kBAKkB;EACpB0B,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,CADY;EAEpBnB,QAAQ,EAAE,GAFU;EAGpBoB,CAAC,EAAE,CAHiB;EAIpBC,IAAI,EAAE;AAJc,C;;AA4HxB,SAASgC,UAAT,CAAoB3D,KAApB,EAA2B;EAAA;;EACzB,IAAiB4D,WAAjB,GAAuD5D,KAAvD,CAAQmB,OAAR;EAAA,IAA8BC,MAA9B,GAAuDpB,KAAvD,CAA8BoB,MAA9B;EAAA,IAAsCG,KAAtC,GAAuDvB,KAAvD,CAAsCuB,KAAtC;EAAA,IAA6ClB,KAA7C,GAAuDL,KAAvD,CAA6CK,KAA7C;;EAEA,6BAAyBkB,KAAzB;EAAA,IAAOU,MAAP;EAAA,IAAeC,MAAf;;EACA,IAAM2B,MAAM,GAAG3B,MAAM,CAAC4B,KAAP,EAAf;EAEA,eAAO3E,OAAO,CAACiC,MAAD,CAAd,eACE,oBAAC,WAAD;IAAA;IAAA,UAES,MAFT;IAAA,oBAGmB,OAHnB;IAAA,SAISa,MAAM,CAAC8B,SAAP,EAJT;IAAA,UAKUF,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAL5B;IAAA,KAMK5B,MAAM,CAAC5B,KAAD,CANX;IAAA,KAOKwD,MAAM,CAAC,CAAD;EAPX,GADF;AAWD;;AAED,SAASf,OAAT,QAA4D;EAAA,IAAzC3C,CAAyC,SAAzCA,CAAyC;EAAA,IAAtCT,CAAsC,SAAtCA,CAAsC;EAAA,IAAnCmC,KAAmC,SAAnCA,KAAmC;EAAA,IAA5BjC,MAA4B,SAA5BA,MAA4B;EAAA,IAApBmD,MAAoB,SAApBA,MAAoB;EAAA,IAAZG,QAAY,SAAZA,QAAY;EAC1D,IAAItD,MAAM,GAAGmD,MAAb,EAAqBA,MAAM,GAAGnD,MAAT;;EACrB,IAAImD,MAAJ,EAAY;IACV,IAAIG,QAAQ,KAAK,KAAjB,EACE,OAAO1D,WAAW,CAACW,CAAD,EAAIT,CAAJ,EAAOmC,KAAP,EAAcjC,MAAd,EAAsBmD,MAAtB,EAA8B,IAA9B,EAAoC,IAApC,EAA0C,KAA1C,EAAiD,KAAjD,CAAlB;IACF,OAAOvD,WAAW,CAACW,CAAD,EAAIT,CAAJ,EAAOmC,KAAP,EAAcjC,MAAd,EAAsBmD,MAAtB,EAA8B,KAA9B,EAAqC,KAArC,EAA4C,IAA5C,EAAkD,IAAlD,CAAlB;EACD;;EACD,OAAOvD,WAAW,CAACW,CAAD,EAAIT,CAAJ,EAAOmC,KAAP,EAAcjC,MAAd,EAAsBmD,MAAtB,CAAlB;AACD;;AAED,eAAe1D,aAAa,CAACU,OAAD,EAAU;EAAE4D,UAAU,EAAVA;AAAF,CAAV,CAA5B"}
1
+ {"version":3,"file":"Bar.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","calcPartBarY","y","minHeight","height","Object","is","BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","attr","animationBar","d","i","SBar","Element","styles","color","y0","scale","hide","offset","r","hMin","widthProps","width","groupKey","onClick","transparent","xScale","yScale","absHeight","Math","abs","min","domain","Number","max","barY","barX","handleClick","event","dSvg","getRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","size","map","renderBar","bind","style","Background","SBackground","yRange","range","bandwidth"],"sources":["../../src/Bar.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nconst calcPartBarY = (y, minHeight, height) => {\n // need for the correct rendering of negative values (bar should be under Y-axis)\n if (y <= 0) {\n return Object.is(y, 0) ? minHeight : 0;\n }\n // need for the correct rendering of the minimum positive values\n return height <= minHeight ? minHeight : 0;\n};\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n hMin: 2,\n };\n\n getBackgroundProps(props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n y,\n y0,\n scale,\n hide,\n offset,\n duration,\n uid,\n r,\n hMin,\n width: widthProps,\n groupKey,\n onClick,\n transparent,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const height = Number(d[y]) === 0 ? 0 : Math.max(absHeight, hMin);\n const barY =\n yScale(Math.max(d[y0] ?? 0, height <= hMin ? 0 : d[y])) +\n offset[1] -\n calcPartBarY(d[y], hMin, height);\n const barX = xScale(d[x]) + offset[0];\n const handleClick = (event) => onClick?.(d, event);\n const width = widthProps || getBandwidth(xScale);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 || Object.is(d[y], 0) ? 'top' : 'bottom',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, y);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${y}`, groupKey ?? d[x]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'onClick']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n onClickCapture={handleClick}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n aria-hidden\n key={`${uid}-animation`}\n id={uid}\n x=\"0\"\n y={size[1]}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n aria-hidden\n render=\"rect\"\n childrenPosition=\"above\"\n width={xScale.bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height < radius) radius = height;\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"mappings":";;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,QAA2B,eAA3B;AACA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,eAAnC;AACA,OAAOC,mBAAP,MAAgC,6BAAhC;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,SAASC,YAAT,EAAuBC,WAAvB,QAA0C,SAA1C;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,CAAD,EAAIC,SAAJ,EAAeC,MAAf,EAA0B;EAC7C;EACA,IAAIF,CAAC,IAAI,CAAT,EAAY;IACV,OAAOG,MAAM,CAACC,EAAP,CAAUJ,CAAV,EAAa,CAAb,IAAkBC,SAAlB,GAA8B,CAArC;EACD,CAJ4C,CAK7C;;;EACA,OAAOC,MAAM,IAAID,SAAV,GAAsBA,SAAtB,GAAkC,CAAzC;AACD,CAPD;;IASMI,O;;;;;;;;;;;;;WAYJ,4BAAmBC,KAAnB,EAA0BC,KAA1B,EAAiC;MAC/B,oBAAoB,KAAKC,OAAzB;MAAA,IAAQC,CAAR,iBAAQA,CAAR;MAAA,IAAWC,IAAX,iBAAWA,IAAX;MACA,OAAO;QACLC,KAAK,EAAED,IAAI,CAACH,KAAD,CAAJ,CAAYE,CAAZ;MADF,CAAP;IAGD;;;WAED,wBAAe;MACb,qBAA0B,KAAKD,OAA/B;MAAA,IAAQI,QAAR,kBAAQA,QAAR;MAAA,IAAkBC,GAAlB,kBAAkBA,GAAlB;MACA,IAAMC,UAAU,GAAGvB,UAAU,GAAGwB,SAAb,GAAyBC,SAAzB,YAAuCH,GAAvC,WAAnB;MACA,IAAMI,cAAc,GAAGH,UAAU,CAACI,IAAX,EAAvB;;MAEA,IAAIN,QAAQ,GAAG,CAAX,IAAgBK,cAAhB,IAAkCA,cAAc,CAACE,YAAf,CAA4B,GAA5B,MAAqC,GAA3E,EAAgF;QAC9EL,UAAU,CAACvB,UAAX,GAAwBqB,QAAxB,CAAiCA,QAAjC,EAA2CQ,IAA3C,CAAgD,GAAhD,EAAqD,CAArD;MACD;IACF;;;WAED,8BAAqB;MACnB,KAAKC,YAAL;IACD;;;WAED,6BAAoB;MAClB,KAAKA,YAAL;IACD;;;WAED,mBAAUC,CAAV,EAAaC,CAAb,EAAgB;MAAA;;MACd,IAAMC,IAAI,GAAG,KAAKC,OAAlB;MACA,qBAiBI,KAAKjB,OAjBT;MAAA,IACEkB,MADF,kBACEA,MADF;MAAA,IAEEC,KAFF,kBAEEA,KAFF;MAAA,IAGElB,CAHF,kBAGEA,CAHF;MAAA,IAIET,CAJF,kBAIEA,CAJF;MAAA,IAKE4B,EALF,kBAKEA,EALF;MAAA,IAMEC,KANF,kBAMEA,KANF;MAAA,IAOEC,IAPF,kBAOEA,IAPF;MAAA,IAQEC,MARF,kBAQEA,MARF;MAAA,IASEnB,QATF,kBASEA,QATF;MAAA,IAUEC,GAVF,kBAUEA,GAVF;MAAA,IAWEmB,CAXF,kBAWEA,CAXF;MAAA,IAYEC,IAZF,kBAYEA,IAZF;MAAA,IAaSC,UAbT,kBAaEC,KAbF;MAAA,IAcEC,QAdF,kBAcEA,QAdF;MAAA,IAeEC,OAfF,kBAeEA,OAfF;MAAA,IAgBEC,WAhBF,kBAgBEA,WAhBF;;MAmBA,4BAAyBT,KAAzB;MAAA,IAAOU,MAAP;MAAA,IAAeC,MAAf;;MACA,IAAMC,SAAS,GAAGC,IAAI,CAACC,GAAL,CAChBH,MAAM,CAAClB,CAAC,CAACtB,CAAD,CAAF,CAAN,GAAe0C,IAAI,CAACE,GAAL,CAASJ,MAAM,CAACA,MAAM,CAACK,MAAP,GAAgB,CAAhB,CAAD,CAAf,EAAqCL,MAAM,SAAClB,CAAC,CAACM,EAAD,CAAF,uCAAU,CAAV,CAA3C,CADC,CAAlB;MAGA,IAAM1B,MAAM,GAAG4C,MAAM,CAACxB,CAAC,CAACtB,CAAD,CAAF,CAAN,KAAiB,CAAjB,GAAqB,CAArB,GAAyB0C,IAAI,CAACK,GAAL,CAASN,SAAT,EAAoBR,IAApB,CAAxC;MACA,IAAMe,IAAI,GACRR,MAAM,CAACE,IAAI,CAACK,GAAL,UAASzB,CAAC,CAACM,EAAD,CAAV,yCAAkB,CAAlB,EAAqB1B,MAAM,IAAI+B,IAAV,GAAiB,CAAjB,GAAqBX,CAAC,CAACtB,CAAD,CAA3C,CAAD,CAAN,GACA+B,MAAM,CAAC,CAAD,CADN,GAEAhC,YAAY,CAACuB,CAAC,CAACtB,CAAD,CAAF,EAAOiC,IAAP,EAAa/B,MAAb,CAHd;MAIA,IAAM+C,IAAI,GAAGV,MAAM,CAACjB,CAAC,CAACb,CAAD,CAAF,CAAN,GAAesB,MAAM,CAAC,CAAD,CAAlC;;MACA,IAAMmB,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD;QAAA,OAAWd,OAAX,aAAWA,OAAX,uBAAWA,OAAO,CAAGf,CAAH,EAAM6B,KAAN,CAAlB;MAAA,CAApB;;MACA,IAAMhB,KAAK,GAAGD,UAAU,IAAIrC,YAAY,CAAC0C,MAAD,CAAxC;MACA,IAAMa,IAAI,GAAGC,OAAO,CAAC;QACnB5C,CAAC,EAAEwC,IADgB;QAEnBjD,CAAC,EAAEgD,IAFgB;QAGnBb,KAAK,EAALA,KAHmB;QAInBjC,MAAM,EAANA,MAJmB;QAKnBoD,MAAM,EAAEC,KAAK,CAACC,OAAN,CAAcxB,CAAd,IAAmBA,CAAC,CAACT,CAAD,CAApB,GAA0BS,CALf;QAMnByB,QAAQ,EAAEnC,CAAC,CAACtB,CAAD,CAAD,GAAO,CAAP,IAAYG,MAAM,CAACC,EAAP,CAAUkB,CAAC,CAACtB,CAAD,CAAX,EAAgB,CAAhB,CAAZ,GAAiC,KAAjC,GAAyC;MANhC,CAAD,CAApB;;MASA,IAAIoC,QAAJ,EAAc;QACZ,KAAK5B,OAAL,CAAakD,gBAAb,CAA8BC,qBAA9B,CAAoDvB,QAApD,EAA8DpC,CAA9D;MACD,CAFD,MAEO;QACL,KAAKQ,OAAL,CAAakD,gBAAb,CAA8BE,mBAA9B,WAAqDrC,CAArD,cAA0DvB,CAA1D,GAA+DoC,QAA/D,aAA+DA,QAA/D,cAA+DA,QAA/D,GAA2Ed,CAAC,CAACb,CAAD,CAA5E;MACD;;MAED,cAAOhB,OAAO,CAACiC,MAAD,CAAd,eACE,oBAAC,IAAD;QAAA;QAAA,qBAEcH,CAFd;QAAA,UAGS,MAHT;QAAA,2BAIoBV,GAJpB;QAAA,kBAKkB,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,EAA2B,SAA3B,CALlB;QAAA,oBAMmB,OANnB;QAAA,SAOSS,CAPT;QAAA,SAQSC,CART;QAAA,QASQO,IATR;QAAA,SAUSH,KAVT;QAAA,KAWKsB,IAXL;QAAA,KAYKD,IAZL;QAAA,SAaSb,KAbT;QAAA,UAcUjC,MAdV;QAAA,KAeKkD,IAfL;QAAA,kBAgBkBF,WAhBlB;QAAA,0BAiBmBtC,QAjBnB;QAAA,eAkBe0B;MAlBf,GADF;IAsBD;;;WACD,kBAAS;MACP,qBAAsC,KAAK9B,OAA3C;MAAA,IAAQE,IAAR,kBAAQA,IAAR;MAAA,IAAcG,GAAd,kBAAcA,GAAd;MAAA,IAAmBgD,IAAnB,kBAAmBA,IAAnB;MAAA,IAAyBjD,QAAzB,kBAAyBA,QAAzB;MACA,oBACE,0CACGF,IAAI,CAACoD,GAAL,CAAS,KAAKC,SAAL,CAAeC,IAAf,CAAoB,IAApB,CAAT,CADH,EAEGpD,QAAQ,iBACP,oBAAC,QAAD;QACE,mBADF;QAEE,GAAG,YAAKC,GAAL,eAFL;QAGE,EAAE,EAAEA,GAHN;QAIE,CAAC,EAAC,GAJJ;QAKE,CAAC,EAAEgD,IAAI,CAAC,CAAD,CALT;QAME,KAAK,EAAEA,IAAI,CAAC,CAAD,CANb;QAOE,MAAM,YAAKA,IAAI,CAAC,CAAD,CAAT;MAPR,EAHJ,CADF;IAgBD;;;;EA9HmBrE,S;;gBAAhBa,O,iBACiB,K;;gBADjBA,O,WAEW4D,K;;gBAFX5D,O,aAGa,CAACX,mBAAmB,EAApB,C;;gBAHbW,O,kBAKkB;EACpB0B,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,CADY;EAEpBnB,QAAQ,EAAE,GAFU;EAGpBoB,CAAC,EAAE,CAHiB;EAIpBC,IAAI,EAAE;AAJc,C;;AA4HxB,SAASiC,UAAT,CAAoB5D,KAApB,EAA2B;EAAA;;EACzB,IAAiB6D,WAAjB,GAAuD7D,KAAvD,CAAQmB,OAAR;EAAA,IAA8BC,MAA9B,GAAuDpB,KAAvD,CAA8BoB,MAA9B;EAAA,IAAsCG,KAAtC,GAAuDvB,KAAvD,CAAsCuB,KAAtC;EAAA,IAA6ClB,KAA7C,GAAuDL,KAAvD,CAA6CK,KAA7C;;EAEA,6BAAyBkB,KAAzB;EAAA,IAAOU,MAAP;EAAA,IAAeC,MAAf;;EACA,IAAM4B,MAAM,GAAG5B,MAAM,CAAC6B,KAAP,EAAf;EAEA,eAAO5E,OAAO,CAACiC,MAAD,CAAd,eACE,oBAAC,WAAD;IAAA;IAAA,UAES,MAFT;IAAA,oBAGmB,OAHnB;IAAA,SAISa,MAAM,CAAC+B,SAAP,EAJT;IAAA,UAKUF,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAL5B;IAAA,KAMK7B,MAAM,CAAC5B,KAAD,CANX;IAAA,KAOKyD,MAAM,CAAC,CAAD;EAPX,GADF;AAWD;;AAED,SAASf,OAAT,QAA4D;EAAA,IAAzC5C,CAAyC,SAAzCA,CAAyC;EAAA,IAAtCT,CAAsC,SAAtCA,CAAsC;EAAA,IAAnCmC,KAAmC,SAAnCA,KAAmC;EAAA,IAA5BjC,MAA4B,SAA5BA,MAA4B;EAAA,IAApBoD,MAAoB,SAApBA,MAAoB;EAAA,IAAZG,QAAY,SAAZA,QAAY;EAC1D,IAAIvD,MAAM,GAAGoD,MAAb,EAAqBA,MAAM,GAAGpD,MAAT;;EACrB,IAAIoD,MAAJ,EAAY;IACV,IAAIG,QAAQ,KAAK,KAAjB,EACE,OAAO3D,WAAW,CAACW,CAAD,EAAIT,CAAJ,EAAOmC,KAAP,EAAcjC,MAAd,EAAsBoD,MAAtB,EAA8B,IAA9B,EAAoC,IAApC,EAA0C,KAA1C,EAAiD,KAAjD,CAAlB;IACF,OAAOxD,WAAW,CAACW,CAAD,EAAIT,CAAJ,EAAOmC,KAAP,EAAcjC,MAAd,EAAsBoD,MAAtB,EAA8B,KAA9B,EAAqC,KAArC,EAA4C,IAA5C,EAAkD,IAAlD,CAAlB;EACD;;EACD,OAAOxD,WAAW,CAACW,CAAD,EAAIT,CAAJ,EAAOmC,KAAP,EAAcjC,MAAd,EAAsBoD,MAAtB,CAAlB;AACD;;AAED,eAAe3D,aAAa,CAACU,OAAD,EAAU;EAAE6D,UAAU,EAAVA;AAAF,CAAV,CAA5B"}