{"version":3,"file":"uib-angular-components-radio-group.mjs","sources":["../../../../libs/angular-components/components/radio-group/src/lib/radio-group.config.ts","../../../../libs/angular-components/components/radio-group/src/lib/radio-group.component.ts","../../../../libs/angular-components/components/radio-group/src/lib/radio-group.component.html","../../../../libs/angular-components/components/radio-group/src/lib/directives/radio-control.directive.ts","../../../../libs/angular-components/components/radio-group/src/lib/components/radio/radio.component.ts","../../../../libs/angular-components/components/radio-group/src/lib/components/radio/radio.component.html","../../../../libs/angular-components/components/radio-group/src/lib/radio-group.module.ts","../../../../libs/angular-components/components/radio-group/src/uib-angular-components-radio-group.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { RadioGroupComponent } from './radio-group.component';\n\nexport const RADIO_GROUP = new InjectionToken<RadioGroupComponent>('@uib/angular/components/radio-group::RadioGroup');\n","import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Output, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DISABLED_CONTROLLER_PROVIDER } from '@uib/angular/common';\nimport { RADIO_GROUP } from './radio-group.config';\n\n@Component({\n  selector: 'uib-radio-group',\n  templateUrl: 'radio-group.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    DISABLED_CONTROLLER_PROVIDER,\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => RadioGroupComponent),\n      multi: true,\n    },\n    {\n      provide: RADIO_GROUP,\n      useExisting: RadioGroupComponent,\n      multi: false,\n    },\n  ],\n  host: {\n    '[class.uib-radio-group]': 'true',\n  },\n})\nexport class RadioGroupComponent<T = unknown> implements ControlValueAccessor {\n  public value: T;\n\n  @Output()\n  // eslint-disable-next-line @angular-eslint/no-output-native\n  public change = new EventEmitter<T>();\n\n  public onChange = (_: T) => {\n    // empty\n  };\n  public onBlur = (_: unknown) => {\n    // empty\n  };\n\n  public writeValue(value: T): void {\n    this.value = value;\n    this.change.next(value);\n  }\n\n  public registerOnChange(fn: (value: T) => void): void {\n    this.onChange = fn;\n  }\n\n  public registerOnTouched(fn: (value: unknown) => void): void {\n    this.onBlur = fn;\n  }\n\n  public onChanged(value: T): void {\n    this.onChange(value);\n    this.writeValue(value);\n  }\n}\n","<ng-content select=\"uib-radio, [uibRadioControl]\"> </ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  HostListener,\n  Inject,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Renderer2,\n  SkipSelf,\n} from '@angular/core';\nimport { DestroyService, DisabledController, DISABLED_CONTROLLER_PROVIDER, DISABLED_WATCHED_CONTROLLER } from '@uib/angular/common';\nimport { coerceNumberProperty, FOCUSED_CLASS, NumberInput, Transform } from '@uib/angular/core';\nimport { toggleClass, watch } from '@uib/angular/utils';\nimport { takeUntil } from 'rxjs/operators';\nimport { RadioGroupComponent } from '../radio-group.component';\nimport { RADIO_GROUP } from '../radio-group.config';\n\n@Directive({\n  selector: '[uibRadioControl]',\n  providers: [DISABLED_CONTROLLER_PROVIDER],\n  host: {\n    '[attr.tabindex]': 'isDisabled ? -1 : tabindex',\n    '[class.is-active]': 'isActive',\n    '[class.is-disabled]': 'isDisabled',\n  },\n})\nexport class RadioControlDirective<T = unknown> implements OnInit, OnDestroy {\n  public static ngAcceptInputType_tabindex: NumberInput;\n\n  @Input()\n  public value: T;\n\n  @Input()\n  @Transform(coerceNumberProperty)\n  public tabindex = 0;\n\n  public get isActive(): boolean {\n    return !this.isDisabled && this.isSelected;\n  }\n\n  public get isSelected(): boolean {\n    return this.value === this.radioGroup?.value;\n  }\n\n  public get isDisabled(): boolean {\n    return !!this.disabledController?.disabled;\n  }\n\n  constructor(\n    protected readonly element: ElementRef<HTMLElement>,\n    protected readonly renderer: Renderer2,\n    protected readonly ngOnDestroy$: DestroyService,\n    protected readonly changeDetector: ChangeDetectorRef,\n    protected readonly focusMonitor: FocusMonitor,\n    @Optional() @SkipSelf() @Inject(RADIO_GROUP) protected readonly radioGroup?: RadioGroupComponent,\n    @Optional() @Inject(DISABLED_WATCHED_CONTROLLER) protected readonly disabledController?: DisabledController,\n  ) {}\n\n  public ngOnInit(): void {\n    if (!this.radioGroup) {\n      throw new Error('A component with uibRadioControl directive can only be used inside an uib-radio-group');\n    }\n    this.focusMonitor?.monitor(this.element.nativeElement, false).subscribe((event) => {\n      const isFocused = !this.isDisabled && (event === 'keyboard' || event === 'program');\n      toggleClass(this.renderer, this.element, FOCUSED_CLASS, isFocused);\n    });\n    this.radioGroup.change.pipe(takeUntil(this.ngOnDestroy$), watch(this.changeDetector)).subscribe();\n  }\n\n  public ngOnDestroy(): void {\n    this.focusMonitor.stopMonitoring(this.element);\n  }\n\n  @HostListener('keyup.enter')\n  @HostListener('click')\n  public onInteraction(): void {\n    if (!this.isDisabled) {\n      this.radioGroup?.onChanged(this.value);\n    }\n  }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DISABLED_CONTROLLER_PROVIDER } from '@uib/angular/common';\nimport { RadioControlDirective } from '../../directives/radio-control.directive';\n\n@Component({\n  selector: 'uib-radio',\n  templateUrl: 'radio.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[class.uib-radio]': 'true',\n  },\n  providers: [DISABLED_CONTROLLER_PROVIDER],\n})\nexport class RadioComponent extends RadioControlDirective {}\n","<ng-content></ng-content>\n<input class=\"uib-radio__input\" [attr.checked]=\"isSelected ? 'checked' : null\" [attr.disabled]=\"isDisabled || null\" hidden type=\"checkbox\" />\n<span class=\"uib-radio__circle\"></span>\n","import { NgModule } from '@angular/core';\nimport { DisabledControllerModule } from '@uib/angular/common';\nimport { RadioComponent } from './components/radio/radio.component';\nimport { RadioControlDirective } from './directives/radio-control.directive';\nimport { RadioGroupComponent } from './radio-group.component';\n\n@NgModule({\n  imports: [DisabledControllerModule],\n  declarations: [RadioGroupComponent, RadioControlDirective, RadioComponent],\n  exports: [RadioGroupComponent, RadioControlDirective, RadioComponent],\n})\nexport class RadioGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}