diff --git a/packages/patternfly-4/react-core/src/components/Tooltip/Tooltip.d.ts b/packages/patternfly-4/react-core/src/components/Tooltip/Tooltip.d.ts index f5e9cfd0d8b..7038af72b83 100644 --- a/packages/patternfly-4/react-core/src/components/Tooltip/Tooltip.d.ts +++ b/packages/patternfly-4/react-core/src/components/Tooltip/Tooltip.d.ts @@ -20,6 +20,10 @@ export interface TooltipProps extends Omit { children: ReactElement; /** Tooltip content */ content: ReactElement | string; + /** Delay in ms before a tooltip appears */ + entryDelay?: number; + /** Delay in ms before a tooltip disappears */ + exitDelay?: number; /** The element to append the tooltip to, defaults to body */ appendTo?: Element | ((ref: Element) => Element); /** z-index of the tooltip */ diff --git a/packages/patternfly-4/react-core/src/components/Tooltip/Tooltip.js b/packages/patternfly-4/react-core/src/components/Tooltip/Tooltip.js index d9d1efba190..0b4a7267d73 100644 --- a/packages/patternfly-4/react-core/src/components/Tooltip/Tooltip.js +++ b/packages/patternfly-4/react-core/src/components/Tooltip/Tooltip.js @@ -29,6 +29,10 @@ const propTypes = { content: PropTypes.node.isRequired, /** The reference element to which the tooltip is relatively placed to */ children: PropTypes.element.isRequired, + /** Delay in ms before the tooltip appears */ + entryDelay: PropTypes.number, + /** Delay in ms before the tooltip disappears */ + exitDelay: PropTypes.number, /** The element to append the tooltip to, defaults to body */ appendTo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]), /** z-index of the tooltip */ @@ -41,6 +45,8 @@ const defaultProps = { position: 'top', enableFlip: true, className: null, + entryDelay: 500, + exitDelay: 500, appendTo: () => document.body, zIndex: 9999, maxWidth: tooltipMaxWidth && tooltipMaxWidth.value @@ -72,6 +78,8 @@ class Tooltip extends React.Component { children, className, content: bodyContent, + entryDelay, + exitDelay, appendTo, zIndex, maxWidth, @@ -99,6 +107,7 @@ class Tooltip extends React.Component { theme="pf-tippy" performance placement={position} + delay={[entryDelay, exitDelay]} distance={15} flip={enableFlip} popperOptions={{ diff --git a/packages/patternfly-4/react-core/src/components/Tooltip/__snapshots__/Tooltip.test.js.snap b/packages/patternfly-4/react-core/src/components/Tooltip/__snapshots__/Tooltip.test.js.snap index 090df741a77..18684e21ff7 100644 --- a/packages/patternfly-4/react-core/src/components/Tooltip/__snapshots__/Tooltip.test.js.snap +++ b/packages/patternfly-4/react-core/src/components/Tooltip/__snapshots__/Tooltip.test.js.snap @@ -21,6 +21,12 @@ exports[`tooltip renders 1`] = ` } + delay={ + Array [ + 500, + 500, + ] + } distance={15} flip={true} lazy={true}