@semcore/d3-chart 3.0.0-beta.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +8 -8
- package/lib/cjs/Bubble.js +33 -25
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/Donut.js +105 -89
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +9 -9
- package/lib/cjs/HorizontalBar.js +8 -8
- package/lib/cjs/Hover.js +9 -7
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +8 -8
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +22 -21
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +75 -74
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +9 -9
- package/lib/cjs/ResponsiveContainer.js +1 -2
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +29 -21
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/Tooltip.js +24 -13
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +56 -35
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +3 -3
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/createElement.d.js +2 -0
- package/lib/cjs/createElement.d.js.map +1 -0
- package/lib/cjs/types/Bubble.d.js.map +1 -1
- package/lib/cjs/types/Hover.d.js.map +1 -1
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/cjs/types/Tooltip.d.js.map +1 -1
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +8 -8
- package/lib/es6/Bubble.js +35 -26
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/Donut.js +107 -90
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +9 -9
- package/lib/es6/HorizontalBar.js +8 -8
- package/lib/es6/Hover.js +9 -7
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +8 -8
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +22 -21
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +73 -72
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +9 -9
- package/lib/es6/ResponsiveContainer.js +0 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +31 -22
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/Tooltip.js +24 -13
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +58 -36
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +3 -3
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/createElement.d.js +2 -0
- package/lib/es6/createElement.d.js.map +1 -0
- package/lib/es6/types/Bubble.d.js.map +1 -1
- package/lib/es6/types/Hover.d.js.map +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/es6/types/Tooltip.d.js.map +1 -1
- package/lib/es6/types/index.d.js +3 -0
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/Bubble.d.ts +1 -5
- package/lib/types/Hover.d.ts +1 -1
- package/lib/types/Plot.d.ts +3 -5
- package/lib/types/RadialTree.d.ts +14 -14
- package/lib/types/Tooltip.d.ts +2 -2
- package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
- package/lib/types/a11y/focus.d.ts +1 -1
- package/lib/types/a11y/hints.d.ts +5 -5
- package/lib/types/a11y/insights.d.ts +8 -8
- package/lib/types/a11y/intl.d.ts +1 -1
- package/lib/types/a11y/locale.d.ts +1 -1
- package/lib/types/a11y/serialize.d.ts +4 -4
- package/lib/types/a11y/summarize.d.ts +1 -1
- package/lib/types/createElement.d.ts +2 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/utils.d.ts +7 -6
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialTree.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_uniqueID","_color","_assignProps","_getOriginChildren","_canUseDOM","_createElement","_utils","_excluded","style","sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","handleRadianClick","bind","_createClass2","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","canUseDOM","preferReduceMotion","window","matchMedia","matches","circlesAnimation","transition","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$x$baseVal","_lineNode$y","_lineNode$y$baseVal","radianIndex","parseInt","dataset","lineNode","from","cx","x1","baseVal","cy","y1","to","attr","_","index","_attrs$index$from","_attrs$index$from2","_attrs$index$to","_attrs$index$to2","_node$width","_node$width$baseVal","_node$height","_node$height$baseVal","_lineNode$x2","_lineNode$x2$baseVal","_lineNode$y2","_lineNode$y2$baseVal","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$x$baseVal","_node$y","_node$y$baseVal","x2","y2","_attrs2$index$from","_attrs2$index$from2","_attrs2$index$to","_attrs2$index$to2","componentDidUpdate","prevProps","$rootProps","data","componentDidMount","_this2","event","newKey","handlers","computeTextWidth","_this$asProps2","textSize","widths","_ref9","label","measureText","max","apply","_toConsumableArray2","getTitleProps","_this$asProps3","size","_size","_slicedToArray2","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties2","textWidth","_objectSpread2","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","createElement","cn","Component","uniqueIDEnhancement","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_super2","_this3","renderRadian","getInteractiveAreaProps","_ref11","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref12","_$rootProps$data2","_data$color","_ref13","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","color","stroke","getCapProps","_ref14","_$rootProps$data3","_data$color2","_ref15","_this$computeRadianPo3","_this$asProps6","getIconProps","_ref16","_$rootProps$data4","_data$iconColor","_data$iconSize","_data$icon","_ref17","_this$computeRadianPo4","isActive","icon","getLabelProps","_ref18","_$rootProps$data5","_data$color3","_ref19","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps7","angle","getRadianKey","_data$key","_data$capSize","_this$asProps8","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps9","SRadian","children","getOriginChildren","_child","mergedProps","assignProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref20","_ref4","SInteractiveArea","Line","_ref21","_ref5","SLine","Cap","_ref22","_ref6","SCap","radius","Icon","_ref23","_ref7","SIcon","tag","Label","_ref24","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","shade","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref25","_ref8","STitle","setTitle","_default","exports"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl, UnknownProperties, Intergalactic } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { shade } from '@semcore/utils/lib/color';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport createElement from './createElement';\nimport { measureText } from './utils';\nimport { DataHintsHandler } from './a11y/hints';\n\nimport style from './style/radial-tree.shadow.css';\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 highligted 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 } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n transparent,\n ['data-x1']: xStart,\n ['data-y1']: yStart,\n ['data-x2']: xEnd,\n ['data-y2']: yEnd,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data, index);\n const { uid, transparent } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n ['data-cx']: xEnd,\n ['data-cy']: yEnd,\n radius: capSize,\n color,\n transparent,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const iconColor = data.iconColor ?? this.asProps.iconColor;\n const iconSize = data.iconSize ?? this.asProps.iconSize;\n const icon = data.icon ?? this.asProps.icon;\n const x = xEnd - iconSize! / 2;\n const y = yEnd - iconSize! / 2;\n return {\n x,\n y,\n ['data-x']: x,\n ['data-y']: y,\n iconSize,\n color: iconColor ?? '#fff',\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n 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 } = this.asProps;\n const { label } = data;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n isHorizontal,\n textSize,\n transparent,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps 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};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={stroke} transparent={transparent} />,\n ) as React.ReactElement;\n};\n\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};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n transparent,\n}) => {\n return sstyled(styles)(\n <SCap render='circle' cx={x} cy={y} r={radius} fill={color} transparent={transparent} />,\n ) as React.ReactElement;\n};\n\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 tag?: React.FC;\n isActive?: boolean;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC; transparent: boolean } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n transparent,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} transparent={transparent} />,\n ) as React.ReactElement;\n};\n\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};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n transparent,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n color,\n 'color-hovered': shade(color, -0.12),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n transparent,\n });\n\n return (\n <SLabel\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\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};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\ntype IntergalacticD3Component<\n BaseTag extends Intergalactic.InternalTypings.ComponentTag,\n Props,\n Context = {},\n> = (<\n Tag extends Intergalactic.InternalTypings.ComponentTag = Intergalactic.InternalTypings.ComponentTag,\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<BaseTag>;\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as IntergalacticD3Component<\n 'g',\n RadialTreeProps\n> & {\n Title: IntergalacticD3Component<'text', RadialTreeTitleProps>;\n Radian: IntergalacticD3Component<'g', RadialTreeRadianProps> & {\n Line: IntergalacticD3Component<'line', RadialTreeRadianLineProps>;\n Cap: IntergalacticD3Component<'circle', RadialTreeRadianCapProps>;\n Icon: IntergalacticD3Component<'g', RadialTreeRadianIconProps>;\n Label: IntergalacticD3Component<'text', RadialTreeRadianLabelProps>;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RadialTree.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_uniqueID","_color4","_assignProps","_getOriginChildren","_canUseDOM","_createElement","_utils","_excluded","style","sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","handleRadianClick","bind","_createClass2","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","canUseDOM","preferReduceMotion","window","matchMedia","matches","circlesAnimation","transition","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$x$baseVal","_lineNode$y","_lineNode$y$baseVal","radianIndex","parseInt","dataset","lineNode","from","cx","x1","baseVal","cy","y1","to","attr","_","index","_attrs$index$from","_attrs$index$from2","_attrs$index$to","_attrs$index$to2","_node$width","_node$width$baseVal","_node$height","_node$height$baseVal","_lineNode$x2","_lineNode$x2$baseVal","_lineNode$y2","_lineNode$y2$baseVal","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$x$baseVal","_node$y","_node$y$baseVal","x2","y2","_attrs2$index$from","_attrs2$index$from2","_attrs2$index$to","_attrs2$index$to2","componentDidUpdate","prevProps","$rootProps","data","componentDidMount","_this2","event","newKey","handlers","computeTextWidth","_this$asProps2","textSize","widths","_ref9","label","measureText","max","apply","_toConsumableArray2","getTitleProps","_this$asProps3","size","_size","_slicedToArray2","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties2","textWidth","_objectSpread2","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","createElement","cn","Component","uniqueIDEnhancement","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_super2","_this3","renderRadian","getInteractiveAreaProps","_ref11","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref12","_$rootProps$data2","_color","_ref13","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","color","stroke","getCapProps","_ref14","_$rootProps$data3","_color2","_ref15","_this$computeRadianPo3","_this$asProps6","getIconProps","_ref16","_$rootProps$data4","_iconColor","_iconSize","_icon","_ref17","_this$computeRadianPo4","isActive","icon","getLabelProps","_ref18","_$rootProps$data5","_color3","_ref20","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps7","_ref19","angle","getRadianKey","_data$key","_data$capSize","_this$asProps8","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps9","SRadian","children","getOriginChildren","_child","mergedProps","assignProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_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","shade","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref26","_ref8","STitle","setTitle","_default","exports"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl, UnknownProperties, Intergalactic } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { shade } from '@semcore/utils/lib/color';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport createElement from './createElement';\nimport { measureText } from './utils';\nimport { DataHintsHandler } from './a11y/hints';\n\nimport style from './style/radial-tree.shadow.css';\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 highligted 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 } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n transparent,\n ['data-x1']: xStart,\n ['data-y1']: yStart,\n ['data-x2']: xEnd,\n ['data-y2']: yEnd,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data!, index);\n const { uid, transparent } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n ['data-cx']: xEnd,\n ['data-cy']: yEnd,\n radius: capSize,\n color,\n transparent,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data!, index);\n const { uid } = this.asProps;\n const iconColor = data!.iconColor ?? this.asProps.iconColor;\n const iconSize = data!.iconSize ?? this.asProps.iconSize;\n const icon = data!.icon ?? this.asProps.icon;\n const x = xEnd - iconSize! / 2;\n const y = yEnd - iconSize! / 2;\n return {\n x,\n y,\n ['data-x']: x,\n ['data-y']: y,\n iconSize,\n color: iconColor ?? '#fff',\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n 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 } = this.asProps;\n const { label } = data!;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n isHorizontal,\n textSize,\n transparent,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps 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};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={stroke} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\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};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n transparent,\n}) => {\n return sstyled(styles)(\n <SCap render='circle' cx={x} cy={y} r={radius} fill={color} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\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 tag?: React.FC;\n isActive?: boolean;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC; transparent: boolean } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n transparent,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\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};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n transparent,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n color,\n 'color-hovered': shade(color, -0.12),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n transparent,\n });\n\n return (\n <SLabel\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\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};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\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>;\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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"}
|
package/lib/cjs/ReferenceLine.js
CHANGED
|
@@ -17,15 +17,15 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
17
17
|
var _createElement = _interopRequireDefault(require("./createElement"));
|
|
18
18
|
var _utils = require("./utils");
|
|
19
19
|
/*__reshadow-styles__:"./style/reference-line.shadow.css"*/
|
|
20
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
21
|
-
"__SReferenceLine": "
|
|
22
|
-
"__STitle": "
|
|
23
|
-
"--transform-origin": "--transform-
|
|
24
|
-
"_position_top": "
|
|
25
|
-
"_position_bottom": "
|
|
26
|
-
"_position_right": "
|
|
27
|
-
"_position_left": "
|
|
28
|
-
"__SBackground": "
|
|
20
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SReferenceLine_y3mte_gg_{fill:none;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___STitle_y3mte_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_y3mte)}.___STitle_y3mte_gg_._position_top_y3mte_gg_{text-anchor:middle}.___STitle_y3mte_gg_._position_bottom_y3mte_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_y3mte_gg_._position_left_y3mte_gg_,.___STitle_y3mte_gg_._position_right_y3mte_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_y3mte_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}" /*__inner_css_end__*/, "y3mte_gg_") /*__reshadow_css_end__*/, {
|
|
21
|
+
"__SReferenceLine": "___SReferenceLine_y3mte_gg_",
|
|
22
|
+
"__STitle": "___STitle_y3mte_gg_",
|
|
23
|
+
"--transform-origin": "--transform-origin_y3mte",
|
|
24
|
+
"_position_top": "_position_top_y3mte_gg_",
|
|
25
|
+
"_position_bottom": "_position_bottom_y3mte_gg_",
|
|
26
|
+
"_position_right": "_position_right_y3mte_gg_",
|
|
27
|
+
"_position_left": "_position_left_y3mte_gg_",
|
|
28
|
+
"__SBackground": "___SBackground_y3mte_gg_"
|
|
29
29
|
});
|
|
30
30
|
var side2direction = {
|
|
31
31
|
left: 'vertical',
|
|
@@ -16,7 +16,6 @@ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
17
|
var _core = _interopRequireWildcard(require("@semcore/core"));
|
|
18
18
|
var _react = _interopRequireDefault(require("react"));
|
|
19
|
-
var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
|
|
20
19
|
var _flexBox = require("@semcore/flex-box");
|
|
21
20
|
var _rafTrottle = _interopRequireDefault(require("@semcore/utils/lib/rafTrottle"));
|
|
22
21
|
var _fire = _interopRequireDefault(require("@semcore/utils/lib/fire"));
|
|
@@ -57,7 +56,7 @@ var ResponsiveContainerRoot = /*#__PURE__*/function (_Component) {
|
|
|
57
56
|
_this.forceUpdate();
|
|
58
57
|
}
|
|
59
58
|
}));
|
|
60
|
-
_this.observer = new
|
|
59
|
+
_this.observer = new ResizeObserver(_this.handleResize);
|
|
61
60
|
return _this;
|
|
62
61
|
}
|
|
63
62
|
(0, _createClass2["default"])(ResponsiveContainerRoot, [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsiveContainer.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","
|
|
1
|
+
{"version":3,"file":"ResponsiveContainer.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_rafTrottle","_fire","_getOriginChildren","ResponsiveContainerRoot","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","trottle","entries","_this$asProps","asProps","Children","aspect","$container","_this$$container","width","clientWidth","height","clientHeight","style","window","getComputedStyle","minHeight","Number","parseInt","getPropertyValue","maxHeight","size","fire","getOriginChildren","forceUpdate","observer","ResizeObserver","handleResize","_createClass2","key","get","containerRef","current","value","setContext","_this$size","_slicedToArray2","componentDidMount","observe","componentWillUnmount","disconnect","render","_ref","_ref2","SResponsiveContainer","Box","styles","sstyled","createElement","cn","_objectSpread2","assignProps","Component","ResponsiveContainer","createComponent","_default","exports"],"sources":["../../src/ResponsiveContainer.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport fire from '@semcore/utils/lib/fire';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\n\nclass ResponsiveContainerRoot extends Component {\n static displayName = 'ResponsiveContainer';\n\n containerRef = React.createRef();\n size = [0, 0];\n\n constructor(props) {\n super(props);\n this.observer = new ResizeObserver(this.handleResize);\n }\n\n get $container() {\n return this.containerRef.current;\n }\n\n handleResize = trottle((entries) => {\n const { Children, aspect } = this.asProps;\n\n if (!this.$container) return;\n\n let { clientWidth: width, clientHeight: height } = this.$container;\n\n if (aspect) {\n const style = window.getComputedStyle(this.$container);\n const minHeight = Number.parseInt(style.getPropertyValue('min-height'));\n const maxHeight = Number.parseInt(style.getPropertyValue('max-height'));\n height = width * aspect;\n\n if (height < minHeight) {\n height = minHeight;\n }\n if (height > maxHeight) {\n height = maxHeight;\n }\n }\n\n if (this.size[0] === width && this.size[1] === height) return;\n\n this.size = [width, height];\n\n fire(this, 'onResize', this.size, entries);\n\n if (typeof getOriginChildren(Children) === 'function') {\n this.forceUpdate();\n }\n });\n\n setContext() {\n const [width, height] = this.size;\n return {\n width,\n height,\n };\n }\n\n componentDidMount() {\n if (this.$container) {\n // TODO: may be we can increase perfomance here? (by lsroman)\n this.observer.observe(this.$container);\n }\n }\n\n // TODO component did update ref?\n\n componentWillUnmount() {\n this.observer.disconnect();\n }\n\n render() {\n const SResponsiveContainer = Root;\n const { styles } = this.asProps;\n return sstyled(styles)(<SResponsiveContainer render={Box} ref={this.containerRef} />);\n }\n}\n\nconst ResponsiveContainer = createComponent(ResponsiveContainerRoot);\n\nexport default ResponsiveContainer;\n"],"mappings":"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"}
|
package/lib/cjs/ScatterPlot.js
CHANGED
|
@@ -23,13 +23,13 @@ var _utils = require("./utils");
|
|
|
23
23
|
var _ClipPath = _interopRequireDefault(require("./ClipPath"));
|
|
24
24
|
var _Tooltip = _interopRequireDefault(require("./Tooltip"));
|
|
25
25
|
/*__reshadow-styles__:"./style/scatterplot.shadow.css"*/
|
|
26
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
27
|
-
"__SScatterPlot": "
|
|
28
|
-
"--duration": "--
|
|
29
|
-
"_color": "
|
|
30
|
-
"--color": "--
|
|
31
|
-
"_transparent": "
|
|
32
|
-
"__SValue": "
|
|
26
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SScatterPlot_5xl8p_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_5xl8p);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_5xl8p_gg_:hover{opacity:.8}}.___SScatterPlot_5xl8p_gg_.__color_5xl8p_gg_{fill:var(--color_5xl8p)}.___SScatterPlot_5xl8p_gg_.__transparent_5xl8p_gg_{opacity:.3}.___SValue_5xl8p_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_5xl8p_gg_.__color_5xl8p_gg_{stroke:var(--color_5xl8p)}.___SValue_5xl8p_gg_.__transparent_5xl8p_gg_{opacity:.3}" /*__inner_css_end__*/, "5xl8p_gg_") /*__reshadow_css_end__*/, {
|
|
27
|
+
"__SScatterPlot": "___SScatterPlot_5xl8p_gg_",
|
|
28
|
+
"--duration": "--duration_5xl8p",
|
|
29
|
+
"_color": "__color_5xl8p_gg_",
|
|
30
|
+
"--color": "--color_5xl8p",
|
|
31
|
+
"_transparent": "__transparent_5xl8p_gg_",
|
|
32
|
+
"__SValue": "___SValue_5xl8p_gg_"
|
|
33
33
|
});
|
|
34
34
|
var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
35
35
|
(0, _inherits2["default"])(ScatterPlotRoot, _Component);
|
|
@@ -42,14 +42,14 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
42
42
|
}
|
|
43
43
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
44
44
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "virtualElement", (0, _canUseDOM["default"])() ? document.createElement('div') : {});
|
|
45
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerTooltip", function (visible, props) {
|
|
46
|
-
return function (
|
|
47
|
-
var x =
|
|
48
|
-
y =
|
|
45
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerTooltip", function (visible, props, tooltipProps) {
|
|
46
|
+
return function (_ref4) {
|
|
47
|
+
var x = _ref4.clientX,
|
|
48
|
+
y = _ref4.clientY;
|
|
49
49
|
var eventEmitter = _this.asProps.eventEmitter;
|
|
50
50
|
_this.virtualElement.getBoundingClientRect = _this.generateGetBoundingClientRect(x, y);
|
|
51
51
|
_this.virtualElement[_utils.CONSTANT.VIRTUAL_ELEMENT] = true;
|
|
52
|
-
eventEmitter.emit('onTooltipVisible', visible, props, _this.virtualElement);
|
|
52
|
+
eventEmitter.emit('onTooltipVisible', visible, props, tooltipProps, _this.virtualElement);
|
|
53
53
|
};
|
|
54
54
|
});
|
|
55
55
|
return _this;
|
|
@@ -98,7 +98,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
98
98
|
}, {
|
|
99
99
|
key: "renderCircle",
|
|
100
100
|
value: function renderCircle(d, i) {
|
|
101
|
-
var
|
|
101
|
+
var _ref2;
|
|
102
102
|
var _this$asProps2 = this.asProps,
|
|
103
103
|
color = _this$asProps2.color,
|
|
104
104
|
scale = _this$asProps2.scale,
|
|
@@ -117,18 +117,18 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
117
117
|
yScale = _scale[1];
|
|
118
118
|
var SScatterPlot = this.Element;
|
|
119
119
|
var SValue = 'text';
|
|
120
|
-
return
|
|
120
|
+
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement("g", _ref2.cn("g", {
|
|
121
121
|
"aria-hidden": true,
|
|
122
122
|
"key": "circle(#".concat(i, ")"),
|
|
123
|
-
"onMouseMove": this.bindHandlerTooltip(true,
|
|
123
|
+
"onMouseMove": this.bindHandlerTooltip(true, this.props, {
|
|
124
124
|
xIndex: i,
|
|
125
125
|
index: i
|
|
126
|
-
})
|
|
127
|
-
"onMouseLeave": this.bindHandlerTooltip(false,
|
|
126
|
+
}),
|
|
127
|
+
"onMouseLeave": this.bindHandlerTooltip(false, this.props, {
|
|
128
128
|
xIndex: i,
|
|
129
129
|
index: i
|
|
130
|
-
})
|
|
131
|
-
}), /*#__PURE__*/_react["default"].createElement(SScatterPlot,
|
|
130
|
+
})
|
|
131
|
+
}), /*#__PURE__*/_react["default"].createElement(SScatterPlot, _ref2.cn("SScatterPlot", {
|
|
132
132
|
"aria-hidden": true,
|
|
133
133
|
"id": "".concat(uid).concat(i),
|
|
134
134
|
"index": i,
|
|
@@ -140,7 +140,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
140
140
|
"r": r,
|
|
141
141
|
"use:duration": "".concat(duration, "ms"),
|
|
142
142
|
"transparent": transparent
|
|
143
|
-
})), d[value] && /*#__PURE__*/_react["default"].createElement(SValue,
|
|
143
|
+
})), d[value] && /*#__PURE__*/_react["default"].createElement(SValue, _ref2.cn("SValue", {
|
|
144
144
|
"aria-hidden": true,
|
|
145
145
|
"x": xScale(d[x]) + offset[0],
|
|
146
146
|
"y": yScale(d[y]) + offset[1],
|
|
@@ -188,8 +188,16 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
188
188
|
offset: [0, 0],
|
|
189
189
|
duration: 500
|
|
190
190
|
});
|
|
191
|
+
var ScatterPlotTooltip = function ScatterPlotTooltip(props) {
|
|
192
|
+
var _ref = arguments[0],
|
|
193
|
+
_ref3;
|
|
194
|
+
var SScatterPlotTooltip = _Tooltip["default"];
|
|
195
|
+
return _ref3 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SScatterPlotTooltip, _ref3.cn("SScatterPlotTooltip", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
196
|
+
"excludeAnchorProps": true
|
|
197
|
+
}, _ref))));
|
|
198
|
+
};
|
|
191
199
|
var ScatterPlot = (0, _createElement["default"])(ScatterPlotRoot, {
|
|
192
|
-
Tooltip: _Tooltip["default"]
|
|
200
|
+
Tooltip: [ScatterPlotTooltip, _Tooltip["default"]._______childrenComponents]
|
|
193
201
|
});
|
|
194
202
|
var _default = ScatterPlot;
|
|
195
203
|
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterPlot.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_canUseDOM","_uniqueID","_createElement","_utils","_ClipPath","_Tooltip","style","sstyled","insert","ScatterPlotRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_this$asProps2","color","scale","offset","styles","valueColor","transparent","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","cn","bindHandlerTooltip","_objectSpread2","xIndex","index","render","_this$asProps3","data","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlot","Tooltip","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, 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 ClipPath from './ClipPath';\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) => ({ 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, 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 { color, scale, x, y, r, offset, styles, uid, duration, value, valueColor, transparent } =\n this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\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={color}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[value] && (\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={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\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst ScatterPlot = createElement(ScatterPlotRoot, { Tooltip });\n\nexport default ScatterPlot;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScatterPlot.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_canUseDOM","_uniqueID","_createElement","_utils","_ClipPath","_Tooltip","style","sstyled","insert","ScatterPlotRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_this$asProps2","color","scale","offset","styles","valueColor","transparent","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","cn","bindHandlerTooltip","xIndex","index","render","_this$asProps3","data","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","Tooltip","_objectSpread2","assignProps","ScatterPlot","_______childrenComponents","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\nimport ClipPath from './ClipPath';\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 { color, scale, x, y, r, offset, styles, uid, duration, value, valueColor, transparent } =\n this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\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={color}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[value] && (\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={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\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst ScatterPlotTooltip = (props) => {\n const SScatterPlotTooltip = Root;\n return sstyled(props.styles)(<SScatterPlotTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst ScatterPlot = createElement(ScatterPlotRoot, {\n Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents],\n});\n\nexport default ScatterPlot;\n"],"mappings":"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"}
|
package/lib/cjs/Tooltip.js
CHANGED
|
@@ -24,14 +24,14 @@ var _createElement = _interopRequireDefault(require("./createElement"));
|
|
|
24
24
|
var _utils = require("./utils");
|
|
25
25
|
var _excluded = ["Children", "children", "tag"];
|
|
26
26
|
/*__reshadow-styles__:"./style/tooltip.shadow.css"*/
|
|
27
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
28
|
-
"__STooltip": "
|
|
29
|
-
"__STitle": "
|
|
30
|
-
"__SDotGroup": "
|
|
31
|
-
"__SDot": "
|
|
32
|
-
"_color": "
|
|
33
|
-
"--color": "--
|
|
34
|
-
"__SFooter": "
|
|
27
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___STooltip_l1u9d_gg_{font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);border:1px solid var(--intergalactic-border-secondary, #e0e1e9);box-sizing:border-box;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));padding:var(--intergalactic-spacing-3x, 12px)}.___STitle_l1u9d_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SDotGroup_l1u9d_gg_{display:flex;align-items:center}.___SDot_l1u9d_gg_{width:8px;height:8px;border-radius:50%;margin-right:var(--intergalactic-spacing-2x, 8px);background:var(--intergalactic-icon-secondary-info, #2bb3ff)}.___SDot_l1u9d_gg_.__color_l1u9d_gg_{background:var(--color_l1u9d)}.___SFooter_l1u9d_gg_{background:var(--intergalactic-bg-secondary-neutral, #f4f5f9);padding:var(--intergalactic-spacing-1x, 4px) var(--intergalactic-spacing-3x, 12px);border-radius:0 0 var(--intergalactic-rounded-medium, 6px) var(--intergalactic-rounded-medium, 6px);margin:var(--intergalactic-spacing-3x, 12px) calc(-1*var(--intergalactic-spacing-3x, 12px)) calc(-1*var(--intergalactic-spacing-3x, 12px))}" /*__inner_css_end__*/, "l1u9d_gg_") /*__reshadow_css_end__*/, {
|
|
28
|
+
"__STooltip": "___STooltip_l1u9d_gg_",
|
|
29
|
+
"__STitle": "___STitle_l1u9d_gg_",
|
|
30
|
+
"__SDotGroup": "___SDotGroup_l1u9d_gg_",
|
|
31
|
+
"__SDot": "___SDot_l1u9d_gg_",
|
|
32
|
+
"_color": "__color_l1u9d_gg_",
|
|
33
|
+
"--color": "--color_l1u9d",
|
|
34
|
+
"__SFooter": "___SFooter_l1u9d_gg_"
|
|
35
35
|
});
|
|
36
36
|
var TooltipRoot = /*#__PURE__*/function (_Component) {
|
|
37
37
|
(0, _inherits2["default"])(TooltipRoot, _Component);
|
|
@@ -44,7 +44,9 @@ var TooltipRoot = /*#__PURE__*/function (_Component) {
|
|
|
44
44
|
}
|
|
45
45
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
46
46
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
47
|
-
$visible: false
|
|
47
|
+
$visible: false,
|
|
48
|
+
anchorProps: {},
|
|
49
|
+
tooltipProps: {}
|
|
48
50
|
});
|
|
49
51
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlerCancel", function () {
|
|
50
52
|
return false;
|
|
@@ -66,7 +68,14 @@ var TooltipRoot = /*#__PURE__*/function (_Component) {
|
|
|
66
68
|
}, {
|
|
67
69
|
key: "getPopperProps",
|
|
68
70
|
value: function getPopperProps() {
|
|
69
|
-
|
|
71
|
+
if (this.asProps.excludeAnchorProps) {
|
|
72
|
+
return (0, _objectSpread2["default"])({
|
|
73
|
+
$visible: this.state.$visible
|
|
74
|
+
}, this.state.tooltipProps);
|
|
75
|
+
}
|
|
76
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
|
|
77
|
+
$visible: this.state.$visible
|
|
78
|
+
}, this.state.anchorProps), this.state.tooltipProps);
|
|
70
79
|
}
|
|
71
80
|
}, {
|
|
72
81
|
key: "componentDidMount",
|
|
@@ -75,10 +84,12 @@ var TooltipRoot = /*#__PURE__*/function (_Component) {
|
|
|
75
84
|
var _this$asProps2 = this.asProps,
|
|
76
85
|
eventEmitter = _this$asProps2.eventEmitter,
|
|
77
86
|
rootRef = _this$asProps2.rootRef;
|
|
78
|
-
this.unsubscribeTooltipVisible = eventEmitter.subscribe('onTooltipVisible', function (visible,
|
|
79
|
-
_this2.setState(
|
|
87
|
+
this.unsubscribeTooltipVisible = eventEmitter.subscribe('onTooltipVisible', function (visible, anchorProps, tooltipProps, node) {
|
|
88
|
+
_this2.setState({
|
|
89
|
+
anchorProps: anchorProps,
|
|
90
|
+
tooltipProps: tooltipProps,
|
|
80
91
|
$visible: visible
|
|
81
|
-
}
|
|
92
|
+
}, function () {
|
|
82
93
|
if (node && (node[_utils.CONSTANT.VIRTUAL_ELEMENT] || rootRef.current.contains(node))) {
|
|
83
94
|
var _this2$popper$current;
|
|
84
95
|
_this2 === null || _this2 === void 0 ? void 0 : _this2.setPopperTrigger(node);
|