UNPKG

6.09 kBSource Map (JSON)View Raw
1{"version":3,"file":"bmat-angular-forms-bm-checkbox.js","sources":["ng://@bmat/angular/forms/bm-checkbox/lib/bm-checkbox.component.ts","ng://@bmat/angular/forms/bm-checkbox/lib/bm-checkbox.component.module.ts"],"sourcesContent":["/**\n * Angular Component. Checkbox with BMAT Style\n */\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n Renderer2,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\nexport interface CheckboxChangeEvent {\n source: CheckboxComponent;\n checked: boolean;\n}\n\n@Component({\n selector: 'bm-checkbox',\n templateUrl: 'bm-checkbox.component.html',\n styleUrls: ['bm-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(() => CheckboxComponent),\n multi: true,\n },\n ],\n animations: [\n trigger('fadeInOut', [\n state('in', style({ opacity: 1 })),\n transition('void => *', [\n style({\n opacity: 0,\n }),\n animate('0.2s ease-in'),\n ]),\n transition('* => void', [\n animate(\n '0.2s ease-out',\n style({\n opacity: 0,\n }),\n ),\n ]),\n ]),\n ],\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @ViewChild('input', { static: true }) public input!: ElementRef;\n @HostBinding('class.bm-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() public name = '';\n @Input() public tabIndex = 0;\n @Input() public required!: boolean;\n @Input() public disabled!: boolean;\n @Input() public readonly!: boolean;\n // tslint:disable-next-line:no-input-rename\n @Input('aria-label') public ariaLabel!: string;\n // tslint:disable-next-line:no-input-rename\n @Input('aria-labelledby') public ariaLabelledby!: string;\n\n @Input()\n public get checked() {\n return this.input.nativeElement.checked;\n }\n public set checked(checked: boolean) {\n this._renderer.setProperty(this.input.nativeElement, 'checked', checked);\n }\n\n private _focused!: boolean;\n private _onChangeCb!: (_: boolean) => void;\n private _onTouchedCb!: () => void;\n\n constructor(\n private _renderer: Renderer2,\n private _changeDetectorRef: ChangeDetectorRef,\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._onTouchedCb) {\n this._onTouchedCb();\n }\n }\n\n public writeValue(value: boolean) {\n this.checked = !!value;\n this._changeDetectorRef.markForCheck();\n }\n\n // tslint:disable-next-line:no-any\n public registerOnChange(fn: (_: boolean) => void) {\n this._onChangeCb = fn;\n }\n\n public registerOnTouched(fn: () => void) {\n this._onTouchedCb = fn;\n }\n\n public inputChange(event: Event) {\n const { checked } = <HTMLInputElement>event.target;\n\n if (this._onChangeCb) {\n this._onChangeCb(checked);\n }\n }\n\n public focus() {\n if (this.input && this.input.nativeElement) {\n this.input.nativeElement.focus();\n }\n }\n}\n","/**\n * BMAT Layout Module\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { CheckboxComponent } from './bm-checkbox.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [CheckboxComponent],\n exports: [CheckboxComponent],\n})\nexport class CheckboxComponentModule {}\n"],"names":[],"mappings":"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"}
\No newline at end of file