@@ -5,6 +5,7 @@ import * as React from 'react';
55import { forwardRef , useImperativeHandle , useRef } from 'react' ;
66import { placements } from './placements' ;
77import Popup from './Popup' ;
8+ import classNames from 'classnames' ;
89
910export interface TooltipProps
1011 extends Pick <
@@ -42,6 +43,18 @@ export interface TooltipProps
4243 id ?: string ;
4344 overlayInnerStyle ?: React . CSSProperties ;
4445 zIndex ?: number ;
46+ styles ?: TooltipStyles ;
47+ classNames ?: TooltipClassNames ;
48+ }
49+
50+ export interface TooltipStyles {
51+ root ?: React . CSSProperties ;
52+ inner ?: React . CSSProperties ;
53+ }
54+
55+ export interface TooltipClassNames {
56+ root ?: string ;
57+ inner ?: string ;
4558}
4659
4760export interface TooltipRef extends TriggerRef { }
@@ -70,6 +83,8 @@ const Tooltip = (props: TooltipProps, ref: React.Ref<TooltipRef>) => {
7083 overlay,
7184 id,
7285 showArrow = true ,
86+ classNames : tooltipClassNames ,
87+ styles : tooltipStyles ,
7388 ...restProps
7489 } = props ;
7590
@@ -82,14 +97,20 @@ const Tooltip = (props: TooltipProps, ref: React.Ref<TooltipRef>) => {
8297 }
8398
8499 const getPopupElement = ( ) => (
85- < Popup key = "content" prefixCls = { prefixCls } id = { id } overlayInnerStyle = { overlayInnerStyle } >
100+ < Popup
101+ key = "content"
102+ prefixCls = { prefixCls }
103+ id = { id }
104+ innerClassName = { tooltipClassNames ?. inner }
105+ overlayInnerStyle = { { ...overlayInnerStyle , ...tooltipStyles ?. inner } }
106+ >
86107 { overlay }
87108 </ Popup >
88109 ) ;
89110
90111 return (
91112 < Trigger
92- popupClassName = { overlayClassName }
113+ popupClassName = { classNames ( overlayClassName , tooltipClassNames ?. root ) }
93114 prefixCls = { prefixCls }
94115 popup = { getPopupElement }
95116 action = { trigger }
@@ -106,7 +127,7 @@ const Tooltip = (props: TooltipProps, ref: React.Ref<TooltipRef>) => {
106127 defaultPopupVisible = { defaultVisible }
107128 autoDestroy = { destroyTooltipOnHide }
108129 mouseLeaveDelay = { mouseLeaveDelay }
109- popupStyle = { overlayStyle }
130+ popupStyle = { { ... overlayStyle , ... tooltipStyles ?. root } }
110131 mouseEnterDelay = { mouseEnterDelay }
111132 arrow = { showArrow }
112133 { ...extraProps }
0 commit comments