UNPKG

@angular-mdl/core

Version:

Angular components, directives and styles based on material design lite https://getmdl.io.

111 lines 14.6 kB
import { ComponentFactoryResolver, Directive, HostListener, Input, ViewContainerRef, } from "@angular/core"; import { MdlSimpleTooltipComponent, MdlTooltipComponent, } from "./mdl-tooltip.component"; import * as i0 from "@angular/core"; export class AbstractMdlTooltipDirective { constructor(vcRef, large, componentFactoryResolver) { this.vcRef = vcRef; this.large = large; this.componentFactoryResolver = componentFactoryResolver; this.position = "top"; } onMouseEnter(event) { this.tooltipComponent?.mouseEnter(event); } onMouseLeave() { this.tooltipComponent?.mouseLeave(); } ngOnInit() { // if the tooltip is not an instance of MdlTooltipComponent // we create a simpleTooltipComponent on the fly. if (!(this.tooltip instanceof MdlTooltipComponent)) { const cFactory = this.componentFactoryResolver.resolveComponentFactory(MdlSimpleTooltipComponent); const cRef = this.vcRef.createComponent(cFactory); this.tooltipComponent = cRef.instance; if (this.tooltipComponent) { this.tooltipComponent.tooltipText = this.tooltip; } this.configureTooltipComponent(); } else { this.tooltipComponent = this.tooltip; this.configureTooltipComponent(); } } ngOnChanges(changes) { if (changes["tooltip"] && !changes["tooltip"].isFirstChange()) { if (!(this.tooltip instanceof MdlTooltipComponent)) { if (this.tooltipComponent) { this.tooltipComponent.tooltipText = this.tooltip; } } } } configureTooltipComponent() { if (this.tooltipComponent) { this.tooltipComponent.large = this.large; this.tooltipComponent.position = this.position; } } } AbstractMdlTooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractMdlTooltipDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); AbstractMdlTooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: AbstractMdlTooltipDirective, host: { listeners: { "touchend": "onMouseEnter($event)", "mouseenter": "onMouseEnter($event)", "window:touchstart": "onMouseLeave()", "mouseleave": "onMouseLeave()" } }, usesOnChanges: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractMdlTooltipDirective, decorators: [{ type: Directive }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: undefined }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { onMouseEnter: [{ type: HostListener, args: ["touchend", ["$event"]] }, { type: HostListener, args: ["mouseenter", ["$event"]] }], onMouseLeave: [{ type: HostListener, args: ["window:touchstart"] }, { type: HostListener, args: ["mouseleave"] }] } }); export class MdlTooltipDirective extends AbstractMdlTooltipDirective { constructor(vcRef, componentFactoryResolver) { super(vcRef, false, componentFactoryResolver); // eslint-disable-next-line @angular-eslint/no-input-rename this.position = "top"; } } MdlTooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MdlTooltipDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive }); MdlTooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: MdlTooltipDirective, selector: "[mdl-tooltip]", inputs: { tooltip: ["mdl-tooltip", "tooltip"], position: ["mdl-tooltip-position", "position"] }, usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MdlTooltipDirective, decorators: [{ type: Directive, args: [{ // eslint-disable-next-line selector: "[mdl-tooltip]", }] }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { tooltip: [{ type: Input, args: ["mdl-tooltip"] }], position: [{ type: Input, args: ["mdl-tooltip-position"] }] } }); export class MdlTooltipLargeDirective extends AbstractMdlTooltipDirective { constructor(vcRef, componentFactoryResolver) { super(vcRef, true, componentFactoryResolver); // eslint-disable-next-line @angular-eslint/no-input-rename this.position = "top"; } } MdlTooltipLargeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MdlTooltipLargeDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive }); MdlTooltipLargeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: MdlTooltipLargeDirective, selector: "[mdl-tooltip-large]", inputs: { tooltip: ["mdl-tooltip-large", "tooltip"], position: ["mdl-tooltip-position", "position"] }, usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MdlTooltipLargeDirective, decorators: [{ type: Directive, args: [{ // eslint-disable-next-line selector: "[mdl-tooltip-large]", }] }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { tooltip: [{ type: Input, args: ["mdl-tooltip-large"] }], position: [{ type: Input, args: ["mdl-tooltip-position"] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRsLXRvb2x0aXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3Rvb2x0aXAvbWRsLXRvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFFeEIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBSUwsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsbUJBQW1CLEdBQ3BCLE1BQU0seUJBQXlCLENBQUM7O0FBR2pDLE1BQU0sT0FBZ0IsMkJBQTJCO0lBTS9DLFlBQ1UsS0FBdUIsRUFDdkIsS0FBYyxFQUNkLHdCQUFrRDtRQUZsRCxVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ2QsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQVBsRCxhQUFRLEdBQXdDLEtBQUssQ0FBQztJQVE3RCxDQUFDO0lBSUosWUFBWSxDQUFDLEtBQWlCO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUlELFlBQVk7UUFDVixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVE7UUFDTiwyREFBMkQ7UUFDM0QsaURBQWlEO1FBQ2pELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLFlBQVksbUJBQW1CLENBQUMsRUFBRTtZQUNsRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQ3BFLHlCQUF5QixDQUMxQixDQUFDO1lBQ0YsTUFBTSxJQUFJLEdBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFxQyxDQUFDO1lBQ25FLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDbEQ7WUFDRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztTQUNsQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDckMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQzdELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLFlBQVksbUJBQW1CLENBQUMsRUFBRTtnQkFDbEQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztpQkFDbEQ7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVPLHlCQUF5QjtRQUMvQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQzs7d0hBNURtQiwyQkFBMkI7NEdBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQURoRCxTQUFTO21LQWVSLFlBQVk7c0JBRlgsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNuQyxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPdEMsWUFBWTtzQkFGWCxZQUFZO3VCQUFDLG1CQUFtQjs7c0JBQ2hDLFlBQVk7dUJBQUMsWUFBWTs7QUFnRDVCLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSwyQkFBMkI7SUFZbEUsWUFDRSxLQUF1QixFQUN2Qix3QkFBa0Q7UUFFbEQsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztRQVhoRCwyREFBMkQ7UUFDWixhQUFRLEdBSXhDLEtBQUssQ0FBQztJQU9yQixDQUFDOztnSEFqQlUsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCwyQkFBMkI7b0JBQzNCLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs4SUFFdUMsT0FBTztzQkFBNUMsS0FBSzt1QkFBQyxhQUFhO2dCQUsyQixRQUFRO3NCQUF0RCxLQUFLO3VCQUFDLHNCQUFzQjs7QUFrQi9CLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSwyQkFBMkI7SUFZdkUsWUFDRSxLQUF1QixFQUN2Qix3QkFBa0Q7UUFFbEQsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztRQVgvQywyREFBMkQ7UUFDWixhQUFRLEdBSXhDLEtBQUssQ0FBQztJQU9yQixDQUFDOztxSEFqQlUsd0JBQXdCO3lHQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCwyQkFBMkI7b0JBQzNCLFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOzhJQUU2QyxPQUFPO3NCQUFsRCxLQUFLO3VCQUFDLG1CQUFtQjtnQkFLcUIsUUFBUTtzQkFBdEQsS0FBSzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIE1kbFNpbXBsZVRvb2x0aXBDb21wb25lbnQsXG4gIE1kbFRvb2x0aXBDb21wb25lbnQsXG59IGZyb20gXCIuL21kbC10b29sdGlwLmNvbXBvbmVudFwiO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE1kbFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByb3RlY3RlZCB0b29sdGlwOiBzdHJpbmcgfCBNZGxUb29sdGlwQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgcG9zaXRpb246IFwibGVmdFwiIHwgXCJyaWdodFwiIHwgXCJ0b3BcIiB8IFwiYm90dG9tXCIgPSBcInRvcFwiO1xuXG4gIHByb3RlY3RlZCB0b29sdGlwQ29tcG9uZW50OiBNZGxTaW1wbGVUb29sdGlwQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgbGFyZ2U6IGJvb2xlYW4sXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICApIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcihcInRvdWNoZW5kXCIsIFtcIiRldmVudFwiXSlcbiAgQEhvc3RMaXN0ZW5lcihcIm1vdXNlZW50ZXJcIiwgW1wiJGV2ZW50XCJdKVxuICBvbk1vdXNlRW50ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRvb2x0aXBDb21wb25lbnQ/Lm1vdXNlRW50ZXIoZXZlbnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzp0b3VjaHN0YXJ0XCIpXG4gIEBIb3N0TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIpXG4gIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvb2x0aXBDb21wb25lbnQ/Lm1vdXNlTGVhdmUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIGlmIHRoZSB0b29sdGlwIGlzIG5vdCBhbiBpbnN0YW5jZSBvZiBNZGxUb29sdGlwQ29tcG9uZW50XG4gICAgLy8gd2UgY3JlYXRlIGEgc2ltcGxlVG9vbHRpcENvbXBvbmVudCBvbiB0aGUgZmx5LlxuICAgIGlmICghKHRoaXMudG9vbHRpcCBpbnN0YW5jZW9mIE1kbFRvb2x0aXBDb21wb25lbnQpKSB7XG4gICAgICBjb25zdCBjRmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxuICAgICAgICBNZGxTaW1wbGVUb29sdGlwQ29tcG9uZW50XG4gICAgICApO1xuICAgICAgY29uc3QgY1JlZjogQ29tcG9uZW50UmVmPE1kbFNpbXBsZVRvb2x0aXBDb21wb25lbnQ+ID1cbiAgICAgICAgdGhpcy52Y1JlZi5jcmVhdGVDb21wb25lbnQoY0ZhY3RvcnkpO1xuXG4gICAgICB0aGlzLnRvb2x0aXBDb21wb25lbnQgPSBjUmVmLmluc3RhbmNlIGFzIE1kbFNpbXBsZVRvb2x0aXBDb21wb25lbnQ7XG4gICAgICBpZiAodGhpcy50b29sdGlwQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMudG9vbHRpcENvbXBvbmVudC50b29sdGlwVGV4dCA9IHRoaXMudG9vbHRpcDtcbiAgICAgIH1cbiAgICAgIHRoaXMuY29uZmlndXJlVG9vbHRpcENvbXBvbmVudCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRvb2x0aXBDb21wb25lbnQgPSB0aGlzLnRvb2x0aXA7XG4gICAgICB0aGlzLmNvbmZpZ3VyZVRvb2x0aXBDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbXCJ0b29sdGlwXCJdICYmICFjaGFuZ2VzW1widG9vbHRpcFwiXS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgIGlmICghKHRoaXMudG9vbHRpcCBpbnN0YW5jZW9mIE1kbFRvb2x0aXBDb21wb25lbnQpKSB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBDb21wb25lbnQpIHtcbiAgICAgICAgICB0aGlzLnRvb2x0aXBDb21wb25lbnQudG9vbHRpcFRleHQgPSB0aGlzLnRvb2x0aXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbmZpZ3VyZVRvb2x0aXBDb21wb25lbnQoKSB7XG4gICAgaWYgKHRoaXMudG9vbHRpcENvbXBvbmVudCkge1xuICAgICAgdGhpcy50b29sdGlwQ29tcG9uZW50LmxhcmdlID0gdGhpcy5sYXJnZTtcbiAgICAgIHRoaXMudG9vbHRpcENvbXBvbmVudC5wb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgc2VsZWN0b3I6IFwiW21kbC10b29sdGlwXVwiLFxufSlcbmV4cG9ydCBjbGFzcyBNZGxUb29sdGlwRGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3RNZGxUb29sdGlwRGlyZWN0aXZlIHtcbiAgQElucHV0KFwibWRsLXRvb2x0aXBcIikgcHVibGljIG92ZXJyaWRlIHRvb2x0aXA6XG4gICAgfCBzdHJpbmdcbiAgICB8IE1kbFRvb2x0aXBDb21wb25lbnRcbiAgICB8IHVuZGVmaW5lZDtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KFwibWRsLXRvb2x0aXAtcG9zaXRpb25cIikgcHVibGljIG92ZXJyaWRlIHBvc2l0aW9uOlxuICAgIHwgXCJsZWZ0XCJcbiAgICB8IFwicmlnaHRcIlxuICAgIHwgXCJ0b3BcIlxuICAgIHwgXCJib3R0b21cIiA9IFwidG9wXCI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdmNSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgKSB7XG4gICAgc3VwZXIodmNSZWYsIGZhbHNlLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgc2VsZWN0b3I6IFwiW21kbC10b29sdGlwLWxhcmdlXVwiLFxufSlcbmV4cG9ydCBjbGFzcyBNZGxUb29sdGlwTGFyZ2VEaXJlY3RpdmUgZXh0ZW5kcyBBYnN0cmFjdE1kbFRvb2x0aXBEaXJlY3RpdmUge1xuICBASW5wdXQoXCJtZGwtdG9vbHRpcC1sYXJnZVwiKSBwdWJsaWMgb3ZlcnJpZGUgdG9vbHRpcDpcbiAgICB8IHN0cmluZ1xuICAgIHwgTWRsVG9vbHRpcENvbXBvbmVudFxuICAgIHwgdW5kZWZpbmVkO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoXCJtZGwtdG9vbHRpcC1wb3NpdGlvblwiKSBwdWJsaWMgb3ZlcnJpZGUgcG9zaXRpb246XG4gICAgfCBcImxlZnRcIlxuICAgIHwgXCJyaWdodFwiXG4gICAgfCBcInRvcFwiXG4gICAgfCBcImJvdHRvbVwiID0gXCJ0b3BcIjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB2Y1JlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICApIHtcbiAgICBzdXBlcih2Y1JlZiwgdHJ1ZSwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgfVxufVxuIl19