@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.
@@ -0,0 +1,1123 @@
1
+ import { n as e } from "./provider-BgZBSzsH.js";
2
+ import { r as t, t as n } from "./model-RkRyfM7C.js";
3
+ import { c as r } from "react/compiler-runtime";
4
+ import { Suspense as i, lazy as a, useEffect as o, useRef as s, useState as c } from "react";
5
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
6
+ import { ArrowUpRightIcon as f, ArrowsOutSimpleIcon as p, BracketsCurlyIcon as m, CalendarBlankIcon as h, CheckIcon as g, CheckSquareIcon as _, ClockIcon as v, CreditCardIcon as y, EnvelopeIcon as b, HashIcon as x, LinkIcon as S, LinkSimpleIcon as C, ListBulletsIcon as w, ListChecksIcon as T, MagnifyingGlassIcon as E, MinusIcon as D, PaletteIcon as O, PercentIcon as k, PhoneIcon as ee, RadioButtonIcon as A, StarIcon as j, TextAlignLeftIcon as M, TextTIcon as N, UserIcon as P, XIcon as F } from "@phosphor-icons/react";
7
+ import { Toggle as te } from "@base-ui/react/toggle";
8
+ import { ToggleGroup as ne } from "@base-ui/react/toggle-group";
9
+ import { Dialog as I } from "@base-ui/react/dialog";
10
+ // src/core/cells/specs.ts
11
+ var L = (e) => ({
12
+ align: "right",
13
+ width: e,
14
+ skeleton: "number",
15
+ sortable: !0,
16
+ filterable: !0,
17
+ searchable: !1,
18
+ numeric: !0
19
+ }), R = (e, t = !0) => ({
20
+ align: "left",
21
+ width: e,
22
+ skeleton: "text",
23
+ sortable: !0,
24
+ filterable: !0,
25
+ searchable: t,
26
+ numeric: !1
27
+ }), z = (e) => ({
28
+ align: "left",
29
+ width: e,
30
+ skeleton: "badge",
31
+ sortable: !0,
32
+ filterable: !0,
33
+ searchable: !1,
34
+ numeric: !1
35
+ }), B = {
36
+ int: L(112),
37
+ float: L(112),
38
+ percentage: L(112),
39
+ star: {
40
+ ...R(112, !1),
41
+ skeleton: "text"
42
+ },
43
+ currency: L(148),
44
+ string: R({
45
+ min: 160,
46
+ fr: 1.2
47
+ }),
48
+ text: R({
49
+ min: 160,
50
+ fr: 1.2
51
+ }),
52
+ uppercase: R({
53
+ min: 160,
54
+ fr: 1.2
55
+ }),
56
+ lowercase: R({
57
+ min: 160,
58
+ fr: 1.2
59
+ }),
60
+ phone: R(156),
61
+ color: { ...R(132, !1) },
62
+ email: R(200),
63
+ url: { ...R(180, !1) },
64
+ id: R(128),
65
+ boolean: z(96),
66
+ select: z(140),
67
+ multiselect: {
68
+ ...z(180),
69
+ sortable: !1
70
+ },
71
+ ajax: z(180),
72
+ user: {
73
+ ...z(156),
74
+ skeleton: "person"
75
+ },
76
+ date: R(132, !1),
77
+ datetime: R(156, !1),
78
+ object: {
79
+ ...R(180, !1),
80
+ sortable: !1,
81
+ filterable: !1
82
+ },
83
+ array: {
84
+ ...R(160, !1),
85
+ sortable: !1
86
+ }
87
+ };
88
+ function V(e) {
89
+ return e.width === void 0 ? e.type === "percentage" && e.display === "bar" ? 156 : e.primary ? e.type === "id" ? 136 : {
90
+ min: 200,
91
+ fr: 1.6
92
+ } : B[e.type].width : e.width;
93
+ }
94
+ var H = (e) => B[e].numeric;
95
+ function U(e) {
96
+ return e.align ?? B[e.type].align;
97
+ }
98
+ var W = {
99
+ int: "number",
100
+ float: "number",
101
+ percentage: "percentage",
102
+ star: "rating",
103
+ currency: "currency",
104
+ string: "text",
105
+ text: "longText",
106
+ uppercase: "text",
107
+ lowercase: "text",
108
+ phone: "phone",
109
+ color: "colour",
110
+ email: "email",
111
+ url: "link",
112
+ id: "id",
113
+ boolean: "boolean",
114
+ select: "option",
115
+ multiselect: "options",
116
+ ajax: "relation",
117
+ user: "person",
118
+ date: "date",
119
+ datetime: "datetime",
120
+ object: "object",
121
+ array: "list"
122
+ }, G = (e) => `type.${W[e]}`;
123
+ // src/core/columns/read-path.ts
124
+ function K(e, t) {
125
+ let n = e;
126
+ for (let e of t.split(".")) {
127
+ if (n == null) return;
128
+ n = n[e];
129
+ }
130
+ return n;
131
+ }
132
+ var q = /* @__PURE__ */ new Map();
133
+ function J(e, t, n, r) {
134
+ let i = `${e}|${t}|${n ? JSON.stringify(n) : ""}`, a = q.get(i);
135
+ return a === void 0 && (a = r(), q.set(i, a)), a;
136
+ }
137
+ var Y = /^(\d{4})-(\d{2})-(\d{2})$/;
138
+ function X(e) {
139
+ if (e instanceof Date) return e;
140
+ let t = Y.exec(e);
141
+ return t ? new Date(+t[1], t[2] - 1, +t[3]) : new Date(e);
142
+ }
143
+ var Z = 864e5, re = (e) => new Date(e.getFullYear(), e.getMonth(), e.getDate()).getTime();
144
+ function ie(e) {
145
+ let t = (t) => J("n", e, t, () => new Intl.NumberFormat(e, t)), n = (t) => J("d", e, t, () => new Intl.DateTimeFormat(e, t)), r = (e) => e.includes("-") ? e.replace(/-/g, "−") : e, i = t({ maximumFractionDigits: 0 }), a = (e) => {
146
+ let t = /* @__PURE__ */ new Map();
147
+ return (n) => {
148
+ let r = t.get(n);
149
+ return r || t.set(n, r = e(n)), r;
150
+ };
151
+ }, o = a((e) => t({
152
+ minimumFractionDigits: e,
153
+ maximumFractionDigits: e
154
+ })), s = a((e) => t({
155
+ style: "percent",
156
+ minimumFractionDigits: e,
157
+ maximumFractionDigits: e
158
+ })), c = (t) => J("r", e, { style: t }, () => new Intl.RelativeTimeFormat(e, {
159
+ numeric: "auto",
160
+ style: t
161
+ }));
162
+ return {
163
+ locale: e,
164
+ int: (e) => r(i.format(e)),
165
+ decimal: (e, t = 2) => r(o(t).format(e)),
166
+ percent: (e, t = 0) => r(s(t).format(e / 100)),
167
+ compact: (e) => r(t({
168
+ notation: "compact",
169
+ maximumFractionDigits: 0
170
+ }).format(e)),
171
+ date: (e, t = /* @__PURE__ */ new Date()) => {
172
+ let r = X(e), i = r.getFullYear() === t.getFullYear();
173
+ return n(i ? {
174
+ month: "short",
175
+ day: "numeric"
176
+ } : {
177
+ month: "short",
178
+ day: "numeric",
179
+ year: "numeric"
180
+ }).format(r);
181
+ },
182
+ dateTime: (e, t = /* @__PURE__ */ new Date()) => {
183
+ let r = X(e), i = r.getFullYear() === t.getFullYear();
184
+ return n({
185
+ month: "short",
186
+ day: "numeric",
187
+ ...i ? {} : { year: "numeric" },
188
+ hour: "2-digit",
189
+ minute: "2-digit"
190
+ }).format(r);
191
+ },
192
+ dateTimeFull: (e) => n({
193
+ dateStyle: "medium",
194
+ timeStyle: "long"
195
+ }).format(X(e)),
196
+ relative: (e, t = /* @__PURE__ */ new Date(), n = "long") => {
197
+ let r = X(e).getTime() - t.getTime(), i = Math.abs(r), a = c(n);
198
+ return i < 6e4 ? a.format(0, "second") : i < 36e5 ? a.format(Math.round(r / 6e4), "minute") : i < Z ? a.format(Math.round(r / 36e5), "hour") : i < 30 * Z ? a.format(Math.round(r / Z), "day") : i < 365 * Z ? a.format(Math.round(r / (30 * Z)), "month") : a.format(Math.round(r / (365 * Z)), "year");
199
+ },
200
+ daysLate: (e, t = /* @__PURE__ */ new Date()) => Math.max(0, Math.floor((re(t) - re(X(e))) / Z)),
201
+ list: (t) => J("l", e, void 0, () => new Intl.ListFormat(e, { type: "unit" })).format(t),
202
+ collator: () => J("c", e, void 0, () => new Intl.Collator(e, {
203
+ numeric: !0,
204
+ sensitivity: "base"
205
+ })),
206
+ plural: () => J("p", e, void 0, () => new Intl.PluralRules(e))
207
+ };
208
+ }
209
+ var ae = /* @__PURE__ */ new Map();
210
+ function oe(e) {
211
+ let t = ae.get(e);
212
+ return t || (t = ie(e), ae.set(e, t)), t;
213
+ }
214
+ // src/core/cells/format.ts
215
+ var se = (e) => e == null || e === "" || Array.isArray(e) && e.length === 0, ce = (e, t) => e?.find((e) => e.value === t)?.label ?? String(t);
216
+ function le(e) {
217
+ try {
218
+ return new URL(e).host;
219
+ } catch {
220
+ return e;
221
+ }
222
+ }
223
+ function ue(e, t) {
224
+ return typeof e.currency == "function" ? e.currency(t) : e.currency;
225
+ }
226
+ function Q(e) {
227
+ return e.type === "percentage" ? e.decimalPlaces ?? 0 : e.type === "float" || e.type === "currency" ? e.decimalPlaces ?? 2 : 0;
228
+ }
229
+ function de(e, t, n, r) {
230
+ if (se(n)) return e.emptyText ?? "—";
231
+ let { fmt: i, i18n: a } = r;
232
+ switch (e.type) {
233
+ case "int": return i.int(Number(n));
234
+ case "float": return i.decimal(Number(n), Q(e));
235
+ case "percentage": return i.percent(Number(n), Q(e));
236
+ case "star": return a.t("cell.rating", {
237
+ value: Number(n),
238
+ max: e.max ?? 5
239
+ });
240
+ case "currency": return `${i.decimal(Number(n), Q(e))} ${ue(e, t)}`;
241
+ case "url": return le(String(n));
242
+ case "boolean": return a.t(n ? "common.yes" : "common.no");
243
+ case "select": return ce(e.options, n);
244
+ case "multiselect": return i.list(n.map((t) => ce(e.options, t)));
245
+ case "ajax": return r.labels.label(e.id, e.remote, n);
246
+ case "user": {
247
+ let t = Array.isArray(n) ? n : [n];
248
+ return i.list(t.map((t) => e.options?.find((e) => e.value === t)?.label ?? r.labels.label(e.id, e.remote, t)));
249
+ }
250
+ case "date": return Number.isNaN(X(n).getTime()) ? String(n) : i.date(n, r.today);
251
+ case "datetime": return Number.isNaN(X(n).getTime()) ? String(n) : e.relative ? i.relative(n, r.today) : i.dateTime(n, r.today);
252
+ case "object": return e.summary ? e.summary(n, t) : a.t("cell.fields", { count: typeof n == "object" && n ? Object.keys(n).length : 0 });
253
+ case "array": return i.list(n.map((t) => fe(e.itemType, t, i)));
254
+ default: return String(n);
255
+ }
256
+ }
257
+ function fe(e, t, n) {
258
+ return e === "int" ? n.int(Number(t)) : e === "float" ? n.decimal(Number(t)) : String(t);
259
+ }
260
+ // src/core/filters/type-icons.ts
261
+ var pe = {
262
+ int: x,
263
+ float: x,
264
+ percentage: k,
265
+ star: j,
266
+ currency: y,
267
+ string: N,
268
+ text: M,
269
+ uppercase: N,
270
+ lowercase: N,
271
+ phone: ee,
272
+ color: O,
273
+ email: b,
274
+ url: S,
275
+ id: x,
276
+ boolean: _,
277
+ select: A,
278
+ multiselect: T,
279
+ ajax: C,
280
+ user: P,
281
+ date: h,
282
+ datetime: v,
283
+ object: m,
284
+ array: w
285
+ }, me = (e) => typeof e == "object" ? "dt-tone-custom" : `dt-tone-${e ?? "gray"}`, he = (e) => typeof e == "object" ? {
286
+ "--dt-tone-light": e.light,
287
+ "--dt-tone-dark": e.dark
288
+ } : void 0, ge = [
289
+ "blue",
290
+ "green",
291
+ "amber",
292
+ "violet",
293
+ "pink",
294
+ "teal"
295
+ ];
296
+ function _e(e) {
297
+ let t = 0;
298
+ for (let n of String(e)) t = t * 31 + n.charCodeAt(0) >>> 0;
299
+ return ge[t % ge.length];
300
+ }
301
+ var ve = (e) => e.split(/\s+/).filter(Boolean).slice(0, 2).map((e) => e[0].toLocaleUpperCase()).join("");
302
+ function $(e) {
303
+ let t = r(13), { tone: n, label: i, icon: a } = e, o;
304
+ t[0] === n ? o = t[1] : (o = me(n), t[0] = n, t[1] = o);
305
+ let s = `dt-badge ${o}`, c;
306
+ t[2] === n ? c = t[3] : (c = he(n), t[2] = n, t[3] = c);
307
+ let l;
308
+ t[4] === a ? l = t[5] : (l = a ? /* @__PURE__ */ u(a, {
309
+ className: "dt-badge-icon",
310
+ size: 11,
311
+ weight: "bold",
312
+ "aria-hidden": "true"
313
+ }) : /* @__PURE__ */ u("span", {
314
+ className: "dt-badge-dot",
315
+ "aria-hidden": "true"
316
+ }), t[4] = a, t[5] = l);
317
+ let f;
318
+ t[6] === i ? f = t[7] : (f = /* @__PURE__ */ u("span", {
319
+ className: "dt-badge-label",
320
+ children: i
321
+ }), t[6] = i, t[7] = f);
322
+ let p;
323
+ return t[8] !== s || t[9] !== c || t[10] !== l || t[11] !== f ? (p = /* @__PURE__ */ d("span", {
324
+ className: s,
325
+ style: c,
326
+ children: [l, f]
327
+ }), t[8] = s, t[9] = c, t[10] = l, t[11] = f, t[12] = p) : p = t[12], p;
328
+ }
329
+ var ye = (e) => {
330
+ let t = r(4), { count: n, tip: i, pill: a } = e, o = a ? "dt-more dt-more-pill" : "dt-more", s;
331
+ return t[0] !== n || t[1] !== o || t[2] !== i ? (s = /* @__PURE__ */ d("span", {
332
+ className: o,
333
+ "data-dt-tip": i,
334
+ children: ["+", n]
335
+ }), t[0] = n, t[1] = o, t[2] = i, t[3] = s) : s = t[3], s;
336
+ }, be = (e) => {
337
+ let t = r(2), { children: n } = e, i;
338
+ return t[0] === n ? i = t[1] : (i = /* @__PURE__ */ u("span", {
339
+ className: "dt-mono",
340
+ children: n
341
+ }), t[0] = n, t[1] = i), i;
342
+ };
343
+ function xe(e) {
344
+ let t = r(12), { user: n } = e, i;
345
+ t[0] === n.value ? i = t[1] : (i = _e(n.value), t[0] = n.value, t[1] = i);
346
+ let a = `dt-avatar dt-tone-${i}`, o;
347
+ t[2] === n.avatarUrl ? o = t[3] : (o = n.avatarUrl ? { backgroundImage: `url("${n.avatarUrl}")` } : void 0, t[2] = n.avatarUrl, t[3] = o);
348
+ let s;
349
+ t[4] !== n.avatarUrl || t[5] !== n.initials || t[6] !== n.label ? (s = n.avatarUrl ? "" : n.initials ?? ve(n.label), t[4] = n.avatarUrl, t[5] = n.initials, t[6] = n.label, t[7] = s) : s = t[7];
350
+ let c;
351
+ return t[8] !== a || t[9] !== o || t[10] !== s ? (c = /* @__PURE__ */ u("span", {
352
+ className: a,
353
+ style: o,
354
+ "aria-hidden": "true",
355
+ children: s
356
+ }), t[8] = a, t[9] = o, t[10] = s, t[11] = c) : c = t[11], c;
357
+ }
358
+ function Se(e) {
359
+ let t = r(8), { value: n, max: i, label: a } = e, o;
360
+ if (t[0] !== i || t[1] !== n) {
361
+ let e;
362
+ t[3] === n ? e = t[4] : (e = (e, t) => /* @__PURE__ */ u(j, {
363
+ size: 14,
364
+ weight: t < n ? "fill" : "regular",
365
+ className: t < n ? "is-on" : void 0
366
+ }, t), t[3] = n, t[4] = e), o = Array.from({ length: i }, e), t[0] = i, t[1] = n, t[2] = o;
367
+ } else o = t[2];
368
+ let s;
369
+ return t[5] !== a || t[6] !== o ? (s = /* @__PURE__ */ u("span", {
370
+ className: "dt-stars",
371
+ role: "img",
372
+ "aria-label": a,
373
+ "data-dt-tip": a,
374
+ children: o
375
+ }), t[5] = a, t[6] = o, t[7] = s) : s = t[7], s;
376
+ }
377
+ function Ce(e) {
378
+ let t = r(7), { pct: n, label: i } = e, a = `${Math.max(0, Math.min(100, n))}%`, o;
379
+ t[0] === a ? o = t[1] : (o = /* @__PURE__ */ u("span", {
380
+ className: "dt-bar-track",
381
+ "aria-hidden": "true",
382
+ children: /* @__PURE__ */ u("span", {
383
+ className: "dt-bar-fill",
384
+ style: { width: a }
385
+ })
386
+ }), t[0] = a, t[1] = o);
387
+ let s;
388
+ t[2] === i ? s = t[3] : (s = /* @__PURE__ */ u("span", {
389
+ className: "dt-bar-label",
390
+ children: i
391
+ }), t[2] = i, t[3] = s);
392
+ let c;
393
+ return t[4] !== o || t[5] !== s ? (c = /* @__PURE__ */ d("span", {
394
+ className: "dt-bar",
395
+ children: [o, s]
396
+ }), t[4] = o, t[5] = s, t[6] = c) : c = t[6], c;
397
+ }
398
+ var we = (e) => {
399
+ let t = r(6), { href: n, external: i, children: a } = e, o;
400
+ t[0] === i ? o = t[1] : (o = i && {
401
+ target: "_blank",
402
+ rel: "noopener"
403
+ }, t[0] = i, t[1] = o);
404
+ let s;
405
+ return t[2] !== a || t[3] !== n || t[4] !== o ? (s = /* @__PURE__ */ u("a", {
406
+ className: "dt-link",
407
+ href: n,
408
+ ...o,
409
+ children: a
410
+ }), t[2] = a, t[3] = n, t[4] = o, t[5] = s) : s = t[5], s;
411
+ };
412
+ function Te(e, t) {
413
+ if (e.type !== "color" || e.display !== "fill" || typeof t != "string") return;
414
+ let n = /^#?([0-9a-f]{6})$/i.exec(t);
415
+ if (!n) return { background: t };
416
+ let r = parseInt(n[1], 16);
417
+ return {
418
+ background: t,
419
+ color: (.2126 * (r >> 16 & 255) + .7152 * (r >> 8 & 255) + .0722 * (r & 255)) / 255 > .55 ? "var(--dt-fill-text-dark)" : "var(--dt-fill-text-light)"
420
+ };
421
+ }
422
+ function Ee(e, t, n) {
423
+ return t.map((t) => e.options?.find((e) => e.value === t) ?? n.labels.option(e.id, e.remote, t) ?? {
424
+ value: t,
425
+ label: String(t)
426
+ });
427
+ }
428
+ var De = (e, t) => {
429
+ let n = e.find((e) => e.value === t);
430
+ return n ? /* @__PURE__ */ u($, {
431
+ tone: n.tone,
432
+ label: n.label
433
+ }, String(t)) : /* @__PURE__ */ u($, {
434
+ tone: "gray",
435
+ label: String(t)
436
+ }, String(t));
437
+ };
438
+ function Oe(e, t, n, r) {
439
+ let i = de(e, t, n, r);
440
+ if (e.cell) return e.cell({
441
+ row: t,
442
+ value: n,
443
+ formatted: i,
444
+ column: {
445
+ id: e.id,
446
+ type: e.type
447
+ },
448
+ density: r.density
449
+ });
450
+ if (se(n)) return e.type === "user" ? /* @__PURE__ */ d("span", {
451
+ className: "dt-user is-empty",
452
+ children: [/* @__PURE__ */ u("span", {
453
+ className: "dt-avatar is-empty",
454
+ "aria-hidden": "true"
455
+ }), r.i18n.t("common.unassigned")]
456
+ }) : /* @__PURE__ */ u("span", {
457
+ className: "dt-empty",
458
+ children: i
459
+ });
460
+ let { fmt: a, i18n: o } = r;
461
+ switch (e.type) {
462
+ case "int":
463
+ case "float":
464
+ case "string":
465
+ case "uppercase":
466
+ case "lowercase":
467
+ case "email": return i;
468
+ case "percentage": return e.display === "bar" ? /* @__PURE__ */ u(Ce, {
469
+ pct: Number(n),
470
+ label: i
471
+ }) : i;
472
+ case "star": return /* @__PURE__ */ u(Se, {
473
+ value: Number(n),
474
+ max: e.max ?? 5,
475
+ label: i
476
+ });
477
+ case "currency": return /* @__PURE__ */ d(l, { children: [a.decimal(Number(n), Q(e)), /* @__PURE__ */ u("span", {
478
+ className: "dt-ccy",
479
+ children: ue(e, t)
480
+ })] });
481
+ case "phone": return r.coarse ? /* @__PURE__ */ u(we, {
482
+ href: `tel:${i}`,
483
+ children: i
484
+ }) : i;
485
+ case "text": return /* @__PURE__ */ d("span", {
486
+ className: "dt-text",
487
+ children: [/* @__PURE__ */ u("span", {
488
+ className: "dt-text-first",
489
+ children: i.split("\n")[0]
490
+ }), /* @__PURE__ */ u("button", {
491
+ type: "button",
492
+ className: "dt-text-expand",
493
+ "aria-label": o.t("cell.expandText"),
494
+ "data-dt-tip": i,
495
+ children: /* @__PURE__ */ u(p, {
496
+ size: 14,
497
+ "aria-hidden": "true"
498
+ })
499
+ })]
500
+ });
501
+ case "color": return e.display === "fill" ? /* @__PURE__ */ u(be, { children: i }) : /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("span", {
502
+ className: "dt-swatch",
503
+ style: { background: i },
504
+ "aria-hidden": "true"
505
+ }), /* @__PURE__ */ u(be, { children: i })] });
506
+ case "url": return /* @__PURE__ */ d(we, {
507
+ href: String(n),
508
+ external: !0,
509
+ children: [le(String(n)), /* @__PURE__ */ u(f, {
510
+ size: 12,
511
+ className: "dt-link-icon",
512
+ "aria-hidden": "true"
513
+ })]
514
+ });
515
+ case "id": {
516
+ let n = e.href?.(t);
517
+ return n ? /* @__PURE__ */ u(we, {
518
+ href: n,
519
+ children: /* @__PURE__ */ u(be, { children: i })
520
+ }) : /* @__PURE__ */ u(be, { children: i });
521
+ }
522
+ case "boolean": {
523
+ if (n) return /* @__PURE__ */ u($, {
524
+ tone: "green",
525
+ label: i,
526
+ icon: g
527
+ });
528
+ let t = e.falseTone === "destructive";
529
+ return /* @__PURE__ */ u($, {
530
+ tone: t ? "red" : "gray",
531
+ label: i,
532
+ icon: t ? F : D
533
+ });
534
+ }
535
+ case "select": return De(e.options, n);
536
+ case "multiselect": {
537
+ let t = n;
538
+ return /* @__PURE__ */ d("span", {
539
+ className: "dt-badges",
540
+ children: [t.slice(0, 2).map((t) => De(e.options, t)), t.length > 2 && /* @__PURE__ */ u(ye, {
541
+ count: t.length - 2,
542
+ tip: a.list(t.slice(2).map((t) => ce(e.options, t)))
543
+ })]
544
+ });
545
+ }
546
+ case "ajax": {
547
+ let n = e.href?.(t);
548
+ return n ? /* @__PURE__ */ u(we, {
549
+ href: n,
550
+ children: i
551
+ }) : i;
552
+ }
553
+ case "user": {
554
+ let t = Ee(e, Array.isArray(n) ? n : [n], r);
555
+ return t.length === 1 ? /* @__PURE__ */ d("span", {
556
+ className: "dt-user",
557
+ children: [/* @__PURE__ */ u(xe, { user: t[0] }), /* @__PURE__ */ u("span", {
558
+ className: "dt-user-name",
559
+ children: t[0].label
560
+ })]
561
+ }) : /* @__PURE__ */ d("span", {
562
+ className: "dt-user dt-avatars",
563
+ children: [t.slice(0, 3).map((e) => /* @__PURE__ */ u(xe, { user: e }, String(e.value))), t.length > 3 && /* @__PURE__ */ u(ye, {
564
+ count: t.length - 3,
565
+ tip: a.list(t.slice(3).map((e) => e.label)),
566
+ pill: !0
567
+ })]
568
+ });
569
+ }
570
+ case "date":
571
+ case "datetime": {
572
+ let s = (typeof e.overdue == "function" ? e.overdue(t) : e.overdue) ? a.daysLate(n, r.today) : 0, c = e.type === "datetime" ? a.dateTimeFull(n) : void 0;
573
+ return s > 0 ? /* @__PURE__ */ u("span", {
574
+ className: "dt-late",
575
+ "data-dt-tip": c,
576
+ children: `${i} · ${o.t("cell.late", { count: s })}`
577
+ }) : c ? /* @__PURE__ */ u("span", {
578
+ "data-dt-tip": c,
579
+ children: i
580
+ }) : i;
581
+ }
582
+ case "object": return /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("span", {
583
+ className: "dt-struct",
584
+ "aria-hidden": "true",
585
+ children: "{ }"
586
+ }), i] });
587
+ case "array": {
588
+ let t = n;
589
+ return /* @__PURE__ */ d(l, { children: [
590
+ /* @__PURE__ */ u("span", {
591
+ className: "dt-struct",
592
+ "aria-hidden": "true",
593
+ children: "[ ]"
594
+ }),
595
+ t.slice(0, 3).map((t) => fe(e.itemType, t, a)).join(", "),
596
+ t.length > 3 && /* @__PURE__ */ d(l, { children: [" ", /* @__PURE__ */ u(ye, {
597
+ count: t.length - 3,
598
+ tip: i
599
+ })] })
600
+ ] });
601
+ }
602
+ }
603
+ }
604
+ // src/core/format/parse.ts
605
+ var ke = /* @__PURE__ */ new Map();
606
+ function Ae(e) {
607
+ let t = ke.get(e);
608
+ if (!t) {
609
+ let n = new Intl.NumberFormat(e).formatToParts(12345.6);
610
+ t = {
611
+ group: n.find((e) => e.type === "group")?.value ?? ",",
612
+ decimal: n.find((e) => e.type === "decimal")?.value ?? "."
613
+ }, ke.set(e, t);
614
+ }
615
+ return t;
616
+ }
617
+ function je(e, t) {
618
+ let n = t.replace(/[\s%\u00a0A-Za-z₺€$£]/g, "").replace("−", "-");
619
+ if (n === "" || n === "-") return null;
620
+ let r = n.lastIndexOf(","), i = n.lastIndexOf("."), a = r >= 0 && i >= 0 ? r > i ? "," : "." : Ae(e).decimal;
621
+ n = n.split(a === "," ? "." : ",").join(""), a === "," && (n = n.replace(",", "."));
622
+ let o = Number(n);
623
+ return Number.isFinite(o) ? o : null;
624
+ }
625
+ var Me = /^\d{1,3}([.,])\d{3}(?:\1\d{3})*(?:(?!\1)[.,]\d+)?$/;
626
+ function Ne(e, t, n) {
627
+ let r = t.replace(/−/g, "-").replace(/[^\d.,-]/g, ""), i = r.startsWith("-") ? "-" : "", a = r.replace(/-/g, "");
628
+ if (Me.test(a)) {
629
+ let t = je(e, i + a);
630
+ return t === null ? i : Pe(e, n ? Math.trunc(t) : t);
631
+ }
632
+ let [o, ...s] = a.split(/[.,]/);
633
+ return n ? i + o : i + o + (s.length > 0 ? Ae(e).decimal + s.join("") : "");
634
+ }
635
+ var Pe = (e, t) => new Intl.NumberFormat(e, {
636
+ useGrouping: !1,
637
+ maximumFractionDigits: 6
638
+ }).format(t).replace("−", "-");
639
+ // src/core/interaction/use-delay.ts
640
+ function Fe(e) {
641
+ let t = r(7), n = s(void 0), i, a;
642
+ t[0] === Symbol.for("react.memo_cache_sentinel") ? (i = () => () => clearTimeout(n.current), a = [], t[0] = i, t[1] = a) : (i = t[0], a = t[1]), o(i, a);
643
+ let c;
644
+ t[2] === e ? c = t[3] : (c = (t) => {
645
+ clearTimeout(n.current), n.current = setTimeout(t, e);
646
+ }, t[2] = e, t[3] = c);
647
+ let l;
648
+ t[4] === Symbol.for("react.memo_cache_sentinel") ? (l = () => clearTimeout(n.current), t[4] = l) : l = t[4];
649
+ let u;
650
+ return t[5] === c ? u = t[6] : (u = {
651
+ run: c,
652
+ cancel: l
653
+ }, t[5] = c, t[6] = u), u;
654
+ }
655
+ // src/core/editors/number-editor.tsx
656
+ function Ie(t) {
657
+ let n = r(61), { column: i, op: a, value: o, currency: s, currencies: f, onChange: p, onCurrency: m, onDone: h } = t, { i18n: g, locale: _ } = e(), v = a === "between", y;
658
+ n[0] === _ ? y = n[1] : (y = (e) => typeof e == "number" && Number.isFinite(e) ? Pe(_, e) : "", n[0] = _, n[1] = y);
659
+ let b = y, x;
660
+ n[2] !== v || n[3] !== b ? (x = (e) => v ? [b(Array.isArray(e) ? e[0] : void 0), b(Array.isArray(e) ? e[1] : void 0)] : [b(e), ""], n[2] = v, n[3] = b, n[4] = x) : x = n[4];
661
+ let S = x, C;
662
+ n[5] !== S || n[6] !== o ? (C = () => S(o), n[5] = S, n[6] = o, n[7] = C) : C = n[7];
663
+ let [w, T] = c(C), [E, D] = w, O;
664
+ n[8] !== a || n[9] !== o ? (O = {
665
+ value: o,
666
+ op: a
667
+ }, n[8] = a, n[9] = o, n[10] = O) : O = n[10];
668
+ let [k, ee] = c(O);
669
+ if (k.value !== o || k.op !== a) {
670
+ ee({
671
+ value: o,
672
+ op: a
673
+ });
674
+ let [e, t] = S(o), n = (e, t) => je(_, e) === je(_, t);
675
+ n(E, e) && n(D, t) || T([n(E, e) ? E : e, n(D, t) ? D : t]);
676
+ }
677
+ let A = Fe(250), j;
678
+ n[11] !== _ || n[12] !== p || n[13] !== v ? (j = (e, t) => {
679
+ let n = je(_, e);
680
+ if (!v) return p(n ?? void 0);
681
+ let r = je(_, t);
682
+ p(n === null && r === null ? void 0 : [n, r]);
683
+ }, n[11] = _, n[12] = p, n[13] = v, n[14] = j) : j = n[14];
684
+ let M = j, N;
685
+ n[15] !== M || n[16] !== A ? (N = (e) => {
686
+ T(e), A.run(() => M(...e));
687
+ }, n[15] = M, n[16] = A, n[17] = N) : N = n[17];
688
+ let P = N, F;
689
+ n[18] !== E || n[19] !== D || n[20] !== M || n[21] !== A || n[22] !== h ? (F = (e) => {
690
+ e.key === "Enter" && (e.preventDefault(), A.cancel(), M(E, D), h());
691
+ }, n[18] = E, n[19] = D, n[20] = M, n[21] = A, n[22] = h, n[23] = F) : F = n[23];
692
+ let I = F, L;
693
+ n[24] !== i || n[25] !== _ ? (L = (e) => Ne(_, e, Q(i) === 0), n[24] = i, n[25] = _, n[26] = L) : L = n[26];
694
+ let R = L, z = i.type === "percentage" ? "%" : "", B;
695
+ n[27] !== R || n[28] !== I || n[29] !== z ? (B = (e, t, n) => /* @__PURE__ */ d("span", {
696
+ className: z ? "dt-input has-suffix" : "dt-input",
697
+ children: [/* @__PURE__ */ u("input", {
698
+ autoFocus: n !== void 0 && n,
699
+ value: e,
700
+ type: "text",
701
+ inputMode: "decimal",
702
+ autoComplete: "off",
703
+ onChange: (e) => t(R(e.target.value)),
704
+ onKeyDown: I
705
+ }), z && /* @__PURE__ */ u("span", {
706
+ className: "dt-input-end dt-input-suffix",
707
+ children: z
708
+ })]
709
+ }), n[27] = R, n[28] = I, n[29] = z, n[30] = B) : B = n[30];
710
+ let V = B, H;
711
+ n[31] !== f || n[32] !== s || n[33] !== m ? (H = f.length > 1 && /* @__PURE__ */ u(ne, {
712
+ className: "dt-seg dt-seg-xs",
713
+ value: s ? [s] : [],
714
+ onValueChange: (e) => e[0] && m(String(e[0])),
715
+ children: f.map((e) => /* @__PURE__ */ u(te, {
716
+ className: "dt-seg-item",
717
+ value: e,
718
+ "data-state": e === s ? "on" : "off",
719
+ children: e
720
+ }, e))
721
+ }), n[31] = f, n[32] = s, n[33] = m, n[34] = H) : H = n[34];
722
+ let U;
723
+ n[35] !== g || n[36] !== v ? (U = v && /* @__PURE__ */ u("span", {
724
+ className: "dt-editor-label",
725
+ children: g.t("number.min")
726
+ }), n[35] = g, n[36] = v, n[37] = U) : U = n[37];
727
+ let W;
728
+ n[38] !== D || n[39] !== P ? (W = (e) => P([e, D]), n[38] = D, n[39] = P, n[40] = W) : W = n[40];
729
+ let G;
730
+ n[41] !== E || n[42] !== V || n[43] !== W ? (G = V(E, W, !0), n[41] = E, n[42] = V, n[43] = W, n[44] = G) : G = n[44];
731
+ let K;
732
+ n[45] !== U || n[46] !== G ? (K = /* @__PURE__ */ d("label", {
733
+ className: "dt-editor-field",
734
+ children: [U, G]
735
+ }), n[45] = U, n[46] = G, n[47] = K) : K = n[47];
736
+ let q;
737
+ n[48] !== E || n[49] !== D || n[50] !== V || n[51] !== g || n[52] !== v || n[53] !== P ? (q = v && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("span", {
738
+ className: "dt-editor-and",
739
+ children: g.t("number.and")
740
+ }), /* @__PURE__ */ d("label", {
741
+ className: "dt-editor-field",
742
+ children: [/* @__PURE__ */ u("span", {
743
+ className: "dt-editor-label",
744
+ children: g.t("number.max")
745
+ }), V(D, (e) => P([E, e]))]
746
+ })] }), n[48] = E, n[49] = D, n[50] = V, n[51] = g, n[52] = v, n[53] = P, n[54] = q) : q = n[54];
747
+ let J;
748
+ n[55] !== K || n[56] !== q ? (J = /* @__PURE__ */ d("div", {
749
+ className: "dt-editor-fields",
750
+ children: [K, q]
751
+ }), n[55] = K, n[56] = q, n[57] = J) : J = n[57];
752
+ let Y;
753
+ return n[58] !== H || n[59] !== J ? (Y = /* @__PURE__ */ d("div", {
754
+ className: "dt-editor-number",
755
+ children: [H, J]
756
+ }), n[58] = H, n[59] = J, n[60] = Y) : Y = n[60], Y;
757
+ }
758
+ // src/core/editors/options-editor.tsx
759
+ function Le(e, t) {
760
+ if (e.type === "select" || e.type === "multiselect") return e.options;
761
+ if (e.type === "user" && e.options) return [...e.options].sort((e, t) => e.label.localeCompare(t.label));
762
+ if (e.type === "color" && e.palette) return e.palette.map((e) => ({
763
+ value: e,
764
+ label: e
765
+ }));
766
+ if (e.type !== "color") return [];
767
+ let n = /* @__PURE__ */ new Set();
768
+ for (let r of t) {
769
+ let t = e.accessor ? e.accessor(r) : K(r, e.id);
770
+ for (let e of Array.isArray(t) ? t : [t]) e != null && e !== "" && n.add(e);
771
+ }
772
+ return [...n].sort((e, t) => String(e).localeCompare(String(t))).map((e) => ({
773
+ value: e,
774
+ label: String(e)
775
+ }));
776
+ }
777
+ function Re({ column: t, op: n, value: r, rows: i, labels: a, onChange: f, onUnassigned: p }) {
778
+ let { i18n: m } = e(), h = t, g = h.type === "ajax" || h.type === "user" ? h.remote : void 0, _ = h.type === "user", [v, y] = c(""), b = Le(h, i), [x, S] = c({
779
+ items: [],
780
+ hasMore: !1,
781
+ page: 1
782
+ }), [C, w] = c(!!g), T = s(null), D = (e, t) => {
783
+ if (!g) return;
784
+ T.current?.abort();
785
+ let n = new AbortController();
786
+ T.current = n, g.search(e, t, { signal: n.signal }).then((e) => {
787
+ n.signal.aborted || (S((n) => ({
788
+ items: t > 1 ? [...n.items, ...e.items] : e.items,
789
+ hasMore: e.hasMore,
790
+ page: t
791
+ })), a.seed(h.id, e.items));
792
+ }).catch(() => {}).finally(() => !n.signal.aborted && w(!1));
793
+ }, O = Fe(250);
794
+ o(() => (D("", 1), () => T.current?.abort()), []);
795
+ let k = v.trim().toLocaleLowerCase(), ee = g ? x.items : k ? b.filter((e) => e.label.toLocaleLowerCase().includes(k)) : b, A = !!g || b.length > 7, j = h.filterNoun ? m.t("option.searchNoun", { noun: h.filterNoun }) : m.t("option.search"), M = new Set(r.map(String)), N = (e) => M.has(String(e)), P = (e) => f(N(e) ? r.filter((t) => String(t) !== String(e)) : [...r, e]), F = n === "is_empty", te = (e) => h.type === "user" ? /* @__PURE__ */ d(l, { children: [
796
+ /* @__PURE__ */ u(xe, { user: e }),
797
+ " ",
798
+ e.label
799
+ ] }) : h.type === "select" || h.type === "multiselect" ? /* @__PURE__ */ u($, {
800
+ tone: e.tone ?? "gray",
801
+ label: e.label
802
+ }) : h.type === "color" ? /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("span", {
803
+ className: "dt-swatch",
804
+ style: { background: String(e.value) },
805
+ "aria-hidden": "true"
806
+ }), /* @__PURE__ */ u("span", {
807
+ className: "dt-mono",
808
+ children: e.label
809
+ })] }) : e.label;
810
+ return /* @__PURE__ */ d("div", {
811
+ className: "dt-options",
812
+ children: [A && /* @__PURE__ */ d("label", {
813
+ className: "dt-input has-icon dt-options-search",
814
+ children: [/* @__PURE__ */ u("span", {
815
+ className: "dt-input-icon",
816
+ children: /* @__PURE__ */ u(E, {
817
+ size: 14,
818
+ "aria-hidden": "true"
819
+ })
820
+ }), /* @__PURE__ */ u("input", {
821
+ type: "search",
822
+ value: v,
823
+ placeholder: j,
824
+ "aria-label": j,
825
+ onChange: (e) => {
826
+ let t = e.target.value;
827
+ y(t), g && (w(!0), O.run(() => D(t, 1)));
828
+ }
829
+ })]
830
+ }), /* @__PURE__ */ d("div", {
831
+ className: "dt-options-list",
832
+ role: "group",
833
+ children: [
834
+ _ && !v && /* @__PURE__ */ d(l, { children: [
835
+ /* @__PURE__ */ d("label", {
836
+ className: N("@me") ? "dt-option is-on" : "dt-option",
837
+ children: [/* @__PURE__ */ u("input", {
838
+ type: "checkbox",
839
+ className: "dt-checkbox",
840
+ checked: N("@me"),
841
+ onChange: () => P("@me")
842
+ }), /* @__PURE__ */ d("span", {
843
+ className: "dt-option-body",
844
+ children: [/* @__PURE__ */ u("span", {
845
+ className: "dt-avatar dt-tone-blue",
846
+ "aria-hidden": "true",
847
+ children: m.t("common.me").slice(0, 2)
848
+ }), m.t("common.me")]
849
+ })]
850
+ }),
851
+ /* @__PURE__ */ d("label", {
852
+ className: F ? "dt-option is-unassigned is-on" : "dt-option is-unassigned",
853
+ children: [/* @__PURE__ */ u("input", {
854
+ type: "checkbox",
855
+ className: "dt-checkbox",
856
+ checked: F,
857
+ onChange: p
858
+ }), /* @__PURE__ */ d("span", {
859
+ className: "dt-option-body",
860
+ children: [/* @__PURE__ */ u("span", {
861
+ className: "dt-avatar is-empty",
862
+ "aria-hidden": "true"
863
+ }), m.t("common.unassigned")]
864
+ })]
865
+ }),
866
+ /* @__PURE__ */ u("div", { className: "dt-pop-sep" })
867
+ ] }),
868
+ ee.map((e) => /* @__PURE__ */ d("label", {
869
+ className: N(e.value) ? "dt-option is-on" : "dt-option",
870
+ children: [
871
+ /* @__PURE__ */ u("input", {
872
+ type: "checkbox",
873
+ className: "dt-checkbox",
874
+ checked: N(e.value),
875
+ onChange: () => P(e.value)
876
+ }),
877
+ /* @__PURE__ */ u("span", {
878
+ className: "dt-option-body",
879
+ children: te(e)
880
+ }),
881
+ /* @__PURE__ */ u("button", {
882
+ type: "button",
883
+ className: "dt-btn dt-btn-xs dt-option-only",
884
+ tabIndex: -1,
885
+ onClick: (t) => {
886
+ t.preventDefault(), f([e.value]);
887
+ },
888
+ children: m.t("option.only")
889
+ })
890
+ ]
891
+ }, String(e.value))),
892
+ ee.length === 0 && !C && /* @__PURE__ */ u("div", {
893
+ className: "dt-options-empty",
894
+ children: m.t(g ? "remote.noResults" : "picker.noMatch")
895
+ }),
896
+ C && /* @__PURE__ */ u("div", {
897
+ className: "dt-options-empty",
898
+ children: m.t("common.loading")
899
+ }),
900
+ g && x.hasMore && !C && /* @__PURE__ */ u("button", {
901
+ type: "button",
902
+ className: "dt-btn dt-btn-ghost dt-btn-sm dt-options-more",
903
+ onClick: () => {
904
+ w(!0), D(v, x.page + 1);
905
+ },
906
+ children: m.t("remote.loadMore")
907
+ })
908
+ ]
909
+ })]
910
+ });
911
+ }
912
+ // src/core/editors/star-editor.tsx
913
+ function ze(e) {
914
+ let t = r(8), { column: n, value: i, onChange: a, onDone: o } = e, s = n.max ?? 5, c;
915
+ t[0] === i ? c = t[1] : (c = (e) => typeof i == "number" && e <= i, t[0] = i, t[1] = c);
916
+ let l = c, d;
917
+ return t[2] !== s || t[3] !== l || t[4] !== a || t[5] !== o || t[6] !== i ? (d = /* @__PURE__ */ u("div", {
918
+ className: "dt-editor-stars",
919
+ role: "radiogroup",
920
+ children: Array.from({ length: s }, Be).map((e) => /* @__PURE__ */ u("button", {
921
+ type: "button",
922
+ className: l(e) ? "dt-star-btn is-on" : "dt-star-btn",
923
+ role: "radio",
924
+ "aria-checked": i === e,
925
+ "aria-label": String(e),
926
+ onClick: () => {
927
+ a(e), o();
928
+ },
929
+ children: /* @__PURE__ */ u(j, {
930
+ size: 18,
931
+ weight: l(e) ? "fill" : "regular",
932
+ "aria-hidden": "true"
933
+ })
934
+ }, e))
935
+ }), t[2] = s, t[3] = l, t[4] = a, t[5] = o, t[6] = i, t[7] = d) : d = t[7], d;
936
+ }
937
+ function Be(e, t) {
938
+ return t + 1;
939
+ }
940
+ // src/core/editors/text-editor.tsx
941
+ var Ve = (e) => Array.isArray(e) ? e.join(", ") : typeof e == "string" ? e : "";
942
+ function He(e) {
943
+ let t = r(22), { column: n, op: i, value: a, onChange: o, onDone: s } = e, l;
944
+ t[0] === n.type ? l = t[1] : (l = (e) => n.type === "uppercase" ? e.toLocaleUpperCase() : n.type === "lowercase" ? e.toLocaleLowerCase() : e, t[0] = n.type, t[1] = l);
945
+ let d = l, f;
946
+ t[2] !== d || t[3] !== i ? (f = (e) => {
947
+ let t = d(e).trim();
948
+ return i !== "in" && i !== "not_in" ? t : t.split(/[\n,;]+/).map(Ue).filter(Boolean);
949
+ }, t[2] = d, t[3] = i, t[4] = f) : f = t[4];
950
+ let p = f, m;
951
+ t[5] === a ? m = t[6] : (m = () => Ve(a), t[5] = a, t[6] = m);
952
+ let [h, g] = c(m), [_, v] = c(a);
953
+ _ !== a && (v(a), JSON.stringify(p(h)) !== JSON.stringify(a ?? "") && g(Ve(a)));
954
+ let y = Fe(250), b;
955
+ t[7] !== y || t[8] !== d || t[9] !== o || t[10] !== p ? (b = (e) => {
956
+ let t = d(e.target.value);
957
+ g(t), y.run(() => o(p(t)));
958
+ }, t[7] = y, t[8] = d, t[9] = o, t[10] = p, t[11] = b) : b = t[11];
959
+ let x;
960
+ t[12] !== y || t[13] !== h || t[14] !== o || t[15] !== s || t[16] !== p ? (x = (e) => {
961
+ e.key === "Enter" && (e.preventDefault(), y.cancel(), o(p(h)), s());
962
+ }, t[12] = y, t[13] = h, t[14] = o, t[15] = s, t[16] = p, t[17] = x) : x = t[17];
963
+ let S;
964
+ return t[18] !== h || t[19] !== b || t[20] !== x ? (S = /* @__PURE__ */ u("label", {
965
+ className: "dt-input dt-editor-text",
966
+ children: /* @__PURE__ */ u("input", {
967
+ autoFocus: !0,
968
+ value: h,
969
+ type: "text",
970
+ autoComplete: "off",
971
+ onChange: b,
972
+ onKeyDown: x
973
+ })
974
+ }), t[18] = h, t[19] = b, t[20] = x, t[21] = S) : S = t[21], S;
975
+ }
976
+ function Ue(e) {
977
+ return e.trim();
978
+ }
979
+ // src/core/filters/value-editor.tsx
980
+ var We = a(() => import("./date-editor-CxGAEK_C.js"));
981
+ function Ge(e) {
982
+ let a = r(51), { chip: o, column: s, rows: c, labels: l, currencies: d, onChange: f, onDone: p } = e, m = s.type, h;
983
+ a[0] !== o || a[1] !== d || a[2] !== f || a[3] !== m ? (h = (e) => f({
984
+ ...o,
985
+ value: e,
986
+ currency: m === "currency" ? o.currency ?? d[0] : o.currency
987
+ }), a[0] = o, a[1] = d, a[2] = f, a[3] = m, a[4] = h) : h = a[4];
988
+ let g = h;
989
+ switch (t(o.op, m)) {
990
+ case "options": {
991
+ let e;
992
+ a[5] === o.value ? e = a[6] : (e = Array.isArray(o.value) ? o.value : [], a[5] = o.value, a[6] = e);
993
+ let t;
994
+ a[7] !== o || a[8] !== f || a[9] !== m ? (t = () => f(n(o, o.op === "is_empty" ? "in" : "is_empty", m)), a[7] = o, a[8] = f, a[9] = m, a[10] = t) : t = a[10];
995
+ let r;
996
+ return a[11] !== o.op || a[12] !== s || a[13] !== l || a[14] !== c || a[15] !== g || a[16] !== e || a[17] !== t ? (r = /* @__PURE__ */ u(Re, {
997
+ column: s,
998
+ op: o.op,
999
+ value: e,
1000
+ rows: c,
1001
+ labels: l,
1002
+ onChange: g,
1003
+ onUnassigned: t
1004
+ }), a[11] = o.op, a[12] = s, a[13] = l, a[14] = c, a[15] = g, a[16] = e, a[17] = t, a[18] = r) : r = a[18], r;
1005
+ }
1006
+ case "text": {
1007
+ let e;
1008
+ return a[19] !== o.op || a[20] !== o.value || a[21] !== s || a[22] !== p || a[23] !== g ? (e = /* @__PURE__ */ u(He, {
1009
+ column: s,
1010
+ op: o.op,
1011
+ value: o.value,
1012
+ onChange: g,
1013
+ onDone: p
1014
+ }), a[19] = o.op, a[20] = o.value, a[21] = s, a[22] = p, a[23] = g, a[24] = e) : e = a[24], e;
1015
+ }
1016
+ case "number": {
1017
+ let e;
1018
+ a[25] !== o || a[26] !== f ? (e = (e) => f({
1019
+ ...o,
1020
+ currency: e
1021
+ }), a[25] = o, a[26] = f, a[27] = e) : e = a[27];
1022
+ let t;
1023
+ return a[28] !== o.currency || a[29] !== o.op || a[30] !== o.value || a[31] !== s || a[32] !== d || a[33] !== p || a[34] !== g || a[35] !== e ? (t = /* @__PURE__ */ u(Ie, {
1024
+ column: s,
1025
+ op: o.op,
1026
+ value: o.value,
1027
+ currency: o.currency,
1028
+ currencies: d,
1029
+ onChange: g,
1030
+ onCurrency: e,
1031
+ onDone: p
1032
+ }), a[28] = o.currency, a[29] = o.op, a[30] = o.value, a[31] = s, a[32] = d, a[33] = p, a[34] = g, a[35] = e, a[36] = t) : t = a[36], t;
1033
+ }
1034
+ case "star": {
1035
+ let e;
1036
+ return a[37] !== o.value || a[38] !== s || a[39] !== p || a[40] !== g ? (e = /* @__PURE__ */ u(ze, {
1037
+ column: s,
1038
+ value: o.value,
1039
+ onChange: g,
1040
+ onDone: p
1041
+ }), a[37] = o.value, a[38] = s, a[39] = p, a[40] = g, a[41] = e) : e = a[41], e;
1042
+ }
1043
+ case "date": {
1044
+ let e;
1045
+ a[42] !== o || a[43] !== f || a[44] !== g ? (e = (e, t) => t ? f({
1046
+ ...o,
1047
+ op: t,
1048
+ value: e
1049
+ }) : g(e), a[42] = o, a[43] = f, a[44] = g, a[45] = e) : e = a[45];
1050
+ let t;
1051
+ return a[46] !== o.op || a[47] !== o.value || a[48] !== p || a[49] !== e ? (t = /* @__PURE__ */ u(i, {
1052
+ fallback: null,
1053
+ children: /* @__PURE__ */ u(We, {
1054
+ op: o.op,
1055
+ value: o.value,
1056
+ onChange: e,
1057
+ onDone: p
1058
+ })
1059
+ }), a[46] = o.op, a[47] = o.value, a[48] = p, a[49] = e, a[50] = t) : t = a[50], t;
1060
+ }
1061
+ default: return null;
1062
+ }
1063
+ }
1064
+ // src/core/ui/bottom-sheet.tsx
1065
+ function Ke(e) {
1066
+ let t = r(27), { open: n, onOpenChange: i, trigger: a, title: o, hideTitle: s, className: c, headStart: l, headEnd: f, foot: p, initialFocus: m, finalFocus: h, children: g } = e, _;
1067
+ t[0] === i ? _ = t[1] : (_ = (e) => i(e), t[0] = i, t[1] = _);
1068
+ let v;
1069
+ t[2] === a ? v = t[3] : (v = a && /* @__PURE__ */ u(I.Trigger, { render: a }), t[2] = a, t[3] = v);
1070
+ let y;
1071
+ t[4] === Symbol.for("react.memo_cache_sentinel") ? (y = /* @__PURE__ */ u(I.Backdrop, { className: "dt-scrim" }), t[4] = y) : y = t[4];
1072
+ let b = c ? `dt-bsheet ${c}` : "dt-bsheet", x;
1073
+ t[5] === Symbol.for("react.memo_cache_sentinel") ? (x = /* @__PURE__ */ u("span", {
1074
+ className: "dt-bsheet-handle",
1075
+ "aria-hidden": "true"
1076
+ }), t[5] = x) : x = t[5];
1077
+ let S;
1078
+ t[6] !== f || t[7] !== l || t[8] !== s || t[9] !== o ? (S = s ? /* @__PURE__ */ u(I.Title, {
1079
+ className: "dt-sr-only",
1080
+ children: o
1081
+ }) : /* @__PURE__ */ d("div", {
1082
+ className: "dt-bsheet-head",
1083
+ children: [
1084
+ l,
1085
+ /* @__PURE__ */ u(I.Title, {
1086
+ className: "dt-bsheet-title",
1087
+ children: o
1088
+ }),
1089
+ f
1090
+ ]
1091
+ }), t[6] = f, t[7] = l, t[8] = s, t[9] = o, t[10] = S) : S = t[10];
1092
+ let C;
1093
+ t[11] === g ? C = t[12] : (C = /* @__PURE__ */ u("div", {
1094
+ className: "dt-bsheet-body",
1095
+ children: g
1096
+ }), t[11] = g, t[12] = C);
1097
+ let w;
1098
+ t[13] === p ? w = t[14] : (w = p && /* @__PURE__ */ u("div", {
1099
+ className: "dt-bsheet-foot",
1100
+ children: p
1101
+ }), t[13] = p, t[14] = w);
1102
+ let T;
1103
+ t[15] !== h || t[16] !== m || t[17] !== b || t[18] !== S || t[19] !== C || t[20] !== w ? (T = /* @__PURE__ */ d(I.Portal, { children: [y, /* @__PURE__ */ d(I.Popup, {
1104
+ className: b,
1105
+ initialFocus: m,
1106
+ finalFocus: h,
1107
+ children: [
1108
+ x,
1109
+ S,
1110
+ C,
1111
+ w
1112
+ ]
1113
+ })] }), t[15] = h, t[16] = m, t[17] = b, t[18] = S, t[19] = C, t[20] = w, t[21] = T) : T = t[21];
1114
+ let E;
1115
+ return t[22] !== n || t[23] !== _ || t[24] !== v || t[25] !== T ? (E = /* @__PURE__ */ d(I.Root, {
1116
+ open: n,
1117
+ onOpenChange: _,
1118
+ children: [v, T]
1119
+ }), t[22] = n, t[23] = _, t[24] = v, t[25] = T, t[26] = E) : E = t[26], E;
1120
+ }
1121
+ export { V as _, Te as a, Q as c, ce as d, oe as f, U as g, B as h, xe as i, de as l, K as m, Ge as n, Oe as o, X as p, Fe as r, pe as s, Ke as t, se as u, H as v, G as y };
1122
+
1123
+ //# sourceMappingURL=bottom-sheet-BMVYPFta.js.map