UNPKG

@grafana/ui

Version:
1 lines 2.71 kB
{"version":3,"file":"FadeTransition.mjs","sources":["../../../../src/components/transitions/FadeTransition.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport { useRef } from 'react';\nimport * as React from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport { GrafanaTheme2 } from '@grafana/data';\n\nimport { useStyles2 } from '../../themes';\n\ntype Props = {\n children: React.ReactElement;\n visible: boolean;\n duration?: number;\n};\n\nexport function FadeTransition(props: Props) {\n const { visible, children, duration = 250 } = props;\n const styles = useStyles2(getStyles, duration);\n const transitionRef = useRef(null);\n\n return (\n <CSSTransition\n in={visible}\n mountOnEnter={true}\n unmountOnExit={true}\n timeout={duration}\n classNames={styles}\n nodeRef={transitionRef}\n >\n {React.cloneElement(children, { ref: transitionRef })}\n </CSSTransition>\n );\n}\n\nconst getStyles = (theme: GrafanaTheme2, duration: number) => ({\n enter: css({\n label: 'enter',\n opacity: 0,\n }),\n enterActive: css({\n label: 'enterActive',\n opacity: 1,\n [theme.transitions.handleMotion('no-preference', 'reduce')]: {\n transition: `opacity ${duration}ms ease-out`,\n },\n }),\n exit: css({\n label: 'exit',\n opacity: 1,\n }),\n exitActive: css({\n label: 'exitActive',\n opacity: 0,\n [theme.transitions.handleMotion('no-preference', 'reduce')]: {\n transition: `opacity ${duration}ms ease-out`,\n },\n }),\n});\n"],"names":[],"mappings":";;;;;;;;;;;;AAeO,SAAS,eAAe,KAAc,EAAA;AAC3C,EAAA,MAAM,EAAE,OAAA,EAAS,QAAU,EAAA,QAAA,GAAW,KAAQ,GAAA,KAAA;AAC9C,EAAM,MAAA,MAAA,GAAS,UAAW,CAAA,SAAA,EAAW,QAAQ,CAAA;AAC7C,EAAM,MAAA,aAAA,GAAgB,OAAO,IAAI,CAAA;AAEjC,EACE,uBAAA,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,EAAI,EAAA,OAAA;AAAA,MACJ,YAAc,EAAA,IAAA;AAAA,MACd,aAAe,EAAA,IAAA;AAAA,MACf,OAAS,EAAA,QAAA;AAAA,MACT,UAAY,EAAA,MAAA;AAAA,MACZ,OAAS,EAAA,aAAA;AAAA,MAER,gBAAM,YAAa,CAAA,QAAA,EAAU,EAAE,GAAA,EAAK,eAAe;AAAA;AAAA,GACtD;AAEJ;AAEA,MAAM,SAAA,GAAY,CAAC,KAAA,EAAsB,QAAsB,MAAA;AAAA,EAC7D,OAAO,GAAI,CAAA;AAAA,IACT,KAAO,EAAA,OAAA;AAAA,IACP,OAAS,EAAA;AAAA,GACV,CAAA;AAAA,EACD,aAAa,GAAI,CAAA;AAAA,IACf,KAAO,EAAA,aAAA;AAAA,IACP,OAAS,EAAA,CAAA;AAAA,IACT,CAAC,KAAM,CAAA,WAAA,CAAY,aAAa,eAAiB,EAAA,QAAQ,CAAC,GAAG;AAAA,MAC3D,UAAA,EAAY,WAAW,QAAQ,CAAA,WAAA;AAAA;AACjC,GACD,CAAA;AAAA,EACD,MAAM,GAAI,CAAA;AAAA,IACR,KAAO,EAAA,MAAA;AAAA,IACP,OAAS,EAAA;AAAA,GACV,CAAA;AAAA,EACD,YAAY,GAAI,CAAA;AAAA,IACd,KAAO,EAAA,YAAA;AAAA,IACP,OAAS,EAAA,CAAA;AAAA,IACT,CAAC,KAAM,CAAA,WAAA,CAAY,aAAa,eAAiB,EAAA,QAAQ,CAAC,GAAG;AAAA,MAC3D,UAAA,EAAY,WAAW,QAAQ,CAAA,WAAA;AAAA;AACjC,GACD;AACH,CAAA,CAAA;;;;"}