utils.class.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /**
  2. * @fileoverview added by tsickle
  3. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  4. */
  5. import { window } from './facade/browser';
  6. export class Utils {
  7. /* tslint:disable-next-line: no-any */
  8. /**
  9. * @param {?} element
  10. * @return {?}
  11. */
  12. static reflow(element) {
  13. /* tslint:disable-next-line: no-any */
  14. ((/**
  15. * @param {?} bs
  16. * @return {?}
  17. */
  18. (bs) => bs))(element.offsetHeight);
  19. }
  20. // source: https://github.com/jquery/jquery/blob/master/src/css/var/getStyles.js
  21. /* tslint:disable-next-line: no-any */
  22. /**
  23. * @param {?} elem
  24. * @return {?}
  25. */
  26. static getStyles(elem) {
  27. // Support: IE <=11 only, Firefox <=30 (#15098, #14150)
  28. // IE throws on elements created in popups
  29. // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
  30. /** @type {?} */
  31. let view = elem.ownerDocument.defaultView;
  32. if (!view || !view.opener) {
  33. view = window;
  34. }
  35. return view.getComputedStyle(elem);
  36. }
  37. }
  38. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYm9vdHN0cmFwL3V0aWxzLyIsInNvdXJjZXMiOlsidXRpbHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQyxNQUFNLE9BQU8sS0FBSzs7Ozs7O0lBRWhCLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBWTtRQUN4QixzQ0FBc0M7UUFDdEM7Ozs7UUFBQyxDQUFDLEVBQU8sRUFBUSxFQUFFLENBQUMsRUFBRSxFQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7Ozs7SUFJRCxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVM7Ozs7O1lBSXBCLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVc7UUFFekMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDekIsSUFBSSxHQUFHLE1BQU0sQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd2luZG93IH0gZnJvbSAnLi9mYWNhZGUvYnJvd3Nlcic7XG5cbmV4cG9ydCBjbGFzcyBVdGlscyB7XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55ICovXG4gIHN0YXRpYyByZWZsb3coZWxlbWVudDogYW55KTogdm9pZCB7XG4gICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnkgKi9cbiAgICAoKGJzOiBhbnkpOiB2b2lkID0+IGJzKShlbGVtZW50Lm9mZnNldEhlaWdodCk7XG4gIH1cblxuICAvLyBzb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9qcXVlcnkvanF1ZXJ5L2Jsb2IvbWFzdGVyL3NyYy9jc3MvdmFyL2dldFN0eWxlcy5qc1xuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSAqL1xuICBzdGF0aWMgZ2V0U3R5bGVzKGVsZW06IGFueSk6IGFueSB7XG4gICAgLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5LCBGaXJlZm94IDw9MzAgKCMxNTA5OCwgIzE0MTUwKVxuICAgIC8vIElFIHRocm93cyBvbiBlbGVtZW50cyBjcmVhdGVkIGluIHBvcHVwc1xuICAgIC8vIEZGIG1lYW53aGlsZSB0aHJvd3Mgb24gZnJhbWUgZWxlbWVudHMgdGhyb3VnaCBcImRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGVcIlxuICAgIGxldCB2aWV3ID0gZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O1xuXG4gICAgaWYgKCF2aWV3IHx8ICF2aWV3Lm9wZW5lcikge1xuICAgICAgdmlldyA9IHdpbmRvdztcbiAgICB9XG5cbiAgICByZXR1cm4gdmlldy5nZXRDb21wdXRlZFN0eWxlKGVsZW0pO1xuICB9XG59XG4iXX0=