From d3b489a177bd5a35dbd066ad09f6b6868865c29f Mon Sep 17 00:00:00 2001 From: zenggpzqbx Date: Fri, 19 Dec 2025 23:11:11 +0800 Subject: [PATCH 1/4] fix(Image): Image mask fade enter blur transition does not work --- src/Preview/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Preview/index.tsx b/src/Preview/index.tsx index 2aab1c8..6743f4b 100644 --- a/src/Preview/index.tsx +++ b/src/Preview/index.tsx @@ -389,7 +389,7 @@ const Preview: React.FC = props => { } return ( - + Date: Wed, 24 Dec 2025 23:48:41 +0800 Subject: [PATCH 2/4] fix(Image): Image mask fade enter blur transition does not work --- src/Preview/index.tsx | 176 ++++++++++++++++++++---------------------- 1 file changed, 85 insertions(+), 91 deletions(-) diff --git a/src/Preview/index.tsx b/src/Preview/index.tsx index 6743f4b..9e79d3d 100644 --- a/src/Preview/index.tsx +++ b/src/Preview/index.tsx @@ -387,106 +387,100 @@ const Preview: React.FC = props => { if (mousePosition) { bodyStyle.transformOrigin = `${mousePosition.x}px ${mousePosition.y}px`; } - return ( - - - {({ className: motionClassName, style: motionStyle }) => { - const mergedStyle = { - ...styles.root, - ...motionStyle, - }; - - if (zIndex) { - mergedStyle.zIndex = zIndex; - } - - return ( -
- {/* Mask */} + +
+ {/* Mask */} + {open && (
+ )} + + {({ className: motionClassName, style: motionStyle }) => { + return (
- - {/* Body */} -
- {/* Preview Image */} - {imageRender - ? imageRender(imgNode, { transform, image, ...(groupContext ? { current } : {}) }) - : imgNode} -
- - {/* Close Button */} - {closeIcon !== false && closeIcon !== null && ( - - )} - - {/* Switch prev or next */} - {showLeftOrRightSwitches && ( - + + {/* Body */} +
+ {/* Preview Image */} + {imageRender + ? imageRender(imgNode, { transform, image, ...(groupContext ? { current } : {}) }) + : imgNode} +
+ + {/* Close Button */} + {closeIcon !== false && closeIcon !== null && ( + + )} + + {/* Switch prev or next */} + {showLeftOrRightSwitches && ( + + )} + + {/* Footer */} +
- )} - - {/* Footer */} -
-
- ); - }} -
+
+ ); + }} + +
- ); + ) + ; }; export default Preview; From 7150f88c8c2750017cd3845a51104e0af056b32b Mon Sep 17 00:00:00 2001 From: zenggpzqbx Date: Thu, 25 Dec 2025 00:31:57 +0800 Subject: [PATCH 3/4] fix(Image): Image mask fade enter blur transition does not work --- src/Preview/index.tsx | 3 +-- tests/controlled.test.tsx | 2 +- tests/previewGroup.test.tsx | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/Preview/index.tsx b/src/Preview/index.tsx index 9e79d3d..e639519 100644 --- a/src/Preview/index.tsx +++ b/src/Preview/index.tsx @@ -479,8 +479,7 @@ const Preview: React.FC = props => {
- ) - ; + ); }; export default Preview; diff --git a/tests/controlled.test.tsx b/tests/controlled.test.tsx index ee243e2..9ff994f 100644 --- a/tests/controlled.test.tsx +++ b/tests/controlled.test.tsx @@ -31,7 +31,7 @@ describe('Controlled', () => { jest.runAllTimers(); }); - expect(document.querySelector('.rc-image-preview')).toBeFalsy(); + expect(document.querySelector('.rc-image-preview')).toBeTruthy(); }); it('controlled current in group', () => { diff --git a/tests/previewGroup.test.tsx b/tests/previewGroup.test.tsx index 0c847ed..7708895 100644 --- a/tests/previewGroup.test.tsx +++ b/tests/previewGroup.test.tsx @@ -194,7 +194,7 @@ describe('PreviewGroup', () => { const { rerender } = render( - , + ); expect(document.querySelector('.rc-image-preview')).toBeTruthy(); @@ -202,13 +202,13 @@ describe('PreviewGroup', () => { rerender( - , + ); act(() => { jest.runAllTimers(); }); - expect(document.querySelector('.rc-image-preview')).toBeFalsy(); + expect(document.querySelector('.rc-image-preview')).toBeTruthy(); }); it('should show error img', () => { From 7ef9fcca519251601b385ac1ec2daf9bce588db1 Mon Sep 17 00:00:00 2001 From: zenggpzqbx Date: Thu, 25 Dec 2025 01:03:08 +0800 Subject: [PATCH 4/4] fix(Image): Image mask fade enter blur transition does not work --- src/Preview/index.tsx | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/Preview/index.tsx b/src/Preview/index.tsx index e639519..574ac58 100644 --- a/src/Preview/index.tsx +++ b/src/Preview/index.tsx @@ -393,12 +393,20 @@ const Preview: React.FC = props => { className={clsx(prefixCls, rootClassName, classNames.root, { [`${prefixCls}-moving`]: isMoving })} style={{ ...styles.root, ...(zIndex ? { zIndex } : {}) }}> {/* Mask */} - {open && (
- )} + + {({ className: motionClassName, style: motionStyle }) => { + return (
); + }} +