@nativescript-community/ui-chart 1.2.32 → 1.2.34

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.
@@ -0,0 +1,18 @@
1
+ import { EasingFunction } from 'additween';
2
+ export { EasingFunction };
3
+ export declare class ChartAnimator {
4
+ private mListener;
5
+ protected mPhaseY: number;
6
+ protected mPhaseX: number;
7
+ constructor(listener?: (state: any) => void);
8
+ private startAnim;
9
+ private startXAnim;
10
+ private startYAnim;
11
+ animateX(durationMillis: any, easing?: EasingFunction): void;
12
+ animateXY(durationMillisX: any, durationMillisY: any, easingX?: EasingFunction, easingY?: EasingFunction): void;
13
+ animateY(durationMillis: any, easing?: EasingFunction): void;
14
+ getPhaseY(): number;
15
+ setPhaseY(phase: any): void;
16
+ getPhaseX(): number;
17
+ setPhaseX(phase: any): void;
18
+ }
@@ -0,0 +1,69 @@
1
+ import { time } from '@nativescript/core/profiling';
2
+ import { AdditiveTweening } from 'additween';
3
+ if (!global.window) {
4
+ window = global.window = {
5
+ requestAnimationFrame,
6
+ cancelAnimationFrame,
7
+ performance: {
8
+ now: time
9
+ }
10
+ };
11
+ }
12
+ function clamp(value) {
13
+ return Math.min(1, Math.max(0, value));
14
+ }
15
+ class Tween extends AdditiveTweening {
16
+ }
17
+ export class ChartAnimator {
18
+ constructor(listener) {
19
+ this.mPhaseY = 1;
20
+ this.mPhaseX = 1;
21
+ this.mListener = listener;
22
+ }
23
+ startAnim(duration, easing, listener) {
24
+ const anim = new Tween({
25
+ onRender: (state) => {
26
+ if (listener) {
27
+ listener(state);
28
+ }
29
+ }
30
+ });
31
+ anim.tween({ value: 0 }, { value: 1 }, duration);
32
+ return anim;
33
+ }
34
+ startXAnim(duration, easing, listener) {
35
+ return this.startAnim(duration, easing, (state) => {
36
+ this.setPhaseX(state.value);
37
+ listener === null || listener === void 0 ? void 0 : listener(state);
38
+ });
39
+ }
40
+ startYAnim(duration, easing, listener) {
41
+ return this.startAnim(duration, easing, (state) => {
42
+ this.setPhaseY(state.value);
43
+ listener === null || listener === void 0 ? void 0 : listener(state);
44
+ });
45
+ }
46
+ animateX(durationMillis, easing) {
47
+ this.startXAnim(durationMillis, easing, this.mListener);
48
+ }
49
+ animateXY(durationMillisX, durationMillisY, easingX, easingY) {
50
+ this.startXAnim(durationMillisX, easingX, durationMillisX > durationMillisY ? this.mListener : undefined);
51
+ this.startYAnim(durationMillisY, easingY || easingX, durationMillisX > durationMillisY ? undefined : this.mListener);
52
+ }
53
+ animateY(durationMillis, easing) {
54
+ this.startYAnim(durationMillis, easing, this.mListener);
55
+ }
56
+ getPhaseY() {
57
+ return this.mPhaseY;
58
+ }
59
+ setPhaseY(phase) {
60
+ this.mPhaseY = clamp(phase);
61
+ }
62
+ getPhaseX() {
63
+ return this.mPhaseX;
64
+ }
65
+ setPhaseX(phase) {
66
+ this.mPhaseX = clamp(phase);
67
+ }
68
+ }
69
+ //# sourceMappingURL=ChartAnimator2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartAnimator2.js","sourceRoot":"../src/","sources":["animation/ChartAnimator2.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nativescript-community/ui-chart",
3
- "version": "1.2.32",
3
+ "version": "1.2.34",
4
4
  "sideEffects": false,
5
5
  "description": "A powerful chart / graph plugin, supporting line, bar, pie, radar, bubble, and candlestick charts as well as scaling, panning and animations.",
