impact-nova 2.2.0 → 2.2.2

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 (63) hide show
  1. package/README.md +6 -0
  2. package/dist/components/data/ag-grid-react/ag-grid-header-dom.d.ts +8 -0
  3. package/dist/components/data/ag-grid-react/ag-grid-header-dom.js +11 -0
  4. package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.d.ts +4 -1
  5. package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.js +14 -3
  6. package/dist/components/data/ag-grid-react/headers/column-menu/column-header-settings-menu.d.ts +19 -0
  7. package/dist/components/data/ag-grid-react/headers/column-menu/column-header-settings-menu.js +74 -0
  8. package/dist/components/data/ag-grid-react/headers/column-menu/column-settings-menu.d.ts +4 -5
  9. package/dist/components/data/ag-grid-react/headers/column-menu/column-settings-menu.js +110 -144
  10. package/dist/components/data/ag-grid-react/headers/components/header-info.d.ts +2 -1
  11. package/dist/components/data/ag-grid-react/headers/components/header-info.js +73 -70
  12. package/dist/components/data/ag-grid-react/headers/context/grid-header-context.d.ts +0 -8
  13. package/dist/components/data/ag-grid-react/headers/custom-header.js +112 -118
  14. package/dist/components/data/ag-grid-react/headers/custom-inner-header-group.js +27 -23
  15. package/dist/components/data/ag-grid-react/headers/resolve-header-info-params.d.ts +10 -0
  16. package/dist/components/data/ag-grid-react/headers/resolve-header-info-params.js +19 -0
  17. package/dist/components/data/ag-grid-react/index.js +169 -210
  18. package/dist/components/data/ag-grid-react/info-system-story-columns.d.ts +12 -0
  19. package/dist/components/data/ag-grid-react/merge-column-group-defs.d.ts +3 -0
  20. package/dist/components/data/ag-grid-react/merge-column-group-defs.js +27 -0
  21. package/dist/components/data/ag-grid-react/use-ag-grid-truncation-tooltip.d.ts +2 -1
  22. package/dist/components/data/ag-grid-react/use-ag-grid-truncation-tooltip.js +7 -7
  23. package/dist/components/data/data-table/data-table-view-menu.d.ts +1 -0
  24. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +7 -6
  25. package/dist/components/feedback/dialog/dialog.js +107 -61
  26. package/dist/components/feedback/dropdown-menu/dropdown-menu.d.ts +1 -0
  27. package/dist/components/feedback/dropdown-menu/dropdown-menu.js +83 -76
  28. package/dist/components/feedback/popover/popover.d.ts +5 -2
  29. package/dist/components/feedback/popover/popover.js +43 -40
  30. package/dist/components/feedback/sheet/sheet.js +149 -102
  31. package/dist/components/feedback/tooltip/tab-tooltip-render.js +3 -2
  32. package/dist/components/forms/date-picker/date-input-behavior.d.ts +10 -4
  33. package/dist/components/forms/date-picker/date-input-behavior.js +86 -67
  34. package/dist/components/forms/date-picker/date-picker.js +59 -52
  35. package/dist/components/forms/date-picker/date-range-picker.js +26 -25
  36. package/dist/components/forms/date-picker/month-picker.js +76 -69
  37. package/dist/components/forms/date-picker/month-range-picker.js +41 -40
  38. package/dist/components/forms/date-picker/multi-date-picker.js +31 -31
  39. package/dist/components/forms/date-picker/multi-month-picker.js +27 -27
  40. package/dist/components/forms/date-picker/multi-week-picker.js +37 -37
  41. package/dist/components/forms/date-picker/week-picker.js +85 -78
  42. package/dist/components/forms/date-picker/week-range-picker.js +67 -66
  43. package/dist/components/forms/select/components/SelectMenuPanel.js +19 -15
  44. package/dist/components/forms/select/components/SelectOptionRow.js +110 -90
  45. package/dist/components/forms/select/components/Submenu.js +39 -34
  46. package/dist/components/forms/select/hooks/useSelectOpenEffects.js +65 -70
  47. package/dist/components/forms/select/select.js +228 -223
  48. package/dist/components/forms/select/select.types.d.ts +8 -0
  49. package/dist/impact-nova-components.css +59 -15
  50. package/dist/impact-nova.css +1 -1
  51. package/dist/lib/overlay/merge-element-refs.d.ts +2 -0
  52. package/dist/lib/overlay/merge-element-refs.js +17 -0
  53. package/dist/lib/overlay/overlay-host.constants.d.ts +4 -0
  54. package/dist/lib/overlay/overlay-host.constants.js +5 -0
  55. package/dist/lib/overlay/overlay-portal-context.d.ts +26 -0
  56. package/dist/lib/overlay/overlay-portal-context.js +65 -0
  57. package/dist/lib/overlay/use-overlay-portal-container-state.d.ts +5 -0
  58. package/dist/lib/overlay/use-overlay-portal-container-state.js +13 -0
  59. package/dist/llms/rules/installation.js +1 -1
  60. package/dist/llms/rules/requirements.js +1 -1
  61. package/package.json +26 -11
  62. package/dist/components/forms/select/components/LabelWithSequence.d.ts +0 -13
  63. package/dist/components/forms/select/components/LabelWithSequence.js +0 -18
