theme-lib
Version:
This is a simple example Angular Library published to npm.
91 lines • 7.13 kB
JavaScript
/**
* @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=