@semcore/d3-chart 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/Axis.js +3 -5
  3. package/lib/cjs/Axis.js.map +1 -1
  4. package/lib/cjs/Bar.js +3 -3
  5. package/lib/cjs/Bar.js.map +1 -1
  6. package/lib/cjs/Bubble.js +3 -24
  7. package/lib/cjs/Bubble.js.map +1 -1
  8. package/lib/cjs/ClipPath.js +2 -1
  9. package/lib/cjs/ClipPath.js.map +1 -1
  10. package/lib/cjs/Donut.js +1 -1
  11. package/lib/cjs/Donut.js.map +1 -1
  12. package/lib/cjs/Dots.js +1 -1
  13. package/lib/cjs/Dots.js.map +1 -1
  14. package/lib/cjs/GroupBar.js +8 -8
  15. package/lib/cjs/GroupBar.js.map +1 -1
  16. package/lib/cjs/HorizontalBar.js +3 -3
  17. package/lib/cjs/HorizontalBar.js.map +1 -1
  18. package/lib/cjs/Plot.js +15 -1
  19. package/lib/cjs/Plot.js.map +1 -1
  20. package/lib/cjs/RadialTree.js +691 -0
  21. package/lib/cjs/RadialTree.js.map +1 -0
  22. package/lib/cjs/ResponsiveContainer.js +1 -1
  23. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  24. package/lib/cjs/StackBar.js +8 -8
  25. package/lib/cjs/StackBar.js.map +1 -1
  26. package/lib/cjs/StackedArea.js +8 -8
  27. package/lib/cjs/StackedArea.js.map +1 -1
  28. package/lib/cjs/Tooltip.js +3 -7
  29. package/lib/cjs/Tooltip.js.map +1 -1
  30. package/lib/cjs/Venn.js +2 -2
  31. package/lib/cjs/Venn.js.map +1 -1
  32. package/lib/cjs/createElement.js +3 -2
  33. package/lib/cjs/createElement.js.map +1 -1
  34. package/lib/cjs/index.js +8 -0
  35. package/lib/cjs/index.js.map +1 -1
  36. package/lib/cjs/style/plot.shadow.css +6 -0
  37. package/lib/cjs/style/radial-tree.shadow.css +23 -0
  38. package/lib/cjs/types/Area.d.ts +47 -0
  39. package/lib/cjs/types/Axis.d.ts +64 -0
  40. package/lib/cjs/types/Bar.d.ts +48 -0
  41. package/lib/cjs/types/Bubble.d.ts +27 -0
  42. package/lib/cjs/types/ClipPath.d.ts +26 -0
  43. package/lib/cjs/types/Donut.d.ts +42 -0
  44. package/lib/cjs/types/GroupBar.d.ts +20 -0
  45. package/lib/cjs/types/HorizontalBar.d.ts +29 -0
  46. package/lib/cjs/types/Hover.d.ts +15 -0
  47. package/lib/cjs/types/Line.d.ts +50 -0
  48. package/lib/cjs/types/Plot.d.ts +16 -0
  49. package/lib/cjs/types/ResponsiveContainer.d.ts +20 -0
  50. package/lib/cjs/types/ScatterPlot.d.ts +27 -0
  51. package/lib/cjs/types/StackBar.d.ts +26 -0
  52. package/lib/cjs/types/StackedArea.d.ts +26 -0
  53. package/lib/cjs/types/Tooltip.d.ts +31 -0
  54. package/lib/cjs/types/Venn.d.ts +45 -0
  55. package/lib/cjs/types/context.d.ts +6 -0
  56. package/lib/cjs/types/index.d.ts +53 -0
  57. package/lib/cjs/utils.js +120 -55
  58. package/lib/cjs/utils.js.map +1 -1
  59. package/lib/es6/Axis.js +3 -5
  60. package/lib/es6/Axis.js.map +1 -1
  61. package/lib/es6/Bar.js +3 -3
  62. package/lib/es6/Bar.js.map +1 -1
  63. package/lib/es6/Bubble.js +3 -24
  64. package/lib/es6/Bubble.js.map +1 -1
  65. package/lib/es6/ClipPath.js +2 -1
  66. package/lib/es6/ClipPath.js.map +1 -1
  67. package/lib/es6/Donut.js +1 -1
  68. package/lib/es6/Donut.js.map +1 -1
  69. package/lib/es6/Dots.js +1 -1
  70. package/lib/es6/Dots.js.map +1 -1
  71. package/lib/es6/GroupBar.js +8 -8
  72. package/lib/es6/GroupBar.js.map +1 -1
  73. package/lib/es6/HorizontalBar.js +3 -3
  74. package/lib/es6/HorizontalBar.js.map +1 -1
  75. package/lib/es6/Plot.js +17 -1
  76. package/lib/es6/Plot.js.map +1 -1
  77. package/lib/es6/RadialTree.js +679 -0
  78. package/lib/es6/RadialTree.js.map +1 -0
  79. package/lib/es6/ResponsiveContainer.js +1 -1
  80. package/lib/es6/ResponsiveContainer.js.map +1 -1
  81. package/lib/es6/StackBar.js +8 -8
  82. package/lib/es6/StackBar.js.map +1 -1
  83. package/lib/es6/StackedArea.js +8 -8
  84. package/lib/es6/StackedArea.js.map +1 -1
  85. package/lib/es6/Tooltip.js +3 -7
  86. package/lib/es6/Tooltip.js.map +1 -1
  87. package/lib/es6/Venn.js +2 -2
  88. package/lib/es6/Venn.js.map +1 -1
  89. package/lib/es6/createElement.js +3 -2
  90. package/lib/es6/createElement.js.map +1 -1
  91. package/lib/es6/index.js +1 -0
  92. package/lib/es6/index.js.map +1 -1
  93. package/lib/es6/style/plot.shadow.css +6 -0
  94. package/lib/es6/style/radial-tree.shadow.css +23 -0
  95. package/lib/es6/types/Area.d.ts +47 -0
  96. package/lib/es6/types/Axis.d.ts +64 -0
  97. package/lib/es6/types/Bar.d.ts +48 -0
  98. package/lib/es6/types/Bubble.d.ts +27 -0
  99. package/lib/es6/types/ClipPath.d.ts +26 -0
  100. package/lib/es6/types/Donut.d.ts +42 -0
  101. package/lib/es6/types/GroupBar.d.ts +20 -0
  102. package/lib/es6/types/HorizontalBar.d.ts +29 -0
  103. package/lib/es6/types/Hover.d.ts +15 -0
  104. package/lib/es6/types/Line.d.ts +50 -0
  105. package/lib/es6/types/Plot.d.ts +16 -0
  106. package/lib/es6/types/ResponsiveContainer.d.ts +20 -0
  107. package/lib/es6/types/ScatterPlot.d.ts +27 -0
  108. package/lib/es6/types/StackBar.d.ts +26 -0
  109. package/lib/es6/types/StackedArea.d.ts +26 -0
  110. package/lib/es6/types/Tooltip.d.ts +31 -0
  111. package/lib/es6/types/Venn.d.ts +45 -0
  112. package/lib/es6/types/context.d.ts +6 -0
  113. package/lib/es6/types/index.d.ts +53 -0
  114. package/lib/es6/utils.js +95 -44
  115. package/lib/es6/utils.js.map +1 -1
  116. package/lib/types/RadialTree.d.ts +202 -0
  117. package/lib/types/index.d.ts +6 -0
  118. package/lib/types/utils.d.ts +27 -0
  119. package/package.json +17 -10
  120. package/src/Bubble.jsx +1 -21
  121. package/src/ClipPath.jsx +1 -0
  122. package/src/Donut.jsx +7 -9
  123. package/src/Plot.jsx +2 -0
  124. package/src/RadialTree.tsx +768 -0
  125. package/src/createElement.jsx +3 -1
  126. package/src/index.js +1 -0
  127. package/src/style/plot.shadow.css +6 -0
  128. package/src/style/radial-tree.shadow.css +23 -0
  129. package/src/types/index.d.ts +6 -0
  130. package/src/utils.ts +227 -0
  131. package/src/utils.js +0 -147
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/RadialTree.tsx"],"names":["React","Component","sstyled","createElement","uniqueIDEnhancement","transition","shade","measureText","assignProps","getOriginChildren","baseAngle","Math","PI","RadialTreeBase","props","handleRadianClick","bind","activeKey","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","cx","baseVal","value","cy","radianIndex","parseInt","dataset","lineNode","from","x1","y1","to","attr","_","index","x","y","width","height","x2","y2","prevProps","$rootProps","data","runAppearAnimation","key","event","newKey","handlers","textSize","widths","label","max","size","center","restRootProps","textWidth","computeTextWidth","radiansCount","onRadianClick","SRadialTree","Element","Children","styles","style","angleOffset","centralMargin","labelMargin","color","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","renderRadian","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","xEnd","yEnd","stroke","radius","isActive","icon","labelAngle","isHorizontal","angle","getRadianKey","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","SRadian","children","_child","mergedProps","InteractiveArea","RadialTree","Radian","SRadianList","SInteractiveArea","Line","SLine","Cap","SCap","Icon","SIcon","tag","Label","SLabel","lines","String","split","linesCount","SLabelLine","sstyles","sLabelStyles","cn","toFixed","className","lineText","lineIndex","Title","STitle"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, CProps, ReturnEl } from '@semcore/core';\n// @ts-ignore\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/radial-tree.shadow.css';\nimport { shade } from '@semcore/utils/lib/color';\nimport { measureText } from './utils';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\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}\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 angleOffset: number;\n $rootProps: RootAsProps;\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: 2,\n color: '#008FF8',\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ 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 const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`);\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`);\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`);\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`);\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 cx = node.cx?.baseVal?.value;\n const cy = node.cy?.baseVal?.value;\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: { cx, cy },\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 circlesAnimation\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 x = node.x?.baseVal?.value;\n const y = node.y?.baseVal?.value;\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,\n 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 iconsAnimation\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 const x2 = node.x2?.baseVal?.value;\n const y2 = node.y2?.baseVal?.value;\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2,\n 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 linesAnimation\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?.length !== this.asProps.data?.length) {\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\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 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 } = 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 ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\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 } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n radius: capSize,\n color,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\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\n return {\n x: xEnd - iconSize! / 2,\n y: yEnd - iconSize! / 2,\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 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 } = 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 } 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, angleOffset, activeKey, size, radiansCount, textWidth } = 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(minDemSize - textWidth - baseCapSize - centralMargin, 10);\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 + Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2),\n yCenter + Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2),\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 // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian 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}\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 ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({ Element: SLine, styles }) => {\n return sstyled(styles)(<SLine render=\"line\" />) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianCapProps {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string } & 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}) => {\n return sstyled(styles)(\n <SCap render=\"circle\" cx={x} cy={y} r={radius} fill={color} />,\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}\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC } & 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}) => {\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} />,\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}\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}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\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 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return (\n <SLabel\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={`rotate(${((angle / Math.PI) * 180).toFixed(2)})`}\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}\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n styles,\n textSize,\n color,\n x,\n y,\n}) => {\n return sstyled(styles)(\n <STitle\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: CProps<IRadialTreeProps & T>,\n) => ReturnEl) & {\n Title: <T>(props: CProps<IRadialTreeTitleProps & T>) => ReturnEl;\n Radian: (<T>(props: CProps<IRadialTreeRadianProps & T>) => ReturnEl) & {\n Line: <T>(props: CProps<IRadialTreeRadianLineProps & T>) => ReturnEl;\n Cap: <T>(props: CProps<IRadialTreeRadianCapProps & T>) => ReturnEl;\n Icon: <T>(props: CProps<IRadialTreeRadianIconProps & T>) => ReturnEl;\n Label: <T>(props: CProps<IRadialTreeRadianLabelProps & T>) => ReturnEl;\n };\n};\n\nexport default RadialTree;\n"],"file":"RadialTree.js"}
@@ -36,7 +36,7 @@ var ResponsiveContainerRoot = /*#__PURE__*/function (_Component) {
36
36
 
37
37
  _this = _super.call(this, props);
38
38
 
39
- _defineProperty(_assertThisInitialized(_this), "containerRef", /*#__PURE__*/React.createRef());
39
+ _defineProperty(_assertThisInitialized(_this), "containerRef", React.createRef());
40
40
 
41
41
  _defineProperty(_assertThisInitialized(_this), "size", [0, 0]);
42
42
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ResponsiveContainer.jsx"],"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"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\n\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 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 ускорить можно?\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"],"file":"ResponsiveContainer.js"}
1
+ {"version":3,"sources":["../../src/ResponsiveContainer.jsx"],"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"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\n\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 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 ускорить можно?\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"],"file":"ResponsiveContainer.js"}
@@ -27,15 +27,15 @@ var _ref = (
27
27
  /*__reshadow_css_start__*/
28
28
  __css__(
29
29
  /*__inner_css_start__*/
30
- ".___SBar_raw8k_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_raw8k_gg_.__color_raw8k_gg_{fill:var(--color)}.___SBar_raw8k_gg_.__hide_raw8k_gg_{display:none}.___SBackground_raw8k_gg_{fill:#e4ecf1}"
30
+ ".___SBar_73i43_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_73i43_gg_.__color_73i43_gg_{fill:var(--color)}.___SBar_73i43_gg_.__hide_73i43_gg_{display:none}.___SBackground_73i43_gg_{fill:#e4ecf1}"
31
31
  /*__inner_css_end__*/
32
- , "1oz0u46_gg_")
32
+ , "glppkm_gg_")
33
33
  /*__reshadow_css_end__*/
34
34
  , {
35
- "__SBar": "___SBar_raw8k_gg_",
36
- "_color": "__color_raw8k_gg_",
37
- "_hide": "__hide_raw8k_gg_",
38
- "__SBackground": "___SBackground_raw8k_gg_"
35
+ "__SBar": "___SBar_73i43_gg_",
36
+ "_color": "__color_73i43_gg_",
37
+ "_hide": "__hide_73i43_gg_",
38
+ "__SBackground": "___SBackground_73i43_gg_"
39
39
  }),
