@bothub-chat/ui
Version:
Bothub UI Components
2 lines (1 loc) • 1.96 kB
JavaScript
import{__rest as e}from"tslib";import{useState as o,useCallback as n,createElement as r}from"react";import{jsxs as t,jsx as i}from"react/jsx-runtime";import{Tooltip as l}from"../tooltip/index.js";import{RangeFieldStyled as a,RangeFieldLabel as d,RangeFieldFormattedValue as s,RangeFieldRange as m,RangeFieldRangeTrack as p,RangeFieldRangeThumb as u,RangeFieldSkeleton as h,RangeFieldErrorText as f}from"./styled.js";import{Skeleton as b}from"../skeleton/index.js";import{useTooltip as c,TooltipConsumer as v}from"../tooltip/context.js";const y=y=>{var{label:k,error:x,min:g,max:P,step:j,value:L,fullWidth:T=!1,disabled:M=!1,skeleton:$=!1,onChange:E,formatValue:C,onPointerLeave:O}=y,W=e(y,["label","error","min","max","step","value","fullWidth","disabled","skeleton","onChange","formatValue","onPointerLeave"]);const{handleTooltipMouseEnter:A,handleTooltipMouseLeave:B}=c(),[I,V]="number"==typeof L||Array.isArray(L)?[L,E]:o([0]),w=n((e=>{null==V||V(e)}),[V]);return t(a,{$fullWidth:T,$disabled:M,onPointerLeave:O,children:[k&&$&&i(d,{children:i(b,{width:100})}),"string"==typeof k&&!$&&i(d,{onPointerLeave:A,onPointerEnter:B,children:k}),"string"!=typeof k&&!$&&k,C&&i(s,{children:C(I)}),!$&&i(l,{label:String(I),disabled:M,children:i(v,{children:({handleTooltipMouseEnter:o,handleTooltipMouseLeave:n,handleTooltipPointerMove:t})=>i(m,Object.assign({},W,{min:g,max:P,step:j,value:I,disabled:M,renderTrack:(o,n)=>{var{key:t}=o,i=e(o,["key"]);return r(p,Object.assign({},i,{key:t,$index:n.index,$disabled:M}))},renderThumb:i=>{var{key:l}=i,a=e(i,["key"]);return r(u,Object.assign({},a,{onBeforeInput:a.onBeforeInput,key:l,$disabled:M,onPointerMove:t,onPointerEnter:o,onPointerLeave:n}))},onChange:w}))})}),$&&i(h,{}),x&&i(f,{children:x})]})};export{y as RangeField,f as RangeFieldErrorText,s as RangeFieldFormattedValue,d as RangeFieldLabel,m as RangeFieldRange,u as RangeFieldRangeThumb,p as RangeFieldRangeTrack,h as RangeFieldSkeleton,a as RangeFieldStyled};