@taiga-ui/kit
Version:
Taiga UI Angular main components kit
47 lines • 7.25 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, styles: [":host-context(tui-dropdown-mobile) input{order:100;margin-inline-start:auto}\n"], 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, styles: [":host-context(tui-dropdown-mobile) input{order:100;margin-inline-start:auto}\n"] }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW9wdGlvbi9tdWx0aS1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUUxRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUVuRCxNQXNCYSxvQkFBb0I7SUF0QmpDO1FBdUJ1QixXQUFNLEdBQUcsTUFBTSxDQUF3QixrQkFBa0IsRUFBRTtZQUMxRSxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFFZ0IsYUFBUSxHQUFHLE1BQU0sQ0FBc0Isa0JBQWtCLENBQUMsQ0FBQztRQUMzRCxVQUFLLEdBQUcsY0FBYyxFQUFnQixDQUFDO1FBQ3ZDLFNBQUksR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDMUMsYUFBUSxHQUFHLFFBQVEsQ0FDbEMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FDaEUsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUN6QixZQUFZLENBQUMsWUFBWSxDQUFDO1lBQzFCLFlBQVksQ0FBQyxJQUFJLENBQ2IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNMLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztnQkFDbkQsSUFBSSxLQUFLLFdBQVcsQ0FDM0IsQ0FDUixDQUFDO0tBQ0w7K0dBbEJZLG9CQUFvQjttR0FBcEIsb0JBQW9CLHdFQW5CbkI7Ozs7Ozs7O0tBUVQsd0pBVFMsSUFBSSw2RkFBRSxXQUFXOztTQW9CbEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBdEJoQyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsWUFDbEI7Ozs7Ozs7O0tBUVQsbUJBU2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aU9wdGlvbldpdGhWYWx1ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX09QVElPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB0eXBlIHtUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VHVpQ2hlY2tib3h9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQge3R1aUluamVjdFZhbHVlfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVHVpQ2hlY2tib3hdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgKm5nSWY9XCJvcHRpb25cIlxuICAgICAgICAgICAgdHVpQ2hlY2tib3hcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZCgpXCJcbiAgICAgICAgICAgIFtzaXplXT1cInNpemUoKSA9PT0gJ2wnID8gJ20nIDogJ3MnXCJcbiAgICAgICAgLz5cbiAgICBgLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdC1jb250ZXh0KHR1aS1kcm9wZG93bi1tb2JpbGUpIGlucHV0IHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIGAsXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTXVsdGlTZWxlY3RPcHRpb248VD4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb24gPSBpbmplY3Q8VHVpT3B0aW9uV2l0aFZhbHVlPFQ+PihUdWlPcHRpb25XaXRoVmFsdWUsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFuZGxlcnMgPSBpbmplY3Q8VHVpSXRlbXNIYW5kbGVyczxUPj4oVFVJX0lURU1TX0hBTkRMRVJTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSB0dWlJbmplY3RWYWx1ZTxyZWFkb25seSBUW10+KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpemUgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKS5zaXplO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWxlY3RlZCA9IGNvbXB1dGVkKFxuICAgICAgICAoY29udHJvbFZhbHVlID0gdGhpcy52YWx1ZSgpLCBvcHRpb25WYWx1ZSA9IHRoaXMub3B0aW9uPy52YWx1ZSgpKSA9PlxuICAgICAgICAgICAgdHVpSXNQcmVzZW50KG9wdGlvblZhbHVlKSAmJlxuICAgICAgICAgICAgdHVpSXNQcmVzZW50KGNvbnRyb2xWYWx1ZSkgJiZcbiAgICAgICAgICAgIGNvbnRyb2xWYWx1ZS5zb21lKFxuICAgICAgICAgICAgICAgIChpdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZXJzPy5pZGVudGl0eU1hdGNoZXIoKShpdGVtLCBvcHRpb25WYWx1ZSkgPz9cbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9PT0gb3B0aW9uVmFsdWUsXG4gICAgICAgICAgICApLFxuICAgICk7XG59XG4iXX0=