@aquera/nile-visualization 0.3.0 → 0.5.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 (50) hide show
  1. package/dist/src/index.d.ts +8 -2
  2. package/dist/src/index.js +3 -0
  3. package/dist/src/internal/chart-adapters.js +86 -0
  4. package/dist/src/internal/highcharts-provider.js +27 -0
  5. package/dist/src/internal/types/all-chart-config.type.d.ts +2 -4
  6. package/dist/src/internal/types/chart-config.type.d.ts +3 -2
  7. package/dist/src/internal/types/chart-donut-config.type.d.ts +2 -0
  8. package/dist/src/internal/types/chart-heatmap-config.type.d.ts +19 -0
  9. package/dist/src/internal/types/chart-heatmap-config.type.js +2 -0
  10. package/dist/src/internal/types/chart-kpi-config.type.d.ts +5 -21
  11. package/dist/src/internal/types/chart-line-column-config.type.d.ts +14 -0
  12. package/dist/src/internal/types/chart-line-column-config.type.js +2 -0
  13. package/dist/src/internal/types/chart-organization-config.type.d.ts +13 -0
  14. package/dist/src/internal/types/chart-organization-config.type.js +2 -0
  15. package/dist/src/internal/types/index.d.ts +4 -1
  16. package/dist/src/internal/types/primitive-chart-config.type.d.ts +5 -1
  17. package/dist/src/nile-ai-panel/nile-ai-panel.css.js +8 -0
  18. package/dist/src/nile-ai-panel/nile-ai-panel.d.ts +2 -0
  19. package/dist/src/nile-ai-panel/nile-ai-panel.js +8 -0
  20. package/dist/src/nile-bellcurve-chart/nile-bellcurve-chart.js +3 -1
  21. package/dist/src/nile-chart/index.d.ts +2 -2
  22. package/dist/src/nile-chart/nile-chart-config.d.ts +39 -96
  23. package/dist/src/nile-chart/nile-chart.css.js +31 -6
  24. package/dist/src/nile-chart/nile-chart.d.ts +48 -7
  25. package/dist/src/nile-chart/nile-chart.js +527 -54
  26. package/dist/src/nile-donut-chart/nile-donut-chart.d.ts +2 -0
  27. package/dist/src/nile-donut-chart/nile-donut-chart.js +16 -1
  28. package/dist/src/nile-heatmap-chart/index.d.ts +2 -0
  29. package/dist/src/nile-heatmap-chart/index.js +2 -0
  30. package/dist/src/nile-heatmap-chart/nile-heatmap-chart.css.d.ts +1 -0
  31. package/dist/src/nile-heatmap-chart/nile-heatmap-chart.css.js +28 -0
  32. package/dist/src/nile-heatmap-chart/nile-heatmap-chart.d.ts +49 -0
  33. package/dist/src/nile-heatmap-chart/nile-heatmap-chart.js +259 -0
  34. package/dist/src/nile-histogram-chart/nile-histogram-chart.js +3 -1
  35. package/dist/src/nile-kpi-chart/nile-kpi-chart.css.js +4 -4
  36. package/dist/src/nile-kpi-chart/nile-kpi-chart.d.ts +2 -0
  37. package/dist/src/nile-kpi-chart/nile-kpi-chart.js +6 -0
  38. package/dist/src/nile-line-column-chart/index.d.ts +2 -0
  39. package/dist/src/nile-line-column-chart/index.js +2 -0
  40. package/dist/src/nile-line-column-chart/nile-line-column-chart.css.d.ts +1 -0
  41. package/dist/src/nile-line-column-chart/nile-line-column-chart.css.js +28 -0
  42. package/dist/src/nile-line-column-chart/nile-line-column-chart.d.ts +42 -0
  43. package/dist/src/nile-line-column-chart/nile-line-column-chart.js +205 -0
  44. package/dist/src/nile-organization-chart/index.d.ts +2 -0
  45. package/dist/src/nile-organization-chart/index.js +2 -0
  46. package/dist/src/nile-organization-chart/nile-organization-chart.css.d.ts +1 -0
  47. package/dist/src/nile-organization-chart/nile-organization-chart.css.js +28 -0
  48. package/dist/src/nile-organization-chart/nile-organization-chart.d.ts +57 -0
  49. package/dist/src/nile-organization-chart/nile-organization-chart.js +206 -0
  50. package/package.json +4 -1
