{"version":3,"file":"ng-doc-ui-kit-components-combobox.mjs","sources":["../../../../libs/ui-kit/components/combobox/combobox.component.ts","../../../../libs/ui-kit/components/combobox/combobox.component.html","../../../../libs/ui-kit/components/combobox/ng-doc-ui-kit-components-combobox.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  Input,\n  TemplateRef,\n} from '@angular/core';\nimport { NgDocComboboxHostComponent } from '@ng-doc/ui-kit/cdk/combobox-host';\nimport { NgDocListHost } from '@ng-doc/ui-kit/classes/list-host';\nimport { NgDocClearControlComponent } from '@ng-doc/ui-kit/components/clear-control';\nimport { NgDocDropdownComponent } from '@ng-doc/ui-kit/components/dropdown';\nimport { NgDocInputWrapperComponent } from '@ng-doc/ui-kit/components/input-wrapper';\nimport { NgDocDataDirective } from '@ng-doc/ui-kit/directives/data';\nimport { NgDocFocusCatcherDirective } from '@ng-doc/ui-kit/directives/focus-catcher';\nimport { NgDocInputStringDirective } from '@ng-doc/ui-kit/directives/input-string';\nimport { NgDocContextWithImplicit } from '@ng-doc/ui-kit/interfaces';\nimport { NgDocContent } from '@ng-doc/ui-kit/types';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\nimport { DIControl, provideHostControl } from 'di-controls';\n\n@Component({\n  selector: 'ng-doc-combobox',\n  templateUrl: './combobox.component.html',\n  styleUrls: ['./combobox.component.scss'],\n  providers: [\n    provideHostControl(NgDocComboboxComponent),\n    {\n      provide: NgDocListHost,\n      useExisting: NgDocComboboxComponent,\n    },\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgDocComboboxHostComponent,\n    NgDocInputWrapperComponent,\n    NgDocFocusCatcherDirective,\n    NgDocInputStringDirective,\n    PolymorpheusModule,\n    NgDocClearControlComponent,\n    NgDocDropdownComponent,\n    NgTemplateOutlet,\n  ],\n})\nexport class NgDocComboboxComponent<T> extends DIControl<T> implements NgDocListHost {\n  @Input()\n  readonly: boolean = false;\n\n  @Input()\n  placeholder: string = 'Chose the value';\n\n  @Input()\n  clearButton: boolean = true;\n\n  @Input()\n  rightContent: NgDocContent = '';\n\n  @Input()\n  valueContent: NgDocContent<NgDocContextWithImplicit<T | null>> = '';\n\n  @ContentChild(NgDocDataDirective, { read: TemplateRef })\n  data: TemplateRef<never> | null = null;\n\n  constructor() {\n    super();\n  }\n\n  get listHostOrigin(): HTMLElement {\n    return this.elementRef.nativeElement;\n  }\n}\n","<ng-doc-combobox-host>\n  <ng-doc-input-wrapper\n    ngDocFocusCatcher\n    [blurContent]=\"hasValue ? valueContent : ''\"\n    [blurContext]=\"model()\">\n    <input ngDocInputString [readonly]=\"readonly\" [placeholder]=\"placeholder\" />\n    <ng-container ngDocInputWrapperRight>\n      <ng-container *polymorpheusOutlet=\"rightContent\"></ng-container>\n      @if (clearButton) {\n        <ng-doc-clear-control></ng-doc-clear-control>\n      }\n    </ng-container>\n    <ng-doc-dropdown [content]=\"dropdownContent\" [closeIfInnerClick]=\"true\">\n      <ng-template #dropdownContent>\n        <ng-container *ngTemplateOutlet=\"data\"></ng-container>\n      </ng-template>\n    </ng-doc-dropdown>\n  </ng-doc-input-wrapper>\n</ng-doc-combobox-host>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}