@mikestools/usetable 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/usetable.js CHANGED
@@ -1,17 +1,17 @@
1
- import { shallowRef as Ft, ref as p, watch as L, computed as m, customRef as Ce } from "vue";
2
- function Tt(l) {
3
- return typeof l != "object" || l === null || !("row" in l) || !("column" in l) || !("message" in l) || !("value" in l) ? !1 : typeof l.row == "number" && typeof l.column == "number" && typeof l.message == "string";
1
+ import { shallowRef as Kt, ref as p, watch as H, computed as m, customRef as De } from "vue";
2
+ function Jt(s) {
3
+ return typeof s != "object" || s === null || !("row" in s) || !("column" in s) || !("message" in s) || !("value" in s) ? !1 : typeof s.row == "number" && typeof s.column == "number" && typeof s.message == "string";
4
4
  }
5
- function Gr(l) {
6
- return Array.isArray(l) && l.every(Tt);
5
+ function Al(s) {
6
+ return Array.isArray(s) && s.every(Jt);
7
7
  }
8
- function Xr(l) {
9
- return typeof l != "object" || l === null || !("valid" in l) || !("errors" in l) ? !1 : typeof l.valid == "boolean" && Array.isArray(l.errors) && l.errors.every(Tt);
8
+ function Dl(s) {
9
+ return typeof s != "object" || s === null || !("valid" in s) || !("errors" in s) ? !1 : typeof s.valid == "boolean" && Array.isArray(s.errors) && s.errors.every(Jt);
10
10
  }
11
- function me(l) {
12
- return l === null || typeof l != "object" || "nodeType" in l ? !1 : "value" in l;
11
+ function Ae(s) {
12
+ return s === null || typeof s != "object" || "nodeType" in s ? !1 : "value" in s;
13
13
  }
14
- const zr = /* @__PURE__ */ new Set([
14
+ const al = /* @__PURE__ */ new Set([
15
15
  "opacity",
16
16
  "z-index",
17
17
  "font-weight",
@@ -34,42 +34,42 @@ const zr = /* @__PURE__ */ new Set([
34
34
  "column-count",
35
35
  "tab-size"
36
36
  ]);
37
- function Pr(l) {
38
- return !zr.has(l);
37
+ function cl(s) {
38
+ return !al.has(s);
39
39
  }
40
- function ve(l, u) {
40
+ function me(s, u) {
41
41
  if (!u) return;
42
- if (u.class !== void 0 && (typeof u.class == "string" ? l.className = u.class : Array.isArray(u.class) ? l.className = u.class.join(" ") : l.className = Object.entries(u.class).filter(([, h]) => h).map(([h]) => h).join(" ")), u.style !== void 0) {
42
+ if (u.class !== void 0 && (typeof u.class == "string" ? s.className = u.class : Array.isArray(u.class) ? s.className = u.class.join(" ") : s.className = Object.entries(u.class).filter(([, h]) => h).map(([h]) => h).join(" ")), u.style !== void 0) {
43
43
  if (typeof u.style == "string")
44
- l.setAttribute("style", u.style);
44
+ s.setAttribute("style", u.style);
45
45
  else if (typeof u.style == "object")
46
46
  for (const [h, v] of Object.entries(u.style)) {
47
47
  if (v == null) continue;
48
- const C = h.replace(/([A-Z])/g, "-$1").toLowerCase(), le = typeof v == "number" && Pr(C) ? `${v}px` : String(v);
49
- l.style.setProperty(C, le);
48
+ const C = h.replace(/([A-Z])/g, "-$1").toLowerCase(), fe = typeof v == "number" && cl(C) ? `${v}px` : String(v);
49
+ s.style.setProperty(C, fe);
50
50
  }
51
51
  }
52
52
  if (u.dataset)
53
53
  for (const [h, v] of Object.entries(u.dataset))
54
- v != null && (l.dataset[h] = String(v));
55
- u.id !== void 0 && (l.id = u.id), u.title !== void 0 && (l.title = u.title);
54
+ v != null && (s.dataset[h] = String(v));
55
+ u.id !== void 0 && (s.id = u.id), u.title !== void 0 && (s.title = u.title);
56
56
  const c = /* @__PURE__ */ new Set(["class", "style", "dataset", "id", "title"]);
57
57
  for (const [h, v] of Object.entries(u))
58
- c.has(h) || v === void 0 || v === null || (h.startsWith("on") && typeof v == "function" ? l.addEventListener(h.slice(2).toLowerCase(), v) : h.startsWith("data-") || h.startsWith("aria-") || h === "role" ? l.setAttribute(h, String(v)) : h in l ? typeof v == "boolean" ? v ? l.setAttribute(h, "") : l.removeAttribute(h) : l.setAttribute(h, String(v)) : typeof v == "boolean" ? v && l.setAttribute(h, "") : l.setAttribute(h, String(v)));
58
+ c.has(h) || v === void 0 || v === null || (h.startsWith("on") && typeof v == "function" ? s.addEventListener(h.slice(2).toLowerCase(), v) : h.startsWith("data-") || h.startsWith("aria-") || h === "role" ? s.setAttribute(h, String(v)) : h in s ? typeof v == "boolean" ? v ? s.setAttribute(h, "") : s.removeAttribute(h) : s.setAttribute(h, String(v)) : typeof v == "boolean" ? v && s.setAttribute(h, "") : s.setAttribute(h, String(v)));
59
59
  }
60
- function ye(l, u) {
60
+ function Ee(s, u) {
61
61
  const c = document.createElement("th");
62
- return c.textContent = l, u?.scope || (c.scope = "col"), ve(c, u), c;
62
+ return c.textContent = s, u?.scope || (c.scope = "col"), me(c, u), c;
63
63
  }
64
- function S(l, u) {
64
+ function b(s, u) {
65
65
  let c = u, h, v, C;
66
- u instanceof Node ? c = u : me(u) && (c = u.value, h = u.attributes, v = u.columnSpan, C = u.rowSpan), c == null ? l.textContent = "" : c instanceof Node ? (l.textContent = "", l.appendChild(c)) : l.textContent = String(c), v !== void 0 && v > 1 && (l.colSpan = v), C !== void 0 && C > 0 && (l.rowSpan = C), ve(l, h);
66
+ u instanceof Node ? c = u : Ae(u) && (c = u.value, h = u.attributes, v = u.columnSpan, C = u.rowSpan), c == null ? s.textContent = "" : c instanceof Node ? (s.textContent = "", s.appendChild(c)) : s.textContent = String(c), v !== void 0 && v > 1 && (s.colSpan = v), C !== void 0 && C > 0 && (s.rowSpan = C), me(s, h);
67
67
  }
68
- function te(l) {
69
- return l.children.length === 1 && l.textContent === l.children[0]?.textContent ? l.children[0] : l.textContent || "";
68
+ function re(s) {
69
+ return s.children.length === 1 && s.textContent === s.children[0]?.textContent ? s.children[0] : s.textContent || "";
70
70
  }
71
- function Br(l) {
72
- const u = p(l);
71
+ function ul(s) {
72
+ const u = p(s);
73
73
  return {
74
74
  element: u,
75
75
  cellIndex: m(() => u.value.cellIndex),
@@ -90,9 +90,9 @@ function Br(l) {
90
90
  } })
91
91
  };
92
92
  }
93
- function Ht(l) {
94
- const u = p(l), c = Ce(() => ({ get: () => Array.from(u.value.cells), set: () => {
95
- } })), h = Ce(() => ({ get: () => u.value.cells.length, set: () => {
93
+ function Ut(s) {
94
+ const u = p(s), c = De(() => ({ get: () => Array.from(u.value.cells), set: () => {
95
+ } })), h = De(() => ({ get: () => u.value.cells.length, set: () => {
96
96
  } }));
97
97
  return {
98
98
  element: u,
@@ -104,13 +104,13 @@ function Ht(l) {
104
104
  deleteCell: (v) => u.value.deleteCell(v),
105
105
  getCell: (v) => {
106
106
  const C = u.value.cells[v];
107
- return C ? Br(C) : void 0;
107
+ return C ? ul(C) : void 0;
108
108
  }
109
109
  };
110
110
  }
111
- function Oe(l) {
112
- const u = p(l), c = Ce(() => ({ get: () => Array.from(u.value.rows), set: () => {
113
- } })), h = Ce(() => ({ get: () => u.value.rows.length, set: () => {
111
+ function Ze(s) {
112
+ const u = p(s), c = De(() => ({ get: () => Array.from(u.value.rows), set: () => {
113
+ } })), h = De(() => ({ get: () => u.value.rows.length, set: () => {
114
114
  } }));
115
115
  return {
116
116
  element: u,
@@ -120,479 +120,479 @@ function Oe(l) {
120
120
  deleteRow: (v) => u.value.deleteRow(v),
121
121
  getRow: (v) => {
122
122
  const C = u.value.rows[v];
123
- return C ? Ht(C) : void 0;
123
+ return C ? Ut(C) : void 0;
124
124
  }
125
125
  };
126
126
  }
127
- function Mt(l) {
128
- return l.includes(",") || l.includes('"') || l.includes(`
129
- `) ? `"${l.replace(/"/g, '""')}"` : l;
127
+ function zt(s) {
128
+ return s.includes(",") || s.includes('"') || s.includes(`
129
+ `) ? `"${s.replace(/"/g, '""')}"` : s;
130
130
  }
131
- function Lt(l) {
131
+ function $t(s) {
132
132
  const u = [];
133
133
  let c = "", h = !1;
134
- for (let v = 0; v < l.length; v++) {
135
- const C = l[v];
136
- C === '"' ? h && v + 1 < l.length && l[v + 1] === '"' ? (c += '"', v++) : h = !h : C === "," && !h ? (u.push(c), c = "") : c += C;
134
+ for (let v = 0; v < s.length; v++) {
135
+ const C = s[v];
136
+ C === '"' ? h && v + 1 < s.length && s[v + 1] === '"' ? (c += '"', v++) : h = !h : C === "," && !h ? (u.push(c), c = "") : c += C;
137
137
  }
138
138
  return u.push(c), u;
139
139
  }
140
- function qr(l) {
141
- const u = Ft([]), c = Ft([]), h = p(null), v = p(null), C = p(null), le = p(0), b = () => {
142
- le.value++;
143
- }, T = () => {
144
- l.value && (u.value = Array.from(l.value.rows), c.value = Array.from(l.value.tBodies), h.value = l.value.caption, v.value = l.value.tHead, C.value = l.value.tFoot);
145
- }, F = () => {
146
- T(), b();
140
+ function Tl(s) {
141
+ const u = Kt([]), c = Kt([]), h = p(null), v = p(null), C = p(null), fe = p(0), E = () => {
142
+ fe.value++;
143
+ }, N = () => {
144
+ s.value && (u.value = Array.from(s.value.rows), c.value = Array.from(s.value.tBodies), h.value = s.value.caption, v.value = s.value.tHead, C.value = s.value.tFoot);
145
+ }, M = () => {
146
+ N(), E();
147
147
  };
148
- T(), L(l, F, { immediate: !0, deep: !1 });
149
- const Re = m(() => u.value), kt = m(() => Re.value.length), Se = m(() => c.value), Nt = m(() => Se.value.length), Vt = m({
148
+ N(), H(s, M, { immediate: !0, deep: !1 });
149
+ const Te = m(() => u.value), jt = m(() => Te.value.length), Me = m(() => c.value), Wt = m(() => Me.value.length), Gt = m({
150
150
  get: () => h.value,
151
151
  set: (e) => {
152
- l.value.caption = e, h.value = e;
152
+ s.value.caption = e, h.value = e;
153
153
  }
154
- }), zt = m({
154
+ }), _t = m({
155
155
  get: () => v.value,
156
156
  set: (e) => {
157
- l.value.tHead = e, v.value = e;
157
+ s.value.tHead = e, v.value = e;
158
158
  }
159
- }), Pt = m({
159
+ }), Qt = m({
160
160
  get: () => C.value,
161
161
  set: (e) => {
162
- l.value.tFoot = e, C.value = e;
162
+ s.value.tFoot = e, C.value = e;
163
163
  }
164
164
  }), g = m({
165
165
  get: () => {
166
- le.value;
167
- const e = l.value.tHead;
166
+ fe.value;
167
+ const e = s.value.tHead;
168
168
  return !e || e.rows.length === 0 ? [] : Array.from(e.rows[0].cells).map((t) => t.textContent || "");
169
169
  },
170
170
  set: (e) => {
171
- let t = l.value.tHead;
172
- for (t || (t = l.value.createTHead()); t.rows.length > 0; ) t.deleteRow(0);
171
+ let t = s.value.tHead;
172
+ for (t || (t = s.value.createTHead()); t.rows.length > 0; ) t.deleteRow(0);
173
173
  const o = t.insertRow();
174
174
  e.forEach((n) => {
175
- const s = document.createElement("th");
176
- s.textContent = n, s.scope = "col", o.appendChild(s);
177
- }), F();
175
+ const r = document.createElement("th");
176
+ r.textContent = n, r.scope = "col", o.appendChild(r);
177
+ }), M();
178
178
  }
179
- }), i = m({
179
+ }), f = m({
180
180
  get: () => {
181
- le.value;
181
+ fe.value;
182
182
  const e = c.value[0];
183
- return e ? Array.from(e.rows).map((t) => Array.from(t.cells).map(te)) : [];
183
+ return e ? Array.from(e.rows).map((t) => Array.from(t.cells).map(re)) : [];
184
184
  },
185
185
  set: (e) => {
186
186
  let t = c.value[0];
187
- for (t || (t = l.value.createTBody()); t.rows.length > 0; ) t.deleteRow(0);
187
+ for (t || (t = s.value.createTBody()); t.rows.length > 0; ) t.deleteRow(0);
188
188
  e.forEach((o) => {
189
189
  const n = t.insertRow();
190
- o.forEach((s) => S(n.insertCell(), s));
191
- }), F();
190
+ o.forEach((r) => b(n.insertCell(), r));
191
+ }), M();
192
192
  }
193
- }), Bt = m(() => g.value.length), je = () => {
194
- const e = l.value.createCaption();
195
- return T(), e;
196
- }, We = () => {
197
- l.value.deleteCaption(), T();
198
- }, Kt = () => {
199
- const e = l.value.createTHead();
200
- return T(), e;
201
- }, Ue = () => {
202
- l.value.deleteTHead(), T();
203
- }, Je = () => {
204
- const e = l.value.createTFoot();
205
- return T(), e;
206
- }, Qe = () => {
207
- l.value.deleteTFoot(), T();
208
- }, $t = () => {
209
- const e = l.value.createTBody();
210
- return T(), e;
211
- }, Ot = (e) => {
212
- const t = l.value.insertRow(e);
213
- return T(), t;
214
- }, jt = (e) => {
215
- l.value.deleteRow(e), T();
216
- }, Wt = () => {
217
- const e = l.value.tHead;
218
- return e ? Oe(e) : void 0;
219
- }, Ut = () => {
220
- const e = l.value.tFoot;
221
- return e ? Oe(e) : void 0;
222
- }, Jt = (e) => {
223
- const t = Se.value[e];
224
- return t ? Oe(t) : void 0;
225
- }, Qt = (e) => {
226
- const t = Re.value[e];
227
- return t ? Ht(t) : void 0;
228
- }, we = (e, t) => {
193
+ }), It = m(() => g.value.length), qe = () => {
194
+ const e = s.value.createCaption();
195
+ return N(), e;
196
+ }, xe = () => {
197
+ s.value.deleteCaption(), N();
198
+ }, Yt = () => {
199
+ const e = s.value.createTHead();
200
+ return N(), e;
201
+ }, et = () => {
202
+ s.value.deleteTHead(), N();
203
+ }, tt = () => {
204
+ const e = s.value.createTFoot();
205
+ return N(), e;
206
+ }, ot = () => {
207
+ s.value.deleteTFoot(), N();
208
+ }, Zt = () => {
209
+ const e = s.value.createTBody();
210
+ return N(), e;
211
+ }, Xt = (e) => {
212
+ const t = s.value.insertRow(e);
213
+ return N(), t;
214
+ }, qt = (e) => {
215
+ s.value.deleteRow(e), N();
216
+ }, xt = () => {
217
+ const e = s.value.tHead;
218
+ return e ? Ze(e) : void 0;
219
+ }, eo = () => {
220
+ const e = s.value.tFoot;
221
+ return e ? Ze(e) : void 0;
222
+ }, to = (e) => {
223
+ const t = Me.value[e];
224
+ return t ? Ze(t) : void 0;
225
+ }, oo = (e) => {
226
+ const t = Te.value[e];
227
+ return t ? Ut(t) : void 0;
228
+ }, de = (e, t) => {
229
229
  let o = c.value[0];
230
- o || (o = l.value.createTBody(), F());
231
- const n = t === void 0 || t === -1 ? o.rows.length : t, s = o.insertRow(n);
232
- return e.forEach((r) => S(s.insertCell(), r)), F(), s;
233
- }, _e = (e) => {
230
+ o || (o = s.value.createTBody(), M());
231
+ const n = t === void 0 || t === -1 ? o.rows.length : t, r = o.insertRow(n);
232
+ return e.forEach((l) => b(r.insertCell(), l)), M(), r;
233
+ }, Fe = (e) => {
234
234
  const t = c.value[0];
235
- t && (e === -1 && t.rows.length > 0 ? t.deleteRow(-1) : e >= 0 && e < t.rows.length && t.deleteRow(e), F());
236
- }, Ye = (e = "", t = "", o) => {
237
- const n = g.value.length, s = o === void 0 || o === -1 ? n : o;
238
- let r = l.value.tHead;
239
- r || (r = l.value.createTHead(), r.insertRow()), r.rows.length === 0 && r.insertRow();
240
- const a = r.rows[0], f = ye(e);
241
- s >= a.cells.length ? a.appendChild(f) : a.insertBefore(f, a.cells[s]);
235
+ t && (e === -1 && t.rows.length > 0 ? t.deleteRow(-1) : e >= 0 && e < t.rows.length && t.deleteRow(e), M());
236
+ }, nt = (e = "", t = "", o) => {
237
+ const n = g.value.length, r = o === void 0 || o === -1 ? n : o;
238
+ let l = s.value.tHead;
239
+ l || (l = s.value.createTHead(), l.insertRow()), l.rows.length === 0 && l.insertRow();
240
+ const a = l.rows[0], i = Ee(e);
241
+ r >= a.cells.length ? a.appendChild(i) : a.insertBefore(i, a.cells[r]);
242
242
  const d = c.value[0];
243
243
  d && Array.from(d.rows).forEach((y) => {
244
- const R = y.insertCell(s >= y.cells.length ? -1 : s);
245
- S(R, t);
244
+ const R = y.insertCell(r >= y.cells.length ? -1 : r);
245
+ b(R, t);
246
246
  });
247
- const w = l.value.tFoot;
247
+ const w = s.value.tFoot;
248
248
  if (w && w.rows.length > 0) {
249
249
  const y = w.rows[0];
250
- y.insertCell(s >= y.cells.length ? -1 : s).textContent = "";
250
+ y.insertCell(r >= y.cells.length ? -1 : r).textContent = "";
251
251
  }
252
- F();
253
- }, Ze = (e) => {
252
+ M();
253
+ }, rt = (e) => {
254
254
  if (e < 0 || e >= g.value.length) return;
255
- const t = l.value.tHead;
255
+ const t = s.value.tHead;
256
256
  t && t.rows.length > 0 && t.rows[0].cells[e] && t.rows[0].deleteCell(e);
257
257
  const o = c.value[0];
258
- o && Array.from(o.rows).forEach((s) => {
259
- s.cells[e] && s.deleteCell(e);
258
+ o && Array.from(o.rows).forEach((r) => {
259
+ r.cells[e] && r.deleteCell(e);
260
260
  });
261
- const n = l.value.tFoot;
262
- n && n.rows.length > 0 && n.rows[0].cells[e] && n.rows[0].deleteCell(e), F();
263
- }, be = (e, t, o) => {
261
+ const n = s.value.tFoot;
262
+ n && n.rows.length > 0 && n.rows[0].cells[e] && n.rows[0].deleteCell(e), M();
263
+ }, Le = (e, t, o) => {
264
264
  const n = c.value[0];
265
265
  if (!n) return;
266
- const s = n.rows[e];
267
- if (!s) return;
268
- const r = s.cells[t];
269
- r && (S(r, o), b());
270
- }, ae = (e, t) => i.value[e]?.[t], _t = (e) => {
271
- const t = l.value.caption || je();
266
+ const r = n.rows[e];
267
+ if (!r) return;
268
+ const l = r.cells[t];
269
+ l && (b(l, o), E());
270
+ }, ve = (e, t) => f.value[e]?.[t], no = (e) => {
271
+ const t = s.value.caption || qe();
272
272
  t.textContent = e;
273
- }, j = (e) => {
273
+ }, z = (e) => {
274
274
  g.value = [...e];
275
- }, Yt = (e) => {
276
- let t = l.value.tFoot;
277
- for (t || (t = Je()); t.rows.length > 0; ) t.deleteRow(0);
275
+ }, ro = (e) => {
276
+ let t = s.value.tFoot;
277
+ for (t || (t = tt()); t.rows.length > 0; ) t.deleteRow(0);
278
278
  const o = t.insertRow();
279
- e.forEach((n) => S(o.insertCell(), n));
280
- }, V = (e) => {
281
- i.value = e.map((t) => [...t]);
282
- }, Zt = () => {
283
- i.value = [];
284
- }, Gt = () => {
285
- for (We(), Ue(), Qe(); c.value.length > 0; ) {
279
+ e.forEach((n) => b(o.insertCell(), n));
280
+ }, k = (e) => {
281
+ f.value = e.map((t) => [...t]);
282
+ }, so = () => {
283
+ f.value = [];
284
+ }, lo = () => {
285
+ for (xe(), et(), ot(); c.value.length > 0; ) {
286
286
  const e = c.value[0];
287
- e && l.value.removeChild(e), F();
287
+ e && s.value.removeChild(e), M();
288
288
  }
289
- }, Xt = () => {
290
- F();
291
- }, qt = (e, t, o) => {
289
+ }, ao = () => {
290
+ M();
291
+ }, co = (e, t, o) => {
292
292
  let n = c.value[0];
293
- n || (n = l.value.createTBody(), F());
294
- const s = o === void 0 || o === -1 ? n.rows.length : o, r = n.insertRow(s);
295
- return ve(r, t), e.forEach((a) => S(r.insertCell(), a)), F(), r;
296
- }, It = (e, t) => {
297
- const o = g.value.length, n = t === void 0 || t === -1 ? o : t, s = typeof e.header == "string" ? e.header : String(e.header.value), r = typeof e.header == "string" ? void 0 : e.header.attributes, a = e.defaultValue ?? "";
298
- let f = l.value.tHead;
299
- f || (f = l.value.createTHead(), f.insertRow()), f.rows.length === 0 && f.insertRow();
300
- const d = f.rows[0], w = ye(s, r);
293
+ n || (n = s.value.createTBody(), M());
294
+ const r = o === void 0 || o === -1 ? n.rows.length : o, l = n.insertRow(r);
295
+ return me(l, t), e.forEach((a) => b(l.insertCell(), a)), M(), l;
296
+ }, uo = (e, t) => {
297
+ const o = g.value.length, n = t === void 0 || t === -1 ? o : t, r = typeof e.header == "string" ? e.header : String(e.header.value), l = typeof e.header == "string" ? void 0 : e.header.attributes, a = e.defaultValue ?? "";
298
+ let i = s.value.tHead;
299
+ i || (i = s.value.createTHead(), i.insertRow()), i.rows.length === 0 && i.insertRow();
300
+ const d = i.rows[0], w = Ee(r, l);
301
301
  n >= d.cells.length ? d.appendChild(w) : d.insertBefore(w, d.cells[n]);
302
302
  const y = c.value[0];
303
303
  y && Array.from(y.rows).forEach((R) => {
304
- const re = R.insertCell(n >= R.cells.length ? -1 : n);
305
- e.defaultAttributes && ve(re, e.defaultAttributes), S(re, a);
306
- }), F();
307
- }, xt = (e) => {
308
- let t = l.value.tHead;
309
- for (t || (t = l.value.createTHead()); t.rows.length > 0; ) t.deleteRow(0);
304
+ const ie = R.insertCell(n >= R.cells.length ? -1 : n);
305
+ e.defaultAttributes && me(ie, e.defaultAttributes), b(ie, a);
306
+ }), M();
307
+ }, io = (e) => {
308
+ let t = s.value.tHead;
309
+ for (t || (t = s.value.createTHead()); t.rows.length > 0; ) t.deleteRow(0);
310
310
  const o = t.insertRow();
311
311
  e.forEach((n) => {
312
312
  if (typeof n == "string")
313
- o.appendChild(ye(n));
313
+ o.appendChild(Ee(n));
314
314
  else {
315
- const s = ye(String(n.value), n.attributes);
316
- n.columnSpan !== void 0 && (s.colSpan = n.columnSpan), n.rowSpan !== void 0 && (s.rowSpan = n.rowSpan), o.appendChild(s);
315
+ const r = Ee(String(n.value), n.attributes);
316
+ n.columnSpan !== void 0 && (r.colSpan = n.columnSpan), n.rowSpan !== void 0 && (r.rowSpan = n.rowSpan), o.appendChild(r);
317
317
  }
318
- }), F();
319
- }, Ge = (e, t, o, n) => {
320
- const s = c.value[0];
321
- if (!s) return;
322
- const r = s.rows[e];
318
+ }), M();
319
+ }, st = (e, t, o, n) => {
320
+ const r = c.value[0];
323
321
  if (!r) return;
324
- const a = r.cells[t];
325
- a && (S(a, o), ve(a, n), b());
326
- }, eo = (e) => {
327
- const t = i.value[e];
322
+ const l = r.rows[e];
323
+ if (!l) return;
324
+ const a = l.cells[t];
325
+ a && (b(a, o), me(a, n), E());
326
+ }, lt = (e) => {
327
+ const t = f.value[e];
328
328
  return t ? [...t] : void 0;
329
- }, Xe = (e, t) => {
329
+ }, He = (e, t) => {
330
330
  const o = c.value[0];
331
331
  if (!o) return;
332
332
  const n = o.rows[e];
333
- n && (t.forEach((s, r) => {
334
- n.cells[r] && S(n.cells[r], s);
335
- }), b());
336
- }, to = () => i.value.map((e) => [...e]), oo = (e) => e < 0 || e >= g.value.length ? [] : i.value.map((t) => t[e]), no = (e, t) => {
333
+ n && (t.forEach((r, l) => {
334
+ n.cells[l] && b(n.cells[l], r);
335
+ }), E());
336
+ }, fo = () => f.value.map((e) => [...e]), vo = (e) => e < 0 || e >= g.value.length ? [] : f.value.map((t) => t[e]), wo = (e, t) => {
337
337
  const o = c.value[0];
338
- !o || e < 0 || e >= g.value.length || (t.forEach((n, s) => {
339
- const r = o.rows[s];
340
- r && r.cells[e] && S(r.cells[e], n);
341
- }), b());
342
- }, so = (e, t, o, n) => {
343
- const s = [];
344
- for (let r = e; r < t && r < i.value.length; r++) {
345
- const a = i.value[r], f = [];
346
- for (let d = o; d < n && d < a.length; d++) f.push(a[d]);
347
- s.push(f);
338
+ !o || e < 0 || e >= g.value.length || (t.forEach((n, r) => {
339
+ const l = o.rows[r];
340
+ l && l.cells[e] && b(l.cells[e], n);
341
+ }), E());
342
+ }, ho = (e, t, o, n) => {
343
+ const r = [];
344
+ for (let l = e; l < t && l < f.value.length; l++) {
345
+ const a = f.value[l], i = [];
346
+ for (let d = o; d < n && d < a.length; d++) i.push(a[d]);
347
+ r.push(i);
348
348
  }
349
- return s;
350
- }, ro = (e, t, o) => {
349
+ return r;
350
+ }, go = (e, t, o) => {
351
351
  const n = c.value[0];
352
- n && (o.forEach((s, r) => {
353
- const a = n.rows[e + r];
354
- a && s.forEach((f, d) => {
352
+ n && (o.forEach((r, l) => {
353
+ const a = n.rows[e + l];
354
+ a && r.forEach((i, d) => {
355
355
  const w = a.cells[t + d];
356
- w && S(w, f);
356
+ w && b(w, i);
357
357
  });
358
- }), b());
359
- }, lo = () => [...g.value], ao = () => {
360
- const e = l.value.tFoot;
358
+ }), E());
359
+ }, po = () => [...g.value], yo = () => {
360
+ const e = s.value.tFoot;
361
361
  if (!(!e || e.rows.length === 0))
362
- return Array.from(e.rows[0].cells).map(te);
363
- }, co = (e, t) => {
364
- const o = l.value.tFoot;
362
+ return Array.from(e.rows[0].cells).map(re);
363
+ }, mo = (e, t) => {
364
+ const o = s.value.tFoot;
365
365
  if (!o || o.rows.length === 0) return;
366
366
  const n = o.rows[0].cells[e];
367
- n && S(n, t);
368
- }, uo = (e) => {
369
- const t = l.value.tFoot;
367
+ n && b(n, t);
368
+ }, Co = (e) => {
369
+ const t = s.value.tFoot;
370
370
  if (!t || t.rows.length === 0) return;
371
371
  const o = t.rows[0].cells[e];
372
- return o ? te(o) : void 0;
373
- }, Ee = (e, t, o) => {
374
- Ge(e, t, o.value, o.attributes);
372
+ return o ? re(o) : void 0;
373
+ }, Ne = (e, t, o) => {
374
+ st(e, t, o.value, o.attributes);
375
375
  const n = c.value[0];
376
376
  if (n && n.rows[e]) {
377
- const s = n.rows[e].cells[t];
378
- s && (o.columnSpan !== void 0 && (s.colSpan = o.columnSpan), o.rowSpan !== void 0 && (s.rowSpan = o.rowSpan));
377
+ const r = n.rows[e].cells[t];
378
+ r && (o.columnSpan !== void 0 && (r.colSpan = o.columnSpan), o.rowSpan !== void 0 && (r.rowSpan = o.rowSpan));
379
379
  }
380
- }, Ae = (e, t) => {
380
+ }, ke = (e, t) => {
381
381
  const o = c.value[0];
382
382
  if (!o) return;
383
383
  const n = o.rows[e];
384
- n && (t.forEach((s, r) => {
385
- const a = n.cells[r];
386
- a && S(a, s);
387
- }), b());
388
- }, qe = (e, t) => {
384
+ n && (t.forEach((r, l) => {
385
+ const a = n.cells[l];
386
+ a && b(a, r);
387
+ }), E());
388
+ }, at = (e, t) => {
389
389
  const o = c.value[0];
390
390
  return o ? o.rows[e]?.cells[t] : void 0;
391
- }, io = (e) => c.value[0]?.rows[e], fo = (e) => e.filter((t) => t >= 0 && t < i.value.length).map((t) => [...i.value[t]]), vo = (e) => e.filter((t) => t >= 0 && t < g.value.length).map((t) => i.value.map((o) => o[t])), wo = (e) => {
392
- e.forEach((t, o) => Ae(o, t));
393
- }, ho = (e) => {
391
+ }, Ro = (e) => c.value[0]?.rows[e], So = (e) => e.filter((t) => t >= 0 && t < f.value.length).map((t) => [...f.value[t]]), bo = (e) => e.filter((t) => t >= 0 && t < g.value.length).map((t) => f.value.map((o) => o[t])), Eo = (e) => {
392
+ e.forEach((t, o) => ke(o, t));
393
+ }, Ao = (e) => {
394
394
  e.forEach((t, [o, n]) => {
395
- me(t) ? Ee(o, n, t) : be(o, n, t);
395
+ Ae(t) ? Ne(o, n, t) : Le(o, n, t);
396
396
  });
397
- }, go = () => {
397
+ }, Do = () => {
398
398
  const e = c.value[0];
399
399
  return e ? Array.from(e.rows) : [];
400
- }, po = (e) => {
400
+ }, To = (e) => {
401
401
  const t = c.value[0];
402
402
  return !t || e < 0 || e >= t.rows.length ? [] : Array.from(t.rows[e].cells);
403
- }, yo = (e, t) => {
403
+ }, Mo = (e, t) => {
404
404
  e < 0 || t.forEach((o, n) => {
405
- const s = e + n;
406
- if (s < i.value.length)
407
- Ae(s, o);
405
+ const r = e + n;
406
+ if (r < f.value.length)
407
+ ke(r, o);
408
408
  else {
409
- const r = o.map((a) => me(a) ? a.value : a);
410
- we(r, s), o.forEach((a, f) => {
411
- me(a) && (a.attributes || a.columnSpan !== void 0 || a.rowSpan !== void 0) && Ee(s, f, a);
409
+ const l = o.map((a) => Ae(a) ? a.value : a);
410
+ de(l, r), o.forEach((a, i) => {
411
+ Ae(a) && (a.attributes || a.columnSpan !== void 0 || a.rowSpan !== void 0) && Ne(r, i, a);
412
412
  });
413
413
  }
414
414
  });
415
- }, mo = (e, t, o) => {
416
- const n = i.value[e]?.[t], s = o(n);
417
- return s === !0 ? !0 : { row: e, column: t, value: n, message: typeof s == "string" ? s : "Validation failed" };
418
- }, Co = (e, t) => {
419
- const o = i.value[e];
415
+ }, Fo = (e, t, o) => {
416
+ const n = f.value[e]?.[t], r = o(n);
417
+ return r === !0 ? !0 : { row: e, column: t, value: n, message: typeof r == "string" ? r : "Validation failed" };
418
+ }, Lo = (e, t) => {
419
+ const o = f.value[e];
420
420
  if (!o) return [{ row: e, column: -1, value: void 0, message: "Row not found" }];
421
421
  const n = t([...o]);
422
422
  return n === !0 ? !0 : [{ row: e, column: -1, value: o, message: typeof n == "string" ? n : "Validation failed" }];
423
- }, Ro = (e, t) => {
423
+ }, Ho = (e, t) => {
424
424
  const o = [];
425
- return i.value.forEach((n, s) => {
426
- const r = n[e], a = t(r);
427
- a !== !0 && o.push({ row: s, column: e, value: r, message: typeof a == "string" ? a : "Validation failed" });
425
+ return f.value.forEach((n, r) => {
426
+ const l = n[e], a = t(l);
427
+ a !== !0 && o.push({ row: r, column: e, value: l, message: typeof a == "string" ? a : "Validation failed" });
428
428
  }), o.length === 0 ? !0 : o;
429
- }, So = (e) => {
429
+ }, No = (e) => {
430
430
  const t = [];
431
- return i.value.forEach((o, n) => {
432
- o.forEach((s, r) => {
433
- const a = e(s, n, r);
434
- a !== null && t.push({ row: n, column: r, value: s, message: a });
431
+ return f.value.forEach((o, n) => {
432
+ o.forEach((r, l) => {
433
+ const a = e(r, n, l);
434
+ a !== null && t.push({ row: n, column: l, value: r, message: a });
435
435
  });
436
436
  }), { valid: t.length === 0, errors: t };
437
- }, bo = (e) => i.value.reduce((t, o) => {
437
+ }, ko = (e) => f.value.reduce((t, o) => {
438
438
  const n = Number(o[e]);
439
439
  return t + (isNaN(n) ? 0 : n);
440
- }, 0), Eo = (e) => {
440
+ }, 0), Vo = (e) => {
441
441
  let t = 0;
442
- const o = i.value.reduce((n, s) => {
443
- const r = Number(s[e]);
444
- return isNaN(r) ? n : (t++, n + r);
442
+ const o = f.value.reduce((n, r) => {
443
+ const l = Number(r[e]);
444
+ return isNaN(l) ? n : (t++, n + l);
445
445
  }, 0);
446
446
  return t > 0 ? o / t : 0;
447
- }, Ao = (e) => {
448
- const t = i.value.map((o) => o[e]).filter((o) => o != null);
447
+ }, Bo = (e) => {
448
+ const t = f.value.map((o) => o[e]).filter((o) => o != null);
449
449
  if (t.length !== 0)
450
450
  return t.reduce((o, n) => o < n ? o : n);
451
- }, Do = (e) => {
452
- const t = i.value.map((o) => o[e]).filter((o) => o != null);
451
+ }, Oo = (e) => {
452
+ const t = f.value.map((o) => o[e]).filter((o) => o != null);
453
453
  if (t.length !== 0)
454
454
  return t.reduce((o, n) => o > n ? o : n);
455
- }, Fo = (e, t) => {
456
- const o = i.value.map((n) => n[e]);
455
+ }, Po = (e, t) => {
456
+ const o = f.value.map((n) => n[e]);
457
457
  return t ? o.filter(t).length : o.length;
458
- }, Mo = (e, t) => i.value.reduce((o, n, s) => t.reducer(o, n[e], s), t.initial), Lo = (e, t) => {
458
+ }, Ko = (e, t) => f.value.reduce((o, n, r) => t.reducer(o, n[e], r), t.initial), zo = (e, t) => {
459
459
  const o = c.value[0];
460
- o && (Array.from(o.rows).forEach((n, s) => {
461
- const r = n.cells[e];
462
- if (r) {
463
- const a = t(te(r), s);
464
- S(r, a);
460
+ o && (Array.from(o.rows).forEach((n, r) => {
461
+ const l = n.cells[e];
462
+ if (l) {
463
+ const a = t(re(l), r);
464
+ b(l, a);
465
465
  }
466
- }), b());
467
- }, To = (e, t) => {
466
+ }), E());
467
+ }, $o = (e, t) => {
468
468
  const o = c.value[0];
469
469
  if (!o) return;
470
470
  const n = o.rows[e];
471
- n && (Array.from(n.cells).forEach((s, r) => {
472
- const a = t(te(s), r);
473
- S(s, a);
474
- }), b());
475
- }, Ho = (e) => {
471
+ n && (Array.from(n.cells).forEach((r, l) => {
472
+ const a = t(re(r), l);
473
+ b(r, a);
474
+ }), E());
475
+ }, Jo = (e) => {
476
476
  const t = c.value[0];
477
477
  t && (Array.from(t.rows).forEach((o, n) => {
478
- Array.from(o.cells).forEach((s, r) => {
479
- const a = e(te(s), n, r);
480
- S(s, a);
478
+ Array.from(o.cells).forEach((r, l) => {
479
+ const a = e(re(r), n, l);
480
+ b(r, a);
481
481
  });
482
- }), b());
483
- }, ko = () => {
482
+ }), E());
483
+ }, Uo = () => {
484
484
  const e = [];
485
- return g.value.length > 0 && e.push(g.value.map((t) => Mt(t)).join(",")), i.value.forEach((t) => {
486
- e.push(t.map((o) => Mt(String(o ?? ""))).join(","));
485
+ return g.value.length > 0 && e.push(g.value.map((t) => zt(t)).join(",")), f.value.forEach((t) => {
486
+ e.push(t.map((o) => zt(String(o ?? ""))).join(","));
487
487
  }), e.join(`
488
488
  `);
489
- }, No = () => JSON.stringify({ headers: g.value, data: i.value }), Vo = (e) => {
490
- V(e);
491
- }, zo = (e) => {
489
+ }, jo = () => JSON.stringify({ headers: g.value, data: f.value }), Wo = (e) => {
490
+ k(e);
491
+ }, Go = (e) => {
492
492
  const t = e.split(`
493
- `).filter((s) => s.trim());
493
+ `).filter((r) => r.trim());
494
494
  if (t.length === 0) return;
495
- const o = Lt(t[0]);
496
- j(o);
497
- const n = t.slice(1).map(Lt);
498
- V(n);
499
- }, Po = (e) => {
495
+ const o = $t(t[0]);
496
+ z(o);
497
+ const n = t.slice(1).map($t);
498
+ k(n);
499
+ }, _o = (e) => {
500
500
  const t = JSON.parse(e);
501
- t.headers && j(t.headers), t.data && V(t.data);
502
- }, Bo = (e, t) => {
501
+ t.headers && z(t.headers), t.data && k(t.data);
502
+ }, Qo = (e, t) => {
503
503
  const o = [], n = t?.caseSensitive ? e : e.toLowerCase();
504
- return i.value.forEach((s, r) => {
505
- s.forEach((a, f) => {
504
+ return f.value.forEach((r, l) => {
505
+ r.forEach((a, i) => {
506
506
  const d = String(a ?? "");
507
- (t?.caseSensitive ? d : d.toLowerCase()).includes(n) && o.push({ row: r, column: f, value: a });
507
+ (t?.caseSensitive ? d : d.toLowerCase()).includes(n) && o.push({ row: l, column: i, value: a });
508
508
  });
509
509
  }), o;
510
- }, Ko = (e, t, o) => {
511
- const n = [], s = o?.caseSensitive ? t : t.toLowerCase();
512
- return i.value.forEach((r, a) => {
513
- const f = r[e], d = String(f ?? "");
514
- (o?.caseSensitive ? d : d.toLowerCase()).includes(s) && n.push({ row: a, column: e, value: f });
510
+ }, Io = (e, t, o) => {
511
+ const n = [], r = o?.caseSensitive ? t : t.toLowerCase();
512
+ return f.value.forEach((l, a) => {
513
+ const i = l[e], d = String(i ?? "");
514
+ (o?.caseSensitive ? d : d.toLowerCase()).includes(r) && n.push({ row: a, column: e, value: i });
515
515
  }), n;
516
- }, E = p(/* @__PURE__ */ new Set()), oe = p(/* @__PURE__ */ new Set()), Ie = (e) => {
517
- E.value = /* @__PURE__ */ new Set([...E.value, e]);
518
- }, xe = (e) => {
519
- const t = new Set(E.value);
520
- t.delete(e), E.value = t;
521
- }, $o = (e) => {
522
- E.value.has(e) ? xe(e) : Ie(e);
523
- }, Oo = (e) => E.value.has(e), jo = (e, t) => {
524
- oe.value = /* @__PURE__ */ new Set([...oe.value, `${e},${t}`]);
525
- }, Wo = () => {
526
- E.value = /* @__PURE__ */ new Set(), oe.value = /* @__PURE__ */ new Set();
527
- }, De = /* @__PURE__ */ new Map();
528
- function et(e, t, o, n) {
529
- let s = e.textContent;
530
- const r = () => {
516
+ }, S = p(/* @__PURE__ */ new Set()), se = p(/* @__PURE__ */ new Set()), Ve = (e) => {
517
+ S.value = /* @__PURE__ */ new Set([...S.value, e]);
518
+ }, Be = (e) => {
519
+ const t = new Set(S.value);
520
+ t.delete(e), S.value = t;
521
+ }, Yo = (e) => {
522
+ S.value.has(e) ? Be(e) : Ve(e);
523
+ }, Zo = (e) => S.value.has(e), Xo = (e, t) => {
524
+ se.value = /* @__PURE__ */ new Set([...se.value, `${e},${t}`]);
525
+ }, qo = () => {
526
+ S.value = /* @__PURE__ */ new Set(), se.value = /* @__PURE__ */ new Set();
527
+ }, Oe = /* @__PURE__ */ new Map();
528
+ function ct(e, t, o, n) {
529
+ let r = e.textContent;
530
+ const l = () => {
531
531
  const d = e.textContent ?? "";
532
532
  if ("validator" in n && n.validator && n.validator(d, t, o) !== !0) {
533
- e.textContent = s;
533
+ e.textContent = r;
534
534
  return;
535
535
  }
536
536
  const w = "parser" in n && n.parser ? n.parser(d, t, o) : d;
537
- b(), n.onEdit?.(w, t, o);
537
+ E(), n.onEdit?.(w, t, o);
538
538
  }, a = (d) => {
539
- tt(d) && (d.key === "Enter" ? (d.preventDefault(), e.blur()) : d.key === "Escape" && (d.preventDefault(), e.textContent = s, e.blur()));
540
- }, f = () => {
541
- s = e.textContent;
539
+ ut(d) && (d.key === "Enter" ? (d.preventDefault(), e.blur()) : d.key === "Escape" && (d.preventDefault(), e.textContent = r, e.blur()));
540
+ }, i = () => {
541
+ r = e.textContent;
542
542
  };
543
- e.addEventListener("blur", r), e.addEventListener("keydown", a), e.addEventListener("focus", f), De.set(e, { blur: r, keydown: a, focus: f });
543
+ e.addEventListener("blur", l), e.addEventListener("keydown", a), e.addEventListener("focus", i), Oe.set(e, { blur: l, keydown: a, focus: i });
544
544
  }
545
- function he(e) {
546
- const t = De.get(e);
547
- t && (e.removeEventListener("blur", t.blur), e.removeEventListener("keydown", t.keydown), e.removeEventListener("focus", t.focus), De.delete(e)), e.contentEditable = "false";
545
+ function Ce(e) {
546
+ const t = Oe.get(e);
547
+ t && (e.removeEventListener("blur", t.blur), e.removeEventListener("keydown", t.keydown), e.removeEventListener("focus", t.focus), Oe.delete(e)), e.contentEditable = "false";
548
548
  }
549
- function tt(e) {
549
+ function ut(e) {
550
550
  return "key" in e;
551
551
  }
552
- function Uo(e, t, o) {
552
+ function xo(e, t, o) {
553
553
  return o.editableRows && !o.editableRows.includes(e) ? !1 : !(o.editableColumns && !o.editableColumns.includes(t));
554
554
  }
555
- let ge = null, Fe = null;
556
- const Me = (e = {}) => {
557
- ge = { cells: !0, ...e };
555
+ let Re = null, Pe = null;
556
+ const Ke = (e = {}) => {
557
+ Re = { cells: !0, ...e };
558
558
  const t = c.value[0];
559
559
  t && Array.from(t.rows).forEach((o, n) => {
560
- Array.from(o.cells).forEach((s, r) => {
561
- Uo(n, r, ge) && (s.contentEditable = "true", et(s, n, r, ge));
560
+ Array.from(o.cells).forEach((r, l) => {
561
+ xo(n, l, Re) && (r.contentEditable = "true", ct(r, n, l, Re));
562
562
  });
563
563
  });
564
- }, Jo = () => {
565
- ge = null;
564
+ }, en = () => {
565
+ Re = null;
566
566
  const e = c.value[0];
567
567
  e && Array.from(e.rows).forEach((t) => {
568
- Array.from(t.cells).forEach(he);
568
+ Array.from(t.cells).forEach(Ce);
569
569
  });
570
- }, Qo = (e = {}) => {
571
- Fe = e;
572
- const o = l.value.tHead?.rows[0];
573
- o && Array.from(o.cells).forEach((n, s) => {
574
- n.contentEditable = "true", et(n, -1, s, Fe);
570
+ }, tn = (e = {}) => {
571
+ Pe = e;
572
+ const o = s.value.tHead?.rows[0];
573
+ o && Array.from(o.cells).forEach((n, r) => {
574
+ n.contentEditable = "true", ct(n, -1, r, Pe);
575
575
  });
576
- }, _o = () => {
577
- Fe = null;
578
- const t = l.value.tHead?.rows[0];
579
- t && Array.from(t.cells).forEach(he);
580
- }, Yo = (e, t = {}) => {
581
- Me({ ...t, editableColumns: [e] });
582
- }, Zo = (e) => {
576
+ }, on = () => {
577
+ Pe = null;
578
+ const t = s.value.tHead?.rows[0];
579
+ t && Array.from(t.cells).forEach(Ce);
580
+ }, nn = (e, t = {}) => {
581
+ Ke({ ...t, editableColumns: [e] });
582
+ }, rn = (e) => {
583
583
  const t = c.value[0];
584
584
  t && Array.from(t.rows).forEach((o) => {
585
585
  const n = o.cells[e];
586
- n && he(n);
586
+ n && Ce(n);
587
587
  });
588
- }, Go = (e, t = {}) => {
589
- Me({ ...t, editableRows: [e] });
590
- }, Xo = (e) => {
588
+ }, sn = (e, t = {}) => {
589
+ Ke({ ...t, editableRows: [e] });
590
+ }, ln = (e) => {
591
591
  const t = c.value[0];
592
592
  if (!t) return;
593
593
  const o = t.rows[e];
594
- o && Array.from(o.cells).forEach(he);
595
- }, qo = () => {
594
+ o && Array.from(o.cells).forEach(Ce);
595
+ }, an = () => {
596
596
  const e = c.value[0];
597
597
  if (!e) return () => {
598
598
  };
@@ -600,90 +600,90 @@ function qr(l) {
600
600
  const n = o.target;
601
601
  if (!(n instanceof HTMLTableCellElement) || n.tagName !== "TD" || !(n.parentElement instanceof HTMLTableRowElement)) return;
602
602
  n.contentEditable = "true", n.focus();
603
- const r = window.getSelection();
604
- if (r) {
603
+ const l = window.getSelection();
604
+ if (l) {
605
605
  const w = document.createRange();
606
- w.selectNodeContents(n), r.removeAllRanges(), r.addRange(w);
606
+ w.selectNodeContents(n), l.removeAllRanges(), l.addRange(w);
607
607
  }
608
- const a = n.textContent, f = () => {
609
- n.contentEditable = "false", n.removeEventListener("blur", f), n.removeEventListener("keydown", d), b();
608
+ const a = n.textContent, i = () => {
609
+ n.contentEditable = "false", n.removeEventListener("blur", i), n.removeEventListener("keydown", d), E();
610
610
  }, d = (w) => {
611
- tt(w) && (w.key === "Enter" ? (w.preventDefault(), n.blur()) : w.key === "Escape" && (n.textContent = a, n.blur()));
611
+ ut(w) && (w.key === "Enter" ? (w.preventDefault(), n.blur()) : w.key === "Escape" && (n.textContent = a, n.blur()));
612
612
  };
613
- n.addEventListener("blur", f), n.addEventListener("keydown", d);
613
+ n.addEventListener("blur", i), n.addEventListener("keydown", d);
614
614
  };
615
615
  return e.addEventListener("dblclick", t), () => e.removeEventListener("dblclick", t);
616
- }, Io = (e) => {
616
+ }, cn = (e) => {
617
617
  const t = /* @__PURE__ */ new Map();
618
- return i.value.forEach((o, n) => {
619
- const s = e(o), r = t.get(s) || [];
620
- r.push(n), t.set(s, r);
618
+ return f.value.forEach((o, n) => {
619
+ const r = e(o), l = t.get(r) || [];
620
+ l.push(n), t.set(r, l);
621
621
  }), t;
622
- }, Le = /* @__PURE__ */ new Map(), xo = (e) => {
623
- const t = e.index ?? g.value.length, o = i.value.map((r) => [...r]);
624
- Ye(e.label, void 0, t);
622
+ }, ze = /* @__PURE__ */ new Map(), un = (e) => {
623
+ const t = e.index ?? g.value.length, o = f.value.map((l) => [...l]);
624
+ nt(e.label, void 0, t);
625
625
  const n = c.value[0];
626
- n && Array.from(n.rows).forEach((r, a) => {
627
- const f = r.cells[t];
628
- if (f) {
626
+ n && Array.from(n.rows).forEach((l, a) => {
627
+ const i = l.cells[t];
628
+ if (i) {
629
629
  const d = o[a] ?? [], w = e.computeFunction(d);
630
- S(f, w);
630
+ b(i, w);
631
631
  }
632
- }), b();
633
- const s = L(() => i.value, () => {
634
- const r = c.value[0];
635
- r && Array.from(r.rows).forEach((a, f) => {
632
+ }), E();
633
+ const r = H(() => f.value, () => {
634
+ const l = c.value[0];
635
+ l && Array.from(l.rows).forEach((a, i) => {
636
636
  const d = a.cells[t];
637
637
  if (d) {
638
- const y = (i.value[f] ?? []).filter((re, Vr) => Vr !== t), R = e.computeFunction(y);
639
- S(d, R);
638
+ const y = (f.value[i] ?? []).filter((ie, ll) => ll !== t), R = e.computeFunction(y);
639
+ b(d, R);
640
640
  }
641
641
  });
642
642
  }, { deep: !0, flush: "sync" });
643
- return Le.set(t, { config: e, stopWatcher: s }), t;
644
- }, en = (e) => {
645
- const t = Le.get(e);
646
- t && (t.stopWatcher && t.stopWatcher(), Le.delete(e), Ze(e));
643
+ return ze.set(t, { config: e, stopWatcher: r }), t;
644
+ }, fn = (e) => {
645
+ const t = ze.get(e);
646
+ t && (t.stopWatcher && t.stopWatcher(), ze.delete(e), rt(e));
647
647
  };
648
648
  let A = null;
649
- const ce = () => {
649
+ const we = () => {
650
650
  if (!A) return;
651
- const { currentPage: e, pageSize: t } = A, o = i.value.length, n = (e.value - 1) * t.value, s = Math.min(n + t.value, o), r = [];
652
- for (let f = n; f < s; f++) r.push(f);
653
- A.visibleRows.value = r;
651
+ const { currentPage: e, pageSize: t } = A, o = f.value.length, n = (e.value - 1) * t.value, r = Math.min(n + t.value, o), l = [];
652
+ for (let i = n; i < r; i++) l.push(i);
653
+ A.visibleRows.value = l;
654
654
  const a = c.value[0];
655
- a && Array.from(a.rows).forEach((f, d) => {
656
- f.style.display = r.includes(d) ? "" : "none";
655
+ a && Array.from(a.rows).forEach((i, d) => {
656
+ i.style.display = l.includes(d) ? "" : "none";
657
657
  });
658
- }, tn = (e) => {
658
+ }, dn = (e) => {
659
659
  const t = p(e.currentPage ?? 1), o = p(e.pageSize), n = p([]);
660
660
  A = {
661
- totalPages: m(() => Math.ceil(i.value.length / o.value) || 1),
661
+ totalPages: m(() => Math.ceil(f.value.length / o.value) || 1),
662
662
  currentPage: t,
663
663
  pageSize: o,
664
664
  visibleRows: n
665
- }, ce(), L(() => i.value.length, () => {
666
- const s = A.totalPages.value;
667
- t.value > s && (t.value = s), ce();
665
+ }, we(), H(() => f.value.length, () => {
666
+ const r = A.totalPages.value;
667
+ t.value > r && (t.value = r), we();
668
668
  });
669
- }, on = () => {
670
- A && A.currentPage.value < A.totalPages.value && (A.currentPage.value++, ce());
671
- }, nn = () => {
672
- A && A.currentPage.value > 1 && (A.currentPage.value--, ce());
673
- }, sn = (e) => {
674
- A && e >= 1 && e <= A.totalPages.value && (A.currentPage.value = e, ce());
669
+ }, vn = () => {
670
+ A && A.currentPage.value < A.totalPages.value && (A.currentPage.value++, we());
671
+ }, wn = () => {
672
+ A && A.currentPage.value > 1 && (A.currentPage.value--, we());
673
+ }, hn = (e) => {
674
+ A && e >= 1 && e <= A.totalPages.value && (A.currentPage.value = e, we());
675
675
  };
676
676
  let D = null;
677
- const ot = () => {
677
+ const it = () => {
678
678
  if (!D) return;
679
- const { scrollTop: e, rowHeight: t, overscan: o, containerHeight: n } = D, s = i.value.length, r = Math.floor(e.value / t), a = Math.min(Math.ceil((e.value + n) / t), s), f = Math.max(0, r - o), d = Math.min(s, a + o), w = [];
680
- for (let R = f; R < d; R++) w.push(R);
681
- D.visibleRows.value = w, D.startIndex.value = f, D.endIndex.value = d;
679
+ const { scrollTop: e, rowHeight: t, overscan: o, containerHeight: n } = D, r = f.value.length, l = Math.floor(e.value / t), a = Math.min(Math.ceil((e.value + n) / t), r), i = Math.max(0, l - o), d = Math.min(r, a + o), w = [];
680
+ for (let R = i; R < d; R++) w.push(R);
681
+ D.visibleRows.value = w, D.startIndex.value = i, D.endIndex.value = d;
682
682
  const y = c.value[0];
683
- y && (Array.from(y.rows).forEach((R, re) => {
684
- w.includes(re) ? (R.style.display = "", R.style.transform = `translateY(${re * t}px)`) : R.style.display = "none";
685
- }), y.style.height = `${s * t}px`, y.style.position = "relative");
686
- }, rn = (e) => {
683
+ y && (Array.from(y.rows).forEach((R, ie) => {
684
+ w.includes(ie) ? (R.style.display = "", R.style.transform = `translateY(${ie * t}px)`) : R.style.display = "none";
685
+ }), y.style.height = `${r * t}px`, y.style.position = "relative");
686
+ }, gn = (e) => {
687
687
  const t = p(0);
688
688
  D = {
689
689
  scrollTop: t,
@@ -694,104 +694,104 @@ function qr(l) {
694
694
  startIndex: p(0),
695
695
  endIndex: p(0)
696
696
  };
697
- const o = l.value.parentElement;
697
+ const o = s.value.parentElement;
698
698
  if (o) {
699
699
  const n = () => {
700
- t.value = o.scrollTop, ot();
700
+ t.value = o.scrollTop, it();
701
701
  };
702
- o.addEventListener("scroll", n), D.scrollHandler = n, D.container = o, ot();
703
- const s = c.value[0];
704
- s && Array.from(s.rows).forEach((r) => {
705
- r.style.position = "absolute", r.style.width = "100%", r.style.left = "0";
702
+ o.addEventListener("scroll", n), D.scrollHandler = n, D.container = o, it();
703
+ const r = c.value[0];
704
+ r && Array.from(r.rows).forEach((l) => {
705
+ l.style.position = "absolute", l.style.width = "100%", l.style.left = "0";
706
706
  });
707
707
  }
708
- }, ln = () => {
708
+ }, pn = () => {
709
709
  if (!D) return;
710
710
  D.container && D.scrollHandler && D.container.removeEventListener("scroll", D.scrollHandler);
711
711
  const e = c.value[0];
712
712
  e && (e.style.height = "", e.style.position = "", Array.from(e.rows).forEach((t) => {
713
713
  t.style.display = "", t.style.position = "", t.style.transform = "", t.style.width = "", t.style.left = "";
714
714
  })), D = null;
715
- }, an = () => ({
716
- data: JSON.parse(JSON.stringify(i.value)),
715
+ }, yn = () => ({
716
+ data: JSON.parse(JSON.stringify(f.value)),
717
717
  headers: [...g.value]
718
- }), nt = (e) => {
719
- g.value = [...e.headers], i.value = e.data.map((t) => [...t]);
720
- }, cn = (e) => {
721
- const t = an();
718
+ }), ft = (e) => {
719
+ g.value = [...e.headers], f.value = e.data.map((t) => [...t]);
720
+ }, mn = (e) => {
721
+ const t = yn();
722
722
  try {
723
723
  const o = e();
724
724
  return o instanceof Promise ? o.catch((n) => {
725
- throw nt(t), n;
725
+ throw ft(t), n;
726
726
  }) : o;
727
727
  } catch (o) {
728
- throw nt(t), o;
728
+ throw ft(t), o;
729
729
  }
730
- }, un = (e) => L(() => i.value, (t) => {
730
+ }, Cn = (e) => H(() => f.value, (t) => {
731
731
  e([...t.map((o) => [...o])]);
732
- }, { deep: !0 }), W = p(null), B = p(!1), U = p(!1), fn = {
732
+ }, { deep: !0 }), W = p(null), $ = p(!1), G = p(!1), Rn = {
733
733
  columnIndex: W,
734
- ascending: B,
735
- descending: U
736
- }, st = (e, t) => {
737
- const o = String(e ?? ""), n = String(t ?? ""), s = Number(o), r = Number(n);
738
- return !isNaN(s) && !isNaN(r) ? s - r : o.localeCompare(n);
739
- }, pe = (e, t, o) => {
734
+ ascending: $,
735
+ descending: G
736
+ }, dt = (e, t) => {
737
+ const o = String(e ?? ""), n = String(t ?? ""), r = Number(o), l = Number(n);
738
+ return !isNaN(r) && !isNaN(l) ? r - l : o.localeCompare(n);
739
+ }, Se = (e, t, o) => {
740
740
  const n = c.value[0];
741
741
  if (!n || n.rows.length === 0) return;
742
- const s = [];
743
- for (let r = 0; r < n.rows.length; r++) {
744
- const a = n.rows[r];
742
+ const r = [];
743
+ for (let l = 0; l < n.rows.length; l++) {
744
+ const a = n.rows[l];
745
745
  if (a) {
746
- const f = a.cells[e], d = f ? te(f) : "";
747
- s.push({ element: a, value: d });
746
+ const i = a.cells[e], d = i ? re(i) : "";
747
+ r.push({ element: a, value: d });
748
748
  }
749
749
  }
750
- s.sort((r, a) => {
751
- const f = t(r.value, a.value);
752
- return o ? f : -f;
753
- }), s.forEach(({ element: r }) => {
754
- n.appendChild(r);
755
- }), W.value = e, B.value = o, U.value = !o, b();
756
- }, dn = (e) => {
757
- pe(e, st, !0);
758
- }, vn = (e) => {
759
- pe(e, st, !1);
760
- }, wn = (e, t) => {
761
- pe(e, t, !0);
762
- }, hn = (e, t) => {
763
- pe(e, t, !1);
764
- }, gn = () => {
765
- W.value = null, B.value = !1, U.value = !1;
766
- }, pn = () => W.value, yn = () => W.value === null || B.value === U.value ? !1 : B.value, mn = () => W.value === null || B.value === U.value ? !1 : U.value, Cn = () => W.value === null || B.value === U.value ? !1 : B.value || U.value, Q = p([]), rt = m(() => Q.value.length > 0), Rn = m(() => rt.value ? Q.value.length : i.value.length), Sn = {
767
- isFiltered: rt,
768
- filteredRowCount: Rn,
750
+ r.sort((l, a) => {
751
+ const i = t(l.value, a.value);
752
+ return o ? i : -i;
753
+ }), r.forEach(({ element: l }) => {
754
+ n.appendChild(l);
755
+ }), W.value = e, $.value = o, G.value = !o, E();
756
+ }, Sn = (e) => {
757
+ Se(e, dt, !0);
758
+ }, bn = (e) => {
759
+ Se(e, dt, !1);
760
+ }, En = (e, t) => {
761
+ Se(e, t, !0);
762
+ }, An = (e, t) => {
763
+ Se(e, t, !1);
764
+ }, Dn = () => {
765
+ W.value = null, $.value = !1, G.value = !1;
766
+ }, Tn = () => W.value, Mn = () => W.value === null || $.value === G.value ? !1 : $.value, Fn = () => W.value === null || $.value === G.value ? !1 : G.value, Ln = () => W.value === null || $.value === G.value ? !1 : $.value || G.value, Q = p([]), vt = m(() => Q.value.length > 0), Hn = m(() => vt.value ? Q.value.length : f.value.length), Nn = {
767
+ isFiltered: vt,
768
+ filteredRowCount: Hn,
769
769
  filteredIndices: Q
770
- }, lt = (e) => {
770
+ }, wt = (e) => {
771
771
  const t = c.value[0];
772
772
  if (!t) return;
773
- const o = [], n = i.value;
774
- for (let s = 0; s < n.length; s++) {
775
- const r = n[s];
776
- r && e(r, s) && o.push(s);
773
+ const o = [], n = f.value;
774
+ for (let r = 0; r < n.length; r++) {
775
+ const l = n[r];
776
+ l && e(l, r) && o.push(r);
777
777
  }
778
778
  Q.value = o;
779
- for (let s = 0; s < t.rows.length; s++) {
780
- const r = t.rows[s];
781
- r && (r.style.display = o.includes(s) ? "" : "none");
779
+ for (let r = 0; r < t.rows.length; r++) {
780
+ const l = t.rows[r];
781
+ l && (l.style.display = o.includes(r) ? "" : "none");
782
782
  }
783
- }, Te = (e, t) => {
784
- lt((o) => {
783
+ }, $e = (e, t) => {
784
+ wt((o) => {
785
785
  const n = o[e];
786
786
  return t(n);
787
787
  });
788
- }, bn = (e, t) => {
788
+ }, kn = (e, t) => {
789
789
  const o = String(t ?? "");
790
- Te(e, (n) => String(n ?? "") === o);
791
- }, En = (e, t) => {
790
+ $e(e, (n) => String(n ?? "") === o);
791
+ }, Vn = (e, t) => {
792
792
  const o = new Set(t.map((n) => String(n ?? "")));
793
- Te(e, (n) => o.has(String(n ?? "")));
794
- }, An = () => {
793
+ $e(e, (n) => o.has(String(n ?? "")));
794
+ }, Bn = () => {
795
795
  const e = c.value[0];
796
796
  if (e)
797
797
  for (let t = 0; t < e.rows.length; t++) {
@@ -799,47 +799,47 @@ function qr(l) {
799
799
  o && (o.style.display = "");
800
800
  }
801
801
  Q.value = [];
802
- }, Dn = () => Q.value;
803
- let K = null;
804
- const Fn = (e) => {
805
- K = e;
806
- }, Mn = () => {
807
- K = null;
808
- }, Ln = () => K !== null, Tn = (e) => {
809
- if (!K) return;
810
- const t = i.value[e];
802
+ }, On = () => Q.value;
803
+ let J = null;
804
+ const Pn = (e) => {
805
+ J = e;
806
+ }, Kn = () => {
807
+ J = null;
808
+ }, zn = () => J !== null, $n = (e) => {
809
+ if (!J) return;
810
+ const t = f.value[e];
811
811
  if (t)
812
- return K(t, e);
813
- }, Hn = () => K ? i.value.map((e, t) => K(e, t)) : [], ue = (e) => {
814
- if (!K) return;
815
- const t = i.value;
812
+ return J(t, e);
813
+ }, Jn = () => J ? f.value.map((e, t) => J(e, t)) : [], he = (e) => {
814
+ if (!J) return;
815
+ const t = f.value;
816
816
  for (let o = 0; o < t.length; o++) {
817
817
  const n = t[o];
818
- if (n && K(n, o) === e)
818
+ if (n && J(n, o) === e)
819
819
  return o;
820
820
  }
821
- }, kn = (e) => {
822
- const t = ue(e);
821
+ }, Un = (e) => {
822
+ const t = he(e);
823
823
  if (t === void 0) return;
824
- const o = i.value[t];
824
+ const o = f.value[t];
825
825
  return o ? [...o] : void 0;
826
- }, Nn = (e, t) => {
827
- const o = ue(e);
828
- return o === void 0 ? !1 : (Xe(o, t), !0);
829
- }, Vn = (e) => {
830
- const t = ue(e);
831
- return t === void 0 ? !1 : (_e(t), !0);
832
- }, zn = (e) => ue(e) !== void 0, z = /* @__PURE__ */ new Map(), Pn = (e, t) => {
833
- z.set(e, t);
834
- }, Bn = (e) => {
835
- z.clear(), e.forEach((t, o) => {
836
- t && z.set(o, t);
826
+ }, jn = (e, t) => {
827
+ const o = he(e);
828
+ return o === void 0 ? !1 : (He(o, t), !0);
829
+ }, Wn = (e) => {
830
+ const t = he(e);
831
+ return t === void 0 ? !1 : (Fe(t), !0);
832
+ }, Gn = (e) => he(e) !== void 0, P = /* @__PURE__ */ new Map(), _n = (e, t) => {
833
+ P.set(e, t);
834
+ }, Qn = (e) => {
835
+ P.clear(), e.forEach((t, o) => {
836
+ t && P.set(o, t);
837
837
  });
838
- }, Kn = (e) => {
839
- z.delete(e);
840
- }, $n = () => {
841
- z.clear();
842
- }, On = (e) => z.get(e), jn = (e) => z.has(e), He = (e, t) => {
838
+ }, In = (e) => {
839
+ P.delete(e);
840
+ }, Yn = () => {
841
+ P.clear();
842
+ }, Zn = (e) => P.get(e), Xn = (e) => P.has(e), Je = (e, t) => {
843
843
  if (t.parser)
844
844
  return t.parser(e);
845
845
  const o = String(e ?? "");
@@ -855,761 +855,946 @@ function qr(l) {
855
855
  default:
856
856
  return o;
857
857
  }
858
- }, Wn = (e, t) => {
859
- const o = ae(e, t), n = z.get(t);
860
- return n ? He(o, n) : o;
861
- }, at = (e) => {
862
- const t = i.value[e];
858
+ }, qn = (e, t) => {
859
+ const o = ve(e, t), n = P.get(t);
860
+ return n ? Je(o, n) : o;
861
+ }, ht = (e) => {
862
+ const t = f.value[e];
863
863
  return t ? t.map((o, n) => {
864
- const s = z.get(n);
865
- return s ? He(o, s) : o;
864
+ const r = P.get(n);
865
+ return r ? Je(o, r) : o;
866
866
  }) : [];
867
- }, Un = (e) => {
868
- const t = z.get(e);
869
- return i.value.map((o) => {
867
+ }, xn = (e) => {
868
+ const t = P.get(e);
869
+ return f.value.map((o) => {
870
870
  const n = o[e];
871
- return t ? He(n, t) : n;
871
+ return t ? Je(n, t) : n;
872
872
  });
873
- }, Jn = () => i.value.map((e, t) => at(t)), ie = p(!1), ke = p(null), _ = /* @__PURE__ */ new Map(), Qn = () => {
874
- ie.value = !1, ke.value = JSON.parse(JSON.stringify(i.value)), _.clear();
875
- }, _n = () => {
876
- ie.value = !0;
877
- }, Yn = () => ie.value, Zn = () => _.size > 0, Gn = () => Array.from(_.values()), Xn = () => {
873
+ }, er = () => f.value.map((e, t) => ht(t)), ge = p(!1), Ue = p(null), I = /* @__PURE__ */ new Map(), tr = () => {
874
+ ge.value = !1, Ue.value = JSON.parse(JSON.stringify(f.value)), I.clear();
875
+ }, or = () => {
876
+ ge.value = !0;
877
+ }, nr = () => ge.value, rr = () => I.size > 0, sr = () => Array.from(I.values()), lr = () => {
878
878
  const e = /* @__PURE__ */ new Set();
879
- for (const t of _.values())
879
+ for (const t of I.values())
880
880
  e.add(t.row);
881
881
  return Array.from(e).sort((t, o) => t - o);
882
- }, qn = () => {
882
+ }, ar = () => {
883
883
  const e = /* @__PURE__ */ new Set();
884
- for (const t of _.values())
884
+ for (const t of I.values())
885
885
  e.add(t.column);
886
886
  return Array.from(e).sort((t, o) => t - o);
887
887
  };
888
- L(() => i.value, (e) => {
889
- if (ke.value === null) return;
890
- const t = ke.value;
888
+ H(() => f.value, (e) => {
889
+ if (Ue.value === null) return;
890
+ const t = Ue.value;
891
891
  for (let o = 0; o < Math.max(e.length, t.length); o++) {
892
- const n = e[o] ?? [], s = t[o] ?? [], r = Math.max(n.length, s.length);
893
- for (let a = 0; a < r; a++) {
894
- const f = n[a], d = s[a], w = `${o},${a}`;
895
- String(f ?? "") !== String(d ?? "") ? (_.set(w, { row: o, column: a, oldValue: d, newValue: f }), ie.value = !0) : _.delete(w);
892
+ const n = e[o] ?? [], r = t[o] ?? [], l = Math.max(n.length, r.length);
893
+ for (let a = 0; a < l; a++) {
894
+ const i = n[a], d = r[a], w = `${o},${a}`;
895
+ String(i ?? "") !== String(d ?? "") ? (I.set(w, { row: o, column: a, oldValue: d, newValue: i }), ge.value = !0) : I.delete(w);
896
896
  }
897
897
  }
898
898
  }, { deep: !0 });
899
- const $ = [], Y = [];
900
- let Ne = 50, ne = "", Z = !1;
901
- const ct = () => ({
902
- data: JSON.parse(JSON.stringify(i.value)),
899
+ const U = [], Y = [];
900
+ let je = 50, le = "", Z = !1;
901
+ const gt = () => ({
902
+ data: JSON.parse(JSON.stringify(f.value)),
903
903
  headers: [...g.value]
904
- }), Ve = () => JSON.stringify({ data: i.value, headers: g.value });
905
- L([() => i.value, () => g.value], () => {
904
+ }), We = () => JSON.stringify({ data: f.value, headers: g.value });
905
+ H([() => f.value, () => g.value], () => {
906
906
  if (Z) return;
907
- const e = Ve();
908
- if (e !== ne) {
909
- if (ne !== "") {
910
- const t = JSON.parse(ne);
911
- (t.data.length > 0 || t.headers.length > 0) && ($.push({ data: t.data, headers: t.headers }), $.length > Ne && $.shift(), Y.length = 0);
907
+ const e = We();
908
+ if (e !== le) {
909
+ if (le !== "") {
910
+ const t = JSON.parse(le);
911
+ (t.data.length > 0 || t.headers.length > 0) && (U.push({ data: t.data, headers: t.headers }), U.length > je && U.shift(), Y.length = 0);
912
912
  }
913
- ne = e;
913
+ le = e;
914
914
  }
915
915
  }, { deep: !0, flush: "sync" });
916
- const In = () => {
917
- if ($.length === 0) return !1;
918
- Z = !0, Y.push(ct());
919
- const e = $.pop();
920
- return e ? (V(e.data), j(e.headers), ne = Ve(), Z = !1, !0) : (Z = !1, !1);
921
- }, xn = () => {
916
+ const cr = () => {
917
+ if (U.length === 0) return !1;
918
+ Z = !0, Y.push(gt());
919
+ const e = U.pop();
920
+ return e ? (k(e.data), z(e.headers), le = We(), Z = !1, !0) : (Z = !1, !1);
921
+ }, ur = () => {
922
922
  if (Y.length === 0) return !1;
923
- Z = !0, $.push(ct());
923
+ Z = !0, U.push(gt());
924
924
  const e = Y.pop();
925
- return e ? (V(e.data), j(e.headers), ne = Ve(), Z = !1, !0) : (Z = !1, !1);
926
- }, es = () => {
927
- $.length = 0, Y.length = 0;
928
- }, ts = () => $.length > 0, os = () => Y.length > 0, ns = () => $.length, ss = () => Y.length, rs = (e) => {
929
- Ne = e;
930
- }, ls = () => Ne, as = () => {
931
- const e = i.value.length;
925
+ return e ? (k(e.data), z(e.headers), le = We(), Z = !1, !0) : (Z = !1, !1);
926
+ }, ir = () => {
927
+ U.length = 0, Y.length = 0;
928
+ }, fr = () => U.length > 0, dr = () => Y.length > 0, vr = () => U.length, wr = () => Y.length, hr = (e) => {
929
+ je = e;
930
+ }, gr = () => je, pr = () => {
931
+ const e = f.value.length;
932
932
  for (let t = 0; t < e; t++)
933
- E.value.add(t);
934
- }, cs = () => {
935
- E.value.clear();
936
- }, us = (e, t) => {
933
+ S.value.add(t);
934
+ }, yr = () => {
935
+ S.value.clear();
936
+ }, mr = (e, t) => {
937
937
  const o = Math.min(e, t), n = Math.max(e, t);
938
- for (let s = o; s <= n; s++)
939
- s >= 0 && s < i.value.length && E.value.add(s);
940
- }, is = () => {
941
- const e = i.value.length, t = /* @__PURE__ */ new Set();
938
+ for (let r = o; r <= n; r++)
939
+ r >= 0 && r < f.value.length && S.value.add(r);
940
+ }, Cr = () => {
941
+ const e = f.value.length, t = /* @__PURE__ */ new Set();
942
942
  for (let o = 0; o < e; o++)
943
- E.value.has(o) || t.add(o);
944
- E.value = t;
945
- }, fs = () => {
946
- const e = [], t = Array.from(E.value).sort((o, n) => o - n);
943
+ S.value.has(o) || t.add(o);
944
+ S.value = t;
945
+ }, Rr = () => {
946
+ const e = [], t = Array.from(S.value).sort((o, n) => o - n);
947
947
  for (const o of t) {
948
- const n = i.value[o];
948
+ const n = f.value[o];
949
949
  n && e.push([...n]);
950
950
  }
951
951
  return e;
952
- }, ut = () => Array.from(E.value).sort((e, t) => e - t), it = () => {
952
+ }, pt = () => Array.from(S.value).sort((e, t) => e - t), yt = () => {
953
953
  const e = [];
954
- for (const t of oe.value) {
954
+ for (const t of se.value) {
955
955
  const o = t.split(",");
956
956
  if (o.length === 2) {
957
- const n = parseInt(o[0] ?? "", 10), s = parseInt(o[1] ?? "", 10);
958
- !isNaN(n) && !isNaN(s) && e.push({ row: n, column: s });
957
+ const n = parseInt(o[0] ?? "", 10), r = parseInt(o[1] ?? "", 10);
958
+ !isNaN(n) && !isNaN(r) && e.push({ row: n, column: r });
959
959
  }
960
960
  }
961
961
  return e.sort((t, o) => t.row === o.row ? t.column - o.column : t.row - o.row);
962
- }, M = p(null), O = (e, t) => {
963
- if (e >= 0 && e < i.value.length && t >= 0 && t < g.value.length) {
964
- M.value = { row: e, column: t };
965
- const o = qe(e, t);
962
+ }, F = p(null), j = (e, t) => {
963
+ if (e >= 0 && e < f.value.length && t >= 0 && t < g.value.length) {
964
+ F.value = { row: e, column: t };
965
+ const o = at(e, t);
966
966
  o && o.focus();
967
967
  }
968
- }, ds = () => {
969
- M.value = null;
970
- }, vs = () => M.value ? { ...M.value } : null, ws = (e, t) => {
971
- const o = M.value;
968
+ }, Sr = () => {
969
+ F.value = null;
970
+ }, br = () => F.value ? { ...F.value } : null, Er = (e, t) => {
971
+ const o = F.value;
972
972
  return o !== null && o.row === e && o.column === t;
973
- }, ft = () => {
974
- const e = M.value;
975
- return !e || e.row <= 0 ? !1 : (O(e.row - 1, e.column), !0);
976
- }, dt = () => {
977
- const e = M.value;
978
- return !e || e.row >= i.value.length - 1 ? !1 : (O(e.row + 1, e.column), !0);
979
- }, vt = () => {
980
- const e = M.value;
981
- return !e || e.column <= 0 ? !1 : (O(e.row, e.column - 1), !0);
982
- }, wt = () => {
983
- const e = M.value;
984
- return !e || e.column >= g.value.length - 1 ? !1 : (O(e.row, e.column + 1), !0);
985
- }, ht = () => {
986
- i.value.length > 0 && g.value.length > 0 && O(0, 0);
987
- }, gt = () => {
988
- const e = i.value.length, t = g.value.length;
989
- e > 0 && t > 0 && O(e - 1, t - 1);
990
- }, pt = () => {
991
- const e = M.value;
992
- e && O(e.row, 0);
993
- }, yt = () => {
994
- const e = M.value;
995
- e && g.value.length > 0 && O(e.row, g.value.length - 1);
996
- }, hs = () => {
973
+ }, mt = () => {
974
+ const e = F.value;
975
+ return !e || e.row <= 0 ? !1 : (j(e.row - 1, e.column), !0);
976
+ }, Ct = () => {
977
+ const e = F.value;
978
+ return !e || e.row >= f.value.length - 1 ? !1 : (j(e.row + 1, e.column), !0);
979
+ }, Rt = () => {
980
+ const e = F.value;
981
+ return !e || e.column <= 0 ? !1 : (j(e.row, e.column - 1), !0);
982
+ }, St = () => {
983
+ const e = F.value;
984
+ return !e || e.column >= g.value.length - 1 ? !1 : (j(e.row, e.column + 1), !0);
985
+ }, bt = () => {
986
+ f.value.length > 0 && g.value.length > 0 && j(0, 0);
987
+ }, Et = () => {
988
+ const e = f.value.length, t = g.value.length;
989
+ e > 0 && t > 0 && j(e - 1, t - 1);
990
+ }, At = () => {
991
+ const e = F.value;
992
+ e && j(e.row, 0);
993
+ }, Dt = () => {
994
+ const e = F.value;
995
+ e && g.value.length > 0 && j(e.row, g.value.length - 1);
996
+ }, Ar = () => {
997
997
  const e = (t) => {
998
- if (M.value)
998
+ if (F.value)
999
999
  switch (t.key) {
1000
1000
  case "ArrowUp":
1001
- ft() && t.preventDefault();
1001
+ mt() && t.preventDefault();
1002
1002
  break;
1003
1003
  case "ArrowDown":
1004
- dt() && t.preventDefault();
1004
+ Ct() && t.preventDefault();
1005
1005
  break;
1006
1006
  case "ArrowLeft":
1007
- vt() && t.preventDefault();
1007
+ Rt() && t.preventDefault();
1008
1008
  break;
1009
1009
  case "ArrowRight":
1010
- wt() && t.preventDefault();
1010
+ St() && t.preventDefault();
1011
1011
  break;
1012
1012
  case "Home":
1013
- t.ctrlKey ? ht() : pt(), t.preventDefault();
1013
+ t.ctrlKey ? bt() : At(), t.preventDefault();
1014
1014
  break;
1015
1015
  case "End":
1016
- t.ctrlKey ? gt() : yt(), t.preventDefault();
1016
+ t.ctrlKey ? Et() : Dt(), t.preventDefault();
1017
1017
  break;
1018
1018
  }
1019
1019
  };
1020
- return l.value.addEventListener("keydown", e), () => l.value.removeEventListener("keydown", e);
1021
- }, H = p(/* @__PURE__ */ new Set()), gs = m(() => g.value.length - H.value.size), mt = () => {
1022
- const e = l.value.tHead, t = c.value[0], o = l.value.tFoot, n = (s) => {
1023
- for (let r = 0; r < s.cells.length; r++) {
1024
- const a = s.cells[r];
1025
- a && (a.style.display = H.value.has(r) ? "none" : "");
1020
+ return s.value.addEventListener("keydown", e), () => s.value.removeEventListener("keydown", e);
1021
+ }, V = p(/* @__PURE__ */ new Set()), Dr = m(() => g.value.length - V.value.size), Tt = () => {
1022
+ const e = s.value.tHead, t = c.value[0], o = s.value.tFoot, n = (r) => {
1023
+ for (let l = 0; l < r.cells.length; l++) {
1024
+ const a = r.cells[l];
1025
+ a && (a.style.display = V.value.has(l) ? "none" : "");
1026
1026
  }
1027
1027
  };
1028
1028
  if (e)
1029
- for (let s = 0; s < e.rows.length; s++) {
1030
- const r = e.rows[s];
1031
- r && n(r);
1029
+ for (let r = 0; r < e.rows.length; r++) {
1030
+ const l = e.rows[r];
1031
+ l && n(l);
1032
1032
  }
1033
1033
  if (t)
1034
- for (let s = 0; s < t.rows.length; s++) {
1035
- const r = t.rows[s];
1036
- r && n(r);
1034
+ for (let r = 0; r < t.rows.length; r++) {
1035
+ const l = t.rows[r];
1036
+ l && n(l);
1037
1037
  }
1038
1038
  if (o)
1039
- for (let s = 0; s < o.rows.length; s++) {
1040
- const r = o.rows[s];
1041
- r && n(r);
1039
+ for (let r = 0; r < o.rows.length; r++) {
1040
+ const l = o.rows[r];
1041
+ l && n(l);
1042
1042
  }
1043
- }, Ct = (e) => {
1044
- const t = new Set(H.value);
1045
- t.add(e), H.value = t, mt();
1046
- }, Rt = (e) => {
1047
- const t = new Set(H.value);
1048
- t.delete(e), H.value = t, mt();
1049
- }, ps = (e) => {
1050
- H.value.has(e) ? Rt(e) : Ct(e);
1051
- }, ys = (e) => !H.value.has(e), ms = () => {
1043
+ }, Mt = (e) => {
1044
+ const t = new Set(V.value);
1045
+ t.add(e), V.value = t, Tt();
1046
+ }, Ft = (e) => {
1047
+ const t = new Set(V.value);
1048
+ t.delete(e), V.value = t, Tt();
1049
+ }, Tr = (e) => {
1050
+ V.value.has(e) ? Ft(e) : Mt(e);
1051
+ }, Mr = (e) => !V.value.has(e), Fr = () => {
1052
1052
  const e = [];
1053
1053
  for (let t = 0; t < g.value.length; t++)
1054
- H.value.has(t) || e.push(t);
1054
+ V.value.has(t) || e.push(t);
1055
1055
  return e;
1056
- }, Cs = () => Array.from(H.value).sort((e, t) => e - t), fe = (e, t) => {
1056
+ }, Lr = () => Array.from(V.value).sort((e, t) => e - t), pe = (e, t) => {
1057
1057
  const o = c.value[0];
1058
1058
  if (!o || e < 0 || e >= o.rows.length || t < 0 || t >= o.rows.length || e === t) return;
1059
1059
  const n = o.rows[e];
1060
1060
  if (n) {
1061
1061
  if (t < e) {
1062
- const s = o.rows[t];
1063
- s && o.insertBefore(n, s);
1062
+ const r = o.rows[t];
1063
+ r && o.insertBefore(n, r);
1064
1064
  } else {
1065
- const s = o.rows[t + 1];
1066
- s ? o.insertBefore(n, s) : o.appendChild(n);
1065
+ const r = o.rows[t + 1];
1066
+ r ? o.insertBefore(n, r) : o.appendChild(n);
1067
1067
  }
1068
- b();
1068
+ E();
1069
1069
  }
1070
- }, Rs = (e) => e <= 0 ? !1 : (fe(e, e - 1), !0), Ss = (e) => {
1070
+ }, Hr = (e) => e <= 0 ? !1 : (pe(e, e - 1), !0), Nr = (e) => {
1071
1071
  const t = c.value[0];
1072
- return !t || e >= t.rows.length - 1 ? !1 : (fe(e, e + 1), !0);
1073
- }, bs = (e) => {
1074
- fe(e, 0);
1075
- }, Es = (e) => {
1072
+ return !t || e >= t.rows.length - 1 ? !1 : (pe(e, e + 1), !0);
1073
+ }, kr = (e) => {
1074
+ pe(e, 0);
1075
+ }, Vr = (e) => {
1076
1076
  const t = c.value[0];
1077
- t && fe(e, t.rows.length - 1);
1078
- }, As = (e, t) => {
1077
+ t && pe(e, t.rows.length - 1);
1078
+ }, Br = (e, t) => {
1079
1079
  const o = c.value[0];
1080
1080
  if (!o || e < 0 || e >= o.rows.length || t < 0 || t >= o.rows.length || e === t) return;
1081
- const n = o.rows[e], s = o.rows[t];
1082
- if (!n || !s) return;
1083
- const r = document.createElement("tr");
1084
- o.insertBefore(r, n), o.insertBefore(n, s), o.insertBefore(s, r), o.removeChild(r), b();
1085
- }, de = (e, t) => {
1081
+ const n = o.rows[e], r = o.rows[t];
1082
+ if (!n || !r) return;
1083
+ const l = document.createElement("tr");
1084
+ o.insertBefore(l, n), o.insertBefore(n, r), o.insertBefore(r, l), o.removeChild(l), E();
1085
+ }, ye = (e, t) => {
1086
1086
  if (e < 0 || e >= g.value.length || t < 0 || t >= g.value.length || e === t) return;
1087
1087
  const o = [...g.value], [n] = o.splice(e, 1);
1088
1088
  n !== void 0 && o.splice(t, 0, n);
1089
- const s = i.value.map((r) => {
1090
- const a = [...r], [f] = a.splice(e, 1);
1091
- return f !== void 0 && a.splice(t, 0, f), a;
1089
+ const r = f.value.map((l) => {
1090
+ const a = [...l], [i] = a.splice(e, 1);
1091
+ return i !== void 0 && a.splice(t, 0, i), a;
1092
1092
  });
1093
- j(o), V(s);
1094
- }, Ds = (e) => e <= 0 ? !1 : (de(e, e - 1), !0), Fs = (e) => e >= g.value.length - 1 ? !1 : (de(e, e + 1), !0), Ms = (e) => {
1095
- de(e, 0);
1096
- }, Ls = (e) => {
1097
- de(e, g.value.length - 1);
1098
- }, Ts = (e, t) => {
1093
+ z(o), k(r);
1094
+ }, Or = (e) => e <= 0 ? !1 : (ye(e, e - 1), !0), Pr = (e) => e >= g.value.length - 1 ? !1 : (ye(e, e + 1), !0), Kr = (e) => {
1095
+ ye(e, 0);
1096
+ }, zr = (e) => {
1097
+ ye(e, g.value.length - 1);
1098
+ }, $r = (e, t) => {
1099
1099
  if (e < 0 || e >= g.value.length || t < 0 || t >= g.value.length || e === t) return;
1100
1100
  const o = [...g.value], n = o[e];
1101
1101
  o[e] = o[t] ?? "", o[t] = n ?? "";
1102
- const s = i.value.map((r) => {
1103
- const a = [...r], f = a[e];
1104
- return a[e] = a[t], a[t] = f, a;
1102
+ const r = f.value.map((l) => {
1103
+ const a = [...l], i = a[e];
1104
+ return a[e] = a[t], a[t] = i, a;
1105
1105
  });
1106
- j(o), V(s);
1107
- }, ze = (e) => e.map((t) => t.map((o) => String(o ?? "")).join(" ")).join(`
1108
- `), Hs = () => {
1109
- const e = it();
1106
+ z(o), k(r);
1107
+ }, Ge = (e) => e.map((t) => t.map((o) => String(o ?? "")).join(" ")).join(`
1108
+ `), Jr = () => {
1109
+ const e = yt();
1110
1110
  if (e.length === 0) return "";
1111
- const t = new Set(e.map((d) => d.row)), o = new Set(e.map((d) => d.column)), n = Math.min(...t), s = Math.max(...t), r = Math.min(...o), a = Math.max(...o), f = [];
1112
- for (let d = n; d <= s; d++) {
1111
+ const t = new Set(e.map((d) => d.row)), o = new Set(e.map((d) => d.column)), n = Math.min(...t), r = Math.max(...t), l = Math.min(...o), a = Math.max(...o), i = [];
1112
+ for (let d = n; d <= r; d++) {
1113
1113
  const w = [];
1114
- for (let y = r; y <= a; y++)
1115
- e.some((R) => R.row === d && R.column === y) ? w.push(ae(d, y)) : w.push("");
1116
- f.push(w);
1114
+ for (let y = l; y <= a; y++)
1115
+ e.some((R) => R.row === d && R.column === y) ? w.push(ve(d, y)) : w.push("");
1116
+ i.push(w);
1117
1117
  }
1118
- return ze(f);
1119
- }, ks = () => {
1120
- const t = ut().map((o) => i.value[o] ?? []);
1121
- return ze(t);
1122
- }, Ns = (e) => {
1123
- const t = i.value[e];
1118
+ return Ge(i);
1119
+ }, Ur = () => {
1120
+ const t = pt().map((o) => f.value[o] ?? []);
1121
+ return Ge(t);
1122
+ }, jr = (e) => {
1123
+ const t = f.value[e];
1124
1124
  return t ? t.map((o) => String(o ?? "")).join(" ") : "";
1125
- }, Vs = (e) => i.value.map((t) => String(t[e] ?? "")).join(`
1126
- `), zs = (e, t) => String(ae(e, t) ?? ""), Ps = (e, t, o, n) => {
1127
- const s = [], r = Math.min(e, o), a = Math.max(e, o), f = Math.min(t, n), d = Math.max(t, n);
1128
- for (let w = r; w <= a; w++) {
1125
+ }, Wr = (e) => f.value.map((t) => String(t[e] ?? "")).join(`
1126
+ `), Gr = (e, t) => String(ve(e, t) ?? ""), _r = (e, t, o, n) => {
1127
+ const r = [], l = Math.min(e, o), a = Math.max(e, o), i = Math.min(t, n), d = Math.max(t, n);
1128
+ for (let w = l; w <= a; w++) {
1129
1129
  const y = [];
1130
- for (let R = f; R <= d; R++)
1131
- y.push(ae(w, R));
1132
- s.push(y);
1130
+ for (let R = i; R <= d; R++)
1131
+ y.push(ve(w, R));
1132
+ r.push(y);
1133
1133
  }
1134
- return ze(s);
1135
- }, Bs = (e, t, o) => {
1134
+ return Ge(r);
1135
+ }, Qr = (e, t, o) => {
1136
1136
  const n = o.split(`
1137
1137
  `);
1138
- for (let s = 0; s < n.length; s++) {
1139
- const r = n[s];
1140
- if (r === void 0) continue;
1141
- const a = r.split(" ");
1142
- for (let f = 0; f < a.length; f++) {
1143
- const d = a[f];
1144
- d !== void 0 && be(e + s, t + f, d);
1138
+ for (let r = 0; r < n.length; r++) {
1139
+ const l = n[r];
1140
+ if (l === void 0) continue;
1141
+ const a = l.split(" ");
1142
+ for (let i = 0; i < a.length; i++) {
1143
+ const d = a[i];
1144
+ d !== void 0 && Le(e + r, t + i, d);
1145
1145
  }
1146
1146
  }
1147
- }, P = p(/* @__PURE__ */ new Set()), k = p([]), N = p([]), St = (e) => {
1148
- const t = new Set(P.value);
1149
- t.add(e), P.value = t;
1150
- }, bt = (e) => {
1151
- const t = new Set(P.value);
1152
- t.delete(e), P.value = t;
1153
- }, Ks = (e) => {
1154
- P.value.has(e) ? bt(e) : St(e);
1155
- }, $s = () => {
1147
+ }, K = p(/* @__PURE__ */ new Set()), B = p([]), O = p([]), Lt = (e) => {
1148
+ const t = new Set(K.value);
1149
+ t.add(e), K.value = t;
1150
+ }, Ht = (e) => {
1151
+ const t = new Set(K.value);
1152
+ t.delete(e), K.value = t;
1153
+ }, Ir = (e) => {
1154
+ K.value.has(e) ? Ht(e) : Lt(e);
1155
+ }, Yr = () => {
1156
1156
  const e = /* @__PURE__ */ new Set();
1157
- for (let t = 0; t < i.value.length; t++)
1157
+ for (let t = 0; t < f.value.length; t++)
1158
1158
  e.add(t);
1159
- P.value = e;
1160
- }, Os = () => {
1161
- P.value = /* @__PURE__ */ new Set();
1162
- }, js = (e) => P.value.has(e), Ws = () => Array.from(P.value).sort((e, t) => e - t), Us = (e) => {
1163
- k.value.includes(e) || (k.value = [...k.value, e], N.value = N.value.filter((t) => t !== e));
1164
- }, Js = (e) => {
1165
- N.value.includes(e) || (N.value = [...N.value, e], k.value = k.value.filter((t) => t !== e));
1166
- }, Qs = (e) => {
1167
- k.value = k.value.filter((t) => t !== e), N.value = N.value.filter((t) => t !== e);
1168
- }, _s = () => {
1169
- k.value = [], N.value = [];
1170
- }, Ys = (e) => k.value.includes(e), Zs = (e) => N.value.includes(e), Gs = () => [...k.value], Xs = () => [...N.value], G = /* @__PURE__ */ new Map(), X = /* @__PURE__ */ new Map(), q = /* @__PURE__ */ new Map(), qs = (e, t, o, n) => {
1171
- const s = `${e},${t}`;
1172
- G.has(s) || G.set(s, /* @__PURE__ */ new Map()), G.get(s)?.set(o, n);
1173
- }, Is = (e, t, o) => {
1159
+ K.value = e;
1160
+ }, Zr = () => {
1161
+ K.value = /* @__PURE__ */ new Set();
1162
+ }, Xr = (e) => K.value.has(e), qr = () => Array.from(K.value).sort((e, t) => e - t), xr = (e) => {
1163
+ B.value.includes(e) || (B.value = [...B.value, e], O.value = O.value.filter((t) => t !== e));
1164
+ }, es = (e) => {
1165
+ O.value.includes(e) || (O.value = [...O.value, e], B.value = B.value.filter((t) => t !== e));
1166
+ }, ts = (e) => {
1167
+ B.value = B.value.filter((t) => t !== e), O.value = O.value.filter((t) => t !== e);
1168
+ }, os = () => {
1169
+ B.value = [], O.value = [];
1170
+ }, ns = (e) => B.value.includes(e), rs = (e) => O.value.includes(e), ss = () => [...B.value], ls = () => [...O.value], X = /* @__PURE__ */ new Map(), q = /* @__PURE__ */ new Map(), x = /* @__PURE__ */ new Map(), as = (e, t, o, n) => {
1171
+ const r = `${e},${t}`;
1172
+ X.has(r) || X.set(r, /* @__PURE__ */ new Map()), X.get(r)?.set(o, n);
1173
+ }, cs = (e, t, o) => {
1174
1174
  const n = `${e},${t}`;
1175
- return G.get(n)?.get(o);
1176
- }, xs = (e, t, o) => {
1175
+ return X.get(n)?.get(o);
1176
+ }, us = (e, t, o) => {
1177
1177
  const n = `${e},${t}`;
1178
- return G.get(n)?.has(o) ?? !1;
1179
- }, er = (e, t) => {
1178
+ return X.get(n)?.has(o) ?? !1;
1179
+ }, is = (e, t) => {
1180
1180
  const o = `${e},${t}`;
1181
- G.delete(o);
1182
- }, tr = (e, t, o) => {
1181
+ X.delete(o);
1182
+ }, fs = (e, t, o) => {
1183
1183
  const n = `${e},${t}`;
1184
- G.get(n)?.delete(o);
1185
- }, or = (e, t, o) => {
1186
- X.has(e) || X.set(e, /* @__PURE__ */ new Map()), X.get(e)?.set(t, o);
1187
- }, nr = (e, t) => X.get(e)?.get(t), sr = (e, t) => X.get(e)?.has(t) ?? !1, rr = (e) => {
1188
- X.delete(e);
1189
- }, lr = (e, t) => {
1190
- X.get(e)?.delete(t);
1191
- }, ar = (e, t, o) => {
1184
+ X.get(n)?.delete(o);
1185
+ }, ds = (e, t, o) => {
1192
1186
  q.has(e) || q.set(e, /* @__PURE__ */ new Map()), q.get(e)?.set(t, o);
1193
- }, cr = (e, t) => q.get(e)?.get(t), ur = (e, t) => q.get(e)?.has(t) ?? !1, ir = (e) => {
1187
+ }, vs = (e, t) => q.get(e)?.get(t), ws = (e, t) => q.get(e)?.has(t) ?? !1, hs = (e) => {
1194
1188
  q.delete(e);
1195
- }, fr = (e, t) => {
1189
+ }, gs = (e, t) => {
1196
1190
  q.get(e)?.delete(t);
1197
- }, dr = (e) => () => {
1198
- }, vr = (e) => () => {
1199
- }, wr = (e) => () => {
1200
- }, hr = (e) => () => {
1201
- }, gr = (e) => {
1202
- const t = L(() => E.value, (o) => {
1191
+ }, ps = (e, t, o) => {
1192
+ x.has(e) || x.set(e, /* @__PURE__ */ new Map()), x.get(e)?.set(t, o);
1193
+ }, ys = (e, t) => x.get(e)?.get(t), ms = (e, t) => x.get(e)?.has(t) ?? !1, Cs = (e) => {
1194
+ x.delete(e);
1195
+ }, Rs = (e, t) => {
1196
+ x.get(e)?.delete(t);
1197
+ }, Ss = (e) => () => {
1198
+ }, bs = (e) => () => {
1199
+ }, Es = (e) => () => {
1200
+ }, As = (e) => () => {
1201
+ }, Ds = (e) => {
1202
+ const t = H(() => S.value, (o) => {
1203
1203
  e(o);
1204
1204
  }, { deep: !0 });
1205
1205
  return () => {
1206
1206
  t();
1207
1207
  };
1208
- }, pr = (e) => {
1209
- const t = L(() => oe.value, (o) => {
1208
+ }, Ts = (e) => {
1209
+ const t = H(() => se.value, (o) => {
1210
1210
  e(o);
1211
1211
  }, { deep: !0 });
1212
1212
  return () => {
1213
1213
  t();
1214
1214
  };
1215
- }, yr = (e) => {
1216
- const t = L([W, B], ([o, n]) => {
1215
+ }, Ms = (e) => {
1216
+ const t = H([W, $], ([o, n]) => {
1217
1217
  e(o, n);
1218
1218
  });
1219
1219
  return () => {
1220
1220
  t();
1221
1221
  };
1222
- }, mr = (e) => {
1223
- const t = L(() => Q.value, (o) => {
1222
+ }, Fs = (e) => {
1223
+ const t = H(() => Q.value, (o) => {
1224
1224
  e(o);
1225
1225
  });
1226
1226
  return () => {
1227
1227
  t();
1228
1228
  };
1229
- }, Cr = (e) => {
1230
- const t = L(() => M.value, (o) => {
1229
+ }, Ls = (e) => {
1230
+ const t = H(() => F.value, (o) => {
1231
1231
  e(o ? { ...o } : null);
1232
1232
  });
1233
1233
  return () => {
1234
1234
  t();
1235
1235
  };
1236
- }, Rr = (e) => {
1237
- const t = L(() => H.value, (o, n) => {
1238
- for (const s of o)
1239
- n?.has(s) || e(s, !1);
1236
+ }, Hs = (e) => {
1237
+ const t = H(() => V.value, (o, n) => {
1238
+ for (const r of o)
1239
+ n?.has(r) || e(r, !1);
1240
1240
  if (n)
1241
- for (const s of n)
1242
- o.has(s) || e(s, !0);
1241
+ for (const r of n)
1242
+ o.has(r) || e(r, !0);
1243
1243
  });
1244
1244
  return () => {
1245
1245
  t();
1246
1246
  };
1247
1247
  };
1248
- let J = 0, se = null;
1249
- const Et = () => {
1250
- J === 0 && (se = {
1251
- data: JSON.parse(JSON.stringify(i.value)),
1248
+ let _ = 0, ae = null;
1249
+ const Nt = () => {
1250
+ _ === 0 && (ae = {
1251
+ data: JSON.parse(JSON.stringify(f.value)),
1252
1252
  headers: [...g.value]
1253
- }), J++;
1254
- }, At = () => {
1255
- J > 0 && (J--, J === 0 && (se = null, b()));
1256
- }, Dt = () => {
1257
- J > 0 && se && (V(se.data), j(se.headers), J = 0, se = null);
1258
- }, Sr = () => J > 0, br = (e) => {
1259
- Et();
1253
+ }), _++;
1254
+ }, kt = () => {
1255
+ _ > 0 && (_--, _ === 0 && (ae = null, E()));
1256
+ }, Vt = () => {
1257
+ _ > 0 && ae && (k(ae.data), z(ae.headers), _ = 0, ae = null);
1258
+ }, Ns = () => _ > 0, ks = (e) => {
1259
+ Nt();
1260
1260
  try {
1261
- e(), At();
1261
+ e(), kt();
1262
1262
  } catch (t) {
1263
- throw Dt(), t;
1263
+ throw Vt(), t;
1264
1264
  }
1265
- }, Pe = p(!1), Be = /* @__PURE__ */ new Set(), Ke = /* @__PURE__ */ new Set(), $e = /* @__PURE__ */ new Set(), I = (e) => {
1266
- Pe.value = e;
1267
- }, Er = (e, t, o) => {
1265
+ }, _e = p(!1), Qe = /* @__PURE__ */ new Set(), Ie = /* @__PURE__ */ new Set(), Ye = /* @__PURE__ */ new Set(), ee = (e) => {
1266
+ _e.value = e;
1267
+ }, Vs = (e, t, o) => {
1268
1268
  const n = `${e},${t}`;
1269
- o ? Be.add(n) : Be.delete(n);
1270
- }, Ar = (e, t) => {
1271
- t ? Ke.add(e) : Ke.delete(e);
1272
- }, Dr = (e, t) => {
1273
- t ? $e.add(e) : $e.delete(e);
1274
- }, Fr = () => Pe.value, Mr = (e, t) => Be.has(`${e},${t}`), Lr = (e) => Ke.has(e), Tr = (e) => $e.has(e), Hr = async (e) => {
1275
- I(!0);
1269
+ o ? Qe.add(n) : Qe.delete(n);
1270
+ }, Bs = (e, t) => {
1271
+ t ? Ie.add(e) : Ie.delete(e);
1272
+ }, Os = (e, t) => {
1273
+ t ? Ye.add(e) : Ye.delete(e);
1274
+ }, Ps = () => _e.value, Ks = (e, t) => Qe.has(`${e},${t}`), zs = (e) => Ie.has(e), $s = (e) => Ye.has(e), Js = async (e) => {
1275
+ ee(!0);
1276
1276
  try {
1277
1277
  const t = await e();
1278
- V(t);
1278
+ k(t);
1279
1279
  } finally {
1280
- I(!1);
1280
+ ee(!1);
1281
1281
  }
1282
- }, kr = async (e) => {
1283
- I(!0);
1282
+ }, Us = async (e) => {
1283
+ ee(!0);
1284
1284
  try {
1285
1285
  const t = await e();
1286
1286
  for (const o of t)
1287
- we(o);
1287
+ de(o);
1288
1288
  } finally {
1289
- I(!1);
1289
+ ee(!1);
1290
1290
  }
1291
- }, Nr = async (e) => {
1292
- I(!0);
1291
+ }, js = async (e) => {
1292
+ ee(!0);
1293
1293
  try {
1294
1294
  const t = await e();
1295
1295
  for (let o = t.length - 1; o >= 0; o--) {
1296
1296
  const n = t[o];
1297
- n && we(n, 0);
1297
+ n && de(n, 0);
1298
1298
  }
1299
1299
  } finally {
1300
- I(!1);
1300
+ ee(!1);
1301
1301
  }
1302
- }, x = p(0), ee = p(0);
1302
+ }, te = p(0), oe = p(0), Ws = (e) => {
1303
+ te.value = Math.max(0, e);
1304
+ }, Gs = (e) => {
1305
+ oe.value = Math.max(0, e);
1306
+ }, _s = () => {
1307
+ te.value = 0;
1308
+ }, Qs = () => {
1309
+ oe.value = 0;
1310
+ }, Is = () => {
1311
+ te.value = 0, oe.value = 0;
1312
+ }, Ys = () => te.value, Zs = () => oe.value, Xs = (e) => e < te.value, qs = (e) => {
1313
+ const t = g.value.length;
1314
+ return e >= t - oe.value;
1315
+ }, xs = () => te.value > 0 || oe.value > 0;
1316
+ let L, Bt = () => crypto.randomUUID();
1317
+ const T = /* @__PURE__ */ new Map(), ce = [], el = (e) => {
1318
+ L = e, z(e.map((t) => t.header));
1319
+ }, tl = () => {
1320
+ L = void 0, T.clear();
1321
+ }, ol = () => L !== void 0, nl = () => L, be = (e) => L ? L.map((t) => typeof t.field == "function" ? t.field(e) : e[t.field]) : [], ue = (e) => {
1322
+ if (!L) return;
1323
+ const t = lt(e);
1324
+ if (!t) return;
1325
+ const o = T.get(e);
1326
+ if (!o) return;
1327
+ const n = { id: o };
1328
+ return L.forEach((r, l) => {
1329
+ if (typeof r.field == "string") {
1330
+ const a = t[l];
1331
+ r.parse ? n[r.field] = r.parse(String(a ?? ""), n) : n[r.field] = a;
1332
+ }
1333
+ }), n;
1334
+ }, Ot = (e) => {
1335
+ if (!L) return;
1336
+ T.clear();
1337
+ const t = e.map((o) => be(o));
1338
+ k(t), e.forEach((o, n) => {
1339
+ T.set(n, o.id);
1340
+ });
1341
+ }, Pt = () => {
1342
+ if (!L) return [];
1343
+ const e = [], t = f.value.length;
1344
+ for (let o = 0; o < t; o++) {
1345
+ const n = ue(o);
1346
+ n && e.push(n);
1347
+ }
1348
+ return e;
1349
+ }, rl = (e) => {
1350
+ const t = ne(e);
1351
+ if (t !== void 0)
1352
+ return ue(t);
1353
+ }, sl = (e) => T.get(e), ne = (e) => {
1354
+ for (const [t, o] of T.entries())
1355
+ if (o === e) return t;
1356
+ };
1303
1357
  return {
1304
- element: l,
1305
- caption: Vt,
1306
- tHead: zt,
1307
- tFoot: Pt,
1308
- rows: Re,
1309
- rowCount: kt,
1310
- tBodies: Se,
1311
- tBodyCount: Nt,
1312
- data: i,
1358
+ element: s,
1359
+ caption: Gt,
1360
+ tHead: _t,
1361
+ tFoot: Qt,
1362
+ rows: Te,
1363
+ rowCount: jt,
1364
+ tBodies: Me,
1365
+ tBodyCount: Wt,
1366
+ data: f,
1313
1367
  headers: g,
1314
- columnCount: Bt,
1315
- createCaption: je,
1316
- deleteCaption: We,
1317
- createTHead: Kt,
1318
- deleteTHead: Ue,
1319
- createTFoot: Je,
1320
- deleteTFoot: Qe,
1321
- createTBody: $t,
1322
- insertRow: Ot,
1323
- deleteRow: jt,
1324
- getTHead: Wt,
1325
- getTFoot: Ut,
1326
- getTBody: Jt,
1327
- getRow: Qt,
1328
- addRow: we,
1329
- removeRow: _e,
1330
- addColumn: Ye,
1331
- removeColumn: Ze,
1332
- setCell: be,
1333
- getCell: ae,
1334
- setCaption: _t,
1335
- setHeaders: j,
1336
- setFooter: Yt,
1337
- setData: V,
1338
- clearData: Zt,
1339
- reset: Gt,
1340
- sync: Xt,
1341
- addRowWithAttributes: qt,
1342
- addColumnWithAttributes: It,
1343
- setHeadersWithAttributes: xt,
1344
- setCellWithAttributes: Ge,
1345
- getRowData: eo,
1346
- setRowData: Xe,
1347
- getAllRowData: to,
1348
- getColumnData: oo,
1349
- setColumnData: no,
1350
- getCellRange: so,
1351
- setCellRange: ro,
1352
- getHeaderData: lo,
1353
- getFooterData: ao,
1354
- setFooterCell: co,
1355
- getFooterCell: uo,
1356
- updateCell: Ee,
1357
- updateRow: Ae,
1358
- getCellElement: qe,
1359
- getRowElement: io,
1360
- selectRows: fo,
1361
- selectColumns: vo,
1362
- updateRows: wo,
1363
- updateCells: ho,
1364
- getRowElements: go,
1365
- getRowCellElements: po,
1366
- setRows: yo,
1367
- validateCell: mo,
1368
- validateRow: Co,
1369
- validateColumn: Ro,
1370
- validateAll: So,
1371
- sum: bo,
1372
- average: Eo,
1373
- min: Ao,
1374
- max: Do,
1375
- count: Fo,
1376
- aggregate: Mo,
1377
- transformColumn: Lo,
1378
- transformRow: To,
1379
- transformCells: Ho,
1380
- exportToCSV: ko,
1381
- exportToJSON: No,
1382
- importFromArray: Vo,
1383
- importFromCSV: zo,
1384
- importFromJSON: Po,
1385
- search: Bo,
1386
- searchColumn: Ko,
1387
- selectedRows: E,
1388
- selectedCells: oe,
1389
- selectRow: Ie,
1390
- deselectRow: xe,
1391
- toggleRowSelection: $o,
1392
- isRowSelected: Oo,
1393
- selectCell: jo,
1394
- clearSelection: Wo,
1395
- enableCellEditing: Me,
1396
- disableCellEditing: Jo,
1397
- enableHeaderEditing: Qo,
1398
- disableHeaderEditing: _o,
1399
- enableColumnEditing: Yo,
1400
- disableColumnEditing: Zo,
1401
- enableRowEditing: Go,
1402
- disableRowEditing: Xo,
1403
- enableEditing: qo,
1404
- groupBy: Io,
1405
- addComputedColumn: xo,
1406
- removeComputedColumn: en,
1368
+ columnCount: It,
1369
+ createCaption: qe,
1370
+ deleteCaption: xe,
1371
+ createTHead: Yt,
1372
+ deleteTHead: et,
1373
+ createTFoot: tt,
1374
+ deleteTFoot: ot,
1375
+ createTBody: Zt,
1376
+ insertRow: Xt,
1377
+ deleteRow: qt,
1378
+ getTHead: xt,
1379
+ getTFoot: eo,
1380
+ getTBody: to,
1381
+ getRow: oo,
1382
+ addRow: de,
1383
+ removeRow: Fe,
1384
+ addColumn: nt,
1385
+ removeColumn: rt,
1386
+ setCell: Le,
1387
+ getCell: ve,
1388
+ setCaption: no,
1389
+ setHeaders: z,
1390
+ setFooter: ro,
1391
+ setData: k,
1392
+ clearData: so,
1393
+ reset: lo,
1394
+ sync: ao,
1395
+ addRowWithAttributes: co,
1396
+ addColumnWithAttributes: uo,
1397
+ setHeadersWithAttributes: io,
1398
+ setCellWithAttributes: st,
1399
+ getRowData: lt,
1400
+ setRowData: He,
1401
+ getAllRowData: fo,
1402
+ getColumnData: vo,
1403
+ setColumnData: wo,
1404
+ getCellRange: ho,
1405
+ setCellRange: go,
1406
+ getHeaderData: po,
1407
+ getFooterData: yo,
1408
+ setFooterCell: mo,
1409
+ getFooterCell: Co,
1410
+ updateCell: Ne,
1411
+ updateRow: ke,
1412
+ getCellElement: at,
1413
+ getRowElement: Ro,
1414
+ selectRows: So,
1415
+ selectColumns: bo,
1416
+ updateRows: Eo,
1417
+ updateCells: Ao,
1418
+ getRowElements: Do,
1419
+ getRowCellElements: To,
1420
+ setRows: Mo,
1421
+ validateCell: Fo,
1422
+ validateRow: Lo,
1423
+ validateColumn: Ho,
1424
+ validateAll: No,
1425
+ sum: ko,
1426
+ average: Vo,
1427
+ min: Bo,
1428
+ max: Oo,
1429
+ count: Po,
1430
+ aggregate: Ko,
1431
+ transformColumn: zo,
1432
+ transformRow: $o,
1433
+ transformCells: Jo,
1434
+ exportToCSV: Uo,
1435
+ exportToJSON: jo,
1436
+ importFromArray: Wo,
1437
+ importFromCSV: Go,
1438
+ importFromJSON: _o,
1439
+ search: Qo,
1440
+ searchColumn: Io,
1441
+ selectedRows: S,
1442
+ selectedCells: se,
1443
+ selectRow: Ve,
1444
+ deselectRow: Be,
1445
+ toggleRowSelection: Yo,
1446
+ isRowSelected: Zo,
1447
+ selectCell: Xo,
1448
+ clearSelection: qo,
1449
+ enableCellEditing: Ke,
1450
+ disableCellEditing: en,
1451
+ enableHeaderEditing: tn,
1452
+ disableHeaderEditing: on,
1453
+ enableColumnEditing: nn,
1454
+ disableColumnEditing: rn,
1455
+ enableRowEditing: sn,
1456
+ disableRowEditing: ln,
1457
+ enableEditing: an,
1458
+ groupBy: cn,
1459
+ addComputedColumn: un,
1460
+ removeComputedColumn: fn,
1407
1461
  get pagination() {
1408
1462
  return A;
1409
1463
  },
1410
- paginate: tn,
1411
- nextPage: on,
1412
- previousPage: nn,
1413
- goToPage: sn,
1464
+ paginate: dn,
1465
+ nextPage: vn,
1466
+ previousPage: wn,
1467
+ goToPage: hn,
1414
1468
  get virtualScroll() {
1415
1469
  return D;
1416
1470
  },
1417
- enableVirtualScrolling: rn,
1418
- disableVirtualScrolling: ln,
1419
- transaction: cn,
1420
- onDataChange: un,
1421
- sortState: fn,
1422
- sortColumnAscending: dn,
1423
- sortColumnDescending: vn,
1424
- sortColumnAscendingWith: wn,
1425
- sortColumnDescendingWith: hn,
1426
- clearColumnSort: gn,
1427
- getSortedColumnIndex: pn,
1428
- isSortedAscending: yn,
1429
- isSortedDescending: mn,
1430
- isSorted: Cn,
1431
- filterState: Sn,
1432
- filterRows: lt,
1433
- filterColumn: Te,
1434
- filterColumnByValue: bn,
1435
- filterColumnByValues: En,
1436
- clearFilters: An,
1437
- getFilteredRowIndices: Dn,
1438
- setRowKeyFunction: Fn,
1439
- clearRowKeyFunction: Mn,
1440
- hasRowKeyFunction: Ln,
1441
- getRowByKey: kn,
1442
- getRowIndexByKey: ue,
1443
- updateRowByKey: Nn,
1444
- removeRowByKey: Vn,
1445
- hasRowWithKey: zn,
1446
- getRowKey: Tn,
1447
- getAllRowKeys: Hn,
1448
- setColumnDefinition: Pn,
1449
- setColumnDefinitions: Bn,
1450
- clearColumnDefinition: Kn,
1451
- clearColumnDefinitions: $n,
1452
- getColumnDefinition: On,
1453
- hasColumnDefinition: jn,
1454
- getParsedCell: Wn,
1455
- getParsedRowData: at,
1456
- getParsedColumnData: Un,
1457
- getParsedData: Jn,
1458
- dirtyState: ie,
1459
- markClean: Qn,
1460
- markDirty: _n,
1461
- isDirty: Yn,
1462
- hasChanges: Zn,
1463
- getChangedCells: Gn,
1464
- getChangedRowIndices: Xn,
1465
- getChangedColumnIndices: qn,
1466
- undo: In,
1467
- redo: xn,
1468
- clearHistory: es,
1469
- canUndo: ts,
1470
- canRedo: os,
1471
- getUndoStackSize: ns,
1472
- getRedoStackSize: ss,
1473
- setHistoryLimit: rs,
1474
- getHistoryLimit: ls,
1475
- selectAllRows: as,
1476
- deselectAllRows: cs,
1477
- selectRowRange: us,
1478
- invertRowSelection: is,
1479
- getSelectedRowData: fs,
1480
- getSelectedRowIndices: ut,
1481
- getSelectedCellIndices: it,
1482
- focusedCell: M,
1483
- focusCell: O,
1484
- clearCellFocus: ds,
1485
- getFocusedCell: vs,
1486
- isCellFocused: ws,
1487
- moveFocusUp: ft,
1488
- moveFocusDown: dt,
1489
- moveFocusLeft: vt,
1490
- moveFocusRight: wt,
1491
- moveFocusToFirstCell: ht,
1492
- moveFocusToLastCell: gt,
1493
- moveFocusToRowStart: pt,
1494
- moveFocusToRowEnd: yt,
1495
- enableKeyboardNavigation: hs,
1496
- visibleColumnCount: gs,
1497
- hideColumn: Ct,
1498
- showColumn: Rt,
1499
- toggleColumnVisibility: ps,
1500
- isColumnVisible: ys,
1501
- getVisibleColumnIndices: ms,
1502
- getHiddenColumnIndices: Cs,
1503
- moveRow: fe,
1504
- moveRowUp: Rs,
1505
- moveRowDown: Ss,
1506
- moveRowToTop: bs,
1507
- moveRowToBottom: Es,
1508
- swapRows: As,
1509
- moveColumn: de,
1510
- moveColumnLeft: Ds,
1511
- moveColumnRight: Fs,
1512
- moveColumnToStart: Ms,
1513
- moveColumnToEnd: Ls,
1514
- swapColumns: Ts,
1515
- copySelectedCells: Hs,
1516
- copySelectedRows: ks,
1517
- copyRow: Ns,
1518
- copyColumn: Vs,
1519
- copyCell: zs,
1520
- copyCellRange: Ps,
1521
- pasteAtCell: Bs,
1522
- expandedRows: P,
1523
- pinnedTopRows: k,
1524
- pinnedBottomRows: N,
1525
- expandRow: St,
1526
- collapseRow: bt,
1527
- toggleRowExpansion: Ks,
1528
- expandAllRows: $s,
1529
- collapseAllRows: Os,
1530
- isRowExpanded: js,
1531
- getExpandedRowIndices: Ws,
1532
- pinRowTop: Us,
1533
- pinRowBottom: Js,
1534
- unpinRow: Qs,
1535
- unpinAllRows: _s,
1536
- isRowPinnedTop: Ys,
1537
- isRowPinnedBottom: Zs,
1538
- getPinnedTopRowIndices: Gs,
1539
- getPinnedBottomRowIndices: Xs,
1540
- setCellMeta: qs,
1541
- getCellMeta: Is,
1542
- hasCellMeta: xs,
1543
- clearCellMeta: er,
1544
- clearCellMetaKey: tr,
1545
- setRowMeta: or,
1546
- getRowMeta: nr,
1547
- hasRowMeta: sr,
1548
- clearRowMeta: rr,
1549
- clearRowMetaKey: lr,
1550
- setColumnMeta: ar,
1551
- getColumnMeta: cr,
1552
- hasColumnMeta: ur,
1553
- clearColumnMeta: ir,
1554
- clearColumnMetaKey: fr,
1555
- onRowAdd: dr,
1556
- onRowRemove: vr,
1557
- onRowUpdate: wr,
1558
- onCellChange: hr,
1559
- onRowSelectionChange: gr,
1560
- onCellSelectionChange: pr,
1561
- onSortChange: yr,
1562
- onFilterChange: mr,
1563
- onCellFocusChange: Cr,
1564
- onColumnVisibilityChange: Rr,
1565
- beginBatchUpdate: Et,
1566
- endBatchUpdate: At,
1567
- cancelBatchUpdate: Dt,
1568
- isBatchUpdating: Sr,
1569
- batchUpdate: br,
1570
- tableLoading: Pe,
1571
- setTableLoading: I,
1572
- setCellLoading: Er,
1573
- setRowLoading: Ar,
1574
- setColumnLoading: Dr,
1575
- isTableLoading: Fr,
1576
- isCellLoading: Mr,
1577
- isRowLoading: Lr,
1578
- isColumnLoading: Tr,
1579
- loadData: Hr,
1580
- appendRowsAsync: kr,
1581
- prependRowsAsync: Nr,
1582
- frozenLeftColumnCount: x,
1583
- frozenRightColumnCount: ee,
1584
- freezeColumnsLeft: (e) => {
1585
- x.value = Math.max(0, e);
1471
+ enableVirtualScrolling: gn,
1472
+ disableVirtualScrolling: pn,
1473
+ transaction: mn,
1474
+ onDataChange: Cn,
1475
+ sortState: Rn,
1476
+ sortColumnAscending: Sn,
1477
+ sortColumnDescending: bn,
1478
+ sortColumnAscendingWith: En,
1479
+ sortColumnDescendingWith: An,
1480
+ clearColumnSort: Dn,
1481
+ getSortedColumnIndex: Tn,
1482
+ isSortedAscending: Mn,
1483
+ isSortedDescending: Fn,
1484
+ isSorted: Ln,
1485
+ filterState: Nn,
1486
+ filterRows: wt,
1487
+ filterColumn: $e,
1488
+ filterColumnByValue: kn,
1489
+ filterColumnByValues: Vn,
1490
+ clearFilters: Bn,
1491
+ getFilteredRowIndices: On,
1492
+ setRowKeyFunction: Pn,
1493
+ clearRowKeyFunction: Kn,
1494
+ hasRowKeyFunction: zn,
1495
+ getRowByKey: Un,
1496
+ getRowIndexByKey: he,
1497
+ updateRowByKey: jn,
1498
+ removeRowByKey: Wn,
1499
+ hasRowWithKey: Gn,
1500
+ getRowKey: $n,
1501
+ getAllRowKeys: Jn,
1502
+ setColumnDefinition: _n,
1503
+ setColumnDefinitions: Qn,
1504
+ clearColumnDefinition: In,
1505
+ clearColumnDefinitions: Yn,
1506
+ getColumnDefinition: Zn,
1507
+ hasColumnDefinition: Xn,
1508
+ getParsedCell: qn,
1509
+ getParsedRowData: ht,
1510
+ getParsedColumnData: xn,
1511
+ getParsedData: er,
1512
+ dirtyState: ge,
1513
+ markClean: tr,
1514
+ markDirty: or,
1515
+ isDirty: nr,
1516
+ hasChanges: rr,
1517
+ getChangedCells: sr,
1518
+ getChangedRowIndices: lr,
1519
+ getChangedColumnIndices: ar,
1520
+ undo: cr,
1521
+ redo: ur,
1522
+ clearHistory: ir,
1523
+ canUndo: fr,
1524
+ canRedo: dr,
1525
+ getUndoStackSize: vr,
1526
+ getRedoStackSize: wr,
1527
+ setHistoryLimit: hr,
1528
+ getHistoryLimit: gr,
1529
+ selectAllRows: pr,
1530
+ deselectAllRows: yr,
1531
+ selectRowRange: mr,
1532
+ invertRowSelection: Cr,
1533
+ getSelectedRowData: Rr,
1534
+ getSelectedRowIndices: pt,
1535
+ getSelectedCellIndices: yt,
1536
+ focusedCell: F,
1537
+ focusCell: j,
1538
+ clearCellFocus: Sr,
1539
+ getFocusedCell: br,
1540
+ isCellFocused: Er,
1541
+ moveFocusUp: mt,
1542
+ moveFocusDown: Ct,
1543
+ moveFocusLeft: Rt,
1544
+ moveFocusRight: St,
1545
+ moveFocusToFirstCell: bt,
1546
+ moveFocusToLastCell: Et,
1547
+ moveFocusToRowStart: At,
1548
+ moveFocusToRowEnd: Dt,
1549
+ enableKeyboardNavigation: Ar,
1550
+ visibleColumnCount: Dr,
1551
+ hideColumn: Mt,
1552
+ showColumn: Ft,
1553
+ toggleColumnVisibility: Tr,
1554
+ isColumnVisible: Mr,
1555
+ getVisibleColumnIndices: Fr,
1556
+ getHiddenColumnIndices: Lr,
1557
+ moveRow: pe,
1558
+ moveRowUp: Hr,
1559
+ moveRowDown: Nr,
1560
+ moveRowToTop: kr,
1561
+ moveRowToBottom: Vr,
1562
+ swapRows: Br,
1563
+ moveColumn: ye,
1564
+ moveColumnLeft: Or,
1565
+ moveColumnRight: Pr,
1566
+ moveColumnToStart: Kr,
1567
+ moveColumnToEnd: zr,
1568
+ swapColumns: $r,
1569
+ copySelectedCells: Jr,
1570
+ copySelectedRows: Ur,
1571
+ copyRow: jr,
1572
+ copyColumn: Wr,
1573
+ copyCell: Gr,
1574
+ copyCellRange: _r,
1575
+ pasteAtCell: Qr,
1576
+ expandedRows: K,
1577
+ pinnedTopRows: B,
1578
+ pinnedBottomRows: O,
1579
+ expandRow: Lt,
1580
+ collapseRow: Ht,
1581
+ toggleRowExpansion: Ir,
1582
+ expandAllRows: Yr,
1583
+ collapseAllRows: Zr,
1584
+ isRowExpanded: Xr,
1585
+ getExpandedRowIndices: qr,
1586
+ pinRowTop: xr,
1587
+ pinRowBottom: es,
1588
+ unpinRow: ts,
1589
+ unpinAllRows: os,
1590
+ isRowPinnedTop: ns,
1591
+ isRowPinnedBottom: rs,
1592
+ getPinnedTopRowIndices: ss,
1593
+ getPinnedBottomRowIndices: ls,
1594
+ setCellMeta: as,
1595
+ getCellMeta: cs,
1596
+ hasCellMeta: us,
1597
+ clearCellMeta: is,
1598
+ clearCellMetaKey: fs,
1599
+ setRowMeta: ds,
1600
+ getRowMeta: vs,
1601
+ hasRowMeta: ws,
1602
+ clearRowMeta: hs,
1603
+ clearRowMetaKey: gs,
1604
+ setColumnMeta: ps,
1605
+ getColumnMeta: ys,
1606
+ hasColumnMeta: ms,
1607
+ clearColumnMeta: Cs,
1608
+ clearColumnMetaKey: Rs,
1609
+ onRowAdd: Ss,
1610
+ onRowRemove: bs,
1611
+ onRowUpdate: Es,
1612
+ onCellChange: As,
1613
+ onRowSelectionChange: Ds,
1614
+ onCellSelectionChange: Ts,
1615
+ onSortChange: Ms,
1616
+ onFilterChange: Fs,
1617
+ onCellFocusChange: Ls,
1618
+ onColumnVisibilityChange: Hs,
1619
+ beginBatchUpdate: Nt,
1620
+ endBatchUpdate: kt,
1621
+ cancelBatchUpdate: Vt,
1622
+ isBatchUpdating: Ns,
1623
+ batchUpdate: ks,
1624
+ tableLoading: _e,
1625
+ setTableLoading: ee,
1626
+ setCellLoading: Vs,
1627
+ setRowLoading: Bs,
1628
+ setColumnLoading: Os,
1629
+ isTableLoading: Ps,
1630
+ isCellLoading: Ks,
1631
+ isRowLoading: zs,
1632
+ isColumnLoading: $s,
1633
+ loadData: Js,
1634
+ appendRowsAsync: Us,
1635
+ prependRowsAsync: js,
1636
+ frozenLeftColumnCount: te,
1637
+ frozenRightColumnCount: oe,
1638
+ freezeColumnsLeft: Ws,
1639
+ freezeColumnsRight: Gs,
1640
+ unfreezeColumnsLeft: _s,
1641
+ unfreezeColumnsRight: Qs,
1642
+ unfreezeAllColumns: Is,
1643
+ getFrozenLeftColumnCount: Ys,
1644
+ getFrozenRightColumnCount: Zs,
1645
+ isColumnFrozenLeft: Xs,
1646
+ isColumnFrozenRight: qs,
1647
+ hasFrozenColumns: xs,
1648
+ // Record-based data (Shared Reactive Data Schema)
1649
+ setRecordColumns: el,
1650
+ clearRecordColumns: tl,
1651
+ hasRecordColumns: ol,
1652
+ getRecordColumns: nl,
1653
+ setRecords: Ot,
1654
+ getRecords: Pt,
1655
+ getRecordById: rl,
1656
+ getRecordId: sl,
1657
+ getRowIndexForRecord: ne,
1658
+ updateRecord: (e, t) => {
1659
+ if (!L) return !1;
1660
+ const o = ne(e);
1661
+ if (o === void 0) return !1;
1662
+ const n = ue(o);
1663
+ if (!n) return !1;
1664
+ const r = { ...n, ...t }, l = be(r);
1665
+ return He(o, l), ce.forEach((a) => a(e, r, "update")), !0;
1666
+ },
1667
+ addRecord: (e, t) => {
1668
+ const o = "id" in e && typeof e.id == "string" && e.id.length > 0 ? e.id : Bt(), n = { ...e, id: o };
1669
+ if (L) {
1670
+ const r = be(n);
1671
+ de(r, t);
1672
+ const l = t ?? f.value.length - 1;
1673
+ if (t !== void 0 && t < f.value.length - 1) {
1674
+ const a = Array.from(T.entries()).sort((i, d) => d[0] - i[0]);
1675
+ for (const [i, d] of a)
1676
+ i >= l && (T.delete(i), T.set(i + 1, d));
1677
+ }
1678
+ T.set(l, o), ce.forEach((a) => a(o, n, "add"));
1679
+ }
1680
+ return o;
1681
+ },
1682
+ removeRecord: (e) => {
1683
+ const t = ne(e);
1684
+ if (t === void 0) return !1;
1685
+ const o = ue(t);
1686
+ Fe(t), T.delete(t);
1687
+ const n = Array.from(T.entries()).sort((r, l) => r[0] - l[0]);
1688
+ for (const [r, l] of n)
1689
+ r > t && (T.delete(r), T.set(r - 1, l));
1690
+ return o && ce.forEach((r) => r(e, o, "remove")), !0;
1691
+ },
1692
+ hasRecord: (e) => ne(e) !== void 0,
1693
+ getSelectedRecordIds: () => {
1694
+ const e = [];
1695
+ for (const t of S.value) {
1696
+ const o = T.get(t);
1697
+ o && e.push(o);
1698
+ }
1699
+ return e;
1700
+ },
1701
+ selectRecords: (e) => {
1702
+ for (const t of e) {
1703
+ const o = ne(t);
1704
+ o !== void 0 && Ve(o);
1705
+ }
1586
1706
  },
1587
- freezeColumnsRight: (e) => {
1588
- ee.value = Math.max(0, e);
1707
+ deselectRecords: (e) => {
1708
+ for (const t of e) {
1709
+ const o = ne(t);
1710
+ o !== void 0 && Be(o);
1711
+ }
1589
1712
  },
1590
- unfreezeColumnsLeft: () => {
1591
- x.value = 0;
1713
+ getSelectedRecords: () => {
1714
+ const e = [];
1715
+ for (const t of S.value) {
1716
+ const o = ue(t);
1717
+ o && e.push(o);
1718
+ }
1719
+ return e;
1592
1720
  },
1593
- unfreezeColumnsRight: () => {
1594
- ee.value = 0;
1721
+ onRecordChange: (e) => {
1722
+ const t = (o, n, r) => {
1723
+ e(o, n, r);
1724
+ };
1725
+ return ce.push(t), () => {
1726
+ const o = ce.indexOf(t);
1727
+ o >= 0 && ce.splice(o, 1);
1728
+ };
1595
1729
  },
1596
- unfreezeAllColumns: () => {
1597
- x.value = 0, ee.value = 0;
1730
+ setIdGenerator: (e) => {
1731
+ Bt = e;
1598
1732
  },
1599
- getFrozenLeftColumnCount: () => x.value,
1600
- getFrozenRightColumnCount: () => ee.value,
1601
- isColumnFrozenLeft: (e) => e < x.value,
1602
- isColumnFrozenRight: (e) => {
1603
- const t = g.value.length;
1604
- return e >= t - ee.value;
1733
+ rowToRecord: ue,
1734
+ recordToRow: be,
1735
+ exportRecordsToJSON: () => {
1736
+ const e = Pt();
1737
+ return JSON.stringify(e, null, 2);
1605
1738
  },
1606
- hasFrozenColumns: () => x.value > 0 || ee.value > 0
1739
+ importRecordsFromJSON: (e) => {
1740
+ try {
1741
+ const t = JSON.parse(e);
1742
+ if (!Array.isArray(t))
1743
+ throw new Error("JSON must be an array of records");
1744
+ for (const o of t) {
1745
+ if (typeof o != "object" || o === null)
1746
+ throw new Error("Each record must be an object");
1747
+ if (!("id" in o) || typeof o.id != "string")
1748
+ throw new Error("Each record must have a string id field");
1749
+ }
1750
+ Ot(t);
1751
+ } catch (t) {
1752
+ throw new Error(`Invalid JSON: ${t instanceof Error ? t.message : String(t)}`);
1753
+ }
1754
+ }
1607
1755
  };
1608
1756
  }
1757
+ const Xe = Symbol("idGenerated");
1758
+ function il() {
1759
+ return crypto.randomUUID();
1760
+ }
1761
+ function Ml(s, u = il) {
1762
+ return "id" in s && typeof s.id == "string" && s.id.length > 0 ? s : {
1763
+ ...s,
1764
+ id: u(),
1765
+ [Xe]: !0
1766
+ };
1767
+ }
1768
+ function fl(s) {
1769
+ return Xe in s && s[Xe] === !0;
1770
+ }
1771
+ function Fl(s) {
1772
+ return typeof s == "string" && s.length > 0;
1773
+ }
1774
+ function Ll(s, u) {
1775
+ return s.find((c) => c.id === u);
1776
+ }
1777
+ function Hl(s, u) {
1778
+ return s.findIndex((c) => c.id === u);
1779
+ }
1780
+ function Nl(s) {
1781
+ if (!fl(s))
1782
+ return s;
1783
+ const { id: u, ...c } = s;
1784
+ return c;
1785
+ }
1609
1786
  export {
1610
- me as isCellConfig,
1611
- Tt as isValidationError,
1612
- Gr as isValidationErrorArray,
1613
- Xr as isValidationResult,
1614
- qr as useTable
1787
+ Xe as ID_GENERATED,
1788
+ Ml as ensureId,
1789
+ Ll as findById,
1790
+ il as generateId,
1791
+ Hl as indexById,
1792
+ Ae as isCellConfig,
1793
+ Fl as isValidId,
1794
+ Jt as isValidationError,
1795
+ Al as isValidationErrorArray,
1796
+ Dl as isValidationResult,
1797
+ Nl as stripGeneratedId,
1798
+ Tl as useTable,
1799
+ fl as wasIdGenerated
1615
1800
  };