@aquera/nile-visualization 1.7.0 → 1.8.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 (101) hide show
  1. package/dist/src/internal/dashboard-adapters.d.ts +1 -0
  2. package/dist/src/internal/dashboard-adapters.js +11 -1
  3. package/dist/src/nile-anomaly-chart/nile-anomaly-chart.css.js +2 -0
  4. package/dist/src/nile-anomaly-chart/nile-anomaly-chart.js +1 -1
  5. package/dist/src/nile-area-chart/nile-area-chart.css.js +2 -0
  6. package/dist/src/nile-area-chart/nile-area-chart.js +1 -1
  7. package/dist/src/nile-area-negative-chart/nile-area-negative-chart.css.js +2 -0
  8. package/dist/src/nile-area-negative-chart/nile-area-negative-chart.js +1 -1
  9. package/dist/src/nile-area-range-chart/nile-area-range-chart.css.js +2 -0
  10. package/dist/src/nile-area-range-chart/nile-area-range-chart.js +1 -1
  11. package/dist/src/nile-area-spline-chart/nile-area-spline-chart.css.js +2 -0
  12. package/dist/src/nile-area-spline-chart/nile-area-spline-chart.js +1 -1
  13. package/dist/src/nile-bar-chart/nile-bar-chart.css.js +2 -0
  14. package/dist/src/nile-bar-chart/nile-bar-chart.js +1 -1
  15. package/dist/src/nile-bellcurve-chart/nile-bellcurve-chart.css.js +2 -0
  16. package/dist/src/nile-bellcurve-chart/nile-bellcurve-chart.js +1 -1
  17. package/dist/src/nile-boxplot-chart/nile-boxplot-chart.css.js +2 -0
  18. package/dist/src/nile-boxplot-chart/nile-boxplot-chart.js +1 -1
  19. package/dist/src/nile-bubble-chart/nile-bubble-chart.css.js +2 -0
  20. package/dist/src/nile-bubble-chart/nile-bubble-chart.js +1 -1
  21. package/dist/src/nile-chart/nile-chart.css.js +22 -0
  22. package/dist/src/nile-chart/nile-chart.js +45 -45
  23. package/dist/src/nile-cluster-chart/nile-cluster-chart.css.js +2 -0
  24. package/dist/src/nile-cluster-chart/nile-cluster-chart.js +1 -1
  25. package/dist/src/nile-column-chart/nile-column-chart.css.js +2 -0
  26. package/dist/src/nile-column-chart/nile-column-chart.js +1 -1
  27. package/dist/src/nile-column-drilldown-chart/nile-column-drilldown-chart.css.js +2 -0
  28. package/dist/src/nile-column-drilldown-chart/nile-column-drilldown-chart.js +1 -1
  29. package/dist/src/nile-column-pyramid-chart/nile-column-pyramid-chart.css.js +2 -0
  30. package/dist/src/nile-column-pyramid-chart/nile-column-pyramid-chart.js +1 -1
  31. package/dist/src/nile-column-range-chart/nile-column-range-chart.css.js +2 -0
  32. package/dist/src/nile-column-range-chart/nile-column-range-chart.js +1 -1
  33. package/dist/src/nile-dashboard-viewer/nile-dashboard-viewer.css.js +10 -0
  34. package/dist/src/nile-dashboard-viewer/nile-dashboard-viewer.d.ts +15 -6
  35. package/dist/src/nile-dashboard-viewer/nile-dashboard-viewer.js +47 -6
  36. package/dist/src/nile-donut-chart/nile-donut-chart.css.js +2 -0
  37. package/dist/src/nile-donut-chart/nile-donut-chart.js +1 -1
  38. package/dist/src/nile-dumbbell-chart/nile-dumbbell-chart.css.js +2 -0
  39. package/dist/src/nile-dumbbell-chart/nile-dumbbell-chart.js +1 -1
  40. package/dist/src/nile-dumbbell-lower-chart/nile-dumbbell-lower-chart.css.js +2 -0
  41. package/dist/src/nile-dumbbell-lower-chart/nile-dumbbell-lower-chart.js +1 -1
  42. package/dist/src/nile-dumbbell-upper-chart/nile-dumbbell-upper-chart.css.js +2 -0
  43. package/dist/src/nile-dumbbell-upper-chart/nile-dumbbell-upper-chart.js +1 -1
  44. package/dist/src/nile-euler-chart/nile-euler-chart.css.js +2 -0
  45. package/dist/src/nile-euler-chart/nile-euler-chart.js +1 -1
  46. package/dist/src/nile-fan-chart/nile-fan-chart.css.js +2 -0
  47. package/dist/src/nile-fan-chart/nile-fan-chart.js +1 -1
  48. package/dist/src/nile-flame-chart/nile-flame-chart.css.js +2 -0
  49. package/dist/src/nile-flame-chart/nile-flame-chart.js +1 -1
  50. package/dist/src/nile-funnel-chart/nile-funnel-chart.css.js +2 -0
  51. package/dist/src/nile-funnel-chart/nile-funnel-chart.js +1 -1
  52. package/dist/src/nile-gauge-chart/nile-gauge-chart.css.js +2 -0
  53. package/dist/src/nile-gauge-chart/nile-gauge-chart.js +1 -1
  54. package/dist/src/nile-heatmap-chart/nile-heatmap-chart.css.js +2 -0
  55. package/dist/src/nile-heatmap-chart/nile-heatmap-chart.js +1 -1
  56. package/dist/src/nile-histogram-chart/nile-histogram-chart.css.js +2 -0
  57. package/dist/src/nile-histogram-chart/nile-histogram-chart.js +1 -1
  58. package/dist/src/nile-inverted-area-chart/nile-inverted-area-chart.css.js +2 -0
  59. package/dist/src/nile-inverted-area-chart/nile-inverted-area-chart.js +1 -1
  60. package/dist/src/nile-kpi-chart/nile-kpi-chart.css.js +7 -0
  61. package/dist/src/nile-line-chart/nile-line-chart.css.js +2 -0
  62. package/dist/src/nile-line-chart/nile-line-chart.js +1 -1
  63. package/dist/src/nile-line-column-chart/nile-line-column-chart.css.js +2 -0
  64. package/dist/src/nile-line-column-chart/nile-line-column-chart.js +1 -1
  65. package/dist/src/nile-lollipop-chart/nile-lollipop-chart.css.js +2 -0
  66. package/dist/src/nile-lollipop-chart/nile-lollipop-chart.js +1 -1
  67. package/dist/src/nile-map-chart/nile-map-chart.css.js +2 -0
  68. package/dist/src/nile-map-chart/nile-map-chart.js +1 -1
  69. package/dist/src/nile-organization-chart/nile-organization-chart.css.js +2 -0
  70. package/dist/src/nile-organization-chart/nile-organization-chart.js +1 -1
  71. package/dist/src/nile-pie-chart/nile-pie-chart.css.js +2 -0
  72. package/dist/src/nile-pie-chart/nile-pie-chart.js +1 -1
  73. package/dist/src/nile-polygon-chart/nile-polygon-chart.css.js +2 -0
  74. package/dist/src/nile-polygon-chart/nile-polygon-chart.js +1 -1
  75. package/dist/src/nile-radar-chart/nile-radar-chart.css.js +2 -0
  76. package/dist/src/nile-radar-chart/nile-radar-chart.js +1 -1
  77. package/dist/src/nile-radial-bar-chart/nile-radial-bar-chart.css.js +2 -0
  78. package/dist/src/nile-radial-bar-chart/nile-radial-bar-chart.js +1 -1
  79. package/dist/src/nile-scatter-chart/nile-scatter-chart.css.js +2 -0
  80. package/dist/src/nile-scatter-chart/nile-scatter-chart.js +1 -1
  81. package/dist/src/nile-spiderweb-chart/nile-spiderweb-chart.css.js +2 -0
  82. package/dist/src/nile-spiderweb-chart/nile-spiderweb-chart.js +1 -1
  83. package/dist/src/nile-spline-chart/nile-spline-chart.css.js +2 -0
  84. package/dist/src/nile-spline-chart/nile-spline-chart.js +1 -1
  85. package/dist/src/nile-stacked-chart/nile-stacked-chart.css.js +2 -0
  86. package/dist/src/nile-stacked-chart/nile-stacked-chart.js +1 -1
  87. package/dist/src/nile-timeline-chart/nile-timeline-chart.css.js +2 -0
  88. package/dist/src/nile-timeline-chart/nile-timeline-chart.js +1 -1
  89. package/dist/src/nile-trendline-chart/nile-trendline-chart.css.js +2 -0
  90. package/dist/src/nile-trendline-chart/nile-trendline-chart.js +1 -1
  91. package/dist/src/nile-variable-pie-chart/nile-variable-pie-chart.css.js +2 -0
  92. package/dist/src/nile-variable-pie-chart/nile-variable-pie-chart.js +1 -1
  93. package/dist/src/nile-vector-chart/nile-vector-chart.css.js +2 -0
  94. package/dist/src/nile-vector-chart/nile-vector-chart.js +1 -1
  95. package/dist/src/nile-waterfall-chart/nile-waterfall-chart.css.js +2 -0
  96. package/dist/src/nile-waterfall-chart/nile-waterfall-chart.js +1 -1
  97. package/dist/src/nile-widget-viewer/nile-widget-viewer.d.ts +4 -0
  98. package/dist/src/nile-widget-viewer/nile-widget-viewer.js +18 -2
  99. package/dist/src/nile-xrange-chart/nile-xrange-chart.css.js +2 -0
  100. package/dist/src/nile-xrange-chart/nile-xrange-chart.js +1 -1
  101. package/package.json +1 -1
