@semcore/d3-chart 2.1.0 → 2.2.2

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 (114) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +113 -0
  3. package/lib/cjs/Area.js +79 -38
  4. package/lib/cjs/Area.js.map +1 -1
  5. package/lib/cjs/Axis.js +14 -14
  6. package/lib/cjs/Bar.js +14 -12
  7. package/lib/cjs/Bar.js.map +1 -1
  8. package/lib/cjs/Bubble.js +11 -10
  9. package/lib/cjs/Bubble.js.map +1 -1
  10. package/lib/cjs/Donut.js +127 -51
  11. package/lib/cjs/Donut.js.map +1 -1
  12. package/lib/cjs/Dots.js +24 -25
  13. package/lib/cjs/Dots.js.map +1 -1
  14. package/lib/cjs/GroupBar.js +7 -7
  15. package/lib/cjs/GroupBar.js.map +1 -1
  16. package/lib/cjs/HorizontalBar.js +8 -8
  17. package/lib/cjs/Hover.js +4 -4
  18. package/lib/cjs/Line.js +12 -10
  19. package/lib/cjs/Line.js.map +1 -1
  20. package/lib/cjs/Plot.js +3 -3
  21. package/lib/cjs/RadialTree.js +12 -12
  22. package/lib/cjs/ReferenceLine.js +258 -0
  23. package/lib/cjs/ReferenceLine.js.map +1 -0
  24. package/lib/cjs/ResponsiveContainer.js +1 -1
  25. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  26. package/lib/cjs/ScatterPlot.js +8 -7
  27. package/lib/cjs/ScatterPlot.js.map +1 -1
  28. package/lib/cjs/StackBar.js +6 -6
  29. package/lib/cjs/StackedArea.js +7 -7
  30. package/lib/cjs/Tooltip.js +11 -10
  31. package/lib/cjs/Tooltip.js.map +1 -1
  32. package/lib/cjs/Venn.js +7 -7
  33. package/lib/cjs/createElement.js +6 -4
  34. package/lib/cjs/createElement.js.map +1 -1
  35. package/lib/cjs/index.js +8 -0
  36. package/lib/cjs/index.js.map +1 -1
  37. package/lib/cjs/style/dot.shadow.css +10 -5
  38. package/lib/cjs/style/reference-line.shadow.css +37 -0
  39. package/lib/cjs/types/Area.d.ts +1 -0
  40. package/lib/cjs/types/Bar.d.ts +4 -0
  41. package/lib/cjs/types/Bubble.d.ts +6 -1
  42. package/lib/cjs/types/Donut.d.ts +4 -0
  43. package/lib/cjs/types/ReferenceLine.d.ts +31 -0
  44. package/lib/cjs/types/index.d.ts +3 -0
  45. package/lib/es6/Area.js +77 -36
  46. package/lib/es6/Area.js.map +1 -1
  47. package/lib/es6/Axis.js +14 -14
  48. package/lib/es6/Bar.js +14 -12
  49. package/lib/es6/Bar.js.map +1 -1
  50. package/lib/es6/Bubble.js +11 -10
  51. package/lib/es6/Bubble.js.map +1 -1
  52. package/lib/es6/Donut.js +121 -51
  53. package/lib/es6/Donut.js.map +1 -1
  54. package/lib/es6/Dots.js +24 -23
  55. package/lib/es6/Dots.js.map +1 -1
  56. package/lib/es6/GroupBar.js +7 -7
  57. package/lib/es6/GroupBar.js.map +1 -1
  58. package/lib/es6/HorizontalBar.js +8 -8
  59. package/lib/es6/Hover.js +4 -4
  60. package/lib/es6/Line.js +12 -10
  61. package/lib/es6/Line.js.map +1 -1
  62. package/lib/es6/Plot.js +3 -3
  63. package/lib/es6/RadialTree.js +12 -12
  64. package/lib/es6/ReferenceLine.js +244 -0
  65. package/lib/es6/ReferenceLine.js.map +1 -0
  66. package/lib/es6/ResponsiveContainer.js +1 -1
  67. package/lib/es6/ResponsiveContainer.js.map +1 -1
  68. package/lib/es6/ScatterPlot.js +8 -7
  69. package/lib/es6/ScatterPlot.js.map +1 -1
  70. package/lib/es6/StackBar.js +6 -6
  71. package/lib/es6/StackedArea.js +7 -7
  72. package/lib/es6/Tooltip.js +11 -10
  73. package/lib/es6/Tooltip.js.map +1 -1
  74. package/lib/es6/Venn.js +7 -7
  75. package/lib/es6/createElement.js +5 -4
  76. package/lib/es6/createElement.js.map +1 -1
  77. package/lib/es6/index.js +1 -0
  78. package/lib/es6/index.js.map +1 -1
  79. package/lib/es6/style/dot.shadow.css +10 -5
  80. package/lib/es6/style/reference-line.shadow.css +37 -0
  81. package/lib/es6/types/Area.d.ts +1 -0
  82. package/lib/es6/types/Bar.d.ts +4 -0
  83. package/lib/es6/types/Bubble.d.ts +6 -1
  84. package/lib/es6/types/Donut.d.ts +4 -0
  85. package/lib/es6/types/ReferenceLine.d.ts +31 -0
  86. package/lib/es6/types/index.d.ts +3 -0
  87. package/lib/types/Area.d.ts +1 -0
  88. package/lib/types/Bar.d.ts +4 -0
  89. package/lib/types/Bubble.d.ts +6 -1
  90. package/lib/types/Donut.d.ts +4 -0
  91. package/lib/types/ReferenceLine.d.ts +31 -0
  92. package/lib/types/index.d.ts +3 -0
  93. package/package.json +12 -12
  94. package/src/Area.jsx +41 -8
  95. package/src/Bar.jsx +6 -5
  96. package/src/Bubble.jsx +1 -0
  97. package/src/Donut.jsx +96 -29
  98. package/src/Dots.jsx +11 -14
  99. package/src/GroupBar.jsx +1 -1
  100. package/src/Line.jsx +2 -1
  101. package/src/ReferenceLine.jsx +146 -0
  102. package/src/ResponsiveContainer.jsx +1 -1
  103. package/src/ScatterPlot.jsx +1 -0
  104. package/src/Tooltip.jsx +2 -3
  105. package/src/createElement.jsx +6 -4
  106. package/src/index.js +1 -0
  107. package/src/style/dot.shadow.css +10 -5
  108. package/src/style/reference-line.shadow.css +37 -0
  109. package/src/types/Area.d.ts +1 -0
  110. package/src/types/Bar.d.ts +4 -0
  111. package/src/types/Bubble.d.ts +6 -1
  112. package/src/types/Donut.d.ts +4 -0
  113. package/src/types/ReferenceLine.d.ts +31 -0
  114. package/src/types/index.d.ts +3 -0
