UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

60 lines (57 loc) 1.85 kB
'use client'; import { jsx, Fragment } from 'react/jsx-runtime'; import 'react'; import '@mantine/hooks'; import 'clsx'; import { useMantineEnv } from '../../core/MantineProvider/Mantine.context.mjs'; import '../../core/MantineProvider/default-theme.mjs'; import '../../core/MantineProvider/MantineProvider.mjs'; import '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs'; import '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs'; import '../../core/Box/Box.mjs'; import '../../core/DirectionProvider/DirectionProvider.mjs'; import { getTransitionStyles } from './get-transition-styles/get-transition-styles.mjs'; import { useTransition } from './use-transition.mjs'; function Transition({ keepMounted, transition = "fade", duration = 250, exitDuration = duration, mounted, children, timingFunction = "ease", onExit, onEntered, onEnter, onExited, enterDelay, exitDelay }) { const env = useMantineEnv(); const { transitionDuration, transitionStatus, transitionTimingFunction } = useTransition({ mounted, exitDuration, duration, timingFunction, onExit, onEntered, onEnter, onExited, enterDelay, exitDelay }); if (transitionDuration === 0 || env === "test") { return mounted ? /* @__PURE__ */ jsx(Fragment, { children: children({}) }) : keepMounted ? children({ display: "none" }) : null; } return transitionStatus === "exited" ? keepMounted ? children({ display: "none" }) : null : /* @__PURE__ */ jsx(Fragment, { children: children( getTransitionStyles({ transition, duration: transitionDuration, state: transitionStatus, timingFunction: transitionTimingFunction }) ) }); } Transition.displayName = "@mantine/core/Transition"; export { Transition }; //# sourceMappingURL=Transition.mjs.map