@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) • 7.94 kB
JavaScript
"use strict";const V=require("react"),s=require("./index-DLnSn8GT.cjs"),m=require("./identifier-BoZelETM.cjs"),M=require("./memoTheme-BKfsJx_F.cjs"),f=require("./DefaultPropsProvider-Cnf49AIv.cjs"),N=require("./List-t9bWFewp.cjs"),P=require("./ListItem-DP7YmqZk.cjs"),O=require("react/jsx-runtime"),G=require("./useEventCallback-BxpcFap0.cjs"),U=require("./useForkRef-CFhhTu-Q.cjs"),_=require("./ButtonBase-Dp6sf_dP.cjs"),I=require("./listItemTextClasses-CJDKfXvl.cjs"),S=require("./useSlot-C2FjoUpF.cjs"),b=require("./Typography-CSTmKyr8.cjs");function z(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const g=z(V),W=(e,o)=>{const{ownerState:t}=e;return[o.root,t.dense&&o.dense,t.alignItems==="flex-start"&&o.alignItemsFlexStart,t.divider&&o.divider,!t.disableGutters&&o.gutters]},A=e=>{const{alignItems:o,classes:t,dense:r,disabled:p,disableGutters:l,divider:a,selected:v}=e,c={root:["root",r&&"dense",!l&&"gutters",a&&"divider",p&&"disabled",o==="flex-start"&&"alignItemsFlexStart",v&&"selected"]},d=f.composeClasses(c,P.getListItemButtonUtilityClass,t);return{...t,...d}},H=f.styled(_.ButtonBase,{shouldForwardProp:e=>f.rootShouldForwardProp(e)||e==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:W})(M.memoTheme(({theme:e})=>({display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${P.listItemButtonClasses.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:m.alpha(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${P.listItemButtonClasses.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:m.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${P.listItemButtonClasses.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:m.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:m.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${P.listItemButtonClasses.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${P.listItemButtonClasses.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},variants:[{props:({ownerState:o})=>o.divider,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:o})=>!o.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:o})=>o.dense,style:{paddingTop:4,paddingBottom:4}}]}))),R=g.forwardRef(function(o,t){const r=f.useDefaultProps({props:o,name:"MuiListItemButton"}),{alignItems:p="center",autoFocus:l=!1,component:a="div",children:v,dense:c=!1,disableGutters:d=!1,divider:$=!1,focusVisibleClassName:j,selected:B=!1,className:L,...y}=r,x=g.useContext(N.ListContext),i=g.useMemo(()=>({dense:c||x.dense||!1,alignItems:p,disableGutters:d}),[p,x.dense,c,d]),n=g.useRef(null);G.useEnhancedEffect(()=>{l&&(n.current?n.current.focus():process.env.NODE_ENV!=="production"&&console.error("MUI: Unable to set focus to a ListItemButton whose component has not been rendered."))},[l]);const u={...r,alignItems:p,dense:i.dense,disableGutters:d,divider:$,selected:B},T=A(u),C=U.useForkRef(n,t);return O.jsx(N.ListContext.Provider,{value:i,children:O.jsx(H,{ref:C,href:y.href||y.to,component:(y.href||y.to)&&a==="div"?"button":a,focusVisibleClassName:m.clsx(T.focusVisible,j),ownerState:u,className:m.clsx(T.root,L),...y,classes:T,children:v})})});process.env.NODE_ENV!=="production"&&(R.propTypes={alignItems:s.PropTypes.oneOf(["center","flex-start"]),autoFocus:s.PropTypes.bool,children:s.PropTypes.node,classes:s.PropTypes.object,className:s.PropTypes.string,component:s.PropTypes.elementType,dense:s.PropTypes.bool,disabled:s.PropTypes.bool,disableGutters:s.PropTypes.bool,divider:s.PropTypes.bool,focusVisibleClassName:s.PropTypes.string,href:s.PropTypes.string,selected:s.PropTypes.bool,sx:s.PropTypes.oneOfType([s.PropTypes.arrayOf(s.PropTypes.oneOfType([s.PropTypes.func,s.PropTypes.object,s.PropTypes.bool])),s.PropTypes.func,s.PropTypes.object])});const J=e=>{const{classes:o,inset:t,primary:r,secondary:p,dense:l}=e,a={root:["root",t&&"inset",l&&"dense",r&&p&&"multiline"],primary:["primary"],secondary:["secondary"]};return f.composeClasses(a,I.getListItemTextUtilityClass,o)},K=f.styled("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(e,o)=>{const{ownerState:t}=e;return[{[`& .${I.listItemTextClasses.primary}`]:o.primary},{[`& .${I.listItemTextClasses.secondary}`]:o.secondary},o.root,t.inset&&o.inset,t.primary&&t.secondary&&o.multiline,t.dense&&o.dense]}})({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4,[`.${b.typographyClasses.root}:where(& .${I.listItemTextClasses.primary})`]:{display:"block"},[`.${b.typographyClasses.root}:where(& .${I.listItemTextClasses.secondary})`]:{display:"block"},variants:[{props:({ownerState:e})=>e.primary&&e.secondary,style:{marginTop:6,marginBottom:6}},{props:({ownerState:e})=>e.inset,style:{paddingLeft:56}}]}),k=g.forwardRef(function(o,t){const r=f.useDefaultProps({props:o,name:"MuiListItemText"}),{children:p,className:l,disableTypography:a=!1,inset:v=!1,primary:c,primaryTypographyProps:d,secondary:$,secondaryTypographyProps:j,slots:B={},slotProps:L={},...y}=r,{dense:x}=g.useContext(N.ListContext);let i=c??p,n=$;const u={...r,disableTypography:a,inset:v,primary:!!i,secondary:!!n,dense:x},T=J(u),C={slots:B,slotProps:{primary:d,secondary:j,...L}},[w,q]=S.useSlot("root",{className:m.clsx(T.root,l),elementType:K,externalForwardedProps:{...C,...y},ownerState:u,ref:t}),[D,h]=S.useSlot("primary",{className:T.primary,elementType:b.Typography,externalForwardedProps:C,ownerState:u}),[F,E]=S.useSlot("secondary",{className:T.secondary,elementType:b.Typography,externalForwardedProps:C,ownerState:u});return i!=null&&i.type!==b.Typography&&!a&&(i=O.jsx(D,{variant:x?"body2":"body1",component:h!=null&&h.variant?void 0:"span",...h,children:i})),n!=null&&n.type!==b.Typography&&!a&&(n=O.jsx(F,{variant:"body2",color:"textSecondary",...E,children:n})),O.jsxs(w,{...q,children:[i,n]})});process.env.NODE_ENV!=="production"&&(k.propTypes={children:s.PropTypes.node,classes:s.PropTypes.object,className:s.PropTypes.string,disableTypography:s.PropTypes.bool,inset:s.PropTypes.bool,primary:s.PropTypes.node,primaryTypographyProps:s.PropTypes.object,secondary:s.PropTypes.node,secondaryTypographyProps:s.PropTypes.object,slotProps:s.PropTypes.shape({primary:s.PropTypes.oneOfType([s.PropTypes.func,s.PropTypes.object]),root:s.PropTypes.oneOfType([s.PropTypes.func,s.PropTypes.object]),secondary:s.PropTypes.oneOfType([s.PropTypes.func,s.PropTypes.object])}),slots:s.PropTypes.shape({primary:s.PropTypes.elementType,root:s.PropTypes.elementType,secondary:s.PropTypes.elementType}),sx:s.PropTypes.oneOfType([s.PropTypes.arrayOf(s.PropTypes.oneOfType([s.PropTypes.func,s.PropTypes.object,s.PropTypes.bool])),s.PropTypes.func,s.PropTypes.object])});exports.ListItemButton=R;exports.ListItemText=k;