@@ -5,6 +5,7 @@ import type { NileDashboardConfig } from './types/dashboard-config.type.js';
5
5
  *
6
6
  * Handles:
7
7
  * - `widgetType` → `type` rename
8
+ * - Gridster-native layout keys (`cols`/`rows`) → canonical (`w`/`h`)
8
9
  * - API chart `series[].data[].value` → `data[].y` (pie/donut)
9
10
  * - Multi-series format for bar/line/column/area etc.
10
11
  * - KPI sub-object: adds the `type: 'kpi'` discriminator
@@ -61,8 +61,17 @@ function adaptKpiWidget(apiKpi) {
61
61
  };
62
62
  }
63
63
  // ─── Widget adapter ──────────────────────────────────────────────────────────
64
+ function normalizeLayout(raw) {
65
+ const src = raw ?? { x: 0, y: 0 };
66
+ return {
67
+ x: src.x ?? 0,
68
+ y: src.y ?? 0,
69
+ w: src.w ?? src.cols ?? 6,
70
+ h: src.h ?? src.rows ?? 4,
71
+ };
72
+ }
64
73
  function adaptWidget(apiWidget) {
65
- const layout = apiWidget.layout ?? { x: 0, y: 0, w: 6, h: 4 };
74
+ const layout = normalizeLayout(apiWidget.layout);
66
75
  const widgetType = apiWidget.widgetType ?? apiWidget.type;
67
76
  // Already in NileWidgetConfig shape — pass through
68
77
  if (apiWidget.nileConfig) {
@@ -101,6 +110,7 @@ function adaptWidget(apiWidget) {
101
110
  *
102
111
  * Handles:
103
112
  * - `widgetType` → `type` rename
113
+ * - Gridster-native layout keys (`cols`/`rows`) → canonical (`w`/`h`)
104
114
  * - API chart `series[].data[].value` → `data[].y` (pie/donut)
105
115
  * - Multi-series format for bar/line/column/area etc.
106
116
  * - KPI sub-object: adds the `type: 'kpi'` discriminator
@@ -13,6 +13,7 @@ export const styles = css `
13
13
  --nile-chart-loading-bg: transparent;
14
14
  display: block;
15
15
  width: 100%;
16
+ height: 100%;
16
17
  position: relative;
17
18
  }
18
19
 
@@ -22,6 +23,7 @@ export const styles = css `
22
23
 
23
24
  .chart-container {
24
25
  width: 100%;
26
+ height: 100%;
25
27
  min-height: var(--nile-chart-min-height);
26
28
  background: var(--nile-chart-bg);
27
29
  border-radius: var(--nile-chart-border-radius);
@@ -265,7 +265,7 @@ let NileAnomalyChart = class NileAnomalyChart extends NileElement {
265
265
  const defaults = {
266
266
  chart: {
267
267
  type: 'line',
268
- height: this.height,
268
+ ...(this.height ? { height: this.height } : {}),
269
269
  },
270
270
  title: {
271
271
  text: this.chartTitle || undefined,
@@ -13,6 +13,7 @@ export const styles = css `
13
13
  --nile-chart-loading-bg: transparent;
14
14
  display: block;
15
15
  width: 100%;
16
+ height: 100%;
16
17
  position: relative;
17
18
  }
18
19
 
@@ -22,6 +23,7 @@ export const styles = css `
22
23
 
23
24
  .chart-container {
24
25
  width: 100%;
26
+ height: 100%;
25
27
  min-height: var(--nile-chart-min-height);
26
28
  background: var(--nile-chart-bg);
27
29
  border-radius: var(--nile-chart-border-radius);
@@ -157,7 +157,7 @@ let NileAreaChart = class NileAreaChart extends NileElement {
157
157
  buildOptions() {
158
158
  const self = this;
159
159
  return deepMerge({
160
- chart: { type: 'area', height: this.height },
160
+ chart: { type: 'area', ...(this.height ? { height: this.height } : {}) },
161
161
  title: { text: this.chartTitle || undefined },
162
162
  subtitle: { text: this.chartSubtitle || undefined },
163
163
  xAxis: { categories: this.categories },
@@ -13,6 +13,7 @@ export const styles = css `
13
13
  --nile-chart-loading-bg: transparent;
14
14
  display: block;
15
15
  width: 100%;
16
+ height: 100%;
16
17
  position: relative;
17
18
  }
18
19
 
@@ -22,6 +23,7 @@ export const styles = css `
22
23
 
23
24
  .chart-container {
24
25
  width: 100%;
26
+ height: 100%;
25
27
  min-height: var(--nile-chart-min-height);
26
28
  background: var(--nile-chart-bg);
27
29
  border-radius: var(--nile-chart-border-radius);
@@ -118,7 +118,7 @@ let NileAreaNegativeChart = class NileAreaNegativeChart extends NileElement {
118
118
  buildOptions() {
119
119
  const self = this;
120
120
  return deepMerge({
121
- chart: { type: 'area', height: this.height },
121
+ chart: { type: 'area', ...(this.height ? { height: this.height } : {}) },
122
122
  title: { text: this.chartTitle || undefined },
123
123
  subtitle: { text: this.chartSubtitle || undefined },
124
124
  xAxis: { categories: this.categories },
@@ -13,6 +13,7 @@ export const styles = css `
13
13
  --nile-chart-loading-bg: transparent;
14
14
  display: block;
15
15
  width: 100%;
16
+ height: 100%;
16
17
  position: relative;
17
18
  }
18
19
 
@@ -22,6 +23,7 @@ export const styles = css `
22
23
 
23
24
  .chart-container {
24
25
  width: 100%;
26
+ height: 100%;
25
27
  min-height: var(--nile-chart-min-height);
26
28
  background: var(--nile-chart-bg);
27
29
  border-radius: var(--nile-chart-border-radius);
@@ -116,7 +116,7 @@ let NileAreaRangeChart = class NileAreaRangeChart extends NileElement {
116
116
  buildOptions() {
117
117
  const self = this;
118
118
  return deepMerge({
119
- chart: { height: this.height },
119
+ chart: { ...(this.height ? { height: this.height } : {}) },
120
120
  title: { text: this.chartTitle || undefined },
121
121
  subtitle: { text: this.chartSubtitle || undefined },
122
122
  xAxis: { categories: this.categories },
@@ -13,6 +13,7 @@ export const styles = css `
13
13
  --nile-chart-loading-bg: transparent;
14
14
  display: block;
15
15
  width: 100%;
16
+ height: 100%;
16
17
  position: relative;
17
18
  }
18
19
 
@@ -22,6 +23,7 @@ export const styles = css `
22
23
 
23
24
  .chart-container {
24
25
  width: 100%;
26
+ height: 100%;
25
27
  min-height: var(--nile-chart-min-height);
26
28
  background: var(--nile-chart-bg);
27
29
  border-radius: var(--nile-chart-border-radius);
@@ -118,7 +118,7 @@ let NileAreaSplineChart = class NileAreaSplineChart extends NileElement {
118
118
  buildOptions() {
119
119
  const self = this;
120
120
  return deepMerge({
121
- chart: { type: 'areaspline', height: this.height },
121
+ chart: { type: 'areaspline', ...(this.height ? { height: this.height } : {}) },
122
122
  title: { text: this.chartTitle || undefined },
123
123
  subtitle: { text: this.chartSubtitle || undefined },
124
124
  xAxis: { categories: this.categories },
@@ -13,6 +13,7 @@ export const styles = css `
13
13
  --nile-chart-loading-bg: transparent;
14
14
  display: block;
15
15
  width: 100%;
16
+ height: 100%;
16
17
  position: relative;
17
18
  }
18
19
 
@@ -22,6 +23,7 @@ export const styles = css `
22
23
 
23
24
  .chart-container {
24
25
  width: 100%;
26
+ height: 100%;
25
27
  min-height: var(--nile-chart-min-height);
26
28
  background: var(--nile-chart-bg);
27
29
  border-radius: var(--nile-chart-border-radius);
@@ -178,7 +178,7 @@ let NileBarChart = class NileBarChart extends NileElement {
178
178
  const defaults = {
179
179
  chart: {
180
180
  type: 'bar',
181
- height: this.height,
181
+ ...(this.height ? { height: this.height } : {}),
182
182
  },
183
183
  title: {
184
184
  text: this.chartTitle || undefined,
@@ -13,6 +13,7 @@ export const styles = css `
13
13
  --nile-chart-loading-bg: transparent;
14
14
  display: block;
15
15
  width: 100%;
16
+ height: 100%;
16
17
  position: relative;
17
18
  }
18
19
 
@@ -22,6 +23,7 @@ export const styles = css `
22
23
 
23
24
  .chart-container {
24
25
  width: 100%;
26
+ height: 100%;
25
27
  min-height: var(--nile-chart-min-height);
26
28
  background: var(--nile-chart-bg);
27
29
  border-radius: var(--nile-chart-border-radius);
@@ -145,7 +145,7 @@ let NileBellcurveChart = class NileBellcurveChart extends NileElement {
145
145
  const pts = this.pointsInInterval > 0 ? this.pointsInInterval : 40;
146
146
  const iv = this.intervals > 0 ? this.intervals : 3;
147
147
  return deepMerge({
148
- chart: { height: this.height },
148
+ chart: { ...(this.height ? { height: this.height } : {}) },
149
149
  title: { text: this.chartTitle || undefined },
150
150
  subtitle: { text: this.chartSubtitle || undefined },
151
151
  legend: { enabled: this.showLegend },
@@ -13,6 +13,7 @@ export const styles = css `
13
13
  --nile-chart-loading-bg: transparent;
14
14
  display: block;
15
15
  width: 100%;
16
+ height: 100%;
16
17
  position: relative;
17
18
  }
18
19
 
@@ -22,6 +23,7 @@ export const styles = css `
22
23
 
23
24
  .chart-container {
24
25
  width: 100%;
26
+ height: 100%;
25
27
  min-height: var(--nile-chart-min-height);
26
28
  background: var(--nile-chart-bg);
27
29
  border-radius: var(--nile-chart-border-radius);
@@ -158,7 +158,7 @@ let NileBoxplotChart = class NileBoxplotChart extends NileElement {
158
158
  return deepMerge({
159
159
  chart: {
160
160
  type: 'boxplot',
161
- height: this.height,
161
+ ...(this.height ? { height: this.height } : {}),
162
162
  inverted: this.horizontal,
163
163
  },
164
164
  title: { text: this.chartTitle || undefined },
@@ -13,6 +13,7 @@ export const styles = css `
13
13
  --nile-chart-loading-bg: transparent;
14
14
  display: block;
15
15
  width: 100%;
16
+ height: 100%;
16
17
  position: relative;
17
18
  }
18
19
 
@@ -22,6 +23,7 @@ export const styles = css `
22
23
 
23
24
  .chart-container {
24
25
  width: 100%;
26
+ height: 100%;
25
27
  min-height: var(--nile-chart-min-height);
26
28
  background: var(--nile-chart-bg);
27
29
  border-radius: var(--nile-chart-border-radius);
@@ -154,7 +154,7 @@ let NileBubbleChart = class NileBubbleChart extends NileElement {
154
154
  buildOptions() {
155
155
  const self = this;
156
156
  return deepMerge({
157
- chart: { type: 'bubble', height: this.height, zoomType: 'xy' },
157
+ chart: { type: 'bubble', ...(this.height ? { height: this.height } : {}), zoomType: 'xy' },
158
158
  title: { text: this.chartTitle || undefined },
159
159
  subtitle: { text: this.chartSubtitle || undefined },
160
160
  xAxis: { title: { text: this.xAxisTitle || undefined } },
@@ -10,6 +10,28 @@ export const styles = css `
10
10
  display: none;
11
11
  }
12
12
 
13
+ /* Fit-to-container mode (set by nile-widget-viewer) — makes the card fill
14
+ its host rather than auto-sizing to content, so the chart reflows to the
15
+ allotted cell instead of overflowing. */
16
+ :host([fit]) {
17
+ height: 100%;
18
+ }
19
+
20
+ :host([fit]) .chart-card {
21
+ display: flex;
22
+ flex-direction: column;
23
+ height: 100%;
24
+ }
25
+
26
+ :host([fit]) .chart-wrapper {
27
+ flex: 1 1 auto;
28
+ min-height: 0;
29
+ }
30
+
31
+ :host([fit]) .chart-inner {
32
+ height: 100%;
33
+ }
34
+
13
35
  /* ── Unified Card Container ── */
14
36
 
15
37
  .chart-card {