@@ -60,17 +60,17 @@ var style = (
60
60
  /*__reshadow_css_start__*/
61
61
  _core.sstyled.insert(
62
62
  /*__inner_css_start__*/
63
- ".___STooltip_su7qo_gg_{font-size:12px;line-height:1.33;position:relative;background-color:#fff;border-radius:6px;border:1px solid #e0e1e9;box-sizing:border-box;box-shadow:0px 1px 12px 0px rgba(25, 27, 35, 0.15);padding:12px}.___STitle_su7qo_gg_{color:#6c6e79;margin-bottom:8px}.___SDotGroup_su7qo_gg_{display:flex;align-items:center}.___SDot_su7qo_gg_{width:8px;height:8px;border-radius:50%;margin-right:8px;background:#2bb3ff}.___SDot_su7qo_gg_.__color_su7qo_gg_{background:var(--color_1rhpqds)}"
63
+ ".___STooltip_t6ieo_gg_{font-size:12px;line-height:1.33;position:relative;background-color:#fff;border-radius:6px;border:1px solid #e0e1e9;box-sizing:border-box;box-shadow:0px 1px 12px 0px rgba(25, 27, 35, 0.15);padding:12px}.___STitle_t6ieo_gg_{color:#6c6e79;margin-bottom:8px}.___SDotGroup_t6ieo_gg_{display:flex;align-items:center}.___SDot_t6ieo_gg_{width:8px;height:8px;border-radius:50%;margin-right:8px;background:#2bb3ff}.___SDot_t6ieo_gg_.__color_t6ieo_gg_{background:var(--color_t6ieo)}"
64
64
  /*__inner_css_end__*/
65
- , "1rhpqds_gg_")
65
+ , "t6ieo_gg_")
66
66
  /*__reshadow_css_end__*/
67
67
  , {
68
- "__STooltip": "___STooltip_su7qo_gg_",
69
- "__STitle": "___STitle_su7qo_gg_",
70
- "__SDotGroup": "___SDotGroup_su7qo_gg_",
71
- "__SDot": "___SDot_su7qo_gg_",
72
- "_color": "__color_su7qo_gg_",
73
- "--color": "--color_1rhpqds"
68
+ "__STooltip": "___STooltip_t6ieo_gg_",
69
+ "__STitle": "___STitle_t6ieo_gg_",
70
+ "__SDotGroup": "___SDotGroup_t6ieo_gg_",
71
+ "__SDot": "___SDot_t6ieo_gg_",
72
+ "_color": "__color_t6ieo_gg_",
73
+ "--color": "--color_t6ieo"
74
74
  });
75
75
 
