impact-nova 2.1.0-alpha.6 → 2.1.0-alpha.8

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 (113) hide show
  1. package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +6 -0
  2. package/dist/components/data/ag-grid-react/build-ag-grid-theme.d.ts +3 -0
  3. package/dist/components/data/ag-grid-react/cell-renderers/editors/input-cell-editor.js +58 -58
  4. package/dist/components/data/ag-grid-react/column-indicator-sync-bus.d.ts +9 -0
  5. package/dist/components/data/ag-grid-react/column-indicator-sync-bus.js +15 -0
  6. package/dist/components/data/ag-grid-react/headers/column-menu/column-settings-menu.js +78 -73
  7. package/dist/components/data/ag-grid-react/headers/custom-header.js +3 -1
  8. package/dist/components/data/ag-grid-react/headers/header-search-input.js +87 -91
  9. package/dist/components/data/ag-grid-react/index.d.ts +1 -1
  10. package/dist/components/data/ag-grid-react/index.js +109 -100
  11. package/dist/components/data/ag-grid-react/notify-column-indicator-sync.d.ts +3 -2
  12. package/dist/components/data/ag-grid-react/notify-column-indicator-sync.js +4 -3
  13. package/dist/components/data/ag-grid-react/sync-ag-grid-theme-mode.d.ts +3 -0
  14. package/dist/components/data/ag-grid-react/sync-ag-grid-theme-mode.js +10 -0
  15. package/dist/components/data/ag-grid-react/theme.d.ts +1 -0
  16. package/dist/components/data/ag-grid-react/theme.js +93 -21
  17. package/dist/components/data/data-table/column-indicator.d.ts +1 -1
  18. package/dist/components/data/data-table/column-indicator.js +15 -11
  19. package/dist/components/data/data-table/data-table-column-def-pin.d.ts +9 -4
  20. package/dist/components/data/data-table/data-table-column-def-pin.js +38 -38
  21. package/dist/components/data/data-table/data-table-saved-views.js +37 -37
  22. package/dist/components/data/data-table/data-table-sheet.js +15 -17
  23. package/dist/components/data/data-table/data-table.js +62 -57
  24. package/dist/components/data/data-table/data-table.types.d.ts +7 -1
  25. package/dist/components/data/data-table/indicator-legend.d.ts +13 -2
  26. package/dist/components/data/data-table/indicator-legend.js +20 -17
  27. package/dist/components/data/data-table/pin-switch.js +9 -9
  28. package/dist/components/data/data-table/use-data-table-column-list-sync.js +133 -130
  29. package/dist/components/data/nested-list/nested-list-change-detection.d.ts +11 -0
  30. package/dist/components/data/nested-list/nested-list-change-detection.js +13 -0
  31. package/dist/components/data/nested-list/nested-list.js +107 -97
  32. package/dist/components/data-display/calendar/calendar.d.ts +1 -1
  33. package/dist/components/data-display/calendar/calendar.js +194 -189
  34. package/dist/components/data-display/chart/chart-palette.d.ts +16 -0
  35. package/dist/components/data-display/chart/chart-palette.js +28 -0
  36. package/dist/components/data-display/chart/chart.js +121 -115
  37. package/dist/components/data-display/chart/chart.utils.js +9 -6
  38. package/dist/components/data-display/chart/index.d.ts +1 -0
  39. package/dist/components/data-display/chart/index.js +15 -9
  40. package/dist/components/data-display/chart/resolve-highcharts-options.d.ts +3 -0
  41. package/dist/components/data-display/chart/resolve-highcharts-options.js +35 -0
  42. package/dist/components/data-display/statistics-card/statistics-card.color.d.ts +6 -0
  43. package/dist/components/data-display/statistics-card/statistics-card.color.js +19 -0
  44. package/dist/components/data-display/statistics-card/statistics-card.hooks.js +50 -48
  45. package/dist/components/data-display/statistics-card/statistics-card.js +127 -146
  46. package/dist/components/feedback/alert-dialog/alert-dialog.js +15 -15
  47. package/dist/components/feedback/dialog/dialog.js +3 -3
  48. package/dist/components/feedback/drawer/drawer.js +32 -32
  49. package/dist/components/feedback/sheet/sheet.js +8 -8
  50. package/dist/components/feedback/sheet/sheet.variants.js +1 -1
  51. package/dist/components/feedback/toast/toast.js +83 -92
  52. package/dist/components/flows/command-palette/command-palette-context.types.d.ts +5 -0
  53. package/dist/components/flows/command-palette/command-palette.d.ts +4 -16
  54. package/dist/components/flows/command-palette/command-palette.js +245 -258
  55. package/dist/components/flows/command-palette/command-palette.types.d.ts +9 -0
  56. package/dist/components/flows/command-palette/shortcut-overlay.js +6 -6
  57. package/dist/components/flows/filter-panel/filter-panel.d.ts +3 -2
  58. package/dist/components/flows/filter-panel/filter-panel.js +99 -104
  59. package/dist/components/flows/filter-strip/filter-summary.js +41 -41
  60. package/dist/components/flows/filter-strip/filter-tag-list.js +48 -48
  61. package/dist/components/flows/wizard/wizard.js +32 -32
  62. package/dist/components/forms/choice-card/choice-card.d.ts +2 -2
  63. package/dist/components/forms/choice-card/choice-card.js +156 -166
  64. package/dist/components/forms/combobox/combobox.js +70 -70
  65. package/dist/components/forms/date-picker/date-picker.js +31 -30
  66. package/dist/components/forms/file-upload/file-upload.js +146 -168
  67. package/dist/components/forms/prompt/prompt.js +47 -48
  68. package/dist/components/forms/select/components/SelectAllRow.js +14 -14
  69. package/dist/components/forms/select/components/SelectMenuFooter.js +12 -12
  70. package/dist/components/forms/select/components/SelectMenuHeader.js +44 -44
  71. package/dist/components/forms/select/components/SelectMenuListBody.js +22 -22
  72. package/dist/components/forms/select/components/SelectMenuPanel.js +8 -8
  73. package/dist/components/forms/select/components/SelectOptionRow.js +62 -62
  74. package/dist/components/forms/select/select.d.ts +5 -4
  75. package/dist/components/forms/select/select.js +123 -120
  76. package/dist/components/forms/select/select.types.d.ts +95 -204
  77. package/dist/components/forms/slider/slider.js +17 -17
  78. package/dist/components/forms/smart-input/smart-input.js +49 -49
  79. package/dist/components/forms/textarea/textarea.js +25 -25
  80. package/dist/components/layout/breadcrumb/breadcrumb.js +112 -118
  81. package/dist/components/layout/header/header.d.ts +5 -17
  82. package/dist/components/layout/header/header.js +113 -116
  83. package/dist/components/layout/header/header.types.d.ts +3 -0
  84. package/dist/components/layout/sidebar/sidebar.js +5 -5
  85. package/dist/components/layout/sidebar/sidebar.variants.js +1 -1
  86. package/dist/components/primitives/accordion/accordion.js +38 -41
  87. package/dist/components/primitives/kbd/kbd.variants.js +1 -1
  88. package/dist/i18n/defaultMessages.d.ts +2 -0
  89. package/dist/i18n/defaultMessages.js +6 -4
  90. package/dist/i18n/locales/de.js +2 -0
  91. package/dist/i18n/locales/es.js +2 -0
  92. package/dist/i18n/locales/hi.js +2 -0
  93. package/dist/i18n/locales/kn.js +2 -0
  94. package/dist/impact-nova-base.scss +8 -5
  95. package/dist/impact-nova-components.css +2 -2
  96. package/dist/impact-nova-tokens.scss +346 -189
  97. package/dist/impact-nova.css +1 -1
  98. package/dist/index.js +505 -499
  99. package/dist/lib/primitives/create-component.d.ts +1 -1
  100. package/dist/lib/primitives/create-component.js +4 -4
  101. package/dist/lib/primitives/field.js +17 -18
  102. package/dist/lib/resolve-design-token-color.d.ts +5 -0
  103. package/dist/lib/resolve-design-token-color.js +12 -0
  104. package/dist/lib/virtualized/virtualized-list-parts.d.ts +1 -2
  105. package/dist/lib/virtualized/virtualized-list-parts.js +23 -23
  106. package/dist/lib/virtualized/virtualized.types.d.ts +10 -0
  107. package/dist/llms/rules/ag-grid.js +1 -1
  108. package/dist/llms/rules/installation.js +1 -1
  109. package/dist/llms/rules/requirements.js +1 -1
  110. package/dist/theme/tokens/chart-series-palette.json.d.ts +53 -0
  111. package/dist/theme/tokens/chart-series-palette.json.js +7 -0
  112. package/package.json +22 -254
  113. package/tailwind.config.js +10 -229
