@hitachivantara/uikit-react-core 3.66.1 → 3.66.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 (220) hide show
  1. package/dist/Barchart/Barchart.d.ts +14 -0
  2. package/dist/Barchart/Barchart.js +239 -0
  3. package/dist/Barchart/Barchart.js.map +1 -0
  4. package/dist/Barchart/barchartPlotlyOverrides.js +59 -0
  5. package/dist/Barchart/barchartPlotlyOverrides.js.map +1 -0
  6. package/dist/Barchart/index.d.ts +2 -0
  7. package/dist/Barchart/index.js +16 -0
  8. package/dist/Barchart/index.js.map +1 -0
  9. package/dist/Barchart/styles.js +10 -0
  10. package/dist/Barchart/styles.js.map +1 -0
  11. package/dist/Chart/Chart.d.ts +25 -0
  12. package/dist/Chart/Chart.js +215 -0
  13. package/dist/Chart/Chart.js.map +1 -0
  14. package/dist/Chart/Plot/Plot.d.ts +43 -0
  15. package/dist/Chart/Plot/Plot.js +131 -0
  16. package/dist/Chart/Plot/Plot.js.map +1 -0
  17. package/dist/Chart/Plot/index.d.ts +2 -0
  18. package/dist/Chart/Plot/index.js +16 -0
  19. package/dist/Chart/Plot/index.js.map +1 -0
  20. package/dist/Chart/Plot/styles.js +10 -0
  21. package/dist/Chart/Plot/styles.js.map +1 -0
  22. package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js +162 -0
  23. package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -0
  24. package/dist/Chart/Tooltip/MultiTooltip/index.js +16 -0
  25. package/dist/Chart/Tooltip/MultiTooltip/index.js.map +1 -0
  26. package/dist/Chart/Tooltip/MultiTooltip/styles.js +51 -0
  27. package/dist/Chart/Tooltip/MultiTooltip/styles.js.map +1 -0
  28. package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js +87 -0
  29. package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -0
  30. package/dist/Chart/Tooltip/SingleTooltip/index.js +16 -0
  31. package/dist/Chart/Tooltip/SingleTooltip/index.js.map +1 -0
  32. package/dist/Chart/Tooltip/SingleTooltip/styles.js +26 -0
  33. package/dist/Chart/Tooltip/SingleTooltip/styles.js.map +1 -0
  34. package/dist/Chart/Tooltip/Tooltip.js +165 -0
  35. package/dist/Chart/Tooltip/Tooltip.js.map +1 -0
  36. package/dist/Chart/Tooltip/index.js +16 -0
  37. package/dist/Chart/Tooltip/index.js.map +1 -0
  38. package/dist/Chart/Tooltip/styles.js +16 -0
  39. package/dist/Chart/Tooltip/styles.js.map +1 -0
  40. package/dist/Chart/chartPlotlyOverrides.js +169 -0
  41. package/dist/Chart/chartPlotlyOverrides.js.map +1 -0
  42. package/dist/Chart/index.d.ts +5 -0
  43. package/dist/Chart/index.js +16 -0
  44. package/dist/Chart/index.js.map +1 -0
  45. package/dist/Chart/styles.js +49 -0
  46. package/dist/Chart/styles.js.map +1 -0
  47. package/dist/Donutchart/Donutchart.d.ts +10 -0
  48. package/dist/Donutchart/Donutchart.js +124 -0
  49. package/dist/Donutchart/Donutchart.js.map +1 -0
  50. package/dist/Donutchart/donutchartPlotlyOverrides.js +56 -0
  51. package/dist/Donutchart/donutchartPlotlyOverrides.js.map +1 -0
  52. package/dist/Donutchart/index.d.ts +2 -0
  53. package/dist/Donutchart/index.js +16 -0
  54. package/dist/Donutchart/index.js.map +1 -0
  55. package/dist/Donutchart/styles.js +10 -0
  56. package/dist/Donutchart/styles.js.map +1 -0
  57. package/dist/Linechart/Linechart.d.ts +14 -0
  58. package/dist/Linechart/Linechart.js +130 -0
  59. package/dist/Linechart/Linechart.js.map +1 -0
  60. package/dist/Linechart/index.d.ts +2 -0
  61. package/dist/Linechart/index.js +16 -0
  62. package/dist/Linechart/index.js.map +1 -0
  63. package/dist/Linechart/lineChartPlotlyOverrides.js +79 -0
  64. package/dist/Linechart/lineChartPlotlyOverrides.js.map +1 -0
  65. package/dist/Linechart/styles.js +10 -0
  66. package/dist/Linechart/styles.js.map +1 -0
  67. package/dist/Provider/Provider.js +3 -14
  68. package/dist/Provider/Provider.js.map +1 -1
  69. package/dist/Stack/Stack.js +14 -14
  70. package/dist/Stack/Stack.js.map +1 -1
  71. package/dist/index.d.ts +9 -0
  72. package/dist/index.js +27 -0
  73. package/dist/index.js.map +1 -1
  74. package/dist/legacy/Barchart/Barchart.d.ts +14 -0
  75. package/dist/legacy/Barchart/Barchart.js +195 -0
  76. package/dist/legacy/Barchart/Barchart.js.map +1 -0
  77. package/dist/legacy/Barchart/barchartPlotlyOverrides.js +43 -0
  78. package/dist/legacy/Barchart/barchartPlotlyOverrides.js.map +1 -0
  79. package/dist/legacy/Barchart/index.d.ts +2 -0
  80. package/dist/legacy/Barchart/index.js +2 -0
  81. package/dist/legacy/Barchart/index.js.map +1 -0
  82. package/dist/legacy/Barchart/styles.js +3 -0
  83. package/dist/legacy/Barchart/styles.js.map +1 -0
  84. package/dist/legacy/Chart/Chart.d.ts +25 -0
  85. package/dist/legacy/Chart/Chart.js +174 -0
  86. package/dist/legacy/Chart/Chart.js.map +1 -0
  87. package/dist/legacy/Chart/Plot/Plot.d.ts +43 -0
  88. package/dist/legacy/Chart/Plot/Plot.js +93 -0
  89. package/dist/legacy/Chart/Plot/Plot.js.map +1 -0
  90. package/dist/legacy/Chart/Plot/index.d.ts +2 -0
  91. package/dist/legacy/Chart/Plot/index.js +2 -0
  92. package/dist/legacy/Chart/Plot/index.js.map +1 -0
  93. package/dist/legacy/Chart/Plot/styles.js +3 -0
  94. package/dist/legacy/Chart/Plot/styles.js.map +1 -0
  95. package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js +130 -0
  96. package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -0
  97. package/dist/legacy/Chart/Tooltip/MultiTooltip/index.js +2 -0
  98. package/dist/legacy/Chart/Tooltip/MultiTooltip/index.js.map +1 -0
  99. package/dist/legacy/Chart/Tooltip/MultiTooltip/styles.js +43 -0
  100. package/dist/legacy/Chart/Tooltip/MultiTooltip/styles.js.map +1 -0
  101. package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js +54 -0
  102. package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -0
  103. package/dist/legacy/Chart/Tooltip/SingleTooltip/index.js +2 -0
  104. package/dist/legacy/Chart/Tooltip/SingleTooltip/index.js.map +1 -0
  105. package/dist/legacy/Chart/Tooltip/SingleTooltip/styles.js +18 -0
  106. package/dist/legacy/Chart/Tooltip/SingleTooltip/styles.js.map +1 -0
  107. package/dist/legacy/Chart/Tooltip/Tooltip.js +128 -0
  108. package/dist/legacy/Chart/Tooltip/Tooltip.js.map +1 -0
  109. package/dist/legacy/Chart/Tooltip/index.js +2 -0
  110. package/dist/legacy/Chart/Tooltip/index.js.map +1 -0
  111. package/dist/legacy/Chart/Tooltip/styles.js +9 -0
  112. package/dist/legacy/Chart/Tooltip/styles.js.map +1 -0
  113. package/dist/legacy/Chart/chartPlotlyOverrides.js +147 -0
  114. package/dist/legacy/Chart/chartPlotlyOverrides.js.map +1 -0
  115. package/dist/legacy/Chart/index.d.ts +5 -0
  116. package/dist/legacy/Chart/index.js +2 -0
  117. package/dist/legacy/Chart/index.js.map +1 -0
  118. package/dist/legacy/Chart/styles.js +32 -0
  119. package/dist/legacy/Chart/styles.js.map +1 -0
  120. package/dist/legacy/Donutchart/Donutchart.d.ts +10 -0
  121. package/dist/legacy/Donutchart/Donutchart.js +86 -0
  122. package/dist/legacy/Donutchart/Donutchart.js.map +1 -0
  123. package/dist/legacy/Donutchart/donutchartPlotlyOverrides.js +40 -0
  124. package/dist/legacy/Donutchart/donutchartPlotlyOverrides.js.map +1 -0
  125. package/dist/legacy/Donutchart/index.d.ts +2 -0
  126. package/dist/legacy/Donutchart/index.js +2 -0
  127. package/dist/legacy/Donutchart/index.js.map +1 -0
  128. package/dist/legacy/Donutchart/styles.js +3 -0
  129. package/dist/legacy/Donutchart/styles.js.map +1 -0
  130. package/dist/legacy/Linechart/Linechart.d.ts +14 -0
  131. package/dist/legacy/Linechart/Linechart.js +92 -0
  132. package/dist/legacy/Linechart/Linechart.js.map +1 -0
  133. package/dist/legacy/Linechart/index.d.ts +2 -0
  134. package/dist/legacy/Linechart/index.js +2 -0
  135. package/dist/legacy/Linechart/index.js.map +1 -0
  136. package/dist/legacy/Linechart/lineChartPlotlyOverrides.js +63 -0
  137. package/dist/legacy/Linechart/lineChartPlotlyOverrides.js.map +1 -0
  138. package/dist/legacy/Linechart/styles.js +3 -0
  139. package/dist/legacy/Linechart/styles.js.map +1 -0
  140. package/dist/legacy/Provider/Provider.js +4 -15
  141. package/dist/legacy/Provider/Provider.js.map +1 -1
  142. package/dist/legacy/Stack/Stack.js +14 -14
  143. package/dist/legacy/Stack/Stack.js.map +1 -1
  144. package/dist/legacy/index.d.ts +9 -0
  145. package/dist/legacy/index.js +3 -0
  146. package/dist/legacy/index.js.map +1 -1
  147. package/dist/modern/Barchart/Barchart.d.ts +14 -0
  148. package/dist/modern/Barchart/Barchart.js +176 -0
  149. package/dist/modern/Barchart/Barchart.js.map +1 -0
  150. package/dist/modern/Barchart/barchartPlotlyOverrides.js +41 -0
  151. package/dist/modern/Barchart/barchartPlotlyOverrides.js.map +1 -0
  152. package/dist/modern/Barchart/index.d.ts +2 -0
  153. package/dist/modern/Barchart/index.js +2 -0
  154. package/dist/modern/Barchart/index.js.map +1 -0
  155. package/dist/modern/Barchart/styles.js +3 -0
  156. package/dist/modern/Barchart/styles.js.map +1 -0
  157. package/dist/modern/Chart/Chart.d.ts +25 -0
  158. package/dist/modern/Chart/Chart.js +158 -0
  159. package/dist/modern/Chart/Chart.js.map +1 -0
  160. package/dist/modern/Chart/Plot/Plot.d.ts +43 -0
  161. package/dist/modern/Chart/Plot/Plot.js +94 -0
  162. package/dist/modern/Chart/Plot/Plot.js.map +1 -0
  163. package/dist/modern/Chart/Plot/index.d.ts +2 -0
  164. package/dist/modern/Chart/Plot/index.js +2 -0
  165. package/dist/modern/Chart/Plot/index.js.map +1 -0
  166. package/dist/modern/Chart/Plot/styles.js +3 -0
  167. package/dist/modern/Chart/Plot/styles.js.map +1 -0
  168. package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js +123 -0
  169. package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -0
  170. package/dist/modern/Chart/Tooltip/MultiTooltip/index.js +2 -0
  171. package/dist/modern/Chart/Tooltip/MultiTooltip/index.js.map +1 -0
  172. package/dist/modern/Chart/Tooltip/MultiTooltip/styles.js +41 -0
  173. package/dist/modern/Chart/Tooltip/MultiTooltip/styles.js.map +1 -0
  174. package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js +51 -0
  175. package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -0
  176. package/dist/modern/Chart/Tooltip/SingleTooltip/index.js +2 -0
  177. package/dist/modern/Chart/Tooltip/SingleTooltip/index.js.map +1 -0
  178. package/dist/modern/Chart/Tooltip/SingleTooltip/styles.js +16 -0
  179. package/dist/modern/Chart/Tooltip/SingleTooltip/styles.js.map +1 -0
  180. package/dist/modern/Chart/Tooltip/Tooltip.js +125 -0
  181. package/dist/modern/Chart/Tooltip/Tooltip.js.map +1 -0
  182. package/dist/modern/Chart/Tooltip/index.js +2 -0
  183. package/dist/modern/Chart/Tooltip/index.js.map +1 -0
  184. package/dist/modern/Chart/Tooltip/styles.js +9 -0
  185. package/dist/modern/Chart/Tooltip/styles.js.map +1 -0
  186. package/dist/modern/Chart/chartPlotlyOverrides.js +137 -0
  187. package/dist/modern/Chart/chartPlotlyOverrides.js.map +1 -0
  188. package/dist/modern/Chart/index.d.ts +5 -0
  189. package/dist/modern/Chart/index.js +2 -0
  190. package/dist/modern/Chart/index.js.map +1 -0
  191. package/dist/modern/Chart/styles.js +23 -0
  192. package/dist/modern/Chart/styles.js.map +1 -0
  193. package/dist/modern/Donutchart/Donutchart.d.ts +10 -0
  194. package/dist/modern/Donutchart/Donutchart.js +82 -0
  195. package/dist/modern/Donutchart/Donutchart.js.map +1 -0
  196. package/dist/modern/Donutchart/donutchartPlotlyOverrides.js +38 -0
  197. package/dist/modern/Donutchart/donutchartPlotlyOverrides.js.map +1 -0
  198. package/dist/modern/Donutchart/index.d.ts +2 -0
  199. package/dist/modern/Donutchart/index.js +2 -0
  200. package/dist/modern/Donutchart/index.js.map +1 -0
  201. package/dist/modern/Donutchart/styles.js +3 -0
  202. package/dist/modern/Donutchart/styles.js.map +1 -0
  203. package/dist/modern/Linechart/Linechart.d.ts +14 -0
  204. package/dist/modern/Linechart/Linechart.js +87 -0
  205. package/dist/modern/Linechart/Linechart.js.map +1 -0
  206. package/dist/modern/Linechart/index.d.ts +2 -0
  207. package/dist/modern/Linechart/index.js +2 -0
  208. package/dist/modern/Linechart/index.js.map +1 -0
  209. package/dist/modern/Linechart/lineChartPlotlyOverrides.js +59 -0
  210. package/dist/modern/Linechart/lineChartPlotlyOverrides.js.map +1 -0
  211. package/dist/modern/Linechart/styles.js +3 -0
  212. package/dist/modern/Linechart/styles.js.map +1 -0
  213. package/dist/modern/Provider/Provider.js +3 -8
  214. package/dist/modern/Provider/Provider.js.map +1 -1
  215. package/dist/modern/Stack/Stack.js +4 -4
  216. package/dist/modern/Stack/Stack.js.map +1 -1
  217. package/dist/modern/index.d.ts +9 -0
  218. package/dist/modern/index.js +3 -0
  219. package/dist/modern/index.js.map +1 -1
  220. package/package.json +7 -6
