UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

91 lines 7.13 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /* * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import { Component, ComponentFactoryResolver, Input, TemplateRef, Type, ViewChild } from '@angular/core'; import { NbComponentPortal, NbOverlayContainerComponent, NbPositionedContainer, NbTemplatePortal } from '../cdk'; /* * Overlay container. * Renders provided content inside. * * @styles * * popover-fg * popover-bg * popover-border * popover-shadow * */ export class NbPopoverComponent extends NbPositionedContainer { /** * @return {?} */ ngAfterViewInit() { if (this.content instanceof TemplateRef) { this.attachTemplate(); } else if (this.content instanceof Type) { this.attachComponent(); } else { this.attachString(); } } /** * @protected * @return {?} */ attachTemplate() { this.overlayContainer.attachTemplatePortal(new NbTemplatePortal(this.content, null, this.context)); } /** * @protected * @return {?} */ attachComponent() { /** @type {?} */ const portal = new NbComponentPortal(this.content, null, null, this.cfr); /** @type {?} */ const ref = this.overlayContainer.attachComponentPortal(portal); Object.assign(ref.instance, this.context); ref.changeDetectorRef.detectChanges(); } /** * @protected * @return {?} */ attachString() { this.overlayContainer.attachStringContent(this.content); } } NbPopoverComponent.decorators = [ { type: Component, args: [{ selector: 'nb-popover', template: ` <span class="arrow"></span> <nb-overlay-container></nb-overlay-container> `, styles: [":host .arrow{position:absolute;width:0;height:0}:host /deep/ nb-overlay-container .primitive-overlay{padding:.75rem 1rem}"] }] } ]; NbPopoverComponent.propDecorators = { overlayContainer: [{ type: ViewChild, args: [NbOverlayContainerComponent,] }], content: [{ type: Input }], context: [{ type: Input }], cfr: [{ type: Input }] }; if (false) { /** @type {?} */ NbPopoverComponent.prototype.overlayContainer; /** @type {?} */ NbPopoverComponent.prototype.content; /** @type {?} */ NbPopoverComponent.prototype.context; /** @type {?} */ NbPopoverComponent.prototype.cfr; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aGVtZS1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBaUIsU0FBUyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7OztBQXNCakgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjs7OztJQU8zRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsT0FBTyxZQUFZLFdBQVcsRUFBRTtZQUN2QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksSUFBSSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN4QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQzs7Ozs7SUFFUyxjQUFjO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7Ozs7O0lBRVMsZUFBZTs7Y0FDakIsTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUM7O2NBQ2xFLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDO1FBQy9ELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Ozs7O0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFELENBQUM7OztZQXRDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBRXRCLFFBQVEsRUFBRTs7O0dBR1Q7O2FBQ0Y7OzsrQkFFRSxTQUFTLFNBQUMsMkJBQTJCO3NCQUVyQyxLQUFLO3NCQUNMLEtBQUs7a0JBQ0wsS0FBSzs7OztJQUpOLDhDQUFzRjs7SUFFdEYscUNBQXNCOztJQUN0QixxQ0FBeUI7O0lBQ3pCLGlDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBBa3Zlby4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cclxuICovXHJcblxyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5wdXQsIFRlbXBsYXRlUmVmLCBUeXBlLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmJDb21wb25lbnRQb3J0YWwsIE5iT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudCwgTmJQb3NpdGlvbmVkQ29udGFpbmVyLCBOYlRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnLi4vY2RrJztcclxuXHJcblxyXG4vKlxyXG4gKiBPdmVybGF5IGNvbnRhaW5lci5cclxuICogUmVuZGVycyBwcm92aWRlZCBjb250ZW50IGluc2lkZS5cclxuICpcclxuICogQHN0eWxlc1xyXG4gKlxyXG4gKiBwb3BvdmVyLWZnXHJcbiAqIHBvcG92ZXItYmdcclxuICogcG9wb3Zlci1ib3JkZXJcclxuICogcG9wb3Zlci1zaGFkb3dcclxuICogKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduYi1wb3BvdmVyJyxcclxuICBzdHlsZVVybHM6IFsnLi9wb3BvdmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj48L3NwYW4+XHJcbiAgICA8bmItb3ZlcmxheS1jb250YWluZXI+PC9uYi1vdmVybGF5LWNvbnRhaW5lcj5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmJQb3BvdmVyQ29tcG9uZW50IGV4dGVuZHMgTmJQb3NpdGlvbmVkQ29udGFpbmVyIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZChOYk92ZXJsYXlDb250YWluZXJDb21wb25lbnQpIG92ZXJsYXlDb250YWluZXI6IE5iT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KCkgY29udGVudDogYW55O1xyXG4gIEBJbnB1dCgpIGNvbnRleHQ6IE9iamVjdDtcclxuICBASW5wdXQoKSBjZnI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjtcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XHJcbiAgICAgIHRoaXMuYXR0YWNoVGVtcGxhdGUoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jb250ZW50IGluc3RhbmNlb2YgVHlwZSkge1xyXG4gICAgICB0aGlzLmF0dGFjaENvbXBvbmVudCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hdHRhY2hTdHJpbmcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhdHRhY2hUZW1wbGF0ZSgpIHtcclxuICAgIHRoaXMub3ZlcmxheUNvbnRhaW5lci5hdHRhY2hUZW1wbGF0ZVBvcnRhbChuZXcgTmJUZW1wbGF0ZVBvcnRhbCh0aGlzLmNvbnRlbnQsIG51bGwsIHRoaXMuY29udGV4dCkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGF0dGFjaENvbXBvbmVudCgpIHtcclxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBOYkNvbXBvbmVudFBvcnRhbCh0aGlzLmNvbnRlbnQsIG51bGwsIG51bGwsIHRoaXMuY2ZyKTtcclxuICAgIGNvbnN0IHJlZiA9IHRoaXMub3ZlcmxheUNvbnRhaW5lci5hdHRhY2hDb21wb25lbnRQb3J0YWwocG9ydGFsKTtcclxuICAgIE9iamVjdC5hc3NpZ24ocmVmLmluc3RhbmNlLCB0aGlzLmNvbnRleHQpO1xyXG4gICAgcmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhdHRhY2hTdHJpbmcoKSB7XHJcbiAgICB0aGlzLm92ZXJsYXlDb250YWluZXIuYXR0YWNoU3RyaW5nQ29udGVudCh0aGlzLmNvbnRlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=