{"version":3,"file":"ng-devui-checkbox.mjs","sources":["../../devui/checkbox/checkbox.component.ts","../../devui/checkbox/checkbox.component.html","../../devui/checkbox/checkbox-group.component.ts","../../devui/checkbox/checkbox-group.component.html","../../devui/checkbox/checkbox.module.ts","../../devui/checkbox/ng-devui-checkbox.ts"],"sourcesContent":["import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  HostBinding,\n  Input,\n  Output,\n  TemplateRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DevConfigService, WithConfig } from 'ng-devui/utils';\nimport { Observable } from 'rxjs';\n\n@Component({\n  selector: 'd-checkbox',\n  templateUrl: './checkbox.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  styleUrls: ['./checkbox.component.scss'],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CheckBoxComponent),\n      multi: true,\n    },\n  ],\n  preserveWhitespaces: false,\n})\nexport class CheckBoxComponent implements ControlValueAccessor, AfterViewInit {\n  static ID_SEED = 0;\n  @Input() name: string;\n  @Input() label: string;\n  @Input() cssClass: string;\n  @Input() color;\n  @Input() disabled = false;\n  @Input() isShowTitle = true;\n  @Input() title;\n  @Input() labelTemplate: TemplateRef<any>;\n  @Input() halfchecked = false;\n  @Input() @WithConfig() showAnimation = true;\n  @Input() @WithConfig() showGlowStyle = true;\n  @Input() beforeChange: (value) => boolean | Promise<boolean> | Observable<boolean>;\n  @Output() change: EventEmitter<boolean> = new EventEmitter<boolean>();\n  @HostBinding('class.devui-glow-style') get hasGlowStyle() {\n    return this.showGlowStyle;\n  }\n\n  public id: number;\n  public checked: boolean;\n  private onChange = (_: any) => null;\n  private onTouch = () => null;\n\n  constructor(private changeDetectorRef: ChangeDetectorRef, private devConfigService: DevConfigService, private el: ElementRef) {\n    this.id = CheckBoxComponent.ID_SEED++;\n  }\n\n  ngAfterViewInit(): void {\n    if (this.showGlowStyle) {\n      const glowBox = this.el.nativeElement.querySelector('.devui-checkbox > .devui-checkbox-glow-box');\n      const labelDom = this.el.nativeElement.querySelector('.devui-checkbox > label');\n      const labelHeight = labelDom && getComputedStyle(labelDom).height;\n      if (glowBox && labelHeight && labelHeight !== '16px') {\n        glowBox.style.height = labelHeight;\n      }\n    }\n  }\n\n  writeValue(checked: any): void {\n    if (checked !== null) {\n      this.checked = !!checked;\n      this.changeDetectorRef.markForCheck();\n    }\n  }\n\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouch = fn;\n  }\n\n  toggle($event) {\n    this.canChange().then((val) => {\n      if (this.disabled || !val) {\n        return;\n      }\n      this.checked = !this.checked;\n      this.onChange(this.checked);\n      this.change.next(this.checked);\n      this.onTouch();\n    });\n  }\n\n  canChange() {\n    let changeResult = Promise.resolve(true);\n\n    if (this.beforeChange) {\n      const result: any = this.beforeChange(this.label);\n      if (typeof result !== 'undefined') {\n        if (result.then) {\n          changeResult = result;\n        } else if (result.subscribe) {\n          changeResult = (result as Observable<boolean>).toPromise();\n        } else {\n          changeResult = Promise.resolve(result);\n        }\n      }\n    }\n\n    return changeResult;\n  }\n}\n","<div\n  class=\"devui-checkbox {{ cssClass }}\"\n  [ngClass]=\"{\n    active: checked,\n    halfchecked: halfchecked,\n    disabled: disabled,\n    unchecked: !checked\n  }\"\n>\n  <div *ngIf=\"showGlowStyle\" class=\"devui-checkbox-glow-box\">\n    <span *ngIf=\"showAnimation\" class=\"devui-checkbox-glow-bg\"></span>\n  </div>\n  <label title=\"{{ isShowTitle ? title || label : '' }}\" (click)=\"toggle($event)\">\n    <input\n      [name]=\"name || 'checkbox-' + id\"\n      class=\"devui-checkbox-input\"\n      type=\"checkbox\"\n      [checked]=\"checked\"\n      [disabled]=\"disabled\"\n      [indeterminate]=\"halfchecked\"\n      (click)=\"$event.stopPropagation()\"\n      (change)=\"$event.stopPropagation()\"\n    />\n    <span\n      class=\"devui-checkbox-material\"\n      [ngStyle]=\"{\n        'border-color': (checked || halfchecked) && color ? color : '',\n        'background-image': (color && halfchecked) || color ? 'linear-gradient(' + color + ', ' + color + ')' : '',\n        'background-color': color && halfchecked ? color : ''\n      }\"\n      [ngClass]=\"{\n        'custom-color': color,\n        'devui-checkbox-no-label': !label && !labelTemplate,\n        'devui-no-animation': !showAnimation,\n        'devui-checkbox-default-background': !halfchecked\n      }\"\n    >\n      <span class=\"devui-checkbox-halfchecked-bg\"></span>\n      <svg viewBox=\"0 0 14 14\" width=\"14\" height=\"14\" class=\"devui-checkbox-tick\">\n        <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n          <path\n            class=\"devui-tick\"\n            [ngClass]=\"{\n              'devui-no-animation': !showAnimation\n            }\"\n            d=\"M 2.3 7.0 5.6 9.6 11.4 3.5\"\n            stroke=\"#fff\"\n            stroke-width=\"1.5\"\n            fill=\"none\"\n          />\n        </g>\n      </svg>\n    </span>\n    <ng-template [ngIf]=\"!!label && !labelTemplate\">{{ label }}</ng-template>\n    <ng-template\n      [ngIf]=\"!!labelTemplate\"\n      [ngTemplateOutlet]=\"labelTemplate\"\n      [ngTemplateOutletContext]=\"{ $implicit: this, checked: checked, halfchecked: halfchecked, disabled: disabled, label: label }\"\n    >\n    </ng-template>\n  </label>\n</div>\n","import { Component, EventEmitter, forwardRef, Input, OnChanges, Output, SimpleChanges, TemplateRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DevConfigService, WithConfig } from 'ng-devui/utils';\r\nimport { isArray } from 'lodash-es';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'd-checkbox-group',\r\n  templateUrl: './checkbox-group.component.html',\r\n  styleUrls: ['./checkbox-group.component.scss'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => CheckBoxGroupComponent),\r\n      multi: true,\r\n    },\r\n  ],\r\n  preserveWhitespaces: false,\r\n})\r\nexport class CheckBoxGroupComponent implements OnChanges, ControlValueAccessor {\r\n  static ID_SEED = 0;\r\n  @Input() name: string;\r\n  @Input() itemWidth: number;\r\n  @Input() color;\r\n  @Input() direction: 'row' | 'column' = 'column';\r\n  @Input() isShowTitle = true;\r\n  @Input() disabled = false;\r\n  @Input() options = [];\r\n  @Input() filterKey: string;\r\n  @Input() labelTemplate: TemplateRef<any>;\r\n  @Input() @WithConfig() showAnimation = true;\r\n  @Input() beforeChange: (value) => boolean | Promise<boolean> | Observable<boolean>;\r\n  @Output() change: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n  values: any[] = [];\r\n  options_display = [];\r\n  private onChange = (_: any) => null;\r\n  private onTouch = () => null;\r\n\r\n  constructor(private devConfigService: DevConfigService) {}\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes.options) {\r\n      this.values = this.values ?? [];\r\n      this.checkType();\r\n    }\r\n  }\r\n\r\n  checkType() {\r\n    this.options = this.options ?? [];\r\n    this.options_display = [];\r\n    const checkedArray = [];\r\n    this.values.forEach((item) => {\r\n      if (this.filterKey && item[this.filterKey]) {\r\n        checkedArray[item[this.filterKey]] = true;\r\n      } else {\r\n        checkedArray[item] = true;\r\n      }\r\n    });\r\n    this.options.forEach((item) => {\r\n      const option: any = { isChecked: false };\r\n      option.value = item;\r\n      if (this.filterKey && item[this.filterKey]) {\r\n        if (checkedArray[item[this.filterKey]] === true) {\r\n          option.isChecked = true;\r\n        }\r\n      } else {\r\n        if (checkedArray[item] === true) {\r\n          option.isChecked = true;\r\n        }\r\n      }\r\n      this.options_display.push(option);\r\n    });\r\n  }\r\n\r\n  writeValue(inputArray: any): void {\r\n    if (inputArray && isArray(inputArray)) {\r\n      this.values = inputArray;\r\n      this.checkType();\r\n    }\r\n  }\r\n\r\n  registerOnChange(fn: any): void {\r\n    this.onChange = fn;\r\n  }\r\n\r\n  registerOnTouched(fn: any): void {\r\n    this.onTouch = fn;\r\n  }\r\n\r\n  toggle($event, i) {\r\n    this.onChange(this.getCheckedArray());\r\n    this.onTouch();\r\n    this.change.next(this.options_display[i]);\r\n  }\r\n\r\n  getCheckedArray() {\r\n    const checkedArray = [];\r\n    this.options_display.forEach((item) => {\r\n      if (item.isChecked) {\r\n        checkedArray.push(item.value);\r\n      }\r\n    });\r\n    return checkedArray;\r\n  }\r\n}\r\n","<div class=\"devui-checkbox-group\">\n  <ul [class.devui-checkbox-list-inline]=\"direction === 'row'\">\n    <li\n      *ngFor=\"let item of options_display; let i = index\"\n      [class.devui-checkbox-column-margin]=\"direction === 'column'\"\n      [ngStyle]=\"{ 'width.px': itemWidth }\"\n      [ngClass]=\"{ 'devui-checkbox-wrap': itemWidth !== undefined }\"\n    >\n      <span>\n        <d-checkbox\n          [name]=\"name\"\n          [label]=\"item['value'][filterKey] ? item['value'][filterKey] : item['value']\"\n          [(ngModel)]=\"item['isChecked']\"\n          [isShowTitle]=\"isShowTitle\"\n          [color]=\"color\"\n          [disabled]=\"this.disabled ? true : item['value']['disabled']\"\n          [labelTemplate]=\"labelTemplate\"\n          [showAnimation]=\"showAnimation\"\n          (ngModelChange)=\"toggle($event, i)\"\n          [beforeChange]=\"beforeChange\"\n        >\n        </d-checkbox>\n      </span>\n    </li>\n  </ul>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CheckBoxGroupComponent } from './checkbox-group.component';\nimport { CheckBoxComponent } from './checkbox.component';\n\n@NgModule({\n  imports: [CommonModule, FormsModule],\n  exports: [CheckBoxComponent, CheckBoxGroupComponent],\n  declarations: [CheckBoxComponent, CheckBoxGroupComponent],\n  providers: [],\n})\nexport class CheckBoxModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4.CheckBoxComponent"],"mappings":"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"}