diff --git a/docs/src/components/common-ui/vben-drawer.md b/docs/src/components/common-ui/vben-drawer.md index 43cb9889c..044208555 100644 --- a/docs/src/components/common-ui/vben-drawer.md +++ b/docs/src/components/common-ui/vben-drawer.md @@ -101,6 +101,7 @@ const [Drawer, drawerApi] = useVbenDrawer({ | footerClass | modal底部区域的class | `string` | - | | headerClass | modal顶部区域的class | `string` | - | | zIndex | 抽屉的ZIndex层级 | `number` | `1000` | +| overlayBlur | 遮罩模糊度 | `number` | - | ::: info appendToMain diff --git a/docs/src/components/common-ui/vben-modal.md b/docs/src/components/common-ui/vben-modal.md index 45204bffa..f3e2a17bb 100644 --- a/docs/src/components/common-ui/vben-modal.md +++ b/docs/src/components/common-ui/vben-modal.md @@ -111,6 +111,7 @@ const [Modal, modalApi] = useVbenModal({ | headerClass | modal顶部区域的class | `string` | - | | bordered | 是否显示border | `boolean` | `false` | | zIndex | 弹窗的ZIndex层级 | `number` | `1000` | +| overlayBlur | 遮罩模糊度 | `number` | - | ::: info appendToMain diff --git a/packages/@core/ui-kit/popup-ui/src/drawer/drawer.ts b/packages/@core/ui-kit/popup-ui/src/drawer/drawer.ts index d2825bd61..c43677d3e 100644 --- a/packages/@core/ui-kit/popup-ui/src/drawer/drawer.ts +++ b/packages/@core/ui-kit/popup-ui/src/drawer/drawer.ts @@ -85,12 +85,16 @@ export interface DrawerProps { * 是否自动聚焦 */ openAutoFocus?: boolean; + /** + * 弹窗遮罩模糊效果 + */ + overlayBlur?: number; + /** * 抽屉位置 * @default right */ placement?: DrawerPlacement; - /** * 是否显示取消按钮 * @default true diff --git a/packages/@core/ui-kit/popup-ui/src/drawer/drawer.vue b/packages/@core/ui-kit/popup-ui/src/drawer/drawer.vue index 30687bd34..1b1a4a509 100644 --- a/packages/@core/ui-kit/popup-ui/src/drawer/drawer.vue +++ b/packages/@core/ui-kit/popup-ui/src/drawer/drawer.vue @@ -68,6 +68,7 @@ const { loading: showLoading, modal, openAutoFocus, + overlayBlur, placement, showCancelButton, showConfirmButton, @@ -140,6 +141,7 @@ const getAppendTo = computed(() => { :open="state?.isOpen" :side="placement" :z-index="zIndex" + :overlay-blur="overlayBlur" @close-auto-focus="handleFocusOutside" @closed="() => drawerApi?.onClosed()" @escape-key-down="escapeKeyDown" diff --git a/packages/@core/ui-kit/popup-ui/src/modal/modal.ts b/packages/@core/ui-kit/popup-ui/src/modal/modal.ts index e69019fb4..14225e8c7 100644 --- a/packages/@core/ui-kit/popup-ui/src/modal/modal.ts +++ b/packages/@core/ui-kit/popup-ui/src/modal/modal.ts @@ -99,6 +99,10 @@ export interface ModalProps { * 是否自动聚焦 */ openAutoFocus?: boolean; + /** + * 弹窗遮罩模糊效果 + */ + overlayBlur?: number; /** * 是否显示取消按钮 * @default true diff --git a/packages/@core/ui-kit/popup-ui/src/modal/modal.vue b/packages/@core/ui-kit/popup-ui/src/modal/modal.vue index 4e7d7ca78..ae02a245a 100644 --- a/packages/@core/ui-kit/popup-ui/src/modal/modal.vue +++ b/packages/@core/ui-kit/popup-ui/src/modal/modal.vue @@ -77,6 +77,7 @@ const { loading: showLoading, modal, openAutoFocus, + overlayBlur, showCancelButton, showConfirmButton, title, @@ -196,6 +197,7 @@ const getAppendTo = computed(() => { :open="state?.isOpen" :show-close="closable" :z-index="zIndex" + :overlay-blur="overlayBlur" close-class="top-3" @close-auto-focus="handleFocusOutside" @closed="() => modalApi?.onClosed()" diff --git a/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogContent.vue b/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogContent.vue index 67bf64a68..bf91f7e92 100644 --- a/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogContent.vue +++ b/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogContent.vue @@ -25,6 +25,7 @@ const props = withDefaults( closeClass?: ClassType; modal?: boolean; open?: boolean; + overlayBlur?: number; showClose?: boolean; zIndex?: number; } @@ -82,7 +83,12 @@ defineExpose({ diff --git a/packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetContent.vue b/packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetContent.vue index f8e22168c..4ab6231ce 100644 --- a/packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetContent.vue +++ b/packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetContent.vue @@ -17,6 +17,7 @@ interface SheetContentProps extends DialogContentProps { class?: any; modal?: boolean; open?: boolean; + overlayBlur?: number; side?: SheetVariants['side']; zIndex?: number; } @@ -75,12 +76,23 @@ function onAnimationEnd(event: AnimationEvent) { + + +

遮罩层应用类似毛玻璃的模糊效果

+ +