40
40
  style = _extends({}, _ref);
41
41
 
@@ -63,11 +63,11 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
63
63
 
64
64
  if (stack[DEFAULT_INSTANCE]) {
65
65
  var keys = React.Children.toArray(getOriginChildren(Children)).reduce(function (acc, child) {
66
- if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {
66
+ if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {
67
67
  acc.push(child.props.y);
68
68
  }
69
69
 
70
- if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.HorizontalBar && !child.props.hide) {
70
+ if (React.isValidElement(child) && child.type === StackBar.HorizontalBar && !child.props.hide) {
71
71
  acc.push(child.props.x);
72
72
  }
73
73
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/StackBar.jsx"],"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","y0","x0","Element","getSeries","style"],"mappings":"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","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\nimport style from './style/bar.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static style = style;\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 y0: XY0,\n x,\n r: rBar,\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 x0: XY0,\n y,\n r: rBar,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"file":"StackBar.js"}
1
+ {"version":3,"sources":["../../src/StackBar.jsx"],"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","y0","x0","Element","getSeries","style"],"mappings":"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","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\nimport style from './style/bar.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static style = style;\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 y0: XY0,\n x,\n r: rBar,\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 x0: XY0,\n y,\n r: rBar,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"file":"StackBar.js"}
@@ -26,16 +26,16 @@ var _ref = (
26
26
  /*__reshadow_css_start__*/
27
27
  __css__(
28
28
  /*__inner_css_start__*/
29
- ".___SArea_1efo6_gg_{fill:#50aef4;fill-opacity:.4}.___SArea_1efo6_gg_.__color_1efo6_gg_{fill:var(--color)}.___SAreaLine_1efo6_gg_{stroke:#50aef4;stroke-width:3;fill:transparent}.___SAreaLine_1efo6_gg_.__color_1efo6_gg_{stroke:var(--color)}.___SArea_1efo6_gg_,.___SAreaLine_1efo6_gg_{transition-property:d;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SNull_1efo6_gg_{fill:transparent;stroke:#bdc4c6;stroke-dasharray:4}.___SNull_1efo6_gg_.__hide_1efo6_gg_{display:none}"
29
+ ".___SArea_1n9og_gg_{fill:#50aef4;fill-opacity:.4}.___SArea_1n9og_gg_.__color_1n9og_gg_{fill:var(--color)}.___SAreaLine_1n9og_gg_{stroke:#50aef4;stroke-width:3;fill:transparent}.___SAreaLine_1n9og_gg_.__color_1n9og_gg_{stroke:var(--color)}.___SArea_1n9og_gg_,.___SAreaLine_1n9og_gg_{transition-property:d;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SNull_1n9og_gg_{fill:transparent;stroke:#bdc4c6;stroke-dasharray:4}.___SNull_1n9og_gg_.__hide_1n9og_gg_{display:none}"
30
30
  /*__inner_css_end__*/
31
- , "1fdh5z9_gg_")
31
+ , "94yf40_gg_")
32
32
  /*__reshadow_css_end__*/
33
33
  , {
34
- "__SArea": "___SArea_1efo6_gg_",
35
- "_color": "__color_1efo6_gg_",
36
- "__SAreaLine": "___SAreaLine_1efo6_gg_",
37
- "__SNull": "___SNull_1efo6_gg_",
38
- "_hide": "__hide_1efo6_gg_"
34
+ "__SArea": "___SArea_1n9og_gg_",
35
+ "_color": "__color_1n9og_gg_",
36
+ "__SAreaLine": "___SAreaLine_1n9og_gg_",
37
+ "__SNull": "___SNull_1n9og_gg_",
38
+ "_hide": "__hide_1n9og_gg_"
39
39
  }),
40
40
  style = _extends({}, _ref);
41
41
 
@@ -63,7 +63,7 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
63
63
 
64
64
  if (stack[DEFAULT_INSTANCE]) {
65
65
  var keys = React.Children.toArray(getOriginChildren(Children)).reduce(function (acc, child) {
66
- if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {
66
+ if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {
67
67
  acc.push(child.props.y);
68
68
  }
69
69
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/StackedArea.jsx"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","style"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Area from './Area';\n\nimport style from './style/area.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }) {\n const { x } = this.asProps;\n // or [] if hide area\n const series = this.series.find((s) => s.key === y) || [];\n return {\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"file":"StackedArea.js"}
1
+ {"version":3,"sources":["../../src/StackedArea.jsx"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","style"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAK,IAAIC,OAAlB,QAAiC,UAAjC;AACA,SAASC,SAAT,sBAA0B,eAA1B;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;AAIA,IAAMC,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,EAAE,GAAGD,MAAM,CAAC,IAAD,CAAjB;;IAEME,e;;;;;;;;;;;;;WAWJ,qBAAY;AACV,0BAAkC,KAAKC,OAAvC;AAAA,UAAQC,QAAR,iBAAQA,QAAR;AAAA,UAAkBC,IAAlB,iBAAkBA,IAAlB;AAAA,UAAwBZ,KAAxB,iBAAwBA,KAAxB;;AAEA,UAAIA,KAAK,CAACM,gBAAD,CAAT,EAA6B;AAC3B,YAAMO,IAAI,GAAGd,KAAK,CAACY,QAAN,CAAeG,OAAf,CAAuBX,iBAAiB,CAACQ,QAAD,CAAxC,EAAoDI,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACtF,cAAIlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACf,IAA1D,IAAkE,CAACY,KAAK,CAACI,KAAN,CAAYC,IAAnF,EAAyF;AACvFN,YAAAA,GAAG,CAACO,IAAJ,CAASN,KAAK,CAACI,KAAN,CAAYG,CAArB;AACD;;AACD,iBAAOR,GAAP;AACD,SALY,EAKV,EALU,CAAb;AAMAhB,QAAAA,KAAK,CAACa,IAAN,CAAWA,IAAI,CAACY,OAAL,EAAX;AACD;;AAED,aAAOzB,KAAK,CAACY,IAAD,CAAZ;AACD;;;WAED,6BAAoB;AAAA,UAALY,CAAK,SAALA,CAAK;AAClB,UAAQE,CAAR,GAAc,KAAKhB,OAAnB,CAAQgB,CAAR,CADkB,CAElB;;AACA,UAAMC,MAAM,GAAG,KAAKA,MAAL,CAAYC,IAAZ,CAAiB,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;AAAA,OAAjB,KAAwC,EAAvD;AACA,aAAO;AACLZ,QAAAA,IAAI,EAAEe,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;AAAA;;AAAA,iDACZA,CAAC,CAACjB,IADU,6DAGdY,CAHc,EAGVK,CAAC,CAACjB,IAAF,CAAOY,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,mCAIdrB,EAJc,EAITqB,CAAC,CAAC,CAAD,CAJQ;AAAA,SAAX,CADD;AAOLG,QAAAA,EAAE,EAAExB,EAPC;AAQLkB,QAAAA,CAAC,EAADA;AARK,OAAP;AAUD;;;WAED,kBAAS;AACP,UAAMO,OAAO,GAAG,KAAKA,OAArB;AACA,WAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;AACA,0BAAO,oBAAC,OAAD;AAAS,QAAA,MAAM,EAAC,GAAhB;AAAoB,QAAA,MAAM,EAAE,KAAKP;AAAjC,QAAP;AACD;;;;EA/C2BzB,S;;gBAAxBO,e,iBACiB,a;;gBADjBA,e,WAGW0B,K;;gBAHX1B,e,kBAKkB,YAAM;AAC1B,MAAMT,KAAK,GAAGC,OAAO,EAArB;AACAD,EAAAA,KAAK,CAACM,gBAAD,CAAL,GAA0B,IAA1B;AACA,SAAO;AAAEN,IAAAA,KAAK,EAALA;AAAF,GAAP;AACD,C;;AAyCH,IAAMoB,WAAW,GAAGhB,aAAa,CAACK,eAAD,EAAkB;AAAEJ,EAAAA,IAAI,EAAJA;AAAF,CAAlB,CAAjC;AAEA,eAAee,WAAf","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Area from './Area';\n\nimport style from './style/area.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }) {\n const { x } = this.asProps;\n // or [] if hide area\n const series = this.series.find((s) => s.key === y) || [];\n return {\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"file":"StackedArea.js"}
@@ -104,10 +104,8 @@ var TooltipRoot = /*#__PURE__*/function (_Component) {
104
104
  $visible: visible
105
105
  }), function () {
106
106
  if (node && (node[CONSTANT.VIRTUAL_ELEMENT] || rootRef.current.contains(node))) {
107
- var _this2$popper$current;
108
-
109
- _this2 === null || _this2 === void 0 ? void 0 : _this2.setPopperTrigger(node);
110
- (_this2$popper$current = _this2.popper.current) === null || _this2$popper$current === void 0 ? void 0 : _this2$popper$current.update();
107
+ _this2?.setPopperTrigger(node);
108
+ _this2.popper.current?.update();
111
109
  }
112
110
  });
113
111
  });
@@ -142,13 +140,11 @@ var TooltipRoot = /*#__PURE__*/function (_Component) {
142
140
  allowedAutoPlacements: ['left', 'right']
143
141
  }
144
142
  }, _ref), function (_ref7) {
145
- var _this3$popper$current;
146
-
147
143
  var popper = _ref7.popper,
148
144
  setTrigger = _ref7.setTrigger;
149
145
  _this3.setPopperTrigger = setTrigger;
150
146
  _this3.popper = popper;
151
- (_this3$popper$current = _this3.popper.current) === null || _this3$popper$current === void 0 ? void 0 : _this3$popper$current.update();
147
+ _this3.popper.current?.update();
152
148
  return advanceMode ? /*#__PURE__*/React.createElement(Children, null) : /*#__PURE__*/React.createElement(React.Fragment, null, tag && /*#__PURE__*/React.createElement(Tooltip.Trigger, {
153
149
  tag: tag
154
150
  }), /*#__PURE__*/React.createElement(Tooltip.Popper, other, children));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tooltip.jsx"],"names":["React","useCallback","Component","Root","sstyled","Popper","Box","findComponent","CONSTANT","createElement","resolveColor","TooltipRoot","$visible","asProps","x","y","state","eventEmitter","rootRef","unsubscribeTooltipVisible","subscribe","visible","data","node","setState","VIRTUAL_ELEMENT","current","contains","setPopperTrigger","popper","update","Children","children","tag","other","advanceMode","Tooltip","Trigger","displayName","handlerCancel","allowedAutoPlacements","setTrigger","style","PopperPopper","props","STooltip","Element","styles","Title","STitle","Dot","color","SDotGroup","SDot","Footer"],"mappings":"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","sourcesContent":["import React, { useCallback } from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport Popper from '@semcore/popper';\nimport { Box } from '@semcore/flex-box';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport resolveColor from '@semcore/utils/lib/color';\n\nimport style from './style/tooltip.shadow.css';\n\nclass TooltipRoot extends Component {\n static displayName = 'Tooltip';\n\n static style = style;\n\n state = {\n $visible: false,\n };\n\n handlerCancel = () => false;\n\n getTriggerProps() {\n // TODO: как то убрать\n const { x, y } = this.asProps;\n return { x, y };\n }\n\n getPopperProps() {\n return {\n ...this.state,\n };\n }\n\n componentDidMount() {\n const { eventEmitter, rootRef } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'onTooltipVisible',\n (visible, data, node) => {\n this.setState(\n {\n // TODO: тут бага если одно поля нету,то оно не перезапишет стейт\n ...data,\n $visible: visible,\n },\n () => {\n if (node && (node[CONSTANT.VIRTUAL_ELEMENT] || rootRef.current.contains(node))) {\n this?.setPopperTrigger(node);\n this.popper.current?.update();\n }\n },\n );\n },\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeTooltipVisible) {\n this.unsubscribeTooltipVisible();\n }\n }\n\n render() {\n const { Children, children, tag, ...other } = this.asProps;\n\n const advanceMode = !!findComponent(Children, [\n Tooltip.Trigger.displayName,\n Tooltip.Popper.displayName,\n ]);\n return (\n <Root\n render={Popper}\n visible={this.state.$visible}\n onFirstUpdate={this.handlerCancel}\n onOutsideClick={this.handlerCancel}\n interaction=\"none\"\n offset={8}\n flip={{ allowedAutoPlacements: ['left', 'right'] }}\n >\n {({ popper, setTrigger }) => {\n this.setPopperTrigger = setTrigger;\n this.popper = popper;\n this.popper.current?.update();\n return advanceMode ? (\n <Children />\n ) : (\n <>\n {tag && <Tooltip.Trigger tag={tag} />}\n <Tooltip.Popper {...other}>{children}</Tooltip.Popper>\n </>\n );\n }}\n </Root>\n );\n }\n}\n\nfunction PopperPopper(props) {\n const { Element: STooltip, styles, $visible, x, y } = props;\n\n const handlerCancel = useCallback(() => false, []);\n\n if (!$visible) return null;\n\n return sstyled(styles)(\n <STooltip\n render={Popper.Popper}\n childrenPosition=\"inside\"\n onMouseMove={handlerCancel}\n x={x}\n y={y}\n />,\n );\n}\n\nfunction Title(props) {\n const STitle = Root;\n const { styles } = props;\n return sstyled(styles)(<STitle render={Box} __excludeProps={['data', 'scale']} />);\n}\n\nfunction Dot(props) {\n const { styles, color, Children } = props;\n const SDotGroup = Root;\n const SDot = Box;\n return sstyled(styles)(\n <SDotGroup render={Box}>\n <SDot __excludeProps={['data', 'scale']} color={resolveColor(color)} />\n <Children />\n </SDotGroup>,\n );\n}\n\nfunction Footer() {\n return null;\n}\n\nconst Tooltip = createElement(TooltipRoot, {\n Trigger: Popper.Trigger,\n Popper: PopperPopper,\n Title,\n Footer,\n Dot,\n});\n\nexport default Tooltip;\n"],"file":"Tooltip.js"}
1
+ {"version":3,"sources":["../../src/Tooltip.jsx"],"names":["React","useCallback","Component","Root","sstyled","Popper","Box","findComponent","CONSTANT","createElement","resolveColor","TooltipRoot","$visible","asProps","x","y","state","eventEmitter","rootRef","unsubscribeTooltipVisible","subscribe","visible","data","node","setState","VIRTUAL_ELEMENT","current","contains","setPopperTrigger","popper","update","Children","children","tag","other","advanceMode","Tooltip","Trigger","displayName","handlerCancel","allowedAutoPlacements","setTrigger","style","PopperPopper","props","STooltip","Element","styles","Title","STitle","Dot","color","SDotGroup","SDot","Footer"],"mappings":"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","sourcesContent":["import React, { useCallback } from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport Popper from '@semcore/popper';\nimport { Box } from '@semcore/flex-box';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport resolveColor from '@semcore/utils/lib/color';\n\nimport style from './style/tooltip.shadow.css';\n\nclass TooltipRoot extends Component {\n static displayName = 'Tooltip';\n\n static style = style;\n\n state = {\n $visible: false,\n };\n\n handlerCancel = () => false;\n\n getTriggerProps() {\n // TODO: как то убрать\n const { x, y } = this.asProps;\n return { x, y };\n }\n\n getPopperProps() {\n return {\n ...this.state,\n };\n }\n\n componentDidMount() {\n const { eventEmitter, rootRef } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'onTooltipVisible',\n (visible, data, node) => {\n this.setState(\n {\n // TODO: тут бага если одно поля нету,то оно не перезапишет стейт\n ...data,\n $visible: visible,\n },\n () => {\n if (node && (node[CONSTANT.VIRTUAL_ELEMENT] || rootRef.current.contains(node))) {\n this?.setPopperTrigger(node);\n this.popper.current?.update();\n }\n },\n );\n },\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeTooltipVisible) {\n this.unsubscribeTooltipVisible();\n }\n }\n\n render() {\n const { Children, children, tag, ...other } = this.asProps;\n\n const advanceMode = !!findComponent(Children, [\n Tooltip.Trigger.displayName,\n Tooltip.Popper.displayName,\n ]);\n return (\n <Root\n render={Popper}\n visible={this.state.$visible}\n onFirstUpdate={this.handlerCancel}\n onOutsideClick={this.handlerCancel}\n interaction=\"none\"\n offset={8}\n flip={{ allowedAutoPlacements: ['left', 'right'] }}\n >\n {({ popper, setTrigger }) => {\n this.setPopperTrigger = setTrigger;\n this.popper = popper;\n this.popper.current?.update();\n return advanceMode ? (\n <Children />\n ) : (\n <>\n {tag && <Tooltip.Trigger tag={tag} />}\n <Tooltip.Popper {...other}>{children}</Tooltip.Popper>\n </>\n );\n }}\n </Root>\n );\n }\n}\n\nfunction PopperPopper(props) {\n const { Element: STooltip, styles, $visible, x, y } = props;\n\n const handlerCancel = useCallback(() => false, []);\n\n if (!$visible) return null;\n\n return sstyled(styles)(\n <STooltip\n render={Popper.Popper}\n childrenPosition=\"inside\"\n onMouseMove={handlerCancel}\n x={x}\n y={y}\n />,\n );\n}\n\nfunction Title(props) {\n const STitle = Root;\n const { styles } = props;\n return sstyled(styles)(<STitle render={Box} __excludeProps={['data', 'scale']} />);\n}\n\nfunction Dot(props) {\n const { styles, color, Children } = props;\n const SDotGroup = Root;\n const SDot = Box;\n return sstyled(styles)(\n <SDotGroup render={Box}>\n <SDot __excludeProps={['data', 'scale']} color={resolveColor(color)} />\n <Children />\n </SDotGroup>,\n );\n}\n\nfunction Footer() {\n return null;\n}\n\nconst Tooltip = createElement(TooltipRoot, {\n Trigger: Popper.Trigger,\n Popper: PopperPopper,\n Title,\n Footer,\n Dot,\n});\n\nexport default Tooltip;\n"],"file":"Tooltip.js"}
package/lib/es6/Venn.js CHANGED
@@ -67,7 +67,7 @@ var VennRoot = /*#__PURE__*/function (_Component) {
67
67
  };
68
68
  });
69
69
 
70
- _defineProperty(_assertThisInitialized(_this), "renderElement", /*#__PURE__*/React.forwardRef(function (props, ref) {
70
+ _defineProperty(_assertThisInitialized(_this), "renderElement", React.forwardRef(function (props, ref) {
71
71
  return /*#__PURE__*/React.createElement(FadeInOut, _extends({
72
72
  ref: ref,
73
73
  tag: "g",
@@ -196,7 +196,7 @@ function Intersection(props) {
196
196
  var SIntersection = props.Element,
197
197
  styles = props.styles,
198
198
  data = props.data;
199
- var renderIntersection = React.useCallback( /*#__PURE__*/React.forwardRef(function (props, ref) {
199
+ var renderIntersection = React.useCallback(React.forwardRef(function (props, ref) {
200
200
  return /*#__PURE__*/React.createElement(FadeInOut, _extends({
201
201
  ref: ref,
202
202
  tag: "path",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Venn.jsx"],"names":["React","venn","normalizeSolution","scaleSolution","intersectionAreaPath","Component","sstyled","canUseDOM","FadeInOut","createElement","CONSTANT","VennRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","forwardRef","ref","width","height","top","right","bottom","left","data","orientation","orientationOrder","size","vennData","Object","entries","map","dataKey","sets","split","duration","onMouseMove","bindHandlerTooltip","onMouseLeave","dataKeys","delay","values","filter","d","includes","setid","Element","getVennData","renderElement","style","Math","PI","c1","c2","radius","Circle","SCircle","styles","color","Intersection","SIntersection","renderIntersection","useCallback","Venn"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { venn, normalizeSolution, scaleSolution, intersectionAreaPath } from '@upsetjs/venn.js';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { FadeInOut } from '@semcore/animation';\n\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/venn.shadow.css';\n\nclass VennRoot extends Component {\n static displayName = 'Venn';\n static style = style;\n\n static defaultProps = {\n orientation: Math.PI / 2,\n orientationOrder: (c1, c2) => c2.radius - c1.radius,\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 getVennData() {\n const { data, orientation, orientationOrder, size } = this.asProps;\n const [width, height] = size;\n const vennData = Object.entries(data).map(([dataKey, size]) => ({\n sets: dataKey.split('/'),\n size,\n }));\n return scaleSolution(\n normalizeSolution(venn(vennData), orientation, orientationOrder),\n width,\n height,\n 10,\n );\n }\n\n getCircleProps(props) {\n return {\n duration: this.asProps.duration,\n data: this.vennData[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n getIntersectionProps(props) {\n const { duration } = this.asProps;\n const dataKeys = props.dataKey.split('/');\n return {\n duration,\n delay: duration,\n data: Object.values(this.vennData).filter((d) => dataKeys.includes(d.setid)),\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n renderElement = React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"g\" visible {...props} />;\n });\n\n render() {\n const Element = this.Element;\n this.vennData = this.getVennData();\n return (\n <Element render={this.renderElement} childrenPosition=\"inside\" vennData={this.vennData} />\n );\n }\n}\n\nfunction Circle({ Element: SCircle, styles, color, data, duration }) {\n return sstyled(styles)(\n <SCircle\n render=\"circle\"\n color={color}\n cx={data.x}\n cy={data.y}\n r={data.radius}\n use:duration={`${duration}ms`}\n />,\n );\n}\n\nfunction Intersection(props) {\n const { Element: SIntersection, styles, data } = props;\n const renderIntersection = React.useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"path\" visible {...props} />;\n }),\n [props],\n );\n return sstyled(styles)(\n <SIntersection render={renderIntersection} d={intersectionAreaPath(data)} />,\n );\n}\n\nconst Venn = createElement(VennRoot, { Circle, Intersection });\n\nexport default Venn;\n"],"file":"Venn.js"}
1
+ {"version":3,"sources":["../../src/Venn.jsx"],"names":["React","venn","normalizeSolution","scaleSolution","intersectionAreaPath","Component","sstyled","canUseDOM","FadeInOut","createElement","CONSTANT","VennRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","forwardRef","ref","width","height","top","right","bottom","left","data","orientation","orientationOrder","size","vennData","Object","entries","map","dataKey","sets","split","duration","onMouseMove","bindHandlerTooltip","onMouseLeave","dataKeys","delay","values","filter","d","includes","setid","Element","getVennData","renderElement","style","Math","PI","c1","c2","radius","Circle","SCircle","styles","color","Intersection","SIntersection","renderIntersection","useCallback","Venn"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { venn, normalizeSolution, scaleSolution, intersectionAreaPath } from '@upsetjs/venn.js';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { FadeInOut } from '@semcore/animation';\n\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/venn.shadow.css';\n\nclass VennRoot extends Component {\n static displayName = 'Venn';\n static style = style;\n\n static defaultProps = {\n orientation: Math.PI / 2,\n orientationOrder: (c1, c2) => c2.radius - c1.radius,\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 getVennData() {\n const { data, orientation, orientationOrder, size } = this.asProps;\n const [width, height] = size;\n const vennData = Object.entries(data).map(([dataKey, size]) => ({\n sets: dataKey.split('/'),\n size,\n }));\n return scaleSolution(\n normalizeSolution(venn(vennData), orientation, orientationOrder),\n width,\n height,\n 10,\n );\n }\n\n getCircleProps(props) {\n return {\n duration: this.asProps.duration,\n data: this.vennData[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n getIntersectionProps(props) {\n const { duration } = this.asProps;\n const dataKeys = props.dataKey.split('/');\n return {\n duration,\n delay: duration,\n data: Object.values(this.vennData).filter((d) => dataKeys.includes(d.setid)),\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n renderElement = React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"g\" visible {...props} />;\n });\n\n render() {\n const Element = this.Element;\n this.vennData = this.getVennData();\n return (\n <Element render={this.renderElement} childrenPosition=\"inside\" vennData={this.vennData} />\n );\n }\n}\n\nfunction Circle({ Element: SCircle, styles, color, data, duration }) {\n return sstyled(styles)(\n <SCircle\n render=\"circle\"\n color={color}\n cx={data.x}\n cy={data.y}\n r={data.radius}\n use:duration={`${duration}ms`}\n />,\n );\n}\n\nfunction Intersection(props) {\n const { Element: SIntersection, styles, data } = props;\n const renderIntersection = React.useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"path\" visible {...props} />;\n }),\n [props],\n );\n return sstyled(styles)(\n <SIntersection render={renderIntersection} d={intersectionAreaPath(data)} />,\n );\n}\n\nconst Venn = createElement(VennRoot, { Circle, Intersection });\n\nexport default Venn;\n"],"file":"Venn.js"}
@@ -19,7 +19,8 @@ import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
19
19
  import hoistNonReactStatics from 'hoist-non-react-statics';
20
20
 
21
21
  function createElementRender() {
22
- var Element = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
22
+ var Element = React.forwardRef(function ( // eslint-disable-next-line @typescript-eslint/no-unused-vars
23
+ _ref, ref) {
23
24
  var render = _ref.render,
24
25
  tag = _ref.tag,
25
26
  _ref$childrenPosition = _ref.childrenPosition,
@@ -63,7 +64,7 @@ function createElementRender() {
63
64
  }
64
65
 
65
66
  if (!Tag) {
66
- throw new Error('В Element нужно передать render');
67
+ throw new Error('Element expected render prop to be passed');
67
68
  }
68
69
 
69
70
  return [/*#__PURE__*/React.createElement(React.Fragment, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/createElement.jsx"],"names":["React","useContext","createComponent","createBaseComponent","CONTEXT_COMPONENT","Plot","assignProps","useForkRef","propsForElement","getOriginChildren","hoistNonReactStatics","createElementRender","Element","forwardRef","ref","render","tag","childrenPosition","xS","x","yS","y","source","props","_children","children","Children","mergedProps","Tag","_child","undefined","Error","__excludeProps","elementEnhancement","init","asProps","WrapperComponent","isFunction","$rootProps","WrapComponent","ElementWithContext","displayName","createElement","ElementRoot","child","options","enhancements","Object","keys","forEach","n"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport createComponent, { createBaseComponent, CONTEXT_COMPONENT } from '@semcore/core';\nimport Plot from './Plot';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport { useForkRef } from '@semcore/utils/lib/ref';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\nfunction createElementRender() {\n const Element = React.forwardRef(function (\n { render, tag, childrenPosition = 'below', x: xS, y: yS, ...source },\n ref,\n ) {\n const {\n forwardRef = null,\n children: _children,\n Children,\n x = xS,\n y = yS,\n ...props\n } = Element.props;\n let children = getOriginChildren(Children);\n\n let mergedProps = assignProps(\n {\n x: xS,\n y: yS,\n ...props,\n ref: useForkRef(forwardRef, ref),\n },\n {\n x,\n y,\n ...source,\n },\n );\n\n const Tag = typeof render === 'string' ? mergedProps.tag || render : render;\n\n if (typeof children === 'function') {\n const _child = mergedProps.children;\n mergedProps = assignProps(children(mergedProps), mergedProps);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n if (childrenPosition === 'inside') {\n mergedProps.children = children === undefined ? mergedProps.children : children;\n }\n\n if (!Tag) {\n throw new Error('В Element нужно передать render');\n }\n return [\n <React.Fragment key=\"child-above\">\n {childrenPosition === 'above' ? children : null}\n </React.Fragment>,\n <Tag\n {...propsForElement(\n {\n __excludeProps: ['data', 'scale'],\n ...mergedProps,\n },\n Tag,\n )}\n key=\"element\"\n />,\n <React.Fragment key=\"child-below\">\n {childrenPosition === 'below' ? children : null}\n </React.Fragment>,\n ];\n });\n\n Element.props = {};\n return Element;\n}\n\nfunction elementEnhancement() {\n return {\n init: function () {\n this.Element = createElementRender();\n },\n asProps: function ({ $rootProps, ...props }, WrapperComponent, isFunction) {\n if (isFunction) {\n return {\n ...$rootProps,\n ...props,\n Element: this.Element,\n };\n }\n return {\n ...$rootProps,\n ...props,\n };\n },\n render: function (render, props) {\n this.Element.props = props;\n return render;\n },\n };\n}\n\nfunction WrapComponent(Element) {\n function ElementWithContext(props, ref) {\n const { $rootProps } = useContext(Plot[CONTEXT_COMPONENT]);\n return <Element ref={ref} $rootProps={$rootProps} {...props} />;\n }\n\n ElementWithContext.displayName = Element.displayName;\n\n const WrapperComponent = createBaseComponent(ElementWithContext);\n WrapperComponent.displayName = Element.displayName;\n\n return hoistNonReactStatics(WrapperComponent, Element);\n}\n\nfunction createElement(ElementRoot, child = {}, options = {}) {\n const Element = createComponent(ElementRoot, child, {\n ...options,\n enhancements: [elementEnhancement],\n });\n\n Object.keys(child).forEach((n) => {\n Element[n] = WrapComponent(Element[n]);\n });\n\n return WrapComponent(Element);\n}\n\nexport default createElement;\n"],"file":"createElement.js"}
1
+ {"version":3,"sources":["../../src/createElement.jsx"],"names":["React","useContext","createComponent","createBaseComponent","CONTEXT_COMPONENT","Plot","assignProps","useForkRef","propsForElement","getOriginChildren","hoistNonReactStatics","createElementRender","Element","forwardRef","ref","render","tag","childrenPosition","xS","x","yS","y","source","props","_children","children","Children","mergedProps","Tag","_child","undefined","Error","__excludeProps","elementEnhancement","init","asProps","WrapperComponent","isFunction","$rootProps","WrapComponent","ElementWithContext","displayName","createElement","ElementRoot","child","options","enhancements","Object","keys","forEach","n"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport createComponent, { createBaseComponent, CONTEXT_COMPONENT } from '@semcore/core';\nimport Plot from './Plot';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport { useForkRef } from '@semcore/utils/lib/ref';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\nfunction createElementRender() {\n const Element = React.forwardRef(function (\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n { render, tag, childrenPosition = 'below', x: xS, y: yS, ...source },\n ref,\n ) {\n const {\n forwardRef = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n children: _children,\n Children,\n x = xS,\n y = yS,\n ...props\n } = Element.props;\n let children = getOriginChildren(Children);\n\n let mergedProps = assignProps(\n {\n x: xS,\n y: yS,\n ...props,\n ref: useForkRef(forwardRef, ref),\n },\n {\n x,\n y,\n ...source,\n },\n );\n\n const Tag = typeof render === 'string' ? mergedProps.tag || render : render;\n\n if (typeof children === 'function') {\n const _child = mergedProps.children;\n mergedProps = assignProps(children(mergedProps), mergedProps);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n if (childrenPosition === 'inside') {\n mergedProps.children = children === undefined ? mergedProps.children : children;\n }\n\n if (!Tag) {\n throw new Error('Element expected render prop to be passed');\n }\n return [\n <React.Fragment key=\"child-above\">\n {childrenPosition === 'above' ? children : null}\n </React.Fragment>,\n <Tag\n {...propsForElement(\n {\n __excludeProps: ['data', 'scale'],\n ...mergedProps,\n },\n Tag,\n )}\n key=\"element\"\n />,\n <React.Fragment key=\"child-below\">\n {childrenPosition === 'below' ? children : null}\n </React.Fragment>,\n ];\n });\n\n Element.props = {};\n return Element;\n}\n\nfunction elementEnhancement() {\n return {\n init: function () {\n this.Element = createElementRender();\n },\n asProps: function ({ $rootProps, ...props }, WrapperComponent, isFunction) {\n if (isFunction) {\n return {\n ...$rootProps,\n ...props,\n Element: this.Element,\n };\n }\n return {\n ...$rootProps,\n ...props,\n };\n },\n render: function (render, props) {\n this.Element.props = props;\n return render;\n },\n };\n}\n\nfunction WrapComponent(Element) {\n function ElementWithContext(props, ref) {\n const { $rootProps } = useContext(Plot[CONTEXT_COMPONENT]);\n return <Element ref={ref} $rootProps={$rootProps} {...props} />;\n }\n\n ElementWithContext.displayName = Element.displayName;\n\n const WrapperComponent = createBaseComponent(ElementWithContext);\n WrapperComponent.displayName = Element.displayName;\n\n return hoistNonReactStatics(WrapperComponent, Element);\n}\n\nfunction createElement(ElementRoot, child = {}, options = {}) {\n const Element = createComponent(ElementRoot, child, {\n ...options,\n enhancements: [elementEnhancement],\n });\n\n Object.keys(child).forEach((n) => {\n Element[n] = WrapComponent(Element[n]);\n });\n\n return WrapComponent(Element);\n}\n\nexport default createElement;\n"],"file":"createElement.js"}
package/lib/es6/index.js CHANGED
@@ -9,6 +9,7 @@ export { default as Area } from './Area';
9
9
  export { default as StackedArea } from './StackedArea';
10
10
  export { default as ScatterPlot } from './ScatterPlot';
11
11
  export { default as Bubble } from './Bubble';
12
+ export { default as RadialTree } from './RadialTree';
12
13
  export { default as Donut } from './Donut';
13
14
  export { default as Venn } from './Venn';
14
15
  export { default as Tooltip } from './Tooltip';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.js"],"names":["default","Plot","XAxis","YAxis","Line","Bar","HorizontalBar","GroupBar","StackBar","Area","StackedArea","ScatterPlot","Bubble","Donut","Venn","Tooltip","ResponsiveContainer","HoverLine","HoverRect","minMax","colors"],"mappings":"AAAA,SAASA,OAAO,IAAIC,IAApB,QAAgC,QAAhC;AAEA,SAASC,KAAT,EAAgBC,KAAhB,QAA6B,QAA7B;AAEA,SAASH,OAAO,IAAII,IAApB,QAAgC,QAAhC;AAEA,SAASJ,OAAO,IAAIK,GAApB,QAA+B,OAA/B;AACA,SAASL,OAAO,IAAIM,aAApB,QAAyC,iBAAzC;AACA,SAASN,OAAO,IAAIO,QAApB,QAAoC,YAApC;AACA,SAASP,OAAO,IAAIQ,QAApB,QAAoC,YAApC;AACA,SAASR,OAAO,IAAIS,IAApB,QAAgC,QAAhC;AACA,SAAST,OAAO,IAAIU,WAApB,QAAuC,eAAvC;AACA,SAASV,OAAO,IAAIW,WAApB,QAAuC,eAAvC;AACA,SAASX,OAAO,IAAIY,MAApB,QAAkC,UAAlC;AACA,SAASZ,OAAO,IAAIa,KAApB,QAAiC,SAAjC;AACA,SAASb,OAAO,IAAIc,IAApB,QAAgC,QAAhC;AAEA,SAASd,OAAO,IAAIe,OAApB,QAAmC,WAAnC;AAEA,SAASf,OAAO,IAAIgB,mBAApB,QAA+C,uBAA/C;AAEA,SAASC,SAAT,EAAoBC,SAApB,QAAqC,SAArC;AAEA,SAASC,MAAT,QAAuB,SAAvB;AACA,SAASC,MAAT,QAAuB,SAAvB","sourcesContent":["export { default as Plot } from './Plot';\n\nexport { XAxis, YAxis } from './Axis';\n\nexport { default as Line } from './Line';\n\nexport { default as Bar } from './Bar';\nexport { default as HorizontalBar } from './HorizontalBar';\nexport { default as GroupBar } from './GroupBar';\nexport { default as StackBar } from './StackBar';\nexport { default as Area } from './Area';\nexport { default as StackedArea } from './StackedArea';\nexport { default as ScatterPlot } from './ScatterPlot';\nexport { default as Bubble } from './Bubble';\nexport { default as Donut } from './Donut';\nexport { default as Venn } from './Venn';\n\nexport { default as Tooltip } from './Tooltip';\n\nexport { default as ResponsiveContainer } from './ResponsiveContainer';\n\nexport { HoverLine, HoverRect } from './Hover';\n\nexport { minMax } from './utils';\nexport { colors } from './color';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.js"],"names":["default","Plot","XAxis","YAxis","Line","Bar","HorizontalBar","GroupBar","StackBar","Area","StackedArea","ScatterPlot","Bubble","RadialTree","Donut","Venn","Tooltip","ResponsiveContainer","HoverLine","HoverRect","minMax","colors"],"mappings":"AAAA,SAASA,OAAO,IAAIC,IAApB,QAAgC,QAAhC;AAEA,SAASC,KAAT,EAAgBC,KAAhB,QAA6B,QAA7B;AAEA,SAASH,OAAO,IAAII,IAApB,QAAgC,QAAhC;AAEA,SAASJ,OAAO,IAAIK,GAApB,QAA+B,OAA/B;AACA,SAASL,OAAO,IAAIM,aAApB,QAAyC,iBAAzC;AACA,SAASN,OAAO,IAAIO,QAApB,QAAoC,YAApC;AACA,SAASP,OAAO,IAAIQ,QAApB,QAAoC,YAApC;AACA,SAASR,OAAO,IAAIS,IAApB,QAAgC,QAAhC;AACA,SAAST,OAAO,IAAIU,WAApB,QAAuC,eAAvC;AACA,SAASV,OAAO,IAAIW,WAApB,QAAuC,eAAvC;AACA,SAASX,OAAO,IAAIY,MAApB,QAAkC,UAAlC;AACA,SAASZ,OAAO,IAAIa,UAApB,QAAsC,cAAtC;AACA,SAASb,OAAO,IAAIc,KAApB,QAAiC,SAAjC;AACA,SAASd,OAAO,IAAIe,IAApB,QAAgC,QAAhC;AAEA,SAASf,OAAO,IAAIgB,OAApB,QAAmC,WAAnC;AAEA,SAAShB,OAAO,IAAIiB,mBAApB,QAA+C,uBAA/C;AAEA,SAASC,SAAT,EAAoBC,SAApB,QAAqC,SAArC;AAEA,SAASC,MAAT,QAAuB,SAAvB;AACA,SAASC,MAAT,QAAuB,SAAvB","sourcesContent":["export { default as Plot } from './Plot';\n\nexport { XAxis, YAxis } from './Axis';\n\nexport { default as Line } from './Line';\n\nexport { default as Bar } from './Bar';\nexport { default as HorizontalBar } from './HorizontalBar';\nexport { default as GroupBar } from './GroupBar';\nexport { default as StackBar } from './StackBar';\nexport { default as Area } from './Area';\nexport { default as StackedArea } from './StackedArea';\nexport { default as ScatterPlot } from './ScatterPlot';\nexport { default as Bubble } from './Bubble';\nexport { default as RadialTree } from './RadialTree';\nexport { default as Donut } from './Donut';\nexport { default as Venn } from './Venn';\n\nexport { default as Tooltip } from './Tooltip';\n\nexport { default as ResponsiveContainer } from './ResponsiveContainer';\n\nexport { HoverLine, HoverRect } from './Hover';\n\nexport { minMax } from './utils';\nexport { colors } from './color';\n"],"file":"index.js"}
@@ -0,0 +1,6 @@
1
+ @import '@semcore/utils/style/var.css';
2
+ @import '@semcore/d3-chart/src/style/var.css';
3
+
4
+ SPlot {
5
+ overflow: hidden;
6
+ }
@@ -0,0 +1,23 @@
1
+ @import '@semcore/utils/style/var.css';
2
+ @import '@semcore/d3-chart/src/style/var.css';
3
+
4
+ SRadian {
5
+ cursor: pointer;
6
+ }
7
+ SCap {
8
+ transition: r 0.1s;
9
+ }
10
+ SLabel {
11
+ fill: var(--color);
12
+ cursor: var(--text-cursor);
13
+ transform-origin: var(--transform-origin);
14
+ }
15
+ SRadian:hover SLabel {
16
+ fill: var(--color-hovered);
17
+ }
18
+
19
+ @media (prefers-reduced-motion) {
20
+ SLineCap {
21
+ transition: none;
22
+ }
23
+ }
@@ -0,0 +1,47 @@
1
+ import { CProps, ReturnEl } from '@semcore/core';
2
+ import IContext from './context';
3
+ import { CurveFactory } from 'd3-shape';
4
+
5
+ export interface IAreaProps extends IContext {
6
+ /** Field from data for XAxis */
7
+ x?: string;
8
+ /** Field from data for YAxis*/
9
+ y?: string;
10
+ /** Line color
11
+ * @default '#50aef4'*/
12
+ color?: string;
13
+ /** Element hide property */
14
+ hide?: boolean;
15
+ /** Curve method */
16
+ curve?: CurveFactory;
17
+ /** Animation duration in ms
18
+ * @default 500
19
+ */
20
+ duration?: number;
21
+ }
22
+
23
+ export interface IAreaDotsProps extends IContext {
24
+ /** Show all Dot */
25
+ display?: boolean;
26
+ /** Hide property */
27
+ hide?: boolean;
28
+ }
29
+
30
+ export interface IAreaDotsContext {
31
+ /** Value element of data */
32
+ value?: any;
33
+ /** Index element of data */
34
+ index?: number;
35
+ }
36
+
37
+ export interface IAreaNullProps extends IContext {
38
+ /** Hide property */
39
+ hide?: boolean;
40
+ }
41
+
42
+ declare const Area: (<T>(props: CProps<IAreaProps & T>) => ReturnEl) & {
43
+ Dots: <T>(props: CProps<IAreaDotsProps & T, IAreaDotsContext>) => ReturnEl;
44
+ Null: <T>(props: CProps<IAreaNullProps & T>) => ReturnEl;
45
+ };
46
+
47
+ export default Area;