6
6
  "keywords": [
@@ -32,12 +32,12 @@
32
32
  "main": "charts/index.js",
33
33
  "typings": "charts/index.d.ts",
34
34
  "dependencies": {
35
- "@nativescript-community/arraybuffers": "^1.1.3",
36
- "@nativescript-community/gesturehandler": "^2.0.12",
37
- "@nativescript-community/ui-canvas": "^4.5.1",
35
+ "@nativescript-community/arraybuffers": "^1.1.5",
36
+ "@nativescript-community/gesturehandler": "^2.0.23",
37
+ "@nativescript-community/ui-canvas": "^4.6.13",
38
38
  "additween": "^3.0.0",
39
39
  "downsample": "^1.4.0",
40
40
  "number-format.js": "^2.0.9"
41
41
  },
42
- "gitHead": "cd125cf5240de23954b74322f8cdb62b129a8f2e"
42
+ "gitHead": "e9cf5a55a81e7836e126c051bb6f3e92380afc44"
43
43
  }
@@ -0,0 +1,12 @@
1
+ export declare function splineCurve(firstPoint: any, middlePoint: any, afterPoint: any, t: any): {
2
+ previous: {
3
+ x: number;
4
+ y: number;
5
+ };
6
+ next: {
7
+ x: any;
8
+ y: any;
9
+ };
10
+ };
11
+ export declare function splineCurveMonotone(points: any, indexAxis?: string): void;
12
+ export declare function _updateBezierControlPoints(points: any, options: any, area: any, loop: any, indexAxis: any): void;
package/utils/Curve.js ADDED
@@ -0,0 +1,156 @@
1
+ const EPSILON = Number.EPSILON || 1e-14;
2
+ const getPoint = (points, i) => i < points.length && !points[i].skip && points[i];
3
+ const getValueAxis = (indexAxis) => (indexAxis === 'x' ? 'y' : 'x');
4
+ function distanceBetweenPoints(pt1, pt2) {
5
+ return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));
6
+ }
7
+ function almostEquals(x, y, epsilon) {
8
+ return Math.abs(x - y) < epsilon;
9
+ }
10
+ function _isPointInArea(point, area, margin = 0.5) {
11
+ return point && point.x > area.left - margin && point.x < area.right + margin && point.y > area.top - margin && point.y < area.bottom + margin;
12
+ }
13
+ const sign = Math.sign;
14
+ export function splineCurve(firstPoint, middlePoint, afterPoint, t) {
15
+ const previous = firstPoint;
16
+ const current = middlePoint;
17
+ const next = afterPoint;
18
+ const d01 = distanceBetweenPoints(current, previous);
19
+ const d12 = distanceBetweenPoints(next, current);
20
+ let s01 = d01 / (d01 + d12);
21
+ let s12 = d12 / (d01 + d12);
22
+ s01 = isNaN(s01) ? 0 : s01;
23
+ s12 = isNaN(s12) ? 0 : s12;
24
+ const fa = t * s01;
25
+ const fb = t * s12;
26
+ return {
27
+ previous: {
28
+ x: current.x - fa * (next.x - previous.x),
29
+ y: current.y - fa * (next.y - previous.y)
30
+ },
31
+ next: {
32
+ x: current.x + fb * (next.x - previous.x),
33
+ y: current.y + fb * (next.y - previous.y)
34
+ }
35
+ };
36
+ }
37
+ function monotoneAdjust(points, deltaK, mK) {
38
+ const pointsLen = points.length;
39
+ let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;
40
+ let pointAfter = getPoint(points, 0);
41
+ for (let i = 0; i < pointsLen - 1; ++i) {
42
+ pointCurrent = pointAfter;
43
+ pointAfter = getPoint(points, i + 1);
44
+ if (!pointCurrent || !pointAfter) {
45
+ continue;
46
+ }
47
+ if (almostEquals(deltaK[i], 0, EPSILON)) {
48
+ mK[i] = mK[i + 1] = 0;
49
+ continue;
50
+ }
51
+ alphaK = mK[i] / deltaK[i];
52
+ betaK = mK[i + 1] / deltaK[i];
53
+ squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);
54
+ if (squaredMagnitude <= 9) {
55
+ continue;
56
+ }
57
+ tauK = 3 / Math.sqrt(squaredMagnitude);
58
+ mK[i] = alphaK * tauK * deltaK[i];
59
+ mK[i + 1] = betaK * tauK * deltaK[i];
60
+ }
61
+ }
62
+ function monotoneCompute(points, mK, indexAxis = 'x') {
63
+ const valueAxis = getValueAxis(indexAxis);
64
+ const pointsLen = points.length;
65
+ let delta, pointBefore, pointCurrent;
66
+ let pointAfter = getPoint(points, 0);
67
+ for (let i = 0; i < pointsLen; ++i) {
68
+ pointBefore = pointCurrent;
69
+ pointCurrent = pointAfter;
70
+ pointAfter = getPoint(points, i + 1);
71
+ if (!pointCurrent) {
72
+ continue;
73
+ }
74
+ const iPixel = pointCurrent[indexAxis];
75
+ const vPixel = pointCurrent[valueAxis];
76
+ if (pointBefore) {
77
+ delta = (iPixel - pointBefore[indexAxis]) / 3;
78
+ pointCurrent[`cp1${indexAxis}`] = iPixel - delta;
79
+ pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];
80
+ }
81
+ if (pointAfter) {
82
+ delta = (pointAfter[indexAxis] - iPixel) / 3;
83
+ pointCurrent[`cp2${indexAxis}`] = iPixel + delta;
84
+ pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];
85
+ }
86
+ }
87
+ }
88
+ export function splineCurveMonotone(points, indexAxis = 'x') {
89
+ const valueAxis = getValueAxis(indexAxis);
90
+ const pointsLen = points.length;
91
+ const deltaK = Array(pointsLen).fill(0);
92
+ const mK = Array(pointsLen);
93
+ let i, pointBefore, pointCurrent;
94
+ let pointAfter = getPoint(points, 0);
95
+ for (i = 0; i < pointsLen; ++i) {
96
+ pointBefore = pointCurrent;
97
+ pointCurrent = pointAfter;
98
+ pointAfter = getPoint(points, i + 1);
99
+ if (!pointCurrent) {
100
+ continue;
101
+ }
102
+ if (pointAfter) {
103
+ const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];
104
+ deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;
105
+ }
106
+ mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2;
107
+ }
108
+ monotoneAdjust(points, deltaK, mK);
109
+ monotoneCompute(points, mK, indexAxis);
110
+ }
111
+ function capControlPoint(pt, min, max) {
112
+ return Math.max(Math.min(pt, max), min);
113
+ }
114
+ function capBezierPoints(points, area) {
115
+ let i, ilen, point, inArea, inAreaPrev;
116
+ let inAreaNext = _isPointInArea(points[0], area);
117
+ for (i = 0, ilen = points.length; i < ilen; ++i) {
118
+ inAreaPrev = inArea;
119
+ inArea = inAreaNext;
120
+ inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);
121
+ if (!inArea) {
122
+ continue;
123
+ }
124
+ point = points[i];
125
+ if (inAreaPrev) {
126
+ point.cp1x = capControlPoint(point.cp1x, area.left, area.right);
127
+ point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);
128
+ }
129
+ if (inAreaNext) {
130
+ point.cp2x = capControlPoint(point.cp2x, area.left, area.right);
131
+ point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);
132
+ }
133
+ }
134
+ }
135
+ export function _updateBezierControlPoints(points, options, area, loop, indexAxis) {
136
+ let i, ilen, point, controlPoints;
137
+ if (options.cubicInterpolationMode === 'monotone') {
138
+ splineCurveMonotone(points, indexAxis);
139
+ }
140
+ else {
141
+ let prev = loop ? points[points.length - 1] : points[0];
142
+ for (i = 0, ilen = points.length; i < ilen; ++i) {
143
+ point = points[i];
144
+ controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension);
145
+ point.cp1x = controlPoints.previous.x;
146
+ point.cp1y = controlPoints.previous.y;
147
+ point.cp2x = controlPoints.next.x;
148
+ point.cp2y = controlPoints.next.y;
149
+ prev = point;
150
+ }
151
+ }
152
+ if (options.capBezierPoints) {
153
+ capBezierPoints(points, area);
154
+ }
155
+ }
156
+ //# sourceMappingURL=Curve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Curve.js","sourceRoot":"../src/","sources":["utils/Curve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=MPPointD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MPPointD.js","sourceRoot":"../src/","sources":["utils/MPPointD.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=MPPointF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MPPointF.js","sourceRoot":"../src/","sources":["utils/MPPointF.ts"],"names":[],"mappings":""}