UNPKG

6.03 kBSource Map (JSON)View Raw
1{"version":3,"file":"bmat-angular-forms-bm-switch-checkbox.js","sources":["ng://@bmat/angular/forms/bm-switch-checkbox/lib/bm-switch-checkbox.component.ts","ng://@bmat/angular/forms/bm-switch-checkbox/lib/bm-switch-checkbox.module.ts"],"sourcesContent":["/**\n * Angular Component. Checkbox with BMAT Style\n */\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport interface BMSwitchCheckboxChangeEvent {\n source: BMSwitchCheckboxComponent;\n checked: boolean;\n}\n\n@Component({\n selector: 'bm-switch-checkbox',\n templateUrl: 'bm-switch-checkbox.component.html',\n styleUrls: ['bm-switch-checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // tslint:disable-next-line:no-forward-ref\n useExisting: forwardRef(() => BMSwitchCheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class BMSwitchCheckboxComponent implements ControlValueAccessor {\n @ViewChild('input', { static: true }) public input!: ElementRef<HTMLInputElement>;\n @HostBinding('class.bm-switch-checkbox--focused')\n public get isFocused() {\n return this._focused;\n }\n\n /**\n * Input values to directly copy to inner checkbox\n */\n @Input('aria-label') public ariaLabel!: string;\n @Input('aria-labelledby') public ariaLabelledby!: string;\n @Input() public disabled!: boolean;\n @Input() public name!: string;\n @Input() public readonly!: boolean;\n @Input() public required!: boolean;\n @Input() public tabIndex = 0;\n\n @Input()\n public set checked(checked: boolean) {\n this._renderer.setProperty(this.input.nativeElement, 'checked', checked);\n }\n public get checked() {\n if (this.input && this.input.nativeElement) {\n return this.input.nativeElement.checked;\n }\n return false;\n }\n\n @Output() public switchChange = new EventEmitter<\n BMSwitchCheckboxChangeEvent\n >();\n\n private _focused!: boolean;\n\n private _propagateChange!: (_: boolean) => void;\n private _onTouched!: () => void;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _renderer: Renderer2,\n ) {}\n\n // Focus Blur Handle\n public inputFocus() {\n this._focused = true;\n }\n\n public inputBlur() {\n this._focused = false;\n\n if (this._onTouched) {\n this._onTouched();\n }\n }\n\n public writeValue(value: boolean) {\n this.checked = value;\n this._changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: (_: boolean) => {}) {\n this._propagateChange = fn;\n }\n\n public registerOnTouched(fn: () => void) {\n this._onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n public inputChange(event: Event) {\n if (this._propagateChange) {\n this._propagateChange((event.target as HTMLInputElement).checked);\n }\n\n this.switchChange.emit({\n checked: (event.target as HTMLInputElement).checked,\n source: this,\n });\n }\n\n public focus() {\n if (this.input && this.input.nativeElement) {\n this.input.nativeElement.focus();\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { BMSwitchCheckboxComponent } from './bm-switch-checkbox.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [BMSwitchCheckboxComponent],\n exports: [BMSwitchCheckboxComponent],\n})\n/**\n * Module of the Switch Component\n */\nexport class BMSwitchCheckboxModule {}\n"],"names":[],"mappings":"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"}
\No newline at end of file