@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
45 lines (42 loc) • 1.05 kB
JavaScript
'use client';
import { transitions } from '../transitions.mjs';
const transitionStatuses = {
entering: "in",
entered: "in",
exiting: "out",
exited: "out",
"pre-exiting": "out",
"pre-entering": "out"
};
function getTransitionStyles({
transition,
state,
duration,
timingFunction
}) {
const shared = {
WebkitBackfaceVisibility: "hidden",
willChange: "transform, opacity",
transitionDuration: `${duration}ms`,
transitionTimingFunction: timingFunction
};
if (typeof transition === "string") {
if (!(transition in transitions)) {
return {};
}
return {
transitionProperty: transitions[transition].transitionProperty,
...shared,
...transitions[transition].common,
...transitions[transition][transitionStatuses[state]]
};
}
return {
transitionProperty: transition.transitionProperty,
...shared,
...transition.common,
...transition[transitionStatuses[state]]
};
}
export { getTransitionStyles };
//# sourceMappingURL=get-transition-styles.mjs.map