UNPKG

@bothub-chat/ui

Version:

Bothub UI Components

2 lines (1 loc) 909 B
import{jsx as e}from"react/jsx-runtime";import{useState as t,useCallback as a}from"react";import{RangeSettingsSlider as n}from"./styled.js";export{RangeSettingsRoot,RangeSettingsTrack}from"./styled.js";function r(e,t){return"number"==typeof e?e:Array.isArray(e)&&e.length>0?e[0]:t}const o=({className:o,min:l=0,max:m=100,step:s=1,value:i,defaultValue:u,disabled:c=!1,valueFormatter:d,onChange:h,onChangeComplete:p})=>{const f=void 0!==i,[g,x]=t(()=>null!=u?u:function(e,t,a){const n=e+(t-e)/2;if(null==a||a<=0)return Math.min(t,Math.max(e,n));const r=Math.round((n-e)/a);return Math.min(t,Math.max(e,e+r*a))}(l,m,s)),C=f?i:g,y=a(e=>{const t=r(e,C);f||x(t),null==h||h(t)},[f,h,C]),M=a(e=>{null==p||p(r(e,C))},[p,C]);return e(n,{className:o,min:l,max:m,step:s,value:C,disabled:c,$disabled:c,ariaValueTextFormatterForHandle:d,onChange:y,onChangeComplete:M})};export{o as RangeSettings,n as RangeSettingsSlider};