/**
 * @packageDocumentation
 * @module common-layout
 */
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
import { head, isEqual } from 'lodash-es';
import { BehaviorSubject, combineLatest, map, startWith, switchMap, take, tap, } from 'rxjs';
import { K8sUtilService } from '../../../../core';
import { publishRef } from '../../../../core/public-api';
import { BaseSelection } from '../project-select/base-selection';
import { CommonLayoutStoreService } from '../store.service';
import * as i0 from "@angular/core";
import * as i1 from "../store.service";
import * as i2 from "../../../../core";
function NamespaceSelectComponent_a_2_Template(rf, ctx) { if (rf & 1) {
    const _r8 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "a", 8);
    i0.ɵɵlistener("auiDropdownShow", function NamespaceSelectComponent_a_2_Template_a_auiDropdownShow_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.handleMenuOpen()); })("auiDropdownHide", function NamespaceSelectComponent_a_2_Template_a_auiDropdownHide_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.handleMenuClose()); });
    i0.ɵɵpipe(1, "translate");
    i0.ɵɵelement(2, "aui-icon", 9);
    i0.ɵɵelementContainerStart(3);
    i0.ɵɵelementStart(4, "span");
    i0.ɵɵtext(5);
    i0.ɵɵelementEnd();
    i0.ɵɵelement(6, "aui-icon", 10);
    i0.ɵɵelementContainerEnd();
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r0 = i0.ɵɵnextContext();
    const _r1 = i0.ɵɵreference(5);
    i0.ɵɵpropertyInterpolate2("title", "", i0.ɵɵpipeBind1(1, 6, "namespace"), ": ", ctx_r0.selected == null ? null : ctx_r0.selected.name, "");
    i0.ɵɵproperty("auiDropdown", _r1)("auiDropdownPosition", "bottom start")("auiDropdownClass", "acl-namespace-select__menu");
    i0.ɵɵadvance(5);
    i0.ɵɵtextInterpolate(ctx_r0.selected ? ctx_r0.selected.name : "-");
} }
function NamespaceSelectComponent_ng_container_10_div_1_ng_container_1_aui_menu_group_1_aui_menu_item_4_span_6_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "span", 18);
    i0.ɵɵtext(1);
    i0.ɵɵpipe(2, "aclDisplayName");
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const item_r17 = i0.ɵɵnextContext().$implicit;
    i0.ɵɵadvance(1);
    i0.ɵɵtextInterpolate1(" (", i0.ɵɵpipeBind1(2, 1, item_r17), ") ");
} }
const _c0 = function (a0, a1, a2, a3, a4) { return { group: a0, groups: a1, i: a2, j: a3, focusedMenuItemIndex: a4 }; };
function NamespaceSelectComponent_ng_container_10_div_1_ng_container_1_aui_menu_group_1_aui_menu_item_4_Template(rf, ctx) { if (rf & 1) {
    const _r23 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "aui-menu-item", 16);
    i0.ɵɵlistener("click", function NamespaceSelectComponent_ng_container_10_div_1_ng_container_1_aui_menu_group_1_aui_menu_item_4_Template_aui_menu_item_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r23); const item_r17 = restoredCtx.$implicit; const group_r13 = i0.ɵɵnextContext(2).$implicit; const ctx_r21 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r21.onSelect(group_r13, item_r17)); });
    i0.ɵɵpipe(1, "pure");
    i0.ɵɵpipe(2, "aclName");
    i0.ɵɵelementStart(3, "span");
    i0.ɵɵtext(4);
    i0.ɵɵpipe(5, "aclName");
    i0.ɵɵelementEnd();
    i0.ɵɵtemplate(6, NamespaceSelectComponent_ng_container_10_div_1_ng_container_1_aui_menu_group_1_aui_menu_item_4_span_6_Template, 3, 3, "span", 17);
    i0.ɵɵpipe(7, "aclDisplayName");
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const item_r17 = ctx.$implicit;
    const j_r18 = ctx.index;
    const ctx_r24 = i0.ɵɵnextContext(2);
    const group_r13 = ctx_r24.$implicit;
    const i_r14 = ctx_r24.index;
    const groups_r10 = i0.ɵɵnextContext(2).ngIf;
    const ctx_r16 = i0.ɵɵnextContext();
    i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(2, 9, item_r17));
    i0.ɵɵproperty("actived", i0.ɵɵpipeBind4(1, 4, item_r17, ctx_r16.isActived, ctx_r16.selected, i0.ɵɵpureFunction5(15, _c0, group_r13, groups_r10, i_r14, j_r18, ctx_r16.focusedMenuItemIndex)));
    i0.ɵɵadvance(4);
    i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 11, item_r17));
    i0.ɵɵadvance(2);
    i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(7, 13, item_r17));
} }
function NamespaceSelectComponent_ng_container_10_div_1_ng_container_1_aui_menu_group_1_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "aui-menu-group")(1, "span", 14);
    i0.ɵɵtext(2);
    i0.ɵɵpipe(3, "aclDisplayName");
    i0.ɵɵelementEnd();
    i0.ɵɵtemplate(4, NamespaceSelectComponent_ng_container_10_div_1_ng_container_1_aui_menu_group_1_aui_menu_item_4_Template, 8, 21, "aui-menu-item", 15);
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const group_r13 = i0.ɵɵnextContext().$implicit;
    const ctx_r15 = i0.ɵɵnextContext(3);
    i0.ɵɵadvance(2);
    i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, group_r13.cluster));
    i0.ɵɵadvance(2);
    i0.ɵɵproperty("ngForOf", group_r13.namespaces)("ngForTrackBy", ctx_r15.trackFn);
} }
function NamespaceSelectComponent_ng_container_10_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementContainerStart(0);
    i0.ɵɵtemplate(1, NamespaceSelectComponent_ng_container_10_div_1_ng_container_1_aui_menu_group_1_Template, 5, 5, "aui-menu-group", 5);
    i0.ɵɵelementContainerEnd();
} if (rf & 2) {
    const group_r13 = ctx.$implicit;
    i0.ɵɵadvance(1);
    i0.ɵɵproperty("ngIf", group_r13.namespaces == null ? null : group_r13.namespaces.length);
} }
function NamespaceSelectComponent_ng_container_10_div_1_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 12);
    i0.ɵɵtemplate(1, NamespaceSelectComponent_ng_container_10_div_1_ng_container_1_Template, 2, 1, "ng-container", 13);
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const groups_r10 = i0.ɵɵnextContext().ngIf;
    const ctx_r11 = i0.ɵɵnextContext();
    i0.ɵɵadvance(1);
    i0.ɵɵproperty("ngForOf", groups_r10)("ngForTrackBy", ctx_r11.groupTrackFn);
} }
function NamespaceSelectComponent_ng_container_10_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementContainerStart(0);
    i0.ɵɵtemplate(1, NamespaceSelectComponent_ng_container_10_div_1_Template, 2, 2, "div", 11);
    i0.ɵɵpipe(2, "pure");
    i0.ɵɵelementContainerEnd();
} if (rf & 2) {
    const groups_r10 = ctx.ngIf;
    const ctx_r2 = i0.ɵɵnextContext();
    const _r5 = i0.ɵɵreference(15);
    i0.ɵɵadvance(1);
    i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(2, 2, groups_r10, ctx_r2.hasResult))("ngIfElse", _r5);
} }
function NamespaceSelectComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "a", 19);
    i0.ɵɵelement(1, "aui-icon", 9);
    i0.ɵɵelementStart(2, "span");
    i0.ɵɵtext(3);
    i0.ɵɵpipe(4, "translate");
    i0.ɵɵelementEnd();
    i0.ɵɵelement(5, "aui-icon", 20);
    i0.ɵɵelementEnd();
} if (rf & 2) {
    i0.ɵɵadvance(3);
    i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 1, "no_namespace"));
} }
function NamespaceSelectComponent_ng_template_14_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 21);
    i0.ɵɵtext(1);
    i0.ɵɵpipe(2, "translate");
    i0.ɵɵelementEnd();
} if (rf & 2) {
    i0.ɵɵadvance(1);
    i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "no_namespace"), " ");
} }
export class NamespaceSelectComponent extends BaseSelection {
    constructor(store, k8sUtil, cdr) {
        super(cdr);
        this.store = store;
        this.k8sUtil = k8sUtil;
        this.projectName$$ = new BehaviorSubject('');
        this.selectedChange = new EventEmitter();
        this.availableGroups$ = this.projectName$$.pipe(switchMap(projectName => this.store.selectNamespacesByProjectName(projectName)), publishRef());
        this.hasNamespace$ = this.availableGroups$.pipe(map(groups => head(groups
            .map(([cluster, namespaces]) => {
            const namespace = head(namespaces);
            if (!namespace) {
                return null;
            }
            return {
                cluster: this.name(cluster),
                name: this.name(namespace),
            };
        })
            .filter(item => !!item))), tap(first => {
            // TODO: temp fix for asm
            if (!this.selected && !first) {
                this.selectedChange.emit(null);
            }
            if (!this.selected && first) {
                this.selectedChange.emit(first);
            }
        }), map(first => !!first), publishRef());
        this.groups$ = combineLatest([
            this.keyword$$.pipe(startWith(''), tap(() => {
                this.focusedMenuItemIndex = -1;
            })),
            this.availableGroups$,
        ]).pipe(map(([keywords, groups]) => groups.map(([cluster, namespaces]) => ({
            cluster,
            namespaces: (namespaces || []).filter(namespace => this.name(namespace).includes(keywords)),
        }))), publishRef());
        this.name = (item) => this.k8sUtil.getName(item);
        this.isActived = (item, selected, { group: { cluster }, groups, i, j, focusedMenuItemIndex, }) => {
            if (!selected) {
                return false;
            }
            const isSelected = this.name(cluster) === selected.cluster &&
                this.name(item) === selected.name;
            if (isSelected) {
                return isSelected;
            }
            return (focusedMenuItemIndex -
                groups.reduce((acc, curr, index) => index >= i ? acc : curr.namespaces.length + acc, 0) ===
                j);
        };
        this.trackFn = (_, item) => this.name(item);
        this.groupTrackFn = (_, { cluster, }) => this.name(cluster);
    }
    set projectName(projectName) {
        this.projectName$$.next(projectName);
    }
    hasResult(groups) {
        return groups.some(group => !!group.namespaces.length);
    }
    onSelect({ cluster }, namespace) {
        if (isEqual(this.selected, {
            cluster: this.name(cluster),
            namespace: this.name(namespace),
        })) {
            return;
        }
        this.selectedChange.emit({
            cluster: this.name(cluster),
            name: this.name(namespace),
        });
    }
    selectByIndex(index) {
        this.groups$.pipe(take(1)).subscribe(groups => {
            for (const [i, group] of groups.entries()) {
                const namespaces = group.namespaces;
                index = index - i;
                if (index < namespaces.length) {
                    this.onSelect(group, namespaces[index]);
                    break;
                }
            }
        });
    }
}
NamespaceSelectComponent.ɵfac = function NamespaceSelectComponent_Factory(t) { return new (t || NamespaceSelectComponent)(i0.ɵɵdirectiveInject(i1.CommonLayoutStoreService), i0.ɵɵdirectiveInject(i2.K8sUtilService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
NamespaceSelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NamespaceSelectComponent, selectors: [["acl-namespace-select"]], inputs: { projectName: "projectName", selected: "selected" }, outputs: { selectedChange: "selectedChange" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 16, vars: 18, consts: [[1, "acl-namespace-select"], ["href", "javascript:;", "auiDropdownActive", "acl-namespace-select--active", 3, "auiDropdown", "auiDropdownPosition", "auiDropdownClass", "title", "auiDropdownShow", "auiDropdownHide", 4, "ngIf", "ngIfElse"], ["menu", ""], [1, "acl-namespace-select__input"], [3, "placeholder", "searchButton", "keyword", "keywordChange"], [4, "ngIf"], ["empty", ""], ["noResult", ""], ["href", "javascript:;", "auiDropdownActive", "acl-namespace-select--active", 3, "auiDropdown", "auiDropdownPosition", "auiDropdownClass", "title", "auiDropdownShow", "auiDropdownHide"], ["icon", "basic:namespace_s", "size", "16px", "color", "#fff"], ["icon", "caret_down_s", "size", "16px"], ["class", "acl-namespace-select__options", 4, "ngIf", "ngIfElse"], [1, "acl-namespace-select__options"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["auiMenuGroupTitle", ""], [3, "actived", "title", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "actived", "title", "click"], ["class", "acl-namespace-select__display-name", 4, "ngIf"], [1, "acl-namespace-select__display-name"], ["href", "javascript:;"], ["icon", "caret_down_s", "size", "16px", "color", "#999"], [1, "acl-namespace-select__no-result"]], template: function NamespaceSelectComponent_Template(rf, ctx) { if (rf & 1) {
        i0.ɵɵelementStart(0, "div", 0);
        i0.ɵɵpipe(1, "async");
        i0.ɵɵtemplate(2, NamespaceSelectComponent_a_2_Template, 7, 8, "a", 1);
        i0.ɵɵpipe(3, "async");
        i0.ɵɵelementEnd();
        i0.ɵɵelementStart(4, "aui-menu", null, 2)(6, "div", 3)(7, "aui-search", 4);
        i0.ɵɵlistener("keywordChange", function NamespaceSelectComponent_Template_aui_search_keywordChange_7_listener($event) { return ctx.keyword$$.next($event); });
        i0.ɵɵpipe(8, "translate");
        i0.ɵɵpipe(9, "async");
        i0.ɵɵelementEnd()();
        i0.ɵɵtemplate(10, NamespaceSelectComponent_ng_container_10_Template, 3, 5, "ng-container", 5);
        i0.ɵɵpipe(11, "async");
        i0.ɵɵelementEnd();
        i0.ɵɵtemplate(12, NamespaceSelectComponent_ng_template_12_Template, 6, 3, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
        i0.ɵɵtemplate(14, NamespaceSelectComponent_ng_template_14_Template, 3, 3, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
    } if (rf & 2) {
        const _r3 = i0.ɵɵreference(13);
        i0.ɵɵclassProp("disabled", !i0.ɵɵpipeBind1(1, 8, ctx.hasNamespace$));
        i0.ɵɵadvance(2);
        i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(3, 10, ctx.hasNamespace$))("ngIfElse", _r3);
        i0.ɵɵadvance(5);
        i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(8, 12, "filter_by_name"))("searchButton", false)("keyword", i0.ɵɵpipeBind1(9, 14, ctx.keyword$$));
        i0.ɵɵadvance(3);
        i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(11, 16, ctx.groups$));
    } }, styles: [":host{display:block}.acl-namespace-select{padding:4px 8px;display:flex}.acl-namespace-select.disabled{position:relative}.acl-namespace-select.disabled:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0}.acl-namespace-select>a{flex:1;display:flex;border-radius:2px;flex-direction:row;align-items:center;justify-content:flex-start;height:36px;padding:0 8px;width:100%;color:rgb(var(--aui-color-n-10));text-decoration:none}.acl-namespace-select>a:hover{background-color:#fff3}.acl-namespace-select>a>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 8px}.acl-namespace-select>a aui-icon{height:16px}.acl-namespace-select--active{background-color:#fff3}.acl-namespace-select__menu .aui-menu{max-width:320px;max-height:400px;display:flex;flex-direction:column}.acl-namespace-select__input{flex-shrink:0;padding-bottom:8px}.acl-namespace-select__options{flex:1;overflow:auto}.acl-namespace-select__options::-webkit-scrollbar{width:4px;height:4px}.acl-namespace-select__options::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.acl-namespace-select__options::-webkit-scrollbar-corner{background-color:transparent}.acl-namespace-select__display-name{color:rgb(var(--aui-color-n-4));margin-left:4px}.acl-namespace-select__no-result{border-top:solid 1px rgb(var(--aui-color-n-8));line-height:28px;padding:8px 0 0;margin:0 -8px;display:flex;align-items:center;justify-content:center;color:rgb(var(--aui-color-n-6))}\n"], encapsulation: 2, changeDetection: 0 });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NamespaceSelectComponent, [{
        type: Component,
        args: [{ selector: 'acl-namespace-select', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n  class=\"acl-namespace-select\"\n  [class.disabled]=\"!(hasNamespace$ | async)\"\n>\n  <a\n    *ngIf=\"hasNamespace$ | async; else empty\"\n    href=\"javascript:;\"\n    [auiDropdown]=\"menu\"\n    [auiDropdownPosition]=\"'bottom start'\"\n    [auiDropdownClass]=\"'acl-namespace-select__menu'\"\n    auiDropdownActive=\"acl-namespace-select--active\"\n    (auiDropdownShow)=\"handleMenuOpen()\"\n    (auiDropdownHide)=\"handleMenuClose()\"\n    title=\"{{ 'namespace' | translate }}: {{ selected?.name }}\"\n  >\n    <aui-icon\n      icon=\"basic:namespace_s\"\n      size=\"16px\"\n      color=\"#fff\"\n    ></aui-icon>\n    <ng-container>\n      <span>{{ selected ? selected.name : '-' }}</span>\n      <aui-icon\n        icon=\"caret_down_s\"\n        size=\"16px\"\n      ></aui-icon>\n    </ng-container>\n  </a>\n</div>\n\n<aui-menu #menu>\n  <div class=\"acl-namespace-select__input\">\n    <aui-search\n      [placeholder]=\"'filter_by_name' | translate\"\n      [searchButton]=\"false\"\n      [keyword]=\"keyword$$ | async\"\n      (keywordChange)=\"keyword$$.next($event)\"\n    ></aui-search>\n  </div>\n  <ng-container *ngIf=\"groups$ | async as groups\">\n    <div\n      class=\"acl-namespace-select__options\"\n      *ngIf=\"groups | pure: hasResult; else noResult\"\n    >\n      <ng-container\n        *ngFor=\"let group of groups; index as i; trackBy: groupTrackFn\"\n      >\n        <aui-menu-group *ngIf=\"group.namespaces?.length\">\n          <span auiMenuGroupTitle>{{ group.cluster | aclDisplayName }}</span>\n          <aui-menu-item\n            *ngFor=\"let item of group.namespaces; index as j; trackBy: trackFn\"\n            [actived]=\"\n              item\n                | pure\n                  : isActived\n                  : selected\n                  : {\n                      group: group,\n                      groups: groups,\n                      i: i,\n                      j: j,\n                      focusedMenuItemIndex: focusedMenuItemIndex\n                    }\n            \"\n            (click)=\"onSelect(group, item)\"\n            title=\"{{ item | aclName }}\"\n          >\n            <span>{{ item | aclName }}</span>\n            <span\n              *ngIf=\"item | aclDisplayName\"\n              class=\"acl-namespace-select__display-name\"\n            >\n              ({{ item | aclDisplayName }})\n            </span>\n          </aui-menu-item>\n        </aui-menu-group>\n      </ng-container>\n    </div>\n  </ng-container>\n</aui-menu>\n\n<ng-template #empty>\n  <a href=\"javascript:;\">\n    <aui-icon\n      icon=\"basic:namespace_s\"\n      size=\"16px\"\n      color=\"#fff\"\n    ></aui-icon>\n    <span>{{ 'no_namespace' | translate }}</span>\n    <aui-icon\n      icon=\"caret_down_s\"\n      size=\"16px\"\n      color=\"#999\"\n    ></aui-icon>\n  </a>\n</ng-template>\n\n<ng-template #noResult>\n  <div class=\"acl-namespace-select__no-result\">\n    {{ 'no_namespace' | translate }}\n  </div>\n</ng-template>\n", styles: [":host{display:block}.acl-namespace-select{padding:4px 8px;display:flex}.acl-namespace-select.disabled{position:relative}.acl-namespace-select.disabled:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0}.acl-namespace-select>a{flex:1;display:flex;border-radius:2px;flex-direction:row;align-items:center;justify-content:flex-start;height:36px;padding:0 8px;width:100%;color:rgb(var(--aui-color-n-10));text-decoration:none}.acl-namespace-select>a:hover{background-color:#fff3}.acl-namespace-select>a>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 8px}.acl-namespace-select>a aui-icon{height:16px}.acl-namespace-select--active{background-color:#fff3}.acl-namespace-select__menu .aui-menu{max-width:320px;max-height:400px;display:flex;flex-direction:column}.acl-namespace-select__input{flex-shrink:0;padding-bottom:8px}.acl-namespace-select__options{flex:1;overflow:auto}.acl-namespace-select__options::-webkit-scrollbar{width:4px;height:4px}.acl-namespace-select__options::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.acl-namespace-select__options::-webkit-scrollbar-corner{background-color:transparent}.acl-namespace-select__display-name{color:rgb(var(--aui-color-n-4));margin-left:4px}.acl-namespace-select__no-result{border-top:solid 1px rgb(var(--aui-color-n-8));line-height:28px;padding:8px 0 0;margin:0 -8px;display:flex;align-items:center;justify-content:center;color:rgb(var(--aui-color-n-6))}\n"] }]
    }], function () { return [{ type: i1.CommonLayoutStoreService }, { type: i2.K8sUtilService }, { type: i0.ChangeDetectorRef }]; }, { projectName: [{
            type: Input
        }], selected: [{
            type: Input
        }], selectedChange: [{
            type: Output
        }] }); })();
//# sourceMappingURL=data:application/json;base64, 