UNPKG

@wordpress/components

Version:
65 lines (56 loc) 1.21 kB
/** * External dependencies */ import { noop } from 'lodash'; import classnames from 'classnames'; /** * WordPress dependencies */ import { forwardRef } from '@wordpress/element'; /** * Internal dependencies */ import Label from './label'; import { useResizeLabel, POSITIONS } from './utils'; import { Root } from './styles/resize-tooltip.styles'; function ResizeTooltip( { axis, className, fadeTimeout = 180, isVisible = true, labelRef, onResize = noop, position = POSITIONS.bottom, showPx = true, zIndex = 1000, ...props }, ref ) { const { label, resizeListener } = useResizeLabel( { axis, fadeTimeout, onResize, showPx, position, } ); if ( ! isVisible ) return null; const classes = classnames( 'components-resize-tooltip', className ); return ( <Root aria-hidden="true" className={ classes } ref={ ref } { ...props }> { resizeListener } <Label aria-hidden={ props[ 'aria-hidden' ] } fadeTimeout={ fadeTimeout } isVisible={ isVisible } label={ label } position={ position } ref={ labelRef } zIndex={ zIndex } /> </Root> ); } const ForwardedComponent = forwardRef( ResizeTooltip ); export default ForwardedComponent;