@vtable-guild/vtable-guild 2.5.0 → 2.6.1
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/css/style.css +3 -0
- package/css/tailwind3-utilities.css +3 -0
- package/dist/core/src/components/VTableGuildConfigProvider.d.ts.map +1 -1
- package/dist/core/src/components/VTableGuildConfigProvider.mjs +17 -12
- package/dist/core/src/composables/useTheme.d.ts +9 -1
- package/dist/core/src/composables/useTheme.d.ts.map +1 -1
- package/dist/core/src/composables/useTheme.mjs +83 -60
- package/dist/core/src/index.d.ts +4 -0
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/plugin/index.d.ts.map +1 -1
- package/dist/core/src/plugin/index.mjs +4 -3
- package/dist/core/src/utils/types.d.ts +3 -0
- package/dist/core/src/utils/types.d.ts.map +1 -1
- package/dist/css/style.css +3 -0
- package/dist/css/tailwind3-utilities.css +3 -0
- package/dist/index.full.mjs +3018 -2865
- package/dist/index.mjs +39 -37
- package/dist/table/src/components/ColGroup.d.ts.map +1 -1
- package/dist/table/src/components/ColGroup.mjs +11 -10
- package/dist/table/src/components/FilterIcon.d.ts.map +1 -1
- package/dist/table/src/components/FilterIcon.mjs +10 -10
- package/dist/table/src/components/ResizeHandle.d.ts.map +1 -1
- package/dist/table/src/components/ResizeHandle.mjs +14 -11
- package/dist/table/src/components/SortButton.d.ts.map +1 -1
- package/dist/table/src/components/SortButton.mjs +18 -13
- package/dist/table/src/components/Table.d.ts +6 -6
- package/dist/table/src/components/Table.d.ts.map +1 -1
- package/dist/table/src/components/Table.mjs +288 -274
- package/dist/table/src/components/TableBody.d.ts.map +1 -1
- package/dist/table/src/components/TableBody.mjs +53 -50
- package/dist/table/src/components/TableCell.d.ts.map +1 -1
- package/dist/table/src/components/TableCell.mjs +107 -91
- package/dist/table/src/components/TableEmpty.mjs +10 -8
- package/dist/table/src/components/TableHeaderCell.d.ts.map +1 -1
- package/dist/table/src/components/TableHeaderCell.mjs +93 -93
- package/dist/table/src/components/VTableCompatClass.test.d.ts +2 -0
- package/dist/table/src/components/VTableCompatClass.test.d.ts.map +1 -0
- package/dist/table/src/components/VirtualTableBody.d.ts.map +1 -1
- package/dist/table/src/components/VirtualTableBody.mjs +63 -60
- package/dist/table/src/composables/useFixedColumnStyle.d.ts.map +1 -1
- package/dist/table/src/composables/useFixedColumnStyle.mjs +12 -11
- package/dist/table/src/context.d.ts +7 -0
- package/dist/table/src/context.d.ts.map +1 -1
- package/dist/table/src/utils/compat.d.ts +17 -0
- package/dist/table/src/utils/compat.d.ts.map +1 -0
- package/dist/table/src/utils/compat.mjs +32 -0
- package/dist/theme/src/compat/antdv-table.d.ts +4 -0
- package/dist/theme/src/compat/antdv-table.d.ts.map +1 -0
- package/dist/theme/src/compat/antdv-table.mjs +57 -0
- package/dist/theme/src/index.d.ts +2 -0
- package/dist/theme/src/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,43 +1,45 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as Ft, inject as zt, computed as n, provide as he, ref as H, onMounted as Ot, onBeforeUnmount as Pt, watch as D, createVNode as a, Fragment as kt, isVNode as At } from "vue";
|
|
2
2
|
import "../../../core/src/utils/tv.mjs";
|
|
3
|
-
import { prefixVtgClassNames as
|
|
4
|
-
import { mergeThemeConfigs as
|
|
5
|
-
import { mergeDeep as
|
|
6
|
-
import
|
|
7
|
-
import { VTABLE_GUILD_INJECTION_KEY as
|
|
8
|
-
import { resolveTooltipThemePreset as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
import
|
|
26
|
-
import
|
|
27
|
-
import
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
|
|
33
|
-
|
|
3
|
+
import { prefixVtgClassNames as L } from "../../../core/src/utils/classPrefix.mjs";
|
|
4
|
+
import { mergeThemeConfigs as S, useTheme as Kt } from "../../../core/src/composables/useTheme.mjs";
|
|
5
|
+
import { mergeDeep as B } from "../../../core/src/utils/mergeDeep.mjs";
|
|
6
|
+
import xe from "../../../core/src/components/Scrollbar.mjs";
|
|
7
|
+
import { VTABLE_GUILD_INJECTION_KEY as Ce } from "../../../core/src/plugin/index.mjs";
|
|
8
|
+
import { resolveTooltipThemePreset as Wt, resolveScrollbarThemePreset as _t, resolveRadioThemePreset as Mt, resolveInputThemePreset as jt, resolveCheckboxThemePreset as Vt, resolveButtonThemePreset as Ut, resolveTableThemePreset as Gt, resolveTableLocalePreset as Yt, resolveBuiltInTableLocale as Xt } from "../../../theme/src/presets/index.mjs";
|
|
9
|
+
import { antdvTableCompatClasses as $t } from "../../../theme/src/compat/antdv-table.mjs";
|
|
10
|
+
import { getEllipsisConfig as Jt } from "../utils/cell.mjs";
|
|
11
|
+
import { getRootCompatClass as qt } from "../utils/compat.mjs";
|
|
12
|
+
import { useScroll as Qt } from "../composables/useScroll.mjs";
|
|
13
|
+
import { useColumnMetrics as Zt } from "../composables/useColumnMetrics.mjs";
|
|
14
|
+
import { resolveFixedColumnRanges as el } from "../composables/useColumnWindow.mjs";
|
|
15
|
+
import { useExpand as tl } from "../composables/useExpand.mjs";
|
|
16
|
+
import { useResize as ll } from "../composables/useResize.mjs";
|
|
17
|
+
import { useVirtual as ol } from "../composables/useVirtual.mjs";
|
|
18
|
+
import { useTreeData as nl } from "../composables/useTreeData.mjs";
|
|
19
|
+
import { useHoverState as al } from "../composables/useHoverState.mjs";
|
|
20
|
+
import { TABLE_CONTEXT_KEY as rl } from "../context.mjs";
|
|
21
|
+
import { EXPAND_COLUMN as dl, SELECTION_COLUMN as il } from "../constants.mjs";
|
|
22
|
+
import { resolveTablePresetConfig as sl } from "../preset-config.mjs";
|
|
23
|
+
import ge from "./TableHeader.mjs";
|
|
24
|
+
import Se from "./TableBody.mjs";
|
|
25
|
+
import ul from "./VirtualTableBody.mjs";
|
|
26
|
+
import be from "./TableLoading.mjs";
|
|
27
|
+
import N from "./ColGroup.mjs";
|
|
28
|
+
import { antdvTableTheme as cl } from "../../../theme/src/presets/antdv/table.mjs";
|
|
29
|
+
import { useColumns as Re } from "../composables/useColumns.mjs";
|
|
30
|
+
import { useSorter as fl } from "../composables/useSorter.mjs";
|
|
31
|
+
import { useFilter as ml } from "../composables/useFilter.mjs";
|
|
32
|
+
import { useSelection as pl } from "../composables/useSelection.mjs";
|
|
33
|
+
import { cn as x } from "tailwind-variants";
|
|
34
|
+
function De(l) {
|
|
35
|
+
return typeof l == "function" || Object.prototype.toString.call(l) === "[object Object]" && !At(l);
|
|
34
36
|
}
|
|
35
|
-
const
|
|
36
|
-
function
|
|
37
|
+
const vl = [["xxxl", 2e3], ["xxl", 1600], ["xl", 1200], ["lg", 992], ["md", 768], ["sm", 576], ["xs", 0]];
|
|
38
|
+
function Ee() {
|
|
37
39
|
if (typeof window > "u")
|
|
38
40
|
return /* @__PURE__ */ new Set(["md", "sm", "xs"]);
|
|
39
41
|
const l = window.innerWidth, d = /* @__PURE__ */ new Set();
|
|
40
|
-
return
|
|
42
|
+
return vl.forEach(([i, r]) => {
|
|
41
43
|
if (i === "xs") {
|
|
42
44
|
l < 576 && d.add("xs");
|
|
43
45
|
return;
|
|
@@ -45,7 +47,7 @@ function ge() {
|
|
|
45
47
|
l >= r && d.add(i);
|
|
46
48
|
}), d;
|
|
47
49
|
}
|
|
48
|
-
function
|
|
50
|
+
function Ie(l, d) {
|
|
49
51
|
return l.reduce((i, r) => {
|
|
50
52
|
if (typeof r == "symbol")
|
|
51
53
|
return i.push(r), i;
|
|
@@ -53,7 +55,7 @@ function Se(l, d) {
|
|
|
53
55
|
return i;
|
|
54
56
|
const v = r.fixed === !0 ? "left" : r.fixed;
|
|
55
57
|
if ("children" in r && Array.isArray(r.children)) {
|
|
56
|
-
const w =
|
|
58
|
+
const w = Ie(r.children, d);
|
|
57
59
|
return w.length === 0 || i.push({
|
|
58
60
|
...r,
|
|
59
61
|
fixed: v,
|
|
@@ -66,7 +68,7 @@ function Se(l, d) {
|
|
|
66
68
|
}), i;
|
|
67
69
|
}, []);
|
|
68
70
|
}
|
|
69
|
-
const
|
|
71
|
+
const Jl = /* @__PURE__ */ Ft({
|
|
70
72
|
name: "VTable",
|
|
71
73
|
props: {
|
|
72
74
|
dataSource: {
|
|
@@ -257,19 +259,19 @@ const Ml = /* @__PURE__ */ Lt({
|
|
|
257
259
|
slots: d,
|
|
258
260
|
emit: i
|
|
259
261
|
}) {
|
|
260
|
-
const r =
|
|
262
|
+
const r = zt(Ce, null), v = n(() => r?.themePreset ?? "antdv"), w = n(() => r?.cssMode ?? "prebuilt"), C = n(() => r?.classPrefix ?? "vtg"), Te = n(() => {
|
|
261
263
|
const t = r?.theme ?? {}, o = v.value;
|
|
262
264
|
return {
|
|
263
265
|
...t,
|
|
264
|
-
button:
|
|
265
|
-
checkbox:
|
|
266
|
-
input:
|
|
267
|
-
radio:
|
|
268
|
-
scrollbar:
|
|
269
|
-
tooltip:
|
|
266
|
+
button: S(Ut(o), t.button),
|
|
267
|
+
checkbox: S(Vt(o), t.checkbox),
|
|
268
|
+
input: S(jt(o), t.input),
|
|
269
|
+
radio: S(Mt(o), t.radio),
|
|
270
|
+
scrollbar: S(_t(o), t.scrollbar),
|
|
271
|
+
tooltip: S(Wt(o), t.tooltip)
|
|
270
272
|
};
|
|
271
273
|
});
|
|
272
|
-
|
|
274
|
+
he(Ce, {
|
|
273
275
|
get themePreset() {
|
|
274
276
|
return v.value;
|
|
275
277
|
},
|
|
@@ -277,10 +279,10 @@ const Ml = /* @__PURE__ */ Lt({
|
|
|
277
279
|
return w.value;
|
|
278
280
|
},
|
|
279
281
|
get classPrefix() {
|
|
280
|
-
return
|
|
282
|
+
return C.value;
|
|
281
283
|
},
|
|
282
284
|
get theme() {
|
|
283
|
-
return
|
|
285
|
+
return Te.value;
|
|
284
286
|
},
|
|
285
287
|
get locale() {
|
|
286
288
|
return r?.locale ?? "zh-CN";
|
|
@@ -292,142 +294,144 @@ const Ml = /* @__PURE__ */ Lt({
|
|
|
292
294
|
return r?.localeOverrides ?? {};
|
|
293
295
|
}
|
|
294
296
|
});
|
|
295
|
-
const
|
|
297
|
+
const He = n(() => Gt(v.value) ?? cl), {
|
|
296
298
|
slots: e
|
|
297
|
-
} =
|
|
299
|
+
} = Kt("table", He, l, {
|
|
300
|
+
compatClasses: $t
|
|
301
|
+
}), b = r?.compatClass === !0 ? (t) => `ant-table-${t}` : void 0, F = n(() => l.locale ?? r?.locale ?? "zh-CN"), Le = n(() => ({
|
|
298
302
|
...r?.locales ?? {},
|
|
299
303
|
...l.locales ?? {}
|
|
300
|
-
})),
|
|
301
|
-
const t =
|
|
302
|
-
return
|
|
303
|
-
}),
|
|
304
|
-
function
|
|
305
|
-
|
|
304
|
+
})), Be = n(() => {
|
|
305
|
+
const t = Yt(v.value), o = Xt(v.value, F.value), u = Le.value[F.value]?.table, s = B(B(t, o), u);
|
|
306
|
+
return B(s, B(r?.localeOverrides?.table ?? {}, l.localeOverrides));
|
|
307
|
+
}), Y = H(Ee());
|
|
308
|
+
function z() {
|
|
309
|
+
Y.value = Ee();
|
|
306
310
|
}
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
}),
|
|
310
|
-
window.removeEventListener("resize",
|
|
311
|
+
Ot(() => {
|
|
312
|
+
z(), window.addEventListener("resize", z);
|
|
313
|
+
}), Pt(() => {
|
|
314
|
+
window.removeEventListener("resize", z);
|
|
311
315
|
});
|
|
312
|
-
const
|
|
313
|
-
leafColumns:
|
|
314
|
-
} =
|
|
316
|
+
const X = n(() => Ie(l.columns, Y.value)), g = n(() => l.sticky === !0 ? {} : typeof l.sticky == "object" ? l.sticky : void 0), {
|
|
317
|
+
leafColumns: E
|
|
318
|
+
} = Re(() => X.value), {
|
|
315
319
|
getSortOrder: O,
|
|
316
|
-
toggleSortOrder:
|
|
317
|
-
sortData:
|
|
318
|
-
sorterState:
|
|
319
|
-
sorterResult:
|
|
320
|
-
sortColumns:
|
|
321
|
-
} =
|
|
322
|
-
columns: () =>
|
|
320
|
+
toggleSortOrder: Ne,
|
|
321
|
+
sortData: Fe,
|
|
322
|
+
sorterState: ze,
|
|
323
|
+
sorterResult: $,
|
|
324
|
+
sortColumns: Oe
|
|
325
|
+
} = fl({
|
|
326
|
+
columns: () => E.value,
|
|
323
327
|
tableSortDirections: () => l.sortDirections,
|
|
324
328
|
onSorterChange(t) {
|
|
325
|
-
const o =
|
|
329
|
+
const o = k();
|
|
326
330
|
i("change", P(), t, {
|
|
327
331
|
action: "sort",
|
|
328
332
|
currentDataSource: o
|
|
329
333
|
});
|
|
330
334
|
}
|
|
331
335
|
}), {
|
|
332
|
-
getFilteredValue:
|
|
333
|
-
confirmFilter:
|
|
334
|
-
resetFilter:
|
|
336
|
+
getFilteredValue: Pe,
|
|
337
|
+
confirmFilter: ke,
|
|
338
|
+
resetFilter: Ae,
|
|
335
339
|
getAllFilters: P,
|
|
336
|
-
filterData:
|
|
337
|
-
} =
|
|
338
|
-
columns: () =>
|
|
340
|
+
filterData: Ke
|
|
341
|
+
} = ml({
|
|
342
|
+
columns: () => E.value,
|
|
339
343
|
onFilterChange(t) {
|
|
340
|
-
const o =
|
|
341
|
-
i("change", t,
|
|
344
|
+
const o = k();
|
|
345
|
+
i("change", t, $.value, {
|
|
342
346
|
action: "filter",
|
|
343
347
|
currentDataSource: o
|
|
344
348
|
});
|
|
345
349
|
}
|
|
346
350
|
});
|
|
347
|
-
function
|
|
351
|
+
function k() {
|
|
348
352
|
let t = l.dataSource;
|
|
349
|
-
return t =
|
|
353
|
+
return t = Ke(t), t = Fe(t), t;
|
|
350
354
|
}
|
|
351
|
-
const A = n(() =>
|
|
352
|
-
function
|
|
355
|
+
const A = n(() => k());
|
|
356
|
+
function I(t, o) {
|
|
353
357
|
return typeof l.rowKey == "function" ? l.rowKey(t) : typeof l.rowKey == "string" && l.rowKey in t ? t[l.rowKey] : o;
|
|
354
358
|
}
|
|
355
359
|
const {
|
|
356
|
-
flattenData:
|
|
357
|
-
rowMetaMap:
|
|
360
|
+
flattenData: J,
|
|
361
|
+
rowMetaMap: q,
|
|
358
362
|
isTreeData: K,
|
|
359
|
-
toggleTreeExpand:
|
|
360
|
-
isTreeExpanded:
|
|
361
|
-
indentSize:
|
|
362
|
-
} =
|
|
363
|
+
toggleTreeExpand: We,
|
|
364
|
+
isTreeExpanded: _e,
|
|
365
|
+
indentSize: Me
|
|
366
|
+
} = nl({
|
|
363
367
|
data: () => A.value,
|
|
364
368
|
childrenColumnName: () => l.childrenColumnName,
|
|
365
369
|
indentSize: () => l.indentSize,
|
|
366
|
-
getRowKey:
|
|
370
|
+
getRowKey: I,
|
|
367
371
|
defaultExpandedRowKeys: () => l.defaultExpandedRowKeys,
|
|
368
372
|
expandedRowKeys: () => l.expandedRowKeys,
|
|
369
373
|
defaultExpandAllRows: () => l.defaultExpandAllRows,
|
|
370
374
|
onExpand: l.onExpand,
|
|
371
375
|
onExpandedRowsChange: l.onExpandedRowsChange
|
|
372
376
|
}), {
|
|
373
|
-
hoverRange:
|
|
374
|
-
setHoverRange:
|
|
375
|
-
clearHoverRange:
|
|
376
|
-
} =
|
|
377
|
-
isSelected:
|
|
378
|
-
isDisabled:
|
|
379
|
-
getSelectionState:
|
|
380
|
-
toggleRow:
|
|
381
|
-
toggleAll:
|
|
382
|
-
allCheckedState:
|
|
383
|
-
invertSelection:
|
|
384
|
-
clearSelection:
|
|
385
|
-
getChangeableRowKeys:
|
|
386
|
-
} =
|
|
377
|
+
hoverRange: je,
|
|
378
|
+
setHoverRange: Ve,
|
|
379
|
+
clearHoverRange: Ue
|
|
380
|
+
} = al(100), y = n(() => K.value ? J.value.map((t) => t.record) : A.value), {
|
|
381
|
+
isSelected: Ge,
|
|
382
|
+
isDisabled: Ye,
|
|
383
|
+
getSelectionState: Xe,
|
|
384
|
+
toggleRow: $e,
|
|
385
|
+
toggleAll: Je,
|
|
386
|
+
allCheckedState: qe,
|
|
387
|
+
invertSelection: Qe,
|
|
388
|
+
clearSelection: Ze,
|
|
389
|
+
getChangeableRowKeys: et
|
|
390
|
+
} = pl({
|
|
387
391
|
rowSelection: () => l.rowSelection,
|
|
388
|
-
getRowKey:
|
|
392
|
+
getRowKey: I,
|
|
389
393
|
data: () => A.value,
|
|
390
394
|
visibleData: () => y.value,
|
|
391
395
|
childrenColumnName: () => l.childrenColumnName,
|
|
392
396
|
onSelectionChange() {
|
|
393
|
-
i("change", P(),
|
|
397
|
+
i("change", P(), $.value, {
|
|
394
398
|
action: "select",
|
|
395
399
|
currentDataSource: y.value
|
|
396
400
|
});
|
|
397
401
|
}
|
|
398
402
|
}), {
|
|
399
|
-
isExpanded:
|
|
400
|
-
toggleExpand:
|
|
401
|
-
} =
|
|
403
|
+
isExpanded: tt,
|
|
404
|
+
toggleExpand: lt
|
|
405
|
+
} = tl({
|
|
402
406
|
expandable: () => l.expandable,
|
|
403
|
-
getRowKey:
|
|
407
|
+
getRowKey: I,
|
|
404
408
|
data: () => y.value
|
|
405
|
-
}),
|
|
409
|
+
}), Q = (t) => {
|
|
406
410
|
const o = l.expandable;
|
|
407
411
|
return o ? o.rowExpandable ? o.rowExpandable(t) : !!o.expandedRowRender : !1;
|
|
408
|
-
},
|
|
409
|
-
|
|
410
|
-
},
|
|
412
|
+
}, ot = (t, o) => {
|
|
413
|
+
Q(t) && lt(t, o);
|
|
414
|
+
}, nt = "__vtg_selection__", at = "__vtg_expand__", rt = n(() => {
|
|
411
415
|
const t = l.expandable, o = l.rowSelection, u = t && t.showExpandColumn !== !1 ? {
|
|
412
|
-
key:
|
|
416
|
+
key: at,
|
|
413
417
|
title: "",
|
|
414
418
|
width: t.columnWidth ?? 48,
|
|
415
419
|
align: "center",
|
|
416
420
|
fixed: t.fixed === !0 ? "left" : t.fixed
|
|
417
421
|
} : null, s = o ? {
|
|
418
|
-
key:
|
|
422
|
+
key: nt,
|
|
419
423
|
title: "",
|
|
420
424
|
width: o.columnWidth ?? 48,
|
|
421
425
|
align: "center",
|
|
422
426
|
fixed: o.fixed === !0 ? "left" : o.fixed || void 0
|
|
423
427
|
} : null, h = [];
|
|
424
428
|
let m = !1, p = !1;
|
|
425
|
-
for (const c of
|
|
426
|
-
if (c ===
|
|
429
|
+
for (const c of X.value) {
|
|
430
|
+
if (c === dl) {
|
|
427
431
|
u && !m && (h.push(u), m = !0);
|
|
428
432
|
continue;
|
|
429
433
|
}
|
|
430
|
-
if (c ===
|
|
434
|
+
if (c === il) {
|
|
431
435
|
s && !p && (h.push(s), p = !0);
|
|
432
436
|
continue;
|
|
433
437
|
}
|
|
@@ -437,33 +441,42 @@ const Ml = /* @__PURE__ */ Lt({
|
|
|
437
441
|
}), {
|
|
438
442
|
leafColumns: f,
|
|
439
443
|
headerRows: W
|
|
440
|
-
} =
|
|
441
|
-
headerWrapRef:
|
|
442
|
-
bodyWrapRef:
|
|
443
|
-
scrollState:
|
|
444
|
-
handleBodyScroll:
|
|
445
|
-
fixedOffsets:
|
|
446
|
-
syncHorizontalScroll:
|
|
447
|
-
} =
|
|
444
|
+
} = Re(() => rt.value), dt = n(() => W.value.length > 1), {
|
|
445
|
+
headerWrapRef: Z,
|
|
446
|
+
bodyWrapRef: ee,
|
|
447
|
+
scrollState: te,
|
|
448
|
+
handleBodyScroll: le,
|
|
449
|
+
fixedOffsets: oe,
|
|
450
|
+
syncHorizontalScroll: it
|
|
451
|
+
} = Qt({
|
|
448
452
|
displayColumns: () => f.value
|
|
449
|
-
}),
|
|
450
|
-
|
|
453
|
+
}), ne = n(() => qt({
|
|
454
|
+
compatClass: b,
|
|
455
|
+
fixedOffsets: oe,
|
|
456
|
+
scrollState: te,
|
|
457
|
+
empty: y.value.length === 0,
|
|
458
|
+
fixedHeader: l.scroll?.y !== void 0,
|
|
459
|
+
fixedColumn: ae.value && _.value,
|
|
460
|
+
horizontalScroll: ae.value,
|
|
461
|
+
layoutFixed: M.value === "fixed"
|
|
462
|
+
})), st = n(() => l.showHeader !== !1 && (!!l.scroll?.y || !!l.sticky)), _ = n(() => f.value.some((t) => t.fixed === "left" || t.fixed === "right")), ae = n(() => l.scroll?.x !== void 0 || !!l.expandable?.fixed), ut = n(() => E.value.some((t) => Jt(t).enabled)), ct = n(() => l.scroll?.x !== void 0 || _.value), M = n(() => l.tableLayout ? l.tableLayout : l.scroll?.y || l.scroll?.x || _.value || ut.value ? "fixed" : "auto"), ft = n(() => {
|
|
463
|
+
if (g.value)
|
|
451
464
|
return {
|
|
452
465
|
position: "sticky",
|
|
453
|
-
top: `${
|
|
466
|
+
top: `${g.value.offsetHeader ?? 0}px`,
|
|
454
467
|
zIndex: "4"
|
|
455
468
|
};
|
|
456
469
|
}), {
|
|
457
|
-
enabled:
|
|
458
|
-
itemHeight:
|
|
459
|
-
listHeight:
|
|
460
|
-
fixedHeight:
|
|
461
|
-
} =
|
|
470
|
+
enabled: T,
|
|
471
|
+
itemHeight: mt,
|
|
472
|
+
listHeight: pt,
|
|
473
|
+
fixedHeight: vt
|
|
474
|
+
} = ol({
|
|
462
475
|
virtual: () => l.virtual,
|
|
463
476
|
scrollY: () => l.scroll?.y,
|
|
464
477
|
size: () => l.size,
|
|
465
478
|
rowHeight: () => l.rowHeight
|
|
466
|
-
}),
|
|
479
|
+
}), re = n(() => E.value.some((t) => !!t.customCell || !!t.customRender)), j = n(() => !dt.value || l.bordered ? {
|
|
467
480
|
table: "",
|
|
468
481
|
th: "",
|
|
469
482
|
td: ""
|
|
@@ -471,74 +484,74 @@ const Ml = /* @__PURE__ */ Lt({
|
|
|
471
484
|
table: e.groupedHeaderTable(),
|
|
472
485
|
th: e.groupedHeaderTh(),
|
|
473
486
|
td: e.groupedHeaderTd()
|
|
474
|
-
}),
|
|
475
|
-
|
|
487
|
+
}), R = n(() => x(e.table(), j.value.table) ?? ""), de = n(() => x(e.th(), j.value.th) ?? ""), V = n(() => x(e.td(), j.value.td) ?? "");
|
|
488
|
+
D([T, re], ([t, o]) => {
|
|
476
489
|
}, {
|
|
477
490
|
immediate: !0
|
|
478
491
|
});
|
|
479
|
-
const
|
|
480
|
-
|
|
481
|
-
t && (
|
|
482
|
-
}),
|
|
483
|
-
t && (
|
|
492
|
+
const ie = H(null), se = H(null);
|
|
493
|
+
D(() => ie.value?.wrapRef, (t) => {
|
|
494
|
+
t && (ee.value = t);
|
|
495
|
+
}), D(() => se.value?.wrapRef, (t) => {
|
|
496
|
+
t && (ee.value = t);
|
|
484
497
|
});
|
|
485
498
|
const {
|
|
486
|
-
columnWidths:
|
|
487
|
-
startResize:
|
|
488
|
-
isResizing:
|
|
489
|
-
} =
|
|
499
|
+
columnWidths: ue,
|
|
500
|
+
startResize: wt,
|
|
501
|
+
isResizing: yt
|
|
502
|
+
} = ll({
|
|
490
503
|
onResizeColumn(t, o) {
|
|
491
504
|
i("resizeColumn", t, o);
|
|
492
505
|
}
|
|
493
|
-
}),
|
|
494
|
-
|
|
506
|
+
}), ht = n(() => el(f.value)), ce = n(() => l.virtualColumn ? T.value ? re.value ? "列上有 customCell / customRender,可能返回 colSpan / rowSpan;单元格合并会让某个 td 缺席,进而破坏列宽不变量(虚拟模式本就不支持合并)" : ht.value.contiguous ? null : "固定列必须分列两端:左固定连成前缀、右固定连成后缀,中间夹着的固定列会被窗口跳过" : "它只作用于虚拟表体,需要同时开启 virtual 与 scroll.y" : null), U = n(() => l.virtualColumn && ce.value === null);
|
|
507
|
+
D(ce, (t) => {
|
|
495
508
|
}, {
|
|
496
509
|
immediate: !0
|
|
497
510
|
});
|
|
498
511
|
const {
|
|
499
|
-
metrics:
|
|
500
|
-
} =
|
|
501
|
-
enabled: () =>
|
|
502
|
-
headerEl: () =>
|
|
512
|
+
metrics: fe
|
|
513
|
+
} = Zt({
|
|
514
|
+
enabled: () => U.value,
|
|
515
|
+
headerEl: () => Z.value,
|
|
503
516
|
columns: () => f.value,
|
|
504
|
-
columnWidths:
|
|
517
|
+
columnWidths: ue,
|
|
505
518
|
hasHeader: () => l.showHeader !== !1
|
|
506
519
|
});
|
|
507
|
-
|
|
520
|
+
D([U, fe], ([t, o]) => {
|
|
508
521
|
!t || o || l.showHeader;
|
|
509
522
|
}, {
|
|
510
523
|
immediate: !0
|
|
511
524
|
});
|
|
512
|
-
function
|
|
513
|
-
return K.value ?
|
|
525
|
+
function xt(t) {
|
|
526
|
+
return K.value ? q.value.get(t)?.level ?? 0 : 0;
|
|
514
527
|
}
|
|
515
|
-
function
|
|
516
|
-
return l.rowClassName ? typeof l.rowClassName == "function" ? l.rowClassName(t, o,
|
|
528
|
+
function Ct(t, o) {
|
|
529
|
+
return l.rowClassName ? typeof l.rowClassName == "function" ? l.rowClassName(t, o, xt(t)) : l.rowClassName : "";
|
|
517
530
|
}
|
|
518
|
-
function
|
|
531
|
+
function gt(t, o) {
|
|
519
532
|
return l.customRow?.(t, o);
|
|
520
533
|
}
|
|
521
|
-
function
|
|
534
|
+
function St(t, o) {
|
|
522
535
|
return l.customHeaderRow?.(t, o);
|
|
523
536
|
}
|
|
524
|
-
function
|
|
537
|
+
function bt(t) {
|
|
525
538
|
if (typeof t.title != "function")
|
|
526
539
|
return t.title ?? "";
|
|
527
|
-
const o = t, u =
|
|
540
|
+
const o = t, u = Oe.value.filter((s) => !!s.column);
|
|
528
541
|
return t.title({
|
|
529
542
|
sortOrder: o.sorter ? O(o) ?? void 0 : void 0,
|
|
530
|
-
sortColumn:
|
|
543
|
+
sortColumn: ze.value.column,
|
|
531
544
|
sortColumns: u.length > 0 ? u : void 0,
|
|
532
545
|
filters: P()
|
|
533
546
|
});
|
|
534
547
|
}
|
|
535
|
-
function
|
|
548
|
+
function Rt(t) {
|
|
536
549
|
return !!(t.sorter && O(t));
|
|
537
550
|
}
|
|
538
|
-
const
|
|
551
|
+
const me = {
|
|
539
552
|
width: "100%",
|
|
540
553
|
minWidth: "100%"
|
|
541
|
-
},
|
|
554
|
+
}, Dt = {
|
|
542
555
|
thSortable: e.thSortable,
|
|
543
556
|
thSorted: e.thSorted,
|
|
544
557
|
tdSorted: e.tdSorted,
|
|
@@ -615,72 +628,73 @@ const Ml = /* @__PURE__ */ Lt({
|
|
|
615
628
|
resizeHandle: e.resizeHandle,
|
|
616
629
|
tdRowHover: e.tdRowHover,
|
|
617
630
|
tdRowSelectedHover: e.tdRowSelectedHover
|
|
618
|
-
},
|
|
619
|
-
return
|
|
631
|
+
}, pe = n(() => sl(v.value)), ve = H(!1);
|
|
632
|
+
return he(rl, {
|
|
620
633
|
bodyCell: d.bodyCell,
|
|
621
634
|
headerCell: d.headerCell,
|
|
622
635
|
empty: d.empty,
|
|
623
636
|
getSortOrder: O,
|
|
624
|
-
toggleSortOrder:
|
|
625
|
-
isColumnSorted:
|
|
626
|
-
getFilteredValue:
|
|
627
|
-
confirmFilter:
|
|
628
|
-
resetFilter:
|
|
637
|
+
toggleSortOrder: Ne,
|
|
638
|
+
isColumnSorted: Rt,
|
|
639
|
+
getFilteredValue: Pe,
|
|
640
|
+
confirmFilter: ke,
|
|
641
|
+
resetFilter: Ae,
|
|
629
642
|
customFilterDropdown: d.customFilterDropdown,
|
|
630
643
|
customFilterIcon: d.customFilterIcon,
|
|
631
|
-
showSorterTooltip: n(() => l.showSorterTooltip ??
|
|
644
|
+
showSorterTooltip: n(() => l.showSorterTooltip ?? pe.value.showSorterTooltip),
|
|
632
645
|
headerEllipsis: n(() => l.headerEllipsis),
|
|
633
|
-
subThemeSlots:
|
|
634
|
-
presetConfig:
|
|
646
|
+
subThemeSlots: Dt,
|
|
647
|
+
presetConfig: pe,
|
|
635
648
|
themePreset: v,
|
|
636
649
|
cssMode: w,
|
|
637
|
-
classPrefix:
|
|
638
|
-
vtgClass: (t) =>
|
|
639
|
-
|
|
640
|
-
|
|
650
|
+
classPrefix: C,
|
|
651
|
+
vtgClass: (t) => L(t, w.value, C.value),
|
|
652
|
+
compatClass: b,
|
|
653
|
+
localeName: F,
|
|
654
|
+
locale: Be,
|
|
641
655
|
rowSelection: () => l.rowSelection,
|
|
642
|
-
isSelected:
|
|
643
|
-
isDisabledRow:
|
|
644
|
-
getSelectionState:
|
|
645
|
-
toggleRow:
|
|
646
|
-
toggleAll:
|
|
647
|
-
allCheckedState: () =>
|
|
648
|
-
getRowKey:
|
|
649
|
-
invertSelection:
|
|
650
|
-
clearSelection:
|
|
651
|
-
getChangeableRowKeys:
|
|
652
|
-
fixedOffsets:
|
|
653
|
-
scrollState:
|
|
656
|
+
isSelected: Ge,
|
|
657
|
+
isDisabledRow: Ye,
|
|
658
|
+
getSelectionState: Xe,
|
|
659
|
+
toggleRow: $e,
|
|
660
|
+
toggleAll: Je,
|
|
661
|
+
allCheckedState: () => qe.value,
|
|
662
|
+
getRowKey: I,
|
|
663
|
+
invertSelection: Qe,
|
|
664
|
+
clearSelection: Ze,
|
|
665
|
+
getChangeableRowKeys: et,
|
|
666
|
+
fixedOffsets: oe,
|
|
667
|
+
scrollState: te,
|
|
654
668
|
leafColumnCount: n(() => f.value.length),
|
|
655
669
|
bordered: n(() => l.bordered),
|
|
656
|
-
tableLayout:
|
|
670
|
+
tableLayout: M,
|
|
657
671
|
sticky: n(() => l.sticky),
|
|
658
|
-
getRowProps:
|
|
659
|
-
getRowClassName:
|
|
660
|
-
getHeaderRowProps:
|
|
661
|
-
getColumnTitle:
|
|
672
|
+
getRowProps: gt,
|
|
673
|
+
getRowClassName: Ct,
|
|
674
|
+
getHeaderRowProps: St,
|
|
675
|
+
getColumnTitle: bt,
|
|
662
676
|
getPopupContainer: l.getPopupContainer,
|
|
663
677
|
transformCellText: l.transformCellText,
|
|
664
678
|
expandable: () => l.expandable,
|
|
665
|
-
isExpanded:
|
|
666
|
-
toggleExpand:
|
|
667
|
-
isRowExpandable:
|
|
668
|
-
columnWidths:
|
|
669
|
-
startResize:
|
|
670
|
-
isResizing: () =>
|
|
679
|
+
isExpanded: tt,
|
|
680
|
+
toggleExpand: ot,
|
|
681
|
+
isRowExpandable: Q,
|
|
682
|
+
columnWidths: ue,
|
|
683
|
+
startResize: wt,
|
|
684
|
+
isResizing: () => yt.value,
|
|
671
685
|
displayColumns: n(() => f.value),
|
|
672
686
|
registerSummaryFixed: (t) => {
|
|
673
|
-
|
|
687
|
+
ve.value = t;
|
|
674
688
|
},
|
|
675
689
|
isTreeData: K,
|
|
676
|
-
treeFlattenData:
|
|
677
|
-
getFlattenRow: (t) =>
|
|
678
|
-
toggleTreeExpand:
|
|
679
|
-
isTreeExpanded:
|
|
680
|
-
treeIndentSize:
|
|
681
|
-
hoverRange:
|
|
682
|
-
setHoverRange:
|
|
683
|
-
clearHoverRange:
|
|
690
|
+
treeFlattenData: J,
|
|
691
|
+
getFlattenRow: (t) => q.value.get(t),
|
|
692
|
+
toggleTreeExpand: We,
|
|
693
|
+
isTreeExpanded: _e,
|
|
694
|
+
treeIndentSize: Me,
|
|
695
|
+
hoverRange: je,
|
|
696
|
+
setHoverRange: Ve,
|
|
697
|
+
clearHoverRange: Ue,
|
|
684
698
|
hoverable: n(() => l.hoverable !== !1)
|
|
685
699
|
}), () => {
|
|
686
700
|
let t;
|
|
@@ -688,143 +702,143 @@ const Ml = /* @__PURE__ */ Lt({
|
|
|
688
702
|
data: y.value
|
|
689
703
|
}) : null, u = l.footer ? l.footer(y.value) : d.footer ? d.footer({
|
|
690
704
|
data: y.value
|
|
691
|
-
}) : null, s = d.summary ? d.summary() : null, h =
|
|
692
|
-
tableLayout:
|
|
705
|
+
}) : null, s = d.summary ? d.summary() : null, h = ve.value !== !1, m = l.scroll, p = {
|
|
706
|
+
tableLayout: M.value
|
|
693
707
|
};
|
|
694
|
-
m?.x ? (p.width = typeof m.x == "number" ? `${m.x}px` : m.x, p.minWidth = "100%") : p.width =
|
|
695
|
-
const c = l.loading,
|
|
708
|
+
m?.x ? (p.width = typeof m.x == "number" ? `${m.x}px` : m.x, p.minWidth = "100%") : p.width = ct.value ? "max-content" : "100%";
|
|
709
|
+
const c = l.loading, Et = c === !0 || typeof c == "object" && c !== null && c.spinning !== !1, It = typeof c == "object" && c !== null ? c.indicator : void 0, Tt = typeof c == "object" && c !== null ? c.tip : void 0, we = Et && (d.loading ? a(be, {
|
|
696
710
|
loadingClass: e.loading()
|
|
697
|
-
},
|
|
711
|
+
}, De(t = d.loading()) ? t : {
|
|
698
712
|
default: () => [t]
|
|
699
|
-
}) : a(
|
|
713
|
+
}) : a(be, {
|
|
700
714
|
loadingClass: e.loading(),
|
|
701
|
-
indicator:
|
|
702
|
-
tip:
|
|
715
|
+
indicator: It,
|
|
716
|
+
tip: Tt
|
|
703
717
|
}, null));
|
|
704
|
-
if (
|
|
705
|
-
const
|
|
706
|
-
ref:
|
|
707
|
-
class: e.headerWrapper(),
|
|
708
|
-
style:
|
|
718
|
+
if (st.value) {
|
|
719
|
+
const Ht = l.showHeader !== !1 ? a("div", {
|
|
720
|
+
ref: Z,
|
|
721
|
+
class: x(e.headerWrapper(), g.value && b?.("sticky-holder")),
|
|
722
|
+
style: ft.value
|
|
709
723
|
}, [a("div", {
|
|
710
|
-
class:
|
|
724
|
+
class: L("block w-full min-w-full", w.value, C.value)
|
|
711
725
|
}, [a("table", {
|
|
712
|
-
class:
|
|
726
|
+
class: R.value,
|
|
713
727
|
style: p
|
|
714
|
-
}, [a(
|
|
728
|
+
}, [a(N, {
|
|
715
729
|
columns: f.value
|
|
716
|
-
}, null), a(
|
|
730
|
+
}, null), a(ge, {
|
|
717
731
|
rows: W.value,
|
|
718
732
|
theadClass: e.thead(),
|
|
719
733
|
rowClass: e.tr(),
|
|
720
|
-
thClass:
|
|
734
|
+
thClass: de.value,
|
|
721
735
|
headerCellInnerClass: e.headerCellInner()
|
|
722
|
-
}, null)])])]) : null,
|
|
736
|
+
}, null)])])]) : null, Lt = T.value ? a(ul, {
|
|
723
737
|
dataSource: y.value,
|
|
724
738
|
columns: f.value,
|
|
725
739
|
tbodyClass: e.tbody(),
|
|
726
740
|
rowClass: e.tr(),
|
|
727
|
-
tdClass:
|
|
741
|
+
tdClass: V.value,
|
|
728
742
|
emptyClass: e.empty(),
|
|
729
743
|
bodyCellEllipsisClass: e.bodyCellEllipsis(),
|
|
730
|
-
tableClass:
|
|
744
|
+
tableClass: R.value,
|
|
731
745
|
tableStyle: p,
|
|
732
746
|
rowKey: l.rowKey,
|
|
733
|
-
height:
|
|
734
|
-
itemHeight:
|
|
735
|
-
fixedHeight:
|
|
736
|
-
virtualColumn:
|
|
737
|
-
columnMetrics:
|
|
747
|
+
height: pt.value,
|
|
748
|
+
itemHeight: mt.value,
|
|
749
|
+
fixedHeight: vt.value,
|
|
750
|
+
virtualColumn: U.value,
|
|
751
|
+
columnMetrics: fe.value,
|
|
738
752
|
showScrollBar: "hover",
|
|
739
|
-
onVirtualScroll: (
|
|
740
|
-
|
|
753
|
+
onVirtualScroll: (ye) => {
|
|
754
|
+
it(ye.x, ye.maxX);
|
|
741
755
|
}
|
|
742
|
-
}, null) : null,
|
|
743
|
-
ref:
|
|
756
|
+
}, null) : null, Bt = T.value ? null : a(xe, {
|
|
757
|
+
ref: ie,
|
|
744
758
|
maxHeight: m?.y !== void 0 ? typeof m.y == "number" ? m.y : String(m.y) : void 0,
|
|
745
759
|
wrapClass: e.bodyWrapper(),
|
|
746
|
-
viewStyle:
|
|
747
|
-
onScroll:
|
|
760
|
+
viewStyle: me,
|
|
761
|
+
onScroll: le
|
|
748
762
|
}, {
|
|
749
763
|
default: () => [a("table", {
|
|
750
|
-
class:
|
|
764
|
+
class: R.value,
|
|
751
765
|
style: p
|
|
752
|
-
}, [a(
|
|
766
|
+
}, [a(N, {
|
|
753
767
|
columns: f.value
|
|
754
|
-
}, null), a(
|
|
768
|
+
}, null), a(Se, {
|
|
755
769
|
dataSource: y.value,
|
|
756
770
|
columns: f.value,
|
|
757
771
|
tbodyClass: e.tbody(),
|
|
758
772
|
rowClass: e.tr(),
|
|
759
|
-
tdClass:
|
|
773
|
+
tdClass: V.value,
|
|
760
774
|
emptyClass: e.empty(),
|
|
761
775
|
bodyCellEllipsisClass: e.bodyCellEllipsis(),
|
|
762
776
|
rowKey: l.rowKey
|
|
763
777
|
}, null), s && !h && a("tfoot", {
|
|
764
778
|
class: e.summary()
|
|
765
779
|
}, [s])])]
|
|
766
|
-
}),
|
|
767
|
-
class: e.headerWrapper(),
|
|
780
|
+
}), Nt = s && h ? a("div", {
|
|
781
|
+
class: x(e.headerWrapper(), b?.("summary"), g.value && b?.("sticky-holder")),
|
|
768
782
|
style: {
|
|
769
783
|
position: "sticky",
|
|
770
|
-
bottom: `${
|
|
784
|
+
bottom: `${g.value?.offsetSummary ?? 0}px`,
|
|
771
785
|
zIndex: "4",
|
|
772
786
|
overflow: "hidden"
|
|
773
787
|
}
|
|
774
788
|
}, [a("div", {
|
|
775
|
-
class:
|
|
789
|
+
class: L("block w-full min-w-full", w.value, C.value)
|
|
776
790
|
}, [a("table", {
|
|
777
|
-
class:
|
|
791
|
+
class: R.value,
|
|
778
792
|
style: p
|
|
779
|
-
}, [a(
|
|
793
|
+
}, [a(N, {
|
|
780
794
|
columns: f.value
|
|
781
795
|
}, null), a("tfoot", {
|
|
782
796
|
class: e.summary()
|
|
783
797
|
}, [s])])])]) : null;
|
|
784
798
|
return a("div", {
|
|
785
|
-
class: e.root()
|
|
799
|
+
class: x(e.root(), ne.value)
|
|
786
800
|
}, [o && a("div", {
|
|
787
801
|
class: e.title()
|
|
788
802
|
}, [o]), a("div", {
|
|
789
|
-
class:
|
|
790
|
-
}, [
|
|
803
|
+
class: x(e.wrapper(), g.value && L("overflow-clip", w.value, C.value))
|
|
804
|
+
}, [Ht, Lt, Bt, Nt, we]), u && a("div", {
|
|
791
805
|
class: e.footer()
|
|
792
806
|
}, [u])]);
|
|
793
807
|
}
|
|
794
|
-
const
|
|
795
|
-
class:
|
|
808
|
+
const G = a(kt, null, [a("table", {
|
|
809
|
+
class: R.value,
|
|
796
810
|
style: p
|
|
797
|
-
}, [a(
|
|
811
|
+
}, [a(N, {
|
|
798
812
|
columns: f.value
|
|
799
|
-
}, null), l.showHeader !== !1 && a(
|
|
813
|
+
}, null), l.showHeader !== !1 && a(ge, {
|
|
800
814
|
rows: W.value,
|
|
801
815
|
theadClass: e.thead(),
|
|
802
816
|
rowClass: e.tr(),
|
|
803
|
-
thClass:
|
|
817
|
+
thClass: de.value,
|
|
804
818
|
headerCellInnerClass: e.headerCellInner()
|
|
805
|
-
}, null), a(
|
|
819
|
+
}, null), a(Se, {
|
|
806
820
|
dataSource: y.value,
|
|
807
821
|
columns: f.value,
|
|
808
822
|
tbodyClass: e.tbody(),
|
|
809
823
|
rowClass: e.tr(),
|
|
810
|
-
tdClass:
|
|
824
|
+
tdClass: V.value,
|
|
811
825
|
emptyClass: e.empty(),
|
|
812
826
|
bodyCellEllipsisClass: e.bodyCellEllipsis(),
|
|
813
827
|
rowKey: l.rowKey
|
|
814
828
|
}, null), s && a("tfoot", {
|
|
815
829
|
class: e.summary()
|
|
816
|
-
}, [s])]),
|
|
830
|
+
}, [s])]), we]);
|
|
817
831
|
return a("div", {
|
|
818
|
-
class: e.root()
|
|
832
|
+
class: x(e.root(), ne.value)
|
|
819
833
|
}, [o && a("div", {
|
|
820
834
|
class: e.title()
|
|
821
|
-
}, [o]), a(
|
|
822
|
-
ref:
|
|
835
|
+
}, [o]), a(xe, {
|
|
836
|
+
ref: se,
|
|
823
837
|
wrapClass: e.wrapper(),
|
|
824
|
-
viewStyle:
|
|
825
|
-
onScroll:
|
|
826
|
-
},
|
|
827
|
-
default: () => [
|
|
838
|
+
viewStyle: me,
|
|
839
|
+
onScroll: le
|
|
840
|
+
}, De(G) ? G : {
|
|
841
|
+
default: () => [G]
|
|
828
842
|
}), u && a("div", {
|
|
829
843
|
class: e.footer()
|
|
830
844
|
}, [u])]);
|
|
@@ -832,5 +846,5 @@ const Ml = /* @__PURE__ */ Lt({
|
|
|
832
846
|
}
|
|
833
847
|
});
|
|
834
848
|
export {
|
|
835
|
-
|
|
849
|
+
Jl as default
|
|
836
850
|
};
|