UNPKG

@chief-editor/ui

Version:

UI Component for chief editor

1 lines 1.08 kB
import{RcHoverTrigger}from"@rc-hooks/popper";import{useDragger}from"@rc-hooks/region";import{useGuid}from"@rc-hooks/use";import React,{Fragment,memo,useCallback,useMemo,useRef,useState}from"react";import{usePrefixCls}from"../../hooks";import{TooltipContent}from"../tooltip/TooltipContent";export var SliderDragger=memo((function(e){var r=e.name,o=e.format,t=e.tooltip,a=e.draggable,i=void 0!==a&&a,s=e.invalid,n=void 0!==s&&s,l=useGuid(),g=useMemo((function(){return[l]}),[]),m=useRef(null),p=useDragger(m,r,i),u=p.offset,c=p.dragging,f=p.precision,d=useState(!1),v=d[0],C=d[1],x=usePrefixCls("slider-dragger",{invalid:n,dragging:c,selected:!0,disabled:!i}),R=usePrefixCls("slider-dragger-pop-wrapper"),h=useCallback((function(){return t||(o?o(f.x):f.x)}),[t,o,f]);return React.createElement(Fragment,null,React.createElement(RcHoverTrigger,{ref:m,className:x,triggerId:l,style:{left:u.x+"px"}}),React.createElement(TooltipContent,{refType:"trigger",refId:l,triggerIds:g,placement:"top",show:c||v,onVisibleChange:C,preventOverflow:!1,arrow:!0,wrapperClassName:R,content:h}))}));