From 5ba018070a790a54342fb1fc6ee4ab843e58a782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E4=BC=9F=E6=9D=B0?= <674416404@qq.com> Date: Fri, 26 Dec 2025 10:41:33 +0800 Subject: [PATCH 1/6] =?UTF-8?q?fix(fake-arrow):=20=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=97=8B=E8=BD=AC=E7=AE=AD=E5=A4=B4=E5=9C=A8safari=20=20?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=97=8B=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- style/web/_global.less | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/style/web/_global.less b/style/web/_global.less index ff194fece2..1cc3d428ba 100644 --- a/style/web/_global.less +++ b/style/web/_global.less @@ -20,13 +20,14 @@ // 统一的可旋转箭头 .@{prefix}-fake-arrow { path { - transition: d @anim-duration-base; + transition: transform @anim-duration-base; stroke: currentcolor; + transform-origin: center; } &--active { path { - d: path('M3.75 10.2002L7.99274 5.7998L12.2361 10.0425'); + transform: rotate(180deg); } } } From 90871c44f35b409ffb6b5398786c0098bb3e7f64 Mon Sep 17 00:00:00 2001 From: lwj <674416404@qq.com> Date: Sat, 27 Dec 2025 01:30:58 +0800 Subject: [PATCH 2/6] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=BF=BB=E8=BD=AC?= =?UTF-8?q?=E6=96=B9=E5=90=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- style/web/_global.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/style/web/_global.less b/style/web/_global.less index 1cc3d428ba..531b606fff 100644 --- a/style/web/_global.less +++ b/style/web/_global.less @@ -27,7 +27,7 @@ &--active { path { - transform: rotate(180deg); + transform: scaleY(-1); } } } From c538b1d48cf5e61f7bcd69277175b6eb56a3487b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E4=BC=9F=E6=9D=B0?= <674416404@qq.com> Date: Sun, 4 Jan 2026 15:11:26 +0800 Subject: [PATCH 3/6] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9Etransform=20class?= =?UTF-8?q?=20=E5=85=BC=E5=AE=B9=20Safari?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/utils/helper.ts | 6 ++++++ style/web/_global.less | 20 +++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/js/utils/helper.ts b/js/utils/helper.ts index 1bce9457d5..66f54fd28c 100644 --- a/js/utils/helper.ts +++ b/js/utils/helper.ts @@ -257,3 +257,9 @@ export function calculateNodeSize(targetElement: HTMLElement) { sizingStyle, }; } + +export function isSafari(): boolean { + if (typeof navigator === 'undefined' || !navigator) return false; + const ua = navigator.userAgent; + return /Safari/.test(ua) && !/Chrome/.test(ua); +} diff --git a/style/web/_global.less b/style/web/_global.less index 531b606fff..ca08b76c66 100644 --- a/style/web/_global.less +++ b/style/web/_global.less @@ -20,18 +20,32 @@ // 统一的可旋转箭头 .@{prefix}-fake-arrow { path { - transition: transform @anim-duration-base; + transition: d @anim-duration-base; stroke: currentcolor; - transform-origin: center; } &--active { path { - transform: scaleY(-1); + d: path('M3.75 10.2002L7.99274 5.7998L12.2361 10.0425'); } } } +// Safari 兼容方案: 使用 transform 而非 d 动画 +// Safari 不支持对 path 的 d 属性进行动画 +.@{prefix}-fake-arrow.@{prefix}-fake-arrow--transform { + path { + transition: transform @anim-duration-base; + transform-origin: center; + stroke: currentcolor; + } + &.@{prefix}-fake-arrow--active { + path { + transform: scaleY(-1); + } + } +} + .@{prefix}-slide-down-enter-active, .@{prefix}-slide-down-leave-active { transition: From a02432236ff51569b67e3ab53c582f2734d96e7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E4=BC=9F=E6=9D=B0?= <674416404@qq.com> Date: Sun, 4 Jan 2026 15:15:34 +0800 Subject: [PATCH 4/6] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/utils/helper.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/js/utils/helper.ts b/js/utils/helper.ts index 66f54fd28c..1111f6cfad 100644 --- a/js/utils/helper.ts +++ b/js/utils/helper.ts @@ -259,7 +259,6 @@ export function calculateNodeSize(targetElement: HTMLElement) { } export function isSafari(): boolean { - if (typeof navigator === 'undefined' || !navigator) return false; - const ua = navigator.userAgent; + const ua = window?.navigator?.userAgent; return /Safari/.test(ua) && !/Chrome/.test(ua); } From 795e5294d0cd47211915560d749d866576153618 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E4=BC=9F=E6=9D=B0?= <674416404@qq.com> Date: Sun, 4 Jan 2026 15:26:02 +0800 Subject: [PATCH 5/6] chore: fix lint --- style/web/_global.less | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/style/web/_global.less b/style/web/_global.less index ca08b76c66..053e05e731 100644 --- a/style/web/_global.less +++ b/style/web/_global.less @@ -34,15 +34,15 @@ // Safari 兼容方案: 使用 transform 而非 d 动画 // Safari 不支持对 path 的 d 属性进行动画 .@{prefix}-fake-arrow.@{prefix}-fake-arrow--transform { - path { + path { transition: transform @anim-duration-base; transform-origin: center; stroke: currentcolor; - } + } &.@{prefix}-fake-arrow--active { - path { + path { transform: scaleY(-1); - } + } } } From 987ed8ea71a7f92917e7c889ed150e95ddb36332 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E4=BC=9F=E6=9D=B0?= <674416404@qq.com> Date: Sun, 4 Jan 2026 16:15:43 +0800 Subject: [PATCH 6/6] chore: remove stroke --- style/web/_global.less | 1 - 1 file changed, 1 deletion(-) diff --git a/style/web/_global.less b/style/web/_global.less index 053e05e731..a47a971458 100644 --- a/style/web/_global.less +++ b/style/web/_global.less @@ -37,7 +37,6 @@ path { transition: transform @anim-duration-base; transform-origin: center; - stroke: currentcolor; } &.@{prefix}-fake-arrow--active { path {