@pie-lib/charting 5.22.0 → 5.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +10 -15
  2. package/lib/actions-button.js +174 -0
  3. package/lib/actions-button.js.map +1 -0
  4. package/lib/axes.js +614 -0
  5. package/lib/axes.js.map +1 -0
  6. package/lib/bars/bar.js +86 -0
  7. package/lib/bars/bar.js.map +1 -0
  8. package/lib/bars/common/bars.js +299 -0
  9. package/lib/bars/common/bars.js.map +1 -0
  10. package/lib/bars/histogram.js +87 -0
  11. package/lib/bars/histogram.js.map +1 -0
  12. package/lib/chart-setup.js +458 -0
  13. package/lib/chart-setup.js.map +1 -0
  14. package/lib/chart-type.js +71 -0
  15. package/lib/chart-type.js.map +1 -0
  16. package/lib/chart-types.js +31 -0
  17. package/lib/chart-types.js.map +1 -0
  18. package/lib/chart.js +447 -0
  19. package/lib/chart.js.map +1 -0
  20. package/lib/common/drag-handle.js +175 -0
  21. package/lib/common/drag-handle.js.map +1 -0
  22. package/lib/common/drag-icon.js +52 -0
  23. package/lib/common/drag-icon.js.map +1 -0
  24. package/lib/common/styles.js +40 -0
  25. package/lib/common/styles.js.map +1 -0
  26. package/lib/grid.js +141 -0
  27. package/lib/grid.js.map +1 -0
  28. package/lib/index.js +48 -0
  29. package/lib/index.js.map +1 -0
  30. package/lib/key-legend.js +111 -0
  31. package/lib/key-legend.js.map +1 -0
  32. package/lib/line/common/drag-handle.js +151 -0
  33. package/lib/line/common/drag-handle.js.map +1 -0
  34. package/lib/line/common/line.js +257 -0
  35. package/lib/line/common/line.js.map +1 -0
  36. package/lib/line/line-cross.js +203 -0
  37. package/lib/line/line-cross.js.map +1 -0
  38. package/lib/line/line-dot.js +156 -0
  39. package/lib/line/line-dot.js.map +1 -0
  40. package/lib/mark-label.js +260 -0
  41. package/lib/mark-label.js.map +1 -0
  42. package/lib/plot/common/plot.js +281 -0
  43. package/lib/plot/common/plot.js.map +1 -0
  44. package/lib/plot/dot.js +123 -0
  45. package/lib/plot/dot.js.map +1 -0
  46. package/lib/plot/line.js +152 -0
  47. package/lib/plot/line.js.map +1 -0
  48. package/lib/tool-menu.js +142 -0
  49. package/lib/tool-menu.js.map +1 -0
  50. package/lib/utils.js +244 -0
  51. package/lib/utils.js.map +1 -0
  52. package/package.json +5 -5
  53. package/src/chart-types.js +2 -2
  54. package/src/line/common/__tests__/drag-handle.test.jsx +2 -2
  55. package/src/plot/common/__tests__/plot.test.jsx +1 -1
  56. package/src/plot/dot.js +1 -1
  57. package/src/plot/line.js +1 -1
