{"version":3,"file":"mdb-angular-ui-kit-radio.mjs","sources":["../../../projects/mdb-angular-ui-kit/radio/radio-button.directive.ts","../../../projects/mdb-angular-ui-kit/radio/radio-group.directive.ts","../../../projects/mdb-angular-ui-kit/radio/radio.module.ts","../../../projects/mdb-angular-ui-kit/radio/mdb-angular-ui-kit-radio.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: '[mdbRadio]',\n  standalone: false,\n})\nexport class MdbRadioDirective {\n  @Input()\n  get name(): string {\n    return this._name;\n  }\n  set name(value: string) {\n    this._name = value;\n  }\n  private _name: string;\n\n  @Input('checked')\n  get checked(): boolean {\n    return this._checked;\n  }\n  set checked(value: boolean) {\n    this._checked = coerceBooleanProperty(value);\n  }\n  private _checked = false;\n\n  @Input('value')\n  get value(): any {\n    return this._value;\n  }\n  set value(value: any) {\n    this._value = value;\n  }\n  private _value: any = null;\n\n  @Input('disabled')\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: boolean) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n  private _disabled = false;\n\n  @HostBinding('disabled')\n  get isDisabled(): boolean {\n    return this._disabled;\n  }\n\n  @HostBinding('checked')\n  get isChecked(): boolean {\n    return this._checked;\n  }\n\n  @HostBinding('attr.name')\n  get nameAttr(): string {\n    return this.name;\n  }\n\n  constructor() {}\n\n  _updateName(value: string): void {\n    this._name = value;\n  }\n\n  _updateChecked(value: boolean): void {\n    this._checked = value;\n  }\n\n  _updateDisabledState(value: boolean): void {\n    this._disabled = value;\n  }\n\n  static ngAcceptInputType_checked: BooleanInput;\n  static ngAcceptInputType_disabled: BooleanInput;\n}\n","import {\n  AfterContentInit,\n  ContentChildren,\n  Directive,\n  forwardRef,\n  Input,\n  OnDestroy,\n  QueryList,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { from, Subject } from 'rxjs';\nimport { startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { MdbRadioDirective } from './radio-button.directive';\n\nexport const MDB_RADIO_GROUP_VALUE_ACCESSOR: any = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => MdbRadioGroupDirective),\n  multi: true,\n};\n\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: '[mdbRadioGroup]',\n  providers: [MDB_RADIO_GROUP_VALUE_ACCESSOR],\n  standalone: false,\n})\nexport class MdbRadioGroupDirective implements ControlValueAccessor, AfterContentInit, OnDestroy {\n  @ContentChildren(MdbRadioDirective, { descendants: true }) radios: QueryList<MdbRadioDirective>;\n\n  @Input()\n  get value(): any {\n    return this._value;\n  }\n  set value(value: any) {\n    this._value = value;\n    if (this.radios) {\n      this._updateChecked();\n    }\n  }\n  private _value: any;\n\n  @Input()\n  get name(): string {\n    return this._name;\n  }\n  set name(name: string) {\n    this._name = name;\n    if (this.radios) {\n      this._updateNames();\n    }\n  }\n  private _name: string;\n\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(disabled: boolean) {\n    this._disabled = disabled;\n\n    if (this.radios) {\n      this._updateDisabled();\n    }\n  }\n  private _disabled = false;\n\n  private _destroy$ = new Subject<void>();\n\n  onChange = (_: any) => {};\n  onTouched = () => {};\n\n  ngAfterContentInit(): void {\n    this._updateNames();\n    this._updateDisabled();\n\n    this.radios.changes\n      .pipe(\n        startWith(this.radios),\n        switchMap((radios: QueryList<MdbRadioDirective>) => from(Promise.resolve(radios))),\n        takeUntil(this._destroy$)\n      )\n      .subscribe(() => this._updateRadiosState());\n  }\n\n  ngOnDestroy(): void {\n    this._destroy$.next();\n    this._destroy$.complete();\n  }\n\n  private _updateRadiosState(): void {\n    this._updateNames();\n    this._updateChecked();\n    this._updateDisabled();\n  }\n\n  private _updateNames(): void {\n    this.radios.forEach((radio: MdbRadioDirective) => radio._updateName(this.name));\n  }\n\n  private _updateChecked(): void {\n    this.radios.forEach((radio: MdbRadioDirective) => {\n      const isChecked = radio.value === this._value;\n      radio._updateChecked(isChecked);\n    });\n  }\n\n  private _updateDisabled(): void {\n    this.radios.forEach((radio: MdbRadioDirective) => radio._updateDisabledState(this._disabled));\n  }\n\n  // Control value accessor methods\n  registerOnChange(fn: (value: any) => any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => any): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this._disabled = isDisabled;\n\n    if (this.radios) {\n      this._updateDisabled();\n    }\n  }\n\n  writeValue(value: any): void {\n    this.value = value;\n  }\n}\n","import { MdbRadioDirective } from './radio-button.directive';\nimport { MdbRadioGroupDirective } from './radio-group.directive';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n  declarations: [MdbRadioDirective, MdbRadioGroupDirective],\n  exports: [MdbRadioDirective, MdbRadioGroupDirective],\n  imports: [CommonModule, FormsModule],\n})\nexport class MdbRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}