@cgi-learning-hub/ui
Version:
@cgi-learning-hub/ui is an open-source React component library that implements UI for HUB's features
5 lines (4 loc) • 13.4 kB
JavaScript
;const Je=require("react"),e=require("./index-DLnSn8GT.cjs"),h=require("./identifier-BoZelETM.cjs"),Qe=require("./index-CrINMjCH.cjs"),Ze=require("./useTheme-CooC_6Ep.cjs"),b=require("react/jsx-runtime"),C=require("./DefaultPropsProvider-Cnf49AIv.cjs"),G=require("./memoTheme-BKfsJx_F.cjs"),q=require("./useSlot-C2FjoUpF.cjs"),x=require("./useTimeout-COCrDKz-.cjs"),eo=require("./useControlled-QrrYcKxm.cjs"),oo=require("./useId-DNXtOFeX.cjs"),he=require("./useEventCallback-BxpcFap0.cjs"),to=require("./useForkRef-CFhhTu-Q.cjs"),Pe=require("./elementAcceptingRef-BZ42cOGO.cjs"),ro=require("./Grow-BULCy6GX.cjs"),we=require("./Popper-DvWx5tR3.cjs"),ge=require("./isFocusVisible-DlSijby6.cjs");function po(r){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const n in r)if(n!=="default"){const l=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(o,n,l.get?l:{enumerable:!0,get:()=>r[n]})}}return o.default=r,Object.freeze(o)}const s=po(Je);function ve(r){return h.generateUtilityClass("MuiTooltip",r)}const p=h.generateUtilityClasses("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]);function no(r){return Math.round(r*1e5)/1e5}const so=r=>{const{classes:o,disableInteractive:n,arrow:l,touch:S,placement:P}=r,K={popper:["popper",!n&&"popperInteractive",l&&"popperArrow"],tooltip:["tooltip",l&&"tooltipArrow",S&&"touch",`tooltipPlacement${h.capitalize(P.split("-")[0])}`],arrow:["arrow"]};return C.composeClasses(K,ve,o)},io=C.styled(we.Popper,{name:"MuiTooltip",slot:"Popper",overridesResolver:(r,o)=>{const{ownerState:n}=r;return[o.popper,!n.disableInteractive&&o.popperInteractive,n.arrow&&o.popperArrow,!n.open&&o.popperClose]}})(G.memoTheme(({theme:r})=>({zIndex:(r.vars||r).zIndex.tooltip,pointerEvents:"none",variants:[{props:({ownerState:o})=>!o.disableInteractive,style:{pointerEvents:"auto"}},{props:({open:o})=>!o,style:{pointerEvents:"none"}},{props:({ownerState:o})=>o.arrow,style:{[`&[data-popper-placement*="bottom"] .${p.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${p.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${p.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}},[`&[data-popper-placement*="left"] .${p.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}}}},{props:({ownerState:o})=>o.arrow&&!o.isRtl,style:{[`&[data-popper-placement*="right"] .${p.arrow}`]:{left:0,marginLeft:"-0.71em"}}},{props:({ownerState:o})=>o.arrow&&!!o.isRtl,style:{[`&[data-popper-placement*="right"] .${p.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:o})=>o.arrow&&!o.isRtl,style:{[`&[data-popper-placement*="left"] .${p.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:o})=>o.arrow&&!!o.isRtl,style:{[`&[data-popper-placement*="left"] .${p.arrow}`]:{left:0,marginLeft:"-0.71em"}}}]}))),ao=C.styled("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(r,o)=>{const{ownerState:n}=r;return[o.tooltip,n.touch&&o.touch,n.arrow&&o.tooltipArrow,o[`tooltipPlacement${h.capitalize(n.placement.split("-")[0])}`]]}})(G.memoTheme(({theme:r})=>({backgroundColor:r.vars?r.vars.palette.Tooltip.bg:h.alpha(r.palette.grey[700],.92),borderRadius:(r.vars||r).shape.borderRadius,color:(r.vars||r).palette.common.white,fontFamily:r.typography.fontFamily,padding:"4px 8px",fontSize:r.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:r.typography.fontWeightMedium,[`.${p.popper}[data-popper-placement*="left"] &`]:{transformOrigin:"right center"},[`.${p.popper}[data-popper-placement*="right"] &`]:{transformOrigin:"left center"},[`.${p.popper}[data-popper-placement*="top"] &`]:{transformOrigin:"center bottom",marginBottom:"14px"},[`.${p.popper}[data-popper-placement*="bottom"] &`]:{transformOrigin:"center top",marginTop:"14px"},variants:[{props:({ownerState:o})=>o.arrow,style:{position:"relative",margin:0}},{props:({ownerState:o})=>o.touch,style:{padding:"8px 16px",fontSize:r.typography.pxToRem(14),lineHeight:`${no(16/14)}em`,fontWeight:r.typography.fontWeightRegular}},{props:({ownerState:o})=>!o.isRtl,style:{[`.${p.popper}[data-popper-placement*="left"] &`]:{marginRight:"14px"},[`.${p.popper}[data-popper-placement*="right"] &`]:{marginLeft:"14px"}}},{props:({ownerState:o})=>!o.isRtl&&o.touch,style:{[`.${p.popper}[data-popper-placement*="left"] &`]:{marginRight:"24px"},[`.${p.popper}[data-popper-placement*="right"] &`]:{marginLeft:"24px"}}},{props:({ownerState:o})=>!!o.isRtl,style:{[`.${p.popper}[data-popper-placement*="left"] &`]:{marginLeft:"14px"},[`.${p.popper}[data-popper-placement*="right"] &`]:{marginRight:"14px"}}},{props:({ownerState:o})=>!!o.isRtl&&o.touch,style:{[`.${p.popper}[data-popper-placement*="left"] &`]:{marginLeft:"24px"},[`.${p.popper}[data-popper-placement*="right"] &`]:{marginRight:"24px"}}},{props:({ownerState:o})=>o.touch,style:{[`.${p.popper}[data-popper-placement*="top"] &`]:{marginBottom:"24px"}}},{props:({ownerState:o})=>o.touch,style:{[`.${p.popper}[data-popper-placement*="bottom"] &`]:{marginTop:"24px"}}}]}))),lo=C.styled("span",{name:"MuiTooltip",slot:"Arrow"})(G.memoTheme(({theme:r})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:r.vars?r.vars.palette.Tooltip.bg:h.alpha(r.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}})));let k=!1;const be=new x.Timeout;let O={x:0,y:0};function A(r,o){return(n,...l)=>{o&&o(n,...l),r(n,...l)}}const Re=s.forwardRef(function(o,n){const l=C.useDefaultProps({props:o,name:"MuiTooltip"}),{arrow:S=!1,children:P,classes:K,components:E={},componentsProps:M={},describeChild:Oe=!1,disableFocusListener:xe=!1,disableHoverListener:X=!1,disableInteractive:Ce=!1,disableTouchListener:Se=!1,enterDelay:J=100,enterNextDelay:Q=0,enterTouchDelay:Ee=700,followCursor:F=!1,id:Me,leaveDelay:Z=0,leaveTouchDelay:je=1500,onClose:ee,onOpen:oe,open:te,placement:re="bottom",PopperComponent:pe,PopperProps:f={},slotProps:T={},slots:$e={},title:y,TransitionComponent:Ne,TransitionProps:Le,...ne}=l,d=s.isValidElement(P)?P:b.jsx("span",{children:P}),se=Ze.useTheme(),De=Qe.useRtl(),[i,ie]=s.useState(),[U,Ie]=s.useState(null),j=s.useRef(!1),W=Ce||F,ae=x.useTimeout(),B=x.useTimeout(),$=x.useTimeout(),le=x.useTimeout(),[qe,ce]=eo.useControlled({controlled:te,default:!1,name:"Tooltip",state:"open"});let m=qe;if(process.env.NODE_ENV!=="production"){const{current:t}=s.useRef(te!==void 0);s.useEffect(()=>{i&&i.disabled&&!t&&y!==""&&i.tagName.toLowerCase()==="button"&&console.warn(["MUI: You are providing a disabled `button` child to the Tooltip component.","A disabled element does not fire events.","Tooltip needs to listen to the child element's events to display the title.","","Add a simple wrapper element, such as a `span`."].join(`
`))},[y,i,t])}const V=oo.useId(Me),w=s.useRef(),N=he.useEventCallback(()=>{w.current!==void 0&&(document.body.style.WebkitUserSelect=w.current,w.current=void 0),le.clear()});s.useEffect(()=>N,[N]);const ue=t=>{be.clear(),k=!0,ce(!0),oe&&!m&&oe(t)},L=he.useEventCallback(t=>{be.start(800+Z,()=>{k=!1}),ce(!1),ee&&m&&ee(t),ae.start(se.transitions.duration.shortest,()=>{j.current=!1})}),D=t=>{j.current&&t.type!=="touchstart"||(i&&i.removeAttribute("title"),B.clear(),$.clear(),J||k&&Q?B.start(k?Q:J,()=>{ue(t)}):ue(t))},z=t=>{B.clear(),$.start(Z,()=>{L(t)})},[,de]=s.useState(!1),me=t=>{ge.isFocusVisible(t.target)||(de(!1),z(t))},fe=t=>{i||ie(t.currentTarget),ge.isFocusVisible(t.target)&&(de(!0),D(t))},Te=t=>{j.current=!0;const u=d.props;u.onTouchStart&&u.onTouchStart(t)},ke=t=>{Te(t),$.clear(),ae.clear(),N(),w.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",le.start(Ee,()=>{document.body.style.WebkitUserSelect=w.current,D(t)})},Ae=t=>{d.props.onTouchEnd&&d.props.onTouchEnd(t),N(),$.start(je,()=>{L(t)})};s.useEffect(()=>{if(!m)return;function t(u){u.key==="Escape"&&L(u)}return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}},[L,m]);const Fe=to.useForkRef(Pe.getReactElementRef(d),ie,n);!y&&y!==0&&(m=!1);const _=s.useRef(),Ue=t=>{const u=d.props;u.onMouseMove&&u.onMouseMove(t),O={x:t.clientX,y:t.clientY},_.current&&_.current.update()},v={},H=typeof y=="string";Oe?(v.title=!m&&H&&!X?y:null,v["aria-describedby"]=m?V:null):(v["aria-label"]=H?y:null,v["aria-labelledby"]=m&&!H?V:null);const a={...v,...ne,...d.props,className:h.clsx(ne.className,d.props.className),onTouchStart:Te,ref:Fe,...F?{onMouseMove:Ue}:{}};process.env.NODE_ENV!=="production"&&(a["data-mui-internal-clone-element"]=!0,s.useEffect(()=>{i&&!i.getAttribute("data-mui-internal-clone-element")&&console.error(["MUI: The `children` component of the Tooltip is not forwarding its props correctly.","Please make sure that props are spread on the same element that the ref is applied to."].join(`
`))},[i]));const R={};Se||(a.onTouchStart=ke,a.onTouchEnd=Ae),X||(a.onMouseOver=A(D,a.onMouseOver),a.onMouseLeave=A(z,a.onMouseLeave),W||(R.onMouseOver=D,R.onMouseLeave=z)),xe||(a.onFocus=A(fe,a.onFocus),a.onBlur=A(me,a.onBlur),W||(R.onFocus=fe,R.onBlur=me)),process.env.NODE_ENV!=="production"&&d.props.title&&console.error(["MUI: You have provided a `title` prop to the child of <Tooltip />.",`Remove this title prop \`${d.props.title}\` or the Tooltip component.`].join(`
`));const g={...l,isRtl:De,arrow:S,disableInteractive:W,placement:re,PopperComponentProp:pe,touch:j.current},c=typeof T.popper=="function"?T.popper(g):T.popper,We=s.useMemo(()=>{var u,ye;let t=[{name:"arrow",enabled:!!U,options:{element:U,padding:4}}];return(u=f.popperOptions)!=null&&u.modifiers&&(t=t.concat(f.popperOptions.modifiers)),(ye=c==null?void 0:c.popperOptions)!=null&&ye.modifiers&&(t=t.concat(c.popperOptions.modifiers)),{...f.popperOptions,...c==null?void 0:c.popperOptions,modifiers:t}},[U,f.popperOptions,c==null?void 0:c.popperOptions]),Y=so(g),Be=typeof T.transition=="function"?T.transition(g):T.transition,I={slots:{popper:E.Popper,transition:E.Transition??Ne,tooltip:E.Tooltip,arrow:E.Arrow,...$e},slotProps:{arrow:T.arrow??M.arrow,popper:{...f,...c??M.popper},tooltip:T.tooltip??M.tooltip,transition:{...Le,...Be??M.transition}}},[Ve,ze]=q.useSlot("popper",{elementType:io,externalForwardedProps:I,ownerState:g,className:h.clsx(Y.popper,f==null?void 0:f.className)}),[_e,He]=q.useSlot("transition",{elementType:ro.Grow,externalForwardedProps:I,ownerState:g}),[Ye,Ge]=q.useSlot("tooltip",{elementType:ao,className:Y.tooltip,externalForwardedProps:I,ownerState:g}),[Ke,Xe]=q.useSlot("arrow",{elementType:lo,className:Y.arrow,externalForwardedProps:I,ownerState:g,ref:Ie});return b.jsxs(s.Fragment,{children:[s.cloneElement(d,a),b.jsx(Ve,{as:pe??we.Popper,placement:re,anchorEl:F?{getBoundingClientRect:()=>({top:O.y,left:O.x,right:O.x,bottom:O.y,width:0,height:0})}:i,popperRef:_,open:i?m:!1,id:V,transition:!0,...R,...ze,popperOptions:We,children:({TransitionProps:t})=>b.jsx(_e,{timeout:se.transitions.duration.shorter,...t,...He,children:b.jsxs(Ye,{...Ge,children:[y,S?b.jsx(Ke,{...Xe}):null]})})})]})});process.env.NODE_ENV!=="production"&&(Re.propTypes={arrow:e.PropTypes.bool,children:Pe.elementAcceptingRef.isRequired,classes:e.PropTypes.object,className:e.PropTypes.string,components:e.PropTypes.shape({Arrow:e.PropTypes.elementType,Popper:e.PropTypes.elementType,Tooltip:e.PropTypes.elementType,Transition:e.PropTypes.elementType}),componentsProps:e.PropTypes.shape({arrow:e.PropTypes.object,popper:e.PropTypes.object,tooltip:e.PropTypes.object,transition:e.PropTypes.object}),describeChild:e.PropTypes.bool,disableFocusListener:e.PropTypes.bool,disableHoverListener:e.PropTypes.bool,disableInteractive:e.PropTypes.bool,disableTouchListener:e.PropTypes.bool,enterDelay:e.PropTypes.number,enterNextDelay:e.PropTypes.number,enterTouchDelay:e.PropTypes.number,followCursor:e.PropTypes.bool,id:e.PropTypes.string,leaveDelay:e.PropTypes.number,leaveTouchDelay:e.PropTypes.number,onClose:e.PropTypes.func,onOpen:e.PropTypes.func,open:e.PropTypes.bool,placement:e.PropTypes.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),PopperComponent:e.PropTypes.elementType,PopperProps:e.PropTypes.object,slotProps:e.PropTypes.shape({arrow:e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object]),popper:e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object]),tooltip:e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object]),transition:e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object])}),slots:e.PropTypes.shape({arrow:e.PropTypes.elementType,popper:e.PropTypes.elementType,tooltip:e.PropTypes.elementType,transition:e.PropTypes.elementType}),sx:e.PropTypes.oneOfType([e.PropTypes.arrayOf(e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object,e.PropTypes.bool])),e.PropTypes.func,e.PropTypes.object]),title:e.PropTypes.node,TransitionComponent:e.PropTypes.elementType,TransitionProps:e.PropTypes.object});exports.Tooltip=Re;exports.getTooltipUtilityClass=ve;exports.tooltipClasses=p;