@semcore/d3-chart 2.13.3 → 2.13.5

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 (152) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/lib/cjs/Area.js +59 -97
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +76 -143
  5. package/lib/cjs/Axis.js.map +1 -1
  6. package/lib/cjs/Bar.js +49 -96
  7. package/lib/cjs/Bar.js.map +1 -1
  8. package/lib/cjs/Bubble.js +39 -81
  9. package/lib/cjs/Bubble.js.map +1 -1
  10. package/lib/cjs/ClipPath.js +9 -35
  11. package/lib/cjs/ClipPath.js.map +1 -1
  12. package/lib/cjs/Donut.js +77 -152
  13. package/lib/cjs/Donut.js.map +1 -1
  14. package/lib/cjs/Dots.js +29 -57
  15. package/lib/cjs/Dots.js.map +1 -1
  16. package/lib/cjs/GroupBar.js +5 -26
  17. package/lib/cjs/GroupBar.js.map +1 -1
  18. package/lib/cjs/HorizontalBar.js +43 -84
  19. package/lib/cjs/HorizontalBar.js.map +1 -1
  20. package/lib/cjs/Hover.js +33 -88
  21. package/lib/cjs/Hover.js.map +1 -1
  22. package/lib/cjs/Line.js +42 -78
  23. package/lib/cjs/Line.js.map +1 -1
  24. package/lib/cjs/Plot.js +27 -73
  25. package/lib/cjs/Plot.js.map +1 -1
  26. package/lib/cjs/Radar.js +152 -277
  27. package/lib/cjs/Radar.js.map +1 -1
  28. package/lib/cjs/RadialTree.js +105 -211
  29. package/lib/cjs/RadialTree.js.map +1 -1
  30. package/lib/cjs/ReferenceLine.js +45 -87
  31. package/lib/cjs/ReferenceLine.js.map +1 -1
  32. package/lib/cjs/ResponsiveContainer.js +9 -38
  33. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  34. package/lib/cjs/ScatterPlot.js +34 -74
  35. package/lib/cjs/ScatterPlot.js.map +1 -1
  36. package/lib/cjs/StackBar.js +9 -38
  37. package/lib/cjs/StackBar.js.map +1 -1
  38. package/lib/cjs/StackedArea.js +5 -29
  39. package/lib/cjs/StackedArea.js.map +1 -1
  40. package/lib/cjs/Tooltip.js +27 -76
  41. package/lib/cjs/Tooltip.js.map +1 -1
  42. package/lib/cjs/Venn.js +32 -75
  43. package/lib/cjs/Venn.js.map +1 -1
  44. package/lib/cjs/a11y/PlotA11yModule.js +18 -71
  45. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  46. package/lib/cjs/a11y/PlotA11yView.js +19 -83
  47. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  48. package/lib/cjs/a11y/bezier.js +0 -7
  49. package/lib/cjs/a11y/bezier.js.map +1 -1
  50. package/lib/cjs/a11y/focus.js +2 -11
  51. package/lib/cjs/a11y/focus.js.map +1 -1
  52. package/lib/cjs/a11y/hints.js +0 -13
  53. package/lib/cjs/a11y/hints.js.map +1 -1
  54. package/lib/cjs/a11y/insights.js +21 -132
  55. package/lib/cjs/a11y/insights.js.map +1 -1
  56. package/lib/cjs/a11y/intl.js +0 -6
  57. package/lib/cjs/a11y/intl.js.map +1 -1
  58. package/lib/cjs/a11y/locale.js +4 -22
  59. package/lib/cjs/a11y/locale.js.map +1 -1
  60. package/lib/cjs/a11y/serialize.js +23 -83
  61. package/lib/cjs/a11y/serialize.js.map +1 -1
  62. package/lib/cjs/a11y/summarize.js +0 -4
  63. package/lib/cjs/a11y/summarize.js.map +1 -1
  64. package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js +0 -13
  65. package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
  66. package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js +0 -13
  67. package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
  68. package/lib/cjs/color.js +0 -3
  69. package/lib/cjs/color.js.map +1 -1
  70. package/lib/cjs/createElement.js +18 -47
  71. package/lib/cjs/createElement.js.map +1 -1
  72. package/lib/cjs/index.js +0 -23
  73. package/lib/cjs/index.js.map +1 -1
  74. package/lib/cjs/types/Plot.d.js.map +1 -1
  75. package/lib/cjs/types/index.d.js +0 -39
  76. package/lib/cjs/types/index.d.js.map +1 -1
  77. package/lib/cjs/utils.js +7 -59
  78. package/lib/cjs/utils.js.map +1 -1
  79. package/lib/es6/Area.js +59 -86
  80. package/lib/es6/Area.js.map +1 -1
  81. package/lib/es6/Axis.js +76 -135
  82. package/lib/es6/Axis.js.map +1 -1
  83. package/lib/es6/Bar.js +49 -86
  84. package/lib/es6/Bar.js.map +1 -1
  85. package/lib/es6/Bubble.js +39 -70
  86. package/lib/es6/Bubble.js.map +1 -1
  87. package/lib/es6/ClipPath.js +9 -23
  88. package/lib/es6/ClipPath.js.map +1 -1
  89. package/lib/es6/Donut.js +77 -141
  90. package/lib/es6/Donut.js.map +1 -1
  91. package/lib/es6/Dots.js +29 -46
  92. package/lib/es6/Dots.js.map +1 -1
  93. package/lib/es6/GroupBar.js +5 -15
  94. package/lib/es6/GroupBar.js.map +1 -1
  95. package/lib/es6/HorizontalBar.js +43 -75
  96. package/lib/es6/HorizontalBar.js.map +1 -1
  97. package/lib/es6/Hover.js +33 -85
  98. package/lib/es6/Hover.js.map +1 -1
  99. package/lib/es6/Line.js +42 -67
  100. package/lib/es6/Line.js.map +1 -1
  101. package/lib/es6/Plot.js +27 -66
  102. package/lib/es6/Plot.js.map +1 -1
  103. package/lib/es6/Radar.js +152 -281
  104. package/lib/es6/Radar.js.map +1 -1
  105. package/lib/es6/RadialTree.js +105 -203
  106. package/lib/es6/RadialTree.js.map +1 -1
  107. package/lib/es6/ReferenceLine.js +45 -79
  108. package/lib/es6/ReferenceLine.js.map +1 -1
  109. package/lib/es6/ResponsiveContainer.js +9 -28
  110. package/lib/es6/ResponsiveContainer.js.map +1 -1
  111. package/lib/es6/ScatterPlot.js +34 -65
  112. package/lib/es6/ScatterPlot.js.map +1 -1
  113. package/lib/es6/StackBar.js +9 -26
  114. package/lib/es6/StackBar.js.map +1 -1
  115. package/lib/es6/StackedArea.js +5 -18
  116. package/lib/es6/StackedArea.js.map +1 -1
  117. package/lib/es6/Tooltip.js +27 -63
  118. package/lib/es6/Tooltip.js.map +1 -1
  119. package/lib/es6/Venn.js +32 -64
  120. package/lib/es6/Venn.js.map +1 -1
  121. package/lib/es6/a11y/PlotA11yModule.js +18 -52
  122. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  123. package/lib/es6/a11y/PlotA11yView.js +19 -53
  124. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  125. package/lib/es6/a11y/bezier.js +0 -5
  126. package/lib/es6/a11y/bezier.js.map +1 -1
  127. package/lib/es6/a11y/focus.js +2 -9
  128. package/lib/es6/a11y/focus.js.map +1 -1
  129. package/lib/es6/a11y/hints.js +0 -3
  130. package/lib/es6/a11y/hints.js.map +1 -1
  131. package/lib/es6/a11y/insights.js +21 -133
  132. package/lib/es6/a11y/insights.js.map +1 -1
  133. package/lib/es6/a11y/intl.js +0 -1
  134. package/lib/es6/a11y/intl.js.map +1 -1
  135. package/lib/es6/a11y/locale.js +4 -18
  136. package/lib/es6/a11y/locale.js.map +1 -1
  137. package/lib/es6/a11y/serialize.js +23 -74
  138. package/lib/es6/a11y/serialize.js.map +1 -1
  139. package/lib/es6/a11y/summarize.js.map +1 -1
  140. package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
  141. package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
  142. package/lib/es6/color.js +0 -1
  143. package/lib/es6/color.js.map +1 -1
  144. package/lib/es6/createElement.js +18 -34
  145. package/lib/es6/createElement.js.map +1 -1
  146. package/lib/es6/index.js.map +1 -1
  147. package/lib/es6/types/Plot.d.js.map +1 -1
  148. package/lib/es6/types/index.d.js +5 -3
  149. package/lib/es6/types/index.d.js.map +1 -1
  150. package/lib/es6/utils.js +7 -28
  151. package/lib/es6/utils.js.map +1 -1
  152. package/package.json +1 -1
