@chief-editor/ui
Version:
UI Component for chief editor
1 lines • 1.94 kB
JavaScript
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,r=1,a=arguments.length;r<a;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__rest=this&&this.__rest||function(e,t){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(a=Object.getOwnPropertySymbols(e);n<a.length;n++)t.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(e,a[n])&&(r[a[n]]=e[a[n]])}return r};import{RcRegionProvider,useSimpleRegion}from"@rc-hooks/region";import{useRefCallback}from"@rc-hooks/use";import{classnames}from"@co-hooks/util";import React,{memo,useCallback}from"react";import{usePrefixCls}from"../../hooks";import{InputNumberContent}from"../input-number/InputNumberContent";import{SliderContent}from"./SliderContent";export var Slider=memo((function(e){var t=e.strict,r=e.value,a=e.step,n=e.min,i=e.max,s=e.precision,o=e.onChange,l=e.onValueChange,m=e.format,c=e.parse,p=e.withInput,u=void 0!==p&&p,f=e.disabled,d=e.markList,b=e.invalid,g=e.style,h=e.className,v=__rest(e,["strict","value","step","min","max","precision","onChange","onValueChange","format","parse","withInput","disabled","markList","invalid","style","className"]),C=useRefCallback(o),y=useRefCallback(l),R=useCallback((function(e){C(e),y(e)}),[]),_=useSimpleRegion({strict:t,value:r,step:a,min:n,max:i,precision:s},R),k=_[0],O=_[1],S=classnames(usePrefixCls("slider",{}),h),x=usePrefixCls("slider-input",{});return React.createElement(RcRegionProvider,{region:k},React.createElement("div",__assign({className:S,style:g},v),React.createElement(SliderContent,{format:m,disabled:f,markList:d,showStart:!1,invalid:b,rangeStart:0,rangeEnd:O}),u&&React.createElement("div",{className:x},React.createElement(InputNumberContent,{disabled:f,format:m,parse:c}))))}));