@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
37 lines (36 loc) • 1.17 kB
JavaScript
"use client";
const require_transitions = require("../transitions.cjs");
//#region packages/@mantine/core/src/components/Transition/get-transition-styles/get-transition-styles.ts
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",
transitionDuration: `${duration}ms`,
transitionTimingFunction: timingFunction
};
if (typeof transition === "string") {
if (!(transition in require_transitions.transitions)) return {};
return {
transitionProperty: require_transitions.transitions[transition].transitionProperty,
...shared,
...require_transitions.transitions[transition].common,
...require_transitions.transitions[transition][transitionStatuses[state]]
};
}
return {
transitionProperty: transition.transitionProperty,
...shared,
...transition.common,
...transition[transitionStatuses[state]]
};
}
//#endregion
exports.getTransitionStyles = getTransitionStyles;
//# sourceMappingURL=get-transition-styles.cjs.map