pro-design-vue 1.2.0 → 1.2.2
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/index.css +1 -1
- package/dist/index.full.js +31 -17
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +32 -18
- package/es/components/table/src/hooks/useContainer.d.ts +1 -0
- package/es/packages/components/config-provider/src/config-provider.vue2.mjs +12 -6
- package/es/packages/components/config-provider/src/config-provider.vue2.mjs.map +1 -1
- package/es/packages/components/config-provider/src/useCssVariables.mjs +4 -4
- package/es/packages/components/config-provider/src/useCssVariables.mjs.map +1 -1
- package/es/packages/components/table/src/components/AutoHeightHeader/Header.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/AutoHeightHeader/Header.vue2.mjs +3 -1
- package/es/packages/components/table/src/components/AutoHeightHeader/Header.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Form/Form.mjs +1 -0
- package/es/packages/components/table/src/components/Form/Form.mjs.map +1 -1
- package/es/packages/components/table/src/components/Header/Header.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Header/Header.vue2.mjs +3 -1
- package/es/packages/components/table/src/components/Header/Header.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs +3 -1
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Table.mjs +4 -1
- package/es/packages/components/table/src/components/Table.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useContainer.mjs +2 -1
- package/es/packages/components/table/src/hooks/useContainer.mjs.map +1 -1
- package/es/packages/utils/antd/confirm.mjs +1 -1
- package/es/packages/utils/antd/confirm.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/table/src/hooks/useContainer.d.ts +1 -0
- package/lib/packages/components/config-provider/src/config-provider.vue2.js +11 -5
- package/lib/packages/components/config-provider/src/config-provider.vue2.js.map +1 -1
- package/lib/packages/components/config-provider/src/useCssVariables.js +4 -4
- package/lib/packages/components/config-provider/src/useCssVariables.js.map +1 -1
- package/lib/packages/components/table/src/components/AutoHeightHeader/Header.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/AutoHeightHeader/Header.vue2.js +3 -1
- package/lib/packages/components/table/src/components/AutoHeightHeader/Header.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Form/Form.js +1 -0
- package/lib/packages/components/table/src/components/Form/Form.js.map +1 -1
- package/lib/packages/components/table/src/components/Header/Header.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Header/Header.vue2.js +3 -1
- package/lib/packages/components/table/src/components/Header/Header.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue2.js +3 -1
- package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Table.js +4 -1
- package/lib/packages/components/table/src/components/Table.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useContainer.js +2 -1
- package/lib/packages/components/table/src/hooks/useContainer.js.map +1 -1
- package/lib/packages/utils/antd/confirm.js +1 -1
- package/lib/packages/utils/antd/confirm.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/css-var.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/pro-form.css +1 -1
- package/theme-chalk/src/css-var.less +28 -28
- package/theme-chalk/src/form.less +2 -2
package/dist/index.full.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*! Pro Design Vue v1.2.
|
|
1
|
+
/*! Pro Design Vue v1.2.2 */
|
|
2
2
|
|
|
3
3
|
import { Modal, theme as theme$1, ConfigProvider, App, Button as Button$1, Tooltip, Popconfirm, Dropdown, Menu, Slider, Drawer, Input, InputNumber, Form as Form$1, Space, Textarea, Select, TreeSelect, Checkbox as Checkbox$1, CheckboxGroup, RadioGroup, Radio as Radio$1, Cascader, Switch, Rate, DatePicker, RangePicker, TimePicker, TimeRangePicker, Upload, FormItemRest, Spin, message, Row as Row$1, Col, FormItem as FormItem$3, Steps, Popover, MenuItem, SubMenu, Empty, Badge, Tag, Pagination, InputSearch, Tree, Card, Tabs, TabPane } from 'ant-design-vue';
|
|
4
|
-
import { inject, ref, getCurrentInstance, nextTick, h, reactive, defineComponent, createVNode, isVNode, Fragment, cloneVNode, provide, watch, computed, renderSlot, createPropsRestProxy,
|
|
4
|
+
import { inject, ref, getCurrentInstance, nextTick, h, reactive, defineComponent, createVNode, isVNode, Fragment, cloneVNode, provide, watch, computed, renderSlot, createPropsRestProxy, createBlock, openBlock, unref, mergeProps, withCtx, normalizeProps, guardReactiveProps, shallowRef, shallowReadonly, toValue, getCurrentScope, onScopeDispose, onMounted, hasInjectionContext, isRef, toRefs as toRefs$1, customRef, toRef as toRef$1, readonly, watchEffect, toRaw, createElementBlock, createCommentVNode, resolveDynamicComponent, createElementVNode, normalizeStyle, toDisplayString, normalizeClass, createSlots, useAttrs, useTemplateRef, defineAsyncComponent, Teleport, onUnmounted, Comment as Comment$1, useSlots, useModel, withModifiers, mergeModels, renderList, camelize, isReactive, onActivated, onDeactivated, onBeforeUnmount, triggerRef, resolveDirective, withDirectives, vShow, render as render$1, resolveComponent, createTextVNode, vModelText } from 'vue';
|
|
5
5
|
import antdDefaultLocale from 'ant-design-vue/es/locale/zh_CN.js';
|
|
6
6
|
|
|
7
7
|
function _mergeNamespaces(n, m) {
|
|
@@ -30,7 +30,7 @@ const SCROLL_FIXED_CLASS = `_scroll__fixed_`;
|
|
|
30
30
|
const DEFAULT_NAMESPACE = "pro";
|
|
31
31
|
const DEFAULT_LOCALE = "zh-CN";
|
|
32
32
|
|
|
33
|
-
const version$1 = "1.2.
|
|
33
|
+
const version$1 = "1.2.2";
|
|
34
34
|
|
|
35
35
|
const makeInstaller = (components = []) => {
|
|
36
36
|
const install = (app) => {
|
|
@@ -2261,7 +2261,7 @@ const confirm = (props) => {
|
|
|
2261
2261
|
type === "danger" ? ExclamationCircleFilled : type === "warning" ? WarningFilled : ExclamationCircleOutlined,
|
|
2262
2262
|
{
|
|
2263
2263
|
style: {
|
|
2264
|
-
color: type === "danger" ? "hsl(var(--pro-
|
|
2264
|
+
color: type === "danger" ? "hsl(var(--pro-error))" : "hsl(var(--pro-warning))"
|
|
2265
2265
|
}
|
|
2266
2266
|
}
|
|
2267
2267
|
),
|
|
@@ -8293,23 +8293,23 @@ function useCssVariables(isDark) {
|
|
|
8293
8293
|
const { token } = useToken();
|
|
8294
8294
|
watch(
|
|
8295
8295
|
[token, isDark],
|
|
8296
|
-
([newToken, dark]) => {
|
|
8296
|
+
([newToken, dark], [oldToken]) => {
|
|
8297
8297
|
const colorVariables = generatorColorVariables(
|
|
8298
8298
|
[
|
|
8299
8299
|
{ color: newToken.colorPrimary, name: "primary", key: "colorPrimary" },
|
|
8300
8300
|
{ alias: "warning", color: newToken.colorWarning, name: "yellow", key: "colorWarning" },
|
|
8301
8301
|
{ alias: "success", color: newToken.colorSuccess, name: "green", key: "colorSuccess" },
|
|
8302
|
-
{ alias: "
|
|
8302
|
+
{ alias: "error", color: newToken.colorError, name: "red", key: "colorError" }
|
|
8303
8303
|
].filter((item) => {
|
|
8304
8304
|
const defaultColor = dark ? defaultDarkToken[item.key] : defaultToken[item.key];
|
|
8305
|
-
return newToken[item.key] !== defaultColor;
|
|
8305
|
+
return newToken[item.key] !== defaultColor && (oldToken == null ? void 0 : oldToken[item.key]) !== defaultColor;
|
|
8306
8306
|
}),
|
|
8307
8307
|
DEFAULT_NAMESPACE
|
|
8308
8308
|
);
|
|
8309
8309
|
const colorMappings = {
|
|
8310
8310
|
[`--${DEFAULT_NAMESPACE}-green-500`]: `--${DEFAULT_NAMESPACE}-success`,
|
|
8311
8311
|
[`--${DEFAULT_NAMESPACE}-primary-500`]: `--${DEFAULT_NAMESPACE}-primary`,
|
|
8312
|
-
[`--${DEFAULT_NAMESPACE}-red-500`]: `--${DEFAULT_NAMESPACE}-
|
|
8312
|
+
[`--${DEFAULT_NAMESPACE}-red-500`]: `--${DEFAULT_NAMESPACE}-error`,
|
|
8313
8313
|
[`--${DEFAULT_NAMESPACE}-yellow-500`]: `--${DEFAULT_NAMESPACE}-warning`
|
|
8314
8314
|
};
|
|
8315
8315
|
Object.entries(colorMappings).forEach(([sourceVar, targetVar]) => {
|
|
@@ -8469,11 +8469,17 @@ var _sfc_main$X = /* @__PURE__ */ defineComponent({
|
|
|
8469
8469
|
}
|
|
8470
8470
|
};
|
|
8471
8471
|
});
|
|
8472
|
-
|
|
8473
|
-
|
|
8474
|
-
|
|
8475
|
-
|
|
8476
|
-
|
|
8472
|
+
watch(
|
|
8473
|
+
() => __props.dark,
|
|
8474
|
+
async () => {
|
|
8475
|
+
await nextTick();
|
|
8476
|
+
const root = document.documentElement;
|
|
8477
|
+
root.classList.toggle("dark", __props.dark);
|
|
8478
|
+
},
|
|
8479
|
+
{
|
|
8480
|
+
immediate: true
|
|
8481
|
+
}
|
|
8482
|
+
);
|
|
8477
8483
|
ConfigProvider.config({
|
|
8478
8484
|
prefixCls: rest.prefixCls
|
|
8479
8485
|
});
|
|
@@ -22082,8 +22088,8 @@ const ContainerContextKey = Symbol("ContainerContextKey");
|
|
|
22082
22088
|
const useContainer = (props) => {
|
|
22083
22089
|
var _a;
|
|
22084
22090
|
const rootDomRef = ref();
|
|
22091
|
+
const hasFullScreen = ref(false);
|
|
22085
22092
|
const { componentSize } = useProConfigInject();
|
|
22086
|
-
console.log("\u{1F680} ~ useContainer ~ componentSize:", componentSize == null ? void 0 : componentSize.value);
|
|
22087
22093
|
const sortKeyColumns = ref([]);
|
|
22088
22094
|
const [tableSize, setTableSize] = useMergedState$1(
|
|
22089
22095
|
() => {
|
|
@@ -22223,6 +22229,7 @@ const useContainer = (props) => {
|
|
|
22223
22229
|
);
|
|
22224
22230
|
const context = {
|
|
22225
22231
|
props,
|
|
22232
|
+
hasFullScreen,
|
|
22226
22233
|
rootDomRef,
|
|
22227
22234
|
tableSize,
|
|
22228
22235
|
setTableSize,
|
|
@@ -28737,6 +28744,7 @@ var _sfc_main$t = defineComponent({
|
|
|
28737
28744
|
const tableContext = useInjectTable();
|
|
28738
28745
|
const maxHeaderHeight = ref(0);
|
|
28739
28746
|
const dragColumnPlaceholderRef = ref();
|
|
28747
|
+
const counter = useInjectContainer();
|
|
28740
28748
|
provide(VIEWPORT_REF, viewportRef);
|
|
28741
28749
|
provide(AUTO_HEADER_HEIGHT, true);
|
|
28742
28750
|
const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar);
|
|
@@ -28765,7 +28773,7 @@ var _sfc_main$t = defineComponent({
|
|
|
28765
28773
|
const headerStyle = computed(() => {
|
|
28766
28774
|
const style = { height: `${maxHeaderHeight.value}px` };
|
|
28767
28775
|
if (props.sticky) {
|
|
28768
|
-
style.top = `${(typeof props.sticky == "object" ? props.sticky.offsetHeader : 0) || 0}px`;
|
|
28776
|
+
style.top = counter.hasFullScreen.value ? "0px" : `${(typeof props.sticky == "object" ? props.sticky.offsetHeader : 0) || 0}px`;
|
|
28769
28777
|
}
|
|
28770
28778
|
return style;
|
|
28771
28779
|
});
|
|
@@ -29365,6 +29373,7 @@ var _sfc_main$p = defineComponent({
|
|
|
29365
29373
|
const headerRef = ref();
|
|
29366
29374
|
const viewportRef = ref();
|
|
29367
29375
|
const tableContext = useInjectTable();
|
|
29376
|
+
const counter = useInjectContainer();
|
|
29368
29377
|
provide(VIEWPORT_REF, viewportRef);
|
|
29369
29378
|
const maxHeaderHeight = computed(() => tableContext.maxHeaderHeight.value);
|
|
29370
29379
|
const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject();
|
|
@@ -29387,7 +29396,7 @@ var _sfc_main$p = defineComponent({
|
|
|
29387
29396
|
const headerStyle = computed(() => {
|
|
29388
29397
|
const style = { height: `${maxHeaderHeight.value}px` };
|
|
29389
29398
|
if (props.sticky) {
|
|
29390
|
-
style.top = `${(typeof props.sticky == "object" ? props.sticky.offsetHeader : 0) || 0}px`;
|
|
29399
|
+
style.top = counter.hasFullScreen.value ? "0px" : `${(typeof props.sticky == "object" ? props.sticky.offsetHeader : 0) || 0}px`;
|
|
29391
29400
|
}
|
|
29392
29401
|
return style;
|
|
29393
29402
|
});
|
|
@@ -32861,6 +32870,7 @@ var _sfc_main$g = defineComponent({
|
|
|
32861
32870
|
slots: {},
|
|
32862
32871
|
setup(props, { expose, emit, slots }) {
|
|
32863
32872
|
const { table } = useProConfigInject();
|
|
32873
|
+
const counter = useInjectContainer();
|
|
32864
32874
|
const rowKey = computed(() => {
|
|
32865
32875
|
var _a, _b, _c;
|
|
32866
32876
|
return (_c = (_b = props.rowKey) != null ? _b : (_a = table == null ? void 0 : table.value) == null ? void 0 : _a.rowKey) != null ? _c : "id";
|
|
@@ -33287,7 +33297,7 @@ var _sfc_main$g = defineComponent({
|
|
|
33287
33297
|
return {
|
|
33288
33298
|
position: "sticky",
|
|
33289
33299
|
"z-index": 9,
|
|
33290
|
-
bottom: `${(_b = (_a = props.paginationSticky) == null ? void 0 : _a.offsetBottom) != null ? _b : 0}px`
|
|
33300
|
+
bottom: counter.hasFullScreen.value ? "0px" : `${(_b = (_a = props.paginationSticky) == null ? void 0 : _a.offsetBottom) != null ? _b : 0}px`
|
|
33291
33301
|
};
|
|
33292
33302
|
});
|
|
33293
33303
|
const indentSize = computed(() => typeof props.indentSize == "number" ? props.indentSize : 15);
|
|
@@ -35141,6 +35151,7 @@ var FormRender = /* @__PURE__ */ defineComponent({
|
|
|
35141
35151
|
});
|
|
35142
35152
|
(_e = (_d = cardProps.value) == null ? void 0 : _d.onTabChange) == null ? void 0 : _e.call(_d, key);
|
|
35143
35153
|
};
|
|
35154
|
+
console.log("\u{1F680} ~ return ~ cardProps.value:", cardProps.value);
|
|
35144
35155
|
return () => {
|
|
35145
35156
|
var _a2, _b2, _c2, _d;
|
|
35146
35157
|
const searchDom = createVNode(ProQueryFilter, mergeProps({
|
|
@@ -35508,15 +35519,18 @@ var Table = /* @__PURE__ */ defineComponent({
|
|
|
35508
35519
|
...actions,
|
|
35509
35520
|
fullScreen: () => {
|
|
35510
35521
|
var _a3;
|
|
35522
|
+
console.log(document.fullscreenElement);
|
|
35511
35523
|
if (!counter.rootDomRef.value || !document.fullscreenEnabled) {
|
|
35512
35524
|
return;
|
|
35513
35525
|
}
|
|
35514
|
-
console.log("q234234", document.fullscreenElement);
|
|
35515
35526
|
if (document.fullscreenElement) {
|
|
35516
35527
|
document.exitFullscreen();
|
|
35528
|
+
counter.hasFullScreen.value = false;
|
|
35517
35529
|
} else {
|
|
35518
35530
|
(_a3 = counter.rootDomRef.value) == null ? void 0 : _a3.requestFullscreen();
|
|
35531
|
+
counter.hasFullScreen.value = true;
|
|
35519
35532
|
}
|
|
35533
|
+
console.log(counter.hasFullScreen.value);
|
|
35520
35534
|
}
|
|
35521
35535
|
},
|
|
35522
35536
|
"tableColumn": tableColumn.value,
|
|
@@ -3,6 +3,7 @@ import type { Ref, ComputedRef } from 'vue';
|
|
|
3
3
|
export type ContainerContextProps = {
|
|
4
4
|
props: ProTableProps;
|
|
5
5
|
tableSize: Ref<DensitySize>;
|
|
6
|
+
hasFullScreen: Ref<boolean>;
|
|
6
7
|
setTableSize: (val: DensitySize) => void;
|
|
7
8
|
sortKeyColumns: Ref<string[]>;
|
|
8
9
|
setSortKeyColumns: (keys: string[]) => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, createPropsRestProxy, computed,
|
|
1
|
+
import { defineComponent, createPropsRestProxy, computed, watch, nextTick, createBlock, openBlock, unref, mergeProps, withCtx, createVNode, normalizeProps, guardReactiveProps, renderSlot } from 'vue';
|
|
2
2
|
import { theme, ConfigProvider, App } from 'ant-design-vue';
|
|
3
3
|
import { zhCNIntl } from './intl.mjs';
|
|
4
4
|
import dayjs from 'dayjs';
|
|
@@ -82,11 +82,17 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
84
|
});
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
watch(
|
|
86
|
+
() => __props.dark,
|
|
87
|
+
async () => {
|
|
88
|
+
await nextTick();
|
|
89
|
+
const root = document.documentElement;
|
|
90
|
+
root.classList.toggle("dark", __props.dark);
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
immediate: true
|
|
94
|
+
}
|
|
95
|
+
);
|
|
90
96
|
ConfigProvider.config({
|
|
91
97
|
prefixCls: rest.prefixCls
|
|
92
98
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-provider.vue2.mjs","sources":["../../../../../../../packages/components/config-provider/src/config-provider.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-05-22 09:08:36\n * @LastEditors: shen\n * @LastEditTime: 2025-10-
|
|
1
|
+
{"version":3,"file":"config-provider.vue2.mjs","sources":["../../../../../../../packages/components/config-provider/src/config-provider.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-05-22 09:08:36\n * @LastEditors: shen\n * @LastEditTime: 2025-10-13 09:22:23\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { ProConfigProviderProps } from './typing'\nimport { ConfigProvider, App, theme as antTheme } from 'ant-design-vue'\nimport { DEFAULT_LOCALE } from '@pro-design-vue/constants'\nimport { zhCNIntl } from './intl'\nimport { computed, nextTick, watch } from 'vue'\nimport { isArray, omit } from '@pro-design-vue/utils'\nimport dayjs from 'dayjs'\nimport ConfigProviderContainer from './config-provider-container.vue'\nimport antdDefaultLocale from 'ant-design-vue/es/locale/zh_CN.js'\nimport { defaultToken } from './defaultToken'\n\ninterface Props extends ProConfigProviderProps {}\n\ndefineOptions({\n name: 'ProConfigProvider',\n})\n\nconst {\n intl = {\n ...zhCNIntl,\n locale: 'default',\n },\n proPrefixCls = 'pro',\n dark = false,\n compact = false,\n token,\n locale = antdDefaultLocale,\n theme,\n table,\n drawer,\n modal,\n form,\n app,\n componentSize,\n ...rest\n} = defineProps<Props>()\n// 默认国际化为zh-cn\nif (locale.locale === DEFAULT_LOCALE.toLocaleLowerCase()) {\n import('dayjs/locale/zh-cn.js').then((value) => {\n dayjs.locale(value)\n })\n}\n\nconst mergerTheme = computed(() => {\n const algorithm = dark ? [antTheme.darkAlgorithm] : [antTheme.defaultAlgorithm]\n if (compact) {\n algorithm.push(antTheme.compactAlgorithm)\n }\n\n if (theme?.algorithm) {\n if (isArray(theme?.algorithm)) {\n algorithm.push(...theme?.algorithm)\n } else {\n algorithm.push(theme?.algorithm)\n }\n }\n\n return {\n ...theme,\n algorithm,\n token: {\n ...defaultToken,\n ...theme?.token,\n ...token,\n },\n }\n})\n\nwatch(\n () => dark,\n async () => {\n await nextTick()\n const root = document.documentElement\n root.classList.toggle('dark', dark)\n },\n {\n immediate: true,\n },\n)\n\nConfigProvider.config({\n prefixCls: rest.prefixCls,\n})\n</script>\n\n<template>\n <ConfigProvider\n v-bind=\"rest\"\n :locale\n :theme=\"mergerTheme\"\n :componentSize\n :form=\"\n omit(form ?? {}, ['resetOnSubmit', 'labelWidth', 'resetText', 'searchText', 'labelWidth'])\n \"\n >\n <App v-bind=\"app\">\n <ConfigProviderContainer\n :contentOffsetTop\n :intl\n :dark\n :proPrefixCls\n :table\n :form\n :locale\n :drawer\n :modal\n :componentSize\n >\n <slot />\n </ConfigProviderContainer>\n </App>\n </ConfigProvider>\n</template>\n"],"names":["_createPropsRestProxy","antTheme","_createBlock","_unref","_mergeProps","locale","componentSize","form","_createVNode","app","ConfigProviderContainer","contentOffsetTop","intl","dark","proPrefixCls","table","drawer","modal","_renderSlot"],"mappings":"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"}
|
|
@@ -10,23 +10,23 @@ function useCssVariables(isDark) {
|
|
|
10
10
|
const { token } = useToken();
|
|
11
11
|
watch(
|
|
12
12
|
[token, isDark],
|
|
13
|
-
([newToken, dark]) => {
|
|
13
|
+
([newToken, dark], [oldToken]) => {
|
|
14
14
|
const colorVariables = generatorColorVariables(
|
|
15
15
|
[
|
|
16
16
|
{ color: newToken.colorPrimary, name: "primary", key: "colorPrimary" },
|
|
17
17
|
{ alias: "warning", color: newToken.colorWarning, name: "yellow", key: "colorWarning" },
|
|
18
18
|
{ alias: "success", color: newToken.colorSuccess, name: "green", key: "colorSuccess" },
|
|
19
|
-
{ alias: "
|
|
19
|
+
{ alias: "error", color: newToken.colorError, name: "red", key: "colorError" }
|
|
20
20
|
].filter((item) => {
|
|
21
21
|
const defaultColor = dark ? defaultDarkToken[item.key] : defaultToken[item.key];
|
|
22
|
-
return newToken[item.key] !== defaultColor;
|
|
22
|
+
return newToken[item.key] !== defaultColor && (oldToken == null ? void 0 : oldToken[item.key]) !== defaultColor;
|
|
23
23
|
}),
|
|
24
24
|
DEFAULT_NAMESPACE
|
|
25
25
|
);
|
|
26
26
|
const colorMappings = {
|
|
27
27
|
[`--${DEFAULT_NAMESPACE}-green-500`]: `--${DEFAULT_NAMESPACE}-success`,
|
|
28
28
|
[`--${DEFAULT_NAMESPACE}-primary-500`]: `--${DEFAULT_NAMESPACE}-primary`,
|
|
29
|
-
[`--${DEFAULT_NAMESPACE}-red-500`]: `--${DEFAULT_NAMESPACE}-
|
|
29
|
+
[`--${DEFAULT_NAMESPACE}-red-500`]: `--${DEFAULT_NAMESPACE}-error`,
|
|
30
30
|
[`--${DEFAULT_NAMESPACE}-yellow-500`]: `--${DEFAULT_NAMESPACE}-warning`
|
|
31
31
|
};
|
|
32
32
|
Object.entries(colorMappings).forEach(([sourceVar, targetVar]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCssVariables.mjs","sources":["../../../../../../../packages/components/config-provider/src/useCssVariables.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2025-06-06 09:26:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-
|
|
1
|
+
{"version":3,"file":"useCssVariables.mjs","sources":["../../../../../../../packages/components/config-provider/src/useCssVariables.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2025-06-06 09:26:03\n * @LastEditors: shen\n * @LastEditTime: 2025-10-13 10:52:04\n * @Description:\n */\nimport { theme } from 'ant-design-vue'\nimport { watch, type ComputedRef } from 'vue'\nimport { DEFAULT_NAMESPACE } from '@pro-design-vue/constants'\nimport { generatorColorVariables } from '@pro-design-vue/utils'\nimport { updateCSSVariables } from './update-css-variables'\nimport { defaultDarkToken, defaultToken } from './defaultToken'\n\nexport function useCssVariables(isDark: ComputedRef<boolean>) {\n const { useToken } = theme\n const { token } = useToken()\n\n watch(\n [token, isDark],\n ([newToken, dark], [oldToken]) => {\n const colorVariables = generatorColorVariables(\n [\n { color: newToken.colorPrimary, name: 'primary', key: 'colorPrimary' },\n { alias: 'warning', color: newToken.colorWarning, name: 'yellow', key: 'colorWarning' },\n { alias: 'success', color: newToken.colorSuccess, name: 'green', key: 'colorSuccess' },\n { alias: 'error', color: newToken.colorError, name: 'red', key: 'colorError' },\n ].filter((item) => {\n const defaultColor = dark ? defaultDarkToken[item.key] : defaultToken[item.key]\n return newToken[item.key] !== defaultColor && oldToken?.[item.key] !== defaultColor\n }),\n DEFAULT_NAMESPACE,\n )\n\n // 要设置的 CSS 变量映射\n const colorMappings = {\n [`--${DEFAULT_NAMESPACE}-green-500`]: `--${DEFAULT_NAMESPACE}-success`,\n [`--${DEFAULT_NAMESPACE}-primary-500`]: `--${DEFAULT_NAMESPACE}-primary`,\n [`--${DEFAULT_NAMESPACE}-red-500`]: `--${DEFAULT_NAMESPACE}-error`,\n [`--${DEFAULT_NAMESPACE}-yellow-500`]: `--${DEFAULT_NAMESPACE}-warning`,\n }\n\n Object.entries(colorMappings).forEach(([sourceVar, targetVar]) => {\n const colorValue = colorVariables[sourceVar]\n if (colorValue) {\n document.documentElement.style.setProperty(targetVar, colorValue)\n }\n })\n\n updateCSSVariables(colorVariables)\n\n if (defaultToken.borderRadius !== newToken.borderRadius) {\n document.documentElement.style.setProperty(\n `--${DEFAULT_NAMESPACE}-radius`,\n `${newToken.borderRadius}px`,\n )\n }\n },\n {\n immediate: true,\n },\n )\n}\n"],"names":[],"mappings":";;;;;;;AAcO,SAAS,gBAAgB,MAAA,EAA8B;AAC5D,EAAA,MAAM,EAAE,UAAS,GAAI,KAAA;AACrB,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,QAAA,EAAS;AAE3B,EAAA,KAAA;AAAA,IACE,CAAC,OAAO,MAAM,CAAA;AAAA,IACd,CAAC,CAAC,QAAA,EAAU,IAAI,CAAA,EAAG,CAAC,QAAQ,CAAA,KAAM;AAChC,MAAA,MAAM,cAAA,GAAiB,uBAAA;AAAA,QACrB;AAAA,UACE,EAAE,KAAA,EAAO,QAAA,CAAS,cAAc,IAAA,EAAM,SAAA,EAAW,KAAK,cAAA,EAAe;AAAA,UACrE,EAAE,OAAO,SAAA,EAAW,KAAA,EAAO,SAAS,YAAA,EAAc,IAAA,EAAM,QAAA,EAAU,GAAA,EAAK,cAAA,EAAe;AAAA,UACtF,EAAE,OAAO,SAAA,EAAW,KAAA,EAAO,SAAS,YAAA,EAAc,IAAA,EAAM,OAAA,EAAS,GAAA,EAAK,cAAA,EAAe;AAAA,UACrF,EAAE,OAAO,OAAA,EAAS,KAAA,EAAO,SAAS,UAAA,EAAY,IAAA,EAAM,KAAA,EAAO,GAAA,EAAK,YAAA;AAAa,SAC/E,CAAE,MAAA,CAAO,CAAC,IAAA,KAAS;AACjB,UAAA,MAAM,YAAA,GAAe,OAAO,gBAAA,CAAiB,IAAA,CAAK,GAAG,CAAA,GAAI,YAAA,CAAa,KAAK,GAAG,CAAA;AAC9E,UAAA,OAAO,SAAS,IAAA,CAAK,GAAG,MAAM,YAAA,IAAA,CAAgB,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAW,KAAK,GAAA,CAAA,MAAS,YAAA;AAAA,QACzE,CAAC,CAAA;AAAA,QACD;AAAA,OACF;AAGA,MAAA,MAAM,aAAA,GAAgB;AAAA,QACpB,CAAC,CAAA,EAAA,EAAK,iBAAiB,CAAA,UAAA,CAAY,GAAG,KAAK,iBAAiB,CAAA,QAAA,CAAA;AAAA,QAC5D,CAAC,CAAA,EAAA,EAAK,iBAAiB,CAAA,YAAA,CAAc,GAAG,KAAK,iBAAiB,CAAA,QAAA,CAAA;AAAA,QAC9D,CAAC,CAAA,EAAA,EAAK,iBAAiB,CAAA,QAAA,CAAU,GAAG,KAAK,iBAAiB,CAAA,MAAA,CAAA;AAAA,QAC1D,CAAC,CAAA,EAAA,EAAK,iBAAiB,CAAA,WAAA,CAAa,GAAG,KAAK,iBAAiB,CAAA,QAAA;AAAA,OAC/D;AAEA,MAAA,MAAA,CAAO,OAAA,CAAQ,aAAa,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,SAAA,EAAW,SAAS,CAAA,KAAM;AAChE,QAAA,MAAM,UAAA,GAAa,eAAe,SAAS,CAAA;AAC3C,QAAA,IAAI,UAAA,EAAY;AACd,UAAA,QAAA,CAAS,eAAA,CAAgB,KAAA,CAAM,WAAA,CAAY,SAAA,EAAW,UAAU,CAAA;AAAA,QAClE;AAAA,MACF,CAAC,CAAA;AAED,MAAA,kBAAA,CAAmB,cAAc,CAAA;AAEjC,MAAA,IAAI,YAAA,CAAa,YAAA,KAAiB,QAAA,CAAS,YAAA,EAAc;AACvD,QAAA,QAAA,CAAS,gBAAgB,KAAA,CAAM,WAAA;AAAA,UAC7B,KAAK,iBAAiB,CAAA,OAAA,CAAA;AAAA,UACtB,CAAA,EAAG,SAAS,YAAY,CAAA,EAAA;AAAA,SAC1B;AAAA,MACF;AAAA,IACF,CAAA;AAAA,IACA;AAAA,MACE,SAAA,EAAW;AAAA;AACb,GACF;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/AutoHeightHeader/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"Header.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/AutoHeightHeader/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-10-13 11:12:47\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, ref, provide, computed, onMounted, onBeforeUnmount } from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { VIEWPORT_REF, AUTO_HEADER_HEIGHT } from '../../utils/constant'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { useProvideHeader } from '../context/HeaderContext'\nimport { resize } from '@pro-design-vue/directives'\nimport { useInjectContainer } from '../../hooks/useContainer'\nimport eagerComputed from '../../utils/eagerComputed'\nimport XScroll from '../Scrollbar/XScroll'\nimport ColGroup from './ColGroup'\nimport HeaderRow from './HeaderRow.vue'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { HeaderSticky } from '../interface'\n\nexport default defineComponent({\n name: 'TableHeader',\n components: { XScroll, ColGroup, HeaderRow },\n inheritAttrs: false,\n directives: { resize },\n props: {\n prefixCls: String,\n wrapText: { type: Boolean, default: false },\n sticky: { type: [Boolean, Object] as PropType<boolean | HeaderSticky>, default: false },\n },\n emits: ['scrollLeft', 'resizeheight'],\n setup(props, { emit }) {\n const headerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const tableContext = useInjectTable()\n const maxHeaderHeight = ref(0)\n const dragColumnPlaceholderRef = ref<HTMLSpanElement>()\n const counter = useInjectContainer()\n\n provide(VIEWPORT_REF, viewportRef)\n provide(AUTO_HEADER_HEIGHT, true)\n\n const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar)\n\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n onMounted(() => {\n addHScrollDom(viewportRef.value!)\n })\n onBeforeUnmount(() => {\n removeHScrollDom(viewportRef.value!)\n })\n\n useProvideHeader({\n dragColumnPlaceholderRef,\n headerRef,\n maxHeaderHeight,\n })\n\n const headerClass = computed(() => ({\n [`${props.prefixCls}-header`]: true,\n [`${props.prefixCls}-auto-header-height`]: true,\n [`${props.prefixCls}-sticky-header`]: props.sticky,\n [`${props.prefixCls}-show-header-scrollbar`]: tableContext.props.showHeaderScrollbar,\n }))\n const viewportClass = computed(() => ({ [`${props.prefixCls}-center-viewport`]: true }))\n const viewportStyle = computed(() => ({\n height: `calc(100% + ${tableContext.showHorizontalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n }))\n\n const headerStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = { height: `${maxHeaderHeight.value}px` }\n if (props.sticky) {\n style.top = counter.hasFullScreen.value\n ? '0px'\n : `${(typeof props.sticky == 'object' ? props.sticky.offsetHeader : 0) || 0}px`\n }\n return style\n })\n\n const scrollbarStyle = computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: barSize === '0px' ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n })\n\n const shadowRightStyle = computed<CSSProperties | undefined>(() => {\n return tableContext.rightWidth.value ? undefined : { display: 'none' }\n })\n const shadowLeftStyle = computed<CSSProperties | undefined>(() =>\n tableContext.leftWidth.value\n ? undefined\n : { position: 'absolute', left: '0px', top: '0px', bottom: '0px' },\n )\n\n return {\n headerClass,\n viewportClass,\n columnRows: eagerComputed(() => tableContext.columnRowsForAutoHeaderHeight.value),\n viewportStyle,\n scrollbarStyle,\n headerStyle,\n headerRef,\n dragColumnPlaceholderRef,\n viewportRef,\n maxHeaderHeight,\n handleResize: (e: CustomEvent) => {\n maxHeaderHeight.value = e.detail.height\n },\n shadowRightStyle,\n shadowLeftStyle,\n showHeaderScrollbar,\n handleHeightResize: (e: CustomEvent) => {\n emit('resizeheight', e)\n },\n }\n },\n})\n</script>\n\n<template>\n <div\n v-resize:height\n key=\"header\"\n :class=\"headerClass\"\n :style=\"headerStyle\"\n @resizeheight=\"handleHeightResize\"\n >\n <div ref=\"viewportRef\" :class=\"viewportClass\" :style=\"viewportStyle\">\n <div ref=\"headerRef\" :class=\"`${prefixCls}-header-container`\">\n <table\n v-resize:height\n key=\"header\"\n :style=\"{\n 'table-layout': 'fixed',\n width: '100%',\n 'border-collapse': 'separate',\n 'border-spacing': '0',\n position: 'absolute',\n }\"\n @resizeheight=\"handleResize\"\n >\n <ColGroup />\n <thead :class=\"`${prefixCls}-thead`\">\n <template v-for=\"(item, index) in columnRows\" :key=\"item.rowIndex\">\n <HeaderRow\n :level=\"index + 1\"\n :prefix-cls=\"prefixCls\"\n :cells=\"item\"\n :wrap-text=\"wrapText\"\n />\n </template>\n </thead>\n </table>\n <span ref=\"dragColumnPlaceholderRef\" :class=\"`${prefixCls}-drag-column-placeholder`\"></span>\n </div>\n </div>\n <div :class=\"`${prefixCls}-header-scrollbar`\" :style=\"scrollbarStyle\"></div>\n <div\n v-if=\"shadowLeftStyle\"\n :class=\"`${prefixCls}-cell-shadow-left`\"\n :style=\"shadowLeftStyle\"\n ></div>\n <div\n v-if=\"shadowRightStyle\"\n :class=\"`${prefixCls}-cell-shadow-right`\"\n :style=\"shadowRightStyle\"\n ></div>\n <XScroll v-if=\"showHeaderScrollbar\" only-auto-show />\n </div>\n <XScroll v-if=\"showHeaderScrollbar\" not-show-auto />\n</template>\n"],"names":["_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_createVNode","_Fragment","_renderList","_createBlock","_createCommentVNode"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { useInjectTable } from '../context/TableContext.mjs';
|
|
|
3
3
|
import { VIEWPORT_REF, AUTO_HEADER_HEIGHT } from '../../utils/constant.mjs';
|
|
4
4
|
import { useHScrollSyncInject } from '../../hooks/useHScrollSync.mjs';
|
|
5
5
|
import { useProvideHeader } from '../context/HeaderContext.mjs';
|
|
6
|
+
import { useInjectContainer } from '../../hooks/useContainer.mjs';
|
|
6
7
|
import eagerComputed from '../../utils/eagerComputed.mjs';
|
|
7
8
|
import XScroll from '../Scrollbar/XScroll.mjs';
|
|
8
9
|
import ColGroup from './ColGroup.mjs';
|
|
@@ -26,6 +27,7 @@ var _sfc_main = defineComponent({
|
|
|
26
27
|
const tableContext = useInjectTable();
|
|
27
28
|
const maxHeaderHeight = ref(0);
|
|
28
29
|
const dragColumnPlaceholderRef = ref();
|
|
30
|
+
const counter = useInjectContainer();
|
|
29
31
|
provide(VIEWPORT_REF, viewportRef);
|
|
30
32
|
provide(AUTO_HEADER_HEIGHT, true);
|
|
31
33
|
const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar);
|
|
@@ -54,7 +56,7 @@ var _sfc_main = defineComponent({
|
|
|
54
56
|
const headerStyle = computed(() => {
|
|
55
57
|
const style = { height: `${maxHeaderHeight.value}px` };
|
|
56
58
|
if (props.sticky) {
|
|
57
|
-
style.top = `${(typeof props.sticky == "object" ? props.sticky.offsetHeader : 0) || 0}px`;
|
|
59
|
+
style.top = counter.hasFullScreen.value ? "0px" : `${(typeof props.sticky == "object" ? props.sticky.offsetHeader : 0) || 0}px`;
|
|
58
60
|
}
|
|
59
61
|
return style;
|
|
60
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/AutoHeightHeader/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"Header.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/AutoHeightHeader/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-10-13 11:12:47\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, ref, provide, computed, onMounted, onBeforeUnmount } from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { VIEWPORT_REF, AUTO_HEADER_HEIGHT } from '../../utils/constant'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { useProvideHeader } from '../context/HeaderContext'\nimport { resize } from '@pro-design-vue/directives'\nimport { useInjectContainer } from '../../hooks/useContainer'\nimport eagerComputed from '../../utils/eagerComputed'\nimport XScroll from '../Scrollbar/XScroll'\nimport ColGroup from './ColGroup'\nimport HeaderRow from './HeaderRow.vue'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { HeaderSticky } from '../interface'\n\nexport default defineComponent({\n name: 'TableHeader',\n components: { XScroll, ColGroup, HeaderRow },\n inheritAttrs: false,\n directives: { resize },\n props: {\n prefixCls: String,\n wrapText: { type: Boolean, default: false },\n sticky: { type: [Boolean, Object] as PropType<boolean | HeaderSticky>, default: false },\n },\n emits: ['scrollLeft', 'resizeheight'],\n setup(props, { emit }) {\n const headerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const tableContext = useInjectTable()\n const maxHeaderHeight = ref(0)\n const dragColumnPlaceholderRef = ref<HTMLSpanElement>()\n const counter = useInjectContainer()\n\n provide(VIEWPORT_REF, viewportRef)\n provide(AUTO_HEADER_HEIGHT, true)\n\n const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar)\n\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n onMounted(() => {\n addHScrollDom(viewportRef.value!)\n })\n onBeforeUnmount(() => {\n removeHScrollDom(viewportRef.value!)\n })\n\n useProvideHeader({\n dragColumnPlaceholderRef,\n headerRef,\n maxHeaderHeight,\n })\n\n const headerClass = computed(() => ({\n [`${props.prefixCls}-header`]: true,\n [`${props.prefixCls}-auto-header-height`]: true,\n [`${props.prefixCls}-sticky-header`]: props.sticky,\n [`${props.prefixCls}-show-header-scrollbar`]: tableContext.props.showHeaderScrollbar,\n }))\n const viewportClass = computed(() => ({ [`${props.prefixCls}-center-viewport`]: true }))\n const viewportStyle = computed(() => ({\n height: `calc(100% + ${tableContext.showHorizontalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n }))\n\n const headerStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = { height: `${maxHeaderHeight.value}px` }\n if (props.sticky) {\n style.top = counter.hasFullScreen.value\n ? '0px'\n : `${(typeof props.sticky == 'object' ? props.sticky.offsetHeader : 0) || 0}px`\n }\n return style\n })\n\n const scrollbarStyle = computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: barSize === '0px' ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n })\n\n const shadowRightStyle = computed<CSSProperties | undefined>(() => {\n return tableContext.rightWidth.value ? undefined : { display: 'none' }\n })\n const shadowLeftStyle = computed<CSSProperties | undefined>(() =>\n tableContext.leftWidth.value\n ? undefined\n : { position: 'absolute', left: '0px', top: '0px', bottom: '0px' },\n )\n\n return {\n headerClass,\n viewportClass,\n columnRows: eagerComputed(() => tableContext.columnRowsForAutoHeaderHeight.value),\n viewportStyle,\n scrollbarStyle,\n headerStyle,\n headerRef,\n dragColumnPlaceholderRef,\n viewportRef,\n maxHeaderHeight,\n handleResize: (e: CustomEvent) => {\n maxHeaderHeight.value = e.detail.height\n },\n shadowRightStyle,\n shadowLeftStyle,\n showHeaderScrollbar,\n handleHeightResize: (e: CustomEvent) => {\n emit('resizeheight', e)\n },\n }\n },\n})\n</script>\n\n<template>\n <div\n v-resize:height\n key=\"header\"\n :class=\"headerClass\"\n :style=\"headerStyle\"\n @resizeheight=\"handleHeightResize\"\n >\n <div ref=\"viewportRef\" :class=\"viewportClass\" :style=\"viewportStyle\">\n <div ref=\"headerRef\" :class=\"`${prefixCls}-header-container`\">\n <table\n v-resize:height\n key=\"header\"\n :style=\"{\n 'table-layout': 'fixed',\n width: '100%',\n 'border-collapse': 'separate',\n 'border-spacing': '0',\n position: 'absolute',\n }\"\n @resizeheight=\"handleResize\"\n >\n <ColGroup />\n <thead :class=\"`${prefixCls}-thead`\">\n <template v-for=\"(item, index) in columnRows\" :key=\"item.rowIndex\">\n <HeaderRow\n :level=\"index + 1\"\n :prefix-cls=\"prefixCls\"\n :cells=\"item\"\n :wrap-text=\"wrapText\"\n />\n </template>\n </thead>\n </table>\n <span ref=\"dragColumnPlaceholderRef\" :class=\"`${prefixCls}-drag-column-placeholder`\"></span>\n </div>\n </div>\n <div :class=\"`${prefixCls}-header-scrollbar`\" :style=\"scrollbarStyle\"></div>\n <div\n v-if=\"shadowLeftStyle\"\n :class=\"`${prefixCls}-cell-shadow-left`\"\n :style=\"shadowLeftStyle\"\n ></div>\n <div\n v-if=\"shadowRightStyle\"\n :class=\"`${prefixCls}-cell-shadow-right`\"\n :style=\"shadowRightStyle\"\n ></div>\n <XScroll v-if=\"showHeaderScrollbar\" only-auto-show />\n </div>\n <XScroll v-if=\"showHeaderScrollbar\" not-show-auto />\n</template>\n"],"names":[],"mappings":"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"}
|
|
@@ -80,6 +80,7 @@ var FormRender = /* @__PURE__ */ defineComponent({
|
|
|
80
80
|
});
|
|
81
81
|
(_e = (_d = cardProps.value) == null ? void 0 : _d.onTabChange) == null ? void 0 : _e.call(_d, key);
|
|
82
82
|
};
|
|
83
|
+
console.log("\u{1F680} ~ return ~ cardProps.value:", cardProps.value);
|
|
83
84
|
return () => {
|
|
84
85
|
var _a2, _b2, _c2, _d;
|
|
85
86
|
const searchDom = createVNode(ProQueryFilter, mergeProps({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-10-10 11:05:53\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, SearchConfig } from '../interface'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { Card } from 'ant-design-vue'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n tableShowCard: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup: (props, { slots }) => {\n const activeTabKey = ref(\n props.search?.cardProps !== false ? props.search?.cardProps?.activeTabKey : '',\n )\n\n const cardProps = computed(() => {\n if (!props.search?.cardProps) {\n return {}\n }\n return props.search?.cardProps\n })\n\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const tabParams = cardProps.value?.tabList?.length\n ? {\n [props.search?.tabName ?? 'tab']:\n cardProps.value.activeTabKey || cardProps.value?.tabList?.[0]?.key,\n }\n : {}\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n ...tabParams,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const onTabChange = (key: string) => {\n activeTabKey.value = key\n props.onSearchTabChange?.({\n [props.search?.tabName ?? 'tab']: key,\n })\n cardProps.value?.onTabChange?.(key)\n }\n\n return () => {\n const searchDom = (\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, ['cardProps', 'tabName'])}\n items={props.items}\n loading={props.loading}\n style={{\n marginBlockEnd: props.search?.cardProps !== false && props.tableShowCard ? 0 : '30px',\n ...props.search?.style,\n }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n v-slots={slots}\n onInit={(values) => {\n submit(values, true)\n }}\n />\n )\n if (props.search?.cardProps !== false && props.tableShowCard) {\n return (\n <Card\n class={`${props.prefixCls}-search`}\n activeTabKey={activeTabKey.value}\n bordered={isBordered('search', props.cardBordered)}\n style={{ marginBlockEnd: '16px' }}\n {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n onTabChange={onTabChange}\n >\n {searchDom}\n </Card>\n )\n }\n return searchDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","prefixCls","String","items","type","Array","default","search","undefined","cardBordered","Boolean","loading","manual","tableShowCard","beforeSearchSubmit","Function","searchParams","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","setup","slots","activeTabKey","ref","cardProps","computed","_a","_b","submit","values","firstLoad","_c","tabParams","value","tabList","length","tabName","key","submitParams","omitUndefined","onTabChange","searchDom","_createVNode","ProQueryFilter","_mergeProps","omit","marginBlockEnd","style","submitter","onValuesChange","Card","isBordered"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Form.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-10-13 10:56:16\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, SearchConfig } from '../interface'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { Card } from 'ant-design-vue'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n tableShowCard: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup: (props, { slots }) => {\n const activeTabKey = ref(\n props.search?.cardProps !== false ? props.search?.cardProps?.activeTabKey : '',\n )\n\n const cardProps = computed(() => {\n if (!props.search?.cardProps) {\n return {}\n }\n return props.search?.cardProps\n })\n\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const tabParams = cardProps.value?.tabList?.length\n ? {\n [props.search?.tabName ?? 'tab']:\n cardProps.value.activeTabKey || cardProps.value?.tabList?.[0]?.key,\n }\n : {}\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n ...tabParams,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const onTabChange = (key: string) => {\n activeTabKey.value = key\n props.onSearchTabChange?.({\n [props.search?.tabName ?? 'tab']: key,\n })\n cardProps.value?.onTabChange?.(key)\n }\n console.log('🚀 ~ return ~ cardProps.value:', cardProps.value)\n return () => {\n const searchDom = (\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, ['cardProps', 'tabName'])}\n items={props.items}\n loading={props.loading}\n style={{\n marginBlockEnd: props.search?.cardProps !== false && props.tableShowCard ? 0 : '30px',\n ...props.search?.style,\n }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n v-slots={slots}\n onInit={(values) => {\n submit(values, true)\n }}\n />\n )\n if (props.search?.cardProps !== false && props.tableShowCard) {\n return (\n <Card\n class={`${props.prefixCls}-search`}\n activeTabKey={activeTabKey.value}\n bordered={isBordered('search', props.cardBordered)}\n style={{ marginBlockEnd: '16px' }}\n {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n onTabChange={onTabChange}\n >\n {searchDom}\n </Card>\n )\n }\n return searchDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","prefixCls","String","items","type","Array","default","search","undefined","cardBordered","Boolean","loading","manual","tableShowCard","beforeSearchSubmit","Function","searchParams","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","setup","slots","activeTabKey","ref","cardProps","computed","_a","_b","submit","values","firstLoad","_c","tabParams","value","tabList","length","tabName","key","submitParams","omitUndefined","onTabChange","console","log","searchDom","_createVNode","ProQueryFilter","_mergeProps","omit","marginBlockEnd","style","submitter","onValuesChange","Card","isBordered"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Header/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:46:08\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType, CSSProperties } from 'vue'\nimport type { HeaderSticky } from '../interface'\n\nimport { defineComponent, ref, provide, computed, onMounted, onBeforeUnmount } from 'vue'\nimport { VIEWPORT_REF } from '../../utils/constant'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { useInjectTable } from '../context/TableContext'\nimport { resize } from '@pro-design-vue/directives'\nimport XScroll from '../Scrollbar/XScroll'\nimport HeaderRowsWrap from './HeaderRowsWrap.vue'\n\nexport default defineComponent({\n name: 'TableHeader',\n components: { XScroll, HeaderRowsWrap },\n inheritAttrs: false,\n directives: { resize },\n props: {\n prefixCls: String,\n wrapText: { type: Boolean, default: false },\n sticky: { type: [Boolean, Object] as PropType<boolean | HeaderSticky>, default: false },\n },\n emits: ['scrollLeft', 'resizeheight'],\n setup(props, { emit }) {\n const headerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const tableContext = useInjectTable()\n\n provide(VIEWPORT_REF, viewportRef)\n const maxHeaderHeight = computed(() => tableContext.maxHeaderHeight.value)\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n onMounted(() => {\n addHScrollDom(viewportRef.value!)\n })\n onBeforeUnmount(() => {\n removeHScrollDom(viewportRef.value!)\n })\n\n const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar)\n const headerClass = computed(() => ({\n [`${props.prefixCls}-header`]: true,\n [`${props.prefixCls}-sticky-header`]: props.sticky,\n [`${props.prefixCls}-show-header-scrollbar`]: showHeaderScrollbar.value,\n }))\n const viewportClass = computed(() => ({ [`${props.prefixCls}-center-viewport`]: true }))\n const viewportStyle = computed(() => ({\n height: `calc(100% + ${tableContext.showHorizontalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n }))\n\n const headerStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = { height: `${maxHeaderHeight.value}px` }\n if (props.sticky) {\n style.top = `${(typeof props.sticky == 'object' ? props.sticky.offsetHeader : 0) || 0}px`\n }\n return style\n })\n\n return {\n headerClass,\n viewportClass,\n viewportStyle,\n scrollbarStyle: computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: '0px' === barSize ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n }),\n headerStyle,\n headerRef,\n viewportRef,\n maxHeaderHeight,\n showHeaderScrollbar,\n handleHeightResize: (e: CustomEvent) => {\n emit('resizeheight', e)\n },\n }\n },\n})\n</script>\n\n<template>\n <div\n v-resize:height\n key=\"header\"\n role=\"presentation\"\n :class=\"headerClass\"\n :style=\"headerStyle\"\n @resizeheight=\"handleHeightResize\"\n >\n <div ref=\"viewportRef\" :class=\"viewportClass\" :style=\"viewportStyle\">\n <div :class=\"`${prefixCls}-header-container`\">\n <HeaderRowsWrap key=\"left\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"left\" />\n <HeaderRowsWrap key=\"center\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"center\" />\n <HeaderRowsWrap key=\"right\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"right\" />\n </div>\n </div>\n <div :class=\"`${prefixCls}-header-scrollbar`\" :style=\"scrollbarStyle\"></div>\n <XScroll v-if=\"showHeaderScrollbar\" only-auto-show />\n </div>\n <XScroll v-if=\"showHeaderScrollbar\" not-show-auto />\n</template>\n"],"names":["_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_createVNode","_createBlock","_createCommentVNode"],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Header.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Header/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:46:08\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType, CSSProperties } from 'vue'\nimport type { HeaderSticky } from '../interface'\n\nimport { defineComponent, ref, provide, computed, onMounted, onBeforeUnmount } from 'vue'\nimport { VIEWPORT_REF } from '../../utils/constant'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { useInjectTable } from '../context/TableContext'\nimport { resize } from '@pro-design-vue/directives'\nimport { useInjectContainer } from '../../hooks/useContainer'\nimport XScroll from '../Scrollbar/XScroll'\nimport HeaderRowsWrap from './HeaderRowsWrap.vue'\n\nexport default defineComponent({\n name: 'TableHeader',\n components: { XScroll, HeaderRowsWrap },\n inheritAttrs: false,\n directives: { resize },\n props: {\n prefixCls: String,\n wrapText: { type: Boolean, default: false },\n sticky: { type: [Boolean, Object] as PropType<boolean | HeaderSticky>, default: false },\n },\n emits: ['scrollLeft', 'resizeheight'],\n setup(props, { emit }) {\n const headerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const tableContext = useInjectTable()\n const counter = useInjectContainer()\n provide(VIEWPORT_REF, viewportRef)\n const maxHeaderHeight = computed(() => tableContext.maxHeaderHeight.value)\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n onMounted(() => {\n addHScrollDom(viewportRef.value!)\n })\n onBeforeUnmount(() => {\n removeHScrollDom(viewportRef.value!)\n })\n\n const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar)\n const headerClass = computed(() => ({\n [`${props.prefixCls}-header`]: true,\n [`${props.prefixCls}-sticky-header`]: props.sticky,\n [`${props.prefixCls}-show-header-scrollbar`]: showHeaderScrollbar.value,\n }))\n const viewportClass = computed(() => ({ [`${props.prefixCls}-center-viewport`]: true }))\n const viewportStyle = computed(() => ({\n height: `calc(100% + ${tableContext.showHorizontalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n }))\n\n const headerStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = { height: `${maxHeaderHeight.value}px` }\n if (props.sticky) {\n style.top = counter.hasFullScreen.value\n ? '0px'\n : `${(typeof props.sticky == 'object' ? props.sticky.offsetHeader : 0) || 0}px`\n }\n return style\n })\n\n return {\n headerClass,\n viewportClass,\n viewportStyle,\n scrollbarStyle: computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: '0px' === barSize ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n }),\n headerStyle,\n headerRef,\n viewportRef,\n maxHeaderHeight,\n showHeaderScrollbar,\n handleHeightResize: (e: CustomEvent) => {\n emit('resizeheight', e)\n },\n }\n },\n})\n</script>\n\n<template>\n <div\n v-resize:height\n key=\"header\"\n role=\"presentation\"\n :class=\"headerClass\"\n :style=\"headerStyle\"\n @resizeheight=\"handleHeightResize\"\n >\n <div ref=\"viewportRef\" :class=\"viewportClass\" :style=\"viewportStyle\">\n <div :class=\"`${prefixCls}-header-container`\">\n <HeaderRowsWrap key=\"left\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"left\" />\n <HeaderRowsWrap key=\"center\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"center\" />\n <HeaderRowsWrap key=\"right\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"right\" />\n </div>\n </div>\n <div :class=\"`${prefixCls}-header-scrollbar`\" :style=\"scrollbarStyle\"></div>\n <XScroll v-if=\"showHeaderScrollbar\" only-auto-show />\n </div>\n <XScroll v-if=\"showHeaderScrollbar\" not-show-auto />\n</template>\n"],"names":["_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_createVNode","_createBlock","_createCommentVNode"],"mappings":";;;;;;;;;;;;MAiGEA,cAAA,EAAAC,WAAA,EAAAC,kBAAA;AAAA,QAiBM,KAAA;AAAA,QAAA;AAAA,UAfJ,GAAA,EAAI,QAAA;AAAA,UACJ,IAAA,EAAK,cAAA;AAAA,UACJ,KAAA,EAAKC,cAAA,CAAE,IAAA,CAAA,WAAW,CAAA;AAAA,UAClB,KAAA,EAAKC,cAAA,CAAE,IAAA,CAAA,WAAW,CAAA;AAAA,UAClB,cAAA,EAAY,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,kBAAA,IAAA,IAAA,CAAA,kBAAA,CAAA,GAAA,IAAA,CAAA;AAAA,SAAA;AAAA;UAEfC,kBAAA;AAAA,YAMM,KAAA;AAAA,YAAA;AAAA,cAND,GAAA,EAAI,aAAA;AAAA,cAAe,KAAA,EAAKF,cAAA,CAAE,IAAA,CAAA,aAAa,CAAA;AAAA,cAAG,KAAA,EAAKC,cAAA,CAAE,IAAA,CAAA,aAAa;AAAA,aAAA;AAAA;cACjEC,kBAAA;AAAA,gBAIM,KAAA;AAAA,gBAAA;AAAA,kBAJA,KAAA,EAAKF,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA;AAAA,iBAAA;AAAA;kBACvBG,YAAuF,yBAAA,EAAA;AAAA,oBAAvE,GAAA,EAAI,MAAA;AAAA,oBAAQ,cAAY,IAAA,CAAA,SAAA;AAAA,oBAAY,aAAW,IAAA,CAAA,QAAA;AAAA,oBAAU,IAAA,EAAK;AAAA,qBAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA,CAAA;AAAA,kBAC9EA,YAA2F,yBAAA,EAAA;AAAA,oBAA3E,GAAA,EAAI,QAAA;AAAA,oBAAU,cAAY,IAAA,CAAA,SAAA;AAAA,oBAAY,aAAW,IAAA,CAAA,QAAA;AAAA,oBAAU,IAAA,EAAK;AAAA,qBAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA,CAAA;AAAA,kBAChFA,YAAyF,yBAAA,EAAA;AAAA,oBAAzE,GAAA,EAAI,OAAA;AAAA,oBAAS,cAAY,IAAA,CAAA,SAAA;AAAA,oBAAY,aAAW,IAAA,CAAA,QAAA;AAAA,oBAAU,IAAA,EAAK;AAAA,qBAAA,IAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA;AAAA;;;;;;;;UAGnFD,kBAAA;AAAA,YAA4E,KAAA;AAAA,YAAA;AAAA,cAAtE,KAAA,EAAKF,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,iBAAA,CAAA,CAAA;AAAA,cAAsB,KAAA,EAAKC,cAAA,CAAE,IAAA,CAAA,cAAc;AAAA,aAAA;AAAA;;;;UACrD,IAAA,CAAA,mBAAA,IAAAH,SAAA,EAAA,EAAfM,YAAqD,kBAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;AAAA,YAAjB,gBAAA,EAAA;AAAA,WAAA,CAAA,IAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA;AAAA;;;;oCAf3B,QAAM;AAAA,OAAA,CAAA;AAAA,MAiBF,IAAA,CAAA,mBAAA,IAAAP,SAAA,EAAA,EAAfM,YAAoD,kBAAA,EAAA;AAAA,QAAA,GAAA,EAAA,CAAA;AAAA,QAAhB,eAAA,EAAA;AAAA,OAAA,CAAA,IAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA;AAAA;;;;;;;;;"}
|
|
@@ -2,6 +2,7 @@ import { defineComponent, ref, provide, computed, onMounted, onBeforeUnmount } f
|
|
|
2
2
|
import { VIEWPORT_REF } from '../../utils/constant.mjs';
|
|
3
3
|
import { useHScrollSyncInject } from '../../hooks/useHScrollSync.mjs';
|
|
4
4
|
import { useInjectTable } from '../context/TableContext.mjs';
|
|
5
|
+
import { useInjectContainer } from '../../hooks/useContainer.mjs';
|
|
5
6
|
import XScroll from '../Scrollbar/XScroll.mjs';
|
|
6
7
|
import HeaderRowsWrap from './HeaderRowsWrap.vue.mjs';
|
|
7
8
|
import { resize } from '../../../../../directives/resize.mjs';
|
|
@@ -21,6 +22,7 @@ var _sfc_main = defineComponent({
|
|
|
21
22
|
const headerRef = ref();
|
|
22
23
|
const viewportRef = ref();
|
|
23
24
|
const tableContext = useInjectTable();
|
|
25
|
+
const counter = useInjectContainer();
|
|
24
26
|
provide(VIEWPORT_REF, viewportRef);
|
|
25
27
|
const maxHeaderHeight = computed(() => tableContext.maxHeaderHeight.value);
|
|
26
28
|
const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject();
|
|
@@ -43,7 +45,7 @@ var _sfc_main = defineComponent({
|
|
|
43
45
|
const headerStyle = computed(() => {
|
|
44
46
|
const style = { height: `${maxHeaderHeight.value}px` };
|
|
45
47
|
if (props.sticky) {
|
|
46
|
-
style.top = `${(typeof props.sticky == "object" ? props.sticky.offsetHeader : 0) || 0}px`;
|
|
48
|
+
style.top = counter.hasFullScreen.value ? "0px" : `${(typeof props.sticky == "object" ? props.sticky.offsetHeader : 0) || 0}px`;
|
|
47
49
|
}
|
|
48
50
|
return style;
|
|
49
51
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Header/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:46:08\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType, CSSProperties } from 'vue'\nimport type { HeaderSticky } from '../interface'\n\nimport { defineComponent, ref, provide, computed, onMounted, onBeforeUnmount } from 'vue'\nimport { VIEWPORT_REF } from '../../utils/constant'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { useInjectTable } from '../context/TableContext'\nimport { resize } from '@pro-design-vue/directives'\nimport XScroll from '../Scrollbar/XScroll'\nimport HeaderRowsWrap from './HeaderRowsWrap.vue'\n\nexport default defineComponent({\n name: 'TableHeader',\n components: { XScroll, HeaderRowsWrap },\n inheritAttrs: false,\n directives: { resize },\n props: {\n prefixCls: String,\n wrapText: { type: Boolean, default: false },\n sticky: { type: [Boolean, Object] as PropType<boolean | HeaderSticky>, default: false },\n },\n emits: ['scrollLeft', 'resizeheight'],\n setup(props, { emit }) {\n const headerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const tableContext = useInjectTable()\n\n provide(VIEWPORT_REF, viewportRef)\n const maxHeaderHeight = computed(() => tableContext.maxHeaderHeight.value)\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n onMounted(() => {\n addHScrollDom(viewportRef.value!)\n })\n onBeforeUnmount(() => {\n removeHScrollDom(viewportRef.value!)\n })\n\n const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar)\n const headerClass = computed(() => ({\n [`${props.prefixCls}-header`]: true,\n [`${props.prefixCls}-sticky-header`]: props.sticky,\n [`${props.prefixCls}-show-header-scrollbar`]: showHeaderScrollbar.value,\n }))\n const viewportClass = computed(() => ({ [`${props.prefixCls}-center-viewport`]: true }))\n const viewportStyle = computed(() => ({\n height: `calc(100% + ${tableContext.showHorizontalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n }))\n\n const headerStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = { height: `${maxHeaderHeight.value}px` }\n if (props.sticky) {\n style.top = `${(typeof props.sticky == 'object' ? props.sticky.offsetHeader : 0) || 0}px`\n }\n return style\n })\n\n return {\n headerClass,\n viewportClass,\n viewportStyle,\n scrollbarStyle: computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: '0px' === barSize ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n }),\n headerStyle,\n headerRef,\n viewportRef,\n maxHeaderHeight,\n showHeaderScrollbar,\n handleHeightResize: (e: CustomEvent) => {\n emit('resizeheight', e)\n },\n }\n },\n})\n</script>\n\n<template>\n <div\n v-resize:height\n key=\"header\"\n role=\"presentation\"\n :class=\"headerClass\"\n :style=\"headerStyle\"\n @resizeheight=\"handleHeightResize\"\n >\n <div ref=\"viewportRef\" :class=\"viewportClass\" :style=\"viewportStyle\">\n <div :class=\"`${prefixCls}-header-container`\">\n <HeaderRowsWrap key=\"left\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"left\" />\n <HeaderRowsWrap key=\"center\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"center\" />\n <HeaderRowsWrap key=\"right\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"right\" />\n </div>\n </div>\n <div :class=\"`${prefixCls}-header-scrollbar`\" :style=\"scrollbarStyle\"></div>\n <XScroll v-if=\"showHeaderScrollbar\" only-auto-show />\n </div>\n <XScroll v-if=\"showHeaderScrollbar\" not-show-auto />\n</template>\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Header.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Header/Header.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:46:08\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType, CSSProperties } from 'vue'\nimport type { HeaderSticky } from '../interface'\n\nimport { defineComponent, ref, provide, computed, onMounted, onBeforeUnmount } from 'vue'\nimport { VIEWPORT_REF } from '../../utils/constant'\nimport { useHScrollSyncInject } from '../../hooks/useHScrollSync'\nimport { useInjectTable } from '../context/TableContext'\nimport { resize } from '@pro-design-vue/directives'\nimport { useInjectContainer } from '../../hooks/useContainer'\nimport XScroll from '../Scrollbar/XScroll'\nimport HeaderRowsWrap from './HeaderRowsWrap.vue'\n\nexport default defineComponent({\n name: 'TableHeader',\n components: { XScroll, HeaderRowsWrap },\n inheritAttrs: false,\n directives: { resize },\n props: {\n prefixCls: String,\n wrapText: { type: Boolean, default: false },\n sticky: { type: [Boolean, Object] as PropType<boolean | HeaderSticky>, default: false },\n },\n emits: ['scrollLeft', 'resizeheight'],\n setup(props, { emit }) {\n const headerRef = ref<HTMLDivElement>()\n const viewportRef = ref<HTMLDivElement>()\n const tableContext = useInjectTable()\n const counter = useInjectContainer()\n provide(VIEWPORT_REF, viewportRef)\n const maxHeaderHeight = computed(() => tableContext.maxHeaderHeight.value)\n const { addHScrollDom, removeHScrollDom } = useHScrollSyncInject()\n\n onMounted(() => {\n addHScrollDom(viewportRef.value!)\n })\n onBeforeUnmount(() => {\n removeHScrollDom(viewportRef.value!)\n })\n\n const showHeaderScrollbar = computed(() => tableContext.props.showHeaderScrollbar)\n const headerClass = computed(() => ({\n [`${props.prefixCls}-header`]: true,\n [`${props.prefixCls}-sticky-header`]: props.sticky,\n [`${props.prefixCls}-show-header-scrollbar`]: showHeaderScrollbar.value,\n }))\n const viewportClass = computed(() => ({ [`${props.prefixCls}-center-viewport`]: true }))\n const viewportStyle = computed(() => ({\n height: `calc(100% + ${tableContext.showHorizontalScrollbar.value ? tableContext.scrollBarSize.value || 15 : 0}px)`,\n }))\n\n const headerStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = { height: `${maxHeaderHeight.value}px` }\n if (props.sticky) {\n style.top = counter.hasFullScreen.value\n ? '0px'\n : `${(typeof props.sticky == 'object' ? props.sticky.offsetHeader : 0) || 0}px`\n }\n return style\n })\n\n return {\n headerClass,\n viewportClass,\n viewportStyle,\n scrollbarStyle: computed<CSSProperties>(() => {\n const barSize = `${tableContext.showVerticalScrollbar.value ? tableContext.scrollBarSize.value : 0}px`\n return {\n display: '0px' === barSize ? 'none' : 'block',\n width: barSize,\n minWidth: barSize,\n maxWidth: barSize,\n position: 'sticky',\n right: `-${barSize}`,\n }\n }),\n headerStyle,\n headerRef,\n viewportRef,\n maxHeaderHeight,\n showHeaderScrollbar,\n handleHeightResize: (e: CustomEvent) => {\n emit('resizeheight', e)\n },\n }\n },\n})\n</script>\n\n<template>\n <div\n v-resize:height\n key=\"header\"\n role=\"presentation\"\n :class=\"headerClass\"\n :style=\"headerStyle\"\n @resizeheight=\"handleHeightResize\"\n >\n <div ref=\"viewportRef\" :class=\"viewportClass\" :style=\"viewportStyle\">\n <div :class=\"`${prefixCls}-header-container`\">\n <HeaderRowsWrap key=\"left\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"left\" />\n <HeaderRowsWrap key=\"center\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"center\" />\n <HeaderRowsWrap key=\"right\" :prefix-cls=\"prefixCls\" :wrap-text=\"wrapText\" type=\"right\" />\n </div>\n </div>\n <div :class=\"`${prefixCls}-header-scrollbar`\" :style=\"scrollbarStyle\"></div>\n <XScroll v-if=\"showHeaderScrollbar\" only-auto-show />\n </div>\n <XScroll v-if=\"showHeaderScrollbar\" not-show-auto />\n</template>\n"],"names":[],"mappings":"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"}
|