{"version":3,"file":"tstdl-angular-form.mjs","sources":["../../../../projects/tstdl/angular/form/source/input-group-label/input-group-label.component.ts","../../../../projects/tstdl/angular/form/source/input-group-label/input-group-label.component.html","../../../../projects/tstdl/angular/form/source/input-group/input-group.component.ts","../../../../projects/tstdl/angular/form/source/input-group/input-group.component.html","../../../../projects/tstdl/angular/form/source/input/input.component.ts","../../../../projects/tstdl/angular/form/source/input/input.component.html","../../../../projects/tstdl/angular/form/source/select/select.component.ts","../../../../projects/tstdl/angular/form/source/select/select.component.html","../../../../projects/tstdl/angular/form/source/select/select-option/select-option.component.ts","../../../../projects/tstdl/angular/form/source/select/select-option/select-option.component.html","../../../../projects/tstdl/angular/form/tstdl-angular-form.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'tsl-input-group-label, [tslInputGroupLabel]',\n  imports: [],\n  templateUrl: './input-group-label.component.html',\n  styleUrl: './input-group-label.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n})\nexport class InputGroupLabelComponent {\n\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'tsl-input-group',\n  imports: [],\n  templateUrl: './input-group.component.html',\n  styleUrl: './input-group.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'tsl-tw',\n  },\n})\nexport class InputGroupComponent {\n\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation, booleanAttribute, computed, inject, input } from '@angular/core';\nimport type { InputAutocomplete, InputMode, InputType } from '@tstdl/base/types';\n\n@Component({\n  selector: 'input[tslInput], textarea[tslInput]',\n  imports: [],\n  templateUrl: './input.component.html',\n  styleUrl: './input.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    'class': 'tsl-tw',\n    '[class]': 'classes()',\n    '[attr.disabled]': 'this.disabled() ? true : null',\n    '[attr.type]': 'this.type()',\n    '[attr.inputmode]': 'this.inputmode()',\n    '[attr.autocomplete]': 'this.autocomplete()',\n  }\n})\nexport class InputComponent {\n  // readonly #control = inject(NgControl, { optional: true });\n  readonly #elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n  readonly disabled = input<boolean, boolean | null | `${boolean}` | undefined>(false, { transform: booleanAttribute });\n  readonly type = input<InputType>('text');\n  readonly inputmode = input<InputMode | null>(null);\n  readonly autocomplete = input<InputAutocomplete | null>(null);\n\n  readonly classes = computed(() => {\n    /*\n    const stateClasses = (isNullOrUndefined(this.#control) || (this.#control.touched != true))\n      ? textInputNeutralClasses\n      : (this.#control.valid == true) ? textInputValidClasses\n        : (this.#control.invalid == true) ? textInputInvalidClasses\n          : textInputNeutralClasses;\n          */\n\n    return (this.type() == 'checkbox')\n      ? ['input-checkbox']\n      : ['input-text'];\n  });\n\n  get id(): string {\n    return this.#elementRef.nativeElement.id;\n  }\n\n  set id(id: string) {\n    this.#elementRef.nativeElement.id = id;\n  }\n}\n","<ng-content></ng-content>\n","import { CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, ViewEncapsulation, computed, contentChildren, effect, forwardRef, inject, model } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from '@angular/forms';\nimport { DynamicTextPipe, LocalizePipe } from '@tstdl/angular';\nimport { IconComponent } from \"@tstdl/angular/icon\";\nimport { tstdlCommonLocalizationKeys } from '@tstdl/base/text';\nimport { isString } from '@tstdl/base/utils';\nimport { Subject } from 'rxjs';\n\nimport { SelectOptionComponent } from './select-option/select-option.component';\n\n@Component({\n  selector: 'button[tslSelect]',\n  imports: [IconComponent, DynamicTextPipe, LocalizePipe, OverlayModule],\n  templateUrl: './select.component.html',\n  styleUrl: './select.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectComponent), multi: true }\n  ],\n  host: {\n    class: 'tsl-tw',\n    '[attr.disabled]': '(disabled()?.toString() == \"true\") ? true : null'\n  }\n})\nexport class SelectComponent<T> implements ControlValueAccessor {\n  readonly #elementRef = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n  readonly #changeDetector = inject(ChangeDetectorRef);\n  readonly overlayTrigger = new CdkOverlayOrigin();\n  readonly #touchedSubject = new Subject<void>();\n  readonly #touched$ = this.#touchedSubject.pipe(takeUntilDestroyed());\n\n  readonly value = model<T | null>(null);\n  readonly open = model(false);\n  readonly disabledInput = model<boolean | `${boolean}` | '' | null>(false, { alias: 'disabled' });\n\n  readonly disabled = computed(() => {\n    const disabledInput = this.disabledInput();\n\n    if (isString(disabledInput)) {\n      return (disabledInput == 'true') || (disabledInput === '');\n    }\n\n    return disabledInput == true;\n  });\n\n\n  readonly options = contentChildren<SelectOptionComponent<T>>(SelectOptionComponent);\n\n  readonly selectedOption = computed(() => this.options().find((option) => option.value() == this.value()) ?? null);\n\n  readonly commonLocalizationKeys = tstdlCommonLocalizationKeys;\n\n  get overlayWidth(): number {\n    return this.#elementRef.nativeElement.getBoundingClientRect().width;\n  }\n\n  get id(): string {\n    return this.#elementRef.nativeElement.id;\n  }\n\n  set id(id: string) {\n    this.#elementRef.nativeElement.id = id;\n  }\n\n  constructor() {\n    effect(() => {\n      if (this.disabled()) {\n        this.open.set(false);\n      }\n    });\n  }\n\n  @HostListener('click')\n  onClick(): void {\n    if (this.disabled()) {\n      return;\n    }\n\n    let isOpen = this.open();\n\n    if (isOpen) {\n      this.#touchedSubject.next();\n    }\n\n    this.toggle();\n  }\n\n  toggle(): void {\n    if (this.disabled()) {\n      return;\n    }\n\n    this.open.update((open) => !open);\n  }\n\n  select(value: T | null): void {\n    this.value.set(value);\n    this.open.set(false);\n    this.#changeDetector.markForCheck();\n  }\n\n  selectOption(option: SelectOptionComponent<T>): void {\n    this.select(option.value());\n  }\n\n  writeValue(obj: any): void {\n    this.select(obj);\n  }\n\n  registerOnChange(fn: any): void {\n    this.value.subscribe(fn);\n  }\n\n  registerOnTouched(fn: any): void {\n    this.#touched$.subscribe(fn);\n  }\n\n  setDisabledState?(isDisabled: boolean): void {\n    this.disabledInput.set(isDisabled);\n  }\n}\n","@if (selectedOption(); as selectedOption) {\n  <span>{{ selectedOption.optionText() | dynamicText }}</span>\n} @else {\n  <span>{{ commonLocalizationKeys.select | localize }}</span>\n}\n\n<tsl-icon icon=\"chevron-down\"></tsl-icon>\n\n<ng-template\n  cdk-connected-overlay\n  [cdkConnectedOverlayOrigin]=\"overlayTrigger\"\n  [cdkConnectedOverlayOpen]=\"open()\"\n  [cdkConnectedOverlayWidth]=\"overlayWidth\"\n  [cdkConnectedOverlayHasBackdrop]=\"true\"\n  [cdkConnectedOverlayBackdropClass]=\"['opacity-0', 'visible']\"\n  (backdropClick)=\"open.set(false)\">\n  <div\n    class=\"relative top-1 flex flex-col w-full max-h-96 py-1 overflow-y-auto overflow-hidden bg-white dark:bg-neutral-700 text-neutral-900 dark:text-neutral-50 rounded-md shadow-lg border border-neutral-300 dark:border-neutral-500 focus:outline-none\">\n    <ng-content></ng-content>\n  </div>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, computed, ElementRef, HostListener, inject, input, ViewEncapsulation } from '@angular/core';\nimport { DynamicTextPipe, LocalizeEnumPipe } from '@tstdl/angular';\nimport type { DynamicText } from '@tstdl/base/text';\nimport type { Enumeration } from '@tstdl/base/types';\n\nimport { SelectComponent } from '../select.component';\n\n@Component({\n  selector: 'button[tslSelectOption]',\n  imports: [DynamicTextPipe, LocalizeEnumPipe],\n  templateUrl: './select-option.component.html',\n  styleUrls: ['./select-option.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None\n})\nexport class SelectOptionComponent<T> {\n  private readonly selectComponent = inject<SelectComponent<T>>(SelectComponent);\n  private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n  readonly label = input<DynamicText | null>(null);\n  readonly labelEnum = input<Enumeration | null>(null);\n  readonly value = input.required<T>();\n\n  readonly optionText = computed(() => this.label() ?? (this.elementRef.nativeElement.textContent ?? '').trim());\n\n  @HostListener('click')\n  select(): void {\n    this.selectComponent.selectOption(this);\n  }\n}\n","@if (labelEnum(); as labelEnum) {\n  <span>{{ $any(value) | localizeEnum: labelEnum }}</span>\n} @else {\n  @if (label(); as label) {\n    <span>{{ label | dynamicText }}</span>\n  }\n}\n\n<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}