@nstudio/ncharts 1.0.1 → 1.0.3

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 (47) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +21 -201
  3. package/README.md +24 -0
  4. package/angular/package.json +1 -0
  5. package/charts/bar-chart.android.js +22 -4
  6. package/charts/bar-chart.android.js.map +1 -1
  7. package/charts/bar-chart.ios.js +22 -4
  8. package/charts/bar-chart.ios.js.map +1 -1
  9. package/charts/bubble-chart.android.js +22 -4
  10. package/charts/bubble-chart.android.js.map +1 -1
  11. package/charts/bubble-chart.ios.js +22 -4
  12. package/charts/bubble-chart.ios.js.map +1 -1
  13. package/charts/candlestick-chart.android.js +22 -4
  14. package/charts/candlestick-chart.android.js.map +1 -1
  15. package/charts/candlestick-chart.ios.js +22 -4
  16. package/charts/candlestick-chart.ios.js.map +1 -1
  17. package/charts/combined-chart.android.js +22 -4
  18. package/charts/combined-chart.android.js.map +1 -1
  19. package/charts/combined-chart.ios.js +22 -4
  20. package/charts/combined-chart.ios.js.map +1 -1
  21. package/charts/line-chart.android.js +14 -4
  22. package/charts/line-chart.android.js.map +1 -1
  23. package/charts/line-chart.ios.js +14 -4
  24. package/charts/line-chart.ios.js.map +1 -1
  25. package/charts/pie-chart.android.js +17 -3
  26. package/charts/pie-chart.android.js.map +1 -1
  27. package/charts/pie-chart.ios.js +17 -3
  28. package/charts/pie-chart.ios.js.map +1 -1
  29. package/charts/radar-chart.android.js +19 -3
  30. package/charts/radar-chart.android.js.map +1 -1
  31. package/charts/radar-chart.ios.js +19 -3
  32. package/charts/radar-chart.ios.js.map +1 -1
  33. package/charts/scatter-chart.android.js +22 -4
  34. package/charts/scatter-chart.android.js.map +1 -1
  35. package/charts/scatter-chart.ios.js +22 -4
  36. package/charts/scatter-chart.ios.js.map +1 -1
  37. package/charts/style-helpers.android.d.ts +29 -0
  38. package/charts/style-helpers.android.js +302 -0
  39. package/charts/style-helpers.android.js.map +1 -0
  40. package/charts/style-helpers.ios.d.ts +29 -0
  41. package/charts/style-helpers.ios.js +303 -0
  42. package/charts/style-helpers.ios.js.map +1 -0
  43. package/charts/utils.d.ts +10 -0
  44. package/charts/utils.js +13 -9
  45. package/charts/utils.js.map +1 -1
  46. package/package.json +1 -1
  47. package/types.d.ts +6 -1
