{"version":3,"file":"primeng-togglebutton.umd.js","sources":["../../src/app/components/togglebutton/togglebutton.ts","../../src/app/components/togglebutton/primeng-togglebutton.ts"],"sourcesContent":["import {NgModule,Component,Input,Output,EventEmitter,forwardRef,ChangeDetectionStrategy,ChangeDetectorRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {RippleModule} from 'primeng/ripple';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\n\nexport const TOGGLEBUTTON_VALUE_ACCESSOR: any = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => ToggleButton),\n  multi: true\n};\n\n@Component({\n    selector: 'p-toggleButton',\n    template: `\n        <div [ngClass]=\"{'p-button p-togglebutton p-component': true, 'p-button-icon-only': (onIcon && offIcon && !hasOnLabel && !hasOffLabel),'p-highlight': checked,'p-disabled':disabled}\" \n                        [ngStyle]=\"style\" [class]=\"styleClass\" (click)=\"toggle($event)\" (keydown.enter)=\"toggle($event)\"\n                        [attr.tabindex]=\"disabled ? null : '0'\" role=\"checkbox\" [attr.aria-checked]=\"checked\" pRipple>\n            <span *ngIf=\"onIcon||offIcon\" [class]=\"checked ? this.onIcon : this.offIcon\" \n                [ngClass]=\"{'p-button-icon': true, 'p-button-icon-left': (iconPos === 'left'), 'p-button-icon-right': (iconPos === 'right')}\"></span>\n            <span class=\"p-button-label\">{{checked ? hasOnLabel ? onLabel : '' : hasOffLabel ? offLabel : ''}}</span>\n        </div>\n    `,\n    providers: [TOGGLEBUTTON_VALUE_ACCESSOR],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    styleUrls: ['../button/button.css']\n})\nexport class ToggleButton implements ControlValueAccessor {\n\n    @Input() onLabel: string;\n\n    @Input() offLabel: string;\n\n    @Input() onIcon: string;\n\n    @Input() offIcon: string;\n\n    @Input() ariaLabelledBy: string;\n\n    @Input() disabled: boolean;\n\n    @Input() style: any;\n\n    @Input() styleClass: string;\n\n    @Input() inputId: string;\n\n    @Input() tabindex: number;\n\n    @Input() iconPos: string = 'left';\n\n    @Output() onChange: EventEmitter<any> = new EventEmitter();\n           \n    checked: boolean = false;\n    \n    onModelChange: Function = () => {};\n    \n    onModelTouched: Function = () => {};\n    \n    constructor(public cd: ChangeDetectorRef) { }\n    \n    toggle(event: Event) {\n        if (!this.disabled) {\n            this.checked = !this.checked;\n            this.onModelChange(this.checked);\n            this.onModelTouched();\n            this.onChange.emit({\n                originalEvent: event,\n                checked: this.checked\n            });\n\n            this.cd.markForCheck();\n        }\n    }\n    \n    onBlur() {\n        this.onModelTouched();\n    }\n    \n    writeValue(value: any) : void {\n        this.checked = value;\n        this.cd.markForCheck();\n    }\n    \n    registerOnChange(fn: Function): void {\n        this.onModelChange = fn;\n    }\n\n    registerOnTouched(fn: Function): void {\n        this.onModelTouched = fn;\n    }\n    \n    setDisabledState(val: boolean): void {\n        this.disabled = val;\n        this.cd.markForCheck();\n    }\n    \n    get hasOnLabel():boolean {\n        return this.onLabel && this.onLabel.length > 0;\n    }\n    \n    get hasOffLabel():boolean {\n        return this.onLabel && this.onLabel.length > 0;\n    }\n}\n\n@NgModule({\n    imports: [CommonModule,RippleModule],\n    exports: [ToggleButton],\n    declarations: [ToggleButton]\n})\nexport class ToggleButtonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","EventEmitter","Component","ChangeDetectionStrategy","Input","Output","CommonModule","RippleModule","NgModule"],"mappings":"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"}