@@ -1,70 +1,70 @@
1
- import { jsxs as Se, jsx as y } from "react/jsx-runtime";
2
- import { lazy as Fe, useRef as S, useState as I, useEffect as q, useCallback as m, useMemo as v, Suspense as Me } from "react";
3
- import { ModuleRegistry as Ae, AllCommunityModule as Ee, ValidationModule as Ge } from "ag-grid-community";
4
- import { AllEnterpriseModule as Re } from "ag-grid-enterprise";
5
- import { AgGridReact as ke } from "ag-grid-react";
6
- import { customAgGridTheme as we } from "./theme.js";
7
- import { syncAgGridThemeMode as Ie } from "./sync-ag-grid-theme-mode.js";
8
- import { CustomHeader as Te } from "./headers/custom-header.js";
9
- import { CustomHeaderGroup as z } from "./headers/custom-inner-header-group.js";
10
- import { DefaultTextCellRenderer as je } from "./cell-renderers/default-text-cell-renderer.js";
11
- import { GridHeaderContext as He } from "./headers/context/grid-header-context.js";
12
- import { convertToAgGridFilterModel as Oe, getMultiFilterIndices as Pe, convertFromAgGridFilterModel as De } from "./headers/utils/filter-utils.js";
13
- import { ColumnSettingsMenu as Le } from "./headers/column-menu/column-settings-menu.js";
14
- import { AG_GRID_VALUE_FORMATTERS as Ne } from "./value-formatters.js";
15
- import { useGridAutoSizeStrategyOnResize as _e } from "./useGridAutoSizeStrategyOnResize.js";
16
- import { subscribeGridApiEvent as pt, subscribeGridApiEvents as mt } from "./grid-api-event-subscription.js";
17
- import { notifyColumnIndicatorSync as B } from "./notify-column-indicator-sync.js";
18
- import { setActiveSearchColumnId as N, clearHeaderSearchActiveState as Ve } from "./headers/header-search-active-state.js";
1
+ import { jsxs as ye, jsx as S } from "react/jsx-runtime";
2
+ import { lazy as ve, useRef as K, useState as I, useEffect as U, useCallback as m, useMemo as f, Suspense as be } from "react";
3
+ import { ModuleRegistry as xe, AllCommunityModule as Se, ValidationModule as Fe } from "ag-grid-community";
4
+ import { AllEnterpriseModule as Ae } from "ag-grid-enterprise";
5
+ import { AgGridReact as Ee } from "ag-grid-react";
6
+ import { customAgGridTheme as Ge } from "./theme.js";
7
+ import { syncAgGridThemeMode as Me } from "./sync-ag-grid-theme-mode.js";
8
+ import { CustomHeader as Re } from "./headers/custom-header.js";
9
+ import { CustomHeaderGroup as V } from "./headers/custom-inner-header-group.js";
10
+ import { mergeColumnGroupDefsWithDefault as ke } from "./merge-column-group-defs.js";
11
+ import { DefaultTextCellRenderer as we } from "./cell-renderers/default-text-cell-renderer.js";
12
+ import { GridHeaderContext as Te } from "./headers/context/grid-header-context.js";
13
+ import { convertToAgGridFilterModel as je, getMultiFilterIndices as He, convertFromAgGridFilterModel as Ie } from "./headers/utils/filter-utils.js";
14
+ import { AG_GRID_VALUE_FORMATTERS as Pe } from "./value-formatters.js";
15
+ import { useGridAutoSizeStrategyOnResize as De } from "./useGridAutoSizeStrategyOnResize.js";
16
+ import { subscribeGridApiEvent as st, subscribeGridApiEvents as at } from "./grid-api-event-subscription.js";
17
+ import { notifyColumnIndicatorSync as $ } from "./notify-column-indicator-sync.js";
18
+ import { setActiveSearchColumnId as P, clearHeaderSearchActiveState as Oe } from "./headers/header-search-active-state.js";
19
19
  /* empty css */
