@mikestools/usetable 0.0.4 → 0.0.6

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,903 +1,1503 @@
1
- import { ref as N, computed as U, onUnmounted as ut } from "vue";
2
- function dt() {
3
- return crypto.randomUUID();
4
- }
5
- function S(l, C) {
6
- l.textContent = "", C != null && (C instanceof Node ? l.appendChild(C) : l.textContent = String(C));
7
- }
8
- function A(l) {
9
- return l.childNodes.length === 1 && l.firstChild instanceof HTMLElement ? l.firstChild : l.textContent ?? "";
10
- }
11
- function oe(l) {
12
- const C = document.createElement("th");
13
- return C.scope = "col", C.textContent = l, C;
14
- }
15
- function it(l, C, H) {
16
- let c = H?.idGenerator ?? dt;
17
- const F = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Set(), D = /* @__PURE__ */ new Set(), p = /* @__PURE__ */ new Set(), I = /* @__PURE__ */ new Set();
18
- function E() {
19
- const e = l.tBodies;
20
- return e.length > 0 ? e[0] : l.createTBody();
21
- }
22
- function v() {
23
- const e = [], o = l.tBodies;
24
- for (let n = 0; n < o.length; n++) {
25
- const s = o[n];
26
- for (let a = 0; a < s.rows.length; a++)
27
- e.push(s.rows[a]);
28
- }
29
- return e;
30
- }
31
- function P(e, o, n) {
32
- F.forEach((s) => s(e, o, n)), y();
33
- }
34
- function j(e, o, n) {
35
- f.forEach((s) => s(e, o, n)), y();
36
- }
37
- function z(e, o, n, s) {
38
- h.forEach((a) => a(e, o, n, s)), y();
39
- }
40
- function V(e, o, n, s) {
41
- D.forEach((a) => a(e, o, n, s)), y();
42
- }
43
- function T() {
44
- const e = d.getHeaders();
45
- p.forEach((o) => o(e));
1
+ import { ref as H, unref as et, watch as tt, computed as D, onUnmounted as nt } from "vue";
2
+ function ot(t, C) {
3
+ const h = /* @__PURE__ */ new Set();
4
+ let s = null, b = !1;
5
+ function c(e, a, y) {
6
+ t.addEventListener(e, a, y);
7
+ const A = () => {
8
+ t.removeEventListener(e, a, y), h.delete(A);
9
+ };
10
+ return h.add(A), A;
46
11
  }
47
- function y() {
48
- if (I.size > 0) {
49
- const e = d.getData();
50
- I.forEach((o) => o(e));
51
- }
12
+ function v(e) {
13
+ return t.getAttribute(`aria-${e}`);
52
14
  }
53
- function L(e) {
54
- const o = [];
55
- for (let n = 0; n < e.cells.length; n++)
56
- o.push(A(e.cells[n]));
57
- return o;
15
+ function w(e, a) {
16
+ a === null ? t.removeAttribute(`aria-${e}`) : t.setAttribute(`aria-${e}`, a);
58
17
  }
59
- const d = {
60
- // ======================================================================
61
- // ELEMENT ACCESS
62
- // ======================================================================
63
- element: l,
64
- getCaption() {
65
- return l.caption;
18
+ return {
19
+ element: t,
20
+ // NODE PROPERTIES
21
+ get isConnected() {
22
+ return t.isConnected;
66
23
  },
67
- getTHead() {
68
- return l.tHead;
24
+ getTextContent() {
25
+ return t.textContent;
69
26
  },
70
- getTFoot() {
71
- return l.tFoot;
27
+ setTextContent(e) {
28
+ t.textContent = e;
72
29
  },
73
- getTBodies() {
74
- return l.tBodies;
30
+ // ELEMENT PROPERTIES
31
+ getId() {
32
+ return t.id;
75
33
  },
76
- getPrimaryTBody() {
77
- return E();
34
+ setId(e) {
35
+ t.id = e;
78
36
  },
79
- getBodyRows() {
80
- return v();
81
- },
82
- getRow(e) {
83
- return v()[e];
84
- },
85
- getRowById(e) {
86
- const o = v();
87
- for (const n of o)
88
- if (n.dataset.id === e)
89
- return n;
90
- },
91
- getCell(e, o) {
92
- const n = d.getRow(e);
93
- if (n)
94
- return n.cells[o];
95
- },
96
- getCellByRowId(e, o) {
97
- const n = d.getRowById(e);
98
- if (n)
99
- return n.cells[o];
100
- },
101
- // ======================================================================
102
- // DATA ACCESS
103
- // ======================================================================
104
- getHeaders() {
105
- const e = l.tHead;
106
- if (!e || e.rows.length === 0) return [];
107
- const o = e.rows[0], n = [];
108
- for (let s = 0; s < o.cells.length; s++)
109
- n.push(o.cells[s].textContent ?? "");
110
- return n;
37
+ getTagName() {
38
+ return t.tagName;
111
39
  },
112
- getHeader(e) {
113
- return d.getHeaders()[e];
40
+ getInnerHTML() {
41
+ return t.innerHTML;
114
42
  },
115
- getData() {
116
- return v().map(L);
43
+ setInnerHTML(e) {
44
+ t.innerHTML = e;
117
45
  },
118
- getRowData(e) {
119
- const o = d.getRow(e);
120
- if (o)
121
- return L(o);
46
+ getOuterHTML() {
47
+ return t.outerHTML;
122
48
  },
123
- getRowDataById(e) {
124
- const o = d.getRowById(e);
125
- if (o)
126
- return L(o);
49
+ getInnerText() {
50
+ return t.innerText;
127
51
  },
128
- getCellValue(e, o) {
129
- const n = d.getCell(e, o);
130
- if (n)
131
- return A(n);
52
+ setInnerText(e) {
53
+ t.innerText = e;
132
54
  },
133
- getColumnData(e) {
134
- return v().map((n) => {
135
- const s = n.cells[e];
136
- return s ? A(s) : void 0;
137
- });
55
+ getOuterText() {
56
+ return t.outerText;
138
57
  },
139
- getFooterData() {
140
- const e = l.tFoot;
141
- if (!(!e || e.rows.length === 0))
142
- return L(e.rows[0]);
58
+ setOuterText(e) {
59
+ t.outerText = e;
143
60
  },
144
- getRowCount() {
145
- return v().length;
61
+ // HTMLELEMENT PROPERTIES
62
+ isHidden() {
63
+ return t.hidden;
64
+ },
65
+ setHidden(e) {
66
+ t.hidden = e;
67
+ },
68
+ show() {
69
+ t.hidden = !1;
70
+ },
71
+ hide() {
72
+ t.hidden = !0;
73
+ },
74
+ toggleVisibility(e) {
75
+ const a = e !== void 0 ? !e : !t.hidden;
76
+ return t.hidden = a, !a;
77
+ },
78
+ getTitle() {
79
+ return t.title;
80
+ },
81
+ setTitle(e) {
82
+ t.title = e;
83
+ },
84
+ getLang() {
85
+ return t.lang;
86
+ },
87
+ setLang(e) {
88
+ t.lang = e;
89
+ },
90
+ getDir() {
91
+ return t.dir;
92
+ },
93
+ setDir(e) {
94
+ t.dir = e;
95
+ },
96
+ getDraggable() {
97
+ return t.draggable;
98
+ },
99
+ setDraggable(e) {
100
+ t.draggable = e;
101
+ },
102
+ getSpellcheck() {
103
+ return t.spellcheck;
104
+ },
105
+ setSpellcheck(e) {
106
+ t.spellcheck = e;
107
+ },
108
+ getTranslate() {
109
+ return t.translate;
110
+ },
111
+ setTranslate(e) {
112
+ t.translate = e;
113
+ },
114
+ getInert() {
115
+ return t.inert;
116
+ },
117
+ setInert(e) {
118
+ t.inert = e;
119
+ },
120
+ getAccessKey() {
121
+ return t.accessKey;
122
+ },
123
+ setAccessKey(e) {
124
+ t.accessKey = e;
125
+ },
126
+ getAccessKeyLabel() {
127
+ return t.accessKeyLabel;
128
+ },
129
+ getAutocapitalize() {
130
+ return t.autocapitalize;
131
+ },
132
+ setAutocapitalize(e) {
133
+ t.autocapitalize = e;
134
+ },
135
+ // ACTIONS
136
+ click() {
137
+ t.click();
138
+ },
139
+ // POPOVER
140
+ getPopover() {
141
+ return t.popover;
142
+ },
143
+ setPopover(e) {
144
+ t.popover = e;
145
+ },
146
+ showPopover() {
147
+ t.showPopover();
148
+ },
149
+ hidePopover() {
150
+ t.hidePopover();
151
+ },
152
+ togglePopover(e) {
153
+ return t.togglePopover(e);
154
+ },
155
+ // CONTENT EDITABLE
156
+ isContentEditable() {
157
+ return t.isContentEditable;
158
+ },
159
+ getContentEditable() {
160
+ return t.contentEditable;
161
+ },
162
+ setContentEditable(e) {
163
+ t.contentEditable = e;
164
+ },
165
+ getEnterKeyHint() {
166
+ return t.enterKeyHint;
167
+ },
168
+ setEnterKeyHint(e) {
169
+ t.enterKeyHint = e;
170
+ },
171
+ getInputMode() {
172
+ return t.inputMode;
173
+ },
174
+ setInputMode(e) {
175
+ t.inputMode = e;
176
+ },
177
+ // FOCUS
178
+ focus(e) {
179
+ t.focus(e);
180
+ },
181
+ blur() {
182
+ t.blur();
183
+ },
184
+ hasFocus() {
185
+ return document.activeElement === t;
186
+ },
187
+ getTabIndex() {
188
+ return t.tabIndex;
189
+ },
190
+ setTabIndex(e) {
191
+ t.tabIndex = e;
192
+ },
193
+ // POINTER CAPTURE
194
+ setPointerCapture(e) {
195
+ t.setPointerCapture(e);
196
+ },
197
+ releasePointerCapture(e) {
198
+ t.releasePointerCapture(e);
199
+ },
200
+ hasPointerCapture(e) {
201
+ return t.hasPointerCapture(e);
202
+ },
203
+ // DATASET
204
+ getDataset() {
205
+ return t.dataset;
206
+ },
207
+ getData(e) {
208
+ return t.dataset[e];
209
+ },
210
+ setData(e, a) {
211
+ t.dataset[e] = a;
212
+ },
213
+ removeData(e) {
214
+ delete t.dataset[e];
215
+ },
216
+ hasData(e) {
217
+ return e in t.dataset;
218
+ },
219
+ getAllData() {
220
+ return { ...t.dataset };
221
+ },
222
+ setAllData(e) {
223
+ for (const a in e)
224
+ t.dataset[a] = e[a];
225
+ },
226
+ clearAllData() {
227
+ for (const e in t.dataset)
228
+ delete t.dataset[e];
229
+ },
230
+ // ATTRIBUTES
231
+ getAttribute(e) {
232
+ return t.getAttribute(e);
233
+ },
234
+ setAttribute(e, a) {
235
+ t.setAttribute(e, a);
236
+ },
237
+ removeAttribute(e) {
238
+ t.removeAttribute(e);
239
+ },
240
+ hasAttribute(e) {
241
+ return t.hasAttribute(e);
242
+ },
243
+ toggleAttribute(e, a) {
244
+ return t.toggleAttribute(e, a);
245
+ },
246
+ getAttributeNames() {
247
+ return t.getAttributeNames();
248
+ },
249
+ // CLASSES
250
+ addClass(...e) {
251
+ t.classList.add(...e);
252
+ },
253
+ removeClass(...e) {
254
+ t.classList.remove(...e);
255
+ },
256
+ toggleClass(e, a) {
257
+ return t.classList.toggle(e, a);
258
+ },
259
+ hasClass(e) {
260
+ return t.classList.contains(e);
261
+ },
262
+ replaceClass(e, a) {
263
+ return t.classList.replace(e, a);
264
+ },
265
+ getClassName() {
266
+ return t.className;
267
+ },
268
+ setClassName(e) {
269
+ t.className = e;
270
+ },
271
+ // STYLES
272
+ getStyleDeclaration() {
273
+ return t.style;
274
+ },
275
+ getStyle(e) {
276
+ return t.style.getPropertyValue(e);
277
+ },
278
+ setStyle(e, a, y) {
279
+ t.style.setProperty(e, a, y);
280
+ },
281
+ removeStyle(e) {
282
+ return t.style.removeProperty(e);
283
+ },
284
+ getCSSText() {
285
+ return t.style.cssText;
286
+ },
287
+ setCSSText(e) {
288
+ t.style.cssText = e;
289
+ },
290
+ getComputedStyle(e, a) {
291
+ return window.getComputedStyle(t, a).getPropertyValue(e);
292
+ },
293
+ getComputedStyleDeclaration(e) {
294
+ return window.getComputedStyle(t, e);
295
+ },
296
+ // DIMENSIONS
297
+ getBoundingClientRect() {
298
+ return t.getBoundingClientRect();
299
+ },
300
+ getClientRects() {
301
+ return t.getClientRects();
302
+ },
303
+ getClientWidth() {
304
+ return t.clientWidth;
305
+ },
306
+ getClientHeight() {
307
+ return t.clientHeight;
308
+ },
309
+ getClientTop() {
310
+ return t.clientTop;
311
+ },
312
+ getClientLeft() {
313
+ return t.clientLeft;
314
+ },
315
+ getScrollWidth() {
316
+ return t.scrollWidth;
317
+ },
318
+ getScrollHeight() {
319
+ return t.scrollHeight;
320
+ },
321
+ getScrollTop() {
322
+ return t.scrollTop;
323
+ },
324
+ setScrollTop(e) {
325
+ t.scrollTop = e;
326
+ },
327
+ getScrollLeft() {
328
+ return t.scrollLeft;
329
+ },
330
+ setScrollLeft(e) {
331
+ t.scrollLeft = e;
332
+ },
333
+ scrollTo(e) {
334
+ t.scrollTo(e);
335
+ },
336
+ scrollBy(e) {
337
+ t.scrollBy(e);
338
+ },
339
+ scrollIntoView(e) {
340
+ t.scrollIntoView(e);
341
+ },
342
+ // OFFSET DIMENSIONS
343
+ getOffsetWidth() {
344
+ return t.offsetWidth;
345
+ },
346
+ getOffsetHeight() {
347
+ return t.offsetHeight;
348
+ },
349
+ getOffsetTop() {
350
+ return t.offsetTop;
351
+ },
352
+ getOffsetLeft() {
353
+ return t.offsetLeft;
354
+ },
355
+ getOffsetParent() {
356
+ return t.offsetParent;
357
+ },
358
+ // HIERARCHY
359
+ getParent() {
360
+ return t.parentElement;
361
+ },
362
+ getParentNode() {
363
+ return t.parentNode;
364
+ },
365
+ getChildren() {
366
+ return t.children;
367
+ },
368
+ getFirstChild() {
369
+ return t.firstElementChild;
370
+ },
371
+ getLastChild() {
372
+ return t.lastElementChild;
373
+ },
374
+ getNextSibling() {
375
+ return t.nextElementSibling;
376
+ },
377
+ getPreviousSibling() {
378
+ return t.previousElementSibling;
379
+ },
380
+ getChildCount() {
381
+ return t.childElementCount;
382
+ },
383
+ hasChildren() {
384
+ return t.childElementCount > 0;
385
+ },
386
+ hasChildNodes() {
387
+ return t.hasChildNodes();
388
+ },
389
+ contains(e) {
390
+ return t.contains(e);
391
+ },
392
+ cloneNode(e) {
393
+ return t.cloneNode(e);
394
+ },
395
+ getRootNode(e) {
396
+ return t.getRootNode(e);
397
+ },
398
+ normalize() {
399
+ t.normalize();
400
+ },
401
+ isEqualNode(e) {
402
+ return t.isEqualNode(e);
403
+ },
404
+ isSameNode(e) {
405
+ return t.isSameNode(e);
406
+ },
407
+ compareDocumentPosition(e) {
408
+ return t.compareDocumentPosition(e);
409
+ },
410
+ // DOM MANIPULATION
411
+ append(...e) {
412
+ t.append(...e);
413
+ },
414
+ prepend(...e) {
415
+ t.prepend(...e);
416
+ },
417
+ insertBefore(...e) {
418
+ t.before(...e);
419
+ },
420
+ insertAfter(...e) {
421
+ t.after(...e);
422
+ },
423
+ remove() {
424
+ t.remove();
425
+ },
426
+ replaceWith(...e) {
427
+ t.replaceWith(...e);
428
+ },
429
+ replaceChildren(...e) {
430
+ t.replaceChildren(...e);
431
+ },
432
+ // QUERY
433
+ querySelector(e) {
434
+ return t.querySelector(e);
435
+ },
436
+ querySelectorAll(e) {
437
+ return t.querySelectorAll(e);
438
+ },
439
+ closest(e) {
440
+ return t.closest(e);
441
+ },
442
+ matches(e) {
443
+ return t.matches(e);
444
+ },
445
+ insertAdjacentHTML(e, a) {
446
+ t.insertAdjacentHTML(e, a);
447
+ },
448
+ insertAdjacentText(e, a) {
449
+ t.insertAdjacentText(e, a);
450
+ },
451
+ insertAdjacentElement(e, a) {
452
+ return t.insertAdjacentElement(e, a);
453
+ },
454
+ // EVENTS
455
+ dispatchEvent(e) {
456
+ return t.dispatchEvent(e);
457
+ },
458
+ // ARIA
459
+ getRole() {
460
+ return t.getAttribute("role");
461
+ },
462
+ setRole(e) {
463
+ e === null ? t.removeAttribute("role") : t.setAttribute("role", e);
464
+ },
465
+ getAriaLabel() {
466
+ return v("label");
467
+ },
468
+ setAriaLabel(e) {
469
+ w("label", e);
470
+ },
471
+ getAriaHidden() {
472
+ return v("hidden");
473
+ },
474
+ setAriaHidden(e) {
475
+ w("hidden", e);
476
+ },
477
+ getAriaDisabled() {
478
+ return v("disabled");
479
+ },
480
+ setAriaDisabled(e) {
481
+ w("disabled", e);
482
+ },
483
+ getAriaExpanded() {
484
+ return v("expanded");
485
+ },
486
+ setAriaExpanded(e) {
487
+ w("expanded", e);
488
+ },
489
+ getAriaSelected() {
490
+ return v("selected");
491
+ },
492
+ setAriaSelected(e) {
493
+ w("selected", e);
494
+ },
495
+ getAriaPressed() {
496
+ return v("pressed");
497
+ },
498
+ setAriaPressed(e) {
499
+ w("pressed", e);
500
+ },
501
+ getAriaChecked() {
502
+ return v("checked");
503
+ },
504
+ setAriaChecked(e) {
505
+ w("checked", e);
506
+ },
507
+ getAriaDescribedBy() {
508
+ return v("describedby");
509
+ },
510
+ setAriaDescribedBy(e) {
511
+ w("describedby", e);
512
+ },
513
+ getAriaLabelledBy() {
514
+ return v("labelledby");
515
+ },
516
+ setAriaLabelledBy(e) {
517
+ w("labelledby", e);
518
+ },
519
+ // EVENTS - Mouse
520
+ onClick(e) {
521
+ return c("click", e);
522
+ },
523
+ onDblClick(e) {
524
+ return c("dblclick", e);
525
+ },
526
+ onMouseDown(e) {
527
+ return c("mousedown", e);
528
+ },
529
+ onMouseUp(e) {
530
+ return c("mouseup", e);
531
+ },
532
+ onMouseEnter(e) {
533
+ return c("mouseenter", e);
534
+ },
535
+ onMouseLeave(e) {
536
+ return c("mouseleave", e);
537
+ },
538
+ onMouseMove(e) {
539
+ return c("mousemove", e);
540
+ },
541
+ onMouseOver(e) {
542
+ return c("mouseover", e);
543
+ },
544
+ onMouseOut(e) {
545
+ return c("mouseout", e);
546
+ },
547
+ onContextMenu(e) {
548
+ return c("contextmenu", e);
549
+ },
550
+ onWheel(e) {
551
+ return c("wheel", e);
552
+ },
553
+ // EVENTS - Keyboard
554
+ onKeyDown(e) {
555
+ return c("keydown", e);
556
+ },
557
+ onKeyUp(e) {
558
+ return c("keyup", e);
559
+ },
560
+ // EVENTS - Focus
561
+ onFocus(e) {
562
+ return c("focus", e);
563
+ },
564
+ onBlur(e) {
565
+ return c("blur", e);
566
+ },
567
+ onFocusIn(e) {
568
+ return c("focusin", e);
569
+ },
570
+ onFocusOut(e) {
571
+ return c("focusout", e);
572
+ },
573
+ // EVENTS - Input
574
+ onInput(e) {
575
+ return c("input", e);
576
+ },
577
+ onChange(e) {
578
+ return c("change", e);
579
+ },
580
+ onBeforeInput(e) {
581
+ return c("beforeinput", e);
582
+ },
583
+ // EVENTS - Pointer
584
+ onPointerDown(e) {
585
+ return c("pointerdown", e);
586
+ },
587
+ onPointerUp(e) {
588
+ return c("pointerup", e);
589
+ },
590
+ onPointerMove(e) {
591
+ return c("pointermove", e);
592
+ },
593
+ onPointerEnter(e) {
594
+ return c("pointerenter", e);
595
+ },
596
+ onPointerLeave(e) {
597
+ return c("pointerleave", e);
598
+ },
599
+ onPointerCancel(e) {
600
+ return c("pointercancel", e);
601
+ },
602
+ // EVENTS - Touch
603
+ onTouchStart(e) {
604
+ return c("touchstart", e);
605
+ },
606
+ onTouchEnd(e) {
607
+ return c("touchend", e);
608
+ },
609
+ onTouchMove(e) {
610
+ return c("touchmove", e);
611
+ },
612
+ onTouchCancel(e) {
613
+ return c("touchcancel", e);
614
+ },
615
+ // EVENTS - Drag
616
+ onDragStart(e) {
617
+ return c("dragstart", e);
618
+ },
619
+ onDrag(e) {
620
+ return c("drag", e);
621
+ },
622
+ onDragEnd(e) {
623
+ return c("dragend", e);
624
+ },
625
+ onDragEnter(e) {
626
+ return c("dragenter", e);
627
+ },
628
+ onDragOver(e) {
629
+ return c("dragover", e);
630
+ },
631
+ onDragLeave(e) {
632
+ return c("dragleave", e);
633
+ },
634
+ onDrop(e) {
635
+ return c("drop", e);
636
+ },
637
+ // EVENTS - Clipboard
638
+ onCopy(e) {
639
+ return c("copy", e);
640
+ },
641
+ onCut(e) {
642
+ return c("cut", e);
643
+ },
644
+ onPaste(e) {
645
+ return c("paste", e);
646
+ },
647
+ // EVENTS - Animation/Transition
648
+ onAnimationStart(e) {
649
+ return c("animationstart", e);
650
+ },
651
+ onAnimationEnd(e) {
652
+ return c("animationend", e);
653
+ },
654
+ onAnimationIteration(e) {
655
+ return c("animationiteration", e);
656
+ },
657
+ onAnimationCancel(e) {
658
+ return c("animationcancel", e);
659
+ },
660
+ onTransitionStart(e) {
661
+ return c("transitionstart", e);
662
+ },
663
+ onTransitionEnd(e) {
664
+ return c("transitionend", e);
665
+ },
666
+ onTransitionRun(e) {
667
+ return c("transitionrun", e);
668
+ },
669
+ onTransitionCancel(e) {
670
+ return c("transitioncancel", e);
671
+ },
672
+ // EVENTS - Scroll
673
+ onScroll(e) {
674
+ return c("scroll", e);
675
+ },
676
+ onScrollEnd(e) {
677
+ return c("scrollend", e);
678
+ },
679
+ // EVENTS - Generic
680
+ on(e, a, y) {
681
+ return c(e, a, y);
682
+ },
683
+ // LIFECYCLE
684
+ sync() {
685
+ },
686
+ destroy() {
687
+ if (!b) {
688
+ b = !0;
689
+ for (const e of h) e();
690
+ h.clear(), s?.disconnect(), s = null;
691
+ }
692
+ }
693
+ };
694
+ }
695
+ const V = /* @__PURE__ */ Symbol("idGenerated");
696
+ function ne() {
697
+ return crypto.randomUUID();
698
+ }
699
+ function at(t, C = ne) {
700
+ return "id" in t && typeof t.id == "string" && t.id.length > 0 ? t : {
701
+ ...t,
702
+ id: C(),
703
+ [V]: !0
704
+ };
705
+ }
706
+ function rt(t) {
707
+ return V in t && t[V] === !0;
708
+ }
709
+ function st(t) {
710
+ return typeof t == "string" && t.length > 0;
711
+ }
712
+ function it(t, C) {
713
+ return t.find((h) => h.id === C);
714
+ }
715
+ function ct(t, C) {
716
+ return t.findIndex((h) => h.id === C);
717
+ }
718
+ function dt(t) {
719
+ if (!rt(t))
720
+ return t;
721
+ const { id: C, ...h } = t;
722
+ return h;
723
+ }
724
+ function E(t, C) {
725
+ t.textContent = "", C != null && (C instanceof Node ? t.appendChild(C) : t.textContent = String(C));
726
+ }
727
+ function W(t) {
728
+ return t.childNodes.length === 1 && t.firstChild instanceof HTMLElement ? t.firstChild : t.textContent ?? "";
729
+ }
730
+ function k(t) {
731
+ const C = [];
732
+ for (let h = 0; h < t.cells.length; h++)
733
+ C.push(W(t.cells[h]));
734
+ return C;
735
+ }
736
+ function lt(t, C, h) {
737
+ const s = ot(t), b = h?.idGenerator ?? ne, c = /* @__PURE__ */ new Set(), v = /* @__PURE__ */ new Set(), w = /* @__PURE__ */ new Set();
738
+ function e() {
739
+ return t.tBodies.length > 0 ? t.tBodies[0] : t.createTBody();
740
+ }
741
+ function a() {
742
+ const o = [];
743
+ for (let r = 0; r < t.tBodies.length; r++) {
744
+ const l = t.tBodies[r];
745
+ for (let i = 0; i < l.rows.length; i++)
746
+ o.push(l.rows[i]);
747
+ }
748
+ return o;
749
+ }
750
+ function y(o, r) {
751
+ c.forEach((l) => l(o, r)), R();
752
+ }
753
+ function A(o, r) {
754
+ v.forEach((l) => l(o, r)), R();
755
+ }
756
+ function R() {
757
+ w.forEach((o) => o());
758
+ }
759
+ const f = {
760
+ ...s,
761
+ // === NATIVE TABLE STRUCTURE ===
762
+ getTableCaption() {
763
+ return t.caption;
764
+ },
765
+ setTableCaption(o) {
766
+ t.caption = o;
146
767
  },
147
- getColumnCount() {
148
- const e = d.getHeaders();
149
- if (e.length > 0) return e.length;
150
- const o = v();
151
- return o.length > 0 ? o[0].cells.length : 0;
152
- },
153
- getRowId(e) {
154
- return d.getRow(e)?.dataset.id;
155
- },
156
- getRowIndex(e) {
157
- const o = v();
158
- for (let n = 0; n < o.length; n++)
159
- if (o[n].dataset.id === e)
160
- return n;
161
- return -1;
162
- },
163
- getAllRowIds() {
164
- const e = v(), o = [];
165
- for (const n of e)
166
- n.dataset.id && o.push(n.dataset.id);
167
- return o;
168
- },
169
- // ======================================================================
170
- // STRUCTURE METHODS
171
- // ======================================================================
172
768
  createCaption() {
173
- return l.createCaption();
769
+ return t.createCaption();
174
770
  },
175
771
  deleteCaption() {
176
- l.deleteCaption();
772
+ t.deleteCaption();
773
+ },
774
+ getTHead() {
775
+ return t.tHead;
776
+ },
777
+ setTHead(o) {
778
+ t.tHead = o;
177
779
  },
178
780
  createTHead() {
179
- return l.createTHead();
781
+ return t.createTHead();
180
782
  },
181
783
  deleteTHead() {
182
- l.deleteTHead(), T();
784
+ t.deleteTHead();
785
+ },
786
+ getTFoot() {
787
+ return t.tFoot;
788
+ },
789
+ setTFoot(o) {
790
+ t.tFoot = o;
183
791
  },
184
792
  createTFoot() {
185
- return l.createTFoot();
793
+ return t.createTFoot();
186
794
  },
187
795
  deleteTFoot() {
188
- l.deleteTFoot();
796
+ t.deleteTFoot();
797
+ },
798
+ getTBodies() {
799
+ return t.tBodies;
189
800
  },
190
801
  createTBody() {
191
- return l.createTBody();
192
- },
193
- // ======================================================================
194
- // HEADER METHODS
195
- // ======================================================================
196
- setHeaders(e) {
197
- let o = l.tHead;
198
- for (o || (o = l.createTHead()); o.rows.length > 0; )
199
- o.deleteRow(0);
200
- const n = o.insertRow();
201
- for (const s of e)
202
- n.appendChild(oe(s));
203
- T();
204
- },
205
- setHeader(e, o) {
206
- const n = l.tHead;
207
- if (!n || n.rows.length === 0) return;
208
- const s = n.rows[0].cells[e];
209
- s && (s.textContent = o, T());
210
- },
211
- addHeader(e, o) {
212
- let n = l.tHead;
213
- n || (n = l.createTHead(), n.insertRow()), n.rows.length === 0 && n.insertRow();
214
- const s = n.rows[0], a = oe(e);
215
- o === void 0 || o >= s.cells.length ? s.appendChild(a) : s.insertBefore(a, s.cells[o]), T();
216
- },
217
- removeHeader(e) {
218
- const o = l.tHead;
219
- if (!o || o.rows.length === 0) return;
220
- const n = o.rows[0];
221
- e >= 0 && e < n.cells.length && (n.deleteCell(e), T());
222
- },
223
- // ======================================================================
224
- // ROW METHODS
225
- // ======================================================================
226
- addRow(e, o, n) {
227
- const s = E(), a = o ?? s.rows.length, i = s.insertRow(a), g = n ?? c();
228
- i.dataset.id = g;
229
- for (const w of e) {
230
- const B = i.insertCell();
231
- S(B, w);
232
- }
233
- return P([...e], a, g), i;
234
- },
235
- removeRow(e) {
236
- const o = v();
237
- if (e < 0 || e >= o.length) return;
238
- const n = o[e], s = L(n), a = n.dataset.id;
239
- return n.remove(), j(s, e, a), s;
240
- },
241
- removeRowById(e) {
242
- const o = d.getRowIndex(e);
243
- if (o !== -1)
244
- return d.removeRow(o);
245
- },
246
- updateRow(e, o) {
247
- const n = d.getRow(e);
248
- if (!n) return;
249
- const s = L(n), a = n.dataset.id;
250
- for (let i = 0; i < o.length; i++) {
251
- let g = n.cells[i];
252
- g || (g = n.insertCell()), S(g, o[i]);
253
- }
254
- for (; n.cells.length > o.length; )
255
- n.deleteCell(n.cells.length - 1);
256
- z(e, s, [...o], a);
257
- },
258
- updateRowById(e, o) {
259
- const n = d.getRowIndex(e);
260
- n !== -1 && d.updateRow(n, o);
261
- },
262
- moveRow(e, o) {
263
- const n = v();
264
- if (e < 0 || e >= n.length || o < 0 || o >= n.length || e === o) return;
265
- const s = n[e], a = s.parentElement;
266
- if (o > e) {
267
- const i = n[o];
268
- a.insertBefore(s, i.nextSibling);
269
- } else {
270
- const i = n[o];
271
- a.insertBefore(s, i);
272
- }
273
- y();
802
+ return t.createTBody();
274
803
  },
275
- swapRows(e, o) {
276
- const n = v();
277
- if (e < 0 || e >= n.length || o < 0 || o >= n.length || e === o) return;
278
- const s = n[e], a = n[o], i = s.parentElement, g = document.createElement("tr");
279
- i.insertBefore(g, s), i.insertBefore(s, a), i.insertBefore(a, g), g.remove(), y();
804
+ getTableRows() {
805
+ return t.rows;
280
806
  },
281
- clearRows() {
282
- const e = l.tBodies;
283
- for (let o = 0; o < e.length; o++) {
284
- const n = e[o];
285
- for (; n.rows.length > 0; )
286
- n.deleteRow(0);
287
- }
288
- y();
289
- },
290
- // ======================================================================
291
- // COLUMN METHODS
292
- // ======================================================================
293
- addColumn(e, o, n) {
294
- d.addHeader(e, n);
295
- const s = v();
296
- for (const i of s) {
297
- const g = i.insertCell(n ?? i.cells.length);
298
- S(g, o ?? "");
299
- }
300
- const a = l.tFoot;
301
- if (a && a.rows.length > 0) {
302
- const i = a.rows[0], g = i.insertCell(n ?? i.cells.length);
303
- S(g, "");
304
- }
305
- y();
306
- },
307
- removeColumn(e) {
308
- d.removeHeader(e);
309
- const o = v();
310
- for (const s of o)
311
- e >= 0 && e < s.cells.length && s.deleteCell(e);
312
- const n = l.tFoot;
313
- if (n && n.rows.length > 0) {
314
- const s = n.rows[0];
315
- e >= 0 && e < s.cells.length && s.deleteCell(e);
316
- }
317
- y();
318
- },
319
- moveColumn(e, o) {
320
- const n = d.getColumnCount();
321
- if (e < 0 || e >= n || o < 0 || o >= n || e === o) return;
322
- const s = (w) => {
323
- if (e >= w.cells.length) return;
324
- const B = w.cells[e];
325
- o >= w.cells.length ? w.appendChild(B) : o > e ? w.insertBefore(B, w.cells[o + 1]) : w.insertBefore(B, w.cells[o]);
326
- }, a = l.tHead;
327
- if (a)
328
- for (let w = 0; w < a.rows.length; w++)
329
- s(a.rows[w]);
330
- const i = v();
331
- for (const w of i)
332
- s(w);
333
- const g = l.tFoot;
334
- if (g)
335
- for (let w = 0; w < g.rows.length; w++)
336
- s(g.rows[w]);
337
- T(), y();
338
- },
339
- swapColumns(e, o) {
340
- const n = d.getColumnCount();
341
- if (e < 0 || e >= n || o < 0 || o >= n || e === o) return;
342
- const s = (w) => {
343
- if (e >= w.cells.length || o >= w.cells.length) return;
344
- const B = w.cells[e], G = w.cells[o], K = document.createElement("td");
345
- w.insertBefore(K, B), w.insertBefore(B, G), w.insertBefore(G, K), K.remove();
346
- }, a = l.tHead;
347
- if (a)
348
- for (let w = 0; w < a.rows.length; w++)
349
- s(a.rows[w]);
350
- const i = v();
351
- for (const w of i)
352
- s(w);
353
- const g = l.tFoot;
354
- if (g)
355
- for (let w = 0; w < g.rows.length; w++)
356
- s(g.rows[w]);
357
- T(), y();
358
- },
359
- setColumnData(e, o) {
360
- const n = v();
361
- for (let s = 0; s < n.length && s < o.length; s++) {
362
- const a = n[s].cells[e];
363
- if (a) {
364
- const i = A(a);
365
- S(a, o[s]), i !== o[s] && V(s, e, i, o[s]);
366
- }
367
- }
807
+ insertTableRow(o = -1) {
808
+ return t.insertRow(o);
368
809
  },
369
- // ======================================================================
370
- // CELL METHODS
371
- // ======================================================================
372
- setCell(e, o, n) {
373
- const s = d.getCell(e, o);
374
- if (!s) return;
375
- const a = A(s);
376
- S(s, n), V(e, o, a, n);
377
- },
378
- setCellByRowId(e, o, n) {
379
- const s = d.getRowIndex(e);
380
- s !== -1 && d.setCell(s, o, n);
381
- },
382
- setCellRange(e, o, n) {
383
- for (let s = 0; s < n.length; s++) {
384
- const a = n[s];
385
- for (let i = 0; i < a.length; i++)
386
- d.setCell(e + s, o + i, a[i]);
387
- }
810
+ deleteTableRow(o) {
811
+ t.deleteRow(o);
388
812
  },
389
- // ======================================================================
390
- // FOOTER METHODS
391
- // ======================================================================
392
- setFooter(e) {
393
- let o = l.tFoot;
394
- for (o || (o = l.createTFoot()); o.rows.length > 0; )
395
- o.deleteRow(0);
396
- const n = o.insertRow();
397
- for (const s of e) {
398
- const a = n.insertCell();
399
- S(a, s);
813
+ // === HEADERS ===
814
+ getHeaders() {
815
+ const o = t.tHead;
816
+ if (!o || o.rows.length === 0) return [];
817
+ const r = o.rows[0], l = [];
818
+ for (let i = 0; i < r.cells.length; i++)
819
+ l.push(r.cells[i].textContent ?? "");
820
+ return l;
821
+ },
822
+ setHeaders(o) {
823
+ let r = t.tHead;
824
+ for (r || (r = t.createTHead()); r.rows.length > 0; )
825
+ r.deleteRow(0);
826
+ const l = r.insertRow();
827
+ for (const i of o) {
828
+ const g = document.createElement("th");
829
+ g.scope = "col", g.textContent = i, l.appendChild(g);
400
830
  }
401
831
  },
402
- setFooterCell(e, o) {
403
- const n = l.tFoot;
404
- if (!n || n.rows.length === 0) return;
405
- const s = n.rows[0].cells[e];
406
- s && S(s, o);
832
+ addHeader(o, r) {
833
+ let l = t.tHead;
834
+ l || (l = t.createTHead(), l.insertRow()), l.rows.length === 0 && l.insertRow();
835
+ const i = l.rows[0], g = document.createElement("th");
836
+ g.scope = "col", g.textContent = o, r === void 0 || r >= i.cells.length ? i.appendChild(g) : i.insertBefore(g, i.cells[r]);
407
837
  },
408
- getFooterCell(e) {
409
- const o = l.tFoot;
410
- if (!o || o.rows.length === 0) return;
411
- const n = o.rows[0].cells[e];
412
- return n ? A(n) : void 0;
838
+ removeHeader(o) {
839
+ const r = t.tHead;
840
+ if (!r || r.rows.length === 0) return;
841
+ const l = r.rows[0];
842
+ o >= 0 && o < l.cells.length && l.deleteCell(o);
413
843
  },
414
- clearFooter() {
415
- const e = l.tFoot;
416
- if (e)
417
- for (; e.rows.length > 0; )
418
- e.deleteRow(0);
419
- },
420
- // ======================================================================
421
- // CAPTION METHODS
422
- // ======================================================================
423
- setCaption(e) {
424
- const o = l.createCaption();
425
- o.textContent = e;
844
+ clearHeaders() {
845
+ t.tHead && t.deleteTHead();
426
846
  },
427
- getCaptionText() {
428
- return l.caption?.textContent ?? void 0;
429
- },
430
- // ======================================================================
431
- // BULK OPERATIONS
432
- // ======================================================================
433
- setData(e) {
434
- d.clearRows();
435
- const o = E();
436
- for (const n of e) {
437
- const s = o.insertRow();
438
- s.dataset.id = c();
439
- for (const a of n) {
440
- const i = s.insertCell();
441
- S(i, a);
442
- }
443
- }
444
- y();
847
+ // === ROWS ===
848
+ getRowCount() {
849
+ return a().length;
850
+ },
851
+ getBodyRows() {
852
+ return a();
445
853
  },
446
- reset() {
447
- for (l.deleteCaption(), l.deleteTHead(), l.deleteTFoot(); l.tBodies.length > 0; )
448
- l.removeChild(l.tBodies[0]);
449
- T(), y();
854
+ getRow(o) {
855
+ return a()[o] ?? null;
450
856
  },
451
- sync() {
452
- const e = v();
453
- for (const o of e)
454
- o.dataset.id || (o.dataset.id = c());
455
- },
456
- // ======================================================================
457
- // RECORD-BASED OPERATIONS
458
- // ======================================================================
459
- setRecords(e, o) {
460
- d.clearRows();
461
- const n = E();
462
- for (const s of e) {
463
- const a = n.insertRow();
464
- a.dataset.id = s.id;
465
- for (const i of o) {
466
- const g = a.insertCell(), w = typeof i == "function" ? i(s) : s[i];
467
- S(g, w);
857
+ addRow(o, r) {
858
+ const l = e(), i = r ?? l.rows.length, g = l.insertRow(i), T = b();
859
+ g.dataset.id = T;
860
+ for (const B of o) {
861
+ const m = g.insertCell();
862
+ E(m, B);
863
+ }
864
+ return y(i, T), g;
865
+ },
866
+ removeRow(o) {
867
+ const l = a()[o];
868
+ if (!l) return null;
869
+ const i = k(l), g = l.dataset.id ?? null;
870
+ return l.remove(), A(o, g), i;
871
+ },
872
+ updateRow(o, r) {
873
+ const l = f.getRow(o);
874
+ if (l) {
875
+ for (let i = 0; i < r.length; i++) {
876
+ let g = l.cells[i];
877
+ g || (g = l.insertCell()), E(g, r[i]);
468
878
  }
879
+ for (; l.cells.length > r.length; )
880
+ l.deleteCell(l.cells.length - 1);
881
+ R();
469
882
  }
470
- y();
471
- },
472
- getRecordData(e) {
473
- return d.getRowDataById(e);
474
- },
475
- addRecord(e, o, n) {
476
- const s = "id" in e && typeof e.id == "string" && e.id.length > 0 ? e.id : c(), a = { ...e, id: s }, i = o.map((g) => typeof g == "function" ? g(a) : a[g]);
477
- return d.addRow(i, n, s), s;
478
- },
479
- updateRecordRow(e, o) {
480
- const n = d.getRowIndex(e);
481
- return n === -1 ? !1 : (d.updateRow(n, o), !0);
482
- },
483
- removeRecord(e) {
484
- return d.removeRowById(e) !== void 0;
485
883
  },
486
- hasRecord(e) {
487
- return d.getRowIndex(e) !== -1;
884
+ clearRows() {
885
+ for (let o = 0; o < t.tBodies.length; o++) {
886
+ const r = t.tBodies[o];
887
+ for (; r.rows.length > 0; )
888
+ r.deleteRow(0);
889
+ }
890
+ R();
891
+ },
892
+ // === ROWS BY ID ===
893
+ getRowById(o) {
894
+ const r = a();
895
+ for (const l of r)
896
+ if (l.dataset.id === o)
897
+ return l;
898
+ return null;
899
+ },
900
+ getRowId(o) {
901
+ return f.getRow(o)?.dataset.id ?? null;
902
+ },
903
+ addRowWithId(o, r, l) {
904
+ const i = e(), g = l ?? i.rows.length, T = i.insertRow(g);
905
+ T.dataset.id = r;
906
+ for (const B of o) {
907
+ const m = T.insertCell();
908
+ E(m, B);
909
+ }
910
+ return y(g, r), T;
488
911
  },
489
- // ======================================================================
490
- // ID GENERATOR
491
- // ======================================================================
492
- setIdGenerator(e) {
493
- c = e;
912
+ removeRowById(o) {
913
+ const r = a();
914
+ for (let l = 0; l < r.length; l++)
915
+ if (r[l].dataset.id === o)
916
+ return f.removeRow(l);
917
+ return null;
494
918
  },
495
- generateId() {
496
- return c();
919
+ // === CELLS ===
920
+ getCell(o, r) {
921
+ const l = f.getRow(o);
922
+ return l ? l.cells[r] ?? null : null;
497
923
  },
498
- // ======================================================================
499
- // EVENT HOOKS
500
- // ======================================================================
501
- onRowAdd(e) {
502
- return F.add(e), () => F.delete(e);
924
+ getCellValue(o, r) {
925
+ const l = f.getCell(o, r);
926
+ return l ? W(l) : null;
503
927
  },
504
- onRowRemove(e) {
505
- return f.add(e), () => f.delete(e);
928
+ setCell(o, r, l) {
929
+ const i = f.getCell(o, r);
930
+ i && (E(i, l), R());
506
931
  },
507
- onRowUpdate(e) {
508
- return h.add(e), () => h.delete(e);
932
+ // === COLUMNS ===
933
+ getColumnCount() {
934
+ const o = f.getHeaders();
935
+ if (o.length > 0) return o.length;
936
+ const r = a();
937
+ return r.length > 0 ? r[0].cells.length : 0;
938
+ },
939
+ addColumn(o, r) {
940
+ o !== void 0 && f.addHeader(o, r);
941
+ const l = a();
942
+ for (const g of l) {
943
+ const T = g.insertCell(r ?? g.cells.length);
944
+ E(T, "");
945
+ }
946
+ const i = t.tFoot;
947
+ if (i && i.rows.length > 0) {
948
+ const g = i.rows[0];
949
+ g.insertCell(r ?? g.cells.length);
950
+ }
951
+ R();
952
+ },
953
+ removeColumn(o) {
954
+ f.removeHeader(o);
955
+ const r = a();
956
+ for (const i of r)
957
+ o >= 0 && o < i.cells.length && i.deleteCell(o);
958
+ const l = t.tFoot;
959
+ if (l && l.rows.length > 0) {
960
+ const i = l.rows[0];
961
+ o >= 0 && o < i.cells.length && i.deleteCell(o);
962
+ }
963
+ R();
509
964
  },
510
- onCellChange(e) {
511
- return D.add(e), () => D.delete(e);
965
+ getColumnData(o) {
966
+ const r = a(), l = [];
967
+ for (const i of r) {
968
+ const g = i.cells[o];
969
+ g && l.push(W(g));
970
+ }
971
+ return l;
512
972
  },
513
- onHeaderChange(e) {
514
- return p.add(e), () => p.delete(e);
973
+ setColumnData(o, r) {
974
+ const l = a();
975
+ for (let i = 0; i < l.length && i < r.length; i++) {
976
+ const g = l[i].cells[o];
977
+ g && E(g, r[i]);
978
+ }
979
+ R();
980
+ },
981
+ // === BULK DATA ===
982
+ getTableData() {
983
+ return a().map(k);
984
+ },
985
+ setTableData(o) {
986
+ f.clearRows();
987
+ const r = e();
988
+ for (const l of o) {
989
+ const i = r.insertRow();
990
+ i.dataset.id = b();
991
+ for (const g of l) {
992
+ const T = i.insertCell();
993
+ E(T, g);
994
+ }
995
+ }
996
+ R();
997
+ },
998
+ // === FOOTER ===
999
+ getFooter() {
1000
+ const o = t.tFoot;
1001
+ return !o || o.rows.length === 0 ? null : k(o.rows[0]);
1002
+ },
1003
+ setFooter(o) {
1004
+ let r = t.tFoot;
1005
+ for (r || (r = t.createTFoot()); r.rows.length > 0; )
1006
+ r.deleteRow(0);
1007
+ const l = r.insertRow();
1008
+ for (const i of o) {
1009
+ const g = l.insertCell();
1010
+ E(g, i);
1011
+ }
515
1012
  },
516
- onDataChange(e) {
517
- return I.add(e), () => I.delete(e);
1013
+ clearFooter() {
1014
+ const o = t.tFoot;
1015
+ if (o)
1016
+ for (; o.rows.length > 0; )
1017
+ o.deleteRow(0);
518
1018
  },
519
- // ======================================================================
520
- // CLEANUP
521
- // ======================================================================
522
- destroy() {
523
- F.clear(), f.clear(), h.clear(), D.clear(), p.clear(), I.clear();
1019
+ // === CAPTION TEXT ===
1020
+ getCaptionText() {
1021
+ return t.caption?.textContent ?? null;
1022
+ },
1023
+ setCaptionText(o) {
1024
+ const r = t.createCaption();
1025
+ r.textContent = o;
1026
+ },
1027
+ // === ROW REORDERING ===
1028
+ moveRow(o, r) {
1029
+ const l = a();
1030
+ if (o < 0 || o >= l.length || r < 0 || r >= l.length || o === r) return;
1031
+ const i = l[o], g = l[r];
1032
+ !i.parentElement || !g.parentElement || (i.remove(), o < r ? g.after(i) : g.before(i), R());
1033
+ },
1034
+ swapRows(o, r) {
1035
+ const l = a();
1036
+ if (o < 0 || o >= l.length || r < 0 || r >= l.length || o === r) return;
1037
+ const i = l[o], g = l[r], T = document.createElement("tr");
1038
+ i.before(T), g.before(i), T.replaceWith(g), R();
1039
+ },
1040
+ // === EVENT SUBSCRIPTIONS ===
1041
+ onRowAdd(o) {
1042
+ return c.add(o), () => c.delete(o);
1043
+ },
1044
+ onRowRemove(o) {
1045
+ return v.add(o), () => v.delete(o);
1046
+ },
1047
+ onDataChange(o) {
1048
+ return w.add(o), () => w.delete(o);
524
1049
  }
525
1050
  };
526
- return H?.caption && d.setCaption(H.caption), H?.headers && d.setHeaders(H.headers), C && d.setData(C), H?.footer && d.setFooter(H.footer), d.sync(), d;
1051
+ return h?.caption && f.setCaptionText(h.caption), h?.headers && f.setHeaders(h.headers), C && f.setTableData(C), h?.footer && f.setFooter(h.footer), f;
1052
+ }
1053
+ function K(t, C) {
1054
+ return `${t},${C}`;
527
1055
  }
528
- function Ct(l, C, H) {
529
- const c = it(l.value, C, H), F = N(0), f = () => {
530
- F.value++;
531
- }, h = N(/* @__PURE__ */ new Set()), D = N(/* @__PURE__ */ new Set()), p = N(null), I = /* @__PURE__ */ new Set(), E = /* @__PURE__ */ new Set(), v = U(() => (F.value, c.element)), P = U(() => (F.value, c.getHeaders())), j = U(() => (F.value, c.getData())), z = U(() => (F.value, c.getRowCount())), V = U(() => (F.value, c.getColumnCount())), T = U(() => (F.value, c.getAllRowIds())), y = U(() => (F.value, c.getFooterData())), L = U(() => (F.value, c.getCaptionText())), d = () => {
532
- I.forEach((t) => t(h.value, D.value));
533
- }, e = () => {
534
- E.forEach((t) => t(p.value));
535
- }, o = (t, r) => `${t},${r}`, n = c.onDataChange(() => f()), s = c.onHeaderChange(() => f()), a = (t) => {
536
- if (t < 0 || t >= c.getRowCount()) return;
537
- const r = new Set(h.value);
538
- r.add(t), h.value = r, d();
539
- }, i = (t) => {
540
- const r = new Set(h.value);
541
- r.delete(t), h.value = r, d();
542
- }, g = (t) => {
543
- h.value.has(t) ? i(t) : a(t);
544
- }, w = () => {
545
- const t = c.getRowCount(), r = /* @__PURE__ */ new Set();
546
- for (let u = 0; u < t; u++)
547
- r.add(u);
548
- h.value = r, d();
549
- }, B = () => {
550
- h.value = /* @__PURE__ */ new Set(), d();
551
- }, G = (t, r) => {
552
- const u = Math.min(t, r), R = Math.max(t, r), m = c.getRowCount(), M = new Set(h.value);
553
- for (let k = u; k <= R && k < m; k++)
554
- k >= 0 && M.add(k);
555
- h.value = M, d();
556
- }, K = (t) => h.value.has(t), $ = () => Array.from(h.value).sort((t, r) => t - r), ne = () => $().map((t) => c.getRowData(t)).filter((t) => t !== void 0), J = (t, r) => {
557
- const u = o(t, r), R = new Set(D.value);
558
- R.add(u), D.value = R, d();
559
- }, O = (t, r) => {
560
- const u = o(t, r), R = new Set(D.value);
561
- R.delete(u), D.value = R, d();
562
- }, re = (t, r) => {
563
- const u = o(t, r);
564
- D.value.has(u) ? O(t, r) : J(t, r);
565
- }, se = (t, r) => D.value.has(o(t, r)), _ = () => {
566
- h.value = /* @__PURE__ */ new Set(), D.value = /* @__PURE__ */ new Set(), d();
567
- }, b = (t, r) => {
568
- const u = c.getRowCount(), R = c.getColumnCount();
569
- if (t < 0 || t >= u || r < 0 || r >= R) return;
570
- p.value = { row: t, column: r };
571
- const m = c.getCell(t, r);
572
- m && (m.tabIndex = 0, m.focus()), e();
573
- }, Q = () => {
574
- p.value = null, e();
575
- }, ce = () => p.value ? { ...p.value } : null, le = (t, r) => {
576
- const u = p.value;
577
- return u !== null && u.row === t && u.column === r;
578
- }, W = () => {
579
- const t = p.value;
580
- return !t || t.row <= 0 ? !1 : (b(t.row - 1, t.column), !0);
581
- }, X = () => {
582
- const t = p.value;
583
- if (!t) return !1;
584
- const r = c.getRowCount();
585
- return t.row >= r - 1 ? !1 : (b(t.row + 1, t.column), !0);
586
- }, Y = () => {
587
- const t = p.value;
588
- return !t || t.column <= 0 ? !1 : (b(t.row, t.column - 1), !0);
589
- }, Z = () => {
590
- const t = p.value;
591
- if (!t) return !1;
592
- const r = c.getColumnCount();
593
- return t.column >= r - 1 ? !1 : (b(t.row, t.column + 1), !0);
594
- }, x = () => {
595
- const t = c.getRowCount(), r = c.getColumnCount();
596
- t > 0 && r > 0 && b(0, 0);
597
- }, ee = () => {
598
- const t = c.getRowCount(), r = c.getColumnCount();
599
- t > 0 && r > 0 && b(t - 1, r - 1);
600
- }, ae = () => {
601
- const t = c.element, r = (u) => {
602
- const R = p.value;
603
- if (!R) return;
604
- let m = !1;
605
- switch (u.key) {
1056
+ function ft(t, C, h) {
1057
+ const s = H(null), b = H(0), c = H(!1), v = H(/* @__PURE__ */ new Set()), w = H(/* @__PURE__ */ new Set()), e = H(null), a = H(null), y = /* @__PURE__ */ new Set(), A = /* @__PURE__ */ new Set(), R = [];
1058
+ function f() {
1059
+ c.value || b.value++;
1060
+ }
1061
+ function o() {
1062
+ y.forEach((n) => n(v.value, w.value));
1063
+ }
1064
+ function r() {
1065
+ A.forEach((n) => n(a.value));
1066
+ }
1067
+ function l(n) {
1068
+ if (c.value || s.value) return;
1069
+ s.value = lt(n, C, h);
1070
+ const u = s.value.onDataChange(() => {
1071
+ f();
1072
+ });
1073
+ R.push(u);
1074
+ }
1075
+ const i = H(et(t));
1076
+ t !== null && typeof t == "object" && "value" in t ? tt(
1077
+ () => t.value,
1078
+ (n) => {
1079
+ i.value = n, n && !s.value && l(n);
1080
+ },
1081
+ { immediate: !0 }
1082
+ ) : t && l(t);
1083
+ const g = D(() => s.value !== null), T = D(() => (b.value, s.value?.getHeaders() ?? [])), B = D(() => (b.value, s.value?.getTableData() ?? [])), m = D(() => (b.value, s.value?.getRowCount() ?? 0)), F = D(() => (b.value, s.value?.getColumnCount() ?? 0)), oe = D(() => {
1084
+ if (b.value, !s.value) return [];
1085
+ const n = [], u = s.value.getRowCount();
1086
+ for (let d = 0; d < u; d++) {
1087
+ const p = s.value.getRowId(d);
1088
+ p && n.push(p);
1089
+ }
1090
+ return n;
1091
+ }), re = D(() => (b.value, s.value?.getFooter() ?? null)), le = D(() => (b.value, s.value?.getCaptionText() ?? null));
1092
+ function ue() {
1093
+ const n = s.value?.createCaption() ?? null;
1094
+ return f(), n;
1095
+ }
1096
+ function ae() {
1097
+ s.value?.deleteCaption(), f();
1098
+ }
1099
+ function se() {
1100
+ const n = s.value?.createTHead() ?? null;
1101
+ return f(), n;
1102
+ }
1103
+ function ie() {
1104
+ s.value?.deleteTHead(), f();
1105
+ }
1106
+ function ce() {
1107
+ const n = s.value?.createTFoot() ?? null;
1108
+ return f(), n;
1109
+ }
1110
+ function de() {
1111
+ s.value?.deleteTFoot(), f();
1112
+ }
1113
+ function fe() {
1114
+ const n = s.value?.createTBody() ?? null;
1115
+ return f(), n;
1116
+ }
1117
+ function ge(n) {
1118
+ s.value?.setHeaders(n), f();
1119
+ }
1120
+ function ve(n, u) {
1121
+ s.value?.addHeader(n, u), f();
1122
+ }
1123
+ function we(n) {
1124
+ s.value?.removeHeader(n), f();
1125
+ }
1126
+ function he() {
1127
+ s.value?.clearHeaders(), f();
1128
+ }
1129
+ function Ce(n, u) {
1130
+ return s.value?.addRow(n, u) ?? null;
1131
+ }
1132
+ function pe(n, u, d) {
1133
+ return s.value?.addRowWithId(n, u, d) ?? null;
1134
+ }
1135
+ function Te(n) {
1136
+ const u = /* @__PURE__ */ new Set();
1137
+ for (const d of v.value)
1138
+ d < n ? u.add(d) : d > n && u.add(d - 1);
1139
+ return v.value = u, s.value?.removeRow(n) ?? null;
1140
+ }
1141
+ function be(n) {
1142
+ return s.value?.removeRowById(n) ?? null;
1143
+ }
1144
+ function Re(n, u) {
1145
+ s.value?.updateRow(n, u), f();
1146
+ }
1147
+ function ye() {
1148
+ v.value = /* @__PURE__ */ new Set(), w.value = /* @__PURE__ */ new Set(), a.value = null, s.value?.clearRows(), f();
1149
+ }
1150
+ function me(n) {
1151
+ return s.value?.getRow(n) ?? null;
1152
+ }
1153
+ function Se(n) {
1154
+ return s.value?.getRowById(n) ?? null;
1155
+ }
1156
+ function Ae(n) {
1157
+ return s.value?.getRowId(n) ?? null;
1158
+ }
1159
+ function He(n, u) {
1160
+ if (s.value?.moveRow(n, u), v.value.has(n)) {
1161
+ const d = new Set(v.value);
1162
+ d.delete(n), d.add(u), v.value = d, o();
1163
+ }
1164
+ f();
1165
+ }
1166
+ function De(n, u) {
1167
+ s.value?.swapRows(n, u);
1168
+ const d = v.value.has(n), p = v.value.has(u);
1169
+ if (d !== p) {
1170
+ const S = new Set(v.value);
1171
+ d && (S.delete(n), S.add(u)), p && (S.delete(u), S.add(n)), v.value = S, o();
1172
+ }
1173
+ f();
1174
+ }
1175
+ function Ee(n, u) {
1176
+ s.value?.addColumn(n, u), f();
1177
+ }
1178
+ function Le(n) {
1179
+ s.value?.removeColumn(n), f();
1180
+ }
1181
+ function Fe(n) {
1182
+ return s.value?.getColumnData(n) ?? [];
1183
+ }
1184
+ function Be(n, u) {
1185
+ s.value?.setColumnData(n, u), f();
1186
+ }
1187
+ function O(n, u) {
1188
+ return s.value?.getCell(n, u) ?? null;
1189
+ }
1190
+ function Pe(n, u) {
1191
+ return s.value?.getCellValue(n, u) ?? null;
1192
+ }
1193
+ function Ie(n, u, d) {
1194
+ s.value?.setCell(n, u, d);
1195
+ }
1196
+ function Me() {
1197
+ return s.value?.getFooter() ?? null;
1198
+ }
1199
+ function Ne(n) {
1200
+ s.value?.setFooter(n), f();
1201
+ }
1202
+ function ke() {
1203
+ s.value?.clearFooter(), f();
1204
+ }
1205
+ function Ke() {
1206
+ return s.value?.getCaptionText() ?? null;
1207
+ }
1208
+ function Ve(n) {
1209
+ s.value?.setCaptionText(n), f();
1210
+ }
1211
+ function We() {
1212
+ return s.value?.getTableData() ?? [];
1213
+ }
1214
+ function Oe(n) {
1215
+ v.value = /* @__PURE__ */ new Set(), w.value = /* @__PURE__ */ new Set(), a.value = null, s.value?.setTableData(n), f();
1216
+ }
1217
+ function je() {
1218
+ f();
1219
+ }
1220
+ function j(n) {
1221
+ if (n < 0 || n >= m.value) return;
1222
+ const u = new Set(v.value);
1223
+ u.add(n), v.value = u, e.value = n, f(), o();
1224
+ }
1225
+ function U(n) {
1226
+ const u = new Set(v.value);
1227
+ u.delete(n), v.value = u, f(), o();
1228
+ }
1229
+ function I(n) {
1230
+ v.value.has(n) ? U(n) : j(n);
1231
+ }
1232
+ function z() {
1233
+ const n = m.value, u = /* @__PURE__ */ new Set();
1234
+ for (let d = 0; d < n; d++)
1235
+ u.add(d);
1236
+ v.value = u, f(), o();
1237
+ }
1238
+ function Ue() {
1239
+ v.value = /* @__PURE__ */ new Set(), e.value = null, f(), o();
1240
+ }
1241
+ function ze(n) {
1242
+ return v.value.has(n);
1243
+ }
1244
+ function q() {
1245
+ return Array.from(v.value).sort((n, u) => n - u);
1246
+ }
1247
+ function qe() {
1248
+ if (!s.value) return [];
1249
+ const n = q(), u = [];
1250
+ for (const d of n) {
1251
+ const p = s.value.getRow(d);
1252
+ if (p) {
1253
+ const S = [];
1254
+ for (let P = 0; P < p.cells.length; P++)
1255
+ S.push(s.value.getCellValue(d, P));
1256
+ u.push(S);
1257
+ }
1258
+ }
1259
+ return u;
1260
+ }
1261
+ function M(n, u) {
1262
+ const d = m.value;
1263
+ if (n < 0 || n >= d || u < 0 || u >= d) return;
1264
+ const p = new Set(v.value), S = Math.min(n, u), P = Math.max(n, u);
1265
+ for (let N = S; N <= P; N++)
1266
+ p.add(N);
1267
+ v.value = p, f(), o();
1268
+ }
1269
+ function Ge(n, u, d) {
1270
+ n < 0 || n >= m.value || (d && e.value !== null ? (u || (v.value = /* @__PURE__ */ new Set()), M(e.value, n)) : u ? (I(n), e.value = n) : (v.value = /* @__PURE__ */ new Set([n]), e.value = n, f(), o()));
1271
+ }
1272
+ function G(n, u) {
1273
+ if (n < 0 || n >= m.value || u < 0 || u >= F.value) return;
1274
+ const d = new Set(w.value);
1275
+ d.add(K(n, u)), w.value = d, f(), o();
1276
+ }
1277
+ function $(n, u) {
1278
+ const d = new Set(w.value);
1279
+ d.delete(K(n, u)), w.value = d, f(), o();
1280
+ }
1281
+ function _(n, u) {
1282
+ x(n, u) ? $(n, u) : G(n, u);
1283
+ }
1284
+ function x(n, u) {
1285
+ return w.value.has(K(n, u));
1286
+ }
1287
+ function J() {
1288
+ v.value = /* @__PURE__ */ new Set(), w.value = /* @__PURE__ */ new Set(), e.value = null, f(), o();
1289
+ }
1290
+ function L(n, u) {
1291
+ if (n < 0 || n >= m.value || u < 0 || u >= F.value) return;
1292
+ a.value = { row: n, column: u };
1293
+ const d = O(n, u);
1294
+ d && (d.setAttribute("tabindex", "0"), d.focus()), f(), r();
1295
+ }
1296
+ function Q() {
1297
+ a.value = null, f(), r();
1298
+ }
1299
+ function $e() {
1300
+ return a.value;
1301
+ }
1302
+ function _e(n, u) {
1303
+ const d = a.value;
1304
+ return d !== null && d.row === n && d.column === u;
1305
+ }
1306
+ function X() {
1307
+ const n = a.value;
1308
+ return !n || n.row <= 0 ? !1 : (L(n.row - 1, n.column), !0);
1309
+ }
1310
+ function Y() {
1311
+ const n = a.value;
1312
+ return !n || n.row >= m.value - 1 ? !1 : (L(n.row + 1, n.column), !0);
1313
+ }
1314
+ function Z() {
1315
+ const n = a.value;
1316
+ return !n || n.column <= 0 ? !1 : (L(n.row, n.column - 1), !0);
1317
+ }
1318
+ function ee() {
1319
+ const n = a.value;
1320
+ return !n || n.column >= F.value - 1 ? !1 : (L(n.row, n.column + 1), !0);
1321
+ }
1322
+ function xe() {
1323
+ const n = i.value;
1324
+ if (!n) return () => {
1325
+ };
1326
+ const u = (d) => {
1327
+ let p = !1;
1328
+ switch (d.key) {
606
1329
  case "ArrowUp":
607
- m = W();
1330
+ p = X();
608
1331
  break;
609
1332
  case "ArrowDown":
610
- m = X();
1333
+ p = Y();
611
1334
  break;
612
1335
  case "ArrowLeft":
613
- m = Y();
1336
+ p = Z();
614
1337
  break;
615
1338
  case "ArrowRight":
616
- m = Z();
1339
+ p = ee();
617
1340
  break;
618
1341
  case "Home":
619
- u.ctrlKey ? x() : b(R.row, 0), m = !0;
1342
+ a.value && (L(a.value.row, 0), p = !0);
620
1343
  break;
621
1344
  case "End":
622
- if (u.ctrlKey)
623
- ee();
624
- else {
625
- const M = c.getColumnCount();
626
- b(R.row, M - 1);
627
- }
628
- m = !0;
629
- break;
630
- case "Enter":
631
- case " ":
632
- u.shiftKey ? G(R.row, R.row) : u.ctrlKey || u.metaKey ? g(R.row) : (B(), a(R.row)), m = !0;
1345
+ a.value && F.value > 0 && (L(a.value.row, F.value - 1), p = !0);
633
1346
  break;
634
1347
  case "Escape":
635
- _(), m = !0;
1348
+ J(), Q(), p = !0;
636
1349
  break;
637
1350
  case "a":
638
- (u.ctrlKey || u.metaKey) && (h.value.size === c.getRowCount() ? B() : w(), m = !0);
1351
+ (d.ctrlKey || d.metaKey) && (z(), p = !0);
1352
+ break;
1353
+ case "Enter":
1354
+ case " ":
1355
+ a.value && (d.shiftKey ? I(a.value.row) : _(a.value.row, a.value.column), p = !0);
639
1356
  break;
640
1357
  }
641
- m && (u.preventDefault(), u.stopPropagation());
1358
+ p && (d.preventDefault(), d.stopPropagation());
642
1359
  };
643
- return t.addEventListener("keydown", r), () => {
644
- t.removeEventListener("keydown", r);
1360
+ return n.addEventListener("keydown", u), () => n.removeEventListener("keydown", u);
1361
+ }
1362
+ function Je(n) {
1363
+ return s.value ? s.value.onRowAdd(n) : () => {
645
1364
  };
646
- }, ue = (t, r) => {
647
- c.setRecords(t, r), f();
648
- }, de = (t) => c.getRecordData(t), ie = (t, r, u) => {
649
- const R = c.addRecord(t, r, u);
650
- return f(), R;
651
- }, we = (t, r) => {
652
- const u = c.updateRecordRow(t, r);
653
- return u && f(), u;
654
- }, fe = (t) => {
655
- const r = c.removeRecord(t);
656
- return r && f(), r;
657
- }, ge = (t) => c.hasRecord(t), Ce = () => $().map((r) => c.getRowId(r)).filter((r) => r !== void 0), Re = (t) => {
658
- for (const r of t) {
659
- const u = c.getRowIndex(r);
660
- u !== -1 && a(u);
661
- }
662
- }, he = (t) => {
663
- for (const r of t) {
664
- const u = c.getRowIndex(r);
665
- u !== -1 && i(u);
666
- }
667
- }, ve = (t) => {
668
- c.setHeaders(t), f();
669
- }, pe = (t, r) => {
670
- c.setHeader(t, r), f();
671
- }, ye = (t, r) => {
672
- c.addHeader(t, r), f();
673
- }, me = (t) => {
674
- c.removeHeader(t), f();
675
- }, He = (t, r, u) => {
676
- const R = c.addRow(t, r, u);
677
- return f(), R;
678
- }, Fe = (t) => {
679
- const r = c.removeRow(t);
680
- return r && f(), r;
681
- }, De = (t) => {
682
- const r = c.removeRowById(t);
683
- return r && f(), r;
684
- }, Be = (t, r) => {
685
- c.updateRow(t, r), f();
686
- }, Ie = (t, r) => {
687
- c.updateRowById(t, r), f();
688
- }, Te = (t, r) => {
689
- c.moveRow(t, r), f();
690
- }, Se = (t, r) => {
691
- c.swapRows(t, r), f();
692
- }, Ee = () => {
693
- c.clearRows(), f();
694
- }, be = (t, r, u) => {
695
- c.addColumn(t, r, u), f();
696
- }, Le = (t) => {
697
- c.removeColumn(t), f();
698
- }, Ue = (t, r) => {
699
- c.moveColumn(t, r), f();
700
- }, Ae = (t, r) => {
701
- c.swapColumns(t, r), f();
702
- }, Ge = (t, r) => {
703
- c.setColumnData(t, r), f();
704
- }, Ke = (t, r) => c.getCellValue(t, r), ke = (t, r, u) => {
705
- c.setCell(t, r, u), f();
706
- }, Ve = (t, r, u) => {
707
- c.setCellByRowId(t, r, u), f();
708
- }, Me = (t, r, u) => {
709
- c.setCellRange(t, r, u), f();
710
- }, Ne = (t, r) => c.getCell(t, r), Pe = (t) => c.getRowData(t), je = (t) => c.getRowDataById(t), ze = (t) => c.getRow(t), $e = (t) => c.getRowById(t), _e = (t) => c.getRowId(t), qe = (t) => c.getRowIndex(t), Je = (t) => c.getColumnData(t), Oe = (t) => {
711
- c.setFooter(t), f();
712
- }, Qe = (t, r) => {
713
- c.setFooterCell(t, r), f();
714
- }, We = (t) => c.getFooterCell(t), Xe = () => {
715
- c.clearFooter(), f();
716
- }, Ye = (t) => {
717
- c.setCaption(t), f();
718
- }, Ze = (t) => {
719
- c.setData(t), f();
720
- }, xe = () => {
721
- c.reset(), _(), Q(), f();
722
- }, et = () => {
723
- c.sync(), f();
724
- }, tt = (t) => c.onRowAdd(t), ot = (t) => c.onRowRemove(t), nt = (t) => c.onRowUpdate(t), rt = (t) => c.onCellChange(t), st = (t) => c.onHeaderChange(t), ct = (t) => c.onDataChange(t), lt = (t) => (I.add(t), () => I.delete(t)), at = (t) => (E.add(t), () => E.delete(t)), te = () => {
725
- n(), s(), I.clear(), E.clear(), c.destroy();
726
- };
727
- return ut(() => {
1365
+ }
1366
+ function Qe(n) {
1367
+ return s.value ? s.value.onRowRemove(n) : () => {
1368
+ };
1369
+ }
1370
+ function Xe(n) {
1371
+ return s.value ? s.value.onDataChange(n) : () => {
1372
+ };
1373
+ }
1374
+ function Ye(n) {
1375
+ return y.add(n), () => y.delete(n);
1376
+ }
1377
+ function Ze(n) {
1378
+ return A.add(n), () => A.delete(n);
1379
+ }
1380
+ function te() {
1381
+ c.value = !0;
1382
+ for (const n of R)
1383
+ n();
1384
+ R.length = 0, s.value?.destroy(), s.value = null, v.value = /* @__PURE__ */ new Set(), w.value = /* @__PURE__ */ new Set(), a.value = null;
1385
+ }
1386
+ return nt(() => {
728
1387
  te();
729
1388
  }), {
730
- // Table instance
731
- instance: c,
1389
+ // Core
1390
+ instance: s,
1391
+ isInitialized: g,
1392
+ element: i,
732
1393
  // Reactive state
733
- element: v,
734
- headers: P,
735
- data: j,
736
- rowCount: z,
737
- columnCount: V,
738
- rowIds: T,
739
- footerData: y,
740
- captionText: L,
741
- version: F,
1394
+ headers: T,
1395
+ data: B,
1396
+ rowCount: m,
1397
+ columnCount: F,
1398
+ rowIds: oe,
1399
+ footerData: re,
1400
+ captionText: le,
1401
+ version: b,
742
1402
  // Selection state
743
1403
  selection: {
744
- rows: h,
745
- cells: D
1404
+ rows: v,
1405
+ cells: w
746
1406
  },
747
1407
  // Focus state
748
1408
  focus: {
749
- cell: p
1409
+ cell: a
750
1410
  },
751
1411
  // Structure methods
752
- createCaption: () => c.createCaption(),
753
- deleteCaption: () => {
754
- c.deleteCaption(), f();
755
- },
756
- createTHead: () => c.createTHead(),
757
- deleteTHead: () => {
758
- c.deleteTHead(), f();
759
- },
760
- createTFoot: () => c.createTFoot(),
761
- deleteTFoot: () => {
762
- c.deleteTFoot(), f();
763
- },
764
- createTBody: () => c.createTBody(),
1412
+ createCaption: ue,
1413
+ deleteCaption: ae,
1414
+ createTHead: se,
1415
+ deleteTHead: ie,
1416
+ createTFoot: ce,
1417
+ deleteTFoot: de,
1418
+ createTBody: fe,
765
1419
  // Header methods
766
- setHeaders: ve,
767
- setHeader: pe,
768
- addHeader: ye,
769
- removeHeader: me,
1420
+ setHeaders: ge,
1421
+ addHeader: ve,
1422
+ removeHeader: we,
1423
+ clearHeaders: he,
770
1424
  // Row methods
771
- addRow: He,
772
- removeRow: Fe,
773
- removeRowById: De,
774
- updateRow: Be,
775
- updateRowById: Ie,
776
- moveRow: Te,
777
- swapRows: Se,
778
- clearRows: Ee,
1425
+ addRow: Ce,
1426
+ addRowWithId: pe,
1427
+ removeRow: Te,
1428
+ removeRowById: be,
1429
+ updateRow: Re,
1430
+ clearRows: ye,
1431
+ getRow: me,
1432
+ getRowById: Se,
1433
+ getRowId: Ae,
1434
+ moveRow: He,
1435
+ swapRows: De,
779
1436
  // Column methods
780
- addColumn: be,
1437
+ addColumn: Ee,
781
1438
  removeColumn: Le,
782
- moveColumn: Ue,
783
- swapColumns: Ae,
784
- setColumnData: Ge,
1439
+ getColumnData: Fe,
1440
+ setColumnData: Be,
785
1441
  // Cell methods
786
- getCell: Ke,
787
- setCell: ke,
788
- setCellByRowId: Ve,
789
- setCellRange: Me,
790
- getCellElement: Ne,
791
- // Row access methods
792
- getRowData: Pe,
793
- getRowDataById: je,
794
- getRowElement: ze,
795
- getRowById: $e,
796
- getRowId: _e,
797
- getRowIndex: qe,
798
- getColumnData: Je,
1442
+ getCell: O,
1443
+ getCellValue: Pe,
1444
+ setCell: Ie,
799
1445
  // Footer methods
800
- setFooter: Oe,
801
- setFooterCell: Qe,
802
- getFooterCell: We,
803
- clearFooter: Xe,
1446
+ getFooter: Me,
1447
+ setFooter: Ne,
1448
+ clearFooter: ke,
804
1449
  // Caption methods
805
- setCaption: Ye,
1450
+ getCaption: Ke,
1451
+ setCaption: Ve,
806
1452
  // Bulk operations
807
- setData: Ze,
808
- reset: xe,
809
- sync: et,
1453
+ getData: We,
1454
+ setData: Oe,
1455
+ sync: je,
810
1456
  // Selection methods
811
- selectRow: a,
812
- deselectRow: i,
813
- toggleRowSelection: g,
814
- selectAllRows: w,
815
- deselectAllRows: B,
816
- selectRowRange: G,
817
- isRowSelected: K,
818
- getSelectedRowIndices: $,
819
- getSelectedRowData: ne,
820
- selectCell: J,
821
- deselectCell: O,
822
- toggleCellSelection: re,
823
- isCellSelected: se,
824
- clearSelection: _,
1457
+ selectRow: j,
1458
+ deselectRow: U,
1459
+ toggleRowSelection: I,
1460
+ selectAllRows: z,
1461
+ deselectAllRows: Ue,
1462
+ isRowSelected: ze,
1463
+ getSelectedRowIndices: q,
1464
+ getSelectedRowData: qe,
1465
+ selectRowRange: M,
1466
+ selectRowWithModifiers: Ge,
1467
+ selectCell: G,
1468
+ deselectCell: $,
1469
+ toggleCellSelection: _,
1470
+ isCellSelected: x,
1471
+ clearSelection: J,
825
1472
  // Focus methods
826
- focusCell: b,
1473
+ focusCell: L,
827
1474
  clearFocus: Q,
828
- getFocusedCell: ce,
829
- isCellFocused: le,
830
- moveFocusUp: W,
831
- moveFocusDown: X,
832
- moveFocusLeft: Y,
833
- moveFocusRight: Z,
834
- moveFocusToFirst: x,
835
- moveFocusToLast: ee,
836
- enableKeyboardNavigation: ae,
837
- // Record-based operations
838
- setRecords: ue,
839
- getRecordData: de,
840
- addRecord: ie,
841
- updateRecordRow: we,
842
- removeRecord: fe,
843
- hasRecord: ge,
844
- getSelectedRecordIds: Ce,
845
- selectRecords: Re,
846
- deselectRecords: he,
847
- // ID generator
848
- setIdGenerator: (t) => c.setIdGenerator(t),
849
- generateId: () => c.generateId(),
850
- // Event hooks
851
- onRowAdd: tt,
852
- onRowRemove: ot,
853
- onRowUpdate: nt,
854
- onCellChange: rt,
855
- onHeaderChange: st,
856
- onDataChange: ct,
857
- onSelectionChange: lt,
858
- onFocusChange: at,
859
- // Cleanup
1475
+ getFocusedCell: $e,
1476
+ isCellFocused: _e,
1477
+ moveFocusUp: X,
1478
+ moveFocusDown: Y,
1479
+ moveFocusLeft: Z,
1480
+ moveFocusRight: ee,
1481
+ enableKeyboardNavigation: xe,
1482
+ // Event subscriptions
1483
+ onRowAdd: Je,
1484
+ onRowRemove: Qe,
1485
+ onDataChange: Xe,
1486
+ onSelectionChange: Ye,
1487
+ onFocusChange: Ze,
1488
+ // Lifecycle
860
1489
  destroy: te
861
1490
  };
862
1491
  }
863
- const q = /* @__PURE__ */ Symbol("idGenerated");
864
- function wt() {
865
- return crypto.randomUUID();
866
- }
867
- function Rt(l, C = wt) {
868
- return "id" in l && typeof l.id == "string" && l.id.length > 0 ? l : {
869
- ...l,
870
- id: C(),
871
- [q]: !0
872
- };
873
- }
874
- function ft(l) {
875
- return q in l && l[q] === !0;
876
- }
877
- function ht(l) {
878
- return typeof l == "string" && l.length > 0;
879
- }
880
- function vt(l, C) {
881
- return l.find((H) => H.id === C);
882
- }
883
- function pt(l, C) {
884
- return l.findIndex((H) => H.id === C);
885
- }
886
- function yt(l) {
887
- if (!ft(l))
888
- return l;
889
- const { id: C, ...H } = l;
890
- return H;
891
- }
892
1492
  export {
893
- q as ID_GENERATED,
894
- it as createTable,
895
- Rt as ensureId,
896
- vt as findById,
897
- wt as generateId,
898
- pt as indexById,
899
- ht as isValidId,
900
- yt as stripGeneratedId,
901
- Ct as useTable,
902
- ft as wasIdGenerated
1493
+ V as ID_GENERATED,
1494
+ lt as createTable,
1495
+ at as ensureId,
1496
+ it as findById,
1497
+ ne as generateId,
1498
+ ct as indexById,
1499
+ st as isValidId,
1500
+ dt as stripGeneratedId,
1501
+ ft as useTable,
1502
+ rt as wasIdGenerated
903
1503
  };