From 9a2acced0d7faefb870c1f722b43e70c60d3ef2d Mon Sep 17 00:00:00 2001
From: neverland <chenjiahan@youzan.com>
Date: Tue, 14 Dec 2021 21:01:52 +0800
Subject: [PATCH] feat(ImagePreview): add overlayStyle option (#10043)

---
 src/image-preview/ImagePreview.js | 1 +
 src/image-preview/README.md       | 2 ++
 src/image-preview/README.zh-CN.md | 2 ++
 src/image-preview/index.js        | 1 +
 types/image-preview.d.ts          | 1 +
 5 files changed, 7 insertions(+)

diff --git a/src/image-preview/ImagePreview.js b/src/image-preview/ImagePreview.js
index 88cb3de3b..0c17c5532 100644
--- a/src/image-preview/ImagePreview.js
+++ b/src/image-preview/ImagePreview.js
@@ -27,6 +27,7 @@ export default createComponent({
     className: null,
     closeable: Boolean,
     asyncClose: Boolean,
+    overlayStyle: Object,
     showIndicators: Boolean,
     images: {
       type: Array,
diff --git a/src/image-preview/README.md b/src/image-preview/README.md
index e8c182acd..e3b0340bf 100644
--- a/src/image-preview/README.md
+++ b/src/image-preview/README.md
@@ -130,6 +130,7 @@ export default {
 | closeIcon `v2.5.0` | Close icon name | _string_ | `clear` |
 | closeIconPosition `v2.5.0` | Close icon position,can be set to `top-left` `bottom-left` `bottom-right` | _string_ | `top-right` |
 | transition `v2.12.8` | Transition, equivalent to `name` prop of [transition](https://vuejs.org/v2/api/#transition) | _string_ | `van-fade` |
+| overlayStyle `v2.12.37` | Custom overlay style | _object_ | - |
 | getContainer | Return the mount node for ImagePreview | _string \| () => Element_ | - |
 
 ### Props
@@ -151,6 +152,7 @@ export default {
 | close-icon `v2.5.0` | Close icon name | _string_ | `clear` |
 | close-icon-position `v2.5.0` | Close icon position,can be set to `top-left` `bottom-left` `bottom-right` | _string_ | `top-right` |
 | transition `v2.12.8` | Transition, equivalent to `name` prop of [transition](https://vuejs.org/v2/api/#transition) | _string_ | `van-fade` |
+| overlay-style `v2.12.37` | Custom overlay style | _object_ | - |
 | get-container | Return the mount node for ImagePreview | _string \| () => Element_ | - |
 
 ### Events
diff --git a/src/image-preview/README.zh-CN.md b/src/image-preview/README.zh-CN.md
index d00a20674..8fa1cbc03 100644
--- a/src/image-preview/README.zh-CN.md
+++ b/src/image-preview/README.zh-CN.md
@@ -166,6 +166,7 @@ export default {
 | closeIcon `v2.5.0` | 关闭图标名称或图片链接 | _string_ | `clear` |
 | closeIconPosition `v2.5.0` | 关闭图标位置,可选值为`top-left`<br>`bottom-left` `bottom-right` | _string_ | `top-right` |
 | transition `v2.12.8` | 动画类名,等价于 [transition](https://cn.vuejs.org/v2/api/index.html#transition) 的 `name` 属性 | _string_ | `van-fade` |
+| overlayStyle `v2.12.37` | 自定义遮罩层样式 | _object_ | - |
 | getContainer | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | _string \| () => Element_ | - |
 
 ### Props
@@ -189,6 +190,7 @@ export default {
 | close-icon `v2.5.0` | 关闭图标名称或图片链接 | _string_ | `clear` |
 | close-icon-position `v2.5.0` | 关闭图标位置,可选值为`top-left`<br>`bottom-left` `bottom-right` | _string_ | `top-right` |
 | transition `v2.12.8` | 动画类名,等价于 [transition](https://cn.vuejs.org/v2/api/index.html#transition) 的 `name` 属性 | _string_ | `van-fade` |
+| overlay-style `v2.12.37` | 自定义遮罩层样式 | _object_ | - |
 | get-container | 指定挂载的节点,[用法示例](#/zh-CN/popup#zhi-ding-gua-zai-wei-zhi) | _string \| () => Element_ | - |
 
 ### Events
diff --git a/src/image-preview/index.js b/src/image-preview/index.js
index 699a5c844..faa49f84f 100644
--- a/src/image-preview/index.js
+++ b/src/image-preview/index.js
@@ -19,6 +19,7 @@ const defaultConfig = {
   asyncClose: false,
   transition: 'van-fade',
   getContainer: 'body',
+  overlayStyle: null,
   startPosition: 0,
   swipeDuration: 300,
   showIndicators: false,
diff --git a/types/image-preview.d.ts b/types/image-preview.d.ts
index 1382a981d..42668cc58 100644
--- a/types/image-preview.d.ts
+++ b/types/image-preview.d.ts
@@ -15,6 +15,7 @@ export type ImagePreviewOptions =
       closeIcon?: string;
       asyncClose?: boolean;
       transition?: string;
+      overlayStyle?: object;
       swipeDuration?: number;
       startPosition?: number;
       showIndicators?: boolean;