@chief-editor/ui
Version:
UI Component for chief editor
1 lines • 1.93 kB
JavaScript
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,a=1,n=arguments.length;a<n;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},__rest=this&&this.__rest||function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(a[n[o]]=e[n[o]])}return a};import{pick}from"@co-hooks/util";import{useRefCallback,useRefGetter}from"@rc-hooks/use";import React,{useCallback}from"react";import{usePrefixCls}from"../../hooks";import{INPUT_COMMON_ATTRS}from"../input-wrapper/const";import{useWaveAnimation}from"../../hooks";export function CheckWrapper(e){var t=e.type,a=e.checked,n=void 0!==a&&a,o=e.disabled,r=void 0!==o&&o,s=e.onChange,c=e.onValueChange,l=e.onClick,i=e.className,p=e.style,u=e.children,f=e.onBlur,m=e.onFocus,h=e.checkedWave,d=e.waveElementRef,k=__rest(e,["type","checked","disabled","onChange","onValueChange","onClick","className","style","children","onBlur","onFocus","checkedWave","waveElementRef"]),b=useRefGetter(r),C=useRefCallback(s),_=useRefCallback(l),g=useRefCallback(c),v=useCallback((function(e){if(b())return!1;C(e),g(e.target.checked)}),[]),y=useCallback((function(e){if("INPUT"===e.target.nodeName)return e.stopPropagation(),void e.nativeEvent.stopImmediatePropagation();_(e)}),[]),O=usePrefixCls("check-wrapper"),R=pick(k,INPUT_COMMON_ATTRS),P=R[0],N=R[1],w=useWaveAnimation({disabled:r||!h&&!n,elementRef:d,eventType:"input",pseudoElement:"before"});return React.createElement("label",__assign({},N,{onClick:y,className:i,style:p}),React.createElement("input",__assign({},P,{onBlur:f,onFocus:m,ref:w,className:O,disabled:r,type:t,checked:n,onChange:v})),u)}