@ng-doc/ui-kit
Version:
<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>
1 lines • 8.12 kB
Source Map (JSON)
{"version":3,"file":"ng-doc-ui-kit-cdk-combobox-host.mjs","sources":["../../../../libs/ui-kit/cdk/combobox-host/combobox-host.component.ts","../../../../libs/ui-kit/cdk/combobox-host/combobox-host.component.html","../../../../libs/ui-kit/cdk/combobox-host/ng-doc-ui-kit-cdk-combobox-host.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n inject,\n Input,\n NgZone,\n ViewChild,\n} from '@angular/core';\nimport {\n NgDocBaseInput,\n NgDocDisplayValueHost,\n NgDocInputHost,\n NgDocListHost,\n NgDocOverlayHost,\n} from '@ng-doc/ui-kit/classes';\nimport { NgDocDropdownComponent } from '@ng-doc/ui-kit/components/dropdown';\nimport { NgDocDropdownHandlerDirective } from '@ng-doc/ui-kit/directives/dropdown-handler';\nimport { NgDocFocusCatcherDirective } from '@ng-doc/ui-kit/directives/focus-catcher';\nimport { ngDocZoneOptimize } from '@ng-doc/ui-kit/observables';\nimport { NgDocDisplayValueFunction, NgDocOverlayPosition } from '@ng-doc/ui-kit/types';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport {\n DI_DEFAULT_COMPARE,\n DICompareFunction,\n DICompareHost,\n DIControl,\n DIStateControl,\n injectHostControl,\n provideCompareHost,\n provideHostControl,\n} from 'di-controls';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'ng-doc-combobox-host',\n templateUrl: './combobox-host.component.html',\n styleUrls: ['./combobox-host.component.scss'],\n providers: [\n provideHostControl(forwardRef(() => NgDocComboboxHostComponent)),\n provideCompareHost(forwardRef(() => NgDocComboboxHostComponent)),\n {\n provide: NgDocOverlayHost,\n useExisting: forwardRef(() => NgDocComboboxHostComponent),\n },\n {\n provide: NgDocInputHost,\n useExisting: forwardRef(() => NgDocComboboxHostComponent),\n },\n {\n provide: NgDocDisplayValueHost,\n useExisting: forwardRef(() => NgDocComboboxHostComponent),\n },\n {\n provide: NgDocListHost,\n useExisting: forwardRef(() => NgDocComboboxHostComponent),\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgDocFocusCatcherDirective, NgDocDropdownHandlerDirective],\n})\n@UntilDestroy()\nexport class NgDocComboboxHostComponent<T>\n extends DIControl<T>\n implements\n NgDocOverlayHost,\n NgDocInputHost<string>,\n DICompareHost<T>,\n NgDocDisplayValueHost<T>,\n NgDocListHost,\n AfterContentInit\n{\n @Input()\n compareFn: DICompareFunction<T> = DI_DEFAULT_COMPARE;\n\n @Input()\n displayValueFn: NgDocDisplayValueFunction<T> = String;\n\n @ViewChild('origin', { read: ElementRef, static: true })\n origin?: ElementRef<HTMLElement>;\n\n @ContentChild(NgDocDropdownComponent)\n dropdown?: NgDocDropdownComponent;\n\n @ContentChild(NgDocBaseInput)\n inputControl?: NgDocBaseInput<string>;\n\n readonly positions: NgDocOverlayPosition[] = ['bottom-center', 'top-center'];\n\n protected readonly ngZone: NgZone = inject(NgZone);\n\n constructor() {\n super({\n host: injectHostControl({ skipSelf: true, optional: true }),\n onChildControlChange: (control) => {\n if (control instanceof DIStateControl) {\n this.dropdown?.close();\n }\n },\n });\n }\n\n ngAfterContentInit(): void {\n this.inputControl?.changes\n .pipe(\n filter(() => !!this.inputControl?.isFocused),\n untilDestroyed(this),\n ngDocZoneOptimize(this.ngZone),\n )\n .subscribe(() => this.dropdown?.open());\n }\n\n get listHostOrigin(): ElementRef<HTMLElement> | undefined {\n return this.inputControl?.elementRef;\n }\n\n get searchText(): string {\n return this.hasValue ? '' : this.inputControl?.value || '';\n }\n\n get width(): number {\n return this.origin?.nativeElement.offsetWidth || 0;\n }\n\n get panelClass(): string {\n return `ng-doc-combobox-host-overlay`;\n }\n\n clickEvent(): void {\n if (!this.disabled) {\n this.dropdown?.open();\n }\n }\n}\n","<label\n\tclass=\"ng-doc-dropdown-host\"\n\tngDocFocusCatcher\n\t[ngDocDropdownHandler]=\"dropdown\"\n\t(click)=\"clickEvent()\"\n\t#origin>\n\t<ng-content></ng-content>\n</label>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}