@taiga-ui/kit
Version:
Taiga UI Angular main components kit
52 lines • 6.98 kB
JavaScript
import { NgIf } from '@angular/common';
import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';
import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
import { TuiOptionWithValue } from '@taiga-ui/core/components/data-list';
import { TUI_TEXTFIELD_OPTIONS } from '@taiga-ui/core/components/textfield';
import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives/items-handlers';
import { TuiCheckbox } from '@taiga-ui/kit/components/checkbox';
import { tuiInjectValue } from '@taiga-ui/kit/utils';
import * as i0 from "@angular/core";
class TuiMultiSelectOption {
constructor() {
this.option = inject(TuiOptionWithValue, {
optional: true,
});
this.handlers = inject(TUI_ITEMS_HANDLERS);
this.value = tuiInjectValue();
this.size = inject(TUI_TEXTFIELD_OPTIONS).size;
this.selected = computed((controlValue = this.value(), optionValue = this.option?.value()) => tuiIsPresent(optionValue) &&
tuiIsPresent(controlValue) &&
controlValue.some((item) => this.handlers?.identityMatcher()(item, optionValue) ??
item === optionValue));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMultiSelectOption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiMultiSelectOption, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
<input
*ngIf="option"
tuiCheckbox
type="checkbox"
[checked]="selected()"
[size]="size() === 'l' ? 'm' : 's'"
/>
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
export { TuiMultiSelectOption };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMultiSelectOption, decorators: [{
type: Component,
args: [{
standalone: true,
imports: [NgIf, TuiCheckbox],
template: `
<input
*ngIf="option"
tuiCheckbox
type="checkbox"
[checked]="selected()"
[size]="size() === 'l' ? 'm' : 's'"
/>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW9wdGlvbi9tdWx0aS1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUUxRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUVuRCxNQWNhLG9CQUFvQjtJQWRqQztRQWV1QixXQUFNLEdBQUcsTUFBTSxDQUF3QixrQkFBa0IsRUFBRTtZQUMxRSxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFFZ0IsYUFBUSxHQUFHLE1BQU0sQ0FBc0Isa0JBQWtCLENBQUMsQ0FBQztRQUMzRCxVQUFLLEdBQUcsY0FBYyxFQUFnQixDQUFDO1FBQ3ZDLFNBQUksR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDMUMsYUFBUSxHQUFHLFFBQVEsQ0FDbEMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FDaEUsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUN6QixZQUFZLENBQUMsWUFBWSxDQUFDO1lBQzFCLFlBQVksQ0FBQyxJQUFJLENBQ2IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNMLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztnQkFDbkQsSUFBSSxLQUFLLFdBQVcsQ0FDM0IsQ0FDUixDQUFDO0tBQ0w7K0dBbEJZLG9CQUFvQjttR0FBcEIsb0JBQW9CLHdFQVhuQjs7Ozs7Ozs7S0FRVCw0REFUUyxJQUFJLDZGQUFFLFdBQVc7O1NBWWxCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQWRoQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDO29CQUM1QixRQUFRLEVBQUU7Ozs7Ozs7O0tBUVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpSXNQcmVzZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlPcHRpb25XaXRoVmFsdWV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7VFVJX1RFWFRGSUVMRF9PUFRJT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQgdHlwZSB7VHVpSXRlbXNIYW5kbGVyc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge1RVSV9JVEVNU19IQU5ETEVSU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge1R1aUNoZWNrYm94fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2hlY2tib3gnO1xuaW1wb3J0IHt0dWlJbmplY3RWYWx1ZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIFR1aUNoZWNrYm94XSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICpuZ0lmPVwib3B0aW9uXCJcbiAgICAgICAgICAgIHR1aUNoZWNrYm94XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplKCkgPT09ICdsJyA/ICdtJyA6ICdzJ1wiXG4gICAgICAgIC8+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTXVsdGlTZWxlY3RPcHRpb248VD4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb24gPSBpbmplY3Q8VHVpT3B0aW9uV2l0aFZhbHVlPFQ+PihUdWlPcHRpb25XaXRoVmFsdWUsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFuZGxlcnMgPSBpbmplY3Q8VHVpSXRlbXNIYW5kbGVyczxUPj4oVFVJX0lURU1TX0hBTkRMRVJTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSB0dWlJbmplY3RWYWx1ZTxyZWFkb25seSBUW10+KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpemUgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKS5zaXplO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWxlY3RlZCA9IGNvbXB1dGVkKFxuICAgICAgICAoY29udHJvbFZhbHVlID0gdGhpcy52YWx1ZSgpLCBvcHRpb25WYWx1ZSA9IHRoaXMub3B0aW9uPy52YWx1ZSgpKSA9PlxuICAgICAgICAgICAgdHVpSXNQcmVzZW50KG9wdGlvblZhbHVlKSAmJlxuICAgICAgICAgICAgdHVpSXNQcmVzZW50KGNvbnRyb2xWYWx1ZSkgJiZcbiAgICAgICAgICAgIGNvbnRyb2xWYWx1ZS5zb21lKFxuICAgICAgICAgICAgICAgIChpdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZXJzPy5pZGVudGl0eU1hdGNoZXIoKShpdGVtLCBvcHRpb25WYWx1ZSkgPz9cbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9PT0gb3B0aW9uVmFsdWUsXG4gICAgICAgICAgICApLFxuICAgICk7XG59XG4iXX0=