{"version":3,"file":"ng-doc-ui-kit-components-input-wrapper.mjs","sources":["../../../../libs/ui-kit/components/input-wrapper/input-wrapper.component.ts","../../../../libs/ui-kit/components/input-wrapper/input-wrapper.component.html","../../../../libs/ui-kit/components/input-wrapper/ng-doc-ui-kit-components-input-wrapper.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport {\n  AfterViewChecked,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ElementRef,\n  HostBinding,\n  Input,\n  ViewChild,\n} from '@angular/core';\nimport { NgDocBaseInput } from '@ng-doc/ui-kit/classes/base-input';\nimport { NgDocInputHost } from '@ng-doc/ui-kit/classes/input-host';\nimport { NgDocFloatedBorderComponent } from '@ng-doc/ui-kit/components/floated-border';\nimport { NgDocFloatedContentComponent } from '@ng-doc/ui-kit/components/floated-content';\nimport { NgDocWrapperComponent } from '@ng-doc/ui-kit/components/wrapper';\nimport { ngDocMakePure } from '@ng-doc/ui-kit/decorators';\nimport { NgDocFocusCatcherDirective } from '@ng-doc/ui-kit/directives/focus-catcher';\nimport { NgDocContextWithImplicit } from '@ng-doc/ui-kit/interfaces';\nimport { NgDocContent, NgDocTextAlign } from '@ng-doc/ui-kit/types';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\n\n@Component({\n  selector: 'ng-doc-input-wrapper',\n  templateUrl: './input-wrapper.component.html',\n  styleUrls: ['./input-wrapper.component.scss'],\n  providers: [\n    {\n      provide: NgDocInputHost,\n      useExisting: NgDocInputWrapperComponent,\n    },\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgDocWrapperComponent,\n    NgDocFocusCatcherDirective,\n    NgDocFloatedBorderComponent,\n    NgIf,\n    PolymorpheusModule,\n    NgDocFloatedContentComponent,\n  ],\n})\n@UntilDestroy()\nexport class NgDocInputWrapperComponent<T, B = unknown>\n  implements AfterViewChecked, NgDocInputHost<T>\n{\n  @Input()\n  blurContent: NgDocContent<NgDocContextWithImplicit<B | null>> = '';\n\n  @Input()\n  blurContext: B | null = null;\n\n  @Input()\n  @HostBinding('attr.data-ng-doc-align')\n  align: NgDocTextAlign = 'left';\n\n  @ContentChild(NgDocBaseInput)\n  input?: NgDocBaseInput<T>;\n\n  @ContentChild(NgDocBaseInput)\n  inputControl?: NgDocBaseInput<T>;\n\n  @ViewChild(NgDocFocusCatcherDirective, { static: true })\n  focusCatcher?: NgDocFocusCatcherDirective;\n\n  constructor(\n    public elementRef: ElementRef<HTMLElement>,\n    protected changeDetectorRef: ChangeDetectorRef,\n  ) {}\n\n  ngAfterViewChecked(): void {\n    this.changeDetectorRef.markForCheck();\n  }\n\n  @ngDocMakePure\n  getBlurContext($implicit: B | null): NgDocContextWithImplicit<B | null> {\n    return { $implicit };\n  }\n\n  @HostBinding('attr.data-ng-doc-input-disabled')\n  get disabled(): boolean {\n    return !!this.inputControl?.disabled;\n  }\n\n  inputHasValue(): boolean {\n    return !!this.inputControl?.hasValue;\n  }\n\n  get blurContentIsVisible(): boolean {\n    return !!this.blurContent && (!this.input?.isFocused || this.input?.isReadonly);\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  emptyEvent(): void {}\n}\n","<ng-doc-wrapper ngDocFocusCatcher>\n  <ng-doc-floated-border>\n    <label\n      class=\"ng-doc-input-container\"\n      (focusin)=\"emptyEvent()\"\n      (focusout)=\"emptyEvent()\"\n      [class.-input-hidden]=\"blurContentIsVisible\">\n      <ng-content select=\"[ngDocInputWrapperLeft]\"></ng-content>\n      <div class=\"ng-doc-original-input\">\n        <ng-content></ng-content>\n        <div class=\"ng-doc-blur-container ng-doc-input\" *ngIf=\"blurContentIsVisible\">\n          <div class=\"ng-doc-blur-content\">\n            <ng-container\n              *polymorpheusOutlet=\"blurContent as text; context: getBlurContext(blurContext)\">\n              {{ text }}\n            </ng-container>\n          </div>\n        </div>\n      </div>\n      <ng-content select=\"[ngDocInputWrapperRight]\"></ng-content>\n    </label>\n  </ng-doc-floated-border>\n</ng-doc-wrapper>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}