@aquera/nile-visualization 2.0.0 → 2.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 (95) hide show
  1. package/dist/src/nile-anomaly-chart/nile-anomaly-chart.d.ts +4 -0
  2. package/dist/src/nile-anomaly-chart/nile-anomaly-chart.js +12 -0
  3. package/dist/src/nile-area-chart/nile-area-chart.d.ts +2 -0
  4. package/dist/src/nile-area-chart/nile-area-chart.js +6 -1
  5. package/dist/src/nile-area-negative-chart/nile-area-negative-chart.d.ts +4 -0
  6. package/dist/src/nile-area-negative-chart/nile-area-negative-chart.js +12 -0
  7. package/dist/src/nile-area-range-chart/nile-area-range-chart.d.ts +4 -0
  8. package/dist/src/nile-area-range-chart/nile-area-range-chart.js +12 -0
  9. package/dist/src/nile-area-spline-chart/nile-area-spline-chart.d.ts +4 -0
  10. package/dist/src/nile-area-spline-chart/nile-area-spline-chart.js +12 -0
  11. package/dist/src/nile-bar-chart/nile-bar-chart.d.ts +2 -0
  12. package/dist/src/nile-bar-chart/nile-bar-chart.js +9 -1
  13. package/dist/src/nile-bellcurve-chart/nile-bellcurve-chart.d.ts +2 -0
  14. package/dist/src/nile-bellcurve-chart/nile-bellcurve-chart.js +6 -1
  15. package/dist/src/nile-boxplot-chart/nile-boxplot-chart.d.ts +2 -0
  16. package/dist/src/nile-boxplot-chart/nile-boxplot-chart.js +6 -1
  17. package/dist/src/nile-bubble-chart/nile-bubble-chart.d.ts +2 -0
  18. package/dist/src/nile-bubble-chart/nile-bubble-chart.js +6 -1
  19. package/dist/src/nile-chart/nile-chart-config.d.ts +8 -4
  20. package/dist/src/nile-chart/nile-chart.js +98 -27
  21. package/dist/src/nile-cluster-chart/nile-cluster-chart.d.ts +2 -0
  22. package/dist/src/nile-cluster-chart/nile-cluster-chart.js +6 -1
  23. package/dist/src/nile-column-chart/nile-column-chart.d.ts +2 -0
  24. package/dist/src/nile-column-chart/nile-column-chart.js +6 -1
  25. package/dist/src/nile-column-drilldown-chart/nile-column-drilldown-chart.d.ts +4 -0
  26. package/dist/src/nile-column-drilldown-chart/nile-column-drilldown-chart.js +12 -1
  27. package/dist/src/nile-column-pyramid-chart/nile-column-pyramid-chart.d.ts +4 -0
  28. package/dist/src/nile-column-pyramid-chart/nile-column-pyramid-chart.js +13 -1
  29. package/dist/src/nile-column-range-chart/nile-column-range-chart.d.ts +4 -0
  30. package/dist/src/nile-column-range-chart/nile-column-range-chart.js +12 -0
  31. package/dist/src/nile-donut-chart/nile-donut-chart.d.ts +2 -0
  32. package/dist/src/nile-donut-chart/nile-donut-chart.js +6 -0
  33. package/dist/src/nile-dumbbell-chart/nile-dumbbell-chart.d.ts +3 -0
  34. package/dist/src/nile-dumbbell-chart/nile-dumbbell-chart.js +6 -1
  35. package/dist/src/nile-dumbbell-lower-chart/nile-dumbbell-lower-chart.d.ts +3 -0
  36. package/dist/src/nile-dumbbell-lower-chart/nile-dumbbell-lower-chart.js +6 -1
  37. package/dist/src/nile-dumbbell-upper-chart/nile-dumbbell-upper-chart.d.ts +3 -0
  38. package/dist/src/nile-dumbbell-upper-chart/nile-dumbbell-upper-chart.js +6 -1
  39. package/dist/src/nile-euler-chart/nile-euler-chart.d.ts +4 -0
  40. package/dist/src/nile-euler-chart/nile-euler-chart.js +13 -1
  41. package/dist/src/nile-fan-chart/nile-fan-chart.d.ts +3 -0
  42. package/dist/src/nile-fan-chart/nile-fan-chart.js +6 -1
  43. package/dist/src/nile-flame-chart/nile-flame-chart.d.ts +4 -0
  44. package/dist/src/nile-flame-chart/nile-flame-chart.js +12 -1
  45. package/dist/src/nile-funnel-chart/nile-funnel-chart.d.ts +4 -0
  46. package/dist/src/nile-funnel-chart/nile-funnel-chart.js +12 -1
  47. package/dist/src/nile-gauge-chart/nile-gauge-chart.d.ts +4 -0
  48. package/dist/src/nile-gauge-chart/nile-gauge-chart.js +13 -1
  49. package/dist/src/nile-heatmap-chart/nile-heatmap-chart.d.ts +2 -0
  50. package/dist/src/nile-heatmap-chart/nile-heatmap-chart.js +6 -1
  51. package/dist/src/nile-histogram-chart/nile-histogram-chart.d.ts +2 -0
  52. package/dist/src/nile-histogram-chart/nile-histogram-chart.js +6 -1
  53. package/dist/src/nile-inverted-area-chart/nile-inverted-area-chart.d.ts +4 -0
  54. package/dist/src/nile-inverted-area-chart/nile-inverted-area-chart.js +12 -0
  55. package/dist/src/nile-kpi-chart/nile-kpi-chart.d.ts +10 -0
  56. package/dist/src/nile-kpi-chart/nile-kpi-chart.js +36 -5
  57. package/dist/src/nile-line-chart/nile-line-chart.d.ts +2 -0
  58. package/dist/src/nile-line-chart/nile-line-chart.js +6 -1
  59. package/dist/src/nile-line-column-chart/nile-line-column-chart.d.ts +4 -0
  60. package/dist/src/nile-line-column-chart/nile-line-column-chart.js +12 -1
  61. package/dist/src/nile-lollipop-chart/nile-lollipop-chart.d.ts +4 -0
  62. package/dist/src/nile-lollipop-chart/nile-lollipop-chart.js +13 -2
  63. package/dist/src/nile-map-chart/nile-map-chart.d.ts +4 -0
  64. package/dist/src/nile-map-chart/nile-map-chart.js +12 -3
  65. package/dist/src/nile-organization-chart/nile-organization-chart.d.ts +4 -0
  66. package/dist/src/nile-organization-chart/nile-organization-chart.js +12 -0
  67. package/dist/src/nile-pie-chart/nile-pie-chart.d.ts +53 -0
  68. package/dist/src/nile-pie-chart/nile-pie-chart.js +9 -0
  69. package/dist/src/nile-polygon-chart/nile-polygon-chart.d.ts +4 -0
  70. package/dist/src/nile-polygon-chart/nile-polygon-chart.js +12 -0
  71. package/dist/src/nile-radar-chart/nile-radar-chart.d.ts +2 -0
  72. package/dist/src/nile-radar-chart/nile-radar-chart.js +6 -1
  73. package/dist/src/nile-radial-bar-chart/nile-radial-bar-chart.d.ts +2 -0
  74. package/dist/src/nile-radial-bar-chart/nile-radial-bar-chart.js +6 -1
  75. package/dist/src/nile-scatter-chart/nile-scatter-chart.d.ts +2 -0
  76. package/dist/src/nile-scatter-chart/nile-scatter-chart.js +6 -1
  77. package/dist/src/nile-spiderweb-chart/nile-spiderweb-chart.d.ts +2 -0
  78. package/dist/src/nile-spiderweb-chart/nile-spiderweb-chart.js +6 -1
  79. package/dist/src/nile-spline-chart/nile-spline-chart.d.ts +2 -0
  80. package/dist/src/nile-spline-chart/nile-spline-chart.js +6 -1
  81. package/dist/src/nile-stacked-chart/nile-stacked-chart.d.ts +2 -0
  82. package/dist/src/nile-stacked-chart/nile-stacked-chart.js +6 -1
  83. package/dist/src/nile-timeline-chart/nile-timeline-chart.d.ts +3 -0
  84. package/dist/src/nile-timeline-chart/nile-timeline-chart.js +6 -1
  85. package/dist/src/nile-trendline-chart/nile-trendline-chart.d.ts +4 -0
  86. package/dist/src/nile-trendline-chart/nile-trendline-chart.js +12 -0
  87. package/dist/src/nile-variable-pie-chart/nile-variable-pie-chart.d.ts +2 -0
  88. package/dist/src/nile-variable-pie-chart/nile-variable-pie-chart.js +6 -1
  89. package/dist/src/nile-vector-chart/nile-vector-chart.d.ts +4 -0
  90. package/dist/src/nile-vector-chart/nile-vector-chart.js +12 -0
  91. package/dist/src/nile-waterfall-chart/nile-waterfall-chart.d.ts +2 -0
  92. package/dist/src/nile-waterfall-chart/nile-waterfall-chart.js +6 -1
  93. package/dist/src/nile-xrange-chart/nile-xrange-chart.d.ts +2 -0
  94. package/dist/src/nile-xrange-chart/nile-xrange-chart.js +6 -1
  95. package/package.json +1 -1
