@iyulab/flex-table 0.59.0 → 0.61.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.
@@ -1,4 +1,4 @@
1
- import { n as e } from "./locale-Cfm-vJji.js";
1
+ import { n as e } from "./locale-D9g0ksXq.js";
2
2
  import { n as t, t as n } from "./sorting-CjfjRxwL.js";
3
3
  import { LitElement as r, css as i, html as a, nothing as o } from "lit";
4
4
  import { customElement as s, property as c, state as l } from "lit/decorators.js";
@@ -1203,7 +1203,7 @@ var ce = class {
1203
1203
  shiftMoveRight() {
1204
1204
  return this.activeCell ? this.setActiveWithRange(this.activeCell.row, this.activeCell.col + 1) : null;
1205
1205
  }
1206
- }, O = class {
1206
+ }, le = class {
1207
1207
  constructor() {
1208
1208
  this.current = null;
1209
1209
  }
@@ -1225,7 +1225,7 @@ var ce = class {
1225
1225
  let e = this.current;
1226
1226
  return this.current = null, e;
1227
1227
  }
1228
- }, k = class {
1228
+ }, O = class {
1229
1229
  constructor() {
1230
1230
  this._selected = /* @__PURE__ */ new Set(), this._mode = "multi";
1231
1231
  }
@@ -1292,7 +1292,7 @@ var ce = class {
1292
1292
  };
1293
1293
  //#endregion
1294
1294
  //#region src/core/filtering.ts
1295
- function le(e, t, n) {
1295
+ function ue(e, t, n) {
1296
1296
  if (t.length === 0) return Array.from({ length: e.length }, (e, t) => t);
1297
1297
  let r = [];
1298
1298
  for (let i = 0; i < e.length; i++) {
@@ -1311,9 +1311,9 @@ function le(e, t, n) {
1311
1311
  }
1312
1312
  //#endregion
1313
1313
  //#region src/core/undo.ts
1314
- var ue = 100, A = class {
1314
+ var de = 100, k = class {
1315
1315
  constructor() {
1316
- this._undoStack = [], this._redoStack = [], this._maxSize = ue;
1316
+ this._undoStack = [], this._redoStack = [], this._maxSize = de;
1317
1317
  }
1318
1318
  get maxSize() {
1319
1319
  return this._maxSize;
@@ -1350,7 +1350,7 @@ var ue = 100, A = class {
1350
1350
  };
1351
1351
  //#endregion
1352
1352
  //#region src/clipboard/clipboard.ts
1353
- function de(e, t, n) {
1353
+ function fe(e, t, n) {
1354
1354
  let r = [];
1355
1355
  for (let i = n.startRow; i <= n.endRow; i++) {
1356
1356
  let a = e[i], o = [];
@@ -1362,7 +1362,7 @@ function de(e, t, n) {
1362
1362
  }
1363
1363
  return _(r);
1364
1364
  }
1365
- function j(e, t) {
1365
+ function A(e, t) {
1366
1366
  if (e === "") return null;
1367
1367
  switch (t.type) {
1368
1368
  case "number": {
@@ -1377,19 +1377,19 @@ function j(e, t) {
1377
1377
  default: return e;
1378
1378
  }
1379
1379
  }
1380
- function M(e) {
1380
+ function j(e) {
1381
1381
  let t = String(e);
1382
1382
  if (!Number.isFinite(e) || t.includes("e")) return t;
1383
1383
  let n = new Intl.NumberFormat(u.get()).formatToParts(1.5).find((e) => e.type === "decimal")?.value;
1384
1384
  return n && n !== "." ? t.replace(".", n) : t;
1385
1385
  }
1386
- function fe(e) {
1386
+ function pe(e) {
1387
1387
  if (e == null || e === "") return "";
1388
1388
  if (e instanceof Date) return Number.isNaN(e.getTime()) ? "" : `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`;
1389
1389
  let t = String(e), n = /^(\d{4}-\d{2}-\d{2})(?:$|T)/.exec(t);
1390
1390
  return n ? n[1] : t;
1391
1391
  }
1392
- function pe(e) {
1392
+ function me(e) {
1393
1393
  if (e == null || e === "") return "";
1394
1394
  let t = e instanceof Date ? "" : String(e), n = /^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2})(?::\d{2}(?:\.\d+)?)?$/.exec(t);
1395
1395
  if (n) return `${n[1]} ${n[2]}`;
@@ -1400,7 +1400,7 @@ function pe(e) {
1400
1400
  }
1401
1401
  //#endregion
1402
1402
  //#region src/export/xlsx-writer.ts
1403
- var me = (() => {
1403
+ var he = (() => {
1404
1404
  let e = /* @__PURE__ */ new Uint32Array(256);
1405
1405
  for (let t = 0; t < 256; t++) {
1406
1406
  let n = t;
@@ -1409,23 +1409,23 @@ var me = (() => {
1409
1409
  }
1410
1410
  return e;
1411
1411
  })();
1412
- function he(e) {
1412
+ function ge(e) {
1413
1413
  let t = 4294967295;
1414
- for (let n = 0; n < e.length; n++) t = me[(t ^ e[n]) & 255] ^ t >>> 8;
1414
+ for (let n = 0; n < e.length; n++) t = he[(t ^ e[n]) & 255] ^ t >>> 8;
1415
1415
  return (t ^ 4294967295) >>> 0;
1416
1416
  }
1417
- var N = new TextEncoder();
1418
- function ge(e) {
1419
- return P(e.map((e) => ({
1417
+ var M = new TextEncoder();
1418
+ function _e(e) {
1419
+ return N(e.map((e) => ({
1420
1420
  ...e,
1421
1421
  body: e.data,
1422
1422
  method: 0
1423
1423
  })));
1424
1424
  }
1425
- async function _e(e) {
1425
+ async function ve(e) {
1426
1426
  let t = [];
1427
1427
  for (let n of e) {
1428
- let e = await ve(n.data);
1428
+ let e = await ye(n.data);
1429
1429
  t.push(e.length < n.data.length ? {
1430
1430
  ...n,
1431
1431
  body: e,
@@ -1436,9 +1436,9 @@ async function _e(e) {
1436
1436
  method: 0
1437
1437
  });
1438
1438
  }
1439
- return P(t);
1439
+ return N(t);
1440
1440
  }
1441
- async function ve(e) {
1441
+ async function ye(e) {
1442
1442
  let t = new CompressionStream("deflate-raw"), n = t.writable.getWriter(), r = t.readable.getReader();
1443
1443
  n.write(e), n.close();
1444
1444
  let i = [];
@@ -1447,52 +1447,52 @@ async function ve(e) {
1447
1447
  if (e) break;
1448
1448
  i.push(t);
1449
1449
  }
1450
- return F(i);
1450
+ return P(i);
1451
1451
  }
1452
- function P(e) {
1452
+ function N(e) {
1453
1453
  let t = [], n = [], r = 0;
1454
1454
  for (let i of e) {
1455
- let e = N.encode(i.name), a = he(i.data), o = i.data.length, s = i.body.length, c = i.method === 8 ? 20 : 10, l = new ArrayBuffer(30 + e.length), u = new DataView(l);
1455
+ let e = M.encode(i.name), a = ge(i.data), o = i.data.length, s = i.body.length, c = i.method === 8 ? 20 : 10, l = new ArrayBuffer(30 + e.length), u = new DataView(l);
1456
1456
  u.setUint32(0, 67324752, !0), u.setUint16(4, c, !0), u.setUint16(6, 0, !0), u.setUint16(8, i.method, !0), u.setUint16(10, 0, !0), u.setUint16(12, 33, !0), u.setUint32(14, a, !0), u.setUint32(18, s, !0), u.setUint32(22, o, !0), u.setUint16(26, e.length, !0), u.setUint16(28, 0, !0), new Uint8Array(l, 30).set(e), t.push(new Uint8Array(l)), t.push(i.body);
1457
1457
  let d = new ArrayBuffer(46 + e.length), f = new DataView(d);
1458
1458
  f.setUint32(0, 33639248, !0), f.setUint16(4, 20, !0), f.setUint16(6, c, !0), f.setUint16(8, 0, !0), f.setUint16(10, i.method, !0), f.setUint16(12, 0, !0), f.setUint16(14, 33, !0), f.setUint32(16, a, !0), f.setUint32(20, s, !0), f.setUint32(24, o, !0), f.setUint16(28, e.length, !0), f.setUint16(30, 0, !0), f.setUint16(32, 0, !0), f.setUint16(34, 0, !0), f.setUint16(36, 0, !0), f.setUint32(38, 0, !0), f.setUint32(42, r, !0), new Uint8Array(d, 46).set(e), n.push(new Uint8Array(d)), r += 30 + e.length + s;
1459
1459
  }
1460
- let i = F(n), a = /* @__PURE__ */ new ArrayBuffer(22), o = new DataView(a);
1461
- return o.setUint32(0, 101010256, !0), o.setUint16(4, 0, !0), o.setUint16(6, 0, !0), o.setUint16(8, e.length, !0), o.setUint16(10, e.length, !0), o.setUint32(12, i.length, !0), o.setUint32(16, r, !0), o.setUint16(20, 0, !0), F([
1460
+ let i = P(n), a = /* @__PURE__ */ new ArrayBuffer(22), o = new DataView(a);
1461
+ return o.setUint32(0, 101010256, !0), o.setUint16(4, 0, !0), o.setUint16(6, 0, !0), o.setUint16(8, e.length, !0), o.setUint16(10, e.length, !0), o.setUint32(12, i.length, !0), o.setUint32(16, r, !0), o.setUint16(20, 0, !0), P([
1462
1462
  ...t,
1463
1463
  i,
1464
1464
  new Uint8Array(a)
1465
1465
  ]);
1466
1466
  }
1467
- function F(e) {
1467
+ function P(e) {
1468
1468
  let t = e.reduce((e, t) => e + t.length, 0), n = new Uint8Array(t), r = 0;
1469
1469
  for (let t of e) n.set(t, r), r += t.length;
1470
1470
  return n;
1471
1471
  }
1472
- function I(e) {
1472
+ function F(e) {
1473
1473
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
1474
1474
  }
1475
- function ye(e) {
1475
+ function be(e) {
1476
1476
  let t = "";
1477
1477
  for (e++; e > 0;) t = String.fromCharCode(64 + (e % 26 || 26)) + t, e = Math.floor((e - 1) / 26);
1478
1478
  return t;
1479
1479
  }
1480
- function L(e, t) {
1481
- return ye(t) + (e + 1);
1480
+ function I(e, t) {
1481
+ return be(t) + (e + 1);
1482
1482
  }
1483
- function be(e) {
1483
+ function xe(e) {
1484
1484
  let t = Date.UTC(1899, 11, 30);
1485
1485
  return (e.getTime() - t) / 864e5;
1486
1486
  }
1487
- var xe = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\">\n <Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/>\n <Default Extension=\"xml\" ContentType=\"application/xml\"/>\n <Override PartName=\"/xl/workbook.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\"/>\n <Override PartName=\"/xl/worksheets/sheet1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\"/>\n <Override PartName=\"/xl/styles.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\"/>\n</Types>", Se = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\" Target=\"xl/workbook.xml\"/>\n</Relationships>", Ce = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<workbook xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">\n <sheets><sheet name=\"Sheet1\" sheetId=\"1\" r:id=\"rId1\"/></sheets>\n</workbook>", we = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\" Target=\"worksheets/sheet1.xml\"/>\n <Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target=\"styles.xml\"/>\n</Relationships>", Te = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<styleSheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\">\n <numFmts count=\"1\"><numFmt numFmtId=\"164\" formatCode=\"yyyy-mm-dd\"/></numFmts>\n <fonts count=\"2\">\n <font><sz val=\"11\"/><name val=\"Calibri\"/></font>\n <font><sz val=\"11\"/><b/><name val=\"Calibri\"/></font>\n </fonts>\n <fills count=\"2\">\n <fill><patternFill patternType=\"none\"/></fill>\n <fill><patternFill patternType=\"gray125\"/></fill>\n </fills>\n <borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders>\n <cellStyleXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\"/></cellStyleXfs>\n <cellXfs count=\"3\">\n <xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" xfId=\"0\"/>\n <xf numFmtId=\"164\" fontId=\"0\" fillId=\"0\" borderId=\"0\" xfId=\"0\" applyNumberFormat=\"1\"/>\n <xf numFmtId=\"0\" fontId=\"1\" fillId=\"0\" borderId=\"0\" xfId=\"0\" applyFont=\"1\"/>\n </cellXfs>\n</styleSheet>";
1488
- function Ee(e, t) {
1489
- let n = [], r = t.map((e, t) => `<c r="${L(0, t)}" t="str" s="2"><v>${I(e.label)}</v></c>`);
1487
+ var Se = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\">\n <Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/>\n <Default Extension=\"xml\" ContentType=\"application/xml\"/>\n <Override PartName=\"/xl/workbook.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\"/>\n <Override PartName=\"/xl/worksheets/sheet1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\"/>\n <Override PartName=\"/xl/styles.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\"/>\n</Types>", Ce = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\" Target=\"xl/workbook.xml\"/>\n</Relationships>", we = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<workbook xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">\n <sheets><sheet name=\"Sheet1\" sheetId=\"1\" r:id=\"rId1\"/></sheets>\n</workbook>", Te = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\" Target=\"worksheets/sheet1.xml\"/>\n <Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target=\"styles.xml\"/>\n</Relationships>", Ee = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<styleSheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\">\n <numFmts count=\"1\"><numFmt numFmtId=\"164\" formatCode=\"yyyy-mm-dd\"/></numFmts>\n <fonts count=\"2\">\n <font><sz val=\"11\"/><name val=\"Calibri\"/></font>\n <font><sz val=\"11\"/><b/><name val=\"Calibri\"/></font>\n </fonts>\n <fills count=\"2\">\n <fill><patternFill patternType=\"none\"/></fill>\n <fill><patternFill patternType=\"gray125\"/></fill>\n </fills>\n <borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders>\n <cellStyleXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\"/></cellStyleXfs>\n <cellXfs count=\"3\">\n <xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" xfId=\"0\"/>\n <xf numFmtId=\"164\" fontId=\"0\" fillId=\"0\" borderId=\"0\" xfId=\"0\" applyNumberFormat=\"1\"/>\n <xf numFmtId=\"0\" fontId=\"1\" fillId=\"0\" borderId=\"0\" xfId=\"0\" applyFont=\"1\"/>\n </cellXfs>\n</styleSheet>";
1488
+ function De(e, t) {
1489
+ let n = [], r = t.map((e, t) => `<c r="${I(0, t)}" t="str" s="2"><v>${F(e.label)}</v></c>`);
1490
1490
  return n.push(`<row r="1">${r.join("")}</row>`), e.forEach((e, r) => {
1491
1491
  let i = t.map((t, n) => {
1492
- let i = L(r + 1, n), a = e[t.key];
1492
+ let i = I(r + 1, n), a = e[t.key];
1493
1493
  if (a == null) return `<c r="${i}" t="str"><v></v></c>`;
1494
1494
  let o = t.type ?? "text";
1495
- return o === "number" && typeof a == "number" ? `<c r="${i}"><v>${a}</v></c>` : (o === "date" || o === "datetime") && a instanceof Date ? `<c r="${i}" s="1"><v>${be(a).toFixed(6)}</v></c>` : o === "boolean" ? `<c r="${i}" t="b"><v>${+!!a}</v></c>` : `<c r="${i}" t="str"><v>${I(String(a))}</v></c>`;
1495
+ return o === "number" && typeof a == "number" ? `<c r="${i}"><v>${a}</v></c>` : (o === "date" || o === "datetime") && a instanceof Date ? `<c r="${i}" s="1"><v>${xe(a).toFixed(6)}</v></c>` : o === "boolean" ? `<c r="${i}" t="b"><v>${+!!a}</v></c>` : `<c r="${i}" t="str"><v>${F(String(a))}</v></c>`;
1496
1496
  });
1497
1497
  n.push(`<row r="${r + 2}">${i.join("")}</row>`);
1498
1498
  }), `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
@@ -1500,54 +1500,54 @@ function Ee(e, t) {
1500
1500
  <sheetData>${n.join("")}</sheetData>
1501
1501
  </worksheet>`;
1502
1502
  }
1503
- function De(e, t) {
1504
- return ge(R(e, t));
1505
- }
1506
1503
  function Oe(e, t) {
1507
- return _e(R(e, t));
1504
+ return _e(L(e, t));
1505
+ }
1506
+ function ke(e, t) {
1507
+ return ve(L(e, t));
1508
1508
  }
1509
- function R(e, t) {
1510
- let n = Ee(e, t);
1509
+ function L(e, t) {
1510
+ let n = De(e, t);
1511
1511
  return [
1512
1512
  {
1513
1513
  name: "[Content_Types].xml",
1514
- data: N.encode(xe)
1514
+ data: M.encode(Se)
1515
1515
  },
1516
1516
  {
1517
1517
  name: "_rels/.rels",
1518
- data: N.encode(Se)
1518
+ data: M.encode(Ce)
1519
1519
  },
1520
1520
  {
1521
1521
  name: "xl/workbook.xml",
1522
- data: N.encode(Ce)
1522
+ data: M.encode(we)
1523
1523
  },
1524
1524
  {
1525
1525
  name: "xl/_rels/workbook.xml.rels",
1526
- data: N.encode(we)
1526
+ data: M.encode(Te)
1527
1527
  },
1528
1528
  {
1529
1529
  name: "xl/worksheets/sheet1.xml",
1530
- data: N.encode(n)
1530
+ data: M.encode(n)
1531
1531
  },
1532
1532
  {
1533
1533
  name: "xl/styles.xml",
1534
- data: N.encode(Te)
1534
+ data: M.encode(Ee)
1535
1535
  }
1536
1536
  ];
1537
1537
  }
1538
1538
  //#endregion
1539
1539
  //#region src/export/export.ts
1540
- function z(e, t, n) {
1540
+ function R(e, t, n) {
1541
1541
  switch (n) {
1542
1542
  case "csv": return B(e, t, ",");
1543
1543
  case "tsv": return B(e, t, " ");
1544
1544
  case "json": return je(e, t);
1545
- case "xlsx": return De(e, t);
1545
+ case "xlsx": return Oe(e, t);
1546
1546
  }
1547
1547
  }
1548
- async function ke(e, t, n) {
1549
- let r = n === "xlsx" ? await Oe(e, t) : z(e, t, n);
1550
- return new Blob([r], { type: Fe(n) });
1548
+ async function z(e, t, n) {
1549
+ let r = n === "xlsx" ? await ke(e, t) : R(e, t, n);
1550
+ return new Blob([r], { type: Pe(n) });
1551
1551
  }
1552
1552
  function Ae(e, t) {
1553
1553
  return e == null ? "" : (t.type === "date" || t.type === "datetime") && e instanceof Date ? e.toISOString() : String(e);
@@ -1569,27 +1569,27 @@ function je(e, t) {
1569
1569
  });
1570
1570
  return JSON.stringify(n, null, 2);
1571
1571
  }
1572
- function Me(e, t) {
1572
+ function H(e, t) {
1573
1573
  let n = URL.createObjectURL(e), r = document.createElement("a");
1574
1574
  r.href = n, r.download = t, r.style.display = "none", document.body.appendChild(r), r.click(), document.body.removeChild(r), setTimeout(() => URL.revokeObjectURL(n), 100);
1575
1575
  }
1576
- var Ne = {
1576
+ var Me = {
1577
1577
  csv: "text/csv;charset=utf-8",
1578
1578
  tsv: "text/tab-separated-values;charset=utf-8",
1579
1579
  json: "application/json;charset=utf-8",
1580
1580
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
1581
- }, Pe = {
1581
+ }, Ne = {
1582
1582
  csv: ".csv",
1583
1583
  tsv: ".tsv",
1584
1584
  json: ".json",
1585
1585
  xlsx: ".xlsx"
1586
1586
  };
1587
+ function Pe(e) {
1588
+ return Me[e];
1589
+ }
1587
1590
  function Fe(e) {
1588
1591
  return Ne[e];
1589
1592
  }
1590
- function H(e) {
1591
- return Pe[e];
1592
- }
1593
1593
  //#endregion
1594
1594
  //#region src/export/xlsx-reader.ts
1595
1595
  function Ie(e) {
@@ -1764,7 +1764,7 @@ var K = {
1764
1764
  lte: "≤"
1765
1765
  }, q = 120, J = 40, Y = 20, X = 32, Z = 5, Ze = 200, Q = class extends r {
1766
1766
  constructor(...e) {
1767
- super(...e), this.columns = [], this._data = [], this._inUndoRedo = !1, this.clearUndoOnDataChange = !1, this.clearSelectionOnDataChange = !1, this.rowKey = "_id", this._rowHeightFromCss = X, this._targetFloor = 0, this.showRowNumbers = !1, this.theme = void 0, this.maxRows = 0, this.editable = !0, this.showFilters = !1, this.showContextMenu = !1, this.frozenRows = 0, this.emptyMessage = "", this.noMatchingMessage = "", this.error = null, this.loading = !1, this.importEnabled = !1, this.selectable = !1, this.dataMode = "client", this.footerData = null, this.stylesheets = [], this._scrollTop = 0, this._scrollLeft = 0, this._viewportHeight = 0, this._viewportWidth = 0, this._colLeftOffsets = [], this._totalRowWidth = 0, this._baseStyleSheets = [], this._activeCell = null, this._headerCol = null, this._focusedCellEl = null, this._editingCell = null, this._sortCriteria = [], this._selection = new ce(), this._editing = new O(), this._rowSelection = new k(), this._undo = new A(), this._filters = [], this._filteredIndices = [], this._sortedIndices = [], this._openFilterKey = null, this._rowSelectionVersion = 0, this._lastCheckboxRowId = null, this._unkeyedIds = /* @__PURE__ */ new WeakMap(), this._unkeyedSeq = 0, this._visibleIdsCache = null, this._checkboxShiftPending = !1, this._autocompleteState = null, this._headerMenu = null, this._bodyContextMenu = null, this._commentPopup = null, this._viewDirty = !0, this._isDragging = !1, this._wasDrag = !1, this._resizing = null, this._resizeCleanup = null, this._wasHeaderDrag = !1, this._wasRowDrag = !1, this._colDrag = null, this._colDragIndicatorLeft = null, this._fillDrag = null, this._rowDrag = null, this._rowDragIndicatorY = null, this._findState = null, this._columnWidths = /* @__PURE__ */ new Map(), this._hostResizeObserver = null, this._comments = /* @__PURE__ */ new Map(), this._isDragOver = !1, this._editorMoving = !1, this._onEditorBlur = (e) => {
1767
+ super(...e), this.columns = [], this._data = [], this._inUndoRedo = !1, this.clearUndoOnDataChange = !1, this.clearSelectionOnDataChange = !1, this.rowKey = "_id", this._rowHeightFromCss = X, this._targetFloor = 0, this.showRowNumbers = !1, this.theme = void 0, this.maxRows = 0, this.editable = !0, this.showFilters = !1, this.showContextMenu = !1, this.frozenRows = 0, this.emptyMessage = "", this.noMatchingMessage = "", this.error = null, this.loading = !1, this.importEnabled = !1, this.selectable = !1, this.dataMode = "client", this.footerData = null, this.stylesheets = [], this._scrollTop = 0, this._scrollLeft = 0, this._viewportHeight = 0, this._viewportWidth = 0, this._colLeftOffsets = [], this._totalRowWidth = 0, this._baseStyleSheets = [], this._activeCell = null, this._headerCol = null, this._focusedCellEl = null, this._editingCell = null, this._sortCriteria = [], this._selection = new ce(), this._editing = new le(), this._rowSelection = new O(), this._undo = new k(), this._filters = [], this._filteredIndices = [], this._sortedIndices = [], this._openFilterKey = null, this._rowSelectionVersion = 0, this._lastCheckboxRowId = null, this._unkeyedIds = /* @__PURE__ */ new WeakMap(), this._unkeyedSeq = 0, this._visibleIdsCache = null, this._checkboxShiftPending = !1, this._autocompleteState = null, this._headerMenu = null, this._bodyContextMenu = null, this._commentPopup = null, this._viewDirty = !0, this._isDragging = !1, this._wasDrag = !1, this._resizing = null, this._resizeCleanup = null, this._wasHeaderDrag = !1, this._wasRowDrag = !1, this._colDrag = null, this._colDragIndicatorLeft = null, this._fillDrag = null, this._rowDrag = null, this._rowDragIndicatorY = null, this._findState = null, this._columnWidths = /* @__PURE__ */ new Map(), this._hostResizeObserver = null, this._comments = /* @__PURE__ */ new Map(), this._isDragOver = !1, this._editorMoving = !1, this._onEditorBlur = (e) => {
1768
1768
  !this._editorMoving && e.currentTarget?.isConnected && this._commitEdit();
1769
1769
  }, this._warnedUnconstrained = !1, this._onHostFocus = (e) => {
1770
1770
  e.composedPath()[0] !== this || this._activeCell || this._headerCol !== null || this.visibleColumns.length !== 0 && this.matches(":focus-visible") && (this._visibleRowCount > 0 ? (this._selection.setActive(0, 0), this._syncActiveCell()) : this._headerCol = 0);
@@ -1841,6 +1841,9 @@ var K = {
1841
1841
  get sortCriteria() {
1842
1842
  return [...this._sortCriteria];
1843
1843
  }
1844
+ set sortCriteria(e) {
1845
+ this._sortCriteria = [...e ?? []], this.dataMode !== "server" && this._recomputeView(), this.requestUpdate();
1846
+ }
1844
1847
  get filteredRowCount() {
1845
1848
  return this._filteredIndices.length;
1846
1849
  }
@@ -2165,19 +2168,23 @@ var K = {
2165
2168
  }
2166
2169
  exportToString(e, t) {
2167
2170
  let n = this._exportSlice(t);
2168
- return n ? z(n.rows, n.cols, e) : "";
2171
+ return n ? R(n.rows, n.cols, e) : "";
2169
2172
  }
2170
2173
  async exportToBlob(e, t) {
2171
2174
  let n = this._exportSlice(t) ?? {
2172
2175
  rows: [],
2173
2176
  cols: []
2174
2177
  };
2175
- return ke(n.rows, n.cols, e);
2178
+ return z(n.rows, n.cols, e);
2176
2179
  }
2177
- async exportToFile(e, t) {
2178
- Me(await this.exportToBlob(e), t ?? `export${H(e)}`);
2180
+ async exportToFile(e, t, n) {
2181
+ H(await this.exportToBlob(e, n), t ?? `export${Fe(e)}`);
2179
2182
  }
2180
2183
  _exportSlice(e) {
2184
+ if (e && "rows" in e && e.rows) return {
2185
+ rows: e.rows,
2186
+ cols: this.visibleColumns
2187
+ };
2181
2188
  if (e?.selectionOnly) {
2182
2189
  let e = this._selection.getEffectiveRange();
2183
2190
  if (!e) return null;
@@ -2266,7 +2273,7 @@ var K = {
2266
2273
  let a = t.get(e);
2267
2274
  if (!a) return;
2268
2275
  let o = this.columns.find((e) => e.key === a);
2269
- r[a] = o ? j(n[i] ?? "", o) : n[i] ?? null;
2276
+ r[a] = o ? A(n[i] ?? "", o) : n[i] ?? null;
2270
2277
  }), r;
2271
2278
  }), r = [...this.data];
2272
2279
  this.data = n, this._undo.push({
@@ -2287,7 +2294,7 @@ var K = {
2287
2294
  let a = n.get(t);
2288
2295
  if (!a) return;
2289
2296
  let o = this.columns.find((e) => e.key === a);
2290
- r[a] = o ? j(e[i] ?? "", o) : e[i] ?? null;
2297
+ r[a] = o ? A(e[i] ?? "", o) : e[i] ?? null;
2291
2298
  }), r;
2292
2299
  }), i = [...this.data];
2293
2300
  this.data = r, this._undo.push({
@@ -2436,7 +2443,7 @@ var K = {
2436
2443
  this._filteredIndices = Array.from({ length: this.data.length }, (e, t) => t), this._sortedIndices = this._filteredIndices;
2437
2444
  return;
2438
2445
  }
2439
- if (this._filteredIndices = le(this.data, this._filters, (e, t, n) => {
2446
+ if (this._filteredIndices = ue(this.data, this._filters, (e, t, n) => {
2440
2447
  this._emit("filter-error", {
2441
2448
  error: e,
2442
2449
  row: t,
@@ -2633,7 +2640,7 @@ var K = {
2633
2640
  }
2634
2641
  let t = this.shadowRoot?.querySelector(".ft-editor");
2635
2642
  if (t) {
2636
- let n = j(t.value, e);
2643
+ let n = A(t.value, e);
2637
2644
  this._applyEdit(n);
2638
2645
  } else this._cancelEdit();
2639
2646
  }
@@ -2957,7 +2964,7 @@ var K = {
2957
2964
  let e = this._selection.getEffectiveRange();
2958
2965
  return e ? {
2959
2966
  range: e,
2960
- text: de(this._sortedIndices.map((e) => this.data[e]), this.visibleColumns, e)
2967
+ text: fe(this._sortedIndices.map((e) => this.data[e]), this.visibleColumns, e)
2961
2968
  } : null;
2962
2969
  }
2963
2970
  async _copyFromMenu() {
@@ -3040,7 +3047,7 @@ var K = {
3040
3047
  for (let a = 0; a < t[i].length; a++) {
3041
3048
  let s = e.col + a;
3042
3049
  if (s >= n.length) break;
3043
- let c = n[s], l = this.data[o][c.key], u = j(t[i][a], c);
3050
+ let c = n[s], l = this.data[o][c.key], u = A(t[i][a], c);
3044
3051
  this.data[o][c.key] = u, r.push({
3045
3052
  row: o,
3046
3053
  col: s,
@@ -3105,7 +3112,7 @@ var K = {
3105
3112
  for (let r = e.startCol + 1; r <= e.endCol; r++) {
3106
3113
  let e = t[r];
3107
3114
  if (!e || !this._isCellEditable(e)) continue;
3108
- let a = j(o == null ? "" : String(o), e);
3115
+ let a = A(o == null ? "" : String(o), e);
3109
3116
  n.push({
3110
3117
  row: i,
3111
3118
  key: e.key,
@@ -3727,7 +3734,7 @@ var K = {
3727
3734
  </select>
3728
3735
  <input class="ft-filter-input ft-num-cond-input" type="text" inputmode="decimal" placeholder=${e("valuePlaceholder")}
3729
3736
  aria-label=${e("conditionValue", { n: n === "cond1" ? 1 : 2 })}
3730
- .value=${r.text ?? (r.value == null ? "" : M(r.value))}
3737
+ .value=${r.text ?? (r.value == null ? "" : j(r.value))}
3731
3738
  aria-invalid=${r.text && r.value == null ? "true" : "false"}
3732
3739
  @input=${(e) => {
3733
3740
  let r = e.target.value, i = this._numberFilterState.get(t) ?? this._defaultNumState();
@@ -4478,7 +4485,7 @@ var K = {
4478
4485
  let n = e[t.key], r = n == null ? "" : String(n);
4479
4486
  if (t.type === "number") return a`
4480
4487
  <input class="ft-editor ft-editor-number" type="text" inputmode="decimal" aria-label=${t.label}
4481
- .value=${typeof n == "number" ? M(n) : r}
4488
+ .value=${typeof n == "number" ? j(n) : r}
4482
4489
  @keydown=${this._onEditorKeyDown}
4483
4490
  @blur=${this._onEditorBlur}>
4484
4491
  `;
@@ -4596,10 +4603,10 @@ G([c({ type: Array })], Q.prototype, "columns", void 0), G([c({
4596
4603
  })], Q.prototype, "maxUndoSize", null), G([l()], Q.prototype, "_scrollTop", void 0), G([l()], Q.prototype, "_scrollLeft", void 0), G([l()], Q.prototype, "_viewportHeight", void 0), G([l()], Q.prototype, "_viewportWidth", void 0), G([l()], Q.prototype, "_activeCell", void 0), G([l()], Q.prototype, "_headerCol", void 0), G([l()], Q.prototype, "_editingCell", void 0), G([l()], Q.prototype, "_sortCriteria", void 0), G([l()], Q.prototype, "_openFilterKey", void 0), G([l()], Q.prototype, "_rowSelectionVersion", void 0), G([l()], Q.prototype, "_autocompleteState", void 0), G([l()], Q.prototype, "_headerMenu", void 0), G([l()], Q.prototype, "_bodyContextMenu", void 0), G([l()], Q.prototype, "_commentPopup", void 0), G([l()], Q.prototype, "_isDragOver", void 0), Q = G([s("flex-table")], Q);
4597
4604
  function Qe(e, t) {
4598
4605
  if (t) {
4599
- let t = pe(e);
4606
+ let t = me(e);
4600
4607
  return /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/.test(t) ? t.replace(" ", "T") : void 0;
4601
4608
  }
4602
- let n = fe(e);
4609
+ let n = pe(e);
4603
4610
  return /^\d{4}-\d{2}-\d{2}$/.test(n) ? n : void 0;
4604
4611
  }
4605
4612
  function $(e) {
@@ -4610,4 +4617,4 @@ function $(e) {
4610
4617
  }
4611
4618
  }
4612
4619
  //#endregion
4613
- export { k as a, A as i, W as n, D as o, z as r, Q as t };
4620
+ export { z as a, D as c, R as i, W as n, k as o, H as r, O as s, Q as t };
@@ -7,6 +7,17 @@ import type { FilterPredicate } from './core/filtering.js';
7
7
  import type { ColumnDefinition, DataRow, SelectionMode, DataMode } from './models/types.js';
8
8
  import type { FlexTableEventMap } from './events.js';
9
9
  import type { TemplateResult } from 'lit';
10
+ /**
11
+ * 표 내보내기의 대상 — 선택 범위(`selectionOnly`) 또는 바깥에서 준 행(`rows`, 예: `await source.fetchAll()`). 둘은
12
+ * 함께 쓰지 않는다(바깥 행에는 표의 선택 범위가 없다).
13
+ */
14
+ export type TableExportOptions = {
15
+ selectionOnly?: boolean;
16
+ rows?: undefined;
17
+ } | {
18
+ rows: DataRow[];
19
+ selectionOnly?: undefined;
20
+ };
10
21
  export declare class FlexTable extends LitElement {
11
22
  static styles: import("lit").CSSResult;
12
23
  columns: ColumnDefinition[];
@@ -188,7 +199,14 @@ export declare class FlexTable extends LitElement {
188
199
  get canRedo(): boolean;
189
200
  get activeCell(): CellPosition | null;
190
201
  get editingCell(): CellPosition | null;
202
+ /**
203
+ * The active sort — `[{ key, direction }]`, the first is the primary. Setting it shows that sort (the header
204
+ * indicators) and, in client mode, re-sorts; it does not fire `sort-change`, which is the user's act. A data
205
+ * source's `sortCriteria` goes here as is — the initial or restored sort of a server-paged list, the same as
206
+ * `u-rich-table`'s `sortCriteria`.
207
+ */
191
208
  get sortCriteria(): SortCriteria[];
209
+ set sortCriteria(criteria: SortCriteria[]);
192
210
  /** Number of rows after filtering (before pagination). */
193
211
  get filteredRowCount(): number;
194
212
  /**
@@ -313,23 +331,25 @@ export declare class FlexTable extends LitElement {
313
331
  * Export table data to string in the specified format. Synchronous — XLSX comes back as an
314
332
  * uncompressed workbook; use `exportToBlob` for a compressed one.
315
333
  * @param options.selectionOnly - Export only the currently selected range
334
+ * @param options.rows - Export these rows with the table's visible columns instead of the rows it holds —
335
+ * a server-paged table holds one page, so pass `await source.fetchAll()` for the whole result
316
336
  */
317
- exportToString(format: ExportFormat, options?: {
318
- selectionOnly?: boolean;
319
- }): string | Uint8Array<ArrayBuffer>;
337
+ exportToString(format: ExportFormat, options?: TableExportOptions): string | Uint8Array<ArrayBuffer>;
320
338
  /**
321
339
  * Export table data as a `Blob` of the format's MIME type. XLSX is DEFLATE-compressed.
322
- * @param options.selectionOnly - Export only the currently selected range
340
+ * @param options - `selectionOnly` or `rows`, as for `exportToString`
323
341
  */
324
- exportToBlob(format: ExportFormat, options?: {
325
- selectionOnly?: boolean;
326
- }): Promise<Blob>;
342
+ exportToBlob(format: ExportFormat, options?: TableExportOptions): Promise<Blob>;
327
343
  /**
328
344
  * Export table data and trigger file download. XLSX is DEFLATE-compressed; the promise settles
329
345
  * once the download has been handed to the browser.
346
+ * @param options - `selectionOnly` or `rows`, as for `exportToString`
347
+ */
348
+ exportToFile(format: ExportFormat, filename?: string, options?: TableExportOptions): Promise<void>;
349
+ /**
350
+ * 내보낼 행·열 — 행을 받았으면 그 행 · 보이는 열(서버 페이지 표가 «조회 결과 전체» 를 내보내는 길 — 열과 형식은 표,
351
+ * 질의는 소스가 안다), 선택만이면 선택 범위(없으면 `null`), 아니면 정렬 순서의 전체 행 · 보이는 열.
330
352
  */
331
- exportToFile(format: ExportFormat, filename?: string): Promise<void>;
332
- /** 내보낼 행·열 — 선택만이면 선택 범위(없으면 `null`), 아니면 정렬 순서의 전체 행 · 보이는 열. */
333
353
  private _exportSlice;
334
354
  /**
335
355
  * Set a comment on the cell at the given data index and column key.
@@ -1,3 +1,3 @@
1
- import { a as e, i as t, n, o as r, r as i, t as a } from "./flex-table-BDTykqUE.js";
2
- import { t as o } from "./locale-Cfm-vJji.js";
3
- export { a as FlexTable, e as RowSelectionState, t as UndoStack, n as effectiveAlign, i as exportData, o as flexTableLocale, r as renderCell };
1
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./flex-table-BD_T3SqO.js";
2
+ import { t as c } from "./locale-D9g0ksXq.js";
3
+ export { s as FlexTable, o as RowSelectionState, i as UndoStack, a as downloadBlob, r as effectiveAlign, n as exportData, e as exportDataBlob, c as flexTableLocale, t as renderCell };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { FlexTable } from './flex-table.js';
2
+ export type { TableExportOptions } from './flex-table.js';
2
3
  export type { ColumnDefinition, ColumnType, ColumnAlign, DataRow, CellRenderer, CellEditor, CellValidator, SelectionMode, DataMode, CellStyle, ConditionalRule } from './models/types.js';
3
4
  export { effectiveAlign } from './models/types.js';
4
5
  export type { CellPosition, CellRange } from './core/selection.js';
@@ -9,7 +10,7 @@ export { RowSelectionState } from './core/row-selection.js';
9
10
  export { UndoStack } from './core/undo.js';
10
11
  export type { UndoAction } from './core/undo.js';
11
12
  export type { ExportFormat } from './export/export.js';
12
- export { exportData } from './export/export.js';
13
+ export { exportData, exportDataBlob, downloadBlob } from './export/export.js';
13
14
  export { renderCell } from './renderers/cell-renderer.js';
14
15
  export { flexTableLocale } from './locale.js';
15
16
  export type { FlexTableMessageKey } from './locale.js';
@@ -72,7 +72,8 @@ t.register("en", {
72
72
  notADateTime: "Enter a date and time as YYYY-MM-DD HH:mm",
73
73
  notInList: "Value must be from the existing list",
74
74
  requestFailed: "Request failed ({status})",
75
- networkFailed: "Could not reach the server."
75
+ networkFailed: "Could not reach the server.",
76
+ tooManyRows: "More than {maxRows} rows match — narrow the search or filter first."
76
77
  }), t.register("ko", {
77
78
  showHiddenColumns: "숨긴 열 보기",
78
79
  columnMenu: "열 메뉴",
@@ -144,7 +145,8 @@ t.register("en", {
144
145
  notADateTime: "날짜와 시간을 YYYY-MM-DD HH:mm 으로 입력하세요",
145
146
  notInList: "목록에 있는 값이어야 합니다",
146
147
  requestFailed: "요청이 실패했습니다 ({status})",
147
- networkFailed: "서버에 연결하지 못했습니다."
148
+ networkFailed: "서버에 연결하지 못했습니다.",
149
+ tooManyRows: "조건에 맞는 행이 {maxRows}개를 넘습니다 — 검색이나 필터로 먼저 좁혀 주세요."
148
150
  });
149
151
  var n = (e, n) => t.text(e, n);
150
152
  //#endregion
package/dist/locale.d.ts CHANGED
@@ -25,7 +25,7 @@
25
25
  * (아이콘 자리의 글리프)는 어느 로케일에서도 같은 것을 뜻하며, 번역하면 오히려 읽히지 않는다.
26
26
  * 그 판단은 «번역하지 않기로 한 것»이지 «빠뜨린 것»이 아니다.
27
27
  */
28
- export type FlexTableMessageKey = 'showHiddenColumns' | 'columnMenu' | 'cellActions' | 'noColumnsDefined' | 'addCommentPlaceholder' | 'cancel' | 'save' | 'noData' | 'noMatchingData' | 'clear' | 'blankCells' | 'emptyOnly' | 'nonEmptyOnly' | 'blankAll' | 'all' | 'contains' | 'startsWith' | 'endsWith' | 'wildcard' | 'searchPlaceholder' | 'valuePlaceholder' | 'fromPlaceholder' | 'toPlaceholder' | 'findPlaceholder' | 'findPrevious' | 'findNext' | 'matchCase' | 'wholeCell' | 'closeFind' | 'findNoResults' | 'replaceWithPlaceholder' | 'replace' | 'replaceAll' | 'findInput' | 'replaceInput' | 'filterFor' | 'filterMatchMode' | 'filterText' | 'conditionOperator' | 'conditionValue' | 'conditionJoin' | 'sortAscending' | 'sortDescending' | 'filter' | 'clearFilter' | 'hideColumn' | 'showColumn' | 'autoFitWidth' | 'wider' | 'narrower' | 'columnMenuFor' | 'columnMenuRegion' | 'copy' | 'insertRowAbove' | 'insertRowBelow' | 'deleteRow' | 'selectRow' | 'selectAllRows' | 'filterByThisValue' | 'addComment' | 'editComment' | 'deleteComment' | 'booleanTrue' | 'booleanFalse' | 'dropFileToImport' | 'notANumber' | 'notADate' | 'notADateTime' | 'notInList' | 'requestFailed' | 'networkFailed';
28
+ export type FlexTableMessageKey = 'showHiddenColumns' | 'columnMenu' | 'cellActions' | 'noColumnsDefined' | 'addCommentPlaceholder' | 'cancel' | 'save' | 'noData' | 'noMatchingData' | 'clear' | 'blankCells' | 'emptyOnly' | 'nonEmptyOnly' | 'blankAll' | 'all' | 'contains' | 'startsWith' | 'endsWith' | 'wildcard' | 'searchPlaceholder' | 'valuePlaceholder' | 'fromPlaceholder' | 'toPlaceholder' | 'findPlaceholder' | 'findPrevious' | 'findNext' | 'matchCase' | 'wholeCell' | 'closeFind' | 'findNoResults' | 'replaceWithPlaceholder' | 'replace' | 'replaceAll' | 'findInput' | 'replaceInput' | 'filterFor' | 'filterMatchMode' | 'filterText' | 'conditionOperator' | 'conditionValue' | 'conditionJoin' | 'sortAscending' | 'sortDescending' | 'filter' | 'clearFilter' | 'hideColumn' | 'showColumn' | 'autoFitWidth' | 'wider' | 'narrower' | 'columnMenuFor' | 'columnMenuRegion' | 'copy' | 'insertRowAbove' | 'insertRowBelow' | 'deleteRow' | 'selectRow' | 'selectAllRows' | 'filterByThisValue' | 'addComment' | 'editComment' | 'deleteComment' | 'booleanTrue' | 'booleanFalse' | 'dropFileToImport' | 'notANumber' | 'notADate' | 'notADateTime' | 'notInList' | 'requestFailed' | 'networkFailed' | 'tooManyRows';
29
29
  /** 이 패키지의 chrome 문자열 묶음. 소비자가 `register()` 로 언어를 더하거나 문구를 덮을 수 있다. */
30
30
  export declare const flexTableLocale: import("@iyulab/components/dist/utilities/Locale.js").LocaleNamespace<FlexTableMessageKey>;
31
31
  /** 짧은 조회 별칭 — 렌더 코드가 읽히게 유지한다. */
@@ -3,3 +3,7 @@ export type { ODataQueryState } from './query.js';
3
3
  export { createODataSource } from './source.js';
4
4
  export type { ODataSource, ODataSourceOptions, ODataSourceState } from './source.js';
5
5
  export { ODataSourceController } from './controller.js';
6
+ export { DEFAULT_MAX_ROWS } from '../core/fetch-all.js';
7
+ export type { FetchAllOptions } from '../core/fetch-all.js';
8
+ export { SourceRequestError, RowLimitError } from '../core/source-error.js';
9
+ export type { SourceError, SourceErrorDetail } from '../core/source-error.js';
@@ -1,9 +1,9 @@
1
- import { n as e, r as t, t as n } from "../query-Dw4iO0ir.js";
2
- import { t as r } from "../source-DOue0Ti3.js";
1
+ import { c as e, l as t, n, r, s as i, t as a } from "../fetch-all-J37bOtgc.js";
2
+ import { t as o } from "../source-DNPtWmC3.js";
3
3
  //#region src/odata/controller.ts
4
- var i = class {
4
+ var s = class {
5
5
  constructor(e, t, n = {}) {
6
- this.host = e, this.source = typeof t == "string" ? r(t, n) : t, e.addController(this);
6
+ this.host = e, this.source = typeof t == "string" ? o(t, n) : t, e.addController(this);
7
7
  }
8
8
  get state() {
9
9
  return this.source.getState();
@@ -16,4 +16,4 @@ var i = class {
16
16
  }
17
17
  };
18
18
  //#endregion
19
- export { i as ODataSourceController, n as buildODataQuery, e as buildSearchExpression, r as createODataSource, t as parseOrderBy };
19
+ export { a as DEFAULT_MAX_ROWS, s as ODataSourceController, n as RowLimitError, r as SourceRequestError, i as buildODataQuery, e as buildSearchExpression, o as createODataSource, t as parseOrderBy };