@taiga-ui/kit
Version:
Taiga UI Angular main components kit
47 lines • 7.44 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';
let TuiSelectOptionComponent = class TuiSelectOptionComponent {
constructor(context, host, option, control) {
this.context = context;
this.host = host;
this.option = option;
this.control = control;
this.selected$ = tuiReplayedValueChangesFrom(this.control).pipe(map(value => isPresent(this.option.value) &&
isPresent(value) &&
this.matcher(value, this.option.value)));
}
get matcher() {
return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;
}
ngOnInit() {
if (isPresent(this.option.value) && this.host.checkOption) {
this.host.checkOption(this.option.value);
}
}
};
TuiSelectOptionComponent.ctorParameters = () => [
{ 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);
export { TuiSelectOptionComponent };
export const TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0LW9wdGlvbi8iLCJzb3VyY2VzIjpbInNlbGVjdC1vcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEdBR1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsNEJBQTRCLEVBRzVCLDJCQUEyQixHQUM5QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFDLG9CQUFvQixFQUFFLHFCQUFxQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDckYsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUW5DLElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0lBVWpDLFlBRWEsT0FBZ0QsRUFFeEMsSUFBd0IsRUFDTSxNQUE2QixFQUN0QyxPQUFrQjtRQUovQyxZQUFPLEdBQVAsT0FBTyxDQUF5QztRQUV4QyxTQUFJLEdBQUosSUFBSSxDQUFvQjtRQUNNLFdBQU0sR0FBTixNQUFNLENBQXVCO1FBQ3RDLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFmbkQsY0FBUyxHQUFHLDJCQUEyQixDQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ2xFLEdBQUcsQ0FDQyxLQUFLLENBQUMsRUFBRSxDQUNKLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUM1QixTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQzdDLENBQ0osQ0FBQztJQVNDLENBQUM7SUFFSixJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLDRCQUE0QixDQUFDO0lBQ3JFLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztDQUNKLENBQUE7OzRDQWpCUSxNQUFNLFNBQUMsb0JBQW9COzRDQUUzQixNQUFNLFNBQUMsa0JBQWtCO1lBRTZCLGtCQUFrQix1QkFBeEUsTUFBTSxTQUFDLGtCQUFrQjtZQUNxQixTQUFTLHVCQUF2RCxNQUFNLFNBQUMsU0FBUzs7QUFoQlosd0JBQXdCO0lBTnBDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsNldBQTRDO1FBRTVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNsRCxDQUFDO0lBWU8sV0FBQSxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUU1QixXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBRTFCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDMUIsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7R0FoQmIsd0JBQXdCLENBNEJwQztTQTVCWSx3QkFBd0I7QUE4QnJDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUkscUJBQXFCLENBQUMsd0JBQXdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdCxcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgaXNQcmVzZW50LFxuICAgIFRVSV9ERUZBVUxUX0lERU5USVRZX01BVENIRVIsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICBUdWlJZGVudGl0eU1hdGNoZXIsXG4gICAgdHVpUmVwbGF5ZWRWYWx1ZUNoYW5nZXNGcm9tLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0RBVEFfTElTVF9IT1NULCBUdWlEYXRhTGlzdEhvc3QsIFR1aU9wdGlvbkNvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQT0xZTU9SUEhFVVNfQ09OVEVYVCwgUG9seW1vcnBoZXVzQ29tcG9uZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktc2VsZWN0LW9wdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1vcHRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LW9wdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNlbGVjdE9wdGlvbkNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcmVhZG9ubHkgc2VsZWN0ZWQkID0gdHVpUmVwbGF5ZWRWYWx1ZUNoYW5nZXNGcm9tPFQ+KHRoaXMuY29udHJvbCkucGlwZShcbiAgICAgICAgbWFwKFxuICAgICAgICAgICAgdmFsdWUgPT5cbiAgICAgICAgICAgICAgICBpc1ByZXNlbnQodGhpcy5vcHRpb24udmFsdWUpICYmXG4gICAgICAgICAgICAgICAgaXNQcmVzZW50KHZhbHVlKSAmJlxuICAgICAgICAgICAgICAgIHRoaXMubWF0Y2hlcih2YWx1ZSwgdGhpcy5vcHRpb24udmFsdWUpLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChQT0xZTU9SUEhFVVNfQ09OVEVYVClcbiAgICAgICAgcmVhZG9ubHkgY29udGV4dDogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUZW1wbGF0ZVJlZjx7fT4+LFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRBX0xJU1RfSE9TVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBob3N0OiBUdWlEYXRhTGlzdEhvc3Q8VD4sXG4gICAgICAgIEBJbmplY3QoVHVpT3B0aW9uQ29tcG9uZW50KSBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9uOiBUdWlPcHRpb25Db21wb25lbnQ8VD4sXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKSBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbDogTmdDb250cm9sLFxuICAgICkge31cblxuICAgIGdldCBtYXRjaGVyKCk6IFR1aUlkZW50aXR5TWF0Y2hlcjxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuaWRlbnRpdHlNYXRjaGVyIHx8IFRVSV9ERUZBVUxUX0lERU5USVRZX01BVENIRVI7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmIChpc1ByZXNlbnQodGhpcy5vcHRpb24udmFsdWUpICYmIHRoaXMuaG9zdC5jaGVja09wdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ob3N0LmNoZWNrT3B0aW9uKHRoaXMub3B0aW9uLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9TRUxFQ1RfT1BUSU9OID0gbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudChUdWlTZWxlY3RPcHRpb25Db21wb25lbnQpO1xuIl19