@taiga-ui/kit
Version:
Taiga UI Angular main components kit
91 lines • 16.2 kB
JavaScript
import { __decorate } from "tslib";
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
import { isNumber, tuiDefaultProp } from '@taiga-ui/cdk';
import { sizeBigger } from '@taiga-ui/core';
const BADGE_SIZE = {
xs: 's',
s: 's',
m: 's',
l: 'm',
xl: 'm',
xxl: 'l',
};
let TuiBadgedContentComponent = class TuiBadgedContentComponent {
constructor() {
this.contentTop = '';
this.contentBottom = '';
this.size = 'm';
this.colorTop = '';
this.colorBottom = '';
this.rounded = false;
}
get topNotification() {
return (!this.contentTop && this.colorTop) ||
(this.contentTop && this.contentIsNumber(this.contentTop) && this.badgeHidden)
? this.colorTop
: '';
}
get bottomNotification() {
return !this.contentBottom && this.colorBottom ? this.colorBottom : '';
}
get badgeSize() {
return BADGE_SIZE[this.size];
}
get badgeHidden() {
return this.size === 'xs';
}
get sizeBig() {
return sizeBigger(this.size);
}
get boxShadow() {
const borderWidth = this.sizeBig ? 3 : 2;
return `0 0 0 ${borderWidth}px`;
}
contentIsNumber(content) {
return isNumber(content.valueOf());
}
contentIsString(content) {
return typeof content.valueOf() === 'string';
}
getStatus(color) {
return color ? "custom" /* Custom */ : "primary" /* Primary */;
}
};
__decorate([
Input(),
HostBinding('attr.data-tui-host-top'),
tuiDefaultProp()
], TuiBadgedContentComponent.prototype, "contentTop", void 0);
__decorate([
Input(),
HostBinding('attr.data-tui-host-bottom'),
tuiDefaultProp()
], TuiBadgedContentComponent.prototype, "contentBottom", void 0);
__decorate([
Input(),
HostBinding('attr.data-tui-host-size'),
tuiDefaultProp()
], TuiBadgedContentComponent.prototype, "size", void 0);
__decorate([
Input(),
tuiDefaultProp()
], TuiBadgedContentComponent.prototype, "colorTop", void 0);
__decorate([
Input(),
tuiDefaultProp()
], TuiBadgedContentComponent.prototype, "colorBottom", void 0);
__decorate([
Input(),
HostBinding('class._rounded'),
tuiDefaultProp()
], TuiBadgedContentComponent.prototype, "rounded", void 0);
TuiBadgedContentComponent = __decorate([
Component({
selector: 'tui-badged-content',
changeDetection: ChangeDetectionStrategy.OnPush,
template: "<ng-content></ng-content>\n\n<div\n *ngIf=\"topNotification\"\n class=\"notification notification_top\"\n [style.background]=\"topNotification\"\n [style.boxShadow]=\"boxShadow\"\n></div>\n\n<div\n *ngIf=\"bottomNotification\"\n class=\"notification notification_bottom\"\n [style.background]=\"bottomNotification\"\n [style.boxShadow]=\"boxShadow\"\n></div>\n\n<div\n *ngIf=\"contentTop\"\n polymorpheus-outlet\n class=\"content content_top\"\n [style.boxShadow]=\"boxShadow\"\n [content]=\"contentTop\"\n>\n <ng-template let-content>\n <tui-badge\n *ngIf=\"contentIsNumber(content) && !badgeHidden\"\n [status]=\"getStatus(colorTop)\"\n [style.backgroundColor]=\"colorTop\"\n [size]=\"badgeSize\"\n [value]=\"contentTop\"\n ></tui-badge>\n <tui-svg\n *ngIf=\"contentIsString(content)\"\n class=\"icon\"\n [style.color]=\"colorTop\"\n [src]=\"content\"\n ></tui-svg>\n </ng-template>\n</div>\n\n<div\n polymorpheus-outlet\n *ngIf=\"contentBottom && sizeBig\"\n class=\"content content_bottom\"\n [style.boxShadow]=\"boxShadow\"\n [content]=\"contentBottom\"\n>\n <ng-template let-content>\n <tui-badge\n *ngIf=\"contentIsNumber(content)\"\n [status]=\"getStatus(colorBottom)\"\n [style.backgroundColor]=\"colorBottom\"\n [size]=\"badgeSize\"\n [value]=\"contentBottom\"\n ></tui-badge>\n <tui-svg\n *ngIf=\"contentIsString(content)\"\n class=\"icon\"\n [style.color]=\"colorBottom\"\n [src]=\"content\"\n ></tui-svg>\n </ng-template>\n</div>\n",
styles: [":host{position:relative;display:inline-block;color:var(--tui-base-01)}.notification{position:absolute;border-radius:100%;box-shadow:0 0 0 2px currentColor}.notification:not([data-tui-background]){background-color:currentColor}:host[data-tui-host-size='m']:not(._rounded) .notification_top,:host[data-tui-host-size='s']:not(._rounded) .notification_top,:host[data-tui-host-size=xs]:not(._rounded) .notification_top{top:-2px;right:-2px}:host[data-tui-host-size='l']:not(._rounded) .notification_top,:host[data-tui-host-size=xl]:not(._rounded) .notification_top{top:-4px;right:-4px}:host[data-tui-host-size=xxl]:not(._rounded) .notification_top{top:-8px;right:-8px}:host[data-tui-host-size=xs]._rounded .notification_top{top:0;right:0}:host[data-tui-host-size='s']._rounded .notification_top{top:1px;right:1px}:host[data-tui-host-size='m']._rounded .notification_top{top:3px;right:3px}:host[data-tui-host-size='l']._rounded .notification_top{top:4px;right:4px}:host[data-tui-host-size=xl]._rounded .notification_top{top:6px;right:6px}:host[data-tui-host-size=xxl]._rounded .notification_top{top:8px;right:8px}:host[data-tui-host-size='m']:not(._rounded) .notification_bottom{bottom:-2px;right:-2px}:host[data-tui-host-size='l']:not(._rounded) .notification_bottom,:host[data-tui-host-size=xl]:not(._rounded) .notification_bottom{bottom:-4px;right:-4px}:host[data-tui-host-size=xxl]:not(._rounded) .notification_bottom{bottom:-8px;right:-8px}:host[data-tui-host-size='m']._rounded .notification_bottom{bottom:3px;right:3px}:host[data-tui-host-size='l']._rounded .notification_bottom{bottom:4px;right:4px}:host[data-tui-host-size=xl]._rounded .notification_bottom{bottom:6px;right:6px}:host[data-tui-host-size=xxl]._rounded .notification_bottom{bottom:8px;right:8px}:host[data-tui-host-size='m'] .notification,:host[data-tui-host-size='s'] .notification,:host[data-tui-host-size=xs] .notification{width:8px;height:8px}:host[data-tui-host-size='l'] .notification{width:12px;height:12px}:host[data-tui-host-size=xl] .notification{width:16px;height:16px}:host[data-tui-host-size=xxl] .notification{width:24px;height:24px}.icon[data-tui-color=normal],.notification[data-tui-color=normal]{color:var(--tui-base-06)}.icon[data-tui-color=onDark],.notification[data-tui-color=onDark]{color:var(--tui-secondary)}.icon[data-tui-color=gray],.notification[data-tui-color=gray]{color:var(--tui-base-03)}.icon[data-tui-color=warning],.notification[data-tui-color=warning]{color:var(--tui-primary)}.icon[data-tui-color=secondary],.notification[data-tui-color=secondary]{color:var(--tui-info-fill)}.icon[data-tui-color=highlight],.icon[data-tui-color=white],.notification[data-tui-color=highlight],.notification[data-tui-color=white]{color:var(--tui-base-01)}.icon[data-tui-color=transparent-dark],.notification[data-tui-color=transparent-dark]{color:var(--tui-clear)}.icon[data-tui-color=transparent-light],.notification[data-tui-color=transparent-light]{color:var(--tui-clear-inverse)}:host[data-tui-host-size='m'] .icon,:host[data-tui-host-size='s'] .icon{width:24px;height:24px;margin:-2px}:host[data-tui-host-size='l'] .icon,:host[data-tui-host-size=xl] .icon{transform:scale(1.2)}:host[data-tui-host-size=xxl] .icon{transform:scale(1.6)}.content{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:100px;overflow:hidden;background-color:currentColor;box-shadow:0 0 0 2px currentColor}:host[data-tui-host-size='l'][data-tui-host-top]:not(._rounded) .content_top,:host[data-tui-host-size=xxl][data-tui-host-top]:not(._rounded) .content_top{right:-8px;top:-8px}:host[data-tui-host-size=xl][data-tui-host-top]:not(._rounded) .content_top{right:-6px;top:-6px}:host[data-tui-host-size='m'][data-tui-host-top]:not(._rounded) .content_top,:host[data-tui-host-size='s'][data-tui-host-top]:not(._rounded) .content_top,:host[data-tui-host-size=xs][data-tui-host-top]:not(._rounded) .content_top{right:-4px;top:-4px}:host[data-tui-host-size=xxl][data-tui-host-top]._rounded .content_top{right:4px;top:4px}:host[data-tui-host-size=xl][data-tui-host-top]._rounded .content_top{right:2px;top:2px}:host[data-tui-host-size='l'][data-tui-host-top]._rounded .content_top,:host[data-tui-host-size='m'][data-tui-host-top]._rounded .content_top,:host[data-tui-host-size='s'][data-tui-host-top]._rounded .content_top,:host[data-tui-host-size=xs][data-tui-host-top]._rounded .content_top{right:-4px;top:-4px}:host[data-tui-host-size='l'][data-tui-host-bottom]:not(._rounded) .content_bottom,:host[data-tui-host-size=xxl][data-tui-host-bottom]:not(._rounded) .content_bottom{bottom:-8px;right:-8px}:host[data-tui-host-size=xl][data-tui-host-bottom]:not(._rounded) .content_bottom{bottom:-6px;right:-6px}:host[data-tui-host-size='m'][data-tui-host-bottom]:not(._rounded) .content_bottom{bottom:-4px;right:-4px}:host[data-tui-host-size=xxl][data-tui-host-bottom]._rounded .content_bottom{bottom:4px;right:4px}:host[data-tui-host-size=xl][data-tui-host-bottom]._rounded .content_bottom{bottom:2px;right:2px}:host[data-tui-host-size='l'][data-tui-host-bottom]._rounded .content_bottom,:host[data-tui-host-size='m'][data-tui-host-bottom]._rounded .content_bottom{bottom:-4px;right:-4px}:host[data-tui-host-size=xxl] .content{height:32px;min-width:32px}:host[data-tui-host-size='l'] .content,:host[data-tui-host-size=xl] .content{height:24px;min-width:24px}:host[data-tui-host-size='m'] .content,:host[data-tui-host-size='s'] .content{height:20px;min-width:20px}:host[data-tui-host-size=xs] .content{height:16px;min-width:16px}"]
})
], TuiBadgedContentComponent);
export { TuiBadgedContentComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2VkLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2JhZGdlZC1jb250ZW50LyIsInNvdXJjZXMiOlsiYmFkZ2VkLWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBNEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUlyRixNQUFNLFVBQVUsR0FBeUM7SUFDckQsRUFBRSxFQUFFLEdBQUc7SUFDUCxDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixFQUFFLEVBQUUsR0FBRztJQUNQLEdBQUcsRUFBRSxHQUFHO0NBQ1gsQ0FBQztBQVFGLElBQWEseUJBQXlCLEdBQXRDLE1BQWEseUJBQXlCO0lBQXRDO1FBSUksZUFBVSxHQUF3QixFQUFFLENBQUM7UUFLckMsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBS3hDLFNBQUksR0FBMkIsR0FBRyxDQUFDO1FBSW5DLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFJZCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUtqQixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBMENwQixDQUFDO0lBeENHLElBQUksZUFBZTtRQUNmLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN0QyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUM5RSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDZixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXpDLE9BQU8sU0FBUyxXQUFXLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQTRCO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBNEI7UUFDeEMsT0FBTyxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLENBQUM7SUFDakQsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ25CLE9BQU8sS0FBSyxDQUFDLENBQUMsdUJBQWtCLENBQUMsd0JBQWtCLENBQUM7SUFDeEQsQ0FBQztDQUNKLENBQUE7QUFqRUc7SUFIQyxLQUFLLEVBQUU7SUFDUCxXQUFXLENBQUMsd0JBQXdCLENBQUM7SUFDckMsY0FBYyxFQUFFOzZEQUNvQjtBQUtyQztJQUhDLEtBQUssRUFBRTtJQUNQLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQztJQUN4QyxjQUFjLEVBQUU7Z0VBQ3VCO0FBS3hDO0lBSEMsS0FBSyxFQUFFO0lBQ1AsV0FBVyxDQUFDLHlCQUF5QixDQUFDO0lBQ3RDLGNBQWMsRUFBRTt1REFDa0I7QUFJbkM7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7MkRBQ0g7QUFJZDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTs4REFDQTtBQUtqQjtJQUhDLEtBQUssRUFBRTtJQUNQLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztJQUM3QixjQUFjLEVBQUU7MERBQ0Q7QUEzQlAseUJBQXlCO0lBTnJDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsZ3ZEQUE2Qzs7S0FFaEQsQ0FBQztHQUNXLHlCQUF5QixDQXFFckM7U0FyRVkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpc051bWJlciwgdHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtzaXplQmlnZ2VyLCBUdWlTaXplTCwgVHVpU2l6ZVMsIFR1aVNpemVYUywgVHVpU2l6ZVhYTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlTdGF0dXN9IGZyb20gJ0B0YWlnYS11aS9raXQvZW51bXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5jb25zdCBCQURHRV9TSVpFOiB7W2tleTogc3RyaW5nXTogVHVpU2l6ZVMgfCBUdWlTaXplTH0gPSB7XG4gICAgeHM6ICdzJyxcbiAgICBzOiAncycsXG4gICAgbTogJ3MnLFxuICAgIGw6ICdtJyxcbiAgICB4bDogJ20nLFxuICAgIHh4bDogJ2wnLFxufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktYmFkZ2VkLWNvbnRlbnQnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYWRnZWQtY29udGVudC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYWRnZWQtY29udGVudC5zdHlsZS5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUJhZGdlZENvbnRlbnRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHVpLWhvc3QtdG9wJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbnRlbnRUb3A6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHVpLWhvc3QtYm90dG9tJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbnRlbnRCb3R0b206IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHVpLWhvc3Qtc2l6ZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplWFMgfCBUdWlTaXplWFhMID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbG9yVG9wID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29sb3JCb3R0b20gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fcm91bmRlZCcpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICByb3VuZGVkID0gZmFsc2U7XG5cbiAgICBnZXQgdG9wTm90aWZpY2F0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAoIXRoaXMuY29udGVudFRvcCAmJiB0aGlzLmNvbG9yVG9wKSB8fFxuICAgICAgICAgICAgKHRoaXMuY29udGVudFRvcCAmJiB0aGlzLmNvbnRlbnRJc051bWJlcih0aGlzLmNvbnRlbnRUb3ApICYmIHRoaXMuYmFkZ2VIaWRkZW4pXG4gICAgICAgICAgICA/IHRoaXMuY29sb3JUb3BcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGJvdHRvbU5vdGlmaWNhdGlvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gIXRoaXMuY29udGVudEJvdHRvbSAmJiB0aGlzLmNvbG9yQm90dG9tID8gdGhpcy5jb2xvckJvdHRvbSA6ICcnO1xuICAgIH1cblxuICAgIGdldCBiYWRnZVNpemUoKTogVHVpU2l6ZVMgfCBUdWlTaXplTCB7XG4gICAgICAgIHJldHVybiBCQURHRV9TSVpFW3RoaXMuc2l6ZV07XG4gICAgfVxuXG4gICAgZ2V0IGJhZGdlSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSAneHMnO1xuICAgIH1cblxuICAgIGdldCBzaXplQmlnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gc2l6ZUJpZ2dlcih0aGlzLnNpemUpO1xuICAgIH1cblxuICAgIGdldCBib3hTaGFkb3coKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgYm9yZGVyV2lkdGggPSB0aGlzLnNpemVCaWcgPyAzIDogMjtcblxuICAgICAgICByZXR1cm4gYDAgMCAwICR7Ym9yZGVyV2lkdGh9cHhgO1xuICAgIH1cblxuICAgIGNvbnRlbnRJc051bWJlcihjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc051bWJlcihjb250ZW50LnZhbHVlT2YoKSk7XG4gICAgfVxuXG4gICAgY29udGVudElzU3RyaW5nKGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBjb250ZW50LnZhbHVlT2YoKSA9PT0gJ3N0cmluZyc7XG4gICAgfVxuXG4gICAgZ2V0U3RhdHVzKGNvbG9yOiBzdHJpbmcpOiBUdWlTdGF0dXMge1xuICAgICAgICByZXR1cm4gY29sb3IgPyBUdWlTdGF0dXMuQ3VzdG9tIDogVHVpU3RhdHVzLlByaW1hcnk7XG4gICAgfVxufVxuIl19