@ionic/angular 7.5.3-dev.11698697256.1151d73f → 7.5.3-dev.11698760841.12aff234

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/esm2020/directives/angular-component-lib/utils.mjs +9 -1
  2. package/esm2020/standalone/directives/angular-component-lib/utils.mjs +9 -1
  3. package/esm2020/standalone/directives/checkbox.mjs +40 -28
  4. package/esm2020/standalone/directives/datetime.mjs +42 -30
  5. package/esm2020/standalone/directives/input.mjs +42 -29
  6. package/esm2020/standalone/directives/radio-group.mjs +40 -28
  7. package/esm2020/standalone/directives/radio.mjs +40 -28
  8. package/esm2020/standalone/directives/range.mjs +40 -28
  9. package/esm2020/standalone/directives/searchbar.mjs +42 -29
  10. package/esm2020/standalone/directives/segment.mjs +40 -28
  11. package/esm2020/standalone/directives/select.mjs +42 -29
  12. package/esm2020/standalone/directives/textarea.mjs +42 -29
  13. package/esm2020/standalone/directives/toggle.mjs +40 -28
  14. package/fesm2015/ionic-angular-standalone.mjs +294 -260
  15. package/fesm2015/ionic-angular-standalone.mjs.map +1 -1
  16. package/fesm2015/ionic-angular.mjs +8 -0
  17. package/fesm2015/ionic-angular.mjs.map +1 -1
  18. package/fesm2020/ionic-angular-standalone.mjs +294 -260
  19. package/fesm2020/ionic-angular-standalone.mjs.map +1 -1
  20. package/fesm2020/ionic-angular.mjs +8 -0
  21. package/fesm2020/ionic-angular.mjs.map +1 -1
  22. package/package.json +2 -2
  23. package/standalone/directives/checkbox.d.ts +3 -1
  24. package/standalone/directives/datetime.d.ts +3 -1
  25. package/standalone/directives/input.d.ts +3 -1
  26. package/standalone/directives/radio-group.d.ts +3 -1
  27. package/standalone/directives/radio.d.ts +3 -1
  28. package/standalone/directives/range.d.ts +3 -1
  29. package/standalone/directives/searchbar.d.ts +3 -1
  30. package/standalone/directives/segment.d.ts +3 -1
  31. package/standalone/directives/select.d.ts +3 -1
  32. package/standalone/directives/textarea.d.ts +3 -1
  33. package/standalone/directives/toggle.d.ts +3 -1
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Directive, Attribute, Optional, SkipSelf, Component, ChangeDetectionStrategy, ViewChild, ContentChild, ContentChildren, APP_INITIALIZER, Injectable, forwardRef, HostListener } from '@angular/core';
3
+ import { Directive, Attribute, Optional, SkipSelf, Component, ChangeDetectionStrategy, ViewChild, ContentChild, ContentChildren, APP_INITIALIZER, Injectable, HostListener } from '@angular/core';
4
4
  import * as i2$1 from '@ionic/angular/common';
5
5
  import { IonRouterOutlet as IonRouterOutlet$1, ProxyCmp as ProxyCmp$1, IonBackButton as IonBackButton$1, IonModal as IonModal$1, IonPopover as IonPopover$1, RouterLinkDelegateDirective, RouterLinkWithHrefDelegateDirective, IonTabs as IonTabs$1, ConfigToken, provideComponentInputBinding, AngularDelegate, ModalController, PopoverController, MenuController as MenuController$1, IonNav as IonNav$1, ValueAccessor, setIonicClasses } from '@ionic/angular/common';
6
6
  export { ActionSheetController, AlertController, AnimationController, Config, DomController, GestureController, IonicRouteStrategy, LoadingController, ModalController, NavController, NavParams, PickerController, Platform, PopoverController, ToastController } from '@ionic/angular/common';
@@ -237,6 +237,14 @@ const proxyInputs = (Cmp, inputs) => {
237
237
  set(val) {
238
238
  this.z.runOutsideAngular(() => (this.el[item] = val));
239
239
  },
240
+ /**
241
+ * In the event that proxyInputs is called
242
+ * multiple times re-defining these inputs
243
+ * will cause an error to be thrown. As a result
244
+ * we set configurable: true to indicate these
245
+ * properties can be changed.
246
+ */
247
+ configurable: true,
240
248
  });
241
249
  });
242
250
  };
@@ -2119,27 +2127,23 @@ const CHECKBOX_INPUTS = [
2119
2127
  'name',
2120
2128
  'value',
2121
2129
  ];
