@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.84 kB
JavaScript
;const V=require("react"),r=require("./index-DLnSn8GT.cjs"),n=require("./identifier-BoZelETM.cjs"),q=require("./useTheme-CooC_6Ep.cjs"),$=require("react/jsx-runtime"),y=require("./DefaultPropsProvider-Cnf49AIv.cjs"),F=require("./memoTheme-BKfsJx_F.cjs"),R=require("./createSimplePaletteValueFilter-PTK3TAhW.cjs"),A=require("./Typography-CSTmKyr8.cjs"),h=require("./isFocusVisible-DlSijby6.cjs"),N=require("./elementTypeAcceptingRef-BwZv9xBI.cjs");function M(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,s.get?s:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const x=M(V);function v(e){return n.generateUtilityClass("MuiLink",e)}const k=n.generateUtilityClasses("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),z=({theme:e,ownerState:o})=>{const t=o.color,s=n.getPath(e,`palette.${t}.main`,!1)||n.getPath(e,`palette.${t}`,!1)||o.color,i=n.getPath(e,`palette.${t}.mainChannel`)||n.getPath(e,`palette.${t}Channel`);return"vars"in e&&i?`rgba(${i} / 0.4)`:n.alpha(s,.4)},C={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},U=e=>{const{classes:o,component:t,focusVisible:s,underline:i}=e,p={root:["root",`underline${n.capitalize(i)}`,t==="button"&&"button",s&&"focusVisible"]};return y.composeClasses(p,v,o)},B=y.styled(A.Typography,{name:"MuiLink",slot:"Root",overridesResolver:(e,o)=>{const{ownerState:t}=e;return[o.root,o[`underline${n.capitalize(t.underline)}`],t.component==="button"&&o.button]}})(F.memoTheme(({theme:e})=>({variants:[{props:{underline:"none"},style:{textDecoration:"none"}},{props:{underline:"hover"},style:{textDecoration:"none","&:hover":{textDecoration:"underline"}}},{props:{underline:"always"},style:{textDecoration:"underline","&:hover":{textDecorationColor:"inherit"}}},{props:({underline:o,ownerState:t})=>o==="always"&&t.color!=="inherit",style:{textDecorationColor:"var(--Link-underlineColor)"}},...Object.entries(e.palette).filter(R.createSimplePaletteValueFilter()).map(([o])=>({props:{underline:"always",color:o},style:{"--Link-underlineColor":e.vars?`rgba(${e.vars.palette[o].mainChannel} / 0.4)`:n.alpha(e.palette[o].main,.4)}})),{props:{underline:"always",color:"textPrimary"},style:{"--Link-underlineColor":e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.4)`:n.alpha(e.palette.text.primary,.4)}},{props:{underline:"always",color:"textSecondary"},style:{"--Link-underlineColor":e.vars?`rgba(${e.vars.palette.text.secondaryChannel} / 0.4)`:n.alpha(e.palette.text.secondary,.4)}},{props:{underline:"always",color:"textDisabled"},style:{"--Link-underlineColor":(e.vars||e).palette.text.disabled}},{props:{component:"button"},style:{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${k.focusVisible}`]:{outline:"auto"}}}]}))),w=x.forwardRef(function(o,t){const s=y.useDefaultProps({props:o,name:"MuiLink"}),i=q.useTheme(),{className:p,color:a="primary",component:d="a",onBlur:f,onFocus:b,TypographyClasses:L,underline:T="always",variant:g="inherit",sx:c,...P}=s,[D,m]=x.useState(!1),O=l=>{h.isFocusVisible(l.target)||m(!1),f&&f(l)},j=l=>{h.isFocusVisible(l.target)&&m(!0),b&&b(l)},u={...s,color:a,component:d,focusVisible:D,underline:T,variant:g},S=U(u);return $.jsx(B,{color:a,className:n.clsx(S.root,p),classes:L,component:d,onBlur:O,onFocus:j,ref:t,ownerState:u,variant:g,...P,sx:[...C[a]===void 0?[{color:a}]:[],...Array.isArray(c)?c:[c]],style:{...P.style,...T==="always"&&a!=="inherit"&&!C[a]&&{"--Link-underlineColor":z({theme:i,ownerState:u})}}})});process.env.NODE_ENV!=="production"&&(w.propTypes={children:r.PropTypes.node,classes:r.PropTypes.object,className:r.PropTypes.string,color:r.PropTypes.oneOfType([r.PropTypes.oneOf(["primary","secondary","success","error","info","warning","textPrimary","textSecondary","textDisabled"]),r.PropTypes.string]),component:N.elementTypeAcceptingRef,onBlur:r.PropTypes.func,onFocus:r.PropTypes.func,style:r.PropTypes.object,sx:r.PropTypes.oneOfType([r.PropTypes.arrayOf(r.PropTypes.oneOfType([r.PropTypes.func,r.PropTypes.object,r.PropTypes.bool])),r.PropTypes.func,r.PropTypes.object]),TypographyClasses:r.PropTypes.object,underline:r.PropTypes.oneOf(["always","hover","none"]),variant:r.PropTypes.oneOfType([r.PropTypes.oneOf(["body1","body2","button","caption","h1","h2","h3","h4","h5","h6","inherit","overline","subtitle1","subtitle2"]),r.PropTypes.string])});exports.Link=w;exports.getLinkUtilityClass=v;exports.linkClasses=k;