@@ -1,54 +1,55 @@
1
- import { useState as M, useRef as h, useCallback as a, useEffect as x } from "react";
2
- import { mergePartialOrderedColumnState as L } from "./data-table-column-state.js";
3
- import { afterSynchronousColumnApply as b, normalizeColumnPinned as q, GRID_AUTO_UNPIN_WAIT_MS as H, alignColumnTreePinMetadata as N, EXTERNAL_SYNC_DEBOUNCE_MS as J, readGridColumnPinned as Q } from "./data-table-column-apply.js";
4
- import { buildColumnTreeFromGrid as Z } from "./build-column-tree-from-grid.js";
1
+ import { useState as O, useRef as h, useCallback as a, useEffect as x } from "react";
2
+ import { mergePartialOrderedColumnState as N } from "./data-table-column-state.js";
3
+ import { afterSynchronousColumnApply as v, normalizeColumnPinned as q, GRID_AUTO_UNPIN_WAIT_MS as J, alignColumnTreePinMetadata as L, EXTERNAL_SYNC_DEBOUNCE_MS as Q, readGridColumnPinned as Z } from "./data-table-column-apply.js";
4
+ import { buildColumnTreeFromGrid as $ } from "./build-column-tree-from-grid.js";
5
5
  import { computeColumnListSyncFingerprints as z, resolveColumnListSyncMode as A } from "./data-table-column-list-sync.js";
