pro-design-vue 1.0.0-rc.1 → 1.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/index.full.js +65 -50
  2. package/dist/index.full.min.js +6 -6
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +8 -8
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +66 -51
  7. package/es/components/counter/src/counter.vue.d.ts +2 -4
  8. package/es/components/counter/src/counter.vue2.mjs +2 -4
  9. package/es/components/counter/src/counter.vue2.mjs.map +1 -1
  10. package/es/components/form/src/components/FormGroup.d.ts +12 -12
  11. package/es/components/form/src/components/FormList.d.ts +12 -12
  12. package/es/components/form/src/components/FormListContainer.d.ts +12 -12
  13. package/es/components/form/src/components/FormListItem.d.ts +12 -12
  14. package/es/components/form/src/components/FormRowWrapper.d.ts +12 -12
  15. package/es/components/form/src/components/FormSet.d.ts +12 -12
  16. package/es/components/layout/src/components/layout-sidebar.vue.d.ts +5 -0
  17. package/es/components/layout/src/components/layout-sidebar.vue2.mjs +4 -3
  18. package/es/components/layout/src/components/layout-sidebar.vue2.mjs.map +1 -1
  19. package/es/components/layout/src/layout.vue.d.ts +1 -0
  20. package/es/components/layout/src/layout.vue2.mjs +3 -1
  21. package/es/components/layout/src/layout.vue2.mjs.map +1 -1
  22. package/es/components/layout/src/typing.d.ts +5 -0
  23. package/es/components/table/src/components/Body/BodyCell.mjs +10 -1
  24. package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
  25. package/es/components/table/src/components/Form/Form.d.ts +7 -7
  26. package/es/components/table/src/components/Form/Form.mjs +2 -36
  27. package/es/components/table/src/components/Form/Form.mjs.map +1 -1
  28. package/es/components/table/src/components/Table.mjs +28 -4
  29. package/es/components/table/src/components/Table.mjs.map +1 -1
  30. package/es/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
  31. package/es/components/table/src/utils/flatColumnsHandle.mjs +18 -0
  32. package/es/components/table/src/utils/flatColumnsHandle.mjs.map +1 -0
  33. package/es/index.d.ts +8 -4
  34. package/es/version.d.ts +1 -1
  35. package/es/version.mjs +1 -1
  36. package/es/version.mjs.map +1 -1
  37. package/lib/components/counter/src/counter.vue.d.ts +2 -4
  38. package/lib/components/counter/src/counter.vue2.js +2 -4
  39. package/lib/components/counter/src/counter.vue2.js.map +1 -1
  40. package/lib/components/form/src/components/FormGroup.d.ts +12 -12
  41. package/lib/components/form/src/components/FormList.d.ts +12 -12
  42. package/lib/components/form/src/components/FormListContainer.d.ts +12 -12
  43. package/lib/components/form/src/components/FormListItem.d.ts +12 -12
  44. package/lib/components/form/src/components/FormRowWrapper.d.ts +12 -12
  45. package/lib/components/form/src/components/FormSet.d.ts +12 -12
  46. package/lib/components/layout/src/components/layout-sidebar.vue.d.ts +5 -0
  47. package/lib/components/layout/src/components/layout-sidebar.vue2.js +4 -3
  48. package/lib/components/layout/src/components/layout-sidebar.vue2.js.map +1 -1
  49. package/lib/components/layout/src/layout.vue.d.ts +1 -0
  50. package/lib/components/layout/src/layout.vue2.js +3 -1
  51. package/lib/components/layout/src/layout.vue2.js.map +1 -1
  52. package/lib/components/layout/src/typing.d.ts +5 -0
  53. package/lib/components/table/src/components/Body/BodyCell.js +9 -0
  54. package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
  55. package/lib/components/table/src/components/Form/Form.d.ts +7 -7
  56. package/lib/components/table/src/components/Form/Form.js +2 -36
  57. package/lib/components/table/src/components/Form/Form.js.map +1 -1
  58. package/lib/components/table/src/components/Table.js +28 -4
  59. package/lib/components/table/src/components/Table.js.map +1 -1
  60. package/lib/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
  61. package/lib/components/table/src/utils/flatColumnsHandle.js +20 -0
  62. package/lib/components/table/src/utils/flatColumnsHandle.js.map +1 -0
  63. package/lib/index.d.ts +8 -4
  64. package/lib/version.d.ts +1 -1
  65. package/lib/version.js +1 -1
  66. package/lib/version.js.map +1 -1
  67. package/package.json +1 -1
  68. package/theme-chalk/src/index.less +1 -1
  69. package/theme-chalk/pro-table.css +0 -1
  70. package/theme-chalk/src/table.less +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"layout-sidebar.vue2.mjs","sources":["../../../../../../../packages/components/layout/src/components/layout-sidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { CSSProperties } from 'vue'\n\nimport { computed, shallowRef, useSlots, watchEffect } from 'vue'\n\nimport { useScrollLock } from '@vueuse/core'\n\nimport { SidebarCollapseButton, SidebarFixedButton } from './widgets'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\n\ninterface Props {\n /**\n * 折叠区域高度\n * @default 42\n */\n collapseHeight?: number\n /**\n * 折叠宽度\n * @default 48\n */\n collapseWidth?: number\n /**\n * 隐藏的dom是否可见\n * @default true\n */\n domVisible?: boolean\n /**\n * 扩展区域宽度\n */\n extraWidth: number\n /**\n * 固定扩展区域\n * @default false\n */\n fixedExtra?: boolean\n /**\n * 头部高度\n */\n headerHeight: number\n /**\n * 是否侧边混合模式\n * @default false\n */\n isSidebarMixed?: boolean\n /**\n * 顶部margin\n * @default 60\n */\n marginTop?: number\n /**\n * 混合菜单宽度\n * @default 80\n */\n mixedWidth?: number\n /**\n * 顶部padding\n * @default 60\n */\n paddingTop?: number\n /**\n * 是否显示\n * @default true\n */\n show?: boolean\n /**\n * 显示折叠按钮\n * @default true\n */\n showCollapseButton?: boolean\n /**\n * 显示固定按钮\n * @default true\n */\n showFixedButton?: boolean\n /**\n * 主题\n */\n theme: string\n\n /**\n * 宽度\n */\n width: number\n /**\n * zIndex\n * @default 0\n */\n zIndex?: number\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n collapseHeight: 42,\n collapseWidth: 48,\n domVisible: true,\n fixedExtra: false,\n isSidebarMixed: false,\n marginTop: 0,\n mixedWidth: 70,\n paddingTop: 0,\n show: true,\n showCollapseButton: true,\n showFixedButton: true,\n zIndex: 0,\n})\n\nconst emit = defineEmits<{ leave: [] }>()\nconst prefixCls = usePrefixCls('layout-sidebar')\nconst collapse = defineModel<boolean>('collapse')\nconst extraCollapse = defineModel<boolean>('extraCollapse')\nconst expandOnHovering = defineModel<boolean>('expandOnHovering')\nconst expandOnHover = defineModel<boolean>('expandOnHover')\nconst extraVisible = defineModel<boolean>('extraVisible')\n\nconst isLocked = useScrollLock(document.body)\nconst slots = useSlots()\n\nconst asideRef = shallowRef<HTMLDivElement | null>()\n\nconst hiddenSideStyle = computed((): CSSProperties => calcMenuWidthStyle(true))\n\nconst style = computed((): CSSProperties => {\n const { isSidebarMixed, marginTop, paddingTop, zIndex } = props\n\n return {\n ...calcMenuWidthStyle(false),\n height: `calc(100% - ${marginTop}px)`,\n marginTop: `${marginTop}px`,\n paddingTop: `${paddingTop}px`,\n zIndex,\n ...(isSidebarMixed && extraVisible.value ? { transition: 'none' } : {}),\n }\n})\n\nconst extraStyle = computed((): CSSProperties => {\n const { extraWidth, show, width, zIndex } = props\n\n return {\n left: `${width}px`,\n width: extraVisible.value && show ? `${extraWidth}px` : 0,\n zIndex,\n }\n})\n\nconst extraTitleStyle = computed((): CSSProperties => {\n const { headerHeight } = props\n\n return {\n height: `${headerHeight - 1}px`,\n }\n})\n\nconst contentWidthStyle = computed((): CSSProperties => {\n const { collapseWidth, fixedExtra, isSidebarMixed, mixedWidth } = props\n if (isSidebarMixed && fixedExtra) {\n return { width: `${collapse.value ? collapseWidth : mixedWidth}px` }\n }\n return {}\n})\n\nconst contentStyle = computed((): CSSProperties => {\n const { collapseHeight, headerHeight } = props\n\n return {\n height: `calc(100% - ${headerHeight + collapseHeight}px)`,\n paddingTop: '8px',\n ...contentWidthStyle.value,\n }\n})\n\nconst headerStyle = computed((): CSSProperties => {\n const { headerHeight, isSidebarMixed } = props\n\n return {\n ...(isSidebarMixed ? { display: 'flex', justifyContent: 'center' } : {}),\n height: `${headerHeight - 1}px`,\n ...contentWidthStyle.value,\n }\n})\n\nconst extraContentStyle = computed((): CSSProperties => {\n const { collapseHeight, headerHeight } = props\n return {\n height: `calc(100% - ${headerHeight + collapseHeight}px)`,\n }\n})\n\nconst collapseStyle = computed((): CSSProperties => {\n return {\n height: `${props.collapseHeight}px`,\n }\n})\n\nwatchEffect(() => {\n extraVisible.value = props.fixedExtra ? true : extraVisible.value\n})\n\nfunction calcMenuWidthStyle(isHiddenDom: boolean): CSSProperties {\n const { extraWidth, fixedExtra, isSidebarMixed, show, width } = props\n\n let widthValue =\n width === 0\n ? '0px'\n : `${width + (isSidebarMixed && fixedExtra && extraVisible.value ? extraWidth : 0)}px`\n\n const { collapseWidth } = props\n\n if (isHiddenDom && expandOnHovering.value && !expandOnHover.value) {\n widthValue = `${collapseWidth}px`\n }\n\n return {\n ...(widthValue === '0px' ? { overflow: 'hidden' } : {}),\n flex: `0 0 ${widthValue}`,\n marginLeft: show ? 0 : `-${widthValue}`,\n maxWidth: widthValue,\n minWidth: widthValue,\n width: widthValue,\n }\n}\n\nfunction handleMouseenter(e: MouseEvent) {\n if (e?.offsetX < 10) {\n return\n }\n\n // 未开启和未折叠状态不生效\n if (expandOnHover.value) {\n return\n }\n if (!expandOnHovering.value) {\n collapse.value = false\n }\n if (props.isSidebarMixed) {\n isLocked.value = true\n }\n expandOnHovering.value = true\n}\n\nfunction handleMouseleave() {\n emit('leave')\n if (props.isSidebarMixed) {\n isLocked.value = false\n }\n if (expandOnHover.value) {\n return\n }\n\n expandOnHovering.value = false\n collapse.value = true\n extraVisible.value = false\n}\n</script>\n\n<template>\n <div v-if=\"domVisible\" :style=\"hiddenSideStyle\" :class=\"[prefixCls, theme]\"></div>\n <aside\n :class=\"[\n prefixCls,\n `${prefixCls}--fixed`,\n theme,\n {\n [`${prefixCls}--mixed`]: isSidebarMixed,\n [`${prefixCls}--no-mixed`]: !isSidebarMixed,\n },\n ]\"\n :style=\"style\"\n @mouseenter=\"handleMouseenter\"\n @mouseleave=\"handleMouseleave\"\n >\n <SidebarFixedButton\n v-if=\"!collapse && !isSidebarMixed && showFixedButton\"\n v-model:expand-on-hover=\"expandOnHover\"\n />\n <div v-if=\"slots.logo\" :style=\"headerStyle\">\n <slot name=\"logo\"></slot>\n </div>\n <div :style=\"contentStyle\" :class=\"`${prefixCls}-content`\">\n <div :class=\"`${prefixCls}-scroll`\">\n <slot></slot>\n </div>\n </div>\n\n <div :style=\"collapseStyle\"></div>\n <SidebarCollapseButton\n v-if=\"showCollapseButton && !isSidebarMixed\"\n v-model:collapsed=\"collapse\"\n />\n <div\n v-if=\"isSidebarMixed\"\n ref=\"asideRef\"\n :class=\"{\n [`${prefixCls}-extra`]: true,\n [`${prefixCls}-extra--border`]: extraVisible,\n }\"\n :style=\"extraStyle\"\n >\n <SidebarCollapseButton\n v-if=\"isSidebarMixed && expandOnHover && showCollapseButton\"\n v-model:collapsed=\"extraCollapse\"\n />\n\n <SidebarFixedButton\n v-if=\"!extraCollapse && showFixedButton\"\n v-model:expand-on-hover=\"expandOnHover\"\n />\n <div v-if=\"!extraCollapse\" :style=\"extraTitleStyle\" :class=\"`${prefixCls}-extra-title`\">\n <slot name=\"extra-title\"></slot>\n </div>\n <div :style=\"extraContentStyle\" :class=\"`${prefixCls}-extra-content`\">\n <div :class=\"`${prefixCls}-scroll`\">\n <slot name=\"extra\"></slot>\n </div>\n </div>\n </div>\n </aside>\n</template>\n"],"names":["_useModel","domVisible","_createElementBlock","_normalizeClass","_unref","theme","_createElementVNode","isSidebarMixed","showFixedButton","_createBlock","SidebarFixedButton","_renderSlot","showCollapseButton","SidebarCollapseButton"],"mappings":"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"}
