@nstudio/ncharts 1.0.3 → 1.1.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 (127) hide show
  1. package/angular/fesm2022/nstudio-ncharts-angular.mjs +14 -280
  2. package/angular/fesm2022/nstudio-ncharts-angular.mjs.map +1 -1
  3. package/angular/types/nstudio-ncharts-angular.d.ts +8 -36
  4. package/charts/bar-chart.android.d.ts +12 -1
  5. package/charts/bar-chart.android.js +123 -16
  6. package/charts/bar-chart.android.js.map +1 -1
  7. package/charts/bar-chart.ios.d.ts +12 -1
  8. package/charts/bar-chart.ios.js +122 -26
  9. package/charts/bar-chart.ios.js.map +1 -1
  10. package/charts/bubble-chart.android.d.ts +3 -1
  11. package/charts/bubble-chart.android.js +11 -3
  12. package/charts/bubble-chart.android.js.map +1 -1
  13. package/charts/bubble-chart.ios.d.ts +3 -1
  14. package/charts/bubble-chart.ios.js +21 -15
  15. package/charts/bubble-chart.ios.js.map +1 -1
  16. package/charts/candlestick-chart.android.d.ts +3 -1
  17. package/charts/candlestick-chart.android.js +11 -3
  18. package/charts/candlestick-chart.android.js.map +1 -1
  19. package/charts/candlestick-chart.ios.d.ts +3 -1
  20. package/charts/candlestick-chart.ios.js +21 -15
  21. package/charts/candlestick-chart.ios.js.map +1 -1
  22. package/charts/chart-paging-detector/chart-paging-detector-base.d.ts +30 -0
  23. package/charts/chart-paging-detector/chart-paging-detector-base.js +115 -0
  24. package/charts/chart-paging-detector/chart-paging-detector-base.js.map +1 -0
  25. package/charts/chart-paging-detector/chart-paging-detector.android.d.ts +28 -0
  26. package/charts/chart-paging-detector/chart-paging-detector.android.js +136 -0
  27. package/charts/chart-paging-detector/chart-paging-detector.android.js.map +1 -0
  28. package/charts/chart-paging-detector/chart-paging-detector.ios.d.ts +34 -0
  29. package/charts/chart-paging-detector/chart-paging-detector.ios.js +88 -0
  30. package/charts/chart-paging-detector/chart-paging-detector.ios.js.map +1 -0
  31. package/charts/combined-chart.android.d.ts +13 -1
  32. package/charts/combined-chart.android.js +163 -13
  33. package/charts/combined-chart.android.js.map +1 -1
  34. package/charts/combined-chart.ios.d.ts +13 -1
  35. package/charts/combined-chart.ios.js +222 -72
  36. package/charts/combined-chart.ios.js.map +1 -1
  37. package/charts/default-marker.android.d.ts +29 -0
  38. package/charts/default-marker.android.js +133 -0
  39. package/charts/default-marker.android.js.map +1 -0
  40. package/charts/default-marker.ios.d.ts +21 -0
  41. package/charts/default-marker.ios.js +119 -0
  42. package/charts/default-marker.ios.js.map +1 -0
  43. package/charts/formatters/custom-labels-array-formatter.android.d.ts +7 -0
  44. package/charts/formatters/custom-labels-array-formatter.android.js +26 -0
  45. package/charts/formatters/custom-labels-array-formatter.android.js.map +1 -0
  46. package/charts/formatters/custom-labels-array-formatter.ios.d.ts +16 -0
  47. package/charts/formatters/custom-labels-array-formatter.ios.js +53 -0
  48. package/charts/formatters/custom-labels-array-formatter.ios.js.map +1 -0
  49. package/charts/formatters/date-formatters.android.d.ts +34 -0
  50. package/charts/formatters/date-formatters.android.js +74 -0
  51. package/charts/formatters/date-formatters.android.js.map +1 -0
  52. package/charts/formatters/date-formatters.ios.d.ts +33 -0
  53. package/charts/formatters/date-formatters.ios.js +75 -0
  54. package/charts/formatters/date-formatters.ios.js.map +1 -0
  55. package/charts/formatters/decimal-value-formatter.android.d.ts +13 -0
  56. package/charts/formatters/decimal-value-formatter.android.js +64 -0
  57. package/charts/formatters/decimal-value-formatter.android.js.map +1 -0
  58. package/charts/formatters/suffix-value-formatter.android.d.ts +13 -0
  59. package/charts/formatters/suffix-value-formatter.android.js +78 -0
  60. package/charts/formatters/suffix-value-formatter.android.js.map +1 -0
  61. package/charts/formatters/suffix-value-formatter.ios.d.ts +15 -0
  62. package/charts/formatters/suffix-value-formatter.ios.js +76 -0
  63. package/charts/formatters/suffix-value-formatter.ios.js.map +1 -0
  64. package/charts/formatters/value-formatter-helpers.d.ts +1 -0
  65. package/charts/formatters/value-formatter-helpers.js +29 -0
  66. package/charts/formatters/value-formatter-helpers.js.map +1 -0
  67. package/charts/line-chart.android.d.ts +12 -1
  68. package/charts/line-chart.android.js +121 -11
  69. package/charts/line-chart.android.js.map +1 -1
  70. package/charts/line-chart.ios.d.ts +12 -1
  71. package/charts/line-chart.ios.js +120 -21
  72. package/charts/line-chart.ios.js.map +1 -1
  73. package/charts/pie-chart.android.d.ts +23 -4
  74. package/charts/pie-chart.android.js +166 -55
  75. package/charts/pie-chart.android.js.map +1 -1
  76. package/charts/pie-chart.ios.d.ts +23 -4
  77. package/charts/pie-chart.ios.js +182 -90
  78. package/charts/pie-chart.ios.js.map +1 -1
  79. package/charts/radar-chart.android.d.ts +4 -1
  80. package/charts/radar-chart.android.js +16 -3
  81. package/charts/radar-chart.android.js.map +1 -1
  82. package/charts/radar-chart.ios.d.ts +4 -1
  83. package/charts/radar-chart.ios.js +27 -15
  84. package/charts/radar-chart.ios.js.map +1 -1
  85. package/charts/renderers/bar-chart-renderer.android.d.ts +19 -0
  86. package/charts/renderers/bar-chart-renderer.android.js +118 -0
  87. package/charts/renderers/bar-chart-renderer.android.js.map +1 -0
  88. package/charts/renderers/bar-chart-renderer.ios.d.ts +48 -0
  89. package/charts/renderers/bar-chart-renderer.ios.js +152 -0
  90. package/charts/renderers/bar-chart-renderer.ios.js.map +1 -0
  91. package/charts/renderers/combined-chart-renderer.android.d.ts +13 -0
  92. package/charts/renderers/combined-chart-renderer.android.js +57 -0
  93. package/charts/renderers/combined-chart-renderer.android.js.map +1 -0
  94. package/charts/renderers/combined-chart-renderer.ios.d.ts +12 -0
  95. package/charts/renderers/combined-chart-renderer.ios.js +66 -0
  96. package/charts/renderers/combined-chart-renderer.ios.js.map +1 -0
  97. package/charts/renderers/line-chart-plotbands-renderer.android.d.ts +13 -0
  98. package/charts/renderers/line-chart-plotbands-renderer.android.js +37 -0
  99. package/charts/renderers/line-chart-plotbands-renderer.android.js.map +1 -0
  100. package/charts/renderers/line-chart-plotbands-renderer.ios.d.ts +10 -0
  101. package/charts/renderers/line-chart-plotbands-renderer.ios.js +34 -0
  102. package/charts/renderers/line-chart-plotbands-renderer.ios.js.map +1 -0
  103. package/charts/renderers/plotband-drawer.android.d.ts +33 -0
  104. package/charts/renderers/plotband-drawer.android.js +200 -0
  105. package/charts/renderers/plotband-drawer.android.js.map +1 -0
  106. package/charts/renderers/plotband-drawer.ios.d.ts +15 -0
  107. package/charts/renderers/plotband-drawer.ios.js +183 -0
  108. package/charts/renderers/plotband-drawer.ios.js.map +1 -0
  109. package/charts/scatter-chart.android.d.ts +3 -1
  110. package/charts/scatter-chart.android.js +11 -3
  111. package/charts/scatter-chart.android.js.map +1 -1
  112. package/charts/scatter-chart.ios.d.ts +3 -1
  113. package/charts/scatter-chart.ios.js +21 -15
  114. package/charts/scatter-chart.ios.js.map +1 -1
  115. package/charts/style-helpers.android.d.ts +7 -5
  116. package/charts/style-helpers.android.js +125 -5
  117. package/charts/style-helpers.android.js.map +1 -1
  118. package/charts/style-helpers.ios.d.ts +7 -5
  119. package/charts/style-helpers.ios.js +138 -5
  120. package/charts/style-helpers.ios.js.map +1 -1
  121. package/common.d.ts +56 -2
  122. package/common.js +181 -14
  123. package/common.js.map +1 -1
  124. package/package.json +2 -2
  125. package/types/android!MPAndroidChart.d.ts +7955 -0
  126. package/types/objc!DGCharts.d.ts +5265 -0
  127. package/types.d.ts +67 -3
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Axis formatter for timestamps.
3
+ *
4
+ * MPAndroidChart uses 32-bit floats internally. Because of this, full
5
+ * millisecond timestamps (double precision) cannot be represented accurately.
6
+ *
7
+ * Recommended approach:
8
+ * - subtract the first timestamp from all X values
9
+ * - scale the result to a smaller unit (e.g. minutes instead of milliseconds)
10
+ *
11
+ * Example preprocessing:
12
+ * x = (timestamp - baseTimestamp) / 60000
13
+ *
14
+ * To reconstruct the original timestamp for formatting, use
15
+ * `valueFormatterTransformExpression`, e.g.:
16
+ *
17
+ * `(y) => ${baseTimestamp} + y * 60000`
18
+ *
19
+ * This keeps the chart values small while still formatting labels
20
+ * using the correct absolute timestamps.
21
+ *
22
+ * For compatibility purposes we also implement this approach on IOS side
23
+ */
24
+ export declare class NSDateAxisValueFormatter extends NSObject implements ChartAxisValueFormatter {
25
+ static ObjCProtocols: {
26
+ prototype: ChartAxisValueFormatter;
27
+ }[];
28
+ private _formatter;
29
+ private _transform?;
30
+ static initWithPattern(pattern?: string, valueFormatterTransformExpression?: string): NSDateAxisValueFormatter;
31
+ stringForValueAxis(value: number, axis: ChartAxisBase): string;
32
+ private _normalizeJsLikeDatePatternToApple;
33
+ }
@@ -0,0 +1,75 @@
1
+ import { compileValueFormatterTransform } from './value-formatter-helpers';
2
+ var NSDateAxisValueFormatter = (function (_super) {
3
+ __extends(NSDateAxisValueFormatter, _super);
4
+ function NSDateAxisValueFormatter() {
5
+ return _super !== null && _super.apply(this, arguments) || this;
6
+ }
7
+ NSDateAxisValueFormatter.initWithPattern = function (pattern, valueFormatterTransformExpression) {
8
+ var obj = NSDateAxisValueFormatter.new();
9
+ var df = NSDateFormatter.new();
10
+ df.locale = NSLocale.currentLocale;
11
+ df.timeZone = NSTimeZone.localTimeZone;
12
+ df.dateFormat = obj._normalizeJsLikeDatePatternToApple(pattern);
13
+ obj._formatter = df;
14
+ if (valueFormatterTransformExpression) {
15
+ obj._transform = compileValueFormatterTransform(valueFormatterTransformExpression);
16
+ }
17
+ return obj;
18
+ };
19
+ NSDateAxisValueFormatter.prototype.stringForValueAxis = function (value, axis) {
20
+ var _a;
21
+ if (value === null || value === undefined || Number.isNaN(value))
22
+ return "";
23
+ var transformedValue = value;
24
+ if (this._transform) {
25
+ try {
26
+ transformedValue = this._transform(value);
27
+ }
28
+ catch (err) {
29
+ console.error("valueFormatterTransformExpression execution failed:", err);
30
+ return "";
31
+ }
32
+ }
33
+ if (!Number.isFinite(transformedValue))
34
+ return "";
35
+ var dateInSeconds = transformedValue / 1000;
36
+ var date = NSDate.dateWithTimeIntervalSince1970(dateInSeconds);
37
+ if (!date)
38
+ return "";
39
+ try {
40
+ return (_a = this._formatter.stringFromDate(date)) !== null && _a !== void 0 ? _a : "";
41
+ }
42
+ catch (_err) {
43
+ return "";
44
+ }
45
+ };
46
+ NSDateAxisValueFormatter.prototype._normalizeJsLikeDatePatternToApple = function (input) {
47
+ if (!input)
48
+ return "MMM dd";
49
+ var m = {
50
+ YYYY: "yyyy",
51
+ YY: "yy",
52
+ DD: "dd",
53
+ D: "d",
54
+ A: "a",
55
+ a: "a",
56
+ MMMM: "MMMM",
57
+ MMM: "MMM",
58
+ MM: "MM",
59
+ M: "M",
60
+ HH: "HH",
61
+ H: "H",
62
+ hh: "hh",
63
+ h: "h",
64
+ mm: "mm",
65
+ m: "m",
66
+ ss: "ss",
67
+ s: "s",
68
+ };
69
+ return Object.keys(m).sort(function (a, b) { return b.length - a.length; }).reduce(function (p, k) { return p.split(k).join(m[k]); }, input);
70
+ };
71
+ NSDateAxisValueFormatter.ObjCProtocols = [ChartAxisValueFormatter];
72
+ return NSDateAxisValueFormatter;
73
+ }(NSObject));
74
+ export { NSDateAxisValueFormatter };
75
+ //# sourceMappingURL=date-formatters.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-formatters.ios.js","sourceRoot":"","sources":["../../../../../packages/ncharts/charts/formatters/date-formatters.ios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;;;;;IA2B9B,CAAC;;;;;;;;;;QAepB,CAAC;;IAChB,CAAC;;;;;;;;;YAWI,CAAC;;;;YAIX,CAAC;QAEH,CAAC;;;;;;;;;QAegC,CAAC;;;QACf,CAAC;IAEpB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;iFA0BqM,CAAC,yDAAsE,CAAC;IAAU,CAAC;;;AAAmH,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare class DecimalValueFormatter extends com.github.mikephil.charting.formatter.ValueFormatter {
2
+ private _df;
3
+ constructor(decimals?: number);
4
+ private _format;
5
+ getAxisLabel(value: number, axis: com.github.mikephil.charting.components.AxisBase): string;
6
+ getBarLabel(barEntry: com.github.mikephil.charting.data.BarEntry): string;
7
+ getBarStackedLabel(value: number, stackedEntry: com.github.mikephil.charting.data.BarEntry): string;
8
+ getPointLabel(entry: com.github.mikephil.charting.data.Entry): string;
9
+ getPieLabel(value: number, pieEntry: com.github.mikephil.charting.data.PieEntry): string;
10
+ getBubbleLabel(bubbleEntry: com.github.mikephil.charting.data.BubbleEntry): string;
11
+ getCandleLabel(candleEntry: com.github.mikephil.charting.data.CandleEntry): string;
12
+ getRadarLabel(radarEntry: com.github.mikephil.charting.data.RadarEntry): string;
13
+ }
@@ -0,0 +1,64 @@
1
+ var DecimalValueFormatter = (function (_super) {
2
+ __extends(DecimalValueFormatter, _super);
3
+ function DecimalValueFormatter(decimals) {
4
+ if (decimals === void 0) {
5
+ decimals = 0;
6
+ }
7
+ var _this = _super.call(this) || this;
8
+ var d = Math.max(0, Math.floor(decimals));
9
+ var pattern = d > 0 ? "0.".concat("0".repeat(d)) : "0";
10
+ var symbols = new java.text.DecimalFormatSymbols(java.util.Locale.getDefault());
11
+ _this._df = new java.text.DecimalFormat(pattern, symbols);
12
+ _this._df.setGroupingUsed(false);
13
+ return global.__native(_this);
14
+ }
15
+ DecimalValueFormatter.prototype._format = function (value) {
16
+ var _a;
17
+ if (value === null || value === undefined || isNaN(value))
18
+ return "";
19
+ try {
20
+ var out = (_a = this._df) === null || _a === void 0 ? void 0 : _a.format(value);
21
+ return typeof out === "string" ? out : "";
22
+ }
23
+ catch (_b) {
24
+ return "";
25
+ }
26
+ };
27
+ DecimalValueFormatter.prototype.getAxisLabel = function (value, axis) {
28
+ return this._format(value);
29
+ };
30
+ DecimalValueFormatter.prototype.getBarLabel = function (barEntry) {
31
+ if (!barEntry)
32
+ return "";
33
+ return this._format(barEntry.getY());
34
+ };
35
+ DecimalValueFormatter.prototype.getBarStackedLabel = function (value, stackedEntry) {
36
+ return this._format(value);
37
+ };
38
+ DecimalValueFormatter.prototype.getPointLabel = function (entry) {
39
+ if (!entry)
40
+ return "";
41
+ return this._format(entry.getY());
42
+ };
43
+ DecimalValueFormatter.prototype.getPieLabel = function (value, pieEntry) {
44
+ return this._format(value);
45
+ };
46
+ DecimalValueFormatter.prototype.getBubbleLabel = function (bubbleEntry) {
47
+ if (!bubbleEntry)
48
+ return "";
49
+ return this._format(bubbleEntry.getY());
50
+ };
51
+ DecimalValueFormatter.prototype.getCandleLabel = function (candleEntry) {
52
+ if (!candleEntry)
53
+ return "";
54
+ return this._format(candleEntry.getHigh());
55
+ };
56
+ DecimalValueFormatter.prototype.getRadarLabel = function (radarEntry) {
57
+ if (!radarEntry)
58
+ return "";
59
+ return this._format(radarEntry.getY());
60
+ };
61
+ return DecimalValueFormatter;
62
+ }(com.github.mikephil.charting.formatter.ValueFormatter));
63
+ export { DecimalValueFormatter };
64
+ //# sourceMappingURL=decimal-value-formatter.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decimal-value-formatter.android.js","sourceRoot":"","sources":["../../../../../packages/ncharts/charts/formatters/decimal-value-formatter.android.ts"],"names":[],"mappings":";;;;;QAOW,CAAC;;;;;;;;IAaW,CAAC;;;;;;;;QAYnB,CAAC;;;QAAqD,CAAC;IAAS,CAAC;;;IAK5C,CAAC;;;;;IAIsB,CAAC;;;IAKpB,CAAC;;;;;IAI0B,CAAC;;;IAKxD,CAAC;;;;;IAEuD,CAAC;;;;;IAKzB,CAAC;;;;;IAGkK,CAAC;;AAAwC,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare class NSSuffixValueFormatter extends com.github.mikephil.charting.formatter.ValueFormatter {
2
+ private _decimalFormat;
3
+ private _transform?;
4
+ constructor(pattern?: string, transformExpression?: string);
5
+ static initWithPattern(pattern?: string, transformExpression?: string): NSSuffixValueFormatter;
6
+ getFormattedValue(value: number): string;
7
+ getAxisLabel(value: number, axis: com.github.mikephil.charting.components.AxisBase): string;
8
+ getBarLabel(barEntry: com.github.mikephil.charting.data.BarEntry): string;
9
+ getPointLabel(entry: com.github.mikephil.charting.data.Entry): string;
10
+ getStackedLabel(value: number, stackedEntry: com.github.mikephil.charting.data.BarEntry): string;
11
+ private static createFormatter;
12
+ private static parsePattern;
13
+ }
@@ -0,0 +1,78 @@
1
+ import { compileValueFormatterTransform } from './value-formatter-helpers';
2
+ var NSSuffixValueFormatter = (function (_super) {
3
+ __extends(NSSuffixValueFormatter, _super);
4
+ function NSSuffixValueFormatter(pattern, transformExpression) {
5
+ var _this = _super.call(this) || this;
6
+ var parsed = NSSuffixValueFormatter.parsePattern(pattern);
7
+ _this._decimalFormat = NSSuffixValueFormatter.createFormatter(parsed);
8
+ if (transformExpression) {
9
+ _this._transform = compileValueFormatterTransform(transformExpression);
10
+ }
11
+ return global.__native(_this);
12
+ }
13
+ NSSuffixValueFormatter.initWithPattern = function (pattern, transformExpression) {
14
+ return new NSSuffixValueFormatter(pattern, transformExpression);
15
+ };
16
+ NSSuffixValueFormatter.prototype.getFormattedValue = function (value) {
17
+ if (!Number.isFinite(value))
18
+ return "";
19
+ var transformedValue = value;
20
+ if (this._transform) {
21
+ try {
22
+ transformedValue = this._transform(value);
23
+ }
24
+ catch (err) {
25
+ console.error("valueFormatterTransformExpression execution failed:", err);
26
+ return "";
27
+ }
28
+ }
29
+ if (!Number.isFinite(transformedValue))
30
+ return "";
31
+ return this._decimalFormat.format(transformedValue);
32
+ };
33
+ NSSuffixValueFormatter.prototype.getAxisLabel = function (value, axis) {
34
+ return this.getFormattedValue(value);
35
+ };
36
+ NSSuffixValueFormatter.prototype.getBarLabel = function (barEntry) {
37
+ return barEntry ? this.getFormattedValue(barEntry.getY()) : "";
38
+ };
39
+ NSSuffixValueFormatter.prototype.getPointLabel = function (entry) {
40
+ return entry ? this.getFormattedValue(entry.getY()) : "";
41
+ };
42
+ NSSuffixValueFormatter.prototype.getStackedLabel = function (value, stackedEntry) {
43
+ return this.getFormattedValue(value);
44
+ };
45
+ NSSuffixValueFormatter.createFormatter = function (parsed) {
46
+ var symbolsLocale = parsed.decimalSeparator === "," ? java.util.Locale.GERMANY : java.util.Locale.US;
47
+ var symbols = new java.text.DecimalFormatSymbols(symbolsLocale);
48
+ var intPart = "0".repeat(Math.max(1, parsed.integerDigits));
49
+ var fracPart = parsed.fractionDigits > 0 ? "." + "0".repeat(parsed.fractionDigits) : "";
50
+ var numberPattern = intPart + fracPart;
51
+ var formatter = new java.text.DecimalFormat(numberPattern, symbols);
52
+ formatter.setGroupingUsed(false);
53
+ formatter.setPositiveSuffix(parsed.suffix);
54
+ formatter.setNegativeSuffix(parsed.suffix);
55
+ return formatter;
56
+ };
57
+ NSSuffixValueFormatter.parsePattern = function (pattern) {
58
+ var p = (pattern && pattern.length ? pattern : "0").trim();
59
+ var match = /^(\d+)(?:([.,])(\d+))?(.*)$/.exec(p);
60
+ if (!match) {
61
+ return {
62
+ integerDigits: 1,
63
+ fractionDigits: 0,
64
+ suffix: "",
65
+ decimalSeparator: undefined,
66
+ };
67
+ }
68
+ return {
69
+ integerDigits: match[1].length,
70
+ fractionDigits: match[3] ? match[3].length : 0,
71
+ suffix: match[4] || "",
72
+ decimalSeparator: match[2] || undefined,
73
+ };
74
+ };
75
+ return NSSuffixValueFormatter;
76
+ }(com.github.mikephil.charting.formatter.ValueFormatter));
77
+ export { NSSuffixValueFormatter };
78
+ //# sourceMappingURL=suffix-value-formatter.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suffix-value-formatter.android.js","sourceRoot":"","sources":["../../../../../packages/ncharts/charts/formatters/suffix-value-formatter.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;;;;;;;;;QAWlB,CAAC;;IAGpD,CAAC;;;IAMoC,CAAC;;;;;;;;YASxB,CAAC;;;;YAI8C,CAAC;QAAY,CAAC;;;;IAOhC,CAAC;;;IAIpC,CAAC;;;IAImB,CAAC;;;IAIV,CAAC;;;IAGyE,CAAC;;;;;;;;;;;;IAiBhG,CAAC;;;;;;;;;;;QAcsC,CAAC;;;;;;;IAatC,CAAC;;AAA0C,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare class NSSuffixValueFormatter extends NSObject implements ChartAxisValueFormatter, ChartValueFormatter {
2
+ static ObjCProtocols: ({
3
+ prototype: ChartAxisValueFormatter;
4
+ } | {
5
+ prototype: ChartValueFormatter;
6
+ })[];
7
+ private _formatter;
8
+ private _transform?;
9
+ static initWithPattern(pattern?: string, transformExpression?: string): NSSuffixValueFormatter;
10
+ stringForValueAxis(value: number, axis: any): string;
11
+ stringForValueEntryDataSetIndexViewPortHandler(value: number, entry: any, dataSetIndex: number, viewPortHandler: any): string;
12
+ private format;
13
+ private static createFormatter;
14
+ private static parsePattern;
15
+ }
@@ -0,0 +1,76 @@
1
+ import { compileValueFormatterTransform } from './value-formatter-helpers';
2
+ var NSSuffixValueFormatter = (function (_super) {
3
+ __extends(NSSuffixValueFormatter, _super);
4
+ function NSSuffixValueFormatter() {
5
+ return _super !== null && _super.apply(this, arguments) || this;
6
+ }
7
+ NSSuffixValueFormatter.initWithPattern = function (pattern, transformExpression) {
8
+ var formatter = NSSuffixValueFormatter.new();
9
+ formatter._formatter = NSSuffixValueFormatter.createFormatter(pattern);
10
+ if (transformExpression) {
11
+ formatter._transform = compileValueFormatterTransform(transformExpression);
12
+ }
13
+ return formatter;
14
+ };
15
+ NSSuffixValueFormatter.prototype.stringForValueAxis = function (value, axis) {
16
+ return this.format(value);
17
+ };
18
+ NSSuffixValueFormatter.prototype.stringForValueEntryDataSetIndexViewPortHandler = function (value, entry, dataSetIndex, viewPortHandler) {
19
+ return this.format(value);
20
+ };
21
+ NSSuffixValueFormatter.prototype.format = function (value) {
22
+ var _a;
23
+ if (!Number.isFinite(value))
24
+ return "";
25
+ var transformedValue = value;
26
+ if (this._transform) {
27
+ try {
28
+ transformedValue = this._transform(value);
29
+ }
30
+ catch (err) {
31
+ console.error("valueFormatterTransformExpression execution failed:", err);
32
+ return "";
33
+ }
34
+ }
35
+ if (!Number.isFinite(transformedValue))
36
+ return "";
37
+ return (_a = this._formatter.stringFromNumber(transformedValue)) !== null && _a !== void 0 ? _a : "";
38
+ };
39
+ NSSuffixValueFormatter.createFormatter = function (pattern) {
40
+ var parsed = this.parsePattern(pattern);
41
+ var formatter = NSNumberFormatter.new();
42
+ formatter.numberStyle = NSNumberFormatterStyle.DecimalStyle;
43
+ formatter.usesGroupingSeparator = false;
44
+ formatter.minimumIntegerDigits = parsed.integerDigits;
45
+ formatter.minimumFractionDigits = parsed.fractionDigits;
46
+ formatter.maximumFractionDigits = parsed.fractionDigits;
47
+ formatter.positiveSuffix = parsed.suffix;
48
+ formatter.negativeSuffix = parsed.suffix;
49
+ if (parsed.decimalSeparator) {
50
+ formatter.decimalSeparator = parsed.decimalSeparator;
51
+ }
52
+ return formatter;
53
+ };
54
+ NSSuffixValueFormatter.parsePattern = function (pattern) {
55
+ var p = (pattern && pattern.length ? pattern : "0").trim();
56
+ var match = /^(\d+)(?:([.,])(\d+))?(.*)$/.exec(p);
57
+ if (!match) {
58
+ return {
59
+ integerDigits: 1,
60
+ fractionDigits: 0,
61
+ suffix: "",
62
+ decimalSeparator: undefined,
63
+ };
64
+ }
65
+ return {
66
+ integerDigits: match[1].length,
67
+ fractionDigits: match[3] ? match[3].length : 0,
68
+ suffix: match[4] || "",
69
+ decimalSeparator: match[2] || undefined,
70
+ };
71
+ };
72
+ NSSuffixValueFormatter.ObjCProtocols = [ChartAxisValueFormatter, ChartValueFormatter];
73
+ return NSSuffixValueFormatter;
74
+ }(NSObject));
75
+ export { NSSuffixValueFormatter };
76
+ //# sourceMappingURL=suffix-value-formatter.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suffix-value-formatter.ios.js","sourceRoot":"","sources":["../../../../../packages/ncharts/charts/formatters/suffix-value-formatter.ios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;;;;;IAIvD,CAAC;;;;;;QAOF,CAAC;;IAAmC,CAAC;;;IAEiB,CAAC;;;IAS/B,CAAC;;;;;;;;;YAWpC,CAAC;;;;YAGD,CAAC;QACH,CAAC;;;;IAQuC,CAAC;;;;;;;;;;;;;QAqB3C,CAAC;;IACK,CAAC;;;;;;;;;;;QAkBc,CAAC;;;;;;;IAOgD,CAAC;;;AAAoI,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function compileValueFormatterTransform(src?: string): ((y: number) => number) | undefined;
@@ -0,0 +1,29 @@
1
+ export function compileValueFormatterTransform(src) {
2
+ if (!src?.trim())
3
+ return undefined;
4
+ let fn;
5
+ try {
6
+ fn = eval(`(${src})`);
7
+ }
8
+ catch (err) {
9
+ console.error('Invalid valueFormatterTransformExpression:', src, err);
10
+ return undefined;
11
+ }
12
+ if (typeof fn !== 'function') {
13
+ console.error('valueFormatterTransformExpression is not a function:', src);
14
+ return undefined;
15
+ }
16
+ try {
17
+ const test = fn(1);
18
+ if (typeof test !== 'number' || !Number.isFinite(test)) {
19
+ console.error('valueFormatterTransformExpression must map number -> finite number:', src);
20
+ return undefined;
21
+ }
22
+ }
23
+ catch (err) {
24
+ console.error('valueFormatterTransformExpression test call failed:', src, err);
25
+ return undefined;
26
+ }
27
+ return fn;
28
+ }
29
+ //# sourceMappingURL=value-formatter-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-formatter-helpers.js","sourceRoot":"","sources":["../../../../../packages/ncharts/charts/formatters/value-formatter-helpers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,8BAA8B,CAAC,GAAY;IACzD,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IAEnC,IAAI,EAAW,CAAC;IAChB,IAAI,CAAC;QACH,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAC;QAC3E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAI,EAA4B,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,qEAAqE,EAAE,GAAG,CAAC,CAAC;YAC1F,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAA2B,CAAC;AACrC,CAAC"}
@@ -1,10 +1,21 @@
1
1
  /**
2
2
  * LineChart - Android Implementation
3
3
  */
