@pie-lib/plot 2.25.0 → 2.27.0-mui-update.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 +12 -6
- package/lib/draggable.js +12 -33
- package/lib/draggable.js.map +1 -1
- package/lib/graph-props.js +4 -11
- package/lib/graph-props.js.map +1 -1
- package/lib/grid-draggable.js +58 -133
- package/lib/grid-draggable.js.map +1 -1
- package/lib/index.js +1 -16
- package/lib/index.js.map +1 -1
- package/lib/label.js +74 -102
- package/lib/label.js.map +1 -1
- package/lib/root.js +192 -212
- package/lib/root.js.map +1 -1
- package/lib/trig.js +14 -61
- package/lib/trig.js.map +1 -1
- package/lib/types.js +9 -37
- package/lib/types.js.map +1 -1
- package/lib/utils.js +22 -86
- package/lib/utils.js.map +1 -1
- package/package.json +10 -7
- package/src/label.jsx +47 -61
- package/src/root.jsx +174 -127
package/lib/utils.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
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
|
});
|
|
@@ -12,89 +11,63 @@ exports.getInterval = getInterval;
|
|
|
12
11
|
exports.polygonToArea = exports.point = exports.lineToArea = exports.isEmptyString = exports.isEmptyObject = exports.isDomainRangeEqual = void 0;
|
|
13
12
|
exports.snapTo = snapTo;
|
|
14
13
|
exports.xy = exports.tickCount = void 0;
|
|
15
|
-
|
|
16
14
|
var _invariant = _interopRequireDefault(require("invariant"));
|
|
17
|
-
|
|
18
15
|
var _range = _interopRequireDefault(require("lodash/range"));
|
|
19
|
-
|
|
20
16
|
var _pointGeometry = _interopRequireDefault(require("@mapbox/point-geometry"));
|
|
21
|
-
|
|
22
17
|
var _head = _interopRequireDefault(require("lodash/head"));
|
|
23
|
-
|
|
24
18
|
var _tail = _interopRequireDefault(require("lodash/tail"));
|
|
25
|
-
|
|
26
19
|
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
27
|
-
|
|
28
|
-
var xy = function xy(x, y) {
|
|
20
|
+
var xy = exports.xy = function xy(x, y) {
|
|
29
21
|
return {
|
|
30
22
|
x: x,
|
|
31
23
|
y: y
|
|
32
24
|
};
|
|
33
25
|
};
|
|
34
|
-
|
|
35
|
-
exports.xy = xy;
|
|
36
|
-
|
|
37
|
-
var buildSizeArray = function buildSizeArray(size, padding) {
|
|
26
|
+
var buildSizeArray = exports.buildSizeArray = function buildSizeArray(size, padding) {
|
|
38
27
|
padding = Number.isFinite(padding) ? Math.max(padding, 0) : 0;
|
|
39
28
|
(0, _invariant["default"])(padding < size, 'padding must be less than size');
|
|
40
29
|
var half = Math.round(padding * 0.5);
|
|
41
30
|
return [half, size - half];
|
|
42
31
|
};
|
|
43
|
-
|
|
44
|
-
exports.buildSizeArray = buildSizeArray;
|
|
45
|
-
|
|
46
|
-
var tickCount = function tickCount(min, max, step) {
|
|
32
|
+
var tickCount = exports.tickCount = function tickCount(min, max, step) {
|
|
47
33
|
(0, _invariant["default"])(min < max, 'min must be less than max');
|
|
48
34
|
var size = Math.abs(min - max);
|
|
49
35
|
return Math.round(size / step);
|
|
50
36
|
};
|
|
51
|
-
|
|
52
|
-
exports.tickCount = tickCount;
|
|
53
|
-
|
|
54
37
|
function getInterval(domain, ticks) {
|
|
55
38
|
var min = domain.min,
|
|
56
|
-
|
|
39
|
+
max = domain.max;
|
|
57
40
|
var major = ticks.major,
|
|
58
|
-
|
|
59
|
-
|
|
41
|
+
minor = ticks.minor;
|
|
60
42
|
if (min >= max) {
|
|
61
43
|
throw new Error("min is > max: ".concat(min, " > ").concat(max));
|
|
62
44
|
}
|
|
63
|
-
|
|
64
45
|
var distance = max - min;
|
|
65
46
|
var minorTicks = minor > 0 ? minor + 1 : 1;
|
|
66
47
|
var normalizedMajor = major - 1;
|
|
67
|
-
|
|
68
48
|
if (isNaN(normalizedMajor)) {
|
|
69
49
|
throw new Error('Tick Frequency must be 2 or higher');
|
|
70
50
|
}
|
|
71
|
-
|
|
72
51
|
if (normalizedMajor <= 0) {
|
|
73
52
|
throw new Error('Tick Frequency must be 2 or higher');
|
|
74
53
|
}
|
|
75
|
-
|
|
76
54
|
var divider = normalizedMajor * minorTicks;
|
|
77
55
|
var raw = distance / divider;
|
|
78
56
|
return parseFloat(Number(raw).toFixed(4));
|
|
79
57
|
}
|
|
80
|
-
|
|
81
58
|
var mkRange = function mkRange(min, max, interval) {
|
|
82
59
|
var raw = (0, _range["default"])(min, max, interval);
|
|
83
60
|
/* Fix the last step due to rounding errors */
|
|
84
|
-
|
|
85
61
|
raw.splice(raw.length, 1, max);
|
|
86
62
|
return raw;
|
|
87
63
|
};
|
|
88
|
-
|
|
89
64
|
function snapTo(min, max, interval, value) {
|
|
90
65
|
if (value >= max) {
|
|
91
66
|
return max;
|
|
92
67
|
}
|
|
93
|
-
|
|
94
68
|
if (value <= min) {
|
|
95
69
|
return min;
|
|
96
70
|
}
|
|
97
|
-
|
|
98
71
|
var rng = mkRange(min, max, interval);
|
|
99
72
|
rng = rng.filter(function (v) {
|
|
100
73
|
return Math.abs(value - v) <= interval;
|
|
@@ -105,7 +78,6 @@ function snapTo(min, max, interval, value) {
|
|
|
105
78
|
return currentDistance <= previousDistance ? curr : prev;
|
|
106
79
|
});
|
|
107
80
|
}
|
|
108
|
-
|
|
109
81
|
function buildTickModel(domain, ticks, interval, scaleFn) {
|
|
110
82
|
var rng = mkRange(domain.min, domain.max, interval);
|
|
111
83
|
return rng.map(function (r, index) {
|
|
@@ -117,8 +89,7 @@ function buildTickModel(domain, ticks, interval, scaleFn) {
|
|
|
117
89
|
};
|
|
118
90
|
});
|
|
119
91
|
}
|
|
120
|
-
|
|
121
|
-
var polygonToArea = function polygonToArea(points) {
|
|
92
|
+
var polygonToArea = exports.polygonToArea = function polygonToArea(points) {
|
|
122
93
|
var h = (0, _head["default"])(points);
|
|
123
94
|
var area = {
|
|
124
95
|
left: h.x,
|
|
@@ -134,10 +105,7 @@ var polygonToArea = function polygonToArea(points) {
|
|
|
134
105
|
return a;
|
|
135
106
|
}, area);
|
|
136
107
|
};
|
|
137
|
-
|
|
138
|
-
exports.polygonToArea = polygonToArea;
|
|
139
|
-
|
|
140
|
-
var lineToArea = function lineToArea(from, to) {
|
|
108
|
+
var lineToArea = exports.lineToArea = function lineToArea(from, to) {
|
|
141
109
|
var left = Math.min(from.x, to.x);
|
|
142
110
|
var top = Math.max(from.y, to.y);
|
|
143
111
|
var bottom = Math.min(from.y, to.y);
|
|
@@ -149,10 +117,7 @@ var lineToArea = function lineToArea(from, to) {
|
|
|
149
117
|
right: right
|
|
150
118
|
};
|
|
151
119
|
};
|
|
152
|
-
|
|
153
|
-
exports.lineToArea = lineToArea;
|
|
154
|
-
|
|
155
|
-
var bounds = function bounds(area, domain, range) {
|
|
120
|
+
var bounds = exports.bounds = function bounds(area, domain, range) {
|
|
156
121
|
return {
|
|
157
122
|
left: domain.min - area.left,
|
|
158
123
|
right: Math.abs(area.right - domain.max),
|
|
@@ -160,73 +125,44 @@ var bounds = function bounds(area, domain, range) {
|
|
|
160
125
|
bottom: range.min - area.bottom
|
|
161
126
|
};
|
|
162
127
|
};
|
|
163
|
-
|
|
164
|
-
exports.bounds = bounds;
|
|
165
|
-
|
|
166
|
-
var point = function point(o) {
|
|
128
|
+
var point = exports.point = function point(o) {
|
|
167
129
|
return new _pointGeometry["default"](o.x, o.y);
|
|
168
130
|
};
|
|
169
|
-
|
|
170
|
-
exports.point = point;
|
|
171
|
-
|
|
172
|
-
var getDelta = function getDelta(from, to) {
|
|
131
|
+
var getDelta = exports.getDelta = function getDelta(from, to) {
|
|
173
132
|
return point(to).sub(point(from));
|
|
174
133
|
};
|
|
175
|
-
|
|
176
|
-
exports.getDelta = getDelta;
|
|
177
|
-
|
|
178
|
-
var bandKey = function bandKey(d, index) {
|
|
134
|
+
var bandKey = exports.bandKey = function bandKey(d, index) {
|
|
179
135
|
return "".concat(index, "-").concat(d.label || '-');
|
|
180
136
|
};
|
|
181
|
-
|
|
182
|
-
exports.bandKey = bandKey;
|
|
183
|
-
|
|
184
|
-
var isDomainRangeEqual = function isDomainRangeEqual(graphProps, nextGraphProps) {
|
|
137
|
+
var isDomainRangeEqual = exports.isDomainRangeEqual = function isDomainRangeEqual(graphProps, nextGraphProps) {
|
|
185
138
|
return (0, _isEqual["default"])(graphProps.domain, nextGraphProps.domain) && (0, _isEqual["default"])(graphProps.range, nextGraphProps.range);
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
exports.isDomainRangeEqual = isDomainRangeEqual;
|
|
139
|
+
};
|
|
190
140
|
|
|
191
|
-
|
|
141
|
+
// findLongestWord is also used in graphing
|
|
142
|
+
var findLongestWord = exports.findLongestWord = function findLongestWord(label) {
|
|
192
143
|
var longestWord = (label || '').replace(/<[^>]+>/g, '').split(' ').sort(function (a, b) {
|
|
193
144
|
return b.length - a.length;
|
|
194
145
|
});
|
|
195
146
|
return longestWord[0].length;
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
exports.findLongestWord = findLongestWord;
|
|
147
|
+
};
|
|
200
148
|
|
|
201
|
-
|
|
149
|
+
// amountToIncreaseWidth is also used in graphing
|
|
150
|
+
var amountToIncreaseWidth = exports.amountToIncreaseWidth = function amountToIncreaseWidth(longestWord) {
|
|
202
151
|
if (!longestWord) {
|
|
203
152
|
return 0;
|
|
204
153
|
}
|
|
205
|
-
|
|
206
154
|
return longestWord * 20;
|
|
207
155
|
};
|
|
208
|
-
|
|
209
|
-
exports.amountToIncreaseWidth = amountToIncreaseWidth;
|
|
210
|
-
|
|
211
|
-
var extractTextFromHTML = function extractTextFromHTML(htmlString) {
|
|
156
|
+
var extractTextFromHTML = exports.extractTextFromHTML = function extractTextFromHTML(htmlString) {
|
|
212
157
|
var _doc$body;
|
|
213
|
-
|
|
214
158
|
var parser = new DOMParser();
|
|
215
159
|
var doc = parser === null || parser === void 0 ? void 0 : parser.parseFromString(htmlString, 'text/html');
|
|
216
|
-
return (doc === null || doc === void 0
|
|
160
|
+
return (doc === null || doc === void 0 || (_doc$body = doc.body) === null || _doc$body === void 0 ? void 0 : _doc$body.textContent) || '';
|
|
217
161
|
};
|
|
218
|
-
|
|
219
|
-
exports.extractTextFromHTML = extractTextFromHTML;
|
|
220
|
-
|
|
221
|
-
var isEmptyObject = function isEmptyObject(obj) {
|
|
162
|
+
var isEmptyObject = exports.isEmptyObject = function isEmptyObject(obj) {
|
|
222
163
|
return obj && Object.keys(obj).length === 0 && obj.constructor === Object;
|
|
223
164
|
};
|
|
224
|
-
|
|
225
|
-
exports.isEmptyObject = isEmptyObject;
|
|
226
|
-
|
|
227
|
-
var isEmptyString = function isEmptyString(str) {
|
|
165
|
+
var isEmptyString = exports.isEmptyString = function isEmptyString(str) {
|
|
228
166
|
return typeof str === 'string' && str.trim() === '';
|
|
229
167
|
};
|
|
230
|
-
|
|
231
|
-
exports.isEmptyString = isEmptyString;
|
|
232
168
|
//# sourceMappingURL=utils.js.map
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils.js"],"names":["xy","x","y","buildSizeArray","size","padding","Number","isFinite","Math","max","half","round","tickCount","min","step","abs","getInterval","domain","ticks","major","minor","Error","distance","minorTicks","normalizedMajor","isNaN","divider","raw","parseFloat","toFixed","mkRange","interval","splice","length","snapTo","value","rng","filter","v","reduce","prev","curr","currentDistance","previousDistance","buildTickModel","scaleFn","map","r","index","isMajor","polygonToArea","points","h","area","left","top","bottom","right","a","p","lineToArea","from","to","bounds","range","point","o","Point","getDelta","sub","bandKey","d","label","isDomainRangeEqual","graphProps","nextGraphProps","findLongestWord","longestWord","replace","split","sort","b","amountToIncreaseWidth","extractTextFromHTML","htmlString","parser","DOMParser","doc","parseFromString","body","textContent","isEmptyObject","obj","Object","keys","constructor","isEmptyString","str","trim"],"mappings":"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","sourcesContent":["import invariant from 'invariant';\nimport range from 'lodash/range';\nimport Point from '@mapbox/point-geometry';\nimport head from 'lodash/head';\nimport tail from 'lodash/tail';\nimport isEqual from 'lodash/isEqual';\n\nexport const xy = (x, y) => ({ x, y });\n\nexport const buildSizeArray = (size, padding) => {\n padding = Number.isFinite(padding) ? Math.max(padding, 0) : 0;\n invariant(padding < size, 'padding must be less than size');\n const half = Math.round(padding * 0.5);\n return [half, size - half];\n};\n\nexport const tickCount = (min, max, step) => {\n invariant(min < max, 'min must be less than max');\n const size = Math.abs(min - max);\n return Math.round(size / step);\n};\n\nexport function getInterval(domain, ticks) {\n const { min, max } = domain;\n const { major, minor } = ticks;\n\n if (min >= max) {\n throw new Error(`min is > max: ${min} > ${max}`);\n }\n\n const distance = max - min;\n const minorTicks = minor > 0 ? minor + 1 : 1;\n const normalizedMajor = major - 1;\n\n if (isNaN(normalizedMajor)) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n if (normalizedMajor <= 0) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n const divider = normalizedMajor * minorTicks;\n const raw = distance / divider;\n return parseFloat(Number(raw).toFixed(4));\n}\n\nconst mkRange = (min, max, interval) => {\n const raw = range(min, max, interval);\n /* Fix the last step due to rounding errors */\n raw.splice(raw.length, 1, max);\n return raw;\n};\n\nexport function snapTo(min, max, interval, value) {\n if (value >= max) {\n return max;\n }\n\n if (value <= min) {\n return min;\n }\n\n let rng = mkRange(min, max, interval);\n\n rng = rng.filter((v) => {\n return Math.abs(value - v) <= interval;\n });\n\n return (\n rng.length &&\n rng.reduce((prev, curr) => {\n const currentDistance = Math.abs(curr - value);\n const previousDistance = Math.abs(prev - value);\n return currentDistance <= previousDistance ? curr : prev;\n })\n );\n}\n\nexport function buildTickModel(domain, ticks, interval, scaleFn) {\n const rng = mkRange(domain.min, domain.max, interval);\n\n return rng.map((r, index) => {\n const isMajor = index % (ticks.minor + 1) === 0;\n\n return {\n value: r,\n major: isMajor,\n x: scaleFn(r),\n };\n });\n}\n\nexport const polygonToArea = (points) => {\n const h = head(points);\n const area = {\n left: h.x,\n top: h.y,\n bottom: h.y,\n right: h.x,\n };\n return tail(points).reduce((a, p) => {\n a.left = Math.min(a.left, p.x);\n a.top = Math.max(a.top, p.y);\n a.bottom = Math.min(a.bottom, p.y);\n a.right = Math.max(a.right, p.x);\n return a;\n }, area);\n};\n\nexport const lineToArea = (from, to) => {\n const left = Math.min(from.x, to.x);\n const top = Math.max(from.y, to.y);\n const bottom = Math.min(from.y, to.y);\n const right = Math.max(from.x, to.x);\n return { left, top, bottom, right };\n};\n\nexport const bounds = (area, domain, range) => {\n return {\n left: domain.min - area.left,\n right: Math.abs(area.right - domain.max),\n top: Math.abs(area.top - range.max),\n bottom: range.min - area.bottom,\n };\n};\n\nexport const point = (o) => new Point(o.x, o.y);\nexport const getDelta = (from, to) => {\n return point(to).sub(point(from));\n};\n\nexport const bandKey = (d, index) => `${index}-${d.label || '-'}`;\n\nexport const isDomainRangeEqual = (graphProps, nextGraphProps) => {\n return isEqual(graphProps.domain, nextGraphProps.domain) && isEqual(graphProps.range, nextGraphProps.range);\n};\n\n// findLongestWord is also used in graphing\nexport const findLongestWord = (label) => {\n let longestWord = (label || '')\n .replace(/<[^>]+>/g, '')\n .split(' ')\n .sort((a, b) => b.length - a.length);\n\n return longestWord[0].length;\n};\n\n// amountToIncreaseWidth is also used in graphing\nexport const amountToIncreaseWidth = (longestWord) => {\n if (!longestWord) {\n return 0;\n }\n\n return longestWord * 20;\n};\n\nexport const extractTextFromHTML = (htmlString) => {\n const parser = new DOMParser();\n const doc = parser?.parseFromString(htmlString, 'text/html');\n return doc?.body?.textContent || '';\n};\n\nexport const isEmptyObject = (obj) => {\n return obj && Object.keys(obj).length === 0 && obj.constructor === Object;\n};\n\nexport const isEmptyString = (str) => {\n return typeof str === 'string' && str.trim() === '';\n};\n"],"file":"utils.js"}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["_invariant","_interopRequireDefault","require","_range","_pointGeometry","_head","_tail","_isEqual","xy","exports","x","y","buildSizeArray","size","padding","Number","isFinite","Math","max","invariant","half","round","tickCount","min","step","abs","getInterval","domain","ticks","major","minor","Error","concat","distance","minorTicks","normalizedMajor","isNaN","divider","raw","parseFloat","toFixed","mkRange","interval","range","splice","length","snapTo","value","rng","filter","v","reduce","prev","curr","currentDistance","previousDistance","buildTickModel","scaleFn","map","r","index","isMajor","polygonToArea","points","h","head","area","left","top","bottom","right","tail","a","p","lineToArea","from","to","bounds","point","o","Point","getDelta","sub","bandKey","d","label","isDomainRangeEqual","graphProps","nextGraphProps","isEqual","findLongestWord","longestWord","replace","split","sort","b","amountToIncreaseWidth","extractTextFromHTML","htmlString","_doc$body","parser","DOMParser","doc","parseFromString","body","textContent","isEmptyObject","obj","Object","keys","constructor","isEmptyString","str","trim"],"sources":["../src/utils.js"],"sourcesContent":["import invariant from 'invariant';\nimport range from 'lodash/range';\nimport Point from '@mapbox/point-geometry';\nimport head from 'lodash/head';\nimport tail from 'lodash/tail';\nimport isEqual from 'lodash/isEqual';\n\nexport const xy = (x, y) => ({ x, y });\n\nexport const buildSizeArray = (size, padding) => {\n padding = Number.isFinite(padding) ? Math.max(padding, 0) : 0;\n invariant(padding < size, 'padding must be less than size');\n const half = Math.round(padding * 0.5);\n return [half, size - half];\n};\n\nexport const tickCount = (min, max, step) => {\n invariant(min < max, 'min must be less than max');\n const size = Math.abs(min - max);\n return Math.round(size / step);\n};\n\nexport function getInterval(domain, ticks) {\n const { min, max } = domain;\n const { major, minor } = ticks;\n\n if (min >= max) {\n throw new Error(`min is > max: ${min} > ${max}`);\n }\n\n const distance = max - min;\n const minorTicks = minor > 0 ? minor + 1 : 1;\n const normalizedMajor = major - 1;\n\n if (isNaN(normalizedMajor)) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n if (normalizedMajor <= 0) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n const divider = normalizedMajor * minorTicks;\n const raw = distance / divider;\n return parseFloat(Number(raw).toFixed(4));\n}\n\nconst mkRange = (min, max, interval) => {\n const raw = range(min, max, interval);\n /* Fix the last step due to rounding errors */\n raw.splice(raw.length, 1, max);\n return raw;\n};\n\nexport function snapTo(min, max, interval, value) {\n if (value >= max) {\n return max;\n }\n\n if (value <= min) {\n return min;\n }\n\n let rng = mkRange(min, max, interval);\n\n rng = rng.filter((v) => {\n return Math.abs(value - v) <= interval;\n });\n\n return (\n rng.length &&\n rng.reduce((prev, curr) => {\n const currentDistance = Math.abs(curr - value);\n const previousDistance = Math.abs(prev - value);\n return currentDistance <= previousDistance ? curr : prev;\n })\n );\n}\n\nexport function buildTickModel(domain, ticks, interval, scaleFn) {\n const rng = mkRange(domain.min, domain.max, interval);\n\n return rng.map((r, index) => {\n const isMajor = index % (ticks.minor + 1) === 0;\n\n return {\n value: r,\n major: isMajor,\n x: scaleFn(r),\n };\n });\n}\n\nexport const polygonToArea = (points) => {\n const h = head(points);\n const area = {\n left: h.x,\n top: h.y,\n bottom: h.y,\n right: h.x,\n };\n return tail(points).reduce((a, p) => {\n a.left = Math.min(a.left, p.x);\n a.top = Math.max(a.top, p.y);\n a.bottom = Math.min(a.bottom, p.y);\n a.right = Math.max(a.right, p.x);\n return a;\n }, area);\n};\n\nexport const lineToArea = (from, to) => {\n const left = Math.min(from.x, to.x);\n const top = Math.max(from.y, to.y);\n const bottom = Math.min(from.y, to.y);\n const right = Math.max(from.x, to.x);\n return { left, top, bottom, right };\n};\n\nexport const bounds = (area, domain, range) => {\n return {\n left: domain.min - area.left,\n right: Math.abs(area.right - domain.max),\n top: Math.abs(area.top - range.max),\n bottom: range.min - area.bottom,\n };\n};\n\nexport const point = (o) => new Point(o.x, o.y);\nexport const getDelta = (from, to) => {\n return point(to).sub(point(from));\n};\n\nexport const bandKey = (d, index) => `${index}-${d.label || '-'}`;\n\nexport const isDomainRangeEqual = (graphProps, nextGraphProps) => {\n return isEqual(graphProps.domain, nextGraphProps.domain) && isEqual(graphProps.range, nextGraphProps.range);\n};\n\n// findLongestWord is also used in graphing\nexport const findLongestWord = (label) => {\n let longestWord = (label || '')\n .replace(/<[^>]+>/g, '')\n .split(' ')\n .sort((a, b) => b.length - a.length);\n\n return longestWord[0].length;\n};\n\n// amountToIncreaseWidth is also used in graphing\nexport const amountToIncreaseWidth = (longestWord) => {\n if (!longestWord) {\n return 0;\n }\n\n return longestWord * 20;\n};\n\nexport const extractTextFromHTML = (htmlString) => {\n const parser = new DOMParser();\n const doc = parser?.parseFromString(htmlString, 'text/html');\n return doc?.body?.textContent || '';\n};\n\nexport const isEmptyObject = (obj) => {\n return obj && Object.keys(obj).length === 0 && obj.constructor === Object;\n};\n\nexport const isEmptyString = (str) => {\n return typeof str === 'string' && str.trim() === '';\n};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "2.
|
|
6
|
+
"version": "2.27.0-mui-update.0",
|
|
7
7
|
"description": "Some underlying components for building charts/graphs",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"react",
|
|
@@ -16,10 +16,13 @@
|
|
|
16
16
|
"author": "",
|
|
17
17
|
"license": "ISC",
|
|
18
18
|
"dependencies": {
|
|
19
|
+
"@emotion/react": "^11.14.0",
|
|
20
|
+
"@emotion/style": "^0.8.0",
|
|
19
21
|
"@mapbox/point-geometry": "^0.1.0",
|
|
20
|
-
"@material
|
|
21
|
-
"@
|
|
22
|
-
"@pie-lib/
|
|
22
|
+
"@mui/icons-material": "^7.3.4",
|
|
23
|
+
"@mui/material": "^7.3.4",
|
|
24
|
+
"@pie-lib/editable-html": "^11.21.0-mui-update.0",
|
|
25
|
+
"@pie-lib/render-ui": "^4.35.0-mui-update.0",
|
|
23
26
|
"@vx/axis": "^0.0.183",
|
|
24
27
|
"@vx/event": "^0.0.182",
|
|
25
28
|
"@vx/grid": "^0.0.183",
|
|
@@ -33,14 +36,14 @@
|
|
|
33
36
|
"invariant": "^2.2.4",
|
|
34
37
|
"lodash": "^4.17.11",
|
|
35
38
|
"prop-types": "^15.7.2",
|
|
36
|
-
"react": "^
|
|
39
|
+
"react": "^18.2.0",
|
|
37
40
|
"react-draggable": "^3.1.1",
|
|
38
41
|
"react-redux": "^6.0.0",
|
|
39
42
|
"redux": "^4.0.1"
|
|
40
43
|
},
|
|
41
44
|
"peerDependencies": {
|
|
42
|
-
"react": "^
|
|
45
|
+
"react": "^18.2.0"
|
|
43
46
|
},
|
|
44
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "622d5627dc85e393cdf13e3362970299cc485cc5",
|
|
45
48
|
"scripts": {}
|
|
46
49
|
}
|
package/src/label.jsx
CHANGED
|
@@ -1,13 +1,44 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import cn from 'classnames';
|
|
2
|
+
import { Readable } from '@pie-lib/render-ui';
|
|
4
3
|
import EditableHtml from '@pie-lib/editable-html';
|
|
5
|
-
import {
|
|
4
|
+
import { styled } from '@mui/material/styles';
|
|
6
5
|
import PropTypes from 'prop-types';
|
|
7
6
|
import { extractTextFromHTML, isEmptyString } from './utils';
|
|
7
|
+
|
|
8
|
+
const StyledLabel = styled('div', {
|
|
9
|
+
shouldForwardProp: (prop) => !['side', 'rotatedToHorizontal', 'isChart', 'isChartBottomLabel', 'isDefineChartBottomLabel', 'disabledLabel', 'isEmpty'].includes(prop),
|
|
10
|
+
})(({ theme, side, rotatedToHorizontal, isChart, isChartBottomLabel, isDefineChartBottomLabel, disabledLabel, isEmpty }) => ({
|
|
11
|
+
fontSize: isChart ? theme.typography.fontSize + 2 : theme.typography.fontSize - 2,
|
|
12
|
+
textAlign: 'center',
|
|
13
|
+
margin: theme.spacing(0.5),
|
|
14
|
+
padding: `${theme.spacing(0.5)} 0`,
|
|
15
|
+
display: disabledLabel && !isChart && isEmpty ? 'none' : 'block',
|
|
16
|
+
position: (isChartBottomLabel || isDefineChartBottomLabel || side === 'left' || side === 'right') ? 'absolute' : 'relative',
|
|
17
|
+
...(side === 'left' && !rotatedToHorizontal && {
|
|
18
|
+
WebkitTransform: 'rotate(-90deg)',
|
|
19
|
+
transformOrigin: '0 0',
|
|
20
|
+
transformStyle: 'preserve-3d',
|
|
21
|
+
}),
|
|
22
|
+
...(side === 'right' && !rotatedToHorizontal && {
|
|
23
|
+
WebkitTransform: 'rotate(90deg)',
|
|
24
|
+
transformOrigin: '0 0',
|
|
25
|
+
transformStyle: 'preserve-3d',
|
|
26
|
+
}),
|
|
27
|
+
...(rotatedToHorizontal && {
|
|
28
|
+
backgroundColor: 'white',
|
|
29
|
+
borderRadius: '4px',
|
|
30
|
+
boxShadow: '0px 5px 8px rgba(0, 0, 0, 0.15)',
|
|
31
|
+
zIndex: 10,
|
|
32
|
+
}),
|
|
33
|
+
}));
|
|
34
|
+
|
|
35
|
+
const DisabledLabel = styled('div')({
|
|
36
|
+
pointerEvents: 'none',
|
|
37
|
+
width: '100%',
|
|
38
|
+
});
|
|
39
|
+
|
|
8
40
|
const LabelComponent = (props) => {
|
|
9
41
|
const {
|
|
10
|
-
classes,
|
|
11
42
|
disabledLabel,
|
|
12
43
|
graphHeight,
|
|
13
44
|
graphWidth,
|
|
@@ -62,19 +93,19 @@ const LabelComponent = (props) => {
|
|
|
62
93
|
|
|
63
94
|
return (
|
|
64
95
|
<Readable false>
|
|
65
|
-
<
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
96
|
+
<StyledLabel
|
|
97
|
+
side={side}
|
|
98
|
+
rotatedToHorizontal={rotatedToHorizontal}
|
|
99
|
+
isChart={isChart}
|
|
100
|
+
isChartBottomLabel={isChartBottomLabel}
|
|
101
|
+
isDefineChartBottomLabel={isDefineChartBottomLabel}
|
|
102
|
+
disabledLabel={disabledLabel}
|
|
103
|
+
isEmpty={isEmptyString(extractTextFromHTML(text))}
|
|
73
104
|
style={rotatedToHorizontal ? rotatedStyle : defaultStyle}
|
|
74
105
|
onClick={rotateLabel}
|
|
75
106
|
>
|
|
76
107
|
{disabledLabel ? (
|
|
77
|
-
<
|
|
108
|
+
<DisabledLabel dangerouslySetInnerHTML={{ __html: text || '' }} />
|
|
78
109
|
) : (
|
|
79
110
|
<EditableHtml
|
|
80
111
|
markup={text || ''}
|
|
@@ -92,12 +123,12 @@ const LabelComponent = (props) => {
|
|
|
92
123
|
charactersLimit={charactersLimit}
|
|
93
124
|
/>
|
|
94
125
|
)}
|
|
95
|
-
</
|
|
126
|
+
</StyledLabel>
|
|
96
127
|
</Readable>
|
|
97
128
|
);
|
|
98
129
|
};
|
|
130
|
+
|
|
99
131
|
LabelComponent.propTypes = {
|
|
100
|
-
classes: PropTypes.object,
|
|
101
132
|
disabledLabel: PropTypes.bool,
|
|
102
133
|
graphHeight: PropTypes.number,
|
|
103
134
|
graphWidth: PropTypes.number,
|
|
@@ -114,49 +145,4 @@ LabelComponent.propTypes = {
|
|
|
114
145
|
titleHeight: PropTypes.number,
|
|
115
146
|
};
|
|
116
147
|
|
|
117
|
-
export default
|
|
118
|
-
label: {
|
|
119
|
-
fill: color.secondary(),
|
|
120
|
-
},
|
|
121
|
-
axisLabel: {
|
|
122
|
-
fontSize: theme.typography.fontSize - 2,
|
|
123
|
-
textAlign: 'center',
|
|
124
|
-
margin: theme.spacing.unit / 2,
|
|
125
|
-
padding: `${theme.spacing.unit / 2}px 0`,
|
|
126
|
-
},
|
|
127
|
-
chartLabel: {
|
|
128
|
-
fontSize: theme.typography.fontSize + 2,
|
|
129
|
-
textAlign: 'center',
|
|
130
|
-
margin: theme.spacing.unit / 2,
|
|
131
|
-
padding: `${theme.spacing.unit / 2}px 0`,
|
|
132
|
-
},
|
|
133
|
-
disabledLabel: {
|
|
134
|
-
pointerEvents: 'none',
|
|
135
|
-
width: '100%',
|
|
136
|
-
},
|
|
137
|
-
editLabel: {
|
|
138
|
-
position: 'absolute',
|
|
139
|
-
backgroundColor: 'white',
|
|
140
|
-
borderRadius: '4px',
|
|
141
|
-
boxShadow: '0px 5px 8px rgba(0, 0, 0, 0.15)',
|
|
142
|
-
zIndex: 10,
|
|
143
|
-
},
|
|
144
|
-
rotateLeftLabel: {
|
|
145
|
-
'-webkit-transform': 'rotate(-90deg)',
|
|
146
|
-
transformOrigin: '0 0',
|
|
147
|
-
transformStyle: 'preserve-3d',
|
|
148
|
-
position: 'absolute',
|
|
149
|
-
},
|
|
150
|
-
rotateRightLabel: {
|
|
151
|
-
'-webkit-transform': 'rotate(90deg)',
|
|
152
|
-
transformOrigin: '0 0',
|
|
153
|
-
transformStyle: 'preserve-3d',
|
|
154
|
-
position: 'absolute',
|
|
155
|
-
},
|
|
156
|
-
customBottom: {
|
|
157
|
-
position: 'absolute',
|
|
158
|
-
},
|
|
159
|
-
displayNone: {
|
|
160
|
-
display: 'none',
|
|
161
|
-
},
|
|
162
|
-
}))(LabelComponent);
|
|
148
|
+
export default LabelComponent;
|