@svgrid/grid-wc 2.6.1 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -220,132 +220,24 @@ var c = `
220
220
  };
221
221
  typeof window < "u" && !customElements.get("sv-grid-scrollbar") && customElements.define("sv-grid-scrollbar", u);
222
222
  //#endregion
223
- //#region ../grid/dist/SvGrid.helpers.js
224
- function d(e) {
225
- let t = "";
226
- return e.color && (t += `color:${e.color};`), e.fontWeight != null && (t += `font-weight:${e.fontWeight};`), t;
227
- }
228
- function f(e) {
229
- return Number.isInteger(e) ? e.toLocaleString() : e.toLocaleString(void 0, { maximumFractionDigits: 2 });
230
- }
231
- function p(e, t) {
232
- return `${e}:${t}`;
233
- }
234
- function m(e) {
235
- if (!e) return "";
236
- if (typeof e == "string") return e;
237
- if (Array.isArray(e)) return e.filter(Boolean).join(" ");
238
- if (typeof e == "object") {
239
- let t = [];
240
- for (let [n, r] of Object.entries(e)) r && t.push(n);
241
- return t.join(" ");
242
- }
243
- return "";
244
- }
245
- function h(e) {
246
- if (e == null || e === "") return "";
247
- if (typeof e == "string" && /^\d{4}-\d{2}-\d{2}$/.test(e)) return e;
248
- let t = e instanceof Date ? e : new Date(e);
249
- return Number.isNaN(t.getTime()) ? "" : t.toISOString().slice(0, 10);
250
- }
251
- function g(e) {
252
- if (e == null || e === "") return "";
253
- if (typeof e == "string" && /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/.test(e)) return e;
254
- let t = e instanceof Date ? e : new Date(e);
255
- return Number.isNaN(t.getTime()) ? "" : t.toISOString().slice(0, 16);
256
- }
257
- function _(e) {
258
- return String(e).replace(/-native$/, "");
259
- }
260
- function v(e) {
261
- if (e instanceof Date) return e;
262
- if (typeof e == "string") {
263
- let t = e.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?/);
264
- if (t) {
265
- let e = /* @__PURE__ */ new Date();
266
- return e.setHours(Math.min(23, +t[1]), Math.min(59, +t[2]), t[3] ? +t[3] : 0, 0), e;
267
- }
268
- }
269
- return null;
270
- }
271
- function y(e) {
272
- return e ? `${String(e.getHours()).padStart(2, "0")}:${String(e.getMinutes()).padStart(2, "0")}` : null;
273
- }
274
- function b(e, t) {
275
- let n = _(e);
276
- return n === "date" ? h(t) : n === "datetime" ? g(t) : String(t ?? "");
277
- }
278
- function x(e) {
279
- let t = _(e);
280
- return t === "number" ? "number" : t === "date" ? "date" : t === "datetime" ? "datetime-local" : t === "time" ? "time" : t === "password" ? "password" : t === "color" ? "color" : "text";
281
- }
282
- function S(e) {
283
- return e == null || e === "" ? [] : Array.isArray(e) ? e.filter((e) => e != null && e !== "") : [e];
284
- }
285
- function C(e, t) {
286
- let n = e.find((e) => e.value === t || String(e.value) === String(t));
287
- return n ? n.label : String(t ?? "");
288
- }
289
- function w(e, t) {
290
- return e.find((e) => e.value === t || String(e.value) === String(t))?.color;
291
- }
292
- function T(e) {
293
- return e ? `background: color-mix(in srgb, ${e} 22%, transparent);border-color: color-mix(in srgb, ${e} 45%, transparent);color: color-mix(in srgb, ${e} 80%, var(--sg-fg, #0f172a));` : "";
294
- }
295
- function E(e) {
296
- let t = _(e);
297
- return t === "number" ? "sv-grid-cell-editor sv-grid-cell-editor-number" : t === "date" ? "sv-grid-cell-editor sv-grid-cell-editor-date" : t === "datetime" ? "sv-grid-cell-editor sv-grid-cell-editor-datetime" : t === "color" ? "sv-grid-cell-editor sv-grid-cell-editor-color" : "sv-grid-cell-editor";
298
- }
299
- function D(e) {
300
- if (e == null || e === "") return null;
301
- let t = e instanceof Date ? e : new Date(e);
302
- return Number.isNaN(t.getTime()) ? null : t;
303
- }
304
- function O(e, t) {
305
- return Math.max(8, Math.min(e, window.innerWidth - t - 8));
306
- }
307
- function k(e) {
308
- return typeof CSS < "u" && CSS.escape ? CSS.escape(e) : e.replace(/"/g, "\\\"");
309
- }
310
- function A(e, t) {
311
- if (e == null || e === "") return NaN;
312
- if (t) {
313
- let t = (e instanceof Date ? e : new Date(String(e))).getTime();
314
- return Number.isFinite(t) ? t : NaN;
315
- }
316
- let n = typeof e == "number" ? e : Number(e);
317
- return Number.isFinite(n) ? n : NaN;
318
- }
319
- function j(e) {
320
- let t = Math.abs(e), n = t >= 1e3 ? 0 : t >= 100 ? 1 : t >= 1 ? 2 : 4;
321
- return e.toLocaleString(void 0, { maximumFractionDigits: n });
322
- }
323
- function M(e) {
324
- return new Date(e).toLocaleDateString(void 0, {
325
- year: "numeric",
326
- month: "short",
327
- day: "numeric"
328
- });
329
- }
330
- //#endregion
331
223
  //#region ../grid/dist/filtering/excel-filters.js
332
- var N = /[̀-ͯ]/g;
333
- function P(e, t) {
224
+ var d = /[̀-ͯ]/g;
225
+ function f(e, t) {
334
226
  if (!e) return "";
335
- let n = e.normalize("NFD").replace(N, "");
227
+ let n = e.normalize("NFD").replace(d, "");
336
228
  return t ? n.toLocaleLowerCase(t) : n.toLowerCase();
337
229
  }
338
- function F(e) {
339
- let { tokens: t, trailing: n } = R(e);
230
+ function p(e) {
231
+ let { tokens: t, trailing: n } = g(e);
340
232
  return n && t.push(n), t;
341
233
  }
342
- function I(e) {
234
+ function m(e) {
343
235
  return e.map((e) => e.trim()).filter((e) => e.length > 0).map((e) => /["\n,]/.test(e) ? `"${e.replace(/"/g, "\"\"")}"` : e).join(", ");
344
236
  }
345
- function L(e) {
346
- return R(e).trailing;
237
+ function h(e) {
238
+ return g(e).trailing;
347
239
  }
348
- function R(e) {
240
+ function g(e) {
349
241
  let t = String(e ?? ""), n = [], r = "", i = !1, a = !1, o = !1, s = () => {
350
242
  let e = a ? r : r.trim();
351
243
  return r = "", a = !1, o = !1, e;
@@ -380,58 +272,69 @@ function R(e) {
380
272
  trailing: s()
381
273
  };
382
274
  }
383
- function z(e, t, n) {
384
- let r = String(e ?? ""), i = P(r, n?.locale), a = P(String(t.value ?? ""), n?.locale);
385
- switch (t.operator) {
386
- case "contains": return i.includes(a);
387
- case "notContains": return a === "" || !i.includes(a);
388
- case "equals": return i === a;
389
- case "notEquals": return a === "" || i !== a;
390
- case "startsWith": return i.startsWith(a);
391
- case "endsWith": return i.endsWith(a);
275
+ function _(e, t) {
276
+ let n = t?.locale, r = (e) => f(String(e ?? ""), n), i = r(e.value);
277
+ switch (e.operator) {
278
+ case "contains": return (e) => r(e).includes(i);
279
+ case "notContains": return i === "" ? () => !0 : (e) => !r(e).includes(i);
280
+ case "equals": return (e) => r(e) === i;
281
+ case "notEquals": return i === "" ? () => !0 : (e) => r(e) !== i;
282
+ case "startsWith": return (e) => r(e).startsWith(i);
283
+ case "endsWith": return (e) => r(e).endsWith(i);
392
284
  case "regex": {
393
- let e = String(t.value ?? "");
394
- if (!e) return !0;
285
+ let t = String(e.value ?? "");
286
+ if (!t) return () => !0;
287
+ let n;
395
288
  try {
396
- return new RegExp(e, "i").test(r);
289
+ n = new RegExp(t, "i");
397
290
  } catch {
398
- return !1;
291
+ return () => !1;
399
292
  }
293
+ return (e) => n.test(String(e ?? ""));
400
294
  }
401
295
  case "in":
402
296
  case "notIn": {
403
- let e = F(t.value);
404
- if (e.length === 0) return !0;
405
- let r = e.some((e) => P(e, n?.locale) === i);
406
- return t.operator === "in" ? r : !r;
297
+ let t = p(e.value);
298
+ if (t.length === 0) return () => !0;
299
+ let i = new Set(t.map((e) => f(e, n)));
300
+ return e.operator === "in" ? (e) => i.has(r(e)) : (e) => !i.has(r(e));
407
301
  }
408
302
  case "greaterThan": {
409
- let n = Number(e), r = Number(t.value);
410
- return Number.isFinite(n) && Number.isFinite(r) ? n > r : String(e ?? "") > String(t.value ?? "");
303
+ let t = Number(e.value), n = Number.isFinite(t), r = String(e.value ?? "");
304
+ return (e) => {
305
+ let i = Number(e);
306
+ return n && Number.isFinite(i) ? i > t : String(e ?? "") > r;
307
+ };
411
308
  }
412
309
  case "lessThan": {
413
- let n = Number(e), r = Number(t.value);
414
- return Number.isFinite(n) && Number.isFinite(r) ? n < r : String(e ?? "") < String(t.value ?? "");
310
+ let t = Number(e.value), n = Number.isFinite(t), r = String(e.value ?? "");
311
+ return (e) => {
312
+ let i = Number(e);
313
+ return n && Number.isFinite(i) ? i < t : String(e ?? "") < r;
314
+ };
415
315
  }
416
316
  case "between": {
417
- let n = t.value == null ? 0 : Number(t.value), r = t.valueTo == null ? 0 : Number(t.valueTo), i = Number(e ?? 0);
418
- if (Number.isFinite(i) && Number.isFinite(n) && Number.isFinite(r)) return i >= n && i <= r;
419
- let a = String(e ?? ""), o = String(t.value ?? ""), s = String(t.valueTo ?? "");
420
- return a >= o && a <= s;
317
+ let t = e.value == null ? 0 : Number(e.value), n = e.valueTo == null ? 0 : Number(e.valueTo), r = Number.isFinite(t) && Number.isFinite(n), i = String(e.value ?? ""), a = String(e.valueTo ?? "");
318
+ return (e) => {
319
+ let o = Number(e ?? 0);
320
+ if (r && Number.isFinite(o)) return o >= t && o <= n;
321
+ let s = String(e ?? "");
322
+ return s >= i && s <= a;
323
+ };
421
324
  }
422
- case "isBlank": return r.trim().length === 0;
423
- case "isNotBlank": return r.trim().length > 0;
325
+ case "isBlank": return (e) => String(e ?? "").trim().length === 0;
326
+ case "isNotBlank": return (e) => String(e ?? "").trim().length > 0;
424
327
  }
425
328
  }
426
329
  //#endregion
427
330
  //#region ../grid/dist/virtualization/virtualizer.js
428
- function B(e, t, n) {
331
+ function v(e, t, n) {
429
332
  return Math.min(Math.max(e, t), n);
430
333
  }
431
- function V(e, t) {
334
+ function y(e, t) {
432
335
  return e.count === t.count && e.estimateSize === t.estimateSize && (e.overscan ?? 6) === (t.overscan ?? 6) && e.viewportHeight === t.viewportHeight && (e.scrollOffset ?? 0) === (t.scrollOffset ?? 0);
433
336
  }
434
- function H(e, t) {
337
+ function b(e, t) {
435
338
  if (e.totalSize !== t.totalSize || e.startIndex !== t.startIndex || e.endIndex !== t.endIndex || e.viewportHeight !== t.viewportHeight || e.items.length !== t.items.length) return !1;
436
339
  for (let n = 0; n < e.items.length; n += 1) {
437
340
  let r = e.items[n], i = t.items[n];
@@ -439,7 +342,7 @@ function H(e, t) {
439
342
  }
440
343
  return !0;
441
344
  }
442
- function U(e, t, n) {
345
+ function x(e, t, n) {
443
346
  let r = [];
444
347
  for (let i = e; i <= t; i += 1) {
445
348
  let t = i * n;
@@ -453,7 +356,12 @@ function U(e, t, n) {
453
356
  }
454
357
  return r;
455
358
  }
456
- function W(e, t, n) {
359
+ function S(e, t, n, r) {
360
+ if (e <= 0) return [];
361
+ let i = Math.max(t, 1), a = Math.ceil(Math.max(n, 0) / i), o = Math.min(a + Math.max(r, 0), e - 1);
362
+ return x(0, Math.max(o, 0), i);
363
+ }
364
+ function C(e, t, n) {
457
365
  let r = [];
458
366
  for (let i = e; i <= t; i += 1) {
459
367
  let t = n[i] ?? 0, a = n[i + 1] ?? t;
@@ -467,10 +375,10 @@ function W(e, t, n) {
467
375
  }
468
376
  return r;
469
377
  }
470
- function G(e, t) {
378
+ function w(e, t) {
471
379
  let n = Math.max(e.count, 0), r = Math.max(e.overscan ?? 6, 0), i = Math.max(e.viewportHeight, 0);
472
380
  if (typeof e.estimateSize == "function" && t) {
473
- let a = t[n] ?? 0, o = Math.max(a - i, 0), s = B(e.scrollOffset ?? 0, 0, o), c = 0, l = n;
381
+ let a = t[n] ?? 0, o = Math.max(a - i, 0), s = v(e.scrollOffset ?? 0, 0, o), c = 0, l = n;
474
382
  for (; c < l;) {
475
383
  let e = c + l >>> 1;
476
384
  (t[e + 1] ?? 0) <= s ? c = e + 1 : l = e;
@@ -480,9 +388,9 @@ function G(e, t) {
480
388
  let e = c + l >>> 1;
481
389
  (t[e] ?? 0) < d ? c = e + 1 : l = e;
482
390
  }
483
- let f = Math.max(c - 1, u), p = n === 0 ? 0 : B(u - r, 0, n - 1), m = n === 0 ? -1 : B(f + r, 0, n - 1);
391
+ let f = Math.max(c - 1, u), p = n === 0 ? 0 : v(u - r, 0, n - 1), m = n === 0 ? -1 : v(f + r, 0, n - 1);
484
392
  return {
485
- items: m >= p ? W(p, m, t) : [],
393
+ items: m >= p ? C(p, m, t) : [],
486
394
  totalSize: a,
487
395
  startIndex: p,
488
396
  endIndex: m,
@@ -490,9 +398,9 @@ function G(e, t) {
490
398
  viewportHeight: i
491
399
  };
492
400
  }
493
- let a = Math.max(typeof e.estimateSize == "number" ? e.estimateSize : 1, 1), o = n * a, s = Math.max(o - i, 0), c = B(e.scrollOffset ?? 0, 0, s), l = Math.floor(c / a), u = Math.ceil(i / a), d = Math.min(l + u, Math.max(n - 1, 0)), f = n === 0 ? 0 : B(l - r, 0, n - 1), p = n === 0 ? -1 : B(d + r, 0, n - 1);
401
+ let a = Math.max(typeof e.estimateSize == "number" ? e.estimateSize : 1, 1), o = n * a, s = Math.max(o - i, 0), c = v(e.scrollOffset ?? 0, 0, s), l = Math.floor(c / a), u = Math.ceil(i / a), d = Math.min(l + u, Math.max(n - 1, 0)), f = n === 0 ? 0 : v(l - r, 0, n - 1), p = n === 0 ? -1 : v(d + r, 0, n - 1);
494
402
  return {
495
- items: p >= f ? U(f, p, a) : [],
403
+ items: p >= f ? x(f, p, a) : [],
496
404
  totalSize: o,
497
405
  startIndex: f,
498
406
  endIndex: p,
@@ -500,7 +408,7 @@ function G(e, t) {
500
408
  viewportHeight: i
501
409
  };
502
410
  }
503
- function K(e) {
411
+ function T(e) {
504
412
  let t = e, n = null;
505
413
  function r() {
506
414
  if (typeof t.estimateSize != "function") return null;
@@ -515,13 +423,13 @@ function K(e) {
515
423
  offsets: i
516
424
  }, i;
517
425
  }
518
- let i = G(t, r()), a = /* @__PURE__ */ new Set();
426
+ let i = w(t, r()), a = /* @__PURE__ */ new Set();
519
427
  function o() {
520
428
  a.forEach((e) => e());
521
429
  }
522
430
  function s() {
523
- let e = G(t, r());
524
- H(i, e) || (i = e, o());
431
+ let e = w(t, r());
432
+ b(i, e) || (i = e, o());
525
433
  }
526
434
  return {
527
435
  setOptions(e) {
@@ -529,7 +437,7 @@ function K(e) {
529
437
  ...t,
530
438
  ...e
531
439
  };
532
- V(t, n) || (t = n, s());
440
+ y(t, n) || (t = n, s());
533
441
  },
534
442
  setScrollOffset(e) {
535
443
  (t.scrollOffset ?? 0) !== e && (t = {
@@ -544,7 +452,7 @@ function K(e) {
544
452
  }, s());
545
453
  },
546
454
  scrollToIndex(e) {
547
- let n = B(e, 0, Math.max(t.count - 1, 0)), a = i.totalSize, o;
455
+ let n = v(e, 0, Math.max(t.count - 1, 0)), a = i.totalSize, o;
548
456
  if (typeof t.estimateSize == "function") {
549
457
  let e = r();
550
458
  if (e) o = e[n] ?? 0;
@@ -554,7 +462,7 @@ function K(e) {
554
462
  o = e;
555
463
  }
556
464
  } else o = n * Math.max(t.estimateSize, 1);
557
- let c = Math.max(a - t.viewportHeight, 0), l = B(o, 0, c);
465
+ let c = Math.max(a - t.viewportHeight, 0), l = v(o, 0, c);
558
466
  (t.scrollOffset ?? 0) !== l && (t = {
559
467
  ...t,
560
468
  scrollOffset: l
@@ -591,8 +499,8 @@ function K(e) {
591
499
  }
592
500
  //#endregion
593
501
  //#region ../grid/dist/virtualization/svelte-virtualizer.svelte.js
594
- function q(r) {
595
- let i = K(r), a = n(0);
502
+ function E(r) {
503
+ let i = T(r), a = n(0);
596
504
  return i.subscribe(() => {
597
505
  t(a, e(a) + 1);
598
506
  }), {
@@ -611,4 +519,4 @@ function q(r) {
611
519
  };
612
520
  }
613
521
  //#endregion
614
- export { A as C, S as E, C as S, v as T, p as _, P as a, x as b, D as c, T as d, k as f, j as g, M as h, I as i, d as l, f as m, K as n, F as o, y as p, z as r, L as s, q as t, O as u, b as v, m as w, w as x, E as y };
522
+ export { m as a, h as c, _ as i, S as n, f as o, T as r, p as s, E as t };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "commercial",
5
5
  "url": "https://svgrid.com/pricing"
6
6
  },
7
- "version": "2.6.1",
7
+ "version": "2.6.2",
8
8
  "description": "SvGrid as a framework-agnostic web component (<sv-grid> custom element). Drop into React, Vue, Angular, or plain HTML - no build step required.",
9
9
  "type": "module",
10
10
  "license": "MIT",
@@ -21,13 +21,27 @@
21
21
  "web-components",
22
22
  "custom element",
23
23
  "custom-elements",
24
+ "grid",
24
25
  "data grid",
26
+ "data-grid",
25
27
  "datagrid",
26
28
  "table",
29
+ "data-table",
30
+ "datatable",
27
31
  "react",
32
+ "react data grid",
33
+ "react-data-grid",
28
34
  "vue",
35
+ "vue data grid",
36
+ "vue-data-grid",
29
37
  "angular",
38
+ "angular data grid",
39
+ "angular-data-grid",
40
+ "vanilla-js",
30
41
  "framework-agnostic",
42
+ "virtual-scroll",
43
+ "svelte5",
44
+ "svgrid",
31
45
  "sv-grid"
32
46
  ],
33
47
  "main": "./dist/sv-grid-element.js",
@@ -54,7 +68,7 @@
54
68
  "@sveltejs/vite-plugin-svelte": "^7.0.0",
55
69
  "svelte": "^5.55.5",
56
70
  "vite": "^8.2.1",
57
- "@svgrid/grid": "^2.6.1"
71
+ "@svgrid/grid": "^2.6.17"
58
72
  },
59
73
  "scripts": {
60
74
  "build": "vite build",