Skip to content

Commit e0f6ea0

Browse files
committed
fix(components/Popover): fix animation bug caused by key placement
1 parent b216a8d commit e0f6ea0

File tree

2 files changed

+3
-24
lines changed

2 files changed

+3
-24
lines changed

packages/components/src/components/Popover/Popover.module.css

+2-22
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,8 @@
66
background-color: var(--kbq-background-bg);
77
inline-size: var(--popover-inline-size);
88
transition:
9-
opacity var(--kbq-transition-slow),
10-
transform var(--kbq-transition-slow);
11-
}
12-
13-
.base[data-placement='top'] {
14-
--popover-transform: translateY(-16px);
15-
}
16-
17-
.base[data-placement='bottom'] {
18-
--popover-transform: translateY(16px);
19-
}
20-
21-
.base[data-placement='left'] {
22-
--popover-transform: translateX(-16px);
23-
}
24-
25-
.base[data-placement='right'] {
26-
--popover-transform: translateX(16px);
9+
opacity var(--kbq-transition-default),
10+
transform var(--kbq-transition-default);
2711
}
2812

2913
.base[data-placement='top'][data-arrow='true'] {
@@ -87,20 +71,16 @@
8771
/* transition */
8872
.base[data-transition='entering'] {
8973
opacity: 1;
90-
transform: translate(0);
9174
}
9275

9376
.base[data-transition='entered'] {
9477
opacity: 1;
95-
transform: translate(0);
9678
}
9779

9880
.base[data-transition='exiting'] {
9981
opacity: 0;
100-
transform: var(--popover-transform);
10182
}
10283

10384
.base[data-transition='exited'] {
10485
opacity: 0;
105-
transform: var(--popover-transform);
10686
}

packages/components/src/components/Popover/Popover.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,9 @@ export const Popover = forwardRef<ComponentRef<'div'>, PopoverProps>(
134134
})}
135135
<Transition
136136
onEnter={on}
137-
timeout={300}
137+
timeout={120}
138138
onExited={off}
139139
in={openState}
140-
key={placement}
141140
nodeRef={domRef}
142141
unmountOnExit
143142
appear

0 commit comments

Comments
 (0)