@vtable-guild/vtable-guild 2.2.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/src/components/Button.mjs +108 -0
- package/dist/core/src/components/Checkbox.mjs +84 -0
- package/dist/core/src/components/Input.mjs +82 -0
- package/dist/core/src/components/Radio.mjs +69 -0
- package/dist/core/src/components/Scrollbar.mjs +179 -0
- package/dist/core/src/components/ScrollbarBar.mjs +103 -0
- package/dist/core/src/components/Tooltip.mjs +321 -0
- package/dist/core/src/components/VTableGuildConfigProvider.mjs +77 -0
- package/dist/core/src/components/VirtualList/Filler.mjs +55 -0
- package/dist/core/src/components/VirtualList/Item.mjs +29 -0
- package/dist/core/src/components/VirtualList/VirtualList.d.ts +12 -0
- package/dist/core/src/components/VirtualList/VirtualList.d.ts.map +1 -1
- package/dist/core/src/components/VirtualList/VirtualList.mjs +373 -0
- package/dist/core/src/components/VirtualList/VirtualList.test.d.ts +2 -0
- package/dist/core/src/components/VirtualList/VirtualList.test.d.ts.map +1 -0
- package/dist/core/src/components/VirtualList/VirtualScrollBar.mjs +216 -0
- package/dist/core/src/components/VirtualList/hooks/useChildren.mjs +21 -0
- package/dist/core/src/components/VirtualList/hooks/useDiffItem.mjs +16 -0
- package/dist/core/src/components/VirtualList/hooks/useFrameWheel.mjs +48 -0
- package/dist/core/src/components/VirtualList/hooks/useGetSize.mjs +25 -0
- package/dist/core/src/components/VirtualList/hooks/useHeights.mjs +56 -0
- package/dist/core/src/components/VirtualList/hooks/useMobileTouchMove.mjs +40 -0
- package/dist/core/src/components/VirtualList/hooks/useOriginScroll.mjs +17 -0
- package/dist/core/src/components/VirtualList/hooks/useScrollDrag.mjs +41 -0
- package/dist/core/src/components/VirtualList/hooks/useScrollTo.mjs +88 -0
- package/dist/core/src/components/VirtualList/utils/CacheMap.mjs +24 -0
- package/dist/core/src/components/VirtualList/utils/algorithmUtil.mjs +22 -0
- package/dist/core/src/components/VirtualList/utils/isFirefox.mjs +4 -0
- package/dist/core/src/components/VirtualList/utils/scrollbarUtil.mjs +7 -0
- package/dist/core/src/composables/useScrollbar.mjs +55 -0
- package/dist/core/src/composables/useTheme.mjs +92 -0
- package/dist/core/src/index.d.ts +1 -0
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/plugin/index.mjs +27 -0
- package/dist/core/src/utils/classPrefix.mjs +100 -0
- package/dist/core/src/utils/devWarn.d.ts +4 -0
- package/dist/core/src/utils/devWarn.d.ts.map +1 -0
- package/dist/core/src/utils/devWarn.mjs +5 -0
- package/dist/core/src/utils/mergeDeep.mjs +20 -0
- package/dist/core/src/utils/props.mjs +33 -0
- package/dist/core/src/utils/tv.mjs +19 -0
- package/dist/icons/src/AntdvEmptyIcon.mjs +37 -0
- package/dist/icons/src/AntdvSpinIndicator.mjs +23 -0
- package/dist/icons/src/CaretDownIcon.d.ts.map +1 -1
- package/dist/icons/src/CaretDownIcon.mjs +9 -0
- package/dist/icons/src/CaretRightIcon.d.ts.map +1 -1
- package/dist/icons/src/CaretUpIcon.d.ts.map +1 -1
- package/dist/icons/src/CaretUpIcon.mjs +9 -0
- package/dist/icons/src/DownOutlinedIcon.d.ts.map +1 -1
- package/dist/icons/src/DownOutlinedIcon.mjs +9 -0
- package/dist/icons/src/ElArrowDownIcon.d.ts.map +1 -1
- package/dist/icons/src/ElArrowDownIcon.mjs +9 -0
- package/dist/icons/src/ElCaretBottomIcon.d.ts.map +1 -1
- package/dist/icons/src/ElCaretBottomIcon.mjs +9 -0
- package/dist/icons/src/ElCaretTopIcon.d.ts.map +1 -1
- package/dist/icons/src/ElCaretTopIcon.mjs +9 -0
- package/dist/icons/src/ElFilterIcon.d.ts.map +1 -1
- package/dist/icons/src/ElLoadingIcon.mjs +28 -0
- package/dist/icons/src/FilterFilledIcon.d.ts.map +1 -1
- package/dist/icons/src/FilterFilledIcon.mjs +9 -0
- package/dist/icons/src/SearchIcon.d.ts.map +1 -1
- package/dist/icons/src/SearchIcon.mjs +9 -0
- package/dist/icons/src/createSvgIcon.d.ts +13 -0
- package/dist/icons/src/createSvgIcon.d.ts.map +1 -0
- package/dist/icons/src/createSvgIcon.mjs +23 -0
- package/dist/index.mjs +82 -10141
- package/dist/table/src/components/ColGroup.mjs +25 -0
- package/dist/table/src/components/ExpandIcon.mjs +60 -0
- package/dist/table/src/components/FilterDropdown.d.ts.map +1 -1
- package/dist/table/src/components/FilterDropdown.mjs +324 -0
- package/dist/table/src/components/FilterIcon.mjs +30 -0
- package/dist/table/src/components/ResizeHandle.mjs +28 -0
- package/dist/table/src/components/SelectionCheckbox.mjs +33 -0
- package/dist/table/src/components/SelectionDropdown.d.ts.map +1 -1
- package/dist/table/src/components/SelectionDropdown.mjs +73 -0
- package/dist/table/src/components/SelectionRadio.mjs +28 -0
- package/dist/table/src/components/SortButton.mjs +30 -0
- package/dist/table/src/components/Table.d.ts.map +1 -1
- package/dist/table/src/components/Table.mjs +781 -0
- package/dist/table/src/components/TableBody.mjs +124 -0
- package/dist/table/src/components/TableCell.d.ts.map +1 -1
- package/dist/table/src/components/TableCell.mjs +222 -0
- package/dist/table/src/components/TableEmpty.mjs +38 -0
- package/dist/table/src/components/TableHeader.mjs +51 -0
- package/dist/table/src/components/TableHeaderCell.d.ts.map +1 -1
- package/dist/table/src/components/TableHeaderCell.mjs +391 -0
- package/dist/table/src/components/TableLoading.mjs +46 -0
- package/dist/table/src/components/TableRow.mjs +34 -0
- package/dist/table/src/components/VTable.vue.d.ts.map +1 -1
- package/dist/table/src/components/VTable.vue.mjs +155 -0
- package/dist/table/src/components/VTable.vue2.mjs +4 -0
- package/dist/table/src/components/VTableSummary.mjs +29 -0
- package/dist/table/src/components/VTableSummaryCell.d.ts.map +1 -1
- package/dist/table/src/components/VTableSummaryCell.mjs +68 -0
- package/dist/table/src/components/VTableSummaryRow.mjs +19 -0
- package/dist/table/src/components/VirtualTableBody.d.ts.map +1 -1
- package/dist/table/src/components/VirtualTableBody.mjs +172 -0
- package/dist/table/src/composables/bench-fixtures.d.ts +28 -0
- package/dist/table/src/composables/bench-fixtures.d.ts.map +1 -0
- package/dist/table/src/composables/index.d.ts +2 -1
- package/dist/table/src/composables/index.d.ts.map +1 -1
- package/dist/table/src/composables/useColumns.d.ts +6 -1
- package/dist/table/src/composables/useColumns.d.ts.map +1 -1
- package/dist/table/src/composables/useColumns.mjs +81 -0
- package/dist/table/src/composables/useControlledColumnState.d.ts +24 -0
- package/dist/table/src/composables/useControlledColumnState.d.ts.map +1 -0
- package/dist/table/src/composables/useControlledColumnState.mjs +23 -0
- package/dist/table/src/composables/useExpand.mjs +37 -0
- package/dist/table/src/composables/useFilter.bench.d.ts +2 -0
- package/dist/table/src/composables/useFilter.bench.d.ts.map +1 -0
- package/dist/table/src/composables/useFilter.d.ts.map +1 -1
- package/dist/table/src/composables/useFilter.mjs +68 -0
- package/dist/table/src/composables/useFixedColumnStyle.d.ts +18 -0
- package/dist/table/src/composables/useFixedColumnStyle.d.ts.map +1 -0
- package/dist/table/src/composables/useFixedColumnStyle.mjs +21 -0
- package/dist/table/src/composables/useHoverState.mjs +26 -0
- package/dist/table/src/composables/useResize.mjs +42 -0
- package/dist/table/src/composables/useScroll.d.ts +5 -4
- package/dist/table/src/composables/useScroll.d.ts.map +1 -1
- package/dist/table/src/composables/useScroll.mjs +68 -0
- package/dist/table/src/composables/useSelection.bench.d.ts +2 -0
- package/dist/table/src/composables/useSelection.bench.d.ts.map +1 -0
- package/dist/table/src/composables/useSelection.d.ts.map +1 -1
- package/dist/table/src/composables/useSelection.mjs +246 -0
- package/dist/table/src/composables/useSorter.bench.d.ts +2 -0
- package/dist/table/src/composables/useSorter.bench.d.ts.map +1 -0
- package/dist/table/src/composables/useSorter.d.ts +1 -5
- package/dist/table/src/composables/useSorter.d.ts.map +1 -1
- package/dist/table/src/composables/useSorter.mjs +161 -0
- package/dist/table/src/composables/useTreeData.bench.d.ts +2 -0
- package/dist/table/src/composables/useTreeData.bench.d.ts.map +1 -0
- package/dist/table/src/composables/useTreeData.d.ts +2 -0
- package/dist/table/src/composables/useTreeData.d.ts.map +1 -1
- package/dist/table/src/composables/useTreeData.mjs +92 -0
- package/dist/table/src/composables/useVirtual.mjs +19 -0
- package/dist/table/src/constants.mjs +8 -0
- package/dist/table/src/context.d.ts +90 -85
- package/dist/table/src/context.d.ts.map +1 -1
- package/dist/table/src/context.mjs +4 -0
- package/dist/table/src/index.d.ts.map +1 -1
- package/dist/table/src/index.mjs +23 -0
- package/dist/table/src/preset-config.mjs +35 -0
- package/dist/table/src/utils/cell.mjs +79 -0
- package/dist/table/src/utils/popupPosition.d.ts +20 -0
- package/dist/table/src/utils/popupPosition.d.ts.map +1 -0
- package/dist/table/src/utils/popupPosition.mjs +24 -0
- package/dist/table/src/utils/popupPosition.test.d.ts +2 -0
- package/dist/table/src/utils/popupPosition.test.d.ts.map +1 -0
- package/dist/table/src/utils/vnode.mjs +10 -0
- package/dist/theme/src/presets/antdv/button.mjs +70 -0
- package/dist/theme/src/presets/antdv/checkbox.mjs +51 -0
- package/dist/theme/src/presets/antdv/input.mjs +40 -0
- package/dist/theme/src/presets/antdv/radio.mjs +34 -0
- package/dist/theme/src/presets/antdv/scrollbar.mjs +22 -0
- package/dist/theme/src/presets/antdv/table-locale.mjs +55 -0
- package/dist/theme/src/presets/antdv/table.mjs +285 -0
- package/dist/theme/src/presets/antdv/tooltip.mjs +20 -0
- package/dist/theme/src/presets/element-plus/button.mjs +70 -0
- package/dist/theme/src/presets/element-plus/checkbox.mjs +65 -0
- package/dist/theme/src/presets/element-plus/input.mjs +39 -0
- package/dist/theme/src/presets/element-plus/radio.mjs +34 -0
- package/dist/theme/src/presets/element-plus/scrollbar.mjs +22 -0
- package/dist/theme/src/presets/element-plus/table-locale.mjs +56 -0
- package/dist/theme/src/presets/element-plus/table.mjs +235 -0
- package/dist/theme/src/presets/element-plus/tooltip.mjs +21 -0
- package/dist/theme/src/presets/index.mjs +92 -0
- package/package.json +5 -2
- package/dist/index.cjs +0 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { defineComponent as p, createVNode as n } from "vue";
|
|
2
|
+
const l = /* @__PURE__ */ p({
|
|
3
|
+
name: "ColGroup",
|
|
4
|
+
props: {
|
|
5
|
+
columns: {
|
|
6
|
+
type: Array,
|
|
7
|
+
required: !0
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
setup(r) {
|
|
11
|
+
return () => n("colgroup", null, [r.columns.map((t, o) => {
|
|
12
|
+
const e = t.width, u = e ? {
|
|
13
|
+
width: typeof e == "number" ? `${e}px` : e,
|
|
14
|
+
minWidth: typeof e == "number" ? `${e}px` : e
|
|
15
|
+
} : void 0;
|
|
16
|
+
return n("col", {
|
|
17
|
+
key: t.key ?? String(t.dataIndex ?? o),
|
|
18
|
+
style: u
|
|
19
|
+
}, null);
|
|
20
|
+
})]);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
export {
|
|
24
|
+
l as default
|
|
25
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { defineComponent as I, inject as k, createVNode as t } from "vue";
|
|
2
|
+
import "../../../core/src/utils/tv.mjs";
|
|
3
|
+
import { TABLE_CONTEXT_KEY as S } from "../context.mjs";
|
|
4
|
+
import { cn as d } from "tailwind-variants";
|
|
5
|
+
const j = /* @__PURE__ */ I({
|
|
6
|
+
name: "ExpandIcon",
|
|
7
|
+
props: {
|
|
8
|
+
expanded: {
|
|
9
|
+
type: Boolean,
|
|
10
|
+
required: !0
|
|
11
|
+
},
|
|
12
|
+
expandable: {
|
|
13
|
+
type: Boolean,
|
|
14
|
+
default: !0
|
|
15
|
+
},
|
|
16
|
+
variant: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: "row"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
emits: {
|
|
22
|
+
click: (n) => !0
|
|
23
|
+
},
|
|
24
|
+
setup(n, {
|
|
25
|
+
emit: r
|
|
26
|
+
}) {
|
|
27
|
+
const o = k(S, {});
|
|
28
|
+
function c(e) {
|
|
29
|
+
e.stopPropagation(), r("click", e);
|
|
30
|
+
}
|
|
31
|
+
return () => {
|
|
32
|
+
const e = o.subThemeSlots, a = n.variant === "tree", i = a ? e?.treeExpandIcon() : e?.expandIcon(), b = a ? e?.treeExpandIconExpanded() : e?.expandIconExpanded(), p = a ? e?.treeExpandIconCollapsed() : e?.expandIconCollapsed(), x = a ? e?.treeExpandIconSpaced() : e?.expandIconSpaced(), u = a ? e?.treeExpandIconDisabled() : e?.expandIconDisabled(), m = a ? e?.treeExpandIconSymbol() : e?.expandIconSymbol(), C = a ? e?.treeExpandIconSymbolExpanded() : e?.expandIconSymbolExpanded(), f = a ? e?.treeExpandIconSymbolCollapsed() : e?.expandIconSymbolCollapsed(), v = a ? o.vtgClass?.("relative inline-flex h-5 w-5 shrink-0 items-center justify-center align-middle text-[color:var(--vtg-table-text-color)] transition-[color,border-color,background-color,transform] duration-200") : o.vtgClass?.("relative inline-flex h-[17px] w-[17px] shrink-0 items-center justify-center align-middle border border-[color:var(--vtg-table-border-color,#d9d9d9)] bg-[color:var(--vtg-table-bg,#fff)] text-[color:var(--vtg-table-text-color)] transition-[color,border-color,background-color,transform] duration-200"), E = o.vtgClass?.("inline-flex items-center justify-center transition-transform duration-200 [&>svg]:h-[1em] [&>svg]:w-[1em]"), g = o.vtgClass?.(a ? "me-2 w-5 invisible" : "invisible"), l = d(v, i, !n.expandable && g, !n.expandable && x, n.expandable && (n.expanded ? b : p), !n.expandable && u), y = d(E, m, n.expandable && (n.expanded ? C : f)), s = t("span", {
|
|
33
|
+
class: y,
|
|
34
|
+
"aria-hidden": "true"
|
|
35
|
+
}, [t("svg", {
|
|
36
|
+
viewBox: "0 0 12 12",
|
|
37
|
+
fill: "none",
|
|
38
|
+
stroke: "currentColor",
|
|
39
|
+
"stroke-width": "1.5"
|
|
40
|
+
}, [t("path", {
|
|
41
|
+
d: "M4 2.5L8 6L4 9.5",
|
|
42
|
+
"stroke-linecap": "round",
|
|
43
|
+
"stroke-linejoin": "round"
|
|
44
|
+
}, null)])]);
|
|
45
|
+
return n.expandable ? t("button", {
|
|
46
|
+
type: "button",
|
|
47
|
+
class: l,
|
|
48
|
+
onClick: c,
|
|
49
|
+
"aria-expanded": n.expanded,
|
|
50
|
+
"aria-label": n.expanded ? "Collapse row" : "Expand row"
|
|
51
|
+
}, [s]) : t("span", {
|
|
52
|
+
class: l,
|
|
53
|
+
"aria-hidden": "true"
|
|
54
|
+
}, [s]);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
export {
|
|
59
|
+
j as default
|
|
60
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterDropdown.d.ts","sourceRoot":"","sources":["../../../../../table/src/components/FilterDropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,QAAQ,EAEd,MAAM,KAAK,CAAA;AAGZ,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;;;
|
|
1
|
+
{"version":3,"file":"FilterDropdown.d.ts","sourceRoot":"","sources":["../../../../../table/src/components/FilterDropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,QAAQ,EAEd,MAAM,KAAK,CAAA;AAGZ,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;;;cAkClB,QAAQ,CAAC,gBAAgB,EAAE,CAAC;;;;cACvB,QAAQ,CAAC,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;;;;;;;;cAGpD,QAAQ,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;;;;cAI5D,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;;;;cAI3B,QAAQ,CACnC,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,CACjE;;;;cAIe,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;;;;cAIzB,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;;;;;;;;;cAtBvC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;;;;cACvB,QAAQ,CAAC,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;;;;;;;;cAGpD,QAAQ,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;;;;cAI5D,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;;;;cAI3B,QAAQ,CACnC,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,CACjE;;;;cAIe,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;;;;cAIzB,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;;;;;;;;;;;;;;;qCAT1C,MAAM,UAAU,gBAAgB,KAAK,OAAO;;;;;;AAhBvE,wBA4iBE"}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import { defineComponent as ae, inject as ie, ref as x, onMounted as W, watch as ue, computed as f, nextTick as ce, onBeforeUnmount as de, createVNode as r, Teleport as fe, Transition as _ } from "vue";
|
|
2
|
+
import N from "../../../core/src/components/Checkbox.mjs";
|
|
3
|
+
import he from "../../../core/src/components/Radio.mjs";
|
|
4
|
+
import O from "../../../core/src/components/Button.mjs";
|
|
5
|
+
import ve from "../../../core/src/components/Input.mjs";
|
|
6
|
+
import j from "../../../core/src/components/Scrollbar.mjs";
|
|
7
|
+
import me from "../../../icons/src/CaretDownIcon.mjs";
|
|
8
|
+
import pe from "../../../icons/src/SearchIcon.mjs";
|
|
9
|
+
import { TABLE_CONTEXT_KEY as Se } from "../context.mjs";
|
|
10
|
+
import { getPopupPositionStyle as Te } from "../utils/popupPosition.mjs";
|
|
11
|
+
function D(n) {
|
|
12
|
+
const i = [];
|
|
13
|
+
for (const t of n)
|
|
14
|
+
i.push(t.value), t.children?.length && i.push(...D(t.children));
|
|
15
|
+
return i;
|
|
16
|
+
}
|
|
17
|
+
function $(n, i) {
|
|
18
|
+
for (const t of n)
|
|
19
|
+
t.children?.length && ($(t.children, i), t.children.every((v) => i.has(v.value)) ? i.add(t.value) : i.delete(t.value));
|
|
20
|
+
}
|
|
21
|
+
const ke = /* @__PURE__ */ ae({
|
|
22
|
+
name: "FilterDropdown",
|
|
23
|
+
props: {
|
|
24
|
+
filters: {
|
|
25
|
+
type: Array,
|
|
26
|
+
required: !0
|
|
27
|
+
},
|
|
28
|
+
selectedKeys: {
|
|
29
|
+
type: Array,
|
|
30
|
+
default: () => []
|
|
31
|
+
},
|
|
32
|
+
multiple: {
|
|
33
|
+
type: Boolean,
|
|
34
|
+
default: !0
|
|
35
|
+
},
|
|
36
|
+
anchorRect: {
|
|
37
|
+
type: Object,
|
|
38
|
+
required: !0
|
|
39
|
+
},
|
|
40
|
+
popupContainer: {
|
|
41
|
+
type: [String, Object],
|
|
42
|
+
default: "body"
|
|
43
|
+
},
|
|
44
|
+
filterSearch: {
|
|
45
|
+
type: [Boolean, Function],
|
|
46
|
+
default: !1
|
|
47
|
+
},
|
|
48
|
+
filterMode: {
|
|
49
|
+
type: String,
|
|
50
|
+
default: "menu"
|
|
51
|
+
},
|
|
52
|
+
expandedKeys: {
|
|
53
|
+
type: Object,
|
|
54
|
+
default: null
|
|
55
|
+
},
|
|
56
|
+
visible: {
|
|
57
|
+
type: Boolean,
|
|
58
|
+
default: !0
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
emits: ["confirm", "reset", "close", "update:expandedKeys"],
|
|
62
|
+
setup(n, {
|
|
63
|
+
emit: i
|
|
64
|
+
}) {
|
|
65
|
+
const t = ie(Se, {}), a = x([...n.selectedKeys]), v = x(null), h = x(""), d = x(/* @__PURE__ */ new Set());
|
|
66
|
+
W(() => {
|
|
67
|
+
if (n.expandedKeys)
|
|
68
|
+
d.value = new Set(n.expandedKeys);
|
|
69
|
+
else {
|
|
70
|
+
let e = function(o) {
|
|
71
|
+
const l = [];
|
|
72
|
+
for (const s of o)
|
|
73
|
+
s.children?.length && (l.push(s.value), l.push(...e(s.children)));
|
|
74
|
+
return l;
|
|
75
|
+
};
|
|
76
|
+
d.value = new Set(e(n.filters)), i("update:expandedKeys", d.value);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
function z(e) {
|
|
80
|
+
d.value.has(e) ? d.value.delete(e) : d.value.add(e), i("update:expandedKeys", d.value);
|
|
81
|
+
}
|
|
82
|
+
function L(e) {
|
|
83
|
+
return d.value.has(e);
|
|
84
|
+
}
|
|
85
|
+
function V(e) {
|
|
86
|
+
const o = e.style;
|
|
87
|
+
o.height = "0", o.overflow = "hidden", o.opacity = "0";
|
|
88
|
+
}
|
|
89
|
+
function q(e, o) {
|
|
90
|
+
const l = e, s = l.scrollHeight, u = l.style;
|
|
91
|
+
u.transition = "height 0.2s ease, opacity 0.2s ease", l.offsetHeight, u.height = `${s}px`, u.opacity = "1", l.addEventListener("transitionend", o, {
|
|
92
|
+
once: !0
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function U(e) {
|
|
96
|
+
e.style.cssText = "";
|
|
97
|
+
}
|
|
98
|
+
function X(e) {
|
|
99
|
+
const o = e, l = o.style;
|
|
100
|
+
l.height = `${o.scrollHeight}px`, l.overflow = "hidden";
|
|
101
|
+
}
|
|
102
|
+
function Y(e, o) {
|
|
103
|
+
const l = e, s = l.style;
|
|
104
|
+
s.transition = "height 0.15s ease, opacity 0.15s ease", l.offsetHeight, s.height = "0", s.opacity = "0", l.addEventListener("transitionend", o, {
|
|
105
|
+
once: !0
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
function G(e) {
|
|
109
|
+
e.style.cssText = "";
|
|
110
|
+
}
|
|
111
|
+
ue(() => n.selectedKeys, (e) => {
|
|
112
|
+
a.value = [...e];
|
|
113
|
+
});
|
|
114
|
+
function I(e, o) {
|
|
115
|
+
return typeof n.filterSearch == "function" ? n.filterSearch(o, e) : e.text.toLowerCase().includes(o.toLowerCase());
|
|
116
|
+
}
|
|
117
|
+
function J(e, o) {
|
|
118
|
+
return e.filter((l) => I(l, o));
|
|
119
|
+
}
|
|
120
|
+
const T = f(() => !n.filterSearch || !h.value || n.filterMode === "tree" ? n.filters : J(n.filters, h.value)), w = f(() => t.presetConfig?.value.filterSingleSelectMode === "highlight"), m = f(() => t.locale?.value.filterDropdown), Q = f(() => T.value.length > 0), k = f(() => !!n.filterSearch && h.value.trim().length > 0 && n.filterMode !== "tree" && !Q.value);
|
|
121
|
+
function B(e) {
|
|
122
|
+
return a.value.includes(e);
|
|
123
|
+
}
|
|
124
|
+
function M(e, o) {
|
|
125
|
+
if (n.multiple) {
|
|
126
|
+
if (n.filterMode === "tree" && o) {
|
|
127
|
+
const l = new Set(a.value);
|
|
128
|
+
if (!!o.children?.length) {
|
|
129
|
+
const u = D([o]);
|
|
130
|
+
u.every((c) => l.has(c)) ? u.forEach((c) => l.delete(c)) : u.forEach((c) => l.add(c));
|
|
131
|
+
} else
|
|
132
|
+
l.has(e) ? l.delete(e) : l.add(e);
|
|
133
|
+
$(n.filters, l), a.value = Array.from(l);
|
|
134
|
+
} else {
|
|
135
|
+
const l = a.value.indexOf(e);
|
|
136
|
+
l > -1 ? a.value.splice(l, 1) : a.value.push(e);
|
|
137
|
+
}
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
B(e) || (a.value = [e]);
|
|
141
|
+
}
|
|
142
|
+
function Z() {
|
|
143
|
+
i("confirm", [...a.value]);
|
|
144
|
+
}
|
|
145
|
+
function ee() {
|
|
146
|
+
a.value = [], i("reset");
|
|
147
|
+
}
|
|
148
|
+
const C = f(() => n.filterMode === "tree" && n.multiple), E = f(() => C.value ? D(T.value) : []), g = f(() => {
|
|
149
|
+
const e = E.value.length;
|
|
150
|
+
if (e === 0) return "none";
|
|
151
|
+
const o = E.value.filter((l) => a.value.includes(l)).length;
|
|
152
|
+
return o === 0 ? "none" : o === e ? "all" : "partial";
|
|
153
|
+
});
|
|
154
|
+
function te() {
|
|
155
|
+
g.value === "all" ? a.value = [] : a.value = [...E.value];
|
|
156
|
+
}
|
|
157
|
+
function A(e) {
|
|
158
|
+
n.visible && v.value && !v.value.contains(e.target) && i("close");
|
|
159
|
+
}
|
|
160
|
+
function F(e) {
|
|
161
|
+
n.visible && (v.value?.contains(e.target) || i("close"));
|
|
162
|
+
}
|
|
163
|
+
W(() => {
|
|
164
|
+
ce(() => {
|
|
165
|
+
document.addEventListener("mousedown", A), window.addEventListener("scroll", F, !0);
|
|
166
|
+
});
|
|
167
|
+
}), de(() => {
|
|
168
|
+
document.removeEventListener("mousedown", A), window.removeEventListener("scroll", F, !0);
|
|
169
|
+
});
|
|
170
|
+
function K(e, o) {
|
|
171
|
+
return n.multiple ? r(N, {
|
|
172
|
+
checked: e,
|
|
173
|
+
indeterminate: o
|
|
174
|
+
}, null) : w.value ? null : r(he, {
|
|
175
|
+
checked: e
|
|
176
|
+
}, null);
|
|
177
|
+
}
|
|
178
|
+
function le(e, o = 0) {
|
|
179
|
+
const l = B(e.value), s = !!e.children?.length, u = L(e.value), p = !n.multiple && w.value, c = n.filterMode === "tree" && h.value.trim().length > 0 && I(e, h.value);
|
|
180
|
+
let S = !1;
|
|
181
|
+
if (C.value && s) {
|
|
182
|
+
const oe = D(e.children).some((se) => a.value.includes(se));
|
|
183
|
+
S = !l && oe;
|
|
184
|
+
}
|
|
185
|
+
const ne = () => s ? r("span", {
|
|
186
|
+
class: [t.subThemeSlots?.filterDropdownSwitcher(), u ? t.subThemeSlots?.filterDropdownSwitcherExpanded() : t.subThemeSlots?.filterDropdownSwitcherCollapsed()],
|
|
187
|
+
onClick: (R) => {
|
|
188
|
+
R.stopPropagation(), z(e.value);
|
|
189
|
+
},
|
|
190
|
+
"aria-label": u ? "Collapse" : "Expand"
|
|
191
|
+
}, [r(me, null, null)]) : r("span", {
|
|
192
|
+
class: [t.subThemeSlots?.filterDropdownSwitcher(), t.subThemeSlots?.filterDropdownSwitcherNoop()],
|
|
193
|
+
"aria-hidden": "true"
|
|
194
|
+
}, null), b = n.filterMode === "tree", H = b ? t.subThemeSlots?.filterDropdownTreeItem() : t.subThemeSlots?.filterDropdownItem(), P = b ? t.subThemeSlots?.filterDropdownTreeContentWrapper() : t.subThemeSlots?.filterDropdownContentWrapper(), re = b ? {
|
|
195
|
+
paddingLeft: `calc(var(--vtg-table-filter-tree-indent-size, 24px) * ${o})`
|
|
196
|
+
} : void 0;
|
|
197
|
+
return b ? r("li", {
|
|
198
|
+
key: String(e.value),
|
|
199
|
+
class: H,
|
|
200
|
+
style: re,
|
|
201
|
+
onClick: () => M(e.value, e)
|
|
202
|
+
}, [r(ne, null, null), r("span", {
|
|
203
|
+
class: t.vtgClass?.("mt-1 mr-2 shrink-0")
|
|
204
|
+
}, [K(l, S)]), r("div", {
|
|
205
|
+
class: [P, l ? t.subThemeSlots?.filterDropdownTreeItemSelected() : t.subThemeSlots?.filterDropdownItemHover()]
|
|
206
|
+
}, [r("span", {
|
|
207
|
+
class: [t.vtgClass?.("text-[color:var(--color-on-surface)]"), c && t.subThemeSlots?.filterDropdownTreeItemMatched()]
|
|
208
|
+
}, [e.text])])]) : r("li", {
|
|
209
|
+
key: String(e.value),
|
|
210
|
+
role: p ? "radio" : void 0,
|
|
211
|
+
"aria-checked": p ? l : void 0,
|
|
212
|
+
class: [H, !n.multiple && w.value && t.vtgClass?.("gap-0")]
|
|
213
|
+
}, [r("div", {
|
|
214
|
+
class: [P, l ? !n.multiple && t.subThemeSlots?.filterDropdownItemSelectedSingle?.() || t.subThemeSlots?.filterDropdownItemSelected() : t.subThemeSlots?.filterDropdownItemHover()],
|
|
215
|
+
onClick: () => M(e.value, e)
|
|
216
|
+
}, [K(l, S), r("span", {
|
|
217
|
+
class: t.vtgClass?.("text-[color:var(--color-on-surface)]")
|
|
218
|
+
}, [e.text])])]);
|
|
219
|
+
}
|
|
220
|
+
function y(e, o = 0) {
|
|
221
|
+
const l = [];
|
|
222
|
+
for (const s of e)
|
|
223
|
+
l.push(le(s, o)), s.children?.length && (n.filterMode === "tree" ? l.push(r(_, {
|
|
224
|
+
css: !1,
|
|
225
|
+
onBeforeEnter: V,
|
|
226
|
+
onEnter: q,
|
|
227
|
+
onAfterEnter: U,
|
|
228
|
+
onBeforeLeave: X,
|
|
229
|
+
onLeave: Y,
|
|
230
|
+
onAfterLeave: G
|
|
231
|
+
}, {
|
|
232
|
+
default: () => [L(s.value) && r("div", {
|
|
233
|
+
key: `tree-${s.value}`
|
|
234
|
+
}, [y(s.children, o + 1)])]
|
|
235
|
+
})) : l.push(...y(s.children, o + 1)));
|
|
236
|
+
return l;
|
|
237
|
+
}
|
|
238
|
+
return () => {
|
|
239
|
+
const {
|
|
240
|
+
anchorRect: e
|
|
241
|
+
} = n, o = 150, l = n.popupContainer, s = n.filterMode === "tree", u = s ? t.subThemeSlots?.filterDropdownTreeList() : t.subThemeSlots?.filterDropdownList(), p = s ? t.subThemeSlots?.filterDropdownTreeContentWrapper() : t.subThemeSlots?.filterDropdownContentWrapper(), c = Te(e, l, o);
|
|
242
|
+
return r(fe, {
|
|
243
|
+
to: l
|
|
244
|
+
}, {
|
|
245
|
+
default: () => [r(_, {
|
|
246
|
+
name: "vtg-dropdown"
|
|
247
|
+
}, {
|
|
248
|
+
default: () => [n.visible && r("div", {
|
|
249
|
+
ref: v,
|
|
250
|
+
class: t.subThemeSlots?.filterDropdown(),
|
|
251
|
+
style: c
|
|
252
|
+
}, [n.filterSearch && r("div", {
|
|
253
|
+
class: t.subThemeSlots?.filterDropdownSearch()
|
|
254
|
+
}, [r("div", {
|
|
255
|
+
class: t.subThemeSlots?.filterDropdownSearchField()
|
|
256
|
+
}, [r("span", {
|
|
257
|
+
class: t.subThemeSlots?.filterDropdownSearchIcon(),
|
|
258
|
+
"aria-hidden": "true"
|
|
259
|
+
}, [r(pe, null, null)]), r(ve, {
|
|
260
|
+
bare: !0,
|
|
261
|
+
value: h.value,
|
|
262
|
+
placeholder: m.value?.searchPlaceholder ?? "在筛选项中搜索",
|
|
263
|
+
inputClass: t.subThemeSlots?.filterDropdownSearchInput(),
|
|
264
|
+
"onUpdate:value": (S) => {
|
|
265
|
+
h.value = S;
|
|
266
|
+
}
|
|
267
|
+
}, null)])]), s ? r("div", {
|
|
268
|
+
class: t.subThemeSlots?.filterDropdownTreeWrapper()
|
|
269
|
+
}, [C.value && r("div", {
|
|
270
|
+
key: "__vtg_select_all__",
|
|
271
|
+
class: t.subThemeSlots?.filterDropdownTreeCheckAll(),
|
|
272
|
+
onClick: te
|
|
273
|
+
}, [r("span", {
|
|
274
|
+
class: t.vtgClass?.("mt-1 mr-2 shrink-0")
|
|
275
|
+
}, [r(N, {
|
|
276
|
+
checked: g.value === "all",
|
|
277
|
+
indeterminate: g.value === "partial"
|
|
278
|
+
}, null)]), r("div", {
|
|
279
|
+
class: [p, g.value === "all" ? t.subThemeSlots?.filterDropdownTreeItemSelected() : t.subThemeSlots?.filterDropdownItemHover()]
|
|
280
|
+
}, [r("span", {
|
|
281
|
+
class: t.vtgClass?.("text-[color:var(--color-on-surface)]")
|
|
282
|
+
}, [m.value?.selectAllText ?? "全选"])])]), r(j, {
|
|
283
|
+
maxHeight: "var(--vtg-table-filter-dropdown-max-height, 264px)"
|
|
284
|
+
}, {
|
|
285
|
+
default: () => [r("ul", {
|
|
286
|
+
class: u
|
|
287
|
+
}, [y(T.value), k.value && r("li", {
|
|
288
|
+
class: t.subThemeSlots?.filterDropdownListEmpty()
|
|
289
|
+
}, [m.value?.emptyText ?? "Not Found"])])]
|
|
290
|
+
})]) : r(j, {
|
|
291
|
+
maxHeight: "var(--vtg-table-filter-dropdown-max-height, 264px)"
|
|
292
|
+
}, {
|
|
293
|
+
default: () => [r("ul", {
|
|
294
|
+
role: !n.multiple && w.value ? "radiogroup" : void 0,
|
|
295
|
+
class: u
|
|
296
|
+
}, [y(T.value), k.value && r("li", {
|
|
297
|
+
class: t.subThemeSlots?.filterDropdownListEmpty()
|
|
298
|
+
}, [m.value?.emptyText ?? "Not Found"])])]
|
|
299
|
+
}), r("div", {
|
|
300
|
+
class: t.subThemeSlots?.filterDropdownActions()
|
|
301
|
+
}, [r(O, {
|
|
302
|
+
type: "link",
|
|
303
|
+
size: "sm",
|
|
304
|
+
class: t.subThemeSlots?.filterDropdownResetButton?.(),
|
|
305
|
+
disabled: a.value.length === 0,
|
|
306
|
+
onClick: ee
|
|
307
|
+
}, {
|
|
308
|
+
default: () => [m.value?.resetText ?? "重置"]
|
|
309
|
+
}), r(O, {
|
|
310
|
+
type: "primary",
|
|
311
|
+
size: "sm",
|
|
312
|
+
class: t.subThemeSlots?.filterDropdownConfirmButton?.(),
|
|
313
|
+
onClick: Z
|
|
314
|
+
}, {
|
|
315
|
+
default: () => [m.value?.confirmText ?? "确 定"]
|
|
316
|
+
})])])]
|
|
317
|
+
})]
|
|
318
|
+
});
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
export {
|
|
323
|
+
ke as default
|
|
324
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineComponent as a, inject as i, createVNode as n, h as c } from "vue";
|
|
2
|
+
import { TABLE_CONTEXT_KEY as s } from "../context.mjs";
|
|
3
|
+
import { tablePresetConfigs as f } from "../preset-config.mjs";
|
|
4
|
+
const v = /* @__PURE__ */ a({
|
|
5
|
+
name: "FilterIcon",
|
|
6
|
+
props: {
|
|
7
|
+
active: {
|
|
8
|
+
type: Boolean,
|
|
9
|
+
default: !1
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
emits: ["click"],
|
|
13
|
+
setup(o, {
|
|
14
|
+
emit: r
|
|
15
|
+
}) {
|
|
16
|
+
const e = i(s, {});
|
|
17
|
+
function l(t) {
|
|
18
|
+
t.stopPropagation(), r("click", t);
|
|
19
|
+
}
|
|
20
|
+
return () => n("span", {
|
|
21
|
+
class: [e.subThemeSlots?.filterIcon(), e.vtgClass?.(o.active ? "text-[color:var(--color-primary)]" : "text-[color:var(--color-filter-icon)]")],
|
|
22
|
+
onClick: l,
|
|
23
|
+
role: "button",
|
|
24
|
+
"aria-label": e.locale?.value.header.filterTriggerAriaLabel ?? "筛选"
|
|
25
|
+
}, [c((e.presetConfig?.value ?? f.antdv).filterIcon)]);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
export {
|
|
29
|
+
v as default
|
|
30
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { defineComponent as n, inject as a, createVNode as s } from "vue";
|
|
2
|
+
import { TABLE_CONTEXT_KEY as l } from "../context.mjs";
|
|
3
|
+
const u = /* @__PURE__ */ n({
|
|
4
|
+
name: "ResizeHandle",
|
|
5
|
+
props: {
|
|
6
|
+
column: {
|
|
7
|
+
type: Object,
|
|
8
|
+
required: !0
|
|
9
|
+
},
|
|
10
|
+
colIndex: {
|
|
11
|
+
type: Number,
|
|
12
|
+
required: !0
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
setup(t) {
|
|
16
|
+
const e = a(l, {});
|
|
17
|
+
function o(r) {
|
|
18
|
+
e.startResize?.(t.column, t.colIndex, r);
|
|
19
|
+
}
|
|
20
|
+
return () => s("span", {
|
|
21
|
+
class: [e.vtgClass?.(["absolute right-0 top-0 bottom-0 w-[5px] z-[3]", "cursor-col-resize select-none", "after:absolute after:right-[2px] after:top-[25%] after:bottom-[25%] after:w-px", "after:bg-transparent hover:after:bg-[color:var(--color-primary,#1677ff)]", "after:transition-colors"].join(" ")), e.subThemeSlots?.resizeHandle()].join(" "),
|
|
22
|
+
onPointerdown: o
|
|
23
|
+
}, null);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
export {
|
|
27
|
+
u as default
|
|
28
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { defineComponent as o, createVNode as d } from "vue";
|
|
2
|
+
import l from "../../../core/src/components/Checkbox.mjs";
|
|
3
|
+
const f = /* @__PURE__ */ o({
|
|
4
|
+
name: "SelectionCheckbox",
|
|
5
|
+
props: {
|
|
6
|
+
checked: {
|
|
7
|
+
type: Boolean,
|
|
8
|
+
default: !1
|
|
9
|
+
},
|
|
10
|
+
indeterminate: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: !1
|
|
13
|
+
},
|
|
14
|
+
disabled: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
default: !1
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
emits: ["change"],
|
|
20
|
+
setup(e, {
|
|
21
|
+
emit: t
|
|
22
|
+
}) {
|
|
23
|
+
return () => d(l, {
|
|
24
|
+
checked: e.checked,
|
|
25
|
+
indeterminate: e.indeterminate,
|
|
26
|
+
disabled: e.disabled,
|
|
27
|
+
onChange: (a, n) => t("change", a, n)
|
|
28
|
+
}, null);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
export {
|
|
32
|
+
f as default
|
|
33
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionDropdown.d.ts","sourceRoot":"","sources":["../../../../../table/src/components/SelectionDropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,QAAQ,EACb,KAAK,UAAU,EAChB,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"SelectionDropdown.d.ts","sourceRoot":"","sources":["../../../../../table/src/components/SelectionDropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,QAAQ,EACb,KAAK,UAAU,EAChB,MAAM,KAAK,CAAA;AAIZ,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;IACzB,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAC9C;;;cAMoB,QAAQ,CAAC,wBAAwB,EAAE,CAAC;;;;cAInC,QAAQ,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;;;;cAI5D,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;;;;;;;;;cARzC,QAAQ,CAAC,wBAAwB,EAAE,CAAC;;;;cAInC,QAAQ,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;;;;cAI5D,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;AAZ9D,wBAqFE"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { defineComponent as p, inject as m, ref as f, onMounted as v, nextTick as y, onBeforeUnmount as b, createVNode as n, Teleport as w, Transition as C } from "vue";
|
|
2
|
+
import { TABLE_CONTEXT_KEY as h } from "../context.mjs";
|
|
3
|
+
import { getPopupPositionStyle as g } from "../utils/popupPosition.mjs";
|
|
4
|
+
const D = /* @__PURE__ */ p({
|
|
5
|
+
name: "SelectionDropdown",
|
|
6
|
+
props: {
|
|
7
|
+
items: {
|
|
8
|
+
type: Array,
|
|
9
|
+
required: !0
|
|
10
|
+
},
|
|
11
|
+
anchorRect: {
|
|
12
|
+
type: Object,
|
|
13
|
+
required: !0
|
|
14
|
+
},
|
|
15
|
+
popupContainer: {
|
|
16
|
+
type: [String, Object],
|
|
17
|
+
default: "body"
|
|
18
|
+
},
|
|
19
|
+
visible: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
default: !0
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
emits: ["close", "select", "mouseenter", "mouseleave"],
|
|
25
|
+
setup(o, {
|
|
26
|
+
emit: t
|
|
27
|
+
}) {
|
|
28
|
+
const s = m(h, {}), l = f(null);
|
|
29
|
+
function c(e) {
|
|
30
|
+
o.visible && l.value && !l.value.contains(e.target) && t("close");
|
|
31
|
+
}
|
|
32
|
+
v(() => {
|
|
33
|
+
y(() => {
|
|
34
|
+
document.addEventListener("mousedown", c);
|
|
35
|
+
});
|
|
36
|
+
}), b(() => {
|
|
37
|
+
document.removeEventListener("mousedown", c);
|
|
38
|
+
});
|
|
39
|
+
function i(e) {
|
|
40
|
+
const r = s.getChangeableRowKeys?.() ?? [];
|
|
41
|
+
e.onSelect?.(r), t("select", e.key), t("close");
|
|
42
|
+
}
|
|
43
|
+
return () => {
|
|
44
|
+
const {
|
|
45
|
+
anchorRect: e
|
|
46
|
+
} = o, r = 120, a = o.popupContainer, d = g(e, a, r);
|
|
47
|
+
return n(w, {
|
|
48
|
+
to: a
|
|
49
|
+
}, {
|
|
50
|
+
default: () => [n(C, {
|
|
51
|
+
name: "vtg-dropdown"
|
|
52
|
+
}, {
|
|
53
|
+
default: () => [o.visible && n("div", {
|
|
54
|
+
ref: l,
|
|
55
|
+
class: s.subThemeSlots?.selectionDropdown(),
|
|
56
|
+
style: d,
|
|
57
|
+
onMouseenter: () => t("mouseenter"),
|
|
58
|
+
onMouseleave: () => t("mouseleave")
|
|
59
|
+
}, [n("ul", {
|
|
60
|
+
class: s.vtgClass?.("m-0 list-none p-0")
|
|
61
|
+
}, [o.items.map((u) => n("li", {
|
|
62
|
+
key: u.key,
|
|
63
|
+
class: s.subThemeSlots?.selectionDropdownItem(),
|
|
64
|
+
onClick: () => i(u)
|
|
65
|
+
}, [u.text]))])])]
|
|
66
|
+
})]
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
export {
|
|
72
|
+
D as default
|
|
73
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { defineComponent as d, createVNode as t } from "vue";
|
|
2
|
+
import n from "../../../core/src/components/Radio.mjs";
|
|
3
|
+
const s = /* @__PURE__ */ d({
|
|
4
|
+
name: "SelectionRadio",
|
|
5
|
+
props: {
|
|
6
|
+
checked: {
|
|
7
|
+
type: Boolean,
|
|
8
|
+
default: !1
|
|
9
|
+
},
|
|
10
|
+
disabled: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: !1
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
emits: ["change"],
|
|
16
|
+
setup(e, {
|
|
17
|
+
emit: a
|
|
18
|
+
}) {
|
|
19
|
+
return () => t(n, {
|
|
20
|
+
checked: e.checked,
|
|
21
|
+
disabled: e.disabled,
|
|
22
|
+
onChange: (l, o) => a("change", o)
|
|
23
|
+
}, null);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
export {
|
|
27
|
+
s as default
|
|
28
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineComponent as s, inject as n, createVNode as a, h as r } from "vue";
|
|
2
|
+
import { TABLE_CONTEXT_KEY as l } from "../context.mjs";
|
|
3
|
+
import { tablePresetConfigs as e } from "../preset-config.mjs";
|
|
4
|
+
const d = /* @__PURE__ */ s({
|
|
5
|
+
name: "SortButton",
|
|
6
|
+
props: {
|
|
7
|
+
sortOrder: {
|
|
8
|
+
type: [String, null],
|
|
9
|
+
default: null
|
|
10
|
+
},
|
|
11
|
+
sortButtonClass: {
|
|
12
|
+
type: String,
|
|
13
|
+
default: ""
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
setup(o) {
|
|
17
|
+
const t = n(l, {});
|
|
18
|
+
return () => a("span", {
|
|
19
|
+
class: [t.subThemeSlots?.sortButton(), o.sortButtonClass],
|
|
20
|
+
"aria-hidden": "true"
|
|
21
|
+
}, [r((t.presetConfig?.value ?? e.antdv).sortAscIcon, {
|
|
22
|
+
class: o.sortOrder === "ascend" ? t.vtgClass?.("text-[color:var(--color-primary)]") : t.vtgClass?.("text-[color:var(--color-sorter-icon)]")
|
|
23
|
+
}), r((t.presetConfig?.value ?? e.antdv).sortDescIcon, {
|
|
24
|
+
class: [t.subThemeSlots?.sortIconDown(), t.vtgClass?.(o.sortOrder === "descend" ? "text-[color:var(--color-primary)]" : "text-[color:var(--color-sorter-icon)]")]
|
|
25
|
+
})]);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
export {
|
|
29
|
+
d as default
|
|
30
|
+
};
|