theme-lib
Version:
This is a simple example Angular Library published to npm.
128 lines • 8.62 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ComponentFactoryResolver, HostBinding, Injector, Input, ViewContainerRef, } from '@angular/core';
import { NbPosition } from './overlay-position';
import { NbPortalInjector } from './mapping';
/**
* @abstract
*/
export class NbPositionedContainer {
/**
* @return {?}
*/
get top() {
return this.position === NbPosition.TOP;
}
/**
* @return {?}
*/
get right() {
return this.position === NbPosition.RIGHT;
}
/**
* @return {?}
*/
get bottom() {
return this.position === NbPosition.BOTTOM;
}
/**
* @return {?}
*/
get left() {
return this.position === NbPosition.LEFT;
}
}
NbPositionedContainer.propDecorators = {
position: [{ type: Input }],
top: [{ type: HostBinding, args: ['class.nb-overlay-top',] }],
right: [{ type: HostBinding, args: ['class.nb-overlay-right',] }],
bottom: [{ type: HostBinding, args: ['class.nb-overlay-bottom',] }],
left: [{ type: HostBinding, args: ['class.nb-overlay-left',] }]
};
if (false) {
/** @type {?} */
NbPositionedContainer.prototype.position;
}
export class NbOverlayContainerComponent {
/**
* @param {?} vcr
* @param {?} injector
*/
constructor(vcr, injector) {
this.vcr = vcr;
this.injector = injector;
}
/**
* @return {?}
*/
get isStringContent() {
return !!this.content;
}
/**
* @template T
* @param {?} portal
* @return {?}
*/
attachComponentPortal(portal) {
/** @type {?} */
const factory = portal.cfr.resolveComponentFactory(portal.component);
/** @type {?} */
const injector = this.createChildInjector(portal.cfr);
return this.vcr.createComponent(factory, null, injector);
}
/**
* @template C
* @param {?} portal
* @return {?}
*/
attachTemplatePortal(portal) {
return this.vcr.createEmbeddedView(portal.templateRef, portal.context);
}
/**
* @param {?} content
* @return {?}
*/
attachStringContent(content) {
this.content = content;
}
/**
* @protected
* @param {?} cfr
* @return {?}
*/
createChildInjector(cfr) {
return new NbPortalInjector(this.injector, new WeakMap([
[ComponentFactoryResolver, cfr],
]));
}
}
NbOverlayContainerComponent.decorators = [
{ type: Component, args: [{
selector: 'nb-overlay-container',
template: `
<div *ngIf="isStringContent" class="primitive-overlay">{{ content }}</div>
`
}] }
];
/** @nocollapse */
NbOverlayContainerComponent.ctorParameters = () => [
{ type: ViewContainerRef },
{ type: Injector }
];
if (false) {
/** @type {?} */
NbOverlayContainerComponent.prototype.content;
/**
* @type {?}
* @protected
*/
NbOverlayContainerComponent.prototype.vcr;
/**
* @type {?}
* @protected
*/
NbOverlayContainerComponent.prototype.injector;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aGVtZS1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jZGsvb3ZlcmxheS9vdmVybGF5LWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx3QkFBd0IsRUFHeEIsV0FBVyxFQUNYLFFBQVEsRUFDUixLQUFLLEVBQ0wsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQXFCLGdCQUFnQixFQUFvQixNQUFNLFdBQVcsQ0FBQzs7OztBQUVsRixNQUFNLE9BQWdCLHFCQUFxQjs7OztJQUd6QyxJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDLEdBQUcsQ0FBQTtJQUN6QyxDQUFDOzs7O0lBRUQsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQyxLQUFLLENBQUE7SUFDM0MsQ0FBQzs7OztJQUVELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxVQUFVLENBQUMsTUFBTSxDQUFBO0lBQzVDLENBQUM7Ozs7SUFFRCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQTtJQUMxQyxDQUFDOzs7dUJBcEJBLEtBQUs7a0JBRUwsV0FBVyxTQUFDLHNCQUFzQjtvQkFLbEMsV0FBVyxTQUFDLHdCQUF3QjtxQkFLcEMsV0FBVyxTQUFDLHlCQUF5QjttQkFLckMsV0FBVyxTQUFDLHVCQUF1Qjs7OztJQWpCcEMseUNBQThCOztBQThCaEMsTUFBTSxPQUFPLDJCQUEyQjs7Ozs7SUFHdEMsWUFBc0IsR0FBcUIsRUFBWSxRQUFrQjtRQUFuRCxRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUFZLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDekUsQ0FBQzs7OztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7Ozs7OztJQUVELHFCQUFxQixDQUFJLE1BQTRCOztjQUM3QyxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDOztjQUM5RCxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNELENBQUM7Ozs7OztJQUVELG9CQUFvQixDQUFJLE1BQTJCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDOzs7OztJQUVELG1CQUFtQixDQUFDLE9BQWU7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQzs7Ozs7O0lBRVMsbUJBQW1CLENBQUMsR0FBNkI7UUFDekQsT0FBTyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxPQUFPLENBQUM7WUFDckQsQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLENBQUM7U0FDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOzs7WUFsQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFFBQVEsRUFBRTs7R0FFVDthQUNGOzs7O1lBcENDLGdCQUFnQjtZQUZoQixRQUFROzs7O0lBd0NSLDhDQUFnQjs7Ozs7SUFFSiwwQ0FBK0I7Ozs7O0lBQUUsK0NBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbWJlZGRlZFZpZXdSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE5iUG9zaXRpb24gfSBmcm9tICcuL292ZXJsYXktcG9zaXRpb24nO1xyXG5pbXBvcnQgeyBOYkNvbXBvbmVudFBvcnRhbCwgTmJQb3J0YWxJbmplY3RvciwgTmJUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJy4vbWFwcGluZyc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmJQb3NpdGlvbmVkQ29udGFpbmVyIHtcclxuICBASW5wdXQoKSBwb3NpdGlvbjogTmJQb3NpdGlvbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uYi1vdmVybGF5LXRvcCcpXHJcbiAgZ2V0IHRvcCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uID09PSBOYlBvc2l0aW9uLlRPUFxyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uYi1vdmVybGF5LXJpZ2h0JylcclxuICBnZXQgcmlnaHQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3NpdGlvbiA9PT0gTmJQb3NpdGlvbi5SSUdIVFxyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uYi1vdmVybGF5LWJvdHRvbScpXHJcbiAgZ2V0IGJvdHRvbSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uID09PSBOYlBvc2l0aW9uLkJPVFRPTVxyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uYi1vdmVybGF5LWxlZnQnKVxyXG4gIGdldCBsZWZ0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb24gPT09IE5iUG9zaXRpb24uTEVGVFxyXG4gIH1cclxufVxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmItb3ZlcmxheS1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2ICpuZ0lmPVwiaXNTdHJpbmdDb250ZW50XCIgY2xhc3M9XCJwcmltaXRpdmUtb3ZlcmxheVwiPnt7IGNvbnRlbnQgfX08L2Rpdj5cclxuICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmJPdmVybGF5Q29udGFpbmVyQ29tcG9uZW50IHtcclxuICBjb250ZW50OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB2Y3I6IFZpZXdDb250YWluZXJSZWYsIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICB9XHJcblxyXG4gIGdldCBpc1N0cmluZ0NvbnRlbnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBhdHRhY2hDb21wb25lbnRQb3J0YWw8VD4ocG9ydGFsOiBOYkNvbXBvbmVudFBvcnRhbDxUPik6IENvbXBvbmVudFJlZjxUPiB7XHJcbiAgICBjb25zdCBmYWN0b3J5ID0gcG9ydGFsLmNmci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShwb3J0YWwuY29tcG9uZW50KTtcclxuICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5jcmVhdGVDaGlsZEluamVjdG9yKHBvcnRhbC5jZnIpO1xyXG4gICAgcmV0dXJuIHRoaXMudmNyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5LCBudWxsLCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICBhdHRhY2hUZW1wbGF0ZVBvcnRhbDxDPihwb3J0YWw6IE5iVGVtcGxhdGVQb3J0YWw8Qz4pOiBFbWJlZGRlZFZpZXdSZWY8Qz4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmNyLmNyZWF0ZUVtYmVkZGVkVmlldyhwb3J0YWwudGVtcGxhdGVSZWYsIHBvcnRhbC5jb250ZXh0KTtcclxuICB9XHJcblxyXG4gIGF0dGFjaFN0cmluZ0NvbnRlbnQoY29udGVudDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbnRlbnQgPSBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZUNoaWxkSW5qZWN0b3IoY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpOiBOYlBvcnRhbEluamVjdG9yIHtcclxuICAgIHJldHVybiBuZXcgTmJQb3J0YWxJbmplY3Rvcih0aGlzLmluamVjdG9yLCBuZXcgV2Vha01hcChbXHJcbiAgICAgIFtDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIGNmcl0sXHJcbiAgICBdKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==