@medyat/react-data-table 0.0.0-stage → 0.2.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.
package/dist/index.js ADDED
@@ -0,0 +1,4870 @@
1
+ import { n as e, t } from "./provider-BgZBSzsH.js";
2
+ import { _ as n, a as r, c as i, d as a, f as o, g as s, h as c, i as l, l as u, m as d, n as f, o as p, p as m, r as h, s as g, t as _, u as v, v as y, y as b } from "./bottom-sheet-BMVYPFta.js";
3
+ import { c as x, d as S, f as C, i as w, n as T, o as E, r as D, s as O, t as k, u as A } from "./model-RkRyfM7C.js";
4
+ import { t as j } from "./switch-B8TN4kJ-.js";
5
+ import { c as M } from "react/compiler-runtime";
6
+ import { Fragment as N, Suspense as P, lazy as F, useEffect as I, useEffectEvent as L, useId as R, useImperativeHandle as z, useLayoutEffect as B, useRef as V, useState as H, useSyncExternalStore as U } from "react";
7
+ import { Fragment as W, jsx as G, jsxs as K } from "react/jsx-runtime";
8
+ import { columnFilteringFeature as q, columnOrderingFeature as J, columnPinningFeature as ee, columnResizingFeature as Y, columnSizingFeature as te, columnVisibilityFeature as X, createFilteredRowModel as ne, createPaginatedRowModel as Z, createSortedRowModel as re, globalFilteringFeature as ie, rowPaginationFeature as Q, rowSortingFeature as ae, tableFeatures as oe, useTable as se } from "@tanstack/react-table";
9
+ import { ArrowClockwiseIcon as ce, ArrowDownIcon as le, ArrowUpIcon as ue, CaretDownIcon as de, CaretLeftIcon as fe, CaretRightIcon as pe, CheckIcon as me, CircleNotchIcon as he, DotsSixVerticalIcon as ge, DotsThreeIcon as _e, FileIcon as ve, FunnelIcon as ye, MagnifyingGlassIcon as be, PackageIcon as xe, PlusIcon as Se, PushPinIcon as Ce, SlidersHorizontalIcon as we, StackIcon as Te, WarningCircleIcon as Ee, WarningIcon as De, XCircleIcon as Oe, XIcon as ke } from "@phosphor-icons/react";
10
+ import { Combobox as Ae } from "@base-ui/react/combobox";
11
+ import { Popover as je } from "@base-ui/react/popover";
12
+ import { Menu as $ } from "@base-ui/react/menu";
13
+ import { Toggle as Me } from "@base-ui/react/toggle";
14
+ import { ToggleGroup as Ne } from "@base-ui/react/toggle-group";
15
+ import { useVirtualizer as Pe } from "@tanstack/react-virtual";
16
+ import { Dialog as Fe } from "@base-ui/react/dialog";
17
+ import { AlertDialog as Ie } from "@base-ui/react/alert-dialog";
18
+ // src/core/adapters/local-storage.ts
19
+ function Le() {
20
+ try {
21
+ let e = globalThis.localStorage, t = "__dt_probe__";
22
+ return e.setItem(t, "1"), e.removeItem(t), {
23
+ get: (t) => e.getItem(t),
24
+ set: (t, n) => e.setItem(t, n)
25
+ };
26
+ } catch {
27
+ let e = /* @__PURE__ */ new Map();
28
+ return {
29
+ get: (t) => e.get(t) ?? null,
30
+ set: (t, n) => {
31
+ e.set(t, n);
32
+ }
33
+ };
34
+ }
35
+ }
36
+ function Re(e, t, n) {
37
+ let r = e.get(t);
38
+ if (r === null) return n;
39
+ try {
40
+ return JSON.parse(r);
41
+ } catch {
42
+ return n;
43
+ }
44
+ }
45
+ var ze = (e, t) => {
46
+ if (typeof e != "string" || e === "") throw TypeError(`${t}: 'scope' zorunlu (uygulama/kiracı anahtarı)`);
47
+ return e;
48
+ }, Be = () => globalThis.crypto?.randomUUID?.() ?? Math.random().toString(36).slice(2), Ve = () => (/* @__PURE__ */ new Date()).toISOString();
49
+ function He(e) {
50
+ let t = ze(e?.scope, "createLocalStorageViews"), n = Le(), r = (e) => `dt:${t}:views:${e}`, i = (e) => Re(n, r(e), []), a = (e, t) => n.set(r(e), JSON.stringify(t));
51
+ return {
52
+ async list(e) {
53
+ return i(e);
54
+ },
55
+ async create(e, t) {
56
+ let n = {
57
+ id: Be(),
58
+ name: t.name,
59
+ kind: "personal",
60
+ state: t.state,
61
+ updatedAt: Ve()
62
+ };
63
+ return a(e, [...i(e), n]), n;
64
+ },
65
+ async update(e, t, n) {
66
+ let r = i(e), o = r.findIndex((e) => e.id === t);
67
+ if (o < 0) throw Error(`createLocalStorageViews: görünüm yok: ${t}`);
68
+ let s = {
69
+ ...r[o],
70
+ ...n.name !== void 0 && { name: n.name },
71
+ ...n.state !== void 0 && { state: n.state },
72
+ updatedAt: Ve()
73
+ };
74
+ return r[o] = s, a(e, r), s;
75
+ },
76
+ async remove(e, t) {
77
+ a(e, i(e).filter((e) => e.id !== t));
78
+ }
79
+ };
80
+ }
81
+ function Ue(e) {
82
+ let t = ze(e?.scope, "createLocalStoragePreferences"), n = Le(), r = (e) => `dt:${t}:prefs:${e}`;
83
+ return {
84
+ get(e) {
85
+ return Re(n, r(e), {});
86
+ },
87
+ set(e, t) {
88
+ n.set(r(e), JSON.stringify({
89
+ ...Re(n, r(e), {}),
90
+ ...t
91
+ }));
92
+ }
93
+ };
94
+ }
95
+ var We = oe({
96
+ columnSizingFeature: te,
97
+ columnResizingFeature: Y,
98
+ columnOrderingFeature: J,
99
+ columnPinningFeature: ee,
100
+ columnVisibilityFeature: X
101
+ }), Ge = [], Ke = (e) => typeof e == "number" ? `${e}px` : `minmax(${e.min}px, ${e.fr}fr)`, qe = (e) => typeof e == "number" ? e : e.min, Je = (e) => `--dt-off-${e.replace(/[^a-zA-Z0-9_-]/g, "_")}`, Ye = (e) => !!(e.alwaysVisible || e.primary);
102
+ function Xe(e) {
103
+ let t = e.columns, r = new Map(t.map((e) => [e.id, e])), [i, a] = H(1), [o, s] = H(!1), c = t.filter((e) => e.primary).map((e) => e.id), l = (e) => {
104
+ let t = n(e);
105
+ return typeof t == "number" ? Math.round(t * i) : {
106
+ ...t,
107
+ min: Math.round(t.min * i)
108
+ };
109
+ }, u = (e) => Math.min(e.minWidth ?? 80, qe(l(e))), f = (e, t) => {
110
+ let n = r.get(e);
111
+ return Math.min(n?.maxWidth ?? Infinity, Math.max(n ? u(n) : 80, Math.round(t)));
112
+ }, p = t.map((e) => {
113
+ let t = e.id;
114
+ return {
115
+ id: t,
116
+ accessorFn: e.accessor ?? ((e) => d(e, t)),
117
+ size: qe(l(e)),
118
+ minSize: u(e),
119
+ maxSize: e.maxWidth,
120
+ enableHiding: !Ye(e)
121
+ };
122
+ }), m = (e) => e?.filter((e) => r.has(e)), h = (e) => {
123
+ let n = c.filter((e) => r.has(e)), i = [...n, ...(m(e?.pinned?.left) ?? []).filter((e) => !n.includes(e))], a = (m(e?.pinned?.right) ?? []).filter((e) => !n.includes(e)), o = {};
124
+ for (let n of t) {
125
+ let t = n.id;
126
+ o[t] = Ye(n) || (e?.visible ? e.visible.includes(t) : !n.hidden);
127
+ }
128
+ let s = {};
129
+ for (let [t, n] of Object.entries(e?.widths ?? {})) r.has(t) && (s[t] = f(t, n));
130
+ return {
131
+ columnPinning: {
132
+ start: i,
133
+ end: a
134
+ },
135
+ columnVisibility: o,
136
+ columnOrder: m(e?.order) ?? [],
137
+ columnSizing: s
138
+ };
139
+ }, g = se({
140
+ features: We,
141
+ columns: p,
142
+ data: Ge,
143
+ initialState: h(e.layout),
144
+ columnResizeMode: "onChange"
145
+ }, (e) => ({
146
+ columnOrder: e.columnOrder,
147
+ columnVisibility: e.columnVisibility,
148
+ columnPinning: e.columnPinning
149
+ })), _ = new Map(g.getFlatHeaders().map((e) => [e.column.id, e])), v = (e, t, n) => ({
150
+ id: e.id,
151
+ def: r.get(e.id),
152
+ pinned: t,
153
+ pinEdge: n,
154
+ offsetVar: Je(e.id),
155
+ canHide: e.getCanHide(),
156
+ resizeHandler: (t) => _.get(e.id)?.getResizeHandler()(t)
157
+ }), y = (e) => !!r.get(e.id)?.primary, b = o ? g.getVisibleLeafColumns().filter(y) : g.getStartVisibleLeafColumns(), x = o ? g.getVisibleLeafColumns().filter((e) => !y(e)) : g.getCenterVisibleLeafColumns(), S = o ? [] : g.getEndVisibleLeafColumns(), C = (e) => o ? y(e) : e.getIsPinned() !== !1, w = b.map((e, t, n) => v(e, "start", t === n.length - 1)), T = x.map((e) => v(e, null, !1)), E = S.map((e, t) => v(e, "end", t === 0)), D = (e, t) => {
158
+ let n = g.atoms.columnSizing.get()[e.id] !== void 0;
159
+ return t || n ? e.getSize() : l(r.get(e.id));
160
+ }, O = () => [
161
+ ...b.map((e) => Ke(D(e, !0))),
162
+ ...x.map((e) => Ke(D(e, !1))),
163
+ "auto",
164
+ ...S.map((e) => Ke(D(e, !0)))
165
+ ].join(" "), k = () => {
166
+ let e = {}, t = 0;
167
+ for (let n of b) e[Je(n.id)] = `${t}px`, t += n.getSize();
168
+ for (let t of S) e[Je(t.id)] = `${t.getAfter("end")}px`;
169
+ return e;
170
+ }, A = () => g.getVisibleLeafColumns().reduce((e, t) => e + qe(D(t, C(t))), 0), j = (e, t) => {
171
+ let n = g.getOrderColumnsFn()(g.getAllLeafColumns()), r = n.findIndex((t) => t.id === e), i = n[r];
172
+ if (!i) return;
173
+ let a = i.getIsPinned();
174
+ if (a) {
175
+ let n = g.atoms.columnPinning.get(), r = [...n[a] ?? []], i = (e) => !c.includes(e) && g.getColumn(e)?.getIsVisible() === !0, o = r.indexOf(e), s = o + t;
176
+ for (; s >= 0 && s < r.length && !i(r[s]);) s += t;
177
+ if (!i(e) || s < 0 || s >= r.length) return;
178
+ r[o] = r[s], r[s] = e, g.setColumnPinning({
179
+ ...n,
180
+ [a]: r
181
+ });
182
+ return;
183
+ }
184
+ let o = r + t;
185
+ for (; o >= 0 && o < n.length && !(n[o].getIsVisible() && n[o].getIsPinned() === a);) o += t;
186
+ let s = n[o];
187
+ if (!s) return;
188
+ let l = n.map((e) => e.id);
189
+ l[r] = s.id, l[o] = i.id, g.setColumnOrder(l);
190
+ }, M = (e) => {
191
+ let t = h(e);
192
+ g.setColumnOrder(t.columnOrder), g.setColumnVisibility(t.columnVisibility), g.setColumnPinning(t.columnPinning), g.setColumnSizing(t.columnSizing);
193
+ }, N = () => {
194
+ let e = g.atoms.columnPinning.get();
195
+ return {
196
+ order: g.getOrderColumnsFn()(g.getAllLeafColumns()).map((e) => e.id),
197
+ visible: g.getVisibleLeafColumns().map((e) => e.id),
198
+ widths: Object.fromEntries(Object.entries(g.atoms.columnSizing.get()).map(([e, t]) => [e, f(e, t)])),
199
+ pinned: {
200
+ left: [...e.start ?? []],
201
+ right: [...e.end ?? []]
202
+ }
203
+ };
204
+ }, P = (e) => {
205
+ let t = e.getIsPinned();
206
+ return t === "start" ? 0 : t === "end" ? 2 : 1;
207
+ }, F = [...g.getOrderColumnsFn()(g.getAllLeafColumns())].sort((e, t) => P(e) - P(t)).map((e) => {
208
+ let t = e.getIsPinned();
209
+ return {
210
+ id: e.id,
211
+ def: r.get(e.id),
212
+ visible: e.getIsVisible(),
213
+ pinned: t === !1 ? null : t,
214
+ canHide: e.getCanHide(),
215
+ fixed: c.includes(e.id)
216
+ };
217
+ }), I = () => {
218
+ let e = g.atoms.columnResizing.get().isResizingColumn;
219
+ return e ? {
220
+ id: e,
221
+ size: g.getColumn(e)?.getSize() ?? 0
222
+ } : null;
223
+ }, L = (e) => {
224
+ let t = g.atoms.columnSizing.subscribe(e), n = g.atoms.columnResizing.subscribe(e);
225
+ return () => {
226
+ t.unsubscribe(), n.unsubscribe();
227
+ };
228
+ };
229
+ return {
230
+ columns: [
231
+ ...w,
232
+ ...T,
233
+ ...E
234
+ ],
235
+ start: w,
236
+ center: T,
237
+ end: E,
238
+ scale: i,
239
+ setScale: a,
240
+ phone: o,
241
+ setPhone: s,
242
+ cols: O,
243
+ offsets: k,
244
+ minWidth: A,
245
+ resizing: I,
246
+ subscribeSizing: L,
247
+ move: j,
248
+ panel: F,
249
+ counts: {
250
+ shown: g.getVisibleLeafColumns().length,
251
+ total: g.getAllLeafColumns().length
252
+ },
253
+ state: N,
254
+ resolve: (e) => {
255
+ let n = h(e), r = [...n.columnOrder, ...t.map((e) => e.id).filter((e) => !n.columnOrder.includes(e))];
256
+ return {
257
+ order: r,
258
+ visible: r.filter((e) => n.columnVisibility[e]),
259
+ widths: n.columnSizing,
260
+ pinned: {
261
+ left: n.columnPinning.start,
262
+ right: n.columnPinning.end
263
+ }
264
+ };
265
+ },
266
+ arrange: (e) => {
267
+ let t = e.order.filter((t) => e.visible.includes(t) && !c.includes(t)), n = t.slice(0, e.start);
268
+ M({
269
+ order: e.order,
270
+ visible: e.visible,
271
+ widths: N().widths,
272
+ pinned: {
273
+ left: n,
274
+ right: e.end ? t.slice(n.length).slice(-e.end) : []
275
+ }
276
+ });
277
+ },
278
+ reset: (t = e.layout) => M(t),
279
+ widthOf: (e) => g.getColumn(e)?.getSize() ?? 0,
280
+ setWidth: (e, t) => g.setColumnSizing((n) => ({
281
+ ...n,
282
+ [e]: f(e, t)
283
+ })),
284
+ setVisible: (e, t) => g.getColumn(e)?.toggleVisibility(t)
285
+ };
286
+ }
287
+ // src/core/preferences/use-preferences.ts
288
+ function Ze(e, t) {
289
+ if (!t) return e;
290
+ let n = { ...e };
291
+ return (t.density === "comfortable" || t.density === "standard" || t.density === "compact") && (n.density = t.density), typeof t.verticalLines == "boolean" && (n.verticalLines = t.verticalLines), typeof t.pageSize == "number" && t.pageSize > 0 && (n.pageSize = t.pageSize), "defaultViewId" in t && (n.defaultViewId = t.defaultViewId ?? null), n;
292
+ }
293
+ function Qe(e, t, n) {
294
+ let r = M(22), i;
295
+ r[0] !== t || r[1] !== e ? (i = () => t?.get(e), r[0] = t, r[1] = e, r[2] = i) : i = r[2];
296
+ let [a] = H(i), o;
297
+ r[3] !== n || r[4] !== a ? (o = () => a instanceof Promise ? n : Ze(n, a), r[3] = n, r[4] = a, r[5] = o) : o = r[5];
298
+ let [s, c] = H(o), [l, u] = H(!(a instanceof Promise)), d, f;
299
+ r[6] !== t || r[7] !== e ? (d = () => {
300
+ let n = t?.get(e);
301
+ if (!(n instanceof Promise)) return;
302
+ let r = !0;
303
+ return n.then((e) => r && c((t) => Ze(t, e))).catch(et).finally(() => r && u(!0)), () => {
304
+ r = !1;
305
+ };
306
+ }, f = [t, e], r[6] = t, r[7] = e, r[8] = d, r[9] = f) : (d = r[8], f = r[9]), I(d, f);
307
+ let p;
308
+ r[10] !== t || r[11] !== e ? (p = (n) => {
309
+ c((e) => Ze(e, n)), t && Promise.resolve(t.set(e, n)).catch($e);
310
+ }, r[10] = t, r[11] = e, r[12] = p) : p = r[12];
311
+ let m = p, h;
312
+ r[13] !== n || r[14] !== m ? (h = () => m({
313
+ density: n.density,
314
+ verticalLines: n.verticalLines,
315
+ pageSize: n.pageSize
316
+ }), r[13] = n, r[14] = m, r[15] = h) : h = r[15];
317
+ let g = t !== null, _;
318
+ return r[16] !== s || r[17] !== l || r[18] !== m || r[19] !== h || r[20] !== g ? (_ = {
319
+ prefs: s,
320
+ set: m,
321
+ reset: h,
322
+ persistent: g,
323
+ ready: l
324
+ }, r[16] = s, r[17] = l, r[18] = m, r[19] = h, r[20] = g, r[21] = _) : _ = r[21], _;
325
+ }
326
+ function $e() {}
327
+ function et() {}
328
+ // src/core/views/model.ts
329
+ function tt(e, t) {
330
+ return (t ? e.find((e) => e.id === t) : void 0) ?? e.find((e) => e.kind === "system" && e.default) ?? e.find((e) => e.kind === "system") ?? null;
331
+ }
332
+ var nt = (e) => Array.isArray(e) ? `[${e.map(nt).join(",")}]` : typeof e == "object" && e ? `{${Object.keys(e).sort().map((t) => `${JSON.stringify(t)}:${nt(e[t])}`).join(",")}}` : JSON.stringify(e), rt = (e) => {
333
+ let t = "value" in e ? e.value : void 0;
334
+ return {
335
+ ...e,
336
+ value: Array.isArray(t) ? [...t].sort() : t
337
+ };
338
+ }, it = (e) => nt(e.map(rt).sort((e, t) => e.column.localeCompare(t.column))), at = (e) => [...e].sort().join("\0"), ot = (e, t) => it(e) === it(t), st = (e, t) => nt(e) === nt(t);
339
+ function ct(e, t) {
340
+ if (!ot(e.filters, t.filters) || !st(e.sort, t.sort)) return !1;
341
+ let n = e.columns, r = t.columns;
342
+ if (n.order.join("\0") !== r.order.join("\0") || at(n.visible) !== at(r.visible) || n.pinned.left.join("\0") !== r.pinned.left.join("\0") || n.pinned.right.join("\0") !== r.pinned.right.join("\0")) return !1;
343
+ for (let e of /* @__PURE__ */ new Set([...Object.keys(n.widths), ...Object.keys(r.widths)])) {
344
+ let t = n.widths[e], i = r.widths[e];
345
+ if (t === void 0 || i === void 0 ? t !== i : Math.abs(t - i) > 2) return !1;
346
+ }
347
+ return !0;
348
+ }
349
+ function lt(e, t, n, r) {
350
+ let i = e.trim();
351
+ if (!i) return "required";
352
+ if (i.length > 60) return "tooLong";
353
+ let a = i.toLocaleLowerCase(n);
354
+ return t.some((e) => e.kind === "personal" && e.id !== r && e.name.toLocaleLowerCase(n) === a) ? "taken" : null;
355
+ }
356
+ var ut = (e, t) => [...e].sort((e, n) => t.compare(e.name, n.name));
357
+ // src/list/sort.ts
358
+ function dt(e, t, n) {
359
+ let r = e.findIndex((e) => e.column === t), i = r >= 0 ? e[r] : null, a = i ? i.dir === "asc" ? {
360
+ column: t,
361
+ dir: "desc"
362
+ } : null : {
363
+ column: t,
364
+ dir: "asc"
365
+ };
366
+ return n ? a ? r >= 0 ? e.map((e) => e.column === t ? a : e) : [...e, a].slice(-3) : e.filter((e) => e.column !== t) : a ? [a] : [];
367
+ }
368
+ var ft = (e, t, n) => n ? [{
369
+ column: t,
370
+ dir: n
371
+ }] : e.filter((e) => e.column !== t), pt = (e) => e == null || e === "";
372
+ function mt(e, t) {
373
+ let n = (e, t) => {
374
+ let n = pt(e), r = pt(t);
375
+ return n && r ? 0 : n ? 1 : r ? -1 : null;
376
+ };
377
+ if (c[e.type].numeric || e.type === "boolean" || e.type === "star") return (e, t) => n(e, t) ?? Number(e) - Number(t);
378
+ if (e.type === "date" || e.type === "datetime") return (e, t) => n(e, t) ?? new Date(e).getTime() - new Date(t).getTime();
379
+ let r = o(t).collator();
380
+ return (e, t) => n(e, t) ?? r.compare(String(e), String(t));
381
+ }
382
+ // src/list/use-list-table.ts
383
+ var ht = oe({
384
+ columnFilteringFeature: q,
385
+ globalFilteringFeature: ie,
386
+ filteredRowModel: ne(),
387
+ rowSortingFeature: ae,
388
+ sortedRowModel: re(),
389
+ rowPaginationFeature: Q,
390
+ paginatedRowModel: Z()
391
+ }), gt = [], _t = () => {}, vt = (e) => e.sortable ?? c[e.type].sortable, yt = (e) => e.filterable ?? c[e.type].filterable, bt = (e) => e.searchable ?? c[e.type].searchable, xt = (e) => e == null || e === "" || Array.isArray(e) && e.length === 0;
392
+ function St(e) {
393
+ let t = e.columns.map((t) => {
394
+ let n = t.id, r = mt(t, e.locale);
395
+ return {
396
+ id: n,
397
+ accessorFn: t.accessor ?? ((e) => d(e, n)),
398
+ enableSorting: vt(t),
399
+ enableGlobalFilter: bt(t),
400
+ enableColumnFilter: yt(t),
401
+ filterFn: (t, n, r) => E(r, t.getValue(n), { locale: e.locale }),
402
+ sortFn: (e, t, n) => r(e.getValue(n), t.getValue(n)),
403
+ sortUndefined: 1
404
+ };
405
+ }), n = new Set(e.columns.filter((e) => bt(e)).map((e) => e.id)), r = se({
406
+ features: ht,
407
+ columns: t,
408
+ data: e.rows ?? gt,
409
+ getRowId: e.rowId,
410
+ state: {
411
+ globalFilter: e.search.trim().toLocaleLowerCase(e.locale),
412
+ columnFilters: e.filters.map((e) => ({
413
+ id: e.column,
414
+ value: e
415
+ })),
416
+ sorting: e.sort.map((e) => ({
417
+ id: e.column,
418
+ desc: e.dir === "desc"
419
+ })),
420
+ pagination: {
421
+ pageIndex: e.page - 1,
422
+ pageSize: e.pageSize
423
+ }
424
+ },
425
+ getColumnCanGlobalFilter: (e) => n.has(e.id),
426
+ globalFilterFn: (t, n, r) => {
427
+ let i = t.getValue(n);
428
+ return !xt(i) && String(i).toLocaleLowerCase(e.locale).includes(r);
429
+ },
430
+ onGlobalFilterChange: _t,
431
+ onColumnFiltersChange: _t,
432
+ onSortingChange: _t,
433
+ onPaginationChange: _t,
434
+ autoResetPageIndex: !1,
435
+ maxMultiSortColCount: 3
436
+ }, (e) => ({
437
+ globalFilter: e.globalFilter,
438
+ columnFilters: e.columnFilters,
439
+ sorting: e.sorting,
440
+ pagination: e.pagination
441
+ }));
442
+ return e.rows ? {
443
+ rows: r.getRowModel().rows.map((e) => e.original),
444
+ total: r.getPrePaginatedRowModel().rows.length
445
+ } : {
446
+ rows: void 0,
447
+ total: void 0
448
+ };
449
+ }
450
+ // src/list/use-views.ts
451
+ function Ct(e) {
452
+ let [t, n] = H([]), [r, i] = H({}), a = [...e.system, ...t], o = tt(a, e.defaultViewId)?.id ?? null, s = e.requested === void 0 ? o : e.requested, c = a.find((e) => e.id === s) ?? null, l = e.resolve(c?.state ?? {}), u = {
453
+ filters: e.query.filters ?? l.filters,
454
+ sort: e.query.sort ?? l.sort,
455
+ columns: e.columns
456
+ }, d = !!c && !ct(u, l), f = V(c?.id ?? null);
457
+ I(() => {
458
+ let t = c?.id ?? null;
459
+ f.current !== t && (f.current = t, e.restoreColumns(c?.state.columns));
460
+ }, [c?.id]);
461
+ let p = (t, n = !0) => {
462
+ let a = { ...r };
463
+ c && (n && d ? a[c.id] = u : delete a[c.id]), i(a), f.current = t?.id ?? null, e.apply(t?.id ?? null, t ? a[t.id] ?? e.resolve(t.state) : e.resolve({}));
464
+ };
465
+ I(() => {
466
+ if (!e.adapter) return;
467
+ let t = !0;
468
+ return e.adapter.list(e.tableId).then((e) => t && n(e)).catch(() => {}), () => {
469
+ t = !1;
470
+ };
471
+ }, [e.adapter, e.tableId]);
472
+ let m = (e) => n((t) => t.map((t) => t.id === e.id ? e : t)), h = (e) => i((t) => Object.fromEntries(Object.entries(t).filter(([t]) => t !== e))), g = (t) => !!t && !!e.adapter && t.kind !== "system", _ = new Intl.Collator(e.locale);
473
+ return {
474
+ all: a,
475
+ defaultId: o,
476
+ activeId: s,
477
+ current: u,
478
+ sections: {
479
+ system: e.system,
480
+ personal: ut(t, _)
481
+ },
482
+ active: c,
483
+ edited: d,
484
+ hasViews: a.length > 0 || !!e.adapter,
485
+ canSave: !!e.adapter,
486
+ hasDraft: (e) => e in r,
487
+ writable: g,
488
+ setDefault: e.setDefaultViewId,
489
+ select: (e) => {
490
+ p(a.find((t) => t.id === e) ?? null);
491
+ },
492
+ saveChanges: async () => {
493
+ g(c) && e.adapter && (m(await e.adapter.update(e.tableId, c.id, { state: u })), h(c.id));
494
+ },
495
+ discard: () => {
496
+ c && (h(c.id), e.apply(c.id, e.resolve(c.state)));
497
+ },
498
+ create: async (t) => {
499
+ if (!e.adapter) return;
500
+ let r = await e.adapter.create(e.tableId, {
501
+ name: t.name,
502
+ state: t.state
503
+ });
504
+ n((e) => [...e, r]), t.makeDefault && e.setDefaultViewId(r.id), p(r, !t.fromCurrent);
505
+ },
506
+ rename: async (t, n) => {
507
+ e.adapter && m(await e.adapter.update(e.tableId, t, { name: n }));
508
+ },
509
+ remove: async (t) => {
510
+ if (!e.adapter) return;
511
+ await e.adapter.remove(e.tableId, t), n((e) => e.filter((e) => e.id !== t)), h(t);
512
+ let r = e.defaultViewId === t ? null : e.defaultViewId;
513
+ e.defaultViewId === t && e.setDefaultViewId(null), s === t && p(tt(a.filter((e) => e.id !== t), r), !1);
514
+ }
515
+ };
516
+ }
517
+ // src/list/use-data-table.ts
518
+ var wt = "all", Tt = [
519
+ 50,
520
+ 100,
521
+ 250,
522
+ 500
523
+ ], Et = {};
524
+ function Dt(e, t, n, r = []) {
525
+ let i = /* @__PURE__ */ new Set([n]);
526
+ for (let n of e) if (t.has(n.id)) {
527
+ n.accessor || i.add(n.id);
528
+ for (let e of n.fields ?? []) i.add(e);
529
+ }
530
+ for (let e of r) i.add(e);
531
+ return [...i];
532
+ }
533
+ function Ot(t) {
534
+ let n = e(), r = t.rowKey ?? "id", i = (e) => String(d(e, r)), a = Qe(t.id, n.preferences, {
535
+ density: "standard",
536
+ verticalLines: !1,
537
+ pageSize: t.pageSize ?? 100,
538
+ defaultViewId: null
539
+ }), o = t.views ?? [], s = o.some((e) => e.id === wt) || !o.length && !n.viewsAdapter ? o : [{
540
+ id: wt,
541
+ name: n.i18n.t("views.all"),
542
+ kind: "system",
543
+ state: {}
544
+ }, ...o], [c, l] = H(() => ({ ...t.initialState })), u = t.state ?? c, [f] = H(() => u.view === void 0 ? tt(s, a.prefs.defaultViewId) : s.find((e) => e.id === u.view)), p = Xe({
545
+ columns: t.columns,
546
+ layout: f?.state.columns
547
+ });
548
+ U(p.subscribeSizing, () => p.resizing() ? "" : JSON.stringify(p.state().widths));
549
+ let m = (e) => ({
550
+ filters: e.filters ?? [],
551
+ sort: e.sort ?? [],
552
+ columns: p.resolve(e.columns)
553
+ }), h = Ct({
554
+ tableId: t.id,
555
+ system: s,
556
+ adapter: n.viewsAdapter,
557
+ locale: n.locale,
558
+ defaultViewId: a.prefs.defaultViewId,
559
+ setDefaultViewId: (e) => {
560
+ u.view === void 0 && _({}, tt(h.all, e)?.id ?? null), a.set({ defaultViewId: e });
561
+ },
562
+ requested: u.view,
563
+ query: {
564
+ filters: u.filters,
565
+ sort: u.sort
566
+ },
567
+ columns: p.state(),
568
+ resolve: m,
569
+ apply: (e, t) => {
570
+ p.reset(t.columns), _({
571
+ view: e,
572
+ filters: t.filters,
573
+ sort: t.sort,
574
+ page: 1
575
+ });
576
+ },
577
+ restoreColumns: (e) => p.reset(e ?? {})
578
+ }), g = {
579
+ view: h.activeId,
580
+ search: u.search ?? "",
581
+ filters: h.current.filters,
582
+ sort: h.current.sort,
583
+ page: u.page ?? 1,
584
+ pageSize: u.pageSize ?? a.prefs.pageSize
585
+ }, _ = (e, n = h.defaultId) => {
586
+ let r = {
587
+ ...g,
588
+ ...e
589
+ };
590
+ l(r);
591
+ let i = m(h.all.find((e) => e.id === r.view)?.state ?? {}), o = {
592
+ ...r.view !== n && { view: r.view },
593
+ ...r.search && { search: r.search },
594
+ ...!ot(r.filters, i.filters) && { filters: r.filters },
595
+ ...!st(r.sort, i.sort) && { sort: r.sort },
596
+ ...r.page > 1 && { page: r.page },
597
+ ...r.pageSize !== a.prefs.pageSize && { pageSize: r.pageSize }
598
+ };
599
+ t.onStateChange?.(r, o);
600
+ }, v = Dt(t.columns, new Set(p.columns.map((e) => e.id)), r, t.fields), y = JSON.stringify([
601
+ g.search,
602
+ g.filters,
603
+ g.sort,
604
+ g.page,
605
+ g.pageSize
606
+ ]), [b, x] = H({
607
+ identity: y,
608
+ fields: v
609
+ }), S = b.fields;
610
+ (b.identity !== y || v.some((e) => !b.fields.includes(e))) && (S = v, x({
611
+ identity: y,
612
+ fields: S
613
+ }));
614
+ let C = {
615
+ search: g.search,
616
+ filters: g.filters,
617
+ sort: g.sort,
618
+ page: {
619
+ number: g.page,
620
+ size: g.pageSize
621
+ },
622
+ fields: S
623
+ }, [w, T] = H({
624
+ identity: y,
625
+ ids: Et
626
+ });
627
+ w.identity !== y && T({
628
+ identity: y,
629
+ ids: Et
630
+ });
631
+ let E = w.identity === y ? w.ids : Et, D = St({
632
+ columns: t.columns,
633
+ rows: t.rows,
634
+ rowId: i,
635
+ locale: n.locale,
636
+ search: g.search,
637
+ filters: g.filters,
638
+ sort: g.sort,
639
+ page: g.page,
640
+ pageSize: g.pageSize
641
+ });
642
+ return {
643
+ id: t.id,
644
+ columns: t.columns,
645
+ entityName: t.entityName ?? {
646
+ one: t.id,
647
+ other: t.id
648
+ },
649
+ request: C,
650
+ state: g,
651
+ allRows: t.rows,
652
+ rows: D.rows,
653
+ total: D.total,
654
+ density: t.density ?? a.prefs.density,
655
+ densityFixed: t.density !== void 0,
656
+ prefs: a,
657
+ views: h,
658
+ resolveView: (e) => m(e.state),
659
+ resetDisplay: () => {
660
+ a.reset(), p.reset(h.active?.state.columns ?? {});
661
+ },
662
+ selection: E,
663
+ setSelection: (e) => T({
664
+ identity: y,
665
+ ids: e
666
+ }),
667
+ clearSelection: () => T({
668
+ identity: y,
669
+ ids: Et
670
+ }),
671
+ pageSizes: t.pageSizes ?? Tt,
672
+ count: t.count,
673
+ rowId: i,
674
+ layout: p,
675
+ toggleSort: (e, t) => _({
676
+ sort: dt(g.sort, e, t),
677
+ page: 1
678
+ }),
679
+ setSort: (e, t) => _({
680
+ sort: ft(g.sort, e, t),
681
+ page: 1
682
+ }),
683
+ setSearch: (e) => _({
684
+ search: e,
685
+ page: 1
686
+ }),
687
+ setFilters: (e) => _({
688
+ filters: e,
689
+ page: 1
690
+ }),
691
+ setQuery: (e) => _({
692
+ ...e,
693
+ page: 1
694
+ }),
695
+ setPage: (e) => _({ page: e }),
696
+ setPageSize: (e) => {
697
+ a.set({ pageSize: e }), _({
698
+ pageSize: e,
699
+ page: 1
700
+ });
701
+ }
702
+ };
703
+ }
704
+ // src/core/export/cells.ts
705
+ function kt(e, t, n, r) {
706
+ if (v(n)) return "";
707
+ switch (e.type) {
708
+ case "currency": return r.fmt.decimal(Number(n), i(e));
709
+ case "date":
710
+ case "datetime": return n instanceof Date ? n.toISOString() : String(n);
711
+ case "multiselect": return n.map((t) => a(e.options, t)).join("; ");
712
+ case "string":
713
+ case "text":
714
+ case "uppercase":
715
+ case "lowercase":
716
+ case "email":
717
+ case "url":
718
+ case "phone":
719
+ case "id": return String(n);
720
+ default: return u(e, t, n, r);
721
+ }
722
+ }
723
+ var At = /* @__PURE__ */ new Map();
724
+ function jt(e) {
725
+ let t = At.get(e);
726
+ if (t === void 0) {
727
+ let n = new Intl.DateTimeFormat(e, {
728
+ year: "numeric",
729
+ month: "2-digit",
730
+ day: "2-digit"
731
+ }).formatToParts(new Date(2026, 9, 24)), r = {
732
+ year: "yyyy",
733
+ month: "mm",
734
+ day: "dd"
735
+ };
736
+ t = n.map((e) => r[e.type] ?? e.value).join(""), At.set(e, t);
737
+ }
738
+ return t;
739
+ }
740
+ var Mt = (e) => e > 0 ? `#,##0.${"0".repeat(e)}` : "#,##0", Nt = (e) => new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds()));
741
+ function Pt(e, t, n, r) {
742
+ if (v(n)) return { value: null };
743
+ switch (e.type) {
744
+ case "int":
745
+ case "star": return {
746
+ value: Number(n),
747
+ type: Number,
748
+ format: "#,##0"
749
+ };
750
+ case "float": return {
751
+ value: Number(n),
752
+ type: Number,
753
+ format: Mt(i(e))
754
+ };
755
+ case "percentage": return {
756
+ value: Number(n),
757
+ type: Number,
758
+ format: `${Mt(i(e))}"%"`
759
+ };
760
+ case "currency": {
761
+ let t = typeof e.currency == "string" ? ` "${e.currency}"` : "";
762
+ return {
763
+ value: Number(n),
764
+ type: Number,
765
+ format: Mt(i(e)) + t
766
+ };
767
+ }
768
+ case "date":
769
+ case "datetime": {
770
+ let t = m(n);
771
+ if (Number.isNaN(t.getTime())) return {
772
+ value: String(n),
773
+ type: String
774
+ };
775
+ let i = jt(r.i18n.locale);
776
+ return {
777
+ value: Nt(t),
778
+ type: Date,
779
+ format: e.type === "date" ? i : `${i} hh:mm`
780
+ };
781
+ }
782
+ default: {
783
+ let i = kt(e, t, n, r);
784
+ return {
785
+ value: i === "" ? null : i,
786
+ type: String
787
+ };
788
+ }
789
+ }
790
+ }
791
+ function Ft(e, t) {
792
+ return e.type === "select" ? e.options.map((e) => e.label) : e.type === "boolean" ? [t.i18n.t("common.yes"), t.i18n.t("common.no")] : null;
793
+ }
794
+ // src/core/export/write.ts
795
+ var It = {
796
+ fontWeight: "bold",
797
+ textColor: "#15171C",
798
+ backgroundColor: "#E8EAEE",
799
+ borderColor: "#B4B9C2",
800
+ borderStyle: "thin",
801
+ alignVertical: "center"
802
+ }, Lt = 16, Rt = (e) => e.replace(/[[\]:*?/\\]/g, " ").slice(0, 31) || "Sheet1";
803
+ function zt(e) {
804
+ let t = 0;
805
+ for (let n of e) t = Math.max(t, ...n.split("\n").map((e) => e.length));
806
+ return Math.round(Math.min(60, Math.max(8, t + 2)) * (Lt / 11));
807
+ }
808
+ function Bt(e) {
809
+ let t = e.env.fmt.decimal(1.5, 1).includes(",") ? ";" : ",", n = (e) => e.includes(t) || /["\r\n]/.test(e) ? `"${e.replace(/"/g, "\"\"")}"` : e;
810
+ return [e.columns.map((e) => n(e.header)), ...e.rows.map((t) => e.columns.map((r) => n(kt(r, t, e.read(t, r), e.env))))].map((e) => e.join(t)).join("\r\n");
811
+ }
812
+ async function Vt(e) {
813
+ let [{ default: t }, n] = await Promise.all([import("write-excel-file/browser"), import("write-excel-file/utility")]), { columns: r, rows: i, env: a } = e, o = [r.map((e) => ({
814
+ value: e.header,
815
+ ...It
816
+ })), ...i.map((t) => r.map((n) => Pt(n, t, e.read(t, n), a)))], s = i.slice(0, 200), c = r.map((t) => ({ width: zt([t.header, ...s.map((n) => kt(t, n, e.read(n, t), a))]) })), l = r.flatMap((e, t) => {
817
+ let n = Ft(e, a);
818
+ return n ? [{
819
+ column: t + 1,
820
+ header: e.header,
821
+ values: n
822
+ }] : [];
823
+ }), u = Rt(a.i18n.t("export.optionsSheet")), d = `'${u.replace(/'/g, "''")}'`, f = i.length ? l.map((e, t) => {
824
+ let r = n.getCellAddress(0, t).replace(/\d+$/, "");
825
+ return `<dataValidation type="list" allowBlank="1" showErrorMessage="1" sqref="${n.getCellAddress(1, e.column - 1) + ":" + n.getCellAddress(i.length, e.column - 1)}"><formula1>${n.sanitizeTextContent(`${d}!$${r}$2:$${r}$${e.values.length + 1}`)}</formula1></dataValidation>`;
826
+ }) : [], p = Math.max(0, ...l.map((e) => e.values.length)), m = [l.map((e) => ({
827
+ value: e.header,
828
+ ...It
829
+ })), ...Array.from({ length: p }, (e, t) => l.map((e) => ({ value: e.values[t] ?? null })))], h = { files: { transform: { "xl/worksheets/sheet{id}.xml": { transform: (e, t, r) => {
830
+ if (r.sheetIndex !== 0 || !f.length) return e;
831
+ let i = n.getOrderOfSiblings("xl/worksheets/sheet{id}.xml", "worksheet"), a = `<dataValidations count="${f.length}">${f.join("")}</dataValidations>`;
832
+ return n.insertElementMarkupAccordingToOrderOfSiblings(e, a, i, "worksheet");
833
+ } } } } }, g = {
834
+ sheet: Rt(e.name),
835
+ data: o,
836
+ columns: c,
837
+ stickyRowsCount: 1
838
+ };
839
+ return t(l.length ? [g, {
840
+ sheet: u,
841
+ data: m,
842
+ columns: l.map((e) => ({ width: zt([e.header, ...e.values]) }))
843
+ }] : [g], {
844
+ features: [h],
845
+ fontSize: Lt
846
+ }).toBlob();
847
+ }
848
+ function Ht(e, t) {
849
+ let n = document.createElement("a");
850
+ n.href = URL.createObjectURL(e), n.download = t, n.click(), setTimeout(() => URL.revokeObjectURL(n.href), 1e3);
851
+ }
852
+ async function Ut(e) {
853
+ Ht(e.format === "csv" ? new Blob(["" + Bt(e)], { type: "text/csv;charset=utf-8" }) : await Vt(e), `${e.name}.${e.format}`);
854
+ }
855
+ // src/core/cells/remote-labels.ts
856
+ var Wt = class {
857
+ cache = /* @__PURE__ */ new Map();
858
+ pending = /* @__PURE__ */ new Map();
859
+ inFlight = /* @__PURE__ */ new Map();
860
+ scheduled = !1;
861
+ listeners = /* @__PURE__ */ new Set();
862
+ version = 0;
863
+ subscribe = (e) => (this.listeners.add(e), () => this.listeners.delete(e));
864
+ getVersion = () => this.version;
865
+ option(e, t, n) {
866
+ let r = this.cache.get(e)?.get(n);
867
+ if (r || !t) return r;
868
+ if (!this.inFlight.get(e)?.has(n)) {
869
+ let r = this.pending.get(e);
870
+ r || this.pending.set(e, r = {
871
+ remote: t,
872
+ ids: /* @__PURE__ */ new Set()
873
+ }), r.ids.add(n), this.schedule();
874
+ }
875
+ }
876
+ label(e, t, n) {
877
+ return this.option(e, t, n)?.label ?? String(n);
878
+ }
879
+ seed(e, t) {
880
+ let n = this.cache.get(e);
881
+ n || this.cache.set(e, n = /* @__PURE__ */ new Map());
882
+ for (let e of t) n.set(e.value, e);
883
+ this.version++;
884
+ for (let e of this.listeners) e();
885
+ }
886
+ schedule() {
887
+ this.scheduled || (this.scheduled = !0, queueMicrotask(() => {
888
+ this.scheduled = !1;
889
+ for (let [e, { remote: t, ids: n }] of this.pending) {
890
+ this.pending.delete(e);
891
+ let r = [...n], i = this.inFlight.get(e);
892
+ i || this.inFlight.set(e, i = /* @__PURE__ */ new Set()), r.forEach((e) => i.add(e)), t.resolve(r, { signal: new AbortController().signal }).then((t) => this.seed(e, t)).catch(() => {}).finally(() => r.forEach((e) => i.delete(e)));
893
+ }
894
+ }));
895
+ }
896
+ };
897
+ // src/core/filters/column-picker.tsx
898
+ function Gt(t) {
899
+ let n = M(89), { columns: r, chips: i, trigger: a, open: o, onOpenChange: s, onPick: c } = t, { i18n: l } = e(), [u, d] = H(!1), f = o ?? u, p;
900
+ n[0] === s ? p = n[1] : (p = (e) => {
901
+ d(e), s?.(e);
902
+ }, n[0] = s, n[1] = p);
903
+ let m = p, [h, g] = H(""), _ = V(!1), v, y, x, S, C, w, T, E, D, O, k, A, j, N, P, F, I, L, R, z, B, U, W, q;
904
+ if (n[2] !== i || n[3] !== r || n[4] !== l || n[5] !== f || n[6] !== c || n[7] !== h || n[8] !== m || n[9] !== a) {
905
+ let e = h.toLocaleLowerCase(), t = (t) => !h || t.header.toLocaleLowerCase().includes(e), o = new Set(i.map(Yt)), s = i.map((e) => r.find((t) => t.id === e.column)).filter((e) => !!e && t(e)), u = r.filter((e) => e.suggested && !o.has(e.id) && t(e)).slice(0, 4), d = /* @__PURE__ */ new Set([...o, ...u.map(Jt)]), p = r.filter((e) => !d.has(e.id) && t(e)), M = (e) => l.t(b(e.type));
906
+ w = [
907
+ {
908
+ key: "filtered",
909
+ label: l.t("picker.filtered"),
910
+ items: s,
911
+ hint: () => l.t("picker.filteredHint")
912
+ },
913
+ {
914
+ key: "suggested",
915
+ label: l.t("picker.suggested"),
916
+ items: u,
917
+ hint: M
918
+ },
919
+ {
920
+ key: "all",
921
+ label: l.t("picker.allColumns"),
922
+ items: p,
923
+ hint: M
924
+ }
925
+ ].filter(qt), C = Ae.Root, E = f, n[34] === m ? D = n[35] : (D = (e) => {
926
+ m(e), e || g("");
927
+ }, n[34] = m, n[35] = D), O = null, n[36] !== c || n[37] !== m ? (k = (e) => {
928
+ typeof e == "string" && (_.current = !0, m(!1), g(""), c(e));
929
+ }, n[36] = c, n[37] = m, n[38] = k) : k = n[38], A = h, n[39] === Symbol.for("react.memo_cache_sentinel") ? (j = (e) => g(e), n[39] = j) : j = n[39], N = null, P = !0, n[40] === a ? F = n[41] : (F = /* @__PURE__ */ G(Ae.Trigger, { render: a }), n[40] = a, n[41] = F), S = Ae.Portal, x = Ae.Positioner, W = "dt-positioner", q = "start", T = 4, y = Ae.Popup, z = "dt-pop dt-picker", n[42] === Symbol.for("react.memo_cache_sentinel") ? (B = () => {
930
+ let e = !_.current;
931
+ return _.current = !1, e;
932
+ }, n[42] = B) : B = n[42];
933
+ let V;
934
+ n[43] === Symbol.for("react.memo_cache_sentinel") ? (V = /* @__PURE__ */ G("span", {
935
+ className: "dt-input-icon",
936
+ children: /* @__PURE__ */ G(be, {
937
+ size: 14,
938
+ "aria-hidden": "true"
939
+ })
940
+ }), n[43] = V) : V = n[43];
941
+ let H;
942
+ n[44] === l ? H = n[45] : (H = l.t("picker.search"), n[44] = l, n[45] = H);
943
+ let J;
944
+ n[46] === l ? J = n[47] : (J = l.t("picker.search"), n[46] = l, n[47] = J), n[48] !== H || n[49] !== J ? (U = /* @__PURE__ */ K("label", {
945
+ className: "dt-input has-icon dt-picker-search",
946
+ children: [V, /* @__PURE__ */ G(Ae.Input, {
947
+ placeholder: H,
948
+ "aria-label": J
949
+ })]
950
+ }), n[48] = H, n[49] = J, n[50] = U) : U = n[50], v = Ae.List, I = "dt-picker-list", n[51] === l ? L = n[52] : (L = l.t("display.columns"), n[51] = l, n[52] = L), R = w.map(Kt), n[2] = i, n[3] = r, n[4] = l, n[5] = f, n[6] = c, n[7] = h, n[8] = m, n[9] = a, n[10] = v, n[11] = y, n[12] = x, n[13] = S, n[14] = C, n[15] = w, n[16] = T, n[17] = E, n[18] = D, n[19] = O, n[20] = k, n[21] = A, n[22] = j, n[23] = N, n[24] = P, n[25] = F, n[26] = I, n[27] = L, n[28] = R, n[29] = z, n[30] = B, n[31] = U, n[32] = W, n[33] = q;
951
+ } else v = n[10], y = n[11], x = n[12], S = n[13], C = n[14], w = n[15], T = n[16], E = n[17], D = n[18], O = n[19], k = n[20], A = n[21], j = n[22], N = n[23], P = n[24], F = n[25], I = n[26], L = n[27], R = n[28], z = n[29], B = n[30], U = n[31], W = n[32], q = n[33];
952
+ let J;
953
+ n[53] !== v || n[54] !== I || n[55] !== L || n[56] !== R ? (J = /* @__PURE__ */ G(v, {
954
+ className: I,
955
+ "aria-label": L,
956
+ children: R
957
+ }), n[53] = v, n[54] = I, n[55] = L, n[56] = R, n[57] = J) : J = n[57];
958
+ let ee;
959
+ n[58] !== w.length || n[59] !== l ? (ee = w.length === 0 && /* @__PURE__ */ G("div", {
960
+ className: "dt-options-empty",
961
+ children: l.t("picker.noMatch")
962
+ }), n[58] = w.length, n[59] = l, n[60] = ee) : ee = n[60];
963
+ let Y;
964
+ n[61] !== y || n[62] !== J || n[63] !== ee || n[64] !== z || n[65] !== B || n[66] !== U ? (Y = /* @__PURE__ */ K(y, {
965
+ className: z,
966
+ finalFocus: B,
967
+ children: [
968
+ U,
969
+ J,
970
+ ee
971
+ ]
972
+ }), n[61] = y, n[62] = J, n[63] = ee, n[64] = z, n[65] = B, n[66] = U, n[67] = Y) : Y = n[67];
973
+ let te;
974
+ n[68] !== x || n[69] !== T || n[70] !== Y || n[71] !== W || n[72] !== q ? (te = /* @__PURE__ */ G(x, {
975
+ className: W,
976
+ align: q,
977
+ sideOffset: T,
978
+ children: Y
979
+ }), n[68] = x, n[69] = T, n[70] = Y, n[71] = W, n[72] = q, n[73] = te) : te = n[73];
980
+ let X;
981
+ n[74] !== S || n[75] !== te ? (X = /* @__PURE__ */ G(S, { children: te }), n[74] = S, n[75] = te, n[76] = X) : X = n[76];
982
+ let ne;
983
+ return n[77] !== C || n[78] !== E || n[79] !== D || n[80] !== O || n[81] !== k || n[82] !== A || n[83] !== j || n[84] !== N || n[85] !== P || n[86] !== F || n[87] !== X ? (ne = /* @__PURE__ */ K(C, {
984
+ open: E,
985
+ onOpenChange: D,
986
+ value: O,
987
+ onValueChange: k,
988
+ inputValue: A,
989
+ onInputValueChange: j,
990
+ filter: N,
991
+ autoHighlight: P,
992
+ children: [F, X]
993
+ }), n[77] = C, n[78] = E, n[79] = D, n[80] = O, n[81] = k, n[82] = A, n[83] = j, n[84] = N, n[85] = P, n[86] = F, n[87] = X, n[88] = ne) : ne = n[88], ne;
994
+ }
995
+ function Kt(e) {
996
+ return /* @__PURE__ */ K(Ae.Group, { children: [/* @__PURE__ */ G(Ae.GroupLabel, {
997
+ className: "dt-pop-label",
998
+ children: e.label
999
+ }), e.items.map((t) => {
1000
+ let n = g[t.type];
1001
+ return /* @__PURE__ */ K(Ae.Item, {
1002
+ value: t.id,
1003
+ className: "dt-picker-item",
1004
+ children: [
1005
+ /* @__PURE__ */ G(n, {
1006
+ size: 14,
1007
+ "aria-hidden": "true"
1008
+ }),
1009
+ /* @__PURE__ */ G("span", {
1010
+ className: "dt-picker-name",
1011
+ children: t.header
1012
+ }),
1013
+ /* @__PURE__ */ G("span", {
1014
+ className: "dt-picker-hint",
1015
+ children: e.hint(t)
1016
+ })
1017
+ ]
1018
+ }, t.id);
1019
+ })] }, e.key);
1020
+ }
1021
+ function qt(e) {
1022
+ return e.items.length;
1023
+ }
1024
+ function Jt(e) {
1025
+ return e.id;
1026
+ }
1027
+ function Yt(e) {
1028
+ return e.column;
1029
+ }
1030
+ // src/core/ui/menu.tsx
1031
+ function Xt(e) {
1032
+ let t = M(18), { trigger: n, children: r, open: i, onOpenChange: a, className: o, finalFocus: s, align: c, side: l, offset: u } = e, d = c === void 0 ? "end" : c, f;
1033
+ t[0] === a ? f = t[1] : (f = a ? (e) => a(e) : void 0, t[0] = a, t[1] = f);
1034
+ let p;
1035
+ t[2] === n ? p = t[3] : (p = /* @__PURE__ */ G($.Trigger, { render: n }), t[2] = n, t[3] = p);
1036
+ let m = u ?? (l === "right" ? 8 : d === "start" ? 6 : 4), h = o ? `dt-menu ${o}` : "dt-menu", g;
1037
+ t[4] !== r || t[5] !== s || t[6] !== h ? (g = /* @__PURE__ */ G($.Popup, {
1038
+ className: h,
1039
+ finalFocus: s,
1040
+ children: r
1041
+ }), t[4] = r, t[5] = s, t[6] = h, t[7] = g) : g = t[7];
1042
+ let _;
1043
+ t[8] !== d || t[9] !== l || t[10] !== m || t[11] !== g ? (_ = /* @__PURE__ */ G($.Portal, { children: /* @__PURE__ */ G($.Positioner, {
1044
+ className: "dt-positioner",
1045
+ side: l,
1046
+ align: d,
1047
+ sideOffset: m,
1048
+ children: g
1049
+ }) }), t[8] = d, t[9] = l, t[10] = m, t[11] = g, t[12] = _) : _ = t[12];
1050
+ let v;
1051
+ return t[13] !== i || t[14] !== f || t[15] !== p || t[16] !== _ ? (v = /* @__PURE__ */ K($.Root, {
1052
+ open: i,
1053
+ onOpenChange: f,
1054
+ children: [p, _]
1055
+ }), t[13] = i, t[14] = f, t[15] = p, t[16] = _, t[17] = v) : v = t[17], v;
1056
+ }
1057
+ function Zt(e) {
1058
+ let t = M(11), { children: n, onSelect: r, disabled: i, destructive: a, selected: o, twoLine: s } = e, c = a && "is-destructive", l = o && "is-selected", u = s && "is-two-line", d;
1059
+ t[0] !== c || t[1] !== l || t[2] !== u ? (d = [
1060
+ "dt-menu-item",
1061
+ c,
1062
+ l,
1063
+ u
1064
+ ], t[0] = c, t[1] = l, t[2] = u, t[3] = d) : d = t[3];
1065
+ let f = d, p;
1066
+ t[4] === f ? p = t[5] : (p = f.filter(Boolean), t[4] = f, t[5] = p);
1067
+ let m = p.join(" "), h;
1068
+ return t[6] !== n || t[7] !== i || t[8] !== r || t[9] !== m ? (h = /* @__PURE__ */ G($.Item, {
1069
+ className: m,
1070
+ disabled: i,
1071
+ onClick: r,
1072
+ children: n
1073
+ }), t[6] = n, t[7] = i, t[8] = r, t[9] = m, t[10] = h) : h = t[10], h;
1074
+ }
1075
+ var Qt = () => {
1076
+ let e = M(1), t;
1077
+ return e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ G($.Separator, { className: "dt-menu-sep" }), e[0] = t) : t = e[0], t;
1078
+ }, $t = (e) => {
1079
+ let t = M(2), { children: n } = e, r;
1080
+ return t[0] === n ? r = t[1] : (r = /* @__PURE__ */ G($.Group, { children: /* @__PURE__ */ G($.GroupLabel, {
1081
+ className: "dt-menu-label",
1082
+ children: n
1083
+ }) }), t[0] = n, t[1] = r), r;
1084
+ };
1085
+ // src/core/filters/filter-chip.tsx
1086
+ function en(t) {
1087
+ let n = M(96), { chip: r, column: i, editing: a, summary: o, rows: s, labels: c, currencies: l, onChange: u, onEditing: d, onRemove: p, onOpen: m } = t, { i18n: h } = e(), _ = i.type, v = g[_], y;
1088
+ n[0] !== r.op || n[1] !== _ ? (y = A(r.op, _), n[0] = r.op, n[1] = _, n[2] = y) : y = n[2];
1089
+ let b = y, S;
1090
+ n[3] !== r || n[4] !== _ ? (S = w(r, _), n[3] = r, n[4] = _, n[5] = S) : S = n[5];
1091
+ let C = S, T = Array.isArray(r.value) ? r.value.length : 1, E, j, P;
1092
+ n[6] !== r.op || n[7] !== i.header || n[8] !== C || n[9] !== T || n[10] !== h || n[11] !== o.full || n[12] !== o.text || n[13] !== _ ? (E = O(h, r.op, _, T), P = o.full && o.full !== o.text ? o.full : void 0, j = C ? h.t("filter.valueAria", {
1093
+ column: i.header,
1094
+ op: E,
1095
+ value: o.text
1096
+ }) : h.t("filter.chooseValueAria", {
1097
+ column: i.header,
1098
+ op: E,
1099
+ value: h.t("filter.selectValue")
1100
+ }), n[6] = r.op, n[7] = i.header, n[8] = C, n[9] = T, n[10] = h, n[11] = o.full, n[12] = o.text, n[13] = _, n[14] = E, n[15] = j, n[16] = P) : (E = n[14], j = n[15], P = n[16]);
1101
+ let F = j, I;
1102
+ n[17] !== r.op || n[18] !== _ ? (I = D(r.op, _), n[17] = r.op, n[18] = _, n[19] = I) : I = n[19];
1103
+ let L = I, R;
1104
+ n[20] !== r.value || n[21] !== L || n[22] !== h || n[23] !== b ? (R = L === "options" && Array.isArray(r.value) && r.value.length ? h.t("option.selected", { count: r.value.length }) : b === "range" ? h.t("number.boundsIncluded") : "", n[20] = r.value, n[21] = L, n[22] = h, n[23] = b, n[24] = R) : R = n[24];
1105
+ let z = R, B;
1106
+ n[25] !== r || n[26] !== u ? (B = (e) => u({
1107
+ ...r,
1108
+ ...e
1109
+ }), n[25] = r, n[26] = u, n[27] = B) : B = n[27];
1110
+ let H = B, U;
1111
+ n[28] !== r || n[29] !== u || n[30] !== _ ? (U = (e) => u(k(r, e, _)), n[28] = r, n[29] = u, n[30] = _, n[31] = U) : U = n[31];
1112
+ let q = U, J;
1113
+ n[32] === d ? J = n[33] : (J = () => d(!1), n[32] = d, n[33] = J);
1114
+ let ee = J, Y = V(null), te = V(null), X;
1115
+ n[34] === v ? X = n[35] : (X = /* @__PURE__ */ G(v, {
1116
+ size: 14,
1117
+ className: "dt-chip-icon",
1118
+ "aria-hidden": "true"
1119
+ }), n[34] = v, n[35] = X);
1120
+ let ne;
1121
+ n[36] === i.header ? ne = n[37] : (ne = /* @__PURE__ */ G("span", {
1122
+ className: "dt-chip-field",
1123
+ children: i.header
1124
+ }), n[36] = i.header, n[37] = ne);
1125
+ let Z;
1126
+ n[38] === E ? Z = n[39] : (Z = /* @__PURE__ */ G("span", {
1127
+ className: "dt-chip-op",
1128
+ children: E
1129
+ }), n[38] = E, n[39] = Z);
1130
+ let re;
1131
+ n[40] !== ne || n[41] !== Z || n[42] !== X ? (re = /* @__PURE__ */ K(W, { children: [
1132
+ X,
1133
+ ne,
1134
+ " ",
1135
+ Z,
1136
+ " "
1137
+ ] }), n[40] = ne, n[41] = Z, n[42] = X, n[43] = re) : re = n[43];
1138
+ let ie = re, Q, ae, oe;
1139
+ if (n[44] !== v || n[45] !== F || n[46] !== r || n[47] !== ee || n[48] !== i || n[49] !== C || n[50] !== T || n[51] !== l || n[52] !== a || n[53] !== L || n[54] !== ie || n[55] !== h || n[56] !== c || n[57] !== u || n[58] !== d || n[59] !== m || n[60] !== E || n[61] !== s || n[62] !== q || n[63] !== b || n[64] !== z || n[65] !== o.people || n[66] !== o.text || n[67] !== P || n[68] !== _ || n[69] !== H) {
1140
+ let e = C ? o.people?.slice(0, 3) ?? [] : [], t;
1141
+ n[73] !== r || n[74] !== ee || n[75] !== i || n[76] !== l || n[77] !== L || n[78] !== c || n[79] !== u || n[80] !== s ? (t = L && /* @__PURE__ */ G(f, {
1142
+ chip: r,
1143
+ column: i,
1144
+ rows: s,
1145
+ labels: c,
1146
+ currencies: l,
1147
+ onChange: u,
1148
+ onDone: ee
1149
+ }), n[73] = r, n[74] = ee, n[75] = i, n[76] = l, n[77] = L, n[78] = c, n[79] = u, n[80] = s, n[81] = t) : t = n[81];
1150
+ let p = t, g = a && "is-editing", y = !C && "is-incomplete", S = m && "is-phone", w;
1151
+ n[82] !== g || n[83] !== y || n[84] !== S ? (w = [
1152
+ "dt-chip",
1153
+ g,
1154
+ y,
1155
+ S
1156
+ ].filter(Boolean), n[82] = g, n[83] = y, n[84] = S, n[85] = w) : w = n[85], Q = w.join(" "), ae = r.column, oe = m ? /* @__PURE__ */ K("button", {
1157
+ type: "button",
1158
+ className: "dt-chip-body",
1159
+ "aria-label": h.t("mobile.chipAria", { summary: `${i.header} ${E} ${o.text}`.trim() }),
1160
+ onClick: m,
1161
+ children: [
1162
+ /* @__PURE__ */ G(v, {
1163
+ size: 14,
1164
+ className: "dt-chip-icon",
1165
+ "aria-hidden": "true"
1166
+ }),
1167
+ /* @__PURE__ */ G("span", {
1168
+ className: "dt-chip-field",
1169
+ children: i.header
1170
+ }),
1171
+ " ",
1172
+ /* @__PURE__ */ G("span", {
1173
+ className: "dt-chip-op",
1174
+ children: E
1175
+ }),
1176
+ " ",
1177
+ /* @__PURE__ */ G("span", {
1178
+ className: "dt-chip-value",
1179
+ children: o.text
1180
+ })
1181
+ ]
1182
+ }) : _ === "boolean" ? /* @__PURE__ */ K("button", {
1183
+ type: "button",
1184
+ className: "dt-chip-body",
1185
+ "aria-label": F,
1186
+ onClick: () => H({ value: r.value !== !0 }),
1187
+ children: [ie, /* @__PURE__ */ G("span", {
1188
+ className: "dt-chip-value",
1189
+ children: o.text
1190
+ })]
1191
+ }) : /* @__PURE__ */ K(je.Root, {
1192
+ open: a,
1193
+ onOpenChange: (e) => d(e),
1194
+ children: [/* @__PURE__ */ K(je.Trigger, {
1195
+ ref: te,
1196
+ className: "dt-chip-body",
1197
+ "aria-label": F,
1198
+ children: [ie, b !== "none" && /* @__PURE__ */ K("span", {
1199
+ className: C ? "dt-chip-value" : "dt-chip-value is-placeholder",
1200
+ "data-dt-tip": P,
1201
+ children: [e.length > 0 && /* @__PURE__ */ G("span", {
1202
+ className: "dt-chip-avatars",
1203
+ children: e.map(tn)
1204
+ }), C ? o.text : h.t("filter.selectValue")]
1205
+ })]
1206
+ }), /* @__PURE__ */ G(je.Portal, { children: /* @__PURE__ */ G(je.Positioner, {
1207
+ className: "dt-positioner",
1208
+ align: "start",
1209
+ sideOffset: 4,
1210
+ children: /* @__PURE__ */ K(je.Popup, {
1211
+ className: `dt-pop dt-chip-pop is-${L ?? "none"}`,
1212
+ initialFocus: () => Y.current?.querySelector("input, textarea") ?? !0,
1213
+ finalFocus: (e) => e === "mouse" || e === "touch" || e === "pen" ? !1 : te.current,
1214
+ children: [
1215
+ /* @__PURE__ */ K("div", {
1216
+ className: "dt-chip-pop-head",
1217
+ children: [/* @__PURE__ */ G("span", {
1218
+ className: "dt-chip-pop-field",
1219
+ children: i.header
1220
+ }), /* @__PURE__ */ K(Xt, {
1221
+ align: "start",
1222
+ className: "dt-op-menu",
1223
+ trigger: /* @__PURE__ */ K("button", {
1224
+ type: "button",
1225
+ className: "dt-op-btn",
1226
+ children: [E, /* @__PURE__ */ G(de, {
1227
+ size: 12,
1228
+ "aria-hidden": "true"
1229
+ })]
1230
+ }),
1231
+ children: [_ === "user" && /* @__PURE__ */ G(Zt, {
1232
+ onSelect: () => u({
1233
+ ...r,
1234
+ op: "in",
1235
+ value: ["@me"]
1236
+ }),
1237
+ children: h.t("op.isMe")
1238
+ }), x(i).map((e) => /* @__PURE__ */ K(N, { children: [e === "is_empty" && /* @__PURE__ */ G(Qt, {}), /* @__PURE__ */ K(Zt, {
1239
+ selected: e === r.op,
1240
+ onSelect: () => q(e),
1241
+ children: [O(h, e, _, T), e === r.op && /* @__PURE__ */ G(me, {
1242
+ size: 14,
1243
+ className: "dt-pop-end",
1244
+ "aria-hidden": "true"
1245
+ })]
1246
+ })] }, e))]
1247
+ })]
1248
+ }),
1249
+ p && /* @__PURE__ */ G("div", {
1250
+ ref: Y,
1251
+ className: "dt-chip-pop-body",
1252
+ children: p
1253
+ }),
1254
+ /* @__PURE__ */ K("div", {
1255
+ className: "dt-pop-foot",
1256
+ children: [/* @__PURE__ */ G("span", { children: z }), /* @__PURE__ */ G("button", {
1257
+ type: "button",
1258
+ className: "dt-pop-action",
1259
+ disabled: r.value === void 0,
1260
+ onClick: () => {
1261
+ Y.current?.querySelector("input, textarea, button")?.focus(), H({ value: void 0 });
1262
+ },
1263
+ children: h.t("common.clear")
1264
+ })]
1265
+ })
1266
+ ]
1267
+ })
1268
+ }) })]
1269
+ }), n[44] = v, n[45] = F, n[46] = r, n[47] = ee, n[48] = i, n[49] = C, n[50] = T, n[51] = l, n[52] = a, n[53] = L, n[54] = ie, n[55] = h, n[56] = c, n[57] = u, n[58] = d, n[59] = m, n[60] = E, n[61] = s, n[62] = q, n[63] = b, n[64] = z, n[65] = o.people, n[66] = o.text, n[67] = P, n[68] = _, n[69] = H, n[70] = Q, n[71] = ae, n[72] = oe;
1270
+ } else Q = n[70], ae = n[71], oe = n[72];
1271
+ let se;
1272
+ n[86] !== i.header || n[87] !== h || n[88] !== m || n[89] !== p ? (se = !m && /* @__PURE__ */ G("button", {
1273
+ type: "button",
1274
+ className: "dt-chip-remove",
1275
+ "aria-label": h.t("filter.removeAria", { column: i.header }),
1276
+ onClick: p,
1277
+ children: /* @__PURE__ */ G(ke, {
1278
+ size: 12,
1279
+ "aria-hidden": "true"
1280
+ })
1281
+ }), n[86] = i.header, n[87] = h, n[88] = m, n[89] = p, n[90] = se) : se = n[90];
1282
+ let ce;
1283
+ return n[91] !== Q || n[92] !== ae || n[93] !== oe || n[94] !== se ? (ce = /* @__PURE__ */ K("span", {
1284
+ className: Q,
1285
+ "data-col": ae,
1286
+ children: [oe, se]
1287
+ }), n[91] = Q, n[92] = ae, n[93] = oe, n[94] = se, n[95] = ce) : ce = n[95], ce;
1288
+ }
1289
+ function tn(e) {
1290
+ return /* @__PURE__ */ G(l, { user: e }, String(e.value));
1291
+ }
1292
+ // src/core/filters/filter-bar.tsx
1293
+ function nn(t) {
1294
+ let n = M(41), { chips: r, defOf: i, editing: a, rows: o, labels: s, summaryOf: c, currenciesOf: l, add: u, onChange: d, onRemove: f, onEditing: p, onClearAll: m, onOpen: h } = t, { i18n: g } = e(), _ = V(null), v;
1295
+ n[0] === Symbol.for("react.memo_cache_sentinel") ? (v = (e) => e ? [..._.current?.querySelectorAll(".dt-chip") ?? []].find((t) => t.dataset.col === e) : void 0, n[0] = v) : v = n[0];
1296
+ let y = v, [b, x] = H(!1), S;
1297
+ n[1] === Symbol.for("react.memo_cache_sentinel") ? (S = () => {
1298
+ let e = _.current;
1299
+ e && x(e.scrollLeft + e.clientWidth < e.scrollWidth - 1);
1300
+ }, n[1] = S) : S = n[1];
1301
+ let C = S, w, T;
1302
+ n[2] === Symbol.for("react.memo_cache_sentinel") ? (w = () => {
1303
+ let e = _.current;
1304
+ if (!e || typeof ResizeObserver > "u") return;
1305
+ let t = new ResizeObserver(C);
1306
+ return t.observe(e), () => t.disconnect();
1307
+ }, T = [], n[2] = w, n[3] = T) : (w = n[2], T = n[3]), I(w, T);
1308
+ let E = a ?? r.at(-1)?.column, D;
1309
+ n[4] === E ? D = n[5] : (D = () => {
1310
+ C(), y(E)?.scrollIntoView?.({
1311
+ inline: "nearest",
1312
+ block: "nearest"
1313
+ });
1314
+ }, n[4] = E, n[5] = D);
1315
+ let O;
1316
+ n[6] !== r.length || n[7] !== E ? (O = [r.length, E], n[6] = r.length, n[7] = E, n[8] = O) : O = n[8], B(D, O);
1317
+ let k = V(void 0), A;
1318
+ n[9] === Symbol.for("react.memo_cache_sentinel") ? (A = () => {
1319
+ if (k.current === void 0) return;
1320
+ let e = k.current;
1321
+ k.current = void 0, (y(e ?? void 0)?.querySelector(".dt-chip-body") ?? _.current?.parentElement?.querySelector(".dt-filter-add"))?.focus();
1322
+ }, n[9] = A) : A = n[9], I(A);
1323
+ let j, N, P, F, L;
1324
+ if (n[10] !== r || n[11] !== l || n[12] !== i || n[13] !== a || n[14] !== s || n[15] !== d || n[16] !== p || n[17] !== h || n[18] !== f || n[19] !== o || n[20] !== b || n[21] !== c) {
1325
+ let e = (e) => {
1326
+ let t = r.findIndex((t) => t.column === e);
1327
+ k.current = r[t + 1]?.column ?? null, f(e);
1328
+ };
1329
+ P = b ? "dt-filter-row is-scrolled-end" : "dt-filter-row", F = _, L = "dt-chips", j = C, N = r.map((t) => /* @__PURE__ */ G(en, {
1330
+ chip: t,
1331
+ column: i(t.column),
1332
+ editing: a === t.column,
1333
+ summary: c(t),
1334
+ rows: o,
1335
+ labels: s,
1336
+ currencies: l(i(t.column)),
1337
+ onChange: d,
1338
+ onEditing: (e) => p(e ? t.column : null),
1339
+ onRemove: () => e(t.column),
1340
+ onOpen: h && (() => h(t.column))
1341
+ }, t.column)), n[10] = r, n[11] = l, n[12] = i, n[13] = a, n[14] = s, n[15] = d, n[16] = p, n[17] = h, n[18] = f, n[19] = o, n[20] = b, n[21] = c, n[22] = j, n[23] = N, n[24] = P, n[25] = F, n[26] = L;
1342
+ } else j = n[22], N = n[23], P = n[24], F = n[25], L = n[26];
1343
+ let R;
1344
+ n[27] !== j || n[28] !== N || n[29] !== F || n[30] !== L ? (R = /* @__PURE__ */ G("div", {
1345
+ ref: F,
1346
+ className: L,
1347
+ onScroll: j,
1348
+ children: N
1349
+ }), n[27] = j, n[28] = N, n[29] = F, n[30] = L, n[31] = R) : R = n[31];
1350
+ let z;
1351
+ n[32] !== u || n[33] !== g || n[34] !== m || n[35] !== h ? (z = !h && /* @__PURE__ */ K(W, { children: [u, /* @__PURE__ */ G("button", {
1352
+ type: "button",
1353
+ className: "dt-btn dt-btn-ghost dt-filter-clear",
1354
+ onClick: m,
1355
+ children: g.t("filter.clearAll")
1356
+ })] }), n[32] = u, n[33] = g, n[34] = m, n[35] = h, n[36] = z) : z = n[36];
1357
+ let U;
1358
+ return n[37] !== P || n[38] !== R || n[39] !== z ? (U = /* @__PURE__ */ K("div", {
1359
+ className: P,
1360
+ children: [R, z]
1361
+ }), n[37] = P, n[38] = R, n[39] = z, n[40] = U) : U = n[40], U;
1362
+ }
1363
+ // src/core/interaction/is-interactive.ts
1364
+ var rn = "a[href], button, input, select, textarea, summary, label, [role=\"button\"], [role=\"menuitem\"], [role=\"checkbox\"], [role=\"combobox\"], [role=\"switch\"], [contenteditable=\"true\"]";
1365
+ function an(e, t) {
1366
+ if (!(e instanceof Element)) return !1;
1367
+ let n = e.closest(rn);
1368
+ return n !== null && n !== t && t.contains(n);
1369
+ }
1370
+ var on = (e) => e instanceof HTMLInputElement || e instanceof HTMLTextAreaElement || e instanceof HTMLSelectElement || e?.getAttribute("role") === "combobox" || e?.isContentEditable === !0, sn = () => (globalThis.getSelection?.()?.toString().length ?? 0) > 0;
1371
+ function cn(e, t, n) {
1372
+ return !(e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || an(e.target, t) || sn() || n && Math.hypot(e.clientX - n.x, e.clientY - n.y) > 4);
1373
+ }
1374
+ // src/core/interaction/kbd.ts
1375
+ var ln = typeof navigator < "u" && /Mac|iPhone|iPad/.test(navigator.platform), un = {
1376
+ left: ln ? "⌥⇧←" : "Alt+Shift+←",
1377
+ right: ln ? "⌥⇧→" : "Alt+Shift+→"
1378
+ }, dn = ln ? "⌘S" : "Ctrl+S", fn = (e) => e.pinned === "start" ? { left: `var(${e.offsetVar})` } : e.pinned === "end" ? { right: `var(${e.offsetVar})` } : void 0, pn = (e) => [
1379
+ e.pinned === "start" && "is-pinned-start",
1380
+ e.pinned === "end" && "is-pinned-end",
1381
+ e.pinEdge && "is-pin-edge"
1382
+ ].filter((e) => !!e), mn = (e) => {
1383
+ let t = e.findIndex((e) => e.pinned === "end");
1384
+ return t < 0 ? e.length : t;
1385
+ };
1386
+ // src/core/grid/header-cell.tsx
1387
+ function hn(t) {
1388
+ let n = M(140), { column: r, layout: i, onMoved: a, sort: o, onSort: c, onSortSet: l, filtered: u, onFilter: d, onColumns: f } = t, { i18n: p } = e(), m = r.def, h;
1389
+ n[0] === m.type ? h = n[1] : (h = y(m.type), n[0] = m.type, n[1] = h);
1390
+ let g = h, _ = typeof m.unit == "string" ? m.unit : void 0, v = R(), x = m.description ? `${m.header}\n${m.description}` : m.header, [S, C] = H(!1), w = V(!1), T = V(null), E;
1391
+ n[2] !== r.id || n[3] !== i ? (E = () => {
1392
+ let e = i.resizing();
1393
+ return e?.id === r.id ? e.size : -1;
1394
+ }, n[2] = r.id, n[3] = i, n[4] = E) : E = n[4];
1395
+ let D = U(i.subscribeSizing, E), O;
1396
+ n[5] !== r.id || n[6] !== i || n[7] !== a ? (O = (e) => {
1397
+ i.move(r.id, e), a(r.id);
1398
+ }, n[5] = r.id, n[6] = i, n[7] = a, n[8] = O) : O = n[8];
1399
+ let k = O, A;
1400
+ n[9] !== r || n[10] !== i ? (A = (e) => {
1401
+ let t = e.currentTarget.parentElement;
1402
+ i.setWidth(r.id, t.getBoundingClientRect().width), r.resizeHandler(e);
1403
+ }, n[9] = r, n[10] = i, n[11] = A) : A = n[11];
1404
+ let j = A, N;
1405
+ n[12] !== r.id || n[13] !== i || n[14] !== k || n[15] !== c ? (N = (e) => {
1406
+ let t = e.key;
1407
+ if (t === "Enter" || t === " ") c && (e.preventDefault(), c(e.shiftKey));
1408
+ else if (t === "F10" && e.shiftKey || t === "ContextMenu") e.preventDefault(), C(!0);
1409
+ else if ((t === "ArrowLeft" || t === "ArrowRight") && e.shiftKey) {
1410
+ e.preventDefault();
1411
+ let n = t === "ArrowLeft";
1412
+ e.altKey ? k(n ? -1 : 1) : i.setWidth(r.id, i.widthOf(r.id) + (n ? -16 : 16));
1413
+ }
1414
+ }, n[12] = r.id, n[13] = i, n[14] = k, n[15] = c, n[16] = N) : N = n[16];
1415
+ let P = N, F = o && (o.index ?? 1) === 1 ? o.dir : void 0, I = F === "asc" ? "ascending" : F === "desc" ? "descending" : void 0, L = o?.dir === "desc" ? "is-desc" : void 0, z;
1416
+ n[17] === L ? z = n[18] : (z = /* @__PURE__ */ G(ue, {
1417
+ size: 12,
1418
+ className: L
1419
+ }), n[17] = L, n[18] = z);
1420
+ let B = z, q;
1421
+ n[19] === o ? q = n[20] : (q = o?.index && /* @__PURE__ */ G("span", {
1422
+ className: "dt-head-sort-index",
1423
+ children: o.index
1424
+ }), n[19] = o, n[20] = q);
1425
+ let J = q, ee;
1426
+ n[21] !== B || n[22] !== J || n[23] !== g ? (ee = /* @__PURE__ */ G("span", {
1427
+ className: "dt-head-sort",
1428
+ "aria-hidden": "true",
1429
+ children: g ? /* @__PURE__ */ K(W, { children: [J, B] }) : /* @__PURE__ */ K(W, { children: [B, J] })
1430
+ }), n[21] = B, n[22] = J, n[23] = g, n[24] = ee) : ee = n[24];
1431
+ let Y = ee, te;
1432
+ n[25] === m ? te = n[26] : (te = s(m), n[25] = m, n[26] = te);
1433
+ let X = `is-${te}`, ne = g && "is-numeric", Z = o && "is-sorted", re = r.pinned === "start" && "is-pinned-start", ie = r.pinned === "end" && "is-pinned-end", Q = r.pinEdge && "is-pin-edge", ae = D >= 0 && "is-resizing", oe = S && "is-menu-open", se;
1434
+ n[27] !== X || n[28] !== ne || n[29] !== Z || n[30] !== re || n[31] !== ie || n[32] !== Q || n[33] !== ae || n[34] !== oe ? (se = [
1435
+ "dt-head-cell",
1436
+ X,
1437
+ ne,
1438
+ Z,
1439
+ re,
1440
+ ie,
1441
+ Q,
1442
+ ae,
1443
+ oe
1444
+ ].filter(Boolean), n[27] = X, n[28] = ne, n[29] = Z, n[30] = re, n[31] = ie, n[32] = Q, n[33] = ae, n[34] = oe, n[35] = se) : se = n[35];
1445
+ let ce = se.join(" "), le;
1446
+ n[36] === r ? le = n[37] : (le = fn(r), n[36] = r, n[37] = le);
1447
+ let de = r.id, fe;
1448
+ n[38] === Symbol.for("react.memo_cache_sentinel") ? (fe = (e) => {
1449
+ e.preventDefault(), C(!0);
1450
+ }, n[38] = fe) : fe = n[38];
1451
+ let pe;
1452
+ n[39] !== u || n[40] !== p || n[41] !== d ? (pe = u && d && /* @__PURE__ */ G("button", {
1453
+ type: "button",
1454
+ className: "dt-head-icon dt-head-filtered",
1455
+ "aria-label": p.t("header.filterBy"),
1456
+ onClick: d,
1457
+ children: /* @__PURE__ */ G(ye, {
1458
+ size: 14,
1459
+ weight: "fill",
1460
+ "aria-hidden": "true"
1461
+ })
1462
+ }), n[39] = u, n[40] = p, n[41] = d, n[42] = pe) : pe = n[42];
1463
+ let me = c ? "dt-head-label" : "dt-head-label is-static", he = c ? void 0 : "true", ge = m.description ? v : void 0, ve;
1464
+ n[43] === c ? ve = n[44] : (ve = (e) => c?.(e.shiftKey), n[43] = c, n[44] = ve);
1465
+ let be = o && g && Y, xe = i.phone && m.headerShort || m.header, Se;
1466
+ n[45] === xe ? Se = n[46] : (Se = /* @__PURE__ */ G("span", {
1467
+ className: "dt-head-text",
1468
+ children: xe
1469
+ }), n[45] = xe, n[46] = Se);
1470
+ let we;
1471
+ n[47] === _ ? we = n[48] : (we = _ && /* @__PURE__ */ G("span", {
1472
+ className: "dt-head-unit",
1473
+ children: _
1474
+ }), n[47] = _, n[48] = we);
1475
+ let Te = o && !g && Y, Ee;
1476
+ n[49] === r.pinned ? Ee = n[50] : (Ee = r.pinned && /* @__PURE__ */ G(Ce, {
1477
+ size: 12,
1478
+ className: "dt-head-pin",
1479
+ "aria-hidden": "true"
1480
+ }), n[49] = r.pinned, n[50] = Ee);
1481
+ let De;
1482
+ n[51] !== P || n[52] !== me || n[53] !== he || n[54] !== ge || n[55] !== ve || n[56] !== be || n[57] !== Se || n[58] !== we || n[59] !== Te || n[60] !== Ee || n[61] !== x ? (De = /* @__PURE__ */ K("button", {
1483
+ type: "button",
1484
+ className: me,
1485
+ "aria-disabled": he,
1486
+ "data-dt-tip": x,
1487
+ "aria-describedby": ge,
1488
+ onClick: ve,
1489
+ onKeyDown: P,
1490
+ children: [
1491
+ be,
1492
+ Se,
1493
+ we,
1494
+ Te,
1495
+ Ee
1496
+ ]
1497
+ }), n[51] = P, n[52] = me, n[53] = he, n[54] = ge, n[55] = ve, n[56] = be, n[57] = Se, n[58] = we, n[59] = Te, n[60] = Ee, n[61] = x, n[62] = De) : De = n[62];
1498
+ let Oe;
1499
+ n[63] !== m.description || n[64] !== v ? (Oe = m.description && /* @__PURE__ */ G("span", {
1500
+ id: v,
1501
+ className: "dt-sr-only",
1502
+ children: m.description
1503
+ }), n[63] = m.description, n[64] = v, n[65] = Oe) : Oe = n[65];
1504
+ let ke;
1505
+ n[66] === Symbol.for("react.memo_cache_sentinel") ? (ke = () => {
1506
+ let e = !w.current;
1507
+ return w.current = !1, e;
1508
+ }, n[66] = ke) : ke = n[66];
1509
+ let Ae;
1510
+ n[67] !== m.header || n[68] !== p ? (Ae = p.t("header.optionsAria", { column: m.header }), n[67] = m.header, n[68] = p, n[69] = Ae) : Ae = n[69];
1511
+ let je;
1512
+ n[70] === Symbol.for("react.memo_cache_sentinel") ? (je = /* @__PURE__ */ G(_e, {
1513
+ size: 16,
1514
+ weight: "bold",
1515
+ "aria-hidden": "true"
1516
+ }), n[70] = je) : je = n[70];
1517
+ let $;
1518
+ n[71] === Ae ? $ = n[72] : ($ = /* @__PURE__ */ G("button", {
1519
+ ref: T,
1520
+ type: "button",
1521
+ className: "dt-head-icon dt-head-menu",
1522
+ "aria-label": Ae,
1523
+ children: je
1524
+ }), n[71] = Ae, n[72] = $);
1525
+ let Me;
1526
+ n[73] !== m.type || n[74] !== p ? (Me = p.t(b(m.type)), n[73] = m.type, n[74] = p, n[75] = Me) : Me = n[75];
1527
+ let Ne;
1528
+ n[76] === Me ? Ne = n[77] : (Ne = /* @__PURE__ */ G($t, { children: Me }), n[76] = Me, n[77] = Ne);
1529
+ let Pe;
1530
+ n[78] !== p || n[79] !== l || n[80] !== o ? (Pe = l && /* @__PURE__ */ K(W, { children: [
1531
+ /* @__PURE__ */ G(Zt, {
1532
+ onSelect: () => l("asc"),
1533
+ children: p.t("header.sortAsc")
1534
+ }),
1535
+ /* @__PURE__ */ G(Zt, {
1536
+ onSelect: () => l("desc"),
1537
+ children: p.t("header.sortDesc")
1538
+ }),
1539
+ /* @__PURE__ */ G(Zt, {
1540
+ disabled: !o,
1541
+ onSelect: () => l(null),
1542
+ children: p.t("header.clearSort")
1543
+ }),
1544
+ /* @__PURE__ */ G(Qt, {})
1545
+ ] }), n[78] = p, n[79] = l, n[80] = o, n[81] = Pe) : Pe = n[81];
1546
+ let Fe;
1547
+ n[82] !== p || n[83] !== d ? (Fe = d && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(Zt, {
1548
+ onSelect: () => {
1549
+ w.current = !0, d();
1550
+ },
1551
+ children: p.t("header.filterBy")
1552
+ }), /* @__PURE__ */ G(Qt, {})] }), n[82] = p, n[83] = d, n[84] = Fe) : Fe = n[84];
1553
+ let Ie;
1554
+ n[85] === k ? Ie = n[86] : (Ie = () => k(-1), n[85] = k, n[86] = Ie);
1555
+ let Le;
1556
+ n[87] === p ? Le = n[88] : (Le = p.t("header.moveLeft"), n[87] = p, n[88] = Le);
1557
+ let Re;
1558
+ n[89] === Symbol.for("react.memo_cache_sentinel") ? (Re = /* @__PURE__ */ G("kbd", {
1559
+ className: "dt-kbd",
1560
+ children: un.left
1561
+ }), n[89] = Re) : Re = n[89];
1562
+ let ze;
1563
+ n[90] !== Ie || n[91] !== Le ? (ze = /* @__PURE__ */ K(Zt, {
1564
+ onSelect: Ie,
1565
+ children: [Le, Re]
1566
+ }), n[90] = Ie, n[91] = Le, n[92] = ze) : ze = n[92];
1567
+ let Be;
1568
+ n[93] === k ? Be = n[94] : (Be = () => k(1), n[93] = k, n[94] = Be);
1569
+ let Ve;
1570
+ n[95] === p ? Ve = n[96] : (Ve = p.t("header.moveRight"), n[95] = p, n[96] = Ve);
1571
+ let He;
1572
+ n[97] === Symbol.for("react.memo_cache_sentinel") ? (He = /* @__PURE__ */ G("kbd", {
1573
+ className: "dt-kbd",
1574
+ children: un.right
1575
+ }), n[97] = He) : He = n[97];
1576
+ let Ue;
1577
+ n[98] !== Be || n[99] !== Ve ? (Ue = /* @__PURE__ */ K(Zt, {
1578
+ onSelect: Be,
1579
+ children: [Ve, He]
1580
+ }), n[98] = Be, n[99] = Ve, n[100] = Ue) : Ue = n[100];
1581
+ let We;
1582
+ n[101] === Symbol.for("react.memo_cache_sentinel") ? (We = /* @__PURE__ */ G(Qt, {}), n[101] = We) : We = n[101];
1583
+ let Ge = !!r.pinned || !r.canHide, Ke;
1584
+ n[102] !== r.id || n[103] !== i ? (Ke = () => i.setVisible(r.id, !1), n[102] = r.id, n[103] = i, n[104] = Ke) : Ke = n[104];
1585
+ let qe;
1586
+ n[105] === p ? qe = n[106] : (qe = p.t("header.hide"), n[105] = p, n[106] = qe);
1587
+ let Je;
1588
+ n[107] !== Ge || n[108] !== Ke || n[109] !== qe ? (Je = /* @__PURE__ */ G(Zt, {
1589
+ disabled: Ge,
1590
+ onSelect: Ke,
1591
+ children: qe
1592
+ }), n[107] = Ge, n[108] = Ke, n[109] = qe, n[110] = Je) : Je = n[110];
1593
+ let Ye;
1594
+ n[111] !== p || n[112] !== f ? (Ye = f && /* @__PURE__ */ G(Zt, {
1595
+ onSelect: () => f(T.current),
1596
+ children: p.t("header.columnSettings")
1597
+ }), n[111] = p, n[112] = f, n[113] = Ye) : Ye = n[113];
1598
+ let Xe;
1599
+ n[114] !== S || n[115] !== $ || n[116] !== Ne || n[117] !== Pe || n[118] !== Fe || n[119] !== ze || n[120] !== Ue || n[121] !== Je || n[122] !== Ye ? (Xe = /* @__PURE__ */ K(Xt, {
1600
+ open: S,
1601
+ onOpenChange: C,
1602
+ className: "dt-col-menu",
1603
+ finalFocus: ke,
1604
+ trigger: $,
1605
+ children: [
1606
+ Ne,
1607
+ Pe,
1608
+ Fe,
1609
+ ze,
1610
+ Ue,
1611
+ We,
1612
+ Je,
1613
+ Ye
1614
+ ]
1615
+ }), n[114] = S, n[115] = $, n[116] = Ne, n[117] = Pe, n[118] = Fe, n[119] = ze, n[120] = Ue, n[121] = Je, n[122] = Ye, n[123] = Xe) : Xe = n[123];
1616
+ let Ze;
1617
+ n[124] === Symbol.for("react.memo_cache_sentinel") ? (Ze = /* @__PURE__ */ G("span", {
1618
+ className: "dt-head-sep",
1619
+ "aria-hidden": "true"
1620
+ }), n[124] = Ze) : Ze = n[124];
1621
+ let Qe;
1622
+ n[125] === D ? Qe = n[126] : (Qe = D >= 0 && /* @__PURE__ */ K("span", {
1623
+ className: "dt-resize-badge",
1624
+ children: [Math.round(D), " px"]
1625
+ }), n[125] = D, n[126] = Qe);
1626
+ let $e;
1627
+ n[127] !== j || n[128] !== Qe ? ($e = /* @__PURE__ */ G("span", {
1628
+ className: "dt-resize",
1629
+ "aria-hidden": "true",
1630
+ onMouseDown: j,
1631
+ onTouchStart: j,
1632
+ children: Qe
1633
+ }), n[127] = j, n[128] = Qe, n[129] = $e) : $e = n[129];
1634
+ let et;
1635
+ return n[130] !== I || n[131] !== r.id || n[132] !== ce || n[133] !== le || n[134] !== pe || n[135] !== De || n[136] !== Oe || n[137] !== Xe || n[138] !== $e ? (et = /* @__PURE__ */ K("div", {
1636
+ className: ce,
1637
+ style: le,
1638
+ role: "columnheader",
1639
+ "aria-sort": I,
1640
+ "data-col": de,
1641
+ onContextMenu: fe,
1642
+ children: [
1643
+ pe,
1644
+ De,
1645
+ Oe,
1646
+ Xe,
1647
+ Ze,
1648
+ $e
1649
+ ]
1650
+ }), n[130] = I, n[131] = r.id, n[132] = ce, n[133] = le, n[134] = pe, n[135] = De, n[136] = Oe, n[137] = Xe, n[138] = $e, n[139] = et) : et = n[139], et;
1651
+ }
1652
+ // src/core/grid/inline-actions.ts
1653
+ var gn = (e, t) => e.filter((e) => e.inline && e.icon && (!e.when || e.when(t))).slice(0, 2);
1654
+ // src/core/cells/cell-actions.tsx
1655
+ function _n(t) {
1656
+ let n = M(28), { actions: r, row: i } = t, { i18n: a } = e(), o, s, c, l;
1657
+ if (n[0] !== r || n[1] !== a || n[2] !== i) {
1658
+ l = Symbol.for("react.early_return_sentinel");
1659
+ bb0: {
1660
+ let e;
1661
+ n[7] === i ? e = n[8] : (e = (e) => e.when?.(i) ?? !0, n[7] = i, n[8] = e);
1662
+ let t = r.filter(e);
1663
+ if (!t.length) {
1664
+ l = null;
1665
+ break bb0;
1666
+ }
1667
+ let u = t.some(vn), d = t.length > 2 ? t.slice(0, 1) : t, f = t.length > 2 ? t.slice(1) : [], p;
1668
+ n[9] === i ? p = n[10] : (p = (e) => e.disabled?.(i) ?? !1, n[9] = i, n[10] = p);
1669
+ let m = p, h;
1670
+ n[11] === m ? h = n[12] : (h = (e) => {
1671
+ let t = m(e);
1672
+ return typeof t == "string" ? `${e.label} — ${t}` : e.label;
1673
+ }, n[11] = m, n[12] = h);
1674
+ let g = h, _;
1675
+ n[13] !== m || n[14] !== i ? (_ = (e) => {
1676
+ m(e) || e.run?.(i);
1677
+ }, n[13] = m, n[14] = i, n[15] = _) : _ = n[15];
1678
+ let v = _, y;
1679
+ n[16] !== m || n[17] !== v ? (y = (e) => e.map((e) => {
1680
+ let t = e.icon;
1681
+ return /* @__PURE__ */ K(Zt, {
1682
+ destructive: e.destructive,
1683
+ disabled: !!m(e),
1684
+ onSelect: () => v(e),
1685
+ children: [/* @__PURE__ */ G(t, {
1686
+ size: 16,
1687
+ "aria-hidden": "true"
1688
+ }), e.label]
1689
+ }, e.id);
1690
+ }), n[16] = m, n[17] = v, n[18] = y) : y = n[18];
1691
+ let b = y;
1692
+ o = u ? "dt-cell-actions is-always" : "dt-cell-actions";
1693
+ let x;
1694
+ n[19] !== m || n[20] !== b || n[21] !== v || n[22] !== g ? (x = (e) => {
1695
+ let t = e.icon, n = e.destructive ? "dt-cell-action is-destructive" : "dt-cell-action";
1696
+ return e.menu?.length ? /* @__PURE__ */ G(Xt, {
1697
+ className: "dt-menu-cell",
1698
+ trigger: /* @__PURE__ */ G("button", {
1699
+ type: "button",
1700
+ className: n,
1701
+ "aria-label": e.label,
1702
+ "data-dt-tip": e.label,
1703
+ children: /* @__PURE__ */ G(t, {
1704
+ size: 14,
1705
+ "aria-hidden": "true"
1706
+ })
1707
+ }),
1708
+ children: b(e.menu)
1709
+ }, e.id) : /* @__PURE__ */ G("button", {
1710
+ type: "button",
1711
+ className: n,
1712
+ "aria-label": e.label,
1713
+ "aria-disabled": m(e) ? "true" : void 0,
1714
+ "data-dt-tip": g(e),
1715
+ onClick: () => v(e),
1716
+ children: /* @__PURE__ */ G(t, {
1717
+ size: 14,
1718
+ "aria-hidden": "true"
1719
+ })
1720
+ }, e.id);
1721
+ }, n[19] = m, n[20] = b, n[21] = v, n[22] = g, n[23] = x) : x = n[23], s = d.map(x), c = f.length > 0 && /* @__PURE__ */ G(Xt, {
1722
+ className: "dt-menu-cell",
1723
+ trigger: /* @__PURE__ */ G("button", {
1724
+ type: "button",
1725
+ className: "dt-cell-action",
1726
+ "aria-label": a.t("common.more"),
1727
+ "data-dt-tip": a.t("common.more"),
1728
+ children: /* @__PURE__ */ G(_e, {
1729
+ size: 14,
1730
+ weight: "bold",
1731
+ "aria-hidden": "true"
1732
+ })
1733
+ }),
1734
+ children: b(f)
1735
+ });
1736
+ }
1737
+ n[0] = r, n[1] = a, n[2] = i, n[3] = o, n[4] = s, n[5] = c, n[6] = l;
1738
+ } else o = n[3], s = n[4], c = n[5], l = n[6];
1739
+ if (l !== Symbol.for("react.early_return_sentinel")) return l;
1740
+ let u;
1741
+ return n[24] !== o || n[25] !== s || n[26] !== c ? (u = /* @__PURE__ */ K("span", {
1742
+ className: o,
1743
+ children: [s, c]
1744
+ }), n[24] = o, n[25] = s, n[26] = c, n[27] = u) : u = n[27], u;
1745
+ }
1746
+ function vn(e) {
1747
+ return e.reveal === "always";
1748
+ }
1749
+ // src/core/grid/row-menu.tsx
1750
+ function yn(t) {
1751
+ let n = M(26), { row: r, label: i, href: a, actions: o, onOpen: s } = t, { i18n: c } = e(), l;
1752
+ n[0] !== o || n[1] !== r ? (l = new Set(gn(o, r)), n[0] = o, n[1] = r, n[2] = l) : l = n[2];
1753
+ let u = l, d, f;
1754
+ if (n[3] !== o || n[4] !== a || n[5] !== c || n[6] !== u || n[7] !== i || n[8] !== s || n[9] !== r) {
1755
+ f = Symbol.for("react.early_return_sentinel");
1756
+ bb0: {
1757
+ let e;
1758
+ n[12] !== u || n[13] !== r ? (e = (e) => !u.has(e) && (!e.when || e.when(r)), n[12] = u, n[13] = r, n[14] = e) : e = n[14];
1759
+ let t = o.filter(e), l = [...t.filter(Sn), ...t.filter(xn)];
1760
+ if (!a && !l.length) {
1761
+ let e;
1762
+ n[15] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ G("span", {
1763
+ className: "dt-row-more-space",
1764
+ "aria-hidden": "true"
1765
+ }), n[15] = e) : e = n[15], f = e;
1766
+ break bb0;
1767
+ }
1768
+ let p = l.findIndex(bn), m = (e) => {
1769
+ let t = e.disabled?.(r);
1770
+ return typeof t == "string" ? t : e.description ?? null;
1771
+ }, h = (e) => !!e.disabled?.(r), g;
1772
+ n[16] !== c || n[17] !== i ? (g = c.t("row.actionsAria", { id: i }), n[16] = c, n[17] = i, n[18] = g) : g = n[18];
1773
+ let _;
1774
+ n[19] === Symbol.for("react.memo_cache_sentinel") ? (_ = /* @__PURE__ */ G(_e, {
1775
+ size: 16,
1776
+ weight: "bold",
1777
+ "aria-hidden": "true"
1778
+ }), n[19] = _) : _ = n[19];
1779
+ let v;
1780
+ n[20] === g ? v = n[21] : (v = /* @__PURE__ */ G("button", {
1781
+ type: "button",
1782
+ className: "dt-row-more",
1783
+ "aria-label": g,
1784
+ children: _
1785
+ }), n[20] = g, n[21] = v);
1786
+ let y;
1787
+ n[22] !== a || n[23] !== c || n[24] !== s ? (y = a && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ K($.LinkItem, {
1788
+ className: "dt-menu-item",
1789
+ href: a,
1790
+ closeOnClick: !0,
1791
+ onClick: (e) => {
1792
+ e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || s(e);
1793
+ },
1794
+ children: [c.t("row.open"), /* @__PURE__ */ G("kbd", {
1795
+ className: "dt-kbd",
1796
+ children: "↵"
1797
+ })]
1798
+ }), /* @__PURE__ */ G($.LinkItem, {
1799
+ className: "dt-menu-item",
1800
+ href: a,
1801
+ target: "_blank",
1802
+ rel: "noopener",
1803
+ closeOnClick: !0,
1804
+ children: c.t("row.openNewTab")
1805
+ })] }), n[22] = a, n[23] = c, n[24] = s, n[25] = y) : y = n[25], d = /* @__PURE__ */ K(Xt, {
1806
+ className: "dt-row-menu",
1807
+ trigger: v,
1808
+ children: [
1809
+ y,
1810
+ a && l.length > 0 && /* @__PURE__ */ G(Qt, {}),
1811
+ l.map((e, t) => {
1812
+ let n = e.icon, i = m(e);
1813
+ return /* @__PURE__ */ K(N, { children: [t > 0 && (e.separatorBefore || t === p) && /* @__PURE__ */ G(Qt, {}), /* @__PURE__ */ K(Zt, {
1814
+ destructive: e.destructive,
1815
+ twoLine: !!i,
1816
+ disabled: h(e),
1817
+ onSelect: () => {
1818
+ h(e) || e.run(r);
1819
+ },
1820
+ children: [
1821
+ n && /* @__PURE__ */ G(n, {
1822
+ size: 16,
1823
+ "aria-hidden": "true"
1824
+ }),
1825
+ /* @__PURE__ */ K("span", {
1826
+ className: "dt-menu-text",
1827
+ children: [/* @__PURE__ */ G("span", { children: e.label }), i && /* @__PURE__ */ G("span", {
1828
+ className: "dt-menu-sub",
1829
+ children: i
1830
+ })]
1831
+ }),
1832
+ e.shortcut && /* @__PURE__ */ G("kbd", {
1833
+ className: "dt-kbd",
1834
+ children: e.shortcut
1835
+ })
1836
+ ]
1837
+ })] }, e.id);
1838
+ })
1839
+ ]
1840
+ });
1841
+ }
1842
+ n[3] = o, n[4] = a, n[5] = c, n[6] = u, n[7] = i, n[8] = s, n[9] = r, n[10] = d, n[11] = f;
1843
+ } else d = n[10], f = n[11];
1844
+ return f === Symbol.for("react.early_return_sentinel") ? d : f;
1845
+ }
1846
+ function bn(e) {
1847
+ return e.destructive;
1848
+ }
1849
+ function xn(e) {
1850
+ return e.destructive;
1851
+ }
1852
+ function Sn(e) {
1853
+ return !e.destructive;
1854
+ }
1855
+ // src/core/grid/row.tsx
1856
+ var Cn = () => {
1857
+ let e = M(1), t;
1858
+ return e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ G("div", {
1859
+ className: "dt-cell dt-cell-fill",
1860
+ role: "presentation",
1861
+ "aria-hidden": "true"
1862
+ }), e[0] = t) : t = e[0], t;
1863
+ };
1864
+ function wn(e, t) {
1865
+ let n = mn(e);
1866
+ return [
1867
+ ...e.slice(0, n).map((e, n) => t(e, n)),
1868
+ /* @__PURE__ */ G(Cn, {}, "__fill"),
1869
+ ...e.slice(n).map((e, r) => t(e, n + r))
1870
+ ];
1871
+ }
1872
+ function Tn(e) {
1873
+ let t = M(53), { col: n, row: i, env: a, secondaryVisible: o, expand: c, lead: l } = e, u = n.def, f, m, h, g;
1874
+ if (t[0] !== n || t[1] !== u || t[2] !== a || t[3] !== c || t[4] !== l || t[5] !== i) {
1875
+ let e = u.accessor ? u.accessor(i) : d(i, n.id);
1876
+ m = p(u, i, e, a);
1877
+ let o;
1878
+ t[10] !== u || t[11] !== i ? (o = u.primary && u.type !== "id" && u.type !== "ajax" ? u.href?.(i) : void 0, t[10] = u, t[11] = i, t[12] = o) : o = t[12];
1879
+ let _ = o;
1880
+ _ && (m = /* @__PURE__ */ G("a", {
1881
+ className: "dt-link dt-primary-link",
1882
+ href: _,
1883
+ children: m
1884
+ }));
1885
+ let v;
1886
+ t[13] === u ? v = t[14] : (v = s(u), t[13] = u, t[14] = v);
1887
+ let b = `is-${v}`, x;
1888
+ t[15] === u.type ? x = t[16] : (x = y(u.type) && "is-numeric", t[15] = u.type, t[16] = x);
1889
+ let S = u.primary && "is-primary", C = (c || l) && "has-expand", w;
1890
+ t[17] !== n || t[18] !== b || t[19] !== x || t[20] !== S || t[21] !== C ? (w = [
1891
+ "dt-cell",
1892
+ b,
1893
+ x,
1894
+ S,
1895
+ C,
1896
+ ...pn(n)
1897
+ ], t[17] = n, t[18] = b, t[19] = x, t[20] = S, t[21] = C, t[22] = w) : w = t[22], f = w, t[23] === n ? h = t[24] : (h = fn(n), t[23] = n, t[24] = h), g = r(u, e), t[0] = n, t[1] = u, t[2] = a, t[3] = c, t[4] = l, t[5] = i, t[6] = f, t[7] = m, t[8] = h, t[9] = g;
1898
+ } else f = t[6], m = t[7], h = t[8], g = t[9];
1899
+ let _;
1900
+ t[25] !== h || t[26] !== g ? (_ = {
1901
+ ...h,
1902
+ ...g
1903
+ }, t[25] = h, t[26] = g, t[27] = _) : _ = t[27];
1904
+ let v = _, b;
1905
+ t[28] === m ? b = t[29] : (b = /* @__PURE__ */ G("span", {
1906
+ className: "dt-cell-content",
1907
+ children: m
1908
+ }), t[28] = m, t[29] = b);
1909
+ let x;
1910
+ t[30] !== u || t[31] !== i || t[32] !== o ? (x = o && u.secondary && /* @__PURE__ */ G("span", {
1911
+ className: "dt-secondary",
1912
+ children: u.secondary(i) ?? ""
1913
+ }), t[30] = u, t[31] = i, t[32] = o, t[33] = x) : x = t[33];
1914
+ let S;
1915
+ t[34] !== b || t[35] !== x ? (S = /* @__PURE__ */ K(W, { children: [b, x] }), t[34] = b, t[35] = x, t[36] = S) : S = t[36];
1916
+ let C = S, w;
1917
+ t[37] === f ? w = t[38] : (w = f.filter(Boolean), t[37] = f, t[38] = w);
1918
+ let T = w.join(" "), E;
1919
+ t[39] !== a || t[40] !== c || t[41] !== l || t[42] !== C ? (E = c || l ? /* @__PURE__ */ K(W, { children: [
1920
+ c ? c.can ? /* @__PURE__ */ G("button", {
1921
+ type: "button",
1922
+ className: c.open ? "dt-expand is-open" : "dt-expand",
1923
+ "aria-expanded": c.open,
1924
+ "aria-controls": c.controls,
1925
+ "aria-label": a.i18n.t("expand.showAria", { id: c.label }),
1926
+ onClick: c.onToggle,
1927
+ children: /* @__PURE__ */ G(pe, {
1928
+ size: 14,
1929
+ "aria-hidden": "true"
1930
+ })
1931
+ }) : /* @__PURE__ */ G("span", {
1932
+ className: "dt-expand-space",
1933
+ "aria-hidden": "true"
1934
+ }) : null,
1935
+ l,
1936
+ /* @__PURE__ */ G("span", {
1937
+ className: "dt-cell-main",
1938
+ children: C
1939
+ })
1940
+ ] }) : C, t[39] = a, t[40] = c, t[41] = l, t[42] = C, t[43] = E) : E = t[43];
1941
+ let D;
1942
+ t[44] !== u.actions || t[45] !== i ? (D = u.actions?.length ? /* @__PURE__ */ G(_n, {
1943
+ actions: u.actions,
1944
+ row: i
1945
+ }) : null, t[44] = u.actions, t[45] = i, t[46] = D) : D = t[46];
1946
+ let O;
1947
+ return t[47] !== n.id || t[48] !== v || t[49] !== D || t[50] !== T || t[51] !== E ? (O = /* @__PURE__ */ K("div", {
1948
+ className: T,
1949
+ style: v,
1950
+ role: "cell",
1951
+ "data-col": n.id,
1952
+ children: [E, D]
1953
+ }), t[47] = n.id, t[48] = v, t[49] = D, t[50] = T, t[51] = E, t[52] = O) : O = t[52], O;
1954
+ }
1955
+ function En(e) {
1956
+ let t = M(21), { action: n, row: r, uid: i } = e, a = n.icon, o;
1957
+ t[0] !== n || t[1] !== r ? (o = n.disabled?.(r), t[0] = n, t[1] = r, t[2] = o) : o = t[2];
1958
+ let s = o, c = typeof s == "string" ? s : null, l = n.description ? `${i}-${n.id}` : void 0, u = !!s, d = c ?? (n.description ? `${n.label} — ${n.description}` : n.label), f;
1959
+ t[3] !== n || t[4] !== r ? (f = () => void n.run(r), t[3] = n, t[4] = r, t[5] = f) : f = t[5];
1960
+ let p;
1961
+ t[6] === a ? p = t[7] : (p = /* @__PURE__ */ G(a, {
1962
+ size: 16,
1963
+ "aria-hidden": "true"
1964
+ }), t[6] = a, t[7] = p);
1965
+ let m;
1966
+ t[8] !== n.label || t[9] !== l || t[10] !== u || t[11] !== d || t[12] !== f || t[13] !== p ? (m = /* @__PURE__ */ G("button", {
1967
+ type: "button",
1968
+ className: "dt-row-inline",
1969
+ disabled: u,
1970
+ "aria-label": n.label,
1971
+ "aria-describedby": l,
1972
+ "data-dt-tip": d,
1973
+ onClick: f,
1974
+ children: p
1975
+ }), t[8] = n.label, t[9] = l, t[10] = u, t[11] = d, t[12] = f, t[13] = p, t[14] = m) : m = t[14];
1976
+ let h;
1977
+ t[15] !== n.description || t[16] !== l ? (h = l && /* @__PURE__ */ G("span", {
1978
+ id: l,
1979
+ className: "dt-sr-only",
1980
+ children: n.description
1981
+ }), t[15] = n.description, t[16] = l, t[17] = h) : h = t[17];
1982
+ let g;
1983
+ return t[18] !== m || t[19] !== h ? (g = /* @__PURE__ */ K("span", {
1984
+ className: "dt-row-inline-wrap",
1985
+ children: [m, h]
1986
+ }), t[18] = m, t[19] = h, t[20] = g) : g = t[20], g;
1987
+ }
1988
+ function Dn(e) {
1989
+ let t = M(48), { row: n, index: r, rowIndex: i, columns: a, env: o, extras: s } = e, c = o.density === "comfortable", l = s?.select, u = s?.handle, d = s?.menu, f;
1990
+ t[0] === s ? f = t[1] : (f = s?.expand && {
1991
+ ...s.expand,
1992
+ label: s.label
1993
+ }, t[0] = s, t[1] = f);
1994
+ let p = f, m;
1995
+ t[2] === s?.error ? m = t[3] : (m = s?.error ?? [], t[2] = s?.error, t[3] = m);
1996
+ let h = m, g;
1997
+ t[4] === h ? g = t[5] : (g = h.join("\n"), t[4] = h, t[5] = g);
1998
+ let _ = g, v = `${s?.uid}-err`, y;
1999
+ t[6] !== h.length || t[7] !== v || t[8] !== _ ? (y = h.length > 0 && /* @__PURE__ */ G("span", {
2000
+ id: v,
2001
+ className: "dt-row-error",
2002
+ role: "img",
2003
+ "aria-label": _,
2004
+ "data-dt-tip": _,
2005
+ children: /* @__PURE__ */ G(Ee, {
2006
+ size: 14,
2007
+ weight: "fill",
2008
+ "aria-hidden": "true"
2009
+ })
2010
+ }), t[6] = h.length, t[7] = v, t[8] = _, t[9] = y) : y = t[9];
2011
+ let b = y, x = l?.selected && "is-selected", S = p?.open && "is-expanded", C = h.length && "is-error", w;
2012
+ t[10] !== x || t[11] !== S || t[12] !== C ? (w = [
2013
+ "dt-row",
2014
+ x,
2015
+ S,
2016
+ C
2017
+ ].filter(Boolean), t[10] = x, t[11] = S, t[12] = C, t[13] = w) : w = t[13];
2018
+ let T = w.join(" "), E = b ? v : void 0, D = _ || void 0, O;
2019
+ t[14] !== o.i18n || t[15] !== s || t[16] !== u ? (O = u && /* @__PURE__ */ G("div", {
2020
+ className: u.edge ? "dt-cell dt-cell-handle is-pinned-start is-pin-edge" : "dt-cell dt-cell-handle is-pinned-start",
2021
+ style: { left: 0 },
2022
+ role: "cell",
2023
+ children: /* @__PURE__ */ G("button", {
2024
+ type: "button",
2025
+ className: "dt-row-handle",
2026
+ ...u.bind?.props,
2027
+ ref: u.bind?.ref,
2028
+ "aria-label": o.i18n.t("reorder.handleAria", { row: s.label }),
2029
+ "aria-disabled": u.disabled || void 0,
2030
+ "data-dt-tip": u.reason,
2031
+ children: /* @__PURE__ */ G(ge, {
2032
+ size: 16,
2033
+ weight: "bold",
2034
+ "aria-hidden": "true"
2035
+ })
2036
+ })
2037
+ }), t[14] = o.i18n, t[15] = s, t[16] = u, t[17] = O) : O = t[17];
2038
+ let k;
2039
+ t[18] !== o.i18n || t[19] !== s || t[20] !== l ? (k = l && /* @__PURE__ */ G("label", {
2040
+ className: l.edge ? "dt-cell dt-cell-select is-pinned-start is-pin-edge" : "dt-cell dt-cell-select is-pinned-start",
2041
+ style: { left: l.left },
2042
+ role: "cell",
2043
+ children: /* @__PURE__ */ G("input", {
2044
+ type: "checkbox",
2045
+ className: "dt-checkbox dt-select-box",
2046
+ checked: l.selected,
2047
+ "aria-label": o.i18n.t("row.selectAria", { id: s.label }),
2048
+ onChange: (e) => l.onChange(e.target.checked, e.nativeEvent.shiftKey === !0)
2049
+ })
2050
+ }), t[18] = o.i18n, t[19] = s, t[20] = l, t[21] = k) : k = t[21];
2051
+ let A;
2052
+ t[22] !== a || t[23] !== o || t[24] !== b || t[25] !== p || t[26] !== d || t[27] !== n || t[28] !== c ? (A = (e) => /* @__PURE__ */ G(Tn, {
2053
+ col: e,
2054
+ row: n,
2055
+ env: o,
2056
+ secondaryVisible: c,
2057
+ expand: e.def.primary ? p : void 0,
2058
+ lead: !d && e.id === a[0]?.id ? b : void 0
2059
+ }, e.id), t[22] = a, t[23] = o, t[24] = b, t[25] = p, t[26] = d, t[27] = n, t[28] = c, t[29] = A) : A = t[29];
2060
+ let j;
2061
+ t[30] !== a || t[31] !== A ? (j = wn(a, A), t[30] = a, t[31] = A, t[32] = j) : j = t[32];
2062
+ let N;
2063
+ t[33] !== b || t[34] !== s || t[35] !== d || t[36] !== n ? (N = d && /* @__PURE__ */ K("div", {
2064
+ className: d.edge ? "dt-cell dt-cell-menu is-pinned-end is-pin-edge" : "dt-cell dt-cell-menu is-pinned-end",
2065
+ style: { right: 0 },
2066
+ role: "cell",
2067
+ children: [
2068
+ b,
2069
+ gn(d.actions, n).map((e) => /* @__PURE__ */ G(En, {
2070
+ action: e,
2071
+ row: n,
2072
+ uid: s.uid
2073
+ }, e.id)),
2074
+ /* @__PURE__ */ G(yn, {
2075
+ row: n,
2076
+ label: s.label,
2077
+ href: d.href,
2078
+ actions: d.actions,
2079
+ onOpen: d.onOpen
2080
+ })
2081
+ ]
2082
+ }), t[33] = b, t[34] = s, t[35] = d, t[36] = n, t[37] = N) : N = t[37];
2083
+ let P;
2084
+ return t[38] !== r || t[39] !== i || t[40] !== E || t[41] !== D || t[42] !== O || t[43] !== k || t[44] !== j || t[45] !== N || t[46] !== T ? (P = /* @__PURE__ */ K("div", {
2085
+ className: T,
2086
+ role: "row",
2087
+ "aria-rowindex": i,
2088
+ "aria-describedby": E,
2089
+ "data-dt-tip": D,
2090
+ "data-index": r,
2091
+ children: [
2092
+ O,
2093
+ k,
2094
+ j,
2095
+ N
2096
+ ]
2097
+ }), t[38] = r, t[39] = i, t[40] = E, t[41] = D, t[42] = O, t[43] = k, t[44] = j, t[45] = N, t[46] = T, t[47] = P) : P = t[47], P;
2098
+ }
2099
+ // src/core/grid/skeleton-row.tsx
2100
+ var On = [
2101
+ 72,
2102
+ 58,
2103
+ 80,
2104
+ 64,
2105
+ 55,
2106
+ 76,
2107
+ 61,
2108
+ 69
2109
+ ];
2110
+ function kn(e) {
2111
+ let t = M(7), { index: n, columns: r } = e, i;
2112
+ t[0] === n ? i = t[1] : (i = (e, t) => {
2113
+ let r = c[e.def.type].skeleton, i = `${On[(n + t) % On.length]}%`, a = [
2114
+ "dt-cell",
2115
+ `is-${s(e.def)}`,
2116
+ ...pn(e)
2117
+ ].join(" ");
2118
+ return /* @__PURE__ */ G("div", {
2119
+ className: a,
2120
+ style: fn(e),
2121
+ role: "cell",
2122
+ children: r === "person" ? /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("span", { className: "dt-sk dt-sk-circle" }), /* @__PURE__ */ G("span", {
2123
+ className: "dt-sk dt-sk-bar",
2124
+ style: { width: i }
2125
+ })] }) : r === "badge" ? /* @__PURE__ */ G("span", { className: "dt-sk dt-sk-pill" }) : r === "number" ? /* @__PURE__ */ G("span", { className: "dt-sk dt-sk-bar dt-sk-num" }) : /* @__PURE__ */ G("span", {
2126
+ className: "dt-sk dt-sk-bar",
2127
+ style: { width: i }
2128
+ })
2129
+ }, e.id);
2130
+ }, t[0] = n, t[1] = i);
2131
+ let a;
2132
+ t[2] !== r || t[3] !== i ? (a = wn(r, i), t[2] = r, t[3] = i, t[4] = a) : a = t[4];
2133
+ let o;
2134
+ return t[5] === a ? o = t[6] : (o = /* @__PURE__ */ G("div", {
2135
+ className: "dt-row dt-row-skeleton",
2136
+ role: "row",
2137
+ "aria-hidden": "true",
2138
+ children: a
2139
+ }), t[5] = a, t[6] = o), o;
2140
+ }
2141
+ // src/core/grid/use-virtual-rows.ts
2142
+ function An(e) {
2143
+ let t = Pe({
2144
+ count: e.count,
2145
+ getScrollElement: () => e.scrollRef.current,
2146
+ estimateSize: () => e.itemHeight,
2147
+ scrollMargin: e.headHeight,
2148
+ scrollPaddingStart: e.headHeight,
2149
+ scrollPaddingEnd: e.barHeight,
2150
+ overscan: 10,
2151
+ getItemKey: e.keyOf,
2152
+ rangeExtractor: (t) => {
2153
+ let n = Math.max(0, t.startIndex - t.overscan), r = Math.min(t.count - 1, t.endIndex + t.overscan), i = [], a = e.keepIndex;
2154
+ a >= 0 && a < n && a < t.count && i.push(a);
2155
+ for (let e = n; e <= r; e++) i.push(e);
2156
+ return a > r && a < t.count && i.push(a), i;
2157
+ }
2158
+ });
2159
+ return B(() => t.measure(), [
2160
+ t,
2161
+ e.itemHeight,
2162
+ e.resetKey
2163
+ ]), {
2164
+ items: t.getVirtualItems().map((e) => ({
2165
+ key: String(e.key),
2166
+ index: e.index,
2167
+ start: e.start
2168
+ })),
2169
+ total: t.getTotalSize(),
2170
+ measureElement: t.measureElement,
2171
+ resizeItem: (e, n) => t.resizeItem(e, n)
2172
+ };
2173
+ }
2174
+ // src/core/grid/grid.tsx
2175
+ var jn = F(() => import("./sortable-rows-DR8aAZrB.js")), Mn = 12, Nn = 44, Pn = 36, Fn = typeof matchMedia == "function" && matchMedia("(pointer: coarse)").matches, In = 40, Ln = 48, Rn = 32, zn = 44;
2176
+ function Bn({ layout: t, rows: n, rowId: r, label: i, density: a, skeleton: s = !1, rowCount: c = -1, rowIndexOffset: l = 0, dim: u = !1, refreshing: d = !1, notice: f, state: p, verticalLines: m = !1, scrollKey: h, sort: g, canSort: _, onSort: v, onSortSet: y, filtered: b, canFilter: x, onFilter: S, onColumns: C, onRowClick: w, selection: T, onSelectRows: E, expanded: D, canExpand: O, onToggleExpand: k, renderExpanded: A, resetKey: j, rowMenu: M = !1, rowActions: N = [], primaryHref: F, primaryLabel: I, onRowOpen: L, rowError: z, reorder: q }) {
2177
+ let J = e(), ee = V(null), Y = V(null), te = Fn && a === "compact" ? "standard" : a, [X] = H(() => new Wt()), ne = U(X.subscribe, X.getVersion), [Z, re] = H({
2178
+ row: Nn,
2179
+ head: Pn,
2180
+ bar: 0
2181
+ }), [ie, Q] = H({
2182
+ start: !1,
2183
+ end: !1
2184
+ }), [ae, oe] = H(-1), [se, ce] = H(-1), le = !!E, ue = !!A, de = t.phone, fe = le ? de ? Ln : In : 0, pe = q ? de ? zn : Rn : 0, me = pe + fe, he = !!q && !q.disabled && !s, ge = N.some((e) => e.inline) ? n.reduce((e, t) => Math.max(e, gn(N, t).length), 0) : 0, _e = (e) => {
2185
+ let t = z?.(e);
2186
+ return (Array.isArray(t) ? t : [t]).filter((e) => !!e);
2187
+ }, ve = !!z && n.some((e) => _e(e).length > 0), ye = M ? `calc(16px${ve ? " + var(--dt-icon) - 2px + var(--dt-space)" : ""} + ${ge + 1} * var(--dt-control-h-sm) + ${ge} * var(--dt-space))` : "", be = (e) => !!D?.[r(e)], xe = An({
2188
+ count: s ? Mn : n.length,
2189
+ scrollRef: Y,
2190
+ itemHeight: Z.row + 1,
2191
+ headHeight: Z.head,
2192
+ barHeight: Z.bar,
2193
+ keyOf: (e) => s ? `sk-${e}` : r(n[e]),
2194
+ keepIndex: s ? -1 : se >= 0 ? se : ae,
2195
+ resetKey: j
2196
+ }), Se = Object.keys(D ?? {}).join("\0"), Ce = V([]);
2197
+ B(() => {
2198
+ let e = new Set(Object.keys(D ?? {}));
2199
+ for (let t of Ce.current) {
2200
+ if (e.has(t)) continue;
2201
+ let i = n.findIndex((e) => r(e) === t);
2202
+ i >= 0 && xe.resizeItem(i, Z.row + 1);
2203
+ }
2204
+ Ce.current = [...e];
2205
+ }, [Se]), B(() => {
2206
+ let e = ee.current;
2207
+ if (!e) return;
2208
+ let n = () => {
2209
+ let n = [pe ? `${pe}px` : "", fe ? `${fe}px` : ""];
2210
+ e.style.setProperty("--cols", [
2211
+ ...n,
2212
+ t.cols(),
2213
+ ye
2214
+ ].filter(Boolean).join(" "));
2215
+ let r = `${t.minWidth() + me}px`;
2216
+ e.style.setProperty("--dt-min-w", ye ? `calc(${r} + ${ye})` : r), e.style.setProperty("--dt-sel-w", `${me}px`), e.style.setProperty("--dt-menu-w", ye || "0px");
2217
+ let i = new Set(t.start.map((e) => e.offsetVar)), a = new Set(t.end.map((e) => e.offsetVar));
2218
+ for (let [n, r] of Object.entries(t.offsets())) i.has(n) ? e.style.setProperty(n, `${parseFloat(r) + me}px`) : a.has(n) && ye ? e.style.setProperty(n, `calc(${r} + ${ye})`) : e.style.setProperty(n, r);
2219
+ };
2220
+ return n(), t.subscribeSizing(n);
2221
+ }, [
2222
+ t,
2223
+ fe,
2224
+ pe,
2225
+ me,
2226
+ ye
2227
+ ]);
2228
+ let { setScale: we, scale: Te } = t;
2229
+ B(() => {
2230
+ let e = ee.current;
2231
+ if (!e) return;
2232
+ let t = getComputedStyle(e), n = parseFloat(t.getPropertyValue("--dt-row-h")), r = parseFloat(t.getPropertyValue("--dt-fs")), i = e.querySelector(".dt-head")?.offsetHeight, a = Y.current, o = {
2233
+ row: Number.isFinite(n) ? n : Nn,
2234
+ head: i || Pn,
2235
+ bar: a ? Math.max(0, a.offsetHeight - a.clientHeight) : 0
2236
+ };
2237
+ re((e) => e.row === o.row && e.head === o.head && e.bar === o.bar ? e : o);
2238
+ let s = Number.isFinite(r) ? r / 13 : 1;
2239
+ s !== Te && we(s);
2240
+ }, [
2241
+ te,
2242
+ de,
2243
+ we,
2244
+ Te
2245
+ ]);
2246
+ let Ee = V(h);
2247
+ B(() => {
2248
+ Ee.current !== h && (Ee.current = h, Y.current && (Y.current.scrollTop = 0));
2249
+ }, [h]), B(() => {
2250
+ let e = Y.current;
2251
+ if (!e) return;
2252
+ let t = () => {
2253
+ let t = e.scrollLeft > 0, n = e.scrollLeft + e.clientWidth < e.scrollWidth - 1;
2254
+ Q((e) => e.start === t && e.end === n ? e : {
2255
+ start: t,
2256
+ end: n
2257
+ });
2258
+ };
2259
+ t(), e.addEventListener("scroll", t, { passive: !0 });
2260
+ let n = typeof ResizeObserver > "u" ? null : new ResizeObserver(t);
2261
+ return n?.observe(e), () => {
2262
+ e.removeEventListener("scroll", t), n?.disconnect();
2263
+ };
2264
+ }, []);
2265
+ let De = (e) => {
2266
+ let t = e.target.closest(".dt-row[data-index]");
2267
+ oe(t ? Number(t.dataset.index) : -1);
2268
+ }, Oe = V(null), ke = (e) => {
2269
+ let t = e.target, r = t.closest(".dt-row[data-index]"), i = r && n[Number(r.dataset.index)];
2270
+ if (!i) return;
2271
+ let a = t.closest("a.dt-link");
2272
+ a && a.closest(".dt-cell.is-primary") && r.contains(a) ? e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || L?.(i, e) : w && cn(e.nativeEvent, r, Oe.current) && w(i, e);
2273
+ }, Ae = n.map(r).join("\0"), je = V({
2274
+ keys: Ae,
2275
+ index: -1
2276
+ }), $ = (e, t, i) => {
2277
+ je.current.keys !== Ae && (je.current = {
2278
+ keys: Ae,
2279
+ index: -1
2280
+ });
2281
+ let a = je.current.index, [o, s] = a < e ? [a, e] : [e, a];
2282
+ E?.(i && a >= 0 ? n.slice(o, s + 1).map(r) : [r(n[e])], t), je.current = {
2283
+ keys: Ae,
2284
+ index: e
2285
+ };
2286
+ }, Me = le ? n.reduce((e, t) => e + +!!T?.[r(t)], 0) : 0, Ne = n.length > 0 && Me === n.length, Pe = R(), Fe = (e, n, i) => {
2287
+ let a = r(e), o = `${Pe}-sub-${a}`;
2288
+ return {
2289
+ label: I?.(e) ?? a,
2290
+ uid: `${Pe}-r-${a}`,
2291
+ error: _e(e),
2292
+ handle: q ? {
2293
+ disabled: !!q.disabled || q.pending,
2294
+ reason: typeof q.disabled == "string" ? q.disabled : void 0,
2295
+ edge: !le && !t.start.length,
2296
+ bind: i
2297
+ } : void 0,
2298
+ select: le ? {
2299
+ selected: !!T?.[a],
2300
+ edge: !t.start.length,
2301
+ left: pe,
2302
+ onChange: (e, t) => $(n, e, t)
2303
+ } : void 0,
2304
+ expand: ue ? {
2305
+ can: O?.(e) ?? !0,
2306
+ open: be(e),
2307
+ controls: o,
2308
+ onToggle: () => k?.(a, !be(e))
2309
+ } : void 0,
2310
+ menu: M ? {
2311
+ edge: !t.end.length,
2312
+ actions: N,
2313
+ href: F?.(e),
2314
+ onOpen: (t) => L?.(e, t)
2315
+ } : void 0
2316
+ };
2317
+ }, Ie = (e) => requestAnimationFrame(() => {
2318
+ [...ee.current?.querySelectorAll(".dt-head-cell[data-col]") ?? []].find((t) => t.dataset.col === e)?.querySelector(".dt-head-label")?.focus();
2319
+ }), Le = {
2320
+ fmt: o(J.locale),
2321
+ i18n: J.i18n,
2322
+ today: /* @__PURE__ */ new Date(),
2323
+ labels: X,
2324
+ density: te,
2325
+ coarse: Fn,
2326
+ labelsVersion: ne
2327
+ }, Re = [
2328
+ "dt-grid",
2329
+ ie.start && "is-scrolled-start",
2330
+ ie.end && "is-scrolled-end",
2331
+ s && "is-skeleton",
2332
+ u && "is-dim",
2333
+ m && "has-vlines",
2334
+ de && "is-phone"
2335
+ ], ze = (e) => {
2336
+ let n = !!v && (_?.(e.id) ?? !1);
2337
+ return /* @__PURE__ */ G(hn, {
2338
+ column: e,
2339
+ layout: t,
2340
+ onMoved: Ie,
2341
+ sort: g?.get(e.id),
2342
+ onSort: n ? (t) => v(e.id, t) : void 0,
2343
+ onSortSet: n && y ? (t) => y(e.id, t) : void 0,
2344
+ filtered: b?.has(e.id),
2345
+ onFilter: S && x?.(e.id) ? () => S(e.id) : void 0,
2346
+ onColumns: C
2347
+ }, e.id);
2348
+ }, Be = (e, i) => {
2349
+ let a = s ? void 0 : n[e.index], o = !!a && ue && be(a), c = o ? xe.measureElement : void 0;
2350
+ return /* @__PURE__ */ G("div", {
2351
+ ref: i ? (e) => {
2352
+ i.setNodeRef(e), c?.(e);
2353
+ } : c,
2354
+ className: i?.dragging ? "dt-item is-dragging" : "dt-item",
2355
+ "data-index": e.index,
2356
+ style: i ? {
2357
+ top: e.start - Z.head,
2358
+ transform: i.y ? `translateY(${i.y}px)` : void 0,
2359
+ transition: i.transition
2360
+ } : { transform: `translateY(${e.start - Z.head}px)` },
2361
+ children: a ? /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(Dn, {
2362
+ row: a,
2363
+ index: e.index,
2364
+ rowIndex: 2 + l + e.index,
2365
+ columns: t.columns,
2366
+ env: Le,
2367
+ extras: Fe(a, e.index, i?.handle)
2368
+ }), o && /* @__PURE__ */ G("div", {
2369
+ id: `${Pe}-sub-${r(a)}`,
2370
+ className: "dt-subrow",
2371
+ role: "row",
2372
+ "aria-rowindex": 2 + l + e.index,
2373
+ children: /* @__PURE__ */ G("div", {
2374
+ role: "cell",
2375
+ "aria-colspan": t.columns.length,
2376
+ children: A(a, () => k?.(r(a), !1))
2377
+ })
2378
+ })] }) : /* @__PURE__ */ G(kn, {
2379
+ index: e.index,
2380
+ columns: t.columns
2381
+ })
2382
+ }, e.key);
2383
+ };
2384
+ return /* @__PURE__ */ K("div", {
2385
+ ref: ee,
2386
+ className: Re.filter(Boolean).join(" "),
2387
+ role: "table",
2388
+ "aria-label": i,
2389
+ "aria-rowcount": c,
2390
+ "aria-colcount": t.columns.length + +!!q + +!!le + +!!M,
2391
+ "aria-busy": s || u || void 0,
2392
+ "data-density": te,
2393
+ onFocus: De,
2394
+ onMouseDown: (e) => Oe.current = {
2395
+ x: e.clientX,
2396
+ y: e.clientY
2397
+ },
2398
+ onClick: ke,
2399
+ children: [
2400
+ /* @__PURE__ */ K("div", {
2401
+ ref: Y,
2402
+ className: "dt-scroll",
2403
+ style: {
2404
+ scrollPaddingTop: Z.head,
2405
+ scrollPaddingBottom: Z.bar
2406
+ },
2407
+ children: [/* @__PURE__ */ K("div", {
2408
+ className: "dt-head",
2409
+ role: "row",
2410
+ "aria-rowindex": 1,
2411
+ children: [
2412
+ q && /* @__PURE__ */ G("div", {
2413
+ className: le || t.start.length ? "dt-head-cell dt-head-handle is-pinned-start" : "dt-head-cell dt-head-handle is-pinned-start is-pin-edge",
2414
+ style: { left: 0 },
2415
+ role: "columnheader",
2416
+ children: /* @__PURE__ */ G("span", {
2417
+ className: "dt-sr-only",
2418
+ children: J.i18n.t("reorder.column")
2419
+ })
2420
+ }),
2421
+ le && /* @__PURE__ */ G("div", {
2422
+ className: t.start.length ? "dt-head-cell dt-head-select is-pinned-start" : "dt-head-cell dt-head-select is-pinned-start is-pin-edge",
2423
+ style: { left: pe },
2424
+ role: "columnheader",
2425
+ children: /* @__PURE__ */ G("input", {
2426
+ type: "checkbox",
2427
+ className: "dt-checkbox",
2428
+ checked: Ne,
2429
+ ref: (e) => {
2430
+ e && (e.indeterminate = Me > 0 && !Ne);
2431
+ },
2432
+ "aria-label": J.i18n.t("row.selectPageAria"),
2433
+ onChange: () => E?.(n.map(r), !Ne)
2434
+ })
2435
+ }),
2436
+ [...t.start, ...t.center].map(ze),
2437
+ /* @__PURE__ */ G("div", {
2438
+ className: "dt-head-cell dt-cell-fill",
2439
+ role: "presentation",
2440
+ "aria-hidden": "true"
2441
+ }),
2442
+ t.end.map(ze),
2443
+ M && /* @__PURE__ */ G("div", {
2444
+ className: t.end.length ? "dt-head-cell dt-head-menu-col is-pinned-end" : "dt-head-cell dt-head-menu-col is-pinned-end is-pin-edge",
2445
+ style: { right: 0 },
2446
+ role: "columnheader"
2447
+ })
2448
+ ]
2449
+ }), /* @__PURE__ */ G("div", {
2450
+ className: "dt-body",
2451
+ role: "presentation",
2452
+ inert: u || void 0,
2453
+ style: { height: xe.total },
2454
+ children: he && q ? /* @__PURE__ */ G(P, {
2455
+ fallback: xe.items.map((e) => Be(e)),
2456
+ children: /* @__PURE__ */ G(jn, {
2457
+ ids: n.map(r),
2458
+ labelOf: (e) => {
2459
+ let t = n.find((t) => r(t) === e);
2460
+ return t ? I?.(t) ?? e : e;
2461
+ },
2462
+ disabled: q.pending,
2463
+ onMove: q.onMove,
2464
+ onActive: ce,
2465
+ items: xe.items,
2466
+ keyOf: (e) => e.key,
2467
+ render: Be
2468
+ })
2469
+ }) : xe.items.map((e) => Be(e))
2470
+ })]
2471
+ }),
2472
+ d && /* @__PURE__ */ G("div", {
2473
+ className: "dt-refresh-bar",
2474
+ "aria-hidden": "true"
2475
+ }),
2476
+ f && /* @__PURE__ */ G("div", {
2477
+ className: "dt-notice",
2478
+ role: "status",
2479
+ children: f
2480
+ }),
2481
+ p && !s && n.length === 0 && /* @__PURE__ */ G("div", {
2482
+ className: "dt-body-state",
2483
+ children: p
2484
+ })
2485
+ ]
2486
+ });
2487
+ }
2488
+ // src/core/grid/tooltip.tsx
2489
+ var Vn = 400, Hn = 8, Un = (e) => e.scrollWidth > e.clientWidth + 1, Wn = (e) => Un(e) && getComputedStyle(e).overflowX !== "visible", Gn = (e) => {
2490
+ let t = e?.closest("[data-dt-tip]");
2491
+ if (t?.dataset.dtTip) return {
2492
+ el: t,
2493
+ text: t.dataset.dtTip
2494
+ };
2495
+ let n = e?.closest(".dt-cell-content, .dt-head-label");
2496
+ return n && (Un(n) || [...n.querySelectorAll("*")].some(Wn)) ? {
2497
+ el: n,
2498
+ text: n.textContent?.trim() ?? ""
2499
+ } : null;
2500
+ };
2501
+ function Kn(e) {
2502
+ let t = M(12), { root: n } = e, [r, i] = H(null), a = V(null), o, s;
2503
+ t[0] === r ? (o = t[1], s = t[2]) : (o = () => {
2504
+ let e = a.current;
2505
+ if (!e || !r) return;
2506
+ let t = document.documentElement.clientWidth - Hn - e.offsetWidth;
2507
+ e.style.left = `${Math.max(Hn, Math.min(r.left - e.offsetWidth / 2, t))}px`;
2508
+ }, s = [r], t[0] = r, t[1] = o, t[2] = s), B(o, s);
2509
+ let c;
2510
+ t[3] === n.current ? c = t[4] : (c = () => {
2511
+ let e = n.current;
2512
+ if (!e) return;
2513
+ let t, r = null, a = () => {
2514
+ clearTimeout(t), r = null, i(null);
2515
+ }, o = (e, t, n) => {
2516
+ let r = e.getBoundingClientRect(), a = n !== void 0 && r.width > 320 ? n : r.left + r.width / 2;
2517
+ i({
2518
+ text: t,
2519
+ left: Math.round(a),
2520
+ top: Math.round(r.bottom + 6)
2521
+ });
2522
+ }, s = (e) => {
2523
+ let n = Gn(e.target);
2524
+ n && n.el !== r && (a(), r = n.el, t = setTimeout(() => o(n.el, n.text, e.clientX), Vn));
2525
+ }, c = (e) => {
2526
+ r && !r.contains(e.relatedTarget) && a();
2527
+ }, l = (e) => {
2528
+ let t = Gn(e.target);
2529
+ t && (a(), r = t.el, o(t.el, t.text));
2530
+ };
2531
+ return e.addEventListener("mouseover", s), e.addEventListener("mouseout", c), e.addEventListener("focusin", l), e.addEventListener("focusout", a), e.addEventListener("scroll", a, !0), e.addEventListener("mousedown", a), () => {
2532
+ clearTimeout(t), e.removeEventListener("mouseover", s), e.removeEventListener("mouseout", c), e.removeEventListener("focusin", l), e.removeEventListener("focusout", a), e.removeEventListener("scroll", a, !0), e.removeEventListener("mousedown", a);
2533
+ };
2534
+ }, t[3] = n.current, t[4] = c);
2535
+ let l;
2536
+ if (t[5] === n ? l = t[6] : (l = [n], t[5] = n, t[6] = l), I(c, l), !r) return null;
2537
+ let u;
2538
+ t[7] === r.top ? u = t[8] : (u = { top: r.top }, t[7] = r.top, t[8] = u);
2539
+ let d;
2540
+ return t[9] !== u || t[10] !== r.text ? (d = /* @__PURE__ */ G("div", {
2541
+ ref: a,
2542
+ className: "dt-tip",
2543
+ role: "tooltip",
2544
+ style: u,
2545
+ children: r.text
2546
+ }), t[9] = u, t[10] = r.text, t[11] = d) : d = t[11], d;
2547
+ }
2548
+ // src/core/states/state-message.tsx
2549
+ var qn = {
2550
+ empty: xe,
2551
+ noResults: ye,
2552
+ noResultsSearch: be,
2553
+ error: Ee,
2554
+ noRowsOnPage: ve
2555
+ };
2556
+ function Jn(e) {
2557
+ let t = M(18), { kind: n, title: r, lines: i, actions: a, after: o } = e, s;
2558
+ t[0] === i ? s = t[1] : (s = i === void 0 ? [] : i, t[0] = i, t[1] = s);
2559
+ let c = s, l = qn[n], u = `dt-state is-${n}`, d = n === "error" ? "alert" : "status", f;
2560
+ t[2] === l ? f = t[3] : (f = /* @__PURE__ */ G("span", {
2561
+ className: "dt-state-icon",
2562
+ "aria-hidden": "true",
2563
+ children: /* @__PURE__ */ G(l, { size: 20 })
2564
+ }), t[2] = l, t[3] = f);
2565
+ let p;
2566
+ t[4] === r ? p = t[5] : (p = /* @__PURE__ */ G("strong", {
2567
+ className: "dt-state-title",
2568
+ children: r
2569
+ }), t[4] = r, t[5] = p);
2570
+ let m;
2571
+ t[6] === c ? m = t[7] : (m = c.map(Yn), t[6] = c, t[7] = m);
2572
+ let h;
2573
+ t[8] === a ? h = t[9] : (h = a && /* @__PURE__ */ G("div", {
2574
+ className: "dt-state-actions",
2575
+ children: a
2576
+ }), t[8] = a, t[9] = h);
2577
+ let g;
2578
+ return t[10] !== o || t[11] !== u || t[12] !== d || t[13] !== f || t[14] !== p || t[15] !== m || t[16] !== h ? (g = /* @__PURE__ */ K("div", {
2579
+ className: u,
2580
+ role: d,
2581
+ children: [
2582
+ f,
2583
+ p,
2584
+ m,
2585
+ h,
2586
+ o
2587
+ ]
2588
+ }), t[10] = o, t[11] = u, t[12] = d, t[13] = f, t[14] = p, t[15] = m, t[16] = h, t[17] = g) : g = t[17], g;
2589
+ }
2590
+ function Yn(e) {
2591
+ return /* @__PURE__ */ G("p", {
2592
+ className: "dt-state-line",
2593
+ children: e
2594
+ }, e);
2595
+ }
2596
+ // src/core/toolbar/display-popover.tsx
2597
+ var Xn = [
2598
+ "comfortable",
2599
+ "standard",
2600
+ "compact"
2601
+ ];
2602
+ function Zn(t) {
2603
+ let n = M(64), { density: r, onDensity: i, verticalLines: a, onVerticalLines: o, counts: s, onColumns: c, persistent: l, onReset: u, iconOnly: d } = t, { i18n: f } = e(), [p, m] = H(!1), h = V(null), g;
2604
+ n[0] === c ? g = n[1] : (g = () => {
2605
+ m(!1), c(h.current);
2606
+ }, n[0] = c, n[1] = g);
2607
+ let _ = g, v;
2608
+ n[2] === Symbol.for("react.memo_cache_sentinel") ? (v = (e) => m(e), n[2] = v) : v = n[2];
2609
+ let y = d ? "dt-btn has-icon dt-btn-icon" : "dt-btn has-icon", b;
2610
+ n[3] === f ? b = n[4] : (b = f.t("toolbar.display"), n[3] = f, n[4] = b);
2611
+ let x;
2612
+ n[5] !== f || n[6] !== d ? (x = d ? f.t("toolbar.display") : void 0, n[5] = f, n[6] = d, n[7] = x) : x = n[7];
2613
+ let S;
2614
+ n[8] === Symbol.for("react.memo_cache_sentinel") ? (S = /* @__PURE__ */ G(we, {
2615
+ size: 16,
2616
+ "aria-hidden": "true"
2617
+ }), n[8] = S) : S = n[8];
2618
+ let C;
2619
+ n[9] !== f || n[10] !== d ? (C = !d && /* @__PURE__ */ G("span", { children: f.t("toolbar.display") }), n[9] = f, n[10] = d, n[11] = C) : C = n[11];
2620
+ let w;
2621
+ n[12] !== y || n[13] !== b || n[14] !== x || n[15] !== C ? (w = /* @__PURE__ */ K(je.Trigger, {
2622
+ ref: h,
2623
+ className: y,
2624
+ "aria-label": b,
2625
+ "data-dt-tip": x,
2626
+ children: [S, C]
2627
+ }), n[12] = y, n[13] = b, n[14] = x, n[15] = C, n[16] = w) : w = n[16];
2628
+ let T;
2629
+ n[17] !== r || n[18] !== f || n[19] !== i ? (T = i && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("div", {
2630
+ className: "dt-pop-label",
2631
+ children: f.t("display.density")
2632
+ }), /* @__PURE__ */ G(Ne, {
2633
+ className: "dt-seg dt-seg-sm dt-display-density",
2634
+ value: [r],
2635
+ onValueChange: (e) => e[0] && i(e[0]),
2636
+ children: Xn.map((e) => /* @__PURE__ */ G(Me, {
2637
+ className: "dt-seg-item",
2638
+ value: e,
2639
+ "data-state": e === r ? "on" : "off",
2640
+ children: f.t(`display.${e}`)
2641
+ }, e))
2642
+ })] }), n[17] = r, n[18] = f, n[19] = i, n[20] = T) : T = n[20];
2643
+ let E;
2644
+ n[21] === f ? E = n[22] : (E = f.t("display.verticalLines"), n[21] = f, n[22] = E);
2645
+ let D;
2646
+ n[23] !== o || n[24] !== a ? (D = /* @__PURE__ */ G(j, {
2647
+ className: "dt-pop-end",
2648
+ checked: a,
2649
+ onChange: o
2650
+ }), n[23] = o, n[24] = a, n[25] = D) : D = n[25];
2651
+ let O;
2652
+ n[26] !== E || n[27] !== D ? (O = /* @__PURE__ */ K("label", {
2653
+ className: "dt-pop-item",
2654
+ children: [E, D]
2655
+ }), n[26] = E, n[27] = D, n[28] = O) : O = n[28];
2656
+ let k;
2657
+ n[29] === Symbol.for("react.memo_cache_sentinel") ? (k = /* @__PURE__ */ G("div", { className: "dt-pop-sep" }), n[29] = k) : k = n[29];
2658
+ let A;
2659
+ n[30] === f ? A = n[31] : (A = f.t("display.columns"), n[30] = f, n[31] = A);
2660
+ let N;
2661
+ n[32] !== s || n[33] !== f ? (N = f.t("columns.shownOf", s), n[32] = s, n[33] = f, n[34] = N) : N = n[34];
2662
+ let P;
2663
+ n[35] === N ? P = n[36] : (P = /* @__PURE__ */ G("span", {
2664
+ className: "dt-pop-value",
2665
+ children: N
2666
+ }), n[35] = N, n[36] = P);
2667
+ let F;
2668
+ n[37] === Symbol.for("react.memo_cache_sentinel") ? (F = /* @__PURE__ */ G(pe, {
2669
+ size: 14,
2670
+ "aria-hidden": "true"
2671
+ }), n[37] = F) : F = n[37];
2672
+ let I;
2673
+ n[38] !== _ || n[39] !== A || n[40] !== P ? (I = /* @__PURE__ */ K("button", {
2674
+ type: "button",
2675
+ className: "dt-pop-item",
2676
+ onClick: _,
2677
+ children: [
2678
+ A,
2679
+ P,
2680
+ F
2681
+ ]
2682
+ }), n[38] = _, n[39] = A, n[40] = P, n[41] = I) : I = n[41];
2683
+ let L;
2684
+ n[42] !== f || n[43] !== l ? (L = l ? f.t("display.savedForYou") : "", n[42] = f, n[43] = l, n[44] = L) : L = n[44];
2685
+ let R;
2686
+ n[45] === L ? R = n[46] : (R = /* @__PURE__ */ G("span", { children: L }), n[45] = L, n[46] = R);
2687
+ let z;
2688
+ n[47] === f ? z = n[48] : (z = f.t("common.reset"), n[47] = f, n[48] = z);
2689
+ let B;
2690
+ n[49] !== u || n[50] !== z ? (B = /* @__PURE__ */ G("button", {
2691
+ type: "button",
2692
+ className: "dt-pop-action",
2693
+ onClick: u,
2694
+ children: z
2695
+ }), n[49] = u, n[50] = z, n[51] = B) : B = n[51];
2696
+ let U;
2697
+ n[52] !== R || n[53] !== B ? (U = /* @__PURE__ */ K("div", {
2698
+ className: "dt-pop-foot",
2699
+ children: [R, B]
2700
+ }), n[52] = R, n[53] = B, n[54] = U) : U = n[54];
2701
+ let q;
2702
+ n[55] !== O || n[56] !== I || n[57] !== U || n[58] !== T ? (q = /* @__PURE__ */ G(je.Portal, { children: /* @__PURE__ */ G(je.Positioner, {
2703
+ className: "dt-positioner",
2704
+ align: "end",
2705
+ sideOffset: 4,
2706
+ children: /* @__PURE__ */ K(je.Popup, {
2707
+ className: "dt-pop dt-display",
2708
+ children: [
2709
+ T,
2710
+ O,
2711
+ k,
2712
+ I,
2713
+ U
2714
+ ]
2715
+ })
2716
+ }) }), n[55] = O, n[56] = I, n[57] = U, n[58] = T, n[59] = q) : q = n[59];
2717
+ let J;
2718
+ return n[60] !== p || n[61] !== q || n[62] !== w ? (J = /* @__PURE__ */ K(je.Root, {
2719
+ open: p,
2720
+ onOpenChange: v,
2721
+ children: [w, q]
2722
+ }), n[60] = p, n[61] = q, n[62] = w, n[63] = J) : J = n[63], J;
2723
+ }
2724
+ // src/core/toolbar/more-menu.tsx
2725
+ function Qn(t) {
2726
+ let n = M(36), { exportHint: r, onExport: i, onRefresh: a, onPrint: o, autoRefresh: s, autoRefreshOn: c, onAutoRefresh: l } = t, { i18n: u } = e(), d = R(), f;
2727
+ n[0] === u ? f = n[1] : (f = u.t("toolbar.more"), n[0] = u, n[1] = f);
2728
+ let p;
2729
+ n[2] === u ? p = n[3] : (p = u.t("toolbar.more"), n[2] = u, n[3] = p);
2730
+ let m;
2731
+ n[4] === Symbol.for("react.memo_cache_sentinel") ? (m = /* @__PURE__ */ G(_e, {
2732
+ size: 16,
2733
+ weight: "bold",
2734
+ "aria-hidden": "true"
2735
+ }), n[4] = m) : m = n[4];
2736
+ let h;
2737
+ n[5] !== f || n[6] !== p ? (h = /* @__PURE__ */ G("button", {
2738
+ type: "button",
2739
+ className: "dt-btn dt-btn-icon",
2740
+ "aria-label": f,
2741
+ "data-dt-tip": p,
2742
+ children: m
2743
+ }), n[5] = f, n[6] = p, n[7] = h) : h = n[7];
2744
+ let g;
2745
+ n[8] !== r || n[9] !== d || n[10] !== u || n[11] !== i ? (g = r && /* @__PURE__ */ K($.SubmenuRoot, { children: [/* @__PURE__ */ G($.SubmenuTrigger, {
2746
+ className: "dt-menu-item",
2747
+ "aria-label": u.t("sheet.export"),
2748
+ "aria-describedby": d,
2749
+ children: /* @__PURE__ */ K("span", {
2750
+ className: "dt-item-lines",
2751
+ children: [u.t("sheet.export"), /* @__PURE__ */ G("span", {
2752
+ id: d,
2753
+ className: "dt-item-hint",
2754
+ children: r
2755
+ })]
2756
+ })
2757
+ }), /* @__PURE__ */ G($.Portal, { children: /* @__PURE__ */ G($.Positioner, {
2758
+ className: "dt-positioner",
2759
+ sideOffset: 4,
2760
+ children: /* @__PURE__ */ K($.Popup, {
2761
+ className: "dt-menu",
2762
+ children: [/* @__PURE__ */ G(Zt, {
2763
+ onSelect: () => i("csv"),
2764
+ children: u.t("toolbar.csv")
2765
+ }), /* @__PURE__ */ G(Zt, {
2766
+ onSelect: () => i("xlsx"),
2767
+ children: u.t("toolbar.xlsx")
2768
+ })]
2769
+ })
2770
+ }) })] }), n[8] = r, n[9] = d, n[10] = u, n[11] = i, n[12] = g) : g = n[12];
2771
+ let _;
2772
+ n[13] !== u || n[14] !== o ? (_ = o && /* @__PURE__ */ G(Zt, {
2773
+ onSelect: o,
2774
+ children: u.t("toolbar.print")
2775
+ }), n[13] = u, n[14] = o, n[15] = _) : _ = n[15];
2776
+ let v;
2777
+ n[16] !== s || n[17] !== r || n[18] !== o || n[19] !== a ? (v = (r || o) && (a || s) && /* @__PURE__ */ G(Qt, {}), n[16] = s, n[17] = r, n[18] = o, n[19] = a, n[20] = v) : v = n[20];
2778
+ let y;
2779
+ n[21] !== u || n[22] !== a ? (y = a && /* @__PURE__ */ K(Zt, {
2780
+ onSelect: a,
2781
+ children: [u.t("toolbar.refresh"), /* @__PURE__ */ G("kbd", {
2782
+ className: "dt-kbd",
2783
+ children: "R"
2784
+ })]
2785
+ }), n[21] = u, n[22] = a, n[23] = y) : y = n[23];
2786
+ let b;
2787
+ n[24] !== s || n[25] !== c || n[26] !== u || n[27] !== l ? (b = s && /* @__PURE__ */ K($.CheckboxItem, {
2788
+ className: "dt-menu-item",
2789
+ checked: c,
2790
+ onCheckedChange: (e) => l(e),
2791
+ closeOnClick: !0,
2792
+ children: [u.t("toolbar.autoRefresh"), /* @__PURE__ */ G("span", {
2793
+ className: "dt-switch dt-pop-end",
2794
+ "data-state": c ? "checked" : "unchecked",
2795
+ "aria-hidden": "true",
2796
+ children: /* @__PURE__ */ G("span", { className: "dt-switch-thumb" })
2797
+ })]
2798
+ }), n[24] = s, n[25] = c, n[26] = u, n[27] = l, n[28] = b) : b = n[28];
2799
+ let x;
2800
+ return n[29] !== h || n[30] !== g || n[31] !== _ || n[32] !== v || n[33] !== y || n[34] !== b ? (x = /* @__PURE__ */ K(Xt, {
2801
+ className: "dt-more-menu",
2802
+ trigger: h,
2803
+ children: [
2804
+ g,
2805
+ _,
2806
+ v,
2807
+ y,
2808
+ b
2809
+ ]
2810
+ }), n[29] = h, n[30] = g, n[31] = _, n[32] = v, n[33] = y, n[34] = b, n[35] = x) : x = n[35], x;
2811
+ }
2812
+ // src/core/toolbar/phone-more-sheet.tsx
2813
+ var $n = F(() => import("./columns-dialog-Dv6KDZpP.js")), er = [
2814
+ "comfortable",
2815
+ "standard",
2816
+ "compact"
2817
+ ], tr = {
2818
+ main: "toolbar.more",
2819
+ density: "display.density",
2820
+ sort: "display.sort",
2821
+ export: "sheet.export"
2822
+ };
2823
+ function nr(t) {
2824
+ let n = M(70), { density: r, onDensity: i, columns: a, counts: o, onColumnsSave: s, sort: c, onSort: l, persistent: u, onReset: d, exportHint: f, onExport: p, onRefresh: m, onPrint: h, autoRefresh: g, autoRefreshOn: v, onAutoRefresh: y } = t, { i18n: b } = e(), x = R(), [S, C] = H(!1), [w, T] = H("main"), [E, D] = H(!1), [O, k] = H(!1), A = V(null), N;
2825
+ n[0] === a ? N = n[1] : (N = (e) => a.find((t) => t.id === e)?.def.header ?? e, n[0] = a, n[1] = N);
2826
+ let F = N, I = c[0], L;
2827
+ n[2] !== F || n[3] !== b || n[4] !== I || n[5] !== c.length ? (L = I ? `${F(I.column)} ${I.dir === "asc" ? "↑" : "↓"}${c.length > 1 ? ` +${c.length - 1}` : ""}` : b.t("common.empty"), n[2] = F, n[3] = b, n[4] = I, n[5] = c.length, n[6] = L) : L = n[6];
2828
+ let z = L, B = !!(f || h || m || g), U;
2829
+ n[7] === Symbol.for("react.memo_cache_sentinel") ? (U = (e) => {
2830
+ C(e), e || T("main");
2831
+ }, n[7] = U) : U = n[7];
2832
+ let q = U, J;
2833
+ n[8] === Symbol.for("react.memo_cache_sentinel") ? (J = (e) => {
2834
+ q(!1), e();
2835
+ }, n[8] = J) : J = n[8];
2836
+ let ee = J, Y;
2837
+ n[9] !== b || n[10] !== w ? (Y = b.t(tr[w]), n[9] = b, n[10] = w, n[11] = Y) : Y = n[11];
2838
+ let te = w === "main", X;
2839
+ n[12] === b ? X = n[13] : (X = b.t("toolbar.more"), n[12] = b, n[13] = X);
2840
+ let ne;
2841
+ n[14] === Symbol.for("react.memo_cache_sentinel") ? (ne = /* @__PURE__ */ G(_e, {
2842
+ size: 20,
2843
+ weight: "bold",
2844
+ "aria-hidden": "true"
2845
+ }), n[14] = ne) : ne = n[14];
2846
+ let Z;
2847
+ n[15] === X ? Z = n[16] : (Z = /* @__PURE__ */ G("button", {
2848
+ ref: A,
2849
+ type: "button",
2850
+ className: "dt-btn dt-btn-icon dt-more-trigger",
2851
+ "aria-label": X,
2852
+ children: ne
2853
+ }), n[15] = X, n[16] = Z);
2854
+ let re;
2855
+ n[17] !== b || n[18] !== w ? (re = w !== "main" && /* @__PURE__ */ G("button", {
2856
+ type: "button",
2857
+ className: "dt-bsheet-back",
2858
+ "aria-label": b.t("common.back"),
2859
+ onClick: () => T("main"),
2860
+ children: /* @__PURE__ */ G(fe, {
2861
+ size: 20,
2862
+ "aria-hidden": "true"
2863
+ })
2864
+ }), n[17] = b, n[18] = w, n[19] = re) : re = n[19];
2865
+ let ie;
2866
+ n[20] !== g || n[21] !== v || n[22] !== o || n[23] !== r || n[24] !== f || n[25] !== B || n[26] !== x || n[27] !== b || n[28] !== w || n[29] !== y || n[30] !== i || n[31] !== h || n[32] !== m || n[33] !== d || n[34] !== u || n[35] !== z ? (ie = w === "main" && /* @__PURE__ */ K(W, { children: [
2867
+ /* @__PURE__ */ G("div", {
2868
+ className: "dt-bsheet-label",
2869
+ children: b.t("toolbar.display")
2870
+ }),
2871
+ i && /* @__PURE__ */ K("button", {
2872
+ type: "button",
2873
+ className: "dt-bsheet-row",
2874
+ onClick: () => T("density"),
2875
+ children: [
2876
+ b.t("display.density"),
2877
+ /* @__PURE__ */ G("span", {
2878
+ className: "dt-bsheet-value",
2879
+ children: b.t(`display.${r}`)
2880
+ }),
2881
+ /* @__PURE__ */ G(pe, {
2882
+ size: 16,
2883
+ "aria-hidden": "true"
2884
+ })
2885
+ ]
2886
+ }),
2887
+ /* @__PURE__ */ K("button", {
2888
+ type: "button",
2889
+ className: "dt-bsheet-row",
2890
+ onClick: () => ee(() => {
2891
+ k(!0), D(!0);
2892
+ }),
2893
+ children: [
2894
+ b.t("display.columns"),
2895
+ /* @__PURE__ */ G("span", {
2896
+ className: "dt-bsheet-value",
2897
+ children: b.t("columns.shownOf", o)
2898
+ }),
2899
+ /* @__PURE__ */ G(pe, {
2900
+ size: 16,
2901
+ "aria-hidden": "true"
2902
+ })
2903
+ ]
2904
+ }),
2905
+ /* @__PURE__ */ K("button", {
2906
+ type: "button",
2907
+ className: "dt-bsheet-row",
2908
+ onClick: () => T("sort"),
2909
+ children: [
2910
+ b.t("display.sort"),
2911
+ /* @__PURE__ */ G("span", {
2912
+ className: "dt-bsheet-value",
2913
+ children: z
2914
+ }),
2915
+ /* @__PURE__ */ G(pe, {
2916
+ size: 16,
2917
+ "aria-hidden": "true"
2918
+ })
2919
+ ]
2920
+ }),
2921
+ B && /* @__PURE__ */ G("div", { className: "dt-bsheet-sep" }),
2922
+ f && /* @__PURE__ */ K("button", {
2923
+ type: "button",
2924
+ className: "dt-bsheet-row",
2925
+ "aria-label": b.t("sheet.export"),
2926
+ "aria-describedby": x,
2927
+ onClick: () => T("export"),
2928
+ children: [/* @__PURE__ */ K("span", {
2929
+ className: "dt-item-lines",
2930
+ children: [b.t("sheet.export"), /* @__PURE__ */ G("span", {
2931
+ id: x,
2932
+ className: "dt-item-hint",
2933
+ children: f
2934
+ })]
2935
+ }), /* @__PURE__ */ G(pe, {
2936
+ size: 16,
2937
+ className: "dt-bsheet-end",
2938
+ "aria-hidden": "true"
2939
+ })]
2940
+ }),
2941
+ h && /* @__PURE__ */ G("button", {
2942
+ type: "button",
2943
+ className: "dt-bsheet-row",
2944
+ onClick: () => ee(h),
2945
+ children: b.t("toolbar.print")
2946
+ }),
2947
+ m && /* @__PURE__ */ G("button", {
2948
+ type: "button",
2949
+ className: "dt-bsheet-row",
2950
+ onClick: () => ee(m),
2951
+ children: b.t("toolbar.refresh")
2952
+ }),
2953
+ g && /* @__PURE__ */ K("label", {
2954
+ className: "dt-bsheet-row",
2955
+ children: [b.t("toolbar.autoRefresh"), /* @__PURE__ */ G(j, {
2956
+ className: "dt-bsheet-end",
2957
+ checked: v,
2958
+ onChange: y
2959
+ })]
2960
+ }),
2961
+ /* @__PURE__ */ K("div", {
2962
+ className: "dt-bsheet-note",
2963
+ children: [/* @__PURE__ */ G("span", { children: u ? b.t("display.savedForYou") : "" }), /* @__PURE__ */ G("button", {
2964
+ type: "button",
2965
+ className: "dt-bsheet-action",
2966
+ onClick: d,
2967
+ children: b.t("common.reset")
2968
+ })]
2969
+ })
2970
+ ] }), n[20] = g, n[21] = v, n[22] = o, n[23] = r, n[24] = f, n[25] = B, n[26] = x, n[27] = b, n[28] = w, n[29] = y, n[30] = i, n[31] = h, n[32] = m, n[33] = d, n[34] = u, n[35] = z, n[36] = ie) : ie = n[36];
2971
+ let Q;
2972
+ n[37] !== r || n[38] !== b || n[39] !== w || n[40] !== i ? (Q = w === "density" && er.map((e) => /* @__PURE__ */ K("button", {
2973
+ type: "button",
2974
+ className: "dt-bsheet-row",
2975
+ onClick: () => {
2976
+ i?.(e), T("main");
2977
+ },
2978
+ children: [b.t(`display.${e}`), e === r && /* @__PURE__ */ G(me, {
2979
+ size: 18,
2980
+ className: "dt-bsheet-end dt-bsheet-check",
2981
+ "aria-hidden": "true"
2982
+ })]
2983
+ }, e)), n[37] = r, n[38] = b, n[39] = w, n[40] = i, n[41] = Q) : Q = n[41];
2984
+ let ae;
2985
+ n[42] !== b || n[43] !== w || n[44] !== p ? (ae = w === "export" && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("button", {
2986
+ type: "button",
2987
+ className: "dt-bsheet-row",
2988
+ onClick: () => ee(() => p("csv")),
2989
+ children: b.t("toolbar.csv")
2990
+ }), /* @__PURE__ */ G("button", {
2991
+ type: "button",
2992
+ className: "dt-bsheet-row",
2993
+ onClick: () => ee(() => p("xlsx")),
2994
+ children: b.t("toolbar.xlsx")
2995
+ })] }), n[42] = b, n[43] = w, n[44] = p, n[45] = ae) : ae = n[45];
2996
+ let oe;
2997
+ n[46] !== F || n[47] !== b || n[48] !== w || n[49] !== l || n[50] !== c ? (oe = w === "sort" && /* @__PURE__ */ K(W, { children: [c.map((e, t) => {
2998
+ let n = e.dir === "asc" ? ue : le;
2999
+ return /* @__PURE__ */ K("div", {
3000
+ className: "dt-col-row dt-sort-row",
3001
+ children: [
3002
+ /* @__PURE__ */ G("span", {
3003
+ className: "dt-head-sort-index",
3004
+ children: t + 1
3005
+ }),
3006
+ /* @__PURE__ */ G("span", {
3007
+ className: "dt-col-name",
3008
+ children: F(e.column)
3009
+ }),
3010
+ /* @__PURE__ */ K("button", {
3011
+ type: "button",
3012
+ className: "dt-btn dt-btn-xs has-icon",
3013
+ onClick: () => l(c.map((t) => t.column === e.column ? {
3014
+ ...t,
3015
+ dir: t.dir === "asc" ? "desc" : "asc"
3016
+ } : t)),
3017
+ children: [/* @__PURE__ */ G(n, {
3018
+ size: 12,
3019
+ "aria-hidden": "true"
3020
+ }), b.t(e.dir === "asc" ? "sr.asc" : "sr.desc")]
3021
+ }),
3022
+ /* @__PURE__ */ G("button", {
3023
+ type: "button",
3024
+ className: "dt-icon-btn-sm",
3025
+ "aria-label": b.t("header.clearSort"),
3026
+ onClick: () => l(c.filter((t) => t.column !== e.column)),
3027
+ children: /* @__PURE__ */ G(ke, {
3028
+ size: 14,
3029
+ "aria-hidden": "true"
3030
+ })
3031
+ })
3032
+ ]
3033
+ }, e.column);
3034
+ }), /* @__PURE__ */ K("div", {
3035
+ className: "dt-pop-foot",
3036
+ children: [/* @__PURE__ */ G("span", { children: b.t("sort.addHint") }), /* @__PURE__ */ G("button", {
3037
+ type: "button",
3038
+ className: "dt-pop-action",
3039
+ disabled: !c.length,
3040
+ onClick: () => l([]),
3041
+ children: b.t("header.clearSort")
3042
+ })]
3043
+ })] }), n[46] = F, n[47] = b, n[48] = w, n[49] = l, n[50] = c, n[51] = oe) : oe = n[51];
3044
+ let se;
3045
+ n[52] !== S || n[53] !== re || n[54] !== ie || n[55] !== Q || n[56] !== ae || n[57] !== oe || n[58] !== Y || n[59] !== te || n[60] !== Z ? (se = /* @__PURE__ */ K(_, {
3046
+ open: S,
3047
+ onOpenChange: q,
3048
+ title: Y,
3049
+ hideTitle: te,
3050
+ className: "dt-more-sheet",
3051
+ trigger: Z,
3052
+ headStart: re,
3053
+ children: [
3054
+ ie,
3055
+ Q,
3056
+ ae,
3057
+ oe
3058
+ ]
3059
+ }), n[52] = S, n[53] = re, n[54] = ie, n[55] = Q, n[56] = ae, n[57] = oe, n[58] = Y, n[59] = te, n[60] = Z, n[61] = se) : se = n[61];
3060
+ let ce;
3061
+ n[62] !== a || n[63] !== E || n[64] !== O || n[65] !== s ? (ce = O && /* @__PURE__ */ G(P, {
3062
+ fallback: null,
3063
+ children: /* @__PURE__ */ G($n, {
3064
+ open: E,
3065
+ onOpenChange: D,
3066
+ columns: a,
3067
+ onSave: s,
3068
+ finalFocus: A,
3069
+ phone: !0
3070
+ })
3071
+ }), n[62] = a, n[63] = E, n[64] = O, n[65] = s, n[66] = ce) : ce = n[66];
3072
+ let de;
3073
+ return n[67] !== se || n[68] !== ce ? (de = /* @__PURE__ */ K(W, { children: [se, ce] }), n[67] = se, n[68] = ce, n[69] = de) : de = n[69], de;
3074
+ }
3075
+ // src/core/toolbar/search-box.tsx
3076
+ function rr(t) {
3077
+ let n = M(30), { value: r, placeholder: i, onChange: a, inputRef: o, onBlur: s, phone: c } = t, { i18n: l } = e(), [u, d] = H(r), [f, p] = H(r), [m, g] = H(r);
3078
+ f !== r && (p(r), r !== m && d(r));
3079
+ let _ = h(250), v;
3080
+ n[0] === a ? v = n[1] : (v = (e) => {
3081
+ g(e), a(e);
3082
+ }, n[0] = a, n[1] = v);
3083
+ let y = v, b;
3084
+ n[2] !== _ || n[3] !== y ? (b = (e, t) => {
3085
+ let n = t !== void 0 && t;
3086
+ d(e), n ? (_.cancel(), y(e)) : _.run(() => y(e));
3087
+ }, n[2] = _, n[3] = y, n[4] = b) : b = n[4];
3088
+ let x = b, S = c ? 18 : 16, C;
3089
+ n[5] === S ? C = n[6] : (C = /* @__PURE__ */ G("span", {
3090
+ className: "dt-input-icon",
3091
+ children: /* @__PURE__ */ G(be, {
3092
+ size: S,
3093
+ "aria-hidden": "true"
3094
+ })
3095
+ }), n[5] = S, n[6] = C);
3096
+ let w;
3097
+ n[7] === x ? w = n[8] : (w = (e) => x(e.target.value), n[7] = x, n[8] = w);
3098
+ let T;
3099
+ n[9] !== x || n[10] !== u ? (T = (e) => {
3100
+ e.key === "Escape" && (e.preventDefault(), u ? x("", !0) : e.currentTarget.blur());
3101
+ }, n[9] = x, n[10] = u, n[11] = T) : T = n[11];
3102
+ let E;
3103
+ n[12] !== u || n[13] !== o || n[14] !== i || n[15] !== w || n[16] !== T ? (E = /* @__PURE__ */ G("input", {
3104
+ ref: o,
3105
+ type: "search",
3106
+ value: u,
3107
+ placeholder: i,
3108
+ "aria-label": i,
3109
+ autoComplete: "off",
3110
+ onChange: w,
3111
+ onKeyDown: T
3112
+ }), n[12] = u, n[13] = o, n[14] = i, n[15] = w, n[16] = T, n[17] = E) : E = n[17];
3113
+ let D;
3114
+ n[18] !== x || n[19] !== u || n[20] !== l || n[21] !== c ? (D = u ? /* @__PURE__ */ G("button", {
3115
+ type: "button",
3116
+ className: "dt-input-clear",
3117
+ "aria-label": l.t("common.clear"),
3118
+ onClick: () => x("", !0),
3119
+ children: c ? /* @__PURE__ */ G(Oe, {
3120
+ size: 20,
3121
+ weight: "fill",
3122
+ "aria-hidden": "true"
3123
+ }) : /* @__PURE__ */ G(ke, {
3124
+ size: 14,
3125
+ "aria-hidden": "true"
3126
+ })
3127
+ }) : !c && /* @__PURE__ */ G("kbd", {
3128
+ className: "dt-kbd",
3129
+ "aria-hidden": "true",
3130
+ children: "/"
3131
+ }), n[18] = x, n[19] = u, n[20] = l, n[21] = c, n[22] = D) : D = n[22];
3132
+ let O;
3133
+ n[23] === D ? O = n[24] : (O = /* @__PURE__ */ G("span", {
3134
+ className: "dt-input-end",
3135
+ children: D
3136
+ }), n[23] = D, n[24] = O);
3137
+ let k;
3138
+ return n[25] !== s || n[26] !== C || n[27] !== E || n[28] !== O ? (k = /* @__PURE__ */ K("label", {
3139
+ className: "dt-input dt-search has-icon",
3140
+ onBlur: s,
3141
+ children: [
3142
+ C,
3143
+ E,
3144
+ O
3145
+ ]
3146
+ }), n[25] = s, n[26] = C, n[27] = E, n[28] = O, n[29] = k) : k = n[29], k;
3147
+ }
3148
+ // src/core/toolbar/toolbar.tsx
3149
+ function ir(t) {
3150
+ let n = M(42), { size: r, view: i, search: a, searchPlaceholder: o, onSearch: s, filter: c, display: l, more: u, end: d, ref: f } = t, { i18n: p } = e(), [m, h] = H(!1), g = V(null), _ = r === "phone", v = r !== "full" && !m && !a, y = _ && !v, b;
3151
+ n[0] === Symbol.for("react.memo_cache_sentinel") ? (b = () => {
3152
+ h(!0), requestAnimationFrame(() => g.current?.focus());
3153
+ }, n[0] = b) : b = n[0];
3154
+ let x = b, S;
3155
+ if (n[1] === v ? S = n[2] : (S = () => ({ focusSearch: () => v ? x() : g.current?.focus() }), n[1] = v, n[2] = S), z(f, S), y) {
3156
+ let e = a ?? "", t;
3157
+ n[3] !== s || n[4] !== o || n[5] !== e ? (t = /* @__PURE__ */ G(rr, {
3158
+ value: e,
3159
+ placeholder: o,
3160
+ onChange: s,
3161
+ inputRef: g,
3162
+ phone: !0
3163
+ }), n[3] = s, n[4] = o, n[5] = e, n[6] = t) : t = n[6];
3164
+ let r;
3165
+ n[7] === s ? r = n[8] : (r = () => {
3166
+ h(!1), s("");
3167
+ }, n[7] = s, n[8] = r);
3168
+ let i;
3169
+ n[9] === p ? i = n[10] : (i = p.t("common.cancel"), n[9] = p, n[10] = i);
3170
+ let c;
3171
+ n[11] !== r || n[12] !== i ? (c = /* @__PURE__ */ G("button", {
3172
+ type: "button",
3173
+ className: "dt-btn dt-btn-ghost dt-search-cancel",
3174
+ onClick: r,
3175
+ children: i
3176
+ }), n[11] = r, n[12] = i, n[13] = c) : c = n[13];
3177
+ let l;
3178
+ return n[14] !== t || n[15] !== c ? (l = /* @__PURE__ */ K("div", {
3179
+ className: "dt-toolbar is-phone",
3180
+ role: "toolbar",
3181
+ children: [t, c]
3182
+ }), n[14] = t, n[15] = c, n[16] = l) : l = n[16], l;
3183
+ }
3184
+ let C = `dt-toolbar is-${r} is-zoned`, w;
3185
+ n[17] === i ? w = n[18] : (w = /* @__PURE__ */ G("div", {
3186
+ className: "dt-toolbar-side is-start",
3187
+ children: i
3188
+ }), n[17] = i, n[18] = w);
3189
+ let T;
3190
+ n[19] !== v || n[20] !== s || n[21] !== _ || n[22] !== a || n[23] !== o ? (T = a !== null && (v ? /* @__PURE__ */ G("button", {
3191
+ type: "button",
3192
+ className: "dt-btn dt-btn-icon dt-search-open",
3193
+ "aria-label": o,
3194
+ "data-dt-tip": o,
3195
+ onClick: x,
3196
+ children: /* @__PURE__ */ G(be, {
3197
+ size: _ ? 20 : 16,
3198
+ "aria-hidden": "true"
3199
+ })
3200
+ }) : /* @__PURE__ */ G(rr, {
3201
+ value: a,
3202
+ placeholder: o,
3203
+ onChange: s,
3204
+ inputRef: g,
3205
+ onBlur: () => h(!1)
3206
+ })), n[19] = v, n[20] = s, n[21] = _, n[22] = a, n[23] = o, n[24] = T) : T = n[24];
3207
+ let E;
3208
+ n[25] !== c || n[26] !== T ? (E = /* @__PURE__ */ K("div", {
3209
+ className: "dt-btn-group",
3210
+ children: [T, c]
3211
+ }), n[25] = c, n[26] = T, n[27] = E) : E = n[27];
3212
+ let D;
3213
+ n[28] === Symbol.for("react.memo_cache_sentinel") ? (D = /* @__PURE__ */ G("span", { className: "dt-toolbar-spacer" }), n[28] = D) : D = n[28];
3214
+ let O;
3215
+ n[29] !== l || n[30] !== u ? (O = /* @__PURE__ */ K("div", {
3216
+ className: "dt-btn-group",
3217
+ children: [l, u]
3218
+ }), n[29] = l, n[30] = u, n[31] = O) : O = n[31];
3219
+ let k;
3220
+ n[32] === d ? k = n[33] : (k = d && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("span", {
3221
+ className: "dt-toolbar-sep",
3222
+ "aria-hidden": "true"
3223
+ }), /* @__PURE__ */ G("span", {
3224
+ className: "dt-toolbar-end",
3225
+ children: d
3226
+ })] }), n[32] = d, n[33] = k);
3227
+ let A;
3228
+ n[34] !== O || n[35] !== k ? (A = /* @__PURE__ */ K("div", {
3229
+ className: "dt-toolbar-side is-end",
3230
+ children: [O, k]
3231
+ }), n[34] = O, n[35] = k, n[36] = A) : A = n[36];
3232
+ let j;
3233
+ return n[37] !== A || n[38] !== C || n[39] !== w || n[40] !== E ? (j = /* @__PURE__ */ K("div", {
3234
+ className: C,
3235
+ role: "toolbar",
3236
+ children: [
3237
+ w,
3238
+ E,
3239
+ D,
3240
+ A
3241
+ ]
3242
+ }), n[37] = A, n[38] = C, n[39] = w, n[40] = E, n[41] = j) : j = n[41], j;
3243
+ }
3244
+ // src/core/ui/confirm-dialog.tsx
3245
+ function ar(t) {
3246
+ let n = M(29), { open: r, onOpenChange: i, title: a, body: o, confirmLabel: s, danger: c, onConfirm: l } = t, { i18n: u } = e(), d = V(null), f;
3247
+ n[0] === i ? f = n[1] : (f = (e) => i(e), n[0] = i, n[1] = f);
3248
+ let p;
3249
+ n[2] === Symbol.for("react.memo_cache_sentinel") ? (p = /* @__PURE__ */ G(Ie.Backdrop, { className: "dt-scrim" }), n[2] = p) : p = n[2];
3250
+ let m;
3251
+ n[3] === a ? m = n[4] : (m = /* @__PURE__ */ G(Ie.Title, {
3252
+ className: "dt-dialog-title",
3253
+ children: a
3254
+ }), n[3] = a, n[4] = m);
3255
+ let h;
3256
+ n[5] === o ? h = n[6] : (h = o && /* @__PURE__ */ G(Ie.Description, {
3257
+ className: "dt-dialog-body",
3258
+ children: o
3259
+ }), n[5] = o, n[6] = h);
3260
+ let g;
3261
+ n[7] === u ? g = n[8] : (g = u.t("common.cancel"), n[7] = u, n[8] = g);
3262
+ let _;
3263
+ n[9] === g ? _ = n[10] : (_ = /* @__PURE__ */ G(Ie.Close, {
3264
+ ref: d,
3265
+ className: "dt-btn",
3266
+ children: g
3267
+ }), n[9] = g, n[10] = _);
3268
+ let v = c ? "dt-btn dt-btn-danger" : "dt-btn dt-btn-primary", y;
3269
+ n[11] !== l || n[12] !== i ? (y = () => {
3270
+ l(), i(!1);
3271
+ }, n[11] = l, n[12] = i, n[13] = y) : y = n[13];
3272
+ let b;
3273
+ n[14] !== s || n[15] !== v || n[16] !== y ? (b = /* @__PURE__ */ G("button", {
3274
+ type: "button",
3275
+ className: v,
3276
+ onClick: y,
3277
+ children: s
3278
+ }), n[14] = s, n[15] = v, n[16] = y, n[17] = b) : b = n[17];
3279
+ let x;
3280
+ n[18] !== _ || n[19] !== b ? (x = /* @__PURE__ */ K("div", {
3281
+ className: "dt-dialog-actions",
3282
+ children: [_, b]
3283
+ }), n[18] = _, n[19] = b, n[20] = x) : x = n[20];
3284
+ let S;
3285
+ n[21] !== x || n[22] !== m || n[23] !== h ? (S = /* @__PURE__ */ K(Ie.Portal, { children: [p, /* @__PURE__ */ K(Ie.Popup, {
3286
+ className: "dt-dialog dt-dialog-confirm",
3287
+ initialFocus: d,
3288
+ children: [
3289
+ m,
3290
+ h,
3291
+ x
3292
+ ]
3293
+ })] }), n[21] = x, n[22] = m, n[23] = h, n[24] = S) : S = n[24];
3294
+ let C;
3295
+ return n[25] !== r || n[26] !== f || n[27] !== S ? (C = /* @__PURE__ */ G(Ie.Root, {
3296
+ open: r,
3297
+ onOpenChange: f,
3298
+ children: S
3299
+ }), n[25] = r, n[26] = f, n[27] = S, n[28] = C) : C = n[28], C;
3300
+ }
3301
+ // src/core/views/view-dialog.tsx
3302
+ function or(t) {
3303
+ let n = M(64), { open: r, onOpenChange: i, mode: a, name: o, summary: s, validate: c, onSave: l } = t, { i18n: u } = e(), [d, f] = H(o), [p, m] = H(!1), [h, g] = H(null), _ = V(null), v;
3304
+ n[0] === i ? v = n[1] : (v = (e) => i(e), n[0] = i, n[1] = v);
3305
+ let y;
3306
+ n[2] === Symbol.for("react.memo_cache_sentinel") ? (y = /* @__PURE__ */ G(Fe.Backdrop, { className: "dt-scrim" }), n[2] = y) : y = n[2];
3307
+ let b;
3308
+ n[3] === Symbol.for("react.memo_cache_sentinel") ? (b = () => (_.current?.select(), _.current), n[3] = b) : b = n[3];
3309
+ let x;
3310
+ n[4] !== p || n[5] !== d || n[6] !== i || n[7] !== l || n[8] !== c ? (x = (e) => {
3311
+ e.preventDefault();
3312
+ let t = c(d);
3313
+ g(t), t || (l({
3314
+ name: d.trim(),
3315
+ makeDefault: p
3316
+ }), i(!1));
3317
+ }, n[4] = p, n[5] = d, n[6] = i, n[7] = l, n[8] = c, n[9] = x) : x = n[9];
3318
+ let S;
3319
+ n[10] !== u || n[11] !== a ? (S = u.t(a === "rename" ? "views.rename" : "views.dialogTitle"), n[10] = u, n[11] = a, n[12] = S) : S = n[12];
3320
+ let C;
3321
+ n[13] === S ? C = n[14] : (C = /* @__PURE__ */ G(Fe.Title, {
3322
+ className: "dt-dialog-title",
3323
+ children: S
3324
+ }), n[13] = S, n[14] = C);
3325
+ let w;
3326
+ n[15] !== u || n[16] !== a ? (w = a === "create" && /* @__PURE__ */ G(Fe.Description, {
3327
+ className: "dt-dialog-body",
3328
+ children: u.t("views.dialogBody")
3329
+ }), n[15] = u, n[16] = a, n[17] = w) : w = n[17];
3330
+ let T;
3331
+ n[18] === u ? T = n[19] : (T = u.t("views.name"), n[18] = u, n[19] = T);
3332
+ let E;
3333
+ n[20] === T ? E = n[21] : (E = /* @__PURE__ */ G("span", {
3334
+ className: "dt-field-label",
3335
+ children: T
3336
+ }), n[20] = T, n[21] = E);
3337
+ let D = h ? !0 : void 0, O;
3338
+ n[22] === Symbol.for("react.memo_cache_sentinel") ? (O = (e) => f(e.target.value), n[22] = O) : O = n[22];
3339
+ let k;
3340
+ n[23] !== d || n[24] !== D ? (k = /* @__PURE__ */ G("span", {
3341
+ className: "dt-input",
3342
+ children: /* @__PURE__ */ G("input", {
3343
+ ref: _,
3344
+ value: d,
3345
+ type: "text",
3346
+ "aria-invalid": D,
3347
+ onChange: O
3348
+ })
3349
+ }), n[23] = d, n[24] = D, n[25] = k) : k = n[25];
3350
+ let A;
3351
+ n[26] !== h || n[27] !== u ? (A = h && /* @__PURE__ */ G("span", {
3352
+ className: "dt-field-error",
3353
+ role: "alert",
3354
+ children: u.t(`views.err.${h}`)
3355
+ }), n[26] = h, n[27] = u, n[28] = A) : A = n[28];
3356
+ let j;
3357
+ n[29] !== k || n[30] !== A || n[31] !== E ? (j = /* @__PURE__ */ K("label", {
3358
+ className: "dt-field",
3359
+ children: [
3360
+ E,
3361
+ k,
3362
+ A
3363
+ ]
3364
+ }), n[29] = k, n[30] = A, n[31] = E, n[32] = j) : j = n[32];
3365
+ let N;
3366
+ n[33] !== u || n[34] !== s ? (N = s && /* @__PURE__ */ K("div", {
3367
+ className: "dt-view-summary",
3368
+ children: [
3369
+ /* @__PURE__ */ G("span", { children: u.t("views.filters") }),
3370
+ /* @__PURE__ */ G("span", { children: s.filters }),
3371
+ /* @__PURE__ */ G("span", { children: u.t("views.sort") }),
3372
+ /* @__PURE__ */ G("span", { children: s.sort }),
3373
+ /* @__PURE__ */ G("span", { children: u.t("views.columns") }),
3374
+ /* @__PURE__ */ G("span", { children: s.columns })
3375
+ ]
3376
+ }), n[33] = u, n[34] = s, n[35] = N) : N = n[35];
3377
+ let P;
3378
+ n[36] !== u || n[37] !== p || n[38] !== a ? (P = a === "create" && /* @__PURE__ */ K("label", {
3379
+ className: "dt-check-row",
3380
+ children: [/* @__PURE__ */ G("input", {
3381
+ type: "checkbox",
3382
+ className: "dt-checkbox",
3383
+ checked: p,
3384
+ onChange: (e) => m(e.target.checked)
3385
+ }), u.t("views.makeDefault")]
3386
+ }), n[36] = u, n[37] = p, n[38] = a, n[39] = P) : P = n[39];
3387
+ let F;
3388
+ n[40] === u ? F = n[41] : (F = u.t("common.cancel"), n[40] = u, n[41] = F);
3389
+ let I;
3390
+ n[42] === F ? I = n[43] : (I = /* @__PURE__ */ G(Fe.Close, {
3391
+ className: "dt-btn",
3392
+ children: F
3393
+ }), n[42] = F, n[43] = I);
3394
+ let L;
3395
+ n[44] !== u || n[45] !== a ? (L = u.t(a === "rename" ? "common.save" : "views.save"), n[44] = u, n[45] = a, n[46] = L) : L = n[46];
3396
+ let R;
3397
+ n[47] === L ? R = n[48] : (R = /* @__PURE__ */ G("button", {
3398
+ type: "submit",
3399
+ className: "dt-btn dt-btn-primary",
3400
+ children: L
3401
+ }), n[47] = L, n[48] = R);
3402
+ let z;
3403
+ n[49] !== I || n[50] !== R ? (z = /* @__PURE__ */ K("div", {
3404
+ className: "dt-dialog-actions",
3405
+ children: [I, R]
3406
+ }), n[49] = I, n[50] = R, n[51] = z) : z = n[51];
3407
+ let B;
3408
+ n[52] !== j || n[53] !== N || n[54] !== P || n[55] !== z || n[56] !== x || n[57] !== C || n[58] !== w ? (B = /* @__PURE__ */ K(Fe.Portal, { children: [y, /* @__PURE__ */ G(Fe.Popup, {
3409
+ className: "dt-dialog dt-view-dialog",
3410
+ initialFocus: b,
3411
+ children: /* @__PURE__ */ K("form", {
3412
+ onSubmit: x,
3413
+ children: [
3414
+ C,
3415
+ w,
3416
+ j,
3417
+ N,
3418
+ P,
3419
+ z
3420
+ ]
3421
+ })
3422
+ })] }), n[52] = j, n[53] = N, n[54] = P, n[55] = z, n[56] = x, n[57] = C, n[58] = w, n[59] = B) : B = n[59];
3423
+ let U;
3424
+ return n[60] !== r || n[61] !== v || n[62] !== B ? (U = /* @__PURE__ */ G(Fe.Root, {
3425
+ open: r,
3426
+ onOpenChange: v,
3427
+ children: B
3428
+ }), n[60] = r, n[61] = v, n[62] = B, n[63] = U) : U = n[63], U;
3429
+ }
3430
+ // src/core/views/view-menu.tsx
3431
+ var sr = 8;
3432
+ function cr(t) {
3433
+ let n = M(113), { sections: r, active: i, edited: a, hasDraft: o, defaultId: s, canSave: c, canWrite: l, open: u, onOpenChange: d, onSelect: f, onSaveChanges: p, onSaveAs: m, onDiscard: h, onRename: g, onDuplicate: v, onSetDefault: y, onDelete: b, sheet: x } = t, { i18n: S } = e(), [C, w] = H(""), [T, E] = H(null), D = T ?? i?.id ?? null, O;
3434
+ n[0] === Symbol.for("react.memo_cache_sentinel") ? (O = (e) => E(e ?? ""), n[0] = O) : O = n[0];
3435
+ let k = O, A = R(), j, N, P, F, I, L, z, B, V, U, q, J, ee, Y, te, X;
3436
+ if (n[1] !== i?.id || n[2] !== i?.name || n[3] !== c || n[4] !== s || n[5] !== a || n[6] !== o || n[7] !== D || n[8] !== S || n[9] !== A || n[10] !== T || n[11] !== b || n[12] !== v || n[13] !== d || n[14] !== g || n[15] !== f || n[16] !== y || n[17] !== C || n[18] !== r || n[19] !== x) {
3437
+ let e = i?.name ?? S.t("views.title"), t = C.toLocaleLowerCase();
3438
+ P = [["system", "views.system"], ["personal", "views.mine"]].map((e) => {
3439
+ let [n, i] = e;
3440
+ return {
3441
+ key: n,
3442
+ title: i,
3443
+ views: r[n].filter((e) => !C || e.name.toLocaleLowerCase().includes(t))
3444
+ };
3445
+ }).filter(ur);
3446
+ let l = (e) => e.id !== i?.id && o(e.id), u = r.system.length + r.personal.length >= sr, p = (e) => c && e.kind !== "system", m = P.flatMap(lr), h;
3447
+ n[36] === d ? h = n[37] : (h = (e) => {
3448
+ d(e), w(""), E(null);
3449
+ }, n[36] = d, n[37] = h), F = h;
3450
+ let _;
3451
+ n[38] !== f || n[39] !== F ? (_ = (e) => {
3452
+ F(!1), f(e);
3453
+ }, n[38] = f, n[39] = F, n[40] = _) : _ = n[40];
3454
+ let O = _, M;
3455
+ n[41] === A ? M = n[42] : (M = (e) => `${A}-${e}`, n[41] = A, n[42] = M);
3456
+ let R = M, H;
3457
+ n[43] === A ? H = n[44] : (H = (e) => {
3458
+ let t = e.relatedTarget;
3459
+ (!t || t.id !== `${A}-q` && !document.getElementById(A)?.contains(t)) && k(null);
3460
+ }, n[43] = A, n[44] = H);
3461
+ let ne = H, Z;
3462
+ n[45] === F ? Z = n[46] : (Z = (e) => {
3463
+ F(!1), setTimeout(e, 0);
3464
+ }, n[45] = F, n[46] = Z), j = Z, X = S.t(a ? "sr.viewEdited" : "sr.view", { name: e });
3465
+ let re;
3466
+ n[47] === Symbol.for("react.memo_cache_sentinel") ? (re = /* @__PURE__ */ G("span", {
3467
+ className: "dt-view-icon",
3468
+ "aria-hidden": "true",
3469
+ children: /* @__PURE__ */ G(Te, { size: 16 })
3470
+ }), n[47] = re) : re = n[47];
3471
+ let ie;
3472
+ n[48] === e ? ie = n[49] : (ie = /* @__PURE__ */ G("span", {
3473
+ className: "dt-view-name",
3474
+ children: e
3475
+ }), n[48] = e, n[49] = ie);
3476
+ let Q;
3477
+ n[50] !== a || n[51] !== S ? (Q = a && /* @__PURE__ */ K(W, { children: [
3478
+ " ",
3479
+ /* @__PURE__ */ G("span", {
3480
+ className: "dt-view-dot",
3481
+ "aria-hidden": "true"
3482
+ }),
3483
+ /* @__PURE__ */ G("span", {
3484
+ className: "dt-view-edited",
3485
+ children: S.t("views.edited")
3486
+ })
3487
+ ] }), n[50] = a, n[51] = S, n[52] = Q) : Q = n[52];
3488
+ let ae;
3489
+ n[53] === Symbol.for("react.memo_cache_sentinel") ? (ae = /* @__PURE__ */ G(de, {
3490
+ size: 14,
3491
+ "aria-hidden": "true"
3492
+ }), n[53] = ae) : ae = n[53];
3493
+ let oe;
3494
+ n[54] !== ie || n[55] !== Q ? (oe = /* @__PURE__ */ K(W, { children: [
3495
+ re,
3496
+ ie,
3497
+ Q,
3498
+ ae
3499
+ ] }), n[54] = ie, n[55] = Q, n[56] = oe) : oe = n[56], te = oe;
3500
+ let se;
3501
+ n[57] !== A || n[58] !== u ? (se = () => document.getElementById(u ? `${A}-q` : A), n[57] = A, n[58] = u, n[59] = se) : se = n[59], N = se;
3502
+ let ce = (e) => {
3503
+ let t = m.findIndex((e) => e.id === D), n = {
3504
+ ArrowDown: 1,
3505
+ ArrowUp: -1
3506
+ }[e.key];
3507
+ if (n) {
3508
+ e.preventDefault();
3509
+ let r = m[Math.min(m.length - 1, Math.max(0, t < 0 ? 0 : t + n))];
3510
+ r && k(r.id);
3511
+ } else e.key === "Home" || e.key === "End" ? (e.preventDefault(), k((e.key === "Home" ? m[0] : m.at(-1))?.id ?? null)) : e.key === "Enter" && t >= 0 && e.target === e.currentTarget && (e.preventDefault(), O(m[t].id));
3512
+ }, le = D && m.some((e) => e.id === D) ? R(D) : void 0;
3513
+ L = u && /* @__PURE__ */ K("label", {
3514
+ className: "dt-input has-icon dt-picker-search",
3515
+ children: [/* @__PURE__ */ G("span", {
3516
+ className: "dt-input-icon",
3517
+ children: /* @__PURE__ */ G(be, {
3518
+ size: 14,
3519
+ "aria-hidden": "true"
3520
+ })
3521
+ }), /* @__PURE__ */ G("input", {
3522
+ id: `${A}-q`,
3523
+ type: "text",
3524
+ role: "combobox",
3525
+ "aria-expanded": "true",
3526
+ "aria-haspopup": "grid",
3527
+ "aria-controls": A,
3528
+ "aria-activedescendant": le,
3529
+ autoComplete: "off",
3530
+ value: C,
3531
+ placeholder: S.t("views.find"),
3532
+ "aria-label": S.t("views.find"),
3533
+ onBlur: ne,
3534
+ onChange: (e) => {
3535
+ let t = e.target.value;
3536
+ w(t);
3537
+ let n = r.system.concat(r.personal).find((e) => e.name.toLocaleLowerCase().includes(t.toLocaleLowerCase()));
3538
+ k(n?.id ?? null);
3539
+ },
3540
+ onKeyDown: ce
3541
+ })]
3542
+ }), z = A, B = P.length ? "grid" : void 0, V = "dt-views-list", U = P.length ? S.t("views.title") : void 0, q = u ? void 0 : 0, J = u ? void 0 : le, ee = u ? void 0 : ce, Y = ne, I = P.map((e) => /* @__PURE__ */ K("div", {
3543
+ role: "rowgroup",
3544
+ "aria-labelledby": `${A}-${e.key}`,
3545
+ children: [/* @__PURE__ */ G("div", {
3546
+ id: `${A}-${e.key}`,
3547
+ className: "dt-pop-label",
3548
+ "aria-hidden": "true",
3549
+ children: S.t(e.title)
3550
+ }), e.views.map((e) => /* @__PURE__ */ K("div", {
3551
+ role: "row",
3552
+ className: e.id === i?.id ? "dt-view-row is-active" : "dt-view-row",
3553
+ children: [/* @__PURE__ */ K("div", {
3554
+ id: R(e.id),
3555
+ role: "gridcell",
3556
+ "aria-selected": e.id === i?.id,
3557
+ className: "dt-view-item",
3558
+ "data-highlighted": T && e.id === D ? "" : void 0,
3559
+ onPointerEnter: () => k(e.id),
3560
+ onClick: () => O(e.id),
3561
+ children: [
3562
+ /* @__PURE__ */ G("span", {
3563
+ className: "dt-view-check",
3564
+ "aria-hidden": "true",
3565
+ children: e.id === i?.id && /* @__PURE__ */ G(me, { size: x ? 18 : 14 })
3566
+ }),
3567
+ /* @__PURE__ */ G("span", {
3568
+ className: "dt-view-row-name",
3569
+ children: e.name
3570
+ }),
3571
+ l(e) && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("span", {
3572
+ className: "dt-view-dot",
3573
+ "aria-hidden": "true"
3574
+ }), /* @__PURE__ */ G("span", {
3575
+ className: "dt-view-edited",
3576
+ children: S.t("views.edited")
3577
+ })] }),
3578
+ e.id === s && /* @__PURE__ */ G("span", {
3579
+ className: "dt-view-default",
3580
+ children: S.t("views.default")
3581
+ })
3582
+ ]
3583
+ }), /* @__PURE__ */ G("div", {
3584
+ role: "gridcell",
3585
+ className: "dt-view-more-cell",
3586
+ children: /* @__PURE__ */ K(Xt, {
3587
+ side: "right",
3588
+ align: "start",
3589
+ className: "dt-view-row-menu",
3590
+ trigger: /* @__PURE__ */ G("button", {
3591
+ type: "button",
3592
+ className: "dt-icon-btn-sm dt-view-more",
3593
+ "aria-label": S.t("common.more"),
3594
+ children: /* @__PURE__ */ G(_e, {
3595
+ size: 16,
3596
+ weight: "bold",
3597
+ "aria-hidden": "true"
3598
+ })
3599
+ }),
3600
+ children: [
3601
+ p(e) && /* @__PURE__ */ G(Zt, {
3602
+ onSelect: () => j(() => g(e)),
3603
+ children: S.t("views.rename")
3604
+ }),
3605
+ c && /* @__PURE__ */ G(Zt, {
3606
+ onSelect: () => j(() => v(e)),
3607
+ children: S.t("views.duplicate")
3608
+ }),
3609
+ e.id === s ? /* @__PURE__ */ G(Zt, {
3610
+ destructive: !0,
3611
+ onSelect: () => y(null),
3612
+ children: S.t("views.removeDefault")
3613
+ }) : /* @__PURE__ */ G(Zt, {
3614
+ onSelect: () => y(e.id),
3615
+ children: S.t("views.setDefault")
3616
+ }),
3617
+ p(e) && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(Qt, {}), /* @__PURE__ */ G(Zt, {
3618
+ destructive: !0,
3619
+ onSelect: () => j(() => b(e)),
3620
+ children: S.t("views.delete")
3621
+ })] }),
3622
+ e.kind === "system" && /* @__PURE__ */ G("div", {
3623
+ className: "dt-view-note",
3624
+ children: S.t("views.systemNote")
3625
+ })
3626
+ ]
3627
+ })
3628
+ })]
3629
+ }, e.id))]
3630
+ }, e.key)), n[1] = i?.id, n[2] = i?.name, n[3] = c, n[4] = s, n[5] = a, n[6] = o, n[7] = D, n[8] = S, n[9] = A, n[10] = T, n[11] = b, n[12] = v, n[13] = d, n[14] = g, n[15] = f, n[16] = y, n[17] = C, n[18] = r, n[19] = x, n[20] = j, n[21] = N, n[22] = P, n[23] = F, n[24] = I, n[25] = L, n[26] = z, n[27] = B, n[28] = V, n[29] = U, n[30] = q, n[31] = J, n[32] = ee, n[33] = Y, n[34] = te, n[35] = X;
3631
+ } else j = n[20], N = n[21], P = n[22], F = n[23], I = n[24], L = n[25], z = n[26], B = n[27], V = n[28], U = n[29], q = n[30], J = n[31], ee = n[32], Y = n[33], te = n[34], X = n[35];
3632
+ let ne;
3633
+ n[60] !== P.length || n[61] !== S ? (ne = P.length === 0 && /* @__PURE__ */ G("div", {
3634
+ className: "dt-options-empty",
3635
+ children: S.t("views.noMatch")
3636
+ }), n[60] = P.length, n[61] = S, n[62] = ne) : ne = n[62];
3637
+ let Z;
3638
+ n[63] !== I || n[64] !== ne || n[65] !== z || n[66] !== B || n[67] !== V || n[68] !== U || n[69] !== q || n[70] !== J || n[71] !== ee || n[72] !== Y ? (Z = /* @__PURE__ */ K("div", {
3639
+ id: z,
3640
+ role: B,
3641
+ className: V,
3642
+ "aria-label": U,
3643
+ tabIndex: q,
3644
+ "aria-activedescendant": J,
3645
+ onKeyDown: ee,
3646
+ onBlur: Y,
3647
+ children: [I, ne]
3648
+ }), n[63] = I, n[64] = ne, n[65] = z, n[66] = B, n[67] = V, n[68] = U, n[69] = q, n[70] = J, n[71] = ee, n[72] = Y, n[73] = Z) : Z = n[73];
3649
+ let re;
3650
+ n[74] !== i || n[75] !== j || n[76] !== c || n[77] !== l || n[78] !== a || n[79] !== S || n[80] !== h || n[81] !== m || n[82] !== p ? (re = a && i ? /* @__PURE__ */ K("div", {
3651
+ className: "dt-views-foot",
3652
+ children: [/* @__PURE__ */ K("p", {
3653
+ className: "dt-views-unsaved",
3654
+ children: [/* @__PURE__ */ G("span", {
3655
+ className: "dt-view-dot",
3656
+ "aria-hidden": "true"
3657
+ }), S.t("views.unsaved")]
3658
+ }), /* @__PURE__ */ K("div", {
3659
+ className: "dt-views-foot-actions",
3660
+ children: [/* @__PURE__ */ G("button", {
3661
+ type: "button",
3662
+ className: "dt-btn dt-btn-ghost dt-views-revert",
3663
+ onClick: () => j(h),
3664
+ children: S.t("views.discard")
3665
+ }), l ? /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("button", {
3666
+ type: "button",
3667
+ className: "dt-btn dt-btn-sm",
3668
+ onClick: () => j(m),
3669
+ children: S.t("views.saveAsNew")
3670
+ }), /* @__PURE__ */ K("button", {
3671
+ type: "button",
3672
+ className: "dt-btn dt-btn-sm dt-btn-primary",
3673
+ onClick: () => j(p),
3674
+ children: [S.t("views.saveChanges"), /* @__PURE__ */ G("kbd", {
3675
+ className: "dt-kbd",
3676
+ "aria-hidden": "true",
3677
+ children: dn
3678
+ })]
3679
+ })] }) : c && /* @__PURE__ */ G("button", {
3680
+ type: "button",
3681
+ className: "dt-btn dt-btn-sm dt-btn-primary",
3682
+ onClick: () => j(m),
3683
+ children: S.t("views.saveAsMine")
3684
+ })]
3685
+ })]
3686
+ }) : c && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("div", { className: "dt-pop-sep" }), /* @__PURE__ */ K("button", {
3687
+ type: "button",
3688
+ className: "dt-pop-item dt-view-new",
3689
+ onClick: () => j(m),
3690
+ children: [/* @__PURE__ */ G(Se, {
3691
+ size: 14,
3692
+ "aria-hidden": "true"
3693
+ }), S.t("views.new")]
3694
+ })] }), n[74] = i, n[75] = j, n[76] = c, n[77] = l, n[78] = a, n[79] = S, n[80] = h, n[81] = m, n[82] = p, n[83] = re) : re = n[83];
3695
+ let ie;
3696
+ n[84] !== L || n[85] !== Z || n[86] !== re ? (ie = /* @__PURE__ */ K(W, { children: [
3697
+ L,
3698
+ Z,
3699
+ re
3700
+ ] }), n[84] = L, n[85] = Z, n[86] = re, n[87] = ie) : ie = n[87];
3701
+ let Q = ie;
3702
+ if (x) {
3703
+ let e;
3704
+ n[88] === S ? e = n[89] : (e = S.t("views.title"), n[88] = S, n[89] = e);
3705
+ let t;
3706
+ n[90] !== te || n[91] !== X ? (t = /* @__PURE__ */ G("button", {
3707
+ type: "button",
3708
+ className: "dt-btn dt-btn-ghost has-icon dt-view-trigger",
3709
+ "aria-label": X,
3710
+ children: te
3711
+ }), n[90] = te, n[91] = X, n[92] = t) : t = n[92];
3712
+ let r;
3713
+ return n[93] !== Q || n[94] !== N || n[95] !== u || n[96] !== F || n[97] !== e || n[98] !== t ? (r = /* @__PURE__ */ G(_, {
3714
+ open: u,
3715
+ onOpenChange: F,
3716
+ title: e,
3717
+ hideTitle: !0,
3718
+ className: "dt-views",
3719
+ initialFocus: N,
3720
+ trigger: t,
3721
+ children: Q
3722
+ }), n[93] = Q, n[94] = N, n[95] = u, n[96] = F, n[97] = e, n[98] = t, n[99] = r) : r = n[99], r;
3723
+ }
3724
+ let ae;
3725
+ n[100] === F ? ae = n[101] : (ae = (e) => F(e), n[100] = F, n[101] = ae);
3726
+ let oe;
3727
+ n[102] !== te || n[103] !== X ? (oe = /* @__PURE__ */ G(je.Trigger, {
3728
+ className: "dt-btn dt-btn-ghost has-icon dt-view-trigger",
3729
+ "aria-label": X,
3730
+ children: te
3731
+ }), n[102] = te, n[103] = X, n[104] = oe) : oe = n[104];
3732
+ let se;
3733
+ n[105] !== Q || n[106] !== N ? (se = /* @__PURE__ */ G(je.Portal, { children: /* @__PURE__ */ G(je.Positioner, {
3734
+ className: "dt-positioner",
3735
+ align: "start",
3736
+ sideOffset: 4,
3737
+ children: /* @__PURE__ */ G(je.Popup, {
3738
+ className: "dt-pop dt-views",
3739
+ initialFocus: N,
3740
+ children: Q
3741
+ })
3742
+ }) }), n[105] = Q, n[106] = N, n[107] = se) : se = n[107];
3743
+ let ce;
3744
+ return n[108] !== u || n[109] !== ae || n[110] !== oe || n[111] !== se ? (ce = /* @__PURE__ */ K(je.Root, {
3745
+ open: u,
3746
+ onOpenChange: ae,
3747
+ children: [oe, se]
3748
+ }), n[108] = u, n[109] = ae, n[110] = oe, n[111] = se, n[112] = ce) : ce = n[112], ce;
3749
+ }
3750
+ function lr(e) {
3751
+ return e.views;
3752
+ }
3753
+ function ur(e) {
3754
+ return e.views.length;
3755
+ }
3756
+ // src/list/bulk-bar.tsx
3757
+ function dr(t) {
3758
+ let n = M(51), { rows: r, actions: i, variant: a, onClear: o, phone: s, children: c } = t, { i18n: l } = e(), [u, d] = H(!1), f, p, m, h, g, v, y, b;
3759
+ if (n[0] !== i || n[1] !== c || n[2] !== l || n[3] !== u || n[4] !== o || n[5] !== s || n[6] !== r || n[7] !== a) {
3760
+ let e;
3761
+ n[16] === r ? e = n[17] : (e = (e) => !e.when || e.when(r), n[16] = r, n[17] = e);
3762
+ let t = i.filter(e), x = t.filter(hr).slice(0, s ? 2 : 3), S = t.filter((e) => !x.includes(e)), C = [...S.filter(mr), ...S.filter(pr)], w = C.findIndex(fr), T;
3763
+ n[18] === r ? T = n[19] : (T = (e) => e.disabled?.(r) ?? !1, n[18] = r, n[19] = T);
3764
+ let E = T, D;
3765
+ n[20] === E ? D = n[21] : (D = (e) => {
3766
+ let t = E(e);
3767
+ return typeof t == "string" ? t : e.description;
3768
+ }, n[20] = E, n[21] = D);
3769
+ let O = D, k;
3770
+ n[22] !== E || n[23] !== r ? (k = (e) => {
3771
+ d(!1), E(e) || e.run(r);
3772
+ }, n[22] = E, n[23] = r, n[24] = k) : k = n[24];
3773
+ let A = k, j = a === "toolbar" ? "dt-btn has-icon" : "dt-bulk-btn", M;
3774
+ n[25] !== l || n[26] !== o ? (M = (e) => /* @__PURE__ */ G("button", {
3775
+ type: "button",
3776
+ className: e,
3777
+ "aria-label": l.t("selection.clear"),
3778
+ "data-dt-tip": l.t("selection.clear"),
3779
+ onClick: o,
3780
+ children: /* @__PURE__ */ G(ke, {
3781
+ size: 16,
3782
+ "aria-hidden": "true"
3783
+ })
3784
+ }), n[25] = l, n[26] = o, n[27] = M) : M = n[27], f = M, p = s ? `dt-bulk is-${a} is-phone` : `dt-bulk is-${a}`, m = "toolbar", n[28] === l ? h = n[29] : (h = l.t("bulk.aria"), n[28] = l, n[29] = h), n[30] !== f || n[31] !== a ? (g = a === "toolbar" && f("dt-btn dt-btn-icon"), n[30] = f, n[31] = a, n[32] = g) : g = n[32];
3785
+ let P;
3786
+ n[33] !== l || n[34] !== r.length ? (P = l.t("selection.selected", { count: r.length }), n[33] = l, n[34] = r.length, n[35] = P) : P = n[35], n[36] === P ? v = n[37] : (v = /* @__PURE__ */ G("span", {
3787
+ className: "dt-bulk-count",
3788
+ role: "status",
3789
+ children: P
3790
+ }), n[36] = P, n[37] = v), n[38] === Symbol.for("react.memo_cache_sentinel") ? (y = /* @__PURE__ */ G("span", {
3791
+ className: "dt-bulk-sep",
3792
+ "aria-hidden": "true"
3793
+ }), n[38] = y) : y = n[38], b = c ?? /* @__PURE__ */ K(W, { children: [
3794
+ x.map((e) => {
3795
+ let t = e.icon;
3796
+ return /* @__PURE__ */ K("button", {
3797
+ type: "button",
3798
+ className: e.destructive ? `${j} is-destructive` : j,
3799
+ disabled: !!E(e),
3800
+ "data-dt-tip": O(e),
3801
+ onClick: () => A(e),
3802
+ children: [t && /* @__PURE__ */ G(t, {
3803
+ size: s ? 18 : 16,
3804
+ "aria-hidden": "true"
3805
+ }), /* @__PURE__ */ G("span", { children: e.label })]
3806
+ }, e.id);
3807
+ }),
3808
+ C.length > 0 && s && /* @__PURE__ */ K(_, {
3809
+ open: u,
3810
+ onOpenChange: d,
3811
+ title: l.t("bulk.moreAria"),
3812
+ hideTitle: !0,
3813
+ trigger: /* @__PURE__ */ K("button", {
3814
+ type: "button",
3815
+ className: "dt-bulk-btn dt-bulk-more",
3816
+ "aria-label": l.t("bulk.moreAria"),
3817
+ children: [/* @__PURE__ */ G(_e, {
3818
+ size: 18,
3819
+ weight: "bold",
3820
+ "aria-hidden": "true"
3821
+ }), /* @__PURE__ */ G("span", { children: l.t("common.more") })]
3822
+ }),
3823
+ children: [/* @__PURE__ */ G("div", {
3824
+ className: "dt-bsheet-label",
3825
+ children: l.t("selection.selected", { count: r.length })
3826
+ }), C.map((e, t) => {
3827
+ let n = O(e);
3828
+ return /* @__PURE__ */ K(N, { children: [t > 0 && t === w && /* @__PURE__ */ G("div", { className: "dt-bsheet-sep" }), /* @__PURE__ */ K("button", {
3829
+ type: "button",
3830
+ className: e.destructive ? "dt-bsheet-row is-destructive" : "dt-bsheet-row",
3831
+ disabled: !!E(e),
3832
+ onClick: () => A(e),
3833
+ children: [e.icon && /* @__PURE__ */ G(e.icon, {
3834
+ size: 18,
3835
+ "aria-hidden": "true"
3836
+ }), /* @__PURE__ */ K("span", {
3837
+ className: "dt-menu-text",
3838
+ children: [/* @__PURE__ */ G("span", { children: e.label }), n && /* @__PURE__ */ G("span", {
3839
+ className: "dt-menu-sub",
3840
+ children: n
3841
+ })]
3842
+ })]
3843
+ })] }, e.id);
3844
+ })]
3845
+ }),
3846
+ C.length > 0 && !s && /* @__PURE__ */ G(Xt, {
3847
+ className: "dt-bulk-menu",
3848
+ align: "start",
3849
+ side: a === "floating" ? "top" : void 0,
3850
+ offset: a === "floating" ? 12 : 4,
3851
+ trigger: /* @__PURE__ */ G("button", {
3852
+ type: "button",
3853
+ className: a === "toolbar" ? `${j} dt-bulk-more dt-btn-icon` : `${j} dt-bulk-more`,
3854
+ "aria-label": l.t("bulk.moreAria"),
3855
+ children: /* @__PURE__ */ G(_e, {
3856
+ size: 16,
3857
+ weight: "bold",
3858
+ "aria-hidden": "true"
3859
+ })
3860
+ }),
3861
+ children: C.map((e, t) => {
3862
+ let n = O(e);
3863
+ return /* @__PURE__ */ K(N, { children: [t > 0 && t === w && /* @__PURE__ */ G(Qt, {}), /* @__PURE__ */ K(Zt, {
3864
+ destructive: e.destructive,
3865
+ twoLine: !!n,
3866
+ disabled: !!E(e),
3867
+ onSelect: () => A(e),
3868
+ children: [e.icon && /* @__PURE__ */ G(e.icon, {
3869
+ size: 16,
3870
+ "aria-hidden": "true"
3871
+ }), /* @__PURE__ */ K("span", {
3872
+ className: "dt-menu-text",
3873
+ children: [/* @__PURE__ */ G("span", { children: e.label }), n && /* @__PURE__ */ G("span", {
3874
+ className: "dt-menu-sub",
3875
+ children: n
3876
+ })]
3877
+ })]
3878
+ })] }, e.id);
3879
+ })
3880
+ })
3881
+ ] }), n[0] = i, n[1] = c, n[2] = l, n[3] = u, n[4] = o, n[5] = s, n[6] = r, n[7] = a, n[8] = f, n[9] = p, n[10] = m, n[11] = h, n[12] = g, n[13] = v, n[14] = y, n[15] = b;
3882
+ } else f = n[8], p = n[9], m = n[10], h = n[11], g = n[12], v = n[13], y = n[14], b = n[15];
3883
+ let x;
3884
+ n[39] !== f || n[40] !== a ? (x = a === "floating" && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("span", {
3885
+ className: "dt-bulk-sep",
3886
+ "aria-hidden": "true"
3887
+ }), f("dt-bulk-btn dt-bulk-icon")] }), n[39] = f, n[40] = a, n[41] = x) : x = n[41];
3888
+ let S;
3889
+ return n[42] !== p || n[43] !== m || n[44] !== h || n[45] !== g || n[46] !== v || n[47] !== y || n[48] !== b || n[49] !== x ? (S = /* @__PURE__ */ K("div", {
3890
+ className: p,
3891
+ role: m,
3892
+ "aria-label": h,
3893
+ children: [
3894
+ g,
3895
+ v,
3896
+ y,
3897
+ b,
3898
+ x
3899
+ ]
3900
+ }), n[42] = p, n[43] = m, n[44] = h, n[45] = g, n[46] = v, n[47] = y, n[48] = b, n[49] = x, n[50] = S) : S = n[50], S;
3901
+ }
3902
+ function fr(e) {
3903
+ return e.destructive;
3904
+ }
3905
+ function pr(e) {
3906
+ return e.destructive;
3907
+ }
3908
+ function mr(e) {
3909
+ return !e.destructive;
3910
+ }
3911
+ function hr(e) {
3912
+ return e.inBar;
3913
+ }
3914
+ // src/list/footer.tsx
3915
+ function gr(e) {
3916
+ let t = M(3), [n, r] = H(_r), i, a;
3917
+ return t[0] === e ? (i = t[1], a = t[2]) : (i = () => {
3918
+ let t = setInterval(() => r(Date.now()), e);
3919
+ return () => clearInterval(t);
3920
+ }, a = [e], t[0] = e, t[1] = i, t[2] = a), I(i, a), n;
3921
+ }
3922
+ function _r() {
3923
+ return Date.now();
3924
+ }
3925
+ function vr(t) {
3926
+ let n = M(86), r = gr(3e4), { i18n: i, locale: a } = e(), s, c, l, u, d, f;
3927
+ if (n[0] !== i || n[1] !== a || n[2] !== r || n[3] !== t.countable || n[4] !== t.countedAt || n[5] !== t.counting || n[6] !== t.empty || n[7] !== t.firstLoad || n[8] !== t.hasMore || n[9] !== t.onCount || n[10] !== t.page.number || n[11] !== t.page.size || n[12] !== t.rowCount || n[13] !== t.total || n[14] !== t.updatedAt) {
3928
+ let e = o(a), p = (t.page.number - 1) * t.page.size + 1, m = p + t.rowCount - 1, h = !t.hasMore, g = t.page.number === 1 && h, _;
3929
+ n[21] === a ? _ = n[22] : (_ = (e) => e.toLocaleTimeString(a, {
3930
+ hour: "2-digit",
3931
+ minute: "2-digit"
3932
+ }), n[21] = a, n[22] = _);
3933
+ let v = _;
3934
+ f = t.updatedAt ? r - t.updatedAt.getTime() < 6e4 ? i.t("toolbar.updatedJustNow") : i.t("toolbar.updatedAgo", { time: e.relative(t.updatedAt, new Date(r), "short") }) : "", l = "dt-footer", u = "navigation", n[23] === i ? d = n[24] : (d = i.t("page.nav"), n[23] = i, n[24] = d), s = "dt-footer-left", c = t.firstLoad ? /* @__PURE__ */ G("span", {
3935
+ className: "dt-footer-muted",
3936
+ children: i.t("common.loading")
3937
+ }) : t.rowCount === 0 ? /* @__PURE__ */ G("span", {
3938
+ className: "dt-footer-rows",
3939
+ children: i.t(t.empty ? "page.none" : "page.zero")
3940
+ }) : /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("span", {
3941
+ className: "dt-footer-rows",
3942
+ children: i.t("page.rows", {
3943
+ from: e.int(p),
3944
+ to: e.int(m)
3945
+ })
3946
+ }), t.total !== void 0 && !g ? /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("span", {
3947
+ className: "dt-footer-of",
3948
+ children: i.t("page.of", { total: e.int(t.total) })
3949
+ }), t.countedAt && /* @__PURE__ */ K("span", {
3950
+ className: "dt-footer-muted",
3951
+ children: ["· ", i.t("page.counted", { time: v(t.countedAt) })]
3952
+ })] }) : t.counting ? /* @__PURE__ */ K("span", {
3953
+ className: "dt-footer-muted",
3954
+ children: [
3955
+ i.t("page.of", { total: "" }),
3956
+ /* @__PURE__ */ G(he, {
3957
+ size: 12,
3958
+ className: "dt-spin",
3959
+ "aria-hidden": "true"
3960
+ }),
3961
+ i.t("page.counting")
3962
+ ]
3963
+ }) : h && !g ? /* @__PURE__ */ K("span", {
3964
+ className: "dt-footer-muted",
3965
+ children: ["· ", i.t("page.end")]
3966
+ }) : t.countable && !g ? /* @__PURE__ */ K("button", {
3967
+ type: "button",
3968
+ className: "dt-btn dt-btn-ghost dt-btn-xs dt-footer-count",
3969
+ onClick: t.onCount,
3970
+ children: ["· ", i.t("page.countTotal")]
3971
+ }) : null] }), n[0] = i, n[1] = a, n[2] = r, n[3] = t.countable, n[4] = t.countedAt, n[5] = t.counting, n[6] = t.empty, n[7] = t.firstLoad, n[8] = t.hasMore, n[9] = t.onCount, n[10] = t.page.number, n[11] = t.page.size, n[12] = t.rowCount, n[13] = t.total, n[14] = t.updatedAt, n[15] = s, n[16] = c, n[17] = l, n[18] = u, n[19] = d, n[20] = f;
3972
+ } else s = n[15], c = n[16], l = n[17], u = n[18], d = n[19], f = n[20];
3973
+ let p;
3974
+ n[25] !== i || n[26] !== t.freshness || n[27] !== t.onRefresh || n[28] !== t.phone || n[29] !== t.updatedAt || n[30] !== f ? (p = !t.phone && (t.updatedAt || t.freshness !== "normal") && /* @__PURE__ */ K(W, { children: [
3975
+ /* @__PURE__ */ G("span", {
3976
+ className: "dt-footer-vsep",
3977
+ "aria-hidden": "true"
3978
+ }),
3979
+ t.freshness === "live" ? /* @__PURE__ */ K("span", {
3980
+ className: "dt-footer-live",
3981
+ children: [/* @__PURE__ */ G("span", {
3982
+ className: "dt-live-dot",
3983
+ "aria-hidden": "true"
3984
+ }), i.t("toolbar.live")]
3985
+ }) : t.freshness === "refreshing" ? /* @__PURE__ */ G("span", {
3986
+ className: "dt-footer-muted",
3987
+ role: "status",
3988
+ children: i.t("state.updating")
3989
+ }) : t.updatedAt && /* @__PURE__ */ G("span", {
3990
+ className: t.freshness === "stale" ? "dt-footer-updated is-stale" : "dt-footer-updated",
3991
+ children: f
3992
+ }),
3993
+ t.onRefresh && /* @__PURE__ */ G("button", {
3994
+ type: "button",
3995
+ className: "dt-icon-btn-sm",
3996
+ "aria-label": i.t("toolbar.refresh"),
3997
+ "data-dt-tip": `${i.t("toolbar.refresh")} · R`,
3998
+ onClick: t.onRefresh,
3999
+ children: /* @__PURE__ */ G(ce, {
4000
+ size: 14,
4001
+ className: t.freshness === "refreshing" ? "dt-spin" : void 0,
4002
+ "aria-hidden": "true"
4003
+ })
4004
+ })
4005
+ ] }), n[25] = i, n[26] = t.freshness, n[27] = t.onRefresh, n[28] = t.phone, n[29] = t.updatedAt, n[30] = f, n[31] = p) : p = n[31];
4006
+ let m;
4007
+ n[32] !== s || n[33] !== c || n[34] !== p ? (m = /* @__PURE__ */ K("div", {
4008
+ className: s,
4009
+ children: [c, p]
4010
+ }), n[32] = s, n[33] = c, n[34] = p, n[35] = m) : m = n[35];
4011
+ let h;
4012
+ n[36] !== i || n[37] !== t ? (h = !t.phone && /* @__PURE__ */ K("label", {
4013
+ className: "dt-footer-size",
4014
+ children: [/* @__PURE__ */ G("span", {
4015
+ className: "dt-footer-size-label",
4016
+ children: i.t("page.perPage")
4017
+ }), /* @__PURE__ */ K("span", {
4018
+ className: "dt-select",
4019
+ children: [/* @__PURE__ */ G("select", {
4020
+ value: t.page.size,
4021
+ disabled: t.busy,
4022
+ onChange: (e) => t.onPageSize(Number(e.target.value)),
4023
+ children: t.pageSizes.map(yr)
4024
+ }), /* @__PURE__ */ G(de, {
4025
+ size: 12,
4026
+ "aria-hidden": "true"
4027
+ })]
4028
+ })]
4029
+ }), n[36] = i, n[37] = t, n[38] = h) : h = n[38];
4030
+ let g;
4031
+ n[39] === t.phone ? g = n[40] : (g = !t.phone && /* @__PURE__ */ G("span", {
4032
+ className: "dt-footer-vsep",
4033
+ "aria-hidden": "true"
4034
+ }), n[39] = t.phone, n[40] = g);
4035
+ let _;
4036
+ n[41] !== i || n[42] !== t.phone ? (_ = t.phone ? i.t("page.previous") : void 0, n[41] = i, n[42] = t.phone, n[43] = _) : _ = n[43];
4037
+ let v = t.page.number <= 1 || t.busy, y;
4038
+ n[44] === t ? y = n[45] : (y = () => t.onPage(t.page.number - 1), n[44] = t, n[45] = y);
4039
+ let b = t.phone ? 18 : 14, x;
4040
+ n[46] === b ? x = n[47] : (x = /* @__PURE__ */ G(fe, {
4041
+ size: b,
4042
+ "aria-hidden": "true"
4043
+ }), n[46] = b, n[47] = x);
4044
+ let S;
4045
+ n[48] === i ? S = n[49] : (S = i.t("page.previous"), n[48] = i, n[49] = S);
4046
+ let C;
4047
+ n[50] === S ? C = n[51] : (C = /* @__PURE__ */ G("span", { children: S }), n[50] = S, n[51] = C);
4048
+ let w;
4049
+ n[52] !== v || n[53] !== y || n[54] !== x || n[55] !== C || n[56] !== _ ? (w = /* @__PURE__ */ K("button", {
4050
+ type: "button",
4051
+ className: "dt-btn dt-btn-sm has-icon dt-footer-prev",
4052
+ "aria-label": _,
4053
+ disabled: v,
4054
+ onClick: y,
4055
+ children: [x, C]
4056
+ }), n[52] = v, n[53] = y, n[54] = x, n[55] = C, n[56] = _, n[57] = w) : w = n[57];
4057
+ let T;
4058
+ n[58] !== i || n[59] !== t.phone ? (T = t.phone ? i.t("page.next") : void 0, n[58] = i, n[59] = t.phone, n[60] = T) : T = n[60];
4059
+ let E = !t.hasMore || t.busy, D;
4060
+ n[61] === t ? D = n[62] : (D = () => t.onPage(t.page.number + 1), n[61] = t, n[62] = D);
4061
+ let O;
4062
+ n[63] === i ? O = n[64] : (O = i.t("page.next"), n[63] = i, n[64] = O);
4063
+ let k;
4064
+ n[65] === O ? k = n[66] : (k = /* @__PURE__ */ G("span", { children: O }), n[65] = O, n[66] = k);
4065
+ let A = t.phone ? 18 : 14, j;
4066
+ n[67] === A ? j = n[68] : (j = /* @__PURE__ */ G(pe, {
4067
+ size: A,
4068
+ "aria-hidden": "true"
4069
+ }), n[67] = A, n[68] = j);
4070
+ let N;
4071
+ n[69] !== T || n[70] !== E || n[71] !== D || n[72] !== k || n[73] !== j ? (N = /* @__PURE__ */ K("button", {
4072
+ type: "button",
4073
+ className: "dt-btn dt-btn-sm dt-footer-next",
4074
+ "aria-label": T,
4075
+ disabled: E,
4076
+ onClick: D,
4077
+ children: [k, j]
4078
+ }), n[69] = T, n[70] = E, n[71] = D, n[72] = k, n[73] = j, n[74] = N) : N = n[74];
4079
+ let P;
4080
+ n[75] !== w || n[76] !== N || n[77] !== h || n[78] !== g ? (P = /* @__PURE__ */ K("div", {
4081
+ className: "dt-footer-right",
4082
+ children: [
4083
+ h,
4084
+ g,
4085
+ w,
4086
+ N
4087
+ ]
4088
+ }), n[75] = w, n[76] = N, n[77] = h, n[78] = g, n[79] = P) : P = n[79];
4089
+ let F;
4090
+ return n[80] !== l || n[81] !== P || n[82] !== u || n[83] !== d || n[84] !== m ? (F = /* @__PURE__ */ K("div", {
4091
+ className: l,
4092
+ role: u,
4093
+ "aria-label": d,
4094
+ children: [m, P]
4095
+ }), n[80] = l, n[81] = P, n[82] = u, n[83] = d, n[84] = m, n[85] = F) : F = n[85], F;
4096
+ }
4097
+ function yr(e) {
4098
+ return /* @__PURE__ */ G("option", {
4099
+ value: e,
4100
+ children: e
4101
+ }, e);
4102
+ }
4103
+ // src/list/use-chips.ts
4104
+ function br(e) {
4105
+ let t = M(38), { defs: n, filters: r, setFilters: i } = e, [a, o] = H(null), [s, c] = H(null), l;
4106
+ if (t[0] !== n || t[1] !== a || t[2] !== r) {
4107
+ let e;
4108
+ t[4] === n ? e = t[5] : (e = (e) => n.has(e.column), t[4] = n, t[5] = e), l = r.filter(e), a && !l.some((e) => e.column === a.chip.column) && l.splice(Math.min(a.at, l.length), 0, a.chip), t[0] = n, t[1] = a, t[2] = r, t[3] = l;
4109
+ } else l = t[3];
4110
+ let u;
4111
+ t[6] === r ? u = t[7] : (u = (e) => r.some((t) => t.column === e), t[6] = r, t[7] = u);
4112
+ let d = u, f;
4113
+ t[8] === a ? f = t[9] : (f = (e) => {
4114
+ c(e), a && a.chip.column !== e && o(null);
4115
+ }, t[8] = a, t[9] = f);
4116
+ let p = f, m;
4117
+ t[10] !== l || t[11] !== n || t[12] !== r || t[13] !== d || t[14] !== i ? (m = (e) => {
4118
+ let t = l.findIndex((t) => t.column === e.column), a = r.filter((t) => t.column !== e.column);
4119
+ if (w(e, n.get(e.column).type)) {
4120
+ let n = l.slice(0, t).filter((e) => d(e.column)).length;
4121
+ a.splice(n, 0, C(e)), i(a), o(null);
4122
+ } else o({
4123
+ chip: e,
4124
+ at: t
4125
+ }), d(e.column) && i(a);
4126
+ }, t[10] = l, t[11] = n, t[12] = r, t[13] = d, t[14] = i, t[15] = m) : m = t[15];
4127
+ let h = m, g;
4128
+ t[16] !== a?.chip || t[17] !== s || t[18] !== r || t[19] !== d || t[20] !== i ? (g = (e) => {
4129
+ a?.chip.column === e && o(null), s === e && c(null), d(e) && i(r.filter((t) => t.column !== e));
4130
+ }, t[16] = a?.chip, t[17] = s, t[18] = r, t[19] = d, t[20] = i, t[21] = g) : g = t[21];
4131
+ let _ = g, v;
4132
+ t[22] !== l || t[23] !== n || t[24] !== r || t[25] !== p || t[26] !== i ? (v = (e) => {
4133
+ let t = n.get(e);
4134
+ if (t) {
4135
+ if (l.some((t) => t.column === e)) return p(e);
4136
+ t.type === "boolean" ? (p(null), i([...r, {
4137
+ column: e,
4138
+ op: "eq",
4139
+ value: !0
4140
+ }])) : (c(e), o({
4141
+ chip: {
4142
+ column: e,
4143
+ op: T(t)
4144
+ },
4145
+ at: l.length
4146
+ }));
4147
+ }
4148
+ }, t[22] = l, t[23] = n, t[24] = r, t[25] = p, t[26] = i, t[27] = v) : v = t[27];
4149
+ let y = v, b;
4150
+ t[28] === i ? b = t[29] : (b = () => {
4151
+ o(null), c(null), i([]);
4152
+ }, t[28] = i, t[29] = b);
4153
+ let x = b, S;
4154
+ return t[30] !== l || t[31] !== x || t[32] !== s || t[33] !== y || t[34] !== _ || t[35] !== p || t[36] !== h ? (S = {
4155
+ chips: l,
4156
+ editing: s,
4157
+ setEditing: p,
4158
+ update: h,
4159
+ remove: _,
4160
+ pick: y,
4161
+ clear: x
4162
+ }, t[30] = l, t[31] = x, t[32] = s, t[33] = y, t[34] = _, t[35] = p, t[36] = h, t[37] = S) : S = t[37], S;
4163
+ }
4164
+ // src/list/use-load-state.ts
4165
+ var xr = 400, Sr = 150, Cr = 1e4;
4166
+ function wr(e, t) {
4167
+ let n = M(4), [r, i] = H(null), a, o;
4168
+ return n[0] !== t || n[1] !== e ? (a = () => {
4169
+ if (e === null) return;
4170
+ let n = setTimeout(() => i(e), t);
4171
+ return () => clearTimeout(n);
4172
+ }, o = [e, t], n[0] = t, n[1] = e, n[2] = a, n[3] = o) : (a = n[2], o = n[3]), I(a, o), e !== null && r === e;
4173
+ }
4174
+ function Tr(e, t, n) {
4175
+ let r = M(18), i = !!e && (e.status === "pending" || !!e.isFetching), a = !!e && e.status === "success" && !e.isFetching && !e.isPlaceholderData, [o, s] = H(null);
4176
+ a && (!o || o.data !== e.data || o.at !== e.dataUpdatedAt) && s({
4177
+ identity: t,
4178
+ page: n,
4179
+ data: e.data,
4180
+ at: e.dataUpdatedAt
4181
+ });
4182
+ let c = e?.status === "error" ? e.data?.rows.length ? "stale" : "error" : null, l;
4183
+ r[0] !== c || r[1] !== e?.data?.rows ? (l = c === "error" ? [] : e?.data?.rows ?? [], r[0] = c, r[1] = e?.data?.rows, r[2] = l) : l = r[2];
4184
+ let u = l, d = u.length > 0, f = i && o?.identity !== t, p = f && d, m = `${t}|${e?.dataUpdatedAt ?? 0}`, h = wr(p ? m : null, xr), g = i && !f, _ = wr(g ? m : null, Sr), v = wr(i ? m : null, Cr), y = i && !d || h, b = f || y && !d, x = o?.page ?? n, S;
4185
+ r[3] === o ? S = r[4] : (S = o?.at ? new Date(o.at) : null, r[3] = o, r[4] = S);
4186
+ let C;
4187
+ return r[5] !== _ || r[6] !== p || r[7] !== c || r[8] !== d || r[9] !== i || r[10] !== g || r[11] !== u || r[12] !== y || r[13] !== v || r[14] !== b || r[15] !== x || r[16] !== S ? (C = {
4188
+ pending: i,
4189
+ rows: u,
4190
+ hasRows: d,
4191
+ errorKind: c,
4192
+ dim: p,
4193
+ skeleton: y,
4194
+ bar: _,
4195
+ stillLoading: v,
4196
+ refreshing: g,
4197
+ busy: b,
4198
+ page: x,
4199
+ updatedAt: S
4200
+ }, r[5] = _, r[6] = p, r[7] = c, r[8] = d, r[9] = i, r[10] = g, r[11] = u, r[12] = y, r[13] = v, r[14] = b, r[15] = x, r[16] = S, r[17] = C) : C = r[17], C;
4201
+ }
4202
+ // src/list/use-row-order.ts
4203
+ var Er = "\0";
4204
+ function Dr(e, t, n) {
4205
+ let r = M(14), [i, a] = H(null), [o, s] = H(!1), c = V(0), l, u;
4206
+ if (r[0] !== i || r[1] !== t || r[2] !== e) {
4207
+ l = e.map(t);
4208
+ let n = new Map(e.map((e, t) => [l[t], e]));
4209
+ u = i && i.base === l.join(Er) ? i.ids.map((e) => n.get(e)) : e, r[0] = i, r[1] = t, r[2] = e, r[3] = l, r[4] = u;
4210
+ } else l = r[3], u = r[4];
4211
+ let d = u, f;
4212
+ r[5] !== l || r[6] !== n || r[7] !== t || r[8] !== d ? (f = (e, r) => {
4213
+ if (!n || e === r) return;
4214
+ let i = [...d], [o] = i.splice(e, 1);
4215
+ i.splice(r, 0, o);
4216
+ let u = c.current += 1;
4217
+ a({
4218
+ base: l.join(Er),
4219
+ ids: i.map(t)
4220
+ });
4221
+ let f = n({
4222
+ row: o,
4223
+ after: i[r - 1] ?? null,
4224
+ before: i[r + 1] ?? null
4225
+ });
4226
+ f instanceof Promise && (s(!0), f.then(() => {
4227
+ u === c.current && s(!1);
4228
+ }, () => {
4229
+ u === c.current && (s(!1), a(null));
4230
+ }));
4231
+ }, r[5] = l, r[6] = n, r[7] = t, r[8] = d, r[9] = f) : f = r[9];
4232
+ let p = f, m;
4233
+ return r[10] !== p || r[11] !== o || r[12] !== d ? (m = {
4234
+ rows: d,
4235
+ move: p,
4236
+ pending: o
4237
+ }, r[10] = p, r[11] = o, r[12] = d, r[13] = m) : m = r[13], m;
4238
+ }
4239
+ // src/list/data-table.tsx
4240
+ var Or = F(() => import("./columns-dialog-Dv6KDZpP.js")), kr = F(() => import("./filters-sheet-DAf-n-Nv.js").then((e) => ({ default: e.FiltersSheet }))), Ar = {};
4241
+ function jr(e) {
4242
+ if (typeof e == "string") return { message: e };
4243
+ if (typeof e != "object" || !e) return {};
4244
+ let t = e;
4245
+ return {
4246
+ message: typeof t.message == "string" ? t.message : void 0,
4247
+ id: typeof t.id == "string" || typeof t.id == "number" ? String(t.id) : void 0
4248
+ };
4249
+ }
4250
+ function Mr({ table: t, result: n, label: r, empty: i, toolbar: s = "auto", toolbarEnd: c, notice: l, searchPlaceholder: u, autoRefresh: f, onPrint: p, exportable: m = !0, onExport: h, shortcuts: g = !0, onRowClick: _, rowClick: v = "none", onRowOpen: y, rowActions: b, selectable: x = !1, selectionBar: w = "floating", bulkActions: T, selectionActions: E, onSelectionChange: D, renderExpanded: O, canExpand: k, rowError: A, reorder: j }) {
4251
+ let { i18n: M, locale: N } = e(), F = o(N), z = t.entityName, U = t.request, q = t.rows === void 0, J = Tr(q ? n : void 0, JSON.stringify([
4252
+ U.search,
4253
+ U.filters,
4254
+ U.sort,
4255
+ U.page
4256
+ ]), U.page), ee = Dr(q ? J.rows : t.rows ?? [], t.rowId, j?.onMove), Y = ee.rows, te = Y.length > 0, X = q ? n?.refetch : void 0, ne = J.busy, Z = new Map(t.columns.map((e) => [e.id, e])), re = t.columns.filter((e) => yt(e)), ie = new Set(re.map((e) => e.id)), Q = br({
4257
+ defs: Z,
4258
+ filters: U.filters,
4259
+ setFilters: t.setFilters
4260
+ }), [ae, oe] = H(!1), [se, ce] = H(null), le = (e) => ce((t) => ({
4261
+ key: (t?.key ?? 0) + 1,
4262
+ open: !0,
4263
+ column: e
4264
+ })), [ue] = H(() => new Wt()), de = q ? Y : t.allRows ?? [], fe = (e) => (t) => e.type === "select" || e.type === "multiselect" || e.type === "user" && e.options ? a(e.options, t) : (e.type === "user" || e.type === "ajax") && e.remote ? ue.label(e.id, e.remote, t) : String(t), pe = (e) => S(e, Z.get(e.column), {
4265
+ i18n: M,
4266
+ fmt: F,
4267
+ labelOf: fe(Z.get(e.column))
4268
+ }), me = (e) => {
4269
+ if (e.type !== "currency") return [];
4270
+ if (typeof e.currency == "string") return [e.currency];
4271
+ let t = e.currency;
4272
+ return [...new Set(de.map((e) => t(e)))];
4273
+ }, ge = s === "auto" && re.length > 0, _e = s !== !1 && t.columns.some((e) => bt(e)), ve = V(null), [be, xe] = H(!1), [Ce, we] = H(!1), Te = V(null), Ee = (e) => {
4274
+ Te.current = e, we(!0), xe(!0);
4275
+ }, Oe = t.views, ke = s === "auto" && Oe.hasViews, [Ae, je] = H(!1), [$, Me] = H(null), [Ne, Pe] = H(null), Fe = () => ({
4276
+ filters: U.filters,
4277
+ sort: U.sort,
4278
+ columns: t.layout.state()
4279
+ }), Ie = (e) => {
4280
+ let n = e.sort[0], r = e.sort.length > 1 ? ` +${e.sort.length - 1}` : "", i = [...e.columns.pinned.left, ...e.columns.pinned.right].map(Tt).join(", ");
4281
+ return {
4282
+ filters: e.filters.map((e) => Tt(e.column)).join(" · ") || M.t("common.empty"),
4283
+ sort: n ? `${Tt(n.column)} ${n.dir === "asc" ? "↑" : "↓"}${r}` : M.t("common.empty"),
4284
+ columns: [M.t("views.columnsSummary", {
4285
+ shown: e.columns.visible.length,
4286
+ total: t.columns.length
4287
+ }), ...i ? [M.t("views.pinnedSummary", { name: i })] : []].join(" · ")
4288
+ };
4289
+ }, Le = (e) => {
4290
+ let n = e ? t.resolveView(e) : Fe();
4291
+ Me({
4292
+ key: ($?.key ?? 0) + 1,
4293
+ mode: "create",
4294
+ name: e ? M.t("views.copyName", { name: e.name }) : "",
4295
+ state: n,
4296
+ summary: Ie(n),
4297
+ view: e,
4298
+ fromCurrent: !e
4299
+ });
4300
+ }, Re = (e) => {
4301
+ Q.setEditing(null), Oe.select(e);
4302
+ }, ze = Y.map(t.rowId).join("\0"), Be = x ? Y.filter((e) => t.selection[t.rowId(e)]) : [], Ve = Be.map(t.rowId).join("\0"), He = (e, n) => {
4303
+ let r = { ...t.selection };
4304
+ for (let t of e) n ? r[t] = !0 : delete r[t];
4305
+ t.setSelection(r);
4306
+ }, Ue = JSON.stringify([
4307
+ U.search,
4308
+ U.filters,
4309
+ U.sort,
4310
+ U.page
4311
+ ]), [We, Ge] = H({
4312
+ key: Ue,
4313
+ ids: Ar
4314
+ });
4315
+ We.key !== Ue && Ge({
4316
+ key: Ue,
4317
+ ids: Ar
4318
+ });
4319
+ let Ke = We.key === Ue ? We.ids : Ar, qe = (e, n) => {
4320
+ let r = { ...Ke };
4321
+ n ? r[e] = !0 : delete r[e], Ge({
4322
+ key: Ue,
4323
+ ids: r
4324
+ });
4325
+ let i = Y.find((n) => t.rowId(n) === e);
4326
+ n && i && requestAnimationFrame(() => {
4327
+ let t = [...Mt.current?.querySelectorAll(".dt-subrow") ?? []].find((t) => t.id.endsWith(`-sub-${e}`)), n = t ? t.querySelectorAll("[role=\"row\"], tr").length : 0;
4328
+ kt((e) => ({
4329
+ ...e,
4330
+ text: M.t("sr.expanded", {
4331
+ label: $e(i),
4332
+ count: n
4333
+ })
4334
+ }));
4335
+ });
4336
+ }, Je = new Set(Y.map(t.rowId)), Ye = (e) => Object.fromEntries(Object.entries(e).filter(([e]) => Je.has(e)));
4337
+ Object.keys(Ke).some((e) => !Je.has(e)) && Ge({
4338
+ key: Ue,
4339
+ ids: Ye(Ke)
4340
+ }), I(() => {
4341
+ Object.keys(t.selection).some((e) => !Je.has(e)) && t.setSelection(Ye(t.selection));
4342
+ }, [ze]);
4343
+ let Xe = V("");
4344
+ I(() => {
4345
+ Xe.current !== Ve && (Xe.current = Ve, D?.(Be));
4346
+ }, [Ve]);
4347
+ let Ze = t.columns.find((e) => e.primary), Qe = (e) => Ze?.href?.(e), $e = (e) => {
4348
+ let n = Ze ? Ze.accessor ? Ze.accessor(e) : d(e, Ze.id) : t.rowId(e);
4349
+ return n == null ? "" : String(n);
4350
+ }, et = !!b?.length || !!Ze, tt = (e, n) => {
4351
+ if (_?.(e, n), v === "open") n.target.closest(".dt-row")?.querySelector(".dt-cell.is-primary a.dt-link")?.click();
4352
+ else if (v === "expand" && O && (k?.(e) ?? !0)) {
4353
+ let n = t.rowId(e);
4354
+ qe(n, !Ke[n]);
4355
+ }
4356
+ }, nt = JSON.stringify([
4357
+ U.search,
4358
+ U.filters,
4359
+ U.sort
4360
+ ]), [rt, it] = H(null), [at, ot] = H(null), st = V(null);
4361
+ I(() => () => st.current?.abort(), [nt]);
4362
+ let ct = () => {
4363
+ if (!t.count) return;
4364
+ st.current?.abort();
4365
+ let e = new AbortController();
4366
+ st.current = e, ot(nt);
4367
+ let { search: n, filters: r, sort: i, fields: a } = U;
4368
+ t.count({
4369
+ search: n,
4370
+ filters: r,
4371
+ sort: i,
4372
+ fields: a
4373
+ }, e.signal).then((t) => !e.signal.aborted && it({
4374
+ key: nt,
4375
+ total: t,
4376
+ at: /* @__PURE__ */ new Date()
4377
+ })).catch(() => {}).finally(() => !e.signal.aborted && ot(null));
4378
+ }, ut = rt?.key === nt ? rt : null, dt = q ? n?.data?.total ?? ut?.total : t.total, ft = q ? J.page : U.page, pt = q ? !!n?.data?.hasMore : ft.number * ft.size < (t.total ?? 0), mt = J.skeleton || te || J.pending ? null : J.errorKind === "error" ? "error" : U.search || U.filters.length ? "noResults" : U.page.number > 1 ? "noRowsOnPage" : "empty", ht = jr(n?.error), [gt, _t] = H(!1);
4379
+ I(() => {
4380
+ if (!gt || !f || !X) return;
4381
+ let e = setInterval(() => X(), f * 1e3);
4382
+ return () => clearInterval(e);
4383
+ }, [
4384
+ gt,
4385
+ f,
4386
+ X
4387
+ ]);
4388
+ let xt = gt && f ? "live" : J.bar ? "refreshing" : J.errorKind === "stale" ? "stale" : "normal", St = (e) => e.toLocaleTimeString(N, {
4389
+ hour: "2-digit",
4390
+ minute: "2-digit"
4391
+ }), Ct = new Map(U.sort.map((e, t) => [e.column, {
4392
+ dir: e.dir,
4393
+ index: U.sort.length > 1 ? t + 1 : null
4394
+ }])), wt = new Set(t.columns.filter(vt).map((e) => e.id)), Tt = (e) => t.columns.find((t) => t.id === e)?.header ?? e, Et = U.sort[0], Dt = {
4395
+ view: t.state.view ?? "",
4396
+ filters: JSON.stringify(U.filters),
4397
+ sort: JSON.stringify(U.sort),
4398
+ loaded: `${J.updatedAt?.getTime() ?? 0}|${Y.length}`,
4399
+ total: ut ? ut.at.getTime() : 0,
4400
+ selected: Be.length
4401
+ }, [Ot, kt] = H({
4402
+ ...Dt,
4403
+ text: ""
4404
+ }), At = Ot.text;
4405
+ (Ot.view !== Dt.view || Ot.filters !== Dt.filters || Ot.sort !== Dt.sort || Ot.loaded !== Dt.loaded || Ot.total !== Dt.total || Ot.selected !== Dt.selected) && (Ot.view !== Dt.view && Oe.active ? At = M.t("sr.view", { name: Oe.active.name }) : Ot.selected !== Dt.selected && Dt.selected > 0 ? At = M.t("selection.selected", { count: Dt.selected }) : Ot.filters === Dt.filters ? Ot.total !== Dt.total && ut ? At = M.t("sr.total", {
4406
+ count: F.int(ut.total),
4407
+ entity: z
4408
+ }) : Ot.sort !== Dt.sort && Et ? At = M.t("sr.sorted", {
4409
+ column: Tt(Et.column),
4410
+ dir: M.t(`sr.${Et.dir}`)
4411
+ }) : Ot.loaded !== Dt.loaded && !J.pending && (At = M.t("sr.loaded", { count: Y.length })) : At = jt(JSON.parse(Ot.filters)) ?? At, kt({
4412
+ ...Dt,
4413
+ text: At
4414
+ }));
4415
+ function jt(e) {
4416
+ let t = new Map(e.map((e) => [e.column, JSON.stringify(e)])), n = U.filters.find((e) => Z.has(e.column) && t.get(e.column) !== JSON.stringify(e));
4417
+ if (n) return M.t("sr.filterAdded", { summary: `${Tt(n.column)} ${pe(n).text}`.trim() });
4418
+ let r = e.find((e) => !U.filters.some((t) => t.column === e.column));
4419
+ return r && M.t("sr.filterRemoved", { column: Tt(r.column) });
4420
+ }
4421
+ let Mt = V(null), [Nt, Pt] = H(1440);
4422
+ B(() => {
4423
+ let e = Mt.current;
4424
+ if (!e) return;
4425
+ let t = () => Pt(e.clientWidth || 1440);
4426
+ t();
4427
+ let n = typeof ResizeObserver > "u" ? null : new ResizeObserver(t);
4428
+ return n?.observe(e), () => n?.disconnect();
4429
+ }, []);
4430
+ let Ft = Nt >= 1024 ? "full" : Nt >= 640 ? "narrow" : "phone", It = Ft === "phone", { setPhone: Lt } = t.layout;
4431
+ B(() => Lt(It), [Lt, It]);
4432
+ let Rt = (e) => It ? le(e) : Q.pick(e), zt = L((e) => {
4433
+ if (e.defaultPrevented) return;
4434
+ let n = e.target instanceof Element ? e.target : null, r = !!n && on(n) && !(n instanceof HTMLInputElement && n.type === "checkbox");
4435
+ if (e.key === "Escape") !n?.closest("[role=\"menu\"], [role=\"dialog\"], [role=\"alertdialog\"], [role=\"listbox\"], .dt-pop") && Be.length && !r && t.clearSelection();
4436
+ else if (e.altKey && !e.ctrlKey && !e.metaKey && (e.key === "ArrowLeft" || e.key === "ArrowRight")) {
4437
+ if (ne) return;
4438
+ let n = e.key === "ArrowLeft";
4439
+ (n ? ft.number > 1 : pt) && (e.preventDefault(), t.setPage(ft.number + (n ? -1 : 1)));
4440
+ } else if ((e.metaKey || e.ctrlKey) && !e.altKey && !e.shiftKey && (e.key === "s" || e.key === "S")) {
4441
+ if (!g || !Oe.edited || !Oe.canSave || $) return;
4442
+ e.preventDefault(), Oe.writable(Oe.active) ? Oe.saveChanges() : Le();
4443
+ } else !g || e.ctrlKey || e.metaKey || e.altKey || r || (e.key === "/" && _e ? (e.preventDefault(), ve.current?.focusSearch()) : (e.key === "f" || e.key === "F") && ge ? (e.preventDefault(), It ? le() : oe(!0)) : (e.key === "r" || e.key === "R") && X ? (e.preventDefault(), X()) : (e.key === "v" || e.key === "V") && ke && (e.preventDefault(), je(!0)));
4444
+ });
4445
+ I(() => (window.addEventListener("keydown", zt), () => window.removeEventListener("keydown", zt)), []);
4446
+ let Bt = R(), Vt = U.filters.length ? `${Bt}-l ${Bt}-n` : `${Bt}-l`, Ht = (e) => /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("span", {
4447
+ id: `${Bt}-l`,
4448
+ className: e ? void 0 : "dt-sr-only",
4449
+ children: M.t("toolbar.filter")
4450
+ }), U.filters.length > 0 && /* @__PURE__ */ K(W, { children: [" ", /* @__PURE__ */ G("span", {
4451
+ id: `${Bt}-n`,
4452
+ className: "dt-counter",
4453
+ children: U.filters.length
4454
+ })] })] }), Kt = {
4455
+ search: U.search,
4456
+ filters: U.filters,
4457
+ sort: U.sort,
4458
+ fields: U.fields
4459
+ }, qt = t.layout.columns.map((e) => e.id), Jt = p && (() => p({
4460
+ query: Kt,
4461
+ visibleColumns: qt
4462
+ })), Yt = Be.length ? Be : Y, Xt = Be.length > 0 && (!!T?.length || !!E), Zt = m ? Be.length ? M.t("toolbar.exportSelected", { count: Be.length }) : M.t("toolbar.export", { count: Y.length }) : void 0, Qt = (e) => {
4463
+ if (h) return h({
4464
+ format: e,
4465
+ query: Kt,
4466
+ selection: Be,
4467
+ rows: Yt,
4468
+ visibleColumns: qt
4469
+ });
4470
+ Ut({
4471
+ format: e,
4472
+ columns: t.layout.columns.map((e) => e.def),
4473
+ rows: Yt,
4474
+ read: (e, t) => t.accessor ? t.accessor(e) : d(e, t.id),
4475
+ env: {
4476
+ fmt: F,
4477
+ i18n: M,
4478
+ today: /* @__PURE__ */ new Date(),
4479
+ labels: ue
4480
+ },
4481
+ name: z.other
4482
+ });
4483
+ }, $t = s === "auto" && !!(X || Jt || Zt), en = t.prefs, tn = mt === "error" ? /* @__PURE__ */ G(Jn, {
4484
+ kind: "error",
4485
+ title: M.t("state.errorTitle", { entity: z }),
4486
+ lines: [ht.message, M.t("state.errorKept")].filter((e) => !!e),
4487
+ actions: X && /* @__PURE__ */ G("button", {
4488
+ type: "button",
4489
+ className: "dt-btn",
4490
+ disabled: J.pending,
4491
+ onClick: () => X(),
4492
+ children: M.t("state.tryAgain")
4493
+ }),
4494
+ after: ht.id && /* @__PURE__ */ K("div", {
4495
+ className: "dt-state-id",
4496
+ children: [/* @__PURE__ */ G("button", {
4497
+ type: "button",
4498
+ className: "dt-btn dt-btn-ghost dt-btn-xs",
4499
+ onClick: () => void navigator.clipboard?.writeText(ht.id),
4500
+ children: M.t("state.copyErrorId")
4501
+ }), /* @__PURE__ */ G("code", {
4502
+ className: "dt-state-code",
4503
+ children: ht.id
4504
+ })]
4505
+ })
4506
+ }) : mt === "noResults" ? /* @__PURE__ */ G(Jn, {
4507
+ kind: U.search ? "noResultsSearch" : "noResults",
4508
+ title: M.t(U.search && U.filters.length ? "state.noResultsBoth" : U.search ? "state.noResultsSearch" : "state.noResults", {
4509
+ entity: z,
4510
+ q: U.search,
4511
+ count: U.filters.length
4512
+ }),
4513
+ actions: /* @__PURE__ */ K(W, { children: [U.filters.length === 1 ? /* @__PURE__ */ G("button", {
4514
+ type: "button",
4515
+ className: "dt-btn",
4516
+ onClick: () => Q.remove(U.filters[0].column),
4517
+ children: M.t("state.removeFilter", { column: Tt(U.filters[0].column) })
4518
+ }) : U.filters.length > 1 && /* @__PURE__ */ G("button", {
4519
+ type: "button",
4520
+ className: "dt-btn",
4521
+ onClick: Q.clear,
4522
+ children: M.t("state.clearAllFilters")
4523
+ }), U.search && /* @__PURE__ */ G("button", {
4524
+ type: "button",
4525
+ className: "dt-btn",
4526
+ onClick: () => t.setSearch(""),
4527
+ children: M.t("state.clearSearch")
4528
+ })] })
4529
+ }) : mt === "noRowsOnPage" ? /* @__PURE__ */ G(Jn, {
4530
+ kind: "noRowsOnPage",
4531
+ title: M.t("page.noneOnPage"),
4532
+ actions: /* @__PURE__ */ G("button", {
4533
+ type: "button",
4534
+ className: "dt-btn",
4535
+ onClick: () => t.setPage(U.page.number - 1),
4536
+ children: M.t("page.previousPage")
4537
+ })
4538
+ }) : mt === "empty" ? i ?? /* @__PURE__ */ G(Jn, {
4539
+ kind: "empty",
4540
+ title: M.t("state.emptyTitle", { entity: z })
4541
+ }) : null;
4542
+ return /* @__PURE__ */ K("div", {
4543
+ ref: Mt,
4544
+ className: It ? "dt dt-list is-phone" : "dt dt-list",
4545
+ "data-density": t.density,
4546
+ children: [
4547
+ w === "toolbar" && Xt && s !== !1 ? /* @__PURE__ */ G(dr, {
4548
+ variant: "toolbar",
4549
+ rows: Be,
4550
+ actions: T ?? [],
4551
+ onClear: t.clearSelection,
4552
+ children: E?.({
4553
+ rows: Be,
4554
+ clear: t.clearSelection
4555
+ })
4556
+ }) : s !== !1 && /* @__PURE__ */ G(ir, {
4557
+ ref: ve,
4558
+ size: Ft,
4559
+ view: ke && /* @__PURE__ */ G(cr, {
4560
+ sections: Oe.sections,
4561
+ active: Oe.active,
4562
+ edited: Oe.edited,
4563
+ hasDraft: Oe.hasDraft,
4564
+ defaultId: en.prefs.defaultViewId,
4565
+ canSave: Oe.canSave,
4566
+ canWrite: Oe.writable(Oe.active),
4567
+ open: Ae,
4568
+ onOpenChange: je,
4569
+ onSelect: Re,
4570
+ onSaveChanges: () => void Oe.saveChanges(),
4571
+ onSaveAs: () => Le(),
4572
+ onDiscard: () => {
4573
+ Q.setEditing(null), Oe.discard();
4574
+ },
4575
+ onRename: (e) => Me({
4576
+ key: ($?.key ?? 0) + 1,
4577
+ mode: "rename",
4578
+ name: e.name,
4579
+ state: Fe(),
4580
+ summary: null,
4581
+ view: e,
4582
+ fromCurrent: !1
4583
+ }),
4584
+ onDuplicate: Le,
4585
+ onSetDefault: Oe.setDefault,
4586
+ onDelete: Pe,
4587
+ sheet: It
4588
+ }),
4589
+ search: _e ? U.search : null,
4590
+ searchPlaceholder: u ?? M.t("toolbar.search", { entity: z }),
4591
+ onSearch: t.setSearch,
4592
+ filter: ge && (It ? /* @__PURE__ */ K("button", {
4593
+ type: "button",
4594
+ className: U.filters.length ? "dt-btn dt-btn-icon dt-filter-trigger is-active" : "dt-btn dt-btn-icon dt-filter-trigger",
4595
+ "aria-labelledby": Vt,
4596
+ onClick: () => le(),
4597
+ children: [/* @__PURE__ */ G(ye, {
4598
+ size: 20,
4599
+ "aria-hidden": "true"
4600
+ }), Ht(!1)]
4601
+ }) : /* @__PURE__ */ G(Gt, {
4602
+ columns: re,
4603
+ chips: Q.chips,
4604
+ open: ae,
4605
+ onOpenChange: oe,
4606
+ onPick: Q.pick,
4607
+ trigger: /* @__PURE__ */ K("button", {
4608
+ type: "button",
4609
+ className: U.filters.length ? "dt-btn has-icon dt-filter-trigger is-active" : "dt-btn has-icon dt-filter-trigger",
4610
+ "aria-labelledby": Vt,
4611
+ children: [/* @__PURE__ */ G(ye, {
4612
+ size: 16,
4613
+ "aria-hidden": "true"
4614
+ }), Ht(!0)]
4615
+ })
4616
+ })),
4617
+ display: s === "auto" && !It && /* @__PURE__ */ G(Zn, {
4618
+ density: t.density,
4619
+ onDensity: t.densityFixed ? void 0 : (e) => en.set({ density: e }),
4620
+ verticalLines: en.prefs.verticalLines,
4621
+ onVerticalLines: (e) => en.set({ verticalLines: e }),
4622
+ counts: t.layout.counts,
4623
+ onColumns: Ee,
4624
+ persistent: en.persistent,
4625
+ onReset: t.resetDisplay,
4626
+ iconOnly: Ft !== "full"
4627
+ }),
4628
+ more: It ? s === "auto" && /* @__PURE__ */ G(nr, {
4629
+ density: t.density,
4630
+ onDensity: t.densityFixed ? void 0 : (e) => en.set({ density: e }),
4631
+ columns: t.layout.panel,
4632
+ counts: t.layout.counts,
4633
+ onColumnsSave: t.layout.arrange,
4634
+ sort: U.sort,
4635
+ onSort: (e) => t.setQuery({ sort: e }),
4636
+ persistent: en.persistent,
4637
+ onReset: t.resetDisplay,
4638
+ exportHint: Zt,
4639
+ onExport: Qt,
4640
+ onRefresh: X && (() => X()),
4641
+ onPrint: Jt,
4642
+ autoRefresh: !!f && !!X,
4643
+ autoRefreshOn: gt,
4644
+ onAutoRefresh: _t
4645
+ }) : $t && /* @__PURE__ */ G(Qn, {
4646
+ exportHint: Zt,
4647
+ onExport: Qt,
4648
+ onRefresh: X && (() => X()),
4649
+ onPrint: Jt,
4650
+ autoRefresh: !!f && !!X,
4651
+ autoRefreshOn: gt,
4652
+ onAutoRefresh: _t
4653
+ }),
4654
+ end: c
4655
+ }),
4656
+ l && /* @__PURE__ */ G("div", {
4657
+ className: "dt-list-notice",
4658
+ children: l
4659
+ }),
4660
+ J.errorKind === "stale" && J.updatedAt && /* @__PURE__ */ K("div", {
4661
+ className: "dt-strip",
4662
+ role: "status",
4663
+ children: [
4664
+ /* @__PURE__ */ G(De, {
4665
+ size: 16,
4666
+ "aria-hidden": "true"
4667
+ }),
4668
+ /* @__PURE__ */ G("span", { children: M.t("state.stale", { time: St(J.updatedAt) }) }),
4669
+ X && /* @__PURE__ */ G("button", {
4670
+ type: "button",
4671
+ className: "dt-strip-action",
4672
+ disabled: J.pending,
4673
+ onClick: () => X(),
4674
+ children: M.t("common.retry")
4675
+ })
4676
+ ]
4677
+ }),
4678
+ Q.chips.length > 0 && /* @__PURE__ */ G(nn, {
4679
+ chips: Q.chips,
4680
+ defOf: (e) => Z.get(e),
4681
+ editing: Q.editing,
4682
+ rows: de,
4683
+ labels: ue,
4684
+ summaryOf: pe,
4685
+ currenciesOf: me,
4686
+ onChange: Q.update,
4687
+ onRemove: Q.remove,
4688
+ onEditing: Q.setEditing,
4689
+ onClearAll: Q.clear,
4690
+ onOpen: It ? le : void 0,
4691
+ add: /* @__PURE__ */ G(Gt, {
4692
+ columns: re,
4693
+ chips: Q.chips,
4694
+ onPick: Q.pick,
4695
+ trigger: /* @__PURE__ */ K("button", {
4696
+ type: "button",
4697
+ className: "dt-btn dt-btn-ghost dt-btn-sm has-icon dt-filter-add dt-filter-trigger",
4698
+ "aria-label": M.t("filter.addFilter"),
4699
+ children: [/* @__PURE__ */ G(Se, {
4700
+ size: 14,
4701
+ "aria-hidden": "true"
4702
+ }), M.t("filter.addFilter")]
4703
+ })
4704
+ })
4705
+ }),
4706
+ /* @__PURE__ */ G(Bn, {
4707
+ layout: t.layout,
4708
+ rows: Y,
4709
+ rowId: t.rowId,
4710
+ label: r ?? z.other,
4711
+ density: t.density,
4712
+ skeleton: J.skeleton,
4713
+ dim: J.dim,
4714
+ refreshing: J.bar,
4715
+ verticalLines: t.prefs.prefs.verticalLines,
4716
+ rowCount: dt === void 0 ? -1 : dt + 1,
4717
+ rowIndexOffset: (ft.number - 1) * ft.size,
4718
+ scrollKey: JSON.stringify([
4719
+ U.page.number,
4720
+ U.search,
4721
+ U.filters
4722
+ ]),
4723
+ sort: Ct,
4724
+ canSort: (e) => wt.has(e),
4725
+ onSort: t.toggleSort,
4726
+ onSortSet: t.setSort,
4727
+ filtered: new Set(U.filters.map((e) => e.column)),
4728
+ canFilter: (e) => ie.has(e),
4729
+ onFilter: Rt,
4730
+ onColumns: s === "auto" && !It ? Ee : void 0,
4731
+ notice: J.stillLoading && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(he, {
4732
+ size: 14,
4733
+ className: "dt-spin",
4734
+ "aria-hidden": "true"
4735
+ }), M.t("state.stillLoading")] }),
4736
+ state: tn,
4737
+ onRowClick: tt,
4738
+ selection: x ? t.selection : void 0,
4739
+ onSelectRows: x ? He : void 0,
4740
+ expanded: Ke,
4741
+ canExpand: k,
4742
+ onToggleExpand: qe,
4743
+ renderExpanded: O && ((e, t) => O({
4744
+ row: e,
4745
+ close: t
4746
+ })),
4747
+ resetKey: Ue,
4748
+ rowMenu: et,
4749
+ rowActions: b,
4750
+ primaryHref: Qe,
4751
+ primaryLabel: $e,
4752
+ onRowOpen: (e, t) => y?.({
4753
+ row: e,
4754
+ href: Qe(e) ?? "",
4755
+ event: t
4756
+ }),
4757
+ rowError: A,
4758
+ reorder: j && {
4759
+ disabled: j.disabled ?? !1,
4760
+ pending: ee.pending,
4761
+ onMove: ee.move
4762
+ }
4763
+ }),
4764
+ w === "floating" && Xt && /* @__PURE__ */ G(dr, {
4765
+ variant: "floating",
4766
+ phone: It,
4767
+ rows: Be,
4768
+ actions: T ?? [],
4769
+ onClear: t.clearSelection,
4770
+ children: E?.({
4771
+ rows: Be,
4772
+ clear: t.clearSelection
4773
+ })
4774
+ }),
4775
+ /* @__PURE__ */ G(vr, {
4776
+ rowCount: Y.length,
4777
+ page: ft,
4778
+ hasMore: pt,
4779
+ total: dt,
4780
+ countable: q && !!t.count,
4781
+ counting: at === nt,
4782
+ countedAt: ut?.at ?? null,
4783
+ busy: ne,
4784
+ firstLoad: J.skeleton && !te,
4785
+ empty: mt === "empty",
4786
+ pageSizes: t.pageSizes,
4787
+ updatedAt: J.updatedAt,
4788
+ freshness: xt,
4789
+ onRefresh: X && (() => X()),
4790
+ onCount: ct,
4791
+ onPage: t.setPage,
4792
+ onPageSize: t.setPageSize,
4793
+ phone: It
4794
+ }),
4795
+ se && It && ge && /* @__PURE__ */ G(P, {
4796
+ fallback: null,
4797
+ children: /* @__PURE__ */ G(kr, {
4798
+ open: se.open,
4799
+ onOpenChange: (e) => ce({
4800
+ ...se,
4801
+ open: e
4802
+ }),
4803
+ column: se.column,
4804
+ columns: t.columns,
4805
+ chips: Q.chips,
4806
+ sort: U.sort,
4807
+ rows: de,
4808
+ labels: ue,
4809
+ summaryOf: pe,
4810
+ currenciesOf: me,
4811
+ onApply: (e, n) => {
4812
+ Q.setEditing(null), t.setQuery({
4813
+ filters: e.map(C),
4814
+ sort: n
4815
+ });
4816
+ }
4817
+ }, se.key)
4818
+ }),
4819
+ /* @__PURE__ */ G("span", {
4820
+ className: "dt-sr-only",
4821
+ "aria-live": "polite",
4822
+ children: At
4823
+ }),
4824
+ /* @__PURE__ */ G("span", {
4825
+ className: "dt-sr-only",
4826
+ "aria-live": "assertive",
4827
+ children: J.errorKind === "error" ? `${M.t("state.errorTitle", { entity: z })} ${M.t("state.tryAgain")}` : ""
4828
+ }),
4829
+ /* @__PURE__ */ G(Kn, { root: Mt }),
4830
+ $ && /* @__PURE__ */ G(or, {
4831
+ open: !0,
4832
+ onOpenChange: (e) => !e && Me(null),
4833
+ mode: $.mode,
4834
+ name: $.name,
4835
+ summary: $.summary,
4836
+ validate: (e) => lt(e, Oe.all, N, $.mode === "rename" ? $.view?.id : void 0),
4837
+ onSave: ({ name: e, makeDefault: t }) => {
4838
+ $.mode === "rename" && $.view ? Oe.rename($.view.id, e) : (Q.setEditing(null), Oe.create({
4839
+ name: e,
4840
+ state: $.state,
4841
+ makeDefault: t,
4842
+ fromCurrent: $.fromCurrent
4843
+ }));
4844
+ }
4845
+ }, $.key),
4846
+ Ce && /* @__PURE__ */ G(P, {
4847
+ fallback: null,
4848
+ children: /* @__PURE__ */ G(Or, {
4849
+ open: be,
4850
+ onOpenChange: xe,
4851
+ columns: t.layout.panel,
4852
+ onSave: t.layout.arrange,
4853
+ finalFocus: Te
4854
+ })
4855
+ }),
4856
+ /* @__PURE__ */ G(ar, {
4857
+ open: !!Ne,
4858
+ onOpenChange: (e) => !e && Pe(null),
4859
+ title: M.t("views.delete.title", { name: Ne?.name ?? "" }),
4860
+ body: M.t("views.delete.body"),
4861
+ confirmLabel: M.t("views.delete"),
4862
+ danger: !0,
4863
+ onConfirm: () => Ne && void Oe.remove(Ne.id)
4864
+ })
4865
+ ]
4866
+ });
4867
+ }
4868
+ export { Mr as DataTable, t as DataTableProvider, Ue as createLocalStoragePreferences, He as createLocalStorageViews, Ot as useDataTable, e as useDataTableContext };
4869
+
4870
+ //# sourceMappingURL=index.js.map