UNPKG

ngx-pluto

Version:
69 lines 6.69 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * Parses a CSS time value to milliseconds. * @param {?} value * @return {?} */ function parseCssTimeUnitsToMs(value) { // Some browsers will return it in seconds, whereas others will return milliseconds. /** @type {?} */ var multiplier = value.toLowerCase().indexOf('ms') > -1 ? 1 : 1000; return parseFloat(value) * multiplier; } /** * Gets the transform transition duration, including the delay, of an element in milliseconds. * @param {?} element * @return {?} */ export function getTransformTransitionDurationInMs(element) { /** @type {?} */ var computedStyle = getComputedStyle(element); /** @type {?} */ var transitionedProperties = parseCssPropertyValue(computedStyle, 'transition-property'); /** @type {?} */ var property = transitionedProperties.find((/** * @param {?} prop * @return {?} */ function (prop) { return prop === 'transform' || prop === 'all'; })); // If there's no transition for `all` or `transform`, we shouldn't do anything. if (!property) { return 0; } // Get the index of the property that we're interested in and match // it up to the same index in `transition-delay` and `transition-duration`. /** @type {?} */ var propertyIndex = transitionedProperties.indexOf(property); /** @type {?} */ var rawDurations = parseCssPropertyValue(computedStyle, 'transition-duration'); /** @type {?} */ var rawDelays = parseCssPropertyValue(computedStyle, 'transition-delay'); return parseCssTimeUnitsToMs(rawDurations[propertyIndex]) + parseCssTimeUnitsToMs(rawDelays[propertyIndex]); } /** * Parses out multiple values from a computed style into an array. * @param {?} computedStyle * @param {?} name * @return {?} */ function parseCssPropertyValue(computedStyle, name) { /** @type {?} */ var value = computedStyle.getPropertyValue(name); return value.split(',').map((/** * @param {?} part * @return {?} */ function (part) { return part.trim(); })); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdGlvbi1kdXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wbHV0by8iLCJzb3VyY2VzIjpbImxpYi9kcmFnLWRyb3AvdHJhbnNpdGlvbi1kdXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBU0EsU0FBUyxxQkFBcUIsQ0FBQyxLQUFhOzs7UUFFcEMsVUFBVSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtJQUNwRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUM7QUFDeEMsQ0FBQzs7Ozs7O0FBR0QsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLE9BQW9COztRQUMvRCxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDOztRQUN6QyxzQkFBc0IsR0FBRyxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLENBQUM7O1FBQ3BGLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJOzs7O0lBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQXRDLENBQXNDLEVBQUM7SUFFNUYsK0VBQStFO0lBQy9FLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDYixPQUFPLENBQUMsQ0FBQztLQUNWOzs7O1FBSUssYUFBYSxHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7O1FBQ3hELFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLENBQUM7O1FBQzFFLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUM7SUFFMUUsT0FBTyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEQscUJBQXFCLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQzs7Ozs7OztBQUdELFNBQVMscUJBQXFCLENBQUMsYUFBa0MsRUFBRSxJQUFZOztRQUN2RSxLQUFLLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztJQUNsRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRzs7OztJQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFYLENBQVcsRUFBQyxDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcclxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxyXG4gKi9cclxuXHJcbi8qKiBQYXJzZXMgYSBDU1MgdGltZSB2YWx1ZSB0byBtaWxsaXNlY29uZHMuICovXHJcbmZ1bmN0aW9uIHBhcnNlQ3NzVGltZVVuaXRzVG9Ncyh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAvLyBTb21lIGJyb3dzZXJzIHdpbGwgcmV0dXJuIGl0IGluIHNlY29uZHMsIHdoZXJlYXMgb3RoZXJzIHdpbGwgcmV0dXJuIG1pbGxpc2Vjb25kcy5cclxuICBjb25zdCBtdWx0aXBsaWVyID0gdmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdtcycpID4gLTEgPyAxIDogMTAwMDtcclxuICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSkgKiBtdWx0aXBsaWVyO1xyXG59XHJcblxyXG4vKiogR2V0cyB0aGUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZHVyYXRpb24sIGluY2x1ZGluZyB0aGUgZGVsYXksIG9mIGFuIGVsZW1lbnQgaW4gbWlsbGlzZWNvbmRzLiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJhbnNmb3JtVHJhbnNpdGlvbkR1cmF0aW9uSW5NcyhlbGVtZW50OiBIVE1MRWxlbWVudCk6IG51bWJlciB7XHJcbiAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XHJcbiAgY29uc3QgdHJhbnNpdGlvbmVkUHJvcGVydGllcyA9IHBhcnNlQ3NzUHJvcGVydHlWYWx1ZShjb21wdXRlZFN0eWxlLCAndHJhbnNpdGlvbi1wcm9wZXJ0eScpO1xyXG4gIGNvbnN0IHByb3BlcnR5ID0gdHJhbnNpdGlvbmVkUHJvcGVydGllcy5maW5kKHByb3AgPT4gcHJvcCA9PT0gJ3RyYW5zZm9ybScgfHwgcHJvcCA9PT0gJ2FsbCcpO1xyXG5cclxuICAvLyBJZiB0aGVyZSdzIG5vIHRyYW5zaXRpb24gZm9yIGBhbGxgIG9yIGB0cmFuc2Zvcm1gLCB3ZSBzaG91bGRuJ3QgZG8gYW55dGhpbmcuXHJcbiAgaWYgKCFwcm9wZXJ0eSkge1xyXG4gICAgcmV0dXJuIDA7XHJcbiAgfVxyXG5cclxuICAvLyBHZXQgdGhlIGluZGV4IG9mIHRoZSBwcm9wZXJ0eSB0aGF0IHdlJ3JlIGludGVyZXN0ZWQgaW4gYW5kIG1hdGNoXHJcbiAgLy8gaXQgdXAgdG8gdGhlIHNhbWUgaW5kZXggaW4gYHRyYW5zaXRpb24tZGVsYXlgIGFuZCBgdHJhbnNpdGlvbi1kdXJhdGlvbmAuXHJcbiAgY29uc3QgcHJvcGVydHlJbmRleCA9IHRyYW5zaXRpb25lZFByb3BlcnRpZXMuaW5kZXhPZihwcm9wZXJ0eSk7XHJcbiAgY29uc3QgcmF3RHVyYXRpb25zID0gcGFyc2VDc3NQcm9wZXJ0eVZhbHVlKGNvbXB1dGVkU3R5bGUsICd0cmFuc2l0aW9uLWR1cmF0aW9uJyk7XHJcbiAgY29uc3QgcmF3RGVsYXlzID0gcGFyc2VDc3NQcm9wZXJ0eVZhbHVlKGNvbXB1dGVkU3R5bGUsICd0cmFuc2l0aW9uLWRlbGF5Jyk7XHJcblxyXG4gIHJldHVybiBwYXJzZUNzc1RpbWVVbml0c1RvTXMocmF3RHVyYXRpb25zW3Byb3BlcnR5SW5kZXhdKSArXHJcbiAgICAgICAgIHBhcnNlQ3NzVGltZVVuaXRzVG9NcyhyYXdEZWxheXNbcHJvcGVydHlJbmRleF0pO1xyXG59XHJcblxyXG4vKiogUGFyc2VzIG91dCBtdWx0aXBsZSB2YWx1ZXMgZnJvbSBhIGNvbXB1dGVkIHN0eWxlIGludG8gYW4gYXJyYXkuICovXHJcbmZ1bmN0aW9uIHBhcnNlQ3NzUHJvcGVydHlWYWx1ZShjb21wdXRlZFN0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgY29uc3QgdmFsdWUgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUobmFtZSk7XHJcbiAgcmV0dXJuIHZhbHVlLnNwbGl0KCcsJykubWFwKHBhcnQgPT4gcGFydC50cmltKCkpO1xyXG59XHJcbiJdfQ==