@atlaskit/motion
Version:
A set of utilities to apply motion in your application.
35 lines (34 loc) • 1.15 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getDurationMs = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
/**
* Gets the duration in milliseconds for an animation property.
* @param animation - The animation property to get the duration for.
* @returns The duration in milliseconds.
*/
var getDurationMs = exports.getDurationMs = function getDurationMs(animation) {
var match = (0, _toConsumableArray2.default)(animation.trim().matchAll(/(-?\d*\.?\d+)(ms|s)\b/g));
if (match.length === 0) {
return {
duration: 0,
delay: 0
};
}
var durationValue = parseFloat(match[0][1]);
var durationUnit = match[0][2];
var duration = durationUnit === 's' ? durationValue * 1000 : durationValue;
var delay = 0;
if (match[1]) {
var delayValue = parseFloat(match[1][1]);
var delayUnit = match[1][2];
delay = delayUnit === 's' ? delayValue * 1000 : delayValue;
}
return {
duration: duration,
delay: delay
};
};