@semcore/d3-chart 2.8.15 → 2.8.16
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 -2
- package/lib/cjs/Area.js +12 -18
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +21 -29
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +11 -17
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +17 -25
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +6 -18
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +11 -21
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +12 -16
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +2 -8
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +11 -17
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +8 -14
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +11 -17
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +11 -23
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/RadialTree.js +19 -27
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +16 -24
- package/lib/cjs/ReferenceLine.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +7 -19
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +14 -22
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +6 -14
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +5 -13
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +17 -29
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +10 -16
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +10 -18
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +9 -17
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
- package/lib/cjs/a11y/hints.js +4 -8
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/insights.js +8 -12
- package/lib/cjs/a11y/insights.js.map +1 -1
- package/lib/cjs/a11y/serialize.js +3 -7
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/createElement.js +8 -17
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/types/index.d.js +1 -5
- package/lib/cjs/utils.js +7 -13
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +11 -17
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +16 -24
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +10 -16
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +13 -22
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +2 -11
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +9 -15
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +10 -10
- package/lib/es6/GroupBar.js +1 -7
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +10 -16
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +5 -11
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +10 -16
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +6 -15
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/RadialTree.js +15 -24
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +12 -21
- package/lib/es6/ReferenceLine.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +2 -11
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +10 -19
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +2 -11
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +2 -11
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +10 -19
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +9 -15
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +4 -9
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +6 -16
- package/lib/es6/a11y/PlotA11yView.js.map +1 -1
- package/lib/es6/a11y/hints.js +1 -6
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/insights.js +1 -7
- package/lib/es6/a11y/insights.js.map +1 -1
- package/lib/es6/a11y/serialize.js +1 -7
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/createElement.js +1 -6
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/utils.js +2 -11
- package/lib/es6/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialTree.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","shade","assignProps","getOriginChildren","canUseDOM","createElement","measureText","baseAngle","Math","PI","RadialTreeBase","props","handleRadianClick","bind","activeKey","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","radianIndex","parseInt","dataset","lineNode","from","cx","x1","baseVal","value","cy","y1","to","attr","_","index","width","height","x","y","x2","y2","prevProps","$rootProps","data","runAppearAnimation","key","event","newKey","handlers","textSize","widths","label","max","size","center","restRootProps","textWidth","computeTextWidth","radiansCount","onRadianClick","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","style","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","renderRadian","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","xEnd","yEnd","transparent","color","stroke","isActive","icon","labelAngle","isHorizontal","angle","getRadianKey","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","SRadian","children","_child","mergedProps","describeValueEntity","InteractiveArea","RadialTree","Radian","SRadianList","SInteractiveArea","Line","SLine","Cap","SCap","radius","Icon","SIcon","tag","Label","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","cn","className","lineText","lineIndex","Title","STitle","setTitle"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl } 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';\nimport type { MapProps } from './types';\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\nexport interface IRadialTreeProps {\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 /**\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]`).interrupt()\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`).interrupt()\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`).interrupt()\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`).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\nexport interface IRadialTreeRadianProps extends IRadialTreeProps {\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 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);\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\nexport interface IRadialTreeRadianInteractiveAreaProps {\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\nexport interface IRadialTreeRadianLineProps {\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\nexport interface IRadialTreeRadianCapProps {\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\nexport interface IRadialTreeRadianIconProps {\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\nexport interface IRadialTreeRadianLabelProps {\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\nexport interface IRadialTreeTitleProps {\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\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as (<T>(\n props: MapProps<IRadialTreeProps & T>,\n) => ReturnEl) & {\n Title: <T>(props: MapProps<IRadialTreeTitleProps & T>) => ReturnEl;\n Radian: (<T>(props: MapProps<IRadialTreeRadianProps & T>) => ReturnEl) & {\n Line: <T>(props: MapProps<IRadialTreeRadianLineProps & T>) => ReturnEl;\n Cap: <T>(props: MapProps<IRadialTreeRadianCapProps & T>) => ReturnEl;\n Icon: <T>(props: MapProps<IRadialTreeRadianIconProps & T>) => ReturnEl;\n Label: <T>(props: MapProps<IRadialTreeRadianLabelProps & T>) => ReturnEl;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RadialTree.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","shade","assignProps","getOriginChildren","canUseDOM","createElement","measureText","baseAngle","Math","PI","RadialTreeBase","props","handleRadianClick","bind","activeKey","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","radianIndex","parseInt","dataset","lineNode","from","cx","x1","baseVal","value","cy","y1","to","attr","_","index","width","height","x","y","x2","y2","prevProps","$rootProps","data","runAppearAnimation","key","event","newKey","handlers","textSize","widths","label","max","size","center","restRootProps","textWidth","computeTextWidth","radiansCount","onRadianClick","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","style","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","renderRadian","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","xEnd","yEnd","transparent","color","stroke","isActive","icon","labelAngle","isHorizontal","angle","getRadianKey","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","SRadian","children","_child","mergedProps","describeValueEntity","InteractiveArea","RadialTree","Radian","SRadianList","SInteractiveArea","Line","SLine","Cap","SCap","radius","Icon","SIcon","tag","Label","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","cn","className","lineText","lineIndex","Title","STitle","setTitle"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl } 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';\nimport type { MapProps } from './types';\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\nexport interface IRadialTreeProps {\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 /**\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]`).interrupt()\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`).interrupt()\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`).interrupt()\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`).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\nexport interface IRadialTreeRadianProps extends IRadialTreeProps {\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 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);\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\nexport interface IRadialTreeRadianInteractiveAreaProps {\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\nexport interface IRadialTreeRadianLineProps {\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\nexport interface IRadialTreeRadianCapProps {\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\nexport interface IRadialTreeRadianIconProps {\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\nexport interface IRadialTreeRadianLabelProps {\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\nexport interface IRadialTreeTitleProps {\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\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as (<T>(\n props: MapProps<IRadialTreeProps & T>,\n) => ReturnEl) & {\n Title: <T>(props: MapProps<IRadialTreeTitleProps & T>) => ReturnEl;\n Radian: (<T>(props: MapProps<IRadialTreeRadianProps & T>) => ReturnEl) & {\n Line: <T>(props: MapProps<IRadialTreeRadianLineProps & T>) => ReturnEl;\n Cap: <T>(props: MapProps<IRadialTreeRadianCapProps & T>) => ReturnEl;\n Icon: <T>(props: MapProps<IRadialTreeRadianIconProps & T>) => ReturnEl;\n Label: <T>(props: MapProps<IRadialTreeRadianLabelProps & T>) => ReturnEl;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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"}
|
package/lib/es6/ReferenceLine.js
CHANGED
|
@@ -1,20 +1,11 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
1
2
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
3
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
4
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
4
|
-
import
|
|
5
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
5
|
+
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
6
6
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
7
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
8
8
|
import { sstyled as _sstyled } from "@semcore/core";
|
|
9
|
-
|
|
10
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
-
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
|
-
|
|
14
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
15
|
-
|
|
16
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
17
|
-
|
|
18
9
|
import React from 'react';
|
|
19
10
|
import { Component, sstyled } from '@semcore/core';
|
|
20
11
|
import createElement from './createElement';
|
|
@@ -25,19 +16,19 @@ var style = (
|
|
|
25
16
|
/*__reshadow_css_start__*/
|
|
26
17
|
_sstyled.insert(
|
|
27
18
|
/*__inner_css_start__*/
|
|
28
|
-
".
|
|
19
|
+
".___SReferenceLine_1pdq8_gg_{fill:none;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___STitle_1pdq8_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79);transform-origin:var(--transform-origin_1pdq8)}.___STitle_1pdq8_gg_._position_top_1pdq8_gg_{text-anchor:middle}.___STitle_1pdq8_gg_._position_bottom_1pdq8_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_1pdq8_gg_._position_left_1pdq8_gg_,.___STitle_1pdq8_gg_._position_right_1pdq8_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_1pdq8_gg_{fill:var(--intergalactic-chart-grid-period-bg, rgba(196, 199, 207, 0.2))}"
|
|
29
20
|
/*__inner_css_end__*/
|
|
30
|
-
, "
|
|
21
|
+
, "1pdq8_gg_")
|
|
31
22
|
/*__reshadow_css_end__*/
|
|
32
23
|
, {
|
|
33
|
-
"__SReferenceLine": "
|
|
34
|
-
"__STitle": "
|
|
35
|
-
"--transform-origin": "--transform-
|
|
36
|
-
"_position_top": "
|
|
37
|
-
"_position_bottom": "
|
|
38
|
-
"_position_right": "
|
|
39
|
-
"_position_left": "
|
|
40
|
-
"__SBackground": "
|
|
24
|
+
"__SReferenceLine": "___SReferenceLine_1pdq8_gg_",
|
|
25
|
+
"__STitle": "___STitle_1pdq8_gg_",
|
|
26
|
+
"--transform-origin": "--transform-origin_1pdq8",
|
|
27
|
+
"_position_top": "_position_top_1pdq8_gg_",
|
|
28
|
+
"_position_bottom": "_position_bottom_1pdq8_gg_",
|
|
29
|
+
"_position_right": "_position_right_1pdq8_gg_",
|
|
30
|
+
"_position_left": "_position_left_1pdq8_gg_",
|
|
31
|
+
"__SBackground": "___SBackground_1pdq8_gg_"
|
|
41
32
|
});
|
|
42
33
|
var side2direction = {
|
|
43
34
|
left: 'vertical',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferenceLine.js","names":["React","Component","sstyled","createElement","scaleOfBandwidth","side2direction","left","right","top","bottom","lineDirection2props","vertical","value","xScale","yScale","yRange","range","x","x1","x2","y1","y2","horizontal","xRange","y","rectDirection2props","width","height","titleOffset","titleSideToProps","ReferenceLineRoot","asProps","position","SReferenceLine","Element","title","scale","color","styles","positionProps","style","Title","props","STitle","sstyles","sTitleStyles","cn","toFixed","className","Background","SBackground","ReferenceLine"],"sources":["../../src/ReferenceLine.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { scaleOfBandwidth } from './utils';\n\nimport style from './style/reference-line.shadow.css';\n\nconst side2direction = {\n left: 'vertical',\n right: 'vertical',\n top: 'horizontal',\n bottom: 'horizontal',\n};\n\nconst lineDirection2props = {\n vertical: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n x2: x,\n y1: yRange[0],\n y2: yRange[1],\n };\n },\n horizontal: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n x2: xRange[1],\n y1: y,\n y2: y,\n };\n },\n};\n\nconst rectDirection2props = {\n vertical: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x,\n y: yRange[1],\n width: 100,\n height: yRange[0] - yRange[1],\n };\n },\n horizontal: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: xRange[0],\n y: y,\n width: xRange[1] - xRange[0],\n height: 100,\n };\n },\n};\n\nconst titleOffset = 10;\nconst titleSideToProps = {\n left: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x - titleOffset,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n right: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x + titleOffset,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n top: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: y - titleOffset,\n };\n },\n bottom: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: y + titleOffset,\n };\n },\n};\n\nclass ReferenceLineRoot extends Component {\n static displayName = 'ReferenceLine';\n static style = style;\n static defaultProps = {\n position: 'left',\n };\n\n getTitleProps() {\n const { position, value } = this.asProps;\n return { position, value };\n }\n\n getBackgroundProps() {\n const { position, value } = this.asProps;\n return { position, value };\n }\n\n render() {\n const SReferenceLine = this.Element;\n const { title, scale, position, value, color, styles } = this.asProps;\n const positionProps = lineDirection2props[side2direction[position]];\n\n return sstyled(styles)(\n <>\n <SReferenceLine\n render=\"line\"\n __excludeProps={['data', 'scale', 'format', 'value', 'color']}\n stroke={color}\n {...positionProps(scale, value)}\n />\n {title && <ReferenceLine.Title>{title}</ReferenceLine.Title>}\n </>,\n );\n }\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position, value } = props;\n const { x, y } = titleSideToProps[position](scale, value);\n\n const sstyles = sstyled(styles);\n const sTitleStyles = sstyles.cn('STitle', {\n 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return sstyled(styles)(\n <STitle\n render=\"text\"\n childrenPosition=\"inside\"\n className={sTitleStyles.className}\n style={sTitleStyles.style}\n position={position}\n x={x}\n y={y}\n />,\n );\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, position, value } = props;\n const positionProps = rectDirection2props[side2direction[position]];\n\n return sstyled(styles)(\n <SBackground render=\"rect\" childrenPosition=\"inside\" {...positionProps(scale, value)} />,\n );\n}\n\nconst ReferenceLine = createElement(ReferenceLineRoot, {\n Title,\n Background,\n});\n\nexport default ReferenceLine;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReferenceLine.js","names":["React","Component","sstyled","createElement","scaleOfBandwidth","side2direction","left","right","top","bottom","lineDirection2props","vertical","value","xScale","yScale","yRange","range","x","x1","x2","y1","y2","horizontal","xRange","y","rectDirection2props","width","height","titleOffset","titleSideToProps","ReferenceLineRoot","asProps","position","SReferenceLine","Element","title","scale","color","styles","positionProps","style","Title","props","STitle","sstyles","sTitleStyles","cn","toFixed","className","Background","SBackground","ReferenceLine"],"sources":["../../src/ReferenceLine.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { scaleOfBandwidth } from './utils';\n\nimport style from './style/reference-line.shadow.css';\n\nconst side2direction = {\n left: 'vertical',\n right: 'vertical',\n top: 'horizontal',\n bottom: 'horizontal',\n};\n\nconst lineDirection2props = {\n vertical: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n x2: x,\n y1: yRange[0],\n y2: yRange[1],\n };\n },\n horizontal: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n x2: xRange[1],\n y1: y,\n y2: y,\n };\n },\n};\n\nconst rectDirection2props = {\n vertical: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x,\n y: yRange[1],\n width: 100,\n height: yRange[0] - yRange[1],\n };\n },\n horizontal: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: xRange[0],\n y: y,\n width: xRange[1] - xRange[0],\n height: 100,\n };\n },\n};\n\nconst titleOffset = 10;\nconst titleSideToProps = {\n left: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x - titleOffset,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n right: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x: x + titleOffset,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n top: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: y - titleOffset,\n };\n },\n bottom: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: y + titleOffset,\n };\n },\n};\n\nclass ReferenceLineRoot extends Component {\n static displayName = 'ReferenceLine';\n static style = style;\n static defaultProps = {\n position: 'left',\n };\n\n getTitleProps() {\n const { position, value } = this.asProps;\n return { position, value };\n }\n\n getBackgroundProps() {\n const { position, value } = this.asProps;\n return { position, value };\n }\n\n render() {\n const SReferenceLine = this.Element;\n const { title, scale, position, value, color, styles } = this.asProps;\n const positionProps = lineDirection2props[side2direction[position]];\n\n return sstyled(styles)(\n <>\n <SReferenceLine\n render=\"line\"\n __excludeProps={['data', 'scale', 'format', 'value', 'color']}\n stroke={color}\n {...positionProps(scale, value)}\n />\n {title && <ReferenceLine.Title>{title}</ReferenceLine.Title>}\n </>,\n );\n }\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position, value } = props;\n const { x, y } = titleSideToProps[position](scale, value);\n\n const sstyles = sstyled(styles);\n const sTitleStyles = sstyles.cn('STitle', {\n 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return sstyled(styles)(\n <STitle\n render=\"text\"\n childrenPosition=\"inside\"\n className={sTitleStyles.className}\n style={sTitleStyles.style}\n position={position}\n x={x}\n y={y}\n />,\n );\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, position, value } = props;\n const positionProps = rectDirection2props[side2direction[position]];\n\n return sstyled(styles)(\n <SBackground render=\"rect\" childrenPosition=\"inside\" {...positionProps(scale, value)} />,\n );\n}\n\nconst ReferenceLine = createElement(ReferenceLineRoot, {\n Title,\n Background,\n});\n\nexport default ReferenceLine;\n"],"mappings":"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"}
|
|
@@ -1,21 +1,12 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
3
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
4
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
5
|
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
5
6
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
|
-
import
|
|
7
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
+
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
8
8
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
9
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
10
|
-
|
|
11
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
-
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
-
|
|
15
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
16
|
-
|
|
17
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
18
|
-
|
|
19
10
|
import React from 'react';
|
|
20
11
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
21
12
|
import createComponent, { Component, Root, sstyled } from '@semcore/core';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsiveContainer.js","names":["React","ResizeObserver","createComponent","Component","Root","sstyled","Box","trottle","fire","getOriginChildren","ResponsiveContainerRoot","props","createRef","entries","asProps","Children","aspect","$container","width","clientWidth","height","clientHeight","style","window","getComputedStyle","minHeight","Number","parseInt","getPropertyValue","maxHeight","size","forceUpdate","observer","handleResize","containerRef","current","observe","disconnect","SResponsiveContainer","styles","ResponsiveContainer"],"sources":["../../src/ResponsiveContainer.jsx"],"sourcesContent":["import React from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\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":"
|
|
1
|
+
{"version":3,"file":"ResponsiveContainer.js","names":["React","ResizeObserver","createComponent","Component","Root","sstyled","Box","trottle","fire","getOriginChildren","ResponsiveContainerRoot","props","createRef","entries","asProps","Children","aspect","$container","width","clientWidth","height","clientHeight","style","window","getComputedStyle","minHeight","Number","parseInt","getPropertyValue","maxHeight","size","forceUpdate","observer","handleResize","containerRef","current","observe","disconnect","SResponsiveContainer","styles","ResponsiveContainer"],"sources":["../../src/ResponsiveContainer.jsx"],"sourcesContent":["import React from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\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/es6/ScatterPlot.js
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
3
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
4
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
5
|
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
5
6
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
|
-
import
|
|
7
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
+
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
8
8
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
9
|
import { sstyled as _sstyled } from "@semcore/core";
|
|
10
|
-
|
|
11
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
-
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
-
|
|
15
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
16
|
-
|
|
17
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
18
|
-
|
|
19
10
|
import React from 'react';
|
|
20
11
|
import { transition } from 'd3-transition';
|
|
21
12
|
import { Component, sstyled } from '@semcore/core';
|
|
@@ -30,17 +21,17 @@ var style = (
|
|
|
30
21
|
/*__reshadow_css_start__*/
|
|
31
22
|
_sstyled.insert(
|
|
32
23
|
/*__inner_css_start__*/
|
|
33
|
-
".
|
|
24
|
+
".___SScatterPlot_ah77w_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_ah77w);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_ah77w_gg_:hover{opacity:.8}}.___SScatterPlot_ah77w_gg_.__color_ah77w_gg_{fill:var(--color_ah77w)}.___SScatterPlot_ah77w_gg_.__transparent_ah77w_gg_{opacity:.3}.___SValue_ah77w_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_ah77w_gg_.__color_ah77w_gg_{stroke:var(--color_ah77w)}.___SValue_ah77w_gg_.__transparent_ah77w_gg_{opacity:.3}"
|
|
34
25
|
/*__inner_css_end__*/
|
|
35
|
-
, "
|
|
26
|
+
, "ah77w_gg_")
|
|
36
27
|
/*__reshadow_css_end__*/
|
|
37
28
|
, {
|
|
38
|
-
"__SScatterPlot": "
|
|
39
|
-
"--duration": "--
|
|
40
|
-
"_color": "
|
|
41
|
-
"--color": "--
|
|
42
|
-
"_transparent": "
|
|
43
|
-
"__SValue": "
|
|
29
|
+
"__SScatterPlot": "___SScatterPlot_ah77w_gg_",
|
|
30
|
+
"--duration": "--duration_ah77w",
|
|
31
|
+
"_color": "__color_ah77w_gg_",
|
|
32
|
+
"--color": "--color_ah77w",
|
|
33
|
+
"_transparent": "__transparent_ah77w_gg_",
|
|
34
|
+
"__SValue": "___SValue_ah77w_gg_"
|
|
44
35
|
});
|
|
45
36
|
|
|
46
37
|
var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterPlot.js","names":["React","transition","Component","sstyled","canUseDOM","uniqueIDEnhancement","createElement","CONSTANT","ClipPath","ScatterPlotRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","r","value","radius","selectRect","selection","selectAll","attr","selectRectNode","node","animationCircle","d","i","color","scale","offset","styles","valueColor","transparent","xScale","yScale","SScatterPlot","Element","SValue","bindHandlerTooltip","xIndex","data","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","map","renderCircle","bind","style","ScatterPlot"],"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';\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 =\n (visible, props) =>\n ({ 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 })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: 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);\n\nexport default ScatterPlot;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScatterPlot.js","names":["React","transition","Component","sstyled","canUseDOM","uniqueIDEnhancement","createElement","CONSTANT","ClipPath","ScatterPlotRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","r","value","radius","selectRect","selection","selectAll","attr","selectRectNode","node","animationCircle","d","i","color","scale","offset","styles","valueColor","transparent","xScale","yScale","SScatterPlot","Element","SValue","bindHandlerTooltip","xIndex","data","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","map","renderCircle","bind","style","ScatterPlot"],"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';\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 =\n (visible, props) =>\n ({ 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 })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: 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);\n\nexport default ScatterPlot;\n"],"mappings":"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"}
|
package/lib/es6/StackBar.js
CHANGED
|
@@ -1,18 +1,9 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
1
2
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
3
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
4
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
4
|
-
import
|
|
5
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
5
|
+
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
6
6
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
|
-
|
|
8
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
-
|
|
10
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
-
|
|
12
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
13
|
-
|
|
14
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
15
|
-
|
|
16
7
|
import React from 'react';
|
|
17
8
|
import { stack as d3Stack } from 'd3-shape';
|
|
18
9
|
import { Component } from '@semcore/core';
|
package/lib/es6/StackBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackBar.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","hMin","y0","groupKey","wMin","x0","Element","getSeries","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 from './Bar';\nimport HorizontalBar from './HorizontalBar';\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 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 }) {\n const { x, r } = this.asProps;\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 return {\n data: series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n })),\n hMin: 0,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y, r } = this.asProps;\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 return {\n data: series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n })),\n wMin: 0,\n x0: XY0,\n y,\n r: rBar,\n groupKey: y,\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 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":"
|
|
1
|
+
{"version":3,"file":"StackBar.js","names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","hMin","y0","groupKey","wMin","x0","Element","getSeries","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 from './Bar';\nimport HorizontalBar from './HorizontalBar';\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 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 }) {\n const { x, r } = this.asProps;\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 return {\n data: series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n })),\n hMin: 0,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y, r } = this.asProps;\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 return {\n data: series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n })),\n wMin: 0,\n x0: XY0,\n y,\n r: rBar,\n groupKey: y,\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 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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"}
|
package/lib/es6/StackedArea.js
CHANGED
|
@@ -1,18 +1,9 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
1
2
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
3
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
4
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
4
|
-
import
|
|
5
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
5
|
+
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
6
6
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
|
-
|
|
8
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
-
|
|
10
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
-
|
|
12
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
13
|
-
|
|
14
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
15
|
-
|
|
16
7
|
import React from 'react';
|
|
17
8
|
import { stack as d3Stack } from 'd3-shape';
|
|
18
9
|
import { Component } from '@semcore/core';
|