@semcore/d3-chart 2.13.3 → 2.13.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/lib/cjs/Area.js +59 -97
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +76 -143
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +49 -96
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +39 -81
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +9 -35
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +77 -152
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +29 -57
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +5 -26
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +43 -84
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +33 -88
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +42 -78
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +27 -73
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/Radar.js +152 -277
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +105 -211
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +45 -87
- package/lib/cjs/ReferenceLine.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +9 -38
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +34 -74
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +9 -38
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +5 -29
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +27 -76
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +32 -75
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +18 -71
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +19 -83
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
- package/lib/cjs/a11y/bezier.js +0 -7
- package/lib/cjs/a11y/bezier.js.map +1 -1
- package/lib/cjs/a11y/focus.js +2 -11
- package/lib/cjs/a11y/focus.js.map +1 -1
- package/lib/cjs/a11y/hints.js +0 -13
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/insights.js +21 -132
- package/lib/cjs/a11y/insights.js.map +1 -1
- package/lib/cjs/a11y/intl.js +0 -6
- package/lib/cjs/a11y/intl.js.map +1 -1
- package/lib/cjs/a11y/locale.js +4 -22
- package/lib/cjs/a11y/locale.js.map +1 -1
- package/lib/cjs/a11y/serialize.js +23 -83
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/a11y/summarize.js +0 -4
- package/lib/cjs/a11y/summarize.js.map +1 -1
- package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js +0 -13
- package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js +0 -13
- package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/color.js +0 -3
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/createElement.js +18 -47
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js +0 -23
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/cjs/types/index.d.js +0 -39
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js +7 -59
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +59 -86
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +76 -135
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +49 -86
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +39 -70
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +9 -23
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +77 -141
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +29 -46
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +5 -15
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +43 -75
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +33 -85
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +42 -67
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +27 -66
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/Radar.js +152 -281
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +105 -203
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +45 -79
- package/lib/es6/ReferenceLine.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +9 -28
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +34 -65
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +9 -26
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +5 -18
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +27 -63
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +32 -64
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +18 -52
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +19 -53
- package/lib/es6/a11y/PlotA11yView.js.map +1 -1
- package/lib/es6/a11y/bezier.js +0 -5
- package/lib/es6/a11y/bezier.js.map +1 -1
- package/lib/es6/a11y/focus.js +2 -9
- package/lib/es6/a11y/focus.js.map +1 -1
- package/lib/es6/a11y/hints.js +0 -3
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/insights.js +21 -133
- package/lib/es6/a11y/insights.js.map +1 -1
- package/lib/es6/a11y/intl.js +0 -1
- package/lib/es6/a11y/intl.js.map +1 -1
- package/lib/es6/a11y/locale.js +4 -18
- package/lib/es6/a11y/locale.js.map +1 -1
- package/lib/es6/a11y/serialize.js +23 -74
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/a11y/summarize.js.map +1 -1
- package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/color.js +0 -1
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/createElement.js +18 -34
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/es6/types/index.d.js +5 -3
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js +7 -28
- package/lib/es6/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
1
|
+
{"version":3,"file":"RadialTree.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_uniqueID","_color","_assignProps","_getOriginChildren","_canUseDOM","_createElement","_utils","_excluded","style","sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","handleRadianClick","bind","_createClass2","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","canUseDOM","preferReduceMotion","window","matchMedia","matches","circlesAnimation","transition","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$x$baseVal","_lineNode$y","_lineNode$y$baseVal","radianIndex","parseInt","dataset","lineNode","from","cx","x1","baseVal","cy","y1","to","attr","_","index","_attrs$index$from","_attrs$index$from2","_attrs$index$to","_attrs$index$to2","_node$width","_node$width$baseVal","_node$height","_node$height$baseVal","_lineNode$x2","_lineNode$x2$baseVal","_lineNode$y2","_lineNode$y2$baseVal","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$x$baseVal","_node$y","_node$y$baseVal","x2","y2","_attrs2$index$from","_attrs2$index$from2","_attrs2$index$to","_attrs2$index$to2","componentDidUpdate","prevProps","$rootProps","data","componentDidMount","_this2","event","newKey","handlers","computeTextWidth","_this$asProps2","textSize","widths","_ref9","label","measureText","max","apply","_toConsumableArray2","getTitleProps","_this$asProps3","size","_size","_slicedToArray2","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties2","textWidth","_objectSpread2","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","createElement","cn","Component","uniqueIDEnhancement","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_super2","_this3","renderRadian","getInteractiveAreaProps","_ref11","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref12","_data$color","_ref13","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","color","stroke","getCapProps","_ref14","_data$color2","_ref15","_this$computeRadianPo3","_this$asProps6","getIconProps","_ref16","_data$iconColor","_data$iconSize","_data$icon","_ref17","_this$computeRadianPo4","isActive","icon","getLabelProps","_ref18","_data$color3","_ref19","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps7","angle","getRadianKey","_data$key","_data$capSize","_this$asProps8","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps9","SRadian","children","getOriginChildren","_child","mergedProps","assignProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref20","_ref4","SInteractiveArea","Line","_ref21","_ref5","SLine","Cap","_ref22","_ref6","SCap","radius","Icon","_ref23","_ref7","SIcon","tag","Label","_ref24","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","shade","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref25","_ref8","STitle","setTitle","_default","exports"],"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":";;;;;;;;;;;;;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAFA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,SAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,kBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,UAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,cAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AAAsC,IAAAW,SAAA;AAAA;AAAA,IAAAC,KAAA,+BAAAb,KAAA,CAAAc,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAMtC,IAAMC,SAAS,GAAG,CAACC,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC,CAAC;AAAA,IAyH1BC,cAAc,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,cAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,cAAA;EAmBlB,SAAAA,eAAYK,KAAU,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAP,cAAA;IACtBM,KAAA,GAAAH,MAAA,CAAAK,IAAA,OAAMH,KAAK;IAAE,IAAAI,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA;IACbA,KAAA,CAAKK,iBAAiB,GAAGL,KAAA,CAAKK,iBAAiB,CAACC,IAAI,KAAAF,uBAAA,aAAAJ,KAAA,EAAM;IAAC,OAAAA,KAAA;EAC7D;EAAC,IAAAO,aAAA,aAAAb,cAAA;IAAAc,GAAA;IAAAC,KAAA,EAED,SAAAC,kBAAA,EAAoB;MAClB,OAAO;QACLC,SAAS,EAAE;MACb,CAAC;IACH;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAG,mBAAA,EAAqB;MAAA,IAAAC,kBAAA;MACnB,IAAAC,aAAA,GAA0B,IAAI,CAACC,OAAO;QAA9BC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAAEC,GAAG,GAAAH,aAAA,CAAHG,GAAG;MACrB,IAAI,CAAC,IAAAC,qBAAS,GAAE,EAAE;MAClB,IAAMC,kBAAkB,IAAAN,kBAAA,GAAGO,MAAM,CAACC,UAAU,CAAC,kCAAkC,CAAC,cAAAR,kBAAA,uBAArDA,kBAAA,CAAuDS,OAAO;;MAEzF;MACA,IAAI,EAAEN,QAAQ,GAAG,CAAC,CAAC,EAAE;MACrB,IAAIG,kBAAkB,EAAE;MAExB,IAAMI,gBAAgB,GAAG,IAAAC,wBAAU,GAAE,CAClCC,SAAS,EAAE,CACXC,SAAS,2BAAAC,MAAA,CAA2BV,GAAG,kBAAe,CAACW,SAAS,EAAE;MACrE,IAAMC,cAAc,GAAG,IAAAL,wBAAU,GAAE,CAChCC,SAAS,EAAE,CACXC,SAAS,2BAAAC,MAAA,CAA2BV,GAAG,gBAAa,CAACW,SAAS,EAAE;MACnE,IAAME,cAAc,GAAG,IAAAN,wBAAU,GAAE,CAChCC,SAAS,EAAE,CACXC,SAAS,2BAAAC,MAAA,CAA2BV,GAAG,YAAS,CAACW,SAAS,EAAE;MAC/D,IAAMG,eAAe,GAAG,IAAAP,wBAAU,GAAE,CACjCC,SAAS,EAAE,CACXC,SAAS,2BAAAC,MAAA,CAA2BV,GAAG,aAAU,CAACW,SAAS,EAAE;MAChE,IAAMI,YAAY,GAAGT,gBAAgB,CAACU,KAAK,EAAwB;MACnE,IAAMC,UAAU,GAAGL,cAAc,CAACI,KAAK,EAAsB;MAC7D,IAAME,UAAU,GAAGL,cAAc,CAACG,KAAK,EAAsB;MAC7D,IAAMG,WAAW,GAAGN,cAAc,CAACG,KAAK,EAAsB;MAE9D,IAAID,YAAY,CAACK,MAAM,GAAG,CAAC,EAAE;QAC3B,IAAMC,KAAK,GAAGN,YAAY,CAACO,GAAG,CAAC,UAACC,IAAI,EAAK;UAAA,IAAAC,WAAA,EAAAC,mBAAA,EAAAC,WAAA,EAAAC,mBAAA;UACvC,IAAMC,WAAW,GAAGC,QAAQ,CAACN,IAAI,CAACO,OAAO,CAACF,WAAW,EAAG,EAAE,CAAC;UAC3D,IAAMG,QAAQ,GAAGb,UAAU,CAACU,WAAW,CAAC;UACxC,OAAO;YACLI,IAAI,EAAE;cACJC,EAAE,GAAAT,WAAA,GAAEO,QAAQ,CAACG,EAAE,cAAAV,WAAA,wBAAAC,mBAAA,GAAXD,WAAA,CAAaW,OAAO,cAAAV,mBAAA,uBAApBA,mBAAA,CAAsBjC,KAAK;cAC/B4C,EAAE,GAAAV,WAAA,GAAEK,QAAQ,CAACM,EAAE,cAAAX,WAAA,wBAAAC,mBAAA,GAAXD,WAAA,CAAaS,OAAO,cAAAR,mBAAA,uBAApBA,mBAAA,CAAsBnC;YAC5B,CAAC;YACD8C,EAAE,EAAE;cACFL,EAAE,EAAEV,IAAI,CAACO,OAAO,CAAC,IAAI,CAAC;cACtBM,EAAE,EAAEb,IAAI,CAACO,OAAO,CAAC,IAAI;YACvB;UACF,CAAC;QACH,CAAC,CAAC;QAEFxB,gBAAgB,CACbiC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAClBA,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAC,iBAAA;UAAA,QAAAA,iBAAA,GAAKrB,KAAK,CAACoB,KAAK,CAAC,CAACT,IAAI,cAAAU,iBAAA,uBAAjBA,iBAAA,CAAmBT,EAAE;QAAA,EAAC,CAC/CM,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAE,kBAAA;UAAA,QAAAA,kBAAA,GAAKtB,KAAK,CAACoB,KAAK,CAAC,CAACT,IAAI,cAAAW,kBAAA,uBAAjBA,kBAAA,CAAmBP,EAAE;QAAA,EAAC,CAC/C7B,UAAU,EAAE,CACZR,QAAQ,CAACA,QAAQ,CAAC,CAClBwC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAClBA,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAG,eAAA;UAAA,QAAAA,eAAA,GAAKvB,KAAK,CAACoB,KAAK,CAAC,CAACH,EAAE,cAAAM,eAAA,uBAAfA,eAAA,CAAiBX,EAAE;QAAA,EAAC,CAC7CM,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAI,gBAAA;UAAA,QAAAA,gBAAA,GAAKxB,KAAK,CAACoB,KAAK,CAAC,CAACH,EAAE,cAAAO,gBAAA,uBAAfA,gBAAA,CAAiBT,EAAE;QAAA,EAAC;MAClD;MACA,IAAInB,UAAU,CAACG,MAAM,GAAG,CAAC,EAAE;QACzB,IAAMC,MAAK,GAAGJ,UAAU,CAACK,GAAG,CAAC,UAACC,IAAI,EAAK;UAAA,IAAAuB,WAAA,EAAAC,mBAAA,EAAAC,YAAA,EAAAC,oBAAA,EAAAC,YAAA,EAAAC,oBAAA,EAAAC,YAAA,EAAAC,oBAAA;UACrC,IAAMC,KAAK,IAAAR,WAAA,GAAGvB,IAAI,CAAC+B,KAAK,cAAAR,WAAA,wBAAAC,mBAAA,GAAVD,WAAA,CAAYX,OAAO,cAAAY,mBAAA,uBAAnBA,mBAAA,CAAqBvD,KAAK;UACxC,IAAM+D,MAAM,IAAAP,YAAA,GAAGzB,IAAI,CAACgC,MAAM,cAAAP,YAAA,wBAAAC,oBAAA,GAAXD,YAAA,CAAab,OAAO,cAAAc,oBAAA,uBAApBA,oBAAA,CAAsBzD,KAAK;UAC1C,IAAMoC,WAAW,GAAGC,QAAQ,CAACN,IAAI,CAACO,OAAO,CAACF,WAAW,EAAG,EAAE,CAAC;UAC3D,IAAMG,QAAQ,GAAGb,UAAU,CAACU,WAAW,CAAC;UACxC,OAAO;YACLI,IAAI,EAAE;cACJwB,CAAC,EAAE,EAAAN,YAAA,GAAAnB,QAAQ,CAACG,EAAE,cAAAgB,YAAA,wBAAAC,oBAAA,GAAXD,YAAA,CAAaf,OAAO,cAAAgB,oBAAA,uBAApBA,oBAAA,CAAsB3D,KAAK,IAAG8D,KAAK,GAAG,CAAC;cAC1CG,CAAC,EAAE,EAAAL,YAAA,GAAArB,QAAQ,CAACM,EAAE,cAAAe,YAAA,wBAAAC,oBAAA,GAAXD,YAAA,CAAajB,OAAO,cAAAkB,oBAAA,uBAApBA,oBAAA,CAAsB7D,KAAK,IAAG+D,MAAM,GAAG;YAC5C,CAAC;YACDjB,EAAE,EAAE;cACFkB,CAAC,EAAEjC,IAAI,CAACO,OAAO,CAAC,GAAG,CAAC;cACpB2B,CAAC,EAAElC,IAAI,CAACO,OAAO,CAAC,GAAG;YACrB;UACF,CAAC;QACH,CAAC,CAAC;QAEFlB,cAAc,CACX2B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAClBA,IAAI,CAAC,GAAG,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAiB,kBAAA;UAAA,QAAAA,kBAAA,GAAKrC,MAAK,CAACoB,KAAK,CAAC,CAACT,IAAI,cAAA0B,kBAAA,uBAAjBA,kBAAA,CAAmBF,CAAC;QAAA,EAAC,CAC7CjB,IAAI,CAAC,GAAG,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAkB,kBAAA;UAAA,QAAAA,kBAAA,GAAKtC,MAAK,CAACoB,KAAK,CAAC,CAACT,IAAI,cAAA2B,kBAAA,uBAAjBA,kBAAA,CAAmBF,CAAC;QAAA,EAAC,CAC7ClD,UAAU,EAAE,CACZR,QAAQ,CAACA,QAAQ,CAAC,CAClBwC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAClBA,IAAI,CAAC,GAAG,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAmB,gBAAA;UAAA,QAAAA,gBAAA,GAAKvC,MAAK,CAACoB,KAAK,CAAC,CAACH,EAAE,cAAAsB,gBAAA,uBAAfA,gBAAA,CAAiBJ,CAAC;QAAA,EAAC,CAC3CjB,IAAI,CAAC,GAAG,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAAoB,gBAAA;UAAA,QAAAA,gBAAA,GAAKxC,MAAK,CAACoB,KAAK,CAAC,CAACH,EAAE,cAAAuB,gBAAA,uBAAfA,gBAAA,CAAiBJ,CAAC;QAAA,EAAC;MAChD;MACA,IAAIvC,UAAU,CAACE,MAAM,GAAG,CAAC,EAAE;QACzB,IAAMC,OAAK,GAAGH,UAAU,CAACI,GAAG,CAAC,UAACC,IAAI,EAAK;UAAA,IAAAuC,OAAA,EAAAC,eAAA,EAAAC,OAAA,EAAAC,eAAA;UACrC,OAAO;YACLjC,IAAI,EAAE;cACJkC,EAAE,GAAAJ,OAAA,GAAEvC,IAAI,CAACW,EAAE,cAAA4B,OAAA,wBAAAC,eAAA,GAAPD,OAAA,CAAS3B,OAAO,cAAA4B,eAAA,uBAAhBA,eAAA,CAAkBvE,KAAK;cAC3B2E,EAAE,GAAAH,OAAA,GAAEzC,IAAI,CAACc,EAAE,cAAA2B,OAAA,wBAAAC,eAAA,GAAPD,OAAA,CAAS7B,OAAO,cAAA8B,eAAA,uBAAhBA,eAAA,CAAkBzE;YACxB,CAAC;YACD8C,EAAE,EAAE;cACF4B,EAAE,EAAE3C,IAAI,CAACO,OAAO,CAAC,IAAI,CAAC;cACtBqC,EAAE,EAAE5C,IAAI,CAACO,OAAO,CAAC,IAAI;YACvB;UACF,CAAC;QACH,CAAC,CAAC;QAEFjB,cAAc,CACX0B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAClBA,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAA2B,kBAAA;UAAA,QAAAA,kBAAA,GAAK/C,OAAK,CAACoB,KAAK,CAAC,CAACT,IAAI,cAAAoC,kBAAA,uBAAjBA,kBAAA,CAAmBF,EAAE;QAAA,EAAC,CAC/C3B,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAA4B,mBAAA;UAAA,QAAAA,mBAAA,GAAKhD,OAAK,CAACoB,KAAK,CAAC,CAACT,IAAI,cAAAqC,mBAAA,uBAAjBA,mBAAA,CAAmBF,EAAE;QAAA,EAAC,CAC/C5D,UAAU,EAAE,CACZR,QAAQ,CAACA,QAAQ,CAAC,CAClBwC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAClBA,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAA6B,gBAAA;UAAA,QAAAA,gBAAA,GAAKjD,OAAK,CAACoB,KAAK,CAAC,CAACH,EAAE,cAAAgC,gBAAA,uBAAfA,gBAAA,CAAiBJ,EAAE;QAAA,EAAC,CAC7C3B,IAAI,CAAC,IAAI,EAAE,UAACC,CAAC,EAAEC,KAAK;UAAA,IAAA8B,iBAAA;UAAA,QAAAA,iBAAA,GAAKlD,OAAK,CAACoB,KAAK,CAAC,CAACH,EAAE,cAAAiC,iBAAA,uBAAfA,iBAAA,CAAiBJ,EAAE;QAAA,EAAC;MAClD;MACA,IAAIhD,WAAW,CAACC,MAAM,GAAG,CAAC,EAAE;QAC1BN,eAAe,CAACyB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAClCzB,eAAe,CAACP,UAAU,EAAE,CAACR,QAAQ,CAACA,QAAQ,CAAC,CAACwC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;MACpE;IACF;EAAC;IAAAhD,GAAA;IAAAC,KAAA,EAED,SAAAgF,mBAAmBC,SAAsB,EAAE;MACzC,IAAIA,SAAS,CAACC,UAAU,CAACC,IAAI,KAAK,IAAI,CAAC7E,OAAO,CAAC6E,IAAI,EAAE;QACnD,IAAI,CAAChF,kBAAkB,EAAE;MAC3B;IACF;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAAoF,kBAAA,EAAoB;MAClB,IAAI,CAACjF,kBAAkB,EAAE;IAC3B;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAAJ,kBAAkBG,GAAW,EAAE;MAAA,IAAAsF,MAAA;MAC7B,OAAO,UAACC,KAAuB,EAAK;QAClC,IAAMC,MAAM,GAAGxF,GAAG,KAAKsF,MAAI,CAAC/E,OAAO,CAACJ,SAAS,GAAGH,GAAG,GAAG,IAAI;QAC1DsF,MAAI,CAACG,QAAQ,CAACtF,SAAS,CAACqF,MAAM,EAAED,KAAK,CAAC;MACxC,CAAC;IACH;EAAC;IAAAvF,GAAA;IAAAC,KAAA,EAED,SAAAyF,iBAAA,EAAmB;MACjB,IAAAC,cAAA,GAA2B,IAAI,CAACpF,OAAO;QAA/B6E,IAAI,GAAAO,cAAA,CAAJP,IAAI;QAAEQ,QAAQ,GAAAD,cAAA,CAARC,QAAQ;MACtB,IAAMC,MAAM,GAAGT,IAAI,CAACrD,GAAG,CAAC,UAAA+D,KAAA;QAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;QAAA,OAAO,IAAAC,kBAAW,EAACD,KAAK,EAAEH,QAAQ,CAAC;MAAA,EAAC;MAEpE,OAAO5G,IAAI,CAACiH,GAAG,CAAAC,KAAA,CAARlH,IAAI,MAAAmH,mBAAA,aAAQN,MAAM,EAAC;IAC5B;EAAC;IAAA7F,GAAA;IAAAC,KAAA,EAED,SAAAmG,cAAA,EAAgB;MACd,IAAAC,cAAA,GAAgC,IAAI,CAAC9F,OAAO;QAApCE,GAAG,GAAA4F,cAAA,CAAH5F,GAAG;QAAE6F,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEV,QAAQ,GAAAS,cAAA,CAART,QAAQ;MAE3B,IAAAW,KAAA,OAAAC,eAAA,aAAwBF,IAAI;QAArBvC,KAAK,GAAAwC,KAAA;QAAEvC,MAAM,GAAAuC,KAAA;MACpB,IAAME,MAAM,GAAG,CAAC1C,KAAK,GAAG,CAAC,EAAEC,MAAM,GAAG,CAAC,CAAC;MACtC,IAAOC,CAAC,GAAOwC,MAAM;QAAXvC,CAAC,GAAIuC,MAAM;MACrB,WAAA9G,gBAAA;QACEsE,CAAC,EAADA,CAAC;QACDC,CAAC,EAADA,CAAC;QACD0B,QAAQ,EAAEA,QAAQ,GAAG;MAAG,GACvB,uBAAuB,KAAAzE,MAAA,CAAMV,GAAG;IAErC;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAyG,eAAA,EAAiB;MACf,IAAAC,cAAA,GAAmC,IAAI,CAACpG,OAAO;QAAvC6E,IAAI,GAAAuB,cAAA,CAAJvB,IAAI;QAAKwB,aAAa,OAAAC,yBAAA,aAAAF,cAAA,EAAAhI,SAAA;MAC9B,IAAMmI,SAAS,GAAG,IAAI,CAACpB,gBAAgB,EAAE;MAEzC,WAAAqB,cAAA,iBAAAA,cAAA,iBACKH,aAAa;QAChBI,YAAY,EAAE5B,IAAI,CAACvD,MAAM;QACzBuD,IAAI,EAAJA,IAAI;QACJ0B,SAAS,EAATA,SAAS;QACTG,aAAa,EAAE,IAAI,CAACpH;MAAiB;IAEzC;EAAC;IAAAG,GAAA;IAAAC,KAAA,EAED,SAAAiH,OAAA,EAAS;MAAA,IAAAC,IAAA;MACP,IAAMC,WAAW,GAAG,IAAI,CAACC,OAAO;MAChC,IAAQC,QAAQ,GAAK,IAAI,CAAC/G,OAAO,CAAzB+G,QAAQ;MAChB,IAAI,CAAC/G,OAAO,CAACgH,gBAAgB,CAACC,iBAAiB,CAAC,YAAY,CAAC;MAE7D,OAAAL,IAAA,GAAO,IAAAtI,aAAO,EAAC,IAAI,CAAC0B,OAAO,CAACkH,MAAM,CAAC,eACjCxJ,MAAA,YAAAyJ,aAAA,CAACN,WAAW,EAAAD,IAAA,CAAAQ,EAAA;QAAA,UAAQ;MAAG,iBACrB1J,MAAA,YAAAyJ,aAAA,CAACJ,QAAQ,EAAAH,IAAA,CAAAQ,EAAA,iBAAG,CACA;IAElB;EAAC;EAAA,OAAAzI,cAAA;AAAA,EAzM0B0I,eAAS;AAAA,IAAAjI,gBAAA,aAAhCT,cAAc,iBACG,YAAY;AAAA,IAAAS,gBAAA,aAD7BT,cAAc,WAEHN,KAAK;AAAA,IAAAe,gBAAA,aAFhBT,cAAc,aAGD,CAAC,IAAA2I,oBAAmB,GAAE,CAAC;AAAA,IAAAlI,gBAAA,aAHpCT,cAAc,kBAK+B;EAC/C4I,WAAW,EAAE,CAAC;EACdtH,QAAQ,EAAE,GAAG;EACbuH,aAAa,EAAE,EAAE;EACjBC,WAAW,EAAE,CAAC;EACdC,SAAS,EAAE,MAAM;EACjBC,OAAO,EAAE,CAAC;EACVC,QAAQ,EAAE,CAAC;EACXvC,QAAQ,EAAE,EAAE;EACZwC,gBAAgB,EAAE;AACpB,CAAC;AAAA,IAyMGC,gBAAgB,0BAAAC,WAAA;EAAA,IAAAlJ,UAAA,aAAAiJ,gBAAA,EAAAC,WAAA;EAAA,IAAAC,OAAA,OAAAjJ,aAAA,aAAA+I,gBAAA;EAcpB,SAAAA,iBAAY9I,KAAU,EAAE;IAAA,IAAAiJ,MAAA;IAAA,IAAA/I,gBAAA,mBAAA4I,gBAAA;IACtBG,MAAA,GAAAD,OAAA,CAAA7I,IAAA,OAAMH,KAAK;IAAE,IAAAI,gBAAA,iBAAAC,uBAAA,aAAA4I,MAAA;IACbA,MAAA,CAAKC,YAAY,GAAGD,MAAA,CAAKC,YAAY,CAAC3I,IAAI,KAAAF,uBAAA,aAAA4I,MAAA,EAAM;IAAC,OAAAA,MAAA;EACnD;EAAC,IAAAzI,aAAA,aAAAsI,gBAAA;IAAArI,GAAA;IAAAC,KAAA,EAED,SAAAyI,wBAAAC,MAAA,EAA0EzF,KAAa,EAAE;MAAA,IAA/DiC,UAAU,GAAAwD,MAAA,CAAVxD,UAAU;MAClC,IAAMC,IAAI,GAAGD,UAAU,CAACC,IAAI,CAAElC,KAAK,CAAC;MACpC,IAAA0F,qBAAA,GAAgE,IAAI,CAACC,qBAAqB,CACxFzD,IAAI,EACJlC,KAAK,CACN;QAHO4F,MAAM,GAAAF,qBAAA,CAANE,MAAM;QAAEC,MAAM,GAAAH,qBAAA,CAANG,MAAM;QAAEC,YAAY,GAAAJ,qBAAA,CAAZI,YAAY;QAAEC,YAAY,GAAAL,qBAAA,CAAZK,YAAY;QAAEf,OAAO,GAAAU,qBAAA,CAAPV,OAAO;MAK3D,OAAO;QACLvF,EAAE,EAAEmG,MAAM;QACVhG,EAAE,EAAEiG,MAAM;QACVpE,EAAE,EAAEqE,YAAY;QAChBpE,EAAE,EAAEqE,YAAY;QAChBC,WAAW,EAAEhB,OAAO,GAAG;MACzB,CAAC;IACH;EAAC;IAAAlI,GAAA;IAAAC,KAAA,EAED,SAAAkJ,aAAAC,MAAA,EAA+DlG,KAAa,EAAE;MAAA,IAAAmG,WAAA,EAAAC,MAAA;MAAA,IAA/DnE,UAAU,GAAAiE,MAAA,CAAVjE,UAAU;MACvB,IAAMC,IAAI,GAAGD,UAAU,CAACC,IAAI,CAAElC,KAAK,CAAC;MACpC,IAAAqG,sBAAA,GAAuC,IAAI,CAACV,qBAAqB,CAACzD,IAAI,EAAElC,KAAK,CAAC;QAAtE4F,MAAM,GAAAS,sBAAA,CAANT,MAAM;QAAEC,MAAM,GAAAQ,sBAAA,CAANR,MAAM;QAAES,IAAI,GAAAD,sBAAA,CAAJC,IAAI;QAAEC,IAAI,GAAAF,sBAAA,CAAJE,IAAI;MAClC,IAAAC,cAAA,GAA6B,IAAI,CAACnJ,OAAO;QAAjCE,GAAG,GAAAiJ,cAAA,CAAHjJ,GAAG;QAAEkJ,WAAW,GAAAD,cAAA,CAAXC,WAAW;MACxB,IAAMC,KAAK,IAAAP,WAAA,GAAGjE,IAAI,CAACwE,KAAK,cAAAP,WAAA,cAAAA,WAAA,GAAI,IAAI,CAAC9I,OAAO,CAACqJ,KAAK;MAE9C,OAAAN,MAAA;QACE3G,EAAE,EAAEmG,MAAM;QACVhG,EAAE,EAAEiG,MAAM;QACVpE,EAAE,EAAE6E,IAAI;QACR5E,EAAE,EAAE6E,IAAI;QACRI,MAAM,EAAED,KAAK;QACbD,WAAW,EAAXA;MAAW,OAAAhK,gBAAA,aAAA2J,MAAA,EACV,SAAS,EAAGR,MAAM,OAAAnJ,gBAAA,aAAA2J,MAAA,EAClB,SAAS,EAAGP,MAAM,OAAApJ,gBAAA,aAAA2J,MAAA,EAClB,SAAS,EAAGE,IAAI,OAAA7J,gBAAA,aAAA2J,MAAA,EAChB,SAAS,EAAGG,IAAI,OAAA9J,gBAAA,aAAA2J,MAAA,EAChB,uBAAuB,KAAAnI,MAAA,CAAMV,GAAG,iBAAAd,gBAAA,aAAA2J,MAAA,EAChC,mBAAmB,EAAGpG,KAAK,GAAAoG,MAAA;IAEhC;EAAC;IAAAtJ,GAAA;IAAAC,KAAA,EAED,SAAA6J,YAAAC,MAAA,EAA8D7G,KAAa,EAAE;MAAA,IAAA8G,YAAA,EAAAC,MAAA;MAAA,IAA/D9E,UAAU,GAAA4E,MAAA,CAAV5E,UAAU;MACtB,IAAMC,IAAI,GAAGD,UAAU,CAACC,IAAI,CAAElC,KAAK,CAAC;MACpC,IAAAgH,sBAAA,GAAgC,IAAI,CAACrB,qBAAqB,CAACzD,IAAI,EAAElC,KAAK,CAAC;QAA/DsG,IAAI,GAAAU,sBAAA,CAAJV,IAAI;QAAEC,IAAI,GAAAS,sBAAA,CAAJT,IAAI;QAAEvB,OAAO,GAAAgC,sBAAA,CAAPhC,OAAO;MAC3B,IAAAiC,cAAA,GAA6B,IAAI,CAAC5J,OAAO;QAAjCE,GAAG,GAAA0J,cAAA,CAAH1J,GAAG;QAAEkJ,WAAW,GAAAQ,cAAA,CAAXR,WAAW;MACxB,IAAMC,KAAK,IAAAI,YAAA,GAAG5E,IAAI,CAACwE,KAAK,cAAAI,YAAA,cAAAA,YAAA,GAAI,IAAI,CAACzJ,OAAO,CAACqJ,KAAK;MAE9C,OAAAK,MAAA;QACEhG,CAAC,EAAEuF,IAAI;QACPtF,CAAC,EAAEuF;MAAI,OAAA9J,gBAAA,aAAAsK,MAAA,EACN,SAAS,EAAGT,IAAI,OAAA7J,gBAAA,aAAAsK,MAAA,EAChB,SAAS,EAAGR,IAAI,OAAA9J,gBAAA,aAAAsK,MAAA,YACT/B,OAAO,OAAAvI,gBAAA,aAAAsK,MAAA,WACfL,KAAK,OAAAjK,gBAAA,aAAAsK,MAAA,iBACLN,WAAW,OAAAhK,gBAAA,aAAAsK,MAAA,EACV,uBAAuB,KAAA9I,MAAA,CAAMV,GAAG,uBAAAd,gBAAA,aAAAsK,MAAA,EAChC,mBAAmB,EAAG/G,KAAK,GAAA+G,MAAA;IAEhC;EAAC;IAAAjK,GAAA;IAAAC,KAAA,EAED,SAAAmK,aAAAC,MAAA,EAA+DnH,KAAa,EAAE;MAAA,IAAAoH,eAAA,EAAAC,cAAA,EAAAC,UAAA,EAAAC,MAAA;MAAA,IAA/DtF,UAAU,GAAAkF,MAAA,CAAVlF,UAAU;MACvB,IAAMC,IAAI,GAAGD,UAAU,CAACC,IAAI,CAAElC,KAAK,CAAC;MACpC,IAAAwH,sBAAA,GAAiC,IAAI,CAAC7B,qBAAqB,CAACzD,IAAI,EAAElC,KAAK,CAAC;QAAhEsG,IAAI,GAAAkB,sBAAA,CAAJlB,IAAI;QAAEC,IAAI,GAAAiB,sBAAA,CAAJjB,IAAI;QAAEkB,QAAQ,GAAAD,sBAAA,CAARC,QAAQ;MAC5B,IAAQlK,GAAG,GAAK,IAAI,CAACF,OAAO,CAApBE,GAAG;MACX,IAAMwH,SAAS,IAAAqC,eAAA,GAAGlF,IAAI,CAAC6C,SAAS,cAAAqC,eAAA,cAAAA,eAAA,GAAI,IAAI,CAAC/J,OAAO,CAAC0H,SAAS;MAC1D,IAAME,QAAQ,IAAAoC,cAAA,GAAGnF,IAAI,CAAC+C,QAAQ,cAAAoC,cAAA,cAAAA,cAAA,GAAI,IAAI,CAAChK,OAAO,CAAC4H,QAAQ;MACvD,IAAMyC,IAAI,IAAAJ,UAAA,GAAGpF,IAAI,CAACwF,IAAI,cAAAJ,UAAA,cAAAA,UAAA,GAAI,IAAI,CAACjK,OAAO,CAACqK,IAAI;MAC3C,IAAM3G,CAAC,GAAGuF,IAAI,GAAGrB,QAAQ,GAAI,CAAC;MAC9B,IAAMjE,CAAC,GAAGuF,IAAI,GAAGtB,QAAQ,GAAI,CAAC;MAC9B,OAAAsC,MAAA;QACExG,CAAC,EAADA,CAAC;QACDC,CAAC,EAADA;MAAC,OAAAvE,gBAAA,aAAA8K,MAAA,EACA,QAAQ,EAAGxG,CAAC,OAAAtE,gBAAA,aAAA8K,MAAA,EACZ,QAAQ,EAAGvG,CAAC,OAAAvE,gBAAA,aAAA8K,MAAA,cACbtC,QAAQ,OAAAxI,gBAAA,aAAA8K,MAAA,WACDxC,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,MAAM,OAAAtI,gBAAA,aAAA8K,MAAA,EACzB,uBAAuB,KAAAtJ,MAAA,CAAMV,GAAG,qBAAAd,gBAAA,aAAA8K,MAAA,EAChC,mBAAmB,EAAGvH,KAAK,OAAAvD,gBAAA,aAAA8K,MAAA,UAC5BG,IAAI,OAAAjL,gBAAA,aAAA8K,MAAA,cACJE,QAAQ,GAAAF,MAAA;IAEZ;EAAC;IAAAzK,GAAA;IAAAC,KAAA,EAED,SAAA4K,cAAAC,MAAA,EAAgE5H,KAAa,EAAE;MAAA,IAAA6H,YAAA,EAAAC,MAAA;MAAA,IAA/D7F,UAAU,GAAA2F,MAAA,CAAV3F,UAAU;MACxB,IAAMC,IAAI,GAAGD,UAAU,CAACC,IAAI,CAAElC,KAAK,CAAC;MACpC,IAAA+H,sBAAA,GAAiE,IAAI,CAACpC,qBAAqB,CACzFzD,IAAI,EACJlC,KAAK,CACN;QAHO8F,YAAY,GAAAiC,sBAAA,CAAZjC,YAAY;QAAEC,YAAY,GAAAgC,sBAAA,CAAZhC,YAAY;QAAEiC,UAAU,GAAAD,sBAAA,CAAVC,UAAU;QAAEC,YAAY,GAAAF,sBAAA,CAAZE,YAAY;MAI5D,IAAAC,cAAA,GAAuC,IAAI,CAAC7K,OAAO;QAA3CE,GAAG,GAAA2K,cAAA,CAAH3K,GAAG;QAAEmF,QAAQ,GAAAwF,cAAA,CAARxF,QAAQ;QAAE+D,WAAW,GAAAyB,cAAA,CAAXzB,WAAW;MAClC,IAAQ5D,KAAK,GAAKX,IAAI,CAAdW,KAAK;MACb,IAAM6D,KAAK,IAAAmB,YAAA,GAAG3F,IAAI,CAACwE,KAAK,cAAAmB,YAAA,cAAAA,YAAA,GAAI,IAAI,CAACxK,OAAO,CAACqJ,KAAK;MAE9C,OAAAoB,MAAA;QACE/G,CAAC,EAAE+E,YAAY;QACf9E,CAAC,EAAE+E,YAAY;QACfoC,KAAK,EAAEH;MAAU,OAAAvL,gBAAA,aAAAqL,MAAA,EAChB,uBAAuB,KAAA7J,MAAA,CAAMV,GAAG,kBAAAd,gBAAA,aAAAqL,MAAA,EAChC,mBAAmB,EAAG9H,KAAK,OAAAvD,gBAAA,aAAAqL,MAAA,WAC5BjF,KAAK,OAAApG,gBAAA,aAAAqL,MAAA,WACLpB,KAAK,OAAAjK,gBAAA,aAAAqL,MAAA,kBACLG,YAAY,OAAAxL,gBAAA,aAAAqL,MAAA,cACZpF,QAAQ,OAAAjG,gBAAA,aAAAqL,MAAA,iBACRrB,WAAW,GAAAqB,MAAA;IAEf;EAAC;IAAAhL,GAAA;IAAAC,KAAA,EAED,SAAAqL,aAAalG,IAAgB,EAAElC,KAAa,EAAE;MAAA,IAAAqI,SAAA;MAC5C,QAAAA,SAAA,GAAOnG,IAAI,CAACpF,GAAG,cAAAuL,SAAA,cAAAA,SAAA,aAAApK,MAAA,CAAc+B,KAAK;IACpC;EAAC;IAAAlD,GAAA;IAAAC,KAAA,EAED,SAAA4I,sBAAsBzD,IAAgB,EAAElC,KAAa,EAAE;MAAA,IAAAsI,aAAA;MACrD,IAAAC,cAAA,GACE,IAAI,CAAClL,OAAO;QADNwH,aAAa,GAAA0D,cAAA,CAAb1D,aAAa;QAAEC,WAAW,GAAAyD,cAAA,CAAXzD,WAAW;QAAEF,WAAW,GAAA2D,cAAA,CAAX3D,WAAW;QAAE3H,SAAS,GAAAsL,cAAA,CAATtL,SAAS;QAAEmG,IAAI,GAAAmF,cAAA,CAAJnF,IAAI;QAAEU,YAAY,GAAAyE,cAAA,CAAZzE,YAAY;QAAEF,SAAS,GAAA2E,cAAA,CAAT3E,SAAS;MAEzF,IAAA4E,MAAA,OAAAlF,eAAA,aAAwBF,IAAI;QAArBvC,KAAK,GAAA2H,MAAA;QAAE1H,MAAM,GAAA0H,MAAA;MACpB,IAAM1L,GAAG,GAAG,IAAI,CAACsL,YAAY,CAAClG,IAAI,EAAElC,KAAK,CAAC;MAC1C,IAAMyH,QAAQ,GAAGxK,SAAS,KAAKH,GAAG;MAClC,IAAM2L,WAAW,IAAAH,aAAA,GAAGpG,IAAI,CAAC8C,OAAO,cAAAsD,aAAA,cAAAA,aAAA,GAAI,IAAI,CAACjL,OAAO,CAAC2H,OAAO;MACxD,IAAMA,OAAO,GAAGyD,WAAW,IAAIhB,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC;MAElD,IAAMiB,UAAU,GAAG5M,IAAI,CAAC6M,GAAG,CAAC9H,KAAK,EAAEC,MAAM,CAAC,GAAG,CAAC;MAC9C,IAAMnC,MAAM,GAAG7C,IAAI,CAACiH,GAAG,CACrB2F,UAAU,GAAG9E,SAAS,GAAG6E,WAAW,GAAG5D,aAAa,GAAGC,WAAW,GAAG,CAAC,EACtE,EAAE,CACH;MAED,IAAMqD,KAAK,GAAGtM,SAAS,GAAG+I,WAAW,GAAI5E,KAAK,GAAG8D,YAAY,IAAKhI,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC;MAC9E,IAAMkM,YAAY,GACfE,KAAK,GAAGtM,SAAS,GAAI,CAAC,GAAG,CAAC,GAAIC,IAAI,CAACC,EAAE,IAAIoM,KAAK,GAAGtM,SAAS,GAAI,CAAC,GAAG,CAAC,GAAIC,IAAI,CAACC,EAAE,IAC9EoM,KAAK,GAAGtM,SAAS,GAAI,CAAC,GAAG,CAAC,GAAIC,IAAI,CAACC,EAAE,IAAIoM,KAAK,GAAGtM,SAAS,GAAI,EAAE,GAAG,CAAC,GAAIC,IAAI,CAACC,EAAG;MACnF,IAAM6M,QAAQ,GAAG,CAAC9M,IAAI,CAACC,EAAE,GAAG,CAAC;MAC7B,IAAMiM,UAAU,GAAI,CAACG,KAAK,GAAGS,QAAQ,IAAI9M,IAAI,CAACC,EAAE,GAAI6M,QAAQ;MAE5D,IAAMrF,MAAM,GAAG,CAAC1C,KAAK,GAAG,CAAC,EAAEC,MAAM,GAAG,CAAC,CAAC;MACtC,IAAO+H,OAAO,GAAatF,MAAM;QAAjBuF,OAAO,GAAIvF,MAAM;MACjC,IAAMwF,KAAK,GAAG,CACZF,OAAO,GAAG/M,IAAI,CAACkN,GAAG,CAACb,KAAK,CAAC,GAAGtD,aAAa,EACzCiE,OAAO,GAAGhN,IAAI,CAACmN,GAAG,CAACd,KAAK,CAAC,GAAGtD,aAAa,CAC1C;MACD,IAAMqE,GAAG,GAAG,CACVL,OAAO,GAAG/M,IAAI,CAACkN,GAAG,CAACb,KAAK,CAAC,IAAItD,aAAa,GAAGlG,MAAM,CAAC,EACpDmK,OAAO,GAAGhN,IAAI,CAACmN,GAAG,CAACd,KAAK,CAAC,IAAItD,aAAa,GAAGlG,MAAM,CAAC,CACrD;MACD,IAAOiH,MAAM,GAAYmD,KAAK;QAAflD,MAAM,GAAIkD,KAAK;MAC9B,IAAOzC,IAAI,GAAU4C,GAAG;QAAX3C,IAAI,GAAI2C,GAAG;MAExB,IAAMC,WAAW,GAAG,CAClBN,OAAO,GACP/M,IAAI,CAACkN,GAAG,CAACb,KAAK,CAAC,IAAItD,aAAa,GAAGlG,MAAM,GAAG8J,WAAW,GAAG7E,SAAS,GAAG,CAAC,GAAGkB,WAAW,CAAC,EACtFgE,OAAO,GACPhN,IAAI,CAACmN,GAAG,CAACd,KAAK,CAAC,IAAItD,aAAa,GAAGlG,MAAM,GAAG8J,WAAW,GAAG7E,SAAS,GAAG,CAAC,GAAGkB,WAAW,CAAC,CACvF;MACD,IAAOgB,YAAY,GAAkBqD,WAAW;QAA3BpD,YAAY,GAAIoD,WAAW;MAEhD,OAAO;QACLvD,MAAM,EAANA,MAAM;QACNC,MAAM,EAANA,MAAM;QACNS,IAAI,EAAJA,IAAI;QACJC,IAAI,EAAJA,IAAI;QACJT,YAAY,EAAZA,YAAY;QACZC,YAAY,EAAZA,YAAY;QACZiC,UAAU,EAAVA,UAAU;QACVC,YAAY,EAAZA,YAAY;QACZjD,OAAO,EAAPA,OAAO;QACPyC,QAAQ,EAARA;MACF,CAAC;IACH;EAAC;IAAA3K,GAAA;IAAAC,KAAA,EAED,SAAAwI,aAAarD,IAAgB,EAAElC,KAAa,EAAE;MAAA,IAAAoJ,KAAA;MAC5C,IAAAC,cAAA,GAA4C,IAAI,CAAChM,OAAO;QAAhDkH,MAAM,GAAA8E,cAAA,CAAN9E,MAAM;QAAEH,QAAQ,GAAAiF,cAAA,CAARjF,QAAQ;QAAEL,aAAa,GAAAsF,cAAA,CAAbtF,aAAa;MACvC,IAAMjH,GAAG,GAAG,IAAI,CAACsL,YAAY,CAAClG,IAAI,EAAElC,KAAK,CAAC;MAC1C,IAAMsJ,OAAO,GAAG,GAAG;MAEnB,IAAIC,QAAQ,GAAG,IAAAC,6BAAiB,EAACpF,QAAQ,CAAC;MAE1C,IAAI,OAAOmF,QAAQ,KAAK,UAAU,EAAE;QAClC,IAAME,MAAM,GAAG,IAAI,CAACpM,OAAO,CAACkM,QAAQ;QACpC,IAAMG,WAAW,GAAG,IAAAC,uBAAW,EAACJ,QAAQ,CAAC,IAAI,CAAClM,OAAO,CAAC,EAAE,IAAI,CAACA,OAAO,CAAC;QACrEkM,QAAQ,GAAGG,WAAW,CAACH,QAAQ;QAC/BG,WAAW,CAACH,QAAQ,GAAGE,MAAM;MAC/B;MAEA,IAAI,CAACpM,OAAO,CAACgH,gBAAgB,CAACuF,mBAAmB,IAAA3L,MAAA,CAAI+B,KAAK,OAAA/B,MAAA,CAAIiE,IAAI,CAACW,KAAK,GAAIX,IAAI,CAACW,KAAK,CAAC;;MAEvF;MACA,IAAMgH,eAAe,GAAIC,UAAU,CAACC,MAAM,CAASF,eAAe;MAElE,OAAAT,KAAA,GAAO,IAAAzN,aAAO,EAAC4I,MAAM,CAAC,eACpBxJ,MAAA,YAAAyJ,aAAA,CAAC8E,OAAO,EAAAF,KAAA,CAAA3E,EAAA;QAAA;QAAA,OAAkB3H,GAAG;QAAA,WAAWiH,aAAa,CAACjH,GAAG;MAAC,iBACxD/B,MAAA,YAAAyJ,aAAA,CAACqF,eAAe,EAAAT,KAAA,CAAA3E,EAAA,wBAAG,EAClB8E,QAAQ,CACD;IAEd;EAAC;IAAAzM,GAAA;IAAAC,KAAA,EAED,SAAAiH,OAAA,EAAS;MAAA,IAAAgG,KAAA;QAAAC,MAAA;MACP,IAAQ/H,IAAI,GAAK,IAAI,CAAC7E,OAAO,CAArB6E,IAAI;MACZ,IAAMgI,WAAW,GAAG,GAAG;MAEvB,OAAAF,KAAA,GAAO,IAAArO,aAAO,EAAC,IAAI,CAAC0B,OAAO,CAACkH,MAAM,CAAC,eACjCxJ,MAAA,YAAAyJ,aAAA,CAAC0F,WAAW,EAAAF,KAAA,CAAAvF,EAAA,qBAAEvC,IAAI,CAACrD,GAAG,CAAC,UAACqD,IAAI,EAAElC,KAAK;QAAA,OAAKiK,MAAI,CAAC1E,YAAY,CAACrD,IAAI,EAAElC,KAAK,CAAC;MAAA,EAAC,CAAe;IAE1F;EAAC;EAAA,OAAAmF,gBAAA;AAAA,EA1N4BT,eAAS;AAAA,IAAAjI,gBAAA,aAAlC0I,gBAAgB,iBACC,kBAAkB;AAAA,IAAA1I,gBAAA,aADnC0I,gBAAgB,WAELzJ,KAAK;AAAA,IAAAe,gBAAA,aAFhB0I,gBAAgB,kBAImC;EACrDN,aAAa,EAAE,EAAE;EACjBC,WAAW,EAAE,CAAC;EACdC,SAAS,EAAE,MAAM;EACjBC,OAAO,EAAE,EAAE;EACXC,QAAQ,EAAE,EAAE;EACZvC,QAAQ,EAAE;AACZ,CAAC;AA8NH,IAAMmH,eAAiE,GAAG,SAApEA,eAAiEA,CAAAM,MAAA,EAGjE;EAAA,IAAAC,KAAA;EAAA,IAFKC,gBAAgB,GAAAF,MAAA,CAAzBhG,OAAO;IACPI,MAAM,GAAA4F,MAAA,CAAN5F,MAAM;EAEN,OAAA6F,KAAA,GAAO,IAAAzO,aAAO,EAAC4I,MAAM,CAAC,eACpBxJ,MAAA,YAAAyJ,aAAA,CAAC6F,gBAAgB,EAAAD,KAAA,CAAA3F,EAAA;IAAA,UAAQ,aAAa;IAAA,UAAQ;EAAM,GAAG;AAE3D,CAAC;AAiBD,IAAM6F,IAA2C,GAAG,SAA9CA,IAA2CA,CAAAC,MAAA,EAK3C;EAAA,IAAAC,KAAA;EAAA,IAJKC,KAAK,GAAAF,MAAA,CAAdpG,OAAO;IACPI,MAAM,GAAAgG,MAAA,CAANhG,MAAM;IACNoC,MAAM,GAAA4D,MAAA,CAAN5D,MAAM;IACNF,WAAW,GAAA8D,MAAA,CAAX9D,WAAW;EAEX,OAAA+D,KAAA,GAAO,IAAA7O,aAAO,EAAC4I,MAAM,CAAC,eACpBxJ,MAAA,YAAAyJ,aAAA,CAACiG,KAAK,EAAAD,KAAA,CAAA/F,EAAA;IAAA,UAAQ,MAAM;IAAA,UAASkC,MAAM;IAAA,eAAeF;EAAW,GAAI;AAErE,CAAC;AAgBD,IAAMiE,GAAyC,GAAG,SAA5CA,GAAyCA,CAAAC,MAAA,EAQzC;EAAA,IAAAC,KAAA;EAAA,IAPKC,IAAI,GAAAF,MAAA,CAAbxG,OAAO;IACPI,MAAM,GAAAoG,MAAA,CAANpG,MAAM;IACNxD,CAAC,GAAA4J,MAAA,CAAD5J,CAAC;IACDC,CAAC,GAAA2J,MAAA,CAAD3J,CAAC;IACD8J,MAAM,GAAAH,MAAA,CAANG,MAAM;IACNpE,KAAK,GAAAiE,MAAA,CAALjE,KAAK;IACLD,WAAW,GAAAkE,MAAA,CAAXlE,WAAW;EAEX,OAAAmE,KAAA,GAAO,IAAAjP,aAAO,EAAC4I,MAAM,CAAC,eACpBxJ,MAAA,YAAAyJ,aAAA,CAACqG,IAAI,EAAAD,KAAA,CAAAnG,EAAA;IAAA,UAAQ,QAAQ;IAAA,MAAK1D,CAAC;IAAA,MAAMC,CAAC;IAAA,KAAK8J,MAAM;IAAA,QAAQpE,KAAK;IAAA,eAAeD;EAAW,GAAI;AAE5F,CAAC;AAqBD,IAAMsE,IAA2C,GAAG,SAA9CA,IAA2CA,CAAAC,MAAA,EAS3C;EAAA,IAAAC,KAAA;EAAA,IARKC,KAAK,GAAAF,MAAA,CAAd7G,OAAO;IACPI,MAAM,GAAAyG,MAAA,CAANzG,MAAM;IACNkD,QAAQ,GAAAuD,MAAA,CAARvD,QAAQ;IACR0D,GAAG,GAAAH,MAAA,CAAHG,GAAG;IACHpK,CAAC,GAAAiK,MAAA,CAADjK,CAAC;IACDC,CAAC,GAAAgK,MAAA,CAADhK,CAAC;IACDiE,QAAQ,GAAA+F,MAAA,CAAR/F,QAAQ;IACRwB,WAAW,GAAAuE,MAAA,CAAXvE,WAAW;EAEX,IAAI,EAAEgB,QAAQ,IAAI0D,GAAG,CAAC,EAAE,OAAO,IAAI;EACnC,IAAMtK,KAAK,GAAGoE,QAAQ;EACtB,IAAMnE,MAAM,GAAGmE,QAAQ;EACvB,OAAAgG,KAAA,GAAO,IAAAtP,aAAO,EAAC4I,MAAM,CAAC,eACpBxJ,MAAA,YAAAyJ,aAAA,CAAC0G,KAAK,EAAAD,KAAA,CAAAxG,EAAA;IAAA,KAAI1D,CAAC;IAAA,KAAKC,CAAC;IAAA,SAASH,KAAK;IAAA,UAAUC,MAAM;IAAA,UAAUqK,GAAG;IAAA,eAAe1E;EAAW,GAAI;AAE9F,CAAC;AAwBD,IAAM2E,KAA6C,GAAG,SAAhDA,KAA6CA,CAAAC,MAAA,EAY7C;EAAA,IAXKC,MAAM,GAAAD,MAAA,CAAflH,OAAO;IACPC,QAAQ,GAAAiH,MAAA,CAARjH,QAAQ;IACRG,MAAM,GAAA8G,MAAA,CAAN9G,MAAM;IACN1B,KAAK,GAAAwI,MAAA,CAALxI,KAAK;IACL6D,KAAK,GAAA2E,MAAA,CAAL3E,KAAK;IACLuB,YAAY,GAAAoD,MAAA,CAAZpD,YAAY;IACZlH,CAAC,GAAAsK,MAAA,CAADtK,CAAC;IACDC,CAAC,GAAAqK,MAAA,CAADrK,CAAC;IACD0B,QAAQ,GAAA2I,MAAA,CAAR3I,QAAQ;IACRyF,KAAK,GAAAkD,MAAA,CAALlD,KAAK;IACL1B,WAAW,GAAA4E,MAAA,CAAX5E,WAAW;EAEX,IAAM8E,KAAK,GAAGC,MAAM,CAAC3I,KAAK,CAAC,CAAC4I,KAAK,CAAC,IAAI,CAAC;EACvC,IAAMC,UAAU,GAAGH,KAAK,CAAC5M,MAAM;EAC/B,IAAMgN,UAAU,GAAG,OAAO;EAE1B,IAAMC,SAAS,GAAG,CAAEzD,KAAK,GAAGrM,IAAI,CAACC,EAAE,GAAI,GAAG,EAAE8P,OAAO,CAAC,CAAC,CAAC;EACtD,IAAMC,eAAe,GAAG,CAAC/K,CAAC,CAAC8K,OAAO,CAAC,CAAC,CAAC,EAAE7K,CAAC,CAAC6K,OAAO,CAAC,CAAC,CAAC,CAAC;EACpD,IAAME,SAAS,aAAA9N,MAAA,CAAa,CAAC2N,SAAS,EAAA3N,MAAA,CAAK6N,eAAe,EAAEE,IAAI,CAAC,IAAI,CAAC,MAAG;EAEzE,IAAMC,OAAO,GAAG,IAAAtQ,aAAO,EAAC4I,MAAM,CAAC;EAC/B,IAAM2H,YAAY,GAAGD,OAAO,CAACxH,EAAE,CAAC,QAAQ,EAAE;IACxCiC,KAAK,EAALA,KAAK;IACL,eAAe,EAAE,IAAAyF,YAAK,EAACzF,KAAK,EAAE,CAAC,IAAI,CAAC;IACpC,aAAa,EAAEuB,YAAY,GAAG,MAAM,GAAG,eAAe;IACtDxB,WAAW,EAAXA;EACF,CAAC,CAAC;EAEF,oBACE1L,MAAA,YAAAyJ,aAAA,CAAC8G,MAAM;IACL,mBAAW;IACXtH,MAAM,EAAC,MAAM;IACboI,UAAU,EAAC,QAAQ;IACnBC,gBAAgB,EAAC,SAAS;IAC1BC,SAAS,EAAEJ,YAAY,CAACI,SAAU;IAClC5Q,KAAK,EAAEwQ,YAAY,CAACxQ,KAAM;IAC1BqF,CAAC,EAAEA,CAAC,CAAC8K,OAAO,CAAC,CAAC,CAAE;IAChB7K,CAAC,EAAEA,CAAC,CAAC6K,OAAO,CAAC,CAAC,CAAE;IAChBE,SAAS,EAAEA;EAAU,GAEpBR,KAAK,CAAC1M,GAAG,CAAC,UAAC0N,QAAQ,EAAEC,SAAS;IAAA,oBAC7BzR,MAAA,YAAAyJ,aAAA,CAACmH,UAAU;MACT5K,CAAC,EAAEA,CAAE;MACLC,CAAC,EAAEA,CAAC,GAAG,CAACwL,SAAS,GAAG,CAACd,UAAU,GAAG,CAAC,IAAI,CAAC,IAAIhJ,QAAS;MACrD5F,GAAG,MAAAmB,MAAA,CAAMuO,SAAS,OAAAvO,MAAA,CAAIsO,QAAQ;IAAG,GAEhCA,QAAQ,CACE;EAAA,CACd,CAAC,eACFxR,MAAA,YAAAyJ,aAAA,CAACJ,QAAQ,OAAG,CACL;AAEb,CAAC;AAED,IAAM2F,MAAM,GAAG,IAAAvF,yBAAa,EAACW,gBAAgB,EAAE;EAC7C0E,eAAe,EAAfA,eAAe;EACfS,IAAI,EAAJA,IAAI;EACJI,GAAG,EAAHA,GAAG;EACHK,IAAI,EAAJA,IAAI;EACJK,KAAK,EAALA;AACF,CAAC,CAAC;AAiBF,IAAMqB,KAAuC,GAAG,SAA1CA,KAAuCA,CAAAC,MAAA,EAUvC;EAAA,IAAAC,KAAA;EAAA,IATKC,MAAM,GAAAF,MAAA,CAAfvI,OAAO;IACPC,QAAQ,GAAAsI,MAAA,CAARtI,QAAQ;IACRmF,QAAQ,GAAAmD,MAAA,CAARnD,QAAQ;IACRhF,MAAM,GAAAmI,MAAA,CAANnI,MAAM;IACN7B,QAAQ,GAAAgK,MAAA,CAARhK,QAAQ;IACRgE,KAAK,GAAAgG,MAAA,CAALhG,KAAK;IACL3F,CAAC,GAAA2L,MAAA,CAAD3L,CAAC;IACDC,CAAC,GAAA0L,MAAA,CAAD1L,CAAC;IACDqD,gBAAgB,GAAAqI,MAAA,CAAhBrI,gBAAgB;EAEhB,IAAI,OAAOkF,QAAQ,KAAK,QAAQ,EAAE;IAChClF,gBAAgB,CAACwI,QAAQ,CAAC,UAAU,EAAEtD,QAAQ,CAAC;EACjD;EACA,OAAAoD,KAAA,GAAO,IAAAhR,aAAO,EAAC4I,MAAM,CAAC,eACpBxJ,MAAA,YAAAyJ,aAAA,CAACoI,MAAM,EAAAD,KAAA,CAAAlI,EAAA;IAAA;IAAA,UAEE,MAAM;IAAA,cACF,QAAQ;IAAA,oBACF,SAAS;IAAA,YAChB/B,QAAQ;IAAA,QACZgE,KAAK;IAAA,KACR3F,CAAC;IAAA,KACDC;EAAC,iBAEJjG,MAAA,YAAAyJ,aAAA,CAACJ,QAAQ,EAAAuI,KAAA,CAAAlI,EAAA,iBAAG,CACL;AAEb,CAAC;AAED,IAAMqF,UAAU,GAAG,IAAAtF,yBAAa,EAACxI,cAAc,EAAE;EAAEyQ,KAAK,EAALA,KAAK;EAAE1C,MAAM,EAANA;AAAO,CAAC,CAUjE;AAAC,IAAA+C,QAAA,GAEahD,UAAU;AAAAiD,OAAA,cAAAD,QAAA"}
|
package/lib/cjs/ReferenceLine.js
CHANGED
|
@@ -1,52 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
-
|
|
12
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
11
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
12
|
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
19
|
-
|
|
20
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
23
|
-
|
|
24
15
|
var _core = require("@semcore/core");
|
|
25
|
-
|
|
26
16
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
17
|
var _createElement = _interopRequireDefault(require("./createElement"));
|
|
29
|
-
|
|
30
18
|
var _utils = require("./utils");
|
|
31
|
-
|
|
32
19
|
/*__reshadow-styles__:"./style/reference-line.shadow.css"*/
|
|
33
|
-
var style = (
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"__SReferenceLine": "___SReferenceLine_6rdq8_gg_",
|
|
43
|
-
"__STitle": "___STitle_6rdq8_gg_",
|
|
44
|
-
"--transform-origin": "--transform-origin_6rdq8",
|
|
45
|
-
"_position_top": "_position_top_6rdq8_gg_",
|
|
46
|
-
"_position_bottom": "_position_bottom_6rdq8_gg_",
|
|
47
|
-
"_position_right": "_position_right_6rdq8_gg_",
|
|
48
|
-
"_position_left": "_position_left_6rdq8_gg_",
|
|
49
|
-
"__SBackground": "___SBackground_6rdq8_gg_"
|
|
20
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SReferenceLine_ofte9_gg_{fill:none;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___STitle_ofte9_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_ofte9)}.___STitle_ofte9_gg_._position_top_ofte9_gg_{text-anchor:middle}.___STitle_ofte9_gg_._position_bottom_ofte9_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_ofte9_gg_._position_left_ofte9_gg_,.___STitle_ofte9_gg_._position_right_ofte9_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_ofte9_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}" /*__inner_css_end__*/, "ofte9_gg_") /*__reshadow_css_end__*/, {
|
|
21
|
+
"__SReferenceLine": "___SReferenceLine_ofte9_gg_",
|
|
22
|
+
"__STitle": "___STitle_ofte9_gg_",
|
|
23
|
+
"--transform-origin": "--transform-origin_ofte9",
|
|
24
|
+
"_position_top": "_position_top_ofte9_gg_",
|
|
25
|
+
"_position_bottom": "_position_bottom_ofte9_gg_",
|
|
26
|
+
"_position_right": "_position_right_ofte9_gg_",
|
|
27
|
+
"_position_left": "_position_left_ofte9_gg_",
|
|
28
|
+
"__SBackground": "___SBackground_ofte9_gg_"
|
|
50
29
|
});
|
|
51
30
|
var side2direction = {
|
|
52
31
|
left: 'vertical',
|
|
@@ -57,9 +36,8 @@ var side2direction = {
|
|
|
57
36
|
var lineDirection2props = {
|
|
58
37
|
vertical: function vertical(_ref4, value) {
|
|
59
38
|
var _ref5 = (0, _slicedToArray2["default"])(_ref4, 2),
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
39
|
+
xScale = _ref5[0],
|
|
40
|
+
yScale = _ref5[1];
|
|
63
41
|
var yRange = yScale.range();
|
|
64
42
|
var x = (0, _utils.scaleOfBandwidth)(xScale, value);
|
|
65
43
|
return {
|
|
@@ -71,9 +49,8 @@ var lineDirection2props = {
|
|
|
71
49
|
},
|
|
72
50
|
horizontal: function horizontal(_ref6, value) {
|
|
73
51
|
var _ref7 = (0, _slicedToArray2["default"])(_ref6, 2),
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
52
|
+
xScale = _ref7[0],
|
|
53
|
+
yScale = _ref7[1];
|
|
77
54
|
var xRange = xScale.range();
|
|
78
55
|
var y = (0, _utils.scaleOfBandwidth)(yScale, value);
|
|
79
56
|
return {
|
|
@@ -87,9 +64,8 @@ var lineDirection2props = {
|
|
|
87
64
|
var rectDirection2props = {
|
|
88
65
|
vertical: function vertical(_ref8, value) {
|
|
89
66
|
var _ref9 = (0, _slicedToArray2["default"])(_ref8, 2),
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
67
|
+
xScale = _ref9[0],
|
|
68
|
+
yScale = _ref9[1];
|
|
93
69
|
var yRange = yScale.range();
|
|
94
70
|
var x = (0, _utils.scaleOfBandwidth)(xScale, value);
|
|
95
71
|
return {
|
|
@@ -101,9 +77,8 @@ var rectDirection2props = {
|
|
|
101
77
|
},
|
|
102
78
|
horizontal: function horizontal(_ref10, value) {
|
|
103
79
|
var _ref11 = (0, _slicedToArray2["default"])(_ref10, 2),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
80
|
+
xScale = _ref11[0],
|
|
81
|
+
yScale = _ref11[1];
|
|
107
82
|
var xRange = xScale.range();
|
|
108
83
|
var y = (0, _utils.scaleOfBandwidth)(yScale, value);
|
|
109
84
|
return {
|
|
@@ -118,9 +93,8 @@ var titleOffset = 10;
|
|
|
118
93
|
var titleSideToProps = {
|
|
119
94
|
left: function left(_ref12, value) {
|
|
120
95
|
var _ref13 = (0, _slicedToArray2["default"])(_ref12, 2),
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
96
|
+
xScale = _ref13[0],
|
|
97
|
+
yScale = _ref13[1];
|
|
124
98
|
var yRange = yScale.range();
|
|
125
99
|
var x = (0, _utils.scaleOfBandwidth)(xScale, value);
|
|
126
100
|
return {
|
|
@@ -130,9 +104,8 @@ var titleSideToProps = {
|
|
|
130
104
|
},
|
|
131
105
|
right: function right(_ref14, value) {
|
|
132
106
|
var _ref15 = (0, _slicedToArray2["default"])(_ref14, 2),
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
107
|
+
xScale = _ref15[0],
|
|
108
|
+
yScale = _ref15[1];
|
|
136
109
|
var yRange = yScale.range();
|
|
137
110
|
var x = (0, _utils.scaleOfBandwidth)(xScale, value);
|
|
138
111
|
return {
|
|
@@ -142,9 +115,8 @@ var titleSideToProps = {
|
|
|
142
115
|
},
|
|
143
116
|
top: function top(_ref16, value) {
|
|
144
117
|
var _ref17 = (0, _slicedToArray2["default"])(_ref16, 2),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
118
|
+
xScale = _ref17[0],
|
|
119
|
+
yScale = _ref17[1];
|
|
148
120
|
var xRange = xScale.range();
|
|
149
121
|
var y = (0, _utils.scaleOfBandwidth)(yScale, value);
|
|
150
122
|
return {
|
|
@@ -154,9 +126,8 @@ var titleSideToProps = {
|
|
|
154
126
|
},
|
|
155
127
|
bottom: function bottom(_ref18, value) {
|
|
156
128
|
var _ref19 = (0, _slicedToArray2["default"])(_ref18, 2),
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
129
|
+
xScale = _ref19[0],
|
|
130
|
+
yScale = _ref19[1];
|
|
160
131
|
var xRange = xScale.range();
|
|
161
132
|
var y = (0, _utils.scaleOfBandwidth)(yScale, value);
|
|
162
133
|
return {
|
|
@@ -165,23 +136,19 @@ var titleSideToProps = {
|
|
|
165
136
|
};
|
|
166
137
|
}
|
|
167
138
|
};
|
|
168
|
-
|
|
169
139
|
var ReferenceLineRoot = /*#__PURE__*/function (_Component) {
|
|
170
140
|
(0, _inherits2["default"])(ReferenceLineRoot, _Component);
|
|
171
|
-
|
|
172
141
|
var _super = (0, _createSuper2["default"])(ReferenceLineRoot);
|
|
173
|
-
|
|
174
142
|
function ReferenceLineRoot() {
|
|
175
143
|
(0, _classCallCheck2["default"])(this, ReferenceLineRoot);
|
|
176
144
|
return _super.apply(this, arguments);
|
|
177
145
|
}
|
|
178
|
-
|
|
179
146
|
(0, _createClass2["default"])(ReferenceLineRoot, [{
|
|
180
147
|
key: "getTitleProps",
|
|
181
148
|
value: function getTitleProps() {
|
|
182
149
|
var _this$asProps = this.asProps,
|
|
183
|
-
|
|
184
|
-
|
|
150
|
+
position = _this$asProps.position,
|
|
151
|
+
value = _this$asProps.value;
|
|
185
152
|
return {
|
|
186
153
|
position: position,
|
|
187
154
|
value: value
|
|
@@ -191,8 +158,8 @@ var ReferenceLineRoot = /*#__PURE__*/function (_Component) {
|
|
|
191
158
|
key: "getBackgroundProps",
|
|
192
159
|
value: function getBackgroundProps() {
|
|
193
160
|
var _this$asProps2 = this.asProps,
|
|
194
|
-
|
|
195
|
-
|
|
161
|
+
position = _this$asProps2.position,
|
|
162
|
+
value = _this$asProps2.value;
|
|
196
163
|
return {
|
|
197
164
|
position: position,
|
|
198
165
|
value: value
|
|
@@ -202,15 +169,14 @@ var ReferenceLineRoot = /*#__PURE__*/function (_Component) {
|
|
|
202
169
|
key: "render",
|
|
203
170
|
value: function render() {
|
|
204
171
|
var _ref;
|
|
205
|
-
|
|
206
172
|
var SReferenceLine = this.Element;
|
|
207
173
|
var _this$asProps3 = this.asProps,
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
174
|
+
title = _this$asProps3.title,
|
|
175
|
+
scale = _this$asProps3.scale,
|
|
176
|
+
position = _this$asProps3.position,
|
|
177
|
+
value = _this$asProps3.value,
|
|
178
|
+
color = _this$asProps3.color,
|
|
179
|
+
styles = _this$asProps3.styles;
|
|
214
180
|
var positionProps = lineDirection2props[side2direction[position]];
|
|
215
181
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SReferenceLine, _ref.cn("SReferenceLine", (0, _objectSpread2["default"])({
|
|
216
182
|
"render": "line",
|
|
@@ -221,26 +187,21 @@ var ReferenceLineRoot = /*#__PURE__*/function (_Component) {
|
|
|
221
187
|
}]);
|
|
222
188
|
return ReferenceLineRoot;
|
|
223
189
|
}(_core.Component);
|
|
224
|
-
|
|
225
190
|
(0, _defineProperty2["default"])(ReferenceLineRoot, "displayName", 'ReferenceLine');
|
|
226
191
|
(0, _defineProperty2["default"])(ReferenceLineRoot, "style", style);
|
|
227
192
|
(0, _defineProperty2["default"])(ReferenceLineRoot, "defaultProps", {
|
|
228
193
|
position: 'left'
|
|
229
194
|
});
|
|
230
|
-
|
|
231
195
|
function Title(props) {
|
|
232
196
|
var _ref2;
|
|
233
|
-
|
|
234
197
|
var STitle = props.Element,
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
198
|
+
styles = props.styles,
|
|
199
|
+
scale = props.scale,
|
|
200
|
+
position = props.position,
|
|
201
|
+
value = props.value;
|
|
240
202
|
var _titleSideToProps$pos = titleSideToProps[position](scale, value),
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
203
|
+
x = _titleSideToProps$pos.x,
|
|
204
|
+
y = _titleSideToProps$pos.y;
|
|
244
205
|
var sstyles = (0, _core.sstyled)(styles);
|
|
245
206
|
var sTitleStyles = sstyles.cn('STitle', {
|
|
246
207
|
'transform-origin': "".concat(x.toFixed(2), "px ").concat(y.toFixed(2), "px")
|
|
@@ -255,22 +216,19 @@ function Title(props) {
|
|
|
255
216
|
"y": y
|
|
256
217
|
}));
|
|
257
218
|
}
|
|
258
|
-
|
|
259
219
|
function Background(props) {
|
|
260
220
|
var _ref3;
|
|
261
|
-
|
|
262
221
|
var SBackground = props.Element,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
222
|
+
styles = props.styles,
|
|
223
|
+
scale = props.scale,
|
|
224
|
+
position = props.position,
|
|
225
|
+
value = props.value;
|
|
267
226
|
var positionProps = rectDirection2props[side2direction[position]];
|
|
268
227
|
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBackground, _ref3.cn("SBackground", (0, _objectSpread2["default"])({
|
|
269
228
|
"render": "rect",
|
|
270
229
|
"childrenPosition": "inside"
|
|
271
230
|
}, positionProps(scale, value))));
|
|
272
231
|
}
|
|
273
|
-
|
|
274
232
|
var ReferenceLine = (0, _createElement["default"])(ReferenceLineRoot, {
|
|
275
233
|
Title: Title,
|
|
276
234
|
Background: Background
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferenceLine.js","names":["side2direction","left","right","top","bottom","lineDirection2props","vertical","value","xScale","yScale","yRange","range","x","scaleOfBandwidth","x1","x2","y1","y2","horizontal","xRange","y","rectDirection2props","width","height","titleOffset","titleSideToProps","ReferenceLineRoot","asProps","position","SReferenceLine","Element","title","scale","color","styles","positionProps","sstyled","Component","style","Title","props","STitle","sstyles","sTitleStyles","cn","toFixed","className","Background","SBackground","ReferenceLine","createElement"],"sources":["../../src/ReferenceLine.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { scaleOfBandwidth } from './utils';\n\nimport style from './style/reference-line.shadow.css';\n\nconst side2direction = {\n left: 'vertical',\n right: 'vertical',\n top: 'horizontal',\n bottom: 'horizontal',\n};\n\nconst lineDirection2props = {\n vertical: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n x2: x,\n y1: yRange[0],\n y2: yRange[1],\n };\n },\n horizontal: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n x2: xRange[1],\n y1: y,\n y2: y,\n };\n },\n};\n\nconst rectDirection2props = {\n vertical: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x,\n y: yRange[1],\n width: 100,\n height: yRange[0] - yRange[1],\n };\n },\n horizontal: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: xRange[0],\n y: y,\n width: xRange[1] - xRange[0],\n height: 100,\n };\n },\n};\n\nconst titleOffset = 10;\nconst titleSideToProps = {\n left: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x - titleOffset,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n right: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x + titleOffset,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n top: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: y - titleOffset,\n };\n },\n bottom: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: y + titleOffset,\n };\n },\n};\n\nclass ReferenceLineRoot extends Component {\n static displayName = 'ReferenceLine';\n static style = style;\n static defaultProps = {\n position: 'left',\n };\n\n getTitleProps() {\n const { position, value } = this.asProps;\n return { position, value };\n }\n\n getBackgroundProps() {\n const { position, value } = this.asProps;\n return { position, value };\n }\n\n render() {\n const SReferenceLine = this.Element;\n const { title, scale, position, value, color, styles } = this.asProps;\n const positionProps = lineDirection2props[side2direction[position]];\n\n return sstyled(styles)(\n <>\n <SReferenceLine\n render=\"line\"\n __excludeProps={['data', 'scale', 'format', 'value', 'color']}\n stroke={color}\n {...positionProps(scale, value)}\n />\n {title && <ReferenceLine.Title>{title}</ReferenceLine.Title>}\n </>,\n );\n }\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position, value } = props;\n const { x, y } = titleSideToProps[position](scale, value);\n\n const sstyles = sstyled(styles);\n const sTitleStyles = sstyles.cn('STitle', {\n 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return sstyled(styles)(\n <STitle\n render=\"text\"\n childrenPosition=\"inside\"\n className={sTitleStyles.className}\n style={sTitleStyles.style}\n position={position}\n x={x}\n y={y}\n />,\n );\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, position, value } = props;\n const positionProps = rectDirection2props[side2direction[position]];\n\n return sstyled(styles)(\n <SBackground render=\"rect\" childrenPosition=\"inside\" {...positionProps(scale, value)} />,\n );\n}\n\nconst ReferenceLine = createElement(ReferenceLineRoot, {\n Title,\n Background,\n});\n\nexport default ReferenceLine;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReferenceLine.js","names":["_core","require","_react","_interopRequireDefault","_createElement","_utils","style","sstyled","insert","side2direction","left","right","top","bottom","lineDirection2props","vertical","_ref4","value","_ref5","_slicedToArray2","xScale","yScale","yRange","range","x","scaleOfBandwidth","x1","x2","y1","y2","horizontal","_ref6","_ref7","xRange","y","rectDirection2props","_ref8","_ref9","width","height","_ref10","_ref11","titleOffset","titleSideToProps","_ref12","_ref13","_ref14","_ref15","_ref16","_ref17","_ref18","_ref19","ReferenceLineRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","getTitleProps","_this$asProps","asProps","position","getBackgroundProps","_this$asProps2","render","_ref","SReferenceLine","Element","_this$asProps3","title","scale","color","styles","positionProps","createElement","Fragment","cn","_objectSpread2","ReferenceLine","Title","Component","_defineProperty2","props","_ref2","STitle","_titleSideToProps$pos","sstyles","sTitleStyles","concat","toFixed","className","Background","_ref3","SBackground","_default","exports"],"sources":["../../src/ReferenceLine.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { scaleOfBandwidth } from './utils';\n\nimport style from './style/reference-line.shadow.css';\n\nconst side2direction = {\n left: 'vertical',\n right: 'vertical',\n top: 'horizontal',\n bottom: 'horizontal',\n};\n\nconst lineDirection2props = {\n vertical: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n x2: x,\n y1: yRange[0],\n y2: yRange[1],\n };\n },\n horizontal: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n x2: xRange[1],\n y1: y,\n y2: y,\n };\n },\n};\n\nconst rectDirection2props = {\n vertical: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x,\n y: yRange[1],\n width: 100,\n height: yRange[0] - yRange[1],\n };\n },\n horizontal: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: xRange[0],\n y: y,\n width: xRange[1] - xRange[0],\n height: 100,\n };\n },\n};\n\nconst titleOffset = 10;\nconst titleSideToProps = {\n left: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x - titleOffset,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n right: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x + titleOffset,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n top: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: y - titleOffset,\n };\n },\n bottom: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: y + titleOffset,\n };\n },\n};\n\nclass ReferenceLineRoot extends Component {\n static displayName = 'ReferenceLine';\n static style = style;\n static defaultProps = {\n position: 'left',\n };\n\n getTitleProps() {\n const { position, value } = this.asProps;\n return { position, value };\n }\n\n getBackgroundProps() {\n const { position, value } = this.asProps;\n return { position, value };\n }\n\n render() {\n const SReferenceLine = this.Element;\n const { title, scale, position, value, color, styles } = this.asProps;\n const positionProps = lineDirection2props[side2direction[position]];\n\n return sstyled(styles)(\n <>\n <SReferenceLine\n render=\"line\"\n __excludeProps={['data', 'scale', 'format', 'value', 'color']}\n stroke={color}\n {...positionProps(scale, value)}\n />\n {title && <ReferenceLine.Title>{title}</ReferenceLine.Title>}\n </>,\n );\n }\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position, value } = props;\n const { x, y } = titleSideToProps[position](scale, value);\n\n const sstyles = sstyled(styles);\n const sTitleStyles = sstyles.cn('STitle', {\n 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return sstyled(styles)(\n <STitle\n render=\"text\"\n childrenPosition=\"inside\"\n className={sTitleStyles.className}\n style={sTitleStyles.style}\n position={position}\n x={x}\n y={y}\n />,\n );\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, position, value } = props;\n const positionProps = rectDirection2props[side2direction[position]];\n\n return sstyled(styles)(\n <SBackground render=\"rect\" childrenPosition=\"inside\" {...positionProps(scale, value)} />,\n );\n}\n\nconst ReferenceLine = createElement(ReferenceLineRoot, {\n Title,\n Background,\n});\n\nexport default ReferenceLine;\n"],"mappings":"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"}
|