@@ -1,84 +1,58 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
-
14
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
-
18
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
-
20
13
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
-
22
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
-
24
15
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
25
-
26
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
17
  var _core = _interopRequireWildcard(require("@semcore/core"));
29
-
30
18
  var _react = _interopRequireDefault(require("react"));
31
-
32
19
  var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
33
-
34
20
  var _flexBox = require("@semcore/flex-box");
35
-
36
21
  var _rafTrottle = _interopRequireDefault(require("@semcore/utils/lib/rafTrottle"));
37
-
38
22
  var _fire = _interopRequireDefault(require("@semcore/utils/lib/fire"));
39
-
40
23
  var _getOriginChildren = _interopRequireDefault(require("@semcore/utils/lib/getOriginChildren"));
41
-
42
24
  var ResponsiveContainerRoot = /*#__PURE__*/function (_Component) {
43
25
  (0, _inherits2["default"])(ResponsiveContainerRoot, _Component);
44
-
45
26
  var _super = (0, _createSuper2["default"])(ResponsiveContainerRoot);
46
-
47
27
  function ResponsiveContainerRoot(props) {
48
28
  var _this;
49
-
50
29
  (0, _classCallCheck2["default"])(this, ResponsiveContainerRoot);
51
30
  _this = _super.call(this, props);
52
31
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "containerRef", /*#__PURE__*/_react["default"].createRef());
53
32
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "size", [0, 0]);
54
33
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleResize", (0, _rafTrottle["default"])(function (entries) {
55
34
  var _this$asProps = _this.asProps,
56
- Children = _this$asProps.Children,
57
- aspect = _this$asProps.aspect;
35
+ Children = _this$asProps.Children,
36
+ aspect = _this$asProps.aspect;
58
37
  if (!_this.$container) return;
59
38
  var _this$$container = _this.$container,
60
- width = _this$$container.clientWidth,
61
- height = _this$$container.clientHeight;
62
-
39
+ width = _this$$container.clientWidth,
40
+ height = _this$$container.clientHeight;
63
41
  if (aspect) {
64
42
  var style = window.getComputedStyle(_this.$container);
65
43
  var minHeight = Number.parseInt(style.getPropertyValue('min-height'));
66
44
  var maxHeight = Number.parseInt(style.getPropertyValue('max-height'));
67
45
  height = width * aspect;
68
-
69
46
  if (height < minHeight) {
70
47
  height = minHeight;
71
48
  }
72
-
73
49
  if (height > maxHeight) {
74
50
  height = maxHeight;
75
51
  }
76
52
  }
77
-
78
53
  if (_this.size[0] === width && _this.size[1] === height) return;
79
54
  _this.size = [width, height];
80
55
  (0, _fire["default"])((0, _assertThisInitialized2["default"])(_this), 'onResize', _this.size, entries);
81
-
82
56
  if (typeof (0, _getOriginChildren["default"])(Children) === 'function') {
83
57
  _this.forceUpdate();
84
58
  }
@@ -86,7 +60,6 @@ var ResponsiveContainerRoot = /*#__PURE__*/function (_Component) {
86
60
  _this.observer = new _resizeObserverPolyfill["default"](_this.handleResize);
87
61
  return _this;
88
62
  }
