@pie-lib/charting 5.18.0 → 5.20.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.
- package/CHANGELOG.md +24 -52
- package/package.json +5 -4
- package/src/actions-button.jsx +2 -2
- package/src/axes.jsx +1 -1
- package/src/bars/common/bars.jsx +1 -1
- package/src/chart-setup.jsx +1 -1
- package/src/common/drag-handle.jsx +1 -1
- package/src/common/styles.js +1 -1
- package/src/grid.jsx +1 -1
- package/src/key-legend.jsx +1 -1
- package/src/line/common/drag-handle.jsx +1 -1
- package/src/line/common/line.jsx +1 -1
- package/src/line/line-cross.js +1 -1
- package/src/line/line-dot.js +1 -1
- package/src/mark-label.jsx +1 -1
- package/src/plot/common/plot.jsx +1 -1
- package/src/tool-menu.jsx +1 -1
- package/lib/actions-button.js +0 -174
- package/lib/actions-button.js.map +0 -1
- package/lib/axes.js +0 -614
- package/lib/axes.js.map +0 -1
- package/lib/bars/bar.js +0 -86
- package/lib/bars/bar.js.map +0 -1
- package/lib/bars/common/bars.js +0 -299
- package/lib/bars/common/bars.js.map +0 -1
- package/lib/bars/histogram.js +0 -87
- package/lib/bars/histogram.js.map +0 -1
- package/lib/chart-setup.js +0 -458
- package/lib/chart-setup.js.map +0 -1
- package/lib/chart-type.js +0 -71
- package/lib/chart-type.js.map +0 -1
- package/lib/chart-types.js +0 -31
- package/lib/chart-types.js.map +0 -1
- package/lib/chart.js +0 -447
- package/lib/chart.js.map +0 -1
- package/lib/common/drag-handle.js +0 -175
- package/lib/common/drag-handle.js.map +0 -1
- package/lib/common/drag-icon.js +0 -52
- package/lib/common/drag-icon.js.map +0 -1
- package/lib/common/styles.js +0 -40
- package/lib/common/styles.js.map +0 -1
- package/lib/grid.js +0 -141
- package/lib/grid.js.map +0 -1
- package/lib/index.js +0 -48
- package/lib/index.js.map +0 -1
- package/lib/key-legend.js +0 -111
- package/lib/key-legend.js.map +0 -1
- package/lib/line/common/drag-handle.js +0 -151
- package/lib/line/common/drag-handle.js.map +0 -1
- package/lib/line/common/line.js +0 -257
- package/lib/line/common/line.js.map +0 -1
- package/lib/line/line-cross.js +0 -203
- package/lib/line/line-cross.js.map +0 -1
- package/lib/line/line-dot.js +0 -156
- package/lib/line/line-dot.js.map +0 -1
- package/lib/mark-label.js +0 -260
- package/lib/mark-label.js.map +0 -1
- package/lib/plot/common/plot.js +0 -281
- package/lib/plot/common/plot.js.map +0 -1
- package/lib/plot/dot.js +0 -123
- package/lib/plot/dot.js.map +0 -1
- package/lib/plot/line.js +0 -152
- package/lib/plot/line.js.map +0 -1
- package/lib/shared/index.js +0 -136
- package/lib/tool-menu.js +0 -142
- package/lib/tool-menu.js.map +0 -1
- package/lib/utils.js +0 -244
- package/lib/utils.js.map +0 -1
package/lib/utils.js
DELETED
|
@@ -1,244 +0,0 @@
|
|
|
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
|
package/lib/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|