4
- import { LineChartBase, ChartAnimation, LegendConfig, XAxisConfig, YAxisConfigDual, ChartDescription, MarkerConfig, Highlight } from '../common';
4
+ import { LineChartBase, ChartAnimation, LegendConfig, XAxisConfig, YAxisConfigDual, ChartDescription, MarkerConfig, Highlight, ViewPortOffset, extraOffsetsProperty, touchEnabledProperty, dragEnabledProperty, scaleEnabledProperty, pinchZoomProperty, highlightPerDragEnabledProperty, highlightPerTapEnabledProperty } from '../common';
5
5
  export declare class LineChart extends LineChartBase {
6
+ [extraOffsetsProperty.setNative]: (value: ViewPortOffset) => void;
7
+ [touchEnabledProperty.setNative]: (value: boolean) => void;
8
+ [highlightPerTapEnabledProperty.setNative]: (value: boolean) => void;
9
+ [highlightPerDragEnabledProperty.setNative]: (value: boolean) => void;
10
+ [dragEnabledProperty.setNative]: (value: boolean) => void;
11
+ [scaleEnabledProperty.setNative]: (value: boolean) => void;
12
+ [pinchZoomProperty.setNative]: (value: boolean) => void;
6
13
  private _native;
7
14
  private _selectionListener;
15
+ private _pageDetector;
16
+ private _plotBandsRenderer;
17
+ private _retainedChartObjects;
18
+ private _retainedDataObjects;
8
19
  createNativeView(): any;
9
20
  initNativeView(): void;
10
21
  disposeNativeView(): void;