UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

155 lines (153 loc) 10.5 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 { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Inject, Input, Output, } from '@angular/core'; import { convertToBoolProperty } from '../helpers'; import { NbSelectComponent } from './select.component'; /** * @template T */ export class NbOptionComponent { /** * @param {?} parent * @param {?} elementRef * @param {?} cd */ constructor(parent, elementRef, cd) { this.parent = parent; this.elementRef = elementRef; this.cd = cd; /* * Fires value on click. * */ this.selectionChange = new EventEmitter(); this.selected = false; this.disabled = false; } /** * @param {?} disabled * @return {?} */ set setDisabled(disabled) { this.disabled = convertToBoolProperty(disabled); } /* * Determines should we render checkbox. * */ /** * @return {?} */ get withCheckbox() { return this.multiple && !!this.value; } /** * @return {?} */ get content() { return this.elementRef.nativeElement.textContent; } /** * @return {?} */ get multiple() { return this.parent.multiple; } /** * @return {?} */ get selectedClass() { return this.selected; } /** * @return {?} */ get disabledClass() { return this.disabled; } /** * @return {?} */ onClick() { this.selectionChange.emit(this); } /** * @return {?} */ select() { this.selected = true; this.cd.markForCheck(); this.cd.detectChanges(); } /** * @return {?} */ deselect() { this.selected = false; this.cd.markForCheck(); this.cd.detectChanges(); } } NbOptionComponent.decorators = [ { type: Component, args: [{ selector: 'nb-option', changeDetection: ChangeDetectionStrategy.OnPush, template: ` <nb-checkbox *ngIf="withCheckbox" [(ngModel)]="selected"> <ng-container *ngTemplateOutlet="content"></ng-container> </nb-checkbox> <ng-container *ngIf="!withCheckbox"> <ng-container *ngTemplateOutlet="content"></ng-container> </ng-container> <ng-template #content> <ng-content></ng-content> </ng-template> `, styles: ["/*!\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */:host{display:block}:host.disabled{pointer-events:none}:host:hover{cursor:pointer}:host nb-checkbox{pointer-events:none}"] }] } ]; /** @nocollapse */ NbOptionComponent.ctorParameters = () => [ { type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => NbSelectComponent),] }] }, { type: ElementRef }, { type: ChangeDetectorRef } ]; NbOptionComponent.propDecorators = { value: [{ type: Input }], setDisabled: [{ type: Input, args: ['disabled',] }], selectionChange: [{ type: Output }], selectedClass: [{ type: HostBinding, args: ['class.selected',] }], disabledClass: [{ type: HostBinding, args: ['class.disabled',] }], onClick: [{ type: HostListener, args: ['click',] }] }; if (false) { /** @type {?} */ NbOptionComponent.prototype.value; /** @type {?} */ NbOptionComponent.prototype.selectionChange; /** @type {?} */ NbOptionComponent.prototype.selected; /** @type {?} */ NbOptionComponent.prototype.disabled; /** * @type {?} * @protected */ NbOptionComponent.prototype.parent; /** * @type {?} * @protected */ NbOptionComponent.prototype.elementRef; /** * @type {?} * @protected */ NbOptionComponent.prototype.cd; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3RoZW1lLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NlbGVjdC9vcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQXFCdkQsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7O0lBbUI1QixZQUFtRSxNQUFNLEVBQ25ELFVBQXNCLEVBQ3RCLEVBQXFCO1FBRndCLFdBQU0sR0FBTixNQUFNLENBQUE7UUFDbkQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixPQUFFLEdBQUYsRUFBRSxDQUFtQjs7OztRQVBqQyxvQkFBZSxHQUF1QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5GLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUsxQixDQUFDOzs7OztJQWhCRCxJQUNJLFdBQVcsQ0FBQyxRQUFpQjtRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Ozs7Ozs7SUFrQkQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7Ozs7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUNuRCxDQUFDOzs7O0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUM5QixDQUFDOzs7O0lBRUQsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Ozs7SUFFRCxJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7OztJQUdELE9BQU87UUFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7O0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7WUFsRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUVyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7R0FZVDs7YUFDRjs7Ozs0Q0FvQmMsTUFBTSxTQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQWxEdkQsVUFBVTtZQUZWLGlCQUFpQjs7O29CQXFDaEIsS0FBSzswQkFFTCxLQUFLLFNBQUMsVUFBVTs4QkFRaEIsTUFBTTs0QkF5Qk4sV0FBVyxTQUFDLGdCQUFnQjs0QkFLNUIsV0FBVyxTQUFDLGdCQUFnQjtzQkFLNUIsWUFBWSxTQUFDLE9BQU87Ozs7SUE3Q3JCLGtDQUFrQjs7SUFVbEIsNENBQW1GOztJQUVuRixxQ0FBMEI7O0lBQzFCLHFDQUEwQjs7Ozs7SUFFZCxtQ0FBNkQ7Ozs7O0lBQzdELHVDQUFnQzs7Ozs7SUFDaEMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IEFrdmVvLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xQcm9wZXJ0eSB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBOYlNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduYi1vcHRpb24nLFxyXG4gIHN0eWxlVXJsczogWycuL29wdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmItY2hlY2tib3ggKm5nSWY9XCJ3aXRoQ2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L25iLWNoZWNrYm94PlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhd2l0aENoZWNrYm94XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5iT3B0aW9uQ29tcG9uZW50PFQ+IHtcclxuICAvKlxyXG4gICAqIE9wdGlvbiB2YWx1ZSB0aGF0IHdpbGwgYmUgZmlyZWQgb24gc2VsZWN0aW9uLlxyXG4gICAqICovXHJcbiAgQElucHV0KCkgdmFsdWU6IFQ7XHJcblxyXG4gIEBJbnB1dCgnZGlzYWJsZWQnKVxyXG4gIHNldCBzZXREaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGNvbnZlcnRUb0Jvb2xQcm9wZXJ0eShkaXNhYmxlZCk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIEZpcmVzIHZhbHVlIG9uIGNsaWNrLlxyXG4gICAqICovXHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPE5iT3B0aW9uQ29tcG9uZW50PFQ+PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gTmJTZWxlY3RDb21wb25lbnQpKSBwcm90ZWN0ZWQgcGFyZW50LFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogRGV0ZXJtaW5lcyBzaG91bGQgd2UgcmVuZGVyIGNoZWNrYm94LlxyXG4gICAqICovXHJcbiAgZ2V0IHdpdGhDaGVja2JveCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm11bHRpcGxlICYmICEhdGhpcy52YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBjb250ZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0IG11bHRpcGxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyZW50Lm11bHRpcGxlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpXHJcbiAgZ2V0IHNlbGVjdGVkQ2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGlzYWJsZWQnKVxyXG4gIGdldCBkaXNhYmxlZENsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXHJcbiAgb25DbGljaygpIHtcclxuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3QoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGRlc2VsZWN0KCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG5cclxuIl19