UNPKG

@cgi-learning-hub/ui

Version:

@cgi-learning-hub/ui is an open-source React component library that implements UI for HUB's features

2 lines (1 loc) 4.23 kB
"use strict";const W=require("react"),e=require("./index-kjfz41UI.cjs"),d=require("./DefaultPropsProvider-C1g4BXET.cjs"),X=require("./useFormControl-haP0iPhl.cjs"),k=require("./generateUtilityClasses-CENS22bI.cjs"),C=require("./useSlot-C-aMxEm0.cjs"),F=require("react/jsx-runtime"),Y=require("./useControlled-QrrYcKxm.cjs"),Z=require("./capitalize-3OjkeP9i.cjs"),ee=require("./ButtonBase-DSJojbNE.cjs"),oe=require("./refType-DJyA--UV.cjs");function te(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const c=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(s,n,c.get?c:{enumerable:!0,get:()=>t[n]})}}return s.default=t,Object.freeze(s)}const se=te(W);function re(t){return k.generateUtilityClass("PrivateSwitchBase",t)}k.generateUtilityClasses("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const ne=t=>{const{classes:s,checked:n,disabled:c,edge:a}=t,y={root:["root",n&&"checked",c&&"disabled",a&&`edge${Z.capitalize(a)}`],input:["input"]};return d.composeClasses(y,re,s)},pe=d.styled(ee.ButtonBase,{name:"MuiSwitchBase"})({padding:9,borderRadius:"50%",variants:[{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:({edge:t,ownerState:s})=>t==="start"&&s.size!=="small",style:{marginLeft:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}},{props:({edge:t,ownerState:s})=>t==="end"&&s.size!=="small",style:{marginRight:-12}}]}),ie=d.styled("input",{name:"MuiSwitchBase",shouldForwardProp:d.rootShouldForwardProp})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),R=se.forwardRef(function(s,n){const{autoFocus:c,checked:a,checkedIcon:y,defaultChecked:f,disabled:q,disableFocusRipple:T=!1,edge:x=!1,icon:j,id:O,inputProps:I,inputRef:z,name:N,onBlur:g,onChange:b,onFocus:h,readOnly:v,required:U=!1,tabIndex:D,type:u,value:m,slots:E={},slotProps:_={},...L}=s,[S,M]=Y.useControlled({controlled:a,default:!!f,name:"SwitchBase",state:"checked"}),p=X.useFormControl(),V=o=>{h&&h(o),p&&p.onFocus&&p.onFocus(o)},$=o=>{g&&g(o),p&&p.onBlur&&p.onBlur(o)},A=o=>{if(o.nativeEvent.defaultPrevented)return;const r=o.target.checked;M(r),b&&b(o,r)};let l=q;p&&typeof l>"u"&&(l=p.disabled);const G=u==="checkbox"||u==="radio",P={...s,checked:S,disabled:l,disableFocusRipple:T,edge:x},B=ne(P),w={slots:E,slotProps:{input:I,..._}},[H,J]=C.useSlot("root",{ref:n,elementType:pe,className:B.root,shouldForwardComponentProp:!0,externalForwardedProps:{...w,component:"span",...L},getSlotProps:o=>({...o,onFocus:r=>{var i;(i=o.onFocus)==null||i.call(o,r),V(r)},onBlur:r=>{var i;(i=o.onBlur)==null||i.call(o,r),$(r)}}),ownerState:P,additionalProps:{centerRipple:!0,focusRipple:!T,disabled:l,role:void 0,tabIndex:null}}),[K,Q]=C.useSlot("input",{ref:z,elementType:ie,className:B.input,externalForwardedProps:w,getSlotProps:o=>({...o,onChange:r=>{var i;(i=o.onChange)==null||i.call(o,r),A(r)}}),ownerState:P,additionalProps:{autoFocus:c,checked:a,defaultChecked:f,disabled:l,id:G?O:void 0,name:N,readOnly:v,required:U,tabIndex:D,type:u,...u==="checkbox"&&m===void 0?{}:{value:m}}});return F.jsxs(H,{...J,children:[F.jsx(K,{...Q}),S?y:j]})});process.env.NODE_ENV!=="production"&&(R.propTypes={autoFocus:e.PropTypes.bool,checked:e.PropTypes.bool,checkedIcon:e.PropTypes.node.isRequired,classes:e.PropTypes.object,className:e.PropTypes.string,defaultChecked:e.PropTypes.bool,disabled:e.PropTypes.bool,disableFocusRipple:e.PropTypes.bool,edge:e.PropTypes.oneOf(["end","start",!1]),icon:e.PropTypes.node.isRequired,id:e.PropTypes.string,inputProps:e.PropTypes.object,inputRef:oe.refType,name:e.PropTypes.string,onBlur:e.PropTypes.func,onChange:e.PropTypes.func,onFocus:e.PropTypes.func,readOnly:e.PropTypes.bool,required:e.PropTypes.bool,slotProps:e.PropTypes.shape({input:e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object]),root:e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object])}),slots:e.PropTypes.shape({input:e.PropTypes.elementType,root:e.PropTypes.elementType}),sx:e.PropTypes.object,tabIndex:e.PropTypes.oneOfType([e.PropTypes.number,e.PropTypes.string]),type:e.PropTypes.string.isRequired,value:e.PropTypes.any});exports.SwitchBase=R;