UNPKG

@taiga-ui/kit

Version:
55 lines 6.55 kB
import { __decorate } from "tslib"; import { Directive, forwardRef, Optional } from '@angular/core'; import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms'; import { EMPTY_FUNCTION } from '@taiga-ui/cdk'; import { TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT } from '@taiga-ui/core'; import { TUI_MULTI_SELECT_OPTION } from '@taiga-ui/kit/components/multi-select-option'; import { TuiMultiSelectComponent } from '../multi-select.component'; export function hostFallbackFactory(control, host) { return (host || { handleOption: option => { if (!control.control) { return; } const value = control.value || []; const index = value.indexOf(option); control.control.setValue(index === -1 ? [...value, option] : [...value.slice(0, index), ...value.slice(index + 1)]); }, }); } const ɵ0 = TUI_MULTI_SELECT_OPTION, ɵ1 = { writeValue: EMPTY_FUNCTION, registerOnChange: EMPTY_FUNCTION, registerOnTouched: EMPTY_FUNCTION, }; let TuiMultiSelectGroupDirective = class TuiMultiSelectGroupDirective { }; TuiMultiSelectGroupDirective = __decorate([ Directive({ selector: '[tuiMultiSelectGroup]', providers: [ { provide: TUI_OPTION_CONTENT, useValue: ɵ0, }, { provide: TUI_DATA_LIST_HOST, deps: [ NgControl, [new Optional(), forwardRef(() => TuiMultiSelectComponent)], ], useFactory: hostFallbackFactory, }, { provide: NG_VALUE_ACCESSOR, multi: true, useValue: ɵ1, }, ], }) ], TuiMultiSelectGroupDirective); export { TuiMultiSelectGroupDirective }; export { ɵ0, ɵ1 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvIiwic291cmNlcyI6WyJtdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxNQUFNLFVBQVUsbUJBQW1CLENBQy9CLE9BQWtCLEVBQ2xCLElBQStCO0lBRS9CLE9BQU8sQ0FDSCxJQUFJLElBQUk7UUFDSixZQUFZLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLE9BQU87YUFDVjtZQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2xDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFcEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ3BCLEtBQUssS0FBSyxDQUFDLENBQUM7Z0JBQ1IsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsTUFBTSxDQUFDO2dCQUNwQixDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDOUQsQ0FBQztRQUNOLENBQUM7S0FDSixDQUNKLENBQUM7QUFDTixDQUFDO1dBT3FCLHVCQUF1QixPQWF2QjtJQUNOLFVBQVUsRUFBRSxjQUFjO0lBQzFCLGdCQUFnQixFQUFFLGNBQWM7SUFDaEMsaUJBQWlCLEVBQUUsY0FBYztDQUNwQztBQUliLElBQWEsNEJBQTRCLEdBQXpDLE1BQWEsNEJBQTRCO0NBQUcsQ0FBQTtBQUEvQiw0QkFBNEI7SUExQnhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx1QkFBdUI7UUFDakMsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsUUFBUSxJQUF5QjthQUNwQztZQUNEO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLElBQUksRUFBRTtvQkFDRixTQUFTO29CQUNULENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsQ0FBQztpQkFDOUQ7Z0JBQ0QsVUFBVSxFQUFFLG1CQUFtQjthQUNsQztZQUNEO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFFBQVEsSUFJUDthQUNKO1NBQ0o7S0FDSixDQUFDO0dBQ1csNEJBQTRCLENBQUc7U0FBL0IsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWYsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtFTVBUWV9GVU5DVElPTn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVCwgVFVJX09QVElPTl9DT05URU5ULCBUdWlEYXRhTGlzdEhvc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX01VTFRJX1NFTEVDVF9PUFRJT059IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3Qtb3B0aW9uJztcbmltcG9ydCB7VHVpTXVsdGlTZWxlY3RDb21wb25lbnR9IGZyb20gJy4uL211bHRpLXNlbGVjdC5jb21wb25lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gaG9zdEZhbGxiYWNrRmFjdG9yeTxUPihcbiAgICBjb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgaG9zdDogVHVpRGF0YUxpc3RIb3N0PFQ+IHwgbnVsbCxcbik6IFR1aURhdGFMaXN0SG9zdDxUPiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgaG9zdCB8fCB7XG4gICAgICAgICAgICBoYW5kbGVPcHRpb246IG9wdGlvbiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFjb250cm9sLmNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZSB8fCBbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHZhbHVlLmluZGV4T2Yob3B0aW9uKTtcblxuICAgICAgICAgICAgICAgIGNvbnRyb2wuY29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggPT09IC0xXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFsuLi52YWx1ZSwgb3B0aW9uXVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBbLi4udmFsdWUuc2xpY2UoMCwgaW5kZXgpLCAuLi52YWx1ZS5zbGljZShpbmRleCArIDEpXSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aU11bHRpU2VsZWN0R3JvdXBdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX09QVElPTl9DT05URU5ULFxuICAgICAgICAgICAgdXNlVmFsdWU6IFRVSV9NVUxUSV9TRUxFQ1RfT1BUSU9OLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgICAgICBkZXBzOiBbXG4gICAgICAgICAgICAgICAgTmdDb250cm9sLFxuICAgICAgICAgICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgZm9yd2FyZFJlZigoKSA9PiBUdWlNdWx0aVNlbGVjdENvbXBvbmVudCldLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGhvc3RGYWxsYmFja0ZhY3RvcnksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgIHdyaXRlVmFsdWU6IEVNUFRZX0ZVTkNUSU9OLFxuICAgICAgICAgICAgICAgIHJlZ2lzdGVyT25DaGFuZ2U6IEVNUFRZX0ZVTkNUSU9OLFxuICAgICAgICAgICAgICAgIHJlZ2lzdGVyT25Ub3VjaGVkOiBFTVBUWV9GVU5DVElPTixcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTXVsdGlTZWxlY3RHcm91cERpcmVjdGl2ZSB7fVxuIl19