Skip to content

Commit 0a1fb02

Browse files
committed
Core - Add transitionOpacity prop
1 parent 5bc0194 commit 0a1fb02

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/constants.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import type { UseFixedHeaderOptions } from './types'
33

44
export const TRANSITION_STYLES = {
55
enterStyles: {
6-
transition: `transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0s`,
6+
transition: `transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0s, opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0s`,
77
transform: 'translateY(0px)',
88
},
99
leaveStyles: {
10-
transition: `transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s`,
10+
transition: `transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s, opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0s`,
1111
transform: 'translateY(-101%)',
1212
},
1313
}

src/useFixedHeader.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,14 @@ export function useFixedHeader(
9393
if (isInstant) {
9494
setStyles({
9595
transform: leaveStyles.transform,
96+
...(config.transitionOpacity ? { opacity: 0 } : {}),
9697
visibility: 'hidden',
9798
})
9899
} else {
99-
setStyles({ transform: enterStyles.transform })
100+
setStyles({
101+
transform: enterStyles.transform,
102+
...(config.transitionOpacity ? { opacity: 1 } : {}),
103+
})
100104
}
101105

102106
internals.isMount = false
@@ -125,6 +129,7 @@ export function useFixedHeader(
125129

126130
setStyles({
127131
...enterStyles,
132+
...(config.transitionOpacity ? { opacity: 1 } : {}),
128133
visibility: '' as CSS['visibility'],
129134
})
130135

@@ -134,7 +139,7 @@ export function useFixedHeader(
134139
function onHidden() {
135140
if (state.value === State.LEAVE) return
136141

137-
setStyles(leaveStyles)
142+
setStyles({ ...leaveStyles, ...(config.transitionOpacity ? { opacity: 0 } : {}) })
138143

139144
setState(State.LEAVE)
140145

0 commit comments

Comments
 (0)