{"version":3,"file":"pad-ui-lib-form.mjs","sources":["../../../components/form/directives/prefix.directive.ts","../../../components/form/directives/suffix.directive.ts","../../../components/form/utils.ts","../../../components/form/components/form-control.component.ts","../../../components/form/components/form-field.component.ts","../../../components/form/directives/has-error.directive.ts","../../../components/form/directives/hint.directive.ts","../../../components/form/directives/input.directive.ts","../../../components/form/error.component.ts","../../../components/form/label.component.ts","../../../components/form/form.module.ts","../../../components/form/pad-ui-lib-form.ts"],"sourcesContent":["import { Directive, ElementRef } from \"@angular/core\";\n@Directive({\n  selector: \"[padPrefix]\",\n  exportAs: \"padPrefix\",\n  host: {\n    class: \"pad-prefix\",\n  },\n})\nexport class PadPrefixDirective {\n  constructor(private _elementRef: ElementRef<HTMLElement>) {}\n\n  getWidth() {\n    return this._elementRef.nativeElement.offsetWidth;\n  }\n}\n","import { Directive, ElementRef } from \"@angular/core\";\n@Directive({\n  selector: \"[padSuffix]\",\n  exportAs: \"padSuffix\",\n  host: {\n    class: \"pad-suffix\",\n  },\n})\nexport class PadSuffixDirective {\n  constructor(private _elementRef: ElementRef<HTMLElement>) {}\n\n  getWidth() {\n    return this._elementRef.nativeElement.offsetWidth;\n  }\n}\n","export type PadFormControlStatus = \"error\" | \"success\" | \"pending\" | null;\n\nexport function generatorStatusClass(\n  prefix: string,\n  status: NonNullable<PadFormControlStatus>\n) {\n  return `${prefix}-status-${status}`;\n}\n\nexport function transformControlStatus(origin: string | null): PadFormControlStatus {\n  switch (origin) {\n    case \"VALID\":\n      return \"success\";\n    case \"INVALID\":\n      return \"error\";\n    case \"PENDING\":\n      return \"pending\";\n    default:\n      return null;\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  DestroyRef,\n  ElementRef,\n  OnInit,\n  Renderer2,\n  ViewEncapsulation,\n  inject,\n} from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { FormControlDirective, FormControlName, NgControl } from \"@angular/forms\";\n\nimport {\n  BehaviorSubject,\n  EMPTY,\n  ReplaySubject,\n  distinctUntilChanged,\n  filter,\n  map,\n  switchMap,\n  tap,\n} from \"rxjs\";\nimport { PadPrefixDirective } from \"../directives/prefix.directive\";\nimport { PadSuffixDirective } from \"../directives/suffix.directive\";\nimport {\n  PadFormControlStatus,\n  generatorStatusClass,\n  transformControlStatus,\n} from \"../utils\";\n\n@Component({\n  selector: \"pad-form-control\",\n  exportAs: \"padFormControl\",\n  template: `<ng-content></ng-content>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: [\"./form-control.scss\"],\n  host: {\n    class: \"pad-form-control\",\n  },\n})\nexport class PadFormControlComponent implements OnInit {\n  protected readonly _renderer = inject(Renderer2);\n  protected readonly _destroyRef = inject(DestroyRef);\n  elementRef = inject(ElementRef);\n\n  @ContentChild(NgControl, { static: false })\n  set ngControl(value: FormControlDirective | FormControlName) {\n    this._ngControl$.next(value);\n  }\n\n  get ngControl$() {\n    return this._ngControl$.asObservable();\n  }\n  private readonly _ngControl$ = new ReplaySubject<\n    FormControlDirective | FormControlName\n  >(1);\n\n  @ContentChild(PadPrefixDirective, { static: false })\n  set prefix(value: PadPrefixDirective) {\n    const element = this.elementRef.nativeElement as HTMLElement;\n    if (value) {\n      element.style.setProperty(\n        \"--prefix-width\",\n        value.getWidth() ? value.getWidth() + \"px\" : \"1.25rem\"\n      );\n      element.classList.add(\"has-prefix\");\n    } else {\n      element.classList.remove(\"has-prefix\");\n    }\n  }\n\n  @ContentChild(PadSuffixDirective, { static: false })\n  set suffix(value: PadSuffixDirective) {\n    const element = this.elementRef.nativeElement as HTMLElement;\n    if (value) {\n      element.style.setProperty(\n        \"--suffix-width\",\n        value.getWidth() ? value.getWidth() + \"px\" : \"1.25rem\"\n      );\n\n      element.classList.add(\"has-suffix\");\n    } else {\n      element.classList.remove(\"has-suffix\");\n    }\n  }\n\n  protected readonly _statusSubject = new BehaviorSubject<PadFormControlStatus>(null);\n  status$ = this._statusSubject.asObservable();\n\n  ngOnInit(): void {\n    this._ngControl$\n      .pipe(\n        switchMap(ngControl =>\n          (ngControl.statusChanges || EMPTY).pipe(\n            distinctUntilChanged(),\n            filter(() => (ngControl.dirty || ngControl.touched) ?? false)\n          )\n        ),\n        map(value => transformControlStatus(value)),\n        tap(status => this.statusStylesChange(status)),\n        tap(status => this._statusSubject.next(status)),\n        takeUntilDestroyed(this._destroyRef)\n      )\n      .subscribe();\n  }\n\n  protected statusStylesChange(nextStatus: PadFormControlStatus) {\n    const prefix = \"pad-control\";\n    const oldStatus = this._statusSubject.value;\n    if (oldStatus) {\n      const oldStatusClass = generatorStatusClass(prefix, oldStatus);\n      this._renderer.removeClass(this.elementRef.nativeElement, oldStatusClass);\n    }\n    if (nextStatus) {\n      const nextStatusClass = `${prefix}-status-${nextStatus}`;\n      this._renderer.addClass(this.elementRef.nativeElement, nextStatusClass);\n    }\n  }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from \"@angular/core\";\n\n@Component({\n  selector: \"pad-form-field\",\n  template: `<ng-content></ng-content>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: [\"./form-field.scss\"],\n  host: {\n    class: \"pad-form-field\",\n  },\n})\nexport class PadFormFieldComponent {}\n","import {\n  Directive,\n  EmbeddedViewRef,\n  Input,\n  OnDestroy,\n  OnInit,\n  TemplateRef,\n  ViewContainerRef,\n  inject,\n} from \"@angular/core\";\nimport { PadSafeAny } from \"pad-ui-lib/core/type\";\nimport {\n  EMPTY,\n  ReplaySubject,\n  Subscription,\n  combineLatest,\n  distinctUntilChanged,\n  filter,\n  map,\n  switchMap,\n} from \"rxjs\";\nimport { PadFormControlComponent } from \"../components/form-control.component\";\n\nexport interface HasErrorContext {\n  $implicit: PadSafeAny;\n}\n\n@Directive({\n  selector: \"[hasError]\",\n})\nexport class HasErrorDirective implements OnInit, OnDestroy {\n  private readonly root = inject(PadFormControlComponent);\n  private readonly templateRef = inject<TemplateRef<HasErrorContext>>(\n    TemplateRef<HasErrorContext>\n  );\n  private readonly vcr = inject(ViewContainerRef);\n\n  @Input()\n  set hasError(value: string) {\n    this._errorName$.next(value);\n  }\n\n  private readonly _errorName$ = new ReplaySubject<string>(1);\n  private readonly _ngControl$ = this.root.ngControl$;\n\n  private _view?: EmbeddedViewRef<HasErrorContext>;\n  private _subscription?: Subscription;\n\n  ngOnInit(): void {\n    const status$ = this._ngControl$.pipe(\n      switchMap(ngControl =>\n        (ngControl.statusChanges || EMPTY).pipe(\n          filter(() => (ngControl.dirty || ngControl.touched) ?? false)\n        )\n      )\n    );\n\n    const error$ = combineLatest([this._ngControl$, this._errorName$, status$]).pipe(\n      map(([ngControl, errorName]) => ({\n        hasError: ngControl.hasError(errorName),\n        value: ngControl.getError(errorName),\n      })),\n      distinctUntilChanged((x, y) => x.hasError === y.hasError && x.value === y.value)\n    );\n\n    this._subscription = error$.subscribe(error => {\n      if (!error.hasError) {\n        this.vcr.clear();\n        this._view?.destroy();\n        this._view = undefined;\n        return;\n      }\n\n      if (this._view) {\n        this._view.context.$implicit = error.value;\n        this._view.markForCheck();\n        return;\n      }\n\n      this._view = this.vcr.createEmbeddedView(this.templateRef, {\n        $implicit: error.value,\n      });\n    });\n  }\n\n  ngOnDestroy(): void {\n    this._subscription?.unsubscribe();\n  }\n}\n","import {\n  Directive,\n  ElementRef,\n  OnDestroy,\n  OnInit,\n  Renderer2,\n  ViewRef,\n  inject,\n} from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport { PadFormControlComponent } from \"../components/form-control.component\";\n@Directive({\n  selector: \"pad-hint\",\n  exportAs: \"padHint\",\n  host: {\n    class: \"pad-hint\",\n  },\n})\nexport class PadHintDirective implements OnInit, OnDestroy {\n  private readonly root = inject(PadFormControlComponent);\n  private readonly elementRef = inject(ElementRef);\n  private readonly renderer = inject(Renderer2);\n\n  private _view?: ViewRef;\n  private _subscription?: Subscription;\n\n  ngOnInit(): void {\n    this._subscription = this.root.status$.subscribe(status => {\n      if (status === \"error\") {\n        this.renderer.setStyle(this.elementRef.nativeElement, \"display\", \"none\");\n      } else {\n        this.renderer.setStyle(this.elementRef.nativeElement, \"display\", \"block\");\n      }\n    });\n  }\n\n  ngOnDestroy(): void {\n    this._subscription?.unsubscribe();\n  }\n}\n","import { BooleanInput, coerceBooleanProperty } from \"@angular/cdk/coercion\";\nimport {\n  Directive,\n  ElementRef,\n  Input,\n  OnDestroy,\n  OnInit,\n  Renderer2,\n  inject,\n} from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport {\n  BehaviorSubject,\n  Subject,\n  distinctUntilChanged,\n  filter,\n  map,\n  takeUntil,\n  tap,\n} from \"rxjs\";\nimport {\n  PadFormControlStatus,\n  generatorStatusClass,\n  transformControlStatus,\n} from \"../utils\";\n\nexport type PadInputSize = \"lg\" | \"md\";\n\n@Directive({\n  selector: \"input[padInput], textarea[padInput]\",\n  exportAs: \"padInput\",\n  host: {\n    class: \"pad-input\",\n    \"[class.pad-input-disabled]\": \"disabled\",\n    \"[disabled]\": \"disabled\",\n    \"[class.pad-input-size-md]\": `padSize === 'md'`,\n    \"[class.pad-input-size-lg]\": `padSize === 'lg'`,\n  },\n})\nexport class PadInputDirective implements OnInit, OnDestroy {\n  protected readonly control = inject(NgControl, {\n    self: true,\n    optional: true,\n  });\n  protected readonly renderer = inject(Renderer2);\n  protected readonly elementRef = inject(ElementRef);\n\n  @Input() padSize: PadInputSize = \"lg\";\n  @Input()\n  get disabled() {\n    if (this.control && this.control.disabled != null) {\n      return this.control.disabled;\n    }\n\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n  protected _disabled = false;\n\n  protected readonly _statusSubject = new BehaviorSubject<PadFormControlStatus>(null);\n  protected readonly _destroy$ = new Subject<void>();\n\n  status$ = this._statusSubject.asObservable();\n\n  ngOnInit(): void {\n    if (this.control && this.control.statusChanges) {\n      this.control.statusChanges\n        .pipe(\n          filter(() => (this.control?.dirty || this.control?.touched) ?? false),\n          distinctUntilChanged(),\n          map(value => transformControlStatus(value)),\n          tap(status => this.statusStylesChange(status)),\n          tap(status => this._statusSubject.next(status)),\n          takeUntil(this._destroy$)\n        )\n        .subscribe();\n    }\n  }\n\n  protected statusStylesChange(nextStatus: PadFormControlStatus) {\n    const prefix = \"pad-input\";\n    const oldStatus = this._statusSubject.value;\n    if (oldStatus) {\n      const oldStatusClass = generatorStatusClass(prefix, oldStatus);\n      this.renderer.removeClass(this.elementRef.nativeElement, oldStatusClass);\n    }\n    if (nextStatus) {\n      const nextStatusClass = `${prefix}-status-${nextStatus}`;\n      this.renderer.addClass(this.elementRef.nativeElement, nextStatusClass);\n    }\n  }\n\n  ngOnDestroy(): void {\n    this._destroy$.next();\n    this._destroy$.complete();\n  }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from \"@angular/core\";\n\n@Component({\n  selector: \"pad-error\",\n  template: `<ng-content></ng-content>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: [\"./error.component.css\"],\n  host: {\n    class: \"pad-error\",\n  },\n})\nexport class PadErrorComponent {}\n","import { BooleanInput, coerceBooleanProperty } from \"@angular/cdk/coercion\";\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  ViewEncapsulation,\n} from \"@angular/core\";\n\n@Component({\n  selector: \"pad-label\",\n  template: `<label [attr.for]=\"padFor\" [class.pad-label-required]=\"required\">\n    <ng-content></ng-content>\n  </label>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: [\"./label.component.scss\"],\n  host: {\n    \"[required]\": \"required\",\n    class: \"pad-label\",\n  },\n})\nexport class PadLabelComponent {\n  // TODO: change input bindings name not be aliased\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  @Input(\"for\") padFor = \"\";\n\n  @Input()\n  get required() {\n    return this.#required;\n  }\n  set required(value: BooleanInput) {\n    this.#required = coerceBooleanProperty(value);\n  }\n  #required = false;\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { PadFormControlComponent } from \"./components/form-control.component\";\nimport { PadFormFieldComponent } from \"./components/form-field.component\";\nimport { HasErrorDirective } from \"./directives/has-error.directive\";\nimport { PadHintDirective } from \"./directives/hint.directive\";\nimport { PadInputDirective } from \"./directives/input.directive\";\nimport { PadPrefixDirective } from \"./directives/prefix.directive\";\nimport { PadSuffixDirective } from \"./directives/suffix.directive\";\nimport { PadErrorComponent } from \"./error.component\";\nimport { PadLabelComponent } from \"./label.component\";\n\n@NgModule({\n  declarations: [\n    PadFormFieldComponent,\n    PadFormControlComponent,\n    PadInputDirective,\n    PadLabelComponent,\n    PadErrorComponent,\n    HasErrorDirective,\n    PadHintDirective,\n    PadPrefixDirective,\n    PadSuffixDirective,\n  ],\n  exports: [\n    PadFormFieldComponent,\n    PadFormControlComponent,\n    PadLabelComponent,\n    PadInputDirective,\n    PadErrorComponent,\n    PadHintDirective,\n    HasErrorDirective,\n    PadPrefixDirective,\n    PadSuffixDirective,\n  ],\n  imports: [CommonModule, ReactiveFormsModule],\n})\nexport class PadFormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}