intergalactic 15.52.0-prerelease.0-prerelease-15fe9f5e → 15.53.0-prerelease-dfe34e97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -4
- package/accordion/lib/cjs/Accordion.js +7 -6
- package/accordion/lib/cjs/Accordion.js.map +1 -1
- package/accordion/lib/cjs/style/accordion.shadow.css +2 -2
- package/accordion/lib/es6/Accordion.js +7 -6
- package/accordion/lib/es6/Accordion.js.map +1 -1
- package/accordion/lib/es6/style/accordion.shadow.css +2 -2
- package/components.json +12 -12
- package/d3-chart/Pattern.d.ts +336 -0
- package/d3-chart/Plot.d.ts +4 -0
- package/d3-chart/RadialTree.d.ts +7 -2
- package/d3-chart/component/Chart/AbstractChart.type.d.ts +3 -0
- package/d3-chart/component/ChartLegend/BaseLegend.type.d.ts +3 -0
- package/d3-chart/component/ChartLegend/LegendItem/LegendItem.type.d.ts +7 -1
- package/d3-chart/index.d.ts +3 -0
- package/d3-chart/lib/cjs/Area.js +25 -13
- package/d3-chart/lib/cjs/Area.js.map +1 -1
- package/d3-chart/lib/cjs/Axis.js +14 -14
- package/d3-chart/lib/cjs/Bar.js +23 -12
- package/d3-chart/lib/cjs/Bar.js.map +1 -1
- package/d3-chart/lib/cjs/Bubble.js +25 -13
- package/d3-chart/lib/cjs/Bubble.js.map +1 -1
- package/d3-chart/lib/cjs/Donut.js +28 -12
- package/d3-chart/lib/cjs/Donut.js.map +1 -1
- package/d3-chart/lib/cjs/Dots.js +55 -28
- package/d3-chart/lib/cjs/Dots.js.map +1 -1
- package/d3-chart/lib/cjs/GroupBar.js +4 -2
- package/d3-chart/lib/cjs/GroupBar.js.map +1 -1
- package/d3-chart/lib/cjs/HorizontalBar.js +23 -12
- package/d3-chart/lib/cjs/HorizontalBar.js.map +1 -1
- package/d3-chart/lib/cjs/Hover.js +9 -6
- package/d3-chart/lib/cjs/Hover.js.map +1 -1
- package/d3-chart/lib/cjs/Line.js +23 -15
- package/d3-chart/lib/cjs/Line.js.map +1 -1
- package/d3-chart/lib/cjs/Pattern.js +540 -0
- package/d3-chart/lib/cjs/Pattern.js.map +1 -0
- package/d3-chart/lib/cjs/Plot.js +7 -5
- package/d3-chart/lib/cjs/Plot.js.map +1 -1
- package/d3-chart/lib/cjs/Radar.js +126 -83
- package/d3-chart/lib/cjs/Radar.js.map +1 -1
- package/d3-chart/lib/cjs/RadialTree.js +126 -100
- package/d3-chart/lib/cjs/RadialTree.js.map +1 -1
- package/d3-chart/lib/cjs/ReferenceLine.js +9 -9
- package/d3-chart/lib/cjs/ScatterPlot.js +22 -10
- package/d3-chart/lib/cjs/ScatterPlot.js.map +1 -1
- package/d3-chart/lib/cjs/StackBar.js +8 -4
- package/d3-chart/lib/cjs/StackBar.js.map +1 -1
- package/d3-chart/lib/cjs/StackedArea.js +4 -1
- package/d3-chart/lib/cjs/StackedArea.js.map +1 -1
- package/d3-chart/lib/cjs/Tooltip.js +21 -11
- package/d3-chart/lib/cjs/Tooltip.js.map +1 -1
- package/d3-chart/lib/cjs/Venn.js +28 -12
- package/d3-chart/lib/cjs/Venn.js.map +1 -1
- package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/d3-chart/lib/cjs/component/Chart/AbstractChart.js +7 -3
- package/d3-chart/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
- package/d3-chart/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
- package/d3-chart/lib/cjs/component/ChartLegend/BaseLegend.js +4 -2
- package/d3-chart/lib/cjs/component/ChartLegend/BaseLegend.js.map +1 -1
- package/d3-chart/lib/cjs/component/ChartLegend/BaseLegend.type.js.map +1 -1
- package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +80 -53
- package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js +1 -1
- package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
- package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/legend-item.shadow.css +17 -3
- package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/d3-chart/lib/cjs/index.js +19 -0
- package/d3-chart/lib/cjs/index.js.map +1 -1
- package/d3-chart/lib/cjs/style/area.shadow.css +6 -1
- package/d3-chart/lib/cjs/style/bar.shadow.css +7 -1
- package/d3-chart/lib/cjs/style/bubble.shadow.css +8 -1
- package/d3-chart/lib/cjs/style/donut.shadow.css +7 -1
- package/d3-chart/lib/cjs/style/dot.shadow.css +2 -2
- package/d3-chart/lib/cjs/style/radar.shadow.css +7 -1
- package/d3-chart/lib/cjs/style/radial-tree.shadow.css +5 -0
- package/d3-chart/lib/cjs/style/scatterplot.shadow.css +8 -1
- package/d3-chart/lib/cjs/style/tooltip.shadow.css +6 -6
- package/d3-chart/lib/cjs/style/venn.shadow.css +11 -0
- package/d3-chart/lib/cjs/types/Plot.d.js.map +1 -1
- package/d3-chart/lib/cjs/types/index.d.js +12 -0
- package/d3-chart/lib/cjs/types/index.d.js.map +1 -1
- package/d3-chart/lib/es6/Area.js +25 -13
- package/d3-chart/lib/es6/Area.js.map +1 -1
- package/d3-chart/lib/es6/Axis.js +14 -14
- package/d3-chart/lib/es6/Bar.js +23 -12
- package/d3-chart/lib/es6/Bar.js.map +1 -1
- package/d3-chart/lib/es6/Bubble.js +25 -13
- package/d3-chart/lib/es6/Bubble.js.map +1 -1
- package/d3-chart/lib/es6/Donut.js +28 -12
- package/d3-chart/lib/es6/Donut.js.map +1 -1
- package/d3-chart/lib/es6/Dots.js +56 -29
- package/d3-chart/lib/es6/Dots.js.map +1 -1
- package/d3-chart/lib/es6/GroupBar.js +4 -2
- package/d3-chart/lib/es6/GroupBar.js.map +1 -1
- package/d3-chart/lib/es6/HorizontalBar.js +23 -12
- package/d3-chart/lib/es6/HorizontalBar.js.map +1 -1
- package/d3-chart/lib/es6/Hover.js +9 -6
- package/d3-chart/lib/es6/Hover.js.map +1 -1
- package/d3-chart/lib/es6/Line.js +24 -16
- package/d3-chart/lib/es6/Line.js.map +1 -1
- package/d3-chart/lib/es6/Pattern.js +534 -0
- package/d3-chart/lib/es6/Pattern.js.map +1 -0
- package/d3-chart/lib/es6/Plot.js +7 -5
- package/d3-chart/lib/es6/Plot.js.map +1 -1
- package/d3-chart/lib/es6/Radar.js +126 -83
- package/d3-chart/lib/es6/Radar.js.map +1 -1
- package/d3-chart/lib/es6/RadialTree.js +127 -101
- package/d3-chart/lib/es6/RadialTree.js.map +1 -1
- package/d3-chart/lib/es6/ReferenceLine.js +9 -9
- package/d3-chart/lib/es6/ScatterPlot.js +22 -10
- package/d3-chart/lib/es6/ScatterPlot.js.map +1 -1
- package/d3-chart/lib/es6/StackBar.js +8 -4
- package/d3-chart/lib/es6/StackBar.js.map +1 -1
- package/d3-chart/lib/es6/StackedArea.js +4 -1
- package/d3-chart/lib/es6/StackedArea.js.map +1 -1
- package/d3-chart/lib/es6/Tooltip.js +22 -11
- package/d3-chart/lib/es6/Tooltip.js.map +1 -1
- package/d3-chart/lib/es6/Venn.js +28 -12
- package/d3-chart/lib/es6/Venn.js.map +1 -1
- package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
- package/d3-chart/lib/es6/component/Chart/AbstractChart.js +7 -3
- package/d3-chart/lib/es6/component/Chart/AbstractChart.js.map +1 -1
- package/d3-chart/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
- package/d3-chart/lib/es6/component/ChartLegend/BaseLegend.js +4 -2
- package/d3-chart/lib/es6/component/ChartLegend/BaseLegend.js.map +1 -1
- package/d3-chart/lib/es6/component/ChartLegend/BaseLegend.type.js.map +1 -1
- package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +80 -53
- package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js +1 -1
- package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
- package/d3-chart/lib/es6/component/ChartLegend/LegendItem/legend-item.shadow.css +17 -3
- package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/d3-chart/lib/es6/index.js +1 -0
- package/d3-chart/lib/es6/index.js.map +1 -1
- package/d3-chart/lib/es6/style/area.shadow.css +6 -1
- package/d3-chart/lib/es6/style/bar.shadow.css +7 -1
- package/d3-chart/lib/es6/style/bubble.shadow.css +8 -1
- package/d3-chart/lib/es6/style/donut.shadow.css +7 -1
- package/d3-chart/lib/es6/style/dot.shadow.css +2 -2
- package/d3-chart/lib/es6/style/radar.shadow.css +7 -1
- package/d3-chart/lib/es6/style/radial-tree.shadow.css +5 -0
- package/d3-chart/lib/es6/style/scatterplot.shadow.css +8 -1
- package/d3-chart/lib/es6/style/tooltip.shadow.css +6 -6
- package/d3-chart/lib/es6/style/venn.shadow.css +11 -0
- package/d3-chart/lib/es6/types/Plot.d.js.map +1 -1
- package/d3-chart/lib/es6/types/index.d.js +3 -0
- package/d3-chart/lib/es6/types/index.d.js.map +1 -1
- package/d3-chart/lib/types/Pattern.d.ts +336 -0
- package/d3-chart/lib/types/Plot.d.ts +4 -0
- package/d3-chart/lib/types/RadialTree.d.ts +7 -2
- package/d3-chart/lib/types/component/Chart/AbstractChart.type.d.ts +3 -0
- package/d3-chart/lib/types/component/ChartLegend/BaseLegend.type.d.ts +3 -0
- package/d3-chart/lib/types/component/ChartLegend/LegendItem/LegendItem.type.d.ts +7 -1
- package/d3-chart/lib/types/index.d.ts +3 -0
- package/date-picker/lib/cjs/components/RangePickerAbstract.js +8 -4
- package/date-picker/lib/cjs/components/RangePickerAbstract.js.map +1 -1
- package/date-picker/lib/es6/components/RangePickerAbstract.js +8 -4
- package/date-picker/lib/es6/components/RangePickerAbstract.js.map +1 -1
- package/drag-and-drop/index.d.ts +13 -2
- package/drag-and-drop/lib/cjs/DragAndDrop.js +96 -44
- package/drag-and-drop/lib/cjs/DragAndDrop.js.map +1 -1
- package/drag-and-drop/lib/cjs/index.d.js.map +1 -1
- package/drag-and-drop/lib/cjs/translations/de.json +5 -0
- package/drag-and-drop/lib/cjs/translations/en.json +5 -0
- package/drag-and-drop/lib/cjs/translations/es.json +5 -0
- package/drag-and-drop/lib/cjs/translations/fr.json +5 -0
- package/drag-and-drop/lib/cjs/translations/it.json +5 -0
- package/drag-and-drop/lib/cjs/translations/ja.json +5 -0
- package/drag-and-drop/lib/cjs/translations/ko.json +5 -0
- package/drag-and-drop/lib/cjs/translations/nl.json +5 -0
- package/drag-and-drop/lib/cjs/translations/pl.json +5 -0
- package/drag-and-drop/lib/cjs/translations/pt.json +5 -0
- package/drag-and-drop/lib/cjs/translations/sv.json +5 -0
- package/drag-and-drop/lib/cjs/translations/tr.json +5 -0
- package/drag-and-drop/lib/cjs/translations/vi.json +5 -0
- package/drag-and-drop/lib/cjs/translations/zh.json +5 -0
- package/drag-and-drop/lib/es6/DragAndDrop.js +96 -44
- package/drag-and-drop/lib/es6/DragAndDrop.js.map +1 -1
- package/drag-and-drop/lib/es6/index.d.js.map +1 -1
- package/drag-and-drop/lib/es6/translations/de.json +5 -0
- package/drag-and-drop/lib/es6/translations/en.json +5 -0
- package/drag-and-drop/lib/es6/translations/es.json +5 -0
- package/drag-and-drop/lib/es6/translations/fr.json +5 -0
- package/drag-and-drop/lib/es6/translations/it.json +5 -0
- package/drag-and-drop/lib/es6/translations/ja.json +5 -0
- package/drag-and-drop/lib/es6/translations/ko.json +5 -0
- package/drag-and-drop/lib/es6/translations/nl.json +5 -0
- package/drag-and-drop/lib/es6/translations/pl.json +5 -0
- package/drag-and-drop/lib/es6/translations/pt.json +5 -0
- package/drag-and-drop/lib/es6/translations/sv.json +5 -0
- package/drag-and-drop/lib/es6/translations/tr.json +5 -0
- package/drag-and-drop/lib/es6/translations/vi.json +5 -0
- package/drag-and-drop/lib/es6/translations/zh.json +5 -0
- package/drag-and-drop/lib/types/index.d.ts +13 -2
- package/package.json +3 -3
- package/pills/lib/cjs/Pills.js +44 -57
- package/pills/lib/cjs/Pills.js.map +1 -1
- package/pills/lib/cjs/style/pills.shadow.css +3 -9
- package/pills/lib/es6/Pills.js +44 -57
- package/pills/lib/es6/Pills.js.map +1 -1
- package/pills/lib/es6/style/pills.shadow.css +3 -9
- package/utils/lib/enhances/a11yEnhance.d.ts +9 -3
- package/utils/lib/enhances/a11yEnhance.js +11 -11
- package/utils/lib/enhances/a11yEnhance.js.map +1 -1
- package/utils/lib/enhances/a11yEnhance.mjs +11 -11
- package/utils/lib/enhances/a11yEnhance.mjs.map +1 -1
- package/utils/lib/themes/auto.css +3 -3
- package/utils/lib/themes/dark.css +2 -2
- package/utils/lib/themes/dark.json +1 -1
- package/utils/lib/themes/default.css +1 -1
- package/utils/lib/themes/light.css +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RadialTree.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","assignProps","getOriginChildren","canUseDOM","createElement","measureText","style","_sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","handleRadianClick","bind","_createClass","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","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","max","apply","_toConsumableArray","getTitleProps","_this$asProps3","size","_size","_slicedToArray","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties","_excluded","textWidth","_objectSpread","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","cn","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","_child","mergedProps","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"],"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":["React","transition","Component","sstyled","uniqueIDEnhancement","assignProps","getOriginChildren","canUseDOM","createElement","getChartDefaultColorName","measureText","PatternSymbol","getPatternSymbolSize","style","_sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","handleRadianClick","bind","_createClass","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","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","max","apply","_toConsumableArray","getTitleProps","_this$asProps3","size","_size","_slicedToArray","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties","_excluded","textWidth","_objectSpread","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","cn","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","_child","mergedProps","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","_getPatternSymbolSize","_getPatternSymbolSize2","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"],"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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"}
|
@@ -11,15 +11,15 @@ import { Component, sstyled } from 'intergalactic/core';
|
|
11
11
|
import createElement from './createElement';
|
12
12
|
import { scaleOfBandwidth } from './utils';
|
13
13
|
/*__reshadow-styles__:"./style/reference-line.shadow.css"*/
|
14
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
15
|
-
"__SReferenceLine": "
|
16
|
-
"__STitle": "
|
17
|
-
"--transform-origin": "--transform-
|
18
|
-
"_position_top": "
|
19
|
-
"_position_bottom": "
|
20
|
-
"_position_right": "
|
21
|
-
"_position_left": "
|
22
|
-
"__SBackground": "
|
14
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SReferenceLine_ua2xc_gg_{fill:none;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___STitle_ua2xc_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_ua2xc)}.___STitle_ua2xc_gg_._position_top_ua2xc_gg_{text-anchor:middle}.___STitle_ua2xc_gg_._position_bottom_ua2xc_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_ua2xc_gg_._position_left_ua2xc_gg_,.___STitle_ua2xc_gg_._position_right_ua2xc_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_ua2xc_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}" /*__inner_css_end__*/, "ua2xc_gg_") /*__reshadow_css_end__*/, {
|
15
|
+
"__SReferenceLine": "___SReferenceLine_ua2xc_gg_",
|
16
|
+
"__STitle": "___STitle_ua2xc_gg_",
|
17
|
+
"--transform-origin": "--transform-origin_ua2xc",
|
18
|
+
"_position_top": "_position_top_ua2xc_gg_",
|
19
|
+
"_position_bottom": "_position_bottom_ua2xc_gg_",
|
20
|
+
"_position_right": "_position_right_ua2xc_gg_",
|
21
|
+
"_position_left": "_position_left_ua2xc_gg_",
|
22
|
+
"__SBackground": "___SBackground_ua2xc_gg_"
|
23
23
|
});
|
24
24
|
var side2direction = {
|
25
25
|
left: 'vertical',
|
@@ -16,14 +16,17 @@ import uniqueIDEnhancement from 'intergalactic/utils/lib/uniqueID';
|
|
16
16
|
import createElement from './createElement';
|
17
17
|
import { CONSTANT } from './utils';
|
18
18
|
import Tooltip from './Tooltip';
|
19
|
+
import { PatternFill } from './Pattern';
|
19
20
|
/*__reshadow-styles__:"./style/scatterplot.shadow.css"*/
|
20
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
21
|
-
"__SScatterPlot": "
|
22
|
-
"_color": "
|
23
|
-
"--color": "--
|
24
|
-
"
|
25
|
-
"
|
26
|
-
"
|
21
|
+
var style = ( /*__reshadow_css_start__*/_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__*/, {
|
22
|
+
"__SScatterPlot": "___SScatterPlot_wymk7_gg_",
|
23
|
+
"_color": "__color_wymk7_gg_",
|
24
|
+
"--color": "--color_wymk7",
|
25
|
+
"_pattern": "__pattern_wymk7_gg_",
|
26
|
+
"--pattern": "--pattern_wymk7",
|
27
|
+
"_transparent": "__transparent_wymk7_gg_",
|
28
|
+
"__SValue": "___SValue_wymk7_gg_",
|
29
|
+
"--duration": "--duration_wymk7"
|
27
30
|
});
|
28
31
|
var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
29
32
|
_inherits(ScatterPlotRoot, _Component);
|
@@ -106,7 +109,8 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
106
109
|
value = _this$asProps2.value,
|
107
110
|
valueColor = _this$asProps2.valueColor,
|
108
111
|
transparent = _this$asProps2.transparent,
|
109
|
-
resolveColor = _this$asProps2.resolveColor
|
112
|
+
resolveColor = _this$asProps2.resolveColor,
|
113
|
+
patterns = _this$asProps2.patterns;
|
110
114
|
var _scale = _slicedToArray(scale, 2),
|
111
115
|
xScale = _scale[0],
|
112
116
|
yScale = _scale[1];
|
@@ -120,11 +124,13 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
120
124
|
"key": "circle(#".concat(i, ")"),
|
121
125
|
"onMouseMove": this.bindHandlerTooltip(true, this.props, {
|
122
126
|
xIndex: i,
|
123
|
-
index: i
|
127
|
+
index: i,
|
128
|
+
patterns: patterns
|
124
129
|
}),
|
125
130
|
"onMouseLeave": this.bindHandlerTooltip(false, this.props, {
|
126
131
|
xIndex: i,
|
127
|
-
index: i
|
132
|
+
index: i,
|
133
|
+
patterns: patterns
|
128
134
|
})
|
129
135
|
}), /*#__PURE__*/React.createElement(SScatterPlot, _ref2.cn("SScatterPlot", {
|
130
136
|
"aria-hidden": true,
|
@@ -135,9 +141,15 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
135
141
|
"cx": xScale(d[x]) + offset[0],
|
136
142
|
"cy": yScale(d[y]) + offset[1],
|
137
143
|
"color": resolveColor(color),
|
144
|
+
"pattern": patterns ? "url(#".concat(uid, "-").concat(i, "-pattern)") : undefined,
|
138
145
|
"r": r,
|
139
146
|
"use:duration": "".concat(duration, "ms"),
|
140
147
|
"transparent": transparent
|
148
|
+
})), patterns && /*#__PURE__*/React.createElement(PatternFill, _ref2.cn("PatternFill", {
|
149
|
+
"id": "".concat(uid, "-").concat(i, "-pattern"),
|
150
|
+
"patternKey": color,
|
151
|
+
"color": resolveColor(color),
|
152
|
+
"patterns": patterns
|
141
153
|
})), d[value] !== undefined && /*#__PURE__*/React.createElement(SValue, _ref2.cn("SValue", {
|
142
154
|
"aria-hidden": true,
|
143
155
|
"x": xScale(d[x]) + offset[0],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ScatterPlot.js","names":["React","transition","Component","Root","sstyled","canUseDOM","uniqueIDEnhancement","createElement","CONSTANT","Tooltip","style","_sstyled","insert","ScatterPlotRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_createClass","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","selectRect","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_this$asProps2","color","scale","offset","styles","valueColor","transparent","resolveColor","_scale","_slicedToArray","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","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","_objectSpread","_assignProps","ScatterPlot","_______childrenComponents"],"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":";;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,SAAS,EAAEC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AACxD,OAAOC,SAAS,MAAM,8BAA8B;AACpD,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,QAAQ,QAAQ,SAAS;AAClC,OAAOC,OAAO,MAAM,WAAW;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAI1BC,eAAe,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,eAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,eAAA;EAAA,SAAAA,gBAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,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;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,qBAUFb,SAAS,EAAE,GAAG0B,QAAQ,CAACxB,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAAsB,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAM5C,UAACc,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,GAAKtB,KAAA,CAAKuB,OAAO,CAA7BD,YAAY;QACpBtB,KAAA,CAAKwB,cAAc,CAACC,qBAAqB,GAAGzB,KAAA,CAAK0B,6BAA6B,CAACR,CAAC,EAAEE,CAAC,CAAC;QACpFpB,KAAA,CAAKwB,cAAc,CAAClC,QAAQ,CAACqC,eAAe,CAAC,GAAG,IAAI;QACpDL,YAAY,CAACM,IAAI,CAAC,kBAAkB,EAAEd,OAAO,EAAEC,KAAK,EAAEC,YAAY,EAAEhB,KAAA,CAAKwB,cAAc,CAAC;MAC1F,CAAC;IAAA;IAAA,OAAAxB,KAAA;EAAA;EAAA6B,YAAA,CAAAlC,eAAA;IAAAmC,GAAA;IAAAC,KAAA,EATD,SAAAL,8BAAA,EAA4C;MAAA,IAAdR,CAAC,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6B,SAAA,GAAA7B,SAAA,MAAG,CAAC;MAAA,IAAEiB,CAAC,GAAAjB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6B,SAAA,GAAA7B,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAE8B,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEC,GAAG,EAAEf,CAAC;UAAEgB,KAAK,EAAElB,CAAC;UAAEmB,MAAM,EAAEjB,CAAC;UAAEkB,IAAI,EAAEpB;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAY,GAAA;IAAAC,KAAA,EASD,SAAAQ,gBAAA,EAAkB;MAChB,IAAAC,aAAA,GAAoC,IAAI,CAACjB,OAAO;QAAxCkB,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,GAAG9D,UAAU,EAAE,CAAC+D,SAAS,EAAE,CAACC,SAAS,SAAArC,MAAA,CAASgC,GAAG,OAAI,CAACM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;MAClF,IAAMC,cAAc,GAAGJ,UAAU,CAACK,IAAI,EAAE;MAExC,IAAIT,QAAQ,GAAG,CAAC,IAAIQ,cAAc,EAAE;QAClCJ,UAAU,CAAC9D,UAAU,EAAE,CAAC0D,QAAQ,CAACA,QAAQ,CAAC,CAACO,IAAI,CAAC,GAAG,EAAEJ,MAAM,CAAC;MAC9D;IACF;EAAC;IAAAd,GAAA;IAAAC,KAAA,EAED,SAAAoB,mBAAA,EAAqB;MACnB,IAAI,CAACZ,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAqB,kBAAA,EAAoB;MAClB,IAAI,CAACb,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAsB,aAAaC,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAAC,KAAA;MACjB,IAAAC,cAAA,GAcI,IAAI,CAAClC,OAAO;QAbdmC,KAAK,GAAAD,cAAA,CAALC,KAAK;QACLC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACLzC,CAAC,GAAAuC,cAAA,CAADvC,CAAC;QACDE,CAAC,GAAAqC,cAAA,CAADrC,CAAC;QACDuB,CAAC,GAAAc,cAAA,CAADd,CAAC;QACDiB,MAAM,GAAAH,cAAA,CAANG,MAAM;QACNC,MAAM,GAAAJ,cAAA,CAANI,MAAM;QACNnB,GAAG,GAAAe,cAAA,CAAHf,GAAG;QACHD,QAAQ,GAAAgB,cAAA,CAARhB,QAAQ;QACRV,KAAK,GAAA0B,cAAA,CAAL1B,KAAK;QACL+B,UAAU,GAAAL,cAAA,CAAVK,UAAU;QACVC,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACXC,YAAY,GAAAP,cAAA,CAAZO,YAAY;MAEd,IAAAC,MAAA,GAAAC,cAAA,CAAyBP,KAAK;QAAvBQ,MAAM,GAAAF,MAAA;QAAEG,MAAM,GAAAH,MAAA;MACrB,IAAMI,YAAY,GAAG,IAAI,CAACC,OAAO;MACjC,IAAMC,MAAM,GAAG,MAAM;MAErB,IAAIC,MAAM,CAACC,KAAK,CAACnB,CAAC,CAACpC,CAAC,CAAC,CAAC,IAAIsD,MAAM,CAACC,KAAK,CAACnB,CAAC,CAAClC,CAAC,CAAC,CAAC,EAAE;QAC5C,OAAO,IAAI;MACb;MAEA,OAAAoC,KAAA,GAAOtE,OAAO,CAAC2E,MAAM,CAAC,eACpB/E,KAAA,CAAAO,aAAA,MAAAmE,KAAA,CAAAkB,EAAA;QAAA;QAAA,kBAAAhE,MAAA,CAEkB6C,CAAC;QAAA,eACJ,IAAI,CAACoB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC5D,KAAK,EAAE;UAAE6D,MAAM,EAAErB,CAAC;UAAEsB,KAAK,EAAEtB;QAAE,CAAC,CAAC;QAAA,gBACjE,IAAI,CAACoB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC5D,KAAK,EAAE;UAAE6D,MAAM,EAAErB,CAAC;UAAEsB,KAAK,EAAEtB;QAAE,CAAC;MAAC,iBAEjFzE,KAAA,CAAAO,aAAA,CAACgF,YAAY,EAAAb,KAAA,CAAAkB,EAAA;QAAA;QAAA,SAAAhE,MAAA,CAEJgC,GAAG,EAAAhC,MAAA,CAAG6C,CAAC;QAAA,SACPA,CAAC;QAAA,UACD,QAAQ;QAAA,oBAAA7C,MAAA,CACGgC,GAAG;QAAA,MACjByB,MAAM,CAACb,CAAC,CAACpC,CAAC,CAAC,CAAC,GAAG0C,MAAM,CAAC,CAAC,CAAC;QAAA,MACxBQ,MAAM,CAACd,CAAC,CAAClC,CAAC,CAAC,CAAC,GAAGwC,MAAM,CAAC,CAAC,CAAC;QAAA,SACrBI,YAAY,CAACN,KAAK,CAAC;QAAA,KACvBf,CAAC;QAAA,mBAAAjC,MAAA,CACa+B,QAAQ;QAAA,eACZsB;MAAW,GACxB,EACDT,CAAC,CAACvB,KAAK,CAAC,KAAKC,SAAS,iBACrBlD,KAAA,CAAAO,aAAA,CAACkF,MAAM,EAAAf,KAAA,CAAAkB,EAAA;QAAA;QAAA,KAEFP,MAAM,CAACb,CAAC,CAACpC,CAAC,CAAC,CAAC,GAAG0C,MAAM,CAAC,CAAC,CAAC;QAAA,KACxBQ,MAAM,CAACd,CAAC,CAAClC,CAAC,CAAC,CAAC,GAAGwC,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAAlD,MAAA,CACSgC,GAAG;QAAA,SACdsB,YAAY,CAACF,UAAU,CAAC;QAAA,eAClBC;MAAW,IAEvBT,CAAC,CAACvB,KAAK,CAAC,CAEZ,CACC;IAER;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAA+C,OAAA,EAAS;MACP,IAAAC,cAAA,GAA0C,IAAI,CAACxD,OAAO;QAA9CyD,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEtC,GAAG,GAAAqC,cAAA,CAAHrC,GAAG;QAAEiB,KAAK,GAAAoB,cAAA,CAALpB,KAAK;QAAEzC,CAAC,GAAA6D,cAAA,CAAD7D,CAAC;QAAEE,CAAC,GAAA2D,cAAA,CAAD3D,CAAC;QAAEW,KAAK,GAAAgD,cAAA,CAALhD,KAAK;MACrC,IAAAkD,OAAA,GAAAf,cAAA,CAAyBP,KAAK;QAAvBQ,MAAM,GAAAc,OAAA;QAAEb,MAAM,GAAAa,OAAA;MACrB,IAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAACjB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAGlB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMC,KAAK,GAAGH,IAAI,CAACC,GAAG,CAAChB,MAAM,CAACiB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAGjB,MAAM,CAACiB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAME,OAAO,GAAGJ,IAAI,CAACK,GAAG,CAACrB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAElB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAMI,OAAO,GAAGN,IAAI,CAACK,GAAG,CAACpB,MAAM,CAACiB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAEjB,MAAM,CAACiB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE9D,IAAI,CAAC9D,OAAO,CAACmE,gBAAgB,CAACC,oBAAoB,CAACzE,CAAC,EAAEE,CAAC,EAAEW,KAAK,CAAC;MAC/D,IAAI,CAACR,OAAO,CAACmE,gBAAgB,CAACE,iBAAiB,CAAC,cAAc,CAAC;MAE/D,oBACE9G,KAAA,CAAAO,aAAA,CAAAP,KAAA,CAAA+G,QAAA,QACGb,IAAI,CAACc,GAAG,CAAC,IAAI,CAACzC,YAAY,CAAC0C,IAAI,CAAC,IAAI,CAAC,CAAC,eACvCjH,KAAA,CAAAO,aAAA;QAAU2G,EAAE,EAAEtD;MAAI,gBAChB5D,KAAA,CAAAO,aAAA;QAAM6B,CAAC,EAAEqE,OAAQ;QAACnE,CAAC,EAAEqE,OAAQ;QAACxD,KAAK,KAAAvB,MAAA,CAAKwE,KAAK,OAAK;QAAChD,MAAM,KAAAxB,MAAA,CAAK4E,KAAK;MAAK,EAAG,CAClE,CACV;IAEP;EAAC;EAAA,OAAA3F,eAAA;AAAA,EA1H2BX,SAAS;AAAA2B,eAAA,CAAjChB,eAAe,iBACE,aAAa;AAAAgB,eAAA,CAD9BhB,eAAe,WAEJH,KAAK;AAAAmB,eAAA,CAFhBhB,eAAe,aAGF,CAACP,mBAAmB,EAAE,CAAC;AAAAuB,eAAA,CAHpChB,eAAe,kBAKG;EACpBiE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdnB,QAAQ,EAAE;AACZ,CAAC;AAqHH,IAAMwD,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIlF,KAAK,EAAK;EAAA,IAAAmF,IAAA,GAAAC,YAAA;IAAAC,KAAA;EACpC,IAAMC,mBAAmB,GACiC9G,OAAO;EAAjE,OAAA6G,KAAA,GAAOlH,OAAO,CAAC6B,KAAK,CAAC8C,MAAM,CAAC,eAAC/E,KAAA,CAAAO,aAAA,CAACgH,mBAAmB,EAAAD,KAAA,CAAA1B,EAAA,wBAAA4B,aAAA,KAAAC,YAAA;IAAA;EAAA,GAAAL,IAAA,IAAuC;AAC1F,CAAC;AAED,IAAMM,WAAW,GAAGnH,aAAa,CAACM,eAAe,EAAE;EACjDJ,OAAO,EAAE,CAAC0G,kBAAkB,EAAE1G,OAAO,CAACkH,yBAAyB;AACjE,CAAC,CAAC;AAEF,eAAeD,WAAW"}
|
1
|
+
{"version":3,"file":"ScatterPlot.js","names":["React","transition","Component","Root","sstyled","canUseDOM","uniqueIDEnhancement","createElement","CONSTANT","Tooltip","PatternFill","style","_sstyled","insert","ScatterPlotRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_createClass","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","selectRect","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_this$asProps2","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","_scale","_slicedToArray","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","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","_objectSpread","_assignProps","ScatterPlot","_______childrenComponents"],"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":";;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,SAAS,EAAEC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AACxD,OAAOC,SAAS,MAAM,8BAA8B;AACpD,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,QAAQ,QAAQ,SAAS;AAClC,OAAOC,OAAO,MAAM,WAAW;AAC/B,SAASC,WAAW,QAAQ,WAAW;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAIlCC,eAAe,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,eAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,eAAA;EAAA,SAAAA,gBAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,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;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,qBAUFd,SAAS,EAAE,GAAG2B,QAAQ,CAACzB,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAAuB,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,yBAM5C,UAACc,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,GAAKtB,KAAA,CAAKuB,OAAO,CAA7BD,YAAY;QACpBtB,KAAA,CAAKwB,cAAc,CAACC,qBAAqB,GAAGzB,KAAA,CAAK0B,6BAA6B,CAACR,CAAC,EAAEE,CAAC,CAAC;QACpFpB,KAAA,CAAKwB,cAAc,CAACnC,QAAQ,CAACsC,eAAe,CAAC,GAAG,IAAI;QACpDL,YAAY,CAACM,IAAI,CAAC,kBAAkB,EAAEd,OAAO,EAAEC,KAAK,EAAEC,YAAY,EAAEhB,KAAA,CAAKwB,cAAc,CAAC;MAC1F,CAAC;IAAA;IAAA,OAAAxB,KAAA;EAAA;EAAA6B,YAAA,CAAAlC,eAAA;IAAAmC,GAAA;IAAAC,KAAA,EATD,SAAAL,8BAAA,EAA4C;MAAA,IAAdR,CAAC,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6B,SAAA,GAAA7B,SAAA,MAAG,CAAC;MAAA,IAAEiB,CAAC,GAAAjB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA6B,SAAA,GAAA7B,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAE8B,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEC,GAAG,EAAEf,CAAC;UAAEgB,KAAK,EAAElB,CAAC;UAAEmB,MAAM,EAAEjB,CAAC;UAAEkB,IAAI,EAAEpB;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAY,GAAA;IAAAC,KAAA,EASD,SAAAQ,gBAAA,EAAkB;MAChB,IAAAC,aAAA,GAAoC,IAAI,CAACjB,OAAO;QAAxCkB,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/D,UAAU,EAAE,CAACgE,SAAS,EAAE,CAACC,SAAS,SAAArC,MAAA,CAASgC,GAAG,OAAI,CAACM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;MAClF,IAAMC,cAAc,GAAGJ,UAAU,CAACK,IAAI,EAAE;MAExC,IAAIT,QAAQ,GAAG,CAAC,IAAIQ,cAAc,EAAE;QAClCJ,UAAU,CAAC/D,UAAU,EAAE,CAAC2D,QAAQ,CAACA,QAAQ,CAAC,CAACO,IAAI,CAAC,GAAG,EAAEJ,MAAM,CAAC;MAC9D;IACF;EAAC;IAAAd,GAAA;IAAAC,KAAA,EAED,SAAAoB,mBAAA,EAAqB;MACnB,IAAI,CAACZ,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAqB,kBAAA,EAAoB;MAClB,IAAI,CAACb,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAsB,aAAaC,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAAC,KAAA;MACjB,IAAAC,cAAA,GAeI,IAAI,CAAClC,OAAO;QAddmC,KAAK,GAAAD,cAAA,CAALC,KAAK;QACLC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACLzC,CAAC,GAAAuC,cAAA,CAADvC,CAAC;QACDE,CAAC,GAAAqC,cAAA,CAADrC,CAAC;QACDuB,CAAC,GAAAc,cAAA,CAADd,CAAC;QACDiB,MAAM,GAAAH,cAAA,CAANG,MAAM;QACNC,MAAM,GAAAJ,cAAA,CAANI,MAAM;QACNnB,GAAG,GAAAe,cAAA,CAAHf,GAAG;QACHD,QAAQ,GAAAgB,cAAA,CAARhB,QAAQ;QACRV,KAAK,GAAA0B,cAAA,CAAL1B,KAAK;QACL+B,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,GAAAC,cAAA,CAAyBR,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,CAACpC,CAAC,CAAC,CAAC,IAAIuD,MAAM,CAACC,KAAK,CAACpB,CAAC,CAAClC,CAAC,CAAC,CAAC,EAAE;QAC5C,OAAO,IAAI;MACb;MAEA,OAAAoC,KAAA,GAAOvE,OAAO,CAAC4E,MAAM,CAAC,eACpBhF,KAAA,CAAAO,aAAA,MAAAoE,KAAA,CAAAmB,EAAA;QAAA;QAAA,kBAAAjE,MAAA,CAEkB6C,CAAC;QAAA,eACJ,IAAI,CAACqB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC7D,KAAK,EAAE;UAAE8D,MAAM,EAAEtB,CAAC;UAAEuB,KAAK,EAAEvB,CAAC;UAAEU,QAAQ,EAARA;QAAS,CAAC,CAAC;QAAA,gBAC3E,IAAI,CAACW,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC7D,KAAK,EAAE;UAAE8D,MAAM,EAAEtB,CAAC;UAAEuB,KAAK,EAAEvB,CAAC;UAAEU,QAAQ,EAARA;QAAS,CAAC;MAAC,iBAE3FpF,KAAA,CAAAO,aAAA,CAACkF,YAAY,EAAAd,KAAA,CAAAmB,EAAA;QAAA;QAAA,SAAAjE,MAAA,CAEJgC,GAAG,EAAAhC,MAAA,CAAG6C,CAAC;QAAA,SACPA,CAAC;QAAA,UACD,QAAQ;QAAA,oBAAA7C,MAAA,CACGgC,GAAG;QAAA,MACjB0B,MAAM,CAACd,CAAC,CAACpC,CAAC,CAAC,CAAC,GAAG0C,MAAM,CAAC,CAAC,CAAC;QAAA,MACxBS,MAAM,CAACf,CAAC,CAAClC,CAAC,CAAC,CAAC,GAAGwC,MAAM,CAAC,CAAC,CAAC;QAAA,SACrBI,YAAY,CAACN,KAAK,CAAC;QAAA,WACjBO,QAAQ,WAAAvD,MAAA,CAAWgC,GAAG,OAAAhC,MAAA,CAAI6C,CAAC,iBAAcvB,SAAS;QAAA,KACxDW,CAAC;QAAA,mBAAAjC,MAAA,CACa+B,QAAQ;QAAA,eACZsB;MAAW,GACxB,EACDE,QAAQ,iBACPpF,KAAA,CAAAO,aAAA,CAACG,WAAW,EAAAiE,KAAA,CAAAmB,EAAA;QAAA,SAAAjE,MAAA,CACHgC,GAAG,OAAAhC,MAAA,CAAI6C,CAAC;QAAA,cACHG,KAAK;QAAA,SACVM,YAAY,CAACN,KAAK,CAAC;QAAA,YAChBO;MAAQ,GAErB,EACAX,CAAC,CAACvB,KAAK,CAAC,KAAKC,SAAS,iBACrBnD,KAAA,CAAAO,aAAA,CAACoF,MAAM,EAAAhB,KAAA,CAAAmB,EAAA;QAAA;QAAA,KAEFP,MAAM,CAACd,CAAC,CAACpC,CAAC,CAAC,CAAC,GAAG0C,MAAM,CAAC,CAAC,CAAC;QAAA,KACxBS,MAAM,CAACf,CAAC,CAAClC,CAAC,CAAC,CAAC,GAAGwC,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAAlD,MAAA,CACSgC,GAAG;QAAA,SACdsB,YAAY,CAACF,UAAU,CAAC;QAAA,eAClBC;MAAW,IAEvBT,CAAC,CAACvB,KAAK,CAAC,CAEZ,CACC;IAER;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAAgD,OAAA,EAAS;MACP,IAAAC,cAAA,GAA0C,IAAI,CAACzD,OAAO;QAA9C0D,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEvC,GAAG,GAAAsC,cAAA,CAAHtC,GAAG;QAAEiB,KAAK,GAAAqB,cAAA,CAALrB,KAAK;QAAEzC,CAAC,GAAA8D,cAAA,CAAD9D,CAAC;QAAEE,CAAC,GAAA4D,cAAA,CAAD5D,CAAC;QAAEW,KAAK,GAAAiD,cAAA,CAALjD,KAAK;MACrC,IAAAmD,OAAA,GAAAf,cAAA,CAAyBR,KAAK;QAAvBS,MAAM,GAAAc,OAAA;QAAEb,MAAM,GAAAa,OAAA;MACrB,IAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAACjB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAGlB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMC,KAAK,GAAGH,IAAI,CAACC,GAAG,CAAChB,MAAM,CAACiB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAGjB,MAAM,CAACiB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAME,OAAO,GAAGJ,IAAI,CAACK,GAAG,CAACrB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAElB,MAAM,CAACkB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAMI,OAAO,GAAGN,IAAI,CAACK,GAAG,CAACpB,MAAM,CAACiB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAEjB,MAAM,CAACiB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE9D,IAAI,CAAC/D,OAAO,CAACoE,gBAAgB,CAACC,oBAAoB,CAAC1E,CAAC,EAAEE,CAAC,EAAEW,KAAK,CAAC;MAC/D,IAAI,CAACR,OAAO,CAACoE,gBAAgB,CAACE,iBAAiB,CAAC,cAAc,CAAC;MAE/D,oBACEhH,KAAA,CAAAO,aAAA,CAAAP,KAAA,CAAAiH,QAAA,QACGb,IAAI,CAACc,GAAG,CAAC,IAAI,CAAC1C,YAAY,CAAC2C,IAAI,CAAC,IAAI,CAAC,CAAC,eACvCnH,KAAA,CAAAO,aAAA;QAAU6G,EAAE,EAAEvD;MAAI,gBAChB7D,KAAA,CAAAO,aAAA;QAAM8B,CAAC,EAAEsE,OAAQ;QAACpE,CAAC,EAAEsE,OAAQ;QAACzD,KAAK,KAAAvB,MAAA,CAAKyE,KAAK,OAAK;QAACjD,MAAM,KAAAxB,MAAA,CAAK6E,KAAK;MAAK,EAAG,CAClE,CACV;IAEP;EAAC;EAAA,OAAA5F,eAAA;AAAA,EApI2BZ,SAAS;AAAA4B,eAAA,CAAjChB,eAAe,iBACE,aAAa;AAAAgB,eAAA,CAD9BhB,eAAe,WAEJH,KAAK;AAAAmB,eAAA,CAFhBhB,eAAe,aAGF,CAACR,mBAAmB,EAAE,CAAC;AAAAwB,eAAA,CAHpChB,eAAe,kBAKG;EACpBiE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdnB,QAAQ,EAAE;AACZ,CAAC;AA+HH,IAAMyD,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAInF,KAAK,EAAK;EAAA,IAAAoF,IAAA,GAAAC,YAAA;IAAAC,KAAA;EACpC,IAAMC,mBAAmB,GACiChH,OAAO;EAAjE,OAAA+G,KAAA,GAAOpH,OAAO,CAAC8B,KAAK,CAAC8C,MAAM,CAAC,eAAChF,KAAA,CAAAO,aAAA,CAACkH,mBAAmB,EAAAD,KAAA,CAAA1B,EAAA,wBAAA4B,aAAA,KAAAC,YAAA;IAAA;EAAA,GAAAL,IAAA,IAAuC;AAC1F,CAAC;AAED,IAAMM,WAAW,GAAGrH,aAAa,CAACO,eAAe,EAAE;EACjDL,OAAO,EAAE,CAAC4G,kBAAkB,EAAE5G,OAAO,CAACoH,yBAAyB;AACjE,CAAC,CAAC;AAEF,eAAeD,WAAW"}
|
@@ -62,7 +62,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
|
|
62
62
|
x = _this$asProps2.x,
|
63
63
|
r = _this$asProps2.r,
|
64
64
|
scale = _this$asProps2.scale,
|
65
|
-
maxBarSize = _this$asProps2.maxBarSize
|
65
|
+
maxBarSize = _this$asProps2.maxBarSize,
|
66
|
+
patterns = _this$asProps2.patterns;
|
66
67
|
var _scale = _slicedToArray(scale, 2),
|
67
68
|
yScale = _scale[1];
|
68
69
|
var seriesIndex = this.series.findIndex(function (s) {
|
@@ -100,7 +101,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
|
|
100
101
|
groupKey: x,
|
101
102
|
offset: calcOffset,
|
102
103
|
maxBarSize: maxBarSize,
|
103
|
-
color: getChartDefaultColorName(index)
|
104
|
+
color: getChartDefaultColorName(index),
|
105
|
+
patterns: patterns
|
104
106
|
};
|
105
107
|
}
|
106
108
|
}, {
|
@@ -115,7 +117,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
|
|
115
117
|
y = _this$asProps3.y,
|
116
118
|
r = _this$asProps3.r,
|
117
119
|
scale = _this$asProps3.scale,
|
118
|
-
maxBarSize = _this$asProps3.maxBarSize
|
120
|
+
maxBarSize = _this$asProps3.maxBarSize,
|
121
|
+
patterns = _this$asProps3.patterns;
|
119
122
|
var _scale2 = _slicedToArray(scale, 1),
|
120
123
|
xScale = _scale2[0];
|
121
124
|
var seriesIndex = this.series.findIndex(function (s) {
|
@@ -152,7 +155,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
|
|
152
155
|
groupKey: y,
|
153
156
|
offset: calcOffset,
|
154
157
|
maxBarSize: maxBarSize,
|
155
|
-
color: getChartDefaultColorName(index)
|
158
|
+
color: getChartDefaultColorName(index),
|
159
|
+
patterns: patterns
|
156
160
|
};
|
157
161
|
}
|
158
162
|
}, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"StackBar.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","MIN_HEIGHT","HorizontalBar","MIN_WIDTH","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","key","value","getSeries","_this$asProps","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","getBarProps","_ref","index","_this2","_this$offsetBars$seri","_ref$hMin","hMin","_this$asProps2","r","scale","maxBarSize","_scale","_slicedToArray","yScale","seriesIndex","series","findIndex","s","rBar","map","i","slice","some","bar","offsetBars","_objectSpread2","_objectSpread","calcOffset","_d$XY","_d$XY2","offset","offsetBar","_offsetBar$i","d","absHeight","Math","abs","min","domain","Number","y0","groupKey","color","getHorizontalBarProps","_ref2","_this3","_this$offsetBars$seri2","_ref2$wMin","wMin","_this$asProps3","_scale2","xScale","_objectSpread3","_d$XY3","_d$XY4","_offsetBar$i2","absWidth","max","x0","render","Element","dataHintsHandler","establishDataType"],"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":"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"}
|
1
|
+
{"version":3,"file":"StackBar.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","MIN_HEIGHT","HorizontalBar","MIN_WIDTH","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","key","value","getSeries","_this$asProps","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","getBarProps","_ref","index","_this2","_this$offsetBars$seri","_ref$hMin","hMin","_this$asProps2","r","scale","maxBarSize","patterns","_scale","_slicedToArray","yScale","seriesIndex","series","findIndex","s","rBar","map","i","slice","some","bar","offsetBars","_objectSpread2","_objectSpread","calcOffset","_d$XY","_d$XY2","offset","offsetBar","_offsetBar$i","d","absHeight","Math","abs","min","domain","Number","y0","groupKey","color","getHorizontalBarProps","_ref2","_this3","_this$offsetBars$seri2","_ref2$wMin","wMin","_this$asProps3","_scale2","xScale","_objectSpread3","_d$XY3","_d$XY4","_offsetBar$i2","absWidth","max","x0","render","Element","dataHintsHandler","establishDataType"],"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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"}
|
@@ -42,13 +42,16 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
|
|
42
42
|
key: "getAreaProps",
|
43
43
|
value: function getAreaProps(_ref, index) {
|
44
44
|
var y = _ref.y;
|
45
|
-
var
|
45
|
+
var _this$asProps2 = this.asProps,
|
46
|
+
x = _this$asProps2.x,
|
47
|
+
patterns = _this$asProps2.patterns;
|
46
48
|
// or [] if hide area
|
47
49
|
var series = this.series.find(function (s) {
|
48
50
|
return s.key === y;
|
49
51
|
}) || [];
|
50
52
|
return {
|
51
53
|
color: getChartDefaultColorName(index),
|
54
|
+
patterns: patterns,
|
52
55
|
data: series.map(function (s) {
|
53
56
|
var _objectSpread2;
|
54
57
|
return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, y, s.data[y] === null ? null : s[1]), _defineProperty(_objectSpread2, Y0, s[0]), _objectSpread2));
|