laif-ds 1.0.2-app-data-grid.82 → 1.0.2-app-data-grid.87

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 (28) hide show
  1. package/dist/CHANGELOG.md +7 -0
  2. package/dist/_virtual/index3.js +5 -5
  3. package/dist/_virtual/index4.js +5 -5
  4. package/dist/_virtual/index5.js +4 -4
  5. package/dist/_virtual/index6.js +2 -2
  6. package/dist/_virtual/index7.js +2 -5
  7. package/dist/_virtual/index8.js +5 -2
  8. package/dist/agent-docs/adoption-report.json +3 -3
  9. package/dist/agent-docs/components/AppDataGrid.md +10 -9
  10. package/dist/agent-docs/components/DatePicker.md +1 -0
  11. package/dist/agent-docs/components/DropdownMenu.md +2 -0
  12. package/dist/agent-docs/manifest.json +6 -6
  13. package/dist/components/ui/app-data-grid/app-data-grid.js +229 -229
  14. package/dist/components/ui/app-data-grid/parts/grid-filter-chips.js +57 -47
  15. package/dist/components/ui/app-data-grid/parts/grid-filter-editor.js +48 -44
  16. package/dist/components/ui/app-data-grid/parts/grid-filter-row.js +134 -130
  17. package/dist/components/ui/app-data-grid/parts/grid-portal-container.js +14 -0
  18. package/dist/components/ui/date-picker.js +36 -34
  19. package/dist/components/ui/dropdown-menu.js +3 -3
  20. package/dist/components/ui/gantt/components/Chart/Chart.js +1 -1
  21. package/dist/index.d.ts +46 -5
  22. package/dist/node_modules/eventemitter3/index.js +1 -1
  23. package/dist/node_modules/eventemitter3/index2.js +1 -1
  24. package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.js +1 -1
  25. package/dist/node_modules/recharts/es6/util/Events.js +1 -1
  26. package/dist/node_modules/style-to-object/cjs/index.js +1 -1
  27. package/dist/node_modules/unified/lib/index.js +1 -1
  28. package/package.json +1 -1
@@ -1,37 +1,37 @@
1
1
  "use client";
2
2
  import { jsx as n, jsxs as H } from "react/jsx-runtime";
3
- import { useMemo as le, useRef as m, useEffect as He, useLayoutEffect as nt, useState as _e, useId as je, useCallback as D } from "react";
4
- import { Icon as Qe } from "../icon.js";
5
- import { Input as it } from "../input.js";
3
+ import { useMemo as ae, useRef as m, useEffect as _e, useLayoutEffect as it, useState as je, useId as Ue, useCallback as D } from "react";
4
+ import { Icon as Xe } from "../icon.js";
5
+ import { Input as st } from "../input.js";
6
6
  import { cn as de } from "../../../lib/utils.js";
7
- import { useGridEngine as st } from "./engine/use-grid-engine.js";
7
+ import { useGridEngine as lt } from "./engine/use-grid-engine.js";
8
8
  import { useGridInfiniteLoader as at } from "./engine/use-grid-infinite-loader.js";
9
- import { useGridVirtualizer as lt } from "./engine/use-grid-virtualizer.js";
10
- import { GRID_VALUELESS_OPERATOR_SET as dt, isGridFilterValueEmpty as ct } from "./grid-filter-operators.js";
11
- import { flattenGridColumns as Ue } from "./grid-header-matrix.js";
9
+ import { useGridVirtualizer as dt } from "./engine/use-grid-virtualizer.js";
10
+ import { GRID_VALUELESS_OPERATOR_SET as ct, isGridFilterValueEmpty as ut } from "./grid-filter-operators.js";
11
+ import { flattenGridColumns as Ke } from "./grid-header-matrix.js";
12
12
  import { defaultGridI18n as s } from "./grid-i18n.js";