@@ -0,0 +1,303 @@
1
+ import { toUIColor } from './utils';
2
+ export function applyNoDataTextColorIOS(nativeChart, noDataTextColor) {
3
+ if (!nativeChart || !noDataTextColor)
4
+ return;
5
+ const color = toUIColor(noDataTextColor);
6
+ if (color)
7
+ nativeChart.noDataTextColor = color;
8
+ }
9
+ export function applyLegendIOS(nativeChart, legend) {
10
+ if (!nativeChart || !legend)
11
+ return;
12
+ const nativeLegend = nativeChart.legend;
13
+ if (!nativeLegend)
14
+ return;
15
+ if (legend.enabled !== undefined)
16
+ nativeLegend.enabled = legend.enabled;
17
+ if (legend.textColor) {
18
+ const textColor = toUIColor(legend.textColor);
19
+ if (textColor)
20
+ nativeLegend.textColor = textColor;
21
+ }
22
+ if (legend.textSize !== undefined)
23
+ nativeLegend.font = nativeLegend.font.fontWithSize(legend.textSize);
24
+ if (legend.wordWrapEnabled !== undefined)
25
+ nativeLegend.wordWrapEnabled = legend.wordWrapEnabled;
26
+ if (legend.maxSizePercent !== undefined)
27
+ nativeLegend.maxSizePercent = legend.maxSizePercent;
28
+ if (legend.drawInside !== undefined)
29
+ nativeLegend.drawInside = legend.drawInside;
30
+ if (legend.formSize !== undefined)
31
+ nativeLegend.formSize = legend.formSize;
32
+ if (legend.xEntrySpace !== undefined)
33
+ nativeLegend.xEntrySpace = legend.xEntrySpace;
34
+ if (legend.yEntrySpace !== undefined)
35
+ nativeLegend.yEntrySpace = legend.yEntrySpace;
36
+ if (legend.formToTextSpace !== undefined)
37
+ nativeLegend.formToTextSpace = legend.formToTextSpace;
38
+ if (legend.horizontalAlignment) {
39
+ const horizontalMap = {
40
+ LEFT: 0 /* ChartLegendHorizontalAlignment.Left */,
41
+ CENTER: 1 /* ChartLegendHorizontalAlignment.Center */,
42
+ RIGHT: 2 /* ChartLegendHorizontalAlignment.Right */,
43
+ };
44
+ nativeLegend.horizontalAlignment = horizontalMap[legend.horizontalAlignment] ?? 0 /* ChartLegendHorizontalAlignment.Left */;
45
+ }
46
+ if (legend.verticalAlignment) {
47
+ const verticalMap = {
48
+ TOP: 0 /* ChartLegendVerticalAlignment.Top */,
49
+ CENTER: 1 /* ChartLegendVerticalAlignment.Center */,
50
+ BOTTOM: 2 /* ChartLegendVerticalAlignment.Bottom */,
51
+ };
52
+ nativeLegend.verticalAlignment = verticalMap[legend.verticalAlignment] ?? 2 /* ChartLegendVerticalAlignment.Bottom */;
53
+ }
54
+ if (legend.orientation) {
55
+ const orientationMap = {
56
+ HORIZONTAL: 0 /* ChartLegendOrientation.Horizontal */,
57
+ VERTICAL: 1 /* ChartLegendOrientation.Vertical */,
58
+ };
59
+ nativeLegend.orientation = orientationMap[legend.orientation] ?? 0 /* ChartLegendOrientation.Horizontal */;
60
+ }
61
+ if (legend.direction) {
62
+ const directionMap = {
63
+ LEFT_TO_RIGHT: 0 /* ChartLegendDirection.LeftToRight */,
64
+ RIGHT_TO_LEFT: 1 /* ChartLegendDirection.RightToLeft */,
65
+ };
66
+ nativeLegend.direction = directionMap[legend.direction] ?? 0 /* ChartLegendDirection.LeftToRight */;
67
+ }
68
+ if (legend.form) {
69
+ const formMap = {
70
+ NONE: 0 /* ChartLegendForm.None */,
71
+ EMPTY: 1 /* ChartLegendForm.Empty */,
72
+ DEFAULT: 2 /* ChartLegendForm.Default */,
73
+ SQUARE: 3 /* ChartLegendForm.Square */,
74
+ CIRCLE: 4 /* ChartLegendForm.Circle */,
75
+ LINE: 5 /* ChartLegendForm.Line */,
76
+ };
77
+ nativeLegend.form = formMap[legend.form] ?? 2 /* ChartLegendForm.Default */;
78
+ }
79
+ }
80
+ /**
81
+ * Resolve a `valueFormatter` config value to an iOS Charts axis value formatter.
82
+ *
83
+ * Supports:
84
+ * - `string[]` — `ChartIndexAxisValueFormatter` (category labels by index)
85
+ * - `'largeValue'` — k/M/B suffix formatter via `ChartDefaultAxisValueFormatter` block
86
+ * - `'percent'` — value-as-percent via `NSNumberFormatter` (`numberStyle = .percent`)
87
+ * - `'date'` — formats epoch seconds with `valueFormatterPattern` via `NSDateFormatter`
88
+ * - `'labelByXValue'` — sparse lookup using `valueFormatterLabels`
89
+ *
90
+ * Returns `undefined` for unrecognized values so the platform default applies.
91
+ */
92
+ export function resolveAxisValueFormatterIOS(config) {
93
+ const { valueFormatter, valueFormatterPattern, valueFormatterLabels } = config;
94
+ if (valueFormatter === undefined)
95
+ return undefined;
96
+ if (Array.isArray(valueFormatter)) {
97
+ return ChartIndexAxisValueFormatter.alloc().initWithValues(valueFormatter);
98
+ }
99
+ switch (valueFormatter) {
100
+ case 'largeValue':
101
+ return ChartDefaultAxisValueFormatter.alloc().initWithBlock((value) => formatLargeValue(value));
102
+ case 'percent': {
103
+ const numberFormatter = NSNumberFormatter.alloc().init();
104
+ numberFormatter.numberStyle = 3; // NSNumberFormatterPercentStyle
105
+ numberFormatter.maximumFractionDigits = 1;
106
+ return ChartDefaultAxisValueFormatter.alloc().initWithBlock((value) => {
107
+ const formatted = numberFormatter.stringFromNumber(NSNumber.numberWithDouble(value / 100));
108
+ return formatted ?? `${value}%`;
109
+ });
110
+ }
111
+ case 'date': {
112
+ const dateFormatter = NSDateFormatter.alloc().init();
113
+ dateFormatter.dateFormat = valueFormatterPattern ?? 'MMM d, yyyy';
114
+ return ChartDefaultAxisValueFormatter.alloc().initWithBlock((value) => {
115
+ const date = NSDate.dateWithTimeIntervalSince1970(value);
116
+ return dateFormatter.stringFromDate(date);
117
+ });
118
+ }
119
+ case 'labelByXValue': {
120
+ const lookup = new Map();
121
+ (valueFormatterLabels ?? []).forEach((entry) => lookup.set(entry.x, entry.label));
122
+ return ChartDefaultAxisValueFormatter.alloc().initWithBlock((value) => {
123
+ return lookup.get(value) ?? `${value}`;
124
+ });
125
+ }
126
+ default:
127
+ return undefined;
128
+ }
129
+ }
130
+ function applyAxisValueFormatterIOS(nativeAxis, config) {
131
+ if (config.valueFormatter === undefined)
132
+ return;
133
+ const formatter = resolveAxisValueFormatterIOS(config);
134
+ if (formatter)
135
+ nativeAxis.valueFormatter = formatter;
136
+ }
137
+ function formatLargeValue(value) {
138
+ const abs = Math.abs(value);
139
+ if (abs >= 1000000000)
140
+ return `${trimFractional(value / 1000000000)}B`;
141
+ if (abs >= 1000000)
142
+ return `${trimFractional(value / 1000000)}M`;
143
+ if (abs >= 1000)
144
+ return `${trimFractional(value / 1000)}K`;
145
+ return `${value}`;
146
+ }
147
+ function trimFractional(value) {
148
+ return Number.isInteger(value) ? `${value}` : value.toFixed(1);
149
+ }
150
+ export function applyXAxisIOS(nativeChart, xAxis) {
151
+ if (!nativeChart || !xAxis)
152
+ return;
153
+ const nativeXAxis = nativeChart.xAxis;
154
+ if (!nativeXAxis)
155
+ return;
156
+ if (xAxis.enabled !== undefined)
157
+ nativeXAxis.enabled = xAxis.enabled;
158
+ if (xAxis.drawGridLines !== undefined)
159
+ nativeXAxis.drawGridLinesEnabled = xAxis.drawGridLines;
160
+ if (xAxis.drawAxisLine !== undefined)
161
+ nativeXAxis.drawAxisLineEnabled = xAxis.drawAxisLine;
162
+ if (xAxis.drawLabels !== undefined)
163
+ nativeXAxis.drawLabelsEnabled = xAxis.drawLabels;
164
+ applyAxisValueFormatterIOS(nativeXAxis, xAxis);
165
+ if (xAxis.textColor) {
166
+ const textColor = toUIColor(xAxis.textColor);
167
+ if (textColor)
168
+ nativeXAxis.labelTextColor = textColor;
169
+ }
170
+ if (xAxis.textSize !== undefined)
171
+ nativeXAxis.labelFont = nativeXAxis.labelFont.fontWithSize(xAxis.textSize);
172
+ if (xAxis.gridColor) {
173
+ const gridColor = toUIColor(xAxis.gridColor);
174
+ if (gridColor)
175
+ nativeXAxis.gridColor = gridColor;
176
+ }
177
+ if (xAxis.gridLineWidth !== undefined)
178
+ nativeXAxis.gridLineWidth = xAxis.gridLineWidth;
179
+ if (xAxis.axisLineColor) {
180
+ const axisLineColor = toUIColor(xAxis.axisLineColor);
181
+ if (axisLineColor)
182
+ nativeXAxis.axisLineColor = axisLineColor;
183
+ }
184
+ if (xAxis.axisLineWidth !== undefined)
185
+ nativeXAxis.axisLineWidth = xAxis.axisLineWidth;
186
+ if (xAxis.axisMinimum !== undefined)
187
+ nativeXAxis.axisMinimum = xAxis.axisMinimum;
188
+ if (xAxis.axisMaximum !== undefined)
189
+ nativeXAxis.axisMaximum = xAxis.axisMaximum;
190
+ if (xAxis.labelCount !== undefined)
191
+ nativeXAxis.setLabelCountForce(xAxis.labelCount, xAxis.labelCountForce ?? false);
192
+ if (xAxis.granularity !== undefined)
193
+ nativeXAxis.granularity = xAxis.granularity;
194
+ if (xAxis.granularityEnabled !== undefined)
195
+ nativeXAxis.granularityEnabled = xAxis.granularityEnabled;
196
+ if (xAxis.centerAxisLabels !== undefined)
197
+ nativeXAxis.centerAxisLabelsEnabled = xAxis.centerAxisLabels;
198
+ if (xAxis.labelRotationAngle !== undefined)
199
+ nativeXAxis.labelRotationAngle = xAxis.labelRotationAngle;
200
+ if (xAxis.avoidFirstLastClipping !== undefined)
201
+ nativeXAxis.avoidFirstLastClippingEnabled = xAxis.avoidFirstLastClipping;
202
+ if (xAxis.position) {
203
+ const positionMap = {
204
+ TOP: 0 /* XAxisLabelPosition.Top */,
205
+ BOTTOM: 1 /* XAxisLabelPosition.Bottom */,
206
+ BOTH_SIDED: 2 /* XAxisLabelPosition.BothSided */,
207
+ TOP_INSIDE: 3 /* XAxisLabelPosition.TopInside */,
208
+ BOTTOM_INSIDE: 4 /* XAxisLabelPosition.BottomInside */,
209
+ };
210
+ nativeXAxis.labelPosition = positionMap[xAxis.position] ?? 1 /* XAxisLabelPosition.Bottom */;
211
+ }
212
+ }
213
+ export function applyYAxisIOS(axis, config) {
214
+ if (!axis || !config)
215
+ return;
216
+ if (config.enabled !== undefined)
217
+ axis.enabled = config.enabled;
218
+ if (config.drawGridLines !== undefined)
219
+ axis.drawGridLinesEnabled = config.drawGridLines;
220
+ if (config.drawAxisLine !== undefined)
221
+ axis.drawAxisLineEnabled = config.drawAxisLine;
222
+ if (config.drawLabels !== undefined)
223
+ axis.drawLabelsEnabled = config.drawLabels;
224
+ applyAxisValueFormatterIOS(axis, config);
225
+ if (config.textColor) {
226
+ const textColor = toUIColor(config.textColor);
227
+ if (textColor)
228
+ axis.labelTextColor = textColor;
229
+ }
230
+ if (config.textSize !== undefined)
231
+ axis.labelFont = axis.labelFont.fontWithSize(config.textSize);
232
+ if (config.gridColor) {
233
+ const gridColor = toUIColor(config.gridColor);
234
+ if (gridColor)
235
+ axis.gridColor = gridColor;
236
+ }
237
+ if (config.gridLineWidth !== undefined)
238
+ axis.gridLineWidth = config.gridLineWidth;
239
+ if (config.axisLineColor) {
240
+ const axisLineColor = toUIColor(config.axisLineColor);
241
+ if (axisLineColor)
242
+ axis.axisLineColor = axisLineColor;
243
+ }
244
+ if (config.axisLineWidth !== undefined)
245
+ axis.axisLineWidth = config.axisLineWidth;
246
+ if (config.axisMinimum !== undefined)
247
+ axis.axisMinimum = config.axisMinimum;
248
+ if (config.axisMaximum !== undefined)
249
+ axis.axisMaximum = config.axisMaximum;
250
+ if (config.labelCount !== undefined)
251
+ axis.setLabelCountForce(config.labelCount, config.labelCountForce ?? false);
252
+ if (config.granularity !== undefined)
253
+ axis.granularity = config.granularity;
254
+ if (config.granularityEnabled !== undefined)
255
+ axis.granularityEnabled = config.granularityEnabled;
256
+ if (config.centerAxisLabels !== undefined)
257
+ axis.centerAxisLabelsEnabled = config.centerAxisLabels;
258
+ if (config.inverted !== undefined)
259
+ axis.inverted = config.inverted;
260
+ if (config.spaceTop !== undefined)
261
+ axis.spaceTop = config.spaceTop;
262
+ if (config.spaceBottom !== undefined)
263
+ axis.spaceBottom = config.spaceBottom;
264
+ if (config.position) {
265
+ const positionMap = {
266
+ OUTSIDE_CHART: 0 /* YAxisLabelPosition.OutsideChart */,
267
+ INSIDE_CHART: 1 /* YAxisLabelPosition.InsideChart */,
268
+ };
269
+ axis.labelPosition = positionMap[config.position] ?? 0 /* YAxisLabelPosition.OutsideChart */;
270
+ }
271
+ if (config.zeroLine) {
272
+ if (config.zeroLine.enabled !== undefined)
273
+ axis.drawZeroLineEnabled = config.zeroLine.enabled;
274
+ if (config.zeroLine.lineWidth !== undefined)
275
+ axis.zeroLineWidth = config.zeroLine.lineWidth;
276
+ if (config.zeroLine.lineColor) {
277
+ const zeroLineColor = toUIColor(config.zeroLine.lineColor);
278
+ if (zeroLineColor)
279
+ axis.zeroLineColor = zeroLineColor;
280
+ }
281
+ }
282
+ }
283
+ export function applyYAxisDualIOS(nativeChart, yAxis) {
284
+ if (!nativeChart || !yAxis)
285
+ return;
286
+ applyYAxisIOS(nativeChart.leftAxis, yAxis.left);
287
+ applyYAxisIOS(nativeChart.rightAxis, yAxis.right);
288
+ }
289
+ export function applyDescriptionIOS(nativeChart, description) {
290
+ if (!nativeChart || !description || !nativeChart.chartDescription)
291
+ return;
292
+ const nativeDescription = nativeChart.chartDescription;
293
+ if (description.text !== undefined)
294
+ nativeDescription.text = description.text;
295
+ if (description.textColor) {
296
+ const textColor = toUIColor(description.textColor);
297
+ if (textColor)
298
+ nativeDescription.textColor = textColor;
299
+ }
300
+ if (description.textSize !== undefined)
301
+ nativeDescription.font = nativeDescription.font.fontWithSize(description.textSize);
302
+ }
303
+ //# sourceMappingURL=style-helpers.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-helpers.ios.js","sourceRoot":"","sources":["../../../../packages/ncharts/charts/style-helpers.ios.ts"],"names":[],"mappings":"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"}
package/charts/utils.d.ts CHANGED
@@ -1,4 +1,9 @@
1
1
  import type { ChartColor } from '../types';