6
6
  import { subscribeGridApiEvent as j } from "../ag-grid-react/grid-api-event-subscription.js";
7
- function se({
8
- gridApi: n,
9
- frozenColumnsLabel: O,
10
- scrollableColumnsLabel: _
7
+ import { subscribeColumnIndicatorSync as ee } from "../ag-grid-react/column-indicator-sync-bus.js";
8
+ function ie({
9
+ gridApi: o,
10
+ frozenColumnsLabel: D,
11
+ scrollableColumnsLabel: U
11
12
  }) {
12
- const [K, v] = M([]), [V, W] = M(!1), [w, B] = M(!1), i = h(!1), E = h(null), S = h(0), y = h(""), P = h(""), C = a(() => !n || i.current ? null : Z(n, {
13
- frozenColumns: O,
14
- scrollableColumns: _
15
- }), [n, O, _]), g = a(
16
- (t, e, o) => {
17
- const l = y.current, c = z(t);
18
- y.current = c.structural, P.current = c.indicators, v(t), W(!0), e === "structural" && l !== "" && B((d) => !d);
13
+ const [K, R] = O([]), [V, W] = O(!1), [_, B] = O(!1), i = h(!1), E = h(null), S = h(0), y = h(""), G = h(""), C = a(() => !o || i.current ? null : $(o, {
14
+ frozenColumns: D,
15
+ scrollableColumns: U
16
+ }), [o, D, U]), I = a(
17
+ (n, e) => {
18
+ const r = y.current, l = z(n);
19
+ y.current = l.structural, G.current = l.indicators, R(n), W(!0), e === "structural" && r !== "" && B((t) => !t);
19
20
  },
20
- [n]
21
- ), p = a(
22
- (t = "unknown") => {
23
- const e = C();
24
- e && g(e, "structural", t);
21
+ []
22
+ ), f = a(
23
+ () => {
24
+ const n = C();
25
+ n && I(n, "structural");
25
26
  },
26
- [g, C, n]
27
- ), D = a(
28
- (t) => {
29
- const e = C();
30
- if (!e) return;
31
- const o = A(
32
- e,
27
+ [I, C]
28
+ ), k = a(
29
+ () => {
30
+ const n = C();
31
+ if (!n) return;
32
+ const e = A(
33
+ n,
33
34
  y.current,
34
- P.current
35
+ G.current
35
36
  );
36
- if (o !== "skip") {
37
- if (o === "structural") {
38
- const l = E.current?.querySelector(
37
+ if (e !== "skip") {
38
+ if (e === "structural") {
39
+ const r = E.current?.querySelector(
39
40
  '[data-component="nested-list"] .overflow-y-auto'
40
41
  );
41
- l && (S.current = l.scrollTop);
42
+ r && (S.current = r.scrollTop);
42
43
  }
43
- g(e, o, t);
44
+ I(n, e);
44
45
  }
45
46
  },
46
- [g, C]
47
+ [I, C]
47
48
  );
48
49
  x(() => {
49
- if (!n) return;
50
- queueMicrotask(() => p("initial"));
51
- const t = [
50
+ if (!o) return;
51
+ queueMicrotask(() => f());
52
+ const n = [
52
53
  "columnVisible",
53
54
  "columnPinned",
54
55
  "columnMoved",
@@ -65,158 +66,160 @@ function se({
65
66
  "newColumnsLoaded"
66
67
  ];
67
68
  let e = null;
68
- const o = (c) => {
69
+ const r = () => {
69
70
  i.current || (e && clearTimeout(e), e = setTimeout(() => {
70
- e = null, !(i.current || n.isDestroyed()) && D(`grid:${c}`);
71
- }, J));
72
- }, l = t.map(
73
- (c) => j(n, c, () => {
74
- o(c);
71
+ e = null, !(i.current || o.isDestroyed()) && k();
72
+ }, Q));
73
+ }, l = n.map(
74
+ (t) => j(o, t, () => {
75
+ r();
75
76
  })
76
- );
77
+ ), u = ee(() => {
78
+ r();
79
+ });
77
80
  return () => {
78
- e && clearTimeout(e), l.forEach((c) => c());
81
+ e && clearTimeout(e), l.forEach((t) => t()), u();
79
82
  };
80
- }, [n, p, D]), x(() => {
83
+ }, [o, f, k]), x(() => {
81
84
  if (S.current === 0) return;
82
- const t = requestAnimationFrame(() => {
85
+ const n = requestAnimationFrame(() => {
83
86
  const e = E.current?.querySelector(
84
87
  '[data-component="nested-list"] .overflow-y-auto'
85
88
  );
86
89
  e && (e.scrollTop = S.current, S.current = 0);
87
90
  });
88
- return () => cancelAnimationFrame(t);
89
- }, [w]);
90
- const U = a(
91
- (t) => {
92
- const e = [], o = (l, c) => {
93
- l.forEach((r) => {
94
- if (r.id === "root-frozen") {
95
- r.children && o(r.children, "left");
91
+ return () => cancelAnimationFrame(n);
92
+ }, [_]);
93
+ const w = a(
94
+ (n) => {
95
+ const e = [], r = (l, u) => {
96
+ l.forEach((t) => {
97
+ if (t.id === "root-frozen") {
98
+ t.children && r(t.children, "left");
96
99
  return;
97
100
  }
98
- if (r.id === "root-scrollable") {
99
- r.children && o(r.children, null);
101
+ if (t.id === "root-scrollable") {
102
+ t.children && r(t.children, null);
100
103
  return;
101
104
  }
102
- if (r.category === "group" || r.children && r.children.length > 0)
103
- r.children && o(r.children, c);
105
+ if (t.category === "group" || t.children && t.children.length > 0)
106
+ t.children && r(t.children, u);
104
107
  else {
105
- let u;
106
- if (c === null)
107
- u = null;
108
+ let c;
109
+ if (u === null)
110
+ c = null;
108
111
  else {
109
- const f = r.data?.pinned;
110
- u = f === "left" || f === "right" ? f : c;
112
+ const d = t.data?.pinned;
113
+ c = d === "left" || d === "right" ? d : u;
111
114
  }
112
115
  e.push({
113
- colId: r.id,
114
- pinned: u,
115
- hide: !r.checked
116
+ colId: t.id,
117
+ pinned: c,
118
+ hide: !t.checked
116
119
  });
117
120
  }
118
121
  });
119
122
  };
120
- return o(t, null), e;
123
+ return r(n, null), e;
121
124
  },
122
125
  []
123
- ), I = a(
124
- (t) => {
125
- if (!n) return;
126
+ ), g = a(
127
+ (n) => {
128
+ if (!o) return;
126
129
  i.current = !0;
127
- const e = U(t);
130
+ const e = w(n);
128
131
  if (e.length === 0) {
129
- b(() => {
132
+ v(() => {
130
133
  i.current = !1;
131
134
  });
132
135
  return;
133
136
  }
134
- const o = n.getColumnState(), l = L(o, e), c = new Set(
135
- o.filter((s) => q(s.pinned)).map((s) => s.colId)
136
- ), r = l.filter(
137
- (s) => q(s.pinned) && !c.has(s.colId)
138
- ), d = new Set(r.map((s) => s.colId));
139
- n.applyColumnState({ state: l, applyOrder: !0 });
140
- const u = () => {
141
- i.current = !1, p("handleChanges:releaseLockAndSync");
137
+ const r = o.getColumnState(), l = N(r, e), u = new Set(
138
+ r.filter((s) => q(s.pinned)).map((s) => s.colId)
139
+ ), t = l.filter(
140
+ (s) => q(s.pinned) && !u.has(s.colId)
141
+ ), p = new Set(t.map((s) => s.colId));
142
+ o.applyColumnState({ state: l, applyOrder: !0 });
143
+ const c = () => {
144
+ i.current = !1, f();
142
145
  };
143
- if (d.size === 0) {
144
- b(u);
146
+ if (p.size === 0) {
147
+ v(c);
145
148
  return;
146
149
  }
147
- let T = !1, f = null, G = null;
148
- G = j(n, "columnPinned", () => {
149
- if (T || n.isDestroyed()) return;
150
- const s = n.getColumnState();
151
- if (r.filter((R) => {
152
- const m = s.find((F) => F.colId === R.colId);
150
+ let b = !1, d = null, P = null;
151
+ P = j(o, "columnPinned", () => {
152
+ if (b || o.isDestroyed()) return;
153
+ const s = o.getColumnState();
154
+ if (t.filter((T) => {
155
+ const m = s.find((F) => F.colId === T.colId);
153
156
  return m && !m.pinned;
154
157
  }).length > 0) {
155
- T = !0, f && clearTimeout(f), G?.();
156
- const R = l.filter(
157
- (m) => m.pinned && !d.has(m.colId)
158
+ b = !0, d && clearTimeout(d), P?.();
159
+ const T = l.filter(
160
+ (m) => m.pinned && !p.has(m.colId)
158
161
  );
159
- if (R.length > 0) {
160
- const m = R[0], F = l.map(
161
- (k) => k.colId === m.colId ? { ...k, pinned: null } : k
162
+ if (T.length > 0) {
163
+ const m = T[0], F = l.map(
164
+ (M) => M.colId === m.colId ? { ...M, pinned: null } : M
162
165
  );
163
- n.applyColumnState({ state: F, applyOrder: !0 });
166
+ o.applyColumnState({ state: F, applyOrder: !0 });
164
167
  }
165
- b(u);
168
+ v(c);
166
169
  }
167
- }), f = setTimeout(() => {
168
- G?.(), T || u();
169
- }, H);
170
+ }), d = setTimeout(() => {
171
+ P?.(), b || c();
172
+ }, J);
170
173
  },
171
- [n, U, p]
174
+ [o, w, f]
172
175
  ), X = a(
173
- (t) => {
174
- I(N(t));
176
+ (n) => {
177
+ g(L(n));
175
178
  },
176
- [I]
179
+ [g]
177
180
  ), Y = a(
178
- (t, e) => {
179
- const o = N(t);
180
- e || I(o), v(o);
181
- const l = z(o);
182
- y.current = l.structural, P.current = l.indicators;
181
+ (n, e) => {
182
+ const r = L(n);
183
+ e || g(r), R(r);
184
+ const l = z(r);
185
+ y.current = l.structural, G.current = l.indicators;
183
186
  },
184
- [I]
185
- ), $ = a(
186
- (t, e) => {
187
- if (v((c) => {
188
- const r = (d) => d.map((u) => u.id === t ? {
189
- ...u,
187
+ [g]
188
+ ), H = a(
189
+ (n, e) => {
190
+ if (R((u) => {
191
+ const t = (p) => p.map((c) => c.id === n ? {
192
+ ...c,
190
193
  data: {
191
- ...u.data,
194
+ ...c.data,
192
195
  pinned: e
193
196
  }
194
- } : u.children ? {
195
- ...u,
196
- children: r(u.children)
197
- } : u);
198
- return r(c);
199
- }), !n) return;
197
+ } : c.children ? {
198
+ ...c,
199
+ children: t(c.children)
200
+ } : c);
201
+ return t(u);
202
+ }), !o) return;
200
203
  i.current = !0;
201
- const o = n.getColumnState(), l = L(o, [
202
- { colId: t, pinned: e }
204
+ const r = o.getColumnState(), l = N(r, [
205
+ { colId: n, pinned: e }
203
206
  ]);
204
- n.applyColumnState({ state: l, applyOrder: !0 }), b(() => {
205
- i.current = !1, Q(n, t) !== e && p("handlePinChange");
207
+ o.applyColumnState({ state: l, applyOrder: !0 }), v(() => {
208
+ i.current = !1, Z(o, n) !== e && f();
206
209
  });
207
210
  },
208
- [n, p]
211
+ [o, f]
209
212
  );
210
213
  return {
211
214
  items: K,
212
215
  isReady: V,
213
- externalSyncKey: w,
216
+ externalSyncKey: _,
214
217
  listWrapperRef: E,
215
218
  handleChange: Y,
216
219
  handleSubmit: X,
217
- handlePinChange: $
220
+ handlePinChange: H
218
221
  };
219
222
  }
220
223
  export {
221
- se as useDataTableColumnListSync
224
+ ie as useDataTableColumnListSync
222
225
  };
@@ -0,0 +1,11 @@
1
+ import { NestedListItem } from './nested-list.types';
2
+ /** Above this count, apply/discard uses O(1) revision tracking instead of JSON comparison. */
3
+ export declare const NESTED_LIST_REVISION_THRESHOLD = 1000;
4
+ export declare function shouldUseNestedListRevisionTracking(itemCount: number): boolean;
5
+ export declare function computeNestedListHasChanges(options: {
6
+ enableApplyDiscard: boolean;
7
+ items: NestedListItem[];
8
+ savedItems: NestedListItem[];
9
+ revision: number;
10
+ savedRevision: number;
11
+ }): boolean;
@@ -0,0 +1,13 @@
1
+ const S = 1e3;
2
+ function o(e) {
3
+ return e > 1e3;
4
+ }
5
+ function a(e) {
6
+ const { enableApplyDiscard: i, items: s, savedItems: n, revision: t, savedRevision: r } = e;
7
+ return i ? o(s.length) ? t !== r : JSON.stringify(s) !== JSON.stringify(n) : !1;
8
+ }
9
+ export {
10
+ S as NESTED_LIST_REVISION_THRESHOLD,
11
+ a as computeNestedListHasChanges,
12
+ o as shouldUseNestedListRevisionTracking
13
+ };