diff --git a/.changeset/dirty-shrimps-talk.md b/.changeset/dirty-shrimps-talk.md new file mode 100644 index 0000000000..22da6e5f63 --- /dev/null +++ b/.changeset/dirty-shrimps-talk.md @@ -0,0 +1,5 @@ +--- +"@channel.io/bezier-react": patch +--- + +Fix to pass missing property of `Overlay` component. diff --git a/packages/bezier-react/src/components/Overlay/Overlay.styled.ts b/packages/bezier-react/src/components/Overlay/Overlay.styled.ts index 0af92a39cf..37d1404b07 100644 --- a/packages/bezier-react/src/components/Overlay/Overlay.styled.ts +++ b/packages/bezier-react/src/components/Overlay/Overlay.styled.ts @@ -53,4 +53,6 @@ export const Overlay = styled.div` foundation?.transition?.TransitionDuration.S, ) )}; + + ${({ interpolation }) => interpolation} ` diff --git a/packages/bezier-react/src/components/Overlay/Overlay.tsx b/packages/bezier-react/src/components/Overlay/Overlay.tsx index 10453128df..a970348e58 100644 --- a/packages/bezier-react/src/components/Overlay/Overlay.tsx +++ b/packages/bezier-react/src/components/Overlay/Overlay.tsx @@ -46,8 +46,10 @@ function Overlay( enableClickOutside = false, children, onHide = noop, + onTransitionEnd = noop, + ...rest }: OverlayProps, - forwardedRef: Ref, + forwardedRef: Ref, ) { // NOTE: DOM render 가 필요한지 여부를 결정하는 state const [shouldRender, setShouldRender] = useState(false) @@ -67,7 +69,7 @@ function Overlay( }, []) const handleContainerRect = useCallback(() => { - const containerElement = container || getRootElement() as HTMLElement + const containerElement = container || getRootElement() const { width: containerWidth, @@ -126,11 +128,15 @@ function Overlay( handleTargetRect, ]) - const handleTransitionEnd = useCallback(() => { + const handleTransitionEnd = useCallback>((event) => { + onTransitionEnd(event) if (!show) { setShouldRender(false) } - }, [show]) + }, [ + show, + onTransitionEnd, + ]) const handleBlockMouseWheel = useCallback((event: HTMLElementEventMap['wheel']) => { event.stopPropagation() @@ -176,6 +182,7 @@ function Overlay( marginY={marginY} keepInContainer={keepInContainer} onTransitionEnd={handleTransitionEnd} + {...rest} > { children } @@ -276,7 +283,7 @@ function Overlay( return ReactDOM.createPortal( overlay, - container || getRootElement() as HTMLElement, + container || getRootElement(), ) }