@taiga-ui/kit
Version:
Taiga UI Angular main components kit
55 lines • 6.55 kB
JavaScript
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