UNPKG

@ionic/angular

Version:

Angular specific wrappers for @ionic/core

75 lines 3.59 kB
import { __decorate } from "tslib"; import { ChangeDetectionStrategy, Component, HostListener, forwardRef, } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { ValueAccessor, setIonicClasses } from '@ionic/angular/common'; import { defineCustomElement } from '@ionic/core/components/ion-toggle.js'; import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils'; import * as i0 from "@angular/core"; const TOGGLE_INPUTS = [ 'checked', 'color', 'disabled', 'enableOnOffLabels', 'errorText', 'helperText', 'justify', 'labelPlacement', 'mode', 'name', 'value', ]; let IonToggle = class IonToggle extends ValueAccessor { z; el; constructor(c, r, z, injector) { super(injector, r); this.z = z; c.detach(); this.el = r.nativeElement; proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']); } writeValue(value) { this.elementRef.nativeElement.checked = this.lastValue = value; setIonicClasses(this.elementRef); } handleIonChange(el) { this.handleValueChange(el, el.checked); } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonToggle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0", type: IonToggle, isStandalone: true, selector: "ion-toggle", inputs: { checked: "checked", color: "color", disabled: "disabled", enableOnOffLabels: "enableOnOffLabels", errorText: "errorText", helperText: "helperText", justify: "justify", labelPlacement: "labelPlacement", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => IonToggle)), multi: true, }, ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }; IonToggle = __decorate([ ProxyCmp({ defineCustomElementFn: defineCustomElement, inputs: TOGGLE_INPUTS, }) ], IonToggle); export { IonToggle }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonToggle, decorators: [{ type: Component, args: [{ selector: 'ion-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property inputs: TOGGLE_INPUTS, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => IonToggle)), multi: true, }, ], standalone: true, }] }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }], propDecorators: { handleIonChange: [{ type: HostListener, args: ['ionChange', ['$event.target']] }] } }); //# sourceMappingURL=toggle.js.map