ngx-mat-lib
Version:
A bunch of utilities and components to use in your Angular 7+ apps!
111 lines (110 loc) • 7.95 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Directive, ElementRef, NgZone, Inject } from "@angular/core";
import { _MAT_INK_BAR_POSITIONER } from "@angular/material/tabs";
var XmatInkBarDirective = /** @class */ (function () {
function XmatInkBarDirective(_elementRef, _ngZone, _inkBarPositioner) {
this._elementRef = _elementRef;
this._ngZone = _ngZone;
this._inkBarPositioner = _inkBarPositioner;
}
/**
* Calculates the styles from the provided element in order to align the ink-bar to that element.
* Shows the ink bar if previously set as hidden.
* @param element
*/
/**
* Calculates the styles from the provided element in order to align the ink-bar to that element.
* Shows the ink bar if previously set as hidden.
* @param {?} element
* @return {?}
*/
XmatInkBarDirective.prototype.alignToElement = /**
* Calculates the styles from the provided element in order to align the ink-bar to that element.
* Shows the ink bar if previously set as hidden.
* @param {?} element
* @return {?}
*/
function (element) {
var _this = this;
this.show();
if (typeof requestAnimationFrame !== "undefined") {
this._ngZone.runOutsideAngular(function () {
requestAnimationFrame(function () { return _this._setStyles(element); });
});
}
else {
this._setStyles(element);
}
};
/** Shows the ink bar. */
/**
* Shows the ink bar.
* @return {?}
*/
XmatInkBarDirective.prototype.show = /**
* Shows the ink bar.
* @return {?}
*/
function () {
this._elementRef.nativeElement.style.visibility = "visible";
};
/** Hides the ink bar. */
/**
* Hides the ink bar.
* @return {?}
*/
XmatInkBarDirective.prototype.hide = /**
* Hides the ink bar.
* @return {?}
*/
function () {
this._elementRef.nativeElement.style.visibility = "hidden";
};
/**
* Sets the proper styles to the ink bar element.
* @param {?} element
* @return {?}
*/
XmatInkBarDirective.prototype._setStyles = /**
* Sets the proper styles to the ink bar element.
* @param {?} element
* @return {?}
*/
function (element) {
/** @type {?} */
var positions = this._inkBarPositioner(element);
/** @type {?} */
var inkBar = this._elementRef.nativeElement;
inkBar.style.left = positions.left;
inkBar.style.width = positions.width;
};
XmatInkBarDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line:directive-selector
selector: "xmat-ink-bar",
host: {
"class": "mat-ink-bar",
},
},] }
];
/** @nocollapse */
XmatInkBarDirective.ctorParameters = function () { return [
{ type: ElementRef },
{ type: NgZone },
{ type: undefined, decorators: [{ type: Inject, args: [_MAT_INK_BAR_POSITIONER,] }] }
]; };
return XmatInkBarDirective;
}());
export { XmatInkBarDirective };
if (false) {
/** @type {?} */
XmatInkBarDirective.prototype._elementRef;
/** @type {?} */
XmatInkBarDirective.prototype._ngZone;
/** @type {?} */
XmatInkBarDirective.prototype._inkBarPositioner;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1hdC1pbmstYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1tYXQtbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMveG1hdC1uYXYtYmFyL3htYXQtaW5rLWJhci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHVCQUF1QixFQUUxQixNQUFNLHdCQUF3QixDQUFDOztJQVc1Qiw2QkFDWSxhQUNBLFNBQ2lDLGlCQUF1QztRQUZ4RSxnQkFBVyxHQUFYLFdBQVc7UUFDWCxZQUFPLEdBQVAsT0FBTztRQUMwQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO0tBQ25GO0lBRUQ7Ozs7T0FJRzs7Ozs7OztJQUNILDRDQUFjOzs7Ozs7SUFBZCxVQUFlLE9BQW9CO1FBQW5DLGlCQVdDO1FBVkcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRVosSUFBSSxPQUFPLHFCQUFxQixLQUFLLFdBQVcsRUFBRTtZQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2dCQUMzQixxQkFBcUIsQ0FBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBeEIsQ0FBd0IsQ0FBQyxDQUFDO2FBQ3pELENBQUMsQ0FBQztTQUNOO2FBQ0k7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVCO0tBQ0o7SUFFRCx5QkFBeUI7Ozs7O0lBQ3pCLGtDQUFJOzs7O0lBQUo7UUFDSSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztLQUMvRDtJQUVELHlCQUF5Qjs7Ozs7SUFDekIsa0NBQUk7Ozs7SUFBSjtRQUNJLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO0tBQzlEOzs7Ozs7SUFNTyx3Q0FBVTs7Ozs7Y0FBQyxPQUFvQjs7UUFDbkMsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDOztRQUNsRCxJQUFNLE1BQU0sR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFFM0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNuQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDOzs7Z0JBcEQ1QyxTQUFTLFNBQUM7O29CQUVQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixJQUFJLEVBQUU7d0JBQ0YsT0FBTyxFQUFFLGFBQWE7cUJBQ3pCO2lCQUNKOzs7O2dCQWZHLFVBQVU7Z0JBQ1YsTUFBTTtnREFvQkQsTUFBTSxTQUFDLHVCQUF1Qjs7OEJBdkJ2Qzs7U0FrQmEsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBOZ1pvbmUsXG4gICAgSW5qZWN0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICAgIF9NQVRfSU5LX0JBUl9QT1NJVElPTkVSLFxuICAgIF9NYXRJbmtCYXJQb3NpdGlvbmVyXG59IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJzXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogXCJ4bWF0LWluay1iYXJcIixcbiAgICBob3N0OiB7XG4gICAgICAgIFwiY2xhc3NcIjogXCJtYXQtaW5rLWJhclwiLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFhtYXRJbmtCYXJEaXJlY3RpdmUge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChfTUFUX0lOS19CQVJfUE9TSVRJT05FUikgcHJpdmF0ZSBfaW5rQmFyUG9zaXRpb25lcjogX01hdElua0JhclBvc2l0aW9uZXIpIHtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBzdHlsZXMgZnJvbSB0aGUgcHJvdmlkZWQgZWxlbWVudCBpbiBvcmRlciB0byBhbGlnbiB0aGUgaW5rLWJhciB0byB0aGF0IGVsZW1lbnQuXG4gICAgICogU2hvd3MgdGhlIGluayBiYXIgaWYgcHJldmlvdXNseSBzZXQgYXMgaGlkZGVuLlxuICAgICAqIEBwYXJhbSBlbGVtZW50XG4gICAgICovXG4gICAgYWxpZ25Ub0VsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5zaG93KCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMuX3NldFN0eWxlcyhlbGVtZW50KSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFN0eWxlcyhlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTaG93cyB0aGUgaW5rIGJhci4gKi9cbiAgICBzaG93KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9IFwidmlzaWJsZVwiO1xuICAgIH1cblxuICAgIC8qKiBIaWRlcyB0aGUgaW5rIGJhci4gKi9cbiAgICBoaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9IFwiaGlkZGVuXCI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgcHJvcGVyIHN0eWxlcyB0byB0aGUgaW5rIGJhciBlbGVtZW50LlxuICAgICAqIEBwYXJhbSBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2V0U3R5bGVzKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IHRoaXMuX2lua0JhclBvc2l0aW9uZXIoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGlua0JhcjogSFRNTEVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaW5rQmFyLnN0eWxlLmxlZnQgPSBwb3NpdGlvbnMubGVmdDtcbiAgICAgICAgaW5rQmFyLnN0eWxlLndpZHRoID0gcG9zaXRpb25zLndpZHRoO1xuICAgIH1cblxufVxuIl19