89
-
90
63
  (0, _createClass2["default"])(ResponsiveContainerRoot, [{
91
64
  key: "$container",
92
65
  get: function get() {
@@ -96,9 +69,8 @@ var ResponsiveContainerRoot = /*#__PURE__*/function (_Component) {
96
69
  key: "setContext",
97
70
  value: function setContext() {
98
71
  var _this$size = (0, _slicedToArray2["default"])(this.size, 2),
99
- width = _this$size[0],
100
- height = _this$size[1];
101
-
72
+ width = _this$size[0],
73
+ height = _this$size[1];
102
74
  return {
103
75
  width: width,
104
76
  height: height
@@ -111,8 +83,9 @@ var ResponsiveContainerRoot = /*#__PURE__*/function (_Component) {
111
83
  // TODO: may be we can increase perfomance here? (by lsroman)
112
84
  this.observer.observe(this.$container);
113
85
  }
114
- } // TODO component did update ref?
86
+ }
115
87
 
88
+ // TODO component did update ref?
116
89
  }, {
117
90
  key: "componentWillUnmount",
118
91
  value: function componentWillUnmount() {
@@ -122,8 +95,7 @@ var ResponsiveContainerRoot = /*#__PURE__*/function (_Component) {
122
95
  key: "render",
123
96
  value: function render() {
124
97
  var _ref = this.asProps,
125
- _ref2;
126
-
98
+ _ref2;
127
99
  var SResponsiveContainer = _flexBox.Box;
128
100
  var styles = this.asProps.styles;
129
101
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SResponsiveContainer, _ref2.cn("SResponsiveContainer", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
@@ -133,7 +105,6 @@ var ResponsiveContainerRoot = /*#__PURE__*/function (_Component) {
133
105
  }]);
134
106
  return ResponsiveContainerRoot;
135
107
  }(_core.Component);
136
-
137
108
  (0, _defineProperty2["default"])(ResponsiveContainerRoot, "displayName", 'ResponsiveContainer');
138
109
  var ResponsiveContainer = (0, _core["default"])(ResponsiveContainerRoot);
139
110
  var _default = ResponsiveContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"ResponsiveContainer.js","names":["ResponsiveContainerRoot","props","React","createRef","trottle","entries","asProps","Children","aspect","$container","width","clientWidth","height","clientHeight","style","window","getComputedStyle","minHeight","Number","parseInt","getPropertyValue","maxHeight","size","fire","getOriginChildren","forceUpdate","observer","ResizeObserver","handleResize","containerRef","current","observe","disconnect","SResponsiveContainer","Box","styles","sstyled","Component","ResponsiveContainer","createComponent"],"sources":["../../src/ResponsiveContainer.jsx"],"sourcesContent":["import React from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport fire from '@semcore/utils/lib/fire';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\n\nclass ResponsiveContainerRoot extends Component {\n static displayName = 'ResponsiveContainer';\n\n containerRef = React.createRef();\n size = [0, 0];\n\n constructor(props) {\n super(props);\n this.observer = new ResizeObserver(this.handleResize);\n }\n\n get $container() {\n return this.containerRef.current;\n }\n\n handleResize = trottle((entries) => {\n const { Children, aspect } = this.asProps;\n\n if (!this.$container) return;\n\n let { clientWidth: width, clientHeight: height } = this.$container;\n\n if (aspect) {\n const style = window.getComputedStyle(this.$container);\n const minHeight = Number.parseInt(style.getPropertyValue('min-height'));\n const maxHeight = Number.parseInt(style.getPropertyValue('max-height'));\n height = width * aspect;\n\n if (height < minHeight) {\n height = minHeight;\n }\n if (height > maxHeight) {\n height = maxHeight;\n }\n }\n\n if (this.size[0] === width && this.size[1] === height) return;\n\n this.size = [width, height];\n\n fire(this, 'onResize', this.size, entries);\n\n if (typeof getOriginChildren(Children) === 'function') {\n this.forceUpdate();\n }\n });\n\n setContext() {\n const [width, height] = this.size;\n return {\n width,\n height,\n };\n }\n\n componentDidMount() {\n if (this.$container) {\n // TODO: may be we can increase perfomance here? (by lsroman)\n this.observer.observe(this.$container);\n }\n }\n\n // TODO component did update ref?\n\n componentWillUnmount() {\n this.observer.disconnect();\n }\n\n render() {\n const SResponsiveContainer = Root;\n const { styles } = this.asProps;\n return sstyled(styles)(<SResponsiveContainer render={Box} ref={this.containerRef} />);\n }\n}\n\nconst ResponsiveContainer = createComponent(ResponsiveContainerRoot);\n\nexport default ResponsiveContainer;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA;;IAEMA,uB;;;;;EAMJ,iCAAYC,KAAZ,EAAmB;IAAA;;IAAA;IACjB,0BAAMA,KAAN;IADiB,8GAHJC,iBAAA,CAAMC,SAAN,EAGI;IAAA,yFAFZ,CAAC,CAAD,EAAI,CAAJ,CAEY;IAAA,iGASJ,IAAAC,sBAAA,EAAQ,UAACC,OAAD,EAAa;MAClC,oBAA6B,MAAKC,OAAlC;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,MAAlB,iBAAkBA,MAAlB;MAEA,IAAI,CAAC,MAAKC,UAAV,EAAsB;MAEtB,uBAAmD,MAAKA,UAAxD;MAAA,IAAmBC,KAAnB,oBAAMC,WAAN;MAAA,IAAwCC,MAAxC,oBAA0BC,YAA1B;;MAEA,IAAIL,MAAJ,EAAY;QACV,IAAMM,KAAK,GAAGC,MAAM,CAACC,gBAAP,CAAwB,MAAKP,UAA7B,CAAd;QACA,IAAMQ,SAAS,GAAGC,MAAM,CAACC,QAAP,CAAgBL,KAAK,CAACM,gBAAN,CAAuB,YAAvB,CAAhB,CAAlB;QACA,IAAMC,SAAS,GAAGH,MAAM,CAACC,QAAP,CAAgBL,KAAK,CAACM,gBAAN,CAAuB,YAAvB,CAAhB,CAAlB;QACAR,MAAM,GAAGF,KAAK,GAAGF,MAAjB;;QAEA,IAAII,MAAM,GAAGK,SAAb,EAAwB;UACtBL,MAAM,GAAGK,SAAT;QACD;;QACD,IAAIL,MAAM,GAAGS,SAAb,EAAwB;UACtBT,MAAM,GAAGS,SAAT;QACD;MACF;;MAED,IAAI,MAAKC,IAAL,CAAU,CAAV,MAAiBZ,KAAjB,IAA0B,MAAKY,IAAL,CAAU,CAAV,MAAiBV,MAA/C,EAAuD;MAEvD,MAAKU,IAAL,GAAY,CAACZ,KAAD,EAAQE,MAAR,CAAZ;MAEA,IAAAW,gBAAA,kDAAW,UAAX,EAAuB,MAAKD,IAA5B,EAAkCjB,OAAlC;;MAEA,IAAI,OAAO,IAAAmB,6BAAA,EAAkBjB,QAAlB,CAAP,KAAuC,UAA3C,EAAuD;QACrD,MAAKkB,WAAL;MACD;IACF,CA9Bc,CATI;IAEjB,MAAKC,QAAL,GAAgB,IAAIC,kCAAJ,CAAmB,MAAKC,YAAxB,CAAhB;IAFiB;EAGlB;;;;SAED,eAAiB;MACf,OAAO,KAAKC,YAAL,CAAkBC,OAAzB;IACD;;;WAkCD,sBAAa;MACX,iDAAwB,KAAKR,IAA7B;MAAA,IAAOZ,KAAP;MAAA,IAAcE,MAAd;;MACA,OAAO;QACLF,KAAK,EAALA,KADK;QAELE,MAAM,EAANA;MAFK,CAAP;IAID;;;WAED,6BAAoB;MAClB,IAAI,KAAKH,UAAT,EAAqB;QACnB;QACA,KAAKiB,QAAL,CAAcK,OAAd,CAAsB,KAAKtB,UAA3B;MACD;IACF,C,CAED;;;;WAEA,gCAAuB;MACrB,KAAKiB,QAAL,CAAcM,UAAd;IACD;;;WAED,kBAAS;MAAA;MAAA;;MACP,IAAMC,oBAAoB,GAE2BC,YAFrD;MACA,IAAQC,MAAR,GAAmB,KAAK7B,OAAxB,CAAQ6B,MAAR;MACA,eAAO,IAAAC,aAAA,EAAQD,MAAR,CAAP,eAAuB,gCAAC,oBAAD;QAAA,OAAwC,KAAKN;MAA7C,WAAvB;IACD;;;EAxEmCQ,e;;iCAAhCrC,uB,iBACiB,qB;AA0EvB,IAAMsC,mBAAmB,GAAG,IAAAC,gBAAA,EAAgBvC,uBAAhB,CAA5B;eAEesC,mB"}
1
+ {"version":3,"file":"ResponsiveContainer.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_resizeObserverPolyfill","_flexBox","_rafTrottle","_fire","_getOriginChildren","ResponsiveContainerRoot","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","trottle","entries","_this$asProps","asProps","Children","aspect","$container","_this$$container","width","clientWidth","height","clientHeight","style","window","getComputedStyle","minHeight","Number","parseInt","getPropertyValue","maxHeight","size","fire","getOriginChildren","forceUpdate","observer","ResizeObserver","handleResize","_createClass2","key","get","containerRef","current","value","setContext","_this$size","_slicedToArray2","componentDidMount","observe","componentWillUnmount","disconnect","render","_ref","_ref2","SResponsiveContainer","Box","styles","sstyled","createElement","cn","_objectSpread2","assignProps","Component","ResponsiveContainer","createComponent","_default","exports"],"sources":["../../src/ResponsiveContainer.jsx"],"sourcesContent":["import React from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport fire from '@semcore/utils/lib/fire';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\n\nclass ResponsiveContainerRoot extends Component {\n static displayName = 'ResponsiveContainer';\n\n containerRef = React.createRef();\n size = [0, 0];\n\n constructor(props) {\n super(props);\n this.observer = new ResizeObserver(this.handleResize);\n }\n\n get $container() {\n return this.containerRef.current;\n }\n\n handleResize = trottle((entries) => {\n const { Children, aspect } = this.asProps;\n\n if (!this.$container) return;\n\n let { clientWidth: width, clientHeight: height } = this.$container;\n\n if (aspect) {\n const style = window.getComputedStyle(this.$container);\n const minHeight = Number.parseInt(style.getPropertyValue('min-height'));\n const maxHeight = Number.parseInt(style.getPropertyValue('max-height'));\n height = width * aspect;\n\n if (height < minHeight) {\n height = minHeight;\n }\n if (height > maxHeight) {\n height = maxHeight;\n }\n }\n\n if (this.size[0] === width && this.size[1] === height) return;\n\n this.size = [width, height];\n\n fire(this, 'onResize', this.size, entries);\n\n if (typeof getOriginChildren(Children) === 'function') {\n this.forceUpdate();\n }\n });\n\n setContext() {\n const [width, height] = this.size;\n return {\n width,\n height,\n };\n }\n\n componentDidMount() {\n if (this.$container) {\n // TODO: may be we can increase perfomance here? (by lsroman)\n this.observer.observe(this.$container);\n }\n }\n\n // TODO component did update ref?\n\n componentWillUnmount() {\n this.observer.disconnect();\n }\n\n render() {\n const SResponsiveContainer = Root;\n const { styles } = this.asProps;\n return sstyled(styles)(<SResponsiveContainer render={Box} ref={this.containerRef} />);\n }\n}\n\nconst ResponsiveContainer = createComponent(ResponsiveContainerRoot);\n\nexport default ResponsiveContainer;\n"],"mappings":"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"}
@@ -1,82 +1,50 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
14
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
23
-
24
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
16
  var _core = require("@semcore/core");
27
-
28
17
  var _react = _interopRequireDefault(require("react"));
29
-
30
18
  var _d3Transition = require("d3-transition");
31
-
32
19
  var _canUseDOM = _interopRequireDefault(require("@semcore/utils/lib/canUseDOM"));
33
-
34
20
  var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
35
-
36
21
  var _createElement = _interopRequireDefault(require("./createElement"));
37
-
38
22
  var _utils = require("./utils");
39
-
40
23
  var _ClipPath = _interopRequireDefault(require("./ClipPath"));
41
-
42
24
  /*__reshadow-styles__:"./style/scatterplot.shadow.css"*/
43
- var style = (
44
- /*__reshadow_css_start__*/
45
- _core.sstyled.insert(
46
- /*__inner_css_start__*/
47
- ".___SScatterPlot_ssqap_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_ssqap);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_ssqap_gg_:hover{opacity:.8}}.___SScatterPlot_ssqap_gg_.__color_ssqap_gg_{fill:var(--color_ssqap)}.___SScatterPlot_ssqap_gg_.__transparent_ssqap_gg_{opacity:.3}.___SValue_ssqap_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_ssqap_gg_.__color_ssqap_gg_{stroke:var(--color_ssqap)}.___SValue_ssqap_gg_.__transparent_ssqap_gg_{opacity:.3}"
48
- /*__inner_css_end__*/
49
- , "ssqap_gg_")
50
- /*__reshadow_css_end__*/
51
- , {
52
- "__SScatterPlot": "___SScatterPlot_ssqap_gg_",
53
- "--duration": "--duration_ssqap",
54
- "_color": "__color_ssqap_gg_",
55
- "--color": "--color_ssqap",
56
- "_transparent": "__transparent_ssqap_gg_",
57
- "__SValue": "___SValue_ssqap_gg_"
25
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SScatterPlot_w30ct_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-duration:var(--duration_w30ct);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SScatterPlot_w30ct_gg_:hover{opacity:.8}}.___SScatterPlot_w30ct_gg_.__color_w30ct_gg_{fill:var(--color_w30ct)}.___SScatterPlot_w30ct_gg_.__transparent_w30ct_gg_{opacity:.3}.___SValue_w30ct_gg_{text-anchor:middle;font-size:var(--intergalactic-fs-50, 10px);stroke:var(--intergalactic-chart-palette-order-9, #008ff8)}.___SValue_w30ct_gg_.__color_w30ct_gg_{stroke:var(--color_w30ct)}.___SValue_w30ct_gg_.__transparent_w30ct_gg_{opacity:.3}" /*__inner_css_end__*/, "w30ct_gg_") /*__reshadow_css_end__*/, {
26
+ "__SScatterPlot": "___SScatterPlot_w30ct_gg_",
27
+ "--duration": "--duration_w30ct",
28
+ "_color": "__color_w30ct_gg_",
29
+ "--color": "--color_w30ct",
30
+ "_transparent": "__transparent_w30ct_gg_",
31
+ "__SValue": "___SValue_w30ct_gg_"
58
32
  });
59
-
60
33
  var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
61
34
  (0, _inherits2["default"])(ScatterPlotRoot, _Component);
62
-
63
35
  var _super = (0, _createSuper2["default"])(ScatterPlotRoot);
64
-
65
36
  function ScatterPlotRoot() {
66
37
  var _this;
67
-
68
38
  (0, _classCallCheck2["default"])(this, ScatterPlotRoot);
69
-
70
39
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
71
40
  args[_key] = arguments[_key];
72
41
  }
73
-
74
42
  _this = _super.call.apply(_super, [this].concat(args));
75
43
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "virtualElement", (0, _canUseDOM["default"])() ? document.createElement('div') : {});
76
44
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerTooltip", function (visible, props) {
77
45
  return function (_ref2) {
78
46
  var x = _ref2.clientX,
79
- y = _ref2.clientY;
47
+ y = _ref2.clientY;
80
48
  var eventEmitter = _this.asProps.eventEmitter;
81
49
  _this.virtualElement.getBoundingClientRect = _this.generateGetBoundingClientRect(x, y);
82
50
  _this.virtualElement[_utils.CONSTANT.VIRTUAL_ELEMENT] = true;
@@ -85,7 +53,6 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
85
53
  });
86
54
  return _this;
87
55
  }
88
-
89
56
  (0, _createClass2["default"])(ScatterPlotRoot, [{
90
57
  key: "generateGetBoundingClientRect",
91
58
  value: function generateGetBoundingClientRect() {
@@ -106,14 +73,13 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
106
73
  key: "animationCircle",
107
74
  value: function animationCircle() {
108
75
  var _this$asProps = this.asProps,
109
- duration = _this$asProps.duration,
110
- uid = _this$asProps.uid,
111
- r = _this$asProps.r,
112
- value = _this$asProps.value;
76
+ duration = _this$asProps.duration,
77
+ uid = _this$asProps.uid,
78
+ r = _this$asProps.r,
79
+ value = _this$asProps.value;
113
80
  var radius = r ? r : value ? 12 : 5.5;
114
81
  var selectRect = (0, _d3Transition.transition)().selection().selectAll("[id^=".concat(uid, "]")).attr('r', 0);
115
82
  var selectRectNode = selectRect.node();
116
-
117
83
  if (duration > 0 && selectRectNode) {
118
84
  selectRect.transition().duration(duration).attr('r', radius);
119
85
  }
@@ -132,25 +98,22 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
132
98
  key: "renderCircle",
133
99
  value: function renderCircle(d, i) {
134
100
  var _ref;
135
-
136
101
  var _this$asProps2 = this.asProps,
137
- color = _this$asProps2.color,
138
- scale = _this$asProps2.scale,
139
- x = _this$asProps2.x,
140
- y = _this$asProps2.y,
141
- r = _this$asProps2.r,
142
- offset = _this$asProps2.offset,
143
- styles = _this$asProps2.styles,
144
- uid = _this$asProps2.uid,
145
- duration = _this$asProps2.duration,
146
- value = _this$asProps2.value,
147
- valueColor = _this$asProps2.valueColor,
148
- transparent = _this$asProps2.transparent;
149
-
102
+ color = _this$asProps2.color,
103
+ scale = _this$asProps2.scale,
104
+ x = _this$asProps2.x,
105
+ y = _this$asProps2.y,
106
+ r = _this$asProps2.r,
107
+ offset = _this$asProps2.offset,
108
+ styles = _this$asProps2.styles,
109
+ uid = _this$asProps2.uid,
110
+ duration = _this$asProps2.duration,
111
+ value = _this$asProps2.value,
112
+ valueColor = _this$asProps2.valueColor,
113
+ transparent = _this$asProps2.transparent;
150
114
  var _scale = (0, _slicedToArray2["default"])(scale, 2),
151
- xScale = _scale[0],
152
- yScale = _scale[1];
153
-
115
+ xScale = _scale[0],
116
+ yScale = _scale[1];
154
117
  var SScatterPlot = this.Element;
155
118
  var SValue = 'text';
156
119
  return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement("g", _ref.cn("g", {
@@ -188,17 +151,15 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
188
151
  key: "render",
189
152
  value: function render() {
190
153
  var _this$asProps3 = this.asProps,
191
- data = _this$asProps3.data,
192
- uid = _this$asProps3.uid,
193
- scale = _this$asProps3.scale,
194
- x = _this$asProps3.x,
195
- y = _this$asProps3.y,
196
- value = _this$asProps3.value;
197
-
154
+ data = _this$asProps3.data,
155
+ uid = _this$asProps3.uid,
156
+ scale = _this$asProps3.scale,
157
+ x = _this$asProps3.x,
158
+ y = _this$asProps3.y,
159
+ value = _this$asProps3.value;
198
160
  var _scale2 = (0, _slicedToArray2["default"])(scale, 2),
199
- xScale = _scale2[0],
200
- yScale = _scale2[1];
201
-
161
+ xScale = _scale2[0],
162
+ yScale = _scale2[1];
202
163
  var xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);
203
164
  var ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);
204
165
  var xMargin = Math.min(xScale.range()[0], xScale.range()[1]);
@@ -217,7 +178,6 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
217
178
  }]);
218
179
  return ScatterPlotRoot;
219
180
  }(_core.Component);
220
-
221
181
  (0, _defineProperty2["default"])(ScatterPlotRoot, "displayName", 'ScatterPlot');
222
182
  (0, _defineProperty2["default"])(ScatterPlotRoot, "style", style);
223
183
  (0, _defineProperty2["default"])(ScatterPlotRoot, "enhance", [(0, _uniqueID["default"])()]);
@@ -1 +1 @@
1
- {"version":3,"file":"ScatterPlot.js","names":["ScatterPlotRoot","canUseDOM","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","r","value","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","animationCircle","d","i","color","scale","offset","styles","valueColor","transparent","xScale","yScale","SScatterPlot","Element","SValue","sstyled","bindHandlerTooltip","xIndex","data","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","map","renderCircle","bind","Component","style","uniqueIDEnhancement","ScatterPlot"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\nimport ClipPath from './ClipPath';\n\nimport style from './style/scatterplot.shadow.css';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : value ? 12 : 5.5;\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const { color, scale, x, y, r, offset, styles, uid, duration, value, valueColor, transparent } =\n this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\n index={i}\n render=\"circle\"\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={color}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[value] && (\n <SValue\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n color={valueColor}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst ScatterPlot = createElement(ScatterPlotRoot);\n\nexport default ScatterPlot;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ScatterPlot.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_canUseDOM","_uniqueID","_createElement","_utils","_ClipPath","style","sstyled","insert","ScatterPlotRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_this$asProps2","color","scale","offset","styles","valueColor","transparent","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","cn","bindHandlerTooltip","_objectSpread2","xIndex","render","_this$asProps3","data","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlot","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\nimport ClipPath from './ClipPath';\n\nimport style from './style/scatterplot.shadow.css';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : value ? 12 : 5.5;\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const { color, scale, x, y, r, offset, styles, uid, duration, value, valueColor, transparent } =\n this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\n index={i}\n render=\"circle\"\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={color}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[value] && (\n <SValue\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n color={valueColor}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst ScatterPlot = createElement(ScatterPlotRoot);\n\nexport default ScatterPlot;\n"],"mappings":"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"}
@@ -1,90 +1,65 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
19
-
20
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
14
  var _react = _interopRequireDefault(require("react"));
23
-
24
15
  var _d3Shape = require("d3-shape");
25
-
26
16
  var _core = require("@semcore/core");
27
-
28
17
  var _getOriginChildren = _interopRequireDefault(require("@semcore/utils/lib/getOriginChildren"));
29
-
30
18
  var _createElement = _interopRequireDefault(require("./createElement"));
31
-
32
19
  var _Bar = _interopRequireDefault(require("./Bar"));
33
-
34
20
  var _HorizontalBar = _interopRequireDefault(require("./HorizontalBar"));
35
-
36
21
  var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
37
22
  var XY0 = Symbol('XY0');
38
-
39
23
  var StackBarRoot = /*#__PURE__*/function (_Component) {
40
24
  (0, _inherits2["default"])(StackBarRoot, _Component);
41
-
42
25
  var _super = (0, _createSuper2["default"])(StackBarRoot);
43
-
44
26
  function StackBarRoot() {
45
27
  (0, _classCallCheck2["default"])(this, StackBarRoot);
46
28
  return _super.apply(this, arguments);
47
29
  }
48
-
49
30
  (0, _createClass2["default"])(StackBarRoot, [{
50
31
  key: "getSeries",
51
32
  value: function getSeries() {
52
33
  var _this$asProps = this.asProps,
53
- Children = _this$asProps.Children,
54
- data = _this$asProps.data,
55
- stack = _this$asProps.stack;
56
-
34
+ Children = _this$asProps.Children,
35
+ data = _this$asProps.data,
36
+ stack = _this$asProps.stack;
57
37
  if (stack[DEFAULT_INSTANCE]) {
58
38
  var keys = _react["default"].Children.toArray((0, _getOriginChildren["default"])(Children)).reduce(function (acc, child) {
59
39
  if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {
60
40
  acc.push(child.props.y);
61
41
  }
62
-
63
42
  if ( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === StackBar.HorizontalBar && !child.props.hide) {
64
43
  acc.push(child.props.x);
65
44
  }
66
-
67
45
  return acc;
68
46
  }, []);
69
-
70
47
  stack.keys(keys);
71
48
  }
72
-
73
49
  return stack(data);
74
50
  }
75
51
  }, {
76
52
  key: "getBarProps",
77
53
  value: function getBarProps(_ref) {
78
54
  var _this = this;
79
-
80
55
  var y = _ref.y;
81
56
  var _this$asProps2 = this.asProps,
82
- x = _this$asProps2.x,
83
- r = _this$asProps2.r;
57
+ x = _this$asProps2.x,
58
+ r = _this$asProps2.r;
84
59
  var seriesIndex = this.series.findIndex(function (s) {
85
60
  return s.key === y;
86
- }); // or [] if hide bar
87
-
61
+ });
62
+ // or [] if hide bar
88
63
  var series = this.series[seriesIndex] || [];
89
64
  var rBar = series.map(function (s, i) {
90
65
  return _this.series.slice(seriesIndex + 1).some(function (bar) {
@@ -94,7 +69,6 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
94
69
  return {
95
70
  data: series.map(function (s) {
96
71
  var _objectSpread2;
97
-
98
72
  return (0, _objectSpread4["default"])((0, _objectSpread4["default"])({}, s.data), {}, (_objectSpread2 = {}, (0, _defineProperty2["default"])(_objectSpread2, y, s[1]), (0, _defineProperty2["default"])(_objectSpread2, XY0, s[0]), _objectSpread2));
99
73
  }),
100
74
  hMin: 0,
@@ -108,11 +82,10 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
108
82
  key: "getHorizontalBarProps",
109
83
  value: function getHorizontalBarProps(_ref2) {
110
84
  var _this2 = this;
111
-
112
85
  var x = _ref2.x;
113
86
  var _this$asProps3 = this.asProps,
114
- y = _this$asProps3.y,
115
- r = _this$asProps3.r;
87
+ y = _this$asProps3.y,
88
+ r = _this$asProps3.r;
116
89
  var seriesIndex = this.series.findIndex(function (s) {
117
90
  return s.key === x;
118
91
  });
@@ -125,7 +98,6 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
125
98
  return {
126
99
  data: series.map(function (s) {
127
100
  var _objectSpread3;
128
-
129
101
  return (0, _objectSpread4["default"])((0, _objectSpread4["default"])({}, s.data), {}, (_objectSpread3 = {}, (0, _defineProperty2["default"])(_objectSpread3, x, s[1]), (0, _defineProperty2["default"])(_objectSpread3, XY0, s[0]), _objectSpread3));
130
102
  }),
131
103
  wMin: 0,
@@ -150,7 +122,6 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
150
122
  }]);
151
123
  return StackBarRoot;
152
124
  }(_core.Component);
153
-
154
125
  (0, _defineProperty2["default"])(StackBarRoot, "displayName", 'StackBar');
155
126
  (0, _defineProperty2["default"])(StackBarRoot, "defaultProps", function () {
156
127
  var stack = (0, _d3Shape.stack)();
@@ -1 +1 @@
1
- {"version":3,"file":"StackBar.js","names":["DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackBar","Bar","props","hide","push","y","HorizontalBar","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","hMin","y0","groupKey","wMin","x0","Element","getSeries","dataHintsHandler","establishDataType","Component","d3Stack","createElement"],"sources":["../../src/StackBar.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y }) {\n const { x, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n })),\n hMin: 0,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n })),\n wMin: 0,\n x0: XY0,\n y,\n r: rBar,\n groupKey: y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n return <Element aria-hidden render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,GAAG,GAAGD,MAAM,CAAC,KAAD,CAAlB;;IAEME,Y;;;;;;;;;;;;WASJ,qBAAY;MACV,oBAAkC,KAAKC,OAAvC;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,IAAlB,iBAAkBA,IAAlB;MAAA,IAAwBC,KAAxB,iBAAwBA,KAAxB;;MAEA,IAAIA,KAAK,CAACP,gBAAD,CAAT,EAA6B;QAC3B,IAAMQ,IAAI,GAAGC,iBAAA,CAAMJ,QAAN,CAAeK,OAAf,CAAuB,IAAAC,6BAAA,EAAkBN,QAAlB,CAAvB,EAAoDO,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;UACtF,IAAI,cAAAL,iBAAA,CAAMM,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,QAAQ,CAACC,GAAvD,IAA8D,CAACJ,KAAK,CAACK,KAAN,CAAYC,IAA/E,EAAqF;YACnFP,GAAG,CAACQ,IAAJ,CAASP,KAAK,CAACK,KAAN,CAAYG,CAArB;UACD;;UACD,IACE,cAAAb,iBAAA,CAAMM,cAAN,CAAqBD,KAArB,KACAA,KAAK,CAACE,IAAN,KAAeC,QAAQ,CAACM,aADxB,IAEA,CAACT,KAAK,CAACK,KAAN,CAAYC,IAHf,EAIE;YACAP,GAAG,CAACQ,IAAJ,CAASP,KAAK,CAACK,KAAN,CAAYK,CAArB;UACD;;UACD,OAAOX,GAAP;QACD,CAZY,EAYV,EAZU,CAAb;;QAaAN,KAAK,CAACC,IAAN,CAAWA,IAAX;MACD;;MAED,OAAOD,KAAK,CAACD,IAAD,CAAZ;IACD;;;WAED,2BAAmB;MAAA;;MAAA,IAALgB,CAAK,QAALA,CAAK;MACjB,qBAAiB,KAAKlB,OAAtB;MAAA,IAAQoB,CAAR,kBAAQA,CAAR;MAAA,IAAWC,CAAX,kBAAWA,CAAX;MAEA,IAAMC,WAAW,GAAG,KAAKC,MAAL,CAAYC,SAAZ,CAAsB,UAACC,CAAD;QAAA,OAAOA,CAAC,CAACC,GAAF,KAAUR,CAAjB;MAAA,CAAtB,CAApB,CAHiB,CAIjB;;MACA,IAAMK,MAAM,GAAG,KAAKA,MAAL,CAAYD,WAAZ,KAA4B,EAA3C;MAEA,IAAMK,IAAI,GAAGJ,MAAM,CAACK,GAAP,CAAW,UAACH,CAAD,EAAII,CAAJ;QAAA,OACtB,KAAI,CAACN,MAAL,CAAYO,KAAZ,CAAkBR,WAAW,GAAG,CAAhC,EAAmCS,IAAnC,CAAwC,UAACC,GAAD;UAAA,OAASA,GAAG,CAACH,CAAD,CAAH,CAAO,CAAP,MAAcG,GAAG,CAACH,CAAD,CAAH,CAAO,CAAP,CAAvB;QAAA,CAAxC,IAA4E,CAA5E,GAAgFR,CAD1D;MAAA,CAAX,CAAb;MAIA,OAAO;QACLnB,IAAI,EAAEqB,MAAM,CAACK,GAAP,CAAW,UAACH,CAAD;UAAA;;UAAA,yEACZA,CAAC,CAACvB,IADU,8EAEdgB,CAFc,EAEVO,CAAC,CAAC,CAAD,CAFS,oDAGd3B,GAHc,EAGR2B,CAAC,CAAC,CAAD,CAHO;QAAA,CAAX,CADD;QAMLQ,IAAI,EAAE,CAND;QAOLC,EAAE,EAAEpC,GAPC;QAQLsB,CAAC,EAADA,CARK;QASLC,CAAC,EAAEM,IATE;QAULQ,QAAQ,EAAEf;MAVL,CAAP;IAYD;;;WAED,sCAA6B;MAAA;;MAAA,IAALA,CAAK,SAALA,CAAK;MAC3B,qBAAiB,KAAKpB,OAAtB;MAAA,IAAQkB,CAAR,kBAAQA,CAAR;MAAA,IAAWG,CAAX,kBAAWA,CAAX;MAEA,IAAMC,WAAW,GAAG,KAAKC,MAAL,CAAYC,SAAZ,CAAsB,UAACC,CAAD;QAAA,OAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;MAAA,CAAtB,CAApB;MACA,IAAMG,MAAM,GAAG,KAAKA,MAAL,CAAYD,WAAZ,CAAf;MAEA,IAAMK,IAAI,GAAGJ,MAAM,CAACK,GAAP,CAAW,UAACH,CAAD,EAAII,CAAJ;QAAA,OACtB,MAAI,CAACN,MAAL,CAAYO,KAAZ,CAAkBR,WAAW,GAAG,CAAhC,EAAmCS,IAAnC,CAAwC,UAACC,GAAD;UAAA,OAASA,GAAG,CAACH,CAAD,CAAH,CAAO,CAAP,MAAcG,GAAG,CAACH,CAAD,CAAH,CAAO,CAAP,CAAvB;QAAA,CAAxC,IAA4E,CAA5E,GAAgFR,CAD1D;MAAA,CAAX,CAAb;MAIA,OAAO;QACLnB,IAAI,EAAEqB,MAAM,CAACK,GAAP,CAAW,UAACH,CAAD;UAAA;;UAAA,yEACZA,CAAC,CAACvB,IADU,8EAEdkB,CAFc,EAEVK,CAAC,CAAC,CAAD,CAFS,oDAGd3B,GAHc,EAGR2B,CAAC,CAAC,CAAD,CAHO;QAAA,CAAX,CADD;QAMLW,IAAI,EAAE,CAND;QAOLC,EAAE,EAAEvC,GAPC;QAQLoB,CAAC,EAADA,CARK;QASLG,CAAC,EAAEM,IATE;QAULQ,QAAQ,EAAEjB;MAVL,CAAP;IAYD;;;WAED,kBAAS;MACP,IAAMoB,OAAO,GAAG,KAAKA,OAArB;MACA,KAAKf,MAAL,GAAc,KAAKgB,SAAL,EAAd;MAEA,KAAKvC,OAAL,CAAawC,gBAAb,CAA8BC,iBAA9B,CAAgD,gBAAhD;MAEA,oBAAO,gCAAC,OAAD;QAAS,mBAAT;QAAqB,MAAM,EAAC,GAA5B;QAAgC,MAAM,EAAE,KAAKlB;MAA7C,EAAP;IACD;;;EAxFwBmB,e;;iCAArB3C,Y,iBACiB,U;iCADjBA,Y,kBAGkB,YAAM;EAC1B,IAAMI,KAAK,GAAG,IAAAwC,cAAA,GAAd;EACAxC,KAAK,CAACP,gBAAD,CAAL,GAA0B,IAA1B;EACA,OAAO;IAAEO,KAAK,EAALA,KAAF;IAASkB,CAAC,EAAE;EAAZ,CAAP;AACD,C;AAoFH,IAAMR,QAAQ,GAAG,IAAA+B,yBAAA,EAAc7C,YAAd,EAA4B;EAC3Ce,GAAG,EAAHA,eAD2C;EAE3CK,aAAa,EAAbA;AAF2C,CAA5B,CAAjB;eAKeN,Q"}
1
+ {"version":3,"file":"StackBar.js","names":["_react","_interopRequireDefault","require","_d3Shape","_core","_getOriginChildren","_createElement","_Bar","_HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","getSeries","_this$asProps","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackBar","Bar","props","hide","push","y","HorizontalBar","x","getBarProps","_ref","_this","_this$asProps2","r","seriesIndex","series","findIndex","s","rBar","map","i","slice","some","bar","_objectSpread2","_objectSpread4","_defineProperty2","hMin","y0","groupKey","getHorizontalBarProps","_ref2","_this2","_this$asProps3","_objectSpread3","wMin","x0","render","Element","dataHintsHandler","establishDataType","createElement","Component","d3Stack","_default","exports"],"sources":["../../src/StackBar.jsx"],"sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y }) {\n const { x, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n })),\n hMin: 0,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n })),\n wMin: 0,\n x0: XY0,\n y,\n r: rBar,\n groupKey: y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n return <Element aria-hidden render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,IAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,cAAA,GAAAP,sBAAA,CAAAC,OAAA;AAEA,IAAMO,gBAAgB,GAAGC,MAAM,CAAC,kBAAkB,CAAC;AACnD,IAAMC,GAAG,GAAGD,MAAM,CAAC,KAAK,CAAC;AAAC,IAEpBE,YAAY,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,YAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,YAAA;EAAA,SAAAA,aAAA;IAAA,IAAAK,gBAAA,mBAAAL,YAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAA,IAAAC,aAAA,aAAAR,YAAA;IAAAS,GAAA;IAAAC,KAAA,EAShB,SAAAC,UAAA,EAAY;MACV,IAAAC,aAAA,GAAkC,IAAI,CAACC,OAAO;QAAtCC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAAEC,IAAI,GAAAH,aAAA,CAAJG,IAAI;QAAEC,KAAK,GAAAJ,aAAA,CAALI,KAAK;MAE7B,IAAIA,KAAK,CAACnB,gBAAgB,CAAC,EAAE;QAC3B,IAAMoB,IAAI,GAAGC,iBAAK,CAACJ,QAAQ,CAACK,OAAO,CAAC,IAAAC,6BAAiB,EAACN,QAAQ,CAAC,CAAC,CAACO,MAAM,CAAC,UAACC,GAAG,EAAEC,KAAK,EAAK;UACtF,IAAI,cAAAL,iBAAK,CAACM,cAAc,CAACD,KAAK,CAAC,IAAIA,KAAK,CAACE,IAAI,KAAKC,QAAQ,CAACC,GAAG,IAAI,CAACJ,KAAK,CAACK,KAAK,CAACC,IAAI,EAAE;YACnFP,GAAG,CAACQ,IAAI,CAACP,KAAK,CAACK,KAAK,CAACG,CAAC,CAAC;UACzB;UACA,IACE,cAAAb,iBAAK,CAACM,cAAc,CAACD,KAAK,CAAC,IAC3BA,KAAK,CAACE,IAAI,KAAKC,QAAQ,CAACM,aAAa,IACrC,CAACT,KAAK,CAACK,KAAK,CAACC,IAAI,EACjB;YACAP,GAAG,CAACQ,IAAI,CAACP,KAAK,CAACK,KAAK,CAACK,CAAC,CAAC;UACzB;UACA,OAAOX,GAAG;QACZ,CAAC,EAAE,EAAE,CAAC;QACNN,KAAK,CAACC,IAAI,CAACA,IAAI,CAAC;MAClB;MAEA,OAAOD,KAAK,CAACD,IAAI,CAAC;IACpB;EAAC;IAAAN,GAAA;IAAAC,KAAA,EAED,SAAAwB,YAAAC,IAAA,EAAmB;MAAA,IAAAC,KAAA;MAAA,IAALL,CAAC,GAAAI,IAAA,CAADJ,CAAC;MACb,IAAAM,cAAA,GAAiB,IAAI,CAACxB,OAAO;QAArBoB,CAAC,GAAAI,cAAA,CAADJ,CAAC;QAAEK,CAAC,GAAAD,cAAA,CAADC,CAAC;MAEZ,IAAMC,WAAW,GAAG,IAAI,CAACC,MAAM,CAACC,SAAS,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAACjC,GAAG,KAAKsB,CAAC;MAAA,EAAC;MAC7D;MACA,IAAMS,MAAM,GAAG,IAAI,CAACA,MAAM,CAACD,WAAW,CAAC,IAAI,EAAE;MAE7C,IAAMI,IAAI,GAAGH,MAAM,CAACI,GAAG,CAAC,UAACF,CAAC,EAAEG,CAAC;QAAA,OAC3BT,KAAI,CAACI,MAAM,CAACM,KAAK,CAACP,WAAW,GAAG,CAAC,CAAC,CAACQ,IAAI,CAAC,UAACC,GAAG;UAAA,OAAKA,GAAG,CAACH,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKG,GAAG,CAACH,CAAC,CAAC,CAAC,CAAC,CAAC;QAAA,EAAC,GAAG,CAAC,GAAGP,CAAC;MAAA,EAClF;MAED,OAAO;QACLvB,IAAI,EAAEyB,MAAM,CAACI,GAAG,CAAC,UAACF,CAAC;UAAA,IAAAO,cAAA;UAAA,WAAAC,cAAA,iBAAAA,cAAA,iBACdR,CAAC,CAAC3B,IAAI,QAAAkC,cAAA,WAAAE,gBAAA,aAAAF,cAAA,EACRlB,CAAC,EAAGW,CAAC,CAAC,CAAC,CAAC,OAAAS,gBAAA,aAAAF,cAAA,EACRlD,GAAG,EAAG2C,CAAC,CAAC,CAAC,CAAC,GAAAO,cAAA;QAAA,CACX,CAAC;QACHG,IAAI,EAAE,CAAC;QACPC,EAAE,EAAEtD,GAAG;QACPkC,CAAC,EAADA,CAAC;QACDK,CAAC,EAAEK,IAAI;QACPW,QAAQ,EAAErB;MACZ,CAAC;IACH;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAA6C,sBAAAC,KAAA,EAA6B;MAAA,IAAAC,MAAA;MAAA,IAALxB,CAAC,GAAAuB,KAAA,CAADvB,CAAC;MACvB,IAAAyB,cAAA,GAAiB,IAAI,CAAC7C,OAAO;QAArBkB,CAAC,GAAA2B,cAAA,CAAD3B,CAAC;QAAEO,CAAC,GAAAoB,cAAA,CAADpB,CAAC;MAEZ,IAAMC,WAAW,GAAG,IAAI,CAACC,MAAM,CAACC,SAAS,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAACjC,GAAG,KAAKwB,CAAC;MAAA,EAAC;MAC7D,IAAMO,MAAM,GAAG,IAAI,CAACA,MAAM,CAACD,WAAW,CAAC;MAEvC,IAAMI,IAAI,GAAGH,MAAM,CAACI,GAAG,CAAC,UAACF,CAAC,EAAEG,CAAC;QAAA,OAC3BY,MAAI,CAACjB,MAAM,CAACM,KAAK,CAACP,WAAW,GAAG,CAAC,CAAC,CAACQ,IAAI,CAAC,UAACC,GAAG;UAAA,OAAKA,GAAG,CAACH,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKG,GAAG,CAACH,CAAC,CAAC,CAAC,CAAC,CAAC;QAAA,EAAC,GAAG,CAAC,GAAGP,CAAC;MAAA,EAClF;MAED,OAAO;QACLvB,IAAI,EAAEyB,MAAM,CAACI,GAAG,CAAC,UAACF,CAAC;UAAA,IAAAiB,cAAA;UAAA,WAAAT,cAAA,iBAAAA,cAAA,iBACdR,CAAC,CAAC3B,IAAI,QAAA4C,cAAA,WAAAR,gBAAA,aAAAQ,cAAA,EACR1B,CAAC,EAAGS,CAAC,CAAC,CAAC,CAAC,OAAAS,gBAAA,aAAAQ,cAAA,EACR5D,GAAG,EAAG2C,CAAC,CAAC,CAAC,CAAC,GAAAiB,cAAA;QAAA,CACX,CAAC;QACHC,IAAI,EAAE,CAAC;QACPC,EAAE,EAAE9D,GAAG;QACPgC,CAAC,EAADA,CAAC;QACDO,CAAC,EAAEK,IAAI;QACPW,QAAQ,EAAEvB;MACZ,CAAC;IACH;EAAC;IAAAtB,GAAA;IAAAC,KAAA,EAED,SAAAoD,OAAA,EAAS;MACP,IAAMC,OAAO,GAAG,IAAI,CAACA,OAAO;MAC5B,IAAI,CAACvB,MAAM,GAAG,IAAI,CAAC7B,SAAS,EAAE;MAE9B,IAAI,CAACE,OAAO,CAACmD,gBAAgB,CAACC,iBAAiB,CAAC,gBAAgB,CAAC;MAEjE,oBAAO7E,MAAA,YAAA8E,aAAA,CAACH,OAAO;QAAC,mBAAW;QAACD,MAAM,EAAC,GAAG;QAACtB,MAAM,EAAE,IAAI,CAACA;MAAO,EAAG;IAChE;EAAC;EAAA,OAAAxC,YAAA;AAAA,EAxFwBmE,eAAS;AAAA,IAAAhB,gBAAA,aAA9BnD,YAAY,iBACK,UAAU;AAAA,IAAAmD,gBAAA,aAD3BnD,YAAY,kBAGM,YAAM;EAC1B,IAAMgB,KAAK,GAAG,IAAAoD,cAAO,GAAE;EACvBpD,KAAK,CAACnB,gBAAgB,CAAC,GAAG,IAAI;EAC9B,OAAO;IAAEmB,KAAK,EAALA,KAAK;IAAEsB,CAAC,EAAE;EAAE,CAAC;AACxB,CAAC;AAoFH,IAAMZ,QAAQ,GAAG,IAAAwC,yBAAa,EAAClE,YAAY,EAAE;EAC3C2B,GAAG,EAAHA,eAAG;EACHK,aAAa,EAAbA;AACF,CAAC,CAAC;AAAC,IAAAqC,QAAA,GAEY3C,QAAQ;AAAA4C,OAAA,cAAAD,QAAA"}