package/lib/utils.js ADDED
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.tickCount = exports.point = exports.getTopPadding = exports.getTickValues = exports.getScale = exports.getRotateAngle = exports.getGridLinesAndAxisByChartType = exports.getDomainAndRangeByChartType = exports.getAdjustedX = exports.dataToXBand = exports.bounds = exports.bandKey = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _scale = require("@vx/scale");
13
+
14
+ var _plot = require("@pie-lib/plot");
15
+
16
+ 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; }
17
+
18
+ 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; }
19
+
20
+ var tickCount = _plot.utils.tickCount;
21
+ exports.tickCount = tickCount;
22
+ var bounds = _plot.utils.bounds;
23
+ exports.bounds = bounds;
24
+ var point = _plot.utils.point;
25
+ exports.point = point;
26
+
27
+ var bandKey = function bandKey(d, index) {
28
+ return "".concat(index, "-").concat(d.label || '-');
29
+ };
30
+
31
+ exports.bandKey = bandKey;
32
+
33
+ var dataToXBand = function dataToXBand(scaleX, data, width, type) {
34
+ switch (type) {
35
+ case 'bar':
36
+ case 'dotPlot':
37
+ case 'linePlot':
38
+ return (0, _scale.scaleBand)({
39
+ rangeRound: [0, width],
40
+ domain: data && data.map(bandKey),
41
+ padding: 0.2
42
+ });
43
+
44
+ case 'histogram':
45
+ return (0, _scale.scaleBand)({
46
+ rangeRound: [0, width],
47
+ domain: data && data.map(bandKey),
48
+ padding: 0
49
+ });
50
+
51
+ case 'lineCross':
52
+ case 'lineDot':
53
+ return (0, _scale.scalePoint)({
54
+ domain: data && data.map(bandKey),
55
+ rangeRound: [0, width]
56
+ });
57
+
58
+ default:
59
+ return (0, _scale.scaleBand)({
60
+ range: [0, width],
61
+ domain: data && data.map(bandKey),
62
+ padding: 0
63
+ });
64
+ }
65
+ };
66
+
67
+ exports.dataToXBand = dataToXBand;
68
+
69
+ var getTickValues = function getTickValues() {
70
+ var prop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
71
+ var tickValues = [];
72
+ var tickVal = prop.min;
73
+
74
+ while (tickVal <= prop.max) {
75
+ tickValues.push(tickVal);
76
+ tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;
77
+ }
78
+
79
+ return tickValues;
80
+ };
81
+
82
+ exports.getTickValues = getTickValues;
83
+
84
+ var getDomainAndRangeByChartType = function getDomainAndRangeByChartType(domain, range, chartType) {
85
+ var _ref = range || {},
86
+ step = _ref.step,
87
+ labelStep = _ref.labelStep,
88
+ min = _ref.min,
89
+ max = _ref.max;
90
+
91
+ if (!min) {
92
+ min = 0;
93
+ }
94
+
95
+ if (!max || max < 0) {
96
+ max = range.min + 1;
97
+ }
98
+
99
+ if (!step) {
100
+ step = labelStep || 1;
101
+ }
102
+
103
+ if (!labelStep || isNaN(labelStep) && step) {
104
+ labelStep = step || 1;
105
+ }
106
+
107
+ range.max = max;
108
+
109
+ switch (chartType) {
110
+ // if chart is dot plot or line plot, we should ignore step and make sure that min & max are integer values
111
+ case 'dotPlot':
112
+ case 'linePlot':
113
+ {
114
+ var intMin = Math.round(min);
115
+ var intMax = Math.round(max);
116
+ return {
117
+ domain: _objectSpread(_objectSpread({}, domain), {}, {
118
+ step: 1,
119
+ labelStep: 1,
120
+ min: 0,
121
+ max: 1
122
+ }),
123
+ range: _objectSpread(_objectSpread({}, range), {}, {
124
+ min: intMin,
125
+ max: intMin === intMax ? intMin + 1 : intMax,
126
+ labelStep: labelStep,
127
+ step: 1
128
+ })
129
+ };
130
+ }
131
+
132
+ default:
133
+ return {
134
+ domain: _objectSpread(_objectSpread({}, domain), {}, {
135
+ step: 1,
136
+ labelStep: 1,
137
+ min: 0,
138
+ max: 1
139
+ }),
140
+ range: _objectSpread(_objectSpread({}, range), {}, {
141
+ labelStep: labelStep,
142
+ step: step
143
+ })
144
+ };
145
+ }
146
+ };
147
+
148
+ exports.getDomainAndRangeByChartType = getDomainAndRangeByChartType;
149
+
150
+ var getGridLinesAndAxisByChartType = function getGridLinesAndAxisByChartType(range, chartType) {
151
+ switch (chartType) {
152
+ case 'lineDot':
153
+ case 'lineCross':
154
+ return {
155
+ verticalLines: undefined,
156
+ horizontalLines: getTickValues(range),
157
+ leftAxis: true
158
+ };
159
+
160
+ case 'dotPlot':
161
+ case 'linePlot':
162
+ return {
163
+ verticalLines: [],
164
+ horizontalLines: [],
165
+ leftAxis: false
166
+ };
167
+
168
+ default:
169
+ return {
170
+ verticalLines: [],
171
+ horizontalLines: getTickValues(range),
172
+ leftAxis: true
173
+ };
174
+ }
175
+ };
176
+
177
+ exports.getGridLinesAndAxisByChartType = getGridLinesAndAxisByChartType;
178
+
179
+ var getRotateAngle = function getRotateAngle(fontSize, height) {
180
+ if (height >= fontSize * 2) {
181
+ return 25;
182
+ }
183
+
184
+ return 0;
185
+ };
186
+
187
+ exports.getRotateAngle = getRotateAngle;
188
+
189
+ var getTopPadding = function getTopPadding(barWidth) {
190
+ if (barWidth < 30) {
191
+ return 50;
192
+ }
193
+
194
+ if (barWidth < 40) {
195
+ return 30;
196
+ }
197
+
198
+ if (barWidth < 60) {
199
+ return 15;
200
+ }
201
+
202
+ return 0;
203
+ }; // This function calculates the transformation scale for SVG and the icon's vertical distance from its category
204
+
205
+
206
+ exports.getTopPadding = getTopPadding;
207
+
208
+ var getScale = function getScale(width) {
209
+ var scale, deltay;
210
+
211
+ if (width > 91) {
212
+ scale = 1.3;
213
+ deltay = -55;
214
+ } else if (width > 45) {
215
+ scale = 1.1;
216
+ deltay = -45;
217
+ } else if (width > 40) {
218
+ scale = 0.5 + (width - 34) * 0.02;
219
+ deltay = -25;
220
+ } else if (width > 30) {
221
+ scale = 0.5 + (width - 34) * 0.02;
222
+ deltay = -20;
223
+ } else {
224
+ scale = 0.5 * Math.pow(0.98, 34 - width); // 0.98 is the reduction factor. Adjust to control scaling.
225
+
226
+ deltay = -15;
227
+ }
228
+
229
+ return {
230
+ scale: scale,
231
+ deltay: deltay
232
+ };
233
+ };
234
+
235
+ exports.getScale = getScale;
236
+
237
+ var getAdjustedX = function getAdjustedX(width, scaleValue) {
238
+ var innerWidthOriginal = 57;
239
+ var effectiveInnerWidth = innerWidthOriginal * scaleValue;
240
+ return (width - effectiveInnerWidth) / 2;
241
+ };
242
+
243
+ exports.getAdjustedX = getAdjustedX;
244
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.js"],"names":["tickCount","utils","bounds","point","bandKey","d","index","label","dataToXBand","scaleX","data","width","type","rangeRound","domain","map","padding","range","getTickValues","prop","tickValues","tickVal","min","max","push","Math","round","step","getDomainAndRangeByChartType","chartType","labelStep","isNaN","intMin","intMax","getGridLinesAndAxisByChartType","verticalLines","undefined","horizontalLines","leftAxis","getRotateAngle","fontSize","height","getTopPadding","barWidth","getScale","scale","deltay","pow","getAdjustedX","scaleValue","innerWidthOriginal","effectiveInnerWidth"],"mappings":"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","sourcesContent":["import { scaleBand, scalePoint } from '@vx/scale';\nimport { utils } from '@pie-lib/plot';\n\nexport const tickCount = utils.tickCount;\nexport const bounds = utils.bounds;\nexport const point = utils.point;\n\nexport const bandKey = (d, index) => `${index}-${d.label || '-'}`;\n\nexport const dataToXBand = (scaleX, data, width, type) => {\n switch (type) {\n case 'bar':\n case 'dotPlot':\n case 'linePlot':\n return scaleBand({\n rangeRound: [0, width],\n domain: data && data.map(bandKey),\n padding: 0.2,\n });\n\n case 'histogram':\n return scaleBand({\n rangeRound: [0, width],\n domain: data && data.map(bandKey),\n padding: 0,\n });\n\n case 'lineCross':\n case 'lineDot':\n return scalePoint({\n domain: data && data.map(bandKey),\n rangeRound: [0, width],\n });\n\n default:\n return scaleBand({\n range: [0, width],\n domain: data && data.map(bandKey),\n padding: 0,\n });\n }\n};\n\nexport const getTickValues = (prop = {}) => {\n const tickValues = [];\n let tickVal = prop.min;\n\n while (tickVal <= prop.max) {\n tickValues.push(tickVal);\n tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;\n }\n\n return tickValues;\n};\n\nexport const getDomainAndRangeByChartType = (domain, range, chartType) => {\n let { step, labelStep, min, max } = range || {};\n\n if (!min) {\n min = 0;\n }\n\n if (!max || max < 0) {\n max = range.min + 1;\n }\n\n if (!step) {\n step = labelStep || 1;\n }\n if (!labelStep || (isNaN(labelStep) && step)) {\n labelStep = step || 1;\n }\n\n range.max = max;\n\n switch (chartType) {\n // if chart is dot plot or line plot, we should ignore step and make sure that min & max are integer values\n case 'dotPlot':\n case 'linePlot': {\n const intMin = Math.round(min);\n const intMax = Math.round(max);\n\n return {\n domain: {\n ...domain,\n step: 1,\n labelStep: 1,\n min: 0,\n max: 1,\n },\n range: {\n ...range,\n min: intMin,\n max: intMin === intMax ? intMin + 1 : intMax,\n labelStep,\n step: 1,\n },\n };\n }\n\n default:\n return {\n domain: {\n ...domain,\n step: 1,\n labelStep: 1,\n min: 0,\n max: 1,\n },\n range: {\n ...range,\n labelStep,\n step,\n },\n };\n }\n};\n\nexport const getGridLinesAndAxisByChartType = (range, chartType) => {\n switch (chartType) {\n case 'lineDot':\n case 'lineCross':\n return {\n verticalLines: undefined,\n horizontalLines: getTickValues(range),\n leftAxis: true,\n };\n\n case 'dotPlot':\n case 'linePlot':\n return {\n verticalLines: [],\n horizontalLines: [],\n leftAxis: false,\n };\n\n default:\n return {\n verticalLines: [],\n horizontalLines: getTickValues(range),\n leftAxis: true,\n };\n }\n};\n\nexport const getRotateAngle = (fontSize, height) => {\n if (height >= fontSize * 2) {\n return 25;\n }\n\n return 0;\n};\n\nexport const getTopPadding = (barWidth) => {\n if (barWidth < 30) {\n return 50;\n }\n\n if (barWidth < 40) {\n return 30;\n }\n\n if (barWidth < 60) {\n return 15;\n }\n\n return 0;\n};\n\n// This function calculates the transformation scale for SVG and the icon's vertical distance from its category\nexport const getScale = (width) => {\n let scale, deltay;\n\n if (width > 91) {\n scale = 1.3;\n deltay = -55;\n } else if (width > 45) {\n scale = 1.1;\n deltay = -45;\n } else if (width > 40) {\n scale = 0.5 + (width - 34) * 0.02;\n deltay = -25;\n } else if (width > 30) {\n scale = 0.5 + (width - 34) * 0.02;\n deltay = -20;\n } else {\n scale = 0.5 * Math.pow(0.98, 34 - width); // 0.98 is the reduction factor. Adjust to control scaling.\n deltay = -15;\n }\n\n return { scale, deltay };\n};\n\nexport const getAdjustedX = (width, scaleValue) => {\n const innerWidthOriginal = 57;\n const effectiveInnerWidth = innerWidthOriginal * scaleValue;\n return (width - effectiveInnerWidth) / 2;\n};\n"],"file":"utils.js"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "5.22.0",
6
+ "version": "5.24.0",
7
7
  "description": "charting",
8
8
  "keywords": [
9
9
  "react",
@@ -19,9 +19,9 @@
19
19
  "dependencies": {
20
20
  "@mapbox/point-geometry": "^0.1.0",
21
21
  "@material-ui/core": "^3.8.3",
22
- "@pie-lib/plot": "^2.14.0",
23
- "@pie-lib/render-ui": "^4.22.0",
24
- "@pie-lib/translator": "^2.10.0",
22
+ "@pie-lib/plot": "^2.16.0",
23
+ "@pie-lib/render-ui": "^4.24.0",
24
+ "@pie-lib/translator": "^2.12.0",
25
25
  "@vx/axis": "^0.0.183",
26
26
  "@vx/event": "^0.0.182",
27
27
  "@vx/grid": "^0.0.183",
@@ -45,5 +45,5 @@
45
45
  "peerDependencies": {
46
46
  "react": "^16.8.1"
47
47
  },
48
- "gitHead": "b52ffaa60bc5a96e2ead9c2f6cfcd17e2db058f7"
48
+ "gitHead": "ba75c393e47a34ace71e2ee5c3a2ddd3b87423ec"
49
49
  }
@@ -2,7 +2,7 @@ import Bar from './bars/bar';
2
2
  import Histogram from './bars/histogram';
3
3
  import LineDot from './line/line-dot';
4
4
  import LineCross from './line/line-cross';
5
- import DotPlot from '@pie-lib/plot/dot';
6
- import LinePlot from '@pie-lib/plot/line';
5
+ import DotPlot from './plot/dot';
6
+ import LinePlot from './plot/line';
7
7
 
8
8
  export default { Bar, Histogram, LineDot, DotPlot, LinePlot, LineCross };
@@ -13,8 +13,8 @@ jest.mock('../../../utils', () => {
13
13
  };
14
14
  });
15
15
 
16
- jest.mock('@pie-lib/plot/index', () => {
17
- const { types, utils } = jest.requireActual('@pie-lib/plot/index');
16
+ jest.mock('@pie-lib/plot', () => {
17
+ const { types, utils } = jest.requireActual('@pie-lib/plot');
18
18
  return {
19
19
  gridDraggable: jest.fn((opts) => (Comp) => Comp),
20
20
  types,
@@ -1,6 +1,6 @@
1
1
  import { shallow } from 'enzyme';
2
2
  import React from 'react';
3
- import Plot, { RawPlot } from '@pie-lib/plot';
3
+ import Plot, { RawPlot } from '../plot';
4
4
  import { graphProps } from './utils';
5
5
 
6
6
  describe('Plot', () => {
package/src/plot/dot.js CHANGED
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { types } from '@pie-lib/plot';
4
4
  import { dataToXBand } from '../utils';
5
- import Plot from './comm@pie-lib/plot';
5
+ import Plot from './common/plot';
6
6
  import { Circle } from '@vx/shape';
7
7
 
8
8
  const CustomBarElement = (props) => {
package/src/plot/line.js CHANGED
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { types } from '@pie-lib/plot';
4
4
  import { dataToXBand } from '../utils';
5
- import Plot from './comm@pie-lib/plot';
5
+ import Plot from './common/plot';
6
6
  import { LinePath } from '@vx/shape';
7
7
  import { Group } from '@vx/group';
8
8