UNPKG

react-css-transition

Version:
36 lines (34 loc) 1.57 kB
import { withProps, withHandlers, isolate, integrate } from "reassemble"; import { parseTransition } from "../utils/parseTransition"; import { parseComputedTransition } from "../utils/parseComputedTransition"; import { memoize } from "../utils/memoize"; export var withTransitionInfo = isolate(withHandlers(function () { var memoized = memoize(function (node) { return parseComputedTransition(getComputedStyle(node)); }, function (node) { return node.className; }); return { parseComputedTransitionMemoized: function () { return memoized; }, }; }), withProps(function (_a) { var style = _a.style, className = _a.className, transitionState = _a.transitionState, getDOMNode = _a.getDOMNode, parseComputedTransitionMemoized = _a.parseComputedTransitionMemoized; if (transitionState.inTransition) { var parsed = void 0; if (style && style.transition) { parsed = parseTransition(style.transition); } else { var node = getDOMNode(); node.className = className; parsed = parseComputedTransitionMemoized(node); } var first = parsed[0], last = parsed[1]; return { transitionInfo: { firstPropertyDelay: first.delay, firstProperty: first.property, lastProperty: last.property, totalDuration: last.duration + last.delay, }, }; } return { transitionInfo: {} }; }), integrate("transitionInfo")); //# sourceMappingURL=withTransitionInfo.js.map