@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) • 11.9 kB
JavaScript
;const U=require("react"),t=require("./index-DLnSn8GT.cjs"),i=require("./identifier-BoZelETM.cjs"),s=require("./DefaultPropsProvider-Cnf49AIv.cjs"),H=require("./memoTheme-BKfsJx_F.cjs"),A=require("./createSimplePaletteValueFilter-PTK3TAhW.cjs"),l=require("react/jsx-runtime"),J=require("./useId-DNXtOFeX.cjs"),K=require("./ButtonBase-Dp6sf_dP.cjs"),Q=require("./CircularProgress-CXXyPavb.cjs");function X(o){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const n in o)if(n!=="default"){const e=Object.getOwnPropertyDescriptor(o,n);Object.defineProperty(a,n,e.get?e:{enumerable:!0,get:()=>o[n]})}}return a.default=o,Object.freeze(a)}const b=X(U);function Y(o){return i.generateUtilityClass("MuiButton",o)}const c=i.generateUtilityClasses("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge","loading","loadingWrapper","loadingIconPlaceholder","loadingIndicator","loadingPositionCenter","loadingPositionStart","loadingPositionEnd"]),R=b.createContext({});process.env.NODE_ENV!=="production"&&(R.displayName="ButtonGroupContext");const N=b.createContext(void 0);process.env.NODE_ENV!=="production"&&(N.displayName="ButtonGroupButtonContext");const Z=o=>{const{color:a,disableElevation:n,fullWidth:e,size:u,variant:g,loading:y,loadingPosition:P,classes:x}=o,f={root:["root",y&&"loading",g,`${g}${i.capitalize(a)}`,`size${i.capitalize(u)}`,`${g}Size${i.capitalize(u)}`,`color${i.capitalize(a)}`,n&&"disableElevation",e&&"fullWidth",y&&`loadingPosition${i.capitalize(P)}`],startIcon:["icon","startIcon",`iconSize${i.capitalize(u)}`],endIcon:["icon","endIcon",`iconSize${i.capitalize(u)}`],loadingIndicator:["loadingIndicator"],loadingWrapper:["loadingWrapper"]},S=s.composeClasses(f,Y,x);return{...x,...S}},E=[{props:{size:"small"},style:{"& > *:nth-of-type(1)":{fontSize:18}}},{props:{size:"medium"},style:{"& > *:nth-of-type(1)":{fontSize:20}}},{props:{size:"large"},style:{"& > *:nth-of-type(1)":{fontSize:22}}}],oo=s.styled(K.ButtonBase,{shouldForwardProp:o=>s.rootShouldForwardProp(o)||o==="classes",name:"MuiButton",slot:"Root",overridesResolver:(o,a)=>{const{ownerState:n}=o;return[a.root,a[n.variant],a[`${n.variant}${i.capitalize(n.color)}`],a[`size${i.capitalize(n.size)}`],a[`${n.variant}Size${i.capitalize(n.size)}`],n.color==="inherit"&&a.colorInherit,n.disableElevation&&a.disableElevation,n.fullWidth&&a.fullWidth,n.loading&&a.loading]}})(H.memoTheme(({theme:o})=>{const a=o.palette.mode==="light"?o.palette.grey[300]:o.palette.grey[800],n=o.palette.mode==="light"?o.palette.grey.A100:o.palette.grey[700];return{...o.typography.button,minWidth:64,padding:"6px 16px",border:0,borderRadius:(o.vars||o).shape.borderRadius,transition:o.transitions.create(["background-color","box-shadow","border-color","color"],{duration:o.transitions.duration.short}),"&:hover":{textDecoration:"none"},[`&.${c.disabled}`]:{color:(o.vars||o).palette.action.disabled},variants:[{props:{variant:"contained"},style:{color:"var(--variant-containedColor)",backgroundColor:"var(--variant-containedBg)",boxShadow:(o.vars||o).shadows[2],"&:hover":{boxShadow:(o.vars||o).shadows[4],"@media (hover: none)":{boxShadow:(o.vars||o).shadows[2]}},"&:active":{boxShadow:(o.vars||o).shadows[8]},[`&.${c.focusVisible}`]:{boxShadow:(o.vars||o).shadows[6]},[`&.${c.disabled}`]:{color:(o.vars||o).palette.action.disabled,boxShadow:(o.vars||o).shadows[0],backgroundColor:(o.vars||o).palette.action.disabledBackground}}},{props:{variant:"outlined"},style:{padding:"5px 15px",border:"1px solid currentColor",borderColor:"var(--variant-outlinedBorder, currentColor)",backgroundColor:"var(--variant-outlinedBg)",color:"var(--variant-outlinedColor)",[`&.${c.disabled}`]:{border:`1px solid ${(o.vars||o).palette.action.disabledBackground}`}}},{props:{variant:"text"},style:{padding:"6px 8px",color:"var(--variant-textColor)",backgroundColor:"var(--variant-textBg)"}},...Object.entries(o.palette).filter(A.createSimplePaletteValueFilter()).map(([e])=>({props:{color:e},style:{"--variant-textColor":(o.vars||o).palette[e].main,"--variant-outlinedColor":(o.vars||o).palette[e].main,"--variant-outlinedBorder":o.vars?`rgba(${o.vars.palette[e].mainChannel} / 0.5)`:i.alpha(o.palette[e].main,.5),"--variant-containedColor":(o.vars||o).palette[e].contrastText,"--variant-containedBg":(o.vars||o).palette[e].main,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":(o.vars||o).palette[e].dark,"--variant-textBg":o.vars?`rgba(${o.vars.palette[e].mainChannel} / ${o.vars.palette.action.hoverOpacity})`:i.alpha(o.palette[e].main,o.palette.action.hoverOpacity),"--variant-outlinedBorder":(o.vars||o).palette[e].main,"--variant-outlinedBg":o.vars?`rgba(${o.vars.palette[e].mainChannel} / ${o.vars.palette.action.hoverOpacity})`:i.alpha(o.palette[e].main,o.palette.action.hoverOpacity)}}}})),{props:{color:"inherit"},style:{color:"inherit",borderColor:"currentColor","--variant-containedBg":o.vars?o.vars.palette.Button.inheritContainedBg:a,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":o.vars?o.vars.palette.Button.inheritContainedHoverBg:n,"--variant-textBg":o.vars?`rgba(${o.vars.palette.text.primaryChannel} / ${o.vars.palette.action.hoverOpacity})`:i.alpha(o.palette.text.primary,o.palette.action.hoverOpacity),"--variant-outlinedBg":o.vars?`rgba(${o.vars.palette.text.primaryChannel} / ${o.vars.palette.action.hoverOpacity})`:i.alpha(o.palette.text.primary,o.palette.action.hoverOpacity)}}}},{props:{size:"small",variant:"text"},style:{padding:"4px 5px",fontSize:o.typography.pxToRem(13)}},{props:{size:"large",variant:"text"},style:{padding:"8px 11px",fontSize:o.typography.pxToRem(15)}},{props:{size:"small",variant:"outlined"},style:{padding:"3px 9px",fontSize:o.typography.pxToRem(13)}},{props:{size:"large",variant:"outlined"},style:{padding:"7px 21px",fontSize:o.typography.pxToRem(15)}},{props:{size:"small",variant:"contained"},style:{padding:"4px 10px",fontSize:o.typography.pxToRem(13)}},{props:{size:"large",variant:"contained"},style:{padding:"8px 22px",fontSize:o.typography.pxToRem(15)}},{props:{disableElevation:!0},style:{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${c.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${c.disabled}`]:{boxShadow:"none"}}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{loadingPosition:"center"},style:{transition:o.transitions.create(["background-color","box-shadow","border-color"],{duration:o.transitions.duration.short}),[`&.${c.loading}`]:{color:"transparent"}}}]}})),to=s.styled("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(o,a)=>{const{ownerState:n}=o;return[a.startIcon,n.loading&&a.startIconLoadingStart,a[`iconSize${i.capitalize(n.size)}`]]}})(({theme:o})=>({display:"inherit",marginRight:8,marginLeft:-4,variants:[{props:{size:"small"},style:{marginLeft:-2}},{props:{loadingPosition:"start",loading:!0},style:{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}},{props:{loadingPosition:"start",loading:!0,fullWidth:!0},style:{marginRight:-8}},...E]})),ao=s.styled("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(o,a)=>{const{ownerState:n}=o;return[a.endIcon,n.loading&&a.endIconLoadingEnd,a[`iconSize${i.capitalize(n.size)}`]]}})(({theme:o})=>({display:"inherit",marginRight:-4,marginLeft:8,variants:[{props:{size:"small"},style:{marginRight:-2}},{props:{loadingPosition:"end",loading:!0},style:{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}},{props:{loadingPosition:"end",loading:!0,fullWidth:!0},style:{marginLeft:-8}},...E]})),no=s.styled("span",{name:"MuiButton",slot:"LoadingIndicator"})(({theme:o})=>({display:"none",position:"absolute",visibility:"visible",variants:[{props:{loading:!0},style:{display:"flex"}},{props:{loadingPosition:"start"},style:{left:14}},{props:{loadingPosition:"start",size:"small"},style:{left:10}},{props:{variant:"text",loadingPosition:"start"},style:{left:6}},{props:{loadingPosition:"center"},style:{left:"50%",transform:"translate(-50%)",color:(o.vars||o).palette.action.disabled}},{props:{loadingPosition:"end"},style:{right:14}},{props:{loadingPosition:"end",size:"small"},style:{right:10}},{props:{variant:"text",loadingPosition:"end"},style:{right:6}},{props:{loadingPosition:"start",fullWidth:!0},style:{position:"relative",left:-10}},{props:{loadingPosition:"end",fullWidth:!0},style:{position:"relative",right:-10}}]})),O=s.styled("span",{name:"MuiButton",slot:"LoadingIconPlaceholder"})({display:"inline-block",width:"1em",height:"1em"}),W=b.forwardRef(function(a,n){const e=b.useContext(R),u=b.useContext(N),g=s.resolveProps(e,a),y=s.useDefaultProps({props:g,name:"MuiButton"}),{children:P,color:x="primary",component:f="button",className:S,disabled:z=!1,disableElevation:j=!1,disableFocusRipple:T=!1,endIcon:I,focusVisibleClassName:L,fullWidth:M=!1,id:B,loading:p=null,loadingIndicator:k,loadingPosition:v="center",size:V="medium",startIcon:C,type:h,variant:q="text",...D}=y,w=J.useId(B),m=k??l.jsx(Q.CircularProgress,{"aria-labelledby":w,color:"inherit",size:16}),d={...y,color:x,component:f,disabled:z,disableElevation:j,disableFocusRipple:T,fullWidth:M,loading:p,loadingIndicator:m,loadingPosition:v,size:V,type:h,variant:q},r=Z(d),F=(C||p&&v==="start")&&l.jsx(to,{className:r.startIcon,ownerState:d,children:C||l.jsx(O,{className:r.loadingIconPlaceholder,ownerState:d})}),_=(I||p&&v==="end")&&l.jsx(ao,{className:r.endIcon,ownerState:d,children:I||l.jsx(O,{className:r.loadingIconPlaceholder,ownerState:d})}),G=u||"",$=typeof p=="boolean"?l.jsx("span",{className:r.loadingWrapper,style:{display:"contents"},children:p&&l.jsx(no,{className:r.loadingIndicator,ownerState:d,children:m})}):null;return l.jsxs(oo,{ownerState:d,className:i.clsx(e.className,r.root,S,G),component:f,disabled:z||p,focusRipple:!T,focusVisibleClassName:i.clsx(r.focusVisible,L),ref:n,type:h,id:p?w:B,...D,classes:r,children:[F,v!=="end"&&$,P,v==="end"&&$,_]})});process.env.NODE_ENV!=="production"&&(W.propTypes={children:t.PropTypes.node,classes:t.PropTypes.object,className:t.PropTypes.string,color:t.PropTypes.oneOfType([t.PropTypes.oneOf(["inherit","primary","secondary","success","error","info","warning"]),t.PropTypes.string]),component:t.PropTypes.elementType,disabled:t.PropTypes.bool,disableElevation:t.PropTypes.bool,disableFocusRipple:t.PropTypes.bool,disableRipple:t.PropTypes.bool,endIcon:t.PropTypes.node,focusVisibleClassName:t.PropTypes.string,fullWidth:t.PropTypes.bool,href:t.PropTypes.string,id:t.PropTypes.string,loading:t.PropTypes.bool,loadingIndicator:t.PropTypes.node,loadingPosition:t.PropTypes.oneOf(["center","end","start"]),size:t.PropTypes.oneOfType([t.PropTypes.oneOf(["small","medium","large"]),t.PropTypes.string]),startIcon:t.PropTypes.node,sx:t.PropTypes.oneOfType([t.PropTypes.arrayOf(t.PropTypes.oneOfType([t.PropTypes.func,t.PropTypes.object,t.PropTypes.bool])),t.PropTypes.func,t.PropTypes.object]),type:t.PropTypes.oneOfType([t.PropTypes.oneOf(["button","reset","submit"]),t.PropTypes.string]),variant:t.PropTypes.oneOfType([t.PropTypes.oneOf(["contained","outlined","text"]),t.PropTypes.string])});exports.Button=W;