20
- const We = Fe(
20
+ const Le = ve(
21
21
  () => import("./headers/advanced-filter/advanced-filter-dialog.js").then((l) => ({
22
22
  default: l.AdvancedFilterDialog
23
23
  }))
24
24
  );
25
- Ae.registerModules([Ee, Re, Ge]);
26
- const F = "", _ = "";
27
- function J(l) {
25
+ xe.registerModules([Se, Ae, Fe]);
26
+ const x = "", D = "";
27
+ function q(l) {
28
28
  return l.getColumns()?.some((n) => n.getColDef().headerCheckboxSelection) ?? !1;
29
29
  }
30
- const X = (l) => {
30
+ const z = (l) => {
31
31
  if (!l) return;
32
32
  const n = l.cellRendererParams?.splits;
33
33
  if (Array.isArray(n) && n.length > 0) return n;
34
34
  const i = l.cellEditorParams?.splits;
35
35
  if (Array.isArray(i) && i.length > 0) return i;
36
- }, Q = (l, n) => {
36
+ }, B = (l, n) => {
37
37
  const i = [];
38
- for (const g of n) {
39
- const f = g?.field?.split(".").pop();
40
- if (!f) {
38
+ for (const y of n) {
39
+ const g = y?.field?.split(".").pop();
40
+ if (!g) {
41
41
  i.push("");
42
42
  continue;
43
43
  }
44
- const a = l[f];
45
- if (a == null) {
44
+ const c = l[g];
45
+ if (c == null) {
46
46
  i.push("");
47
47
  continue;
48
48
  }
49
- if (typeof a == "object" && "value" in a) {
50
- const u = a.value;
49
+ if (typeof c == "object" && "value" in c) {
50
+ const u = c.value;
51
51
  i.push(u == null ? "" : String(u));
52
52
  continue;
53
53
  }
54
- if (typeof a != "object") {
55
- i.push(String(a));
54
+ if (typeof c != "object") {
55
+ i.push(String(c));
56
56
  continue;
57
57
  }
58
58
  i.push("");
59
59
  }
60
60
  return i;
61
- }, Y = (l) => {
61
+ }, J = (l) => {
62
62
  if (typeof navigator < "u" && navigator.clipboard?.writeText) {
63
- navigator.clipboard.writeText(l).catch(() => Z(l));
63
+ navigator.clipboard.writeText(l).catch(() => X(l));
64
64
  return;
65
65
  }
66
- Z(l);
67
- }, Z = (l) => {
66
+ X(l);
67
+ }, X = (l) => {
68
68
  if (typeof document > "u") return;
69
69
  const n = document.createElement("textarea");
70
70
  n.value = l, n.setAttribute("readonly", ""), n.style.position = "fixed", n.style.top = "0", n.style.left = "0", n.style.opacity = "0", n.style.pointerEvents = "none", document.body.appendChild(n);
@@ -74,36 +74,36 @@ const X = (l) => {
74
74
  document.body.removeChild(n);
75
75
  }
76
76
  };
77
- function ct({
77
+ function ot({
78
78
  children: l,
79
79
  defaultColDef: n,
80
80
  defaultColGroupDef: i,
81
- columnDefs: g,
82
- valueFormatters: f,
83
- onGridReady: a,
81
+ columnDefs: y,
82
+ valueFormatters: g,
83
+ onGridReady: c,
84
84
  onGridPreDestroyed: u,
85
- onFilterChanged: b,
85
+ onFilterChanged: v,
86
86
  onSelectionChanged: h,
87
- onModelUpdated: M,
88
- ensureDomOrder: T = !1,
89
- autoSizeStrategy: j,
90
- tooltipShowMode: H = "whenTruncated",
91
- tooltipShowDelay: O = 500,
92
- tooltipHideDelay: ee = 5e3,
93
- tooltipInteraction: te = !0,
94
- themeOverride: re,
87
+ onModelUpdated: F,
88
+ ensureDomOrder: M = !1,
89
+ autoSizeStrategy: R,
90
+ tooltipShowMode: k = "whenTruncated",
91
+ tooltipShowDelay: w = 500,
92
+ tooltipHideDelay: Q = 5e3,
93
+ tooltipInteraction: Y = !0,
94
+ themeOverride: Z,
95
95
  ...C
96
96
  }) {
97
- const c = S(null), P = S(null), [D, V] = I(null);
98
- _e(D, P, j), q(() => {
97
+ const a = K(null), T = K(null), [O, L] = I(null);
98
+ De(O, T, R), U(() => {
99
99
  const e = document.documentElement, t = () => {
100
- Ie(e.classList.contains("dark") ? "dark" : "light", e);
100
+ Me(e.classList.contains("dark") ? "dark" : "light", e);
101
101
  };
102
102
  t();
103
103
  const o = new MutationObserver(t);
104
104
  return o.observe(e, { attributes: !0, attributeFilter: ["class"] }), () => o.disconnect();
105
105
  }, []);
106
- const [ne, W] = I(!1), [oe, K] = I(null), [le, U] = I(!1), A = S(null), L = S(null), E = S(null), ie = m(() => [], []), se = v(() => ({
106
+ const [ee, N] = I(!1), [te, W] = I(null), re = m(() => [], []), ne = f(() => ({
107
107
  numericColumn: {
108
108
  cellClass: "ag-right-aligned-cell",
109
109
  headerClass: "ag-right-aligned-header",
@@ -124,68 +124,55 @@ function ct({
124
124
  dateColumn: {
125
125
  filter: "agDateColumnFilter"
126
126
  }
127
- }), []), G = v(() => ({
127
+ }), []), j = f(() => ({
128
128
  openSearch: (e) => {
129
- if (!c.current) return;
130
- const t = c.current.getGridOption("context") || {};
131
- c.current.setGridOption("context", { ...t, activeSearchColumnId: e }), N(e), B(c.current);
129
+ if (!a.current) return;
130
+ const t = a.current.getGridOption("context") || {};
131
+ a.current.setGridOption("context", { ...t, activeSearchColumnId: e }), P(e), $(a.current);
132
132
  },
133
133
  closeSearch: () => {
134
- if (!c.current) return;
135
- const e = c.current.getGridOption("context") || {};
136
- c.current.setGridOption("context", { ...e, activeSearchColumnId: null }), N(null), B(c.current);
134
+ if (!a.current) return;
135
+ const e = a.current.getGridOption("context") || {};
136
+ a.current.setGridOption("context", { ...e, activeSearchColumnId: null }), P(null), $(a.current);
137
137
  },
138
138
  openAdvancedFilter: (e) => {
139
- K(e || null), W(!0);
139
+ W(e || null), N(!0);
140
140
  },
141
141
  closeAdvancedFilter: () => {
142
- W(!1), K(null);
142
+ N(!1), W(null);
143
143
  },
144
144
  applyAdvancedFilter: (e) => {
145
- if (!c.current) return;
146
- const t = Oe(e);
147
- c.current.setFilterModel(t), c.current.onFilterChanged(), c.current.refreshHeader();
148
- },
149
- openMenu: (e, t, o = "column") => {
150
- A.current = e, L.current = t, E.current = o, U(!0);
151
- },
152
- closeMenu: () => {
153
- A.current = null, L.current = null, E.current = null, U(!1);
154
- },
155
- // Getters read from refs - O(1) per header, no memory allocation
156
- get activeMenuColumnId() {
157
- return A.current;
158
- },
159
- get activeMenuVariant() {
160
- return E.current;
145
+ if (!a.current) return;
146
+ const t = je(e);
147
+ a.current.setFilterModel(t), a.current.onFilterChanged(), a.current.refreshHeader();
161
148
  }
162
- }), []), ae = m((e) => {
163
- c.current = e.api, V(e.api);
149
+ }), []), oe = m((e) => {
150
+ a.current = e.api, L(e.api);
164
151
  const t = e.api.getGridOption("context") || {};
165
- e.api.setGridOption("context", { ...t, activeSearchColumnId: null }), N(null), a && a(e);
166
- }, [a]), ce = m(
152
+ e.api.setGridOption("context", { ...t, activeSearchColumnId: null }), P(null), c && c(e);
153
+ }, [c]), le = m(
167
154
  (e) => {
168
- c.current = null, V(null), Ve(), u?.(e);
155
+ a.current = null, L(null), Oe(), u?.(e);
169
156
  },
170
157
  [u]
171
- ), ue = m(
158
+ ), ie = m(
172
159
  (e) => {
173
- e.api.getGridOption("context")?.activeSearchColumnId || e.api.refreshHeader(), b?.(e);
160
+ e.api.getGridOption("context")?.activeSearchColumnId || e.api.refreshHeader(), v?.(e);
174
161
  },
175
- [b]
176
- ), de = m(
162
+ [v]
163
+ ), se = m(
177
164
  (e) => {
178
- J(e.api) && e.api.refreshHeader(), h?.(e);
165
+ q(e.api) && e.api.refreshHeader(), h?.(e);
179
166
  },
180
167
  [h]
181
- ), pe = m(
168
+ ), ae = m(
182
169
  (e) => {
183
- e.api.getGridOption("rowModelType") !== "serverSide" && J(e.api) && e.api.refreshHeader(), M?.(e);
170
+ e.api.getGridOption("rowModelType") !== "serverSide" && q(e.api) && e.api.refreshHeader(), F?.(e);
184
171
  },
185
- [M]
172
+ [F]
186
173
  );
187
- q(() => {
188
- const e = P.current;
174
+ U(() => {
175
+ const e = T.current;
189
176
  if (!e) return;
190
177
  const t = (o) => {
191
178
  if (o.key !== "Enter" && o.key !== " ") return;
@@ -198,12 +185,12 @@ function ct({
198
185
  };
199
186
  return e.addEventListener("keydown", t, !0), () => e.removeEventListener("keydown", t, !0);
200
187
  }, []);
201
- const me = v(() => ({
202
- headerComponent: Te,
188
+ const ce = f(() => ({
189
+ headerComponent: Re,
203
190
  // Default cell renderer wraps text in a span so display:flex centering
204
191
  // and text-overflow:ellipsis both work (ellipsis doesn't work on
205
192
  // anonymous flex text nodes, but works on flex child elements).
206
- cellRenderer: je,
193
+ cellRenderer: we,
207
194
  ...n,
208
195
  suppressHeaderKeyboardEvent: (e) => {
209
196
  const { event: t } = e, o = t.target;
@@ -222,36 +209,39 @@ function ct({
222
209
  headerComponentParams: {
223
210
  ...n?.headerComponentParams
224
211
  }
225
- }), [n]), fe = v(() => ({
212
+ }), [n]), H = f(() => ({
226
213
  ...i,
227
214
  headerGroupComponentParams: {
228
215
  ...i?.headerGroupComponentParams,
229
216
  innerHeaderGroupComponent: i?.headerGroupComponentParams?.innerHeaderGroupComponent ?? "CustomInnerHeaderGroup"
230
217
  }
231
- }), [i]), ge = v(() => ({
232
- ...Ne,
218
+ }), [i]), ue = f(
219
+ () => ke(y ?? void 0, H),
220
+ [y, H]
221
+ ), de = f(() => ({
222
+ ...Pe,
233
223
  // Always available - value formatters
234
- CustomInnerHeaderGroup: z,
235
- CustomHeaderGroup: z,
224
+ CustomInnerHeaderGroup: V,
225
+ CustomHeaderGroup: V,
236
226
  ...C.components,
237
227
  // User components override
238
- ...f
228
+ ...g
239
229
  // Optional custom formatters override defaults
240
- }), [f, C.components]), he = m((e) => {
230
+ }), [g, C.components]), pe = m((e) => {
241
231
  const t = e.value;
242
232
  if (t == null || typeof t != "object") return t;
243
- const o = X(e.column?.getColDef());
233
+ const o = z(e.column?.getColDef());
244
234
  if (o && o.length > 0) {
245
- const r = Q(t, o);
235
+ const r = B(t, o);
246
236
  if (o.length === 1) {
247
- const d = o[0]?.field?.split(".").pop(), x = d ? t[d] : void 0;
248
- return x && typeof x == "object" && "value" in x ? x.value ?? "" : r[0];
237
+ const d = o[0]?.field?.split(".").pop(), b = d ? t[d] : void 0;
238
+ return b && typeof b == "object" && "value" in b ? b.value ?? "" : r[0];
249
239
  }
250
- return _ + r.join(F);
240
+ return D + r.join(x);
251
241
  }
252
242
  const s = Object.entries(t).map(([, r]) => r && typeof r == "object" && "value" in r ? r.value : typeof r != "object" && typeof r < "u" ? r : null).filter((r) => r != null);
253
- return s.length === 0 ? "" : s.length === 1 ? s[0] : s.join(F);
254
- }, []), Ce = m((e) => {
243
+ return s.length === 0 ? "" : s.length === 1 ? s[0] : s.join(x);
244
+ }, []), me = m((e) => {
255
245
  if (typeof e.value == "string") {
256
246
  const t = e.value.trim();
257
247
  if (t.startsWith("{") || t.startsWith("["))
@@ -262,10 +252,10 @@ function ct({
262
252
  }
263
253
  }
264
254
  return e.value;
265
- }, []), ve = m((e) => {
255
+ }, []), fe = m((e) => {
266
256
  const t = e?.data ?? "";
267
- if (!t.includes(F) && !t.includes(_)) {
268
- Y(t);
257
+ if (!t.includes(x) && !t.includes(D)) {
258
+ J(t);
269
259
  return;
270
260
  }
271
261
  const o = [], s = t.split(`
@@ -276,25 +266,25 @@ function ct({
276
266
  o.push("");
277
267
  continue;
278
268
  }
279
- const k = d.split(" ").map((p) => p.startsWith(_) ? { isSplit: !0, slots: p.slice(1).split(F) } : { isSplit: !1, slots: p.split(F) }), $ = Math.max(1, ...k.map((p) => p.slots.length));
280
- if ($ === 1) {
281
- o.push(k.map((p) => p.slots[0] ?? "").join(" "));
269
+ const E = d.split(" ").map((p) => p.startsWith(D) ? { isSplit: !0, slots: p.slice(1).split(x) } : { isSplit: !1, slots: p.split(x) }), _ = Math.max(1, ...E.map((p) => p.slots.length));
270
+ if (_ === 1) {
271
+ o.push(E.map((p) => p.slots[0] ?? "").join(" "));
282
272
  continue;
283
273
  }
284
- for (let p = 0; p < $; p++) {
285
- const xe = k.map((w) => !w.isSplit && w.slots.length === 1 ? w.slots[0] : w.slots[p] ?? "");
286
- o.push(xe.join(" "));
274
+ for (let p = 0; p < _; p++) {
275
+ const Ce = E.map((G) => !G.isSplit && G.slots.length === 1 ? G.slots[0] : G.slots[p] ?? "");
276
+ o.push(Ce.join(" "));
287
277
  }
288
278
  }
289
- Y(o.join(`
279
+ J(o.join(`
290
280
  `));
291
- }, []), R = m((e) => {
281
+ }, []), A = m((e) => {
292
282
  const t = e.value;
293
283
  if (t == null) return "";
294
284
  if (typeof t != "object") return String(t);
295
- const o = X(e.column?.getColDef());
285
+ const o = z(e.column?.getColDef());
296
286
  if (o && o.length > 0) {
297
- const r = Q(t, o);
287
+ const r = B(t, o);
298
288
  return o.length === 1 ? r[0] : r.join(`
299
289
  `);
300
290
  }
@@ -310,122 +300,91 @@ function ct({
310
300
  }
311
301
  return s.length === 0 ? "" : s.length === 1 ? s[0] : s.join(`
312
302
  `);
313
- }, []), ye = v(() => ({
314
- processCellCallback: R,
303
+ }, []), ge = f(() => ({
304
+ processCellCallback: A,
315
305
  ...C.defaultCsvExportParams ?? {}
316
- }), [R, C.defaultCsvExportParams]), be = v(() => ({
317
- processCellCallback: R,
306
+ }), [A, C.defaultCsvExportParams]), he = f(() => ({
307
+ processCellCallback: A,
318
308
  ...C.defaultExcelExportParams ?? {}
319
- }), [R, C.defaultExcelExportParams]);
320
- return /* @__PURE__ */ Se(He.Provider, { value: G, children: [
321
- /* @__PURE__ */ y("div", { ref: P, "data-component": "ag-grid-react", style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ y(
322
- ke,
309
+ }), [A, C.defaultExcelExportParams]);
310
+ return /* @__PURE__ */ ye(Te.Provider, { value: j, children: [
311
+ /* @__PURE__ */ S("div", { ref: T, "data-component": "ag-grid-react", style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ S(
312
+ Ee,
323
313
  {
324
- theme: re ?? we,
325
- defaultColDef: me,
326
- columnDefs: g,
314
+ theme: Z ?? Ge,
315
+ defaultColDef: ce,
316
+ columnDefs: ue,
327
317
  cellSelection: !0,
328
- defaultColGroupDef: fe,
329
- onGridReady: ae,
330
- onGridPreDestroyed: ce,
331
- onFilterChanged: ue,
332
- onSelectionChanged: de,
333
- onModelUpdated: pe,
334
- components: ge,
335
- tooltipShowMode: H,
336
- tooltipShowDelay: O,
337
- tooltipHideDelay: ee,
338
- tooltipInteraction: te,
339
- processCellForClipboard: he,
340
- processCellFromClipboard: Ce,
341
- sendToClipboard: ve,
342
- ensureDomOrder: T,
318
+ defaultColGroupDef: H,
319
+ onGridReady: oe,
320
+ onGridPreDestroyed: le,
321
+ onFilterChanged: ie,
322
+ onSelectionChanged: se,
323
+ onModelUpdated: ae,
324
+ tooltipShowMode: k,
325
+ tooltipShowDelay: w,
326
+ tooltipHideDelay: Q,
327
+ tooltipInteraction: Y,
328
+ processCellForClipboard: pe,
329
+ processCellFromClipboard: me,
330
+ sendToClipboard: fe,
331
+ ensureDomOrder: M,
343
332
  suppressHeaderFocus: !1,
344
333
  suppressFocusAfterRefresh: !0,
345
334
  suppressGroupRowsSticky: !0,
346
335
  hidePaddedHeaderRows: !0,
347
336
  suppressServerSideFullWidthLoadingRow: !0,
348
- columnTypes: se,
349
- autoSizeStrategy: j,
337
+ columnTypes: ne,
338
+ autoSizeStrategy: R,
350
339
  ...C,
351
- defaultCsvExportParams: ye,
352
- defaultExcelExportParams: be,
353
- getMainMenuItems: ie
340
+ components: de,
341
+ defaultCsvExportParams: ge,
342
+ defaultExcelExportParams: he,
343
+ getMainMenuItems: re
354
344
  }
355
345
  ) }),
356
346
  l,
357
- /* @__PURE__ */ y(
358
- Ke,
347
+ /* @__PURE__ */ S(
348
+ Ne,
359
349
  {
360
- isOpen: ne,
361
- columnId: oe,
362
- gridApi: D,
363
- onClose: G.closeAdvancedFilter,
364
- onApply: G.applyAdvancedFilter
365
- }
366
- ),
367
- /* @__PURE__ */ y(
368
- Ue,
369
- {
370
- isOpen: le,
371
- columnId: A.current,
372
- gridApi: D,
373
- anchor: L.current,
374
- variant: E.current,
375
- onClose: G.closeMenu
350
+ isOpen: ee,
351
+ columnId: te,
352
+ gridApi: O,
353
+ onClose: j.closeAdvancedFilter,
354
+ onApply: j.applyAdvancedFilter
376
355
  }
377
356
  )
378
357
  ] });
379
358
  }
380
- function Ke({
359
+ function Ne({
381
360
  isOpen: l,
382
361
  columnId: n,
383
362
  gridApi: i,
384
- onClose: g,
385
- onApply: f
363
+ onClose: y,
364
+ onApply: g
386
365
  }) {
387
366
  if (!l || !n || !i) return null;
388
- const a = i.getColumn(n);
389
- if (!a) return null;
390
- const u = a.getColDef(), b = u.headerComponentParams, h = Pe(u), M = h.text !== -1 || h.number !== -1 || h.date !== -1, T = h.set !== -1, H = u.filter === "agMultiColumnFilter" && (M || T) ? "multi" : u.filter === "agNumberColumnFilter" ? "number" : u.filter === "agDateColumnFilter" ? "date" : u.filter === "agSetColumnFilter" || b?.selectOptions ? "select" : "text", O = De(i.getFilterModel());
391
- return /* @__PURE__ */ y(Me, { fallback: null, children: /* @__PURE__ */ y(
392
- We,
367
+ const c = i.getColumn(n);
368
+ if (!c) return null;
369
+ const u = c.getColDef(), v = u.headerComponentParams, h = He(u), F = h.text !== -1 || h.number !== -1 || h.date !== -1, M = h.set !== -1, k = u.filter === "agMultiColumnFilter" && (F || M) ? "multi" : u.filter === "agNumberColumnFilter" ? "number" : u.filter === "agDateColumnFilter" ? "date" : u.filter === "agSetColumnFilter" || v?.selectOptions ? "select" : "text", w = Ie(i.getFilterModel());
370
+ return /* @__PURE__ */ S(be, { fallback: null, children: /* @__PURE__ */ S(
371
+ Le,
393
372
  {
394
373
  isOpen: l,
395
- onClose: g,
396
- onApply: f,
374
+ onClose: y,
375
+ onApply: g,
397
376
  columnId: n,
398
377
  columnLabel: u.headerName || n,
399
- columnType: H,
400
- selectOptions: b?.selectOptions,
401
- isMultiSelect: b?.isMultiSelect,
402
- initialModel: O,
378
+ columnType: k,
379
+ selectOptions: v?.selectOptions,
380
+ isMultiSelect: v?.isMultiSelect,
381
+ initialModel: w,
403
382
  api: i
404
383
  }
405
384
  ) });
406
385
  }
407
- function Ue({
408
- isOpen: l,
409
- columnId: n,
410
- gridApi: i,
411
- anchor: g,
412
- variant: f,
413
- onClose: a
414
- }) {
415
- return !l || !n || !i ? null : /* @__PURE__ */ y(
416
- Le,
417
- {
418
- isOpen: l,
419
- columnId: n,
420
- gridApi: i,
421
- anchor: g,
422
- variant: f || "column",
423
- onClose: a
424
- }
425
- );
426
- }
427
386
  export {
428
- ct as AgGridWrapper,
429
- pt as subscribeGridApiEvent,
430
- mt as subscribeGridApiEvents
387
+ ot as AgGridWrapper,
388
+ st as subscribeGridApiEvent,
389
+ at as subscribeGridApiEvents
431
390
  };
@@ -0,0 +1,12 @@
1
+ import { ColDef, ColGroupDef } from 'ag-grid-community';
2
+ export interface MarkdownGridRowData {
3
+ id: string;
4
+ productName: string;
5
+ productDivision: string;
6
+ productSubDivision: string;
7
+ productCategory: string;
8
+ [metricField: string]: string | number;
9
+ }
10
+ export declare function generateMarkdownGridData(rowCount: number): MarkdownGridRowData[];
11
+ export declare const INFO_SYSTEM_PINNED_GROUP_WIDTH = 120;
12
+ export declare const INFO_SYSTEM_STORY_COLUMN_DEFS: (ColDef<MarkdownGridRowData> | ColGroupDef<MarkdownGridRowData>)[];
@@ -0,0 +1,3 @@
1
+ import { ColDef, ColGroupDef } from 'ag-grid-community';
2
+ /** Deep-merge defaultColGroupDef so per-group headerGroupComponentParams keep innerHeaderGroupComponent. */
3
+ export declare function mergeColumnGroupDefsWithDefault<TData>(columnDefinitions: (ColDef<TData> | ColGroupDef<TData>)[] | null | undefined, defaultColumnGroupDefinition: ColGroupDef<TData> | undefined): (ColDef<TData> | ColGroupDef<TData>)[] | null | undefined;
@@ -0,0 +1,27 @@
1
+ function h(r) {
2
+ return Array.isArray(r.children);
3
+ }
4
+ function p(r, e) {
5
+ const a = r.children?.map((t) => h(t) ? p(
6
+ t,
7
+ e
8
+ ) : t);
9
+ return {
10
+ ...e,
11
+ ...r,
12
+ headerGroupComponentParams: {
13
+ ...e.headerGroupComponentParams,
14
+ ...r.headerGroupComponentParams
15
+ },
16
+ children: a
17
+ };
18
+ }
19
+ function m(r, e) {
20
+ return !r || !e ? r : r.map((a) => h(a) ? p(
21
+ a,
22
+ e
23
+ ) : a);
24
+ }
25
+ export {
26
+ m as mergeColumnGroupDefsWithDefault
27
+ };
@@ -1,5 +1,6 @@
1
1
  import { RefObject } from 'react';
2
+ import { AgGridHeaderTooltipKind } from './ag-grid-header-dom';
2
3
  import { AgGridTooltipOverflowMode } from './ag-grid-tooltip-overflow';
3
4
  type AgGridSetTooltip = (value: string, shouldDisplayTooltip?: () => boolean) => void;
4
- export declare function useAgGridTruncationTooltip(setTooltip: AgGridSetTooltip | undefined, text: string, elementRef: RefObject<HTMLElement | null>, mode?: AgGridTooltipOverflowMode): void;
5
+ export declare function useAgGridTruncationTooltip<T extends HTMLElement>(setTooltip: AgGridSetTooltip | undefined, text: string, elementRef: RefObject<T | null>, mode?: AgGridTooltipOverflowMode, headerKind?: AgGridHeaderTooltipKind): void;
5
6
  export {};
@@ -1,12 +1,12 @@
1
- import { useEffect as c } from "react";
2
- import { isAgGridTextOverflowing as e } from "./ag-grid-tooltip-overflow.js";
3
- function m(r, i, n, f = "line-clamp") {
4
- c(() => {
1
+ import { useEffect as t } from "react";
2
+ import { isAgGridHeaderLabelTooltipOverflowing as e, isAgGridTextOverflowing as c } from "./ag-grid-tooltip-overflow.js";
3
+ function m(r, i, o, u = "line-clamp", n) {
4
+ t(() => {
5
5
  !r || !i.trim() || r(i, () => {
6
- const u = n.current;
7
- return u ? e(u, f) : !1;
6
+ const f = o.current;
7
+ return f ? n ? e(f, n) : c(f, u) : !1;
8
8
  });
9
- }, [r, i, n, f]);
9
+ }, [r, i, o, u, n]);
10
10
  }
11
11
  export {
12
12
  m as useAgGridTruncationTooltip
@@ -6,6 +6,7 @@ export declare const DataTableViewMenuTrigger: {
6
6
  };
7
7
  export declare const DataTableViewMenuContent: React.ForwardRefExoticComponent<Omit<Omit<import('@radix-ui/react-dropdown-menu').DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
8
8
  portalled?: boolean;
9
+ container?: React.ComponentProps<React.FC<import('@radix-ui/react-dropdown-menu').DropdownMenuPortalProps>>["container"];
9
10
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
11
  export declare const DataTableViewMenuSettingsItem: () => import("react/jsx-runtime").JSX.Element;
11
12
  export declare const DataTableViewMenuDensity: () => import("react/jsx-runtime").JSX.Element;