@vtable-guild/vtable-guild 2.9.0-alpha.2 → 2.9.0-alpha.4

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.
Files changed (32) hide show
  1. package/css/style.css +14 -0
  2. package/css/tailwind3-utilities.css +14 -0
  3. package/dist/css/style.css +14 -0
  4. package/dist/css/tailwind3-utilities.css +14 -0
  5. package/dist/index.full.mjs +2967 -2871
  6. package/dist/index.mjs +139 -125
  7. package/dist/table/src/components/Table.d.ts.map +1 -1
  8. package/dist/table/src/components/Table.mjs +488 -466
  9. package/dist/table/src/components/TableHeaderCell.d.ts.map +1 -1
  10. package/dist/table/src/components/TableHeaderCell.mjs +277 -263
  11. package/dist/table/src/components/VTableDynamicSlots.test.d.ts +2 -0
  12. package/dist/table/src/components/VTableDynamicSlots.test.d.ts.map +1 -0
  13. package/dist/table/src/components/VTableHeaderAlignment.test.d.ts +2 -0
  14. package/dist/table/src/components/VTableHeaderAlignment.test.d.ts.map +1 -0
  15. package/dist/table/src/composables/useHeaderTitleBalance.d.ts +7 -0
  16. package/dist/table/src/composables/useHeaderTitleBalance.d.ts.map +1 -0
  17. package/dist/table/src/composables/useHeaderTitleBalance.mjs +50 -0
  18. package/dist/table/src/composables/useHeaderTitleBalance.test.d.ts +2 -0
  19. package/dist/table/src/composables/useHeaderTitleBalance.test.d.ts.map +1 -0
  20. package/dist/table/src/context.d.ts +2 -2
  21. package/dist/table/src/preset-config.d.ts +2 -0
  22. package/dist/table/src/preset-config.d.ts.map +1 -1
  23. package/dist/table/src/preset-config.mjs +12 -10
  24. package/dist/theme/src/presets/antdv/table.d.ts +3 -3
  25. package/dist/theme/src/presets/antdv/table.d.ts.map +1 -1
  26. package/dist/theme/src/presets/antdv/table.mjs +6 -3
  27. package/dist/theme/src/presets/element-plus/table.d.ts +3 -3
  28. package/dist/theme/src/presets/element-plus/table.d.ts.map +1 -1
  29. package/dist/theme/src/presets/element-plus/table.mjs +6 -3
  30. package/dist/vtable-guild/src/index.d.ts +1 -0
  31. package/dist/vtable-guild/src/index.d.ts.map +1 -1
  32. package/package.json +1 -1
@@ -1,31 +1,32 @@
1
- import { defineComponent as qe, inject as ze, computed as i, ref as d, watch as Se, nextTick as Ue, onBeforeUnmount as be, createVNode as n, mergeProps as E, Teleport as Ge, isVNode as Xe } from "vue";
1
+ import { defineComponent as Xe, inject as Ye, computed as s, ref as c, watch as ye, onBeforeUnmount as Je, createVNode as a, mergeProps as R, Teleport as Qe, isVNode as Ze } from "vue";
2
2
  import "../../../core/src/utils/tv.mjs";