76
76
  var TooltipRoot = /*#__PURE__*/function (_Component) {
@@ -220,8 +220,9 @@ function Dot(props) {
220
220
  Children = props.Children;
221
221
  var SDotGroup = _flexBox.Box;
222
222
  var SDot = _flexBox.Box;
223
- return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDotGroup, _ref6.cn("SDotGroup", _objectSpread({}, (0, _core.assignProps)({}, _ref3))), /*#__PURE__*/_react["default"].createElement(SDot, _ref6.cn("SDot", {
224
- "__excludeProps": ['data', 'scale'],
223
+ return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDotGroup, _ref6.cn("SDotGroup", _objectSpread({}, (0, _core.assignProps)({
224
+ "__excludeProps": ['data', 'scale']
225
+ }, _ref3))), /*#__PURE__*/_react["default"].createElement(SDot, _ref6.cn("SDot", {
225
226
  "color": (0, _color["default"])(color)
226
227
  })), /*#__PURE__*/_react["default"].createElement(Children, _ref6.cn("Children", {})));
227
228
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tooltip.jsx"],"names":["TooltipRoot","$visible","asProps","x","y","state","eventEmitter","rootRef","unsubscribeTooltipVisible","subscribe","visible","data","node","setState","CONSTANT","VIRTUAL_ELEMENT","current","contains","setPopperTrigger","popper","update","Children","children","tag","other","advanceMode","Tooltip","Trigger","displayName","Popper","handlerCancel","allowedAutoPlacements","setTrigger","Component","style","PopperPopper","props","STooltip","Element","styles","Title","STitle","Box","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":["TooltipRoot","$visible","asProps","x","y","state","eventEmitter","rootRef","unsubscribeTooltipVisible","subscribe","visible","data","node","setState","CONSTANT","VIRTUAL_ELEMENT","current","contains","setPopperTrigger","popper","update","Children","children","tag","other","advanceMode","Tooltip","Trigger","displayName","Popper","handlerCancel","allowedAutoPlacements","setTrigger","Component","style","PopperPopper","props","STooltip","Element","styles","Title","STitle","Box","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 ...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} __excludeProps={['data', 'scale']}>\n <SDot 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/cjs/Venn.js CHANGED
@@ -48,16 +48,16 @@ var style = (
48
48
  /*__reshadow_css_start__*/
49
49
  _core.sstyled.insert(
50
50
  /*__inner_css_start__*/
51
- ".___SCircle_1evfu_gg_{fill:#59ddaa;stroke:#fff;stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_1y13fr0);transition-timing-function:ease-in-out}.___SCircle_1evfu_gg_:hover{fill-opacity:.7}.___SCircle_1evfu_gg_.__color_1evfu_gg_{fill:var(--color_1y13fr0)}.___SIntersection_1evfu_gg_{stroke:#fff;stroke-width:2px;fill-opacity:0}.___SIntersection_1evfu_gg_:hover{fill-opacity:.1}"
51
+ ".___SCircle_1xxbc_gg_{fill:#59ddaa;stroke:#fff;stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_1xxbc);transition-timing-function:ease-in-out}.___SCircle_1xxbc_gg_:hover{fill-opacity:.7}.___SCircle_1xxbc_gg_.__color_1xxbc_gg_{fill:var(--color_1xxbc)}.___SIntersection_1xxbc_gg_{stroke:#fff;stroke-width:2px;fill-opacity:0}.___SIntersection_1xxbc_gg_:hover{fill-opacity:.1}"
52
52
  /*__inner_css_end__*/
53
- , "1y13fr0_gg_")
53
+ , "1xxbc_gg_")
54
54
  /*__reshadow_css_end__*/
55
55
  , {
56
- "__SCircle": "___SCircle_1evfu_gg_",
57
- "--duration": "--duration_1y13fr0",
58
- "_color": "__color_1evfu_gg_",
59
- "--color": "--color_1y13fr0",
60
- "__SIntersection": "___SIntersection_1evfu_gg_"
56
+ "__SCircle": "___SCircle_1xxbc_gg_",
57
+ "--duration": "--duration_1xxbc",
58
+ "_color": "__color_1xxbc_gg_",
59
+ "--color": "--color_1xxbc",
60
+ "__SIntersection": "___SIntersection_1xxbc_gg_"
61
61
  });
62
62
 
63
63
  var VennRoot = /*#__PURE__*/function (_Component) {
@@ -31,7 +31,7 @@ var _getOriginChildren = _interopRequireDefault(require("@semcore/utils/lib/getO
31
31
 
32
32
  var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
33
33
 
34
- var _excluded = ["render", "tag", "childrenPosition", "x", "y"],
34
+ var _excluded = ["render", "childrenPosition", "x", "y"],
35
35
  _excluded2 = ["forwardRef", "children", "Children", "x", "y"],
36
36
  _excluded3 = ["$rootProps"];
37
37
 
@@ -43,11 +43,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
43
43
 
44
44
  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) { (0, _defineProperty2["default"])(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; }
45
45
 
46
+ var EXCLUDE_PROPS = ['data', 'scale'];
47
+
46
48
  function createElementRender() {
47
49
  var Element = _react["default"].forwardRef(function ( // eslint-disable-next-line @typescript-eslint/no-unused-vars
48
50
  _ref, ref) {
49
51
  var render = _ref.render,
50
- tag = _ref.tag,
51
52
  _ref$childrenPosition = _ref.childrenPosition,
52
53
  childrenPosition = _ref$childrenPosition === void 0 ? 'below' : _ref$childrenPosition,
53
54
  xS = _ref.x,
@@ -73,7 +74,6 @@ function createElementRender() {
73
74
  x: x,
74
75
  y: y
75
76
  }, source));
76
- var Tag = typeof render === 'string' ? mergedProps.tag || render : render;
77
77
 
78
78
  if (typeof children === 'function') {
79
79
  var _child = mergedProps.children;
@@ -82,6 +82,8 @@ function createElementRender() {
82
82
  mergedProps.children = _child;
83
83
  }
84
84
 
85
+ var Tag = typeof render === 'string' ? mergedProps.tag || render : render;
86
+
85
87
  if (childrenPosition === 'inside') {
86
88
  mergedProps.children = children === undefined ? mergedProps.children : children;
87
89
  }
@@ -93,7 +95,7 @@ function createElementRender() {
93
95
  return [/*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
94
96
  key: "child-above"
95
97
  }, childrenPosition === 'above' ? children : null), /*#__PURE__*/_react["default"].createElement(Tag, (0, _extends2["default"])({}, (0, _propsForElement["default"])(_objectSpread({
96
- __excludeProps: ['data', 'scale']
98
+ __excludeProps: EXCLUDE_PROPS
97
99
  }, mergedProps), Tag), {
98
100
  key: "element"
99
101
  })), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/createElement.jsx"],"names":["createElementRender","Element","React","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","Plot","CONTEXT_COMPONENT","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"}
1
+ {"version":3,"sources":["../../src/createElement.jsx"],"names":["EXCLUDE_PROPS","createElementRender","Element","React","forwardRef","ref","render","childrenPosition","xS","x","yS","y","source","props","_children","children","Children","mergedProps","_child","Tag","tag","undefined","Error","__excludeProps","elementEnhancement","init","asProps","WrapperComponent","isFunction","$rootProps","WrapComponent","ElementWithContext","Plot","CONTEXT_COMPONENT","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\nconst EXCLUDE_PROPS = ['data', 'scale'];\n\nfunction createElementRender() {\n const Element = React.forwardRef(function (\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n { render, 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 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 const Tag = typeof render === 'string' ? mergedProps.tag || render : render;\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: EXCLUDE_PROPS,\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/cjs/index.js CHANGED
@@ -71,6 +71,12 @@ Object.defineProperty(exports, "RadialTree", {
71
71
  return _RadialTree["default"];
72
72
  }
73
73
  });
74
+ Object.defineProperty(exports, "ReferenceLine", {
75
+ enumerable: true,
76
+ get: function get() {
77
+ return _ReferenceLine["default"];
78
+ }
79
+ });
74
80
  Object.defineProperty(exports, "ResponsiveContainer", {
75
81
  enumerable: true,
76
82
  get: function get() {
@@ -164,6 +170,8 @@ var _Tooltip = _interopRequireDefault(require("./Tooltip"));
164
170
 
165
171
  var _ResponsiveContainer = _interopRequireDefault(require("./ResponsiveContainer"));
166
172
 
173
+ var _ReferenceLine = _interopRequireDefault(require("./ReferenceLine"));
174
+
167
175
  var _Hover = require("./Hover");
168
176
 
169
177
  var _utils = require("./utils");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA","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"}
1
+ {"version":3,"sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AAEA;;AAEA;;AACA","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';\nexport { default as ReferenceLine } from './ReferenceLine';\n\nexport { HoverLine, HoverRect } from './Hover';\n\nexport { minMax } from './utils';\nexport { colors } from './color';\n"],"file":"index.js"}
@@ -1,20 +1,21 @@
1
1
  @import '@semcore/utils/style/var.css';
2
2
  @import '@semcore/d3-chart/src/style/var.css';
3
3
 
4
+ SDots {
5
+ & SDot {
6
+ transition-duration: var(--duration);
7
+ }
8
+ }
9
+
4
10
  SDot {
5
11
  stroke-width: 2px;
6
12
  stroke: #fff;
7
13
  r: 6px;
8
14
  fill: var(--blue-03);
9
15
  transition-property: cx, cy;
10
- transition-duration: var(--duration);
11
16
  transition-timing-function: ease-in-out;
12
17
  }
13
18
 
14
- SDot[color] {
15
- fill: var(--color);
16
- }
17
-
18
19
  SDot[hide] {
19
20
  display: none;
20
21
  }
@@ -22,3 +23,7 @@ SDot[hide] {
22
23
  SDot[active] {
23
24
  r: 8px;
24
25
  }
26
+
27
+ SDot[color] {
28
+ fill: var(--color);
29
+ }
@@ -0,0 +1,37 @@
1
+ @import '@semcore/utils/style/var.css';
2
+
3
+ SReferenceLine {
4
+ fill: none;
5
+ stroke: var(--gray-300);
6
+ }
7
+
8
+ STitle {
9
+ font-size: var(--fs-100);
10
+ fill: var(--gray-500);
11
+ transform-origin: var(--transform-origin);
12
+ }
13
+
14
+ STitle[position='top'] {
15
+ text-anchor: middle;
16
+ }
17
+
18
+ STitle[position='bottom'] {
19
+ text-anchor: middle;
20
+ alignment-baseline: hanging;
21
+ }
22
+
23
+ STitle[position='right'] {
24
+ transform: rotate(-90deg);
25
+ alignment-baseline: middle;
26
+ text-anchor: middle;
27
+ }
28
+
29
+ STitle[position='left'] {
30
+ transform: rotate(-90deg);
31
+ text-anchor: middle;
32
+ alignment-baseline: middle;
33
+ }
34
+
35
+ SBackground {
36
+ fill: color-mod(var(--gray-200) a(20%));
37
+ }
@@ -42,6 +42,7 @@ export interface IAreaNullProps extends IContext {
42
42
  declare const Area: (<T>(props: CProps<IAreaProps & T>) => ReturnEl) & {
43
43
  Dots: <T>(props: CProps<IAreaDotsProps & T, IAreaDotsContext>) => ReturnEl;
44
44
  Null: <T>(props: CProps<IAreaNullProps & T>) => ReturnEl;
45
+ Line: <T>(props: CProps<IContext & T>) => ReturnEl;
45
46
  };
46
47
 
47
48
  export default Area;
@@ -19,6 +19,10 @@ export interface IBarProps extends IContext {
19
19
  * @default 2
20
20
  */
21
21
  r?: number | number[];
22
+ /** Minimal height
23
+ * @default 4
24
+ */
25
+ hMin?: number;
22
26
  }
23
27
 
24
28
  export interface IBarContext {
@@ -22,6 +22,11 @@ export interface IBubbleProps extends IContext {
22
22
  duration?: number;
23
23
  }
24
24
 
25
- declare const Bubble: <T>(props: CProps<IBubbleProps & T>) => ReturnEl;
25
+ export interface IBubbleContext {
26
+ /** Index element of data */
27
+ index: number;
28
+ }
29
+
30
+ declare const Bubble: <T>(props: CProps<IBubbleProps & T, IBubbleContext>) => ReturnEl;
26
31
 
27
32
  export default Bubble;
@@ -27,6 +27,10 @@ export interface IPieProps extends IContext {
27
27
  @default #50aef4
28
28
  **/
29
29
  color?: string;
30
+ /**
31
+ * Active sector
32
+ * */
33
+ active?: boolean;
30
34
  }
31
35
 
32
36
  export interface IEmptyDataProps extends IContext {}
@@ -0,0 +1,31 @@
1
+ import { CProps, ReturnEl } from '@semcore/core';
2
+ import IContext from './context';
3
+
4
+ export interface IReferenceLineProps extends IContext {
5
+ /** The position of the title relative reference line
6
+ * @default 'left' */
7
+ position?: 'top' | 'right' | 'bottom' | 'left';
8
+ /** Value element of data */
9
+ value: any;
10
+ }
11
+
12
+ export interface IReferenceLineTitleProps extends IContext {
13
+ /** The position of the axis relative reference line */
14
+ position?: 'top' | 'right' | 'bottom' | 'left';
15
+ /** Value element of data */
16
+ value: any;
17
+ }
18
+
19
+ export interface IReferenceLineBackgroundProps extends IContext {
20
+ /** The position of the axis relative reference line */
21
+ position?: 'top' | 'right' | 'bottom' | 'left';
22
+ /** Value element of data */
23
+ value: any;
24
+ }
25
+
26
+ declare const ReferenceLine: (<T>(props: CProps<IReferenceLineProps & T>) => ReturnEl) & {
27
+ Title: <T>(props: CProps<IReferenceLineTitleProps & T>) => ReturnEl;
28
+ Background: <T>(props: CProps<IReferenceLineBackgroundProps & T>) => ReturnEl;
29
+ };
30
+
31
+ export default ReferenceLine;
@@ -51,3 +51,6 @@ export * from './ScatterPlot';
51
51
 
52
52
  export { default as Bubble } from './Bubble';
53
53
  export * from './Bubble';
54
+
55
+ export { default as ReferenceLine } from './ReferenceLine';
56
+ export * from './ReferenceLine';
package/lib/es6/Area.js CHANGED
@@ -19,24 +19,25 @@ import createElement from './createElement';
19
19
  import { definedData, scaleOfBandwidth, getNullData, definedNullData } from './utils';
20
20
  import ClipPath from './ClipPath';
21
21
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
22
+ import findComponent from '@semcore/utils/lib/findComponent';
22
23
 
23
24
  /*__reshadow-styles__:"./style/area.shadow.css"*/
24
25
  var style = (
25
26
  /*__reshadow_css_start__*/
26
27
  _sstyled.insert(
27
28
  /*__inner_css_start__*/
28
- ".___SArea_1iyoe_gg_{fill:#2bb3ff;fill-opacity:.2}.___SArea_1iyoe_gg_.__color_1iyoe_gg_{fill:var(--color_14tehk4)}.___SAreaLine_1iyoe_gg_{stroke:#2bb3ff;stroke-width:3;fill:transparent}.___SAreaLine_1iyoe_gg_.__color_1iyoe_gg_{stroke:var(--color_14tehk4)}.___SArea_1iyoe_gg_,.___SAreaLine_1iyoe_gg_{transition-property:d;transition-duration:var(--duration_14tehk4);transition-timing-function:ease-in-out}.___SNull_1iyoe_gg_{fill:transparent;stroke:#8a8e9b;stroke-dasharray:4}.___SNull_1iyoe_gg_.__hide_1iyoe_gg_{display:none}"
29
+ ".___SArea_1s63b_gg_{fill:#2bb3ff;fill-opacity:.2}.___SArea_1s63b_gg_.__color_1s63b_gg_{fill:var(--color_1s63b)}.___SAreaLine_1s63b_gg_{stroke:#2bb3ff;stroke-width:3;fill:transparent}.___SAreaLine_1s63b_gg_.__color_1s63b_gg_{stroke:var(--color_1s63b)}.___SArea_1s63b_gg_,.___SAreaLine_1s63b_gg_{transition-property:d;transition-duration:var(--duration_1s63b);transition-timing-function:ease-in-out}.___SNull_1s63b_gg_{fill:transparent;stroke:#8a8e9b;stroke-dasharray:4}.___SNull_1s63b_gg_.__hide_1s63b_gg_{display:none}"
29
30
  /*__inner_css_end__*/
30
- , "14tehk4_gg_")
31
+ , "1s63b_gg_")
31
32
  /*__reshadow_css_end__*/
32
33
  , {
33
- "__SArea": "___SArea_1iyoe_gg_",
34
- "_color": "__color_1iyoe_gg_",
35
- "--color": "--color_14tehk4",
36
- "__SAreaLine": "___SAreaLine_1iyoe_gg_",
37
- "--duration": "--duration_14tehk4",
38
- "__SNull": "___SNull_1iyoe_gg_",
39
- "_hide": "__hide_1iyoe_gg_"
34
+ "__SArea": "___SArea_1s63b_gg_",
35
+ "_color": "__color_1s63b_gg_",
36
+ "--color": "--color_1s63b",
37
+ "__SAreaLine": "___SAreaLine_1s63b_gg_",
38
+ "--duration": "--duration_1s63b",
39
+ "__SNull": "___SNull_1s63b_gg_",
40
+ "_hide": "__hide_1s63b_gg_"
40
41
  });
41
42
 
42
43
  var AreaRoot = /*#__PURE__*/function (_Component) {
@@ -82,6 +83,23 @@ var AreaRoot = /*#__PURE__*/function (_Component) {
82
83
  color: color
83
84
  };
84
85
  }
86
+ }, {
87
+ key: "getLineProps",
88
+ value: function getLineProps() {
89
+ var _this$asProps3 = this.asProps,
90
+ duration = _this$asProps3.duration,
91
+ color = _this$asProps3.color,
92
+ data = _this$asProps3.data,
93
+ d3Line = _this$asProps3.d3Line,
94
+ uid = _this$asProps3.uid;
95
+ return {
96
+ uid: uid,
97
+ data: data,
98
+ d3: d3Line,
99
+ color: color,
100
+ duration: duration
101
+ };
102
+ }
85
103
  }, {
86
104
  key: "render",
87
105
  value: function render() {
@@ -89,17 +107,19 @@ var AreaRoot = /*#__PURE__*/function (_Component) {
89
107
 
90
108
  var SArea = this.Element;
91
109
  var SAreaLine = 'path';
92
- var _this$asProps3 = this.asProps,
93
- styles = _this$asProps3.styles,
94
- hide = _this$asProps3.hide,
95
- d3 = _this$asProps3.d3,
96
- d3Line = _this$asProps3.d3Line,
97
- data = _this$asProps3.data,
98
- color = _this$asProps3.color,
99
- uid = _this$asProps3.uid,
100
- size = _this$asProps3.size,
101
- duration = _this$asProps3.duration;
102
- return _ref = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SAreaLine, _ref.cn("SAreaLine", {
110
+ var _this$asProps4 = this.asProps,
111
+ styles = _this$asProps4.styles,
112
+ hide = _this$asProps4.hide,
113
+ d3 = _this$asProps4.d3,
114
+ d3Line = _this$asProps4.d3Line,
115
+ data = _this$asProps4.data,
116
+ color = _this$asProps4.color,
117
+ uid = _this$asProps4.uid,
118
+ size = _this$asProps4.size,
119
+ duration = _this$asProps4.duration,
120
+ Children = _this$asProps4.Children;
121
+ var advanceMode = !!findComponent(Children, [Area.Line.displayName]);
122
+ return _ref = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, !advanceMode && /*#__PURE__*/React.createElement(SAreaLine, _ref.cn("SAreaLine", {
103
123
  "clipPath": "url(#".concat(uid, ")"),
104
124
  "d": d3Line(data),
105
125
  "color": color,
@@ -134,19 +154,19 @@ _defineProperty(AreaRoot, "style", style);
134
154
 
135
155
  _defineProperty(AreaRoot, "enhance", [uniqueIDEnhancement()]);
136
156
 
137
- _defineProperty(AreaRoot, "defaultProps", function (_ref3) {
138
- var x = _ref3.x,
139
- y = _ref3.y,
140
- y0 = _ref3.y0,
141
- $rootProps = _ref3.$rootProps,
142
- _ref3$curve = _ref3.curve,
143
- curve = _ref3$curve === void 0 ? curveLinear : _ref3$curve,
144
- scale = _ref3.scale;
157
+ _defineProperty(AreaRoot, "defaultProps", function (_ref4) {
158
+ var x = _ref4.x,
159
+ y = _ref4.y,
160
+ y0 = _ref4.y0,
161
+ $rootProps = _ref4.$rootProps,
162
+ _ref4$curve = _ref4.curve,
163
+ curve = _ref4$curve === void 0 ? curveLinear : _ref4$curve,
164
+ scale = _ref4.scale;
145
165
 
146
- var _ref4 = scale || $rootProps.scale,
147
- _ref5 = _slicedToArray(_ref4, 2),
148
- xScale = _ref5[0],
149
- yScale = _ref5[1];
166
+ var _ref5 = scale || $rootProps.scale,
167
+ _ref6 = _slicedToArray(_ref5, 2),
168
+ xScale = _ref6[0],
169
+ yScale = _ref6[1];
150
170
 
151
171
  var yRange = yScale.range();
152
172
  return {
@@ -166,16 +186,35 @@ _defineProperty(AreaRoot, "defaultProps", function (_ref3) {
166
186
  };
167
187
  });
168
188
 
169
- function Null(props) {
189
+ function Line(props) {
170
190
  var _ref2;
171
191
 
192
+ var SAreaLine = props.Element,
193
+ styles = props.styles,
194
+ d3 = props.d3,
195
+ data = props.data,
196
+ color = props.color,
197
+ duration = props.duration,
198
+ uid = props.uid;
199
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SAreaLine, _ref2.cn("SAreaLine", {
200
+ "render": "path",
201
+ "clipPath": "url(#".concat(uid, ")"),
202
+ "d": d3(data),
203
+ "color": color,
204
+ "use:duration": "".concat(duration, "ms")
205
+ }));
206
+ }
207
+
208
+ function Null(props) {
209
+ var _ref3;
210
+
172
211
  var SNull = props.Element,
173
212
  styles = props.styles,
174
213
  d3 = props.d3,
175
214
  data = props.data,
176
215
  hide = props.hide,
177
216
  color = props.color;
178
- return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SNull, _ref2.cn("SNull", {
217
+ return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SNull, _ref3.cn("SNull", {
179
218
  "render": "path",
180
219
  "d": d3(data),
181
220
  "hide": hide,
@@ -183,8 +222,10 @@ function Null(props) {
183
222
  }));
184
223
  }
185
224
 
186
- export default createElement(AreaRoot, {
225
+ var Area = createElement(AreaRoot, {
187
226
  Dots: Dots,
188
- Null: Null
227
+ Null: Null,
228
+ Line: Line
189
229
  });
230
+ export default Area;
190
231
  //# sourceMappingURL=Area.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Area.jsx"],"names":["React","area","curveLinear","line","Dots","Component","sstyled","createElement","definedData","scaleOfBandwidth","getNullData","definedNullData","ClipPath","uniqueIDEnhancement","AreaRoot","asProps","x","y","color","data","d3Line","d3","SArea","Element","SAreaLine","styles","hide","uid","size","duration","rect","setAttribute","style","y0","$rootProps","curve","scale","xScale","yScale","yRange","range","defined","p","y1","Null","props","SNull"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { area, curveLinear, line } from 'd3-shape';\nimport Dots from './Dots';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { definedData, scaleOfBandwidth, getNullData, definedNullData } from './utils';\nimport ClipPath from './ClipPath';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/area.shadow.css';\n\nclass AreaRoot extends Component {\n static displayName = 'Area';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, y0, $rootProps, curve = curveLinear, scale }) => {\n const [xScale, yScale] = scale || $rootProps.scale;\n const yRange = yScale.range();\n\n return {\n d3: area()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y0((p) => (p[y0] ? scaleOfBandwidth(yScale, p[y0]) : yRange[0]))\n .y1((p) => scaleOfBandwidth(yScale, p[y])),\n d3Line: line()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y((p) => scaleOfBandwidth(yScale, p[y])),\n duration: 500,\n };\n };\n\n getDotsProps() {\n const { x, y, color, data, d3Line } = this.asProps;\n\n return {\n x,\n y,\n data,\n d3: d3Line,\n color,\n };\n }\n\n getNullProps() {\n const { x, y, color, data, d3Line } = this.asProps;\n return {\n data: getNullData(data, definedNullData(x, y), y),\n d3: d3Line,\n color,\n };\n }\n\n render() {\n const SArea = this.Element;\n const SAreaLine = 'path';\n const { styles, hide, d3, d3Line, data, color, uid, size, duration } = this.asProps;\n return sstyled(styles)(\n <>\n <SAreaLine\n clipPath={`url(#${uid})`}\n d={d3Line(data)}\n color={color}\n use:duration={`${duration}ms`}\n />\n <SArea\n clipPath={`url(#${uid})`}\n render=\"path\"\n d={d3(data)}\n hide={hide}\n color={color}\n use:duration={`${duration}ms`}\n />\n {duration && (\n <ClipPath\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>,\n );\n }\n}\n\nfunction Null(props) {\n const { Element: SNull, styles, d3, data, hide, color } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} color={color} />);\n}\n\nexport default createElement(AreaRoot, {\n Dots,\n Null,\n});\n"],"file":"Area.js"}
1
+ {"version":3,"sources":["../../src/Area.jsx"],"names":["React","area","curveLinear","line","Dots","Component","sstyled","createElement","definedData","scaleOfBandwidth","getNullData","definedNullData","ClipPath","uniqueIDEnhancement","findComponent","AreaRoot","asProps","x","y","color","data","d3Line","d3","duration","uid","SArea","Element","SAreaLine","styles","hide","size","Children","advanceMode","Area","Line","displayName","rect","setAttribute","style","y0","$rootProps","curve","scale","xScale","yScale","yRange","range","defined","p","y1","props","Null","SNull"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { area, curveLinear, line } from 'd3-shape';\nimport Dots from './Dots';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { definedData, scaleOfBandwidth, getNullData, definedNullData } from './utils';\nimport ClipPath from './ClipPath';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport findComponent from '@semcore/utils/lib/findComponent';\n\nimport style from './style/area.shadow.css';\n\nclass AreaRoot extends Component {\n static displayName = 'Area';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, y0, $rootProps, curve = curveLinear, scale }) => {\n const [xScale, yScale] = scale || $rootProps.scale;\n const yRange = yScale.range();\n\n return {\n d3: area()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y0((p) => (p[y0] ? scaleOfBandwidth(yScale, p[y0]) : yRange[0]))\n .y1((p) => scaleOfBandwidth(yScale, p[y])),\n d3Line: line()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y((p) => scaleOfBandwidth(yScale, p[y])),\n duration: 500,\n };\n };\n\n getDotsProps() {\n const { x, y, color, data, d3Line } = this.asProps;\n\n return {\n x,\n y,\n data,\n d3: d3Line,\n color,\n };\n }\n\n getNullProps() {\n const { x, y, color, data, d3Line } = this.asProps;\n return {\n data: getNullData(data, definedNullData(x, y), y),\n d3: d3Line,\n color,\n };\n }\n\n getLineProps() {\n const { duration, color, data, d3Line, uid } = this.asProps;\n\n return {\n uid,\n data,\n d3: d3Line,\n color,\n duration,\n };\n }\n\n render() {\n const SArea = this.Element;\n const SAreaLine = 'path';\n const { styles, hide, d3, d3Line, data, color, uid, size, duration, Children } = this.asProps;\n const advanceMode = !!findComponent(Children, [Area.Line.displayName]);\n\n return sstyled(styles)(\n <>\n {!advanceMode && (\n <SAreaLine\n clipPath={`url(#${uid})`}\n d={d3Line(data)}\n color={color}\n use:duration={`${duration}ms`}\n />\n )}\n <SArea\n clipPath={`url(#${uid})`}\n render=\"path\"\n d={d3(data)}\n hide={hide}\n color={color}\n use:duration={`${duration}ms`}\n />\n {duration && (\n <ClipPath\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>,\n );\n }\n}\n\nfunction Line(props) {\n const { Element: SAreaLine, styles, d3, data, color, duration, uid } = props;\n return sstyled(styles)(\n <SAreaLine\n render=\"path\"\n clipPath={`url(#${uid})`}\n d={d3(data)}\n color={color}\n use:duration={`${duration}ms`}\n />,\n );\n}\n\nfunction Null(props) {\n const { Element: SNull, styles, d3, data, hide, color } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} color={color} />);\n}\n\nconst Area = createElement(AreaRoot, {\n Dots,\n Null,\n Line,\n});\n\nexport default Area;\n"],"file":"Area.js"}