2122
- /**
2123
- * Pulling the provider into an object and using PURE works
2124
- * around an ng-packagr issue that causes
2125
- * components with multiple decorators and
2126
- * a provider to be re-assigned. This re-assignment
2127
- * is not supported by Webpack and causes treeshaking
2128
- * to not work on these kinds of components.
2129
- */
2130
- const accessorProvider$a = {
2131
- provide: NG_VALUE_ACCESSOR,
2132
- useExisting: /*@__PURE__*/ forwardRef(() => IonCheckbox),
2133
- multi: true,
2134
- };
2135
- let IonCheckbox = class IonCheckbox extends ValueAccessor {
2130
+ class IonCheckbox extends ValueAccessor {
2136
2131
  constructor(c, r, z, injector) {
2137
2132
  super(injector, r);
2138
2133
  this.z = z;
2134
+ defineCustomElement$17();
2139
2135
  c.detach();
2140
2136
  this.el = r.nativeElement;
2141
2137
  proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
2142
2138
  }
2139
+ ngOnInit() {
2140
+ /**
2141
+ * Data-bound input properties are set
2142
+ * by Angular after the constructor, so
2143
+ * we need to run the proxy in ngOnInit.
2144
+ */
2145
+ proxyInputs(IonCheckbox, CHECKBOX_INPUTS);
2146
+ }
2143
2147
  writeValue(value) {
2144
2148
  this.elementRef.nativeElement.checked = this.lastValue = value;
2145
2149
  setIonicClasses(this.elementRef);
@@ -2147,15 +2151,15 @@ let IonCheckbox = class IonCheckbox extends ValueAccessor {
2147
2151
  handleIonChange(el) {
2148
2152
  this.handleValueChange(el, el.checked);
2149
2153
  }
2150
- };
2154
+ }
2151
2155
  /** @nocollapse */ IonCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2152
- /** @nocollapse */ IonCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonCheckbox, isStandalone: true, selector: "ion-checkbox", inputs: { checked: "checked", color: "color", disabled: "disabled", indeterminate: "indeterminate", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$a], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2153
- IonCheckbox = __decorate([
2154
- ProxyCmp({
2155
- defineCustomElementFn: defineCustomElement$17,
2156
- inputs: CHECKBOX_INPUTS,
2157
- })
2158
- ], IonCheckbox);
2156
+ /** @nocollapse */ IonCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonCheckbox, isStandalone: true, selector: "ion-checkbox", inputs: { checked: "checked", color: "color", disabled: "disabled", indeterminate: "indeterminate", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
2157
+ {
2158
+ provide: NG_VALUE_ACCESSOR,
2159
+ useExisting: IonCheckbox,
2160
+ multi: true,
2161
+ },
2162
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2159
2163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonCheckbox, decorators: [{
2160
2164
  type: Component,
2161
2165
  args: [{
@@ -2164,7 +2168,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2164
2168
  template: '<ng-content></ng-content>',
2165
2169
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2166
2170
  inputs: CHECKBOX_INPUTS,
2167
- providers: [accessorProvider$a],
2171
+ providers: [
2172
+ {
2173
+ provide: NG_VALUE_ACCESSOR,
2174
+ useExisting: IonCheckbox,
2175
+ multi: true,
2176
+ },
2177
+ ],
2168
2178
  standalone: true,
2169
2179
  }]
2170
2180
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2204,41 +2214,37 @@ const DATETIME_INPUTS = [
2204
2214
  'value',
2205
2215
  'yearValues',
2206
2216
  ];
2207
- /**
2208
- * Pulling the provider into an object and using PURE works
2209
- * around an ng-packagr issue that causes
2210
- * components with multiple decorators and
2211
- * a provider to be re-assigned. This re-assignment
2212
- * is not supported by Webpack and causes treeshaking
2213
- * to not work on these kinds of components.
2214
-
2215
- */
2216
- const accessorProvider$9 = {
2217
- provide: NG_VALUE_ACCESSOR,
2218
- useExisting: /*@__PURE__*/ forwardRef(() => IonDatetime),
2219
- multi: true,
2220
- };
2221
- let IonDatetime = class IonDatetime extends ValueAccessor {
2217
+ const DATETIME_METHODS = ['confirm', 'reset', 'cancel'];
2218
+ class IonDatetime extends ValueAccessor {
2222
2219
  constructor(c, r, z, injector) {
2223
2220
  super(injector, r);
2224
2221
  this.z = z;
2222
+ defineCustomElement$18();
2225
2223
  c.detach();
2226
2224
  this.el = r.nativeElement;
2227
2225
  proxyOutputs(this, this.el, ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur']);
2228
2226
  }
2227
+ ngOnInit() {
2228
+ /**
2229
+ * Data-bound input properties are set
2230
+ * by Angular after the constructor, so
2231
+ * we need to run the proxy in ngOnInit.
2232
+ */
2233
+ proxyInputs(IonDatetime, DATETIME_INPUTS);
2234
+ proxyMethods(IonDatetime, DATETIME_METHODS);
2235
+ }
2229
2236
  handleIonChange(el) {
2230
2237
  this.handleValueChange(el, el.value);
2231
2238
  }
2232
- };
2239
+ }
2233
2240
  /** @nocollapse */ IonDatetime.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonDatetime, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2234
- /** @nocollapse */ IonDatetime.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonDatetime, isStandalone: true, selector: "ion-datetime", inputs: { cancelText: "cancelText", clearText: "clearText", color: "color", dayValues: "dayValues", disabled: "disabled", doneText: "doneText", firstDayOfWeek: "firstDayOfWeek", highlightedDates: "highlightedDates", hourCycle: "hourCycle", hourValues: "hourValues", isDateEnabled: "isDateEnabled", locale: "locale", max: "max", min: "min", minuteValues: "minuteValues", mode: "mode", monthValues: "monthValues", multiple: "multiple", name: "name", preferWheel: "preferWheel", presentation: "presentation", readonly: "readonly", showClearButton: "showClearButton", showDefaultButtons: "showDefaultButtons", showDefaultTimeLabel: "showDefaultTimeLabel", showDefaultTitle: "showDefaultTitle", size: "size", titleSelectedDatesFormatter: "titleSelectedDatesFormatter", value: "value", yearValues: "yearValues" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$9], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2235
- IonDatetime = __decorate([
2236
- ProxyCmp({
2237
- defineCustomElementFn: defineCustomElement$18,
2238
- inputs: DATETIME_INPUTS,
2239
- methods: ['confirm', 'reset', 'cancel'],
2240
- })
2241
- ], IonDatetime);
2241
+ /** @nocollapse */ IonDatetime.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonDatetime, isStandalone: true, selector: "ion-datetime", inputs: { cancelText: "cancelText", clearText: "clearText", color: "color", dayValues: "dayValues", disabled: "disabled", doneText: "doneText", firstDayOfWeek: "firstDayOfWeek", highlightedDates: "highlightedDates", hourCycle: "hourCycle", hourValues: "hourValues", isDateEnabled: "isDateEnabled", locale: "locale", max: "max", min: "min", minuteValues: "minuteValues", mode: "mode", monthValues: "monthValues", multiple: "multiple", name: "name", preferWheel: "preferWheel", presentation: "presentation", readonly: "readonly", showClearButton: "showClearButton", showDefaultButtons: "showDefaultButtons", showDefaultTimeLabel: "showDefaultTimeLabel", showDefaultTitle: "showDefaultTitle", size: "size", titleSelectedDatesFormatter: "titleSelectedDatesFormatter", value: "value", yearValues: "yearValues" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
2242
+ {
2243
+ provide: NG_VALUE_ACCESSOR,
2244
+ useExisting: IonDatetime,
2245
+ multi: true,
2246
+ },
2247
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2242
2248
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonDatetime, decorators: [{
2243
2249
  type: Component,
2244
2250
  args: [{
@@ -2247,7 +2253,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2247
2253
  template: '<ng-content></ng-content>',
2248
2254
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2249
2255
  inputs: DATETIME_INPUTS,
2250
- providers: [accessorProvider$9],
2256
+ providers: [
2257
+ {
2258
+ provide: NG_VALUE_ACCESSOR,
2259
+ useExisting: IonDatetime,
2260
+ multi: true,
2261
+ },
2262
+ ],
2251
2263
  standalone: true,
2252
2264
  }]
2253
2265
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2321,27 +2333,25 @@ const INPUT_INPUTS = [
2321
2333
  'type',
2322
2334
  'value',
2323
2335
  ];
2324
- /**
2325
- * Pulling the provider into an object and using PURE works
2326
- * around an ng-packagr issue that causes
2327
- * components with multiple decorators and
2328
- * a provider to be re-assigned. This re-assignment
2329
- * is not supported by Webpack and causes treeshaking
2330
- * to not work on these kinds of components.
2331
- */
2332
- const accessorProvider$8 = {
2333
- provide: NG_VALUE_ACCESSOR,
2334
- useExisting: /*@__PURE__*/ forwardRef(() => IonInput),
2335
- multi: true,
2336
- };
2337
- let IonInput = class IonInput extends ValueAccessor {
2336
+ const INPUT_METHODS = ['setFocus', 'getInputElement'];
2337
+ class IonInput extends ValueAccessor {
2338
2338
  constructor(c, r, z, injector) {
2339
2339
  super(injector, r);
2340
2340
  this.z = z;
2341
+ defineCustomElement$1a();
2341
2342
  c.detach();
2342
2343
  this.el = r.nativeElement;
2343
2344
  proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionBlur', 'ionFocus']);
2344
2345
  }
2346
+ ngOnInit() {
2347
+ /**
2348
+ * Data-bound input properties are set
2349
+ * by Angular after the constructor, so
2350
+ * we need to run the proxy in ngOnInit.
2351
+ */
2352
+ proxyInputs(IonInput, INPUT_INPUTS);
2353
+ proxyMethods(IonInput, INPUT_METHODS);
2354
+ }
2345
2355
  handleIonInput(el) {
2346
2356
  this.handleValueChange(el, el.value);
2347
2357
  }
@@ -2360,16 +2370,15 @@ let IonInput = class IonInput extends ValueAccessor {
2360
2370
  }
2361
2371
  });
2362
2372
  }
2363
- };
2373
+ }
2364
2374
  /** @nocollapse */ IonInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2365
- /** @nocollapse */ IonInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonInput, isStandalone: true, selector: "ion-input", inputs: { accept: "accept", autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", clearInput: "clearInput", clearOnEdit: "clearOnEdit", color: "color", counter: "counter", counterFormatter: "counterFormatter", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", errorText: "errorText", fill: "fill", helperText: "helperText", inputmode: "inputmode", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", maxlength: "maxlength", min: "min", minlength: "minlength", mode: "mode", multiple: "multiple", name: "name", pattern: "pattern", placeholder: "placeholder", readonly: "readonly", required: "required", shape: "shape", size: "size", spellcheck: "spellcheck", step: "step", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [accessorProvider$8], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2366
- IonInput = __decorate([
2367
- ProxyCmp({
2368
- defineCustomElementFn: defineCustomElement$1a,
2369
- inputs: INPUT_INPUTS,
2370
- methods: ['setFocus', 'getInputElement'],
2371
- })
2372
- ], IonInput);
2375
+ /** @nocollapse */ IonInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonInput, isStandalone: true, selector: "ion-input", inputs: { accept: "accept", autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", clearInput: "clearInput", clearOnEdit: "clearOnEdit", color: "color", counter: "counter", counterFormatter: "counterFormatter", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", errorText: "errorText", fill: "fill", helperText: "helperText", inputmode: "inputmode", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", maxlength: "maxlength", min: "min", minlength: "minlength", mode: "mode", multiple: "multiple", name: "name", pattern: "pattern", placeholder: "placeholder", readonly: "readonly", required: "required", shape: "shape", size: "size", spellcheck: "spellcheck", step: "step", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [
2376
+ {
2377
+ provide: NG_VALUE_ACCESSOR,
2378
+ useExisting: IonInput,
2379
+ multi: true,
2380
+ },
2381
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2373
2382
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonInput, decorators: [{
2374
2383
  type: Component,
2375
2384
  args: [{
@@ -2378,7 +2387,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2378
2387
  template: '<ng-content></ng-content>',
2379
2388
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2380
2389
  inputs: INPUT_INPUTS,
2381
- providers: [accessorProvider$8],
2390
+ providers: [
2391
+ {
2392
+ provide: NG_VALUE_ACCESSOR,
2393
+ useExisting: IonInput,
2394
+ multi: true,
2395
+ },
2396
+ ],
2382
2397
  standalone: true,
2383
2398
  }]
2384
2399
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2387,39 +2402,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2387
2402
  }] } });
2388
2403
 
2389
2404
  const RADIO_GROUP_INPUTS = ['allowEmptySelection', 'name', 'value'];
2390
- /**
2391
- * Pulling the provider into an object and using PURE works
2392
- * around an ng-packagr issue that causes
2393
- * components with multiple decorators and
2394
- * a provider to be re-assigned. This re-assignment
2395
- * is not supported by Webpack and causes treeshaking
2396
- * to not work on these kinds of components.
2397
- */
2398
- const accessorProvider$7 = {
2399
- provide: NG_VALUE_ACCESSOR,
2400
- useExisting: /*@__PURE__*/ forwardRef(() => IonRadioGroup),
2401
- multi: true,
2402
- };
2403
- let IonRadioGroup = class IonRadioGroup extends ValueAccessor {
2405
+ class IonRadioGroup extends ValueAccessor {
2404
2406
  constructor(c, r, z, injector) {
2405
2407
  super(injector, r);
2406
2408
  this.z = z;
2409
+ defineCustomElement$1b();
2407
2410
  c.detach();
2408
2411
  this.el = r.nativeElement;
2409
2412
  proxyOutputs(this, this.el, ['ionChange']);
2410
2413
  }
2414
+ ngOnInit() {
2415
+ /**
2416
+ * Data-bound input properties are set
2417
+ * by Angular after the constructor, so
2418
+ * we need to run the proxy in ngOnInit.
2419
+ */
2420
+ proxyInputs(IonRadioGroup, RADIO_GROUP_INPUTS);
2421
+ }
2411
2422
  handleIonChange(el) {
2412
2423
  this.handleValueChange(el, el.value);
2413
2424
  }
2414
- };
2425
+ }
2415
2426
  /** @nocollapse */ IonRadioGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadioGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2416
- /** @nocollapse */ IonRadioGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadioGroup, isStandalone: true, selector: "ion-radio-group", inputs: { allowEmptySelection: "allowEmptySelection", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$7], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2417
- IonRadioGroup = __decorate([
2418
- ProxyCmp({
2419
- defineCustomElementFn: defineCustomElement$1b,
2420
- inputs: RADIO_GROUP_INPUTS,
2421
- })
2422
- ], IonRadioGroup);
2427
+ /** @nocollapse */ IonRadioGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadioGroup, isStandalone: true, selector: "ion-radio-group", inputs: { allowEmptySelection: "allowEmptySelection", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
2428
+ {
2429
+ provide: NG_VALUE_ACCESSOR,
2430
+ useExisting: IonRadioGroup,
2431
+ multi: true,
2432
+ },
2433
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2423
2434
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadioGroup, decorators: [{
2424
2435
  type: Component,
2425
2436
  args: [{
@@ -2428,7 +2439,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2428
2439
  template: '<ng-content></ng-content>',
2429
2440
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2430
2441
  inputs: RADIO_GROUP_INPUTS,
2431
- providers: [accessorProvider$7],
2442
+ providers: [
2443
+ {
2444
+ provide: NG_VALUE_ACCESSOR,
2445
+ useExisting: IonRadioGroup,
2446
+ multi: true,
2447
+ },
2448
+ ],
2432
2449
  standalone: true,
2433
2450
  }]
2434
2451
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2437,27 +2454,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2437
2454
  }] } });
2438
2455
 
2439
2456
  const RADIO_INPUTS = ['color', 'disabled', 'justify', 'labelPlacement', 'legacy', 'mode', 'name', 'value'];
2440
- /**
2441
- * Pulling the provider into an object and using PURE works
2442
- * around an ng-packagr issue that causes
2443
- * components with multiple decorators and
2444
- * a provider to be re-assigned. This re-assignment
2445
- * is not supported by Webpack and causes treeshaking
2446
- * to not work on these kinds of components.
2447
- */
2448
- const accessorProvider$6 = {
2449
- provide: NG_VALUE_ACCESSOR,
2450
- useExisting: /*@__PURE__*/ forwardRef(() => IonRadio),
2451
- multi: true,
2452
- };
2453
- let IonRadio = class IonRadio extends ValueAccessor {
2457
+ class IonRadio extends ValueAccessor {
2454
2458
  constructor(c, r, z, injector) {
2455
2459
  super(injector, r);
2456
2460
  this.z = z;
2461
+ defineCustomElement$1c();
2457
2462
  c.detach();
2458
2463
  this.el = r.nativeElement;
2459
2464
  proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
2460
2465
  }
2466
+ ngOnInit() {
2467
+ /**
2468
+ * Data-bound input properties are set
2469
+ * by Angular after the constructor, so
2470
+ * we need to run the proxy in ngOnInit.
2471
+ */
2472
+ proxyInputs(IonRadio, RADIO_INPUTS);
2473
+ }
2461
2474
  handleIonSelect(el) {
2462
2475
  /**
2463
2476
  * The `el` type is any to access the `checked` state property
@@ -2465,15 +2478,15 @@ let IonRadio = class IonRadio extends ValueAccessor {
2465
2478
  */
2466
2479
  this.handleValueChange(el, el.checked);
2467
2480
  }
2468
- };
2481
+ }
2469
2482
  /** @nocollapse */ IonRadio.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2470
- /** @nocollapse */ IonRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadio, isStandalone: true, selector: "ion-radio", inputs: { color: "color", disabled: "disabled", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionSelect": "handleIonSelect($event.target)" } }, providers: [accessorProvider$6], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2471
- IonRadio = __decorate([
2472
- ProxyCmp({
2473
- defineCustomElementFn: defineCustomElement$1c,
2474
- inputs: RADIO_INPUTS,
2475
- })
2476
- ], IonRadio);
2483
+ /** @nocollapse */ IonRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadio, isStandalone: true, selector: "ion-radio", inputs: { color: "color", disabled: "disabled", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionSelect": "handleIonSelect($event.target)" } }, providers: [
2484
+ {
2485
+ provide: NG_VALUE_ACCESSOR,
2486
+ useExisting: IonRadio,
2487
+ multi: true,
2488
+ },
2489
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2477
2490
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadio, decorators: [{
2478
2491
  type: Component,
2479
2492
  args: [{
@@ -2482,7 +2495,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2482
2495
  template: '<ng-content></ng-content>',
2483
2496
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2484
2497
  inputs: RADIO_INPUTS,
2485
- providers: [accessorProvider$6],
2498
+ providers: [
2499
+ {
2500
+ provide: NG_VALUE_ACCESSOR,
2501
+ useExisting: IonRadio,
2502
+ multi: true,
2503
+ },
2504
+ ],
2486
2505
  standalone: true,
2487
2506
  }]
2488
2507
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonSelect: [{
@@ -2510,39 +2529,35 @@ const RANGE_INPUTS = [
2510
2529
  'ticks',
2511
2530
  'value',
2512
2531
  ];
2513
- /**
2514
- * Pulling the provider into an object and using PURE works
2515
- * around an ng-packagr issue that causes
2516
- * components with multiple decorators and
2517
- * a provider to be re-assigned. This re-assignment
2518
- * is not supported by Webpack and causes treeshaking
2519
- * to not work on these kinds of components.
2520
- */
2521
- const accessorProvider$5 = {
2522
- provide: NG_VALUE_ACCESSOR,
2523
- useExisting: /*@__PURE__*/ forwardRef(() => IonRange),
2524
- multi: true,
2525
- };
2526
- let IonRange = class IonRange extends ValueAccessor {
2532
+ class IonRange extends ValueAccessor {
2527
2533
  constructor(c, r, z, injector) {
2528
2534
  super(injector, r);
2529
2535
  this.z = z;
2536
+ defineCustomElement$1d();
2530
2537
  c.detach();
2531
2538
  this.el = r.nativeElement;
2532
2539
  proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionFocus', 'ionBlur', 'ionKnobMoveStart', 'ionKnobMoveEnd']);
2533
2540
  }
2541
+ ngOnInit() {
2542
+ /**
2543
+ * Data-bound input properties are set
2544
+ * by Angular after the constructor, so
2545
+ * we need to run the proxy in ngOnInit.
2546
+ */
2547
+ proxyInputs(IonRange, RANGE_INPUTS);
2548
+ }
2534
2549
  handleIonChange(el) {
2535
2550
  this.handleValueChange(el, el.value);
2536
2551
  }
2537
- };
2552
+ }
2538
2553
  /** @nocollapse */ IonRange.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRange, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2539
- /** @nocollapse */ IonRange.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRange, isStandalone: true, selector: "ion-range", inputs: { activeBarStart: "activeBarStart", color: "color", debounce: "debounce", disabled: "disabled", dualKnobs: "dualKnobs", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", min: "min", mode: "mode", name: "name", pin: "pin", pinFormatter: "pinFormatter", snaps: "snaps", step: "step", ticks: "ticks", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$5], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2540
- IonRange = __decorate([
2541
- ProxyCmp({
2542
- defineCustomElementFn: defineCustomElement$1d,
2543
- inputs: RANGE_INPUTS,
2544
- })
2545
- ], IonRange);
2554
+ /** @nocollapse */ IonRange.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRange, isStandalone: true, selector: "ion-range", inputs: { activeBarStart: "activeBarStart", color: "color", debounce: "debounce", disabled: "disabled", dualKnobs: "dualKnobs", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", min: "min", mode: "mode", name: "name", pin: "pin", pinFormatter: "pinFormatter", snaps: "snaps", step: "step", ticks: "ticks", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
2555
+ {
2556
+ provide: NG_VALUE_ACCESSOR,
2557
+ useExisting: IonRange,
2558
+ multi: true,
2559
+ },
2560
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2546
2561
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRange, decorators: [{
2547
2562
  type: Component,
2548
2563
  args: [{
@@ -2551,7 +2566,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2551
2566
  template: '<ng-content></ng-content>',
2552
2567
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2553
2568
  inputs: RANGE_INPUTS,
2554
- providers: [accessorProvider$5],
2569
+ providers: [
2570
+ {
2571
+ provide: NG_VALUE_ACCESSOR,
2572
+ useExisting: IonRange,
2573
+ multi: true,
2574
+ },
2575
+ ],
2555
2576
  standalone: true,
2556
2577
  }]
2557
2578
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2581,40 +2602,37 @@ const SEARCHBAR_INPUTS = [
2581
2602
  'type',
2582
2603
  'value',
2583
2604
  ];
2584
- /**
2585
- * Pulling the provider into an object and using PURE works
2586
- * around an ng-packagr issue that causes
2587
- * components with multiple decorators and
2588
- * a provider to be re-assigned. This re-assignment
2589
- * is not supported by Webpack and causes treeshaking
2590
- * to not work on these kinds of components.
2591
- */
2592
- const accessorProvider$4 = {
2593
- provide: NG_VALUE_ACCESSOR,
2594
- useExisting: /*@__PURE__*/ forwardRef(() => IonSearchbar),
2595
- multi: true,
2596
- };
2597
- let IonSearchbar = class IonSearchbar extends ValueAccessor {
2605
+ const SEARCHBAR_METHODS = ['setFocus', 'getInputElement'];
2606
+ class IonSearchbar extends ValueAccessor {
2598
2607
  constructor(c, r, z, injector) {
2599
2608
  super(injector, r);
2600
2609
  this.z = z;
2610
+ defineCustomElement$1e();
2601
2611
  c.detach();
2602
2612
  this.el = r.nativeElement;
2603
2613
  proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionCancel', 'ionClear', 'ionBlur', 'ionFocus']);
2604
2614
  }
2615
+ ngOnInit() {
2616
+ /**
2617
+ * Data-bound input properties are set
2618
+ * by Angular after the constructor, so
2619
+ * we need to run the proxy in ngOnInit.
2620
+ */
2621
+ proxyInputs(IonSearchbar, SEARCHBAR_INPUTS);
2622
+ proxyMethods(IonSearchbar, SEARCHBAR_METHODS);
2623
+ }
2605
2624
  handleIonInput(el) {
2606
2625
  this.handleValueChange(el, el.value);
2607
2626
  }
2608
- };
2627
+ }
2609
2628
  /** @nocollapse */ IonSearchbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSearchbar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2610
- /** @nocollapse */ IonSearchbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSearchbar, isStandalone: true, selector: "ion-searchbar", inputs: { animated: "animated", autocomplete: "autocomplete", autocorrect: "autocorrect", cancelButtonIcon: "cancelButtonIcon", cancelButtonText: "cancelButtonText", clearIcon: "clearIcon", color: "color", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", inputmode: "inputmode", mode: "mode", name: "name", placeholder: "placeholder", searchIcon: "searchIcon", showCancelButton: "showCancelButton", showClearButton: "showClearButton", spellcheck: "spellcheck", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [accessorProvider$4], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2611
- IonSearchbar = __decorate([
2612
- ProxyCmp({
2613
- defineCustomElementFn: defineCustomElement$1e,
2614
- inputs: SEARCHBAR_INPUTS,
2615
- methods: ['setFocus', 'getInputElement'],
2616
- })
2617
- ], IonSearchbar);
2629
+ /** @nocollapse */ IonSearchbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSearchbar, isStandalone: true, selector: "ion-searchbar", inputs: { animated: "animated", autocomplete: "autocomplete", autocorrect: "autocorrect", cancelButtonIcon: "cancelButtonIcon", cancelButtonText: "cancelButtonText", clearIcon: "clearIcon", color: "color", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", inputmode: "inputmode", mode: "mode", name: "name", placeholder: "placeholder", searchIcon: "searchIcon", showCancelButton: "showCancelButton", showClearButton: "showClearButton", spellcheck: "spellcheck", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [
2630
+ {
2631
+ provide: NG_VALUE_ACCESSOR,
2632
+ useExisting: IonSearchbar,
2633
+ multi: true,
2634
+ },
2635
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2618
2636
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSearchbar, decorators: [{
2619
2637
  type: Component,
2620
2638
  args: [{
@@ -2623,7 +2641,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2623
2641
  template: '<ng-content></ng-content>',
2624
2642
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2625
2643
  inputs: SEARCHBAR_INPUTS,
2626
- providers: [accessorProvider$4],
2644
+ providers: [
2645
+ {
2646
+ provide: NG_VALUE_ACCESSOR,
2647
+ useExisting: IonSearchbar,
2648
+ multi: true,
2649
+ },
2650
+ ],
2627
2651
  standalone: true,
2628
2652
  }]
2629
2653
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2632,39 +2656,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2632
2656
  }] } });
2633
2657
 
2634
2658
  const SEGMENT_INPUTS = ['color', 'disabled', 'mode', 'scrollable', 'selectOnFocus', 'swipeGesture', 'value'];
2635
- /**
2636
- * Pulling the provider into an object and using PURE works
2637
- * around an ng-packagr issue that causes
2638
- * components with multiple decorators and
2639
- * a provider to be re-assigned. This re-assignment
2640
- * is not supported by Webpack and causes treeshaking
2641
- * to not work on these kinds of components.
2642
- */
2643
- const accessorProvider$3 = {
2644
- provide: NG_VALUE_ACCESSOR,
2645
- useExisting: /*@__PURE__*/ forwardRef(() => IonSegment),
2646
- multi: true,
2647
- };
2648
- let IonSegment = class IonSegment extends ValueAccessor {
2659
+ class IonSegment extends ValueAccessor {
2649
2660
  constructor(c, r, z, injector) {
2650
2661
  super(injector, r);
2651
2662
  this.z = z;
2663
+ defineCustomElement$1f();
2652
2664
  c.detach();
2653
2665
  this.el = r.nativeElement;
2654
2666
  proxyOutputs(this, this.el, ['ionChange']);
2655
2667
  }
2668
+ ngOnInit() {
2669
+ /**
2670
+ * Data-bound input properties are set
2671
+ * by Angular after the constructor, so
2672
+ * we need to run the proxy in ngOnInit.
2673
+ */
2674
+ proxyInputs(IonSegment, SEGMENT_INPUTS);
2675
+ }
2656
2676
  handleIonChange(el) {
2657
2677
  this.handleValueChange(el, el.value);
2658
2678
  }
2659
- };
2679
+ }
2660
2680
  /** @nocollapse */ IonSegment.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSegment, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2661
- /** @nocollapse */ IonSegment.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSegment, isStandalone: true, selector: "ion-segment", inputs: { color: "color", disabled: "disabled", mode: "mode", scrollable: "scrollable", selectOnFocus: "selectOnFocus", swipeGesture: "swipeGesture", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$3], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2662
- IonSegment = __decorate([
2663
- ProxyCmp({
2664
- defineCustomElementFn: defineCustomElement$1f,
2665
- inputs: SEGMENT_INPUTS,
2666
- })
2667
- ], IonSegment);
2681
+ /** @nocollapse */ IonSegment.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSegment, isStandalone: true, selector: "ion-segment", inputs: { color: "color", disabled: "disabled", mode: "mode", scrollable: "scrollable", selectOnFocus: "selectOnFocus", swipeGesture: "swipeGesture", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
2682
+ {
2683
+ provide: NG_VALUE_ACCESSOR,
2684
+ useExisting: IonSegment,
2685
+ multi: true,
2686
+ },
2687
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2668
2688
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSegment, decorators: [{
2669
2689
  type: Component,
2670
2690
  args: [{
@@ -2673,7 +2693,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2673
2693
  template: '<ng-content></ng-content>',
2674
2694
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2675
2695
  inputs: SEGMENT_INPUTS,
2676
- providers: [accessorProvider$3],
2696
+ providers: [
2697
+ {
2698
+ provide: NG_VALUE_ACCESSOR,
2699
+ useExisting: IonSegment,
2700
+ multi: true,
2701
+ },
2702
+ ],
2677
2703
  standalone: true,
2678
2704
  }]
2679
2705
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2704,40 +2730,37 @@ const SELECT_INPUTS = [
2704
2730
  'toggleIcon',
2705
2731
  'value',
2706
2732
  ];
2707
- /**
2708
- * Pulling the provider into an object and using PURE works
2709
- * around an ng-packagr issue that causes
2710
- * components with multiple decorators and
2711
- * a provider to be re-assigned. This re-assignment
2712
- * is not supported by Webpack and causes treeshaking
2713
- * to not work on these kinds of components.
2714
- */
2715
- const accessorProvider$2 = {
2716
- provide: NG_VALUE_ACCESSOR,
2717
- useExisting: /*@__PURE__*/ forwardRef(() => IonSelect),
2718
- multi: true,
2719
- };
2720
- let IonSelect = class IonSelect extends ValueAccessor {
2733
+ const SELECT_METHODS = ['open'];
2734
+ class IonSelect extends ValueAccessor {
2721
2735
  constructor(c, r, z, injector) {
2722
2736
  super(injector, r);
2723
2737
  this.z = z;
2738
+ defineCustomElement$1g();
2724
2739
  c.detach();
2725
2740
  this.el = r.nativeElement;
2726
2741
  proxyOutputs(this, this.el, ['ionChange', 'ionCancel', 'ionDismiss', 'ionFocus', 'ionBlur']);
2727
2742
  }
2743
+ ngOnInit() {
2744
+ /**
2745
+ * Data-bound input properties are set
2746
+ * by Angular after the constructor, so
2747
+ * we need to run the proxy in ngOnInit.
2748
+ */
2749
+ proxyInputs(IonSelect, SELECT_INPUTS);
2750
+ proxyMethods(IonSelect, SELECT_METHODS);
2751
+ }
2728
2752
  handleIonChange(el) {
2729
2753
  this.handleValueChange(el, el.value);
2730
2754
  }
2731
- };
2755
+ }
2732
2756
  /** @nocollapse */ IonSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2733
- /** @nocollapse */ IonSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSelect, isStandalone: true, selector: "ion-select", inputs: { cancelText: "cancelText", color: "color", compareWith: "compareWith", disabled: "disabled", expandedIcon: "expandedIcon", fill: "fill", interface: "interface", interfaceOptions: "interfaceOptions", justify: "justify", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", multiple: "multiple", name: "name", okText: "okText", placeholder: "placeholder", selectedText: "selectedText", shape: "shape", toggleIcon: "toggleIcon", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$2], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2734
- IonSelect = __decorate([
2735
- ProxyCmp({
2736
- defineCustomElementFn: defineCustomElement$1g,
2737
- inputs: SELECT_INPUTS,
2738
- methods: ['open'],
2739
- })
2740
- ], IonSelect);
2757
+ /** @nocollapse */ IonSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSelect, isStandalone: true, selector: "ion-select", inputs: { cancelText: "cancelText", color: "color", compareWith: "compareWith", disabled: "disabled", expandedIcon: "expandedIcon", fill: "fill", interface: "interface", interfaceOptions: "interfaceOptions", justify: "justify", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", multiple: "multiple", name: "name", okText: "okText", placeholder: "placeholder", selectedText: "selectedText", shape: "shape", toggleIcon: "toggleIcon", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
2758
+ {
2759
+ provide: NG_VALUE_ACCESSOR,
2760
+ useExisting: IonSelect,
2761
+ multi: true,
2762
+ },
2763
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2741
2764
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSelect, decorators: [{
2742
2765
  type: Component,
2743
2766
  args: [{
@@ -2746,7 +2769,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2746
2769
  template: '<ng-content></ng-content>',
2747
2770
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2748
2771
  inputs: SELECT_INPUTS,
2749
- providers: [accessorProvider$2],
2772
+ providers: [
2773
+ {
2774
+ provide: NG_VALUE_ACCESSOR,
2775
+ useExisting: IonSelect,
2776
+ multi: true,
2777
+ },
2778
+ ],
2750
2779
  standalone: true,
2751
2780
  }]
2752
2781
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2786,40 +2815,37 @@ const TEXTAREA_INPUTS = [
2786
2815
  'value',
2787
2816
  'wrap',
2788
2817
  ];
2789
- /**
2790
- * Pulling the provider into an object and using PURE works
2791
- * around an ng-packagr issue that causes
2792
- * components with multiple decorators and
2793
- * a provider to be re-assigned. This re-assignment
2794
- * is not supported by Webpack and causes treeshaking
2795
- * to not work on these kinds of components.
2796
- */
2797
- const accessorProvider$1 = {
2798
- provide: NG_VALUE_ACCESSOR,
2799
- useExisting: /*@__PURE__*/ forwardRef(() => IonTextarea),
2800
- multi: true,
2801
- };
2802
- let IonTextarea = class IonTextarea extends ValueAccessor {
2818
+ const TEXTAREA_METHODS = ['setFocus', 'getInputElement'];
2819
+ class IonTextarea extends ValueAccessor {
2803
2820
  constructor(c, r, z, injector) {
2804
2821
  super(injector, r);
2805
2822
  this.z = z;
2823
+ defineCustomElement$1h();
2806
2824
  c.detach();
2807
2825
  this.el = r.nativeElement;
2808
2826
  proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionBlur', 'ionFocus']);
2809
2827
  }
2828
+ ngOnInit() {
2829
+ /**
2830
+ * Data-bound input properties are set
2831
+ * by Angular after the constructor, so
2832
+ * we need to run the proxy in ngOnInit.
2833
+ */
2834
+ proxyInputs(IonTextarea, TEXTAREA_INPUTS);
2835
+ proxyMethods(IonTextarea, TEXTAREA_METHODS);
2836
+ }
2810
2837
  handleIonInput(el) {
2811
2838
  this.handleValueChange(el, el.value);
2812
2839
  }
2813
- };
2840
+ }
2814
2841
  /** @nocollapse */ IonTextarea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonTextarea, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2815
- /** @nocollapse */ IonTextarea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonTextarea, isStandalone: true, selector: "ion-textarea", inputs: { autoGrow: "autoGrow", autocapitalize: "autocapitalize", autofocus: "autofocus", clearOnEdit: "clearOnEdit", color: "color", cols: "cols", counter: "counter", counterFormatter: "counterFormatter", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", errorText: "errorText", fill: "fill", helperText: "helperText", inputmode: "inputmode", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", maxlength: "maxlength", minlength: "minlength", mode: "mode", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", rows: "rows", shape: "shape", spellcheck: "spellcheck", value: "value", wrap: "wrap" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [accessorProvider$1], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2816
- IonTextarea = __decorate([
2817
- ProxyCmp({
2818
- defineCustomElementFn: defineCustomElement$1h,
2819
- inputs: TEXTAREA_INPUTS,
2820
- methods: ['setFocus', 'getInputElement'],
2821
- })
2822
- ], IonTextarea);
2842
+ /** @nocollapse */ IonTextarea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonTextarea, isStandalone: true, selector: "ion-textarea", inputs: { autoGrow: "autoGrow", autocapitalize: "autocapitalize", autofocus: "autofocus", clearOnEdit: "clearOnEdit", color: "color", cols: "cols", counter: "counter", counterFormatter: "counterFormatter", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", errorText: "errorText", fill: "fill", helperText: "helperText", inputmode: "inputmode", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", maxlength: "maxlength", minlength: "minlength", mode: "mode", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", rows: "rows", shape: "shape", spellcheck: "spellcheck", value: "value", wrap: "wrap" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [
2843
+ {
2844
+ provide: NG_VALUE_ACCESSOR,
2845
+ useExisting: IonTextarea,
2846
+ multi: true,
2847
+ },
2848
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2823
2849
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonTextarea, decorators: [{
2824
2850
  type: Component,
2825
2851
  args: [{
@@ -2828,7 +2854,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2828
2854
  template: '<ng-content></ng-content>',
2829
2855
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2830
2856
  inputs: TEXTAREA_INPUTS,
2831
- providers: [accessorProvider$1],
2857
+ providers: [
2858
+ {
2859
+ provide: NG_VALUE_ACCESSOR,
2860
+ useExisting: IonTextarea,
2861
+ multi: true,
2862
+ },
2863
+ ],
2832
2864
  standalone: true,
2833
2865
  }]
2834
2866
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2848,27 +2880,23 @@ const TOGGLE_INPUTS = [
2848
2880
  'name',
2849
2881
  'value',
2850
2882
  ];
2851
- /**
2852
- * Pulling the provider into an object and using PURE works
2853
- * around an ng-packagr issue that causes
2854
- * components with multiple decorators and
2855
- * a provider to be re-assigned. This re-assignment
2856
- * is not supported by Webpack and causes treeshaking
2857
- * to not work on these kinds of components.
2858
- */
2859
- const accessorProvider = {
2860
- provide: NG_VALUE_ACCESSOR,
2861
- useExisting: /*@__PURE__*/ forwardRef(() => IonToggle),
2862
- multi: true,
2863
- };
2864
- let IonToggle = class IonToggle extends ValueAccessor {
2883
+ class IonToggle extends ValueAccessor {
2865
2884
  constructor(c, r, z, injector) {
2866
2885
  super(injector, r);
2867
2886
  this.z = z;
2887
+ defineCustomElement$1i();
2868
2888
  c.detach();
2869
2889
  this.el = r.nativeElement;
2870
2890
  proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
2871
2891
  }
2892
+ ngOnInit() {
2893
+ /**
2894
+ * Data-bound input properties are set
2895
+ * by Angular after the constructor, so
2896
+ * we need to run the proxy in ngOnInit.
2897
+ */
2898
+ proxyInputs(IonToggle, TOGGLE_INPUTS);
2899
+ }
2872
2900
  writeValue(value) {
2873
2901
  this.elementRef.nativeElement.checked = this.lastValue = value;
2874
2902
  setIonicClasses(this.elementRef);
@@ -2876,15 +2904,15 @@ let IonToggle = class IonToggle extends ValueAccessor {
2876
2904
  handleIonChange(el) {
2877
2905
  this.handleValueChange(el, el.checked);
2878
2906
  }
2879
- };
2907
+ }
2880
2908
  /** @nocollapse */ IonToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonToggle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2881
- /** @nocollapse */ IonToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonToggle, isStandalone: true, selector: "ion-toggle", inputs: { checked: "checked", color: "color", disabled: "disabled", enableOnOffLabels: "enableOnOffLabels", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2882
- IonToggle = __decorate([
2883
- ProxyCmp({
2884
- defineCustomElementFn: defineCustomElement$1i,
2885
- inputs: TOGGLE_INPUTS,
2886
- })
2887
- ], IonToggle);
2909
+ /** @nocollapse */ IonToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonToggle, isStandalone: true, selector: "ion-toggle", inputs: { checked: "checked", color: "color", disabled: "disabled", enableOnOffLabels: "enableOnOffLabels", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
2910
+ {
2911
+ provide: NG_VALUE_ACCESSOR,
2912
+ useExisting: IonToggle,
2913
+ multi: true,
2914
+ },
2915
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2888
2916
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonToggle, decorators: [{
2889
2917
  type: Component,
2890
2918
  args: [{
@@ -2893,7 +2921,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2893
2921
  template: '<ng-content></ng-content>',
2894
2922
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2895
2923
  inputs: TOGGLE_INPUTS,
2896
- providers: [accessorProvider],
2924
+ providers: [
2925
+ {
2926
+ provide: NG_VALUE_ACCESSOR,
2927
+ useExisting: IonToggle,
2928
+ multi: true,
2929
+ },
2930
+ ],
2897
2931
  standalone: true,
2898
2932
  }]
2899
2933
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{