import { createElement, forwardRef, HTMLAttributes, Fragment, RefForwardingComponent, useContext } from 'rax'; import { StyledComponentProps } from '@rax-ui/styles'; import View from 'rax-view'; import Text from 'rax-text'; import Context from './context'; import { isNil, unit } from './utils'; export interface ThumbProps extends HTMLAttributes, StyledComponentProps { offset?: number; isActive?: boolean; tooltipVisible?: boolean; value?: number; } const Thumb: RefForwardingComponent = ({ offset, isActive, tooltipVisible, value }, ref) => { const { styles } = useContext(Context); let display: string; if (!isNil(tooltipVisible)) { display = tooltipVisible ? 'flex' : 'none'; } else { display = isActive ? 'flex' : 'none'; } const thumbStyle = isActive ? styles.thumbActive : styles.thumb; return ( {display === 'flex' && ( {`${value}`} )} ); }; Thumb.defaultProps = { offset: 0, }; export default forwardRef(Thumb);