intergalactic 15.52.0-prerelease.0-prerelease-3f2a94a7 → 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 (203) 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/Bar.js +23 -12
  19. package/d3-chart/lib/cjs/Bar.js.map +1 -1
  20. package/d3-chart/lib/cjs/Bubble.js +25 -13
  21. package/d3-chart/lib/cjs/Bubble.js.map +1 -1
  22. package/d3-chart/lib/cjs/Donut.js +28 -12
  23. package/d3-chart/lib/cjs/Donut.js.map +1 -1
  24. package/d3-chart/lib/cjs/Dots.js +55 -28
  25. package/d3-chart/lib/cjs/Dots.js.map +1 -1
  26. package/d3-chart/lib/cjs/GroupBar.js +4 -2
  27. package/d3-chart/lib/cjs/GroupBar.js.map +1 -1
  28. package/d3-chart/lib/cjs/HorizontalBar.js +23 -12
  29. package/d3-chart/lib/cjs/HorizontalBar.js.map +1 -1
  30. package/d3-chart/lib/cjs/Hover.js +6 -3
  31. package/d3-chart/lib/cjs/Hover.js.map +1 -1
  32. package/d3-chart/lib/cjs/Line.js +14 -6
  33. package/d3-chart/lib/cjs/Line.js.map +1 -1
  34. package/d3-chart/lib/cjs/Pattern.js +540 -0
  35. package/d3-chart/lib/cjs/Pattern.js.map +1 -0
  36. package/d3-chart/lib/cjs/Plot.js +4 -2
  37. package/d3-chart/lib/cjs/Plot.js.map +1 -1
  38. package/d3-chart/lib/cjs/Radar.js +126 -83
  39. package/d3-chart/lib/cjs/Radar.js.map +1 -1
  40. package/d3-chart/lib/cjs/RadialTree.js +126 -100
  41. package/d3-chart/lib/cjs/RadialTree.js.map +1 -1
  42. package/d3-chart/lib/cjs/ScatterPlot.js +22 -10
  43. package/d3-chart/lib/cjs/ScatterPlot.js.map +1 -1
  44. package/d3-chart/lib/cjs/StackBar.js +8 -4
  45. package/d3-chart/lib/cjs/StackBar.js.map +1 -1
  46. package/d3-chart/lib/cjs/StackedArea.js +4 -1
  47. package/d3-chart/lib/cjs/StackedArea.js.map +1 -1
  48. package/d3-chart/lib/cjs/Tooltip.js +21 -11
  49. package/d3-chart/lib/cjs/Tooltip.js.map +1 -1
  50. package/d3-chart/lib/cjs/Venn.js +28 -12
  51. package/d3-chart/lib/cjs/Venn.js.map +1 -1
  52. package/d3-chart/lib/cjs/component/Chart/AbstractChart.js +7 -3
  53. package/d3-chart/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  54. package/d3-chart/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
  55. package/d3-chart/lib/cjs/component/ChartLegend/BaseLegend.js +4 -2
  56. package/d3-chart/lib/cjs/component/ChartLegend/BaseLegend.js.map +1 -1
  57. package/d3-chart/lib/cjs/component/ChartLegend/BaseLegend.type.js.map +1 -1
  58. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +80 -53
  59. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  60. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js +1 -1
  61. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  62. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/legend-item.shadow.css +17 -3
  63. package/d3-chart/lib/cjs/index.js +19 -0
  64. package/d3-chart/lib/cjs/index.js.map +1 -1
  65. package/d3-chart/lib/cjs/style/area.shadow.css +6 -1
  66. package/d3-chart/lib/cjs/style/bar.shadow.css +7 -1
  67. package/d3-chart/lib/cjs/style/bubble.shadow.css +8 -1
  68. package/d3-chart/lib/cjs/style/donut.shadow.css +7 -1
  69. package/d3-chart/lib/cjs/style/dot.shadow.css +2 -2
  70. package/d3-chart/lib/cjs/style/radar.shadow.css +7 -1
  71. package/d3-chart/lib/cjs/style/radial-tree.shadow.css +5 -0
  72. package/d3-chart/lib/cjs/style/scatterplot.shadow.css +8 -1
  73. package/d3-chart/lib/cjs/style/tooltip.shadow.css +6 -6
  74. package/d3-chart/lib/cjs/style/venn.shadow.css +11 -0
  75. package/d3-chart/lib/cjs/types/Plot.d.js.map +1 -1
  76. package/d3-chart/lib/cjs/types/index.d.js +12 -0
  77. package/d3-chart/lib/cjs/types/index.d.js.map +1 -1
  78. package/d3-chart/lib/es6/Area.js +25 -13
  79. package/d3-chart/lib/es6/Area.js.map +1 -1
  80. package/d3-chart/lib/es6/Bar.js +23 -12
  81. package/d3-chart/lib/es6/Bar.js.map +1 -1
  82. package/d3-chart/lib/es6/Bubble.js +25 -13
  83. package/d3-chart/lib/es6/Bubble.js.map +1 -1
  84. package/d3-chart/lib/es6/Donut.js +28 -12
  85. package/d3-chart/lib/es6/Donut.js.map +1 -1
  86. package/d3-chart/lib/es6/Dots.js +56 -29
  87. package/d3-chart/lib/es6/Dots.js.map +1 -1
  88. package/d3-chart/lib/es6/GroupBar.js +4 -2
  89. package/d3-chart/lib/es6/GroupBar.js.map +1 -1
  90. package/d3-chart/lib/es6/HorizontalBar.js +23 -12
  91. package/d3-chart/lib/es6/HorizontalBar.js.map +1 -1
  92. package/d3-chart/lib/es6/Hover.js +6 -3
  93. package/d3-chart/lib/es6/Hover.js.map +1 -1
  94. package/d3-chart/lib/es6/Line.js +15 -7
  95. package/d3-chart/lib/es6/Line.js.map +1 -1
  96. package/d3-chart/lib/es6/Pattern.js +534 -0
  97. package/d3-chart/lib/es6/Pattern.js.map +1 -0
  98. package/d3-chart/lib/es6/Plot.js +4 -2
  99. package/d3-chart/lib/es6/Plot.js.map +1 -1
  100. package/d3-chart/lib/es6/Radar.js +126 -83
  101. package/d3-chart/lib/es6/Radar.js.map +1 -1
  102. package/d3-chart/lib/es6/RadialTree.js +127 -101
  103. package/d3-chart/lib/es6/RadialTree.js.map +1 -1
  104. package/d3-chart/lib/es6/ScatterPlot.js +22 -10
  105. package/d3-chart/lib/es6/ScatterPlot.js.map +1 -1
  106. package/d3-chart/lib/es6/StackBar.js +8 -4
  107. package/d3-chart/lib/es6/StackBar.js.map +1 -1
  108. package/d3-chart/lib/es6/StackedArea.js +4 -1
  109. package/d3-chart/lib/es6/StackedArea.js.map +1 -1
  110. package/d3-chart/lib/es6/Tooltip.js +22 -11
  111. package/d3-chart/lib/es6/Tooltip.js.map +1 -1
  112. package/d3-chart/lib/es6/Venn.js +28 -12
  113. package/d3-chart/lib/es6/Venn.js.map +1 -1
  114. package/d3-chart/lib/es6/component/Chart/AbstractChart.js +7 -3
  115. package/d3-chart/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  116. package/d3-chart/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
  117. package/d3-chart/lib/es6/component/ChartLegend/BaseLegend.js +4 -2
  118. package/d3-chart/lib/es6/component/ChartLegend/BaseLegend.js.map +1 -1
  119. package/d3-chart/lib/es6/component/ChartLegend/BaseLegend.type.js.map +1 -1
  120. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +80 -53
  121. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  122. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js +1 -1
  123. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  124. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/legend-item.shadow.css +17 -3
  125. package/d3-chart/lib/es6/index.js +1 -0
  126. package/d3-chart/lib/es6/index.js.map +1 -1
  127. package/d3-chart/lib/es6/style/area.shadow.css +6 -1
  128. package/d3-chart/lib/es6/style/bar.shadow.css +7 -1
  129. package/d3-chart/lib/es6/style/bubble.shadow.css +8 -1
  130. package/d3-chart/lib/es6/style/donut.shadow.css +7 -1
  131. package/d3-chart/lib/es6/style/dot.shadow.css +2 -2
  132. package/d3-chart/lib/es6/style/radar.shadow.css +7 -1
  133. package/d3-chart/lib/es6/style/radial-tree.shadow.css +5 -0
  134. package/d3-chart/lib/es6/style/scatterplot.shadow.css +8 -1
  135. package/d3-chart/lib/es6/style/tooltip.shadow.css +6 -6
  136. package/d3-chart/lib/es6/style/venn.shadow.css +11 -0
  137. package/d3-chart/lib/es6/types/Plot.d.js.map +1 -1
  138. package/d3-chart/lib/es6/types/index.d.js +3 -0
  139. package/d3-chart/lib/es6/types/index.d.js.map +1 -1
  140. package/d3-chart/lib/types/Pattern.d.ts +336 -0
  141. package/d3-chart/lib/types/Plot.d.ts +4 -0
  142. package/d3-chart/lib/types/RadialTree.d.ts +7 -2
  143. package/d3-chart/lib/types/component/Chart/AbstractChart.type.d.ts +3 -0
  144. package/d3-chart/lib/types/component/ChartLegend/BaseLegend.type.d.ts +3 -0
  145. package/d3-chart/lib/types/component/ChartLegend/LegendItem/LegendItem.type.d.ts +7 -1
  146. package/d3-chart/lib/types/index.d.ts +3 -0
  147. package/date-picker/lib/cjs/components/RangePickerAbstract.js +8 -4
  148. package/date-picker/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  149. package/date-picker/lib/es6/components/RangePickerAbstract.js +8 -4
  150. package/date-picker/lib/es6/components/RangePickerAbstract.js.map +1 -1
  151. package/drag-and-drop/index.d.ts +13 -2
  152. package/drag-and-drop/lib/cjs/DragAndDrop.js +96 -44
  153. package/drag-and-drop/lib/cjs/DragAndDrop.js.map +1 -1
  154. package/drag-and-drop/lib/cjs/index.d.js.map +1 -1
  155. package/drag-and-drop/lib/cjs/translations/de.json +5 -0
  156. package/drag-and-drop/lib/cjs/translations/en.json +5 -0
  157. package/drag-and-drop/lib/cjs/translations/es.json +5 -0
  158. package/drag-and-drop/lib/cjs/translations/fr.json +5 -0
  159. package/drag-and-drop/lib/cjs/translations/it.json +5 -0
  160. package/drag-and-drop/lib/cjs/translations/ja.json +5 -0
  161. package/drag-and-drop/lib/cjs/translations/ko.json +5 -0
  162. package/drag-and-drop/lib/cjs/translations/nl.json +5 -0
  163. package/drag-and-drop/lib/cjs/translations/pl.json +5 -0
  164. package/drag-and-drop/lib/cjs/translations/pt.json +5 -0
  165. package/drag-and-drop/lib/cjs/translations/sv.json +5 -0
  166. package/drag-and-drop/lib/cjs/translations/tr.json +5 -0
  167. package/drag-and-drop/lib/cjs/translations/vi.json +5 -0
  168. package/drag-and-drop/lib/cjs/translations/zh.json +5 -0
  169. package/drag-and-drop/lib/es6/DragAndDrop.js +96 -44
  170. package/drag-and-drop/lib/es6/DragAndDrop.js.map +1 -1
  171. package/drag-and-drop/lib/es6/index.d.js.map +1 -1
  172. package/drag-and-drop/lib/es6/translations/de.json +5 -0
  173. package/drag-and-drop/lib/es6/translations/en.json +5 -0
  174. package/drag-and-drop/lib/es6/translations/es.json +5 -0
  175. package/drag-and-drop/lib/es6/translations/fr.json +5 -0
  176. package/drag-and-drop/lib/es6/translations/it.json +5 -0
  177. package/drag-and-drop/lib/es6/translations/ja.json +5 -0
  178. package/drag-and-drop/lib/es6/translations/ko.json +5 -0
  179. package/drag-and-drop/lib/es6/translations/nl.json +5 -0
  180. package/drag-and-drop/lib/es6/translations/pl.json +5 -0
  181. package/drag-and-drop/lib/es6/translations/pt.json +5 -0
  182. package/drag-and-drop/lib/es6/translations/sv.json +5 -0
  183. package/drag-and-drop/lib/es6/translations/tr.json +5 -0
  184. package/drag-and-drop/lib/es6/translations/vi.json +5 -0
  185. package/drag-and-drop/lib/es6/translations/zh.json +5 -0
  186. package/drag-and-drop/lib/types/index.d.ts +13 -2
  187. package/package.json +1 -1
  188. package/pills/lib/cjs/Pills.js +44 -57
  189. package/pills/lib/cjs/Pills.js.map +1 -1
  190. package/pills/lib/cjs/style/pills.shadow.css +3 -9
  191. package/pills/lib/es6/Pills.js +44 -57
  192. package/pills/lib/es6/Pills.js.map +1 -1
  193. package/pills/lib/es6/style/pills.shadow.css +3 -9
  194. package/utils/lib/enhances/a11yEnhance.d.ts +9 -3
  195. package/utils/lib/enhances/a11yEnhance.js +11 -11
  196. package/utils/lib/enhances/a11yEnhance.js.map +1 -1
  197. package/utils/lib/enhances/a11yEnhance.mjs +11 -11
  198. package/utils/lib/enhances/a11yEnhance.mjs.map +1 -1
  199. package/utils/lib/themes/auto.css +3 -3
  200. package/utils/lib/themes/dark.css +2 -2
  201. package/utils/lib/themes/dark.json +1 -1
  202. package/utils/lib/themes/default.css +1 -1
  203. package/utils/lib/themes/light.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RadialTree.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_uniqueID","_assignProps","_getOriginChildren","_canUseDOM","_createElement","_utils","_excluded","style","sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","handleRadianClick","bind","_createClass2","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","canUseDOM","preferReduceMotion","window","matchMedia","matches","circlesAnimation","transition","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$x$baseVal","_lineNode$y","_lineNode$y$baseVal","radianIndex","parseInt","dataset","lineNode","from","cx","x1","baseVal","cy","y1","to","attr","_","index","_attrs$index$from","_attrs$index$from2","_attrs$index$to","_attrs$index$to2","_node$width","_node$width$baseVal","_node$height","_node$height$baseVal","_lineNode$x2","_lineNode$x2$baseVal","_lineNode$y2","_lineNode$y2$baseVal","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$x$baseVal","_node$y","_node$y$baseVal","x2","y2","_attrs2$index$from","_attrs2$index$from2","_attrs2$index$to","_attrs2$index$to2","componentDidUpdate","prevProps","$rootProps","data","componentDidMount","_this2","event","newKey","handlers","computeTextWidth","_this$asProps2","textSize","widths","_ref9","label","measureText","max","apply","_toConsumableArray2","getTitleProps","_this$asProps3","size","_size","_slicedToArray2","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties2","textWidth","_objectSpread2","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","createElement","cn","Component","uniqueIDEnhancement","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_super2","_this3","renderRadian","getInteractiveAreaProps","_ref11","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref12","_$rootProps$data2","_color","_ref13","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","resolveColor","color","stroke","getCapProps","_ref14","_$rootProps$data3","_color2","_ref15","_this$computeRadianPo3","_this$asProps6","getIconProps","_ref16","_$rootProps$data4","_iconColor","_iconSize","_icon","_ref17","_this$computeRadianPo4","isActive","_this$asProps7","icon","getLabelProps","_ref18","_$rootProps$data5","_color3","_ref20","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps8","_ref19","angle","getRadianKey","_data$key","_data$capSize","_this$asProps9","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps10","SRadian","children","getOriginChildren","_child","mergedProps","assignProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref21","_ref4","SInteractiveArea","Line","_ref22","_ref5","SLine","Cap","_ref23","_ref6","SCap","radius","Icon","_ref24","_ref7","SIcon","tag","Label","_ref25","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref26","_ref8","STitle","setTitle","_default","exports"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl, UnknownProperties, Intergalactic } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport createElement from './createElement';\nimport { measureText } from './utils';\nimport { DataHintsHandler } from './a11y/hints';\n\nimport style from './style/radial-tree.shadow.css';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\n/** @deprecated */\nexport interface IRadialTreeProps extends RadialTreeProps, UnknownProperties {}\nexport type RadialTreeProps = {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data?: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highlighted with inreased cap size.\n */\n activeKey?: string | null;\n onActiveKeyChange?: (activeKey: string | null) => void;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n /** Enables element transparency */\n transparent?: boolean;\n};\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n labelMargin: number;\n angleOffset: number;\n transparent: boolean;\n $rootProps: RootAsProps;\n dataHintsHandler: DataHintsHandler;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 5,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ children?: React.ReactNode; render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n if (!canUseDOM()) return;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`)\n .interrupt();\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`)\n .interrupt();\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`)\n .interrupt();\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`)\n .interrupt();\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: {\n cx: node.dataset['cx'],\n cy: node.dataset['cy'],\n },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('cx', (_, index) => attrs[index].to?.cx!)\n .attr('cy', (_, index) => attrs[index].to?.cy!);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x: node.dataset['x'],\n y: node.dataset['y'],\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x!)\n .attr('y', (_, index) => attrs[index].from?.y!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x!)\n .attr('y', (_, index) => attrs[index].to?.y!);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2: node.dataset['x2'],\n y2: node.dataset['y2'],\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n .attr('x2', (_, index) => attrs[index].from?.x2!)\n .attr('y2', (_, index) => attrs[index].from?.y2!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2!)\n .attr('y2', (_, index) => attrs[index].to?.y2!);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data !== this.asProps.data) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render='g'>\n <Children />\n </SRadialTree>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianProps extends RadialTreeRadianProps, UnknownProperties {}\nexport type RadialTreeRadianProps = RadialTreeProps & {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n};\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data!,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n resolveColor,\n transparent,\n ['data-x1']: xStart,\n ['data-y1']: yStart,\n ['data-x2']: xEnd,\n ['data-y2']: yEnd,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n ['data-cx']: xEnd,\n ['data-cy']: yEnd,\n radius: capSize,\n color,\n resolveColor,\n transparent,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data!, index);\n const { uid, resolveColor } = this.asProps;\n const iconColor = data!.iconColor ?? this.asProps.iconColor;\n const iconSize = data!.iconSize ?? this.asProps.iconSize;\n const icon = data!.icon ?? this.asProps.icon;\n const x = xEnd - iconSize! / 2;\n const y = yEnd - iconSize! / 2;\n return {\n x,\n y,\n ['data-x']: x,\n ['data-y']: y,\n iconSize,\n color: iconColor ?? '#fff',\n resolveColor,\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n tag: icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data!,\n index,\n );\n const { uid, textSize, transparent, resolveColor } = this.asProps;\n const { label } = data!;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n resolveColor,\n isHorizontal,\n textSize,\n transparent,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps as any);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n this.asProps.dataHintsHandler.describeValueEntity(`${index}.${data.label}`, data.label);\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian aria-hidden key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianInteractiveAreaProps\n extends RadialTreeRadianInteractiveAreaProps {}\nexport type RadialTreeRadianInteractiveAreaProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n};\n\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke='transparent' render='line' />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLineProps extends RadialTreeRadianLineProps, UnknownProperties {}\nexport type RadialTreeRadianLineProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n};\n\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n resolveColor,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={resolveColor(stroke)} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianCapProps extends RadialTreeRadianCapProps, UnknownProperties {}\nexport type RadialTreeRadianCapProps = {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n};\n\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n resolveColor,\n transparent,\n}) => {\n return sstyled(styles)(\n <SCap\n render='circle'\n cx={x}\n cy={y}\n r={radius}\n fill={resolveColor(color)}\n transparent={transparent!}\n />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianIconProps extends RadialTreeRadianIconProps, UnknownProperties {}\nexport type RadialTreeRadianIconProps = {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n isActive?: boolean;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC; transparent: boolean } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n tag?: React.FC;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n transparent,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLabelProps\n extends RadialTreeRadianLabelProps,\n UnknownProperties {}\nexport type RadialTreeRadianLabelProps = {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n resolveColor: (color?: string) => string;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n resolveColor,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n transparent,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n color: resolveColor(color),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n transparent,\n });\n\n return (\n <SLabel\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\n/** @deprecated */\nexport interface IRadialTreeTitleProps extends RadialTreeTitleProps, UnknownProperties {}\nexport type RadialTreeTitleProps = {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n};\n\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n children: React.ReactNode;\n styles: React.CSSProperties;\n dataHintsHandler: DataHintsHandler;\n resolveColor: (color?: string) => string;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n resolveColor,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={resolveColor(color)}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\ntype IntergalacticD3Component<BaseTag extends Intergalactic.Tag, Props, Context = {}> = (<\n Tag extends Intergalactic.Tag = Intergalactic.Tag,\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<BaseTag, BaseTag, Props>;\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as IntergalacticD3Component<\n 'g',\n RadialTreeProps\n> & {\n Title: IntergalacticD3Component<'text', RadialTreeTitleProps>;\n Radian: IntergalacticD3Component<'g', RadialTreeRadianProps> & {\n Line: IntergalacticD3Component<'line', RadialTreeRadianLineProps>;\n Cap: IntergalacticD3Component<'circle', RadialTreeRadianCapProps>;\n Icon: IntergalacticD3Component<'g', RadialTreeRadianIconProps>;\n Label: IntergalacticD3Component<'text', RadialTreeRadianLabelProps>;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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"}
