{"version":3,"file":"mtxSelect.mjs","sources":["../../../projects/extensions/select/option.component.ts","../../../projects/extensions/select/templates.directive.ts","../../../projects/extensions/select/select.component.ts","../../../projects/extensions/select/select.component.html","../../../projects/extensions/select/select.module.ts","../../../projects/extensions/select/mtxSelect.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterViewChecked,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnDestroy,\n  SimpleChanges,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n  selector: 'mtx-option',\n  exportAs: 'mtxOption',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `<ng-content></ng-content>`,\n})\nexport class MtxOptionComponent implements OnChanges, AfterViewChecked, OnDestroy {\n  @Input() value: any;\n\n  @Input()\n  get disabled() {\n    return this._disabled;\n  }\n  set disabled(value: boolean) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n  private _disabled = false;\n\n  get label() {\n    return (this.elementRef.nativeElement.textContent || '').trim();\n  }\n  private _previousLabel?: string;\n\n  readonly stateChange$ = new Subject<{\n    value: any;\n    disabled: boolean;\n    label?: string;\n  }>();\n\n  constructor(public elementRef: ElementRef<HTMLElement>) {}\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.disabled) {\n      this.stateChange$.next({\n        value: this.value,\n        disabled: this._disabled,\n      });\n    }\n  }\n\n  ngAfterViewChecked() {\n    if (this.label !== this._previousLabel) {\n      this._previousLabel = this.label;\n      this.stateChange$.next({\n        value: this.value,\n        disabled: this._disabled,\n        label: this.elementRef.nativeElement.innerHTML,\n      });\n    }\n  }\n\n  ngOnDestroy() {\n    this.stateChange$.complete();\n  }\n\n  static ngAcceptInputType_disabled: BooleanInput;\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({ selector: '[ng-option-tmp]' })\nexport class MtxSelectOptionTemplateDirective {\n  constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-optgroup-tmp]' })\nexport class MtxSelectOptgroupTemplateDirective {\n  constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-label-tmp]' })\nexport class MtxSelectLabelTemplateDirective {\n  constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-multi-label-tmp]' })\nexport class MtxSelectMultiLabelTemplateDirective {\n  constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-header-tmp]' })\nexport class MtxSelectHeaderTemplateDirective {\n  constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-footer-tmp]' })\nexport class MtxSelectFooterTemplateDirective {\n  constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-notfound-tmp]' })\nexport class MtxSelectNotFoundTemplateDirective {\n  constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-typetosearch-tmp]' })\nexport class MtxSelectTypeToSearchTemplateDirective {\n  constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-loadingtext-tmp]' })\nexport class MtxSelectLoadingTextTemplateDirective {\n  constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-tag-tmp]' })\nexport class MtxSelectTagTemplateDirective {\n  constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ng-loadingspinner-tmp]' })\nexport class MtxSelectLoadingSpinnerTemplateDirective {\n  constructor(public template: TemplateRef<any>) { }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ContentChildren,\n  DoCheck,\n  ElementRef,\n  EventEmitter,\n  Inject,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  QueryList,\n  Self,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { ErrorStateMatcher, mixinErrorState } from '@angular/material/core';\nimport { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { MatFormField, MatFormFieldControl, MAT_FORM_FIELD } from '@angular/material/form-field';\nimport { merge, Subject } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { MtxOptionComponent } from './option.component';\nimport {\n  MtxSelectFooterTemplateDirective,\n  MtxSelectHeaderTemplateDirective,\n  MtxSelectLabelTemplateDirective,\n  MtxSelectLoadingSpinnerTemplateDirective,\n  MtxSelectLoadingTextTemplateDirective,\n  MtxSelectMultiLabelTemplateDirective,\n  MtxSelectNotFoundTemplateDirective,\n  MtxSelectOptgroupTemplateDirective,\n  MtxSelectOptionTemplateDirective,\n  MtxSelectTagTemplateDirective,\n  MtxSelectTypeToSearchTemplateDirective,\n} from './templates.directive';\n\nexport type DropdownPosition = 'bottom' | 'top' | 'auto';\nexport type AddTagFn = (term: string) => any | Promise<any>;\nexport type CompareWithFn = (a: any, b: any) => boolean;\nexport type GroupValueFn = (\n  key: string | Record<string, any>,\n  children: any[]\n) => string | Record<string, any>;\nexport type SearchFn = (term: string, item: any) => boolean;\nexport type TrackByFn = (item: any) => any;\n\nlet nextUniqueId = 0;\n\n// Boilerplate for applying mixins to MtxSelect.\n/** @docs-private */\nconst _MtxSelectMixinBase = mixinErrorState(\n  class {\n    /**\n     * Emits whenever the component state changes and should cause the parent\n     * form-field to update. Implemented as part of `MatFormFieldControl`.\n     * @docs-private\n     */\n    readonly stateChanges = new Subject<void>();\n\n    constructor(\n      public _defaultErrorStateMatcher: ErrorStateMatcher,\n      public _parentForm: NgForm,\n      public _parentFormGroup: FormGroupDirective,\n      /**\n       * Form control bound to the component.\n       * Implemented as part of `MatFormFieldControl`.\n       * @docs-private\n       */\n      public ngControl: NgControl\n    ) {}\n  }\n);\n\n@Component({\n  selector: 'mtx-select',\n  exportAs: 'mtxSelect',\n  host: {\n    'role': 'combobox',\n    'aria-autocomplete': 'none',\n    '[attr.id]': 'id',\n    '[attr.aria-expanded]': 'panelOpen',\n    '[attr.aria-label]': 'ariaLabel || null',\n    '[attr.aria-labelledby]': '_getAriaLabelledby()',\n    '[attr.aria-describedby]': '_ariaDescribedby || null',\n    '[attr.aria-required]': 'required.toString()',\n    '[attr.aria-disabled]': 'disabled.toString()',\n    '[attr.aria-invalid]': 'errorState',\n    '[class.mtx-select-floating]': 'shouldLabelFloat',\n    '[class.mtx-select-disabled]': 'disabled',\n    '[class.mtx-select-invalid]': 'errorState',\n    '[class.mtx-select-required]': 'required',\n    '[class.mtx-select-empty]': 'empty',\n    '[class.mtx-select-multiple]': 'multiple',\n    'class': 'mtx-select',\n  },\n  templateUrl: './select.component.html',\n  styleUrls: ['./select.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [{ provide: MatFormFieldControl, useExisting: MtxSelectComponent }],\n})\nexport class MtxSelectComponent\n  extends _MtxSelectMixinBase\n  implements\n    OnInit,\n    OnDestroy,\n    DoCheck,\n    AfterViewInit,\n    ControlValueAccessor,\n    MatFormFieldControl<any>\n{\n  @ViewChild('ngSelect', { static: true }) ngSelect!: NgSelectComponent;\n\n  @ContentChild(MtxSelectOptionTemplateDirective, { read: TemplateRef })\n  optionTemplate!: TemplateRef<any>;\n  @ContentChild(MtxSelectOptgroupTemplateDirective, { read: TemplateRef })\n  optgroupTemplate!: TemplateRef<any>;\n  @ContentChild(MtxSelectLabelTemplateDirective, { read: TemplateRef })\n  labelTemplate!: TemplateRef<any>;\n  @ContentChild(MtxSelectMultiLabelTemplateDirective, { read: TemplateRef })\n  multiLabelTemplate!: TemplateRef<any>;\n  @ContentChild(MtxSelectHeaderTemplateDirective, { read: TemplateRef })\n  headerTemplate!: TemplateRef<any>;\n  @ContentChild(MtxSelectFooterTemplateDirective, { read: TemplateRef })\n  footerTemplate!: TemplateRef<any>;\n  @ContentChild(MtxSelectNotFoundTemplateDirective, { read: TemplateRef })\n  notFoundTemplate!: TemplateRef<any>;\n  @ContentChild(MtxSelectTypeToSearchTemplateDirective, { read: TemplateRef })\n  typeToSearchTemplate!: TemplateRef<any>;\n  @ContentChild(MtxSelectLoadingTextTemplateDirective, { read: TemplateRef })\n  loadingTextTemplate!: TemplateRef<any>;\n  @ContentChild(MtxSelectTagTemplateDirective, { read: TemplateRef })\n  tagTemplate!: TemplateRef<any>;\n  @ContentChild(MtxSelectLoadingSpinnerTemplateDirective, { read: TemplateRef })\n  loadingSpinnerTemplate!: TemplateRef<any>;\n\n  @ContentChildren(MtxOptionComponent, { descendants: true })\n  mtxOptions!: QueryList<MtxOptionComponent>;\n\n  @Input() addTag: boolean | AddTagFn = false;\n  @Input() addTagText = 'Add item';\n  @Input() appearance = 'underline';\n  @Input() appendTo!: string;\n  @Input() bindLabel!: string;\n  @Input() bindValue!: string;\n  @Input() closeOnSelect = true;\n  @Input() clearAllText = 'Clear all';\n  @Input() clearable = true;\n  @Input() clearOnBackspace = true;\n  @Input() compareWith!: CompareWithFn;\n  @Input() dropdownPosition: DropdownPosition = 'auto';\n  @Input() groupBy!: string | (() => void);\n  @Input() groupValue!: GroupValueFn;\n  @Input() selectableGroup = false;\n  @Input() selectableGroupAsModel = true;\n  @Input() hideSelected = false;\n  @Input() isOpen!: boolean;\n  @Input() loading = false;\n  @Input() loadingText = 'Loading...';\n  @Input() labelForId: string | null = null;\n  @Input() markFirst = true;\n  @Input() maxSelectedItems!: number;\n  @Input() multiple = false;\n  @Input() notFoundText = 'No items found';\n  @Input() searchable = true;\n  @Input() readonly = false;\n  @Input() searchFn: SearchFn | null = null;\n  @Input() searchWhileComposing = true;\n  @Input() selectOnTab = false;\n  @Input() trackByFn: TrackByFn | null = null;\n  @Input() inputAttrs: { [key: string]: string } = {};\n  @Input() tabIndex!: number;\n  @Input() openOnEnter!: boolean;\n  @Input() minTermLength = 0;\n  @Input() editableSearchTerm = false;\n  @Input() keyDownFn = (_: KeyboardEvent) => true;\n  @Input() virtualScroll = false;\n  @Input() typeToSearchText = 'Type to search';\n  @Input() typeahead!: Subject<string>;\n\n  @Output('blur') blurEvent = new EventEmitter();\n  @Output('focus') focusEvent = new EventEmitter();\n  @Output('change') changeEvent = new EventEmitter();\n  @Output('open') openEvent = new EventEmitter();\n  @Output('close') closeEvent = new EventEmitter();\n  @Output('search') searchEvent = new EventEmitter<{ term: string; items: any[] }>();\n  @Output('clear') clearEvent = new EventEmitter();\n  @Output('add') addEvent = new EventEmitter();\n  @Output('remove') removeEvent = new EventEmitter();\n  @Output('scroll') scroll = new EventEmitter<{ start: number; end: number }>();\n  @Output('scrollToEnd') scrollToEnd = new EventEmitter();\n\n  @Input()\n  get clearSearchOnAdd() {\n    return this._clearSearchOnAdd ?? this.closeOnSelect;\n  }\n  set clearSearchOnAdd(value) {\n    this._clearSearchOnAdd = value;\n  }\n  private _clearSearchOnAdd?: boolean;\n\n  @Input()\n  get items() {\n    return this._items;\n  }\n  set items(value: any[]) {\n    this._itemsAreUsed = true;\n    this._items = value;\n  }\n  private _items: any[] = [];\n  private _itemsAreUsed = false;\n\n  /** Emits whenever the component is destroyed. */\n  private readonly _destroy$ = new Subject<void>();\n\n  /** Value of the select control. */\n  @Input()\n  get value(): any {\n    return this._value;\n  }\n  set value(newValue: any) {\n    this._value = newValue;\n    this._onChange(newValue);\n    this.stateChanges.next();\n  }\n  private _value = null;\n\n  /** Implemented as part of MatFormFieldControl. */\n  readonly stateChanges: Subject<void> = new Subject<void>();\n\n  /** Unique id of the element. */\n  @Input()\n  get id(): string {\n    return this._id;\n  }\n  set id(value: string) {\n    this._id = value || this._uid;\n    this.stateChanges.next();\n  }\n  private _id!: string;\n\n  /** Unique id for this select. */\n  private _uid = `mtx-select-${nextUniqueId++}`;\n\n  /** Placeholder to be shown if value is empty. */\n  @Input()\n  get placeholder(): string {\n    return this._placeholder;\n  }\n  set placeholder(value: string) {\n    this._placeholder = value;\n    this.stateChanges.next();\n  }\n  private _placeholder!: string;\n\n  /** Whether the select is focused. */\n  get focused(): boolean {\n    return this._focused;\n  }\n  private _focused = false;\n\n  /** Whether the select has a value. */\n  get empty(): boolean {\n    return this.value == null || (Array.isArray(this.value) && this.value.length === 0);\n  }\n\n  /**\n   * Implemented as part of MatFormFieldControl.\n   * @docs-private\n   */\n  get shouldLabelFloat(): boolean {\n    return this.focused || !this.empty;\n  }\n\n  /** Whether the component is required. */\n  @Input()\n  get required(): boolean {\n    return this._required;\n  }\n  set required(value: boolean) {\n    this._required = coerceBooleanProperty(value);\n    this.stateChanges.next();\n  }\n  private _required = false;\n\n  /** Whether the select is disabled. */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: boolean) {\n    this._disabled = coerceBooleanProperty(value);\n    this.readonly = this._disabled;\n    this.stateChanges.next();\n    this._changeDetectorRef.markForCheck();\n  }\n  private _disabled = false;\n\n  /** Object used to control when error messages are shown. */\n  @Input() override errorStateMatcher!: ErrorStateMatcher;\n\n  /** Aria label of the select. */\n  @Input('aria-label') ariaLabel: string = '';\n\n  /** Input that can be used to specify the `aria-labelledby` attribute. */\n  @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n  /** The aria-describedby attribute on the select for improved a11y. */\n  _ariaDescribedby: string | null = null;\n\n  /** A name for this control that can be used by `mat-form-field`. */\n  controlType = 'mtx-select';\n\n  /** `View -> model callback called when value changes` */\n  _onChange: (value: any) => void = () => {};\n\n  /** `View -> model callback called when select has been touched` */\n  _onTouched = () => {};\n\n  /** ID for the DOM node containing the select's value. */\n  _valueId = `mtx-select-value-${nextUniqueId++}`;\n\n  /** Whether or not the overlay panel is open. */\n  get panelOpen(): boolean {\n    return !!this.ngSelect.isOpen;\n  }\n\n  constructor(\n    protected _changeDetectorRef: ChangeDetectorRef,\n    protected _elementRef: ElementRef,\n    protected _focusMonitor: FocusMonitor,\n    _defaultErrorStateMatcher: ErrorStateMatcher,\n    @Optional() _parentForm: NgForm,\n    @Optional() _parentFormGroup: FormGroupDirective,\n    @Optional() @Self() ngControl: NgControl,\n    @Optional() @Inject(MAT_FORM_FIELD) private _parentFormField?: MatFormField\n  ) {\n    super(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, ngControl);\n\n    _focusMonitor.monitor(this._elementRef, true).subscribe(origin => {\n      if (this._focused && !origin) {\n        this._onTouched();\n      }\n      this._focused = !!origin;\n      this.stateChanges.next();\n    });\n\n    if (this.ngControl != null) {\n      // Note: we provide the value accessor through here, instead of\n      // the `providers` to avoid running into a circular import.\n      this.ngControl.valueAccessor = this;\n    }\n\n    // Force setter to be called in case id was not specified.\n    // eslint-disable-next-line no-self-assign\n    this.id = this.id;\n  }\n\n  ngOnInit() {\n    // Fix compareWith warning of undefined value\n    // https://github.com/ng-select/ng-select/issues/1537\n    if (this.compareWith) {\n      this.ngSelect.compareWith = this.compareWith;\n    }\n  }\n\n  ngAfterViewInit() {\n    if (!this._itemsAreUsed) {\n      this._setItemsFromMtxOptions();\n    }\n  }\n\n  ngDoCheck(): void {\n    if (this.ngControl) {\n      // We need to re-evaluate this on every change detection cycle, because there are some\n      // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n      // that whatever logic is in here has to be super lean or we risk destroying the performance.\n      this.updateErrorState();\n    }\n  }\n\n  ngOnDestroy() {\n    this._destroy$.next();\n    this._destroy$.complete();\n    this.stateChanges.complete();\n    this._focusMonitor.stopMonitoring(this._elementRef);\n  }\n\n  /** Gets the value for the `aria-labelledby` attribute of the inputs. */\n  _getAriaLabelledby() {\n    if (this.ariaLabel) {\n      return null;\n    }\n\n    const labelId = this._parentFormField?.getLabelId();\n    let value = (labelId ? labelId + ' ' : '') + this._valueId;\n\n    if (this.ariaLabelledby) {\n      value += ' ' + this.ariaLabelledby;\n    }\n\n    return value;\n  }\n\n  /** Implemented as part of MatFormFieldControl. */\n  setDescribedByIds(ids: string[]) {\n    this._ariaDescribedby = ids.length ? ids.join(' ') : null;\n  }\n\n  /**\n   * Disables the select. Part of the ControlValueAccessor interface required\n   * to integrate with Angular's core forms API.\n   *\n   * @param isDisabled Sets whether the component is disabled.\n   */\n  setDisabledState(isDisabled: boolean) {\n    this.disabled = isDisabled;\n  }\n\n  /** Implemented as part of MatFormFieldControl. */\n  onContainerClick(event: MouseEvent) {\n    const target = event.target as HTMLElement;\n    if (/mat-form-field|mtx-select/g.test(target.parentElement?.classList[0] || '')) {\n      this.focus();\n      this.open();\n    }\n  }\n\n  /**\n   * Sets the select's value. Part of the ControlValueAccessor interface\n   * required to integrate with Angular's core forms API.\n   *\n   * @param value New value to be written to the model.\n   */\n  writeValue(value: any): void {\n    this.value = value;\n    this._changeDetectorRef.markForCheck();\n  }\n\n  /**\n   * Saves a callback function to be invoked when the select's value\n   * changes from user input. Part of the ControlValueAccessor interface\n   * required to integrate with Angular's core forms API.\n   *\n   * @param fn Callback to be triggered when the value changes.\n   */\n  registerOnChange(fn: any): void {\n    this._onChange = fn;\n  }\n\n  /**\n   * Saves a callback function to be invoked when the select is blurred\n   * by the user. Part of the ControlValueAccessor interface required\n   * to integrate with Angular's core forms API.\n   *\n   * @param fn Callback to be triggered when the component has been touched.\n   */\n  registerOnTouched(fn: any): void {\n    this._onTouched = fn;\n  }\n\n  /** NgSelect's `_setItemsFromNgOptions` */\n  private _setItemsFromMtxOptions() {\n    const mapMtxOptions = (options: QueryList<MtxOptionComponent>) => {\n      this.items = options.map(option => ({\n        $ngOptionValue: option.value,\n        $ngOptionLabel: option.elementRef.nativeElement.innerHTML,\n        disabled: option.disabled,\n      }));\n      this.ngSelect.itemsList.setItems(this.items);\n      if (this.ngSelect.hasValue) {\n        this.ngSelect.itemsList.mapSelectedItems();\n      }\n      this.ngSelect.detectChanges();\n    };\n\n    const handleOptionChange = () => {\n      const changedOrDestroyed = merge(this.mtxOptions.changes, this._destroy$);\n      merge(...this.mtxOptions.map(option => option.stateChange$))\n        .pipe(takeUntil(changedOrDestroyed))\n        .subscribe(option => {\n          const item = this.ngSelect.itemsList.findItem(option.value);\n          item.disabled = option.disabled;\n          item.label = option.label || item.label;\n          this.ngSelect.detectChanges();\n        });\n    };\n\n    this.mtxOptions.changes\n      .pipe(startWith(this.mtxOptions), takeUntil(this._destroy$))\n      .subscribe(options => {\n        mapMtxOptions(options);\n        handleOptionChange();\n      });\n  }\n\n  open() {\n    this.ngSelect.open();\n  }\n\n  close() {\n    this.ngSelect.close();\n  }\n\n  focus() {\n    this.ngSelect.focus();\n  }\n\n  blur() {\n    this.ngSelect.blur();\n  }\n\n  static ngAcceptInputType_required: BooleanInput;\n  static ngAcceptInputType_disabled: BooleanInput;\n}\n","<ng-select #ngSelect [class.ng-select-invalid]=\"errorState\"\n           [(ngModel)]=\"value\"\n           [ngModelOptions]=\"{standalone: true}\"\n           [placeholder]=\"placeholder\"\n           [items]=\"items\"\n           [addTag]=\"addTag\"\n           [addTagText]=\"addTagText\"\n           [appendTo]=\"appendTo\"\n           [appearance]=\"appearance\"\n           [bindLabel]=\"bindLabel\"\n           [bindValue]=\"bindValue\"\n           [closeOnSelect]=\"closeOnSelect\"\n           [clearAllText]=\"clearAllText\"\n           [clearable]=\"clearable\"\n           [clearOnBackspace]=\"clearOnBackspace\"\n           [dropdownPosition]=\"dropdownPosition\"\n           [groupBy]=\"groupBy\"\n           [groupValue]=\"groupValue\"\n           [hideSelected]=\"hideSelected\"\n           [isOpen]=\"isOpen\"\n           [inputAttrs]=\"inputAttrs\"\n           [loading]=\"loading\"\n           [loadingText]=\"loadingText\"\n           [labelForId]=\"labelForId\"\n           [markFirst]=\"markFirst\"\n           [maxSelectedItems]=\"maxSelectedItems\"\n           [multiple]=\"multiple\"\n           [notFoundText]=\"notFoundText\"\n           [readonly]=\"readonly\"\n           [typeahead]=\"typeahead\"\n           [typeToSearchText]=\"typeToSearchText\"\n           [trackByFn]=\"trackByFn\"\n           [searchable]=\"searchable\"\n           [searchFn]=\"searchFn\"\n           [searchWhileComposing]=\"searchWhileComposing\"\n           [clearSearchOnAdd]=\"clearSearchOnAdd\"\n           [selectableGroup]=\"selectableGroup\"\n           [selectableGroupAsModel]=\"selectableGroupAsModel\"\n           [selectOnTab]=\"selectOnTab\"\n           [tabIndex]=\"tabIndex\"\n           [openOnEnter]=\"openOnEnter\"\n           [minTermLength]=\"minTermLength\"\n           [editableSearchTerm]=\"editableSearchTerm\"\n           [keyDownFn]=\"keyDownFn\"\n           [virtualScroll]=\"virtualScroll\"\n           (blur)=\"blurEvent.emit($event)\"\n           (focus)=\"focusEvent.emit($event)\"\n           (change)=\"changeEvent.emit($event)\"\n           (open)=\"openEvent.emit($event)\"\n           (close)=\"closeEvent.emit($event)\"\n           (search)=\"searchEvent.emit($event)\"\n           (clear)=\"clearEvent.emit($event)\"\n           (add)=\"addEvent.emit($event)\"\n           (remove)=\"removeEvent.emit($event)\"\n           (scroll)=\"scroll.emit($event)\"\n           (scrollToEnd)=\"scrollToEnd.emit($event)\">\n\n  <ng-container *ngIf=\"optionTemplate\">\n    <ng-template ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n                 let-searchTerm=\"searchTerm\">\n      <ng-template [ngTemplateOutlet]=\"optionTemplate\"\n                   [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n      </ng-template>\n    </ng-template>\n  </ng-container>\n\n  <ng-container *ngIf=\"optgroupTemplate\">\n    <ng-template ng-optgroup-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n                 let-searchTerm=\"searchTerm\">\n      <ng-template [ngTemplateOutlet]=\"optgroupTemplate\"\n                   [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n      </ng-template>\n    </ng-template>\n  </ng-container>\n\n  <ng-container *ngIf=\"labelTemplate\">\n    <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" let-label=\"label\">\n      <ng-template [ngTemplateOutlet]=\"labelTemplate\"\n                   [ngTemplateOutletContext]=\"{ item: item, clear: clear, label: label }\">\n      </ng-template>\n    </ng-template>\n  </ng-container>\n\n  <ng-container *ngIf=\"multiLabelTemplate\">\n    <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n      <ng-template [ngTemplateOutlet]=\"multiLabelTemplate\"\n                   [ngTemplateOutletContext]=\"{ items: items, clear: clear }\">\n      </ng-template>\n    </ng-template>\n  </ng-container>\n\n  <ng-container *ngIf=\"headerTemplate\">\n    <ng-template ng-header-tmp>\n      <ng-template [ngTemplateOutlet]=\"headerTemplate\">\n      </ng-template>\n    </ng-template>\n  </ng-container>\n\n  <ng-container *ngIf=\"footerTemplate\">\n    <ng-template ng-footer-tmp>\n      <ng-template [ngTemplateOutlet]=\"footerTemplate\">\n      </ng-template>\n    </ng-template>\n  </ng-container>\n\n  <ng-container *ngIf=\"notFoundTemplate\">\n    <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n      <ng-template [ngTemplateOutlet]=\"notFoundTemplate\"\n                   [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n      </ng-template>\n    </ng-template>\n  </ng-container>\n\n  <ng-container *ngIf=\"typeToSearchTemplate\">\n    <ng-template ng-typetosearch-tmp>\n      <ng-template [ngTemplateOutlet]=\"typeToSearchTemplate\">\n      </ng-template>\n    </ng-template>\n  </ng-container>\n\n  <ng-container *ngIf=\"loadingTextTemplate\">\n    <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n      <ng-template [ngTemplateOutlet]=\"loadingTextTemplate\"\n                   [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n      </ng-template>\n    </ng-template>\n  </ng-container>\n\n  <ng-container *ngIf=\"tagTemplate\">\n    <ng-template ng-tag-tmp let-searchTerm=\"searchTerm\">\n      <ng-template [ngTemplateOutlet]=\"tagTemplate\"\n                   [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n      </ng-template>\n    </ng-template>\n  </ng-container>\n\n  <ng-container *ngIf=\"loadingSpinnerTemplate\">\n    <ng-template ng-loadingspinner-tmp>\n      <ng-template [ngTemplateOutlet]=\"loadingSpinnerTemplate\">\n      </ng-template>\n    </ng-template>\n  </ng-container>\n\n</ng-select>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nimport { MtxSelectComponent } from './select.component';\nimport {\n  MtxSelectFooterTemplateDirective,\n  MtxSelectHeaderTemplateDirective,\n  MtxSelectLabelTemplateDirective,\n  MtxSelectLoadingSpinnerTemplateDirective,\n  MtxSelectLoadingTextTemplateDirective,\n  MtxSelectMultiLabelTemplateDirective,\n  MtxSelectNotFoundTemplateDirective,\n  MtxSelectOptgroupTemplateDirective,\n  MtxSelectOptionTemplateDirective,\n  MtxSelectTagTemplateDirective,\n  MtxSelectTypeToSearchTemplateDirective,\n} from './templates.directive';\nimport { MtxOptionComponent } from './option.component';\n\n@NgModule({\n  imports: [CommonModule, FormsModule, ReactiveFormsModule, NgSelectModule],\n  exports: [\n    MtxSelectComponent,\n    MtxOptionComponent,\n    MtxSelectOptgroupTemplateDirective,\n    MtxSelectOptionTemplateDirective,\n    MtxSelectLabelTemplateDirective,\n    MtxSelectMultiLabelTemplateDirective,\n    MtxSelectHeaderTemplateDirective,\n    MtxSelectFooterTemplateDirective,\n    MtxSelectNotFoundTemplateDirective,\n    MtxSelectTypeToSearchTemplateDirective,\n    MtxSelectLoadingTextTemplateDirective,\n    MtxSelectTagTemplateDirective,\n    MtxSelectLoadingSpinnerTemplateDirective,\n  ],\n  declarations: [\n    MtxSelectComponent,\n    MtxOptionComponent,\n    MtxSelectOptgroupTemplateDirective,\n    MtxSelectOptionTemplateDirective,\n    MtxSelectLabelTemplateDirective,\n    MtxSelectMultiLabelTemplateDirective,\n    MtxSelectHeaderTemplateDirective,\n    MtxSelectFooterTemplateDirective,\n    MtxSelectNotFoundTemplateDirective,\n    MtxSelectTypeToSearchTemplateDirective,\n    MtxSelectLoadingTextTemplateDirective,\n    MtxSelectTagTemplateDirective,\n    MtxSelectLoadingSpinnerTemplateDirective,\n  ],\n})\nexport class MtxSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i6.MtxSelectOptgroupTemplateDirective","i6.MtxSelectOptionTemplateDirective","i6.MtxSelectLabelTemplateDirective","i6.MtxSelectMultiLabelTemplateDirective","i6.MtxSelectHeaderTemplateDirective","i6.MtxSelectFooterTemplateDirective","i6.MtxSelectNotFoundTemplateDirective","i6.MtxSelectTypeToSearchTemplateDirective","i6.MtxSelectLoadingTextTemplateDirective","i6.MtxSelectTagTemplateDirective","i6.MtxSelectLoadingSpinnerTemplateDirective"],"mappings":"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"}