{"version":3,"file":"ng-doc-app-type-controls-type-alias-control.mjs","sources":["../../../../libs/app/type-controls/type-alias-control/type-alias-control.component.ts","../../../../libs/app/type-controls/type-alias-control/type-alias-control.component.html","../../../../libs/app/type-controls/type-alias-control/ng-doc-app-type-controls-type-alias-control.ts"],"sourcesContent":["import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgDocKindIconComponent } from '@ng-doc/app/components/kind-icon';\nimport { NgDocTypeControl } from '@ng-doc/app/interfaces';\nimport { NgDocExtractValuePipe } from '@ng-doc/app/pipes/extract-value';\nimport {\n  NgDocButtonIconComponent,\n  NgDocComboboxComponent,\n  NgDocDataDirective,\n  NgDocFocusableDirective,\n  NgDocIconComponent,\n  NgDocListComponent,\n  NgDocOptionComponent,\n  NgDocTextComponent,\n  NgDocTextLeftDirective,\n  NgDocTextRightDirective,\n  NgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\nimport { DIControl } from 'di-controls';\n\n@Component({\n  selector: 'ng-doc-type-alias-control',\n  templateUrl: './type-alias-control.component.html',\n  styleUrls: ['./type-alias-control.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgDocComboboxComponent,\n    FormsModule,\n    NgDocDataDirective,\n    NgDocListComponent,\n    NgFor,\n    NgIf,\n    NgDocOptionComponent,\n    NgTemplateOutlet,\n    NgDocTextComponent,\n    NgDocKindIconComponent,\n    NgDocTextLeftDirective,\n    NgDocTooltipDirective,\n    NgDocTextRightDirective,\n    NgDocButtonIconComponent,\n    NgDocFocusableDirective,\n    NgDocIconComponent,\n    NgDocExtractValuePipe,\n  ],\n})\nexport class NgDocTypeAliasControlComponent<T> extends DIControl<T> implements NgDocTypeControl<T> {\n  @Input()\n  default?: T;\n\n  options?: string[];\n\n  isManual?: boolean;\n\n  constructor() {\n    super();\n  }\n\n  typeOf(value: unknown): string {\n    return typeof value;\n  }\n\n  changeModel(value: T | null): void {\n    this.updateModel(value === null && this.default ? this.default : value);\n  }\n}\n","<ng-doc-combobox\n  [ngModel]=\"model()\"\n  [readonly]=\"true\"\n  [valueContent]=\"valueTemplate\"\n  [clearButton]=\"false\"\n  [rightContent]=\"rightContent\"\n  (ngModelChange)=\"changeModel($event)\">\n  <ng-doc-list *ngDocData>\n    <ng-container *ngFor=\"let option of options\">\n      <ng-container *ngIf=\"isManual ? option : (option | ngDocExtractValue) as value\">\n        <ng-doc-option [value]=\"value\">\n          <ng-container\n            *ngTemplateOutlet=\"valueTemplate; context: { $implicit: value }\"></ng-container>\n        </ng-doc-option>\n      </ng-container>\n    </ng-container>\n  </ng-doc-list>\n  <ng-template let-value #valueTemplate>\n    <div ng-doc-text>\n      <ng-doc-kind-icon\n        [kind]=\"typeOf(value)\"\n        [type]=\"'type'\"\n        [ngDocTooltip]=\"typeOf(value)\"\n        positions=\"left-center\"\n        ngDocTextLeft>\n      </ng-doc-kind-icon>\n      <div>{{ value }}</div>\n      <span ng-doc-text color=\"muted\" size=\"small\" *ngIf=\"value === default\" ngDocTextRight\n        >[default]</span\n      >\n    </div>\n  </ng-template>\n  <ng-template #rightContent>\n    <button\n      ng-doc-button-icon-transparent\n      size=\"large\"\n      [ngDocFocusable]=\"false\"\n      [disabled]=\"disabled\"\n      [rounded]=\"false\"\n      (click)=\"updateModel(default ?? null)\"\n      (focusout)=\"touch()\"\n      *ngIf=\"model() && model() !== default\">\n      <ng-doc-icon icon=\"x\"></ng-doc-icon>\n    </button>\n  </ng-template>\n</ng-doc-combobox>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}