intergalactic 15.52.0-prerelease.0-prerelease-15fe9f5e → 15.53.0-prerelease-dfe34e97

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.
Files changed (215) hide show
  1. package/CHANGELOG.md +31 -4
  2. package/accordion/lib/cjs/Accordion.js +7 -6
  3. package/accordion/lib/cjs/Accordion.js.map +1 -1
  4. package/accordion/lib/cjs/style/accordion.shadow.css +2 -2
  5. package/accordion/lib/es6/Accordion.js +7 -6
  6. package/accordion/lib/es6/Accordion.js.map +1 -1
  7. package/accordion/lib/es6/style/accordion.shadow.css +2 -2
  8. package/components.json +12 -12
  9. package/d3-chart/Pattern.d.ts +336 -0
  10. package/d3-chart/Plot.d.ts +4 -0
  11. package/d3-chart/RadialTree.d.ts +7 -2
  12. package/d3-chart/component/Chart/AbstractChart.type.d.ts +3 -0
  13. package/d3-chart/component/ChartLegend/BaseLegend.type.d.ts +3 -0
  14. package/d3-chart/component/ChartLegend/LegendItem/LegendItem.type.d.ts +7 -1
  15. package/d3-chart/index.d.ts +3 -0
  16. package/d3-chart/lib/cjs/Area.js +25 -13
  17. package/d3-chart/lib/cjs/Area.js.map +1 -1
  18. package/d3-chart/lib/cjs/Axis.js +14 -14
  19. package/d3-chart/lib/cjs/Bar.js +23 -12
  20. package/d3-chart/lib/cjs/Bar.js.map +1 -1
  21. package/d3-chart/lib/cjs/Bubble.js +25 -13
  22. package/d3-chart/lib/cjs/Bubble.js.map +1 -1
  23. package/d3-chart/lib/cjs/Donut.js +28 -12
  24. package/d3-chart/lib/cjs/Donut.js.map +1 -1
  25. package/d3-chart/lib/cjs/Dots.js +55 -28
  26. package/d3-chart/lib/cjs/Dots.js.map +1 -1
  27. package/d3-chart/lib/cjs/GroupBar.js +4 -2
  28. package/d3-chart/lib/cjs/GroupBar.js.map +1 -1
  29. package/d3-chart/lib/cjs/HorizontalBar.js +23 -12
  30. package/d3-chart/lib/cjs/HorizontalBar.js.map +1 -1
  31. package/d3-chart/lib/cjs/Hover.js +9 -6
  32. package/d3-chart/lib/cjs/Hover.js.map +1 -1
  33. package/d3-chart/lib/cjs/Line.js +23 -15
  34. package/d3-chart/lib/cjs/Line.js.map +1 -1
  35. package/d3-chart/lib/cjs/Pattern.js +540 -0
  36. package/d3-chart/lib/cjs/Pattern.js.map +1 -0
  37. package/d3-chart/lib/cjs/Plot.js +7 -5
  38. package/d3-chart/lib/cjs/Plot.js.map +1 -1
  39. package/d3-chart/lib/cjs/Radar.js +126 -83
  40. package/d3-chart/lib/cjs/Radar.js.map +1 -1
  41. package/d3-chart/lib/cjs/RadialTree.js +126 -100
  42. package/d3-chart/lib/cjs/RadialTree.js.map +1 -1
  43. package/d3-chart/lib/cjs/ReferenceLine.js +9 -9
  44. package/d3-chart/lib/cjs/ScatterPlot.js +22 -10
  45. package/d3-chart/lib/cjs/ScatterPlot.js.map +1 -1
  46. package/d3-chart/lib/cjs/StackBar.js +8 -4
  47. package/d3-chart/lib/cjs/StackBar.js.map +1 -1
  48. package/d3-chart/lib/cjs/StackedArea.js +4 -1
  49. package/d3-chart/lib/cjs/StackedArea.js.map +1 -1
  50. package/d3-chart/lib/cjs/Tooltip.js +21 -11
  51. package/d3-chart/lib/cjs/Tooltip.js.map +1 -1
  52. package/d3-chart/lib/cjs/Venn.js +28 -12
  53. package/d3-chart/lib/cjs/Venn.js.map +1 -1
  54. package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
  55. package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
  56. package/d3-chart/lib/cjs/component/Chart/AbstractChart.js +7 -3
  57. package/d3-chart/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  58. package/d3-chart/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
  59. package/d3-chart/lib/cjs/component/ChartLegend/BaseLegend.js +4 -2
  60. package/d3-chart/lib/cjs/component/ChartLegend/BaseLegend.js.map +1 -1
  61. package/d3-chart/lib/cjs/component/ChartLegend/BaseLegend.type.js.map +1 -1
  62. package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  63. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +80 -53
  64. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  65. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js +1 -1
  66. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  67. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/legend-item.shadow.css +17 -3
  68. package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  69. package/d3-chart/lib/cjs/index.js +19 -0
  70. package/d3-chart/lib/cjs/index.js.map +1 -1
  71. package/d3-chart/lib/cjs/style/area.shadow.css +6 -1
  72. package/d3-chart/lib/cjs/style/bar.shadow.css +7 -1
  73. package/d3-chart/lib/cjs/style/bubble.shadow.css +8 -1
  74. package/d3-chart/lib/cjs/style/donut.shadow.css +7 -1
  75. package/d3-chart/lib/cjs/style/dot.shadow.css +2 -2
  76. package/d3-chart/lib/cjs/style/radar.shadow.css +7 -1
  77. package/d3-chart/lib/cjs/style/radial-tree.shadow.css +5 -0
  78. package/d3-chart/lib/cjs/style/scatterplot.shadow.css +8 -1
  79. package/d3-chart/lib/cjs/style/tooltip.shadow.css +6 -6
  80. package/d3-chart/lib/cjs/style/venn.shadow.css +11 -0
  81. package/d3-chart/lib/cjs/types/Plot.d.js.map +1 -1
  82. package/d3-chart/lib/cjs/types/index.d.js +12 -0
  83. package/d3-chart/lib/cjs/types/index.d.js.map +1 -1
  84. package/d3-chart/lib/es6/Area.js +25 -13
  85. package/d3-chart/lib/es6/Area.js.map +1 -1
  86. package/d3-chart/lib/es6/Axis.js +14 -14
  87. package/d3-chart/lib/es6/Bar.js +23 -12
  88. package/d3-chart/lib/es6/Bar.js.map +1 -1
  89. package/d3-chart/lib/es6/Bubble.js +25 -13
  90. package/d3-chart/lib/es6/Bubble.js.map +1 -1
  91. package/d3-chart/lib/es6/Donut.js +28 -12
  92. package/d3-chart/lib/es6/Donut.js.map +1 -1
  93. package/d3-chart/lib/es6/Dots.js +56 -29
  94. package/d3-chart/lib/es6/Dots.js.map +1 -1
  95. package/d3-chart/lib/es6/GroupBar.js +4 -2
  96. package/d3-chart/lib/es6/GroupBar.js.map +1 -1
  97. package/d3-chart/lib/es6/HorizontalBar.js +23 -12
  98. package/d3-chart/lib/es6/HorizontalBar.js.map +1 -1
  99. package/d3-chart/lib/es6/Hover.js +9 -6
  100. package/d3-chart/lib/es6/Hover.js.map +1 -1
  101. package/d3-chart/lib/es6/Line.js +24 -16
  102. package/d3-chart/lib/es6/Line.js.map +1 -1
  103. package/d3-chart/lib/es6/Pattern.js +534 -0
  104. package/d3-chart/lib/es6/Pattern.js.map +1 -0
  105. package/d3-chart/lib/es6/Plot.js +7 -5
  106. package/d3-chart/lib/es6/Plot.js.map +1 -1
  107. package/d3-chart/lib/es6/Radar.js +126 -83
  108. package/d3-chart/lib/es6/Radar.js.map +1 -1
  109. package/d3-chart/lib/es6/RadialTree.js +127 -101
  110. package/d3-chart/lib/es6/RadialTree.js.map +1 -1
  111. package/d3-chart/lib/es6/ReferenceLine.js +9 -9
  112. package/d3-chart/lib/es6/ScatterPlot.js +22 -10
  113. package/d3-chart/lib/es6/ScatterPlot.js.map +1 -1
  114. package/d3-chart/lib/es6/StackBar.js +8 -4
  115. package/d3-chart/lib/es6/StackBar.js.map +1 -1
  116. package/d3-chart/lib/es6/StackedArea.js +4 -1
  117. package/d3-chart/lib/es6/StackedArea.js.map +1 -1
  118. package/d3-chart/lib/es6/Tooltip.js +22 -11
  119. package/d3-chart/lib/es6/Tooltip.js.map +1 -1
  120. package/d3-chart/lib/es6/Venn.js +28 -12
  121. package/d3-chart/lib/es6/Venn.js.map +1 -1
  122. package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
  123. package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
  124. package/d3-chart/lib/es6/component/Chart/AbstractChart.js +7 -3
  125. package/d3-chart/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  126. package/d3-chart/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
  127. package/d3-chart/lib/es6/component/ChartLegend/BaseLegend.js +4 -2
  128. package/d3-chart/lib/es6/component/ChartLegend/BaseLegend.js.map +1 -1
  129. package/d3-chart/lib/es6/component/ChartLegend/BaseLegend.type.js.map +1 -1
  130. package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  131. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +80 -53
  132. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  133. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js +1 -1
  134. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  135. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/legend-item.shadow.css +17 -3
  136. package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  137. package/d3-chart/lib/es6/index.js +1 -0
  138. package/d3-chart/lib/es6/index.js.map +1 -1
  139. package/d3-chart/lib/es6/style/area.shadow.css +6 -1
  140. package/d3-chart/lib/es6/style/bar.shadow.css +7 -1
  141. package/d3-chart/lib/es6/style/bubble.shadow.css +8 -1
  142. package/d3-chart/lib/es6/style/donut.shadow.css +7 -1
  143. package/d3-chart/lib/es6/style/dot.shadow.css +2 -2
  144. package/d3-chart/lib/es6/style/radar.shadow.css +7 -1
  145. package/d3-chart/lib/es6/style/radial-tree.shadow.css +5 -0
  146. package/d3-chart/lib/es6/style/scatterplot.shadow.css +8 -1
  147. package/d3-chart/lib/es6/style/tooltip.shadow.css +6 -6
  148. package/d3-chart/lib/es6/style/venn.shadow.css +11 -0
  149. package/d3-chart/lib/es6/types/Plot.d.js.map +1 -1
  150. package/d3-chart/lib/es6/types/index.d.js +3 -0
  151. package/d3-chart/lib/es6/types/index.d.js.map +1 -1
  152. package/d3-chart/lib/types/Pattern.d.ts +336 -0
  153. package/d3-chart/lib/types/Plot.d.ts +4 -0
  154. package/d3-chart/lib/types/RadialTree.d.ts +7 -2
  155. package/d3-chart/lib/types/component/Chart/AbstractChart.type.d.ts +3 -0
  156. package/d3-chart/lib/types/component/ChartLegend/BaseLegend.type.d.ts +3 -0
  157. package/d3-chart/lib/types/component/ChartLegend/LegendItem/LegendItem.type.d.ts +7 -1
  158. package/d3-chart/lib/types/index.d.ts +3 -0
  159. package/date-picker/lib/cjs/components/RangePickerAbstract.js +8 -4
  160. package/date-picker/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  161. package/date-picker/lib/es6/components/RangePickerAbstract.js +8 -4
  162. package/date-picker/lib/es6/components/RangePickerAbstract.js.map +1 -1
  163. package/drag-and-drop/index.d.ts +13 -2
  164. package/drag-and-drop/lib/cjs/DragAndDrop.js +96 -44
  165. package/drag-and-drop/lib/cjs/DragAndDrop.js.map +1 -1
  166. package/drag-and-drop/lib/cjs/index.d.js.map +1 -1
  167. package/drag-and-drop/lib/cjs/translations/de.json +5 -0
  168. package/drag-and-drop/lib/cjs/translations/en.json +5 -0
  169. package/drag-and-drop/lib/cjs/translations/es.json +5 -0
  170. package/drag-and-drop/lib/cjs/translations/fr.json +5 -0
  171. package/drag-and-drop/lib/cjs/translations/it.json +5 -0
  172. package/drag-and-drop/lib/cjs/translations/ja.json +5 -0
  173. package/drag-and-drop/lib/cjs/translations/ko.json +5 -0
  174. package/drag-and-drop/lib/cjs/translations/nl.json +5 -0
  175. package/drag-and-drop/lib/cjs/translations/pl.json +5 -0
  176. package/drag-and-drop/lib/cjs/translations/pt.json +5 -0
  177. package/drag-and-drop/lib/cjs/translations/sv.json +5 -0
  178. package/drag-and-drop/lib/cjs/translations/tr.json +5 -0
  179. package/drag-and-drop/lib/cjs/translations/vi.json +5 -0
  180. package/drag-and-drop/lib/cjs/translations/zh.json +5 -0
  181. package/drag-and-drop/lib/es6/DragAndDrop.js +96 -44
  182. package/drag-and-drop/lib/es6/DragAndDrop.js.map +1 -1
  183. package/drag-and-drop/lib/es6/index.d.js.map +1 -1
  184. package/drag-and-drop/lib/es6/translations/de.json +5 -0
  185. package/drag-and-drop/lib/es6/translations/en.json +5 -0
  186. package/drag-and-drop/lib/es6/translations/es.json +5 -0
  187. package/drag-and-drop/lib/es6/translations/fr.json +5 -0
  188. package/drag-and-drop/lib/es6/translations/it.json +5 -0
  189. package/drag-and-drop/lib/es6/translations/ja.json +5 -0
  190. package/drag-and-drop/lib/es6/translations/ko.json +5 -0
  191. package/drag-and-drop/lib/es6/translations/nl.json +5 -0
  192. package/drag-and-drop/lib/es6/translations/pl.json +5 -0
  193. package/drag-and-drop/lib/es6/translations/pt.json +5 -0
  194. package/drag-and-drop/lib/es6/translations/sv.json +5 -0
  195. package/drag-and-drop/lib/es6/translations/tr.json +5 -0
  196. package/drag-and-drop/lib/es6/translations/vi.json +5 -0
  197. package/drag-and-drop/lib/es6/translations/zh.json +5 -0
  198. package/drag-and-drop/lib/types/index.d.ts +13 -2
  199. package/package.json +3 -3
  200. package/pills/lib/cjs/Pills.js +44 -57
  201. package/pills/lib/cjs/Pills.js.map +1 -1
  202. package/pills/lib/cjs/style/pills.shadow.css +3 -9
  203. package/pills/lib/es6/Pills.js +44 -57
  204. package/pills/lib/es6/Pills.js.map +1 -1
  205. package/pills/lib/es6/style/pills.shadow.css +3 -9
  206. package/utils/lib/enhances/a11yEnhance.d.ts +9 -3
  207. package/utils/lib/enhances/a11yEnhance.js +11 -11
  208. package/utils/lib/enhances/a11yEnhance.js.map +1 -1
  209. package/utils/lib/enhances/a11yEnhance.mjs +11 -11
  210. package/utils/lib/enhances/a11yEnhance.mjs.map +1 -1
  211. package/utils/lib/themes/auto.css +3 -3
  212. package/utils/lib/themes/dark.css +2 -2
  213. package/utils/lib/themes/dark.json +1 -1
  214. package/utils/lib/themes/default.css +1 -1
  215. package/utils/lib/themes/light.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Radar.js","names":["_core","require","_react","_interopRequireWildcard","_uniqueID","_interopRequireDefault","_getOriginChildren","_rafTrottle","_canUseDOM","_d3Polygon","_d3Shape","_createElement","_utils","_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","measureText","React","isValidElement","_text$props","_text$props2","max","props","width","height","apply","_toConsumableArray2","getTicks","tickSize","radius","ticks","trunc","Array","keys","reduce","t","push","pieContains","_ref12","_ref13","_ref14","_slicedToArray2","startAngle","endAngle","_ref15","x","y","distance","sqrt","pow","atan2","prevAngle","nextAngle","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","concat","MINIMUM_OFFSET","RadarRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","_key","call","_defineProperty2","_assertThisInitialized2","_createClass2","key","get","_this$asProps","asProps","id","uid","offset","computeOffset","value","getAxisProps","type","getPolygonProps","_ref16","index","dataKey","_this$asProps2","data","scale","color","getChartDefaultColorName","getHoverProps","categories","categoriesKey","render","_ref2","SRadar","Element","_this$asProps3","Children","styles","size","_size","dataHintsHandler","establishDataType","toArray","getOriginChildren","forEach","child","Radar","Axis","createElement","cn","Component","uniqueIDEnhancement","PolygonRoot","_Component2","_super2","getDotsProps","_this$asProps4","resolveColor","transparent","categoryKey","getLineProps","_this$asProps5","d3","_ref3","_this$asProps6","SPolygon","fill","_ref21","_ref21$curve","curve","curveLinearClosed","min","lineRadial","d","PolygonLine","_ref4","SPolygonLine","PolygonDots","SPolygonDot","_ref5","describeGroupedValues","_getRadianPosition","_getRadianPosition2","cx","cy","AxisRoot","_Component3","_super3","_this2","_len2","_key2","activeLineIndex","_visible","_anchorProps","_ref17","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","cloneElement","Hover","_Component4","_super4","_this3","_len3","_key3","canUseDOM","document","trottle","e","_this3$asProps","rootRef","point","eventToPoint","current","diam","centerX","centerY","clientX","clientY","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","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","polygonContains","_this5","unsubscribeMouseMoveRoot","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","_this$asProps13","SPieRect","_ref9","_this$getPie","_this$getPie2","circle","arc","innerRadius","outerRadius","_ref10","line","Ticks","Labels","Polygon","Line","Dots","RadarTooltip","_ref","arguments[0]","_ref11","SRadarTooltip","Tooltip","_objectSpread2","assignProps","_______childrenComponents","_default","exports"],"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, getChartDefaultColorName, 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 }, index) {\n const { data, scale, angleOffset } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n angleOffset,\n color: getChartDefaultColorName(index),\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 {\n data,\n scale,\n color,\n resolveColor,\n transparent,\n dataKey,\n dataHintsHandler,\n angleOffset,\n } = this.asProps;\n return {\n data,\n scale,\n color,\n resolveColor,\n transparent,\n categoryKey: dataKey,\n dataHintsHandler,\n angleOffset,\n };\n }\n\n getLineProps() {\n const { d3, data, color, resolveColor, transparent } = this.asProps;\n return {\n data,\n color,\n resolveColor,\n transparent,\n d3,\n };\n }\n\n render() {\n const { Element: SPolygon, styles, d3, data, color, resolveColor, fill } = this.asProps;\n return sstyled(styles)(\n <SPolygon render='path' d={d3(data)} color={resolveColor(fill || color)} />,\n );\n }\n}\n\nfunction PolygonLine(props) {\n const { Element: SPolygonLine, styles, d3, color, resolveColor, data, transparent } = props;\n return sstyled(styles)(\n <SPolygonLine\n render='path'\n d={d3(data)}\n color={resolveColor(color)}\n transparent={transparent}\n />,\n );\n}\n\nfunction PolygonDots(props) {\n const {\n Element: SPolygonDot,\n styles,\n color,\n resolveColor,\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={resolveColor(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":";;;;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,WAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,UAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,cAAA,GAAAN,sBAAA,CAAAJ,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAR,sBAAA,CAAAJ,OAAA;AAAgC;AAAA,IAAAa,KAAA,+BAAAd,KAAA,CAAAe,OAAA,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,OAAO,IAAAC,kBAAW,EAACD,IAAI,EAAER,QAAQ,CAAC;IACpC;IACA,kBAAIU,iBAAK,CAACC,cAAc,CAACH,IAAI,CAAC,EAAE;MAAA,IAAAI,WAAA,EAAAC,YAAA;MAC9B;MACA,OAAO9B,IAAI,CAAC+B,GAAG,CAAC,EAAAF,WAAA,GAAAJ,IAAI,CAACO,KAAK,cAAAH,WAAA,uBAAVA,WAAA,CAAYI,KAAK,KAAIf,YAAY,EAAE,EAAAY,YAAA,GAAAL,IAAI,CAACO,KAAK,cAAAF,YAAA,uBAAVA,YAAA,CAAYI,MAAM,KAAIZ,aAAa,CAAC;IACzF;IACA,OAAOJ,YAAY;EACrB,CAAC,CAAC;EACF,OAAOlB,IAAI,CAAC+B,GAAG,CAAAI,KAAA,CAARnC,IAAI,MAAAoC,mBAAA,aAAQb,MAAM,EAAC;AAC5B;AAEA,SAASc,QAAQA,CAACC,QAAQ,EAAEC,MAAM,EAAE;EAClC,IAAIC,KAAK,GAAG,CAAC;EACb,OAAOxC,IAAI,CAACyC,KAAK,CAACF,MAAM,IAAID,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAGE,KAAK,EAAE;IAClDA,KAAK,IAAI,CAAC;EACZ;EACA,OAAO,IAAAJ,mBAAA,aAAIM,KAAK,CAACF,KAAK,CAAC,CAACG,IAAI,EAAE,EAAEC,MAAM,CAAC,UAACJ,KAAK,EAAEK,CAAC,EAAE1C,CAAC,EAAEG,KAAK,EAAK;IAC7D,IAAIH,CAAC,EAAEqC,KAAK,CAACM,IAAI,CAAC3C,CAAC,GAAGG,KAAK,CAACc,MAAM,CAAC;IACnC,OAAOoB,KAAK;EACd,CAAC,EAAE,EAAE,CAAC;AACR;AAEA,SAASO,WAAWA,CAAAC,MAAA,EAAAC,MAAA,EAAyC;EAAA,IAAAC,MAAA,OAAAC,eAAA,aAAAH,MAAA;IAAvCI,UAAU,GAAAF,MAAA;IAAEG,QAAQ,GAAAH,MAAA;IAAEX,MAAM,GAAAW,MAAA;EAAA,IAAAI,MAAA,OAAAH,eAAA,aAAAF,MAAA;IAAIM,CAAC,GAAAD,MAAA;IAAEE,CAAC,GAAAF,MAAA;EACxD,IAAMG,QAAQ,GAAGzD,IAAI,CAAC0D,IAAI,CAAC1D,IAAA,CAAA2D,GAAA,CAAAJ,CAAC,EAAI,CAAC,IAAAvD,IAAA,CAAA2D,GAAA,CAAGH,CAAC,EAAI,CAAC,EAAC;EAC3C,IAAIC,QAAQ,GAAGlB,MAAM,EAAE,OAAO,KAAK;EAEnCa,UAAU,GAAGtD,UAAU,CAACsD,UAAU,CAAC;EACnCC,QAAQ,GAAGvD,UAAU,CAACuD,QAAQ,CAAC;EAC/BD,UAAU,GAAGA,UAAU,GAAGC,QAAQ,GAAGD,UAAU,GAAGA,UAAU,GAAG,CAAC,GAAGpD,IAAI,CAACC,EAAE;EAE1E,IAAMF,KAAK,GAAGD,UAAU,CAACE,IAAI,CAAC4D,KAAK,CAACJ,CAAC,EAAED,CAAC,CAAC,GAAGvD,IAAI,CAACC,EAAE,GAAG,CAAC,CAAC;EACxD,IAAM4D,SAAS,GAAG9D,KAAK,GAAGC,IAAI,CAACC,EAAE,GAAG,CAAC;EACrC,IAAM6D,SAAS,GAAG/D,KAAK,GAAGC,IAAI,CAACC,EAAE,GAAG,CAAC;EAErC,IAAIF,KAAK,GAAGqD,UAAU,IAAIrD,KAAK,GAAGsD,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;AAEO,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;EAAA,IAAAC,UAAA,aAAAF,SAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,SAAA;EAAA,SAAAA,UAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,SAAA;IAAA,SAAAO,IAAA,GAAA1D,SAAA,CAAAC,MAAA,EAAA0D,IAAA,OAAApC,KAAA,CAAAmC,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;MAAAD,IAAA,CAAAC,IAAA,IAAA5D,SAAA,CAAA4D,IAAA;IAAA;IAAAJ,KAAA,GAAAF,MAAA,CAAAO,IAAA,CAAA7C,KAAA,CAAAsC,MAAA,SAAAL,MAAA,CAAAU,IAAA;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAP,KAAA,oBAKG,CAAC;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAP,KAAA,oBAED,IAAI;IAAA,OAAAA,KAAA;EAAA;EAAA,IAAAQ,aAAA,aAAAb,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,IAAQpE,QAAQ,GAAK,IAAI,CAACsE,OAAO,CAAzBtE,QAAQ;MAChB,OAAOA,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,EAAE;IACvB;EAAC;IAAAmE,GAAA;IAAAQ,KAAA,EAED,SAAAC,aAAA,EAAe;MACb,OAAO;QACLH,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBzE,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvB6E,IAAI,EAAE,IAAI,CAACP,OAAO,CAACO,IAAI;QACvBvF,WAAW,EAAE,IAAI,CAACgF,OAAO,CAAChF;MAC5B,CAAC;IACH;EAAC;IAAA6E,GAAA;IAAAQ,KAAA,EAED,SAAAG,gBAAAC,MAAA,EAA6BC,KAAK,EAAE;MAAA,IAAlBC,OAAO,GAAAF,MAAA,CAAPE,OAAO;MACvB,IAAAC,cAAA,GAAqC,IAAI,CAACZ,OAAO;QAAzCa,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEC,KAAK,GAAAF,cAAA,CAALE,KAAK;QAAE9F,WAAW,GAAA4F,cAAA,CAAX5F,WAAW;MAEhC,OAAO;QACLmF,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBU,IAAI,EAAEA,IAAI,CAACF,OAAO,CAAC,IAAI,EAAE;QACzBG,KAAK,EAALA,KAAK;QACL9F,WAAW,EAAXA,WAAW;QACX+F,KAAK,EAAE,IAAAC,+BAAwB,EAACN,KAAK;MACvC,CAAC;IACH;EAAC;IAAAb,GAAA;IAAAQ,KAAA,EAED,SAAAY,cAAA,EAAgB;MACd,OAAO;QACLV,IAAI,EAAE,IAAI,CAACP,OAAO,CAACO,IAAI;QACvBJ,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBe,UAAU,EAAE,IAAI,CAAClB,OAAO,CAACa,IAAI,CAAC,IAAI,CAACM,aAAa,CAAC;QACjDnG,WAAW,EAAE,IAAI,CAACgF,OAAO,CAAChF;MAC5B,CAAC;IACH;EAAC;IAAA6E,GAAA;IAAAQ,KAAA,EAED,SAAAe,OAAA,EAAS;MAAA,IAAAC,KAAA;MACP,IAAMC,MAAM,GAAG,IAAI,CAACC,OAAO;MAC3B,IAAAC,cAAA,GAAiD,IAAI,CAACxB,OAAO;QAArDyB,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEC,MAAM,GAAAF,cAAA,CAANE,MAAM;QAAEC,IAAI,GAAAH,cAAA,CAAJG,IAAI;QAAEd,IAAI,GAAAW,cAAA,CAAJX,IAAI;QAAEV,MAAM,GAAAqB,cAAA,CAANrB,MAAM;MAC5C,IAAAyB,KAAA,OAAAhE,eAAA,aAAwB+D,IAAI;QAArBjF,KAAK,GAAAkF,KAAA;QAAEjF,MAAM,GAAAiF,KAAA;MAEpB,IAAI,CAAC5B,OAAO,CAAC6B,gBAAgB,CAACC,iBAAiB,CAAC,gBAAgB,CAAC;MAEjE,IAAInB,OAAO;MACXvE,iBAAK,CAACqF,QAAQ,CAACM,OAAO,CAAC,IAAAC,6BAAiB,EAACP,QAAQ,CAAC,CAAC,CAACQ,OAAO,CAAC,UAACC,KAAK,EAAK;QACrE,IAAI,cAAA9F,iBAAK,CAACC,cAAc,CAAC6F,KAAK,CAAC,IAAIA,KAAK,CAAC3B,IAAI,KAAK4B,KAAK,CAACC,IAAI,EAAE;UAC5DzB,OAAO,GAAGuB,KAAK,CAACzF,KAAK,CAACkE,OAAO;QAC/B;MACF,CAAC,CAAC;MACF,IAAIA,OAAO,EAAE;QACX,IAAIR,MAAM,KAAKrE,SAAS,EAAE;UACxB;UACA,IAAI,CAACsE,aAAa,GAAG5E,gBAAgB,CAACqF,IAAI,CAACF,OAAO,CAAC,EAAE,IAAI,CAACjF,QAAQ,CAAC,GAAGoD,cAAc;QACtF;QACA,IAAI,CAACqC,aAAa,GAAGR,OAAO;MAC9B;MAEA,OAAAU,KAAA,GAAO,IAAAhH,aAAO,EAACqH,MAAM,CAAC,eACpBlI,MAAA,YAAA6I,aAAA,CAACf,MAAM,EAAAD,KAAA,CAAAiB,EAAA;QAAA;QAAA,MAED,IAAI,CAACrC,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,EAzFqBwD,eAAS;AAAA,IAAA7C,gBAAA,aAA3BX,SAAS,iBACQ,MAAM;AAAA,IAAAW,gBAAA,aADvBX,SAAS,WAEE3E,KAAK;AAAA,IAAAsF,gBAAA,aAFhBX,SAAS,aAGI,CAAC,IAAAyD,oBAAmB,GAAE,CAAC;AAAA,IAAA9C,gBAAA,aAHpCX,SAAS,kBASS;EACpBwB,IAAI,EAAE,SAAS;EACfvF,WAAW,EAAE;AACf,CAAC;AAAA,IAgFGyH,WAAW,0BAAAC,WAAA;EAAA,IAAAzD,UAAA,aAAAwD,WAAA,EAAAC,WAAA;EAAA,IAAAC,OAAA,OAAAxD,aAAA,aAAAsD,WAAA;EAAA,SAAAA,YAAA;IAAA,IAAApD,gBAAA,mBAAAoD,WAAA;IAAA,OAAAE,OAAA,CAAA/F,KAAA,OAAAhB,SAAA;EAAA;EAAA,IAAAgE,aAAA,aAAA6C,WAAA;IAAA5C,GAAA;IAAAQ,KAAA,EAmBf,SAAAuC,aAAA,EAAe;MACb,IAAAC,cAAA,GASI,IAAI,CAAC7C,OAAO;QARda,IAAI,GAAAgC,cAAA,CAAJhC,IAAI;QACJC,KAAK,GAAA+B,cAAA,CAAL/B,KAAK;QACLC,KAAK,GAAA8B,cAAA,CAAL9B,KAAK;QACL+B,YAAY,GAAAD,cAAA,CAAZC,YAAY;QACZC,WAAW,GAAAF,cAAA,CAAXE,WAAW;QACXpC,OAAO,GAAAkC,cAAA,CAAPlC,OAAO;QACPkB,gBAAgB,GAAAgB,cAAA,CAAhBhB,gBAAgB;QAChB7G,WAAW,GAAA6H,cAAA,CAAX7H,WAAW;MAEb,OAAO;QACL6F,IAAI,EAAJA,IAAI;QACJC,KAAK,EAALA,KAAK;QACLC,KAAK,EAALA,KAAK;QACL+B,YAAY,EAAZA,YAAY;QACZC,WAAW,EAAXA,WAAW;QACXC,WAAW,EAAErC,OAAO;QACpBkB,gBAAgB,EAAhBA,gBAAgB;QAChB7G,WAAW,EAAXA;MACF,CAAC;IACH;EAAC;IAAA6E,GAAA;IAAAQ,KAAA,EAED,SAAA4C,aAAA,EAAe;MACb,IAAAC,cAAA,GAAuD,IAAI,CAAClD,OAAO;QAA3DmD,EAAE,GAAAD,cAAA,CAAFC,EAAE;QAAEtC,IAAI,GAAAqC,cAAA,CAAJrC,IAAI;QAAEE,KAAK,GAAAmC,cAAA,CAALnC,KAAK;QAAE+B,YAAY,GAAAI,cAAA,CAAZJ,YAAY;QAAEC,WAAW,GAAAG,cAAA,CAAXH,WAAW;MAClD,OAAO;QACLlC,IAAI,EAAJA,IAAI;QACJE,KAAK,EAALA,KAAK;QACL+B,YAAY,EAAZA,YAAY;QACZC,WAAW,EAAXA,WAAW;QACXI,EAAE,EAAFA;MACF,CAAC;IACH;EAAC;IAAAtD,GAAA;IAAAQ,KAAA,EAED,SAAAe,OAAA,EAAS;MAAA,IAAAgC,KAAA;MACP,IAAAC,cAAA,GAA2E,IAAI,CAACrD,OAAO;QAAtEsD,QAAQ,GAAAD,cAAA,CAAjB9B,OAAO;QAAYG,MAAM,GAAA2B,cAAA,CAAN3B,MAAM;QAAEyB,EAAE,GAAAE,cAAA,CAAFF,EAAE;QAAEtC,IAAI,GAAAwC,cAAA,CAAJxC,IAAI;QAAEE,KAAK,GAAAsC,cAAA,CAALtC,KAAK;QAAE+B,YAAY,GAAAO,cAAA,CAAZP,YAAY;QAAES,IAAI,GAAAF,cAAA,CAAJE,IAAI;MACtE,OAAAH,KAAA,GAAO,IAAA/I,aAAO,EAACqH,MAAM,CAAC,eACpBlI,MAAA,YAAA6I,aAAA,CAACiB,QAAQ,EAAAF,KAAA,CAAAd,EAAA;QAAA,UAAQ,MAAM;QAAA,KAAIa,EAAE,CAACtC,IAAI,CAAC;QAAA,SAASiC,YAAY,CAACS,IAAI,IAAIxC,KAAK;MAAC,GAAI;IAE/E;EAAC;EAAA,OAAA0B,WAAA;AAAA,EA1DuBF,eAAS;AAAA,IAAA7C,gBAAA,aAA7B+C,WAAW,iBACM,SAAS;AAAA,IAAA/C,gBAAA,aAD1B+C,WAAW,WAEArI,KAAK;AAAA,IAAAsF,gBAAA,aAFhB+C,WAAW,kBAIO,UAAAe,MAAA,EAAqE;EAAA,IAAlE1C,KAAK,GAAA0C,MAAA,CAAL1C,KAAK;IAAA2C,YAAA,GAAAD,MAAA,CAAEE,KAAK;IAALA,KAAK,GAAAD,YAAA,cAAGE,0BAAiB,GAAAF,YAAA;IAAE9B,IAAI,GAAA6B,MAAA,CAAJ7B,IAAI;IAAExB,MAAM,GAAAqD,MAAA,CAANrD,MAAM;IAAEnF,WAAW,GAAAwI,MAAA,CAAXxI,WAAW;EAClF8F,KAAK,CAACjG,KAAK,CAAC,CAAC,CAAC,EAAEJ,IAAI,CAACmJ,GAAG,CAACjC,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGxB,MAAM,CAAC,CAAC;EAEzD,OAAO;IACLgD,EAAE,EAAE,IAAAU,mBAAU,GAAE,CACbH,KAAK,CAACA,KAAK,CAAC,CACZ1G,MAAM,CAAC,UAAC8G,CAAC,EAAK;MACb,OAAOhD,KAAK,CAACgD,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CACDtJ,KAAK,CAAC,UAACsJ,CAAC,EAAElJ,CAAC,EAAEiG,IAAI,EAAK;MACrB,OAAQjG,CAAC,GAAGiG,IAAI,CAAChF,MAAM,GAAI,CAAC,GAAGpB,IAAI,CAACC,EAAE,GAAGM,WAAW;IACtD,CAAC;EACL,CAAC;AACH,CAAC;AA4CH,SAAS+I,WAAWA,CAACtH,KAAK,EAAE;EAAA,IAAAuH,KAAA;EAC1B,IAAiBC,YAAY,GAAyDxH,KAAK,CAAnF8E,OAAO;IAAgBG,MAAM,GAAiDjF,KAAK,CAA5DiF,MAAM;IAAEyB,EAAE,GAA6C1G,KAAK,CAApD0G,EAAE;IAAEpC,KAAK,GAAsCtE,KAAK,CAAhDsE,KAAK;IAAE+B,YAAY,GAAwBrG,KAAK,CAAzCqG,YAAY;IAAEjC,IAAI,GAAkBpE,KAAK,CAA3BoE,IAAI;IAAEkC,WAAW,GAAKtG,KAAK,CAArBsG,WAAW;EACjF,OAAAiB,KAAA,GAAO,IAAA3J,aAAO,EAACqH,MAAM,CAAC,eACpBlI,MAAA,YAAA6I,aAAA,CAAC4B,YAAY,EAAAD,KAAA,CAAA1B,EAAA;IAAA,UACJ,MAAM;IAAA,KACVa,EAAE,CAACtC,IAAI,CAAC;IAAA,SACJiC,YAAY,CAAC/B,KAAK,CAAC;IAAA,eACbgC;EAAW,GACxB;AAEN;AAEA,SAASmB,WAAWA,CAACzH,KAAK,EAAE;EAC1B,IACW0H,WAAW,GASlB1H,KAAK,CATP8E,OAAO;IACPG,MAAM,GAQJjF,KAAK,CARPiF,MAAM;IACNX,KAAK,GAOHtE,KAAK,CAPPsE,KAAK;IACL+B,YAAY,GAMVrG,KAAK,CANPqG,YAAY;IACZjC,IAAI,GAKFpE,KAAK,CALPoE,IAAI;IACJC,KAAK,GAIHrE,KAAK,CAJPqE,KAAK;IACLiC,WAAW,GAGTtG,KAAK,CAHPsG,WAAW;IACXC,WAAW,GAETvG,KAAK,CAFPuG,WAAW;IACXhI,WAAW,GACTyB,KAAK,CADPzB,WAAW;EAEb,OAAO6F,IAAI,CAAC5E,GAAG,CAAC,UAACoE,KAAK,EAAEzF,CAAC,EAAK;IAAA,IAAAwJ,KAAA;IAC5B,IAAI/D,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKvE,SAAS,EAAE;IAC3C,IAAMkB,MAAM,GAAG8D,KAAK,CAACT,KAAK,CAAC;IAC3B5D,KAAK,CAACoF,gBAAgB,CAACwC,qBAAqB,CAACrB,WAAW,KAAAnE,MAAA,CAAKmE,WAAW,OAAAnE,MAAA,CAAIjE,CAAC,EAAG;IAChF,IAAA0J,kBAAA,GAAiBlJ,iBAAiB,CAACR,CAAC,EAAEoC,MAAM,EAAE6D,IAAI,CAAChF,MAAM,EAAEb,WAAW,CAAC;MAAAuJ,mBAAA,OAAA3G,eAAA,aAAA0G,kBAAA;MAAhEE,EAAE,GAAAD,mBAAA;MAAEE,EAAE,GAAAF,mBAAA;IACb,OAAAH,KAAA,GAAO,IAAA/J,aAAO,EAACqH,MAAM,CAAC,eACpBlI,MAAA,YAAA6I,aAAA,CAAC8B,WAAW,EAAAC,KAAA,CAAA9B,EAAA;MAAA,OACL1H,CAAC;MAAA,UACC,QAAQ;MAAA,MACX4J,EAAE;MAAA,MACFC,EAAE;MAAA,SACC3B,YAAY,CAAC/B,KAAK,CAAC;MAAA,eACbgC;IAAW,GACxB;EAEN,CAAC,CAAC;AACJ;AAAC,IAEK2B,QAAQ,0BAAAC,WAAA;EAAA,IAAA1F,UAAA,aAAAyF,QAAA,EAAAC,WAAA;EAAA,IAAAC,OAAA,OAAAzF,aAAA,aAAAuF,QAAA;EAAA,SAAAA,SAAA;IAAA,IAAAG,MAAA;IAAA,IAAAxF,gBAAA,mBAAAqF,QAAA;IAAA,SAAAI,KAAA,GAAAlJ,SAAA,CAAAC,MAAA,EAAA0D,IAAA,OAAApC,KAAA,CAAA2H,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAAxF,IAAA,CAAAwF,KAAA,IAAAnJ,SAAA,CAAAmJ,KAAA;IAAA;IAAAF,MAAA,GAAAD,OAAA,CAAAnF,IAAA,CAAA7C,KAAA,CAAAgI,OAAA,SAAA/F,MAAA,CAAAU,IAAA;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAkF,MAAA,gCAWgB,IAAI;IAAA,IAAAnF,gBAAA,iBAAAC,uBAAA,aAAAkF,MAAA,YAExB;MACNG,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAtF,gBAAA,iBAAAC,uBAAA,aAAAkF,MAAA,4BAoCuB,UAACI,QAAQ,EAAEC,YAAY,EAAAC,MAAA,EAAgB;MAAA,IAAZzE,KAAK,GAAAyE,MAAA,CAALzE,KAAK;MACtDmE,MAAA,CAAKO,QAAQ,CAAC;QACZJ,eAAe,EAAEtE;MACnB,CAAC,CAAC;IACJ,CAAC;IAAA,OAAAmE,MAAA;EAAA;EAAA,IAAAjF,aAAA,aAAA8E,QAAA;IAAA7E,GAAA;IAAAQ,KAAA,EAtCD,SAAAgF,iBAAiBrI,MAAM,EAAEjC,KAAK,EAAE;MAC9B,OAAO,IAAA8I,mBAAU,GAAE,CAChBH,KAAK,CAACC,0BAAiB,CAAC,CACxB3G,MAAM,CAAC,YAAM;QACZ,OAAOA,MAAM;MACf,CAAC,CAAC,CACDxC,KAAK,CAAC,UAACsJ,CAAC,EAAElJ,CAAC,EAAK;QACf,OAAQA,CAAC,GAAGG,KAAK,GAAI,CAAC,GAAGN,IAAI,CAACC,EAAE;MAClC,CAAC,CAAC;IACN;EAAC;IAAAmF,GAAA;IAAAQ,KAAA,EAED,SAAAiF,cAAAC,MAAA,EAAkC;MAAA,IAAAC,eAAA,GAAAD,MAAA,CAAlBxI,QAAQ;QAARA,QAAQ,GAAAyI,eAAA,cAAG,GAAG,GAAAA,eAAA;MAC5B,IAAAC,cAAA,GAAiD,IAAI,CAACzF,OAAO;QAArDa,IAAI,GAAA4E,cAAA,CAAJ5E,IAAI;QAAEV,MAAM,GAAAsF,cAAA,CAANtF,MAAM;QAAEe,UAAU,GAAAuE,cAAA,CAAVvE,UAAU;QAAES,IAAI,GAAA8D,cAAA,CAAJ9D,IAAI;QAAEpB,IAAI,GAAAkF,cAAA,CAAJlF,IAAI;MAC5C,IAAMvD,MAAM,GAAGvC,IAAI,CAACmJ,GAAG,CAACjC,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGxB,MAAM;MACtD,OAAO;QACLI,IAAI,EAAJA,IAAI;QACJM,IAAI,EAAJA,IAAI;QACJK,UAAU,EAAVA,UAAU;QACVjE,KAAK,EAAEH,QAAQ,CAACC,QAAQ,EAAEC,MAAM,CAAC;QACjCmD,MAAM,EAANA,MAAM;QACNgD,EAAE,EAAE,IAAI,CAACkC,gBAAgB,CAACrI,MAAM,EAAEkE,UAAU,CAACrF,MAAM;MACrD,CAAC;IACH;EAAC;IAAAgE,GAAA;IAAAQ,KAAA,EAED,SAAAqF,eAAAC,MAAA,EAAqC;MAAA,IAAAC,kBAAA,GAAAD,MAAA,CAApBE,WAAW;QAAXA,WAAW,GAAAD,kBAAA,cAAG,EAAE,GAAAA,kBAAA;MAC/B,IAAAE,cAAA,GAAsD,IAAI,CAAC9F,OAAO;QAA1DG,MAAM,GAAA2F,cAAA,CAAN3F,MAAM;QAAEe,UAAU,GAAA4E,cAAA,CAAV5E,UAAU;QAAExF,QAAQ,GAAAoK,cAAA,CAARpK,QAAQ;QAAEV,WAAW,GAAA8K,cAAA,CAAX9K,WAAW;MACjD,OAAO;QACLkG,UAAU,EAAVA,UAAU;QACVxF,QAAQ,EAARA,QAAQ;QACRyE,MAAM,EAAEA,MAAM,GAAG0F,WAAW;QAC5B7K,WAAW,EAAXA;MACF,CAAC;IACH;EAAC;IAAA6E,GAAA;IAAAQ,KAAA,EAQD,SAAA0F,kBAAA,EAAoB;MAClB,IAAQC,YAAY,GAAK,IAAI,CAAChG,OAAO,CAA7BgG,YAAY;MACpB,IAAI,CAACC,yBAAyB,GAAGD,YAAY,CAACE,SAAS,CACrD,kBAAkB,EAClB,IAAI,CAACC,qBAAqB,CAC3B;IACH;EAAC;IAAAtG,GAAA;IAAAQ,KAAA,EAED,SAAA+F,qBAAA,EAAuB;MACrB,IAAI,IAAI,CAACH,yBAAyB,EAAE;QAClC,IAAI,CAACA,yBAAyB,EAAE;MAClC;IACF;EAAC;IAAApG,GAAA;IAAAQ,KAAA,EAED,SAAAe,OAAA,EAAS;MAAA,IAAAiF,KAAA;MACP,IAAAC,cAAA,GAAgF,IAAI,CAACtG,OAAO;QAA3EuG,KAAK,GAAAD,cAAA,CAAd/E,OAAO;QAASG,MAAM,GAAA4E,cAAA,CAAN5E,MAAM;QAAER,UAAU,GAAAoF,cAAA,CAAVpF,UAAU;QAAES,IAAI,GAAA2E,cAAA,CAAJ3E,IAAI;QAAExB,MAAM,GAAAmG,cAAA,CAANnG,MAAM;QAAEI,IAAI,GAAA+F,cAAA,CAAJ/F,IAAI;QAAEvF,WAAW,GAAAsL,cAAA,CAAXtL,WAAW;MAC3E,IAAQgK,eAAe,GAAK,IAAI,CAACwB,KAAK,CAA9BxB,eAAe;MACvB,IAAMhI,MAAM,GAAGvC,IAAI,CAACmJ,GAAG,CAACjC,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGxB,MAAM;MACtD,IAAMpF,KAAK,GAAGmG,UAAU,CAACrF,MAAM;MAE/B,OAAAwK,KAAA,GAAO,IAAAhM,aAAO,EAACqH,MAAM,CAAC,eACpBlI,MAAA,YAAA6I,aAAA,CAAA7I,MAAA,YAAAiN,QAAA,QACGlG,IAAI,KAAK,QAAQ,gBAChB/G,MAAA,YAAA6I,aAAA,CAACkE,KAAK,EAAAF,KAAA,CAAA/D,EAAA;QAAA,UAAQ,QAAQ;QAAA,MAAK,CAAC;QAAA,MAAM,CAAC;QAAA,KAAKtF;MAAM,GAAI,gBAElDxD,MAAA,YAAA6I,aAAA,CAACkE,KAAK,EAAAF,KAAA,CAAA/D,EAAA;QAAA,UAAQ,MAAM;QAAA,KAAI,IAAI,CAAC+C,gBAAgB,CAACrI,MAAM,EAAEjC,KAAK,CAAC,CAACmG,UAAU;MAAC,GACzE,EACAA,UAAU,CAACjF,GAAG,CAAC,UAACyK,QAAQ,EAAE9L,CAAC,EAAK;QAC/B,IAAA+L,mBAAA,GAAevL,iBAAiB,CAACR,CAAC,EAAEoC,MAAM,EAAEjC,KAAK,EAAEC,WAAW,CAAC;UAAA4L,mBAAA,OAAAhJ,eAAA,aAAA+I,mBAAA;UAAxD3I,CAAC,GAAA4I,mBAAA;UAAE3I,CAAC,GAAA2I,mBAAA;QACX,IAAAC,WAAA,GAAsB,IAAAxM,aAAO,EAACqH,MAAM,CAAC,CAACY,EAAE,CAAC,WAAW,EAAE;YACpDwE,MAAM,EAAE9B,eAAe,KAAKpK;UAC9B,CAAC,CAAC;UAFMmM,SAAS,GAAAF,WAAA,CAATE,SAAS;QAGjB,oBAAOvN,MAAA,YAAA6I,aAAA;UAAMxC,GAAG,EAAEjF,CAAE;UAACoM,EAAE,EAAE,CAAE;UAACC,EAAE,EAAE,CAAE;UAACC,EAAE,EAAElJ,CAAE;UAACmJ,EAAE,EAAElJ,CAAE;UAAC8I,SAAS,EAAEA;QAAU,EAAG;MAC3E,CAAC,CAAC,CACD;IAEP;EAAC;EAAA,OAAArC,QAAA;AAAA,EA7FoBnC,eAAS;AAAA,IAAA7C,gBAAA,aAA1BgF,QAAQ,iBACS,SAAS;AAAA,IAAAhF,gBAAA,aAD1BgF,QAAQ,WAEGtK,KAAK;AAAA,IAAAsF,gBAAA,aAFhBgF,QAAQ,kBAIU,UAAA0C,MAAA,EAAuB;EAAA,IAApBvG,IAAI,GAAAuG,MAAA,CAAJvG,IAAI;IAAEF,OAAO,GAAAyG,MAAA,CAAPzG,OAAO;EACpC,IAAMO,UAAU,GAAGL,IAAI,CAACF,OAAO,CAAC;EAChC,OAAO;IACLO,UAAU,EAAVA;EACF,CAAC;AACH,CAAC;AAuFH,SAASmG,SAASA,CAAC5K,KAAK,EAAE;EACxB,IAAiB6K,SAAS,GAAwD7K,KAAK,CAA/E8E,OAAO;IAAaG,MAAM,GAAgDjF,KAAK,CAA3DiF,MAAM;IAAEC,IAAI,GAA0ClF,KAAK,CAAnDkF,IAAI;IAAE1E,KAAK,GAAmCR,KAAK,CAA7CQ,KAAK;IAAEkG,EAAE,GAA+B1G,KAAK,CAAtC0G,EAAE;IAAEjC,UAAU,GAAmBzE,KAAK,CAAlCyE,UAAU;IAAEf,MAAM,GAAW1D,KAAK,CAAtB0D,MAAM;IAAEI,IAAI,GAAK9D,KAAK,CAAd8D,IAAI;EAC7E,IAAMvD,MAAM,GAAGvC,IAAI,CAACmJ,GAAG,CAACjC,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGxB,MAAM;EAEtD,OAAOlD,KAAK,CAAChB,GAAG,CAAC,UAACsL,IAAI,EAAE3M,CAAC,EAAK;IAAA,IAAA4M,KAAA;IAC5BrE,EAAE,CAACnG,MAAM,CAAC;MAAA,OAAMA,MAAM,GAAGuK,IAAI;IAAA,EAAC;IAC9B,OAAAC,KAAA,GAAO,IAAAnN,aAAO,EAACqH,MAAM,CAAC,EACpBnB,IAAI,KAAK,QAAQ,gBACf/G,MAAA,YAAA6I,aAAA,CAACiF,SAAS,EAAAE,KAAA,CAAAlF,EAAA;MAAA,OAAM1H,CAAC;MAAA,UAAS,QAAQ;MAAA,MAAK,CAAC;MAAA,MAAM,CAAC;MAAA,KAAKoC,MAAM,GAAGuK;IAAI,GAAI,gBAErE/N,MAAA,YAAA6I,aAAA,CAACiF,SAAS,EAAAE,KAAA,CAAAlF,EAAA;MAAA,UAAQ,MAAM;MAAA,OAAM1H,CAAC;MAAA,KAAKuI,EAAE,CAACjC,UAAU;IAAC,GACnD;EAEL,CAAC,CAAC;AACJ;AAEA,SAASuG,UAAUA,CAAChL,KAAK,EAAE;EACzB,IAAiBiL,UAAU,GAA8DjL,KAAK,CAAtF8E,OAAO;IAAcG,MAAM,GAAsDjF,KAAK,CAAjEiF,MAAM;IAAEhG,QAAQ,GAA4Ce,KAAK,CAAzDf,QAAQ;IAAEiG,IAAI,GAAsClF,KAAK,CAA/CkF,IAAI;IAAExB,MAAM,GAA8B1D,KAAK,CAAzC0D,MAAM;IAAEe,UAAU,GAAkBzE,KAAK,CAAjCyE,UAAU;IAAElG,WAAW,GAAKyB,KAAK,CAArBzB,WAAW;EACpF,IAAMgC,MAAM,GAAGvC,IAAI,CAACmJ,GAAG,CAACjC,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGxB,MAAM;EAEtD,OAAOe,UAAU,CAACjF,GAAG,CAAC,UAACyK,QAAQ,EAAE9L,CAAC,EAAK;IACrC,IAAA+M,mBAAA,GAAevM,iBAAiB,CAACR,CAAC,EAAEoC,MAAM,EAAEkE,UAAU,CAACrF,MAAM,EAAEb,WAAW,CAAC;MAAA4M,mBAAA,OAAAhK,eAAA,aAAA+J,mBAAA;MAApE3J,CAAC,GAAA4J,mBAAA;MAAE3J,CAAC,GAAA2J,mBAAA;IACX,IAAAC,kBAAA,GAAiCtM,iBAAiB,CAACX,CAAC,EAAEsG,UAAU,CAACrF,MAAM,EAAEb,WAAW,CAAC;MAAA8M,mBAAA,OAAAlK,eAAA,aAAAiK,kBAAA;MAA9EpJ,UAAU,GAAAqJ,mBAAA;MAAEpJ,UAAU,GAAAoJ,mBAAA;IAC7B,IAAI,OAAOpB,QAAQ,KAAK,QAAQ,EAAE;MAAA,IAAAqB,KAAA;MAChCtL,KAAK,CAACoF,gBAAgB,CAACmG,QAAQ,CAAC,OAAO,EAAEpN,CAAC,EAAE8L,QAAQ,CAAC;MAErD,IAAMuB,KAAK,GAAGvB,QAAQ,CAACwB,KAAK,CAAC,IAAI,CAAC;MAClC,OAAAH,KAAA,GAAO,IAAA1N,aAAO,EAACqH,MAAM,CAAC,eACpBlI,MAAA,YAAA6I,aAAA,CAACqF,UAAU,EAAAK,KAAA,CAAAzF,EAAA;QAAA,OACJ1H,CAAC;QAAA,UACC,MAAM;QAAA,oBACI,QAAQ;QAAA,KACtBoD,CAAC;QAAA,KACDC,CAAC;QAAA,cACQQ,UAAU;QAAA,cACVC;MAAU,IAErBuJ,KAAK,CAAChM,GAAG,CAAC,UAACkM,QAAQ,EAAEC,SAAS;QAAA,oBAC7B5O,MAAA,YAAA6I,aAAA;UACErE,CAAC,EAAEA,CAAE;UACLC,CAAC,EAAEA,CAAC,GAAG,CAACmK,SAAS,GAAG,CAACH,KAAK,CAACpM,MAAM,GAAG,CAAC,IAAI,CAAC,IAAIH,QAAS;UACvDmE,GAAG,MAAAhB,MAAA,CAAMuJ,SAAS,OAAAvJ,MAAA,CAAIsJ,QAAQ;QAAG,GAEhCA,QAAQ,CACH;MAAA,CACT,CAAC,CACS;IAEjB;IACA,kBAAI/L,iBAAK,CAACC,cAAc,CAACqK,QAAQ,CAAC,EAAE;MAAA,IAAA2B,eAAA;MAClC,IAAAC,MAAA,IAAAD,eAAA,GAAkC3B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEjK,KAAK,cAAA4L,eAAA,cAAAA,eAAA,GAAI,CAAC,CAAC;QAAAE,YAAA,GAAAD,MAAA,CAA/C5L,KAAK;QAALA,KAAK,GAAA6L,YAAA,cAAG,CAAC,GAAAA,YAAA;QAAAC,aAAA,GAAAF,MAAA,CAAE3L,MAAM;QAANA,MAAM,GAAA6L,aAAA,cAAG,CAAC,GAAAA,aAAA;MAC7B,IAAAC,qBAAA,GAA2BjK,sBAAsB,CAACC,UAAU,EAAEC,UAAU,EAAEhC,KAAK,EAAEC,MAAM,CAAC;QAAA+L,sBAAA,OAAA9K,eAAA,aAAA6K,qBAAA;QAAjF9J,OAAO,GAAA+J,sBAAA;QAAE9J,OAAO,GAAA8J,sBAAA;MACvB,oBAAO,IAAAC,mBAAY,EAACjC,QAAQ,EAAE;QAC5B7G,GAAG,EAAEjF,CAAC;QACNoD,CAAC,EAAEA,CAAC,GAAGW,OAAO;QACdV,CAAC,EAAEA,CAAC,GAAGW;MACT,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;AACJ;AAAC,IAEKgK,KAAK,0BAAAC,WAAA;EAAA,IAAA5J,UAAA,aAAA2J,KAAA,EAAAC,WAAA;EAAA,IAAAC,OAAA,OAAA3J,aAAA,aAAAyJ,KAAA;EAAA,SAAAA,MAAA;IAAA,IAAAG,MAAA;IAAA,IAAA1J,gBAAA,mBAAAuJ,KAAA;IAAA,SAAAI,KAAA,GAAApN,SAAA,CAAAC,MAAA,EAAA0D,IAAA,OAAApC,KAAA,CAAA6L,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAA1J,IAAA,CAAA0J,KAAA,IAAArN,SAAA,CAAAqN,KAAA;IAAA;IAAAF,MAAA,GAAAD,OAAA,CAAArJ,IAAA,CAAA7C,KAAA,CAAAkM,OAAA,SAAAjK,MAAA,CAAAU,IAAA;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAoJ,MAAA,YACD;MACNrI,KAAK,EAAE;IACT,CAAC;IAAA,IAAAhB,gBAAA,iBAAAC,uBAAA,aAAAoJ,MAAA,qBAEgB,IAAAG,qBAAS,GAAE,GAAGC,QAAQ,CAAC9G,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,IAAA3C,gBAAA,iBAAAC,uBAAA,aAAAoJ,MAAA,+BAEtC,IAAI;IAAA,IAAArJ,gBAAA,iBAAAC,uBAAA,aAAAoJ,MAAA,gCACH,IAAI;IAAA,IAAArJ,gBAAA,iBAAAC,uBAAA,aAAAoJ,MAAA,2BA8CT,IAAAK,sBAAO,EAAC,UAACC,CAAC,EAAK;MACpC,IAAAC,cAAA,GAAwCP,MAAA,CAAK/I,OAAO;QAA5CgG,YAAY,GAAAsD,cAAA,CAAZtD,YAAY;QAAErE,IAAI,GAAA2H,cAAA,CAAJ3H,IAAI;QAAE4H,OAAO,GAAAD,cAAA,CAAPC,OAAO;MACnC,IAAMC,KAAK,GAAG,IAAAC,mBAAY,EAACJ,CAAC,EAAEE,OAAO,CAACG,OAAO,CAAC;MAC9C,IAAMC,IAAI,GAAGlP,IAAI,CAACmJ,GAAG,CAACjC,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC;MACvC,IAAMiI,OAAO,GAAGJ,KAAK,CAAC,CAAC,CAAC,GAAGG,IAAI,GAAG,CAAC;MACnC,IAAME,OAAO,GAAGL,KAAK,CAAC,CAAC,CAAC,GAAGG,IAAI,GAAG,CAAC;MACnC,IAAQG,OAAO,GAAcT,CAAC,CAAtBS,OAAO;QAAEC,OAAO,GAAKV,CAAC,CAAbU,OAAO;MACxB;MACAhB,MAAA,CAAKiB,cAAc,CAACC,qBAAqB,GAAGlB,MAAA,CAAKmB,6BAA6B,CAC5EJ,OAAO,EACPC,OAAO,CACR;MACDhB,MAAA,CAAKiB,cAAc,CAACG,eAAQ,CAACC,eAAe,CAAC,GAAG,IAAI;MAEpD,IAAM1J,KAAK,GAAGqI,MAAA,CAAKsB,QAAQ,CAAC,CAACT,OAAO,EAAEC,OAAO,CAAC,CAAC;MAE/Cd,MAAA,CAAK3D,QAAQ,CACX;QACE1E,KAAK,EAALA;MACF,CAAC,EACD,YAAM;QACJsF,YAAY,CAACsE,IAAI,CAAC,kBAAkB,EAAE5J,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE;UAAEA,KAAK,EAALA;QAAM,CAAC,EAAEqI,MAAA,CAAKiB,cAAc,CAAC;MAC3F,CAAC,CACF;IACH,CAAC,CAAC;IAAA,IAAAtK,gBAAA,iBAAAC,uBAAA,aAAAoJ,MAAA,4BAEsB,IAAAK,sBAAO,EAAC,YAAM;MACpCL,MAAA,CAAK3D,QAAQ,CACX;QACE1E,KAAK,EAAE;MACT,CAAC,EACD,YAAM;QACJqI,MAAA,CAAK/I,OAAO,CAACgG,YAAY,CAACsE,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE;UAAE5J,KAAK,EAAE;QAAK,CAAC,CAAC;MAChF,CAAC,CACF;IACH,CAAC,CAAC;IAAA,OAAAqI,MAAA;EAAA;EAAA,IAAAnJ,aAAA,aAAAgJ,KAAA;IAAA/I,GAAA;IAAAQ,KAAA,EA/EF,SAAA6J,8BAAA,EAA4C;MAAA,IAAdlM,CAAC,GAAApC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;MAAA,IAAEqC,CAAC,GAAArC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAEc,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAE4N,GAAG,EAAEtM,CAAC;UAAEuM,KAAK,EAAExM,CAAC;UAAEyM,MAAM,EAAExM,CAAC;UAAEyM,IAAI,EAAE1M;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAA6B,GAAA;IAAAQ,KAAA,EAED,SAAAsK,WAAWjK,KAAK,EAAE;MAChB,IAAAkK,eAAA,GAAkD,IAAI,CAAC5K,OAAO;QAAtDkB,UAAU,GAAA0J,eAAA,CAAV1J,UAAU;QAAES,IAAI,GAAAiJ,eAAA,CAAJjJ,IAAI;QAAExB,MAAM,GAAAyK,eAAA,CAANzK,MAAM;QAAEnF,WAAW,GAAA4P,eAAA,CAAX5P,WAAW;MAC7C,IAAMD,KAAK,GAAGmG,UAAU,CAACrF,MAAM;MAC/B,IAAM8N,IAAI,GAAGlP,IAAI,CAACmJ,GAAG,CAACjC,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC;MACvC,IAAM3E,MAAM,GAAG2M,IAAI,GAAG,CAAC,GAAGxJ,MAAM;MAChC,IAAM0K,SAAS,GAAG,CAACnK,KAAK,GAAG,CAAC,GAAG3F,KAAK,IAAIA,KAAK;MAC7C,IAAM+P,SAAS,GAAG,CAACpK,KAAK,GAAG,CAAC,GAAG3F,KAAK,IAAIA,KAAK;MAC7C,IAAAgQ,mBAAA,GAAyB3P,iBAAiB,CAACyP,SAAS,EAAE7N,MAAM,EAAEjC,KAAK,EAAEC,WAAW,CAAC;QAAAgQ,mBAAA,OAAApN,eAAA,aAAAmN,mBAAA;QAA1EE,MAAM,GAAAD,mBAAA;QAAEE,MAAM,GAAAF,mBAAA;MACrB,IAAAG,mBAAA,GAAe/P,iBAAiB,CAACsF,KAAK,EAAE1D,MAAM,EAAEjC,KAAK,EAAEC,WAAW,CAAC;QAAAoQ,oBAAA,OAAAxN,eAAA,aAAAuN,mBAAA;QAA5DnN,CAAC,GAAAoN,oBAAA;QAAEnN,CAAC,GAAAmN,oBAAA;MACX,IAAAC,oBAAA,GAAyBjQ,iBAAiB,CAAC0P,SAAS,EAAE9N,MAAM,EAAEjC,KAAK,EAAEC,WAAW,CAAC;QAAAsQ,oBAAA,OAAA1N,eAAA,aAAAyN,oBAAA;QAA1EE,MAAM,GAAAD,oBAAA;QAAEE,MAAM,GAAAF,oBAAA;MACrB,OAAO,CACL,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAACL,MAAM,GAAGjN,CAAC,IAAI,CAAC,EAAE,CAACkN,MAAM,GAAGjN,CAAC,IAAI,CAAC,CAAC,EACpC,CAACD,CAAC,EAAEC,CAAC,CAAC,EACN,CAAC,CAACsN,MAAM,GAAGvN,CAAC,IAAI,CAAC,EAAE,CAACwN,MAAM,GAAGvN,CAAC,IAAI,CAAC,CAAC,CACrC;IACH;EAAC;IAAA4B,GAAA;IAAAQ,KAAA,EAED,SAAAoL,OAAO/K,KAAK,EAAE;MACZ,IAAAgL,eAAA,GAAkD,IAAI,CAAC1L,OAAO;QAAtDkB,UAAU,GAAAwK,eAAA,CAAVxK,UAAU;QAAES,IAAI,GAAA+J,eAAA,CAAJ/J,IAAI;QAAExB,MAAM,GAAAuL,eAAA,CAANvL,MAAM;QAAEnF,WAAW,GAAA0Q,eAAA,CAAX1Q,WAAW;MAC7C,IAAMR,KAAK,GAAIC,IAAI,CAACC,EAAE,GAAG,CAAC,GAAIwG,UAAU,CAACrF,MAAM;MAC/C,IAAMmB,MAAM,GAAGvC,IAAI,CAACmJ,GAAG,CAACjC,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGxB,MAAM;MACtD,OAAO,CACLO,KAAK,GAAGlG,KAAK,GAAGA,KAAK,GAAG,CAAC,GAAGQ,WAAW,EACvC,CAAC0F,KAAK,GAAG,CAAC,IAAIlG,KAAK,GAAGA,KAAK,GAAG,CAAC,GAAGQ,WAAW,EAC7CgC,MAAM,CACP;IACH;EAAC;IAAA6C,GAAA;IAAAQ,KAAA,EAED,SAAAgK,SAASb,KAAK,EAAE;MAAA,IAAAmC,MAAA;MACd,IAAAC,eAAA,GAA6B,IAAI,CAAC5L,OAAO;QAAjCkB,UAAU,GAAA0K,eAAA,CAAV1K,UAAU;QAAEX,IAAI,GAAAqL,eAAA,CAAJrL,IAAI;MACxB,IAAIG,KAAK;MACT,IAAIH,IAAI,KAAK,QAAQ,EAAE;QACrBG,KAAK,GAAGQ,UAAU,CAAC2K,SAAS,CAAC,UAACC,CAAC,EAAElR,CAAC;UAAA,OAAK4C,WAAW,CAACmO,MAAI,CAACF,MAAM,CAAC7Q,CAAC,CAAC,EAAE4O,KAAK,CAAC;QAAA,EAAC;MAC5E,CAAC,MAAM;QACL9I,KAAK,GAAGQ,UAAU,CAAC2K,SAAS,CAAC,UAACC,CAAC,EAAElR,CAAC;UAAA,OAAK,IAAAmR,0BAAe,EAACJ,MAAI,CAAChB,UAAU,CAAC/P,CAAC,CAAC,EAAE4O,KAAK,CAAC;QAAA,EAAC;MACpF;MACA,OAAO9I,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,GAAGA,KAAK;IACpC;EAAC;IAAAb,GAAA;IAAAQ,KAAA,EAuCD,SAAA0F,kBAAA,EAAoB;MAAA,IAAAiG,MAAA;MAClB,IAAQhG,YAAY,GAAK,IAAI,CAAChG,OAAO,CAA7BgG,YAAY;MACpB,IAAI,CAACiG,wBAAwB,GAAGjG,YAAY,CAACE,SAAS,CAAC,iBAAiB,EAAE,UAACmD,CAAC,EAAK;QAC/EA,CAAC,CAAC6C,OAAO,EAAE;QACXF,MAAI,CAACG,oBAAoB,CAAC9C,CAAC,CAAC;MAC9B,CAAC,CAAC;MACF,IAAI,CAAC+C,yBAAyB,GAAGpG,YAAY,CAACE,SAAS,CACrD,kBAAkB,EAClB,IAAI,CAACmG,qBAAqB,CAC3B;IACH;EAAC;IAAAxM,GAAA;IAAAQ,KAAA,EAED,SAAA+F,qBAAA,EAAuB;MACrB,IAAI,IAAI,CAAC6F,wBAAwB,EAAE;QACjC,IAAI,CAACA,wBAAwB,EAAE;MACjC;MACA,IAAI,IAAI,CAACG,yBAAyB,EAAE;QAClC,IAAI,CAACA,yBAAyB,EAAE;MAClC;IACF;EAAC;IAAAvM,GAAA;IAAAQ,KAAA,EAED,SAAAe,OAAA,EAAS;MACP,IAAAkL,eAAA,GAAyB,IAAI,CAACtM,OAAO;QAA7B0B,MAAM,GAAA4K,eAAA,CAAN5K,MAAM;QAAEnB,IAAI,GAAA+L,eAAA,CAAJ/L,IAAI;MACpB,IAAQG,KAAK,GAAK,IAAI,CAAC8F,KAAK,CAApB9F,KAAK;MACb,IAAM6L,QAAQ,GAAG,IAAI,CAAChL,OAAO;MAE7B,IAAIb,KAAK,KAAK,IAAI,EAAE;QAClB,IAAIH,IAAI,KAAK,QAAQ,EAAE;UAAA,IAAAiM,KAAA;UACrB,IAAAC,YAAA,GAAuC,IAAI,CAAChB,MAAM,CAAC/K,KAAK,CAAC;YAAAgM,aAAA,OAAA9O,eAAA,aAAA6O,YAAA;YAAlD5O,UAAU,GAAA6O,aAAA;YAAE5O,QAAQ,GAAA4O,aAAA;YAAE1P,MAAM,GAAA0P,aAAA;UACnC,IAAMC,MAAM,GAAG,IAAAC,YAAG,GAAE,CACjBC,WAAW,CAAC,CAAC,CAAC,CACdC,WAAW,CAAC9P,MAAM,CAAC,CACnBa,UAAU,CAACA,UAAU,CAAC,CACtBC,QAAQ,CAACA,QAAQ,CAAC;UACrB,OAAA0O,KAAA,GAAO,IAAAnS,aAAO,EAACqH,MAAM,CAAC,eACpBlI,MAAA,YAAA6I,aAAA,CAACkK,QAAQ,EAAAC,KAAA,CAAAlK,EAAA;YAAA,UACA,MAAM;YAAA,KAEVqK,MAAM;UAAE,GACX;QAEN,CAAC,MAAM;UAAA,IAAAI,MAAA;UACL,OAAAA,MAAA,GAAO,IAAA1S,aAAO,EAACqH,MAAM,CAAC,eACpBlI,MAAA,YAAA6I,aAAA,CAACkK,QAAQ,EAAAQ,MAAA,CAAAzK,EAAA;YAAA,UACA,MAAM;YAAA,KAEV,IAAA0K,aAAI,GAAE,CAAC,IAAI,CAACrC,UAAU,CAACjK,KAAK,CAAC;UAAC,GACjC;QAEN;MACF;MAEA,OAAO,IAAI;IACb;EAAC;EAAA,OAAAkI,KAAA;AAAA,EAhJiBrG,eAAS;AAmJ7B,IAAMH,IAAI,GAAG,IAAAC,yBAAa,EAACqC,QAAQ,EAAE;EACnCuI,KAAK,EAAE5F,SAAS;EAChB6F,MAAM,EAAEzF;AACV,CAAC,CAAC;AAEF,IAAM0F,OAAO,GAAG,IAAA9K,yBAAa,EAACI,WAAW,EAAE;EACzC2K,IAAI,EAAErJ,WAAW;EACjBsJ,IAAI,EAAEnJ;AACR,CAAC,CAAC;AAEF,IAAMoJ,YAAY,GAAG,SAAfA,YAAYA,CAAI7Q,KAAK,EAAK;EAAA,IAAA8Q,IAAA,GAAAC,YAAA;IAAAC,MAAA;EAC9B,IAAMC,aAAa,GAEMC,mBAAO;EADhC,OAAAF,MAAA,GAAO,IAAApT,aAAO,EAACoC,KAAK,CAACiF,MAAM,CAAC,eAC1BlI,MAAA,YAAA6I,aAAA,CAACqL,aAAa,EAAAD,MAAA,CAAAnL,EAAA,sBAAAsL,cAAA,qBAAAtU,KAAA,CAAAuU,WAAA;IAAA,OAAuB1L,KAAK,CAACyG,KAAK;IAAA;EAAA,GAAA2E,IAAA,IAAuB;AAE3E,CAAC;AAED,IAAMpL,KAAK,GAAG,IAAAE,yBAAa,EAACtD,SAAS,EAAE;EACrCqD,IAAI,EAAJA,IAAI;EACJ+K,OAAO,EAAPA,OAAO;EACPvE,KAAK,EAALA,KAAK;EACL+E,OAAO,EAAE,CAACL,YAAY,EAAEK,mBAAO,CAACG,yBAAyB;AAC3D,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEY5L,KAAK;AAAA6L,OAAA,cAAAD,QAAA"}
1
+ {"version":3,"file":"Radar.js","names":["_core","require","_react","_interopRequireWildcard","_uniqueID","_interopRequireDefault","_getOriginChildren","_rafTrottle","_canUseDOM","_d3Polygon","_d3Shape","_createElement","_utils","_Tooltip","_Pattern","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","measureText","React","isValidElement","_text$props","_text$props2","max","props","width","height","apply","_toConsumableArray2","getTicks","tickSize","radius","ticks","trunc","Array","keys","reduce","t","push","pieContains","_ref13","_ref14","_ref15","_slicedToArray2","startAngle","endAngle","_ref16","x","y","distance","sqrt","pow","atan2","prevAngle","nextAngle","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","concat","MINIMUM_OFFSET","RadarRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","_key","call","_defineProperty2","_assertThisInitialized2","_createClass2","key","get","_this$asProps","asProps","id","uid","offset","computeOffset","value","getAxisProps","type","getPolygonProps","_ref17","index","dataKey","_this$asProps2","data","scale","patterns","color","getChartDefaultColorName","getHoverProps","categories","categoriesKey","render","_ref2","SRadar","Element","_this$asProps3","Children","styles","size","_size","dataHintsHandler","establishDataType","toArray","getOriginChildren","forEach","child","Radar","Axis","createElement","cn","Component","uniqueIDEnhancement","PolygonRoot","_Component2","_super2","getDotsProps","_this$asProps4","resolveColor","transparent","categoryKey","getLineProps","_this$asProps5","d3","_ref3","_this$asProps6","SPolygon","fill","Fragment","PatternFill","_ref22","_ref22$curve","curve","curveLinearClosed","min","lineRadial","d","PolygonLine","_ref4","SPolygonLine","PolygonDots","SPolygonDot","_ref6","describeGroupedValues","_getRadianPosition","_getRadianPosition2","cx","cy","_ref5","patternKey","_getPatternSymbolSize","getPatternSymbolSize","_getPatternSymbolSize2","PatternSymbol","AxisRoot","_Component3","_super3","_this2","_len2","_key2","activeLineIndex","_visible","_anchorProps","_ref18","setState","createLineRadial","getTicksProps","_ref19","_ref19$tickSize","_this$asProps7","getLabelsProps","_ref20","_ref20$labelOffset","labelOffset","_this$asProps8","componentDidMount","eventEmitter","unsubscribeTooltipVisible","subscribe","handlerTooltipVisible","componentWillUnmount","_ref7","_this$asProps9","SAxis","state","category","_getRadianPosition3","_getRadianPosition4","_sstyled$cn","active","className","x1","y1","x2","y2","_ref23","AxisTicks","SAxisTick","tick","_ref8","AxisLabels","SAxisLabel","_getRadianPosition5","_getRadianPosition6","_getLabelPlacement","_getLabelPlacement2","_ref9","labelKey","lines","split","lineText","lineIndex","_category$props","_ref21","_ref21$width","_ref21$height","_getLabelOffsetPositi","_getLabelOffsetPositi2","cloneElement","Hover","_Component4","_super4","_this3","_len3","_key3","canUseDOM","document","trottle","e","_this3$asProps","rootRef","point","eventToPoint","current","diam","centerX","centerY","clientX","clientY","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","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","polygonContains","_this5","unsubscribeMouseMoveRoot","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","_this$asProps13","SPieRect","_ref10","_this$getPie","_this$getPie2","circle","arc","innerRadius","outerRadius","_ref11","line","Ticks","Labels","Polygon","Line","Dots","RadarTooltip","_ref","arguments[0]","_ref12","SRadarTooltip","Tooltip","_objectSpread2","assignProps","_______childrenComponents","_default","exports"],"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, getChartDefaultColorName, measureText } from './utils';\nimport Tooltip from './Tooltip';\nimport { PatternFill, PatternSymbol, getPatternSymbolSize } from './Pattern';\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 }, index) {\n const { data, scale, angleOffset, uid, patterns } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n angleOffset,\n color: getChartDefaultColorName(index),\n uid: `${uid}-${index}`,\n patterns,\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 {\n data,\n scale,\n color,\n resolveColor,\n transparent,\n dataKey,\n dataHintsHandler,\n angleOffset,\n patterns,\n } = this.asProps;\n return {\n data,\n scale,\n color,\n resolveColor,\n transparent,\n categoryKey: dataKey,\n dataHintsHandler,\n angleOffset,\n patterns,\n };\n }\n\n getLineProps() {\n const { d3, data, color, resolveColor, transparent } = this.asProps;\n return {\n data,\n color,\n resolveColor,\n transparent,\n d3,\n };\n }\n\n render() {\n const {\n Element: SPolygon,\n styles,\n d3,\n data,\n color,\n resolveColor,\n fill,\n uid,\n patterns,\n } = this.asProps;\n return (\n <>\n {sstyled(styles)(\n <SPolygon\n render='path'\n d={d3(data)}\n color={resolveColor(fill || color)}\n pattern={patterns ? `url(#${uid}-pattern)` : undefined}\n />,\n )}\n {patterns && (\n <PatternFill\n id={`${uid}-pattern`}\n patternKey={color}\n color={resolveColor(fill || color)}\n patterns={patterns}\n />\n )}\n </>\n );\n }\n}\n\nfunction PolygonLine(props) {\n const { Element: SPolygonLine, styles, d3, color, resolveColor, data, transparent } = props;\n return sstyled(styles)(\n <SPolygonLine\n render='path'\n d={d3(data)}\n color={resolveColor(color)}\n transparent={transparent}\n />,\n );\n}\n\nfunction PolygonDots(props) {\n const {\n Element: SPolygonDot,\n styles,\n color,\n resolveColor,\n data,\n scale,\n transparent,\n categoryKey,\n angleOffset,\n patterns,\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\n if (!patterns) {\n return sstyled(styles)(\n <SPolygonDot\n render='circle'\n color={resolveColor(color)}\n transparent={transparent}\n patternKey={color}\n key={`${i}`}\n cx={cx}\n cy={cy}\n />,\n );\n }\n\n const patternKey = color || getChartDefaultColorName(0);\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n return sstyled(styles)(\n <SPolygonDot\n render={PatternSymbol}\n color={resolveColor(color)}\n transparent={transparent}\n patternKey={color}\n key={`${i}`}\n x={cx - width / 2}\n y={cy - height / 2}\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, patterns } = 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(\n 'onTooltipVisible',\n index !== null,\n {},\n { index, patterns },\n this.virtualElement,\n );\n },\n );\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n const { patterns } = this.asProps;\n this.setState(\n {\n index: null,\n },\n () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, {}, { index: null, patterns });\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":"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"}