{"version":3,"file":"ng-devui-radio.mjs","sources":["../../devui/radio/radio.component.ts","../../devui/radio/radio.component.html","../../devui/radio/radio-group.component.ts","../../devui/radio/radio-group.component.html","../../devui/radio/radio.module.ts","../../devui/radio/ng-devui-radio.ts"],"sourcesContent":["import { Component, forwardRef, HostBinding, HostListener, Input } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DevConfigService, WithConfig } from 'ng-devui/utils';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'd-radio',\r\n  templateUrl: './radio.component.html',\r\n  styleUrls: ['./radio.component.scss'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => RadioComponent),\r\n      multi: true,\r\n    },\r\n  ],\r\n  preserveWhitespaces: false,\r\n})\r\nexport class RadioComponent implements ControlValueAccessor {\r\n  private _name: string;\r\n  private _disabled: boolean;\r\n  private inputValue: string;\r\n  id: string;\r\n  @Input()\r\n  get name(): string {\r\n    return this._name;\r\n  }\r\n\r\n  set name(value: string) {\r\n    this._name = value;\r\n  }\r\n\r\n  @Input()\r\n  get disabled(): boolean {\r\n    return this._disabled;\r\n  }\r\n\r\n  set disabled(value: boolean) {\r\n    this._disabled = value;\r\n  }\r\n\r\n  @Input()\r\n  get value(): any {\r\n    return this.inputValue;\r\n  }\r\n  set value(value: any) {\r\n    this.inputValue = value;\r\n    if (value instanceof Object) {\r\n      this.id = '';\r\n    } else {\r\n      this.id = `${this.name}-${value}`;\r\n    }\r\n  }\r\n\r\n  @Input() beforeChange: (value) => boolean | Promise<boolean> | Observable<boolean>;\r\n  @Input() @WithConfig() showGlowStyle = true;\r\n  @HostBinding('class.devui-glow-style') get hasGlowStyle() {\r\n    return this.showGlowStyle;\r\n  }\r\n  @HostListener('click', ['$event'])\r\n  onRadioChange(event) {\r\n    event.preventDefault();\r\n    if (this.disabled) {\r\n      return;\r\n    }\r\n    this.canChange().then((change) => {\r\n      if (change) {\r\n        this._value = this.value;\r\n        this.onChange(this.value);\r\n      }\r\n    });\r\n  }\r\n\r\n  _value: any;\r\n  handleChange: (event: any, value: any) => void;\r\n\r\n  private onChange = (_: any) => null;\r\n  private onTouched = () => null;\r\n\r\n  constructor(private devConfigService: DevConfigService) {}\r\n\r\n  registerHandleChange(fn: any) {\r\n    this.handleChange = fn;\r\n  }\r\n\r\n  writeValue(obj: any): void {\r\n    this._value = obj;\r\n  }\r\n  registerOnChange(fn: any): void {\r\n    this.onChange = fn;\r\n  }\r\n  registerOnTouched(fn: any): void {\r\n    this.onTouched = fn;\r\n  }\r\n\r\n  handleModelChange($event, value) {\r\n    $event.stopPropagation();\r\n    this._value = value;\r\n    this.onTouched();\r\n    this.onChange(value);\r\n  }\r\n\r\n  canChange() {\r\n    let changeResult: Promise<boolean> | Observable<boolean> = Promise.resolve(true);\r\n    if (this.beforeChange) {\r\n      const result = this.beforeChange(this.value);\r\n      if (typeof result !== 'undefined') {\r\n        if ((result as Promise<boolean>).then) {\r\n          changeResult = result as Promise<boolean>;\r\n        } else if ((result as Observable<boolean>).subscribe) {\r\n          changeResult = (result as Observable<boolean>).toPromise();\r\n        } else {\r\n          changeResult = Promise.resolve(result as boolean);\r\n        }\r\n      }\r\n    }\r\n    return changeResult;\r\n  }\r\n}\r\n","<label class=\"devui-radio\" [class.active]=\"radioInput.checked\" [class.disabled]=\"disabled\">\n  <input\n    #radioInput\n    type=\"radio\"\n    class=\"devui-radio-input\"\n    [disabled]=\"disabled\"\n    [name]=\"name\"\n    [id]=\"id\"\n    [ngModel]=\"_value\"\n    (change)=\"handleModelChange($event, value)\"\n    [value]=\"value\"\n  />\n  <span class=\"devui-radio-material\"></span>\n  <span class=\"devui-radio-label\">\n    <ng-content></ng-content>\n  </span>\n</label>\n","import {\r\n  AfterViewInit,\r\n  Component,\r\n  ContentChildren,\r\n  EventEmitter,\r\n  forwardRef,\r\n  HostBinding,\r\n  HostListener,\r\n  Input,\r\n  OnChanges,\r\n  Output,\r\n  QueryList,\r\n  SimpleChanges\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DevConfigService, WithConfig } from 'ng-devui/utils';\r\nimport { Observable } from 'rxjs';\r\nimport { RadioComponent } from './radio.component';\r\n\r\n@Component({\r\n  selector: 'd-radio-group',\r\n  templateUrl: './radio-group.component.html',\r\n  styleUrls: ['./radio-group.component.scss', './radio.component.scss'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => RadioGroupComponent),\r\n      multi: true,\r\n    },\r\n  ],\r\n  preserveWhitespaces: false,\r\n})\r\nexport class RadioGroupComponent implements ControlValueAccessor, OnChanges, AfterViewInit {\r\n  @Input() name: string;\r\n  @Input() values: any[];\r\n  /**\r\n   * @deprecated Use direction to replace.\r\n   */\r\n  @Input() set cssStyle(direction: any) {\r\n    this.direction = direction;\r\n  }\r\n  @Input() direction: 'row' | 'column';\r\n  @Input() disabled: boolean;\r\n  @Input() @WithConfig() showGlowStyle = true;\r\n  @HostBinding('class.devui-glow-style') get hasGlowStyle() {\r\n    return this.showGlowStyle;\r\n  }\r\n  @Input() beforeChange: (value) => boolean | Promise<boolean> | Observable<boolean>;\r\n  @Output() change = new EventEmitter<any>();\r\n  @ContentChildren(RadioComponent) radios: QueryList<RadioComponent> = new QueryList<RadioComponent>();\r\n\r\n  _value: any;\r\n  onChange: (_: any) => null;\r\n  onTouched: () => null;\r\n  @HostListener('click', ['$event'])\r\n  onRadioChange(event) {\r\n    const target = event.target;\r\n    if (target.tagName.toLowerCase() === 'input') {\r\n      event.preventDefault();\r\n      if (this.disabled) {\r\n        return;\r\n      }\r\n      let value = target.value;\r\n      if (this.radios.length) {\r\n        const result = this.radios.find((item) => item.id === target.id);\r\n        value = result?.value || value;\r\n      }\r\n      this.canChange(value).then((change) => {\r\n        if (change) {\r\n          this._value = value;\r\n          this.onChange(value);\r\n          this.change.emit(value);\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  constructor(private devConfigService: DevConfigService) {}\r\n\r\n  ngAfterViewInit(): void {\r\n    this.radios.forEach((radio) => {\r\n      this.registerRadio(radio);\r\n    });\r\n\r\n    this.radios.changes.subscribe((newRadios) => {\r\n      newRadios.forEach((radio: RadioComponent) => {\r\n        this.registerRadio(radio);\r\n        Promise.resolve(true).then(() => radio.writeValue(this._value));\r\n      });\r\n    });\r\n\r\n    this.radios.notifyOnChanges();\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes && changes.name && this.radios) {\r\n      this.radios.forEach((radio) => {\r\n        radio.name = this.name;\r\n      });\r\n    }\r\n\r\n    if (changes && changes.disabled && this.radios) {\r\n      this.radios.forEach((radio) => {\r\n        radio.disabled = this.disabled;\r\n      });\r\n    }\r\n\r\n    if (changes && this.radios) {\r\n      this.radios.forEach((radio) => {\r\n        radio.disabled = this.disabled;\r\n      });\r\n    }\r\n  }\r\n\r\n  registerRadio(radio: RadioComponent) {\r\n    radio.registerOnChange((value: any) => {\r\n      this.writeValue(value);\r\n      this.onChange(value);\r\n      Promise.resolve().then(() => this.onTouched());\r\n      this.change.emit(value);\r\n    });\r\n  }\r\n\r\n  canChange(value: any) {\r\n    let changeResult = Promise.resolve(true);\r\n    if (this.beforeChange) {\r\n      const result: any = this.beforeChange(value);\r\n      if (typeof result !== 'undefined') {\r\n        if (result.then) {\r\n          changeResult = result;\r\n        } else if (result.subscribe) {\r\n          changeResult = (result as Observable<boolean>).toPromise();\r\n        } else {\r\n          changeResult = Promise.resolve(result);\r\n        }\r\n      }\r\n    }\r\n    return changeResult;\r\n  }\r\n\r\n  handleChange($event, value) {\r\n    $event.stopPropagation();\r\n    this.writeValue(value);\r\n    this.onChange(value);\r\n    this.change.emit(value);\r\n  }\r\n\r\n  writeValue(value: any) {\r\n    this._value = value;\r\n    if (this.radios && this.radios.length > 0) {\r\n      this.radios.forEach((radio) => {\r\n        radio.writeValue(this._value);\r\n      });\r\n    }\r\n  }\r\n\r\n  registerOnChange(fn) {\r\n    this.onChange = fn;\r\n  }\r\n\r\n  registerOnTouched(fn: any) {\r\n    this.onTouched = fn;\r\n  }\r\n}\r\n","<div class=\"devui-radio-group\">\n  <ul [class.devui-radio-horizontal]=\"direction === 'row'\">\n    <ng-container *ngIf=\"radios.length === 0\">\n      <li *ngFor=\"let value of values\" class=\"devui-radio-list-item\">\n        <label class=\"devui-radio\" [class.active]=\"value == _value\" [class.disabled]=\"disabled\">\n          <input\n            type=\"radio\"\n            class=\"devui-radio-input\"\n            [disabled]=\"disabled\"\n            [name]=\"name\"\n            [id]=\"name + '-' + value\"\n            [value]=\"value\"\n            [checked]=\"value == _value\"\n            (change)=\"handleChange($event, value)\"\n          />\n          <span class=\"devui-radio-material\"></span>\n          <span class=\"devui-radio-label\">{{ value }}</span>\n        </label>\n      </li>\n    </ng-container>\n    <ng-content select=\"d-radio\"></ng-content>\n  </ul>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RadioGroupComponent} from './radio-group.component';\nimport { RadioComponent } from './radio.component';\n\n@NgModule({\n  imports: [CommonModule, FormsModule],\n  exports: [RadioGroupComponent, RadioComponent],\n  declarations: [RadioGroupComponent, RadioComponent],\n  providers: [],\n})\nexport class RadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2"],"mappings":"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"}