1
+ {"version":3,"file":"layout-sidebar.vue2.mjs","sources":["../../../../../../../packages/components/layout/src/components/layout-sidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { CSSProperties } from 'vue'\n\nimport { computed, shallowRef, useSlots, watchEffect } from 'vue'\n\nimport { useScrollLock } from '@vueuse/core'\n\nimport { SidebarCollapseButton, SidebarFixedButton } from './widgets'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\n\ninterface Props {\n /**\n * 折叠区域高度\n * @default 42\n */\n collapseHeight?: number\n /**\n * 折叠宽度\n * @default 48\n */\n collapseWidth?: number\n /**\n * 隐藏的dom是否可见\n * @default true\n */\n domVisible?: boolean\n /**\n * 扩展区域宽度\n */\n extraWidth: number\n /**\n * 固定扩展区域\n * @default false\n */\n fixedExtra?: boolean\n /**\n * 头部高度\n */\n headerHeight: number\n /**\n * 是否侧边混合模式\n * @default false\n */\n isSidebarMixed?: boolean\n /**\n * 顶部margin\n * @default 60\n */\n marginTop?: number\n /**\n * 混合菜单宽度\n * @default 80\n */\n mixedWidth?: number\n /**\n * 顶部padding\n * @default 60\n */\n paddingTop?: number\n /**\n * 是否显示\n * @default true\n */\n show?: boolean\n /**\n * 显示折叠按钮\n * @default true\n */\n showCollapseButton?: boolean\n /**\n * 显示固定按钮\n * @default true\n */\n showFixedButton?: boolean\n /**\n * 主题\n */\n theme: string\n\n /**\n * 宽度\n */\n width: number\n /**\n * zIndex\n * @default 0\n */\n zIndex?: number\n /**\n * 固定\n */\n fixed?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n collapseHeight: 42,\n collapseWidth: 48,\n domVisible: true,\n fixedExtra: false,\n isSidebarMixed: false,\n marginTop: 0,\n mixedWidth: 70,\n paddingTop: 0,\n show: true,\n fixed: true,\n showCollapseButton: true,\n showFixedButton: true,\n zIndex: 0,\n})\n\nconst emit = defineEmits<{ leave: [] }>()\nconst prefixCls = usePrefixCls('layout-sidebar')\nconst collapse = defineModel<boolean>('collapse')\nconst extraCollapse = defineModel<boolean>('extraCollapse')\nconst expandOnHovering = defineModel<boolean>('expandOnHovering')\nconst expandOnHover = defineModel<boolean>('expandOnHover')\nconst extraVisible = defineModel<boolean>('extraVisible')\n\nconst isLocked = useScrollLock(document.body)\nconst slots = useSlots()\n\nconst asideRef = shallowRef<HTMLDivElement | null>()\n\nconst hiddenSideStyle = computed((): CSSProperties => calcMenuWidthStyle(true))\n\nconst style = computed((): CSSProperties => {\n const { isSidebarMixed, marginTop, paddingTop, zIndex } = props\n\n return {\n ...calcMenuWidthStyle(false),\n height: `calc(100% - ${marginTop}px)`,\n marginTop: `${marginTop}px`,\n paddingTop: `${paddingTop}px`,\n zIndex,\n ...(isSidebarMixed && extraVisible.value ? { transition: 'none' } : {}),\n }\n})\n\nconst extraStyle = computed((): CSSProperties => {\n const { extraWidth, show, width, zIndex } = props\n\n return {\n left: `${width}px`,\n width: extraVisible.value && show ? `${extraWidth}px` : 0,\n zIndex,\n }\n})\n\nconst extraTitleStyle = computed((): CSSProperties => {\n const { headerHeight } = props\n\n return {\n height: `${headerHeight - 1}px`,\n }\n})\n\nconst contentWidthStyle = computed((): CSSProperties => {\n const { collapseWidth, fixedExtra, isSidebarMixed, mixedWidth } = props\n if (isSidebarMixed && fixedExtra) {\n return { width: `${collapse.value ? collapseWidth : mixedWidth}px` }\n }\n return {}\n})\n\nconst contentStyle = computed((): CSSProperties => {\n const { collapseHeight, headerHeight } = props\n\n return {\n height: `calc(100% - ${headerHeight + collapseHeight}px)`,\n paddingTop: '8px',\n ...contentWidthStyle.value,\n }\n})\n\nconst headerStyle = computed((): CSSProperties => {\n const { headerHeight, isSidebarMixed } = props\n\n return {\n ...(isSidebarMixed ? { display: 'flex', justifyContent: 'center' } : {}),\n height: `${headerHeight - 1}px`,\n ...contentWidthStyle.value,\n }\n})\n\nconst extraContentStyle = computed((): CSSProperties => {\n const { collapseHeight, headerHeight } = props\n return {\n height: `calc(100% - ${headerHeight + collapseHeight}px)`,\n }\n})\n\nconst collapseStyle = computed((): CSSProperties => {\n return {\n height: `${props.collapseHeight}px`,\n }\n})\n\nwatchEffect(() => {\n extraVisible.value = props.fixedExtra ? true : extraVisible.value\n})\n\nfunction calcMenuWidthStyle(isHiddenDom: boolean): CSSProperties {\n const { extraWidth, fixedExtra, isSidebarMixed, show, width } = props\n\n let widthValue =\n width === 0\n ? '0px'\n : `${width + (isSidebarMixed && fixedExtra && extraVisible.value ? extraWidth : 0)}px`\n\n const { collapseWidth } = props\n\n if (isHiddenDom && expandOnHovering.value && !expandOnHover.value) {\n widthValue = `${collapseWidth}px`\n }\n\n return {\n ...(widthValue === '0px' ? { overflow: 'hidden' } : {}),\n flex: `0 0 ${widthValue}`,\n marginLeft: show ? 0 : `-${widthValue}`,\n maxWidth: widthValue,\n minWidth: widthValue,\n width: widthValue,\n }\n}\n\nfunction handleMouseenter(e: MouseEvent) {\n if (e?.offsetX < 10) {\n return\n }\n\n // 未开启和未折叠状态不生效\n if (expandOnHover.value) {\n return\n }\n if (!expandOnHovering.value) {\n collapse.value = false\n }\n if (props.isSidebarMixed) {\n isLocked.value = true\n }\n expandOnHovering.value = true\n}\n\nfunction handleMouseleave() {\n emit('leave')\n if (props.isSidebarMixed) {\n isLocked.value = false\n }\n if (expandOnHover.value) {\n return\n }\n\n expandOnHovering.value = false\n collapse.value = true\n extraVisible.value = false\n}\n</script>\n\n<template>\n <div v-if=\"domVisible && fixed\" :style=\"hiddenSideStyle\" :class=\"[prefixCls, theme]\"></div>\n <aside\n :class=\"[\n prefixCls,\n theme,\n {\n [`${prefixCls}--fixed`]: fixed,\n [`${prefixCls}--mixed`]: isSidebarMixed,\n [`${prefixCls}--no-mixed`]: !isSidebarMixed,\n },\n ]\"\n :style=\"style\"\n @mouseenter=\"handleMouseenter\"\n @mouseleave=\"handleMouseleave\"\n >\n <SidebarFixedButton\n v-if=\"!collapse && !isSidebarMixed && showFixedButton\"\n v-model:expand-on-hover=\"expandOnHover\"\n />\n <div v-if=\"slots.logo\" :style=\"headerStyle\">\n <slot name=\"logo\"></slot>\n </div>\n <div :style=\"contentStyle\" :class=\"`${prefixCls}-content`\">\n <div :class=\"`${prefixCls}-scroll`\">\n <slot></slot>\n </div>\n </div>\n\n <div :style=\"collapseStyle\"></div>\n <SidebarCollapseButton\n v-if=\"showCollapseButton && !isSidebarMixed\"\n v-model:collapsed=\"collapse\"\n />\n <div\n v-if=\"isSidebarMixed\"\n ref=\"asideRef\"\n :class=\"{\n [`${prefixCls}-extra`]: true,\n [`${prefixCls}-extra--border`]: extraVisible,\n }\"\n :style=\"extraStyle\"\n >\n <SidebarCollapseButton\n v-if=\"isSidebarMixed && expandOnHover && showCollapseButton\"\n v-model:collapsed=\"extraCollapse\"\n />\n\n <SidebarFixedButton\n v-if=\"!extraCollapse && showFixedButton\"\n v-model:expand-on-hover=\"expandOnHover\"\n />\n <div v-if=\"!extraCollapse\" :style=\"extraTitleStyle\" :class=\"`${prefixCls}-extra-title`\">\n <slot name=\"extra-title\"></slot>\n </div>\n <div :style=\"extraContentStyle\" :class=\"`${prefixCls}-extra-content`\">\n <div :class=\"`${prefixCls}-scroll`\">\n <slot name=\"extra\"></slot>\n </div>\n </div>\n </div>\n </aside>\n</template>\n"],"names":["_useModel","domVisible","fixed","_createElementBlock","_normalizeClass","_unref","theme","_createElementVNode","isSidebarMixed","showFixedButton","_createBlock","SidebarFixedButton","_renderSlot","showCollapseButton","SidebarCollapseButton"],"mappings":"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"}
@@ -79,6 +79,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
79
79
  sidebarMixedWidth: number;
80
80
  sidebarTheme: import("pro-design-vue").ThemeModeType;
81
81
  sideCollapseWidth: number;
82
+ sidebarFixed: boolean;
82
83
  tabbarEnable: boolean;
83
84
  tabbarHeight: number;
84
85
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -49,6 +49,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
49
49
  sidebarTheme: { type: String, required: false, default: "light" },
50
50
  sidebarWidth: { type: Number, required: false, default: 200 },
51
51
  sideCollapseWidth: { type: Number, required: false, default: 60 },
52
+ sidebarFixed: { type: Boolean, required: false, default: true },
52
53
  tabbarEnable: { type: Boolean, required: false, default: true },
53
54
  tabbarHeight: { type: Number, required: false, default: 40 },
54
55
  zIndex: { type: Number, required: false, default: 200 }
@@ -384,6 +385,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
384
385
  "margin-top": sidebarMarginTop.value,
385
386
  "mixed-width": _ctx.sidebarMixedWidth,
386
387
  show: showSidebar.value,
388
+ fixed: _ctx.sidebarFixed,
387
389
  theme: _ctx.sidebarTheme,
388
390
  width: getSidebarWidth.value,
389
391
  "z-index": sidebarZIndex.value,
@@ -408,7 +410,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
408
410
  ]),
409
411
  key: "0"
410
412
  } : void 0