@@ -2,6 +2,7 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
2
2
  import type Highcharts from 'highcharts';
3
3
  import NileElement from '../internal/nile-element.js';
4
4
  import type { NileChartConfigInputType } from '../internal/types/index.js';
5
+ import type { LegendConfig } from '../nile-pie-chart/nile-pie-chart.js';
5
6
  export interface AnomalySeriesData {
6
7
  name: string;
7
8
  data: number[];
@@ -52,6 +53,9 @@ export declare class NileAnomalyChart extends NileElement {
52
53
  loadingFontSize: string | number;
53
54
  loadingFontFamily: string;
54
55
  loadingBg: string;
56
+ showLegend: boolean;
57
+ /** Full legend configuration — all Highcharts legend options in one object. */
58
+ legend: LegendConfig | null;
55
59
  private _syncCssVars;
56
60
  /** Apply { chart, aq } config to individual properties. */
57
61
  private applyConfig;
@@ -44,6 +44,9 @@ let NileAnomalyChart = class NileAnomalyChart extends NileElement {
44
44
  this.loadingFontSize = '';
45
45
  this.loadingFontFamily = '';
46
46
  this.loadingBg = '';
47
+ this.showLegend = true;
48
+ /** Full legend configuration — all Highcharts legend options in one object. */
49
+ this.legend = null;
47
50
  }
48
51
  _syncCssVars() {
49
52
  const set = (prop, val) => {
@@ -149,6 +152,8 @@ let NileAnomalyChart = class NileAnomalyChart extends NileElement {
149
152
  'height',
150
153
  'yAxisTitle',
151
154
  'anomaly',
155
+ 'showLegend',
156
+ 'legend',
152
157
  'loading',
153
158
  ];
154
159
  const needsUpdate = chartProps.some(p => changedProperties.has(p));
@@ -302,6 +307,7 @@ let NileAnomalyChart = class NileAnomalyChart extends NileElement {
302
307
  },
303
308
  },
304
309
  series,
310
+ legend: (() => { const { show, ...rest } = this.legend ?? {}; return { enabled: show ?? this.showLegend, ...rest }; })(),
305
311
  credits: {
306
312
  enabled: false,
307
313
  },
@@ -396,6 +402,12 @@ __decorate([
396
402
  __decorate([
397
403
  property({ type: String, attribute: 'loading-bg' })
398
404
  ], NileAnomalyChart.prototype, "loadingBg", void 0);
405
+ __decorate([
406
+ property({ type: Boolean, attribute: 'show-legend' })
407
+ ], NileAnomalyChart.prototype, "showLegend", void 0);
408
+ __decorate([
409
+ property({ type: Object })
410
+ ], NileAnomalyChart.prototype, "legend", void 0);
399
411
  NileAnomalyChart = __decorate([
400
412
  customElement('nile-anomaly-chart')
401
413
  ], NileAnomalyChart);
@@ -25,6 +25,8 @@ export declare class NileAreaChart extends NileElement {
25
25
  yAxisTitle: string;
26
26
  stacked: boolean;
27
27
  showLegend: boolean;
28
+ /** Full legend configuration — all Highcharts legend options in one object. */
29
+ legend: import('../nile-pie-chart/nile-pie-chart.js').LegendConfig | null;
28
30
  chartBg: string;
29
31
  chartBorderRadius: string | number;
30
32
  chartBorder: string;
@@ -23,6 +23,8 @@ let NileAreaChart = class NileAreaChart extends NileElement {
23
23
  this.yAxisTitle = '';
24
24
  this.stacked = false;
25
25
  this.showLegend = true;
26
+ /** Full legend configuration — all Highcharts legend options in one object. */
27
+ this.legend = null;
26
28
  // ── Container styling ──
27
29
  this.chartBg = '';
28
30
  this.chartBorderRadius = '';
@@ -168,7 +170,7 @@ let NileAreaChart = class NileAreaChart extends NileElement {
168
170
  series: { cursor: 'pointer', point: { events: { click() { self.emit('nile-chart-click', { point: this, category: this.category, value: this.y, seriesName: this.series.name }); } } } },
169
171
  },
170
172
  series: this.data.map(s => ({ type: 'area', name: s.name, data: s.data, color: s.color })),
171
- legend: { enabled: this.showLegend },
173
+ legend: (() => { const { show, ...rest } = this.legend ?? {}; return { enabled: show ?? this.showLegend, ...rest }; })(),
172
174
  credits: { enabled: false },
173
175
  }, this.options);
174
176
  }
@@ -227,6 +229,9 @@ __decorate([
227
229
  __decorate([
228
230
  property({ type: Boolean, attribute: 'show-legend' })
229
231
  ], NileAreaChart.prototype, "showLegend", void 0);
232
+ __decorate([
233
+ property({ type: Object })
234
+ ], NileAreaChart.prototype, "legend", void 0);
230
235
  __decorate([
231
236
  property({ type: String, attribute: 'chart-bg' })
232
237
  ], NileAreaChart.prototype, "chartBg", void 0);
@@ -2,6 +2,7 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
2
2
  import type Highcharts from 'highcharts';
3
3
  import NileElement from '../internal/nile-element.js';
4
4
  import type { SeparatedChartConfigInputType } from '../internal/types/separated-chart-config-input.type.js';
5
+ import type { LegendConfig } from '../nile-pie-chart/nile-pie-chart.js';
5
6
  export interface AreaNegativeSeriesData {
6
7
  name: string;
7
8
  data: number[];
@@ -35,6 +36,9 @@ export declare class NileAreaNegativeChart extends NileElement {
35
36
  loadingFontSize: string | number;
36
37
  loadingFontFamily: string;
37
38
  loadingBg: string;
39
+ showLegend: boolean;
40
+ /** Full legend configuration — all Highcharts legend options in one object. */
41
+ legend: LegendConfig | null;
38
42
  private _syncCssVars;
39
43
  private applyConfig;
40
44
  connectedCallback(): void;
@@ -35,6 +35,9 @@ let NileAreaNegativeChart = class NileAreaNegativeChart extends NileElement {
35
35
  this.loadingFontSize = '';
36
36
  this.loadingFontFamily = '';
37
37
  this.loadingBg = '';
38
+ this.showLegend = true;
39
+ /** Full legend configuration — all Highcharts legend options in one object. */
40
+ this.legend = null;
38
41
  }
39
42
  _syncCssVars() {
40
43
  const set = (prop, val) => {
@@ -95,6 +98,8 @@ let NileAreaNegativeChart = class NileAreaNegativeChart extends NileElement {
95
98
  'yAxisTitle',
96
99
  'threshold',
97
100
  'loading',
101
+ 'showLegend',
102
+ 'legend',
98
103
  ];
99
104
  if (!props.some(p => changedProperties.has(p)))
100
105
  return;
@@ -152,6 +157,7 @@ let NileAreaNegativeChart = class NileAreaNegativeChart extends NileElement {
152
157
  color: s.color,
153
158
  negativeColor: s.negativeColor,
154
159
  })),
160
+ legend: (() => { const { show, ...rest } = this.legend ?? {}; return { enabled: show ?? this.showLegend, ...rest }; })(),
155
161
  credits: { enabled: false },
156
162
  }, this.options);
157
163
  }
@@ -243,6 +249,12 @@ __decorate([
243
249
  __decorate([
244
250
  property({ type: String, attribute: 'loading-bg' })
245
251
  ], NileAreaNegativeChart.prototype, "loadingBg", void 0);
252
+ __decorate([
253
+ property({ type: Boolean, attribute: 'show-legend' })
254
+ ], NileAreaNegativeChart.prototype, "showLegend", void 0);
255
+ __decorate([
256
+ property({ type: Object })
257
+ ], NileAreaNegativeChart.prototype, "legend", void 0);
246
258
  NileAreaNegativeChart = __decorate([
247
259
  customElement('nile-area-negative-chart')
248
260
  ], NileAreaNegativeChart);
@@ -2,6 +2,7 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
2
2
  import type Highcharts from 'highcharts';
3
3
  import NileElement from '../internal/nile-element.js';
4
4
  import type { SeparatedChartConfigInputType } from '../internal/types/separated-chart-config-input.type.js';
5
+ import type { LegendConfig } from '../nile-pie-chart/nile-pie-chart.js';
5
6
  export interface AreaRangeSeriesData {
6
7
  name: string;
7
8
  data: [number, number][];
@@ -34,6 +35,9 @@ export declare class NileAreaRangeChart extends NileElement {
34
35
  loadingFontSize: string | number;
35
36
  loadingFontFamily: string;
36
37
  loadingBg: string;
38
+ showLegend: boolean;
39
+ /** Full legend configuration — all Highcharts legend options in one object. */
40
+ legend: LegendConfig | null;
37
41
  private _syncCssVars;
38
42
  private applyConfig;
39
43
  connectedCallback(): void;
@@ -34,6 +34,9 @@ let NileAreaRangeChart = class NileAreaRangeChart extends NileElement {
34
34
  this.loadingFontSize = '';
35
35
  this.loadingFontFamily = '';
36
36
  this.loadingBg = '';
37
+ this.showLegend = true;
38
+ /** Full legend configuration — all Highcharts legend options in one object. */
39
+ this.legend = null;
37
40
  }
38
41
  _syncCssVars() {
39
42
  const set = (prop, val) => {
@@ -93,6 +96,8 @@ let NileAreaRangeChart = class NileAreaRangeChart extends NileElement {
93
96
  'height',
94
97
  'yAxisTitle',
95
98
  'loading',
99
+ 'showLegend',
100
+ 'legend',
96
101
  ];
97
102
  if (!props.some(p => changedProperties.has(p)))
98
103
  return;
@@ -150,6 +155,7 @@ let NileAreaRangeChart = class NileAreaRangeChart extends NileElement {
150
155
  color: s.color,
151
156
  fillOpacity: s.fillOpacity,
152
157
  })),
158
+ legend: (() => { const { show, ...rest } = this.legend ?? {}; return { enabled: show ?? this.showLegend, ...rest }; })(),
153
159
  credits: { enabled: false },
154
160
  }, this.options);
155
161
  }
@@ -238,6 +244,12 @@ __decorate([
238
244
  __decorate([
239
245
  property({ type: String, attribute: 'loading-bg' })
240
246
  ], NileAreaRangeChart.prototype, "loadingBg", void 0);
247
+ __decorate([
248
+ property({ type: Boolean, attribute: 'show-legend' })
249
+ ], NileAreaRangeChart.prototype, "showLegend", void 0);
250
+ __decorate([
251
+ property({ type: Object })
252
+ ], NileAreaRangeChart.prototype, "legend", void 0);
241
253
  NileAreaRangeChart = __decorate([
242
254
  customElement('nile-area-range-chart')
243
255
  ], NileAreaRangeChart);
@@ -2,6 +2,7 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
2
2
  import type Highcharts from 'highcharts';
3
3
  import NileElement from '../internal/nile-element.js';
4
4
  import type { SeparatedChartConfigInputType } from '../internal/types/separated-chart-config-input.type.js';
5
+ import type { LegendConfig } from '../nile-pie-chart/nile-pie-chart.js';
5
6
  export interface AreaSplineSeriesData {
6
7
  name: string;
7
8
  data: number[];
@@ -34,6 +35,9 @@ export declare class NileAreaSplineChart extends NileElement {
34
35
  loadingFontSize: string | number;
35
36
  loadingFontFamily: string;
36
37
  loadingBg: string;
38
+ showLegend: boolean;
39
+ /** Full legend configuration — all Highcharts legend options in one object. */
40
+ legend: LegendConfig | null;
37
41
  private _syncCssVars;
38
42
  private applyConfig;
39
43
  connectedCallback(): void;
@@ -35,6 +35,9 @@ let NileAreaSplineChart = class NileAreaSplineChart extends NileElement {
35
35
  this.loadingFontSize = '';
36
36
  this.loadingFontFamily = '';
37
37
  this.loadingBg = '';
38
+ this.showLegend = true;
39
+ /** Full legend configuration — all Highcharts legend options in one object. */
40
+ this.legend = null;
38
41
  }
39
42
  _syncCssVars() {
40
43
  const set = (prop, val) => {
@@ -95,6 +98,8 @@ let NileAreaSplineChart = class NileAreaSplineChart extends NileElement {
95
98
  'yAxisTitle',
96
99
  'stacked',
97
100
  'loading',
101
+ 'showLegend',
102
+ 'legend',
98
103
  ];
99
104
  if (!props.some(p => changedProperties.has(p)))
100
105
  return;
@@ -148,6 +153,7 @@ let NileAreaSplineChart = class NileAreaSplineChart extends NileElement {
148
153
  data: s.data,
149
154
  color: s.color,
150
155
  })),
156
+ legend: (() => { const { show, ...rest } = this.legend ?? {}; return { enabled: show ?? this.showLegend, ...rest }; })(),
151
157
  credits: { enabled: false },
152
158
  }, this.options);
153
159
  }
@@ -239,6 +245,12 @@ __decorate([
239
245
  __decorate([
240
246
  property({ type: String, attribute: 'loading-bg' })
241
247
  ], NileAreaSplineChart.prototype, "loadingBg", void 0);
248
+ __decorate([
249
+ property({ type: Boolean, attribute: 'show-legend' })
250
+ ], NileAreaSplineChart.prototype, "showLegend", void 0);
251
+ __decorate([
252
+ property({ type: Object })
253
+ ], NileAreaSplineChart.prototype, "legend", void 0);
242
254
  NileAreaSplineChart = __decorate([
243
255
  customElement('nile-area-spline-chart')
244
256
  ], NileAreaSplineChart);
@@ -33,6 +33,8 @@ export declare class NileBarChart extends NileElement {
33
33
  yAxisTitle: string;
34
34
  /** Whether to enable the legend. */
35
35
  showLegend: boolean;
36
+ /** Full legend configuration — all Highcharts legend options in one object. */
37
+ legend: import('../nile-pie-chart/nile-pie-chart.js').LegendConfig | null;
36
38
  chartBg: string;
37
39
  chartBorderRadius: string | number;
38
40
  chartBorder: string;
@@ -31,6 +31,8 @@ let NileBarChart = class NileBarChart extends NileElement {
31
31
  this.yAxisTitle = '';
32
32
  /** Whether to enable the legend. */
33
33
  this.showLegend = true;
34
+ /** Full legend configuration — all Highcharts legend options in one object. */
35
+ this.legend = null;
34
36
  // ── Container styling ──
35
37
  this.chartBg = '';
36
38
  this.chartBorderRadius = '';
@@ -225,7 +227,10 @@ let NileBarChart = class NileBarChart extends NileElement {
225
227
  data: s.data,
226
228
  color: s.color,
227
229
  })),
228
- legend: { enabled: this.showLegend },
230
+ legend: (() => {
231
+ const { show, ...rest } = this.legend ?? {};
232
+ return { enabled: show ?? this.showLegend, ...rest };
233
+ })(),
229
234
  credits: {
230
235
  enabled: false,
231
236
  },
@@ -287,6 +292,9 @@ __decorate([
287
292
  __decorate([
288
293
  property({ type: Boolean, attribute: 'show-legend' })
289
294
  ], NileBarChart.prototype, "showLegend", void 0);
295
+ __decorate([
296
+ property({ type: Object })
297
+ ], NileBarChart.prototype, "legend", void 0);
290
298
  __decorate([
291
299
  property({ type: String, attribute: 'chart-bg' })
292
300
  ], NileBarChart.prototype, "chartBg", void 0);
@@ -30,6 +30,8 @@ export declare class NileBellcurveChart extends NileElement {
30
30
  /** Samples per interval; higher values yield a smoother curve. */
31
31
  pointsInInterval: number;
32
32
  showLegend: boolean;
33
+ /** Full legend configuration — all Highcharts legend options in one object. */
34
+ legend: import('../nile-pie-chart/nile-pie-chart.js').LegendConfig | null;
33
35
  chartBg: string;
34
36
  chartBorderRadius: string | number;
35
37
  chartBorder: string;
@@ -33,6 +33,8 @@ let NileBellcurveChart = class NileBellcurveChart extends NileElement {
33
33
  /** Samples per interval; higher values yield a smoother curve. */
34
34
  this.pointsInInterval = 40;
35
35
  this.showLegend = true;
36
+ /** Full legend configuration — all Highcharts legend options in one object. */
37
+ this.legend = null;
36
38
  // ── Container styling ──
37
39
  this.chartBg = '';
38
40
  this.chartBorderRadius = '';
@@ -148,7 +150,7 @@ let NileBellcurveChart = class NileBellcurveChart extends NileElement {
148
150
  chart: { ...(this.height ? { height: this.height } : {}) },
149
151
  title: { text: this.chartTitle || undefined },
150
152
  subtitle: { text: this.chartSubtitle || undefined },
151
- legend: { enabled: this.showLegend },
153
+ legend: (() => { const { show, ...rest } = this.legend ?? {}; return { enabled: show ?? this.showLegend, ...rest }; })(),
152
154
  xAxis: [
153
155
  {
154
156
  title: { text: this.xAxisTitle || undefined },
@@ -292,6 +294,9 @@ __decorate([
292
294
  __decorate([
293
295
  property({ type: Boolean, attribute: 'show-legend' })
294
296
  ], NileBellcurveChart.prototype, "showLegend", void 0);
297
+ __decorate([
298
+ property({ type: Object })
299
+ ], NileBellcurveChart.prototype, "legend", void 0);
295
300
  __decorate([
296
301
  property({ type: String, attribute: 'chart-bg' })
297
302
  ], NileBellcurveChart.prototype, "chartBg", void 0);
@@ -36,6 +36,8 @@ export declare class NileBoxplotChart extends NileElement {
36
36
  xAxisTitle: string;
37
37
  yAxisTitle: string;
38
38
  showLegend: boolean;
39
+ /** Full legend configuration — all Highcharts legend options in one object. */
40
+ legend: import('../nile-pie-chart/nile-pie-chart.js').LegendConfig | null;
39
41
  /** When true, draws horizontal boxes (categories on the y-axis). */
40
42
  horizontal: boolean;
41
43
  chartBg: string;
@@ -24,6 +24,8 @@ let NileBoxplotChart = class NileBoxplotChart extends NileElement {
24
24
  this.xAxisTitle = '';
25
25
  this.yAxisTitle = '';
26
26
  this.showLegend = true;
27
+ /** Full legend configuration — all Highcharts legend options in one object. */
28
+ this.legend = null;
27
29
  /** When true, draws horizontal boxes (categories on the y-axis). */
28
30
  this.horizontal = false;
29
31
  // ── Container styling ──
@@ -163,7 +165,7 @@ let NileBoxplotChart = class NileBoxplotChart extends NileElement {
163
165
  },
164
166
  title: { text: this.chartTitle || undefined },
165
167
  subtitle: { text: this.chartSubtitle || undefined },
166
- legend: { enabled: this.showLegend },
168
+ legend: (() => { const { show, ...rest } = this.legend ?? {}; return { enabled: show ?? this.showLegend, ...rest }; })(),
167
169
  xAxis: this.horizontal ? valueAxis : catAxis,
168
170
  yAxis: this.horizontal ? catAxis : valueAxis,
169
171
  tooltip: {
@@ -264,6 +266,9 @@ __decorate([
264
266
  __decorate([
265
267
  property({ type: Boolean, attribute: 'show-legend' })
266
268
  ], NileBoxplotChart.prototype, "showLegend", void 0);
269
+ __decorate([
270
+ property({ type: Object })
271
+ ], NileBoxplotChart.prototype, "legend", void 0);
267
272
  __decorate([
268
273
  property({ type: Boolean, reflect: true, attribute: 'horizontal' })
269
274
  ], NileBoxplotChart.prototype, "horizontal", void 0);
@@ -24,6 +24,8 @@ export declare class NileBubbleChart extends NileElement {
24
24
  xAxisTitle: string;
25
25
  yAxisTitle: string;
26
26
  showLegend: boolean;
27
+ /** Full legend configuration — all Highcharts legend options in one object. */
28
+ legend: import('../nile-pie-chart/nile-pie-chart.js').LegendConfig | null;
27
29
  chartBg: string;
28
30
  chartBorderRadius: string | number;
29
31
  chartBorder: string;
@@ -22,6 +22,8 @@ let NileBubbleChart = class NileBubbleChart extends NileElement {
22
22
  this.xAxisTitle = '';
23
23
  this.yAxisTitle = '';
24
24
  this.showLegend = true;
25
+ /** Full legend configuration — all Highcharts legend options in one object. */
26
+ this.legend = null;
25
27
  // ── Container styling ──
26
28
  this.chartBg = '';
27
29
  this.chartBorderRadius = '';
@@ -170,7 +172,7 @@ let NileBubbleChart = class NileBubbleChart extends NileElement {
170
172
  series: { cursor: 'pointer', point: { events: { click() { self.emit('nile-chart-click', { point: this, x: this.x, y: this.y, z: this.z, seriesName: this.series.name }); } } } },
171
173
  },
172
174
  series: this.data.map(s => ({ type: 'bubble', name: s.name, data: s.data, color: s.color })),
173
- legend: { enabled: this.showLegend },
175
+ legend: (() => { const { show, ...rest } = this.legend ?? {}; return { enabled: show ?? this.showLegend, ...rest }; })(),
174
176
  credits: { enabled: false },
175
177
  }, this.options);
176
178
  }
@@ -226,6 +228,9 @@ __decorate([
226
228
  __decorate([
227
229
  property({ type: Boolean, attribute: 'show-legend' })
228
230
  ], NileBubbleChart.prototype, "showLegend", void 0);
231
+ __decorate([
232
+ property({ type: Object })
233
+ ], NileBubbleChart.prototype, "legend", void 0);
229
234
  __decorate([
230
235
  property({ type: String, attribute: 'chart-bg' })
231
236
  ], NileBubbleChart.prototype, "chartBg", void 0);
@@ -2,7 +2,7 @@ import type { ChartConfigType } from '../internal/types/chart-config.type.js';
2
2
  /** Every supported `chart.type` value for `<nile-chart>`. */
3
3
  export type ChartType = ChartConfigType['type'];
4
4
  import type { BarChartSeriesData } from '../nile-bar-chart/nile-bar-chart.js';
5
- import type { PieChartSeriesData } from '../nile-pie-chart/nile-pie-chart.js';
5
+ import type { PieChartSeriesData, LegendConfig } from '../nile-pie-chart/nile-pie-chart.js';
6
6
  import type { TrendlineSeriesData, ForecastConfig } from '../nile-trendline-chart/nile-trendline-chart.js';
7
7
  import type { AnomalySeriesData, AnomalyConfig } from '../nile-anomaly-chart/nile-anomaly-chart.js';
8
8
  import type { LineChartSeriesData } from '../nile-line-chart/nile-line-chart.js';
@@ -15,7 +15,7 @@ import type { SplineChartSeriesData } from '../nile-spline-chart/nile-spline-cha
15
15
  import type { RadarChartSeriesData } from '../nile-radar-chart/nile-radar-chart.js';
16
16
  import type { GaugeBand } from '../nile-gauge-chart/nile-gauge-chart.js';
17
17
  import type { WaterfallDataPoint } from '../nile-waterfall-chart/nile-waterfall-chart.js';
18
- import type { KpiVariant, KpiValueFormat, SparklineType, TrendDirection } from '../nile-kpi-chart/nile-kpi-chart.js';
18
+ import type { KpiVariant, KpiValueFormat, KpiNumberSystem, SparklineType, TrendDirection } from '../nile-kpi-chart/nile-kpi-chart.js';
19
19
  import type { MapChartDataPoint } from '../nile-map-chart/nile-map-chart.js';
20
20
  import type { NileDataGridColumn } from '@aquera/nile-data-grid';
21
21
  import type { StackedChartSeriesData } from '../nile-stacked-chart/nile-stacked-chart.js';
@@ -132,8 +132,8 @@ export interface NileChartConfigBase {
132
132
  menu?: NileChartMenuConfig;
133
133
  /** Custom items appended at the bottom of the chart actions menu. */
134
134
  menuItems?: NileChartMenuItem[];
135
- /** Show the chart legend. Each chart's default varies; set explicitly to override. */
136
- showLegend?: boolean;
135
+ /** Legend configuration full Highcharts legend surface. */
136
+ legend?: LegendConfig;
137
137
  chartBg?: string;
138
138
  chartBorderRadius?: string | number;
139
139
  chartBorder?: string;
@@ -530,6 +530,10 @@ export interface NileKpiChartConfig extends NileChartConfigBase {
530
530
  precision?: number | null;
531
531
  /** Base unit (e.g. 'L', 'g', 'm') combined with the magnitude prefix: "1.5KL", "2.5Kg". */
532
532
  unit?: string;
533
+ /** BCP 47 locale for number formatting, e.g. 'en-IN'. Defaults to browser locale. */
534
+ locale?: string;
535
+ /** Number system: 'indian' (1,00,000 / L / Cr) or 'international' (100,000 / K / M / B / T). */
536
+ numberSystem?: KpiNumberSystem;
533
537
  tooltipEnabled?: boolean;
534
538
  }
535
539
  /** Discriminated union of every named chart config — use for typed `<nile-chart>` configs. */