@@ -0,0 +1,14 @@
1
+ import { HvChartProps } from "../Chart";
2
+
3
+ export interface HvBarchartProps extends HvChartProps {
4
+ /**
5
+ * Sets if the chart is stack.
6
+ */
7
+ stack?: boolean;
8
+ /**
9
+ * Sets if the chart is horizontal.
10
+ */
11
+ horizontal?: boolean;
12
+ }
13
+
14
+ export default function HvBarchart(props: HvBarchartProps): JSX.Element | null;
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.keys.js");
4
+
5
+ require("core-js/modules/es.symbol.js");
6
+
7
+ require("core-js/modules/es.array.filter.js");
8
+
9
+ require("core-js/modules/es.object.to-string.js");
10
+
11
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
12
+
13
+ require("core-js/modules/web.dom-collections.for-each.js");
14
+
15
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
16
+
17
+ require("core-js/modules/es.array.iterator.js");
18
+
19
+ require("core-js/modules/es.string.iterator.js");
20
+
21
+ require("core-js/modules/es.weak-map.js");
22
+
23
+ require("core-js/modules/web.dom-collections.iterator.js");
24
+
25
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
26
+
27
+ var _typeof = require("@babel/runtime/helpers/typeof");
28
+
29
+ Object.defineProperty(exports, "__esModule", {
30
+ value: true
31
+ });
32
+ exports.default = void 0;
33
+
34
+ require("core-js/modules/es.array.map.js");
35
+
36
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
37
+
38
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
39
+
40
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
41
+
42
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
43
+
44
+ var _react = _interopRequireWildcard(require("react"));
45
+
46
+ var _propTypes = _interopRequireDefault(require("prop-types"));
47
+
48
+ var _core = require("@material-ui/core");
49
+
50
+ var _Chart = _interopRequireDefault(require("../Chart"));
51
+
52
+ var _barchartPlotlyOverrides = require("./barchartPlotlyOverrides");
53
+
54
+ var _styles = _interopRequireDefault(require("./styles"));
55
+
56
+ var _excluded = ["id", "classes", "data", "layout", "config", "tooltipType", "stack", "horizontal"];
57
+
58
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
59
+
60
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
61
+
62
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
63
+
64
+ 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; }
65
+
66
+ var MARGIN = 50;
67
+ var MAX_BAR_WIDTH = 90;
68
+ var MIN_BAR_WIDTH = 3;
69
+ /**
70
+ * A Bar chart is a chart or graph that presents categorical data with rectangular bars.
71
+ *
72
+ * Our implementation leverages the Plotly charting library. If you have a specific case
73
+ * that we don't cover, the Plotly [documentation](https://plotly.com/javascript/) is a good starting point.
74
+ */
75
+
76
+ var Barchart = function Barchart(_ref) {
77
+ var id = _ref.id,
78
+ classes = _ref.classes,
79
+ data = _ref.data,
80
+ layout = _ref.layout,
81
+ config = _ref.config,
82
+ _ref$tooltipType = _ref.tooltipType,
83
+ tooltipType = _ref$tooltipType === void 0 ? "multiple" : _ref$tooltipType,
84
+ _ref$stack = _ref.stack,
85
+ stack = _ref$stack === void 0 ? false : _ref$stack,
86
+ _ref$horizontal = _ref.horizontal,
87
+ horizontal = _ref$horizontal === void 0 ? false : _ref$horizontal,
88
+ others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
89
+
90
+ /* Values derived from props */
91
+ var dataWithDefaults = (0, _react.useMemo)(function () {
92
+ return (0, _barchartPlotlyOverrides.applyDataDefaults)(data, horizontal);
93
+ }, [data, horizontal]);
94
+ var chartLayout = (0, _react.useMemo)(function () {
95
+ return (0, _barchartPlotlyOverrides.applyLayoutDefaults)(layout, stack, horizontal);
96
+ }, [layout, stack, horizontal]);
97
+ /* State */
98
+
99
+ var _useState = (0, _react.useState)(dataWithDefaults),
100
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
101
+ chartData = _useState2[0],
102
+ setChartData = _useState2[1];
103
+ /* Effects */
104
+
105
+
106
+ var firstRender = (0, _react.useRef)(true);
107
+ (0, _react.useEffect)(function () {
108
+ // only setChartData when prop value changes
109
+ // not needed on first render because the
110
+ // initial state is already properly set
111
+ if (!firstRender.current) {
112
+ setChartData(dataWithDefaults);
113
+ }
114
+
115
+ firstRender.current = false;
116
+ }, [dataWithDefaults]);
117
+ /**
118
+ * Used to force the max width of each bar with 90px.
119
+ *
120
+ * (this is effectively more an effect than a callback)
121
+ */
122
+
123
+ var recalculateBarWidth = (0, _react.useCallback)(function (ref) {
124
+ // use the data and layout info directly from the plotly ref
125
+ // as it's always the most uptodate version.
126
+ var plotData = ref.current.props.data;
127
+ var plotLayout = ref.current.props.layout;
128
+
129
+ if (plotData.length > 0) {
130
+ var barmode = plotLayout.barmode,
131
+ bargap = plotLayout.bargap,
132
+ bargroupgap = plotLayout.bargroupgap;
133
+ var isStack = barmode === "stack";
134
+ var numberOfBarsByGroup = isStack ? 1 : plotData.length;
135
+ var numberOfGroup = plotData[0].x.length;
136
+
137
+ var _ref$current$el$getBo = ref.current.el.getBoundingClientRect(),
138
+ width = _ref$current$el$getBo.width;
139
+
140
+ var plotWidth = width - MARGIN;
141
+ var groupWidth = plotWidth / numberOfGroup;
142
+ var colWidth = groupWidth * (1 - bargap) - groupWidth * (1 - bargap) * bargroupgap;
143
+ var calculatedBarWidth = colWidth / numberOfBarsByGroup;
144
+ var greaterThan90 = calculatedBarWidth > MAX_BAR_WIDTH;
145
+ var lessThan3 = calculatedBarWidth < MIN_BAR_WIDTH;
146
+ var isAlreadyGreaterThan90 = plotData[0].width !== undefined;
147
+
148
+ if (greaterThan90 && !isAlreadyGreaterThan90) {
149
+ var newWidth = MAX_BAR_WIDTH / plotWidth * numberOfGroup;
150
+ var newData = plotData.map(function (subData) {
151
+ return _objectSpread(_objectSpread({}, subData), {}, {
152
+ width: newWidth
153
+ });
154
+ });
155
+ setChartData(newData);
156
+ }
157
+
158
+ if (lessThan3 && !isAlreadyGreaterThan90) {
159
+ var _newWidth = MIN_BAR_WIDTH / plotWidth * numberOfGroup;
160
+
161
+ var _newData = plotData.map(function (subData) {
162
+ return _objectSpread(_objectSpread({}, subData), {}, {
163
+ width: _newWidth
164
+ });
165
+ });
166
+
167
+ setChartData(_newData);
168
+ }
169
+
170
+ if (!greaterThan90 && isAlreadyGreaterThan90) {
171
+ var _newData2 = plotData.map(function (subData) {
172
+ return _objectSpread(_objectSpread({}, subData), {}, {
173
+ width: undefined
174
+ });
175
+ });
176
+
177
+ setChartData(_newData2);
178
+ }
179
+ }
180
+ }, []);
181
+ return /*#__PURE__*/_react.default.createElement(_Chart.default, (0, _extends2.default)({
182
+ id: id,
183
+ classes: classes,
184
+ data: chartData,
185
+ layout: chartLayout,
186
+ config: config,
187
+ tooltipType: tooltipType,
188
+ afterPlot: recalculateBarWidth
189
+ }, others));
190
+ };
191
+
192
+ process.env.NODE_ENV !== "production" ? Barchart.propTypes = {
193
+ /**
194
+ * An Id passed on to the component
195
+ */
196
+ id: _propTypes.default.string,
197
+
198
+ /**
199
+ * A Jss Object used to override or extend the styles applied.
200
+ */
201
+ classes: _propTypes.default.instanceOf(Object),
202
+
203
+ /**
204
+ * Plotly data object (see https://plot.ly/javascript/reference/).
205
+ */
206
+ data: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Object)).isRequired,
207
+
208
+ /**
209
+ * Plotly layout object (see https://plot.ly/javascript/reference/#layout).
210
+ */
211
+ layout: _propTypes.default.instanceOf(Object),
212
+
213
+ /**
214
+ * Plotly config object (see https://plot.ly/javascript/configuration-options/).
215
+ */
216
+ config: _propTypes.default.instanceOf(Object),
217
+
218
+ /**
219
+ * Defines if should use a single or multiline tooltip.
220
+ */
221
+ tooltipType: _propTypes.default.oneOf(["single", "multiple"]),
222
+
223
+ /**
224
+ * Sets is the chart is stack.
225
+ */
226
+ stack: _propTypes.default.bool,
227
+
228
+ /**
229
+ * Sets is the chart is horizontal.
230
+ */
231
+ horizontal: _propTypes.default.bool
232
+ } : void 0;
233
+
234
+ var _default = (0, _core.withStyles)(_styles.default, {
235
+ name: "HvBarchart"
236
+ })(Barchart);
237
+
238
+ exports.default = _default;
239
+ //# sourceMappingURL=Barchart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Barchart.js","names":["MARGIN","MAX_BAR_WIDTH","MIN_BAR_WIDTH","Barchart","id","classes","data","layout","config","tooltipType","stack","horizontal","others","dataWithDefaults","chartLayout","chartData","setChartData","firstRender","current","recalculateBarWidth","ref","plotData","props","plotLayout","length","barmode","bargap","bargroupgap","isStack","numberOfBarsByGroup","numberOfGroup","x","el","getBoundingClientRect","width","plotWidth","groupWidth","colWidth","calculatedBarWidth","greaterThan90","lessThan3","isAlreadyGreaterThan90","undefined","newWidth","newData","map","subData","propTypes","PropTypes","string","instanceOf","Object","arrayOf","isRequired","oneOf","bool","styles","name"],"sources":["../../src/Barchart/Barchart.js"],"sourcesContent":["import React, { useMemo, useEffect, useState, useCallback, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport Chart from \"../Chart\";\nimport { applyLayoutDefaults, applyDataDefaults } from \"./barchartPlotlyOverrides\";\nimport styles from \"./styles\";\n\nconst MARGIN = 50;\nconst MAX_BAR_WIDTH = 90;\nconst MIN_BAR_WIDTH = 3;\n\n/**\n * A Bar chart is a chart or graph that presents categorical data with rectangular bars.\n *\n * Our implementation leverages the Plotly charting library. If you have a specific case\n * that we don't cover, the Plotly [documentation](https://plotly.com/javascript/) is a good starting point.\n */\nconst Barchart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n stack = false,\n horizontal = false,\n ...others\n}) => {\n /* Values derived from props */\n\n const dataWithDefaults = useMemo(() => applyDataDefaults(data, horizontal), [data, horizontal]);\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, stack, horizontal),\n [layout, stack, horizontal]\n );\n\n /* State */\n\n const [chartData, setChartData] = useState(dataWithDefaults);\n\n /* Effects */\n\n const firstRender = useRef(true);\n useEffect(() => {\n // only setChartData when prop value changes\n // not needed on first render because the\n // initial state is already properly set\n if (!firstRender.current) {\n setChartData(dataWithDefaults);\n }\n\n firstRender.current = false;\n }, [dataWithDefaults]);\n\n /**\n * Used to force the max width of each bar with 90px.\n *\n * (this is effectively more an effect than a callback)\n */\n const recalculateBarWidth = useCallback((ref) => {\n // use the data and layout info directly from the plotly ref\n // as it's always the most uptodate version.\n const plotData = ref.current.props.data;\n const plotLayout = ref.current.props.layout;\n\n if (plotData.length > 0) {\n const { barmode, bargap, bargroupgap } = plotLayout;\n\n const isStack = barmode === \"stack\";\n const numberOfBarsByGroup = isStack ? 1 : plotData.length;\n const numberOfGroup = plotData[0].x.length;\n\n const { width } = ref.current.el.getBoundingClientRect();\n const plotWidth = width - MARGIN;\n const groupWidth = plotWidth / numberOfGroup;\n const colWidth = groupWidth * (1 - bargap) - groupWidth * (1 - bargap) * bargroupgap;\n\n const calculatedBarWidth = colWidth / numberOfBarsByGroup;\n const greaterThan90 = calculatedBarWidth > MAX_BAR_WIDTH;\n const lessThan3 = calculatedBarWidth < MIN_BAR_WIDTH;\n const isAlreadyGreaterThan90 = plotData[0].width !== undefined;\n\n if (greaterThan90 && !isAlreadyGreaterThan90) {\n const newWidth = (MAX_BAR_WIDTH / plotWidth) * numberOfGroup;\n\n const newData = plotData.map((subData) => {\n return { ...subData, width: newWidth };\n });\n\n setChartData(newData);\n }\n\n if (lessThan3 && !isAlreadyGreaterThan90) {\n const newWidth = (MIN_BAR_WIDTH / plotWidth) * numberOfGroup;\n\n const newData = plotData.map((subData) => {\n return { ...subData, width: newWidth };\n });\n\n setChartData(newData);\n }\n\n if (!greaterThan90 && isAlreadyGreaterThan90) {\n const newData = plotData.map((subData) => {\n return { ...subData, width: undefined };\n });\n\n setChartData(newData);\n }\n }\n }, []);\n\n return (\n <Chart\n id={id}\n classes={classes}\n data={chartData}\n layout={chartLayout}\n config={config}\n tooltipType={tooltipType}\n afterPlot={recalculateBarWidth}\n {...others}\n />\n );\n};\nBarchart.propTypes = {\n /**\n * An Id passed on to the component\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.instanceOf(Object),\n /**\n * Plotly data object (see https://plot.ly/javascript/reference/).\n */\n data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Plotly layout object (see https://plot.ly/javascript/reference/#layout).\n */\n layout: PropTypes.instanceOf(Object),\n /**\n * Plotly config object (see https://plot.ly/javascript/configuration-options/).\n */\n config: PropTypes.instanceOf(Object),\n /**\n * Defines if should use a single or multiline tooltip.\n */\n tooltipType: PropTypes.oneOf([\"single\", \"multiple\"]),\n /**\n * Sets is the chart is stack.\n */\n stack: PropTypes.bool,\n /**\n * Sets is the chart is horizontal.\n */\n horizontal: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvBarchart\" })(Barchart);\n"],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.applyLayoutDefaults = exports.applyDataDefaults = void 0;
9
+
10
+ require("core-js/modules/es.object.to-string.js");
11
+
12
+ require("core-js/modules/web.dom-collections.for-each.js");
13
+
14
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
15
+
16
+ var setterIfNil = function setterIfNil(object, property, value) {
17
+ var _object$property;
18
+
19
+ // eslint-disable-next-line no-param-reassign
20
+ object[property] = (_object$property = object[property]) !== null && _object$property !== void 0 ? _object$property : value;
21
+ };
22
+ /**
23
+ * Auxiliary functions to set the layout in order to follow the DS guideline.
24
+ */
25
+
26
+
27
+ var applyLayoutDefaults = function applyLayoutDefaults(inputLayout, stack, isHorizontal) {
28
+ var layout = inputLayout === undefined ? {} : (0, _cloneDeep.default)(inputLayout);
29
+ setterIfNil(layout, "bargap", 0.25);
30
+ setterIfNil(layout, "bargroupgap", 0.25);
31
+ setterIfNil(layout, "hovermode", "closest");
32
+ if (stack) setterIfNil(layout, "barmode", "stack");
33
+ setterIfNil(layout, "yaxis", {});
34
+ setterIfNil(layout, "xaxis", {});
35
+
36
+ if (isHorizontal) {
37
+ setterIfNil(layout.yaxis, "showline", true);
38
+ setterIfNil(layout.xaxis, "showline", false);
39
+ } else {
40
+ setterIfNil(layout.yaxis, "showline", false);
41
+ }
42
+
43
+ return layout;
44
+ };
45
+
46
+ exports.applyLayoutDefaults = applyLayoutDefaults;
47
+
48
+ var applyDataDefaults = function applyDataDefaults(inputData, isHorizontal) {
49
+ var data = inputData;
50
+ data.forEach(function (trace) {
51
+ setterIfNil(trace, "type", "bar");
52
+ setterIfNil(trace, "hoverinfo", "none");
53
+ if (isHorizontal) setterIfNil(trace, "orientation", "h");
54
+ });
55
+ return data;
56
+ };
57
+
58
+ exports.applyDataDefaults = applyDataDefaults;
59
+ //# sourceMappingURL=barchartPlotlyOverrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"barchartPlotlyOverrides.js","names":["setterIfNil","object","property","value","applyLayoutDefaults","inputLayout","stack","isHorizontal","layout","undefined","yaxis","xaxis","applyDataDefaults","inputData","data","forEach","trace"],"sources":["../../src/Barchart/barchartPlotlyOverrides.js"],"sourcesContent":["import clone from \"lodash/cloneDeep\";\n\nconst setterIfNil = (object, property, value) => {\n // eslint-disable-next-line no-param-reassign\n object[property] = object[property] ?? value;\n};\n\n/**\n * Auxiliary functions to set the layout in order to follow the DS guideline.\n */\nexport const applyLayoutDefaults = (inputLayout, stack, isHorizontal) => {\n const layout = inputLayout === undefined ? {} : clone(inputLayout);\n setterIfNil(layout, \"bargap\", 0.25);\n setterIfNil(layout, \"bargroupgap\", 0.25);\n setterIfNil(layout, \"hovermode\", \"closest\");\n if (stack) setterIfNil(layout, \"barmode\", \"stack\");\n\n setterIfNil(layout, \"yaxis\", {});\n setterIfNil(layout, \"xaxis\", {});\n\n if (isHorizontal) {\n setterIfNil(layout.yaxis, \"showline\", true);\n setterIfNil(layout.xaxis, \"showline\", false);\n } else {\n setterIfNil(layout.yaxis, \"showline\", false);\n }\n\n return layout;\n};\n\nexport const applyDataDefaults = (inputData, isHorizontal) => {\n const data = inputData;\n\n data.forEach((trace) => {\n setterIfNil(trace, \"type\", \"bar\");\n setterIfNil(trace, \"hoverinfo\", \"none\");\n if (isHorizontal) setterIfNil(trace, \"orientation\", \"h\");\n });\n\n return data;\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAASC,QAAT,EAAmBC,KAAnB,EAA6B;EAAA;;EAC/C;EACAF,MAAM,CAACC,QAAD,CAAN,uBAAmBD,MAAM,CAACC,QAAD,CAAzB,+DAAuCC,KAAvC;AACD,CAHD;AAKA;AACA;AACA;;;AACO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,WAAD,EAAcC,KAAd,EAAqBC,YAArB,EAAsC;EACvE,IAAMC,MAAM,GAAGH,WAAW,KAAKI,SAAhB,GAA4B,EAA5B,GAAiC,wBAAMJ,WAAN,CAAhD;EACAL,WAAW,CAACQ,MAAD,EAAS,QAAT,EAAmB,IAAnB,CAAX;EACAR,WAAW,CAACQ,MAAD,EAAS,aAAT,EAAwB,IAAxB,CAAX;EACAR,WAAW,CAACQ,MAAD,EAAS,WAAT,EAAsB,SAAtB,CAAX;EACA,IAAIF,KAAJ,EAAWN,WAAW,CAACQ,MAAD,EAAS,SAAT,EAAoB,OAApB,CAAX;EAEXR,WAAW,CAACQ,MAAD,EAAS,OAAT,EAAkB,EAAlB,CAAX;EACAR,WAAW,CAACQ,MAAD,EAAS,OAAT,EAAkB,EAAlB,CAAX;;EAEA,IAAID,YAAJ,EAAkB;IAChBP,WAAW,CAACQ,MAAM,CAACE,KAAR,EAAe,UAAf,EAA2B,IAA3B,CAAX;IACAV,WAAW,CAACQ,MAAM,CAACG,KAAR,EAAe,UAAf,EAA2B,KAA3B,CAAX;EACD,CAHD,MAGO;IACLX,WAAW,CAACQ,MAAM,CAACE,KAAR,EAAe,UAAf,EAA2B,KAA3B,CAAX;EACD;;EAED,OAAOF,MAAP;AACD,CAlBM;;;;AAoBA,IAAMI,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,SAAD,EAAYN,YAAZ,EAA6B;EAC5D,IAAMO,IAAI,GAAGD,SAAb;EAEAC,IAAI,CAACC,OAAL,CAAa,UAACC,KAAD,EAAW;IACtBhB,WAAW,CAACgB,KAAD,EAAQ,MAAR,EAAgB,KAAhB,CAAX;IACAhB,WAAW,CAACgB,KAAD,EAAQ,WAAR,EAAqB,MAArB,CAAX;IACA,IAAIT,YAAJ,EAAkBP,WAAW,CAACgB,KAAD,EAAQ,aAAR,EAAuB,GAAvB,CAAX;EACnB,CAJD;EAMA,OAAOF,IAAP;AACD,CAVM"}
@@ -0,0 +1,2 @@
1
+ export { default } from "./Barchart";
2
+ export * from "./Barchart";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "default", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _Barchart.default;
12
+ }
13
+ });
14
+
15
+ var _Barchart = _interopRequireDefault(require("./Barchart"));
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/Barchart/index.js"],"sourcesContent":["export { default } from \"./Barchart\";\n"],"mappings":";;;;;;;;;;;;;;AAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var styles = {};
8
+ var _default = styles;
9
+ exports.default = _default;
10
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","names":["styles"],"sources":["../../src/Barchart/styles.js"],"sourcesContent":["const styles = {};\n\nexport default styles;\n"],"mappings":";;;;;;AAAA,IAAMA,MAAM,GAAG,EAAf;eAEeA,M"}
@@ -0,0 +1,25 @@
1
+ import { StandardProps } from "@material-ui/core";
2
+ import { HvPlotProps } from "./Plot";
3
+
4
+ export type HvChartClassKey = "root";
5
+
6
+ export interface HvChartProps extends StandardProps<HvPlotProps, HvChartClassKey> {
7
+ /**
8
+ * Defines if should use a single or multiline tooltip.
9
+ */
10
+ tooltipType?: "single" | "multiple";
11
+ /**
12
+ * Defines the X axis title.
13
+ */
14
+ xAxisTitle?: string;
15
+ /**
16
+ * Defines the Y axis title.
17
+ */
18
+ yAxisTitle?: string;
19
+ /**
20
+ * Defines the chart subtitle.
21
+ */
22
+ subtitle?: string;
23
+ }
24
+
25
+ export default function HvChart(props: HvChartProps): JSX.Element | null;
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+
5
+ require("core-js/modules/es.string.iterator.js");
6
+
7
+ require("core-js/modules/es.weak-map.js");
8
+
9
+ require("core-js/modules/web.dom-collections.iterator.js");
10
+
11
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
12
+
13
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
+
15
+ var _typeof = require("@babel/runtime/helpers/typeof");
16
+
17
+ Object.defineProperty(exports, "__esModule", {
18
+ value: true
19
+ });
20
+ exports.default = void 0;
21
+
22
+ require("core-js/modules/es.object.to-string.js");
23
+
24
+ require("core-js/modules/web.dom-collections.for-each.js");
25
+
26
+ require("core-js/modules/es.function.name.js");
27
+
28
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
29
+
30
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
31
+
32
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
33
+
34
+ var _react = _interopRequireWildcard(require("react"));
35
+
36
+ var _propTypes = _interopRequireDefault(require("prop-types"));
37
+
38
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
39
+
40
+ var _core = require("@material-ui/core");
41
+
42
+ var _Tooltip = _interopRequireDefault(require("./Tooltip"));
43
+
44
+ var _chartPlotlyOverrides = require("./chartPlotlyOverrides");
45
+
46
+ var _Plot = _interopRequireDefault(require("./Plot"));
47
+
48
+ var _styles = _interopRequireDefault(require("./styles"));
49
+
50
+ var _excluded = ["id", "classes", "data", "layout", "config", "tooltipType", "afterPlot", "xAxisTitle", "yAxisTitle"];
51
+
52
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
53
+
54
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
55
+
56
+ var Chart = function Chart(_ref) {
57
+ var id = _ref.id,
58
+ classes = _ref.classes,
59
+ data = _ref.data,
60
+ layout = _ref.layout,
61
+ config = _ref.config,
62
+ _ref$tooltipType = _ref.tooltipType,
63
+ tooltipType = _ref$tooltipType === void 0 ? "multiple" : _ref$tooltipType,
64
+ afterPlot = _ref.afterPlot,
65
+ xAxisTitle = _ref.xAxisTitle,
66
+ yAxisTitle = _ref.yAxisTitle,
67
+ others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
68
+ var theme = (0, _core.useTheme)();
69
+ /* Values derived from props */
70
+ // Check if the barchart is horizontal or vertical.
71
+
72
+ var isHorizontal = (0, _react.useMemo)(function () {
73
+ var _data$;
74
+
75
+ return !(0, _isNil.default)((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.orientation) ? data[0].orientation.toUpperCase() === "H" : false;
76
+ }, [data]);
77
+ var chartLayout = (0, _react.useMemo)(function () {
78
+ return (0, _chartPlotlyOverrides.applyLayoutDefaults)(layout, theme, isHorizontal, xAxisTitle, yAxisTitle);
79
+ }, [isHorizontal, layout, theme, xAxisTitle, yAxisTitle]);
80
+ var chartConfig = (0, _react.useMemo)(function () {
81
+ return (0, _chartPlotlyOverrides.applyConfigDefaults)(config);
82
+ }, [config]);
83
+ var useSingle = tooltipType === "single";
84
+ /* State */
85
+
86
+ var _useState = (0, _react.useState)(false),
87
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
88
+ isHover = _useState2[0],
89
+ setIsHover = _useState2[1];
90
+
91
+ var _useState3 = (0, _react.useState)({
92
+ x: 0,
93
+ y: 0
94
+ }),
95
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
96
+ coordinates = _useState4[0],
97
+ setCoordinates = _useState4[1];
98
+
99
+ var _useState5 = (0, _react.useState)(),
100
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
101
+ dataTooltip = _useState6[0],
102
+ setDataTooltip = _useState6[1];
103
+ /* Callbacks */
104
+ // Extract data from the plotly onHover event to be used to create the tooltip.
105
+
106
+
107
+ var onHover = (0, _react.useCallback)(function (event) {
108
+ var points = event.points;
109
+ var dataFromPoints = {
110
+ title: "",
111
+ elements: []
112
+ };
113
+ points.forEach(function (p, i) {
114
+ var _fData$marker, _fData$line, _fData$labels;
115
+
116
+ var fData = p.fullData;
117
+ var pNumber = p.pointNumber;
118
+ if (i === 0) dataFromPoints.title = isHorizontal ? p.y : p.x || fData.name;
119
+ dataFromPoints.elements.push({
120
+ color: ((_fData$marker = fData.marker) === null || _fData$marker === void 0 ? void 0 : _fData$marker.color) || ((_fData$line = fData.line) === null || _fData$line === void 0 ? void 0 : _fData$line.color) || p.color,
121
+ name: ((_fData$labels = fData.labels) === null || _fData$labels === void 0 ? void 0 : _fData$labels[pNumber]) || fData.name,
122
+ value: isHorizontal ? p.x : p.y || p.value
123
+ });
124
+ });
125
+ setDataTooltip(dataFromPoints);
126
+ setIsHover(true);
127
+ }, [isHorizontal]);
128
+ var onUnHover = (0, _react.useCallback)(function () {
129
+ setIsHover(false);
130
+ }, []);
131
+ var onMouseMove = (0, _react.useCallback)(function (event) {
132
+ setCoordinates({
133
+ x: event.clientX,
134
+ y: event.clientY
135
+ });
136
+ }, []);
137
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isHover && /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
138
+ coordinates: coordinates,
139
+ data: dataTooltip,
140
+ useSingle: useSingle
141
+ }), /*#__PURE__*/_react.default.createElement("div", {
142
+ id: id,
143
+ className: classes.root
144
+ }, /*#__PURE__*/_react.default.createElement("div", {
145
+ onMouseMove: onMouseMove
146
+ }, /*#__PURE__*/_react.default.createElement(_Plot.default, (0, _extends2.default)({
147
+ data: data,
148
+ layout: chartLayout,
149
+ config: chartConfig,
150
+ onHover: onHover,
151
+ onUnHover: onUnHover,
152
+ afterPlot: afterPlot
153
+ }, others)))));
154
+ };
155
+
156
+ process.env.NODE_ENV !== "production" ? Chart.propTypes = {
157
+ /**
158
+ * An Id passed on to the component
159
+ */
160
+ id: _propTypes.default.string,
161
+
162
+ /**
163
+ * A Jss Object used to override or extend the styles applied.
164
+ */
165
+ classes: _propTypes.default.shape({
166
+ root: _propTypes.default.string
167
+ }),
168
+
169
+ /**
170
+ * Plotly data object (see https://plot.ly/javascript/reference/).
171
+ */
172
+ data: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Object)).isRequired,
173
+
174
+ /**
175
+ * Plotly layout object (see https://plot.ly/javascript/reference/#layout).
176
+ */
177
+ layout: _propTypes.default.instanceOf(Object).isRequired,
178
+
179
+ /**
180
+ * Plotly config object (see https://plot.ly/javascript/configuration-options/).
181
+ */
182
+ config: _propTypes.default.instanceOf(Object),
183
+
184
+ /**
185
+ * Defines if should use a single or multiline tooltip.
186
+ */
187
+ tooltipType: _propTypes.default.oneOf(["single", "multiple"]),
188
+
189
+ /**
190
+ * Function to be called after plot render.
191
+ */
192
+ afterPlot: _propTypes.default.func,
193
+
194
+ /**
195
+ * Defines the X axis title.
196
+ */
197
+ xAxisTitle: _propTypes.default.string,
198
+
199
+ /**
200
+ * Defines the Y axis title.
201
+ */
202
+ yAxisTitle: _propTypes.default.string,
203
+
204
+ /**
205
+ * Defines the chart subtitle.
206
+ */
207
+ subtitle: _propTypes.default.string
208
+ } : void 0;
209
+
210
+ var _default = (0, _core.withStyles)(_styles.default, {
211
+ name: "HvChart"
212
+ })(Chart);
213
+
214
+ exports.default = _default;
215
+ //# sourceMappingURL=Chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chart.js","names":["Chart","id","classes","data","layout","config","tooltipType","afterPlot","xAxisTitle","yAxisTitle","others","theme","isHorizontal","orientation","toUpperCase","chartLayout","chartConfig","useSingle","isHover","setIsHover","x","y","coordinates","setCoordinates","dataTooltip","setDataTooltip","onHover","event","points","dataFromPoints","title","elements","forEach","p","i","fData","fullData","pNumber","pointNumber","name","push","color","marker","line","labels","value","onUnHover","onMouseMove","clientX","clientY","root","propTypes","PropTypes","string","shape","arrayOf","instanceOf","Object","isRequired","oneOf","func","subtitle","styles"],"sources":["../../src/Chart/Chart.js"],"sourcesContent":["import React, { useState, useMemo, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isNil from \"lodash/isNil\";\nimport { useTheme, withStyles } from \"@material-ui/core\";\nimport Tooltip from \"./Tooltip\";\nimport { applyLayoutDefaults, applyConfigDefaults } from \"./chartPlotlyOverrides\";\n\nimport Plot from \"./Plot\";\nimport styles from \"./styles\";\n\nconst Chart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n afterPlot,\n xAxisTitle,\n yAxisTitle,\n ...others\n}) => {\n const theme = useTheme();\n\n /* Values derived from props */\n\n // Check if the barchart is horizontal or vertical.\n const isHorizontal = useMemo(\n () => (!isNil(data[0]?.orientation) ? data[0].orientation.toUpperCase() === \"H\" : false),\n [data]\n );\n\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, theme, isHorizontal, xAxisTitle, yAxisTitle),\n [isHorizontal, layout, theme, xAxisTitle, yAxisTitle]\n );\n\n const chartConfig = useMemo(() => applyConfigDefaults(config), [config]);\n\n const useSingle = tooltipType === \"single\";\n\n /* State */\n\n const [isHover, setIsHover] = useState(false);\n const [coordinates, setCoordinates] = useState({ x: 0, y: 0 });\n const [dataTooltip, setDataTooltip] = useState();\n\n /* Callbacks */\n\n // Extract data from the plotly onHover event to be used to create the tooltip.\n const onHover = useCallback(\n (event) => {\n const { points } = event;\n\n const dataFromPoints = {\n title: \"\",\n elements: [],\n };\n\n points.forEach((p, i) => {\n const fData = p.fullData;\n const pNumber = p.pointNumber;\n\n if (i === 0) dataFromPoints.title = isHorizontal ? p.y : p.x || fData.name;\n\n dataFromPoints.elements.push({\n color: fData.marker?.color || fData.line?.color || p.color,\n name: fData.labels?.[pNumber] || fData.name,\n value: isHorizontal ? p.x : p.y || p.value,\n });\n });\n\n setDataTooltip(dataFromPoints);\n setIsHover(true);\n },\n [isHorizontal]\n );\n\n const onUnHover = useCallback(() => {\n setIsHover(false);\n }, []);\n\n const onMouseMove = useCallback((event) => {\n setCoordinates({\n x: event.clientX,\n y: event.clientY,\n });\n }, []);\n\n return (\n <>\n {isHover && <Tooltip coordinates={coordinates} data={dataTooltip} useSingle={useSingle} />}\n <div id={id} className={classes.root}>\n <div onMouseMove={onMouseMove}>\n <Plot\n data={data}\n layout={chartLayout}\n config={chartConfig}\n onHover={onHover}\n onUnHover={onUnHover}\n afterPlot={afterPlot}\n {...others}\n />\n </div>\n </div>\n </>\n );\n};\n\nChart.propTypes = {\n /**\n * An Id passed on to the component\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n root: PropTypes.string,\n }),\n\n /**\n * Plotly data object (see https://plot.ly/javascript/reference/).\n */\n data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Plotly layout object (see https://plot.ly/javascript/reference/#layout).\n */\n layout: PropTypes.instanceOf(Object).isRequired,\n /**\n * Plotly config object (see https://plot.ly/javascript/configuration-options/).\n */\n config: PropTypes.instanceOf(Object),\n /**\n * Defines if should use a single or multiline tooltip.\n */\n tooltipType: PropTypes.oneOf([\"single\", \"multiple\"]),\n /**\n * Function to be called after plot render.\n */\n afterPlot: PropTypes.func,\n /**\n * Defines the X axis title.\n */\n xAxisTitle: PropTypes.string,\n /**\n * Defines the Y axis title.\n */\n yAxisTitle: PropTypes.string,\n /**\n * Defines the chart subtitle.\n */\n subtitle: PropTypes.string,\n};\n\nexport default withStyles(styles, { name: \"HvChart\" })(Chart);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;AAEA,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAWR;EAAA,IAVJC,EAUI,QAVJA,EAUI;EAAA,IATJC,OASI,QATJA,OASI;EAAA,IARJC,IAQI,QARJA,IAQI;EAAA,IAPJC,MAOI,QAPJA,MAOI;EAAA,IANJC,MAMI,QANJA,MAMI;EAAA,4BALJC,WAKI;EAAA,IALJA,WAKI,iCALU,UAKV;EAAA,IAJJC,SAII,QAJJA,SAII;EAAA,IAHJC,UAGI,QAHJA,UAGI;EAAA,IAFJC,UAEI,QAFJA,UAEI;EAAA,IADDC,MACC;EACJ,IAAMC,KAAK,GAAG,qBAAd;EAEA;EAEA;;EACA,IAAMC,YAAY,GAAG,oBACnB;IAAA;;IAAA,OAAO,CAAC,8BAAMT,IAAI,CAAC,CAAD,CAAV,2CAAM,OAASU,WAAf,CAAD,GAA+BV,IAAI,CAAC,CAAD,CAAJ,CAAQU,WAAR,CAAoBC,WAApB,OAAsC,GAArE,GAA2E,KAAlF;EAAA,CADmB,EAEnB,CAACX,IAAD,CAFmB,CAArB;EAKA,IAAMY,WAAW,GAAG,oBAClB;IAAA,OAAM,+CAAoBX,MAApB,EAA4BO,KAA5B,EAAmCC,YAAnC,EAAiDJ,UAAjD,EAA6DC,UAA7D,CAAN;EAAA,CADkB,EAElB,CAACG,YAAD,EAAeR,MAAf,EAAuBO,KAAvB,EAA8BH,UAA9B,EAA0CC,UAA1C,CAFkB,CAApB;EAKA,IAAMO,WAAW,GAAG,oBAAQ;IAAA,OAAM,+CAAoBX,MAApB,CAAN;EAAA,CAAR,EAA2C,CAACA,MAAD,CAA3C,CAApB;EAEA,IAAMY,SAAS,GAAGX,WAAW,KAAK,QAAlC;EAEA;;EAEA,gBAA8B,qBAAS,KAAT,CAA9B;EAAA;EAAA,IAAOY,OAAP;EAAA,IAAgBC,UAAhB;;EACA,iBAAsC,qBAAS;IAAEC,CAAC,EAAE,CAAL;IAAQC,CAAC,EAAE;EAAX,CAAT,CAAtC;EAAA;EAAA,IAAOC,WAAP;EAAA,IAAoBC,cAApB;;EACA,iBAAsC,sBAAtC;EAAA;EAAA,IAAOC,WAAP;EAAA,IAAoBC,cAApB;EAEA;EAEA;;;EACA,IAAMC,OAAO,GAAG,wBACd,UAACC,KAAD,EAAW;IACT,IAAQC,MAAR,GAAmBD,KAAnB,CAAQC,MAAR;IAEA,IAAMC,cAAc,GAAG;MACrBC,KAAK,EAAE,EADc;MAErBC,QAAQ,EAAE;IAFW,CAAvB;IAKAH,MAAM,CAACI,OAAP,CAAe,UAACC,CAAD,EAAIC,CAAJ,EAAU;MAAA;;MACvB,IAAMC,KAAK,GAAGF,CAAC,CAACG,QAAhB;MACA,IAAMC,OAAO,GAAGJ,CAAC,CAACK,WAAlB;MAEA,IAAIJ,CAAC,KAAK,CAAV,EAAaL,cAAc,CAACC,KAAf,GAAuBlB,YAAY,GAAGqB,CAAC,CAACZ,CAAL,GAASY,CAAC,CAACb,CAAF,IAAOe,KAAK,CAACI,IAAzD;MAEbV,cAAc,CAACE,QAAf,CAAwBS,IAAxB,CAA6B;QAC3BC,KAAK,EAAE,kBAAAN,KAAK,CAACO,MAAN,gEAAcD,KAAd,qBAAuBN,KAAK,CAACQ,IAA7B,gDAAuB,YAAYF,KAAnC,KAA4CR,CAAC,CAACQ,KAD1B;QAE3BF,IAAI,EAAE,kBAAAJ,KAAK,CAACS,MAAN,gEAAeP,OAAf,MAA2BF,KAAK,CAACI,IAFZ;QAG3BM,KAAK,EAAEjC,YAAY,GAAGqB,CAAC,CAACb,CAAL,GAASa,CAAC,CAACZ,CAAF,IAAOY,CAAC,CAACY;MAHV,CAA7B;IAKD,CAXD;IAaApB,cAAc,CAACI,cAAD,CAAd;IACAV,UAAU,CAAC,IAAD,CAAV;EACD,CAxBa,EAyBd,CAACP,YAAD,CAzBc,CAAhB;EA4BA,IAAMkC,SAAS,GAAG,wBAAY,YAAM;IAClC3B,UAAU,CAAC,KAAD,CAAV;EACD,CAFiB,EAEf,EAFe,CAAlB;EAIA,IAAM4B,WAAW,GAAG,wBAAY,UAACpB,KAAD,EAAW;IACzCJ,cAAc,CAAC;MACbH,CAAC,EAAEO,KAAK,CAACqB,OADI;MAEb3B,CAAC,EAAEM,KAAK,CAACsB;IAFI,CAAD,CAAd;EAID,CALmB,EAKjB,EALiB,CAApB;EAOA,oBACE,4DACG/B,OAAO,iBAAI,6BAAC,gBAAD;IAAS,WAAW,EAAEI,WAAtB;IAAmC,IAAI,EAAEE,WAAzC;IAAsD,SAAS,EAAEP;EAAjE,EADd,eAEE;IAAK,EAAE,EAAEhB,EAAT;IAAa,SAAS,EAAEC,OAAO,CAACgD;EAAhC,gBACE;IAAK,WAAW,EAAEH;EAAlB,gBACE,6BAAC,aAAD;IACE,IAAI,EAAE5C,IADR;IAEE,MAAM,EAAEY,WAFV;IAGE,MAAM,EAAEC,WAHV;IAIE,OAAO,EAAEU,OAJX;IAKE,SAAS,EAAEoB,SALb;IAME,SAAS,EAAEvC;EANb,GAOMG,MAPN,EADF,CADF,CAFF,CADF;AAkBD,CAjGD;;AAmGA,wCAAAV,KAAK,CAACmD,SAAN,GAAkB;EAChB;AACF;AACA;EACElD,EAAE,EAAEmD,mBAAUC,MAJE;;EAKhB;AACF;AACA;EACEnD,OAAO,EAAEkD,mBAAUE,KAAV,CAAgB;IACvBJ,IAAI,EAAEE,mBAAUC;EADO,CAAhB,CARO;;EAYhB;AACF;AACA;EACElD,IAAI,EAAEiD,mBAAUG,OAAV,CAAkBH,mBAAUI,UAAV,CAAqBC,MAArB,CAAlB,EAAgDC,UAftC;;EAgBhB;AACF;AACA;EACEtD,MAAM,EAAEgD,mBAAUI,UAAV,CAAqBC,MAArB,EAA6BC,UAnBrB;;EAoBhB;AACF;AACA;EACErD,MAAM,EAAE+C,mBAAUI,UAAV,CAAqBC,MAArB,CAvBQ;;EAwBhB;AACF;AACA;EACEnD,WAAW,EAAE8C,mBAAUO,KAAV,CAAgB,CAAC,QAAD,EAAW,UAAX,CAAhB,CA3BG;;EA4BhB;AACF;AACA;EACEpD,SAAS,EAAE6C,mBAAUQ,IA/BL;;EAgChB;AACF;AACA;EACEpD,UAAU,EAAE4C,mBAAUC,MAnCN;;EAoChB;AACF;AACA;EACE5C,UAAU,EAAE2C,mBAAUC,MAvCN;;EAwChB;AACF;AACA;EACEQ,QAAQ,EAAET,mBAAUC;AA3CJ,CAAlB;;eA8Ce,sBAAWS,eAAX,EAAmB;EAAEvB,IAAI,EAAE;AAAR,CAAnB,EAAwCvC,KAAxC,C"}