3
- import we from "../../../core/src/components/Tooltip.mjs";
4
- import Ye from "../../../icons/src/DownOutlinedIcon.mjs";
5
- import { SELECTION_ALL as $e, SELECTION_INVERT as Je, SELECTION_NONE as Qe } from "../constants.mjs";
6
- import { TABLE_CONTEXT_KEY as Ze } from "../context.mjs";
7
- import { getColumnKey as Z } from "../composables/useColumns.mjs";
8
- import { useFixedColumnStyle as el } from "../composables/useFixedColumnStyle.mjs";
9
- import { getCellSpan as ll, omitCellProps as tl, getEllipsisConfig as ol } from "../utils/cell.mjs";
10
- import { resolvePopupContainer as ee, getPopupPositionStyle as nl } from "../utils/popupPosition.mjs";
11
- import { ensureValidVNode as rl } from "../utils/vnode.mjs";
12
- import sl from "./SortButton.mjs";
13
- import al from "./FilterIcon.mjs";
14
- import il from "./FilterDropdown.mjs";
15
- import ul from "./SelectionCheckbox.mjs";
16
- import cl from "./SelectionDropdown.mjs";
17
- import { getColumnFilters as le } from "../utils/valueEnum.mjs";
18
- import fl from "./ResizeHandle.mjs";
19
- import { TABLE_ALIGN_CLASSES as dl } from "../../../theme/src/presets/antdv/table.mjs";
20
- import { cn as C } from "tailwind-variants";
21
- function vl(t) {
22
- return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !Xe(t);
3
+ import Te from "../../../core/src/components/Tooltip.mjs";
4
+ import el from "../../../icons/src/DownOutlinedIcon.mjs";
5
+ import { SELECTION_ALL as ll, SELECTION_INVERT as tl, SELECTION_NONE as nl } from "../constants.mjs";
6
+ import { TABLE_CONTEXT_KEY as ol } from "../context.mjs";
7
+ import { getColumnKey as Q } from "../composables/useColumns.mjs";
8
+ import { useFixedColumnStyle as al } from "../composables/useFixedColumnStyle.mjs";
9
+ import { useHeaderTitleBalance as rl } from "../composables/useHeaderTitleBalance.mjs";
10
+ import { getCellSpan as sl, omitCellProps as il, getEllipsisConfig as ul } from "../utils/cell.mjs";
11
+ import { resolvePopupContainer as Z, getPopupPositionStyle as cl } from "../utils/popupPosition.mjs";
12
+ import { ensureValidVNode as fl } from "../utils/vnode.mjs";
13
+ import dl from "./SortButton.mjs";
14
+ import vl from "./FilterIcon.mjs";
15
+ import ml from "./FilterDropdown.mjs";
16
+ import pl from "./SelectionCheckbox.mjs";
17
+ import gl from "./SelectionDropdown.mjs";
18
+ import { getColumnFilters as ee } from "../utils/valueEnum.mjs";
19
+ import hl from "./ResizeHandle.mjs";
20
+ import { TABLE_ALIGN_CLASSES as Cl } from "../../../theme/src/presets/antdv/table.mjs";
21
+ import { cn as g } from "tailwind-variants";
22
+ function Sl(t) {
23
+ return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !Ze(t);
23
24
  }
24
- function ml(t) {
25
+ function bl(t) {
25
26
  if (t === "ascend") return "ascending";
26
27
  if (t === "descend") return "descending";
27
28
  }
28
- const Nl = /* @__PURE__ */ qe({
29
+ const jl = /* @__PURE__ */ Xe({
29
30
  name: "TableHeaderCell",
30
31
  props: {
31
32
  cell: {
@@ -46,177 +47,176 @@ const Nl = /* @__PURE__ */ qe({
46
47
  }
47
48
  },
48
49
  setup(t) {
49
- const e = ze(Ze, {}), o = i(() => t.cell.isLeaf ? t.cell.column : null), V = i(() => t.cell.leafIndex >= 0 ? String(t.cell.leafIndex) : void 0), v = i(() => t.cell.column.customHeaderCell?.(t.cell.column, t.index, o.value ?? void 0)), k = i(() => ll(v.value, "colSpan") ?? t.cell.colSpan), B = i(() => t.cell.rowSpan), T = i(() => {
50
+ const e = Ye(ol, {}), n = s(() => t.cell.isLeaf ? t.cell.column : null), V = s(() => t.cell.leafIndex >= 0 ? String(t.cell.leafIndex) : void 0), p = s(() => t.cell.column.customHeaderCell?.(t.cell.column, t.index, n.value ?? void 0)), O = s(() => sl(p.value, "colSpan") ?? t.cell.colSpan), B = s(() => t.cell.rowSpan), _ = s(() => {
50
51
  const {
51
52
  onClick: l,
52
- ...r
53
- } = tl(v.value);
54
- return r;
55
- }), x = i(() => o.value?.sorter ? e.getSortOrder?.(o.value) ?? null : null), O = i(() => !!o.value?.sorter), b = i(() => o.value?.showSorterTooltip ?? e.showSorterTooltip?.value ?? !0), N = i(() => !o.value || !O.value ? !1 : b.value !== !1), R = i(() => {
56
- const l = o.value;
57
- return l ? le(l).length > 0 || !!l.customFilterDropdown || !!l.filterDropdown : !1;
58
- }), K = i(() => !o.value || !R.value ? [] : e.getFilteredValue?.(o.value) ?? []), w = i(() => {
59
- const l = o.value;
53
+ ...o
54
+ } = il(p.value);
55
+ return o;
56
+ }), x = s(() => n.value?.sorter ? e.getSortOrder?.(n.value) ?? null : null), D = s(() => !!n.value?.sorter), b = s(() => n.value?.showSorterTooltip ?? e.showSorterTooltip?.value ?? !0), N = s(() => !n.value || !D.value ? !1 : b.value !== !1), I = s(() => {
57
+ const l = n.value;
58
+ return l ? ee(l).length > 0 || !!l.customFilterDropdown || !!l.filterDropdown : !1;
59
+ }), le = c(null), te = c(null), ne = c(null), _e = s(() => ne.value?.$el ?? null), xe = s(() => t.cell.column.align === "center" && (D.value || I.value) && e.presetConfig?.value.headerTitleCenter === "cell"), K = s(() => !n.value || !I.value ? [] : e.getFilteredValue?.(n.value) ?? []), w = s(() => {
60
+ const l = n.value;
60
61
  return l ? l.filtered !== void 0 ? l.filtered : K.value.length > 0 : !1;
61
- }), te = i(() => o.value?.filterDropdownOpen !== void 0), oe = d(!1), D = i(() => te.value ? o.value?.filterDropdownOpen ?? !1 : oe.value);
62
- function g(l) {
63
- te.value || (oe.value = l), o.value?.onFilterDropdownOpenChange?.(l);
62
+ }), oe = s(() => n.value?.filterDropdownOpen !== void 0), ae = c(!1), A = s(() => oe.value ? n.value?.filterDropdownOpen ?? !1 : ae.value);
63
+ function h(l) {
64
+ oe.value || (ae.value = l), n.value?.onFilterDropdownOpenChange?.(l);
64
65
  }
65
- const m = d(null), j = d(null);
66
+ const d = c(null), j = c(null), De = rl(xe, le, te, d, _e);
66
67
  function W() {
67
- g(!D.value);
68
+ h(!A.value);
68
69
  }
69
- function q(l) {
70
- j.value && !j.value.contains(l.target) && !m.value?.contains(l.target) && g(!1);
70
+ function re(l) {
71
+ j.value && !j.value.contains(l.target) && !d.value?.contains(l.target) && h(!1);
71
72
  }
72
- const ye = i(() => {
73
- const l = o.value;
73
+ const Ie = s(() => {
74
+ const l = n.value;
74
75
  return l ? !!l.filterDropdown || !!l.customFilterDropdown && !!e.customFilterDropdown : !1;
75
76
  });
76
- Se(D, (l) => {
77
- l && ye.value ? Ue(() => {
78
- document.addEventListener("mousedown", q);
79
- }) : document.removeEventListener("mousedown", q);
80
- }), be(() => {
81
- document.removeEventListener("mousedown", q);
77
+ ye([A, Ie], ([l, o], u, f) => {
78
+ !l || !o || (document.addEventListener("mousedown", re), f(() => document.removeEventListener("mousedown", re)));
79
+ }, {
80
+ flush: "post",
81
+ immediate: !0
82
82
  });
83
- function ne() {
84
- return m.value ? m.value.getBoundingClientRect() : {
83
+ function se() {
84
+ return d.value ? d.value.getBoundingClientRect() : {
85
85
  top: 0,
86
86
  left: 0,
87
87
  right: 0,
88
88
  bottom: 0
89
89
  };
90
90
  }
91
- const I = d([]), re = d(null);
92
- Se(() => K.value, (l) => {
93
- I.value = [...l];
91
+ const F = c([]), ie = c(null);
92
+ ye(() => K.value, (l) => {
93
+ F.value = [...l];
94
94
  }, {
95
95
  immediate: !0
96
96
  });
97
- function se(l, r = !0) {
98
- o.value && (e.confirmFilter?.(o.value, l), r && g(!1));
97
+ function ue(l, o = !0) {
98
+ n.value && (e.confirmFilter?.(n.value, l), o && h(!1));
99
99
  }
100
- function _e() {
101
- o.value && (e.resetFilter?.(o.value), g(!1));
100
+ function Ae() {
101
+ n.value && (e.resetFilter?.(n.value), h(!1));
102
102
  }
103
- function Te() {
104
- g(!1);
103
+ function Fe() {
104
+ h(!1);
105
105
  }
106
- const xe = i(() => {
106
+ const Me = s(() => {
107
107
  const l = t.cell.leafColumns;
108
108
  if (!l.length) return null;
109
- const r = l[0], u = l[l.length - 1], p = Z(r) ?? t.cell.colStart, a = Z(u) ?? t.cell.colEnd, h = e.fixedOffsets?.value?.get(p), S = e.fixedOffsets?.value?.get(a);
110
- return l.every((M) => M.fixed === "left") && h?.left !== void 0 ? {
111
- left: h.left,
109
+ const o = l[0], u = l[l.length - 1], f = Q(o) ?? t.cell.colStart, i = Q(u) ?? t.cell.colEnd, C = e.fixedOffsets?.value?.get(f), S = e.fixedOffsets?.value?.get(i);
110
+ return l.every((E) => E.fixed === "left") && C?.left !== void 0 ? {
111
+ left: C.left,
112
112
  isLastLeft: S?.isLastLeft
113
- } : l.every((M) => M.fixed === "right") && S?.right !== void 0 ? {
113
+ } : l.every((E) => E.fixed === "right") && S?.right !== void 0 ? {
114
114
  right: S.right,
115
- isFirstRight: h?.isFirstRight
115
+ isFirstRight: C?.isFirstRight
116
116
  } : null;
117
117
  }), {
118
- fixedStyle: De,
119
- fixedClass: ae
120
- } = el({
121
- fixedInfo: () => xe.value
122
- }), Ie = i(() => {
123
- const l = e.themePreset?.value === "antdv", r = e.bordered?.value ?? !1;
124
- return !l || r || t.cell.isLeaf ? "" : e.vtgClass?.("before:hidden border-b-0") ?? "";
125
- }), Ae = i(() => {
118
+ fixedStyle: Le,
119
+ fixedClass: ce
120
+ } = al({
121
+ fixedInfo: () => Me.value
122
+ }), Ee = s(() => {
123
+ const l = e.themePreset?.value === "antdv", o = e.bordered?.value ?? !1;
124
+ return !l || o || t.cell.isLeaf ? "" : e.vtgClass?.("before:hidden border-b-0") ?? "";
125
+ }), ke = s(() => {
126
126
  const l = e.leafColumnCount?.value ?? 0;
127
127
  return l > 0 && t.cell.colEnd < l - 1 ? e.bordered?.value ?? !1 ? e.vtgClass?.("last:border-r last:border-[color:var(--vtg-table-border-color)]") ?? "" : e.vtgClass?.("last:before:bg-[color:var(--vtg-table-header-split-color)]") ?? "" : "";
128
- }), ie = i(() => e.getColumnTitle?.(t.cell.column) ?? t.cell.column.title ?? ""), ue = i(() => {
128
+ }), fe = s(() => e.getColumnTitle?.(t.cell.column) ?? t.cell.column.title ?? ""), de = s(() => {
129
129
  if (!t.cell.isLeaf) return !1;
130
- const l = o.value;
131
- return !l || !ol(l).enabled ? !1 : e.headerEllipsis?.value === !0;
132
- }), Fe = i(() => {
130
+ const l = n.value;
131
+ return !l || !ul(l).enabled ? !1 : e.headerEllipsis?.value === !0;
132
+ }), Re = s(() => {
133
133
  if (e.headerCell) {
134
134
  const l = e.headerCell({
135
- title: ie.value,
135
+ title: fe.value,
136
136
  column: t.cell.column,
137
137
  index: t.index
138
138
  });
139
- if (rl(l) !== null)
139
+ if (fl(l) !== null)
140
140
  return l;
141
141
  }
142
- return ie.value;
143
- }), Me = i(() => {
144
- const l = t.cell.column.align ? e.vtgClass?.(dl[t.cell.column.align]) ?? "" : "", r = O.value ? e.subThemeSlots?.thSortable() : "", u = x.value ? e.subThemeSlots?.thSorted() : "", p = o.value?.key === "__vtg_expand__";
145
- return C(t.thClass, l, r, u, Ie.value, t.cell.column.className, p ? e.vtgClass?.("before:hidden") : "", v.value?.class, v.value?.className, ae.value, Ae.value, p ? e.compatClass?.("row-expand-icon-cell") : "", ue.value ? e.compatClass?.("cell-ellipsis") : "");
146
- }), ce = i(() => {
142
+ return fe.value;
143
+ }), Oe = s(() => {
144
+ const l = t.cell.column.align ? e.vtgClass?.(Cl[t.cell.column.align]) ?? "" : "", o = D.value ? e.subThemeSlots?.thSortable() : "", u = x.value ? e.subThemeSlots?.thSorted() : "", f = n.value?.key === "__vtg_expand__";
145
+ return g(t.thClass, l, o, u, Ee.value, t.cell.column.className, f ? e.vtgClass?.("before:hidden") : "", p.value?.class, p.value?.className, ce.value, ke.value, f ? e.compatClass?.("row-expand-icon-cell") : "", de.value ? e.compatClass?.("cell-ellipsis") : "");
146
+ }), ve = s(() => {
147
147
  const l = {};
148
- if (o.value) {
149
- const a = e.columnWidths?.[String(Z(o.value) ?? t.cell.leafIndex)] ?? o.value.width;
150
- a && (l.width = typeof a == "number" ? `${a}px` : a);
148
+ if (n.value) {
149
+ const i = e.columnWidths?.[String(Q(n.value) ?? t.cell.leafIndex)] ?? n.value.width;
150
+ i && (l.width = typeof i == "number" ? `${i}px` : i);
151
151
  }
152
- const r = v.value?.style, u = De.value;
152
+ const o = p.value?.style, u = Le.value;
153
153
  return {
154
154
  ...l,
155
155
  ...u ?? {},
156
- ...r ?? {},
157
- ...o.value ? e.columnLayout?.columnStyle(t.cell.leafIndex, k.value) : {}
156
+ ...o ?? {},
157
+ ...n.value ? e.columnLayout?.columnStyle(t.cell.leafIndex, O.value) : {}
158
158
  };
159
- }), H = d(!1), A = d(null);
160
- function Le() {
161
- return A.value ? A.value.getBoundingClientRect() : {
159
+ }), H = c(!1), M = c(null);
160
+ function Ne() {
161
+ return M.value ? M.value.getBoundingClientRect() : {
162
162
  top: 0,
163
163
  left: 0,
164
164
  right: 0,
165
165
  bottom: 0
166
166
  };
167
167
  }
168
- let c = null;
169
- function Ee() {
170
- c && clearTimeout(c), H.value = !0;
168
+ let v = null;
169
+ function He() {
170
+ v && clearTimeout(v), H.value = !0;
171
171
  }
172
- function fe() {
173
- c && clearTimeout(c), c = setTimeout(() => {
172
+ function me() {
173
+ v && clearTimeout(v), v = setTimeout(() => {
174
174
  H.value = !1;
175
175
  }, 100);
176
176
  }
177
- function ke() {
178
- c && clearTimeout(c);
177
+ function Pe() {
178
+ v && clearTimeout(v);
179
179
  }
180
- function Oe() {
181
- c && clearTimeout(c), H.value = !1;
180
+ function Ve() {
181
+ v && clearTimeout(v), H.value = !1;
182
182
  }
183
- const z = d(!1);
184
- let U;
185
- be(() => clearTimeout(U));
186
- function de(l) {
187
- clearTimeout(U);
188
- const r = b.value, u = typeof r == "object" ? l ? r.mouseEnterDelay : r.mouseLeaveDelay : 0;
189
- u && u > 0 ? U = setTimeout(() => {
190
- z.value = l;
191
- }, u * 1e3) : z.value = l;
183
+ const q = c(!1);
184
+ let z;
185
+ Je(() => clearTimeout(z));
186
+ function pe(l) {
187
+ clearTimeout(z);
188
+ const o = b.value, u = typeof o == "object" ? l ? o.mouseEnterDelay : o.mouseLeaveDelay : 0;
189
+ u && u > 0 ? z = setTimeout(() => {
190
+ q.value = l;
191
+ }, u * 1e3) : q.value = l;
192
192
  }
193
- const F = d(!1), Ne = i(() => N.value && z.value && !F.value);
194
- function Re(l) {
195
- const r = T.value.onMouseenter;
196
- typeof r == "function" && r(l), N.value && de(!0);
193
+ const L = c(!1), Be = s(() => N.value && q.value && !L.value);
194
+ function Ke(l) {
195
+ const o = _.value.onMouseenter;
196
+ typeof o == "function" && o(l), N.value && pe(!0);
197
197
  }
198
- function He(l) {
199
- const r = T.value.onMouseleave;
200
- typeof r == "function" && r(l), N.value && de(!1);
198
+ function je(l) {
199
+ const o = _.value.onMouseleave;
200
+ typeof o == "function" && o(l), N.value && pe(!1);
201
201
  }
202
- function G() {
203
- F.value = !0;
202
+ function $() {
203
+ L.value = !0;
204
204
  }
205
- function X() {
206
- F.value = !1;
205
+ function U() {
206
+ L.value = !1;
207
207
  }
208
- function Y(l) {
209
- const r = v.value?.onClick;
210
- typeof r == "function" && r(l), o.value && O.value && e.toggleSortOrder?.(o.value);
208
+ function G(l) {
209
+ const o = p.value?.onClick;
210
+ typeof o == "function" && o(l), n.value && D.value && e.toggleSortOrder?.(n.value);
211
211
  }
212
212
  return () => {
213
- if (k.value === 0 || B.value === 0)
213
+ if (O.value === 0 || B.value === 0)
214
214
  return null;
215
- const l = k.value !== 1 ? k.value : void 0, r = B.value !== 1 ? B.value : void 0;
216
- if (o.value?.key === "__vtg_selection__") {
217
- const s = e.rowSelection?.(), f = s?.type === "radio", pe = s?.hideSelectAll === !0, J = s?.selections !== void 0 && s.selections !== !1, y = e.locale?.value, L = s?.columnTitle, je = L !== void 0, Ce = C(t.thClass, e.vtgClass?.(je ? "text-center before:hidden" : "text-center before:hidden leading-[0]"), o.value.className, v.value?.class, v.value?.className, ae.value, e.compatClass?.("selection-column")), ge = ce.value;
218
- let Q = [];
219
- if (J && (s?.selections === !0 ? Q = [{
215
+ const l = O.value !== 1 ? O.value : void 0, o = B.value !== 1 ? B.value : void 0;
216
+ if (n.value?.key === "__vtg_selection__") {
217
+ const r = e.rowSelection?.(), m = r?.type === "radio", Ce = r?.hideSelectAll === !0, Y = r?.selections !== void 0 && r.selections !== !1, y = e.locale?.value, k = r?.columnTitle, Ue = k !== void 0, Se = g(t.thClass, e.vtgClass?.(Ue ? "text-center before:hidden" : "text-center before:hidden leading-[0]"), n.value.className, p.value?.class, p.value?.className, ce.value, e.compatClass?.("selection-column")), be = ve.value;
218
+ let J = [];
219
+ if (Y && (r?.selections === !0 ? J = [{
220
220
  key: "__vtg_select_all__",
221
221
  text: y?.selection?.selectAll ?? "全选所有",
222
222
  onSelect: () => e.toggleAll?.(!0, !0)
@@ -228,212 +228,226 @@ const Nl = /* @__PURE__ */ qe({
228
228
  key: "__vtg_select_none__",
229
229
  text: y?.selection?.selectNone ?? "清空所有",
230
230
  onSelect: () => e.clearSelection?.()
231
- }] : Array.isArray(s?.selections) && (Q = s.selections.map((_) => _ === $e ? {
231
+ }] : Array.isArray(r?.selections) && (J = r.selections.map((T) => T === ll ? {
232
232
  key: "__vtg_select_all__",
233
233
  text: y?.selection?.selectAll ?? "全选所有",
234
234
  onSelect: () => e.toggleAll?.(!0, !0)
235
- } : _ === Je ? {
235
+ } : T === tl ? {
236
236
  key: "__vtg_select_invert__",
237
237
  text: y?.selection?.selectInvert ?? "反选当页",
238
238
  onSelect: () => e.invertSelection?.()
239
- } : _ === Qe ? {
239
+ } : T === nl ? {
240
240
  key: "__vtg_select_none__",
241
241
  text: y?.selection?.selectNone ?? "清空所有",
242
242
  onSelect: () => e.clearSelection?.()
243
- } : _))), f)
244
- return n("th", E(T.value, {
245
- class: Ce,
246
- style: ge,
243
+ } : T))), m)
244
+ return a("th", R(_.value, {
245
+ class: Se,
246
+ style: be,
247
247
  colspan: l,
248
- rowspan: r,
248
+ rowspan: o,
249
249
  "data-vtg-leaf-col": V.value,
250
- onClick: Y
251
- }), [L]);
252
- const he = e.allCheckedState?.() ?? "none", We = L ? n("span", {
250
+ onClick: G
251
+ }), [k]);
252
+ const we = e.allCheckedState?.() ?? "none", Ge = k ? a("span", {
253
253
  class: e.vtgClass?.("ml-2")
254
- }, [L]) : null;
255
- return n("th", E(T.value, {
256
- class: Ce,
257
- style: ge,
254
+ }, [k]) : null;
255
+ return a("th", R(_.value, {
256
+ class: Se,
257
+ style: be,
258
258
  colspan: l,
259
- rowspan: r,
259
+ rowspan: o,
260
260
  "data-vtg-leaf-col": V.value,
261
- onClick: Y
262
- }), [pe ? L : n("span", {
263
- class: C(e.vtgClass?.("inline-flex items-center justify-center relative"), e.compatClass?.("selection"))
264
- }, [n(ul, {
265
- checked: he === "all",
266
- indeterminate: he === "partial",
267
- onChange: (_) => e.toggleAll?.(_)
268
- }, null), We, J && n("span", {
269
- ref: A,
270
- class: C(e.subThemeSlots?.selectionExtra(), e.vtgClass?.("absolute left-full top-1/2 -translate-y-1/2")),
271
- onMouseenter: Ee,
272
- onMouseleave: fe,
261
+ onClick: G
262
+ }), [Ce ? k : a("span", {
263
+ class: g(e.vtgClass?.("inline-flex items-center justify-center relative"), e.compatClass?.("selection"))
264
+ }, [a(pl, {
265
+ checked: we === "all",
266
+ indeterminate: we === "partial",
267
+ onChange: (T) => e.toggleAll?.(T)
268
+ }, null), Ge, Y && a("span", {
269
+ ref: M,
270
+ class: g(e.subThemeSlots?.selectionExtra(), e.vtgClass?.("absolute left-full top-1/2 -translate-y-1/2")),
271
+ onMouseenter: He,
272
+ onMouseleave: me,
273
273
  role: "button",
274
274
  "aria-label": "Selection options"
275
- }, [n(Ye, null, null)])]), !pe && J && n(cl, {
276
- items: Q,
277
- anchorElement: A.value,
278
- anchorRect: Le(),
279
- popupContainer: ee(e, A.value),
275
+ }, [a(el, null, null)])]), !Ce && Y && a(gl, {
276
+ items: J,
277
+ anchorElement: M.value,
278
+ anchorRect: Ne(),
279
+ popupContainer: Z(e, M.value),
280
280
  visible: H.value,
281
- onClose: Oe,
282
- onMouseenter: ke,
283
- onMouseleave: fe
281
+ onClose: Ve,
282
+ onMouseenter: Pe,
283
+ onMouseleave: me
284
284
  }, null)]);
285
285
  }
286
- const u = e.locale?.value, p = x.value === null ? u?.header.sortTriggerAsc ?? "点击升序" : x.value === "ascend" ? u?.header.sortTriggerDesc ?? "点击降序" : u?.header.cancelSort ?? "取消排序", a = o.value, h = t.cell.column.tooltip, S = typeof h == "string" ? {
287
- title: h
288
- } : h, M = e.subThemeSlots?.sortAreaWrapper(), Pe = e.subThemeSlots?.sortAreaTitle(), P = n("span", {
289
- class: M
290
- }, [n("span", {
291
- class: C(Pe, ue.value && e.vtgClass?.("block min-w-0 overflow-hidden text-ellipsis whitespace-nowrap"))
292
- }, [Fe.value, S && n("span", {
286
+ const u = e.locale?.value, f = x.value === null ? u?.header.sortTriggerAsc ?? "点击升序" : x.value === "ascend" ? u?.header.sortTriggerDesc ?? "点击降序" : u?.header.cancelSort ?? "取消排序", i = n.value, C = t.cell.column.tooltip, S = typeof C == "string" ? {
287
+ title: C
288
+ } : C, E = e.subThemeSlots?.sortAreaWrapper(), We = e.subThemeSlots?.sortAreaTitle(), P = a("span", {
289
+ class: E,
290
+ "data-align": t.cell.column.align
291
+ }, [a("span", {
292
+ ref: te,
293
+ "data-align": t.cell.column.align,
294
+ class: g(We, de.value && e.vtgClass?.("block min-w-0 overflow-hidden text-ellipsis whitespace-nowrap"))
295
+ }, [Re.value, S && a("span", {
293
296
  class: e.subThemeSlots?.headerHelp(),
294
- onClick: (s) => s.stopPropagation(),
297
+ onClick: (r) => r.stopPropagation(),
295
298
  onMouseenter: () => {
296
- F.value = !0;
299
+ L.value = !0;
297
300
  },
298
301
  onMouseleave: () => {
299
- F.value = !1;
302
+ L.value = !1;
300
303
  }
301
- }, [n(we, E(S, {
304
+ }, [a(Te, R(S, {
302
305
  title: S.title
303
306
  }), {
304
- default: () => [n("span", null, [n("svg", {
307
+ default: () => [a("span", null, [a("svg", {
305
308
  width: "1em",
306
309
  height: "1em",
307
310
  viewBox: "0 0 16 16",
308
311
  fill: "none",
309
312
  stroke: "currentColor",
310
313
  "aria-hidden": "true"
311
- }, [n("circle", {
314
+ }, [a("circle", {
312
315
  cx: "8",
313
316
  cy: "8",
314
317
  r: "6"
315
- }, null), n("path", {
318
+ }, null), a("path", {
316
319
  d: "M6.2 5.7a1.8 1.8 0 1 1 3 1.3C8.4 7.6 8 8 8 9"
317
- }, null), n("path", {
320
+ }, null), a("path", {
318
321
  d: "M8 11h.01"
319
322
  }, null)])])]
320
- })])]), O.value && n(sl, {
323
+ })])]), D.value && a(dl, {
324
+ ref: ne,
321
325
  sortOrder: x.value
322
- }, null)]), ve = e.subThemeSlots?.sortAreaOuter(), Ve = N.value ? n("span", {
323
- class: ve
324
- }, [n(we, E({
326
+ }, null)]), ge = e.subThemeSlots?.sortAreaOuter(), qe = N.value ? a("span", {
327
+ class: ge,
328
+ "data-align": t.cell.column.align
329
+ }, [a(Te, R({
325
330
  block: !0,
326
331
  placement: "top"
327
332
  }, typeof b.value == "object" ? b.value : {}, {
328
- title: typeof b.value == "object" ? b.value.title ?? p : p,
329
- open: !!Ne.value
330
- }), vl(P) ? P : {
333
+ title: typeof b.value == "object" ? b.value.title ?? f : f,
334
+ open: !!Be.value
335
+ }), Sl(P) ? P : {
331
336
  default: () => [P]
332
- })]) : n("span", {
333
- class: ve
334
- }, [P]), Be = a && (a.filterIcon ? n("span", {
335
- class: C(e.subThemeSlots?.filterIconWrapper(), e.subThemeSlots?.filterIcon(), w.value && e.compatClass && "active"),
336
- ref: m,
337
- onMouseenter: G,
338
- onMouseleave: X,
339
- onMousedown: (s) => s.stopPropagation(),
340
- onClick: (s) => {
341
- s.stopPropagation(), W();
337
+ })]) : a("span", {
338
+ class: ge,
339
+ "data-align": t.cell.column.align
340
+ }, [P]), ze = i && (i.filterIcon ? a("span", {
341
+ "data-align": t.cell.column.align,
342
+ class: g(e.subThemeSlots?.filterIconWrapper(), e.subThemeSlots?.filterIcon(), w.value && e.compatClass && "active"),
343
+ ref: d,
344
+ onMouseenter: $,
345
+ onMouseleave: U,
346
+ onMousedown: (r) => r.stopPropagation(),
347
+ onClick: (r) => {
348
+ r.stopPropagation(), W();
342
349
  },
343
350
  role: "button",
344
351
  "aria-label": u?.header.filterTriggerAriaLabel ?? "筛选"
345
- }, [a.filterIcon({
352
+ }, [i.filterIcon({
346
353
  filtered: w.value
347
- })]) : e.customFilterIcon ? n("span", {
348
- class: C(e.subThemeSlots?.filterIconWrapper(), e.subThemeSlots?.filterIcon(), w.value && e.compatClass && "active"),
349
- ref: m,
350
- onMouseenter: G,
351
- onMouseleave: X,
352
- onMousedown: (s) => s.stopPropagation(),
353
- onClick: (s) => {
354
- s.stopPropagation(), W();
354
+ })]) : e.customFilterIcon ? a("span", {
355
+ "data-align": t.cell.column.align,
356
+ class: g(e.subThemeSlots?.filterIconWrapper(), e.subThemeSlots?.filterIcon(), w.value && e.compatClass && "active"),
357
+ ref: d,
358
+ onMouseenter: $,
359
+ onMouseleave: U,
360
+ onMousedown: (r) => r.stopPropagation(),
361
+ onClick: (r) => {
362
+ r.stopPropagation(), W();
355
363
  },
356
364
  role: "button",
357
365
  "aria-label": u?.header.filterTriggerAriaLabel ?? "筛选"
358
366
  }, [e.customFilterIcon({
359
- column: a,
367
+ column: i,
360
368
  filtered: w.value
361
- })]) : n("span", {
362
- ref: m,
369
+ })]) : a("span", {
370
+ ref: d,
371
+ "data-align": t.cell.column.align,
363
372
  class: [e.subThemeSlots?.filterIconWrapper(), w.value && e.compatClass && "active"],
364
- onMouseenter: G,
365
- onMouseleave: X,
366
- onMousedown: (s) => s.stopPropagation()
367
- }, [n(al, {
373
+ onMouseenter: $,
374
+ onMouseleave: U,
375
+ onMousedown: (r) => r.stopPropagation()
376
+ }, [a(vl, {
368
377
  active: w.value,
369
378
  onClick: () => W()
370
- }, null)])), $ = a && {
371
- column: a,
372
- selectedKeys: I.value,
373
- setSelectedKeys: (s) => {
374
- I.value = [...s];
379
+ }, null)])), X = i && {
380
+ column: i,
381
+ selectedKeys: F.value,
382
+ setSelectedKeys: (r) => {
383
+ F.value = [...r];
375
384
  },
376
- confirm: (s) => {
377
- se(I.value, s?.closeDropdown !== !1);
385
+ confirm: (r) => {
386
+ ue(F.value, r?.closeDropdown !== !1);
378
387
  },
379
- clearFilters: (s) => {
380
- const f = a.filterResetToDefaultFilteredValue ? [...a.defaultFilteredValue ?? []] : [];
381
- I.value = f, s?.confirm !== !1 && e.confirmFilter?.(a, f), s?.closeDropdown !== !1 && g(!1);
388
+ clearFilters: (r) => {
389
+ const m = i.filterResetToDefaultFilteredValue ? [...i.defaultFilteredValue ?? []] : [];
390
+ F.value = m, r?.confirm !== !1 && e.confirmFilter?.(i, m), r?.closeDropdown !== !1 && h(!1);
382
391
  },
383
- filters: le(a),
384
- visible: D.value,
385
- close: () => g(!1)
386
- }, me = a?.customFilterDropdown ? e.customFilterDropdown : void 0, Ke = a && $ && (() => {
387
- const s = typeof a.filterDropdown == "function" ? a.filterDropdown($) : a.filterDropdown ?? (me ? me($) : null);
388
- if (s) {
389
- const f = ee(e, m.value);
390
- return n(Ge, {
391
- to: f
392
+ filters: ee(i),
393
+ visible: A.value,
394
+ close: () => h(!1)
395
+ }, he = i?.customFilterDropdown ? e.customFilterDropdown : void 0, $e = i && X && (() => {
396
+ const r = typeof i.filterDropdown == "function" ? i.filterDropdown(X) : i.filterDropdown ?? (he ? he(X) : null);
397
+ if (r) {
398
+ const m = Z(e, d.value);
399
+ return a(Qe, {
400
+ to: m
392
401
  }, {
393
- default: () => [D.value && n("div", {
402
+ default: () => [A.value && a("div", {
394
403
  ref: j,
395
404
  class: e.subThemeSlots?.filterDropdown(),
396
- style: nl(ne(), f, 150)
397
- }, [s])]
405
+ style: cl(se(), m, 150)
406
+ }, [r])]
398
407
  });
399
408
  }
400
- return n(il, {
401
- filters: le(a),
409
+ return a(ml, {
410
+ filters: ee(i),
402
411
  selectedKeys: K.value,
403
- multiple: a.filterMultiple !== !1,
404
- anchorRect: ne(),
405
- popupContainer: ee(e, m.value),
406
- filterSearch: a.filterSearch ?? !1,
407
- filterMode: a.filterMode ?? "menu",
408
- expandedKeys: re.value,
409
- visible: D.value,
410
- onConfirm: se,
411
- onReset: _e,
412
- onClose: Te,
413
- "onUpdate:expandedKeys": (f) => {
414
- re.value = f;
412
+ multiple: i.filterMultiple !== !1,
413
+ anchorRect: se(),
414
+ popupContainer: Z(e, d.value),
415
+ filterSearch: i.filterSearch ?? !1,
416
+ filterMode: i.filterMode ?? "menu",
417
+ expandedKeys: ie.value,
418
+ visible: A.value,
419
+ onConfirm: ue,
420
+ onReset: Ae,
421
+ onClose: Fe,
422
+ "onUpdate:expandedKeys": (m) => {
423
+ ie.value = m;
415
424
  }
416
425
  }, null);
417
426
  })();
418
- return n("th", E(T.value, {
419
- class: Me.value,
420
- style: ce.value,
427
+ return a("th", R(_.value, {
428
+ class: Oe.value,
429
+ style: ve.value,
421
430
  colspan: l,
422
- rowspan: r,
431
+ rowspan: o,
423
432
  "data-vtg-leaf-col": V.value,
424
- onClick: Y,
425
- onMouseenter: Re,
426
- onMouseleave: He,
427
- "aria-sort": o.value ? ml(x.value) : void 0
428
- }), [n("span", {
429
- class: C(e.vtgClass?.("flex items-center"), t.headerCellInnerClass, R.value && e.compatClass?.("filter-column"))
430
- }, [Ve, R.value && Be]), R.value && Ke, o.value?.resizable && n(fl, {
431
- column: o.value,
433
+ onClick: G,
434
+ onMouseenter: Ke,
435
+ onMouseleave: je,
436
+ "aria-sort": n.value ? bl(x.value) : void 0
437
+ }), [a("span", {
438
+ ref: le,
439
+ "data-align": t.cell.column.align,
440
+ style: {
441
+ "--vtg-header-title-spacer": `${De.value}px`
442
+ },
443
+ class: g(e.vtgClass?.("flex items-center"), t.headerCellInnerClass, I.value && e.compatClass?.("filter-column"))
444
+ }, [qe, I.value && ze]), I.value && $e, n.value?.resizable && a(hl, {
445
+ column: n.value,
432
446
  colIndex: t.cell.leafIndex
433
447
  }, null)]);
434
448
  };
435
449
  }
436
450
  });
437
451
  export {
438
- Nl as default
452
+ jl as default
439
453
  };