@@ -33,7 +33,7 @@ export const styles = css `
33
33
  position: relative;
34
34
  z-index: 10;
35
35
  padding: var(--nile-spacing-2xl, var(--ng-spacing-2xl)) var(--nile-spacing-3xl, var(--ng-spacing-3xl)) var(--nile-spacing-xl, var(--ng-spacing-xl));
36
- background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
36
+ background: transparent;
37
37
  border-bottom: var(--nile-border-width-1, var(--ng-stroke-width-1)) solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
38
38
  border-radius: var(--nile-radius-radius-3xl, var(--ng-radius-xl)) var(--nile-radius-radius-3xl, var(--ng-radius-xl)) 0 0;
39
39
  }
@@ -82,10 +82,35 @@ export const styles = css `
82
82
  contain: layout style;
83
83
  }
84
84
 
85
- ::slotted(*) {
85
+ /* ── Default slot (custom chart body only — not named slots) ── */
86
+ slot:not([name])::slotted(*) {
87
+ display: block;
88
+ width: 100%;
89
+ }
90
+
91
+ /* ── header / header-actions slots (one row; built-in AI + switcher on the right) ── */
92
+ slot[name='header']::slotted(*) {
93
+ display: block;
86
94
  width: 100%;
87
95
  }
88
96
 
97
+ slot[name='header-actions']::slotted(*) {
98
+ display: inline-flex;
99
+ align-items: center;
100
+ gap: var(--nile-spacing-xs, var(--ng-spacing-xs));
101
+ }
102
+
103
+ /* ── footer slot ── */
104
+ slot[name='footer']::slotted(*) {
105
+ display: block;
106
+ margin: 0;
107
+ padding: var(--nile-spacing-xl, var(--ng-spacing-xl)) var(--nile-spacing-3xl, var(--ng-spacing-3xl));
108
+ border-top: var(--nile-border-width-1, var(--ng-stroke-width-1)) solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
109
+ font-family: var(--nile-font-family-serif, var(--ng-font-family-body));
110
+ font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));
111
+ color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));
112
+ }
113
+
89
114
  nile-bar-chart,
90
115
  nile-pie-chart,
91
116
  nile-trendline-chart,
@@ -128,7 +153,7 @@ export const styles = css `
128
153
  }
129
154
 
130
155
  .chart-toggle:hover {
131
- background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
156
+ background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
132
157
  box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-sm));
133
158
  }
134
159
 
@@ -188,7 +213,7 @@ export const styles = css `
188
213
  }
189
214
 
190
215
  .chart-menu-trigger:hover {
191
- background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
216
+ background: transparent;
192
217
  color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
193
218
  }
194
219
 
@@ -228,7 +253,7 @@ export const styles = css `
228
253
  }
229
254
 
230
255
  .chart-menu-item:hover {
231
- background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
256
+ background: transparent;
232
257
  }
233
258
 
234
259
  .chart-menu-item.active {
@@ -259,7 +284,7 @@ export const styles = css `
259
284
  }
260
285
 
261
286
  .ai-trigger:hover {
262
- background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
287
+ background: transparent;
263
288
  color: var(--nile-colors-primary-600, var(--ng-colors-fg-brand-primary-600));
264
289
  }
265
290
 
@@ -16,33 +16,69 @@ import '../nile-spline-chart/index.js';
16
16
  import '../nile-radar-chart/index.js';
17
17
  import '../nile-gauge-chart/index.js';
18
18
  import '../nile-waterfall-chart/index.js';