1
+ {"version":3,"file":"RadialTree.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_uniqueID","_assignProps","_getOriginChildren","_canUseDOM","_createElement","_utils","_Pattern","_excluded","style","sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","handleRadianClick","bind","_createClass2","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","canUseDOM","preferReduceMotion","window","matchMedia","matches","circlesAnimation","transition","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$x$baseVal","_lineNode$y","_lineNode$y$baseVal","radianIndex","parseInt","dataset","lineNode","from","cx","x1","baseVal","cy","y1","to","attr","_","index","_attrs$index$from","_attrs$index$from2","_attrs$index$to","_attrs$index$to2","_node$width","_node$width$baseVal","_node$height","_node$height$baseVal","_lineNode$x2","_lineNode$x2$baseVal","_lineNode$y2","_lineNode$y2$baseVal","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$x$baseVal","_node$y","_node$y$baseVal","x2","y2","_attrs2$index$from","_attrs2$index$from2","_attrs2$index$to","_attrs2$index$to2","componentDidUpdate","prevProps","$rootProps","data","componentDidMount","_this2","event","newKey","handlers","computeTextWidth","_this$asProps2","textSize","widths","_ref10","label","measureText","max","apply","_toConsumableArray2","getTitleProps","_this$asProps3","size","_size","_slicedToArray2","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties2","textWidth","_objectSpread2","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","createElement","cn","Component","uniqueIDEnhancement","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_super2","_this3","renderRadian","getInteractiveAreaProps","_ref12","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref13","_$rootProps$data2","_color","_ref14","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","resolveColor","color","stroke","getCapProps","_ref15","_$rootProps$data3","_color2","_ref16","_this$computeRadianPo3","_this$asProps6","patterns","getIconProps","_ref17","_$rootProps$data4","_iconColor","_iconSize","_icon","_ref18","_this$computeRadianPo4","isActive","_this$asProps7","icon","getLabelProps","_ref19","_$rootProps$data5","_color3","_ref21","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps8","_ref20","angle","getRadianKey","_data$key","_data$capSize","_this$asProps9","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps10","SRadian","children","getOriginChildren","_child","mergedProps","assignProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref22","_ref4","SInteractiveArea","Line","_ref23","_ref5","SLine","Cap","_ref24","_ref7","SCap","_ref24$x","_ref24$y","radius","_ref6","patternKey","getChartDefaultColorName","_getPatternSymbolSize","getPatternSymbolSize","_getPatternSymbolSize2","PatternSymbol","Icon","_ref25","_ref8","SIcon","tag","Label","_ref26","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref27","_ref9","STitle","setTitle","_default","exports"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl, UnknownProperties, Intergalactic } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport createElement from './createElement';\nimport { getChartDefaultColorName, measureText } from './utils';\nimport { DataHintsHandler } from './a11y/hints';\nimport { PatternFill, PatternSymbol, PatternsConfig, getPatternSymbolSize } from './Pattern';\n\nimport style from './style/radial-tree.shadow.css';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\n/** @deprecated */\nexport interface IRadialTreeProps extends RadialTreeProps, UnknownProperties {}\nexport type RadialTreeProps = {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data?: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highlighted with inreased cap size.\n */\n activeKey?: string | null;\n onActiveKeyChange?: (activeKey: string | null) => void;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n /** Enables element transparency */\n transparent?: boolean;\n};\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n labelMargin: number;\n angleOffset: number;\n transparent: boolean;\n $rootProps: RootAsProps;\n dataHintsHandler: DataHintsHandler;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 5,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ children?: React.ReactNode; render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n if (!canUseDOM()) return;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`)\n .interrupt();\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`)\n .interrupt();\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`)\n .interrupt();\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`)\n .interrupt();\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: {\n cx: node.dataset['cx'],\n cy: node.dataset['cy'],\n },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('cx', (_, index) => attrs[index].to?.cx!)\n .attr('cy', (_, index) => attrs[index].to?.cy!);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x: node.dataset['x'],\n y: node.dataset['y'],\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x!)\n .attr('y', (_, index) => attrs[index].from?.y!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x!)\n .attr('y', (_, index) => attrs[index].to?.y!);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2: node.dataset['x2'],\n y2: node.dataset['y2'],\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n .attr('x2', (_, index) => attrs[index].from?.x2!)\n .attr('y2', (_, index) => attrs[index].from?.y2!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2!)\n .attr('y2', (_, index) => attrs[index].to?.y2!);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data !== this.asProps.data) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render='g'>\n <Children />\n </SRadialTree>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianProps extends RadialTreeRadianProps, UnknownProperties {}\nexport type RadialTreeRadianProps = RadialTreeProps & {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n};\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data!,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n resolveColor,\n transparent,\n ['data-x1']: xStart,\n ['data-y1']: yStart,\n ['data-x2']: xEnd,\n ['data-y2']: yEnd,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor, patterns } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n ['data-cx']: xEnd,\n ['data-cy']: yEnd,\n radius: capSize,\n color,\n resolveColor,\n transparent,\n patterns,\n uid: `${uid}-cap-${index}`,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data!, index);\n const { uid, resolveColor } = this.asProps;\n const iconColor = data!.iconColor ?? this.asProps.iconColor;\n const iconSize = data!.iconSize ?? this.asProps.iconSize;\n const icon = data!.icon ?? this.asProps.icon;\n const x = xEnd - iconSize! / 2;\n const y = yEnd - iconSize! / 2;\n return {\n x,\n y,\n ['data-x']: x,\n ['data-y']: y,\n iconSize,\n color: iconColor ?? '#fff',\n resolveColor,\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n tag: icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data!,\n index,\n );\n const { uid, textSize, transparent, resolveColor } = this.asProps;\n const { label } = data!;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n resolveColor,\n isHorizontal,\n textSize,\n transparent,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps as any);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n this.asProps.dataHintsHandler.describeValueEntity(`${index}.${data.label}`, data.label);\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian aria-hidden key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianInteractiveAreaProps\n extends RadialTreeRadianInteractiveAreaProps {}\nexport type RadialTreeRadianInteractiveAreaProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n};\n\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke='transparent' render='line' />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLineProps extends RadialTreeRadianLineProps, UnknownProperties {}\nexport type RadialTreeRadianLineProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n};\n\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n resolveColor,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={resolveColor(stroke)} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianCapProps extends RadialTreeRadianCapProps, UnknownProperties {}\nexport type RadialTreeRadianCapProps = {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n /** Enables charts patterns that enhances charts accessability */\n patterns?: PatternsConfig;\n};\n\ntype RadialTreeRadianCapAsProps = RadialTreeRadianCapProps & {\n Element: React.FC<\n {\n render: React.FC<any> | string;\n transparent: boolean;\n patternKey?: string;\n pattern?: boolean;\n } & React.SVGProps<any>\n >;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x = 0,\n y = 0,\n radius,\n color,\n resolveColor,\n transparent,\n patterns,\n}) => {\n if (!patterns) {\n return sstyled(styles)(\n <SCap\n render='circle'\n cx={x}\n cy={y}\n r={radius}\n fill={resolveColor(color)}\n transparent={transparent!}\n />,\n ) as React.ReactElement;\n }\n\n const patternKey = color || getChartDefaultColorName(0);\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n return sstyled(styles)(\n <SCap\n render={PatternSymbol}\n patternKey={color}\n x={x - (width || 0) / 2}\n y={y - (height || 0) / 2}\n fill={resolveColor(color)}\n transparent={transparent!}\n pattern\n />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianIconProps extends RadialTreeRadianIconProps, UnknownProperties {}\nexport type RadialTreeRadianIconProps = {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n isActive?: boolean;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC; transparent: boolean } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n tag?: React.FC;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n transparent,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLabelProps\n extends RadialTreeRadianLabelProps,\n UnknownProperties {}\nexport type RadialTreeRadianLabelProps = {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n resolveColor: (color?: string) => string;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n resolveColor,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n transparent,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n color: resolveColor(color),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n transparent,\n });\n\n return (\n <SLabel\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\n/** @deprecated */\nexport interface IRadialTreeTitleProps extends RadialTreeTitleProps, UnknownProperties {}\nexport type RadialTreeTitleProps = {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n};\n\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n children: React.ReactNode;\n styles: React.CSSProperties;\n dataHintsHandler: DataHintsHandler;\n resolveColor: (color?: string) => string;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n resolveColor,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={resolveColor(color)}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\ntype IntergalacticD3Component<BaseTag extends Intergalactic.Tag, Props, Context = {}> = (<\n Tag extends Intergalactic.Tag = Intergalactic.Tag,\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<BaseTag, BaseTag, Props>;\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as IntergalacticD3Component<\n 'g',\n RadialTreeProps\n> & {\n Title: IntergalacticD3Component<'text', RadialTreeTitleProps>;\n Radian: IntergalacticD3Component<'g', RadialTreeRadianProps> & {\n Line: IntergalacticD3Component<'line', RadialTreeRadianLineProps>;\n Cap: IntergalacticD3Component<'circle', RadialTreeRadianCapProps>;\n Icon: IntergalacticD3Component<'g', RadialTreeRadianIconProps>;\n Label: IntergalacticD3Component<'text', RadialTreeRadianLabelProps>;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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"}
@@ -21,14 +21,17 @@ var _uniqueID = _interopRequireDefault(require("intergalactic/utils/lib/uniqueID
21
21
  var _createElement = _interopRequireDefault(require("./createElement"));
22
22
  var _utils = require("./utils");
23
23
  var _Tooltip = _interopRequireDefault(require("./Tooltip"));
24
+ var _Pattern = require("./Pattern");
24
25
  /*__reshadow-styles__:"./style/scatterplot.shadow.css"*/
25
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SScatterPlot_8ylq9_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_8ylq9);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_8ylq9_gg_:hover{opacity:.8}}.___SScatterPlot_8ylq9_gg_.__color_8ylq9_gg_{fill:var(--color_8ylq9)}.___SScatterPlot_8ylq9_gg_.__transparent_8ylq9_gg_{opacity:.3}.___SValue_8ylq9_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_8ylq9_gg_.__color_8ylq9_gg_{stroke:var(--color_8ylq9)}.___SValue_8ylq9_gg_.__transparent_8ylq9_gg_{opacity:.3}" /*__inner_css_end__*/, "8ylq9_gg_") /*__reshadow_css_end__*/, {
26
- "__SScatterPlot": "___SScatterPlot_8ylq9_gg_",
27
- "_color": "__color_8ylq9_gg_",
28
- "--color": "--color_8ylq9",
29
- "_transparent": "__transparent_8ylq9_gg_",
30
- "__SValue": "___SValue_8ylq9_gg_",
31
- "--duration": "--duration_8ylq9"
26
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SScatterPlot_wymk7_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_wymk7);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_wymk7_gg_:hover{opacity:.8}}.___SScatterPlot_wymk7_gg_.__color_wymk7_gg_{fill:var(--color_wymk7)}.___SScatterPlot_wymk7_gg_.__pattern_wymk7_gg_.__color_wymk7_gg_{fill:var(--pattern_wymk7);stroke:var(--color_wymk7);stroke-width:1px}.___SScatterPlot_wymk7_gg_.__transparent_wymk7_gg_{opacity:.3}.___SValue_wymk7_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_wymk7_gg_.__color_wymk7_gg_{stroke:var(--color_wymk7)}.___SValue_wymk7_gg_.__transparent_wymk7_gg_{opacity:.3}" /*__inner_css_end__*/, "wymk7_gg_") /*__reshadow_css_end__*/, {
27
+ "__SScatterPlot": "___SScatterPlot_wymk7_gg_",
28
+ "_color": "__color_wymk7_gg_",
29
+ "--color": "--color_wymk7",
30
+ "_pattern": "__pattern_wymk7_gg_",
31
+ "--pattern": "--pattern_wymk7",
32
+ "_transparent": "__transparent_wymk7_gg_",
33
+ "__SValue": "___SValue_wymk7_gg_",
34
+ "--duration": "--duration_wymk7"
32
35
  });
33
36
  var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
34
37
  (0, _inherits2["default"])(ScatterPlotRoot, _Component);
@@ -111,7 +114,8 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
111
114
  value = _this$asProps2.value,
112
115
  valueColor = _this$asProps2.valueColor,
113
116
  transparent = _this$asProps2.transparent,
114
- resolveColor = _this$asProps2.resolveColor;
117
+ resolveColor = _this$asProps2.resolveColor,
118
+ patterns = _this$asProps2.patterns;
115
119
  var _scale = (0, _slicedToArray2["default"])(scale, 2),
116
120
  xScale = _scale[0],
117
121
  yScale = _scale[1];
@@ -125,11 +129,13 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
125
129
  "key": "circle(#".concat(i, ")"),
126
130
  "onMouseMove": this.bindHandlerTooltip(true, this.props, {
127
131
  xIndex: i,
128
- index: i
132
+ index: i,
133
+ patterns: patterns
129
134
  }),
130
135
  "onMouseLeave": this.bindHandlerTooltip(false, this.props, {
131
136
  xIndex: i,
132
- index: i
137
+ index: i,
138
+ patterns: patterns
133
139
  })
134
140
  }), /*#__PURE__*/_react["default"].createElement(SScatterPlot, _ref2.cn("SScatterPlot", {
135
141
  "aria-hidden": true,
@@ -140,9 +146,15 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
140
146
  "cx": xScale(d[x]) + offset[0],
141
147
  "cy": yScale(d[y]) + offset[1],
142
148
  "color": resolveColor(color),
149
+ "pattern": patterns ? "url(#".concat(uid, "-").concat(i, "-pattern)") : undefined,
143
150
  "r": r,
144
151
  "use:duration": "".concat(duration, "ms"),
145
152
  "transparent": transparent
153
+ })), patterns && /*#__PURE__*/_react["default"].createElement(_Pattern.PatternFill, _ref2.cn("PatternFill", {
154
+ "id": "".concat(uid, "-").concat(i, "-pattern"),
155
+ "patternKey": color,
156
+ "color": resolveColor(color),
157
+ "patterns": patterns
146
158
  })), d[value] !== undefined && /*#__PURE__*/_react["default"].createElement(SValue, _ref2.cn("SValue", {
147
159
  "aria-hidden": true,
148
160
  "x": xScale(d[x]) + offset[0],
@@ -1 +1 @@
1
- {"version":3,"file":"ScatterPlot.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_canUseDOM","_uniqueID","_createElement","_utils","_Tooltip","style","sstyled","insert","ScatterPlotRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_this$asProps2","color","scale","offset","styles","valueColor","transparent","resolveColor","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","index","render","_this$asProps3","data","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","Tooltip","_objectSpread2","assignProps","ScatterPlot","_______childrenComponents","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\nimport Tooltip from './Tooltip';\n\nimport style from './style/scatterplot.shadow.css';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, tooltipProps, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : value ? 12 : 5.5;\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n r,\n offset,\n styles,\n uid,\n duration,\n value,\n valueColor,\n transparent,\n resolveColor,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n if (Number.isNaN(d[x]) || Number.isNaN(d[y])) {\n return null;\n }\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i })}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={resolveColor(color)}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[value] !== undefined && (\n <SValue\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(valueColor)}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n <clipPath id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </clipPath>\n </>\n );\n }\n}\n\nconst ScatterPlotTooltip = (props) => {\n const SScatterPlotTooltip = Root;\n return sstyled(props.styles)(<SScatterPlotTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst ScatterPlot = createElement(ScatterPlotRoot, {\n Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents],\n});\n\nexport default ScatterPlot;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ScatterPlot.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_canUseDOM","_uniqueID","_createElement","_utils","_Tooltip","_Pattern","style","sstyled","insert","ScatterPlotRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_this$asProps2","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","index","PatternFill","render","_this$asProps3","data","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","Tooltip","_objectSpread2","assignProps","ScatterPlot","_______childrenComponents","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\nimport Tooltip from './Tooltip';\nimport { PatternFill } from './Pattern';\n\nimport style from './style/scatterplot.shadow.css';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, tooltipProps, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : value ? 12 : 5.5;\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n r,\n offset,\n styles,\n uid,\n duration,\n value,\n valueColor,\n transparent,\n resolveColor,\n patterns,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n if (Number.isNaN(d[x]) || Number.isNaN(d[y])) {\n return null;\n }\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i, patterns })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i, patterns })}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={resolveColor(color)}\n pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n {d[value] !== undefined && (\n <SValue\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(valueColor)}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n <clipPath id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </clipPath>\n </>\n );\n }\n}\n\nconst ScatterPlotTooltip = (props) => {\n const SScatterPlotTooltip = Root;\n return sstyled(props.styles)(<SScatterPlotTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst ScatterPlot = createElement(ScatterPlotRoot, {\n Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents],\n});\n\nexport default ScatterPlot;\n"],"mappings":";;;;;;;;;;;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAFA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,SAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,cAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAAwC;AAAA,IAAAU,KAAA,+BAAAX,KAAA,CAAAY,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAIlCC,eAAe,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,eAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,eAAA;EAAA,SAAAA,gBAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,eAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,qBAUF,IAAAa,qBAAS,GAAE,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,IAAAJ,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,yBAM5C,UAACgB,OAAO,EAAEC,KAAK,EAAEC,YAAY;MAAA,OAAK,UAAAC,KAAA,EAAgC;QAAA,IAApBC,CAAC,GAAAD,KAAA,CAAVE,OAAO;UAAcC,CAAC,GAAAH,KAAA,CAAVI,OAAO;QAC3E,IAAQC,YAAY,GAAKxB,KAAA,CAAKyB,OAAO,CAA7BD,YAAY;QACpBxB,KAAA,CAAK0B,cAAc,CAACC,qBAAqB,GAAG3B,KAAA,CAAK4B,6BAA6B,CAACR,CAAC,EAAEE,CAAC,CAAC;QACpFtB,KAAA,CAAK0B,cAAc,CAACG,eAAQ,CAACC,eAAe,CAAC,GAAG,IAAI;QACpDN,YAAY,CAACO,IAAI,CAAC,kBAAkB,EAAEf,OAAO,EAAEC,KAAK,EAAEC,YAAY,EAAElB,KAAA,CAAK0B,cAAc,CAAC;MAC1F,CAAC;IAAA;IAAA,OAAA1B,KAAA;EAAA;EAAA,IAAAgC,aAAA,aAAArC,eAAA;IAAAsC,GAAA;IAAAC,KAAA,EATD,SAAAN,8BAAA,EAA4C;MAAA,IAAdR,CAAC,GAAAjB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAG,CAAC;MAAA,IAAEmB,CAAC,GAAAnB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAEiC,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEC,GAAG,EAAEhB,CAAC;UAAEiB,KAAK,EAAEnB,CAAC;UAAEoB,MAAM,EAAElB,CAAC;UAAEmB,IAAI,EAAErB;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAa,GAAA;IAAAC,KAAA,EASD,SAAAQ,gBAAA,EAAkB;MAChB,IAAAC,aAAA,GAAoC,IAAI,CAAClB,OAAO;QAAxCmB,QAAQ,GAAAD,aAAA,CAARC,QAAQ;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;QAAEC,CAAC,GAAAH,aAAA,CAADG,CAAC;QAAEZ,KAAK,GAAAS,aAAA,CAALT,KAAK;MAC/B,IAAMa,MAAM,GAAGD,CAAC,GAAGA,CAAC,GAAGZ,KAAK,GAAG,EAAE,GAAG,GAAG;MACvC,IAAMc,UAAU,GAAG,IAAAC,wBAAU,GAAE,CAACC,SAAS,EAAE,CAACC,SAAS,SAAAzC,MAAA,CAASmC,GAAG,OAAI,CAACO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;MAClF,IAAMC,cAAc,GAAGL,UAAU,CAACM,IAAI,EAAE;MAExC,IAAIV,QAAQ,GAAG,CAAC,IAAIS,cAAc,EAAE;QAClCL,UAAU,CAACC,UAAU,EAAE,CAACL,QAAQ,CAACA,QAAQ,CAAC,CAACQ,IAAI,CAAC,GAAG,EAAEL,MAAM,CAAC;MAC9D;IACF;EAAC;IAAAd,GAAA;IAAAC,KAAA,EAED,SAAAqB,mBAAA,EAAqB;MACnB,IAAI,CAACb,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAsB,kBAAA,EAAoB;MAClB,IAAI,CAACd,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAuB,aAAaC,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAAC,KAAA;MACjB,IAAAC,cAAA,GAeI,IAAI,CAACpC,OAAO;QAddqC,KAAK,GAAAD,cAAA,CAALC,KAAK;QACLC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACL3C,CAAC,GAAAyC,cAAA,CAADzC,CAAC;QACDE,CAAC,GAAAuC,cAAA,CAADvC,CAAC;QACDwB,CAAC,GAAAe,cAAA,CAADf,CAAC;QACDkB,MAAM,GAAAH,cAAA,CAANG,MAAM;QACNC,MAAM,GAAAJ,cAAA,CAANI,MAAM;QACNpB,GAAG,GAAAgB,cAAA,CAAHhB,GAAG;QACHD,QAAQ,GAAAiB,cAAA,CAARjB,QAAQ;QACRV,KAAK,GAAA2B,cAAA,CAAL3B,KAAK;QACLgC,UAAU,GAAAL,cAAA,CAAVK,UAAU;QACVC,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACXC,YAAY,GAAAP,cAAA,CAAZO,YAAY;QACZC,QAAQ,GAAAR,cAAA,CAARQ,QAAQ;MAEV,IAAAC,MAAA,OAAAC,eAAA,aAAyBR,KAAK;QAAvBS,MAAM,GAAAF,MAAA;QAAEG,MAAM,GAAAH,MAAA;MACrB,IAAMI,YAAY,GAAG,IAAI,CAACC,OAAO;MACjC,IAAMC,MAAM,GAAG,MAAM;MAErB,IAAIC,MAAM,CAACC,KAAK,CAACpB,CAAC,CAACtC,CAAC,CAAC,CAAC,IAAIyD,MAAM,CAACC,KAAK,CAACpB,CAAC,CAACpC,CAAC,CAAC,CAAC,EAAE;QAC5C,OAAO,IAAI;MACb;MAEA,OAAAsC,KAAA,GAAO,IAAAnE,aAAO,EAACwE,MAAM,CAAC,eACpBlF,MAAA,YAAAgC,aAAA,MAAA6C,KAAA,CAAAmB,EAAA;QAAA;QAAA,kBAAArE,MAAA,CAEkBiD,CAAC;QAAA,eACJ,IAAI,CAACqB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC/D,KAAK,EAAE;UAAEgE,MAAM,EAAEtB,CAAC;UAAEuB,KAAK,EAAEvB,CAAC;UAAEU,QAAQ,EAARA;QAAS,CAAC,CAAC;QAAA,gBAC3E,IAAI,CAACW,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC/D,KAAK,EAAE;UAAEgE,MAAM,EAAEtB,CAAC;UAAEuB,KAAK,EAAEvB,CAAC;UAAEU,QAAQ,EAARA;QAAS,CAAC;MAAC,iBAE3FtF,MAAA,YAAAgC,aAAA,CAAC2D,YAAY,EAAAd,KAAA,CAAAmB,EAAA;QAAA;QAAA,SAAArE,MAAA,CAEJmC,GAAG,EAAAnC,MAAA,CAAGiD,CAAC;QAAA,SACPA,CAAC;QAAA,UACD,QAAQ;QAAA,oBAAAjD,MAAA,CACGmC,GAAG;QAAA,MACjB2B,MAAM,CAACd,CAAC,CAACtC,CAAC,CAAC,CAAC,GAAG4C,MAAM,CAAC,CAAC,CAAC;QAAA,MACxBS,MAAM,CAACf,CAAC,CAACpC,CAAC,CAAC,CAAC,GAAG0C,MAAM,CAAC,CAAC,CAAC;QAAA,SACrBI,YAAY,CAACN,KAAK,CAAC;QAAA,WACjBO,QAAQ,WAAA3D,MAAA,CAAWmC,GAAG,OAAAnC,MAAA,CAAIiD,CAAC,iBAAcxB,SAAS;QAAA,KACxDW,CAAC;QAAA,mBAAApC,MAAA,CACakC,QAAQ;QAAA,eACZuB;MAAW,GACxB,EACDE,QAAQ,iBACPtF,MAAA,YAAAgC,aAAA,CAACxB,QAAA,CAAA4F,WAAW,EAAAvB,KAAA,CAAAmB,EAAA;QAAA,SAAArE,MAAA,CACHmC,GAAG,OAAAnC,MAAA,CAAIiD,CAAC;QAAA,cACHG,KAAK;QAAA,SACVM,YAAY,CAACN,KAAK,CAAC;QAAA,YAChBO;MAAQ,GAErB,EACAX,CAAC,CAACxB,KAAK,CAAC,KAAKC,SAAS,iBACrBpD,MAAA,YAAAgC,aAAA,CAAC6D,MAAM,EAAAhB,KAAA,CAAAmB,EAAA;QAAA;QAAA,KAEFP,MAAM,CAACd,CAAC,CAACtC,CAAC,CAAC,CAAC,GAAG4C,MAAM,CAAC,CAAC,CAAC;QAAA,KACxBS,MAAM,CAACf,CAAC,CAACpC,CAAC,CAAC,CAAC,GAAG0C,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAAtD,MAAA,CACSmC,GAAG;QAAA,SACduB,YAAY,CAACF,UAAU,CAAC;QAAA,eAClBC;MAAW,IAEvBT,CAAC,CAACxB,KAAK,CAAC,CAEZ,CACC;IAER;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAAkD,OAAA,EAAS;MACP,IAAAC,cAAA,GAA0C,IAAI,CAAC5D,OAAO;QAA9C6D,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEzC,GAAG,GAAAwC,cAAA,CAAHxC,GAAG;QAAEkB,KAAK,GAAAsB,cAAA,CAALtB,KAAK;QAAE3C,CAAC,GAAAiE,cAAA,CAADjE,CAAC;QAAEE,CAAC,GAAA+D,cAAA,CAAD/D,CAAC;QAAEY,KAAK,GAAAmD,cAAA,CAALnD,KAAK;MACrC,IAAAqD,OAAA,OAAAhB,eAAA,aAAyBR,KAAK;QAAvBS,MAAM,GAAAe,OAAA;QAAEd,MAAM,GAAAc,OAAA;MACrB,IAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAClB,MAAM,CAACmB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAGnB,MAAM,CAACmB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMC,KAAK,GAAGH,IAAI,CAACC,GAAG,CAACjB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAGlB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAME,OAAO,GAAGJ,IAAI,CAACK,GAAG,CAACtB,MAAM,CAACmB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAEnB,MAAM,CAACmB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAMI,OAAO,GAAGN,IAAI,CAACK,GAAG,CAACrB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAElB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE9D,IAAI,CAAClE,OAAO,CAACuE,gBAAgB,CAACC,oBAAoB,CAAC7E,CAAC,EAAEE,CAAC,EAAEY,KAAK,CAAC;MAC/D,IAAI,CAACT,OAAO,CAACuE,gBAAgB,CAACE,iBAAiB,CAAC,cAAc,CAAC;MAE/D,oBACEnH,MAAA,YAAAgC,aAAA,CAAAhC,MAAA,YAAAoH,QAAA,QACGb,IAAI,CAACc,GAAG,CAAC,IAAI,CAAC3C,YAAY,CAAC4C,IAAI,CAAC,IAAI,CAAC,CAAC,eACvCtH,MAAA,YAAAgC,aAAA;QAAUuF,EAAE,EAAEzD;MAAI,gBAChB9D,MAAA,YAAAgC,aAAA;QAAMK,CAAC,EAAEyE,OAAQ;QAACvE,CAAC,EAAEyE,OAAQ;QAAC3D,KAAK,KAAA1B,MAAA,CAAK8E,KAAK,OAAK;QAACnD,MAAM,KAAA3B,MAAA,CAAKkF,KAAK;MAAK,EAAG,CAClE,CACV;IAEP;EAAC;EAAA,OAAAjG,eAAA;AAAA,EApI2B4G,eAAS;AAAA,IAAA5F,gBAAA,aAAjChB,eAAe,iBACE,aAAa;AAAA,IAAAgB,gBAAA,aAD9BhB,eAAe,WAEJH,KAAK;AAAA,IAAAmB,gBAAA,aAFhBhB,eAAe,aAGF,CAAC,IAAA6G,oBAAmB,GAAE,CAAC;AAAA,IAAA7F,gBAAA,aAHpChB,eAAe,kBAKG;EACpBqE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdpB,QAAQ,EAAE;AACZ,CAAC;AA+HH,IAAM6D,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIxF,KAAK,EAAK;EAAA,IAAAyF,IAAA,GAAAC,YAAA;IAAAC,KAAA;EACpC,IAAMC,mBAAmB,GACiCC,mBAAO;EAAjE,OAAAF,KAAA,GAAO,IAAAnH,aAAO,EAACwB,KAAK,CAACgD,MAAM,CAAC,eAAClF,MAAA,YAAAgC,aAAA,CAAC8F,mBAAmB,EAAAD,KAAA,CAAA7B,EAAA,4BAAAgC,cAAA,qBAAAlI,KAAA,CAAAmI,WAAA;IAAA;EAAA,GAAAN,IAAA,IAAuC;AAC1F,CAAC;AAED,IAAMO,WAAW,GAAG,IAAAlG,yBAAa,EAACpB,eAAe,EAAE;EACjDmH,OAAO,EAAE,CAACL,kBAAkB,EAAEK,mBAAO,CAACI,yBAAyB;AACjE,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYF,WAAW;AAAAG,OAAA,cAAAD,QAAA"}
@@ -70,7 +70,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
70
70
  x = _this$asProps2.x,
71
71
  r = _this$asProps2.r,
72
72
  scale = _this$asProps2.scale,
73
- maxBarSize = _this$asProps2.maxBarSize;
73
+ maxBarSize = _this$asProps2.maxBarSize,
74
+ patterns = _this$asProps2.patterns;
74
75
  var _scale = (0, _slicedToArray2["default"])(scale, 2),
75
76
  yScale = _scale[1];
76
77
  var seriesIndex = this.series.findIndex(function (s) {
@@ -108,7 +109,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
108
109
  groupKey: x,
109
110
  offset: calcOffset,
110
111
  maxBarSize: maxBarSize,
111
- color: (0, _utils.getChartDefaultColorName)(index)
112
+ color: (0, _utils.getChartDefaultColorName)(index),
113
+ patterns: patterns
112
114
  };
113
115
  }
114
116
  }, {
@@ -123,7 +125,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
123
125
  y = _this$asProps3.y,
124
126
  r = _this$asProps3.r,
125
127
  scale = _this$asProps3.scale,
126
- maxBarSize = _this$asProps3.maxBarSize;
128
+ maxBarSize = _this$asProps3.maxBarSize,
129
+ patterns = _this$asProps3.patterns;
127
130
  var _scale2 = (0, _slicedToArray2["default"])(scale, 1),
128
131
  xScale = _scale2[0];
129
132
  var seriesIndex = this.series.findIndex(function (s) {
@@ -160,7 +163,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
160
163
  groupKey: y,
161
164
  offset: calcOffset,
162
165
  maxBarSize: maxBarSize,
163
- color: (0, _utils.getChartDefaultColorName)(index)
166
+ color: (0, _utils.getChartDefaultColorName)(index),
167
+ patterns: patterns
164
168
  };
165
169
  }
166
170
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"StackBar.js","names":["_react","_interopRequireDefault","require","_d3Shape","_core","_getOriginChildren","_createElement","_Bar","_interopRequireWildcard","_HorizontalBar","_utils","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","getSeries","_this$asProps","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackBar","Bar","props","hide","push","y","HorizontalBar","x","getBarProps","_ref","index","_this2","_this$offsetBars$seri","_ref$hMin","hMin","MIN_HEIGHT","_this$asProps2","r","scale","maxBarSize","_scale","_slicedToArray2","yScale","seriesIndex","series","findIndex","s","rBar","map","i","slice","some","bar","offsetBars","_objectSpread2","_objectSpread4","calcOffset","_d$XY","_d$XY2","offset","offsetBar","_offsetBar$i","d","absHeight","Math","abs","min","domain","Number","y0","groupKey","color","getChartDefaultColorName","getHorizontalBarProps","_ref2","_this3","_this$offsetBars$seri2","_ref2$wMin","wMin","MIN_WIDTH","_this$asProps3","_scale2","xScale","_objectSpread3","_d$XY3","_d$XY4","_offsetBar$i2","absWidth","max","x0","render","Element","dataHintsHandler","establishDataType","createElement","Component","d3Stack","_default","exports"],"sources":["../../src/StackBar.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar, { MIN_HEIGHT } from './Bar';\nimport HorizontalBar, { MIN_WIDTH } from './HorizontalBar';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n offsetBars = [];\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y, hMin = MIN_HEIGHT }, index) {\n const { x, r, scale, maxBarSize } = this.asProps;\n const [, yScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[XY0] ?? 0)),\n );\n this.offsetBars[seriesIndex][i] =\n Number(d[y] - (d[XY0] ?? 0)) === 0 ? 0 : absHeight >= hMin ? 0 : d[y] > 0 ? hMin : -hMin;\n return [0, offset];\n };\n\n return {\n data,\n hMin,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n };\n }\n\n getHorizontalBarProps({ x, wMin = MIN_WIDTH }, index) {\n const { y, r, scale, maxBarSize } = this.asProps;\n const [xScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[XY0] ?? 0)),\n );\n this.offsetBars[seriesIndex][i] =\n Number(d[x] - (d[XY0] ?? 0)) === 0 ? 0 : absWidth >= wMin ? 0 : d[x] > 0 ? -wMin : wMin;\n return [offset, 0];\n };\n\n return {\n data,\n wMin,\n x0: XY0,\n y,\n r: rBar,\n groupKey: y,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n this.offsetBars = [];\n\n return <Element aria-hidden render='g' series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,IAAA,GAAAC,uBAAA,CAAAN,OAAA;AACA,IAAAO,cAAA,GAAAD,uBAAA,CAAAN,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAEA,IAAMS,gBAAgB,GAAGC,MAAM,CAAC,kBAAkB,CAAC;AACnD,IAAMC,GAAG,GAAGD,MAAM,CAAC,KAAK,CAAC;AAAC,IAEpBE,YAAY,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,YAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,YAAA;EAAA,SAAAA,aAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,YAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,iBASH,EAAE;IAAA,OAAAA,KAAA;EAAA;EAAA,IAAAa,aAAA,aAAAlB,YAAA;IAAAmB,GAAA;IAAAC,KAAA,EAEf,SAAAC,UAAA,EAAY;MACV,IAAAC,aAAA,GAAkC,IAAI,CAACC,OAAO;QAAtCC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAAEC,IAAI,GAAAH,aAAA,CAAJG,IAAI;QAAEC,KAAK,GAAAJ,aAAA,CAALI,KAAK;MAE7B,IAAIA,KAAK,CAAC7B,gBAAgB,CAAC,EAAE;QAC3B,IAAM8B,IAAI,GAAGC,iBAAK,CAACJ,QAAQ,CAACK,OAAO,CAAC,IAAAC,6BAAiB,EAACN,QAAQ,CAAC,CAAC,CAACO,MAAM,CAAC,UAACC,GAAG,EAAEC,KAAK,EAAK;UACtF,IAAI,cAAAL,iBAAK,CAACM,cAAc,CAACD,KAAK,CAAC,IAAIA,KAAK,CAACE,IAAI,KAAKC,QAAQ,CAACC,GAAG,IAAI,CAACJ,KAAK,CAACK,KAAK,CAACC,IAAI,EAAE;YACnFP,GAAG,CAACQ,IAAI,CAACP,KAAK,CAACK,KAAK,CAACG,CAAC,CAAC;UACzB;UACA,IACE,cAAAb,iBAAK,CAACM,cAAc,CAACD,KAAK,CAAC,IAC3BA,KAAK,CAACE,IAAI,KAAKC,QAAQ,CAACM,aAAa,IACrC,CAACT,KAAK,CAACK,KAAK,CAACC,IAAI,EACjB;YACAP,GAAG,CAACQ,IAAI,CAACP,KAAK,CAACK,KAAK,CAACK,CAAC,CAAC;UACzB;UACA,OAAOX,GAAG;QACZ,CAAC,EAAE,EAAE,CAAC;QACNN,KAAK,CAACC,IAAI,CAACA,IAAI,CAAC;MAClB;MAEA,OAAOD,KAAK,CAACD,IAAI,CAAC;IACpB;EAAC;IAAAN,GAAA;IAAAC,KAAA,EAED,SAAAwB,YAAAC,IAAA,EAAsCC,KAAK,EAAE;MAAA,IAAAC,MAAA;QAAAC,qBAAA;MAAA,IAA/BP,CAAC,GAAAI,IAAA,CAADJ,CAAC;QAAAQ,SAAA,GAAAJ,IAAA,CAAEK,IAAI;QAAJA,IAAI,GAAAD,SAAA,cAAGE,eAAU,GAAAF,SAAA;MAChC,IAAAG,cAAA,GAAoC,IAAI,CAAC7B,OAAO;QAAxCoB,CAAC,GAAAS,cAAA,CAADT,CAAC;QAAEU,CAAC,GAAAD,cAAA,CAADC,CAAC;QAAEC,KAAK,GAAAF,cAAA,CAALE,KAAK;QAAEC,UAAU,GAAAH,cAAA,CAAVG,UAAU;MAC/B,IAAAC,MAAA,OAAAC,eAAA,aAAmBH,KAAK;QAAfI,MAAM,GAAAF,MAAA;MAEf,IAAMG,WAAW,GAAG,IAAI,CAACC,MAAM,CAACC,SAAS,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAAC3C,GAAG,KAAKsB,CAAC;MAAA,EAAC;MAC7D;MACA,IAAMmB,MAAM,GAAG,IAAI,CAACA,MAAM,CAACD,WAAW,CAAC,IAAI,EAAE;MAE7C,IAAMI,IAAI,GAAGH,MAAM,CAACI,GAAG,CAAC,UAACF,CAAC,EAAEG,CAAC;QAAA,OAC3BlB,MAAI,CAACa,MAAM,CAACM,KAAK,CAACP,WAAW,GAAG,CAAC,CAAC,CAACQ,IAAI,CAAC,UAACC,GAAG;UAAA,OAAKA,GAAG,CAACH,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKG,GAAG,CAACH,CAAC,CAAC,CAAC,CAAC,CAAC;QAAA,EAAC,GAAG,CAAC,GAAGZ,CAAC;MAAA,EAClF;MAED,IAAI,CAACgB,UAAU,CAACV,WAAW,CAAC,IAAAX,qBAAA,GAAG,IAAI,CAACqB,UAAU,CAACV,WAAW,CAAC,cAAAX,qBAAA,cAAAA,qBAAA,GAAI,EAAE;MACjE,IAAMvB,IAAI,GAAGmC,MAAM,CAACI,GAAG,CAAC,UAACF,CAAC;QAAA,IAAAQ,cAAA;QAAA,WAAAC,cAAA,iBAAAA,cAAA,iBACrBT,CAAC,CAACrC,IAAI,QAAA6C,cAAA,WAAAtD,gBAAA,aAAAsD,cAAA,EACR7B,CAAC,EAAGqB,CAAC,CAAC,CAAC,CAAC,OAAA9C,gBAAA,aAAAsD,cAAA,EACRvE,GAAG,EAAG+D,CAAC,CAAC,CAAC,CAAC,GAAAQ,cAAA;MAAA,CACX,CAAC;MAEH,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAIP,CAAC,EAAK;QAAA,IAAAQ,KAAA,EAAAC,MAAA;QACxB,IAAMC,MAAM,GAAG5B,MAAI,CAACsB,UAAU,CAACtC,MAAM,CAAC,UAAC4C,MAAM,EAAEC,SAAS;UAAA,IAAAC,YAAA;UAAA,OAAKF,MAAM,KAAAE,YAAA,GAAID,SAAS,CAACX,CAAC,CAAC,cAAAY,YAAA,cAAAA,YAAA,GAAI,CAAC,CAAC;QAAA,GAAE,CAAC,CAAC;QAC7F,IAAMC,CAAC,GAAGrD,IAAI,CAACwC,CAAC,CAAC;QACjB,IAAMc,SAAS,GAAGC,IAAI,CAACC,GAAG,CACxBvB,MAAM,CAACoB,CAAC,CAACrC,CAAC,CAAC,CAAC,GAAGuC,IAAI,CAACE,GAAG,CAACxB,MAAM,CAACA,MAAM,CAACyB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEzB,MAAM,EAAAe,KAAA,GAACK,CAAC,CAAC/E,GAAG,CAAC,cAAA0E,KAAA,cAAAA,KAAA,GAAI,CAAC,CAAC,CAAC,CACzE;QACD1B,MAAI,CAACsB,UAAU,CAACV,WAAW,CAAC,CAACM,CAAC,CAAC,GAC7BmB,MAAM,CAACN,CAAC,CAACrC,CAAC,CAAC,KAAAiC,MAAA,GAAII,CAAC,CAAC/E,GAAG,CAAC,cAAA2E,MAAA,cAAAA,MAAA,GAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAGK,SAAS,IAAI7B,IAAI,GAAG,CAAC,GAAG4B,CAAC,CAACrC,CAAC,CAAC,GAAG,CAAC,GAAGS,IAAI,GAAG,CAACA,IAAI;QAC1F,OAAO,CAAC,CAAC,EAAEyB,MAAM,CAAC;MACpB,CAAC;MAED,OAAO;QACLlD,IAAI,EAAJA,IAAI;QACJyB,IAAI,EAAJA,IAAI;QACJmC,EAAE,EAAEtF,GAAG;QACP4C,CAAC,EAADA,CAAC;QACDU,CAAC,EAAEU,IAAI;QACPuB,QAAQ,EAAE3C,CAAC;QACXgC,MAAM,EAAEH,UAAU;QAClBjB,UAAU,EAAVA,UAAU;QACVgC,KAAK,EAAE,IAAAC,+BAAwB,EAAC1C,KAAK;MACvC,CAAC;IACH;EAAC;IAAA3B,GAAA;IAAAC,KAAA,EAED,SAAAqE,sBAAAC,KAAA,EAA+C5C,KAAK,EAAE;MAAA,IAAA6C,MAAA;QAAAC,sBAAA;MAAA,IAA9BjD,CAAC,GAAA+C,KAAA,CAAD/C,CAAC;QAAAkD,UAAA,GAAAH,KAAA,CAAEI,IAAI;QAAJA,IAAI,GAAAD,UAAA,cAAGE,wBAAS,GAAAF,UAAA;MACzC,IAAAG,cAAA,GAAoC,IAAI,CAACzE,OAAO;QAAxCkB,CAAC,GAAAuD,cAAA,CAADvD,CAAC;QAAEY,CAAC,GAAA2C,cAAA,CAAD3C,CAAC;QAAEC,KAAK,GAAA0C,cAAA,CAAL1C,KAAK;QAAEC,UAAU,GAAAyC,cAAA,CAAVzC,UAAU;MAC/B,IAAA0C,OAAA,OAAAxC,eAAA,aAAiBH,KAAK;QAAf4C,MAAM,GAAAD,OAAA;MAEb,IAAMtC,WAAW,GAAG,IAAI,CAACC,MAAM,CAACC,SAAS,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAAC3C,GAAG,KAAKwB,CAAC;MAAA,EAAC;MAC7D,IAAMiB,MAAM,GAAG,IAAI,CAACA,MAAM,CAACD,WAAW,CAAC;MAEvC,IAAMI,IAAI,GAAGH,MAAM,CAACI,GAAG,CAAC,UAACF,CAAC,EAAEG,CAAC;QAAA,OAC3B0B,MAAI,CAAC/B,MAAM,CAACM,KAAK,CAACP,WAAW,GAAG,CAAC,CAAC,CAACQ,IAAI,CAAC,UAACC,GAAG;UAAA,OAAKA,GAAG,CAACH,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKG,GAAG,CAACH,CAAC,CAAC,CAAC,CAAC,CAAC;QAAA,EAAC,GAAG,CAAC,GAAGZ,CAAC;MAAA,EAClF;MAED,IAAI,CAACgB,UAAU,CAACV,WAAW,CAAC,IAAAiC,sBAAA,GAAG,IAAI,CAACvB,UAAU,CAACV,WAAW,CAAC,cAAAiC,sBAAA,cAAAA,sBAAA,GAAI,EAAE;MACjE,IAAMnE,IAAI,GAAGmC,MAAM,CAACI,GAAG,CAAC,UAACF,CAAC;QAAA,IAAAqC,cAAA;QAAA,WAAA5B,cAAA,iBAAAA,cAAA,iBACrBT,CAAC,CAACrC,IAAI,QAAA0E,cAAA,WAAAnF,gBAAA,aAAAmF,cAAA,EACRxD,CAAC,EAAGmB,CAAC,CAAC,CAAC,CAAC,OAAA9C,gBAAA,aAAAmF,cAAA,EACRpG,GAAG,EAAG+D,CAAC,CAAC,CAAC,CAAC,GAAAqC,cAAA;MAAA,CACX,CAAC;MAEH,IAAM3B,UAAU,GAAG,SAAbA,UAAUA,CAAIP,CAAC,EAAK;QAAA,IAAAmC,MAAA,EAAAC,MAAA;QACxB,IAAM1B,MAAM,GAAGgB,MAAI,CAACtB,UAAU,CAACtC,MAAM,CAAC,UAAC4C,MAAM,EAAEC,SAAS;UAAA,IAAA0B,aAAA;UAAA,OAAK3B,MAAM,KAAA2B,aAAA,GAAI1B,SAAS,CAACX,CAAC,CAAC,cAAAqC,aAAA,cAAAA,aAAA,GAAI,CAAC,CAAC;QAAA,GAAE,CAAC,CAAC;QAC7F,IAAMxB,CAAC,GAAGrD,IAAI,CAACwC,CAAC,CAAC;QACjB,IAAMsC,QAAQ,GAAGvB,IAAI,CAACC,GAAG,CACvBiB,MAAM,CAACpB,CAAC,CAACnC,CAAC,CAAC,CAAC,GAAGqC,IAAI,CAACwB,GAAG,CAACN,MAAM,CAACA,MAAM,CAACf,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEe,MAAM,EAAAE,MAAA,GAACtB,CAAC,CAAC/E,GAAG,CAAC,cAAAqG,MAAA,cAAAA,MAAA,GAAI,CAAC,CAAC,CAAC,CACzE;QACDT,MAAI,CAACtB,UAAU,CAACV,WAAW,CAAC,CAACM,CAAC,CAAC,GAC7BmB,MAAM,CAACN,CAAC,CAACnC,CAAC,CAAC,KAAA0D,MAAA,GAAIvB,CAAC,CAAC/E,GAAG,CAAC,cAAAsG,MAAA,cAAAA,MAAA,GAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAGE,QAAQ,IAAIT,IAAI,GAAG,CAAC,GAAGhB,CAAC,CAACnC,CAAC,CAAC,GAAG,CAAC,GAAG,CAACmD,IAAI,GAAGA,IAAI;QACzF,OAAO,CAACnB,MAAM,EAAE,CAAC,CAAC;MACpB,CAAC;MAED,OAAO;QACLlD,IAAI,EAAJA,IAAI;QACJqE,IAAI,EAAJA,IAAI;QACJW,EAAE,EAAE1G,GAAG;QACP0C,CAAC,EAADA,CAAC;QACDY,CAAC,EAAEU,IAAI;QACPuB,QAAQ,EAAE7C,CAAC;QACXkC,MAAM,EAAEH,UAAU;QAClBjB,UAAU,EAAVA,UAAU;QACVgC,KAAK,EAAE,IAAAC,+BAAwB,EAAC1C,KAAK;MACvC,CAAC;IACH;EAAC;IAAA3B,GAAA;IAAAC,KAAA,EAED,SAAAsF,OAAA,EAAS;MACP,IAAMC,OAAO,GAAG,IAAI,CAACA,OAAO;MAC5B,IAAI,CAAC/C,MAAM,GAAG,IAAI,CAACvC,SAAS,EAAE;MAE9B,IAAI,CAACE,OAAO,CAACqF,gBAAgB,CAACC,iBAAiB,CAAC,gBAAgB,CAAC;MAEjE,IAAI,CAACxC,UAAU,GAAG,EAAE;MAEpB,oBAAOnF,MAAA,YAAA4H,aAAA,CAACH,OAAO;QAAC,mBAAW;QAACD,MAAM,EAAC,GAAG;QAAC9C,MAAM,EAAE,IAAI,CAACA;MAAO,EAAG;IAChE;EAAC;EAAA,OAAA5D,YAAA;AAAA,EAhIwB+G,eAAS;AAAA,IAAA/F,gBAAA,aAA9BhB,YAAY,iBACK,UAAU;AAAA,IAAAgB,gBAAA,aAD3BhB,YAAY,kBAGM,YAAM;EAC1B,IAAM0B,KAAK,GAAG,IAAAsF,cAAO,GAAE;EACvBtF,KAAK,CAAC7B,gBAAgB,CAAC,GAAG,IAAI;EAC9B,OAAO;IAAE6B,KAAK,EAALA,KAAK;IAAE2B,CAAC,EAAE;EAAE,CAAC;AACxB,CAAC;AA4HH,IAAMjB,QAAQ,GAAG,IAAA0E,yBAAa,EAAC9G,YAAY,EAAE;EAC3CqC,GAAG,EAAHA,eAAG;EACHK,aAAa,EAAbA;AACF,CAAC,CAAC;AAAC,IAAAuE,QAAA,GAEY7E,QAAQ;AAAA8E,OAAA,cAAAD,QAAA"}
1
+ {"version":3,"file":"StackBar.js","names":["_react","_interopRequireDefault","require","_d3Shape","_core","_getOriginChildren","_createElement","_Bar","_interopRequireWildcard","_HorizontalBar","_utils","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","getSeries","_this$asProps","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackBar","Bar","props","hide","push","y","HorizontalBar","x","getBarProps","_ref","index","_this2","_this$offsetBars$seri","_ref$hMin","hMin","MIN_HEIGHT","_this$asProps2","r","scale","maxBarSize","patterns","_scale","_slicedToArray2","yScale","seriesIndex","series","findIndex","s","rBar","map","i","slice","some","bar","offsetBars","_objectSpread2","_objectSpread4","calcOffset","_d$XY","_d$XY2","offset","offsetBar","_offsetBar$i","d","absHeight","Math","abs","min","domain","Number","y0","groupKey","color","getChartDefaultColorName","getHorizontalBarProps","_ref2","_this3","_this$offsetBars$seri2","_ref2$wMin","wMin","MIN_WIDTH","_this$asProps3","_scale2","xScale","_objectSpread3","_d$XY3","_d$XY4","_offsetBar$i2","absWidth","max","x0","render","Element","dataHintsHandler","establishDataType","createElement","Component","d3Stack","_default","exports"],"sources":["../../src/StackBar.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar, { MIN_HEIGHT } from './Bar';\nimport HorizontalBar, { MIN_WIDTH } from './HorizontalBar';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n offsetBars = [];\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y, hMin = MIN_HEIGHT }, index) {\n const { x, r, scale, maxBarSize, patterns } = this.asProps;\n const [, yScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[XY0] ?? 0)),\n );\n this.offsetBars[seriesIndex][i] =\n Number(d[y] - (d[XY0] ?? 0)) === 0 ? 0 : absHeight >= hMin ? 0 : d[y] > 0 ? hMin : -hMin;\n return [0, offset];\n };\n\n return {\n data,\n hMin,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n patterns,\n };\n }\n\n getHorizontalBarProps({ x, wMin = MIN_WIDTH }, index) {\n const { y, r, scale, maxBarSize, patterns } = this.asProps;\n const [xScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[XY0] ?? 0)),\n );\n this.offsetBars[seriesIndex][i] =\n Number(d[x] - (d[XY0] ?? 0)) === 0 ? 0 : absWidth >= wMin ? 0 : d[x] > 0 ? -wMin : wMin;\n return [offset, 0];\n };\n\n return {\n data,\n wMin,\n x0: XY0,\n y,\n r: rBar,\n groupKey: y,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n patterns,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n this.offsetBars = [];\n\n return <Element aria-hidden render='g' series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"mappings":"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"}
@@ -49,13 +49,16 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
49
49
  key: "getAreaProps",
50
50
  value: function getAreaProps(_ref, index) {
51
51
  var y = _ref.y;
52
- var x = this.asProps.x;
52
+ var _this$asProps2 = this.asProps,
53
+ x = _this$asProps2.x,
54
+ patterns = _this$asProps2.patterns;
53
55
  // or [] if hide area
54
56
  var series = this.series.find(function (s) {
55
57
  return s.key === y;
56
58
  }) || [];
57
59
  return {
58
60
  color: (0, _utils.getChartDefaultColorName)(index),
61
+ patterns: patterns,
59
62
  data: series.map(function (s) {
60
63
  var _objectSpread2;
61
64
  return (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, s.data), {}, (_objectSpread2 = {}, (0, _defineProperty2["default"])(_objectSpread2, y, s.data[y] === null ? null : s[1]), (0, _defineProperty2["default"])(_objectSpread2, Y0, s[0]), _objectSpread2));
@@ -1 +1 @@
1
- {"version":3,"file":"StackedArea.js","names":["_react","_interopRequireDefault","require","_d3Shape","_core","_getOriginChildren","_createElement","_Area","_utils","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","getSeries","_this$asProps","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackedArea","Area","props","hide","push","y","reverse","getAreaProps","_ref","index","x","series","find","s","color","getChartDefaultColorName","map","_objectSpread2","_objectSpread3","_defineProperty2","y0","render","Element","createElement","Component","d3Stack","_default","exports"],"sources":["../../src/StackedArea.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Area from './Area';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }, index) {\n const { x } = this.asProps;\n // or [] if hide area\n const series = this.series.find((s) => s.key === y) || [];\n return {\n color: getChartDefaultColorName(index),\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element aria-hidden render='g' series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,KAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAEA,IAAMO,gBAAgB,GAAGC,MAAM,CAAC,kBAAkB,CAAC;AACnD,IAAMC,EAAE,GAAGD,MAAM,CAAC,IAAI,CAAC;AAAC,IAElBE,eAAe,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,eAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,eAAA;EAAA,SAAAA,gBAAA;IAAA,IAAAK,gBAAA,mBAAAL,eAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAA,IAAAC,aAAA,aAAAR,eAAA;IAAAS,GAAA;IAAAC,KAAA,EASnB,SAAAC,UAAA,EAAY;MACV,IAAAC,aAAA,GAAkC,IAAI,CAACC,OAAO;QAAtCC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAAEC,IAAI,GAAAH,aAAA,CAAJG,IAAI;QAAEC,KAAK,GAAAJ,aAAA,CAALI,KAAK;MAE7B,IAAIA,KAAK,CAACnB,gBAAgB,CAAC,EAAE;QAC3B,IAAMoB,IAAI,GAAGC,iBAAK,CAACJ,QAAQ,CAACK,OAAO,CAAC,IAAAC,6BAAiB,EAACN,QAAQ,CAAC,CAAC,CAACO,MAAM,CAAC,UAACC,GAAG,EAAEC,KAAK,EAAK;UACtF,IAAI,cAAAL,iBAAK,CAACM,cAAc,CAACD,KAAK,CAAC,IAAIA,KAAK,CAACE,IAAI,KAAKC,WAAW,CAACC,IAAI,IAAI,CAACJ,KAAK,CAACK,KAAK,CAACC,IAAI,EAAE;YACvFP,GAAG,CAACQ,IAAI,CAACP,KAAK,CAACK,KAAK,CAACG,CAAC,CAAC;UACzB;UACA,OAAOT,GAAG;QACZ,CAAC,EAAE,EAAE,CAAC;QACNN,KAAK,CAACC,IAAI,CAACA,IAAI,CAACe,OAAO,EAAE,CAAC;MAC5B;MAEA,OAAOhB,KAAK,CAACD,IAAI,CAAC;IACpB;EAAC;IAAAN,GAAA;IAAAC,KAAA,EAED,SAAAuB,aAAAC,IAAA,EAAoBC,KAAK,EAAE;MAAA,IAAZJ,CAAC,GAAAG,IAAA,CAADH,CAAC;MACd,IAAQK,CAAC,GAAK,IAAI,CAACvB,OAAO,CAAlBuB,CAAC;MACT;MACA,IAAMC,MAAM,GAAG,IAAI,CAACA,MAAM,CAACC,IAAI,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAAC9B,GAAG,KAAKsB,CAAC;MAAA,EAAC,IAAI,EAAE;MACzD,OAAO;QACLS,KAAK,EAAE,IAAAC,+BAAwB,EAACN,KAAK,CAAC;QACtCpB,IAAI,EAAEsB,MAAM,CAACK,GAAG,CAAC,UAACH,CAAC;UAAA,IAAAI,cAAA;UAAA,WAAAC,cAAA,iBAAAA,cAAA,iBACdL,CAAC,CAACxB,IAAI,QAAA4B,cAAA,WAAAE,gBAAA,aAAAF,cAAA,EAERZ,CAAC,EAAGQ,CAAC,CAACxB,IAAI,CAACgB,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,GAAGQ,CAAC,CAAC,CAAC,CAAC,OAAAM,gBAAA,aAAAF,cAAA,EACpC5C,EAAE,EAAGwC,CAAC,CAAC,CAAC,CAAC,GAAAI,cAAA;QAAA,CACV,CAAC;QACHG,EAAE,EAAE/C,EAAE;QACNqC,CAAC,EAADA;MACF,CAAC;IACH;EAAC;IAAA3B,GAAA;IAAAC,KAAA,EAED,SAAAqC,OAAA,EAAS;MACP,IAAMC,OAAO,GAAG,IAAI,CAACA,OAAO;MAC5B,IAAI,CAACX,MAAM,GAAG,IAAI,CAAC1B,SAAS,EAAE;MAC9B,oBAAOvB,MAAA,YAAA6D,aAAA,CAACD,OAAO;QAAC,mBAAW;QAACD,MAAM,EAAC,GAAG;QAACV,MAAM,EAAE,IAAI,CAACA;MAAO,EAAG;IAChE;EAAC;EAAA,OAAArC,eAAA;AAAA,EA9C2BkD,eAAS;AAAA,IAAAL,gBAAA,aAAjC7C,eAAe,iBACE,aAAa;AAAA,IAAA6C,gBAAA,aAD9B7C,eAAe,kBAGG,YAAM;EAC1B,IAAMgB,KAAK,GAAG,IAAAmC,cAAO,GAAE;EACvBnC,KAAK,CAACnB,gBAAgB,CAAC,GAAG,IAAI;EAC9B,OAAO;IAAEmB,KAAK,EAALA;EAAM,CAAC;AAClB,CAAC;AA0CH,IAAMU,WAAW,GAAG,IAAAuB,yBAAa,EAACjD,eAAe,EAAE;EAAE2B,IAAI,EAAJA;AAAK,CAAC,CAAC;AAAC,IAAAyB,QAAA,GAE9C1B,WAAW;AAAA2B,OAAA,cAAAD,QAAA"}
1
+ {"version":3,"file":"StackedArea.js","names":["_react","_interopRequireDefault","require","_d3Shape","_core","_getOriginChildren","_createElement","_Area","_utils","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","getSeries","_this$asProps","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackedArea","Area","props","hide","push","y","reverse","getAreaProps","_ref","index","_this$asProps2","x","patterns","series","find","s","color","getChartDefaultColorName","map","_objectSpread2","_objectSpread3","_defineProperty2","y0","render","Element","createElement","Component","d3Stack","_default","exports"],"sources":["../../src/StackedArea.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Area from './Area';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }, index) {\n const { x, patterns } = this.asProps;\n // or [] if hide area\n const series = this.series.find((s) => s.key === y) || [];\n return {\n color: getChartDefaultColorName(index),\n patterns,\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element aria-hidden render='g' series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"mappings":"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"}