13
- import { registerGridMount as ut } from "./grid-mount-count.js";
14
- import { gridResultScope as gt, GRID_PAGE_SIZE_OPTIONS as pt } from "./grid-result-scope.js";
15
- import { gridRowHeight as W, gridZ as ft, gridFrameGapClass as mt } from "./grid-tokens.js";
16
- import { readGridViewPreset as wt } from "./grid-view-preset.js";
17
- import { GridActionsRow as ht } from "./parts/grid-actions-row.js";
18
- import { createGridFilterBadge as yt } from "./parts/grid-filter-panel.js";
19
- import { GridFullscreenToggle as vt } from "./parts/grid-fullscreen-toggle.js";
20
- import { GridPaginationControl as Ct } from "./parts/grid-pagination-control.js";
21
- import { GridScrollArea as bt } from "./parts/grid-scroll-area.js";
22
- import { GridSelectionBar as Rt } from "./parts/grid-selection-bar.js";
23
- import { GridStatusSurface as Ke } from "./parts/grid-status-surface.js";
24
- import { gridBypassLinkClass as Ze, GridTable as St } from "./parts/grid-table.js";
25
- import { GridToolbarResetFiltersTrigger as It, GridToolbarFiltersTrigger as xt, GridToolbarCustomFilters as Tt, GridToolbarFilterRowToggle as Ft, GridToolbarColumnsTrigger as At } from "./parts/grid-toolbar-slots.js";
26
- import { toGridFilterColumns as Ot } from "./use-grid-filters.js";
27
- const Gt = [
13
+ import { registerGridMount as gt } from "./grid-mount-count.js";
14
+ import { gridResultScope as pt, GRID_PAGE_SIZE_OPTIONS as ft } from "./grid-result-scope.js";
15
+ import { gridRowHeight as W, gridZ as mt, gridFrameGapClass as wt } from "./grid-tokens.js";
16
+ import { readGridViewPreset as ht } from "./grid-view-preset.js";
17
+ import { GridActionsRow as yt } from "./parts/grid-actions-row.js";
18
+ import { createGridFilterBadge as vt } from "./parts/grid-filter-panel.js";
19
+ import { GridFullscreenToggle as Ct } from "./parts/grid-fullscreen-toggle.js";
20
+ import { GridPaginationControl as bt } from "./parts/grid-pagination-control.js";
21
+ import { GridScrollArea as Rt } from "./parts/grid-scroll-area.js";
22
+ import { GridSelectionBar as St } from "./parts/grid-selection-bar.js";
23
+ import { GridStatusSurface as Ze } from "./parts/grid-status-surface.js";
24
+ import { gridBypassLinkClass as Qe, GridTable as It } from "./parts/grid-table.js";
25
+ import { GridToolbarResetFiltersTrigger as xt, GridToolbarFiltersTrigger as Tt, GridToolbarCustomFilters as Ft, GridToolbarFilterRowToggle as At, GridToolbarColumnsTrigger as Ot } from "./parts/grid-toolbar-slots.js";
26
+ import { toGridFilterColumns as Gt } from "./use-grid-filters.js";
27
+ const Mt = [
28
28
  "a[href]",
29
29
  "button:not([disabled])",
30
30
  "input:not([disabled])",
31
31
  "select:not([disabled])",
32
32
  "textarea:not([disabled])",
33
33
  '[tabindex]:not([tabindex="-1"])'
34
- ].join(","), Mt = ({ visible: v, children: C }) => {
34
+ ].join(","), Pt = ({ visible: v, children: C }) => {
35
35
  const T = /* @__PURE__ */ n(
36
36
  "div",
37
37
  {
@@ -50,7 +50,7 @@ const Gt = [
50
50
  className: "flex shrink-0 items-center gap-1.5 text-xs",
51
51
  children: [
52
52
  /* @__PURE__ */ n(
53
- Qe,
53
+ Xe,
54
54
  {
55
55
  name: "Megaphone",
56
56
  size: "xs",
@@ -62,16 +62,16 @@ const Gt = [
62
62
  ]
63
63
  }
64
64
  ) : T;
65
- }, nr = (v) => {
65
+ }, ir = (v) => {
66
66
  const {
67
67
  columns: C,
68
68
  data: T,
69
69
  i18n: r = s,
70
- sortMode: Xe = "multi",
71
- maxSortedColumns: Je = 2,
70
+ sortMode: Je = "multi",
71
+ maxSortedColumns: Ye = 2,
72
72
  density: _,
73
73
  onDensityChange: ce,
74
- onFullscreenChange: Ye,
74
+ onFullscreenChange: eo,
75
75
  filters: S,
76
76
  columnVisibility: j,
77
77
  onColumnVisibilityChange: ue,
@@ -79,8 +79,8 @@ const Gt = [
79
79
  // accanto alla loro sorella perché sono lo stesso mestiere — i tre tipi
80
80
  // stanno invece in `GridShellFields` per vincolo di posa, e il perché sta
81
81
  // sul TSDoc di ciascuno.
82
- onColumnWidthsChange: eo,
83
- onColumnOrderChange: oo,
82
+ onColumnWidthsChange: oo,
83
+ onColumnOrderChange: to,
84
84
  // IL GUSCIO — `selection` SI LEGGE DA QUI DALLA FASE 6, e il commento che
85
85
  // stava qui («non si destruttura perché passarla non fa niente») descriveva
86
86
  // le Fasi 3-5. Ora la barra della selezione di pagina esiste, e i due membri
@@ -93,26 +93,26 @@ const Gt = [
93
93
  // ⚠️ `pagination` si legge da qui dalla Fase 4, per la stessa ragione.
94
94
  selection: U,
95
95
  pagination: K,
96
- toolbar: l,
97
- initialFullscreen: to,
96
+ toolbar: a,
97
+ initialFullscreen: ro,
98
98
  paginated: F = !1,
99
99
  // 25 e non più 10 (decisione del proprietario, 2026-09-23): dieci righe
100
100
  // riempivano mezza griglia su un monitor da gestionale. Resta dichiarabile
101
101
  // dall'esterno con la prop o con `initialState.pagination.pageSize`.
102
- pageSize: ro = 25,
102
+ pageSize: no = 25,
103
103
  virtualized: ge = !1,
104
104
  infinite: c,
105
105
  groupBy: Z,
106
- initialOpenGroups: no,
106
+ initialOpenGroups: io,
107
107
  // DOVE CADE L'ETICHETTA DI UN GRUPPO — M5, criterio 2. Default
108
108
  // `"grouping-column"`, cioè il comportamento di sempre: una griglia che non
109
109
  // passa questa prop rende esattamente ciò che rendeva prima.
110
- groupLabelPlacement: io = "grouping-column",
110
+ groupLabelPlacement: so = "grouping-column",
111
111
  preset: A,
112
112
  onPresetApplied: pe,
113
113
  serverMode: fe = !1,
114
114
  serverConfig: E,
115
- initialState: so,
115
+ initialState: lo,
116
116
  viewportHeight: me = 480,
117
117
  loading: g = !1,
118
118
  emptyComponent: ao,
@@ -120,13 +120,13 @@ const Gt = [
120
120
  // distinguibile da un filtro che non pesca niente) e `onRetry` è la sola
121
121
  // callback del comando che rilancia: assente, l'esito di errore resta un
122
122
  // messaggio senza bottone.
123
- error: lo = !1,
124
- onRetry: co,
123
+ error: co = !1,
124
+ onRetry: uo,
125
125
  // I FILTRI SENZA COLONNA — Fase 8, R15. `onRemoveFilter` è la porta che
126
126
  // accende il gruppo tratteggiato in toolbar (senza gestore la sua «×»
127
127
  // sarebbe un comando morto); `filterControls` serve solo a riconoscere un
128
128
  // badge custom la cui chiave non è registrata.
129
- filterControls: uo,
129
+ filterControls: go,
130
130
  onRemoveFilter: I,
131
131
  // LA RIGA ZERO — Fase 9. `filterMode` dice DOVE vivono i filtri; le due
132
132
  // callback sono il canale di scrittura di chi solleva `filters`, e senza di
@@ -137,34 +137,34 @@ const Gt = [
137
137
  // LA RIGA DI STATO A SCHERMO — M4, criterio 1. Default SPENTO: `sr-only` è
138
138
  // `position: absolute`, quindi da spenta la region non è un flex item della
139
139
  // radice e non porta né altezza né gap. Vedi `GridLiveRegion`.
140
- statusRowVisible: go = !1,
140
+ statusRowVisible: po = !1,
141
141
  // IL TOGGLE DELLA RIGA ZERO, OSSERVABILE — R13, criterio 4. Nessun default:
142
142
  // non passarla lascia la griglia esattamente com'era. Vedi il TSDoc.
143
- onFilterRowOpenChange: po,
143
+ onFilterRowOpenChange: fo,
144
144
  // LA PORTATA DELLA SELEZIONE, OSSERVABILE — M10. Nessun default: non
145
145
  // passarla lascia la griglia esattamente com'era, ed è un canale di sola
146
146
  // LETTURA (non esiste una prop che imponga la portata da fuori). Vedi il
147
147
  // TSDoc, dove le due metà della precondizione sono separate.
148
- onSelectionScopeChange: fo,
148
+ onSelectionScopeChange: mo,
149
149
  actions: he = [],
150
- hideActionsRow: mo = !1,
151
- checkable: wo = !1,
152
- rowSelection: ho,
153
- getRowId: yo,
154
- onRowSelectionChange: vo,
155
- onCheckedRowsChange: Co,
156
- rowClassName: bo,
150
+ hideActionsRow: wo = !1,
151
+ checkable: ho = !1,
152
+ rowSelection: yo,
153
+ getRowId: vo,
154
+ onRowSelectionChange: Co,
155
+ onCheckedRowsChange: bo,
156
+ rowClassName: Ro,
157
157
  onQueryChange: ye,
158
- debounceTime: Ro,
159
- className: So,
158
+ debounceTime: So,
159
+ className: Io,
160
160
  id: ve,
161
161
  "data-testid": Ce
162
- } = v, Io = _ !== void 0, o = st({
162
+ } = v, xo = _ !== void 0, o = lt({
163
163
  columns: C,
164
164
  data: T,
165
- sortMode: Xe,
166
- maxSortedColumns: Je,
167
- initialFullscreen: to,
165
+ sortMode: Je,
166
+ maxSortedColumns: Ye,
167
+ initialFullscreen: ro,
168
168
  // Il valore INIZIALE del riduttore. In modalità controllata il riduttore
169
169
  // continua a tenere una densità che nessuno legge (vedi `density` sotto): non
170
170
  // è stato morto, è il valore da cui riparte se il call-site smette di
@@ -185,30 +185,30 @@ const Gt = [
185
185
  // resta nell'engine, che legge `initialState` per primo: passandogli lo slot
186
186
  // al posto della prop, la precedenza è quella dichiarata sopra e non ci sono
187
187
  // due posti che rispondono alla stessa domanda.
188
- pageSize: K?.pageSize ?? ro,
188
+ pageSize: K?.pageSize ?? no,
189
189
  // ⚠️ UN SOLO EMETTITORE, e la precedenza è dichiarata: `onQueryChange` vince
190
190
  // su `serverConfig.onStateChange`. Chiamarli entrambi sarebbe due refetch per
191
191
  // gesto, cioè il difetto R10 con un altro nome — e un consumer che li passa
192
192
  // tutti e due ha quasi certamente migrato a metà, non chiesto il doppio.
193
193
  onQueryChange: ye ?? E?.onStateChange,
194
- debounceTime: Ro,
194
+ debounceTime: So,
195
195
  serverMode: fe,
196
196
  serverConfig: E,
197
- initialState: so,
197
+ initialState: lo,
198
198
  groupBy: Z,
199
- initialOpenGroups: no,
200
- rowSelection: ho,
201
- getRowId: yo,
202
- onRowSelectionChange: vo,
203
- onCheckedRowsChange: Co,
204
- rowClassName: bo,
199
+ initialOpenGroups: io,
200
+ rowSelection: yo,
201
+ getRowId: vo,
202
+ onRowSelectionChange: Co,
203
+ onCheckedRowsChange: bo,
204
+ rowClassName: Ro,
205
205
  // Le due fonti sollevate di P7: quando ci sono, comandano. Vedi le prop.
206
206
  filters: S,
207
207
  columnVisibility: j
208
- }), x = Io ? _ : o.state.view.density, V = r.toolbar ?? s.toolbar, d = o.state.view.fullscreen, be = (e) => {
209
- o.applyView({ type: "view/fullscreen", fullscreen: e }), Ye?.(e);
210
- }, Q = (e, t) => e === !1 ? null : e?.render ? e.render() : t, xo = le(
211
- () => Ue(C).map((e) => ({
208
+ }), x = xo ? _ : o.state.view.density, V = r.toolbar ?? s.toolbar, d = o.state.view.fullscreen, be = (e) => {
209
+ o.applyView({ type: "view/fullscreen", fullscreen: e }), eo?.(e);
210
+ }, Re = (e, t) => e === !1 ? null : e?.render ? e.render() : t, To = ae(
211
+ () => Ke(C).map((e) => ({
212
212
  id: e.id,
213
213
  // ⚠️ RIPIEGO SULL'`id` QUANDO L'ETICHETTA È VUOTA, e non è una cortesia.
214
214
  // `header: ""` è l'idioma STANDARD di una colonna di azioni — nell'header
@@ -243,42 +243,42 @@ const Gt = [
243
243
  pinned: e.pinned
244
244
  })),
245
245
  [C]
246
- ), To = j === void 0 || ue !== void 0, Re = o.headers.length > 1, Fo = (e, t) => {
247
- !t && !Re || (j === void 0 && o.applyView({ type: "view/column-visibility", columnId: e, visible: t }), ue?.({
246
+ ), Fo = j === void 0 || ue !== void 0, Se = o.headers.length > 1, Ao = (e, t) => {
247
+ !t && !Se || (j === void 0 && o.applyView({ type: "view/column-visibility", columnId: e, visible: t }), ue?.({
248
248
  ...o.state.view.columnVisibility,
249
249
  [e]: t
250
250
  }));
251
- }, Ao = (e) => {
252
- o.applyView({ type: "view/column-order", columnOrder: e }), oo?.([...e]);
253
- }, Oo = (e, t) => {
254
- o.applyView({ type: "view/column-width", columnId: e, width: t }), eo?.({
251
+ }, Oo = (e) => {
252
+ o.applyView({ type: "view/column-order", columnOrder: e }), to?.([...e]);
253
+ }, Go = (e, t) => {
254
+ o.applyView({ type: "view/column-width", columnId: e, width: t }), oo?.({
255
255
  ...o.state.view.columnWidths,
256
256
  [e]: t
257
257
  });
258
- }, Se = v.viewportHeight !== void 0 || ge || c !== void 0 || Z !== void 0, O = m(null), Ie = m(0), xe = m(void 0);
259
- He(() => {
260
- if (A === void 0 || xe.current === A) return;
261
- xe.current = A;
258
+ }, Ie = v.viewportHeight !== void 0 || ge || c !== void 0 || Z !== void 0, O = m(null), xe = m(0), Te = m(void 0);
259
+ _e(() => {
260
+ if (A === void 0 || Te.current === A) return;
261
+ Te.current = A;
262
262
  let e;
263
263
  try {
264
- e = wt(A);
264
+ e = ht(A);
265
265
  } catch (t) {
266
266
  console.error(t);
267
267
  return;
268
268
  }
269
269
  o.applyPreset({ query: e.query, view: e.view }), ce?.(e.view.density), pe?.(e);
270
270
  }, [A, o, pe, ce]);
271
- const X = m(null), Go = (e, t) => {
271
+ const Q = m(null), Mo = (e, t) => {
272
272
  const i = O.current;
273
273
  if (i !== null) {
274
- const a = k.findIndex(
275
- (We) => We.kind === "group" && We.group.path === e
274
+ const l = k.findIndex(
275
+ (He) => He.kind === "group" && He.group.path === e
276
276
  ), u = Math.floor(
277
277
  i.scrollTop / W[x]
278
278
  ), q = { ...o.state.view.groupExpansion };
279
279
  q[e] = t;
280
- const R = o.bodyRowCountWith(q) - k.length, f = a !== -1 && a < u, rt = f && R < 0 && u <= a - R;
281
- X.current = !f || R === 0 ? null : rt ? { modo: "atterra-sul-gruppo", indiceGruppo: a } : {
280
+ const R = o.bodyRowCountWith(q) - k.length, f = l !== -1 && l < u, nt = f && R < 0 && u <= l - R;
281
+ Q.current = !f || R === 0 ? null : nt ? { modo: "atterra-sul-gruppo", indiceGruppo: l } : {
282
282
  modo: "tieni-ferma-la-vista",
283
283
  // ⚠️ SI LEGGE ADESSO, PRIMA DEL COMMIT, e non nell'effetto: è
284
284
  // l'unico istante in cui questo numero è ancora quello
@@ -289,66 +289,69 @@ const Gt = [
289
289
  }
290
290
  o.applyView({ type: "view/group-expansion", path: e, expanded: t });
291
291
  };
292
- nt(() => {
293
- const e = X.current;
294
- if (X.current = null, e === null) return;
292
+ it(() => {
293
+ const e = Q.current;
294
+ if (Q.current = null, e === null) return;
295
295
  const t = O.current;
296
296
  t !== null && (t.scrollTop = e.modo === "atterra-sul-gruppo" ? e.indiceGruppo * W[x] : e.scrollTopPrima + e.delta * W[x]);
297
297
  });
298
- const Te = m(0), Fe = ve ?? Ce ?? null, J = m(null), G = m(null), Mo = (e) => {
299
- G.current = e, e && (Ie.current += 1, e.setAttribute("data-render-count", String(Ie.current)), J.current === null && (J.current = Fe === null ? 1 : ut(Fe)), e.setAttribute("data-mount-count", String(J.current)), e.setAttribute(
298
+ const Fe = m(0), Ae = ve ?? Ce ?? null, X = m(null), G = m(null), Po = (e) => {
299
+ G.current = e, e && (xe.current += 1, e.setAttribute("data-render-count", String(xe.current)), X.current === null && (X.current = Ae === null ? 1 : gt(Ae)), e.setAttribute("data-mount-count", String(X.current)), e.setAttribute(
300
300
  "data-loadmore-call-count",
301
- String(Te.current)
301
+ String(Fe.current)
302
302
  ));
303
- }, Ae = (e) => {
303
+ }, Oe = (e) => {
304
304
  const t = G.current;
305
305
  if (!t) return;
306
306
  const i = Array.from(
307
- t.querySelectorAll(Gt)
308
- ).filter((u) => u.dataset.gridFocusSentinel === void 0), a = e === "first" ? i : [...i].reverse();
309
- for (const u of a)
307
+ t.querySelectorAll(Mt)
308
+ ).filter((u) => u.dataset.gridFocusSentinel === void 0), l = e === "first" ? i : [...i].reverse();
309
+ for (const u of l)
310
310
  if (u.focus(), document.activeElement === u) return;
311
- }, k = o.bodyRows, Po = k.length, w = o.state.query.requestCount, M = m(w);
311
+ }, k = o.bodyRows, qo = k.length, w = o.state.query.requestCount, M = m(w);
312
312
  w < M.current && (M.current = w);
313
- const qo = c !== void 0 && w > Math.max(1, M.current);
314
- He(() => {
313
+ const Eo = c !== void 0 && w > Math.max(1, M.current);
314
+ _e(() => {
315
315
  c === void 0 || g || w > M.current && (M.current = w);
316
316
  }, [c, g, w]);
317
- const Eo = c !== void 0 && g && w > 1, $o = g && !Eo, Y = o.state.query.pagination.pageSize, Oe = g ? Math.min(Y, 1e3) : 0, h = $o ? 0 : Po, Ge = h > 0, y = ("resultTotal" in v ? v.resultTotal : void 0) ?? E?.totalItems ?? (F && !fe && !(c !== void 0 && c.hasMore) ? o.filteredRowCount : void 0), zo = le(
317
+ const $o = c !== void 0 && g && w > 1, zo = g && !$o, J = o.state.query.pagination.pageSize, Ge = g ? Math.min(J, 1e3) : 0, h = zo ? 0 : qo, Me = h > 0, y = ("resultTotal" in v ? v.resultTotal : void 0) ?? E?.totalItems ?? (F && !fe && !(c !== void 0 && c.hasMore) ? o.filteredRowCount : void 0), Vo = ae(
318
318
  () => new Set(o.state.query.filters.map((e) => e.columnId)),
319
319
  [o.state.query.filters]
320
- ), ee = le(
320
+ ), Y = ae(
321
321
  // `flattenGridColumns` PRIMA, perché `columns` è l'albero e
322
322
  // `toGridFilterColumns` vuole le foglie: è lo stesso appiattimento che il
323
323
  // call-site fa per costruire le colonne dell'inventario, quindi le due liste
324
324
  // sono la stessa lista e non due liste che si somigliano.
325
- () => Ot(Ue(C)),
325
+ () => Gt(Ke(C)),
326
326
  [C]
327
- ), Vo = S === void 0 || $ !== void 0 && z !== void 0, [Me, ko] = _e(!0), Pe = m(!0), qe = je(), Ee = m(0), L = D(
327
+ ), ko = S === void 0 || $ !== void 0 && z !== void 0, [ee, Lo] = je(!0), Pe = m(!0), qe = () => {
328
+ const e = !Pe.current;
329
+ Pe.current = e, Lo(e), fo?.(e);
330
+ }, Ee = Ue(), $e = m(0), L = D(
328
331
  (e, t) => {
329
- const i = o.state.query.filters, a = i.find((f) => f.columnId === e);
330
- if (a !== void 0) {
332
+ const i = o.state.query.filters, l = i.find((f) => f.columnId === e);
333
+ if (l !== void 0) {
331
334
  if (z !== void 0) {
332
- z(a.id, t);
335
+ z(l.id, t);
333
336
  return;
334
337
  }
335
338
  o.applyAndEmit({
336
339
  type: "query/filters",
337
340
  filters: i.map(
338
- (f) => f.id === a.id ? { ...f, ...t } : f
341
+ (f) => f.id === l.id ? { ...f, ...t } : f
339
342
  )
340
343
  });
341
344
  return;
342
345
  }
343
- const u = ee.find(
346
+ const u = Y.find(
344
347
  (f) => f.id === e
345
348
  );
346
349
  if (u === void 0) return;
347
- Ee.current += 1;
348
- const q = yt(
350
+ $e.current += 1;
351
+ const q = vt(
349
352
  u,
350
353
  r,
351
- `${qe}-${Ee.current}`
354
+ `${Ee}-${$e.current}`
352
355
  );
353
356
  if (q === void 0) return;
354
357
  const R = { ...q, ...t };
@@ -363,20 +366,20 @@ const Gt = [
363
366
  },
364
367
  [
365
368
  o,
366
- ee,
367
- qe,
369
+ Y,
370
+ Ee,
368
371
  r,
369
372
  $,
370
373
  z
371
374
  ]
372
- ), Lo = D(
375
+ ), No = D(
373
376
  (e, t) => {
374
377
  L(e, { operator: t });
375
378
  },
376
379
  [L]
377
380
  ), oe = D(
378
381
  (e) => {
379
- const t = o.state.query.filters, i = t.find((a) => a.columnId === e);
382
+ const t = o.state.query.filters, i = t.find((l) => l.columnId === e);
380
383
  if (i !== void 0) {
381
384
  if (S !== void 0) {
382
385
  if (I === void 0) return;
@@ -385,52 +388,52 @@ const Gt = [
385
388
  }
386
389
  o.applyAndEmit({
387
390
  type: "query/filters",
388
- filters: t.filter((a) => a.id !== i.id)
391
+ filters: t.filter((l) => l.id !== i.id)
389
392
  });
390
393
  }
391
394
  },
392
395
  [o, S, I]
393
- ), No = D(
396
+ ), Bo = D(
394
397
  (e, t) => {
395
398
  const i = o.state.query.filters.find(
396
- (a) => a.columnId === e
399
+ (l) => l.columnId === e
397
400
  );
398
- if (i !== void 0 && !dt.has(i.operator) && ct(t)) {
401
+ if (i !== void 0 && !ct.has(i.operator) && ut(t)) {
399
402
  oe(e);
400
403
  return;
401
404
  }
402
405
  L(e, { value: t });
403
406
  },
404
407
  [L, oe, o]
405
- ), Bo = S === void 0 || I !== void 0, Do = we === "row", p = gt({
408
+ ), Do = S === void 0 || I !== void 0, Wo = we === "row", p = pt({
406
409
  badges: o.state.query.filters,
407
410
  resultTotal: y,
408
411
  rowsInPage: o.rows.length,
409
412
  pageIndex: o.state.query.pagination.pageIndex,
410
- pageSize: Y
411
- }), Wo = y === void 0 ? void 0 : p, te = r.status ?? {}, N = r.selection ?? {}, $e = o.headers.filter((e) => e.sortIndex !== null).sort((e, t) => (e.sortIndex ?? 0) - (t.sortIndex ?? 0)), Ho = $e.length === 0 ? "" : `${te.sortedBy ?? s.status.sortedBy} ${$e.map((e) => {
413
+ pageSize: J
414
+ }), Ho = y === void 0 ? void 0 : p, te = r.status ?? {}, N = r.selection ?? {}, ze = o.headers.filter((e) => e.sortIndex !== null).sort((e, t) => (e.sortIndex ?? 0) - (t.sortIndex ?? 0)), _o = ze.length === 0 ? "" : `${te.sortedBy ?? s.status.sortedBy} ${ze.map((e) => {
412
415
  const t = e.sortDirection === "descending" ? r.sorting.descending : r.sorting.ascending, i = `${e.headerLabel} ${t}`;
413
416
  if (e.sortCount <= 1) return i;
414
- const a = r.sorting.sortPosition ?? s.sorting.sortPosition, u = r.pagination.of ?? s.pagination.of;
415
- return `${i}, ${a} ${e.sortIndex ?? 0} ${u} ${e.sortCount}`;
416
- }).join("; ")}`, _o = `${p.totalLabel} ${p.totalIsSingular ? r.pagination.rowOne ?? s.pagination.rowOne : r.pagination.rows}`, re = o.state.query.filters.filter(
417
+ const l = r.sorting.sortPosition ?? s.sorting.sortPosition, u = r.pagination.of ?? s.pagination.of;
418
+ return `${i}, ${l} ${e.sortIndex ?? 0} ${u} ${e.sortCount}`;
419
+ }).join("; ")}`, jo = `${p.totalLabel} ${p.totalIsSingular ? r.pagination.rowOne ?? s.pagination.rowOne : r.pagination.rows}`, re = o.state.query.filters.filter(
417
420
  (e) => e.kind === "custom"
418
- ), jo = re.length === 0 ? "" : `, ${p.formatCount(re.length)} ${r.filters.withoutColumn ?? s.filters.withoutColumn}: ${re.map((e) => e.customLabel ?? e.customKey ?? e.id).join(", ")}`, Uo = `${p.filterCountLabel} ${p.filterCountIsSingular ? r.filters.filterOne ?? s.filters.filterOne : r.filters.filterMany ?? s.filters.filterMany} ${p.filterCountIsSingular ? te.filterActiveOne ?? s.status.filterActiveOne : te.filterActiveMany ?? s.status.filterActiveMany}${jo}`, b = o.selectedPageRowIds.length, ze = U?.mode === "all" && y !== void 0, [Ko, Zo] = _e("page"), ne = ze ? Ko : "page", Qo = {
421
+ ), Uo = re.length === 0 ? "" : `, ${p.formatCount(re.length)} ${r.filters.withoutColumn ?? s.filters.withoutColumn}: ${re.map((e) => e.customLabel ?? e.customKey ?? e.id).join(", ")}`, Ko = `${p.filterCountLabel} ${p.filterCountIsSingular ? r.filters.filterOne ?? s.filters.filterOne : r.filters.filterMany ?? s.filters.filterMany} ${p.filterCountIsSingular ? te.filterActiveOne ?? s.status.filterActiveOne : te.filterActiveMany ?? s.status.filterActiveMany}${Uo}`, b = o.selectedPageRowIds.length, Ve = U?.mode === "all" && y !== void 0, [Zo, Qo] = je("page"), ne = Ve ? Zo : "page", Xo = {
419
422
  scope: ne,
420
423
  rowIds: o.selectedPageRowIds,
421
424
  count: ne === "all" ? y ?? b : b
422
- }, Ve = (e) => {
423
- e !== ne && (Zo(e), fo?.({
425
+ }, ke = (e) => {
426
+ e !== ne && (Qo(e), mo?.({
424
427
  scope: e,
425
428
  rowIds: o.selectedPageRowIds,
426
429
  count: e === "all" ? y ?? b : b
427
430
  }));
428
- }, Xo = `${p.formatCount(b)} ${b === 1 ? N.selectedOne ?? s.selection.selectedOne : N.selectedMany ?? s.selection.selectedMany}` + (b > 0 ? ` ${N.outOf ?? s.selection.outOf} ${p.rowsInPageLabel} ${N.onPage ?? s.selection.onPage}` : ""), Jo = [
429
- Ho,
431
+ }, Jo = `${p.formatCount(b)} ${b === 1 ? N.selectedOne ?? s.selection.selectedOne : N.selectedMany ?? s.selection.selectedMany}` + (b > 0 ? ` ${N.outOf ?? s.selection.outOf} ${p.rowsInPageLabel} ${N.onPage ?? s.selection.onPage}` : ""), Yo = [
430
432
  _o,
431
- Uo,
432
- Xo
433
- ].filter((e) => e !== "").join(". "), Yo = c !== void 0 && c.hasMore ? -1 : y ?? h, B = lo && !g, ie = !g && // ⚠️ `&& !erroreVisibile`, ED È LA RIGA CHE TIENE I DUE ESITI SEPARATI. Una
433
+ jo,
434
+ Ko,
435
+ Jo
436
+ ].filter((e) => e !== "").join(". "), et = c !== void 0 && c.hasMore ? -1 : y ?? h, B = co && !g, ie = !g && // ⚠️ `&& !erroreVisibile`, ED È LA RIGA CHE TIENE I DUE ESITI SEPARATI. Una
434
437
  // fetch caduta ha `dataRowCount === 0`, quindi senza questo termine i due
435
438
  // predicati sono veri insieme. Il vuoto è quello che tace, perché è l'esito
436
439
  // che l'errore SPIEGA.
@@ -450,13 +453,13 @@ const Gt = [
450
453
  // un terzo lettore che lo consumasse senza provare l'errore prima renderebbe
451
454
  // il vuoto sopra una fetch caduta. Dichiarare il termine qui è più economico
452
455
  // che ricordare l'ordine in tre punti.
453
- !B && h === 0 && !(c !== void 0 && c.hasMore), se = lt({
456
+ !B && h === 0 && !(c !== void 0 && c.hasMore), se = dt({
454
457
  // `enabled: virtualized`, SENZA `&& !loading`: adesso è `count` a dire la
455
458
  // verità sul da farsi. Quando si sostituisce, `count` è zero e l'hook esce
456
459
  // con `null` — stesso effetto di prima, ma per la ragione giusta e in un
457
460
  // punto solo.
458
461
  enabled: ge,
459
- count: h + Oe,
462
+ count: h + Ge,
460
463
  // L'altezza ESATTA della riga alla densità corrente, non una stima. Misurato
461
464
  // in Chrome: sotto `border-collapse: collapse` una `<tr>` con `height: 36px`
462
465
  // e `border-bottom: 1px` è alta esattamente 36 — il bordo collassato non si
@@ -470,17 +473,17 @@ const Gt = [
470
473
  // Serve al PRIMO render, quando il ref è ancora `null`: senza di lui la
471
474
  // griglia montava tutte e 10.000 le righe prima di ridursi a 22.
472
475
  viewportHeight: me
473
- }), ke = se?.startIndex ?? 0, Le = se?.endIndex ?? h + Oe, Ne = k.slice(
474
- Math.min(ke, h),
475
- Math.min(Le, h)
476
- ), Be = o.headers[0]?.columnId, et = io === "first-column" && Be !== void 0 ? Ne.map(
476
+ }), Le = se?.startIndex ?? 0, Ne = se?.endIndex ?? h + Ge, Be = k.slice(
477
+ Math.min(Le, h),
478
+ Math.min(Ne, h)
479
+ ), De = o.headers[0]?.columnId, ot = so === "first-column" && De !== void 0 ? Be.map(
477
480
  (e) => e.kind === "group" ? {
478
481
  ...e,
479
- group: { ...e.group, columnId: Be }
482
+ group: { ...e.group, columnId: De }
480
483
  } : e
481
- ) : Ne, ot = Math.max(
484
+ ) : Be, tt = Math.max(
482
485
  0,
483
- Le - Math.max(ke, h)
486
+ Ne - Math.max(Le, h)
484
487
  );
485
488
  at({
486
489
  // ⚠️ `&& !paginated`, ED È UNA RIPARAZIONE. Le due prop sono entrambe
@@ -511,32 +514,32 @@ const Gt = [
511
514
  querySignature: o.querySignature,
512
515
  scrollRef: O,
513
516
  onLoadMore: () => {
514
- Te.current += 1, o.applyAndEmit({ type: "query/load-more" });
517
+ Fe.current += 1, o.applyAndEmit({ type: "query/load-more" });
515
518
  }
516
519
  });
517
- const P = r.table ?? s.table, tt = B ? {
520
+ const P = r.table ?? s.table, rt = B ? {
518
521
  kind: "error",
519
522
  content: /* @__PURE__ */ n(
520
- Ke,
523
+ Ze,
521
524
  {
522
525
  kind: "error",
523
526
  message: P.errorMessage ?? s.table.errorMessage,
524
527
  retryLabel: P.retry ?? s.table.retry,
525
- onRetry: co
528
+ onRetry: uo
526
529
  }
527
530
  )
528
531
  } : ie ? {
529
532
  kind: "empty",
530
533
  content: /* @__PURE__ */ n(
531
- Ke,
534
+ Ze,
532
535
  {
533
536
  kind: "empty",
534
537
  content: ao ?? r.notFoundMessage
535
538
  }
536
539
  )
537
- } : void 0, De = je().replace(/[^a-zA-Z0-9]/g, ""), ae = {
538
- head: `adg-head-${De}`,
539
- rows: `adg-rows-${De}`
540
+ } : void 0, We = Ue().replace(/[^a-zA-Z0-9]/g, ""), le = {
541
+ head: `adg-head-${We}`,
542
+ rows: `adg-rows-${We}`
540
543
  };
541
544
  return /* @__PURE__ */ H(
542
545
  "div",
@@ -544,7 +547,7 @@ const Gt = [
544
547
  id: ve,
545
548
  "data-testid": Ce,
546
549
  "data-app-data-grid": "",
547
- ref: Mo,
550
+ ref: Po,
548
551
  "data-emissions": o.emissions,
549
552
  "data-grid-fullscreen": d ? "true" : "false",
550
553
  "aria-busy": g ? !0 : void 0,
@@ -554,7 +557,7 @@ const Gt = [
554
557
  // classe che lo rende devono cambiare insieme. Vivono accanto in
555
558
  // `grid-tokens.ts`, come `gridRowHeight`/`gridRowHeightClass`.
556
559
  "border-d-border bg-d-background text-d-foreground flex w-full flex-col rounded-md border p-2",
557
- mt,
560
+ wt,
558
561
  // LO SCHERMO INTERO È UNA PROMOZIONE DELLO STESSO NODO — P6, criteri 2-4.
559
562
  //
560
563
  // Non un portale, non un secondo albero, non `requestFullscreen`: le
@@ -571,9 +574,9 @@ const Gt = [
571
574
  // `rounded-none` invece serve: a tutto schermo gli angoli arrotondati
572
575
  // lascerebbero quattro triangoli della pagina visibili negli spigoli.
573
576
  d && "fixed inset-0 rounded-none border-0",
574
- So
577
+ Io
575
578
  ),
576
- style: d ? { zIndex: ft.fullscreen } : void 0,
579
+ style: d ? { zIndex: mt.fullscreen } : void 0,
577
580
  role: d ? "dialog" : void 0,
578
581
  "aria-modal": d ? !0 : void 0,
579
582
  "aria-label": d ? V.fullscreenExit : void 0,
@@ -588,7 +591,7 @@ const Gt = [
588
591
  tabIndex: 0,
589
592
  "aria-hidden": "true",
590
593
  className: "sr-only",
591
- onFocus: () => Ae("last")
594
+ onFocus: () => Oe("last")
592
595
  }
593
596
  ),
594
597
  /* @__PURE__ */ H(
@@ -597,12 +600,12 @@ const Gt = [
597
600
  "data-grid-toolbar": "",
598
601
  className: "relative flex flex-wrap items-center gap-2",
599
602
  children: [
600
- /* @__PURE__ */ n("a", { href: `#${ae.rows}`, className: Ze, children: P.skipToRows }),
601
- /* @__PURE__ */ n("a", { href: `#${ae.head}`, className: Ze, children: P.skipToHeader }),
602
- Q(
603
- l?.search,
603
+ /* @__PURE__ */ n("a", { href: `#${le.rows}`, className: Qe, children: P.skipToRows }),
604
+ /* @__PURE__ */ n("a", { href: `#${le.head}`, className: Qe, children: P.skipToHeader }),
605
+ Re(
606
+ a?.search,
604
607
  /* @__PURE__ */ n(
605
- it,
608
+ st,
606
609
  {
607
610
  type: "search",
608
611
  "data-grid-search": "",
@@ -629,7 +632,7 @@ const Gt = [
629
632
  "focus-visible:ring-d-foreground",
630
633
  "text-d-muted-foreground hover:text-d-foreground flex size-6 cursor-pointer items-center justify-center rounded-md focus-visible:ring-2 focus-visible:outline-none"
631
634
  ),
632
- children: /* @__PURE__ */ n(Qe, { name: "X", size: "xs", "aria-hidden": "true" })
635
+ children: /* @__PURE__ */ n(Xe, { name: "X", size: "xs", "aria-hidden": "true" })
633
636
  }
634
637
  ),
635
638
  labelClassName: "shrink-0 text-xs font-normal whitespace-nowrap",
@@ -637,47 +640,44 @@ const Gt = [
637
640
  }
638
641
  )
639
642
  ),
640
- l?.resetFilters?.render ? l.resetFilters.render() : l?.resetFilters?.onReset !== void 0 && /* @__PURE__ */ n(
641
- It,
643
+ a?.resetFilters?.render ? a.resetFilters.render() : a?.resetFilters?.onReset !== void 0 && /* @__PURE__ */ n(
644
+ xt,
642
645
  {
643
- onReset: l.resetFilters.onReset,
646
+ onReset: a.resetFilters.onReset,
644
647
  i18n: r
645
648
  }
646
649
  ),
647
- l?.filters?.render ? l.filters.render() : l?.filters?.onOpen !== void 0 && /* @__PURE__ */ n(
648
- xt,
650
+ a?.filters?.render ? a.filters.render() : a?.filters?.onOpen !== void 0 && /* @__PURE__ */ n(
651
+ Tt,
649
652
  {
650
653
  badges: o.state.query.filters,
651
654
  scope: p,
652
- onOpen: l.filters.onOpen,
655
+ onOpen: a.filters.onOpen,
653
656
  i18n: r
654
657
  }
655
658
  ),
656
659
  I !== void 0 && S !== void 0 && /* @__PURE__ */ n(
657
- Tt,
660
+ Ft,
658
661
  {
659
662
  badges: o.state.query.filters,
660
663
  onRemove: I,
661
- controls: uo,
664
+ controls: go,
662
665
  i18n: r
663
666
  }
664
667
  ),
665
- Do && Q(
666
- l?.filterRowToggle,
667
- /* @__PURE__ */ n(
668
- Ft,
669
- {
670
- open: Me,
671
- onToggle: () => {
672
- const e = !Pe.current;
673
- Pe.current = e, ko(e), po?.(e);
674
- },
675
- i18n: r
676
- }
677
- )
678
- ),
668
+ Wo && a?.filterRowToggle !== !1 && (a?.filterRowToggle?.render ? a.filterRowToggle.render({
669
+ open: ee,
670
+ toggle: qe
671
+ }) : /* @__PURE__ */ n(
672
+ At,
673
+ {
674
+ open: ee,
675
+ onToggle: qe,
676
+ i18n: r
677
+ }
678
+ )),
679
679
  /* @__PURE__ */ H("div", { className: "ml-auto flex flex-wrap items-center gap-2", children: [
680
- l?.columns !== !1 && (l?.columns?.render ? (
680
+ a?.columns !== !1 && (a?.columns?.render ? (
681
681
  // ⚠️ `render` VINCE SULLA PRECONDIZIONE, come fa lo slot `filters`
682
682
  // (che da `adg-m3` sta SOPRA questo blocco e non sotto, essendo
683
683
  // rimasto nel gruppo sinistro). `canWriteVisibility` riguarda il nodo di
@@ -685,24 +685,24 @@ const Gt = [
685
685
  // parte — non lo slot: sopprimere anche il nodo del consumer significa
686
686
  // spegnere un pannello suo, che magari scrive la mappa dal proprio
687
687
  // riduttore. Trovato da una review delle riparazioni.
688
- l.columns.render()
689
- ) : To ? /* @__PURE__ */ n(
690
- At,
688
+ a.columns.render()
689
+ ) : Fo ? /* @__PURE__ */ n(
690
+ Ot,
691
691
  {
692
- columns: xo,
692
+ columns: To,
693
693
  columnVisibility: o.state.view.columnVisibility,
694
- onColumnVisibleChange: Fo,
695
- onColumnOrderChange: Ao,
694
+ onColumnVisibleChange: Ao,
695
+ onColumnOrderChange: Oo,
696
696
  columnOrder: o.state.view.columnOrder,
697
- puoNascondere: Re,
697
+ puoNascondere: Se,
698
698
  rootRef: G,
699
699
  i18n: r
700
700
  }
701
701
  ) : null),
702
- Q(
703
- l?.fullscreen,
702
+ Re(
703
+ a?.fullscreen,
704
704
  /* @__PURE__ */ n(
705
- vt,
705
+ Ct,
706
706
  {
707
707
  fullscreen: d,
708
708
  onChange: be,
@@ -710,14 +710,14 @@ const Gt = [
710
710
  }
711
711
  )
712
712
  ),
713
- he.length > 0 && !mo && /* @__PURE__ */ n(ht, { actions: he, i18n: r, rootRef: G }),
714
- l?.actions?.render?.() ?? null
713
+ he.length > 0 && !wo && /* @__PURE__ */ n(yt, { actions: he, i18n: r, rootRef: G }),
714
+ a?.actions?.render?.() ?? null
715
715
  ] })
716
716
  ]
717
717
  }
718
718
  ),
719
719
  /* @__PURE__ */ n(
720
- Rt,
720
+ St,
721
721
  {
722
722
  selectedRowIds: o.selectedPageRowIds,
723
723
  rowsInPage: o.rows.length,
@@ -726,11 +726,11 @@ const Gt = [
726
726
  cells: o.selectionCells,
727
727
  labelColumnId: o.footerCells.find((e) => e.content === null)?.columnId,
728
728
  actions: U?.actions,
729
- scope: Qo,
730
- promotion: ze && y !== void 0 ? {
729
+ scope: Xo,
730
+ promotion: Ve && y !== void 0 ? {
731
731
  total: y,
732
- onPromote: () => Ve("all"),
733
- onDemote: () => Ve("page")
732
+ onPromote: () => ke("all"),
733
+ onDemote: () => ke("page")
734
734
  } : void 0,
735
735
  allRowsSelected: o.allRowsSelected,
736
736
  onDismiss: () => o.toggleRows(o.selectedPageRowIds, !1),
@@ -739,35 +739,35 @@ const Gt = [
739
739
  }
740
740
  ),
741
741
  /* @__PURE__ */ n(
742
- bt,
742
+ Rt,
743
743
  {
744
744
  ref: O,
745
745
  className: de(
746
746
  d && "min-h-0 flex-1",
747
- !d && !Se && "min-h-0 grow"
747
+ !d && !Ie && "min-h-0 grow"
748
748
  ),
749
- style: Se && !d ? { height: me } : void 0,
749
+ style: Ie && !d ? { height: me } : void 0,
750
750
  children: /* @__PURE__ */ n(
751
- St,
751
+ It,
752
752
  {
753
753
  headers: o.headers,
754
- bodyRows: et,
755
- statusSurface: tt,
754
+ bodyRows: ot,
755
+ statusSurface: rt,
756
756
  footerCells: o.footerCells,
757
757
  hasAggregates: o.hasAggregates,
758
- bodyHasData: Ge,
759
- onToggleGroup: Go,
758
+ bodyHasData: Me,
759
+ onToggleGroup: Mo,
760
760
  groupByColumnIds: o.groupByColumnIds,
761
761
  virtualWindow: se,
762
- totalRowCount: Yo,
762
+ totalRowCount: et,
763
763
  columnTree: o.columnTree,
764
- onColumnResize: Oo,
764
+ onColumnResize: Go,
765
765
  density: x,
766
766
  fullscreen: d,
767
767
  i18n: r,
768
768
  columnWidths: o.state.view.columnWidths,
769
- skeletonRowCount: ot,
770
- checkable: wo,
769
+ skeletonRowCount: tt,
770
+ checkable: ho,
771
771
  selection: o.selection,
772
772
  allRowsSelected: o.allRowsSelected,
773
773
  someRowsSelected: o.someRowsSelected,
@@ -775,22 +775,22 @@ const Gt = [
775
775
  onToggleAllRows: o.toggleAllRows,
776
776
  onToggleRows: o.toggleRows,
777
777
  onSort: o.sort,
778
- filteredColumnIds: zo,
778
+ filteredColumnIds: Vo,
779
779
  filterMode: we,
780
- filterColumns: Vo ? ee : [],
780
+ filterColumns: ko ? Y : [],
781
781
  filterBadges: o.state.query.filters,
782
- filtersHidden: !Me,
783
- onFilterRowOperatorChange: Lo,
784
- onFilterRowValueChange: No,
785
- onFilterRowClear: Bo ? oe : void 0,
782
+ filtersHidden: !ee,
783
+ onFilterRowOperatorChange: No,
784
+ onFilterRowValueChange: Bo,
785
+ onFilterRowClear: Do ? oe : void 0,
786
786
  rowHeaderColumnId: o.rowHeaderColumnId,
787
- bypassIds: ae
787
+ bypassIds: le
788
788
  }
789
789
  )
790
790
  }
791
791
  ),
792
- Ge && (F || K?.pageSize !== void 0 && Z === void 0) && /* @__PURE__ */ n(
793
- Ct,
792
+ Me && (F || K?.pageSize !== void 0 && Z === void 0) && /* @__PURE__ */ n(
793
+ bt,
794
794
  {
795
795
  pageIndex: o.state.query.pagination.pageIndex,
796
796
  pageCount: o.pageCount,
@@ -801,17 +801,17 @@ const Gt = [
801
801
  o.applyAndEmit({ type: "query/page", pageIndex: e })
802
802
  ),
803
803
  navigable: F || E !== void 0 || ye !== void 0,
804
- scope: Wo,
805
- pageSize: Y,
806
- pageSizeOptions: K?.pageSizeOptions ?? pt,
804
+ scope: Ho,
805
+ pageSize: J,
806
+ pageSizeOptions: K?.pageSizeOptions ?? ft,
807
807
  applyAndEmit: o.applyAndEmit,
808
808
  rootRef: G
809
809
  }
810
810
  ),
811
811
  /* @__PURE__ */ n(
812
- Mt,
812
+ Pt,
813
813
  {
814
- visible: !!(go && !g && !B && !ie),
814
+ visible: !!(po && !g && !B && !ie),
815
815
  children: g ? V.loadingMore : B ? (
816
816
  // ⚠️ IL RAMO DELL'ERRORE STA PRIMA DI QUELLO DEL VUOTO — Fase 5,
817
817
  // criterio 4. Una fetch caduta ha `dataRowCount === 0`, quindi nel
@@ -864,7 +864,7 @@ const Gt = [
864
864
  // dentro, per la ragione già scritta per `appendingPage`: fuori
865
865
  // dalla modalità infinita non esiste nessuna «pagina in più» da
866
866
  // annunciare.
867
- qo ? V.loadedMore : (
867
+ Eo ? V.loadedMore : (
868
868
  // IL RAMO DI RIPOSO, che fino alla Fase 5 era la stringa
869
869
  // vuota: qui vivono le quattro clausole. Sta in FONDO al
870
870
  // ternario di proposito — i tre rami sopra restano intatti,
@@ -872,7 +872,7 @@ const Gt = [
872
872
  // sono zero per costruzione e annunciare «0 righe di 128 con
873
873
  // 0 filtri attivi» sopra «non è stato possibile caricare»
874
874
  // sarebbe un dato inventato letto al posto di un guasto.
875
- Jo
875
+ Yo
876
876
  )
877
877
  )
878
878
  }
@@ -884,7 +884,7 @@ const Gt = [
884
884
  tabIndex: 0,
885
885
  "aria-hidden": "true",
886
886
  className: "sr-only",
887
- onFocus: () => Ae("first")
887
+ onFocus: () => Oe("first")
888
888
  }
889
889
  )
890
890
  ]
@@ -892,5 +892,5 @@ const Gt = [
892
892
  );
893
893
  };
894
894
  export {
895
- nr as AppDataGrid
895
+ ir as AppDataGrid
896
896
  };