2
+ /**
3
+ * Color conversion utilities
4
+ * @param color
5
+ * @returns
6
+ */
2
7
  /**
3
8
  * Convert a color value to iOS UIColor
4
9
  */
@@ -11,6 +16,11 @@ export declare function toAndroidColor(color: ChartColor | undefined): number |
11
16
  * Parse easing string to ChartEasingOption enum value for iOS
12
17
  */
13
18
  export declare function parseEasingIOS(easing: string): number;
19
+ /**
20
+ * Chart mode parsers
21
+ * @param mode
22
+ * @returns
23
+ */
14
24
  /**
15
25
  * Parse line chart mode string to iOS enum value
16
26
  */
package/charts/utils.js CHANGED
@@ -2,9 +2,11 @@
2
2
  * Shared utility functions for chart implementations
3
3
  */
4
4
  import { parseColor } from '../common';
5
- // ============================================================================
6
- // Color Conversion Utilities
7
- // ============================================================================
5
+ /**
6
+ * Color conversion utilities
7
+ * @param color
8
+ * @returns
9
+ */
8
10
  /**
9
11
  * Convert a color value to iOS UIColor
10
12
  */
@@ -23,9 +25,9 @@ export function toAndroidColor(color) {
23
25
  const c = parseColor(color);
24
26
  return c?.android;
25
27
  }