19
+ import '../nile-cluster-chart/index.js';
20
+ import '../nile-stacked-chart/index.js';
21
+ import '../nile-histogram-chart/index.js';
22
+ import '../nile-bellcurve-chart/index.js';
23
+ import '../nile-boxplot-chart/index.js';
24
+ import '../nile-timeline-chart/index.js';
25
+ import '../nile-dumbbell-chart/index.js';
26
+ import '../nile-dumbbell-lower-chart/index.js';
27
+ import '../nile-dumbbell-upper-chart/index.js';
28
+ import '../nile-fan-chart/index.js';
29
+ import '../nile-funnel-chart/index.js';
30
+ import '../nile-organization-chart/index.js';
31
+ import '../nile-line-column-chart/index.js';
32
+ import '../nile-heatmap-chart/index.js';
33
+ import '../nile-flame-chart/index.js';
34
+ import '../nile-spiderweb-chart/index.js';
35
+ import '../nile-column-pyramid-chart/index.js';
36
+ import '../nile-lollipop-chart/index.js';
37
+ import '../nile-inverted-area-chart/index.js';
38
+ import '../nile-area-spline-chart/index.js';
39
+ import '../nile-area-negative-chart/index.js';
40
+ import '../nile-area-range-chart/index.js';
41
+ import '../nile-column-range-chart/index.js';
42
+ import '../nile-column-drilldown-chart/index.js';
43
+ import '../nile-radial-bar-chart/index.js';
44
+ import '../nile-variable-pie-chart/index.js';
45
+ import '../nile-euler-chart/index.js';
46
+ import '../nile-polygon-chart/index.js';
47
+ import '../nile-vector-chart/index.js';
48
+ import '../nile-xrange-chart/index.js';
49
+ import '../nile-kpi-chart/index.js';
19
50
  import '../nile-ai-panel/index.js';
20
51
  export declare class NileChart extends NileElement {
21
52
  static styles: CSSResultGroup;
22
53
  /** Full chart configuration. Accepts flat NileChartConfig or separated { chart, aq } input. */
23
54
  config: NileChartConfig | NileChartConfigInputType | null;
24
- /** The summary/insight text displayed in the overlay (fallback when config is not set). */
55
+ /**
56
+ * When set, fills `chart.type` if the config omits it (same values as `chart.type`, e.g. `stacked`, `pie`).
57
+ * Usage: `<nile-chart chart-type="pie" />` plus `config.chart` with series data only.
58
+ */
59
+ chartTypeAttr: string;
60
+ /** Summary/insight text — shown as the AI panel's opening message when the chat is opened. */
25
61
  summary: string;
26
- /** Label for the toggle button (fallback when config is not set). */
27
- toggleLabel: string;
28
- /** Whether the insight overlay is visible. */
29
- open: boolean;
30
62
  private activeType;
31
63
  private activeConfig;
32
64
  private menuOpen;
33
65
  private chatOpen;
66
+ /** True when elements are projected into the `header` slot (default title/subtitle hidden). */
67
+ private hasHeaderSlotContent;
68
+ /** True when elements are projected into `header-actions` (used to show the header row). */
69
+ private hasHeaderActionsSlot;
34
70
  private aiPanel;
35
71
  private get effectiveSummary();
36
- private get effectiveToggleLabel();
72
+ /** AI panel shows when ai.enabled is true OR when a summary is provided. */
37
73
  private get aiEnabled();
38
74
  private handleOutsideClick;
39
75
  connectedCallback(): void;
40
76
  disconnectedCallback(): void;
77
+ private mergeChartTypeFromAttr;
41
78
  /** Resolve { chart, aq } input to flat NileChartConfig. */
42
79
  private resolveConfig;
43
80
  private resolvedConfig;
44
81
  protected updated(changedProperties: PropertyValues): void;
45
- private toggle;
46
82
  private toggleMenu;
47
83
  private toggleChat;
48
84
  /** Push an AI response into the chat panel. Call this from your AI handler. */
@@ -51,6 +87,11 @@ export declare class NileChart extends NileElement {
51
87
  private switchType;
52
88
  private get headerTitle();
53
89
  private get headerSubtitle();
90
+ private onHeaderSlotChange;
91
+ private onHeaderActionsSlotChange;
92
+ private syncHeaderSlots;
93
+ protected firstUpdated(changedProperties: PropertyValues): void;
94
+ private shouldShowHeader;
54
95
  private renderTypeSwitcher;
55
96
  private renderAiTrigger;
56
97
  private renderHeader;