@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
101 lines • 10.8 kB
JavaScript
import { Component, HostBinding, Injector, Input } from '@angular/core';
import { CoreBaseComponent } from '../../../common/base.component';
import { getCssSizeString } from '../models/icon-size-helpers';
import * as i0 from "@angular/core";
const _c0 = ["*"];
export class IconLayerComponent extends CoreBaseComponent {
constructor(injector) {
super(injector);
// It's related to the Bug 15522066: table grouping in Microsoft Edge (not Chrome) causes column mis-alignment if status is a column
// Basically the problem is if this component has the font-size inline style in the begining of a table rendering,
// it messes up the table layout in Microsoft Edge (only Microsoft Edge).
// The workaround is to defer the inline style rendering the Microsoft Edge can handle the table layout correctly.
setTimeout(() => {
this.internalFontSize = getCssSizeString(this.hostElement.nativeElement.clientHeight, this.size);
});
}
/**
* The source name to use for logging
*/
get logSourceName() {
return 'IconLayerComponent';
}
/**
* Host element binding for the right position of the layer
*/
get getTop() {
return getCssSizeString('0', this.top);
}
/**
* Host element binding for the left position of the layer
*/
get getLeft() {
return getCssSizeString('0', this.left);
}
/**
* Host element binding for the width of the layer
*/
get getWidth() {
return getCssSizeString('100%', this.width);
}
/**
* Host element binding for the height of the layer
*/
get getHeight() {
return getCssSizeString('100%', this.height);
}
/**
* Host element binding for the font-size of the icon
*/
get fontSize() {
return this.internalFontSize;
}
/**
* Gets the initial host classes to be applied to this element
*/
getInitialHostClasses() {
return super.getInitialHostClasses().concat([
'sme-icon-layer'
]);
}
}
/** @nocollapse */ IconLayerComponent.ɵfac = function IconLayerComponent_Factory(t) { return new (t || IconLayerComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
/** @nocollapse */ IconLayerComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: IconLayerComponent, selectors: [["sme-icon-layer"]], hostVars: 10, hostBindings: function IconLayerComponent_HostBindings(rf, ctx) { if (rf & 2) {
i0.ɵɵstyleProp("top", ctx.getTop)("left", ctx.getLeft)("width", ctx.getWidth)("height", ctx.getHeight)("font-size", ctx.fontSize);
} }, inputs: { size: "size", top: "top", left: "left", height: "height", width: "width" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function IconLayerComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵprojectionDef();
i0.ɵɵprojection(0);
} }, encapsulation: 2 });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IconLayerComponent, [{
type: Component,
args: [{
selector: 'sme-icon-layer',
template: '<ng-content></ng-content>'
}]
}], function () { return [{ type: i0.Injector }]; }, { size: [{
type: Input
}], top: [{
type: Input
}], left: [{
type: Input
}], height: [{
type: Input
}], width: [{
type: Input
}], getTop: [{
type: HostBinding,
args: ['style.top']
}], getLeft: [{
type: HostBinding,
args: ['style.left']
}], getWidth: [{
type: HostBinding,
args: ['style.width']
}], getHeight: [{
type: HostBinding,
args: ['style.height']
}], fontSize: [{
type: HostBinding,
args: ['style.font-size']
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9pY29uL2xheWVyZWQtaWNvbi9sYXllci9pY29uLWxheWVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFNL0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQTZFckQsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEIsb0lBQW9JO1FBQ3BJLGtIQUFrSDtRQUNsSCx5RUFBeUU7UUFDekUsa0hBQWtIO1FBQ2xILFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFwRkQ7O09BRUc7SUFDSCxJQUFjLGFBQWE7UUFDdkIsT0FBTyxvQkFBb0IsQ0FBQztJQUNoQyxDQUFDO0lBa0NEOztPQUVHO0lBQ0gsSUFBOEIsTUFBTTtRQUNoQyxPQUFPLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBK0IsT0FBTztRQUNsQyxPQUFPLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBZ0MsUUFBUTtRQUNwQyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBaUMsU0FBUztRQUN0QyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQWFEOztPQUVHO0lBQ08scUJBQXFCO1FBQzNCLE9BQU8sS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3hDLGdCQUFnQjtTQUNuQixDQUFDLENBQUM7SUFDUCxDQUFDOzt1R0EvRlEsa0JBQWtCO29HQUFsQixrQkFBa0I7Ozs7UUFGaEIsa0JBQXlCOzt1RkFFM0Isa0JBQWtCO2NBSjlCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUUsMkJBQTJCO2FBQ3hDOzJEQWdCVSxJQUFJO2tCQURWLEtBQUs7WUFPQyxHQUFHO2tCQURULEtBQUs7WUFPQyxJQUFJO2tCQURWLEtBQUs7WUFPQyxNQUFNO2tCQURaLEtBQUs7WUFPQyxLQUFLO2tCQURYLEtBQUs7WUFNd0IsTUFBTTtrQkFBbkMsV0FBVzttQkFBQyxXQUFXO1lBT08sT0FBTztrQkFBckMsV0FBVzttQkFBQyxZQUFZO1lBT08sUUFBUTtrQkFBdkMsV0FBVzttQkFBQyxhQUFhO1lBT08sU0FBUztrQkFBekMsV0FBVzttQkFBQyxjQUFjO1lBUWhCLFFBQVE7a0JBRGxCLFdBQVc7bUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvcmVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZ2V0Q3NzU2l6ZVN0cmluZyB9IGZyb20gJy4uL21vZGVscy9pY29uLXNpemUtaGVscGVycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLWljb24tbGF5ZXInLFxyXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSWNvbkxheWVyQ29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdJY29uTGF5ZXJDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW50ZXJuYWxGb250U2l6ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIElucHV0IGJpbmRpbmcgZm9yIHRoZSBzaXplIG9mIHRoZSBsYXllci5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaXplOiBudW1iZXIgfCBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbnB1dCBiaW5kaW5nIGZvciB0aGUgdG9wIHBvc2l0aW9uIG9mIHRoZSBsYXllci5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0b3A6IG51bWJlciB8IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIElucHV0IGJpbmRpbmcgZm9yIHRoZSBsZWZ0IHBvc2l0aW9uIG9mIHRoZSBsYXllci5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBsZWZ0OiBudW1iZXIgfCBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbnB1dCBiaW5kaW5nIGZvciB0aGUgaGVpZ2h0IG9mIHRoZSBsYXllci5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBoZWlnaHQ6IG51bWJlciB8IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIElucHV0IGJpbmRpbmcgZm9yIHRoZSB3aWR0aCBvZiB0aGUgbGF5ZXIuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgd2lkdGg6IG51bWJlciB8IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEhvc3QgZWxlbWVudCBiaW5kaW5nIGZvciB0aGUgcmlnaHQgcG9zaXRpb24gb2YgdGhlIGxheWVyXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnc3R5bGUudG9wJykgZ2V0IGdldFRvcCgpIHtcclxuICAgICAgICByZXR1cm4gZ2V0Q3NzU2l6ZVN0cmluZygnMCcsIHRoaXMudG9wKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhvc3QgZWxlbWVudCBiaW5kaW5nIGZvciB0aGUgbGVmdCBwb3NpdGlvbiBvZiB0aGUgbGF5ZXJcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5sZWZ0JykgZ2V0IGdldExlZnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIGdldENzc1NpemVTdHJpbmcoJzAnLCB0aGlzLmxlZnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSG9zdCBlbGVtZW50IGJpbmRpbmcgZm9yIHRoZSB3aWR0aCBvZiB0aGUgbGF5ZXJcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIGdldCBnZXRXaWR0aCgpIHtcclxuICAgICAgICByZXR1cm4gZ2V0Q3NzU2l6ZVN0cmluZygnMTAwJScsIHRoaXMud2lkdGgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSG9zdCBlbGVtZW50IGJpbmRpbmcgZm9yIHRoZSBoZWlnaHQgb2YgdGhlIGxheWVyXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgZ2V0IGdldEhlaWdodCgpIHtcclxuICAgICAgICByZXR1cm4gZ2V0Q3NzU2l6ZVN0cmluZygnMTAwJScsIHRoaXMuaGVpZ2h0KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhvc3QgZWxlbWVudCBiaW5kaW5nIGZvciB0aGUgZm9udC1zaXplIG9mIHRoZSBpY29uXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuZm9udC1zaXplJylcclxuICAgIHB1YmxpYyBnZXQgZm9udFNpemUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxGb250U2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICAgICAgLy8gSXQncyByZWxhdGVkIHRvIHRoZSBCdWcgMTU1MjIwNjY6IHRhYmxlIGdyb3VwaW5nIGluIE1pY3Jvc29mdCBFZGdlIChub3QgQ2hyb21lKSBjYXVzZXMgY29sdW1uIG1pcy1hbGlnbm1lbnQgaWYgc3RhdHVzIGlzIGEgY29sdW1uXHJcbiAgICAgICAgLy8gQmFzaWNhbGx5IHRoZSBwcm9ibGVtIGlzIGlmIHRoaXMgY29tcG9uZW50IGhhcyB0aGUgZm9udC1zaXplIGlubGluZSBzdHlsZSBpbiB0aGUgYmVnaW5pbmcgb2YgYSB0YWJsZSByZW5kZXJpbmcsXHJcbiAgICAgICAgLy8gaXQgbWVzc2VzIHVwIHRoZSB0YWJsZSBsYXlvdXQgaW4gTWljcm9zb2Z0IEVkZ2UgKG9ubHkgTWljcm9zb2Z0IEVkZ2UpLlxyXG4gICAgICAgIC8vIFRoZSB3b3JrYXJvdW5kIGlzIHRvIGRlZmVyIHRoZSBpbmxpbmUgc3R5bGUgcmVuZGVyaW5nIHRoZSBNaWNyb3NvZnQgRWRnZSBjYW4gaGFuZGxlIHRoZSB0YWJsZSBsYXlvdXQgY29ycmVjdGx5LlxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmludGVybmFsRm9udFNpemUgPSBnZXRDc3NTaXplU3RyaW5nKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQsIHRoaXMuc2l6ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBpbml0aWFsIGhvc3QgY2xhc3NlcyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgZWxlbWVudFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5nZXRJbml0aWFsSG9zdENsYXNzZXMoKS5jb25jYXQoW1xyXG4gICAgICAgICAgICAnc21lLWljb24tbGF5ZXInXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcbn1cclxuIl19