@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) • 3.16 kB
JavaScript
"use strict";const V=require("react"),e=require("./index-kjfz41UI.cjs"),W=require("./useTheme-BrGF2Vm0.cjs"),B=require("react/jsx-runtime"),g=require("./utils-XujN9ndp.cjs"),J=require("./useTimeout-COCrDKz-.cjs"),Q=require("./useForkRef-CFhhTu-Q.cjs"),v=require("./elementAcceptingRef-CuMilXz3.cjs");function U(o){const d=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const a in o)if(a!=="default"){const f=Object.getOwnPropertyDescriptor(o,a);Object.defineProperty(d,a,f.get?f:{enumerable:!0,get:()=>o[a]})}}return d.default=o,Object.freeze(d)}const T=U(V);function R(o){return`scale(${o}, ${o**2})`}const X={entering:{opacity:1,transform:R(1)},entered:{opacity:1,transform:"none"}},x=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),m=T.forwardRef(function(d,a){const{addEndListener:f,appear:w=!0,children:E,easing:b,in:j,onEnter:q,onEntered:A,onEntering:D,onExit:O,onExited:S,onExiting:_,style:P,timeout:i="auto",TransitionComponent:F=g.Transition,...H}=d,L=J.useTimeout(),h=T.useRef(),u=W.useTheme(),l=T.useRef(null),G=Q.useForkRef(l,v.getReactElementRef(E),a),c=t=>s=>{if(t){const n=l.current;s===void 0?t(n):t(n,s)}},N=c(D),k=c((t,s)=>{g.reflow(t);const{duration:n,delay:y,easing:r}=g.getTransitionProps({style:P,timeout:i,easing:b},{mode:"enter"});let p;i==="auto"?(p=u.transitions.getAutoHeightDuration(t.clientHeight),h.current=p):p=n,t.style.transition=[u.transitions.create("opacity",{duration:p,delay:y}),u.transitions.create("transform",{duration:x?p:p*.666,delay:y,easing:r})].join(","),q&&q(t,s)}),z=c(A),C=c(_),$=c(t=>{const{duration:s,delay:n,easing:y}=g.getTransitionProps({style:P,timeout:i,easing:b},{mode:"exit"});let r;i==="auto"?(r=u.transitions.getAutoHeightDuration(t.clientHeight),h.current=r):r=s,t.style.transition=[u.transitions.create("opacity",{duration:r,delay:n}),u.transitions.create("transform",{duration:x?r:r*.666,delay:x?n:n||r*.333,easing:y})].join(","),t.style.opacity=0,t.style.transform=R(.75),O&&O(t)}),K=c(S),M=t=>{i==="auto"&&L.start(h.current||0,t),f&&f(l.current,t)};return B.jsx(F,{appear:w,in:j,nodeRef:l,onEnter:k,onEntered:z,onEntering:N,onExit:$,onExited:K,onExiting:C,addEndListener:M,timeout:i==="auto"?null:i,...H,children:(t,{ownerState:s,...n})=>T.cloneElement(E,{style:{opacity:0,transform:R(.75),visibility:t==="exited"&&!j?"hidden":void 0,...X[t],...P,...E.props.style},ref:G,...n})})});process.env.NODE_ENV!=="production"&&(m.propTypes={addEndListener:e.PropTypes.func,appear:e.PropTypes.bool,children:v.elementAcceptingRef.isRequired,easing:e.PropTypes.oneOfType([e.PropTypes.shape({enter:e.PropTypes.string,exit:e.PropTypes.string}),e.PropTypes.string]),in:e.PropTypes.bool,onEnter:e.PropTypes.func,onEntered:e.PropTypes.func,onEntering:e.PropTypes.func,onExit:e.PropTypes.func,onExited:e.PropTypes.func,onExiting:e.PropTypes.func,style:e.PropTypes.object,timeout:e.PropTypes.oneOfType([e.PropTypes.oneOf(["auto"]),e.PropTypes.number,e.PropTypes.shape({appear:e.PropTypes.number,enter:e.PropTypes.number,exit:e.PropTypes.number})])});m&&(m.muiSupportAuto=!0);exports.Grow=m;