@semcore/d3-chart 3.0.0-beta.0 → 3.0.0
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 +2 -0
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +8 -8
- package/lib/cjs/Bubble.js +33 -25
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/Donut.js +105 -89
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +9 -9
- package/lib/cjs/HorizontalBar.js +8 -8
- package/lib/cjs/Hover.js +9 -7
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +8 -8
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +22 -21
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +75 -74
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +9 -9
- package/lib/cjs/ResponsiveContainer.js +1 -2
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +29 -21
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/Tooltip.js +24 -13
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +56 -35
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +3 -3
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/createElement.d.js +2 -0
- package/lib/cjs/createElement.d.js.map +1 -0
- package/lib/cjs/types/Bubble.d.js.map +1 -1
- package/lib/cjs/types/Hover.d.js.map +1 -1
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/cjs/types/Tooltip.d.js.map +1 -1
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +8 -8
- package/lib/es6/Bubble.js +35 -26
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/Donut.js +107 -90
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +9 -9
- package/lib/es6/HorizontalBar.js +8 -8
- package/lib/es6/Hover.js +9 -7
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +8 -8
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +22 -21
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +73 -72
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +9 -9
- package/lib/es6/ResponsiveContainer.js +0 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +31 -22
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/Tooltip.js +24 -13
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +58 -36
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +3 -3
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/createElement.d.js +2 -0
- package/lib/es6/createElement.d.js.map +1 -0
- package/lib/es6/types/Bubble.d.js.map +1 -1
- package/lib/es6/types/Hover.d.js.map +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/es6/types/Tooltip.d.js.map +1 -1
- package/lib/es6/types/index.d.js +3 -0
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/Bubble.d.ts +1 -5
- package/lib/types/Hover.d.ts +1 -1
- package/lib/types/Plot.d.ts +3 -5
- package/lib/types/RadialTree.d.ts +14 -14
- package/lib/types/Tooltip.d.ts +2 -2
- package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
- package/lib/types/a11y/focus.d.ts +1 -1
- package/lib/types/a11y/hints.d.ts +5 -5
- package/lib/types/a11y/insights.d.ts +8 -8
- package/lib/types/a11y/intl.d.ts +1 -1
- package/lib/types/a11y/locale.d.ts +1 -1
- package/lib/types/a11y/serialize.d.ts +4 -4
- package/lib/types/a11y/summarize.d.ts +1 -1
- package/lib/types/createElement.d.ts +2 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/utils.d.ts +7 -6
- package/package.json +10 -10
package/lib/es6/Hover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hover.js","names":["React","Component","sstyled","Root","canUseDOM","trottle","createElement","scaleOfBandwidth","getIndexFromData","eventToPoint","invert","CONSTANT","style","_sstyled","insert","Tooltip","Hover","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","xIndex","yIndex","document","e","_this$asProps","asProps","eventEmitter","data","scale","x","y","rootRef","clientX","clientY","_scale","_slicedToArray","xScale","yScale","_eventToPoint","current","_eventToPoint2","pX","pY","vX","vY","undefined","state","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","setState","emit","_createClass","key","value","width","height","top","right","bottom","left","componentDidMount","_this2","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","componentWillUnmount","HoverLineRoot","_Hover","_super2","render","_ref3","SHoverLine","Element","_this$asProps2","styles","_this$state","_scale2","xRange","range","yRange","x1","y1","Fragment","cn","HoverRectRoot","_Hover2","_super3","_ref4","SHoverRect","_this$asProps3","_this$state2","_scale3","step","paddingInner","HoverLineTooltip","props","_ref","arguments[0]","_ref5","SHoverLineTooltip","_objectSpread","_assignProps","HoverLine","HoverRectTooltip","_ref2","_ref6","SHoverRectTooltip","_assignProps2","HoverRect","_______childrenComponents"],"sources":["../../src/Hover.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';\n\nimport style from './style/hover.shadow.css';\nimport Tooltip from './Tooltip';\n\nclass Hover extends Component {\n static style = style;\n\n state = {\n xIndex: null,\n yIndex: null,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const { clientX, clientY } = e;\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const vY = invert(yScale, pY);\n const xIndex =\n x === undefined || vX === undefined ? null : getIndexFromData(data, xScale, x, vX);\n const yIndex =\n y === undefined || vY === undefined ? null : getIndexFromData(data, yScale, y, vY);\n const state = { xIndex, yIndex };\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n state,\n this.virtualElement,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n const state = {\n xIndex: null,\n yIndex: null,\n };\n this.setState(state, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, state);\n });\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n}\n\nclass HoverLineRoot extends Hover {\n static displayName = 'HoverLine';\n\n render() {\n const SHoverLine = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n const x1 = xIndex !== null ? scaleOfBandwidth(xScale, data[xIndex][x]) : undefined;\n const y1 = yIndex !== null ? scaleOfBandwidth(yScale, data[yIndex][y]) : undefined;\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverLine\n aria-hidden\n render='line'\n index={xIndex}\n x1={x1}\n y1={yRange[0]}\n x2={x1}\n y2={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverLine\n aria-hidden\n render='line'\n index={yIndex}\n x1={xRange[0]}\n y1={y1}\n x2={xRange[1]}\n y2={y1}\n />\n ) : null}\n </>,\n );\n }\n}\n\nclass HoverRectRoot extends Hover {\n static displayName = 'HoverRect';\n\n render() {\n const SHoverRect = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverRect\n aria-hidden\n render='rect'\n index={xIndex}\n width={xScale.step() - xScale.paddingInner() / 2}\n height={yRange[0] - yRange[1]}\n x={xScale(data[xIndex][x]) - (xScale.step() * xScale.paddingInner()) / 2}\n y={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverRect\n aria-hidden\n render='rect'\n index={yIndex}\n width={xRange[1] - xRange[0]}\n height={yScale.step() - yScale.paddingInner() / 2}\n x={xRange[0]}\n y={yScale(data[yIndex][y]) - (yScale.step() * yScale.paddingInner()) / 2}\n />\n ) : null}\n </>,\n );\n }\n}\n\nconst HoverLineTooltip = (props) => {\n const SHoverLineTooltip = Root;\n return sstyled(props.styles)(<SHoverLineTooltip render={Tooltip} tag={HoverLine} />);\n};\nconst HoverRectTooltip = (props) => {\n const SHoverRectTooltip = Root;\n return sstyled(props.styles)(<SHoverRectTooltip render={Tooltip} tag={HoverRect} />);\n};\n\nconst HoverLine = createElement(HoverLineRoot, {\n Tooltip: [HoverLineTooltip, Tooltip._______childrenComponents],\n});\nconst HoverRect = createElement(HoverRectRoot, {\n Tooltip: [HoverRectTooltip, Tooltip._______childrenComponents],\n});\n\nexport { HoverLine, HoverRect };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Hover.js","names":["React","Component","sstyled","Root","canUseDOM","trottle","createElement","scaleOfBandwidth","getIndexFromData","eventToPoint","invert","CONSTANT","style","_sstyled","insert","Tooltip","Hover","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","xIndex","yIndex","document","e","_this$asProps","asProps","eventEmitter","data","scale","x","y","rootRef","clientX","clientY","_scale","_slicedToArray","xScale","yScale","_eventToPoint","current","_eventToPoint2","pX","pY","vX","vY","undefined","state","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","setState","emit","_createClass","key","value","width","height","top","right","bottom","left","componentDidMount","_this2","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","componentWillUnmount","HoverLineRoot","_Hover","_super2","render","_ref3","SHoverLine","Element","_this$asProps2","styles","_this$state","_scale2","xRange","range","yRange","x1","y1","Fragment","cn","HoverRectRoot","_Hover2","_super3","_ref4","SHoverRect","_this$asProps3","_this$state2","_scale3","step","paddingInner","HoverLineTooltip","props","_ref","arguments[0]","_ref5","SHoverLineTooltip","_objectSpread","_assignProps","HoverLine","HoverRectTooltip","_ref2","_ref6","SHoverRectTooltip","_assignProps2","HoverRect","_______childrenComponents"],"sources":["../../src/Hover.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';\n\nimport style from './style/hover.shadow.css';\nimport Tooltip from './Tooltip';\n\nclass Hover extends Component {\n static style = style;\n\n state = {\n xIndex: null,\n yIndex: null,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const { clientX, clientY } = e;\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const vY = invert(yScale, pY);\n const xIndex =\n x === undefined || vX === undefined ? null : getIndexFromData(data, xScale, x, vX);\n const yIndex =\n y === undefined || vY === undefined ? null : getIndexFromData(data, yScale, y, vY);\n const state = { xIndex, yIndex };\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n {},\n state,\n this.virtualElement,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n const state = {\n xIndex: null,\n yIndex: null,\n };\n this.setState(state, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, {}, state);\n });\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n}\n\nclass HoverLineRoot extends Hover {\n static displayName = 'HoverLine';\n\n render() {\n const SHoverLine = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n const x1 = xIndex !== null ? scaleOfBandwidth(xScale, data[xIndex][x]) : undefined;\n const y1 = yIndex !== null ? scaleOfBandwidth(yScale, data[yIndex][y]) : undefined;\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverLine\n aria-hidden\n render='line'\n index={xIndex}\n x1={x1}\n y1={yRange[0]}\n x2={x1}\n y2={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverLine\n aria-hidden\n render='line'\n index={yIndex}\n x1={xRange[0]}\n y1={y1}\n x2={xRange[1]}\n y2={y1}\n />\n ) : null}\n </>,\n );\n }\n}\n\nclass HoverRectRoot extends Hover {\n static displayName = 'HoverRect';\n\n render() {\n const SHoverRect = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverRect\n aria-hidden\n render='rect'\n index={xIndex}\n width={xScale.step() - xScale.paddingInner() / 2}\n height={yRange[0] - yRange[1]}\n x={xScale(data[xIndex][x]) - (xScale.step() * xScale.paddingInner()) / 2}\n y={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverRect\n aria-hidden\n render='rect'\n index={yIndex}\n width={xRange[1] - xRange[0]}\n height={yScale.step() - yScale.paddingInner() / 2}\n x={xRange[0]}\n y={yScale(data[yIndex][y]) - (yScale.step() * yScale.paddingInner()) / 2}\n />\n ) : null}\n </>,\n );\n }\n}\n\nconst HoverLineTooltip = (props) => {\n const SHoverLineTooltip = Root;\n return sstyled(props.styles)(\n <SHoverLineTooltip render={Tooltip} tag={HoverLine} excludeAnchorProps />,\n );\n};\nconst HoverRectTooltip = (props) => {\n const SHoverRectTooltip = Root;\n return sstyled(props.styles)(\n <SHoverRectTooltip render={Tooltip} tag={HoverRect} excludeAnchorProps />,\n );\n};\n\nconst HoverLine = createElement(HoverLineRoot, {\n Tooltip: [HoverLineTooltip, Tooltip._______childrenComponents],\n});\nconst HoverRect = createElement(HoverRectRoot, {\n Tooltip: [HoverRectTooltip, Tooltip._______childrenComponents],\n});\n\nexport { HoverLine, HoverRect };\n"],"mappings":"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"}
|
package/lib/es6/Line.js
CHANGED
|
@@ -14,14 +14,14 @@ import { definedData, definedNullData, scaleOfBandwidth, getNullData } from './u
|
|
|
14
14
|
import Dots from './Dots';
|
|
15
15
|
import ClipPath from './ClipPath';
|
|
16
16
|
/*__reshadow-styles__:"./style/line.shadow.css"*/
|
|
17
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
18
|
-
"__SLine": "
|
|
19
|
-
"--duration": "--
|
|
20
|
-
"_color": "
|
|
21
|
-
"--color": "--
|
|
22
|
-
"_hide": "
|
|
23
|
-
"_transparent": "
|
|
24
|
-
"__SNull": "
|
|
17
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SLine_1snle_gg_{fill:transparent;stroke-width:3;stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:d;transition-duration:var(--duration_1snle);transition-timing-function:ease-in-out}.___SLine_1snle_gg_.__color_1snle_gg_{stroke:var(--color_1snle)}.___SLine_1snle_gg_.__hide_1snle_gg_{display:none}.___SLine_1snle_gg_.__transparent_1snle_gg_{opacity:.3}.___SNull_1snle_gg_{fill:transparent;stroke:var(--intergalactic-border-primary, #c4c7cf);stroke-dasharray:4}.___SNull_1snle_gg_.__hide_1snle_gg_{display:none}" /*__inner_css_end__*/, "1snle_gg_") /*__reshadow_css_end__*/, {
|
|
18
|
+
"__SLine": "___SLine_1snle_gg_",
|
|
19
|
+
"--duration": "--duration_1snle",
|
|
20
|
+
"_color": "__color_1snle_gg_",
|
|
21
|
+
"--color": "--color_1snle",
|
|
22
|
+
"_hide": "__hide_1snle_gg_",
|
|
23
|
+
"_transparent": "__transparent_1snle_gg_",
|
|
24
|
+
"__SNull": "___SNull_1snle_gg_"
|
|
25
25
|
});
|
|
26
26
|
var LineRoot = /*#__PURE__*/function (_Component) {
|
|
27
27
|
_inherits(LineRoot, _Component);
|
package/lib/es6/Plot.js
CHANGED
|
@@ -17,9 +17,9 @@ import { eventToPoint, uniqueId } from './utils';
|
|
|
17
17
|
import { PlotA11yModule } from './a11y/PlotA11yModule';
|
|
18
18
|
import { makeDataHintsHandlers, makeDataHintsContainer } from './a11y/hints';
|
|
19
19
|
/*__reshadow-styles__:"./style/plot.shadow.css"*/
|
|
20
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
21
|
-
"__SPlot": "
|
|
22
|
-
"_keyboardFocused": "
|
|
20
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPlot_43qck_gg_{overflow:hidden}.___SPlot_43qck_gg_:active,.___SPlot_43qck_gg_:focus{outline:0;text-decoration:none}foreignObject[data-aria-only]{pointer-events:none}.___SPlot_43qck_gg_.__keyboardFocused_43qck_gg_{border:1px solid var(--intergalactic-chart-palette-order-9, #008ff8);box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}" /*__inner_css_end__*/, "43qck_gg_") /*__reshadow_css_end__*/, {
|
|
21
|
+
"__SPlot": "___SPlot_43qck_gg_",
|
|
22
|
+
"_keyboardFocused": "__keyboardFocused_43qck_gg_"
|
|
23
23
|
});
|
|
24
24
|
var PlotRoot = /*#__PURE__*/function (_Component) {
|
|
25
25
|
_inherits(PlotRoot, _Component);
|
package/lib/es6/Radar.js
CHANGED
|
@@ -21,23 +21,23 @@ import createElement from './createElement';
|
|
|
21
21
|
import { CONSTANT, eventToPoint, measureText } from './utils';
|
|
22
22
|
import Tooltip from './Tooltip';
|
|
23
23
|
/*__reshadow-styles__:"./style/radar.shadow.css"*/
|
|
24
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
25
|
-
"__SAxis": "
|
|
26
|
-
"__SAxisLine": "
|
|
27
|
-
"__SAxisTick": "
|
|
28
|
-
"_active": "
|
|
29
|
-
"__SAxisLabel": "
|
|
30
|
-
"_xDirection": "
|
|
31
|
-
"--xDirection": "--
|
|
32
|
-
"_yDirection": "
|
|
33
|
-
"--yDirection": "--
|
|
34
|
-
"__SPolygon": "
|
|
35
|
-
"_color": "
|
|
36
|
-
"--color": "--
|
|
37
|
-
"__SPolygonDot": "
|
|
38
|
-
"_transparent": "
|
|
39
|
-
"__SPolygonLine": "
|
|
40
|
-
"__SPieRect": "
|
|
24
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SAxisLine_aob9m_gg_,.___SAxisTick_aob9m_gg_,.___SAxis_aob9m_gg_{stroke:var(--intergalactic-chart-grid-line, #e0e1e9);stroke-width:1;fill:transparent}.___SAxisLine_aob9m_gg_,.___SAxisTick_aob9m_gg_{stroke-dasharray:2}.___SAxisLine_aob9m_gg_.__active_aob9m_gg_{stroke:var(--intergalactic-chart-grid-y-accent-hover-line, #a9abb6)}.___SAxisLabel_aob9m_gg_{text-anchor:middle;dominant-baseline:central;font-size:12px}.___SAxisLabel_aob9m_gg_.__xDirection_aob9m_gg_{text-anchor:var(--xDirection_aob9m)}.___SAxisLabel_aob9m_gg_.__yDirection_aob9m_gg_{dominant-baseline:var(--yDirection_aob9m)}.___SPolygonDot_aob9m_gg_,.___SPolygon_aob9m_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPolygon_aob9m_gg_{opacity:.2}.___SPolygon_aob9m_gg_.__color_aob9m_gg_{fill:var(--color_aob9m)}.___SPolygonDot_aob9m_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px}.___SPolygonDot_aob9m_gg_.__transparent_aob9m_gg_{opacity:.3}.___SPolygonDot_aob9m_gg_.__color_aob9m_gg_{fill:var(--color_aob9m)}.___SPolygonLine_aob9m_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SPolygonLine_aob9m_gg_.__transparent_aob9m_gg_{opacity:.3}.___SPolygonLine_aob9m_gg_.__color_aob9m_gg_{stroke:var(--color_aob9m)}.___SPieRect_aob9m_gg_{fill:var(--intergalactic-chart-grid-bar-chart-hover, rgba(196, 199, 207, 0.3))}" /*__inner_css_end__*/, "aob9m_gg_") /*__reshadow_css_end__*/, {
|
|
25
|
+
"__SAxis": "___SAxis_aob9m_gg_",
|
|
26
|
+
"__SAxisLine": "___SAxisLine_aob9m_gg_",
|
|
27
|
+
"__SAxisTick": "___SAxisTick_aob9m_gg_",
|
|
28
|
+
"_active": "__active_aob9m_gg_",
|
|
29
|
+
"__SAxisLabel": "___SAxisLabel_aob9m_gg_",
|
|
30
|
+
"_xDirection": "__xDirection_aob9m_gg_",
|
|
31
|
+
"--xDirection": "--xDirection_aob9m",
|
|
32
|
+
"_yDirection": "__yDirection_aob9m_gg_",
|
|
33
|
+
"--yDirection": "--yDirection_aob9m",
|
|
34
|
+
"__SPolygon": "___SPolygon_aob9m_gg_",
|
|
35
|
+
"_color": "__color_aob9m_gg_",
|
|
36
|
+
"--color": "--color_aob9m",
|
|
37
|
+
"__SPolygonDot": "___SPolygonDot_aob9m_gg_",
|
|
38
|
+
"_transparent": "__transparent_aob9m_gg_",
|
|
39
|
+
"__SPolygonLine": "___SPolygonLine_aob9m_gg_",
|
|
40
|
+
"__SPieRect": "___SPieRect_aob9m_gg_"
|
|
41
41
|
});
|
|
42
42
|
var clampAngle = function clampAngle(angle) {
|
|
43
43
|
angle = angle % (2 * Math.PI);
|
|
@@ -387,7 +387,7 @@ var AxisRoot = /*#__PURE__*/function (_Component3) {
|
|
|
387
387
|
_defineProperty(_assertThisInitialized(_this2), "state", {
|
|
388
388
|
activeLineIndex: null
|
|
389
389
|
});
|
|
390
|
-
_defineProperty(_assertThisInitialized(_this2), "handlerTooltipVisible", function (
|
|
390
|
+
_defineProperty(_assertThisInitialized(_this2), "handlerTooltipVisible", function (_visible, _anchorProps, _ref17) {
|
|
391
391
|
var index = _ref17.index;
|
|
392
392
|
_this2.setState({
|
|
393
393
|
activeLineIndex: index
|
|
@@ -629,7 +629,7 @@ var Hover = /*#__PURE__*/function (_Component4) {
|
|
|
629
629
|
_this3.setState({
|
|
630
630
|
index: index
|
|
631
631
|
}, function () {
|
|
632
|
-
eventEmitter.emit('onTooltipVisible', index !== null, {
|
|
632
|
+
eventEmitter.emit('onTooltipVisible', index !== null, {}, {
|
|
633
633
|
index: index
|
|
634
634
|
}, _this3.virtualElement);
|
|
635
635
|
});
|
|
@@ -638,7 +638,7 @@ var Hover = /*#__PURE__*/function (_Component4) {
|
|
|
638
638
|
_this3.setState({
|
|
639
639
|
index: null
|
|
640
640
|
}, function () {
|
|
641
|
-
_this3.asProps.eventEmitter.emit('onTooltipVisible', false, {
|
|
641
|
+
_this3.asProps.eventEmitter.emit('onTooltipVisible', false, {}, {
|
|
642
642
|
index: null
|
|
643
643
|
});
|
|
644
644
|
});
|
|
@@ -787,7 +787,8 @@ var RadarTooltip = function RadarTooltip(props) {
|
|
|
787
787
|
_ref11;
|
|
788
788
|
var SRadarTooltip = Tooltip;
|
|
789
789
|
return _ref11 = sstyled(props.styles), /*#__PURE__*/React.createElement(SRadarTooltip, _ref11.cn("SRadarTooltip", _objectSpread({}, _assignProps({
|
|
790
|
-
"tag": Radar.Hover
|
|
790
|
+
"tag": Radar.Hover,
|
|
791
|
+
"excludeAnchorProps": true
|
|
791
792
|
}, _ref))));
|
|
792
793
|
};
|
|
793
794
|
var Radar = createElement(RadarRoot, {
|
package/lib/es6/Radar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radar.js","names":["React","cloneElement","Component","sstyled","Root","uniqueIDEnhancement","getOriginChildren","trottle","canUseDOM","polygonContains","line","lineRadial","curveLinearClosed","arc","createElement","CONSTANT","eventToPoint","measureText","Tooltip","style","_sstyled","insert","clampAngle","angle","Math","PI","getBoxAxesValue","i","range","axes","total","angleOffset","func","sin","cos","getRadianPosition","getLabelXPlacement","getLabelYPlacement","getLabelPlacement","computeTextWidth","texts","textSize","defaultWidth","arguments","length","undefined","defaultHeight","widths","map","text","isValidElement","_text$props","_text$props2","max","props","width","height","apply","_toConsumableArray","getTicks","tickSize","radius","ticks","trunc","Array","keys","reduce","t","push","pieContains","_ref12","_ref13","_ref14","_slicedToArray","startAngle","endAngle","_ref15","x","y","distance","sqrt","pow","atan2","prevAngle","nextAngle","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","concat","MINIMUM_OFFSET","RadarRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","_key","call","_defineProperty","_assertThisInitialized","_createClass","key","get","_this$asProps","asProps","id","uid","offset","computeOffset","value","getAxisProps","type","getPolygonProps","_ref16","dataKey","_this$asProps2","data","scale","getHoverProps","categories","categoriesKey","render","_ref2","SRadar","Element","_this$asProps3","Children","styles","size","_size","dataHintsHandler","establishDataType","toArray","forEach","child","Radar","Axis","cn","PolygonRoot","_Component2","_super2","getDotsProps","_this$asProps4","color","transparent","categoryKey","getLineProps","_this$asProps5","d3","_ref3","_this$asProps6","SPolygon","fill","_ref21","_ref21$curve","curve","min","d","PolygonLine","_ref4","SPolygonLine","PolygonDots","SPolygonDot","_ref5","describeGroupedValues","_getRadianPosition","_getRadianPosition2","cx","cy","AxisRoot","_Component3","_super3","_this2","_len2","_key2","activeLineIndex","visible","_ref17","index","setState","createLineRadial","getTicksProps","_ref18","_ref18$tickSize","_this$asProps7","getLabelsProps","_ref19","_ref19$labelOffset","labelOffset","_this$asProps8","componentDidMount","eventEmitter","unsubscribeTooltipVisible","subscribe","handlerTooltipVisible","componentWillUnmount","_ref6","_this$asProps9","SAxis","state","Fragment","category","_getRadianPosition3","_getRadianPosition4","_sstyled$cn","active","className","x1","y1","x2","y2","_ref22","AxisTicks","SAxisTick","tick","_ref7","AxisLabels","SAxisLabel","_getRadianPosition5","_getRadianPosition6","_getLabelPlacement","_getLabelPlacement2","_ref8","labelKey","lines","split","lineText","lineIndex","_category$props","_ref20","_ref20$width","_ref20$height","_getLabelOffsetPositi","_getLabelOffsetPositi2","Hover","_Component4","_super4","_this3","_len3","_key3","document","e","_this3$asProps","rootRef","point","current","diam","centerX","centerY","clientX","clientY","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","getIndex","emit","top","right","bottom","left","getPolygon","_this$asProps10","prevIndex","nextIndex","_getRadianPosition7","_getRadianPosition8","prevX1","prevY1","_getRadianPosition9","_getRadianPosition10","_getRadianPosition11","_getRadianPosition12","nextX1","nextY1","getPie","_this$asProps11","_this4","_this$asProps12","findIndex","c","_this5","unsubscribeMouseMoveRoot","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","_this$asProps13","SPieRect","_ref9","_this$getPie","_this$getPie2","circle","innerRadius","outerRadius","_ref10","Ticks","Labels","Polygon","Line","Dots","RadarTooltip","_ref","arguments[0]","_ref11","SRadarTooltip","_objectSpread","_assignProps","_______childrenComponents"],"sources":["../../src/Radar.jsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { polygonContains } from 'd3-polygon';\nimport { line, lineRadial, curveLinearClosed, arc } from 'd3-shape';\nimport createElement from './createElement';\nimport { CONSTANT, eventToPoint, measureText } from './utils';\nimport Tooltip from './Tooltip';\n\nimport style from './style/radar.shadow.css';\n\nconst clampAngle = (angle) => {\n angle = angle % (2 * Math.PI);\n if (angle < 0) angle += 2 * Math.PI;\n return angle;\n};\n\nfunction getBoxAxesValue(i, range, axes, total, angleOffset) {\n const func = axes === 'y' ? Math.sin : Math.cos;\n\n const angle = clampAngle(((total - i) * 2 * Math.PI) / total + angleOffset);\n return range * (1 - func(angle)) - range;\n}\n\nfunction getRadianPosition(i, range, total, angleOffset) {\n return [\n getBoxAxesValue(i, range, 'y', total, angleOffset),\n getBoxAxesValue(i, range, 'x', total, angleOffset),\n ];\n}\n\nconst getLabelXPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'middle';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'middle';\n\n return angle < Math.PI ? 'start' : 'end';\n};\nconst getLabelYPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'alphabetic';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'mathematical';\n\n return 'middle';\n};\n\nfunction getLabelPlacement(i, total, angleOffset) {\n return [getLabelXPlacement(i, total, angleOffset), getLabelYPlacement(i, total, angleOffset)];\n}\n\nfunction computeTextWidth(texts, textSize, defaultWidth = 50, defaultHeight = 20) {\n const widths = texts.map((text) => {\n if (typeof text === 'string') {\n return measureText(text, textSize);\n }\n if (React.isValidElement(text)) {\n // @ts-ignore\n return Math.max(text.props?.width || defaultWidth, text.props?.height || defaultHeight);\n }\n return defaultWidth;\n });\n return Math.max(...widths);\n}\n\nfunction getTicks(tickSize, radius) {\n let ticks = 0;\n while (Math.trunc(radius / (tickSize / 2)) > ticks) {\n ticks += 1;\n }\n return [...Array(ticks).keys()].reduce((ticks, t, i, total) => {\n if (i) ticks.push(i / total.length);\n return ticks;\n }, []);\n}\n\nfunction pieContains([startAngle, endAngle, radius], [x, y]) {\n const distance = Math.sqrt(x ** 2 + y ** 2);\n if (distance > radius) return false;\n\n startAngle = clampAngle(startAngle);\n endAngle = clampAngle(endAngle);\n startAngle = startAngle < endAngle ? startAngle : startAngle - 2 * Math.PI;\n\n const angle = clampAngle(Math.atan2(y, x) + Math.PI / 2);\n const prevAngle = angle - Math.PI * 2;\n const nextAngle = angle + Math.PI * 2;\n\n if (angle > startAngle && angle < endAngle) return true;\n if (prevAngle > startAngle && prevAngle < endAngle) return true;\n if (nextAngle > startAngle && nextAngle < endAngle) return true;\n return false;\n}\n\nexport function getLabelOffsetPosition(xDirection, yDirection, width, height) {\n let xOffset = 0;\n let yOffset = 0;\n switch (`${xDirection}-${yDirection}`) {\n case 'middle-alphabetic':\n yOffset = height / 2;\n break;\n case 'start-middle':\n xOffset = -width / 2;\n break;\n case 'middle-mathematical':\n yOffset = -height / 2;\n break;\n case 'end-middle':\n xOffset = width / 2;\n break;\n }\n return [xOffset + width / 2, yOffset + height / 2];\n}\n\nconst MINIMUM_OFFSET = 5;\n\nclass RadarRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n computeOffset = 0;\n\n categoriesKey = null;\n\n static defaultProps = {\n type: 'polygon',\n angleOffset: 0,\n };\n\n get id() {\n const { id, uid } = this.asProps;\n return id || uid;\n }\n\n get offset() {\n const { offset } = this.asProps;\n return offset ?? this.computeOffset;\n }\n\n get textSize() {\n const { textSize } = this.asProps;\n return textSize ?? 12;\n }\n\n getAxisProps() {\n return {\n offset: this.offset,\n textSize: this.textSize,\n type: this.asProps.type,\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n getPolygonProps({ dataKey }) {\n const { data, scale, angleOffset } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n angleOffset,\n };\n }\n\n getHoverProps() {\n return {\n type: this.asProps.type,\n offset: this.offset,\n categories: this.asProps.data[this.categoriesKey],\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n render() {\n const SRadar = this.Element;\n const { Children, styles, size, data, offset } = this.asProps;\n const [width, height] = size;\n\n this.asProps.dataHintsHandler.establishDataType('indexed-groups');\n\n let dataKey;\n React.Children.toArray(getOriginChildren(Children)).forEach((child) => {\n if (React.isValidElement(child) && child.type === Radar.Axis) {\n dataKey = child.props.dataKey;\n }\n });\n if (dataKey) {\n if (offset === undefined) {\n // +5 because font might not be loaded and just in case)\n this.computeOffset = computeTextWidth(data[dataKey], this.textSize) + MINIMUM_OFFSET;\n }\n this.categoriesKey = dataKey;\n }\n\n return sstyled(styles)(\n <SRadar\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / 2})`}\n />,\n );\n }\n}\n\nclass PolygonRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ scale, curve = curveLinearClosed, size, offset, angleOffset }) => {\n scale.range([0, Math.min(size[0], size[1]) / 2 - offset]);\n\n return {\n d3: lineRadial()\n .curve(curve)\n .radius((d) => {\n return scale(d || 0);\n })\n .angle((d, i, data) => {\n return (i / data.length) * 2 * Math.PI - angleOffset;\n }),\n };\n };\n\n getDotsProps() {\n const { data, scale, color, transparent, dataKey, dataHintsHandler, angleOffset } =\n this.asProps;\n return {\n data,\n scale,\n color,\n transparent,\n categoryKey: dataKey,\n dataHintsHandler,\n angleOffset,\n };\n }\n\n getLineProps() {\n const { d3, data, color, transparent } = this.asProps;\n return {\n data,\n color,\n transparent,\n d3,\n };\n }\n\n render() {\n const { Element: SPolygon, styles, d3, data, color, fill } = this.asProps;\n return sstyled(styles)(<SPolygon render='path' d={d3(data)} color={fill || color} />);\n }\n}\n\nfunction PolygonLine(props) {\n const { Element: SPolygonLine, styles, d3, color, data, transparent } = props;\n return sstyled(styles)(\n <SPolygonLine render='path' d={d3(data)} color={color} transparent={transparent} />,\n );\n}\n\nfunction PolygonDots(props) {\n const {\n Element: SPolygonDot,\n styles,\n color,\n data,\n scale,\n transparent,\n categoryKey,\n angleOffset,\n } = props;\n return data.map((value, i) => {\n if (value === null || value === undefined) return;\n const radius = scale(value);\n props.dataHintsHandler.describeGroupedValues(categoryKey, `${categoryKey}.${i}`);\n const [cx, cy] = getRadianPosition(i, radius, data.length, angleOffset);\n return sstyled(styles)(\n <SPolygonDot\n key={i}\n render='circle'\n cx={cx}\n cy={cy}\n color={color}\n transparent={transparent}\n />,\n );\n });\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ data, dataKey }) => {\n const categories = data[dataKey];\n return {\n categories,\n };\n };\n\n unsubscribeTooltipVisible = null;\n\n state = {\n activeLineIndex: null,\n };\n\n createLineRadial(radius, total) {\n return lineRadial()\n .curve(curveLinearClosed)\n .radius(() => {\n return radius;\n })\n .angle((d, i) => {\n return (i / total) * 2 * Math.PI;\n });\n }\n\n getTicksProps({ tickSize = 100 }) {\n const { data, offset, categories, size, type } = this.asProps;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return {\n type,\n data,\n categories,\n ticks: getTicks(tickSize, radius),\n offset,\n d3: this.createLineRadial(radius, categories.length),\n };\n }\n\n getLabelsProps({ labelOffset = 10 }) {\n const { offset, categories, textSize, angleOffset } = this.asProps;\n return {\n categories,\n textSize,\n offset: offset - labelOffset,\n angleOffset,\n };\n }\n\n handlerTooltipVisible = (visible, { index }) => {\n this.setState({\n activeLineIndex: index,\n });\n };\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'onTooltipVisible',\n this.handlerTooltipVisible,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeTooltipVisible) {\n this.unsubscribeTooltipVisible();\n }\n }\n\n render() {\n const { Element: SAxis, styles, categories, size, offset, type, angleOffset } = this.asProps;\n const { activeLineIndex } = this.state;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n const total = categories.length;\n\n return sstyled(styles)(\n <>\n {type === 'circle' ? (\n <SAxis render='circle' cx={0} cy={0} r={radius} />\n ) : (\n <SAxis render='path' d={this.createLineRadial(radius, total)(categories)} />\n )}\n {categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, total, angleOffset);\n const { className } = sstyled(styles).cn('SAxisLine', {\n active: activeLineIndex === i,\n });\n return <line key={i} x1={0} y1={0} x2={x} y2={y} className={className} />;\n })}\n </>,\n );\n }\n}\n\nfunction AxisTicks(props) {\n const { Element: SAxisTick, styles, size, ticks, d3, categories, offset, type } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return ticks.map((tick, i) => {\n d3.radius(() => radius * tick);\n return sstyled(styles)(\n type === 'circle' ? (\n <SAxisTick key={i} render='circle' cx={0} cy={0} r={radius * tick} />\n ) : (\n <SAxisTick render='path' key={i} d={d3(categories)} />\n ),\n );\n });\n}\n\nfunction AxisLabels(props) {\n const { Element: SAxisLabel, styles, textSize, size, offset, categories, angleOffset } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, categories.length, angleOffset);\n const [xDirection, yDirection] = getLabelPlacement(i, categories.length, angleOffset);\n if (typeof category === 'string') {\n props.dataHintsHandler.labelKey('value', i, category);\n\n const lines = category.split('\\n');\n return sstyled(styles)(\n <SAxisLabel\n key={i}\n render='text'\n childrenPosition='inside'\n x={x}\n y={y}\n xDirection={xDirection}\n yDirection={yDirection}\n >\n {lines.map((lineText, lineIndex) => (\n <tspan\n x={x}\n y={y + (lineIndex - (lines.length - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </tspan>\n ))}\n </SAxisLabel>,\n );\n }\n if (React.isValidElement(category)) {\n const { width = 0, height = 0 } = category?.props ?? {};\n const [xOffset, yOffset] = getLabelOffsetPosition(xDirection, yDirection, width, height);\n return cloneElement(category, {\n key: i,\n x: x - xOffset,\n y: y - yOffset,\n });\n }\n });\n}\n\nclass Hover extends Component {\n state = {\n index: null,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n unsubscribeMouseMoveRoot = null;\n unsubscribeMouseLeaveRoot = null;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getPolygon(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const total = categories.length;\n const diam = Math.min(size[0], size[1]);\n const radius = diam / 2 - offset;\n const prevIndex = (index - 1 + total) % total;\n const nextIndex = (index + 1 + total) % total;\n const [prevX1, prevY1] = getRadianPosition(prevIndex, radius, total, angleOffset);\n const [x, y] = getRadianPosition(index, radius, total, angleOffset);\n const [nextX1, nextY1] = getRadianPosition(nextIndex, radius, total, angleOffset);\n return [\n [0, 0],\n [(prevX1 + x) / 2, (prevY1 + y) / 2],\n [x, y],\n [(nextX1 + x) / 2, (nextY1 + y) / 2],\n ];\n }\n\n getPie(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const angle = (Math.PI * 2) / categories.length;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return [\n index * angle - angle / 2 - angleOffset,\n (index + 1) * angle - angle / 2 - angleOffset,\n radius,\n ];\n }\n\n getIndex(point) {\n const { categories, type } = this.asProps;\n let index;\n if (type === 'circle') {\n index = categories.findIndex((c, i) => pieContains(this.getPie(i), point));\n } else {\n index = categories.findIndex((c, i) => polygonContains(this.getPolygon(i), point));\n }\n return index === -1 ? null : index;\n }\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, size, rootRef } = this.asProps;\n const point = eventToPoint(e, rootRef.current);\n const diam = Math.min(size[0], size[1]);\n const centerX = point[0] - diam / 2;\n const centerY = point[1] - diam / 2;\n const { clientX, clientY } = e;\n // @ts-ignore\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n const index = this.getIndex([centerX, centerY]);\n\n this.setState(\n {\n index,\n },\n () => {\n eventEmitter.emit('onTooltipVisible', index !== null, { index }, this.virtualElement);\n },\n );\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n this.setState(\n {\n index: null,\n },\n () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, { index: null });\n },\n );\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveRoot', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveRoot',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n\n render() {\n const { styles, type } = this.asProps;\n const { index } = this.state;\n const SPieRect = this.Element;\n\n if (index !== null) {\n if (type === 'circle') {\n const [startAngle, endAngle, radius] = this.getPie(index);\n const circle = arc()\n .innerRadius(0)\n .outerRadius(radius)\n .startAngle(startAngle)\n .endAngle(endAngle);\n return sstyled(styles)(\n <SPieRect\n render='path'\n // @ts-ignore\n d={circle()}\n />,\n );\n } else {\n return sstyled(styles)(\n <SPieRect\n render='path'\n // @ts-ignore\n d={line()(this.getPolygon(index))}\n />,\n );\n }\n }\n\n return null;\n }\n}\n\nconst Axis = createElement(AxisRoot, {\n Ticks: AxisTicks,\n Labels: AxisLabels,\n});\n\nconst Polygon = createElement(PolygonRoot, {\n Line: PolygonLine,\n Dots: PolygonDots,\n});\n\nconst RadarTooltip = (props) => {\n const SRadarTooltip = Root;\n return sstyled(props.styles)(<SRadarTooltip render={Tooltip} tag={Radar.Hover} />);\n};\n\nconst Radar = createElement(RadarRoot, {\n Axis,\n Polygon,\n Hover,\n Tooltip: [RadarTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Radar;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Radar.js","names":["React","cloneElement","Component","sstyled","Root","uniqueIDEnhancement","getOriginChildren","trottle","canUseDOM","polygonContains","line","lineRadial","curveLinearClosed","arc","createElement","CONSTANT","eventToPoint","measureText","Tooltip","style","_sstyled","insert","clampAngle","angle","Math","PI","getBoxAxesValue","i","range","axes","total","angleOffset","func","sin","cos","getRadianPosition","getLabelXPlacement","getLabelYPlacement","getLabelPlacement","computeTextWidth","texts","textSize","defaultWidth","arguments","length","undefined","defaultHeight","widths","map","text","isValidElement","_text$props","_text$props2","max","props","width","height","apply","_toConsumableArray","getTicks","tickSize","radius","ticks","trunc","Array","keys","reduce","t","push","pieContains","_ref12","_ref13","_ref14","_slicedToArray","startAngle","endAngle","_ref15","x","y","distance","sqrt","pow","atan2","prevAngle","nextAngle","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","concat","MINIMUM_OFFSET","RadarRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","_key","call","_defineProperty","_assertThisInitialized","_createClass","key","get","_this$asProps","asProps","id","uid","offset","computeOffset","value","getAxisProps","type","getPolygonProps","_ref16","dataKey","_this$asProps2","data","scale","getHoverProps","categories","categoriesKey","render","_ref2","SRadar","Element","_this$asProps3","Children","styles","size","_size","dataHintsHandler","establishDataType","toArray","forEach","child","Radar","Axis","cn","PolygonRoot","_Component2","_super2","getDotsProps","_this$asProps4","color","transparent","categoryKey","getLineProps","_this$asProps5","d3","_ref3","_this$asProps6","SPolygon","fill","_ref21","_ref21$curve","curve","min","d","PolygonLine","_ref4","SPolygonLine","PolygonDots","SPolygonDot","_ref5","describeGroupedValues","_getRadianPosition","_getRadianPosition2","cx","cy","AxisRoot","_Component3","_super3","_this2","_len2","_key2","activeLineIndex","_visible","_anchorProps","_ref17","index","setState","createLineRadial","getTicksProps","_ref18","_ref18$tickSize","_this$asProps7","getLabelsProps","_ref19","_ref19$labelOffset","labelOffset","_this$asProps8","componentDidMount","eventEmitter","unsubscribeTooltipVisible","subscribe","handlerTooltipVisible","componentWillUnmount","_ref6","_this$asProps9","SAxis","state","Fragment","category","_getRadianPosition3","_getRadianPosition4","_sstyled$cn","active","className","x1","y1","x2","y2","_ref22","AxisTicks","SAxisTick","tick","_ref7","AxisLabels","SAxisLabel","_getRadianPosition5","_getRadianPosition6","_getLabelPlacement","_getLabelPlacement2","_ref8","labelKey","lines","split","lineText","lineIndex","_category$props","_ref20","_ref20$width","_ref20$height","_getLabelOffsetPositi","_getLabelOffsetPositi2","Hover","_Component4","_super4","_this3","_len3","_key3","document","e","_this3$asProps","rootRef","point","current","diam","centerX","centerY","clientX","clientY","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","getIndex","emit","top","right","bottom","left","getPolygon","_this$asProps10","prevIndex","nextIndex","_getRadianPosition7","_getRadianPosition8","prevX1","prevY1","_getRadianPosition9","_getRadianPosition10","_getRadianPosition11","_getRadianPosition12","nextX1","nextY1","getPie","_this$asProps11","_this4","_this$asProps12","findIndex","c","_this5","unsubscribeMouseMoveRoot","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","_this$asProps13","SPieRect","_ref9","_this$getPie","_this$getPie2","circle","innerRadius","outerRadius","_ref10","Ticks","Labels","Polygon","Line","Dots","RadarTooltip","_ref","arguments[0]","_ref11","SRadarTooltip","_objectSpread","_assignProps","_______childrenComponents"],"sources":["../../src/Radar.jsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { polygonContains } from 'd3-polygon';\nimport { line, lineRadial, curveLinearClosed, arc } from 'd3-shape';\nimport createElement from './createElement';\nimport { CONSTANT, eventToPoint, measureText } from './utils';\nimport Tooltip from './Tooltip';\n\nimport style from './style/radar.shadow.css';\n\nconst clampAngle = (angle) => {\n angle = angle % (2 * Math.PI);\n if (angle < 0) angle += 2 * Math.PI;\n return angle;\n};\n\nfunction getBoxAxesValue(i, range, axes, total, angleOffset) {\n const func = axes === 'y' ? Math.sin : Math.cos;\n\n const angle = clampAngle(((total - i) * 2 * Math.PI) / total + angleOffset);\n return range * (1 - func(angle)) - range;\n}\n\nfunction getRadianPosition(i, range, total, angleOffset) {\n return [\n getBoxAxesValue(i, range, 'y', total, angleOffset),\n getBoxAxesValue(i, range, 'x', total, angleOffset),\n ];\n}\n\nconst getLabelXPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'middle';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'middle';\n\n return angle < Math.PI ? 'start' : 'end';\n};\nconst getLabelYPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'alphabetic';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'mathematical';\n\n return 'middle';\n};\n\nfunction getLabelPlacement(i, total, angleOffset) {\n return [getLabelXPlacement(i, total, angleOffset), getLabelYPlacement(i, total, angleOffset)];\n}\n\nfunction computeTextWidth(texts, textSize, defaultWidth = 50, defaultHeight = 20) {\n const widths = texts.map((text) => {\n if (typeof text === 'string') {\n return measureText(text, textSize);\n }\n if (React.isValidElement(text)) {\n // @ts-ignore\n return Math.max(text.props?.width || defaultWidth, text.props?.height || defaultHeight);\n }\n return defaultWidth;\n });\n return Math.max(...widths);\n}\n\nfunction getTicks(tickSize, radius) {\n let ticks = 0;\n while (Math.trunc(radius / (tickSize / 2)) > ticks) {\n ticks += 1;\n }\n return [...Array(ticks).keys()].reduce((ticks, t, i, total) => {\n if (i) ticks.push(i / total.length);\n return ticks;\n }, []);\n}\n\nfunction pieContains([startAngle, endAngle, radius], [x, y]) {\n const distance = Math.sqrt(x ** 2 + y ** 2);\n if (distance > radius) return false;\n\n startAngle = clampAngle(startAngle);\n endAngle = clampAngle(endAngle);\n startAngle = startAngle < endAngle ? startAngle : startAngle - 2 * Math.PI;\n\n const angle = clampAngle(Math.atan2(y, x) + Math.PI / 2);\n const prevAngle = angle - Math.PI * 2;\n const nextAngle = angle + Math.PI * 2;\n\n if (angle > startAngle && angle < endAngle) return true;\n if (prevAngle > startAngle && prevAngle < endAngle) return true;\n if (nextAngle > startAngle && nextAngle < endAngle) return true;\n return false;\n}\n\nexport function getLabelOffsetPosition(xDirection, yDirection, width, height) {\n let xOffset = 0;\n let yOffset = 0;\n switch (`${xDirection}-${yDirection}`) {\n case 'middle-alphabetic':\n yOffset = height / 2;\n break;\n case 'start-middle':\n xOffset = -width / 2;\n break;\n case 'middle-mathematical':\n yOffset = -height / 2;\n break;\n case 'end-middle':\n xOffset = width / 2;\n break;\n }\n return [xOffset + width / 2, yOffset + height / 2];\n}\n\nconst MINIMUM_OFFSET = 5;\n\nclass RadarRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n computeOffset = 0;\n\n categoriesKey = null;\n\n static defaultProps = {\n type: 'polygon',\n angleOffset: 0,\n };\n\n get id() {\n const { id, uid } = this.asProps;\n return id || uid;\n }\n\n get offset() {\n const { offset } = this.asProps;\n return offset ?? this.computeOffset;\n }\n\n get textSize() {\n const { textSize } = this.asProps;\n return textSize ?? 12;\n }\n\n getAxisProps() {\n return {\n offset: this.offset,\n textSize: this.textSize,\n type: this.asProps.type,\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n getPolygonProps({ dataKey }) {\n const { data, scale, angleOffset } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n angleOffset,\n };\n }\n\n getHoverProps() {\n return {\n type: this.asProps.type,\n offset: this.offset,\n categories: this.asProps.data[this.categoriesKey],\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n render() {\n const SRadar = this.Element;\n const { Children, styles, size, data, offset } = this.asProps;\n const [width, height] = size;\n\n this.asProps.dataHintsHandler.establishDataType('indexed-groups');\n\n let dataKey;\n React.Children.toArray(getOriginChildren(Children)).forEach((child) => {\n if (React.isValidElement(child) && child.type === Radar.Axis) {\n dataKey = child.props.dataKey;\n }\n });\n if (dataKey) {\n if (offset === undefined) {\n // +5 because font might not be loaded and just in case)\n this.computeOffset = computeTextWidth(data[dataKey], this.textSize) + MINIMUM_OFFSET;\n }\n this.categoriesKey = dataKey;\n }\n\n return sstyled(styles)(\n <SRadar\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / 2})`}\n />,\n );\n }\n}\n\nclass PolygonRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ scale, curve = curveLinearClosed, size, offset, angleOffset }) => {\n scale.range([0, Math.min(size[0], size[1]) / 2 - offset]);\n\n return {\n d3: lineRadial()\n .curve(curve)\n .radius((d) => {\n return scale(d || 0);\n })\n .angle((d, i, data) => {\n return (i / data.length) * 2 * Math.PI - angleOffset;\n }),\n };\n };\n\n getDotsProps() {\n const { data, scale, color, transparent, dataKey, dataHintsHandler, angleOffset } =\n this.asProps;\n return {\n data,\n scale,\n color,\n transparent,\n categoryKey: dataKey,\n dataHintsHandler,\n angleOffset,\n };\n }\n\n getLineProps() {\n const { d3, data, color, transparent } = this.asProps;\n return {\n data,\n color,\n transparent,\n d3,\n };\n }\n\n render() {\n const { Element: SPolygon, styles, d3, data, color, fill } = this.asProps;\n return sstyled(styles)(<SPolygon render='path' d={d3(data)} color={fill || color} />);\n }\n}\n\nfunction PolygonLine(props) {\n const { Element: SPolygonLine, styles, d3, color, data, transparent } = props;\n return sstyled(styles)(\n <SPolygonLine render='path' d={d3(data)} color={color} transparent={transparent} />,\n );\n}\n\nfunction PolygonDots(props) {\n const {\n Element: SPolygonDot,\n styles,\n color,\n data,\n scale,\n transparent,\n categoryKey,\n angleOffset,\n } = props;\n return data.map((value, i) => {\n if (value === null || value === undefined) return;\n const radius = scale(value);\n props.dataHintsHandler.describeGroupedValues(categoryKey, `${categoryKey}.${i}`);\n const [cx, cy] = getRadianPosition(i, radius, data.length, angleOffset);\n return sstyled(styles)(\n <SPolygonDot\n key={i}\n render='circle'\n cx={cx}\n cy={cy}\n color={color}\n transparent={transparent}\n />,\n );\n });\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ data, dataKey }) => {\n const categories = data[dataKey];\n return {\n categories,\n };\n };\n\n unsubscribeTooltipVisible = null;\n\n state = {\n activeLineIndex: null,\n };\n\n createLineRadial(radius, total) {\n return lineRadial()\n .curve(curveLinearClosed)\n .radius(() => {\n return radius;\n })\n .angle((d, i) => {\n return (i / total) * 2 * Math.PI;\n });\n }\n\n getTicksProps({ tickSize = 100 }) {\n const { data, offset, categories, size, type } = this.asProps;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return {\n type,\n data,\n categories,\n ticks: getTicks(tickSize, radius),\n offset,\n d3: this.createLineRadial(radius, categories.length),\n };\n }\n\n getLabelsProps({ labelOffset = 10 }) {\n const { offset, categories, textSize, angleOffset } = this.asProps;\n return {\n categories,\n textSize,\n offset: offset - labelOffset,\n angleOffset,\n };\n }\n\n handlerTooltipVisible = (_visible, _anchorProps, { index }) => {\n this.setState({\n activeLineIndex: index,\n });\n };\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'onTooltipVisible',\n this.handlerTooltipVisible,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeTooltipVisible) {\n this.unsubscribeTooltipVisible();\n }\n }\n\n render() {\n const { Element: SAxis, styles, categories, size, offset, type, angleOffset } = this.asProps;\n const { activeLineIndex } = this.state;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n const total = categories.length;\n\n return sstyled(styles)(\n <>\n {type === 'circle' ? (\n <SAxis render='circle' cx={0} cy={0} r={radius} />\n ) : (\n <SAxis render='path' d={this.createLineRadial(radius, total)(categories)} />\n )}\n {categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, total, angleOffset);\n const { className } = sstyled(styles).cn('SAxisLine', {\n active: activeLineIndex === i,\n });\n return <line key={i} x1={0} y1={0} x2={x} y2={y} className={className} />;\n })}\n </>,\n );\n }\n}\n\nfunction AxisTicks(props) {\n const { Element: SAxisTick, styles, size, ticks, d3, categories, offset, type } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return ticks.map((tick, i) => {\n d3.radius(() => radius * tick);\n return sstyled(styles)(\n type === 'circle' ? (\n <SAxisTick key={i} render='circle' cx={0} cy={0} r={radius * tick} />\n ) : (\n <SAxisTick render='path' key={i} d={d3(categories)} />\n ),\n );\n });\n}\n\nfunction AxisLabels(props) {\n const { Element: SAxisLabel, styles, textSize, size, offset, categories, angleOffset } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, categories.length, angleOffset);\n const [xDirection, yDirection] = getLabelPlacement(i, categories.length, angleOffset);\n if (typeof category === 'string') {\n props.dataHintsHandler.labelKey('value', i, category);\n\n const lines = category.split('\\n');\n return sstyled(styles)(\n <SAxisLabel\n key={i}\n render='text'\n childrenPosition='inside'\n x={x}\n y={y}\n xDirection={xDirection}\n yDirection={yDirection}\n >\n {lines.map((lineText, lineIndex) => (\n <tspan\n x={x}\n y={y + (lineIndex - (lines.length - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </tspan>\n ))}\n </SAxisLabel>,\n );\n }\n if (React.isValidElement(category)) {\n const { width = 0, height = 0 } = category?.props ?? {};\n const [xOffset, yOffset] = getLabelOffsetPosition(xDirection, yDirection, width, height);\n return cloneElement(category, {\n key: i,\n x: x - xOffset,\n y: y - yOffset,\n });\n }\n });\n}\n\nclass Hover extends Component {\n state = {\n index: null,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n unsubscribeMouseMoveRoot = null;\n unsubscribeMouseLeaveRoot = null;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getPolygon(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const total = categories.length;\n const diam = Math.min(size[0], size[1]);\n const radius = diam / 2 - offset;\n const prevIndex = (index - 1 + total) % total;\n const nextIndex = (index + 1 + total) % total;\n const [prevX1, prevY1] = getRadianPosition(prevIndex, radius, total, angleOffset);\n const [x, y] = getRadianPosition(index, radius, total, angleOffset);\n const [nextX1, nextY1] = getRadianPosition(nextIndex, radius, total, angleOffset);\n return [\n [0, 0],\n [(prevX1 + x) / 2, (prevY1 + y) / 2],\n [x, y],\n [(nextX1 + x) / 2, (nextY1 + y) / 2],\n ];\n }\n\n getPie(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const angle = (Math.PI * 2) / categories.length;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return [\n index * angle - angle / 2 - angleOffset,\n (index + 1) * angle - angle / 2 - angleOffset,\n radius,\n ];\n }\n\n getIndex(point) {\n const { categories, type } = this.asProps;\n let index;\n if (type === 'circle') {\n index = categories.findIndex((c, i) => pieContains(this.getPie(i), point));\n } else {\n index = categories.findIndex((c, i) => polygonContains(this.getPolygon(i), point));\n }\n return index === -1 ? null : index;\n }\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, size, rootRef } = this.asProps;\n const point = eventToPoint(e, rootRef.current);\n const diam = Math.min(size[0], size[1]);\n const centerX = point[0] - diam / 2;\n const centerY = point[1] - diam / 2;\n const { clientX, clientY } = e;\n // @ts-ignore\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n const index = this.getIndex([centerX, centerY]);\n\n this.setState(\n {\n index,\n },\n () => {\n eventEmitter.emit('onTooltipVisible', index !== null, {}, { index }, this.virtualElement);\n },\n );\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n this.setState(\n {\n index: null,\n },\n () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, {}, { index: null });\n },\n );\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveRoot', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveRoot',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n\n render() {\n const { styles, type } = this.asProps;\n const { index } = this.state;\n const SPieRect = this.Element;\n\n if (index !== null) {\n if (type === 'circle') {\n const [startAngle, endAngle, radius] = this.getPie(index);\n const circle = arc()\n .innerRadius(0)\n .outerRadius(radius)\n .startAngle(startAngle)\n .endAngle(endAngle);\n return sstyled(styles)(\n <SPieRect\n render='path'\n // @ts-ignore\n d={circle()}\n />,\n );\n } else {\n return sstyled(styles)(\n <SPieRect\n render='path'\n // @ts-ignore\n d={line()(this.getPolygon(index))}\n />,\n );\n }\n }\n\n return null;\n }\n}\n\nconst Axis = createElement(AxisRoot, {\n Ticks: AxisTicks,\n Labels: AxisLabels,\n});\n\nconst Polygon = createElement(PolygonRoot, {\n Line: PolygonLine,\n Dots: PolygonDots,\n});\n\nconst RadarTooltip = (props) => {\n const SRadarTooltip = Root;\n return sstyled(props.styles)(\n <SRadarTooltip render={Tooltip} tag={Radar.Hover} excludeAnchorProps />,\n );\n};\n\nconst Radar = createElement(RadarRoot, {\n Axis,\n Polygon,\n Hover,\n Tooltip: [RadarTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Radar;\n"],"mappings":";;;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,YAAY,QAAQ,OAAO;AAC3C,SAASC,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAQ,eAAe;AACxD,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,OAAOC,iBAAiB,MAAM,sCAAsC;AACpE,OAAOC,OAAO,MAAM,+BAA+B;AACnD,OAAOC,SAAS,MAAM,8BAA8B;AACpD,SAASC,eAAe,QAAQ,YAAY;AAC5C,SAASC,IAAI,EAAEC,UAAU,EAAEC,iBAAiB,EAAEC,GAAG,QAAQ,UAAU;AACnE,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,QAAQ,EAAEC,YAAY,EAAEC,WAAW,QAAQ,SAAS;AAC7D,OAAOC,OAAO,MAAM,WAAW;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAIhC,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAK,EAAK;EAC5BA,KAAK,GAAGA,KAAK,IAAI,CAAC,GAAGC,IAAI,CAACC,EAAE,CAAC;EAC7B,IAAIF,KAAK,GAAG,CAAC,EAAEA,KAAK,IAAI,CAAC,GAAGC,IAAI,CAACC,EAAE;EACnC,OAAOF,KAAK;AACd,CAAC;AAED,SAASG,eAAeA,CAACC,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,WAAW,EAAE;EAC3D,IAAMC,IAAI,GAAGH,IAAI,KAAK,GAAG,GAAGL,IAAI,CAACS,GAAG,GAAGT,IAAI,CAACU,GAAG;EAE/C,IAAMX,KAAK,GAAGD,UAAU,CAAE,CAACQ,KAAK,GAAGH,CAAC,IAAI,CAAC,GAAGH,IAAI,CAACC,EAAE,GAAIK,KAAK,GAAGC,WAAW,CAAC;EAC3E,OAAOH,KAAK,IAAI,CAAC,GAAGI,IAAI,CAACT,KAAK,CAAC,CAAC,GAAGK,KAAK;AAC1C;AAEA,SAASO,iBAAiBA,CAACR,CAAC,EAAEC,KAAK,EAAEE,KAAK,EAAEC,WAAW,EAAE;EACvD,OAAO,CACLL,eAAe,CAACC,CAAC,EAAEC,KAAK,EAAE,GAAG,EAAEE,KAAK,EAAEC,WAAW,CAAC,EAClDL,eAAe,CAACC,CAAC,EAAEC,KAAK,EAAE,GAAG,EAAEE,KAAK,EAAEC,WAAW,CAAC,CACnD;AACH;AAEA,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIT,CAAC,EAAEG,KAAK,EAAEC,WAAW,EAAK;EACpD,IAAMR,KAAK,GAAGD,UAAU,CAAEK,CAAC,GAAGG,KAAK,IAAKN,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC,GAAGM,WAAW,CAAC;EACnE,IAAIR,KAAK,IAAIC,IAAI,CAACC,EAAE,GAAGD,IAAI,CAACC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAIF,KAAK,IAAIC,IAAI,CAACC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,QAAQ;EACvF,IAAIF,KAAK,IAAIC,IAAI,CAACC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAIF,KAAK,IAAIC,IAAI,CAACC,EAAE,GAAGD,IAAI,CAACC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,QAAQ;EAEvF,OAAOF,KAAK,GAAGC,IAAI,CAACC,EAAE,GAAG,OAAO,GAAG,KAAK;AAC1C,CAAC;AACD,IAAMY,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIV,CAAC,EAAEG,KAAK,EAAEC,WAAW,EAAK;EACpD,IAAMR,KAAK,GAAGD,UAAU,CAAEK,CAAC,GAAGG,KAAK,IAAKN,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC,GAAGM,WAAW,CAAC;EACnE,IAAIR,KAAK,IAAIC,IAAI,CAACC,EAAE,GAAGD,IAAI,CAACC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAIF,KAAK,IAAIC,IAAI,CAACC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,YAAY;EAC3F,IAAIF,KAAK,IAAIC,IAAI,CAACC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAIF,KAAK,IAAIC,IAAI,CAACC,EAAE,GAAGD,IAAI,CAACC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,cAAc;EAE7F,OAAO,QAAQ;AACjB,CAAC;AAED,SAASa,iBAAiBA,CAACX,CAAC,EAAEG,KAAK,EAAEC,WAAW,EAAE;EAChD,OAAO,CAACK,kBAAkB,CAACT,CAAC,EAAEG,KAAK,EAAEC,WAAW,CAAC,EAAEM,kBAAkB,CAACV,CAAC,EAAEG,KAAK,EAAEC,WAAW,CAAC,CAAC;AAC/F;AAEA,SAASQ,gBAAgBA,CAACC,KAAK,EAAEC,QAAQ,EAAyC;EAAA,IAAvCC,YAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEG,aAAa,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC9E,IAAMI,MAAM,GAAGP,KAAK,CAACQ,GAAG,CAAC,UAACC,IAAI,EAAK;IACjC,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MAC5B,OAAOhC,WAAW,CAACgC,IAAI,EAAER,QAAQ,CAAC;IACpC;IACA,kBAAIzC,KAAK,CAACkD,cAAc,CAACD,IAAI,CAAC,EAAE;MAAA,IAAAE,WAAA,EAAAC,YAAA;MAC9B;MACA,OAAO5B,IAAI,CAAC6B,GAAG,CAAC,EAAAF,WAAA,GAAAF,IAAI,CAACK,KAAK,cAAAH,WAAA,uBAAVA,WAAA,CAAYI,KAAK,KAAIb,YAAY,EAAE,EAAAU,YAAA,GAAAH,IAAI,CAACK,KAAK,cAAAF,YAAA,uBAAVA,YAAA,CAAYI,MAAM,KAAIV,aAAa,CAAC;IACzF;IACA,OAAOJ,YAAY;EACrB,CAAC,CAAC;EACF,OAAOlB,IAAI,CAAC6B,GAAG,CAAAI,KAAA,CAARjC,IAAI,EAAAkC,kBAAA,CAAQX,MAAM,EAAC;AAC5B;AAEA,SAASY,QAAQA,CAACC,QAAQ,EAAEC,MAAM,EAAE;EAClC,IAAIC,KAAK,GAAG,CAAC;EACb,OAAOtC,IAAI,CAACuC,KAAK,CAACF,MAAM,IAAID,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAGE,KAAK,EAAE;IAClDA,KAAK,IAAI,CAAC;EACZ;EACA,OAAOJ,kBAAA,CAAIM,KAAK,CAACF,KAAK,CAAC,CAACG,IAAI,EAAE,EAAEC,MAAM,CAAC,UAACJ,KAAK,EAAEK,CAAC,EAAExC,CAAC,EAAEG,KAAK,EAAK;IAC7D,IAAIH,CAAC,EAAEmC,KAAK,CAACM,IAAI,CAACzC,CAAC,GAAGG,KAAK,CAACc,MAAM,CAAC;IACnC,OAAOkB,KAAK;EACd,CAAC,EAAE,EAAE,CAAC;AACR;AAEA,SAASO,WAAWA,CAAAC,MAAA,EAAAC,MAAA,EAAyC;EAAA,IAAAC,MAAA,GAAAC,cAAA,CAAAH,MAAA;IAAvCI,UAAU,GAAAF,MAAA;IAAEG,QAAQ,GAAAH,MAAA;IAAEX,MAAM,GAAAW,MAAA;EAAA,IAAAI,MAAA,GAAAH,cAAA,CAAAF,MAAA;IAAIM,CAAC,GAAAD,MAAA;IAAEE,CAAC,GAAAF,MAAA;EACxD,IAAMG,QAAQ,GAAGvD,IAAI,CAACwD,IAAI,CAACxD,IAAA,CAAAyD,GAAA,CAAAJ,CAAC,EAAI,CAAC,IAAArD,IAAA,CAAAyD,GAAA,CAAGH,CAAC,EAAI,CAAC,EAAC;EAC3C,IAAIC,QAAQ,GAAGlB,MAAM,EAAE,OAAO,KAAK;EAEnCa,UAAU,GAAGpD,UAAU,CAACoD,UAAU,CAAC;EACnCC,QAAQ,GAAGrD,UAAU,CAACqD,QAAQ,CAAC;EAC/BD,UAAU,GAAGA,UAAU,GAAGC,QAAQ,GAAGD,UAAU,GAAGA,UAAU,GAAG,CAAC,GAAGlD,IAAI,CAACC,EAAE;EAE1E,IAAMF,KAAK,GAAGD,UAAU,CAACE,IAAI,CAAC0D,KAAK,CAACJ,CAAC,EAAED,CAAC,CAAC,GAAGrD,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC;EACxD,IAAM0D,SAAS,GAAG5D,KAAK,GAAGC,IAAI,CAACC,EAAE,GAAG,CAAC;EACrC,IAAM2D,SAAS,GAAG7D,KAAK,GAAGC,IAAI,CAACC,EAAE,GAAG,CAAC;EAErC,IAAIF,KAAK,GAAGmD,UAAU,IAAInD,KAAK,GAAGoD,QAAQ,EAAE,OAAO,IAAI;EACvD,IAAIQ,SAAS,GAAGT,UAAU,IAAIS,SAAS,GAAGR,QAAQ,EAAE,OAAO,IAAI;EAC/D,IAAIS,SAAS,GAAGV,UAAU,IAAIU,SAAS,GAAGT,QAAQ,EAAE,OAAO,IAAI;EAC/D,OAAO,KAAK;AACd;AAEA,OAAO,SAASU,sBAAsBA,CAACC,UAAU,EAAEC,UAAU,EAAEhC,KAAK,EAAEC,MAAM,EAAE;EAC5E,IAAIgC,OAAO,GAAG,CAAC;EACf,IAAIC,OAAO,GAAG,CAAC;EACf,WAAAC,MAAA,CAAWJ,UAAU,OAAAI,MAAA,CAAIH,UAAU;IACjC,KAAK,mBAAmB;MACtBE,OAAO,GAAGjC,MAAM,GAAG,CAAC;MACpB;IACF,KAAK,cAAc;MACjBgC,OAAO,GAAG,CAACjC,KAAK,GAAG,CAAC;MACpB;IACF,KAAK,qBAAqB;MACxBkC,OAAO,GAAG,CAACjC,MAAM,GAAG,CAAC;MACrB;IACF,KAAK,YAAY;MACfgC,OAAO,GAAGjC,KAAK,GAAG,CAAC;MACnB;EAAM;EAEV,OAAO,CAACiC,OAAO,GAAGjC,KAAK,GAAG,CAAC,EAAEkC,OAAO,GAAGjC,MAAM,GAAG,CAAC,CAAC;AACpD;AAEA,IAAMmC,cAAc,GAAG,CAAC;AAAC,IAEnBC,SAAS,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,SAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,SAAA;EAAA,SAAAA,UAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,SAAA;IAAA,SAAAO,IAAA,GAAAxD,SAAA,CAAAC,MAAA,EAAAwD,IAAA,OAAApC,KAAA,CAAAmC,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;MAAAD,IAAA,CAAAC,IAAA,IAAA1D,SAAA,CAAA0D,IAAA;IAAA;IAAAJ,KAAA,GAAAF,MAAA,CAAAO,IAAA,CAAA7C,KAAA,CAAAsC,MAAA,SAAAL,MAAA,CAAAU,IAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAP,KAAA,oBAKG,CAAC;IAAAM,eAAA,CAAAC,sBAAA,CAAAP,KAAA,oBAED,IAAI;IAAA,OAAAA,KAAA;EAAA;EAAAQ,YAAA,CAAAb,SAAA;IAAAc,GAAA;IAAAC,GAAA,EAOpB,SAAAA,IAAA,EAAS;MACP,IAAAC,aAAA,GAAoB,IAAI,CAACC,OAAO;QAAxBC,EAAE,GAAAF,aAAA,CAAFE,EAAE;QAAEC,GAAG,GAAAH,aAAA,CAAHG,GAAG;MACf,OAAOD,EAAE,IAAIC,GAAG;IAClB;EAAC;IAAAL,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAa;MACX,IAAQK,MAAM,GAAK,IAAI,CAACH,OAAO,CAAvBG,MAAM;MACd,OAAOA,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,IAAI,CAACC,aAAa;IACrC;EAAC;IAAAP,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAe;MACb,IAAQlE,QAAQ,GAAK,IAAI,CAACoE,OAAO,CAAzBpE,QAAQ;MAChB,OAAOA,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,EAAE;IACvB;EAAC;IAAAiE,GAAA;IAAAQ,KAAA,EAED,SAAAC,aAAA,EAAe;MACb,OAAO;QACLH,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBvE,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvB2E,IAAI,EAAE,IAAI,CAACP,OAAO,CAACO,IAAI;QACvBrF,WAAW,EAAE,IAAI,CAAC8E,OAAO,CAAC9E;MAC5B,CAAC;IACH;EAAC;IAAA2E,GAAA;IAAAQ,KAAA,EAED,SAAAG,gBAAAC,MAAA,EAA6B;MAAA,IAAXC,OAAO,GAAAD,MAAA,CAAPC,OAAO;MACvB,IAAAC,cAAA,GAAqC,IAAI,CAACX,OAAO;QAAzCY,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEC,KAAK,GAAAF,cAAA,CAALE,KAAK;QAAE3F,WAAW,GAAAyF,cAAA,CAAXzF,WAAW;MAEhC,OAAO;QACLiF,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBS,IAAI,EAAEA,IAAI,CAACF,OAAO,CAAC,IAAI,EAAE;QACzBG,KAAK,EAALA,KAAK;QACL3F,WAAW,EAAXA;MACF,CAAC;IACH;EAAC;IAAA2E,GAAA;IAAAQ,KAAA,EAED,SAAAS,cAAA,EAAgB;MACd,OAAO;QACLP,IAAI,EAAE,IAAI,CAACP,OAAO,CAACO,IAAI;QACvBJ,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBY,UAAU,EAAE,IAAI,CAACf,OAAO,CAACY,IAAI,CAAC,IAAI,CAACI,aAAa,CAAC;QACjD9F,WAAW,EAAE,IAAI,CAAC8E,OAAO,CAAC9E;MAC5B,CAAC;IACH;EAAC;IAAA2E,GAAA;IAAAQ,KAAA,EAED,SAAAY,OAAA,EAAS;MAAA,IAAAC,KAAA;MACP,IAAMC,MAAM,GAAG,IAAI,CAACC,OAAO;MAC3B,IAAAC,cAAA,GAAiD,IAAI,CAACrB,OAAO;QAArDsB,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEC,MAAM,GAAAF,cAAA,CAANE,MAAM;QAAEC,IAAI,GAAAH,cAAA,CAAJG,IAAI;QAAEZ,IAAI,GAAAS,cAAA,CAAJT,IAAI;QAAET,MAAM,GAAAkB,cAAA,CAANlB,MAAM;MAC5C,IAAAsB,KAAA,GAAA7D,cAAA,CAAwB4D,IAAI;QAArB9E,KAAK,GAAA+E,KAAA;QAAE9E,MAAM,GAAA8E,KAAA;MAEpB,IAAI,CAACzB,OAAO,CAAC0B,gBAAgB,CAACC,iBAAiB,CAAC,gBAAgB,CAAC;MAEjE,IAAIjB,OAAO;MACXvH,KAAK,CAACmI,QAAQ,CAACM,OAAO,CAACnI,iBAAiB,CAAC6H,QAAQ,CAAC,CAAC,CAACO,OAAO,CAAC,UAACC,KAAK,EAAK;QACrE,IAAI,cAAA3I,KAAK,CAACkD,cAAc,CAACyF,KAAK,CAAC,IAAIA,KAAK,CAACvB,IAAI,KAAKwB,KAAK,CAACC,IAAI,EAAE;UAC5DtB,OAAO,GAAGoB,KAAK,CAACrF,KAAK,CAACiE,OAAO;QAC/B;MACF,CAAC,CAAC;MACF,IAAIA,OAAO,EAAE;QACX,IAAIP,MAAM,KAAKnE,SAAS,EAAE;UACxB;UACA,IAAI,CAACoE,aAAa,GAAG1E,gBAAgB,CAACkF,IAAI,CAACF,OAAO,CAAC,EAAE,IAAI,CAAC9E,QAAQ,CAAC,GAAGkD,cAAc;QACtF;QACA,IAAI,CAACkC,aAAa,GAAGN,OAAO;MAC9B;MAEA,OAAAQ,KAAA,GAAO5H,OAAO,CAACiI,MAAM,CAAC,eACpBpI,KAAA,CAAAc,aAAA,CAACkH,MAAM,EAAAD,KAAA,CAAAe,EAAA;QAAA;QAAA,MAED,IAAI,CAAChC,EAAE;QAAA,UACJ,GAAG;QAAA,oBACO,QAAQ;QAAA,0BAAApB,MAAA,CACDnC,KAAK,GAAG,CAAC,OAAAmC,MAAA,CAAIlC,MAAM,GAAG,CAAC;MAAA,GAC/C;IAEN;EAAC;EAAA,OAAAoC,SAAA;AAAA,EAxFqB1F,SAAS;AAAAqG,eAAA,CAA3BX,SAAS,iBACQ,MAAM;AAAAW,eAAA,CADvBX,SAAS,WAEEzE,KAAK;AAAAoF,eAAA,CAFhBX,SAAS,aAGI,CAACvF,mBAAmB,EAAE,CAAC;AAAAkG,eAAA,CAHpCX,SAAS,kBASS;EACpBwB,IAAI,EAAE,SAAS;EACfrF,WAAW,EAAE;AACf,CAAC;AAAA,IA+EGgH,WAAW,0BAAAC,WAAA;EAAAlD,SAAA,CAAAiD,WAAA,EAAAC,WAAA;EAAA,IAAAC,OAAA,GAAAjD,YAAA,CAAA+C,WAAA;EAAA,SAAAA,YAAA;IAAA7C,eAAA,OAAA6C,WAAA;IAAA,OAAAE,OAAA,CAAAxF,KAAA,OAAAd,SAAA;EAAA;EAAA8D,YAAA,CAAAsC,WAAA;IAAArC,GAAA;IAAAQ,KAAA,EAmBf,SAAAgC,aAAA,EAAe;MACb,IAAAC,cAAA,GACE,IAAI,CAACtC,OAAO;QADNY,IAAI,GAAA0B,cAAA,CAAJ1B,IAAI;QAAEC,KAAK,GAAAyB,cAAA,CAALzB,KAAK;QAAE0B,KAAK,GAAAD,cAAA,CAALC,KAAK;QAAEC,WAAW,GAAAF,cAAA,CAAXE,WAAW;QAAE9B,OAAO,GAAA4B,cAAA,CAAP5B,OAAO;QAAEgB,gBAAgB,GAAAY,cAAA,CAAhBZ,gBAAgB;QAAExG,WAAW,GAAAoH,cAAA,CAAXpH,WAAW;MAE/E,OAAO;QACL0F,IAAI,EAAJA,IAAI;QACJC,KAAK,EAALA,KAAK;QACL0B,KAAK,EAALA,KAAK;QACLC,WAAW,EAAXA,WAAW;QACXC,WAAW,EAAE/B,OAAO;QACpBgB,gBAAgB,EAAhBA,gBAAgB;QAChBxG,WAAW,EAAXA;MACF,CAAC;IACH;EAAC;IAAA2E,GAAA;IAAAQ,KAAA,EAED,SAAAqC,aAAA,EAAe;MACb,IAAAC,cAAA,GAAyC,IAAI,CAAC3C,OAAO;QAA7C4C,EAAE,GAAAD,cAAA,CAAFC,EAAE;QAAEhC,IAAI,GAAA+B,cAAA,CAAJ/B,IAAI;QAAE2B,KAAK,GAAAI,cAAA,CAALJ,KAAK;QAAEC,WAAW,GAAAG,cAAA,CAAXH,WAAW;MACpC,OAAO;QACL5B,IAAI,EAAJA,IAAI;QACJ2B,KAAK,EAALA,KAAK;QACLC,WAAW,EAAXA,WAAW;QACXI,EAAE,EAAFA;MACF,CAAC;IACH;EAAC;IAAA/C,GAAA;IAAAQ,KAAA,EAED,SAAAY,OAAA,EAAS;MAAA,IAAA4B,KAAA;MACP,IAAAC,cAAA,GAA6D,IAAI,CAAC9C,OAAO;QAAxD+C,QAAQ,GAAAD,cAAA,CAAjB1B,OAAO;QAAYG,MAAM,GAAAuB,cAAA,CAANvB,MAAM;QAAEqB,EAAE,GAAAE,cAAA,CAAFF,EAAE;QAAEhC,IAAI,GAAAkC,cAAA,CAAJlC,IAAI;QAAE2B,KAAK,GAAAO,cAAA,CAALP,KAAK;QAAES,IAAI,GAAAF,cAAA,CAAJE,IAAI;MACxD,OAAAH,KAAA,GAAOvJ,OAAO,CAACiI,MAAM,CAAC,eAACpI,KAAA,CAAAc,aAAA,CAAC8I,QAAQ,EAAAF,KAAA,CAAAZ,EAAA;QAAA,UAAQ,MAAM;QAAA,KAAIW,EAAE,CAAChC,IAAI,CAAC;QAAA,SAASoC,IAAI,IAAIT;MAAK,GAAI;IACtF;EAAC;EAAA,OAAAL,WAAA;AAAA,EA9CuB7I,SAAS;AAAAqG,eAAA,CAA7BwC,WAAW,iBACM,SAAS;AAAAxC,eAAA,CAD1BwC,WAAW,WAEA5H,KAAK;AAAAoF,eAAA,CAFhBwC,WAAW,kBAIO,UAAAe,MAAA,EAAqE;EAAA,IAAlEpC,KAAK,GAAAoC,MAAA,CAALpC,KAAK;IAAAqC,YAAA,GAAAD,MAAA,CAAEE,KAAK;IAALA,KAAK,GAAAD,YAAA,cAAGnJ,iBAAiB,GAAAmJ,YAAA;IAAE1B,IAAI,GAAAyB,MAAA,CAAJzB,IAAI;IAAErB,MAAM,GAAA8C,MAAA,CAAN9C,MAAM;IAAEjF,WAAW,GAAA+H,MAAA,CAAX/H,WAAW;EAClF2F,KAAK,CAAC9F,KAAK,CAAC,CAAC,CAAC,EAAEJ,IAAI,CAACyI,GAAG,CAAC5B,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGrB,MAAM,CAAC,CAAC;EAEzD,OAAO;IACLyC,EAAE,EAAE9I,UAAU,EAAE,CACbqJ,KAAK,CAACA,KAAK,CAAC,CACZnG,MAAM,CAAC,UAACqG,CAAC,EAAK;MACb,OAAOxC,KAAK,CAACwC,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CACD3I,KAAK,CAAC,UAAC2I,CAAC,EAAEvI,CAAC,EAAE8F,IAAI,EAAK;MACrB,OAAQ9F,CAAC,GAAG8F,IAAI,CAAC7E,MAAM,GAAI,CAAC,GAAGpB,IAAI,CAACC,EAAE,GAAGM,WAAW;IACtD,CAAC;EACL,CAAC;AACH,CAAC;AAgCH,SAASoI,WAAWA,CAAC7G,KAAK,EAAE;EAAA,IAAA8G,KAAA;EAC1B,IAAiBC,YAAY,GAA2C/G,KAAK,CAArE2E,OAAO;IAAgBG,MAAM,GAAmC9E,KAAK,CAA9C8E,MAAM;IAAEqB,EAAE,GAA+BnG,KAAK,CAAtCmG,EAAE;IAAEL,KAAK,GAAwB9F,KAAK,CAAlC8F,KAAK;IAAE3B,IAAI,GAAkBnE,KAAK,CAA3BmE,IAAI;IAAE4B,WAAW,GAAK/F,KAAK,CAArB+F,WAAW;EACnE,OAAAe,KAAA,GAAOjK,OAAO,CAACiI,MAAM,CAAC,eACpBpI,KAAA,CAAAc,aAAA,CAACuJ,YAAY,EAAAD,KAAA,CAAAtB,EAAA;IAAA,UAAQ,MAAM;IAAA,KAAIW,EAAE,CAAChC,IAAI,CAAC;IAAA,SAAS2B,KAAK;IAAA,eAAeC;EAAW,GAAI;AAEvF;AAEA,SAASiB,WAAWA,CAAChH,KAAK,EAAE;EAC1B,IACWiH,WAAW,GAQlBjH,KAAK,CARP2E,OAAO;IACPG,MAAM,GAOJ9E,KAAK,CAPP8E,MAAM;IACNgB,KAAK,GAMH9F,KAAK,CANP8F,KAAK;IACL3B,IAAI,GAKFnE,KAAK,CALPmE,IAAI;IACJC,KAAK,GAIHpE,KAAK,CAJPoE,KAAK;IACL2B,WAAW,GAGT/F,KAAK,CAHP+F,WAAW;IACXC,WAAW,GAEThG,KAAK,CAFPgG,WAAW;IACXvH,WAAW,GACTuB,KAAK,CADPvB,WAAW;EAEb,OAAO0F,IAAI,CAACzE,GAAG,CAAC,UAACkE,KAAK,EAAEvF,CAAC,EAAK;IAAA,IAAA6I,KAAA;IAC5B,IAAItD,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKrE,SAAS,EAAE;IAC3C,IAAMgB,MAAM,GAAG6D,KAAK,CAACR,KAAK,CAAC;IAC3B5D,KAAK,CAACiF,gBAAgB,CAACkC,qBAAqB,CAACnB,WAAW,KAAA5D,MAAA,CAAK4D,WAAW,OAAA5D,MAAA,CAAI/D,CAAC,EAAG;IAChF,IAAA+I,kBAAA,GAAiBvI,iBAAiB,CAACR,CAAC,EAAEkC,MAAM,EAAE4D,IAAI,CAAC7E,MAAM,EAAEb,WAAW,CAAC;MAAA4I,mBAAA,GAAAlG,cAAA,CAAAiG,kBAAA;MAAhEE,EAAE,GAAAD,mBAAA;MAAEE,EAAE,GAAAF,mBAAA;IACb,OAAAH,KAAA,GAAOrK,OAAO,CAACiI,MAAM,CAAC,eACpBpI,KAAA,CAAAc,aAAA,CAACyJ,WAAW,EAAAC,KAAA,CAAA1B,EAAA;MAAA,OACLnH,CAAC;MAAA,UACC,QAAQ;MAAA,MACXiJ,EAAE;MAAA,MACFC,EAAE;MAAA,SACCzB,KAAK;MAAA,eACCC;IAAW,GACxB;EAEN,CAAC,CAAC;AACJ;AAAC,IAEKyB,QAAQ,0BAAAC,WAAA;EAAAjF,SAAA,CAAAgF,QAAA,EAAAC,WAAA;EAAA,IAAAC,OAAA,GAAAhF,YAAA,CAAA8E,QAAA;EAAA,SAAAA,SAAA;IAAA,IAAAG,MAAA;IAAA/E,eAAA,OAAA4E,QAAA;IAAA,SAAAI,KAAA,GAAAvI,SAAA,CAAAC,MAAA,EAAAwD,IAAA,OAAApC,KAAA,CAAAkH,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAA/E,IAAA,CAAA+E,KAAA,IAAAxI,SAAA,CAAAwI,KAAA;IAAA;IAAAF,MAAA,GAAAD,OAAA,CAAA1E,IAAA,CAAA7C,KAAA,CAAAuH,OAAA,SAAAtF,MAAA,CAAAU,IAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAyE,MAAA,gCAWgB,IAAI;IAAA1E,eAAA,CAAAC,sBAAA,CAAAyE,MAAA,YAExB;MACNG,eAAe,EAAE;IACnB,CAAC;IAAA7E,eAAA,CAAAC,sBAAA,CAAAyE,MAAA,4BAoCuB,UAACI,QAAQ,EAAEC,YAAY,EAAAC,MAAA,EAAgB;MAAA,IAAZC,KAAK,GAAAD,MAAA,CAALC,KAAK;MACtDP,MAAA,CAAKQ,QAAQ,CAAC;QACZL,eAAe,EAAEI;MACnB,CAAC,CAAC;IACJ,CAAC;IAAA,OAAAP,MAAA;EAAA;EAAAxE,YAAA,CAAAqE,QAAA;IAAApE,GAAA;IAAAQ,KAAA,EAtCD,SAAAwE,iBAAiB7H,MAAM,EAAE/B,KAAK,EAAE;MAC9B,OAAOnB,UAAU,EAAE,CAChBqJ,KAAK,CAACpJ,iBAAiB,CAAC,CACxBiD,MAAM,CAAC,YAAM;QACZ,OAAOA,MAAM;MACf,CAAC,CAAC,CACDtC,KAAK,CAAC,UAAC2I,CAAC,EAAEvI,CAAC,EAAK;QACf,OAAQA,CAAC,GAAGG,KAAK,GAAI,CAAC,GAAGN,IAAI,CAACC,EAAE;MAClC,CAAC,CAAC;IACN;EAAC;IAAAiF,GAAA;IAAAQ,KAAA,EAED,SAAAyE,cAAAC,MAAA,EAAkC;MAAA,IAAAC,eAAA,GAAAD,MAAA,CAAlBhI,QAAQ;QAARA,QAAQ,GAAAiI,eAAA,cAAG,GAAG,GAAAA,eAAA;MAC5B,IAAAC,cAAA,GAAiD,IAAI,CAACjF,OAAO;QAArDY,IAAI,GAAAqE,cAAA,CAAJrE,IAAI;QAAET,MAAM,GAAA8E,cAAA,CAAN9E,MAAM;QAAEY,UAAU,GAAAkE,cAAA,CAAVlE,UAAU;QAAES,IAAI,GAAAyD,cAAA,CAAJzD,IAAI;QAAEjB,IAAI,GAAA0E,cAAA,CAAJ1E,IAAI;MAC5C,IAAMvD,MAAM,GAAGrC,IAAI,CAACyI,GAAG,CAAC5B,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGrB,MAAM;MACtD,OAAO;QACLI,IAAI,EAAJA,IAAI;QACJK,IAAI,EAAJA,IAAI;QACJG,UAAU,EAAVA,UAAU;QACV9D,KAAK,EAAEH,QAAQ,CAACC,QAAQ,EAAEC,MAAM,CAAC;QACjCmD,MAAM,EAANA,MAAM;QACNyC,EAAE,EAAE,IAAI,CAACiC,gBAAgB,CAAC7H,MAAM,EAAE+D,UAAU,CAAChF,MAAM;MACrD,CAAC;IACH;EAAC;IAAA8D,GAAA;IAAAQ,KAAA,EAED,SAAA6E,eAAAC,MAAA,EAAqC;MAAA,IAAAC,kBAAA,GAAAD,MAAA,CAApBE,WAAW;QAAXA,WAAW,GAAAD,kBAAA,cAAG,EAAE,GAAAA,kBAAA;MAC/B,IAAAE,cAAA,GAAsD,IAAI,CAACtF,OAAO;QAA1DG,MAAM,GAAAmF,cAAA,CAANnF,MAAM;QAAEY,UAAU,GAAAuE,cAAA,CAAVvE,UAAU;QAAEnF,QAAQ,GAAA0J,cAAA,CAAR1J,QAAQ;QAAEV,WAAW,GAAAoK,cAAA,CAAXpK,WAAW;MACjD,OAAO;QACL6F,UAAU,EAAVA,UAAU;QACVnF,QAAQ,EAARA,QAAQ;QACRuE,MAAM,EAAEA,MAAM,GAAGkF,WAAW;QAC5BnK,WAAW,EAAXA;MACF,CAAC;IACH;EAAC;IAAA2E,GAAA;IAAAQ,KAAA,EAQD,SAAAkF,kBAAA,EAAoB;MAClB,IAAQC,YAAY,GAAK,IAAI,CAACxF,OAAO,CAA7BwF,YAAY;MACpB,IAAI,CAACC,yBAAyB,GAAGD,YAAY,CAACE,SAAS,CACrD,kBAAkB,EAClB,IAAI,CAACC,qBAAqB,CAC3B;IACH;EAAC;IAAA9F,GAAA;IAAAQ,KAAA,EAED,SAAAuF,qBAAA,EAAuB;MACrB,IAAI,IAAI,CAACH,yBAAyB,EAAE;QAClC,IAAI,CAACA,yBAAyB,EAAE;MAClC;IACF;EAAC;IAAA5F,GAAA;IAAAQ,KAAA,EAED,SAAAY,OAAA,EAAS;MAAA,IAAA4E,KAAA;MACP,IAAAC,cAAA,GAAgF,IAAI,CAAC9F,OAAO;QAA3E+F,KAAK,GAAAD,cAAA,CAAd1E,OAAO;QAASG,MAAM,GAAAuE,cAAA,CAANvE,MAAM;QAAER,UAAU,GAAA+E,cAAA,CAAV/E,UAAU;QAAES,IAAI,GAAAsE,cAAA,CAAJtE,IAAI;QAAErB,MAAM,GAAA2F,cAAA,CAAN3F,MAAM;QAAEI,IAAI,GAAAuF,cAAA,CAAJvF,IAAI;QAAErF,WAAW,GAAA4K,cAAA,CAAX5K,WAAW;MAC3E,IAAQqJ,eAAe,GAAK,IAAI,CAACyB,KAAK,CAA9BzB,eAAe;MACvB,IAAMvH,MAAM,GAAGrC,IAAI,CAACyI,GAAG,CAAC5B,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGrB,MAAM;MACtD,IAAMlF,KAAK,GAAG8F,UAAU,CAAChF,MAAM;MAE/B,OAAA8J,KAAA,GAAOvM,OAAO,CAACiI,MAAM,CAAC,eACpBpI,KAAA,CAAAc,aAAA,CAAAd,KAAA,CAAA8M,QAAA,QACG1F,IAAI,KAAK,QAAQ,gBAChBpH,KAAA,CAAAc,aAAA,CAAC8L,KAAK,EAAAF,KAAA,CAAA5D,EAAA;QAAA,UAAQ,QAAQ;QAAA,MAAK,CAAC;QAAA,MAAM,CAAC;QAAA,KAAKjF;MAAM,GAAI,gBAElD7D,KAAA,CAAAc,aAAA,CAAC8L,KAAK,EAAAF,KAAA,CAAA5D,EAAA;QAAA,UAAQ,MAAM;QAAA,KAAI,IAAI,CAAC4C,gBAAgB,CAAC7H,MAAM,EAAE/B,KAAK,CAAC,CAAC8F,UAAU;MAAC,GACzE,EACAA,UAAU,CAAC5E,GAAG,CAAC,UAAC+J,QAAQ,EAAEpL,CAAC,EAAK;QAC/B,IAAAqL,mBAAA,GAAe7K,iBAAiB,CAACR,CAAC,EAAEkC,MAAM,EAAE/B,KAAK,EAAEC,WAAW,CAAC;UAAAkL,mBAAA,GAAAxI,cAAA,CAAAuI,mBAAA;UAAxDnI,CAAC,GAAAoI,mBAAA;UAAEnI,CAAC,GAAAmI,mBAAA;QACX,IAAAC,WAAA,GAAsB/M,OAAO,CAACiI,MAAM,CAAC,CAACU,EAAE,CAAC,WAAW,EAAE;YACpDqE,MAAM,EAAE/B,eAAe,KAAKzJ;UAC9B,CAAC,CAAC;UAFMyL,SAAS,GAAAF,WAAA,CAATE,SAAS;QAGjB,oBAAOpN,KAAA,CAAAc,aAAA;UAAM4F,GAAG,EAAE/E,CAAE;UAAC0L,EAAE,EAAE,CAAE;UAACC,EAAE,EAAE,CAAE;UAACC,EAAE,EAAE1I,CAAE;UAAC2I,EAAE,EAAE1I,CAAE;UAACsI,SAAS,EAAEA;QAAU,EAAG;MAC3E,CAAC,CAAC,CACD;IAEP;EAAC;EAAA,OAAAtC,QAAA;AAAA,EA7FoB5K,SAAS;AAAAqG,eAAA,CAA1BuE,QAAQ,iBACS,SAAS;AAAAvE,eAAA,CAD1BuE,QAAQ,WAEG3J,KAAK;AAAAoF,eAAA,CAFhBuE,QAAQ,kBAIU,UAAA2C,MAAA,EAAuB;EAAA,IAApBhG,IAAI,GAAAgG,MAAA,CAAJhG,IAAI;IAAEF,OAAO,GAAAkG,MAAA,CAAPlG,OAAO;EACpC,IAAMK,UAAU,GAAGH,IAAI,CAACF,OAAO,CAAC;EAChC,OAAO;IACLK,UAAU,EAAVA;EACF,CAAC;AACH,CAAC;AAuFH,SAAS8F,SAASA,CAACpK,KAAK,EAAE;EACxB,IAAiBqK,SAAS,GAAwDrK,KAAK,CAA/E2E,OAAO;IAAaG,MAAM,GAAgD9E,KAAK,CAA3D8E,MAAM;IAAEC,IAAI,GAA0C/E,KAAK,CAAnD+E,IAAI;IAAEvE,KAAK,GAAmCR,KAAK,CAA7CQ,KAAK;IAAE2F,EAAE,GAA+BnG,KAAK,CAAtCmG,EAAE;IAAE7B,UAAU,GAAmBtE,KAAK,CAAlCsE,UAAU;IAAEZ,MAAM,GAAW1D,KAAK,CAAtB0D,MAAM;IAAEI,IAAI,GAAK9D,KAAK,CAAd8D,IAAI;EAC7E,IAAMvD,MAAM,GAAGrC,IAAI,CAACyI,GAAG,CAAC5B,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGrB,MAAM;EAEtD,OAAOlD,KAAK,CAACd,GAAG,CAAC,UAAC4K,IAAI,EAAEjM,CAAC,EAAK;IAAA,IAAAkM,KAAA;IAC5BpE,EAAE,CAAC5F,MAAM,CAAC;MAAA,OAAMA,MAAM,GAAG+J,IAAI;IAAA,EAAC;IAC9B,OAAAC,KAAA,GAAO1N,OAAO,CAACiI,MAAM,CAAC,EACpBhB,IAAI,KAAK,QAAQ,gBACfpH,KAAA,CAAAc,aAAA,CAAC6M,SAAS,EAAAE,KAAA,CAAA/E,EAAA;MAAA,OAAMnH,CAAC;MAAA,UAAS,QAAQ;MAAA,MAAK,CAAC;MAAA,MAAM,CAAC;MAAA,KAAKkC,MAAM,GAAG+J;IAAI,GAAI,gBAErE5N,KAAA,CAAAc,aAAA,CAAC6M,SAAS,EAAAE,KAAA,CAAA/E,EAAA;MAAA,UAAQ,MAAM;MAAA,OAAMnH,CAAC;MAAA,KAAK8H,EAAE,CAAC7B,UAAU;IAAC,GACnD;EAEL,CAAC,CAAC;AACJ;AAEA,SAASkG,UAAUA,CAACxK,KAAK,EAAE;EACzB,IAAiByK,UAAU,GAA8DzK,KAAK,CAAtF2E,OAAO;IAAcG,MAAM,GAAsD9E,KAAK,CAAjE8E,MAAM;IAAE3F,QAAQ,GAA4Ca,KAAK,CAAzDb,QAAQ;IAAE4F,IAAI,GAAsC/E,KAAK,CAA/C+E,IAAI;IAAErB,MAAM,GAA8B1D,KAAK,CAAzC0D,MAAM;IAAEY,UAAU,GAAkBtE,KAAK,CAAjCsE,UAAU;IAAE7F,WAAW,GAAKuB,KAAK,CAArBvB,WAAW;EACpF,IAAM8B,MAAM,GAAGrC,IAAI,CAACyI,GAAG,CAAC5B,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGrB,MAAM;EAEtD,OAAOY,UAAU,CAAC5E,GAAG,CAAC,UAAC+J,QAAQ,EAAEpL,CAAC,EAAK;IACrC,IAAAqM,mBAAA,GAAe7L,iBAAiB,CAACR,CAAC,EAAEkC,MAAM,EAAE+D,UAAU,CAAChF,MAAM,EAAEb,WAAW,CAAC;MAAAkM,mBAAA,GAAAxJ,cAAA,CAAAuJ,mBAAA;MAApEnJ,CAAC,GAAAoJ,mBAAA;MAAEnJ,CAAC,GAAAmJ,mBAAA;IACX,IAAAC,kBAAA,GAAiC5L,iBAAiB,CAACX,CAAC,EAAEiG,UAAU,CAAChF,MAAM,EAAEb,WAAW,CAAC;MAAAoM,mBAAA,GAAA1J,cAAA,CAAAyJ,kBAAA;MAA9E5I,UAAU,GAAA6I,mBAAA;MAAE5I,UAAU,GAAA4I,mBAAA;IAC7B,IAAI,OAAOpB,QAAQ,KAAK,QAAQ,EAAE;MAAA,IAAAqB,KAAA;MAChC9K,KAAK,CAACiF,gBAAgB,CAAC8F,QAAQ,CAAC,OAAO,EAAE1M,CAAC,EAAEoL,QAAQ,CAAC;MAErD,IAAMuB,KAAK,GAAGvB,QAAQ,CAACwB,KAAK,CAAC,IAAI,CAAC;MAClC,OAAAH,KAAA,GAAOjO,OAAO,CAACiI,MAAM,CAAC,eACpBpI,KAAA,CAAAc,aAAA,CAACiN,UAAU,EAAAK,KAAA,CAAAtF,EAAA;QAAA,OACJnH,CAAC;QAAA,UACC,MAAM;QAAA,oBACI,QAAQ;QAAA,KACtBkD,CAAC;QAAA,KACDC,CAAC;QAAA,cACQQ,UAAU;QAAA,cACVC;MAAU,IAErB+I,KAAK,CAACtL,GAAG,CAAC,UAACwL,QAAQ,EAAEC,SAAS;QAAA,oBAC7BzO,KAAA,CAAAc,aAAA;UACE+D,CAAC,EAAEA,CAAE;UACLC,CAAC,EAAEA,CAAC,GAAG,CAAC2J,SAAS,GAAG,CAACH,KAAK,CAAC1L,MAAM,GAAG,CAAC,IAAI,CAAC,IAAIH,QAAS;UACvDiE,GAAG,MAAAhB,MAAA,CAAM+I,SAAS,OAAA/I,MAAA,CAAI8I,QAAQ;QAAG,GAEhCA,QAAQ,CACH;MAAA,CACT,CAAC,CACS;IAEjB;IACA,kBAAIxO,KAAK,CAACkD,cAAc,CAAC6J,QAAQ,CAAC,EAAE;MAAA,IAAA2B,eAAA;MAClC,IAAAC,MAAA,IAAAD,eAAA,GAAkC3B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEzJ,KAAK,cAAAoL,eAAA,cAAAA,eAAA,GAAI,CAAC,CAAC;QAAAE,YAAA,GAAAD,MAAA,CAA/CpL,KAAK;QAALA,KAAK,GAAAqL,YAAA,cAAG,CAAC,GAAAA,YAAA;QAAAC,aAAA,GAAAF,MAAA,CAAEnL,MAAM;QAANA,MAAM,GAAAqL,aAAA,cAAG,CAAC,GAAAA,aAAA;MAC7B,IAAAC,qBAAA,GAA2BzJ,sBAAsB,CAACC,UAAU,EAAEC,UAAU,EAAEhC,KAAK,EAAEC,MAAM,CAAC;QAAAuL,sBAAA,GAAAtK,cAAA,CAAAqK,qBAAA;QAAjFtJ,OAAO,GAAAuJ,sBAAA;QAAEtJ,OAAO,GAAAsJ,sBAAA;MACvB,oBAAO9O,YAAY,CAAC8M,QAAQ,EAAE;QAC5BrG,GAAG,EAAE/E,CAAC;QACNkD,CAAC,EAAEA,CAAC,GAAGW,OAAO;QACdV,CAAC,EAAEA,CAAC,GAAGW;MACT,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;AACJ;AAAC,IAEKuJ,KAAK,0BAAAC,WAAA;EAAAnJ,SAAA,CAAAkJ,KAAA,EAAAC,WAAA;EAAA,IAAAC,OAAA,GAAAlJ,YAAA,CAAAgJ,KAAA;EAAA,SAAAA,MAAA;IAAA,IAAAG,MAAA;IAAAjJ,eAAA,OAAA8I,KAAA;IAAA,SAAAI,KAAA,GAAAzM,SAAA,CAAAC,MAAA,EAAAwD,IAAA,OAAApC,KAAA,CAAAoL,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAAjJ,IAAA,CAAAiJ,KAAA,IAAA1M,SAAA,CAAA0M,KAAA;IAAA;IAAAF,MAAA,GAAAD,OAAA,CAAA5I,IAAA,CAAA7C,KAAA,CAAAyL,OAAA,SAAAxJ,MAAA,CAAAU,IAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAA2I,MAAA,YACD;MACN3D,KAAK,EAAE;IACT,CAAC;IAAAjF,eAAA,CAAAC,sBAAA,CAAA2I,MAAA,qBAEgB3O,SAAS,EAAE,GAAG8O,QAAQ,CAACxO,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAAyF,eAAA,CAAAC,sBAAA,CAAA2I,MAAA,+BAEtC,IAAI;IAAA5I,eAAA,CAAAC,sBAAA,CAAA2I,MAAA,gCACH,IAAI;IAAA5I,eAAA,CAAAC,sBAAA,CAAA2I,MAAA,2BA8CT5O,OAAO,CAAC,UAACgP,CAAC,EAAK;MACpC,IAAAC,cAAA,GAAwCL,MAAA,CAAKtI,OAAO;QAA5CwF,YAAY,GAAAmD,cAAA,CAAZnD,YAAY;QAAEhE,IAAI,GAAAmH,cAAA,CAAJnH,IAAI;QAAEoH,OAAO,GAAAD,cAAA,CAAPC,OAAO;MACnC,IAAMC,KAAK,GAAG1O,YAAY,CAACuO,CAAC,EAAEE,OAAO,CAACE,OAAO,CAAC;MAC9C,IAAMC,IAAI,GAAGpO,IAAI,CAACyI,GAAG,CAAC5B,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC;MACvC,IAAMwH,OAAO,GAAGH,KAAK,CAAC,CAAC,CAAC,GAAGE,IAAI,GAAG,CAAC;MACnC,IAAME,OAAO,GAAGJ,KAAK,CAAC,CAAC,CAAC,GAAGE,IAAI,GAAG,CAAC;MACnC,IAAQG,OAAO,GAAcR,CAAC,CAAtBQ,OAAO;QAAEC,OAAO,GAAKT,CAAC,CAAbS,OAAO;MACxB;MACAb,MAAA,CAAKc,cAAc,CAACC,qBAAqB,GAAGf,MAAA,CAAKgB,6BAA6B,CAC5EJ,OAAO,EACPC,OAAO,CACR;MACDb,MAAA,CAAKc,cAAc,CAAClP,QAAQ,CAACqP,eAAe,CAAC,GAAG,IAAI;MAEpD,IAAM5E,KAAK,GAAG2D,MAAA,CAAKkB,QAAQ,CAAC,CAACR,OAAO,EAAEC,OAAO,CAAC,CAAC;MAE/CX,MAAA,CAAK1D,QAAQ,CACX;QACED,KAAK,EAALA;MACF,CAAC,EACD,YAAM;QACJa,YAAY,CAACiE,IAAI,CAAC,kBAAkB,EAAE9E,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE;UAAEA,KAAK,EAALA;QAAM,CAAC,EAAE2D,MAAA,CAAKc,cAAc,CAAC;MAC3F,CAAC,CACF;IACH,CAAC,CAAC;IAAA1J,eAAA,CAAAC,sBAAA,CAAA2I,MAAA,4BAEsB5O,OAAO,CAAC,YAAM;MACpC4O,MAAA,CAAK1D,QAAQ,CACX;QACED,KAAK,EAAE;MACT,CAAC,EACD,YAAM;QACJ2D,MAAA,CAAKtI,OAAO,CAACwF,YAAY,CAACiE,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE;UAAE9E,KAAK,EAAE;QAAK,CAAC,CAAC;MAChF,CAAC,CACF;IACH,CAAC,CAAC;IAAA,OAAA2D,MAAA;EAAA;EAAA1I,YAAA,CAAAuI,KAAA;IAAAtI,GAAA;IAAAQ,KAAA,EA/EF,SAAAiJ,8BAAA,EAA4C;MAAA,IAAdtL,CAAC,GAAAlC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;MAAA,IAAEmC,CAAC,GAAAnC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAEY,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAE+M,GAAG,EAAEzL,CAAC;UAAE0L,KAAK,EAAE3L,CAAC;UAAE4L,MAAM,EAAE3L,CAAC;UAAE4L,IAAI,EAAE7L;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAA6B,GAAA;IAAAQ,KAAA,EAED,SAAAyJ,WAAWnF,KAAK,EAAE;MAChB,IAAAoF,eAAA,GAAkD,IAAI,CAAC/J,OAAO;QAAtDe,UAAU,GAAAgJ,eAAA,CAAVhJ,UAAU;QAAES,IAAI,GAAAuI,eAAA,CAAJvI,IAAI;QAAErB,MAAM,GAAA4J,eAAA,CAAN5J,MAAM;QAAEjF,WAAW,GAAA6O,eAAA,CAAX7O,WAAW;MAC7C,IAAMD,KAAK,GAAG8F,UAAU,CAAChF,MAAM;MAC/B,IAAMgN,IAAI,GAAGpO,IAAI,CAACyI,GAAG,CAAC5B,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC;MACvC,IAAMxE,MAAM,GAAG+L,IAAI,GAAG,CAAC,GAAG5I,MAAM;MAChC,IAAM6J,SAAS,GAAG,CAACrF,KAAK,GAAG,CAAC,GAAG1J,KAAK,IAAIA,KAAK;MAC7C,IAAMgP,SAAS,GAAG,CAACtF,KAAK,GAAG,CAAC,GAAG1J,KAAK,IAAIA,KAAK;MAC7C,IAAAiP,mBAAA,GAAyB5O,iBAAiB,CAAC0O,SAAS,EAAEhN,MAAM,EAAE/B,KAAK,EAAEC,WAAW,CAAC;QAAAiP,mBAAA,GAAAvM,cAAA,CAAAsM,mBAAA;QAA1EE,MAAM,GAAAD,mBAAA;QAAEE,MAAM,GAAAF,mBAAA;MACrB,IAAAG,mBAAA,GAAehP,iBAAiB,CAACqJ,KAAK,EAAE3H,MAAM,EAAE/B,KAAK,EAAEC,WAAW,CAAC;QAAAqP,oBAAA,GAAA3M,cAAA,CAAA0M,mBAAA;QAA5DtM,CAAC,GAAAuM,oBAAA;QAAEtM,CAAC,GAAAsM,oBAAA;MACX,IAAAC,oBAAA,GAAyBlP,iBAAiB,CAAC2O,SAAS,EAAEjN,MAAM,EAAE/B,KAAK,EAAEC,WAAW,CAAC;QAAAuP,oBAAA,GAAA7M,cAAA,CAAA4M,oBAAA;QAA1EE,MAAM,GAAAD,oBAAA;QAAEE,MAAM,GAAAF,oBAAA;MACrB,OAAO,CACL,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAACL,MAAM,GAAGpM,CAAC,IAAI,CAAC,EAAE,CAACqM,MAAM,GAAGpM,CAAC,IAAI,CAAC,CAAC,EACpC,CAACD,CAAC,EAAEC,CAAC,CAAC,EACN,CAAC,CAACyM,MAAM,GAAG1M,CAAC,IAAI,CAAC,EAAE,CAAC2M,MAAM,GAAG1M,CAAC,IAAI,CAAC,CAAC,CACrC;IACH;EAAC;IAAA4B,GAAA;IAAAQ,KAAA,EAED,SAAAuK,OAAOjG,KAAK,EAAE;MACZ,IAAAkG,eAAA,GAAkD,IAAI,CAAC7K,OAAO;QAAtDe,UAAU,GAAA8J,eAAA,CAAV9J,UAAU;QAAES,IAAI,GAAAqJ,eAAA,CAAJrJ,IAAI;QAAErB,MAAM,GAAA0K,eAAA,CAAN1K,MAAM;QAAEjF,WAAW,GAAA2P,eAAA,CAAX3P,WAAW;MAC7C,IAAMR,KAAK,GAAIC,IAAI,CAACC,EAAE,GAAG,CAAC,GAAImG,UAAU,CAAChF,MAAM;MAC/C,IAAMiB,MAAM,GAAGrC,IAAI,CAACyI,GAAG,CAAC5B,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGrB,MAAM;MACtD,OAAO,CACLwE,KAAK,GAAGjK,KAAK,GAAGA,KAAK,GAAG,CAAC,GAAGQ,WAAW,EACvC,CAACyJ,KAAK,GAAG,CAAC,IAAIjK,KAAK,GAAGA,KAAK,GAAG,CAAC,GAAGQ,WAAW,EAC7C8B,MAAM,CACP;IACH;EAAC;IAAA6C,GAAA;IAAAQ,KAAA,EAED,SAAAmJ,SAASX,KAAK,EAAE;MAAA,IAAAiC,MAAA;MACd,IAAAC,eAAA,GAA6B,IAAI,CAAC/K,OAAO;QAAjCe,UAAU,GAAAgK,eAAA,CAAVhK,UAAU;QAAER,IAAI,GAAAwK,eAAA,CAAJxK,IAAI;MACxB,IAAIoE,KAAK;MACT,IAAIpE,IAAI,KAAK,QAAQ,EAAE;QACrBoE,KAAK,GAAG5D,UAAU,CAACiK,SAAS,CAAC,UAACC,CAAC,EAAEnQ,CAAC;UAAA,OAAK0C,WAAW,CAACsN,MAAI,CAACF,MAAM,CAAC9P,CAAC,CAAC,EAAE+N,KAAK,CAAC;QAAA,EAAC;MAC5E,CAAC,MAAM;QACLlE,KAAK,GAAG5D,UAAU,CAACiK,SAAS,CAAC,UAACC,CAAC,EAAEnQ,CAAC;UAAA,OAAKlB,eAAe,CAACkR,MAAI,CAAChB,UAAU,CAAChP,CAAC,CAAC,EAAE+N,KAAK,CAAC;QAAA,EAAC;MACpF;MACA,OAAOlE,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,GAAGA,KAAK;IACpC;EAAC;IAAA9E,GAAA;IAAAQ,KAAA,EAuCD,SAAAkF,kBAAA,EAAoB;MAAA,IAAA2F,MAAA;MAClB,IAAQ1F,YAAY,GAAK,IAAI,CAACxF,OAAO,CAA7BwF,YAAY;MACpB,IAAI,CAAC2F,wBAAwB,GAAG3F,YAAY,CAACE,SAAS,CAAC,iBAAiB,EAAE,UAACgD,CAAC,EAAK;QAC/EA,CAAC,CAAC0C,OAAO,EAAE;QACXF,MAAI,CAACG,oBAAoB,CAAC3C,CAAC,CAAC;MAC9B,CAAC,CAAC;MACF,IAAI,CAAC4C,yBAAyB,GAAG9F,YAAY,CAACE,SAAS,CACrD,kBAAkB,EAClB,IAAI,CAAC6F,qBAAqB,CAC3B;IACH;EAAC;IAAA1L,GAAA;IAAAQ,KAAA,EAED,SAAAuF,qBAAA,EAAuB;MACrB,IAAI,IAAI,CAACuF,wBAAwB,EAAE;QACjC,IAAI,CAACA,wBAAwB,EAAE;MACjC;MACA,IAAI,IAAI,CAACG,yBAAyB,EAAE;QAClC,IAAI,CAACA,yBAAyB,EAAE;MAClC;IACF;EAAC;IAAAzL,GAAA;IAAAQ,KAAA,EAED,SAAAY,OAAA,EAAS;MACP,IAAAuK,eAAA,GAAyB,IAAI,CAACxL,OAAO;QAA7BuB,MAAM,GAAAiK,eAAA,CAANjK,MAAM;QAAEhB,IAAI,GAAAiL,eAAA,CAAJjL,IAAI;MACpB,IAAQoE,KAAK,GAAK,IAAI,CAACqB,KAAK,CAApBrB,KAAK;MACb,IAAM8G,QAAQ,GAAG,IAAI,CAACrK,OAAO;MAE7B,IAAIuD,KAAK,KAAK,IAAI,EAAE;QAClB,IAAIpE,IAAI,KAAK,QAAQ,EAAE;UAAA,IAAAmL,KAAA;UACrB,IAAAC,YAAA,GAAuC,IAAI,CAACf,MAAM,CAACjG,KAAK,CAAC;YAAAiH,aAAA,GAAAhO,cAAA,CAAA+N,YAAA;YAAlD9N,UAAU,GAAA+N,aAAA;YAAE9N,QAAQ,GAAA8N,aAAA;YAAE5O,MAAM,GAAA4O,aAAA;UACnC,IAAMC,MAAM,GAAG7R,GAAG,EAAE,CACjB8R,WAAW,CAAC,CAAC,CAAC,CACdC,WAAW,CAAC/O,MAAM,CAAC,CACnBa,UAAU,CAACA,UAAU,CAAC,CACtBC,QAAQ,CAACA,QAAQ,CAAC;UACrB,OAAA4N,KAAA,GAAOpS,OAAO,CAACiI,MAAM,CAAC,eACpBpI,KAAA,CAAAc,aAAA,CAACwR,QAAQ,EAAAC,KAAA,CAAAzJ,EAAA;YAAA,UACA,MAAM;YAAA,KAEV4J,MAAM;UAAE,GACX;QAEN,CAAC,MAAM;UAAA,IAAAG,MAAA;UACL,OAAAA,MAAA,GAAO1S,OAAO,CAACiI,MAAM,CAAC,eACpBpI,KAAA,CAAAc,aAAA,CAACwR,QAAQ,EAAAO,MAAA,CAAA/J,EAAA;YAAA,UACA,MAAM;YAAA,KAEVpI,IAAI,EAAE,CAAC,IAAI,CAACiQ,UAAU,CAACnF,KAAK,CAAC;UAAC,GACjC;QAEN;MACF;MAEA,OAAO,IAAI;IACb;EAAC;EAAA,OAAAwD,KAAA;AAAA,EAhJiB9O,SAAS;AAmJ7B,IAAM2I,IAAI,GAAG/H,aAAa,CAACgK,QAAQ,EAAE;EACnCgI,KAAK,EAAEpF,SAAS;EAChBqF,MAAM,EAAEjF;AACV,CAAC,CAAC;AAEF,IAAMkF,OAAO,GAAGlS,aAAa,CAACiI,WAAW,EAAE;EACzCkK,IAAI,EAAE9I,WAAW;EACjB+I,IAAI,EAAE5I;AACR,CAAC,CAAC;AAEF,IAAM6I,YAAY,GAAG,SAAfA,YAAYA,CAAI7P,KAAK,EAAK;EAAA,IAAA8P,IAAA,GAAAC,YAAA;IAAAC,MAAA;EAC9B,IAAMC,aAAa,GAEMrS,OAAO;EADhC,OAAAoS,MAAA,GAAOnT,OAAO,CAACmD,KAAK,CAAC8E,MAAM,CAAC,eAC1BpI,KAAA,CAAAc,aAAA,CAACyS,aAAa,EAAAD,MAAA,CAAAxK,EAAA,kBAAA0K,aAAA,KAAAC,YAAA;IAAA,OAAuB7K,KAAK,CAACoG,KAAK;IAAA;EAAA,GAAAoE,IAAA,IAAuB;AAE3E,CAAC;AAED,IAAMxK,KAAK,GAAG9H,aAAa,CAAC8E,SAAS,EAAE;EACrCiD,IAAI,EAAJA,IAAI;EACJmK,OAAO,EAAPA,OAAO;EACPhE,KAAK,EAALA,KAAK;EACL9N,OAAO,EAAE,CAACiS,YAAY,EAAEjS,OAAO,CAACwS,yBAAyB;AAC3D,CAAC,CAAC;AAEF,eAAe9K,KAAK"}
|