26
- // ============================================================================
27
- // iOS Easing Options
28
- // ============================================================================
28
+ /**
29
+ * iOS easing options
30
+ */
29
31
  /**
30
32
  * Easing option map for iOS ChartEasingOption enum
31
33
  */
@@ -68,9 +70,11 @@ const EASING_MAP_IOS = {
68
70
  export function parseEasingIOS(easing) {
69
71
  return EASING_MAP_IOS[easing] ?? 0;
70
72
  }
71
- // ============================================================================
72
- // Chart Mode Parsers (iOS)
73
- // ============================================================================
73
+ /**
74
+ * Chart mode parsers
75
+ * @param mode
76
+ * @returns
77
+ */
74
78
  /**
75
79
  * Parse line chart mode string to iOS enum value
76
80
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/ncharts/charts/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAA6B;IACrD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,GAAG,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAA6B;IAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;AACpB,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,cAAc,GAA2B;IAC7C,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;IAClB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;IACpB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;IACjB,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,GAAG,GAA2B;QAClC,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,CAAC;KACrB,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,GAAG,GAA2B;QAClC,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,CAAC,EAAE,CAAC;KACL,CAAC;IACF,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/ncharts/charts/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC;;;;GAIG;AAEH;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAA6B;IACrD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,GAAG,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAA6B;IAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;AACpB,CAAC;AAED;;GAEG;AAEH;;GAEG;AACH,MAAM,cAAc,GAA2B;IAC7C,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;IAClB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;IACpB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;IACjB,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AAEH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,GAAG,GAA2B;QAClC,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,CAAC;KACrB,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,GAAG,GAA2B;QAClC,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,CAAC,EAAE,CAAC;KACL,CAAC;IACF,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nstudio/ncharts",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Native iOS/Android charting for NativeScript using DGCharts (iOS) and MPAndroidChart (Android)",
5
5
  "main": "index",
6
6
  "types": "index.d.ts",
package/types.d.ts CHANGED
@@ -191,8 +191,13 @@ export interface AxisBase {
191
191
  centerAxisLabels?: boolean;
192
192
  /** Value formatter type */
193
193
  valueFormatter?: 'largeValue' | 'percent' | 'date' | 'labelByXValue' | string | string[];
194
- /** Value formatter pattern (for date) */
194
+ /** Value formatter pattern (for `valueFormatter: 'date'`); platform-specific date pattern, e.g. `'MMM dd'`. */
195
195
  valueFormatterPattern?: string;
196
+ /** Mapped labels for `valueFormatter: 'labelByXValue'`; if a label is missing for a value, the raw value is shown. */
197
+ valueFormatterLabels?: Array<{
198
+ x: number;
199
+ label: string;
200
+ }>;
196
201
  /** Label rotation angle in degrees */
197
202
  labelRotationAngle?: number;
198
203
  /** Avoid first label clipping */