switch-CKxlbFCo.js 7.7 KB

1
  1. import{a as e,n as t}from"./react-dom-stZKkA6x.js";import{Dn as n,Hn as r,Kt as i,Ln as a,Mn as o,Mr as s,Nn as c,Nr as l,Or as u,Tn as d,ar as f,cn as p,er as m,nr as h,qt as g,sn as _,xn as v,zn as y}from"./jsx-runtime-C5RSiriy.js";var b=e(t()),x=e(l()),S=[`prefixCls`,`className`,`checked`,`defaultChecked`,`disabled`,`loadingIcon`,`checkedChildren`,`unCheckedChildren`,`onClick`,`onChange`,`onKeyDown`],C=b.forwardRef(function(e,t){var n,r=e.prefixCls,i=r===void 0?`rc-switch`:r,a=e.className,o=e.checked,l=e.defaultChecked,d=e.disabled,m=e.loadingIcon,g=e.checkedChildren,_=e.unCheckedChildren,v=e.onClick,y=e.onChange,C=e.onKeyDown,w=h(e,S),T=f(c(!1,{value:o,defaultValue:l}),2),E=T[0],D=T[1];function O(e,t){var n=E;return d||(n=e,D(n),y?.(n,t)),n}function k(e){e.which===p.LEFT?O(!1,e):e.which===p.RIGHT&&O(!0,e),C?.(e)}function A(e){var t=O(!E,e);v?.(t,e)}var j=(0,x.default)(i,a,(n={},u(n,`${i}-checked`,E),u(n,`${i}-disabled`,d),n));return b.createElement(`button`,s({},w,{type:`button`,role:`switch`,"aria-checked":E,disabled:d,className:j,ref:t,onKeyDown:k,onClick:A}),m,b.createElement(`span`,{className:`${i}-inner`},b.createElement(`span`,{className:`${i}-inner-checked`},g),b.createElement(`span`,{className:`${i}-inner-unchecked`},_)))});C.displayName=`Switch`;var w=e=>{let{componentCls:t,trackHeightSM:n,trackPadding:r,trackMinWidthSM:i,innerMinMarginSM:a,innerMaxMarginSM:o,handleSizeSM:s,calc:c}=e,l=`${t}-inner`,u=m(c(s).add(c(r).mul(2)).equal()),d=m(c(o).mul(2).equal());return{[t]:{[`&${t}-small`]:{minWidth:i,height:n,lineHeight:m(n),[`${t}-inner`]:{paddingInlineStart:o,paddingInlineEnd:a,[`${l}-checked, ${l}-unchecked`]:{minHeight:n},[`${l}-checked`]:{marginInlineStart:`calc(-100% + ${u} - ${d})`,marginInlineEnd:`calc(100% - ${u} + ${d})`},[`${l}-unchecked`]:{marginTop:c(n).mul(-1).equal(),marginInlineStart:0,marginInlineEnd:0}},[`${t}-handle`]:{width:s,height:s},[`${t}-loading-icon`]:{top:c(c(s).sub(e.switchLoadingIconSize)).div(2).equal(),fontSize:e.switchLoadingIconSize},[`&${t}-checked`]:{[`${t}-inner`]:{paddingInlineStart:a,paddingInlineEnd:o,[`${l}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${l}-unchecked`]:{marginInlineStart:`calc(100% - ${u} + ${d})`,marginInlineEnd:`calc(-100% + ${u} - ${d})`}},[`${t}-handle`]:{insetInlineStart:`calc(100% - ${m(c(s).add(r).equal())})`}},[`&:not(${t}-disabled):active`]:{[`&:not(${t}-checked) ${l}`]:{[`${l}-unchecked`]:{marginInlineStart:c(e.marginXXS).div(2).equal(),marginInlineEnd:c(e.marginXXS).mul(-1).div(2).equal()}},[`&${t}-checked ${l}`]:{[`${l}-checked`]:{marginInlineStart:c(e.marginXXS).mul(-1).div(2).equal(),marginInlineEnd:c(e.marginXXS).div(2).equal()}}}}}}},T=e=>{let{componentCls:t,handleSize:n,calc:r}=e;return{[t]:{[`${t}-loading-icon${e.iconCls}`]:{position:`relative`,top:r(r(n).sub(e.fontSize)).div(2).equal(),color:e.switchLoadingIconColor,verticalAlign:`top`},[`&${t}-checked ${t}-loading-icon`]:{color:e.switchColor}}}},E=e=>{let{componentCls:t,trackPadding:n,handleBg:r,handleShadow:i,handleSize:a,calc:o}=e,s=`${t}-handle`;return{[t]:{[s]:{position:`absolute`,top:n,insetInlineStart:n,width:a,height:a,transition:`all ${e.switchDuration} ease-in-out`,"&::before":{position:`absolute`,top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,backgroundColor:r,borderRadius:o(a).div(2).equal(),boxShadow:i,transition:`all ${e.switchDuration} ease-in-out`,content:`""`}},[`&${t}-checked ${s}`]:{insetInlineStart:`calc(100% - ${m(o(a).add(n).equal())})`},[`&:not(${t}-disabled):active`]:{[`${s}::before`]:{insetInlineEnd:e.switchHandleActiveInset,insetInlineStart:0},[`&${t}-checked ${s}::before`]:{insetInlineEnd:0,insetInlineStart:e.switchHandleActiveInset}}}}},D=e=>{let{componentCls:t,trackHeight:n,trackPadding:r,innerMinMargin:i,innerMaxMargin:a,handleSize:o,calc:s}=e,c=`${t}-inner`,l=m(s(o).add(s(r).mul(2)).equal()),u=m(s(a).mul(2).equal());return{[t]:{[c]:{display:`block`,overflow:`hidden`,borderRadius:100,height:`100%`,paddingInlineStart:a,paddingInlineEnd:i,transition:`padding-inline-start ${e.switchDuration} ease-in-out, padding-inline-end ${e.switchDuration} ease-in-out`,[`${c}-checked, ${c}-unchecked`]:{display:`block`,color:e.colorTextLightSolid,fontSize:e.fontSizeSM,transition:`margin-inline-start ${e.switchDuration} ease-in-out, margin-inline-end ${e.switchDuration} ease-in-out`,pointerEvents:`none`,minHeight:n},[`${c}-checked`]:{marginInlineStart:`calc(-100% + ${l} - ${u})`,marginInlineEnd:`calc(100% - ${l} + ${u})`},[`${c}-unchecked`]:{marginTop:s(n).mul(-1).equal(),marginInlineStart:0,marginInlineEnd:0}},[`&${t}-checked ${c}`]:{paddingInlineStart:i,paddingInlineEnd:a,[`${c}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${c}-unchecked`]:{marginInlineStart:`calc(100% - ${l} + ${u})`,marginInlineEnd:`calc(-100% + ${l} - ${u})`}},[`&:not(${t}-disabled):active`]:{[`&:not(${t}-checked) ${c}`]:{[`${c}-unchecked`]:{marginInlineStart:s(r).mul(2).equal(),marginInlineEnd:s(r).mul(-1).mul(2).equal()}},[`&${t}-checked ${c}`]:{[`${c}-checked`]:{marginInlineStart:s(r).mul(-1).mul(2).equal(),marginInlineEnd:s(r).mul(2).equal()}}}}}},O=e=>{let{componentCls:t,trackHeight:r,trackMinWidth:i}=e;return{[t]:Object.assign(Object.assign(Object.assign(Object.assign({},n(e)),{position:`relative`,display:`inline-block`,boxSizing:`border-box`,minWidth:i,height:r,lineHeight:m(r),verticalAlign:`middle`,background:e.colorTextQuaternary,border:`0`,borderRadius:100,cursor:`pointer`,transition:`all ${e.motionDurationMid}`,userSelect:`none`,[`&:hover:not(${t}-disabled)`]:{background:e.colorTextTertiary}}),d(e)),{[`&${t}-checked`]:{background:e.switchColor,[`&:hover:not(${t}-disabled)`]:{background:e.colorPrimaryHover}},[`&${t}-loading, &${t}-disabled`]:{cursor:`not-allowed`,opacity:e.switchDisabledOpacity,"*":{boxShadow:`none`,cursor:`not-allowed`}},[`&${t}-rtl`]:{direction:`rtl`}})}},k=v(`Switch`,e=>{let t=o(e,{switchDuration:e.motionDurationMid,switchColor:e.colorPrimary,switchDisabledOpacity:e.opacityLoading,switchLoadingIconSize:e.calc(e.fontSizeIcon).mul(.75).equal(),switchLoadingIconColor:`rgba(0, 0, 0, ${e.opacityLoading})`,switchHandleActiveInset:`-30%`});return[O(t),D(t),E(t),T(t),w(t)]},e=>{let{fontSize:t,lineHeight:n,controlHeight:i,colorWhite:a}=e,o=t*n,s=i/2,c=o-4,l=s-4;return{trackHeight:o,trackHeightSM:s,trackMinWidth:c*2+8,trackMinWidthSM:l*2+4,trackPadding:2,handleBg:a,handleSize:c,handleSizeSM:l,handleShadow:`0 2px 4px 0 ${new r(`#00230b`).setA(.2).toRgbString()}`,innerMinMargin:c/2,innerMaxMargin:c+2+4,innerMinMarginSM:l/2,innerMaxMarginSM:l+2+4}}),A=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},j=b.forwardRef((e,t)=>{let{prefixCls:n,size:r,disabled:o,loading:s,className:l,rootClassName:u,style:d,checked:f,value:p,defaultChecked:m,defaultValue:h,onChange:v}=e,S=A(e,[`prefixCls`,`size`,`disabled`,`loading`,`className`,`rootClassName`,`style`,`checked`,`value`,`defaultChecked`,`defaultValue`,`onChange`]),[w,T]=c(!1,{value:f??p,defaultValue:m??h}),{getPrefixCls:E,direction:D,switch:O}=b.useContext(y),j=b.useContext(a),M=(o??j)||s,N=E(`switch`,n),P=b.createElement(`div`,{className:`${N}-handle`},s&&b.createElement(_,{className:`${N}-loading-icon`})),[F,I,L]=k(N),R=i(r),z=(0,x.default)(O?.className,{[`${N}-small`]:R===`small`,[`${N}-loading`]:s,[`${N}-rtl`]:D===`rtl`},l,u,I,L),B=Object.assign(Object.assign({},O?.style),d);return F(b.createElement(g,{component:`Switch`,disabled:M},b.createElement(C,Object.assign({},S,{checked:w,onChange:(...e)=>{T(e[0]),v?.apply(void 0,e)},prefixCls:N,className:z,style:B,disabled:M,ref:t,loadingIcon:P}))))});j.__ANT_SWITCH=!0;export{j as t};