UNPKG

monday-ui-react-core

Version:

Official monday.com UI resources for application development in React.js

3 lines (2 loc) 951 B
import e,{forwardRef as a,useMemo as i}from"react";import l from"classnames";import r from"../../hooks/useSwitch/index.js";import s from"./Switch.module.scss.js";var t=a((function(a,t){var c=a.id,n=a.name,d=a.value,o=a.role,h=a.disabled,m=a.ariaLabel,u=a.ariaLabelledBy,b=a.inputClassName,p=a.ariaControls,C=a.children,k=a.wrapperClassName,f=a["data-testid"],g=r({isDisabled:h,isChecked:a.checked,defaultChecked:a.defaultChecked,onChange:a.onChange}),v=g.onChange,w=g.isChecked,j=i((function(){return e.cloneElement(C,Object.assign(Object.assign({},null==C?void 0:C.props),{checked:w}))}),[C,w]);return e.createElement("label",{htmlFor:c,className:k},e.createElement("input",{ref:t,id:c,"aria-controls":p,value:d,name:n,type:"checkbox",className:l(s["hidden-switch"],b),checked:w,role:o||"switch",onChange:v,disabled:h,"aria-label":m,"aria-labelledby":u,"aria-checked":w,"data-testid":f}),j)}));export{t as Switch}; //# sourceMappingURL=Switch.js.map