@taiga-ui/kit
Version:
Taiga UI Angular main components kit
55 lines • 7.91 kB
JavaScript
import { __decorate, __param } from "tslib";
import { ChangeDetectionStrategy, Component, Inject, } from '@angular/core';
import { NgControl } from '@angular/forms';
import { isPresent, TUI_DEFAULT_IDENTITY_MATCHER, tuiReplayedValueChangesFrom, } from '@taiga-ui/cdk';
import { TUI_DATA_LIST_HOST, TuiDataListHost, TuiOptionComponent } from '@taiga-ui/core';
import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
import { map } from 'rxjs/operators';
var TuiSelectOptionComponent = /** @class */ (function () {
function TuiSelectOptionComponent(context, host, option, control) {
var _this = this;
this.context = context;
this.host = host;
this.option = option;
this.control = control;
this.selected$ = tuiReplayedValueChangesFrom(this.control).pipe(map(function (value) {
return isPresent(_this.option.value) &&
isPresent(value) &&
_this.matcher(value, _this.option.value);
}));
}
Object.defineProperty(TuiSelectOptionComponent.prototype, "matcher", {
get: function () {
return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;
},
enumerable: true,
configurable: true
});
TuiSelectOptionComponent.prototype.ngOnInit = function () {
if (isPresent(this.option.value) && this.host.checkOption) {
this.host.checkOption(this.option.value);
}
};
TuiSelectOptionComponent.ctorParameters = function () { return [
{ type: undefined, decorators: [{ type: Inject, args: [POLYMORPHEUS_CONTEXT,] }] },
{ type: undefined, decorators: [{ type: Inject, args: [TUI_DATA_LIST_HOST,] }] },
{ type: TuiOptionComponent, decorators: [{ type: Inject, args: [TuiOptionComponent,] }] },
{ type: NgControl, decorators: [{ type: Inject, args: [NgControl,] }] }
]; };
TuiSelectOptionComponent = __decorate([
Component({
selector: 'tui-select-option',
template: "<ng-container *ngTemplateOutlet=\"context.$implicit\"></ng-container>\n<tui-svg\n *ngIf=\"selected$ | async else dummy\"\n automation-id=\"tui-select-option__checkmark\"\n class=\"checkmark\"\n src=\"tuiIconCheckLarge\"\n [tuiScrollIntoView]=\"true\"\n></tui-svg>\n<ng-template #dummy>\n <span class=\"dummy\"></span>\n</ng-template>\n",
changeDetection: ChangeDetectionStrategy.OnPush,
styles: [":host{display:flex;flex:1;align-items:center}.checkmark{margin:0 -6px 0 auto;border-left:5px solid transparent}.dummy{width:24px}"]
}),
__param(0, Inject(POLYMORPHEUS_CONTEXT)),
__param(1, Inject(TUI_DATA_LIST_HOST)),
__param(2, Inject(TuiOptionComponent)),
__param(3, Inject(NgControl))
], TuiSelectOptionComponent);
return TuiSelectOptionComponent;
}());
export { TuiSelectOptionComponent };
export var TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0LW9wdGlvbi8iLCJzb3VyY2VzIjpbInNlbGVjdC1vcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEdBR1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsNEJBQTRCLEVBRzVCLDJCQUEyQixHQUM5QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFDLG9CQUFvQixFQUFFLHFCQUFxQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDckYsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUW5DO0lBVUksa0NBRWEsT0FBZ0QsRUFFeEMsSUFBd0IsRUFDTSxNQUE2QixFQUN0QyxPQUFrQjtRQU41RCxpQkFPSTtRQUxTLFlBQU8sR0FBUCxPQUFPLENBQXlDO1FBRXhDLFNBQUksR0FBSixJQUFJLENBQW9CO1FBQ00sV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDdEMsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQWZuRCxjQUFTLEdBQUcsMkJBQTJCLENBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbEUsR0FBRyxDQUNDLFVBQUEsS0FBSztZQUNELE9BQUEsU0FBUyxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUM1QixTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUNoQixLQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUZ0QyxDQUVzQyxDQUM3QyxDQUNKLENBQUM7SUFTQyxDQUFDO0lBRUosc0JBQUksNkNBQU87YUFBWDtZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksNEJBQTRCLENBQUM7UUFDckUsQ0FBQzs7O09BQUE7SUFFRCwyQ0FBUSxHQUFSO1FBQ0ksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQzs7Z0RBaEJJLE1BQU0sU0FBQyxvQkFBb0I7Z0RBRTNCLE1BQU0sU0FBQyxrQkFBa0I7Z0JBRTZCLGtCQUFrQix1QkFBeEUsTUFBTSxTQUFDLGtCQUFrQjtnQkFDcUIsU0FBUyx1QkFBdkQsTUFBTSxTQUFDLFNBQVM7O0lBaEJaLHdCQUF3QjtRQU5wQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLDZXQUE0QztZQUU1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7U0FDbEQsQ0FBQztRQVlPLFdBQUEsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFFNUIsV0FBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUUxQixXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQzFCLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO09BaEJiLHdCQUF3QixDQTRCcEM7SUFBRCwrQkFBQztDQUFBLEFBNUJELElBNEJDO1NBNUJZLHdCQUF3QjtBQThCckMsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0LFxuICAgIE9uSW5pdCxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBpc1ByZXNlbnQsXG4gICAgVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aUlkZW50aXR5TWF0Y2hlcixcbiAgICB0dWlSZXBsYXllZFZhbHVlQ2hhbmdlc0Zyb20sXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfREFUQV9MSVNUX0hPU1QsIFR1aURhdGFMaXN0SG9zdCwgVHVpT3B0aW9uQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BPTFlNT1JQSEVVU19DT05URVhULCBQb2x5bW9ycGhldXNDb21wb25lbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1zZWxlY3Qtb3B0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LW9wdGlvbi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWxlY3Qtb3B0aW9uLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2VsZWN0T3B0aW9uQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICByZWFkb25seSBzZWxlY3RlZCQgPSB0dWlSZXBsYXllZFZhbHVlQ2hhbmdlc0Zyb208VD4odGhpcy5jb250cm9sKS5waXBlKFxuICAgICAgICBtYXAoXG4gICAgICAgICAgICB2YWx1ZSA9PlxuICAgICAgICAgICAgICAgIGlzUHJlc2VudCh0aGlzLm9wdGlvbi52YWx1ZSkgJiZcbiAgICAgICAgICAgICAgICBpc1ByZXNlbnQodmFsdWUpICYmXG4gICAgICAgICAgICAgICAgdGhpcy5tYXRjaGVyKHZhbHVlLCB0aGlzLm9wdGlvbi52YWx1ZSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFBPTFlNT1JQSEVVU19DT05URVhUKVxuICAgICAgICByZWFkb25seSBjb250ZXh0OiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFRlbXBsYXRlUmVmPHt9Pj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEFfTElTVF9IT1NUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IFR1aURhdGFMaXN0SG9zdDxUPixcbiAgICAgICAgQEluamVjdChUdWlPcHRpb25Db21wb25lbnQpIHByb3RlY3RlZCByZWFkb25seSBvcHRpb246IFR1aU9wdGlvbkNvbXBvbmVudDxUPixcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpIHByb3RlY3RlZCByZWFkb25seSBjb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgKSB7fVxuXG4gICAgZ2V0IG1hdGNoZXIoKTogVHVpSWRlbnRpdHlNYXRjaGVyPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdC5pZGVudGl0eU1hdGNoZXIgfHwgVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUjtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKGlzUHJlc2VudCh0aGlzLm9wdGlvbi52YWx1ZSkgJiYgdGhpcy5ob3N0LmNoZWNrT3B0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3QuY2hlY2tPcHRpb24odGhpcy5vcHRpb24udmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgVFVJX1NFTEVDVF9PUFRJT04gPSBuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KFR1aVNlbGVjdE9wdGlvbkNvbXBvbmVudCk7XG4iXX0=