@@ -25,8 +25,8 @@ const containerBaseStyles: React.CSSProperties = {
2525 position : "relative" ,
2626} ;
2727
28- const tooltipBaseStyles : React . CSSProperties = {
29- bottom : "26px" ,
28+ const tooltipBaseStyles = ( tooltipPosition : string ) : React . CSSProperties => ( {
29+ [ tooltipPosition === "above" ? " bottom" : "top" ] : "26px" ,
3030 maxWidth : "fit-content" ,
3131 position : "absolute" ,
3232 width : "auto" ,
@@ -41,10 +41,10 @@ const tooltipBaseStyles: React.CSSProperties = {
4141 padding : "6px 8px" ,
4242 borderRadius : "5px" ,
4343 opacity : 0 ,
44- transform : " translateY(-5px)" ,
44+ transform : ` translateY(${ tooltipPosition === "above" ? " -5px" : "5px" } )` ,
4545 visibility : "hidden" ,
4646 transition : "all 0.2s ease-in-out" ,
47- } ;
47+ } ) ;
4848
4949const toolTipVisibleStyles : React . CSSProperties = {
5050 opacity : 1 ,
@@ -60,6 +60,7 @@ const CopyMailTo = ({
6060 containerStyles = { } ,
6161 tooltipStyles = { } ,
6262 anchorStyles = { } ,
63+ tooltipPosition = "above" ,
6364} : {
6465 email : string ;
6566 children ?: React . ReactNode ;
@@ -68,6 +69,7 @@ const CopyMailTo = ({
6869 containerStyles ?: React . CSSProperties ;
6970 tooltipStyles ?: React . CSSProperties ;
7071 anchorStyles ?: React . CSSProperties ;
72+ tooltipPosition ?: string ;
7173} ) : JSX . Element => {
7274 const [ showCopied , setShowCopied ] = React . useState ( false ) ;
7375 const [ showTooltip , setShowTooltip ] = React . useState ( false ) ;
@@ -101,10 +103,10 @@ const CopyMailTo = ({
101103 } ;
102104
103105 const allTooltipStyles = {
104- ...tooltipBaseStyles ,
105- ...tooltipStyles ,
106- ...( showTooltip && toolTipVisibleStyles ) ,
107- } ;
106+ ...tooltipBaseStyles ( tooltipPosition ) ,
107+ ...tooltipStyles ,
108+ ...( showTooltip && toolTipVisibleStyles ) ,
109+ } ;
108110
109111 return (
110112 < span style = { allContainerStyles } >
0 commit comments