411
- ]), 1032, ["collapse", "expand-on-hover", "expand-on-hovering", "extra-collapse", "extra-visible", "show-collapse-button", "show-fixed-button", "collapse-width", "dom-visible", "extra-width", "fixed-extra", "header-height", "is-sidebar-mixed", "margin-top", "mixed-width", "show", "theme", "width", "z-index"])) : createCommentVNode("v-if", true),
413
+ ]), 1032, ["collapse", "expand-on-hover", "expand-on-hovering", "extra-collapse", "extra-visible", "show-collapse-button", "show-fixed-button", "collapse-width", "dom-visible", "extra-width", "fixed-extra", "header-height", "is-sidebar-mixed", "margin-top", "mixed-width", "show", "fixed", "theme", "width", "z-index"])) : createCommentVNode("v-if", true),
412
414
  createElementVNode(
413
415
  "div",
414
416
  {
@@ -1 +1 @@
1
- {"version":3,"file":"layout.vue2.mjs","sources":["../../../../../../packages/components/layout/src/layout.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-11 09:22:42\n * @LastEditors: shen\n * @LastEditTime: 2025-09-05 13:45:32\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { CSSProperties } from 'vue'\nimport type { ProLayoutProps } from './typing'\n\nimport { computed, ref, watch, h } from 'vue'\nimport { useLayoutFooterStyle, useLayoutHeaderStyle } from './hooks/use-layout-style'\nimport { Button } from 'ant-design-vue'\nimport { ELEMENT_ID_MAIN_CONTENT, SCROLL_FIXED_CLASS } from '@pro-design-vue/constants'\nimport { MenuIcon } from './components/icons'\n\nimport { useMouse, useScroll, useThrottleFn } from '@vueuse/core'\n\nimport {\n LayoutContent,\n LayoutFooter,\n LayoutHeader,\n LayoutSidebar,\n LayoutTabbar,\n} from './components'\nimport { useLayout } from './hooks/use-layout'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { useProLayoutProvide } from './context'\nimport { useProConfigInject } from '../../config-provider'\n\ninterface Props extends ProLayoutProps {}\n\ndefineOptions({\n name: 'ProLayout',\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n contentCompact: 'wide',\n contentCompactWidth: 1200,\n contentPadding: 0,\n contentPaddingBottom: 0,\n contentPaddingLeft: 0,\n contentPaddingRight: 0,\n contentPaddingTop: 0,\n footerEnable: false,\n footerFixed: true,\n footerHeight: 32,\n headerHeight: 50,\n headerHidden: false,\n headerMode: 'fixed',\n headerToggleSidebarButton: true,\n headerVisible: true,\n isMobile: false,\n layout: 'sidebar-nav',\n sidebarCollapsedButton: true,\n sidebarCollapseShowTitle: false,\n sidebarExtraCollapsedWidth: 60,\n sidebarFixedButton: true,\n sidebarHidden: false,\n sidebarMixedWidth: 80,\n sidebarTheme: 'light',\n sidebarWidth: 200,\n sideCollapseWidth: 60,\n tabbarEnable: true,\n tabbarHeight: 40,\n zIndex: 200,\n})\n\nconst emit = defineEmits<{ sideMouseLeave: []; toggleSidebar: [] }>()\n\nconst prefixCls = usePrefixCls('layout')\nconst sidebarCollapse = defineModel<boolean>('sidebarCollapse', {\n default: false,\n})\nconst sidebarExtraVisible = defineModel<boolean>('sidebarExtraVisible')\nconst sidebarExtraCollapse = defineModel<boolean>('sidebarExtraCollapse', {\n default: false,\n})\nconst sidebarExpandOnHover = defineModel<boolean>('sidebarExpandOnHover', {\n default: true,\n})\nconst sidebarEnable = defineModel<boolean>('sidebarEnable', { default: true })\n\n// side是否处于hover状态展开菜单中\nconst sidebarExpandOnHovering = ref(false)\nconst headerIsHidden = ref(false)\nconst contentRef = ref()\n\nconst { arrivedState, directions, isScrolling, y: scrollY } = useScroll(contentRef)\n\nconst { setLayoutHeaderHeight } = useLayoutHeaderStyle()\nconst { setLayoutFooterHeight } = useLayoutFooterStyle()\n\nconst { y: mouseY } = useMouse({ target: contentRef, type: 'client' })\n\nconst {\n currentLayout,\n isFullContent,\n isHeaderMixedNav,\n isHeaderNav,\n isMixedNav,\n isSidebarMixedNav,\n} = useLayout(props)\n\n/**\n * 顶栏是否自动隐藏\n */\nconst isHeaderAutoMode = computed(() => props.headerMode === 'auto')\n\nconst headerWrapperHeight = computed(() => {\n let height = 0\n if (props.headerVisible && !props.headerHidden) {\n height += props.headerHeight\n }\n if (props.tabbarEnable) {\n height += props.tabbarHeight\n }\n return height\n})\n\nconst getSideCollapseWidth = computed(() => {\n const { sidebarCollapseShowTitle, sidebarMixedWidth, sideCollapseWidth } = props\n\n return sidebarCollapseShowTitle || isSidebarMixedNav.value || isHeaderMixedNav.value\n ? sidebarMixedWidth\n : sideCollapseWidth\n})\n\n/**\n * 动态获取侧边区域是否可见\n */\nconst sidebarEnableState = computed(() => {\n return !isHeaderNav.value && sidebarEnable.value\n})\n\n/**\n * 侧边区域离顶部高度\n */\nconst sidebarMarginTop = computed(() => {\n const { headerHeight, isMobile } = props\n return isMixedNav.value && !isMobile ? headerHeight : 0\n})\n\n/**\n * 动态获取侧边宽度\n */\nconst getSidebarWidth = computed(() => {\n const { isMobile, sidebarHidden, sidebarMixedWidth, sidebarWidth } = props\n let width = 0\n\n if (sidebarHidden) {\n return width\n }\n\n if (\n !sidebarEnableState.value ||\n (sidebarHidden && !isSidebarMixedNav.value && !isMixedNav.value && !isHeaderMixedNav.value)\n ) {\n return width\n }\n\n if ((isHeaderMixedNav.value || isSidebarMixedNav.value) && !isMobile) {\n width = sidebarMixedWidth\n } else if (sidebarCollapse.value) {\n width = isMobile ? 0 : getSideCollapseWidth.value\n } else {\n width = sidebarWidth\n }\n return width\n})\n\n/**\n * 获取扩展区域宽度\n */\nconst sidebarExtraWidth = computed(() => {\n const { sidebarExtraCollapsedWidth, sidebarWidth } = props\n\n return sidebarExtraCollapse.value ? sidebarExtraCollapsedWidth : sidebarWidth\n})\n\n/**\n * 是否侧边栏模式,包含混合侧边\n */\nconst isSideMode = computed(\n () =>\n currentLayout.value === 'mixed-nav' ||\n currentLayout.value === 'sidebar-mixed-nav' ||\n currentLayout.value === 'sidebar-nav' ||\n currentLayout.value === 'header-mixed-nav' ||\n currentLayout.value === 'header-sidebar-nav',\n)\n\n/**\n * header fixed值\n */\nconst headerFixed = computed(() => {\n const { headerMode } = props\n return (\n isMixedNav.value ||\n headerMode === 'fixed' ||\n headerMode === 'auto-scroll' ||\n headerMode === 'auto'\n )\n})\n\nconst showSidebar = computed(() => {\n return isSideMode.value && sidebarEnable.value && !props.sidebarHidden\n})\n\n/**\n * 遮罩可见性\n */\nconst maskVisible = computed(() => !sidebarCollapse.value && props.isMobile)\n\nconst mainStyle = computed(() => {\n let width = '100%'\n let sidebarAndExtraWidth = 'unset'\n if (\n headerFixed.value &&\n currentLayout.value !== 'header-nav' &&\n currentLayout.value !== 'mixed-nav' &&\n currentLayout.value !== 'header-sidebar-nav' &&\n showSidebar.value &&\n !props.isMobile\n ) {\n // fixed模式下生效\n const isSideNavEffective =\n (isSidebarMixedNav.value || isHeaderMixedNav.value) &&\n sidebarExpandOnHover.value &&\n sidebarExtraVisible.value\n\n if (isSideNavEffective) {\n const sideCollapseWidth = sidebarCollapse.value\n ? getSideCollapseWidth.value\n : props.sidebarMixedWidth\n const sideWidth = sidebarExtraCollapse.value\n ? props.sidebarExtraCollapsedWidth\n : props.sidebarWidth\n\n // 100% - 侧边菜单混合宽度 - 菜单宽度\n sidebarAndExtraWidth = `${sideCollapseWidth + sideWidth}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n } else {\n sidebarAndExtraWidth =\n sidebarExpandOnHovering.value && !sidebarExpandOnHover.value\n ? `${getSideCollapseWidth.value}px`\n : `${getSidebarWidth.value}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n }\n }\n return {\n sidebarAndExtraWidth,\n width,\n }\n})\n\n// 计算 tabbar 的样式\nconst tabbarStyle = computed((): CSSProperties => {\n let width = ''\n let marginLeft = 0\n\n // 如果不是混合导航,tabbar 的宽度为 100%\n if (!isMixedNav.value || props.sidebarHidden) {\n width = '100%'\n } else if (sidebarEnable.value) {\n // 鼠标在侧边栏上时,且侧边栏展开时的宽度\n const onHoveringWidth = sidebarExpandOnHover.value\n ? props.sidebarWidth\n : getSideCollapseWidth.value\n\n // 设置 marginLeft,根据侧边栏是否折叠来决定\n marginLeft = sidebarCollapse.value ? getSideCollapseWidth.value : onHoveringWidth\n\n // 设置 tabbar 的宽度,计算方式为 100% 减去侧边栏的宽度\n width = `calc(100% - ${sidebarCollapse.value ? getSidebarWidth.value : onHoveringWidth}px)`\n } else {\n // 默认情况下,tabbar 的宽度为 100%\n width = '100%'\n }\n\n return {\n marginLeft: `${marginLeft}px`,\n width,\n }\n})\n\nconst contentOffsetTop = computed(() => {\n const fixed = headerFixed.value\n return fixed &&\n !isFullContent.value &&\n !headerIsHidden.value &&\n (!isHeaderAutoMode.value || scrollY.value < headerWrapperHeight.value)\n ? headerWrapperHeight.value\n : 0\n})\n\nconst contentStyle = computed((): CSSProperties => {\n const { footerEnable, footerFixed, footerHeight } = props\n return {\n marginTop: `${contentOffsetTop.value}px`,\n paddingBottom: `${footerEnable && footerFixed ? footerHeight : 0}px`,\n }\n})\n\nconst headerZIndex = computed(() => {\n const { zIndex } = props\n const offset = isMixedNav.value ? 1 : 0\n return zIndex + offset\n})\n\nconst layoutStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n if (fixed) {\n return {\n overflow: 'hidden',\n height: '100%',\n }\n }\n return {\n minHeight: '100%',\n }\n})\n\nconst wrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n overflow: fixed ? 'auto' : 'hidden',\n }\n})\n\nconst headerWrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n height: isFullContent.value ? '0' : `${headerWrapperHeight.value}px`,\n left: isMixedNav.value ? 0 : mainStyle.value.sidebarAndExtraWidth,\n position: fixed ? 'fixed' : 'static',\n top: headerIsHidden.value || isFullContent.value ? `-${headerWrapperHeight.value}px` : 0,\n width: mainStyle.value.width,\n 'z-index': headerZIndex.value,\n }\n})\n\n/**\n * 侧边栏z-index\n */\nconst sidebarZIndex = computed(() => {\n const { isMobile, zIndex } = props\n let offset = isMobile || isSideMode.value ? 1 : -1\n\n if (isMixedNav.value) {\n offset += 1\n }\n\n return zIndex + offset\n})\n\nconst footerWidth = computed(() => {\n if (!props.footerFixed) {\n return '100%'\n }\n\n return mainStyle.value.width\n})\n\nconst maskStyle = computed((): CSSProperties => {\n return { zIndex: props.zIndex }\n})\n\nconst showHeaderToggleButton = computed(() => {\n return (\n props.isMobile ||\n (props.headerToggleSidebarButton &&\n isSideMode.value &&\n !isSidebarMixedNav.value &&\n !isMixedNav.value &&\n !props.isMobile)\n )\n})\n\nconst showHeaderLogo = computed(() => {\n return !isSideMode.value || isMixedNav.value || props.isMobile\n})\n\nwatch(\n () => props.isMobile,\n (val) => {\n if (val) {\n sidebarCollapse.value = true\n }\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n [() => headerWrapperHeight.value, () => isFullContent.value],\n ([height]) => {\n setLayoutHeaderHeight(isFullContent.value ? 0 : height)\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n () => props.footerHeight,\n (height: number) => {\n setLayoutFooterHeight(height)\n },\n {\n immediate: true,\n },\n)\n\nconst mouseMove = () => {\n mouseY.value > headerWrapperHeight.value\n ? (headerIsHidden.value = true)\n : (headerIsHidden.value = false)\n}\nwatch(\n [() => props.headerMode, () => mouseY.value],\n () => {\n if (!isHeaderAutoMode.value || isMixedNav.value || isFullContent.value) {\n if (props.headerMode !== 'auto-scroll') {\n headerIsHidden.value = false\n }\n return\n }\n headerIsHidden.value = true\n mouseMove()\n },\n {\n immediate: true,\n },\n)\n\nconst checkHeaderIsHidden = useThrottleFn((top, bottom, topArrived) => {\n if (scrollY.value < headerWrapperHeight.value) {\n headerIsHidden.value = false\n return\n }\n if (topArrived) {\n headerIsHidden.value = false\n return\n }\n\n if (top) {\n headerIsHidden.value = false\n } else if (bottom) {\n headerIsHidden.value = true\n }\n}, 300)\n\nwatch(\n () => scrollY.value,\n () => {\n if (props.headerMode !== 'auto-scroll' || isMixedNav.value || isFullContent.value) {\n return\n }\n if (isScrolling.value) {\n checkHeaderIsHidden(directions.top, directions.bottom, arrivedState.top)\n }\n },\n)\n\nconst { setContentOffsetTop } = useProConfigInject()\nwatch(\n () => contentOffsetTop.value,\n (newValue) => {\n setContentOffsetTop?.(newValue)\n },\n {\n immediate: true,\n },\n)\n\nfunction handleClickMask() {\n sidebarCollapse.value = true\n}\n\nfunction handleHeaderToggle() {\n if (props.isMobile) {\n sidebarCollapse.value = false\n } else {\n emit('toggleSidebar')\n }\n}\n\nconst idMainContent = ELEMENT_ID_MAIN_CONTENT\n\nuseProLayoutProvide({\n contentOffsetTop,\n})\n</script>\n\n<template>\n <div :class=\"prefixCls\" :style=\"layoutStyle\">\n <LayoutSidebar\n v-if=\"sidebarEnableState\"\n v-model:collapse=\"sidebarCollapse\"\n v-model:expand-on-hover=\"sidebarExpandOnHover\"\n v-model:expand-on-hovering=\"sidebarExpandOnHovering\"\n v-model:extra-collapse=\"sidebarExtraCollapse\"\n v-model:extra-visible=\"sidebarExtraVisible\"\n :show-collapse-button=\"sidebarCollapsedButton\"\n :show-fixed-button=\"sidebarFixedButton\"\n :collapse-width=\"getSideCollapseWidth\"\n :dom-visible=\"!isMobile\"\n :extra-width=\"sidebarExtraWidth\"\n :fixed-extra=\"sidebarExpandOnHover\"\n :header-height=\"isMixedNav ? 0 : headerHeight\"\n :is-sidebar-mixed=\"isSidebarMixedNav || isHeaderMixedNav\"\n :margin-top=\"sidebarMarginTop\"\n :mixed-width=\"sidebarMixedWidth\"\n :show=\"showSidebar\"\n :theme=\"sidebarTheme\"\n :width=\"getSidebarWidth\"\n :z-index=\"sidebarZIndex\"\n @leave=\"() => emit('sideMouseLeave')\"\n >\n <template v-if=\"isSideMode && !isMixedNav\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template v-if=\"isSidebarMixedNav || isHeaderMixedNav\">\n <slot name=\"mixed-menu\"></slot>\n </template>\n <template v-else>\n <slot name=\"menu\"></slot>\n </template>\n\n <template #extra>\n <slot name=\"side-extra\"></slot>\n </template>\n <template #extra-title>\n <slot name=\"side-extra-title\"></slot>\n </template>\n </LayoutSidebar>\n <div ref=\"contentRef\" :class=\"`${prefixCls}-wrapper`\" :style=\"wrapperStyle\">\n <div\n :class=\"[\n `${prefixCls}-header-wrapper`,\n {\n [`${prefixCls}-header-wrapper--shadow`]: scrollY > 20,\n },\n SCROLL_FIXED_CLASS,\n ]\"\n :style=\"headerWrapperStyle\"\n >\n <LayoutHeader\n v-if=\"headerVisible\"\n :full-width=\"!isSideMode\"\n :height=\"headerHeight\"\n :is-mobile=\"isMobile\"\n :show=\"!isFullContent && !headerHidden\"\n :sidebar-width=\"sidebarWidth\"\n :theme=\"headerTheme\"\n :width=\"mainStyle.width\"\n :z-index=\"headerZIndex\"\n >\n <template v-if=\"showHeaderLogo\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template #toggle-button>\n <Button\n v-if=\"showHeaderToggleButton\"\n type=\"text\"\n shape=\"circle\"\n style=\"margin-right: 4px; font-size: 14px; color: hsl(var(--pro-foreground))\"\n :icon=\"h(MenuIcon)\"\n @click=\"handleHeaderToggle\"\n />\n </template>\n <slot name=\"header\"></slot>\n </LayoutHeader>\n <LayoutTabbar v-if=\"tabbarEnable\" :height=\"tabbarHeight\" :style=\"tabbarStyle\">\n <slot name=\"tabbar\"></slot>\n </LayoutTabbar>\n </div>\n <LayoutContent\n :id=\"idMainContent\"\n :content-compact=\"contentCompact\"\n :content-compact-width=\"contentCompactWidth\"\n :padding=\"contentPadding\"\n :padding-bottom=\"contentPaddingBottom\"\n :padding-left=\"contentPaddingLeft\"\n :padding-right=\"contentPaddingRight\"\n :padding-top=\"contentPaddingTop\"\n :style=\"contentStyle\"\n >\n <slot name=\"content\"></slot>\n\n <template #overlay>\n <slot name=\"content-overlay\"></slot>\n </template>\n </LayoutContent>\n <LayoutFooter\n v-if=\"footerEnable\"\n :fixed=\"footerFixed\"\n :height=\"footerHeight\"\n :show=\"!isFullContent\"\n :width=\"footerWidth\"\n :z-index=\"zIndex\"\n >\n <slot name=\"footer\"></slot>\n </LayoutFooter>\n </div>\n <slot name=\"extra\"></slot>\n <div\n v-if=\"maskVisible\"\n :style=\"maskStyle\"\n :class=\"`${prefixCls}-mask`\"\n @click=\"handleClickMask\"\n ></div>\n </div>\n</template>\n"],"names":["_useModel","_createElementBlock","_unref","_createBlock","LayoutSidebar","sidebarCollapsedButton","sidebarFixedButton","isMobile","headerHeight","sidebarMixedWidth","sidebarTheme","_renderSlot","_createElementVNode","_normalizeClass","headerVisible","LayoutHeader","headerHidden","sidebarWidth","headerTheme","MenuIcon","tabbarEnable","LayoutTabbar","tabbarHeight","_createVNode","LayoutContent","contentCompact","contentCompactWidth","contentPadding","contentPaddingBottom","contentPaddingLeft","contentPaddingRight","contentPaddingTop","footerEnable","LayoutFooter","footerFixed","footerHeight","zIndex"],"mappings":"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"}
1
+ {"version":3,"file":"layout.vue2.mjs","sources":["../../../../../../packages/components/layout/src/layout.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-11 09:22:42\n * @LastEditors: shen\n * @LastEditTime: 2025-09-14 09:38:43\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { CSSProperties } from 'vue'\nimport type { ProLayoutProps } from './typing'\n\nimport { computed, ref, watch, h } from 'vue'\nimport { useLayoutFooterStyle, useLayoutHeaderStyle } from './hooks/use-layout-style'\nimport { Button } from 'ant-design-vue'\nimport { ELEMENT_ID_MAIN_CONTENT, SCROLL_FIXED_CLASS } from '@pro-design-vue/constants'\nimport { MenuIcon } from './components/icons'\n\nimport { useMouse, useScroll, useThrottleFn } from '@vueuse/core'\n\nimport {\n LayoutContent,\n LayoutFooter,\n LayoutHeader,\n LayoutSidebar,\n LayoutTabbar,\n} from './components'\nimport { useLayout } from './hooks/use-layout'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { useProLayoutProvide } from './context'\nimport { useProConfigInject } from '../../config-provider'\n\ninterface Props extends ProLayoutProps {}\n\ndefineOptions({\n name: 'ProLayout',\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n contentCompact: 'wide',\n contentCompactWidth: 1200,\n contentPadding: 0,\n contentPaddingBottom: 0,\n contentPaddingLeft: 0,\n contentPaddingRight: 0,\n contentPaddingTop: 0,\n footerEnable: false,\n footerFixed: true,\n footerHeight: 32,\n headerHeight: 50,\n headerHidden: false,\n headerMode: 'fixed',\n headerToggleSidebarButton: true,\n headerVisible: true,\n isMobile: false,\n layout: 'sidebar-nav',\n sidebarCollapsedButton: true,\n sidebarCollapseShowTitle: false,\n sidebarExtraCollapsedWidth: 60,\n sidebarFixedButton: true,\n sidebarHidden: false,\n sidebarMixedWidth: 80,\n sidebarTheme: 'light',\n sidebarWidth: 200,\n sideCollapseWidth: 60,\n sidebarFixed: true,\n tabbarEnable: true,\n tabbarHeight: 40,\n zIndex: 200,\n})\n\nconst emit = defineEmits<{ sideMouseLeave: []; toggleSidebar: [] }>()\n\nconst prefixCls = usePrefixCls('layout')\nconst sidebarCollapse = defineModel<boolean>('sidebarCollapse', {\n default: false,\n})\nconst sidebarExtraVisible = defineModel<boolean>('sidebarExtraVisible')\nconst sidebarExtraCollapse = defineModel<boolean>('sidebarExtraCollapse', {\n default: false,\n})\nconst sidebarExpandOnHover = defineModel<boolean>('sidebarExpandOnHover', {\n default: true,\n})\nconst sidebarEnable = defineModel<boolean>('sidebarEnable', { default: true })\n\n// side是否处于hover状态展开菜单中\nconst sidebarExpandOnHovering = ref(false)\nconst headerIsHidden = ref(false)\nconst contentRef = ref()\n\nconst { arrivedState, directions, isScrolling, y: scrollY } = useScroll(contentRef)\n\nconst { setLayoutHeaderHeight } = useLayoutHeaderStyle()\nconst { setLayoutFooterHeight } = useLayoutFooterStyle()\n\nconst { y: mouseY } = useMouse({ target: contentRef, type: 'client' })\n\nconst {\n currentLayout,\n isFullContent,\n isHeaderMixedNav,\n isHeaderNav,\n isMixedNav,\n isSidebarMixedNav,\n} = useLayout(props)\n\n/**\n * 顶栏是否自动隐藏\n */\nconst isHeaderAutoMode = computed(() => props.headerMode === 'auto')\n\nconst headerWrapperHeight = computed(() => {\n let height = 0\n if (props.headerVisible && !props.headerHidden) {\n height += props.headerHeight\n }\n if (props.tabbarEnable) {\n height += props.tabbarHeight\n }\n return height\n})\n\nconst getSideCollapseWidth = computed(() => {\n const { sidebarCollapseShowTitle, sidebarMixedWidth, sideCollapseWidth } = props\n\n return sidebarCollapseShowTitle || isSidebarMixedNav.value || isHeaderMixedNav.value\n ? sidebarMixedWidth\n : sideCollapseWidth\n})\n\n/**\n * 动态获取侧边区域是否可见\n */\nconst sidebarEnableState = computed(() => {\n return !isHeaderNav.value && sidebarEnable.value\n})\n\n/**\n * 侧边区域离顶部高度\n */\nconst sidebarMarginTop = computed(() => {\n const { headerHeight, isMobile } = props\n return isMixedNav.value && !isMobile ? headerHeight : 0\n})\n\n/**\n * 动态获取侧边宽度\n */\nconst getSidebarWidth = computed(() => {\n const { isMobile, sidebarHidden, sidebarMixedWidth, sidebarWidth } = props\n let width = 0\n\n if (sidebarHidden) {\n return width\n }\n\n if (\n !sidebarEnableState.value ||\n (sidebarHidden && !isSidebarMixedNav.value && !isMixedNav.value && !isHeaderMixedNav.value)\n ) {\n return width\n }\n\n if ((isHeaderMixedNav.value || isSidebarMixedNav.value) && !isMobile) {\n width = sidebarMixedWidth\n } else if (sidebarCollapse.value) {\n width = isMobile ? 0 : getSideCollapseWidth.value\n } else {\n width = sidebarWidth\n }\n return width\n})\n\n/**\n * 获取扩展区域宽度\n */\nconst sidebarExtraWidth = computed(() => {\n const { sidebarExtraCollapsedWidth, sidebarWidth } = props\n\n return sidebarExtraCollapse.value ? sidebarExtraCollapsedWidth : sidebarWidth\n})\n\n/**\n * 是否侧边栏模式,包含混合侧边\n */\nconst isSideMode = computed(\n () =>\n currentLayout.value === 'mixed-nav' ||\n currentLayout.value === 'sidebar-mixed-nav' ||\n currentLayout.value === 'sidebar-nav' ||\n currentLayout.value === 'header-mixed-nav' ||\n currentLayout.value === 'header-sidebar-nav',\n)\n\n/**\n * header fixed值\n */\nconst headerFixed = computed(() => {\n const { headerMode } = props\n return (\n isMixedNav.value ||\n headerMode === 'fixed' ||\n headerMode === 'auto-scroll' ||\n headerMode === 'auto'\n )\n})\n\nconst showSidebar = computed(() => {\n return isSideMode.value && sidebarEnable.value && !props.sidebarHidden\n})\n\n/**\n * 遮罩可见性\n */\nconst maskVisible = computed(() => !sidebarCollapse.value && props.isMobile)\n\nconst mainStyle = computed(() => {\n let width = '100%'\n let sidebarAndExtraWidth = 'unset'\n if (\n headerFixed.value &&\n currentLayout.value !== 'header-nav' &&\n currentLayout.value !== 'mixed-nav' &&\n currentLayout.value !== 'header-sidebar-nav' &&\n showSidebar.value &&\n !props.isMobile\n ) {\n // fixed模式下生效\n const isSideNavEffective =\n (isSidebarMixedNav.value || isHeaderMixedNav.value) &&\n sidebarExpandOnHover.value &&\n sidebarExtraVisible.value\n\n if (isSideNavEffective) {\n const sideCollapseWidth = sidebarCollapse.value\n ? getSideCollapseWidth.value\n : props.sidebarMixedWidth\n const sideWidth = sidebarExtraCollapse.value\n ? props.sidebarExtraCollapsedWidth\n : props.sidebarWidth\n\n // 100% - 侧边菜单混合宽度 - 菜单宽度\n sidebarAndExtraWidth = `${sideCollapseWidth + sideWidth}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n } else {\n sidebarAndExtraWidth =\n sidebarExpandOnHovering.value && !sidebarExpandOnHover.value\n ? `${getSideCollapseWidth.value}px`\n : `${getSidebarWidth.value}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n }\n }\n return {\n sidebarAndExtraWidth,\n width,\n }\n})\n\n// 计算 tabbar 的样式\nconst tabbarStyle = computed((): CSSProperties => {\n let width = ''\n let marginLeft = 0\n\n // 如果不是混合导航,tabbar 的宽度为 100%\n if (!isMixedNav.value || props.sidebarHidden) {\n width = '100%'\n } else if (sidebarEnable.value) {\n // 鼠标在侧边栏上时,且侧边栏展开时的宽度\n const onHoveringWidth = sidebarExpandOnHover.value\n ? props.sidebarWidth\n : getSideCollapseWidth.value\n\n // 设置 marginLeft,根据侧边栏是否折叠来决定\n marginLeft = sidebarCollapse.value ? getSideCollapseWidth.value : onHoveringWidth\n\n // 设置 tabbar 的宽度,计算方式为 100% 减去侧边栏的宽度\n width = `calc(100% - ${sidebarCollapse.value ? getSidebarWidth.value : onHoveringWidth}px)`\n } else {\n // 默认情况下,tabbar 的宽度为 100%\n width = '100%'\n }\n\n return {\n marginLeft: `${marginLeft}px`,\n width,\n }\n})\n\nconst contentOffsetTop = computed(() => {\n const fixed = headerFixed.value\n return fixed &&\n !isFullContent.value &&\n !headerIsHidden.value &&\n (!isHeaderAutoMode.value || scrollY.value < headerWrapperHeight.value)\n ? headerWrapperHeight.value\n : 0\n})\n\nconst contentStyle = computed((): CSSProperties => {\n const { footerEnable, footerFixed, footerHeight } = props\n return {\n marginTop: `${contentOffsetTop.value}px`,\n paddingBottom: `${footerEnable && footerFixed ? footerHeight : 0}px`,\n }\n})\n\nconst headerZIndex = computed(() => {\n const { zIndex } = props\n const offset = isMixedNav.value ? 1 : 0\n return zIndex + offset\n})\n\nconst layoutStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n if (fixed) {\n return {\n overflow: 'hidden',\n height: '100%',\n }\n }\n return {\n minHeight: '100%',\n }\n})\n\nconst wrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n overflow: fixed ? 'auto' : 'hidden',\n }\n})\n\nconst headerWrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n height: isFullContent.value ? '0' : `${headerWrapperHeight.value}px`,\n left: isMixedNav.value ? 0 : mainStyle.value.sidebarAndExtraWidth,\n position: fixed ? 'fixed' : 'static',\n top: headerIsHidden.value || isFullContent.value ? `-${headerWrapperHeight.value}px` : 0,\n width: mainStyle.value.width,\n 'z-index': headerZIndex.value,\n }\n})\n\n/**\n * 侧边栏z-index\n */\nconst sidebarZIndex = computed(() => {\n const { isMobile, zIndex } = props\n let offset = isMobile || isSideMode.value ? 1 : -1\n\n if (isMixedNav.value) {\n offset += 1\n }\n\n return zIndex + offset\n})\n\nconst footerWidth = computed(() => {\n if (!props.footerFixed) {\n return '100%'\n }\n\n return mainStyle.value.width\n})\n\nconst maskStyle = computed((): CSSProperties => {\n return { zIndex: props.zIndex }\n})\n\nconst showHeaderToggleButton = computed(() => {\n return (\n props.isMobile ||\n (props.headerToggleSidebarButton &&\n isSideMode.value &&\n !isSidebarMixedNav.value &&\n !isMixedNav.value &&\n !props.isMobile)\n )\n})\n\nconst showHeaderLogo = computed(() => {\n return !isSideMode.value || isMixedNav.value || props.isMobile\n})\n\nwatch(\n () => props.isMobile,\n (val) => {\n if (val) {\n sidebarCollapse.value = true\n }\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n [() => headerWrapperHeight.value, () => isFullContent.value],\n ([height]) => {\n setLayoutHeaderHeight(isFullContent.value ? 0 : height)\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n () => props.footerHeight,\n (height: number) => {\n setLayoutFooterHeight(height)\n },\n {\n immediate: true,\n },\n)\n\nconst mouseMove = () => {\n mouseY.value > headerWrapperHeight.value\n ? (headerIsHidden.value = true)\n : (headerIsHidden.value = false)\n}\nwatch(\n [() => props.headerMode, () => mouseY.value],\n () => {\n if (!isHeaderAutoMode.value || isMixedNav.value || isFullContent.value) {\n if (props.headerMode !== 'auto-scroll') {\n headerIsHidden.value = false\n }\n return\n }\n headerIsHidden.value = true\n mouseMove()\n },\n {\n immediate: true,\n },\n)\n\nconst checkHeaderIsHidden = useThrottleFn((top, bottom, topArrived) => {\n if (scrollY.value < headerWrapperHeight.value) {\n headerIsHidden.value = false\n return\n }\n if (topArrived) {\n headerIsHidden.value = false\n return\n }\n\n if (top) {\n headerIsHidden.value = false\n } else if (bottom) {\n headerIsHidden.value = true\n }\n}, 300)\n\nwatch(\n () => scrollY.value,\n () => {\n if (props.headerMode !== 'auto-scroll' || isMixedNav.value || isFullContent.value) {\n return\n }\n if (isScrolling.value) {\n checkHeaderIsHidden(directions.top, directions.bottom, arrivedState.top)\n }\n },\n)\n\nconst { setContentOffsetTop } = useProConfigInject()\nwatch(\n () => contentOffsetTop.value,\n (newValue) => {\n setContentOffsetTop?.(newValue)\n },\n {\n immediate: true,\n },\n)\n\nfunction handleClickMask() {\n sidebarCollapse.value = true\n}\n\nfunction handleHeaderToggle() {\n if (props.isMobile) {\n sidebarCollapse.value = false\n } else {\n emit('toggleSidebar')\n }\n}\n\nconst idMainContent = ELEMENT_ID_MAIN_CONTENT\n\nuseProLayoutProvide({\n contentOffsetTop,\n})\n</script>\n\n<template>\n <div :class=\"prefixCls\" :style=\"layoutStyle\">\n <LayoutSidebar\n v-if=\"sidebarEnableState\"\n v-model:collapse=\"sidebarCollapse\"\n v-model:expand-on-hover=\"sidebarExpandOnHover\"\n v-model:expand-on-hovering=\"sidebarExpandOnHovering\"\n v-model:extra-collapse=\"sidebarExtraCollapse\"\n v-model:extra-visible=\"sidebarExtraVisible\"\n :show-collapse-button=\"sidebarCollapsedButton\"\n :show-fixed-button=\"sidebarFixedButton\"\n :collapse-width=\"getSideCollapseWidth\"\n :dom-visible=\"!isMobile\"\n :extra-width=\"sidebarExtraWidth\"\n :fixed-extra=\"sidebarExpandOnHover\"\n :header-height=\"isMixedNav ? 0 : headerHeight\"\n :is-sidebar-mixed=\"isSidebarMixedNav || isHeaderMixedNav\"\n :margin-top=\"sidebarMarginTop\"\n :mixed-width=\"sidebarMixedWidth\"\n :show=\"showSidebar\"\n :fixed=\"sidebarFixed\"\n :theme=\"sidebarTheme\"\n :width=\"getSidebarWidth\"\n :z-index=\"sidebarZIndex\"\n @leave=\"() => emit('sideMouseLeave')\"\n >\n <template v-if=\"isSideMode && !isMixedNav\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template v-if=\"isSidebarMixedNav || isHeaderMixedNav\">\n <slot name=\"mixed-menu\"></slot>\n </template>\n <template v-else>\n <slot name=\"menu\"></slot>\n </template>\n\n <template #extra>\n <slot name=\"side-extra\"></slot>\n </template>\n <template #extra-title>\n <slot name=\"side-extra-title\"></slot>\n </template>\n </LayoutSidebar>\n <div ref=\"contentRef\" :class=\"`${prefixCls}-wrapper`\" :style=\"wrapperStyle\">\n <div\n :class=\"[\n `${prefixCls}-header-wrapper`,\n {\n [`${prefixCls}-header-wrapper--shadow`]: scrollY > 20,\n },\n SCROLL_FIXED_CLASS,\n ]\"\n :style=\"headerWrapperStyle\"\n >\n <LayoutHeader\n v-if=\"headerVisible\"\n :full-width=\"!isSideMode\"\n :height=\"headerHeight\"\n :is-mobile=\"isMobile\"\n :show=\"!isFullContent && !headerHidden\"\n :sidebar-width=\"sidebarWidth\"\n :theme=\"headerTheme\"\n :width=\"mainStyle.width\"\n :z-index=\"headerZIndex\"\n >\n <template v-if=\"showHeaderLogo\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template #toggle-button>\n <Button\n v-if=\"showHeaderToggleButton\"\n type=\"text\"\n shape=\"circle\"\n style=\"margin-right: 4px; font-size: 14px; color: hsl(var(--pro-foreground))\"\n :icon=\"h(MenuIcon)\"\n @click=\"handleHeaderToggle\"\n />\n </template>\n <slot name=\"header\"></slot>\n </LayoutHeader>\n <LayoutTabbar v-if=\"tabbarEnable\" :height=\"tabbarHeight\" :style=\"tabbarStyle\">\n <slot name=\"tabbar\"></slot>\n </LayoutTabbar>\n </div>\n <LayoutContent\n :id=\"idMainContent\"\n :content-compact=\"contentCompact\"\n :content-compact-width=\"contentCompactWidth\"\n :padding=\"contentPadding\"\n :padding-bottom=\"contentPaddingBottom\"\n :padding-left=\"contentPaddingLeft\"\n :padding-right=\"contentPaddingRight\"\n :padding-top=\"contentPaddingTop\"\n :style=\"contentStyle\"\n >\n <slot name=\"content\"></slot>\n\n <template #overlay>\n <slot name=\"content-overlay\"></slot>\n </template>\n </LayoutContent>\n <LayoutFooter\n v-if=\"footerEnable\"\n :fixed=\"footerFixed\"\n :height=\"footerHeight\"\n :show=\"!isFullContent\"\n :width=\"footerWidth\"\n :z-index=\"zIndex\"\n >\n <slot name=\"footer\"></slot>\n </LayoutFooter>\n </div>\n <slot name=\"extra\"></slot>\n <div\n v-if=\"maskVisible\"\n :style=\"maskStyle\"\n :class=\"`${prefixCls}-mask`\"\n @click=\"handleClickMask\"\n ></div>\n </div>\n</template>\n"],"names":["_useModel","_createElementBlock","_unref","_createBlock","LayoutSidebar","sidebarCollapsedButton","sidebarFixedButton","isMobile","headerHeight","sidebarMixedWidth","sidebarFixed","sidebarTheme","_renderSlot","_createElementVNode","_normalizeClass","headerVisible","LayoutHeader","headerHidden","sidebarWidth","headerTheme","MenuIcon","tabbarEnable","LayoutTabbar","tabbarHeight","_createVNode","LayoutContent","contentCompact","contentCompactWidth","contentPadding","contentPaddingBottom","contentPaddingLeft","contentPaddingRight","contentPaddingTop","footerEnable","LayoutFooter","footerFixed","footerHeight","zIndex"],"mappings":"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"}
@@ -154,6 +154,11 @@ interface ProLayoutProps {
154
154
  * @default 48
155
155
  */
156
156
  sideCollapseWidth?: number;
157
+ /**
158
+ * 侧边栏是否固定
159
+ * @default false
160
+ */
161
+ sidebarFixed?: boolean;
157
162
  /**
158
163
  * tab是否可见
159
164
  * @default true
@@ -1,5 +1,5 @@
1
1
  import { createVNode, mergeProps, withDirectives, cloneVNode } from 'vue';
2
- import { Badge } from 'ant-design-vue';
2
+ import { Badge, Tag } from 'ant-design-vue';
3
3
  import { useInjectSlots } from '../context/TableSlotsContext.mjs';
4
4
  import { useInjectTable } from '../context/TableContext.mjs';
5
5
  import { useInjectBody } from '../context/BodyContext.mjs';
@@ -200,6 +200,15 @@ const BodyCell = (props, { slots, emit }) => {
200
200
  status: option.status,
201
201
  text: option.text
202
202
  });
203
+ } else if (option.color) {
204
+ cellValue = createVNode(
205
+ Tag,
206
+ {
207
+ color: option.color,
208
+ bordered: false
209
+ },
210
+ option.text
211
+ );
203
212
  } else {
204
213
  cellValue = option.text || emptyText;
205
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BodyCell.mjs","sources":["../../../../../../../../packages/components/table/src/components/Body/BodyCell.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-09 11:37:05\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:43:29\n * @Description:\n */\nimport type { InnerKeydownPayload, RangeCell } from '../../hooks/RangeInterface'\nimport type { PropType, ExtractPropTypes, FunctionalComponent, VNode } from 'vue'\nimport type { FinallyColumnType, Key, RowType } from '../interface'\n\nimport { withDirectives, createVNode, mergeProps, cloneVNode } from 'vue'\nimport { Badge } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectRangeStore } from '../../hooks/useRangeStore'\nimport { useInjectLevel } from '../../hooks/useLevel'\nimport { isValidElement, ensureValidVNode } from '../../utils/util'\nimport { isEventSupported } from '../../utils/events'\nimport { isIOSUserAgent } from '../../utils/browser'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { get, isObject, isPromise, runFunction } from '@pro-design-vue/utils'\nimport { cellResize } from '@pro-design-vue/directives'\nimport RowHandler from '../Drag/RowHandler.vue'\nimport BodyCellTooltip from './BodyCellTooltip'\nimport EditInput from './EditInput.vue'\n\nconst cellProps = {\n prefixCls: String as PropType<string>,\n rowIndex: { type: Number as PropType<number>, required: true },\n flattenRowIndex: { type: Number, required: true },\n rowKey: { type: [Number, String] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n type: { type: String as PropType<RowType> },\n height: Number as PropType<number>,\n hasAppendNode: Boolean as PropType<boolean>,\n resizeObserver: { type: Object as PropType<ResizeObserver> },\n calMaxHeight: Function,\n tooltipOpen: Boolean as PropType<boolean>,\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onCellLeave: Function,\n editCellKeys: Array as PropType<string[]>,\n onOpenEditor: Function,\n onCloseEditor: Function,\n onMousedown: Function as PropType<(e: any, cellPosition: RangeCell) => void>,\n onMousemove: Function as PropType<(e: any, cellPosition: RangeCell) => void>,\n onKeydown: Function as PropType<(e: KeyboardEvent, payload: InnerKeydownPayload) => void>,\n onClick: Function as PropType<(e: MouseEvent, cellPosition: RangeCell) => void>,\n}\n\ntype CellProps = Partial<ExtractPropTypes<typeof cellProps>>\nlet lastClickTime = 0\n\nconst ValueStatusEnum = {\n success: '#03bf64',\n processing: '#315efb',\n error: '#e8353e',\n warning: '#eb8903',\n}\nconst BodyCell: FunctionalComponent<CellProps> = (props, { slots, emit }) => {\n const tableSlotsContext = useInjectSlots()\n const tableContext = useInjectTable()\n const { onBodyCellContextmenu } = useInjectBody()\n const { getRangeCellClass } = useInjectRangeStore()\n const level = useInjectLevel()\n const { oldValuesMap } = useEditInject()\n const {\n prefixCls,\n column,\n wrapText,\n rowKey,\n item,\n rowIndex,\n hasAppendNode,\n tooltipOpen,\n editCellKeys,\n } = props\n\n const columnKey = column!.columnKey\n const valueEnum = runFunction(column?.valueEnum, props.item)\n const rowDrag =\n typeof column!.rowDrag == 'function'\n ? column!.rowDrag({ record: item, column: column!.originColumn! })\n : !!column!.rowDrag\n const isRowDrag = column!.rowDrag\n\n const sorterState = tableContext.sorterStates.value.find(({ key }) => key === columnKey)\n const sorterOrder = sorterState ? sorterState.sortOrder : null\n const sorterInfo = { columnKey, sorterState, sorterOrder }\n const key = `${props.rowKey} ${columnKey}`\n const value = column!.dataIndex\n ? column!.renderText\n ? column!.renderText(get(item, column!.dataIndex), item, rowIndex!)\n : get(item, column!.dataIndex)\n : undefined\n const valueStatus = runFunction(column?.valueStatus, value, props.item)\n const recordIndexs = tableContext.getIndexsByKey(rowKey!)\n\n let customEditable = false\n let isEditing = editCellKeys?.includes(key)\n\n if (isEditing) {\n const editable =\n 'function' == typeof column!.editable &&\n column!.editable({\n record: item,\n column: column!.originColumn!,\n recordIndexs,\n value,\n })\n customEditable = 'cellEditorSlot' === column!.editable || 'cellEditorSlot' === editable\n isEditing =\n isEditing &&\n ((customEditable && !!tableSlotsContext.cellEditor) ||\n true === column!.editable ||\n !!editable)\n }\n\n let { editableTrigger = ['dblClick'] } = column!\n editableTrigger = Array.isArray(editableTrigger) ? editableTrigger : [editableTrigger]\n\n const cellInnerClass = { [`${prefixCls}-cell-inner`]: true }\n const cellContentClass = {\n [`${prefixCls}-cell-content`]: true,\n [`${prefixCls}-cell-wrap-text`]: column!.wrapText === undefined ? wrapText : column!.wrapText,\n [`${prefixCls}-cell-text-ellipsis`]: !!column!.ellipsis,\n }\n\n const cellContentStyle = {\n textAlign: `${column!.align}`,\n color: valueStatus ? ValueStatusEnum[valueStatus] || 'valueStatus' : undefined,\n }\n\n if (isObject(column!.ellipsis) && column!.ellipsis.line! > 1) {\n cellContentStyle['-webkit-box-orient'] = 'vertical'\n cellContentStyle['-webkit-line-clamp'] = column!.ellipsis.line!\n cellContentStyle['white-space'] = 'normal'\n cellContentStyle['display'] = '-webkit-box'\n cellContentStyle['padding'] = '0 16px'\n }\n\n const cellRender = tableContext.allCellProps.value?.[rowKey!]?.[column!.columnKey] || {}\n const cellProps: any = cellRender.props || {}\n const cellRowSpan = cellProps.rowSpan!\n\n const cellPosition = { rowIndex: props.flattenRowIndex, rowPinned: null, column: column }\n\n const cellClass = {\n [`${prefixCls}-cell`]: true,\n [`${prefixCls}-body-cell`]: true,\n [`${prefixCls}-cell-multi`]: cellRowSpan > 1,\n [`${prefixCls}-cell-hidden`]: cellRowSpan === 0,\n [`${prefixCls}-column-sort`]: sorterInfo.sorterOrder,\n [`${prefixCls}-with-append`]: hasAppendNode,\n [`${prefixCls}-cell-inline-edit`]: isEditing,\n [getRangeCellClass(cellPosition)]: true,\n }\n\n const openEditor = () => {\n const oldValue =\n props.column?.valueGetter?.({\n value,\n record: item,\n column: column!,\n recordIndexs: recordIndexs,\n }) ?? value\n const beforeOpen = tableContext.props?.onBeforeOpenEditor?.(cellRenderArgs)\n if (isPromise(beforeOpen)) {\n beforeOpen.then((res) => {\n if (res) {\n emit('openEditor', key, { [key]: oldValue })\n tableContext.props?.onOpenEditor?.(cellRenderArgs)\n }\n })\n } else {\n if (false !== beforeOpen) {\n emit('openEditor', key, { [key]: oldValue })\n tableContext.props?.onOpenEditor?.(cellRenderArgs)\n }\n }\n }\n\n const closeEditor = (currentKey?: Key) => {\n const beforeClose = tableContext.props?.onBeforeCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n if (isPromise(beforeClose)) {\n beforeClose.then((res) => {\n if (res) {\n emit('closeEditor', currentKey ?? key)\n tableContext.props?.onCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n }\n })\n } else {\n if (false !== beforeClose) {\n emit('closeEditor', currentKey ?? key)\n tableContext.props?.onCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n }\n }\n }\n\n const cellRenderArgs: any = {\n record: item,\n column: column!.originColumn!,\n text: value,\n value,\n index: rowIndex!,\n recordIndexs: tableContext.getIndexsByKey(rowKey!),\n key,\n valueStatus,\n openEditor,\n closeEditor,\n }\n\n let bodyCell: VNode[] = (recordIndexs && tableSlotsContext.bodyCell?.(cellRenderArgs)) || []\n\n const emptyText =\n tableContext.props.columnEmptyText !== false ? tableContext.props.columnEmptyText : ''\n\n if (!ensureValidVNode(bodyCell)) {\n let cellValue\n if (cellRender.children) {\n cellValue = cellRender.children\n } else if (valueEnum) {\n const option = valueEnum[value]\n if (option && option.text) {\n if (option.status) {\n cellValue = createVNode(Badge, {\n status: option.status,\n text: option.text,\n })\n } else {\n cellValue = option.text || emptyText\n }\n } else {\n cellValue = emptyText\n }\n } else {\n // cellValue = value !== null || value !== undefined || value !== '' ? value : emptyText\n cellValue = value || emptyText\n }\n bodyCell = [\n (typeof cellValue === 'object' && isValidElement(cellValue)) || typeof cellValue !== 'object'\n ? cellValue\n : null,\n ]\n }\n\n const cellResizeValue = {\n resizeObserver: props.resizeObserver,\n calMaxHeight: props.calMaxHeight,\n }\n\n const tooltip = column!.tooltip\n const autoHeight = props.height === undefined && cellRowSpan === 1 && column?.autoHeight\n const altTitle =\n !column!.showTitle || (typeof value !== 'string' && typeof value !== 'number')\n ? undefined\n : value\n const tooltipStatus = !!tooltip && tooltipOpen\n\n const cellKeyProps = tableContext.props.ignoreCellKey ? {} : { key: key }\n\n let cellVNode = createVNode(\n 'div',\n {\n class: cellInnerClass,\n style: cellProps?.style?.height ? '' : `height: ${props.height}px`,\n 'data-cell-auto': autoHeight,\n },\n [\n createVNode(\n 'div',\n mergeProps(\n {\n class: cellContentClass,\n style: cellContentStyle,\n title: altTitle,\n },\n cellKeyProps,\n ),\n [hasAppendNode ? slots.appendNode?.() : null, bodyCell],\n ),\n ],\n )\n cellVNode = autoHeight ? withDirectives(cellVNode, [[cellResize, cellResizeValue]]) : cellVNode\n let renderCellVNode: any = null\n let showTooltip = tooltipStatus\n\n if (tooltipStatus) {\n const tooltipProps = { ...(column!.tooltip === true ? {} : column!.tooltip) } as any\n if (tooltipProps.title) {\n tooltipProps.title = tooltipProps.title(cellRenderArgs)\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n } else {\n tooltipProps.title = value\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n }\n\n renderCellVNode = createVNode(\n BodyCellTooltip,\n {\n getPopupContainer: props.getPopupContainer,\n align: { offset: [0, 13] },\n tooltipProps,\n open: showTooltip,\n allowEnter: tooltipProps?.allowEnter,\n // shouldOpen:\n // \t!tooltipProps?.shouldOpen ||\n // \t(isEllipsis => {\n // \t\treturn tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n // \t}),\n shouldOpen: (isEllipsis) => {\n return tooltipProps?.shouldOpen\n ? tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n : isEllipsis\n },\n onCellLeave: () => {\n emit('cellLeave')\n },\n },\n {\n default: () => [\n false !== tooltipProps.allowEnter\n ? cellVNode\n : cloneVNode(cellVNode, {\n onMouseleave: () => {\n emit('cellLeave')\n },\n }),\n ],\n title: () => tableSlotsContext.tooltipTitle?.(cellRenderArgs),\n },\n )\n } else {\n renderCellVNode = cellVNode\n }\n\n const onDblclick = () => {\n editableTrigger.includes('dblClick') && openEditor()\n }\n\n const editInputRender = isEditing\n ? createVNode(\n EditInput,\n {\n prefixCls,\n recordIndexs,\n rowKey,\n cellKey: key,\n column: column,\n record: item,\n onCloseEditor: closeEditor,\n value,\n customEditable,\n getPopupContainer: props.getPopupContainer,\n multiple: editCellKeys!.length > 1,\n autoHeight,\n },\n null,\n )\n : null\n\n return createVNode(\n 'div',\n mergeProps(cellProps, {\n onMouseleave: () => {\n showTooltip || emit('cellLeave')\n },\n tabindex: '-1',\n role: 'cell',\n 'data-column-key': columnKey,\n class: cellClass,\n onContextmenu: (e) => {\n if (\n (tableContext.props.hasContextmenuPopup || tableContext.props.rangeSelection) &&\n 0 === e.button &&\n e.ctrlKey\n ) {\n e.preventDefault()\n } else {\n onBodyCellContextmenu(e, cellRenderArgs, props.type!)\n editableTrigger.includes('contextmenu') && openEditor()\n }\n },\n onDblclick,\n onClick: (e: MouseEvent) => {\n tableContext.props?.onCellClick?.(e, cellRenderArgs)\n if (\n (() => {\n if (!isIOSUserAgent() || isEventSupported('dblclick')) return false\n const now = new Date().getTime()\n const is = now - lastClickTime < 200\n lastClickTime = now\n return is\n })()\n ) {\n onDblclick()\n e.preventDefault()\n return\n }\n emit('click', e, cellPosition)\n editableTrigger.includes('click') && openEditor()\n },\n onMousedown: (e: any) => {\n emit('mousedown', e, cellPosition)\n },\n onMousemove: (e: any) => {\n emit('mousemove', e, cellPosition)\n },\n onKeydown: (e: KeyboardEvent) => {\n emit('keydown', e, { cellPosition, isEditing })\n },\n 'data-level': level,\n 'aria-selected': 'true',\n }),\n [\n isRowDrag\n ? createVNode(\n RowHandler,\n {\n disabled: !rowDrag,\n columnKey,\n column: column!.originColumn,\n },\n { label: () => bodyCell },\n )\n : null,\n renderCellVNode,\n autoHeight && editInputRender\n ? createVNode(\n 'label',\n {\n class: `${prefixCls}-cell-edit-wrapper`,\n onMousedown: (e) => e.stopPropagation(),\n },\n [withDirectives(editInputRender, [[cellResize, cellResizeValue]])],\n )\n : editInputRender\n ? createVNode(\n 'label',\n {\n class: `${prefixCls}-cell-edit-wrapper`,\n onMousedown: (e) => e.stopPropagation(),\n },\n [editInputRender],\n )\n : null,\n ],\n )\n}\n\nBodyCell.props = cellProps\nexport default BodyCell\n"],"names":["key","cellProps","_a","_b","_c","_d","_e"],"mappings":"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"}
1
+ {"version":3,"file":"BodyCell.mjs","sources":["../../../../../../../../packages/components/table/src/components/Body/BodyCell.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-09 11:37:05\n * @LastEditors: shen\n * @LastEditTime: 2025-09-16 10:31:02\n * @Description:\n */\nimport type { InnerKeydownPayload, RangeCell } from '../../hooks/RangeInterface'\nimport type { PropType, ExtractPropTypes, FunctionalComponent, VNode } from 'vue'\nimport type { FinallyColumnType, Key, RowType } from '../interface'\n\nimport { withDirectives, createVNode, mergeProps, cloneVNode } from 'vue'\nimport { Badge, Tag } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectRangeStore } from '../../hooks/useRangeStore'\nimport { useInjectLevel } from '../../hooks/useLevel'\nimport { isValidElement, ensureValidVNode } from '../../utils/util'\nimport { isEventSupported } from '../../utils/events'\nimport { isIOSUserAgent } from '../../utils/browser'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { get, isObject, isPromise, runFunction } from '@pro-design-vue/utils'\nimport { cellResize } from '@pro-design-vue/directives'\nimport RowHandler from '../Drag/RowHandler.vue'\nimport BodyCellTooltip from './BodyCellTooltip'\nimport EditInput from './EditInput.vue'\n\nconst cellProps = {\n prefixCls: String as PropType<string>,\n rowIndex: { type: Number as PropType<number>, required: true },\n flattenRowIndex: { type: Number, required: true },\n rowKey: { type: [Number, String] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n type: { type: String as PropType<RowType> },\n height: Number as PropType<number>,\n hasAppendNode: Boolean as PropType<boolean>,\n resizeObserver: { type: Object as PropType<ResizeObserver> },\n calMaxHeight: Function,\n tooltipOpen: Boolean as PropType<boolean>,\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onCellLeave: Function,\n editCellKeys: Array as PropType<string[]>,\n onOpenEditor: Function,\n onCloseEditor: Function,\n onMousedown: Function as PropType<(e: any, cellPosition: RangeCell) => void>,\n onMousemove: Function as PropType<(e: any, cellPosition: RangeCell) => void>,\n onKeydown: Function as PropType<(e: KeyboardEvent, payload: InnerKeydownPayload) => void>,\n onClick: Function as PropType<(e: MouseEvent, cellPosition: RangeCell) => void>,\n}\n\ntype CellProps = Partial<ExtractPropTypes<typeof cellProps>>\nlet lastClickTime = 0\n\nconst ValueStatusEnum = {\n success: '#03bf64',\n processing: '#315efb',\n error: '#e8353e',\n warning: '#eb8903',\n}\nconst BodyCell: FunctionalComponent<CellProps> = (props, { slots, emit }) => {\n const tableSlotsContext = useInjectSlots()\n const tableContext = useInjectTable()\n const { onBodyCellContextmenu } = useInjectBody()\n const { getRangeCellClass } = useInjectRangeStore()\n const level = useInjectLevel()\n const { oldValuesMap } = useEditInject()\n const {\n prefixCls,\n column,\n wrapText,\n rowKey,\n item,\n rowIndex,\n hasAppendNode,\n tooltipOpen,\n editCellKeys,\n } = props\n\n const columnKey = column!.columnKey\n const valueEnum = runFunction(column?.valueEnum, props.item)\n const rowDrag =\n typeof column!.rowDrag == 'function'\n ? column!.rowDrag({ record: item, column: column!.originColumn! })\n : !!column!.rowDrag\n const isRowDrag = column!.rowDrag\n\n const sorterState = tableContext.sorterStates.value.find(({ key }) => key === columnKey)\n const sorterOrder = sorterState ? sorterState.sortOrder : null\n const sorterInfo = { columnKey, sorterState, sorterOrder }\n const key = `${props.rowKey} ${columnKey}`\n const value = column!.dataIndex\n ? column!.renderText\n ? column!.renderText(get(item, column!.dataIndex), item, rowIndex!)\n : get(item, column!.dataIndex)\n : undefined\n const valueStatus = runFunction(column?.valueStatus, value, props.item)\n const recordIndexs = tableContext.getIndexsByKey(rowKey!)\n\n let customEditable = false\n let isEditing = editCellKeys?.includes(key)\n\n if (isEditing) {\n const editable =\n 'function' == typeof column!.editable &&\n column!.editable({\n record: item,\n column: column!.originColumn!,\n recordIndexs,\n value,\n })\n customEditable = 'cellEditorSlot' === column!.editable || 'cellEditorSlot' === editable\n isEditing =\n isEditing &&\n ((customEditable && !!tableSlotsContext.cellEditor) ||\n true === column!.editable ||\n !!editable)\n }\n\n let { editableTrigger = ['dblClick'] } = column!\n editableTrigger = Array.isArray(editableTrigger) ? editableTrigger : [editableTrigger]\n\n const cellInnerClass = { [`${prefixCls}-cell-inner`]: true }\n const cellContentClass = {\n [`${prefixCls}-cell-content`]: true,\n [`${prefixCls}-cell-wrap-text`]: column!.wrapText === undefined ? wrapText : column!.wrapText,\n [`${prefixCls}-cell-text-ellipsis`]: !!column!.ellipsis,\n }\n\n const cellContentStyle = {\n textAlign: `${column!.align}`,\n color: valueStatus ? ValueStatusEnum[valueStatus] || 'valueStatus' : undefined,\n }\n\n if (isObject(column!.ellipsis) && column!.ellipsis.line! > 1) {\n cellContentStyle['-webkit-box-orient'] = 'vertical'\n cellContentStyle['-webkit-line-clamp'] = column!.ellipsis.line!\n cellContentStyle['white-space'] = 'normal'\n cellContentStyle['display'] = '-webkit-box'\n cellContentStyle['padding'] = '0 16px'\n }\n\n const cellRender = tableContext.allCellProps.value?.[rowKey!]?.[column!.columnKey] || {}\n const cellProps: any = cellRender.props || {}\n const cellRowSpan = cellProps.rowSpan!\n\n const cellPosition = { rowIndex: props.flattenRowIndex, rowPinned: null, column: column }\n\n const cellClass = {\n [`${prefixCls}-cell`]: true,\n [`${prefixCls}-body-cell`]: true,\n [`${prefixCls}-cell-multi`]: cellRowSpan > 1,\n [`${prefixCls}-cell-hidden`]: cellRowSpan === 0,\n [`${prefixCls}-column-sort`]: sorterInfo.sorterOrder,\n [`${prefixCls}-with-append`]: hasAppendNode,\n [`${prefixCls}-cell-inline-edit`]: isEditing,\n [getRangeCellClass(cellPosition)]: true,\n }\n\n const openEditor = () => {\n const oldValue =\n props.column?.valueGetter?.({\n value,\n record: item,\n column: column!,\n recordIndexs: recordIndexs,\n }) ?? value\n const beforeOpen = tableContext.props?.onBeforeOpenEditor?.(cellRenderArgs)\n if (isPromise(beforeOpen)) {\n beforeOpen.then((res) => {\n if (res) {\n emit('openEditor', key, { [key]: oldValue })\n tableContext.props?.onOpenEditor?.(cellRenderArgs)\n }\n })\n } else {\n if (false !== beforeOpen) {\n emit('openEditor', key, { [key]: oldValue })\n tableContext.props?.onOpenEditor?.(cellRenderArgs)\n }\n }\n }\n\n const closeEditor = (currentKey?: Key) => {\n const beforeClose = tableContext.props?.onBeforeCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n if (isPromise(beforeClose)) {\n beforeClose.then((res) => {\n if (res) {\n emit('closeEditor', currentKey ?? key)\n tableContext.props?.onCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n }\n })\n } else {\n if (false !== beforeClose) {\n emit('closeEditor', currentKey ?? key)\n tableContext.props?.onCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n }\n }\n }\n\n const cellRenderArgs: any = {\n record: item,\n column: column!.originColumn!,\n text: value,\n value,\n index: rowIndex!,\n recordIndexs: tableContext.getIndexsByKey(rowKey!),\n key,\n valueStatus,\n openEditor,\n closeEditor,\n }\n\n let bodyCell: VNode[] = (recordIndexs && tableSlotsContext.bodyCell?.(cellRenderArgs)) || []\n\n const emptyText =\n tableContext.props.columnEmptyText !== false ? tableContext.props.columnEmptyText : ''\n\n if (!ensureValidVNode(bodyCell)) {\n let cellValue\n if (cellRender.children) {\n cellValue = cellRender.children\n } else if (valueEnum) {\n const option = valueEnum[value]\n if (option && option.text) {\n if (option.status) {\n cellValue = createVNode(Badge, {\n status: option.status,\n text: option.text,\n })\n } else if (option.color) {\n cellValue = createVNode(\n Tag,\n {\n color: option.color,\n bordered: false,\n },\n option.text,\n )\n } else {\n cellValue = option.text || emptyText\n }\n } else {\n cellValue = emptyText\n }\n } else {\n // cellValue = value !== null || value !== undefined || value !== '' ? value : emptyText\n cellValue = value || emptyText\n }\n bodyCell = [\n (typeof cellValue === 'object' && isValidElement(cellValue)) || typeof cellValue !== 'object'\n ? cellValue\n : null,\n ]\n }\n\n const cellResizeValue = {\n resizeObserver: props.resizeObserver,\n calMaxHeight: props.calMaxHeight,\n }\n\n const tooltip = column!.tooltip\n const autoHeight = props.height === undefined && cellRowSpan === 1 && column?.autoHeight\n const altTitle =\n !column!.showTitle || (typeof value !== 'string' && typeof value !== 'number')\n ? undefined\n : value\n const tooltipStatus = !!tooltip && tooltipOpen\n\n const cellKeyProps = tableContext.props.ignoreCellKey ? {} : { key: key }\n\n let cellVNode = createVNode(\n 'div',\n {\n class: cellInnerClass,\n style: cellProps?.style?.height ? '' : `height: ${props.height}px`,\n 'data-cell-auto': autoHeight,\n },\n [\n createVNode(\n 'div',\n mergeProps(\n {\n class: cellContentClass,\n style: cellContentStyle,\n title: altTitle,\n },\n cellKeyProps,\n ),\n [hasAppendNode ? slots.appendNode?.() : null, bodyCell],\n ),\n ],\n )\n cellVNode = autoHeight ? withDirectives(cellVNode, [[cellResize, cellResizeValue]]) : cellVNode\n let renderCellVNode: any = null\n let showTooltip = tooltipStatus\n\n if (tooltipStatus) {\n const tooltipProps = { ...(column!.tooltip === true ? {} : column!.tooltip) } as any\n if (tooltipProps.title) {\n tooltipProps.title = tooltipProps.title(cellRenderArgs)\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n } else {\n tooltipProps.title = value\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n }\n\n renderCellVNode = createVNode(\n BodyCellTooltip,\n {\n getPopupContainer: props.getPopupContainer,\n align: { offset: [0, 13] },\n tooltipProps,\n open: showTooltip,\n allowEnter: tooltipProps?.allowEnter,\n // shouldOpen:\n // \t!tooltipProps?.shouldOpen ||\n // \t(isEllipsis => {\n // \t\treturn tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n // \t}),\n shouldOpen: (isEllipsis) => {\n return tooltipProps?.shouldOpen\n ? tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n : isEllipsis\n },\n onCellLeave: () => {\n emit('cellLeave')\n },\n },\n {\n default: () => [\n false !== tooltipProps.allowEnter\n ? cellVNode\n : cloneVNode(cellVNode, {\n onMouseleave: () => {\n emit('cellLeave')\n },\n }),\n ],\n title: () => tableSlotsContext.tooltipTitle?.(cellRenderArgs),\n },\n )\n } else {\n renderCellVNode = cellVNode\n }\n\n const onDblclick = () => {\n editableTrigger.includes('dblClick') && openEditor()\n }\n\n const editInputRender = isEditing\n ? createVNode(\n EditInput,\n {\n prefixCls,\n recordIndexs,\n rowKey,\n cellKey: key,\n column: column,\n record: item,\n onCloseEditor: closeEditor,\n value,\n customEditable,\n getPopupContainer: props.getPopupContainer,\n multiple: editCellKeys!.length > 1,\n autoHeight,\n },\n null,\n )\n : null\n\n return createVNode(\n 'div',\n mergeProps(cellProps, {\n onMouseleave: () => {\n showTooltip || emit('cellLeave')\n },\n tabindex: '-1',\n role: 'cell',\n 'data-column-key': columnKey,\n class: cellClass,\n onContextmenu: (e) => {\n if (\n (tableContext.props.hasContextmenuPopup || tableContext.props.rangeSelection) &&\n 0 === e.button &&\n e.ctrlKey\n ) {\n e.preventDefault()\n } else {\n onBodyCellContextmenu(e, cellRenderArgs, props.type!)\n editableTrigger.includes('contextmenu') && openEditor()\n }\n },\n onDblclick,\n onClick: (e: MouseEvent) => {\n tableContext.props?.onCellClick?.(e, cellRenderArgs)\n if (\n (() => {\n if (!isIOSUserAgent() || isEventSupported('dblclick')) return false\n const now = new Date().getTime()\n const is = now - lastClickTime < 200\n lastClickTime = now\n return is\n })()\n ) {\n onDblclick()\n e.preventDefault()\n return\n }\n emit('click', e, cellPosition)\n editableTrigger.includes('click') && openEditor()\n },\n onMousedown: (e: any) => {\n emit('mousedown', e, cellPosition)\n },\n onMousemove: (e: any) => {\n emit('mousemove', e, cellPosition)\n },\n onKeydown: (e: KeyboardEvent) => {\n emit('keydown', e, { cellPosition, isEditing })\n },\n 'data-level': level,\n 'aria-selected': 'true',\n }),\n [\n isRowDrag\n ? createVNode(\n RowHandler,\n {\n disabled: !rowDrag,\n columnKey,\n column: column!.originColumn,\n },\n { label: () => bodyCell },\n )\n : null,\n renderCellVNode,\n autoHeight && editInputRender\n ? createVNode(\n 'label',\n {\n class: `${prefixCls}-cell-edit-wrapper`,\n onMousedown: (e) => e.stopPropagation(),\n },\n [withDirectives(editInputRender, [[cellResize, cellResizeValue]])],\n )\n : editInputRender\n ? createVNode(\n 'label',\n {\n class: `${prefixCls}-cell-edit-wrapper`,\n onMousedown: (e) => e.stopPropagation(),\n },\n [editInputRender],\n )\n : null,\n ],\n )\n}\n\nBodyCell.props = cellProps\nexport default BodyCell\n"],"names":["key","cellProps","_a","_b","_c","_d","_e"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { PropType } from 'vue';
2
- import type { Bordered, ColumnsType, SearchConfig } from '../interface';
3
- import type { ProQueryFilterProps } from 'pro-design-vue/es/components/form';
2
+ import type { Bordered, SearchConfig } from '../interface';
3
+ import type { ProFormItemType, ProQueryFilterProps } from 'pro-design-vue/es/components/form';
4
4
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
5
  prefixCls: StringConstructor;
6
- columns: {
7
- type: PropType<ColumnsType>;
6
+ items: {
7
+ type: PropType<ProFormItemType[]>;
8
8
  default: () => never[];
9
9
  };
10
10
  search: {
@@ -39,8 +39,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
39
39
  };
40
40
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
41
41
  prefixCls: StringConstructor;
42
- columns: {
43
- type: PropType<ColumnsType>;
42
+ items: {
43
+ type: PropType<ProFormItemType[]>;
44
44
  default: () => never[];
45
45
  };
46
46
  search: {
@@ -78,8 +78,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
78
78
  search: SearchConfig;
79
79
  onReset: ((formData?: import("pro-design-vue").Entity | undefined) => void) | undefined;
80
80
  onSubmit: ((formData: import("pro-design-vue").Entity) => Promise<boolean | void> | boolean | void) | undefined;
81
+ items: ProFormItemType[];
81
82
  manual: boolean;
82
- columns: ColumnsType;
83
83
  beforeSearchSubmit: (params: Partial<any>) => any;
84
84
  cardBordered: Bordered;
85
85
  onFormSearchSubmit: (params: any) => void;
@@ -7,25 +7,10 @@ import { omit, omitUndefined } from '../../../../../utils/omit.mjs';
7
7
  function _isSlot(s) {
8
8
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
9
9
  }
10
- const flatColumnsHandle = (columns) => {
11
- const flatColumns = [];
12
- const loopColumns = (columns2) => {
13
- columns2.forEach((column) => {
14
- var _a;
15
- if ((_a = column == null ? void 0 : column.children) == null ? void 0 : _a.length) {
16
- loopColumns(column == null ? void 0 : column.children);
17
- } else {
18
- flatColumns.push(column);
19
- }
20
- });
21
- };
22
- loopColumns(columns);
23
- return flatColumns;
24
- };
25
10
  var FormRender = /* @__PURE__ */ defineComponent({
26
11
  props: {
27
12
  prefixCls: String,
28
- columns: {
13
+ items: {
29
14
  type: Array,
30
15
  default: () => []
31
16
  },
@@ -63,25 +48,6 @@ var FormRender = /* @__PURE__ */ defineComponent({
63
48
  setup: (props) => {
64
49
  var _a, _b, _c;
65
50
  const activeTabKey = ref(((_a = props.search) == null ? void 0 : _a.cardProps) !== false ? (_c = (_b = props.search) == null ? void 0 : _b.cardProps) == null ? void 0 : _c.activeTabKey : "");
66
- const formItems = computed(() => {
67
- var _a2, _b2, _c2;
68
- if ((_b2 = (_a2 = props.search) == null ? void 0 : _a2.items) == null ? void 0 : _b2.length) {
69
- return (_c2 = props.search) == null ? void 0 : _c2.items;
70
- }
71
- return flatColumnsHandle(props.columns).filter((item) => {
72
- if (item.hideInSearch) {
73
- return false;
74
- }
75
- return true;
76
- }).map((item) => {
77
- return {
78
- ...item,
79
- width: void 0,
80
- tooltip: item.headerTooltip,
81
- name: item.dataIndex
82
- };
83
- });
84
- });
85
51
  const cardProps = computed(() => {
86
52
  var _a2, _b2;
87
53
  if (!((_a2 = props.search) == null ? void 0 : _a2.cardProps)) {
@@ -116,7 +82,7 @@ var FormRender = /* @__PURE__ */ defineComponent({
116
82
  const searchDom = createVNode(ProQueryFilter, mergeProps({
117
83
  "class": `${props.prefixCls}-form`
118
84
  }, omit(props.search || {}, ["cardProps", "tabName"]), {
119
- "items": formItems.value,
85
+ "items": props.items,
120
86
  "loading": props.loading,
121
87
  "style": {
122
88
  marginBlockEnd: ((_a2 = props.search) == null ? void 0 : _a2.cardProps) !== false ? 0 : "40px"