@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
52 lines (51 loc) • 2.33 kB
JavaScript
"use client";
require("../../_virtual/_rolldown/runtime.cjs");
const require_Mantine_context = require("../../core/MantineProvider/Mantine.context.cjs");
const require_get_transition_styles = require("./get-transition-styles/get-transition-styles.cjs");
const require_use_transition = require("./use-transition.cjs");
let react = require("react");
let react_jsx_runtime = require("react/jsx-runtime");
//#region packages/@mantine/core/src/components/Transition/Transition.tsx
function Transition({ keepMounted, transition = "fade", duration = 250, exitDuration = duration, mounted, children, timingFunction = "ease", onExit, onEntered, onEnter, onExited, enterDelay, exitDelay }) {
const env = require_Mantine_context.useMantineEnv();
const { transitionDuration, transitionStatus, transitionTimingFunction } = require_use_transition.useTransition({
mounted,
exitDuration,
duration,
timingFunction,
onExit,
onEntered,
onEnter,
onExited,
enterDelay,
exitDelay
});
if (env === "test") return mounted ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: children({}) }) : keepMounted ? children({ display: "none" }) : null;
if (transitionDuration === 0) {
if (keepMounted) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Activity, {
mode: mounted ? "visible" : "hidden",
children: children({})
});
return mounted ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: children({}) }) : null;
}
const isExited = transitionStatus === "exited";
if (keepMounted) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Activity, {
mode: isExited ? "hidden" : "visible",
children: children(isExited ? {} : require_get_transition_styles.getTransitionStyles({
transition,
duration: transitionDuration,
state: transitionStatus,
timingFunction: transitionTimingFunction
}))
});
return isExited ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: children(require_get_transition_styles.getTransitionStyles({
transition,
duration: transitionDuration,
state: transitionStatus,
timingFunction: transitionTimingFunction
})) });
}
Transition.displayName = "@mantine/core/Transition";
//#endregion
exports.Transition = Transition;
//# sourceMappingURL=Transition.cjs.map