@ionic/angular 7.5.3-dev.11698859252.15ac163e → 7.5.3-dev.11699994454.1cbf1283

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 (46) hide show
  1. package/directives/control-value-accessors/index.d.ts +0 -1
  2. package/esm2020/common/providers/nav-controller.mjs +3 -3
  3. package/esm2020/directives/angular-component-lib/utils.mjs +1 -9
  4. package/esm2020/directives/control-value-accessors/index.mjs +1 -2
  5. package/esm2020/index.mjs +1 -2
  6. package/esm2020/ionic-module.mjs +2 -5
  7. package/esm2020/standalone/directives/angular-component-lib/utils.mjs +1 -9
  8. package/esm2020/standalone/directives/checkbox.mjs +40 -28
  9. package/esm2020/standalone/directives/datetime.mjs +42 -30
  10. package/esm2020/standalone/directives/input.mjs +42 -29
  11. package/esm2020/standalone/directives/radio-group.mjs +40 -28
  12. package/esm2020/standalone/directives/radio.mjs +27 -41
  13. package/esm2020/standalone/directives/range.mjs +40 -28
  14. package/esm2020/standalone/directives/searchbar.mjs +42 -29
  15. package/esm2020/standalone/directives/segment.mjs +40 -28
  16. package/esm2020/standalone/directives/select.mjs +42 -29
  17. package/esm2020/standalone/directives/textarea.mjs +42 -29
  18. package/esm2020/standalone/directives/toggle.mjs +40 -28
  19. package/fesm2015/ionic-angular-common.mjs +2 -2
  20. package/fesm2015/ionic-angular-common.mjs.map +1 -1
  21. package/fesm2015/ionic-angular-standalone.mjs +273 -279
  22. package/fesm2015/ionic-angular-standalone.mjs.map +1 -1
  23. package/fesm2015/ionic-angular.mjs +1 -50
  24. package/fesm2015/ionic-angular.mjs.map +1 -1
  25. package/fesm2020/ionic-angular-common.mjs +2 -2
  26. package/fesm2020/ionic-angular-common.mjs.map +1 -1
  27. package/fesm2020/ionic-angular-standalone.mjs +273 -279
  28. package/fesm2020/ionic-angular-standalone.mjs.map +1 -1
  29. package/fesm2020/ionic-angular.mjs +1 -50
  30. package/fesm2020/ionic-angular.mjs.map +1 -1
  31. package/index.d.ts +0 -1
  32. package/ionic-module.d.ts +11 -12
  33. package/package.json +2 -2
  34. package/standalone/directives/checkbox.d.ts +3 -1
  35. package/standalone/directives/datetime.d.ts +3 -1
  36. package/standalone/directives/input.d.ts +3 -1
  37. package/standalone/directives/radio-group.d.ts +3 -1
  38. package/standalone/directives/radio.d.ts +5 -5
  39. package/standalone/directives/range.d.ts +3 -1
  40. package/standalone/directives/searchbar.d.ts +3 -1
  41. package/standalone/directives/segment.d.ts +3 -1
  42. package/standalone/directives/select.d.ts +3 -1
  43. package/standalone/directives/textarea.d.ts +3 -1
  44. package/standalone/directives/toggle.d.ts +3 -1
  45. package/directives/control-value-accessors/radio-value-accessor.d.ts +0 -9
  46. package/esm2020/directives/control-value-accessors/radio-value-accessor.mjs +0 -42
@@ -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';
@@ -241,14 +241,6 @@ const proxyInputs = (Cmp, inputs) => {
241
241
  set(val) {
242
242
  this.z.runOutsideAngular(() => (this.el[item] = val));
243
243
  },
244
- /**
245
- * In the event that proxyInputs is called
246
- * multiple times re-defining these inputs
247
- * will cause an error to be thrown. As a result
248
- * we set configurable: true to indicate these
249
- * properties can be changed.
250
- */
251
- configurable: true,
252
244
  });
253
245
  });
254
246
  };
@@ -2131,27 +2123,23 @@ const CHECKBOX_INPUTS = [
2131
2123
  'name',
2132
2124
  'value',
2133
2125
  ];
2134
- /**
2135
- * Pulling the provider into an object and using PURE works
2136
- * around an ng-packagr issue that causes
2137
- * components with multiple decorators and
2138
- * a provider to be re-assigned. This re-assignment
2139
- * is not supported by Webpack and causes treeshaking
2140
- * to not work on these kinds of components.
2141
- */
2142
- const accessorProvider$a = {
2143
- provide: NG_VALUE_ACCESSOR,
2144
- useExisting: /*@__PURE__*/ forwardRef(() => IonCheckbox),
2145
- multi: true,
2146
- };
2147
- let IonCheckbox = class IonCheckbox extends ValueAccessor {
2126
+ class IonCheckbox extends ValueAccessor {
2148
2127
  constructor(c, r, z, injector) {
2149
2128
  super(injector, r);
2150
2129
  this.z = z;
2130
+ defineCustomElement$17();
2151
2131
  c.detach();
2152
2132
  this.el = r.nativeElement;
2153
2133
  proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
2154
2134
  }
2135
+ ngOnInit() {
2136
+ /**
2137
+ * Data-bound input properties are set
2138
+ * by Angular after the constructor, so
2139
+ * we need to run the proxy in ngOnInit.
2140
+ */
2141
+ proxyInputs(IonCheckbox, CHECKBOX_INPUTS);
2142
+ }
2155
2143
  writeValue(value) {
2156
2144
  this.elementRef.nativeElement.checked = this.lastValue = value;
2157
2145
  setIonicClasses(this.elementRef);
@@ -2159,15 +2147,15 @@ let IonCheckbox = class IonCheckbox extends ValueAccessor {
2159
2147
  handleIonChange(el) {
2160
2148
  this.handleValueChange(el, el.checked);
2161
2149
  }
2162
- };
2150
+ }
2163
2151
  /** @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 });
2164
- /** @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 });
2165
- IonCheckbox = __decorate([
2166
- ProxyCmp({
2167
- defineCustomElementFn: defineCustomElement$17,
2168
- inputs: CHECKBOX_INPUTS,
2169
- })
2170
- ], IonCheckbox);
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: [
2153
+ {
2154
+ provide: NG_VALUE_ACCESSOR,
2155
+ useExisting: IonCheckbox,
2156
+ multi: true,
2157
+ },
2158
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2171
2159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonCheckbox, decorators: [{
2172
2160
  type: Component,
2173
2161
  args: [{
@@ -2176,7 +2164,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2176
2164
  template: '<ng-content></ng-content>',
2177
2165
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2178
2166
  inputs: CHECKBOX_INPUTS,
2179
- providers: [accessorProvider$a],
2167
+ providers: [
2168
+ {
2169
+ provide: NG_VALUE_ACCESSOR,
2170
+ useExisting: IonCheckbox,
2171
+ multi: true,
2172
+ },
2173
+ ],
2180
2174
  standalone: true,
2181
2175
  }]
2182
2176
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2216,41 +2210,37 @@ const DATETIME_INPUTS = [
2216
2210
  'value',
2217
2211
  'yearValues',
2218
2212
  ];
2219
- /**
2220
- * Pulling the provider into an object and using PURE works
2221
- * around an ng-packagr issue that causes
2222
- * components with multiple decorators and
2223
- * a provider to be re-assigned. This re-assignment
2224
- * is not supported by Webpack and causes treeshaking
2225
- * to not work on these kinds of components.
2226
-
2227
- */
2228
- const accessorProvider$9 = {
2229
- provide: NG_VALUE_ACCESSOR,
2230
- useExisting: /*@__PURE__*/ forwardRef(() => IonDatetime),
2231
- multi: true,
2232
- };
2233
- let IonDatetime = class IonDatetime extends ValueAccessor {
2213
+ const DATETIME_METHODS = ['confirm', 'reset', 'cancel'];
2214
+ class IonDatetime extends ValueAccessor {
2234
2215
  constructor(c, r, z, injector) {
2235
2216
  super(injector, r);
2236
2217
  this.z = z;
2218
+ defineCustomElement$18();
2237
2219
  c.detach();
2238
2220
  this.el = r.nativeElement;
2239
2221
  proxyOutputs(this, this.el, ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur']);
2240
2222
  }
2223
+ ngOnInit() {
2224
+ /**
2225
+ * Data-bound input properties are set
2226
+ * by Angular after the constructor, so
2227
+ * we need to run the proxy in ngOnInit.
2228
+ */
2229
+ proxyInputs(IonDatetime, DATETIME_INPUTS);
2230
+ proxyMethods(IonDatetime, DATETIME_METHODS);
2231
+ }
2241
2232
  handleIonChange(el) {
2242
2233
  this.handleValueChange(el, el.value);
2243
2234
  }
2244
- };
2235
+ }
2245
2236
  /** @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 });
2246
- /** @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 });
2247
- IonDatetime = __decorate([
2248
- ProxyCmp({
2249
- defineCustomElementFn: defineCustomElement$18,
2250
- inputs: DATETIME_INPUTS,
2251
- methods: ['confirm', 'reset', 'cancel'],
2252
- })
2253
- ], IonDatetime);
2237
+ /** @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: [
2238
+ {
2239
+ provide: NG_VALUE_ACCESSOR,
2240
+ useExisting: IonDatetime,
2241
+ multi: true,
2242
+ },
2243
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2254
2244
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonDatetime, decorators: [{
2255
2245
  type: Component,
2256
2246
  args: [{
@@ -2259,7 +2249,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2259
2249
  template: '<ng-content></ng-content>',
2260
2250
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2261
2251
  inputs: DATETIME_INPUTS,
2262
- providers: [accessorProvider$9],
2252
+ providers: [
2253
+ {
2254
+ provide: NG_VALUE_ACCESSOR,
2255
+ useExisting: IonDatetime,
2256
+ multi: true,
2257
+ },
2258
+ ],
2263
2259
  standalone: true,
2264
2260
  }]
2265
2261
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2333,27 +2329,25 @@ const INPUT_INPUTS = [
2333
2329
  'type',
2334
2330
  'value',
2335
2331
  ];
2336
- /**
2337
- * Pulling the provider into an object and using PURE works
2338
- * around an ng-packagr issue that causes
2339
- * components with multiple decorators and
2340
- * a provider to be re-assigned. This re-assignment
2341
- * is not supported by Webpack and causes treeshaking
2342
- * to not work on these kinds of components.
2343
- */
2344
- const accessorProvider$8 = {
2345
- provide: NG_VALUE_ACCESSOR,
2346
- useExisting: /*@__PURE__*/ forwardRef(() => IonInput),
2347
- multi: true,
2348
- };
2349
- let IonInput = class IonInput extends ValueAccessor {
2332
+ const INPUT_METHODS = ['setFocus', 'getInputElement'];
2333
+ class IonInput extends ValueAccessor {
2350
2334
  constructor(c, r, z, injector) {
2351
2335
  super(injector, r);
2352
2336
  this.z = z;
2337
+ defineCustomElement$1a();
2353
2338
  c.detach();
2354
2339
  this.el = r.nativeElement;
2355
2340
  proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionBlur', 'ionFocus']);
2356
2341
  }
2342
+ ngOnInit() {
2343
+ /**
2344
+ * Data-bound input properties are set
2345
+ * by Angular after the constructor, so
2346
+ * we need to run the proxy in ngOnInit.
2347
+ */
2348
+ proxyInputs(IonInput, INPUT_INPUTS);
2349
+ proxyMethods(IonInput, INPUT_METHODS);
2350
+ }
2357
2351
  handleIonInput(el) {
2358
2352
  this.handleValueChange(el, el.value);
2359
2353
  }
@@ -2372,16 +2366,15 @@ let IonInput = class IonInput extends ValueAccessor {
2372
2366
  }
2373
2367
  });
2374
2368
  }
2375
- };
2369
+ }
2376
2370
  /** @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 });
2377
- /** @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 });
2378
- IonInput = __decorate([
2379
- ProxyCmp({
2380
- defineCustomElementFn: defineCustomElement$1a,
2381
- inputs: INPUT_INPUTS,
2382
- methods: ['setFocus', 'getInputElement'],
2383
- })
2384
- ], IonInput);
2371
+ /** @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: [
2372
+ {
2373
+ provide: NG_VALUE_ACCESSOR,
2374
+ useExisting: IonInput,
2375
+ multi: true,
2376
+ },
2377
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2385
2378
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonInput, decorators: [{
2386
2379
  type: Component,
2387
2380
  args: [{
@@ -2390,7 +2383,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2390
2383
  template: '<ng-content></ng-content>',
2391
2384
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2392
2385
  inputs: INPUT_INPUTS,
2393
- providers: [accessorProvider$8],
2386
+ providers: [
2387
+ {
2388
+ provide: NG_VALUE_ACCESSOR,
2389
+ useExisting: IonInput,
2390
+ multi: true,
2391
+ },
2392
+ ],
2394
2393
  standalone: true,
2395
2394
  }]
2396
2395
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2399,39 +2398,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2399
2398
  }] } });
2400
2399
 
2401
2400
  const RADIO_GROUP_INPUTS = ['allowEmptySelection', 'name', 'value'];
2402
- /**
2403
- * Pulling the provider into an object and using PURE works
2404
- * around an ng-packagr issue that causes
2405
- * components with multiple decorators and
2406
- * a provider to be re-assigned. This re-assignment
2407
- * is not supported by Webpack and causes treeshaking
2408
- * to not work on these kinds of components.
2409
- */
2410
- const accessorProvider$7 = {
2411
- provide: NG_VALUE_ACCESSOR,
2412
- useExisting: /*@__PURE__*/ forwardRef(() => IonRadioGroup),
2413
- multi: true,
2414
- };
2415
- let IonRadioGroup = class IonRadioGroup extends ValueAccessor {
2401
+ class IonRadioGroup extends ValueAccessor {
2416
2402
  constructor(c, r, z, injector) {
2417
2403
  super(injector, r);
2418
2404
  this.z = z;
2405
+ defineCustomElement$1b();
2419
2406
  c.detach();
2420
2407
  this.el = r.nativeElement;
2421
2408
  proxyOutputs(this, this.el, ['ionChange']);
2422
2409
  }
2410
+ ngOnInit() {
2411
+ /**
2412
+ * Data-bound input properties are set
2413
+ * by Angular after the constructor, so
2414
+ * we need to run the proxy in ngOnInit.
2415
+ */
2416
+ proxyInputs(IonRadioGroup, RADIO_GROUP_INPUTS);
2417
+ }
2423
2418
  handleIonChange(el) {
2424
2419
  this.handleValueChange(el, el.value);
2425
2420
  }
2426
- };
2421
+ }
2427
2422
  /** @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 });
2428
- /** @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 });
2429
- IonRadioGroup = __decorate([
2430
- ProxyCmp({
2431
- defineCustomElementFn: defineCustomElement$1b,
2432
- inputs: RADIO_GROUP_INPUTS,
2433
- })
2434
- ], IonRadioGroup);
2423
+ /** @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: [
2424
+ {
2425
+ provide: NG_VALUE_ACCESSOR,
2426
+ useExisting: IonRadioGroup,
2427
+ multi: true,
2428
+ },
2429
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2435
2430
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadioGroup, decorators: [{
2436
2431
  type: Component,
2437
2432
  args: [{
@@ -2440,7 +2435,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2440
2435
  template: '<ng-content></ng-content>',
2441
2436
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2442
2437
  inputs: RADIO_GROUP_INPUTS,
2443
- providers: [accessorProvider$7],
2438
+ providers: [
2439
+ {
2440
+ provide: NG_VALUE_ACCESSOR,
2441
+ useExisting: IonRadioGroup,
2442
+ multi: true,
2443
+ },
2444
+ ],
2444
2445
  standalone: true,
2445
2446
  }]
2446
2447
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2449,43 +2450,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2449
2450
  }] } });
2450
2451
 
2451
2452
  const RADIO_INPUTS = ['color', 'disabled', 'justify', 'labelPlacement', 'legacy', 'mode', 'name', 'value'];
2452
- /**
2453
- * Pulling the provider into an object and using PURE works
2454
- * around an ng-packagr issue that causes
2455
- * components with multiple decorators and
2456
- * a provider to be re-assigned. This re-assignment
2457
- * is not supported by Webpack and causes treeshaking
2458
- * to not work on these kinds of components.
2459
- */
2460
- const accessorProvider$6 = {
2461
- provide: NG_VALUE_ACCESSOR,
2462
- useExisting: /*@__PURE__*/ forwardRef(() => IonRadio),
2463
- multi: true,
2464
- };
2465
- let IonRadio = class IonRadio extends ValueAccessor {
2466
- constructor(c, r, z, injector) {
2467
- super(injector, r);
2453
+ class IonRadio {
2454
+ constructor(c, r, z) {
2468
2455
  this.z = z;
2456
+ defineCustomElement$1c();
2469
2457
  c.detach();
2470
2458
  this.el = r.nativeElement;
2471
2459
  proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
2472
2460
  }
2473
- handleIonSelect(el) {
2461
+ ngOnInit() {
2474
2462
  /**
2475
- * The `el` type is any to access the `checked` state property
2476
- * that is not exposed on the type interface.
2463
+ * Data-bound input properties are set
2464
+ * by Angular after the constructor, so
2465
+ * we need to run the proxy in ngOnInit.
2477
2466
  */
2478
- this.handleValueChange(el, el.checked);
2467
+ proxyInputs(IonRadio, RADIO_INPUTS);
2479
2468
  }
2480
- };
2481
- /** @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 });
2482
- /** @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 });
2483
- IonRadio = __decorate([
2484
- ProxyCmp({
2485
- defineCustomElementFn: defineCustomElement$1c,
2486
- inputs: RADIO_INPUTS,
2487
- })
2488
- ], IonRadio);
2469
+ }
2470
+ /** @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 }], target: i0.ɵɵFactoryTarget.Component });
2471
+ /** @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" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2489
2472
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadio, decorators: [{
2490
2473
  type: Component,
2491
2474
  args: [{
@@ -2494,13 +2477,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2494
2477
  template: '<ng-content></ng-content>',
2495
2478
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2496
2479
  inputs: RADIO_INPUTS,
2497
- providers: [accessorProvider$6],
2498
2480
  standalone: true,
2499
2481
  }]
2500
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonSelect: [{
2501
- type: HostListener,
2502
- args: ['ionSelect', ['$event.target']]
2503
- }] } });
2482
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
2504
2483
 
2505
2484
  const RANGE_INPUTS = [
2506
2485
  'activeBarStart',
@@ -2522,39 +2501,35 @@ const RANGE_INPUTS = [
2522
2501
  'ticks',
2523
2502
  'value',
2524
2503
  ];
2525
- /**
2526
- * Pulling the provider into an object and using PURE works
2527
- * around an ng-packagr issue that causes
2528
- * components with multiple decorators and
2529
- * a provider to be re-assigned. This re-assignment
2530
- * is not supported by Webpack and causes treeshaking
2531
- * to not work on these kinds of components.
2532
- */
2533
- const accessorProvider$5 = {
2534
- provide: NG_VALUE_ACCESSOR,
2535
- useExisting: /*@__PURE__*/ forwardRef(() => IonRange),
2536
- multi: true,
2537
- };
2538
- let IonRange = class IonRange extends ValueAccessor {
2504
+ class IonRange extends ValueAccessor {
2539
2505
  constructor(c, r, z, injector) {
2540
2506
  super(injector, r);
2541
2507
  this.z = z;
2508
+ defineCustomElement$1d();
2542
2509
  c.detach();
2543
2510
  this.el = r.nativeElement;
2544
2511
  proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionFocus', 'ionBlur', 'ionKnobMoveStart', 'ionKnobMoveEnd']);
2545
2512
  }
2513
+ ngOnInit() {
2514
+ /**
2515
+ * Data-bound input properties are set
2516
+ * by Angular after the constructor, so
2517
+ * we need to run the proxy in ngOnInit.
2518
+ */
2519
+ proxyInputs(IonRange, RANGE_INPUTS);
2520
+ }
2546
2521
  handleIonChange(el) {
2547
2522
  this.handleValueChange(el, el.value);
2548
2523
  }
2549
- };
2524
+ }
2550
2525
  /** @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 });
2551
- /** @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 });
2552
- IonRange = __decorate([
2553
- ProxyCmp({
2554
- defineCustomElementFn: defineCustomElement$1d,
2555
- inputs: RANGE_INPUTS,
2556
- })
2557
- ], IonRange);
2526
+ /** @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: [
2527
+ {
2528
+ provide: NG_VALUE_ACCESSOR,
2529
+ useExisting: IonRange,
2530
+ multi: true,
2531
+ },
2532
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2558
2533
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRange, decorators: [{
2559
2534
  type: Component,
2560
2535
  args: [{
@@ -2563,7 +2538,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2563
2538
  template: '<ng-content></ng-content>',
2564
2539
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2565
2540
  inputs: RANGE_INPUTS,
2566
- providers: [accessorProvider$5],
2541
+ providers: [
2542
+ {
2543
+ provide: NG_VALUE_ACCESSOR,
2544
+ useExisting: IonRange,
2545
+ multi: true,
2546
+ },
2547
+ ],
2567
2548
  standalone: true,
2568
2549
  }]
2569
2550
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2593,40 +2574,37 @@ const SEARCHBAR_INPUTS = [
2593
2574
  'type',
2594
2575
  'value',
2595
2576
  ];
2596
- /**
2597
- * Pulling the provider into an object and using PURE works
2598
- * around an ng-packagr issue that causes
2599
- * components with multiple decorators and
2600
- * a provider to be re-assigned. This re-assignment
2601
- * is not supported by Webpack and causes treeshaking
2602
- * to not work on these kinds of components.
2603
- */
2604
- const accessorProvider$4 = {
2605
- provide: NG_VALUE_ACCESSOR,
2606
- useExisting: /*@__PURE__*/ forwardRef(() => IonSearchbar),
2607
- multi: true,
2608
- };
2609
- let IonSearchbar = class IonSearchbar extends ValueAccessor {
2577
+ const SEARCHBAR_METHODS = ['setFocus', 'getInputElement'];
2578
+ class IonSearchbar extends ValueAccessor {
2610
2579
  constructor(c, r, z, injector) {
2611
2580
  super(injector, r);
2612
2581
  this.z = z;
2582
+ defineCustomElement$1e();
2613
2583
  c.detach();
2614
2584
  this.el = r.nativeElement;
2615
2585
  proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionCancel', 'ionClear', 'ionBlur', 'ionFocus']);
2616
2586
  }
2587
+ ngOnInit() {
2588
+ /**
2589
+ * Data-bound input properties are set
2590
+ * by Angular after the constructor, so
2591
+ * we need to run the proxy in ngOnInit.
2592
+ */
2593
+ proxyInputs(IonSearchbar, SEARCHBAR_INPUTS);
2594
+ proxyMethods(IonSearchbar, SEARCHBAR_METHODS);
2595
+ }
2617
2596
  handleIonInput(el) {
2618
2597
  this.handleValueChange(el, el.value);
2619
2598
  }
2620
- };
2599
+ }
2621
2600
  /** @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 });
2622
- /** @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 });
2623
- IonSearchbar = __decorate([
2624
- ProxyCmp({
2625
- defineCustomElementFn: defineCustomElement$1e,
2626
- inputs: SEARCHBAR_INPUTS,
2627
- methods: ['setFocus', 'getInputElement'],
2628
- })
2629
- ], IonSearchbar);
2601
+ /** @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: [
2602
+ {
2603
+ provide: NG_VALUE_ACCESSOR,
2604
+ useExisting: IonSearchbar,
2605
+ multi: true,
2606
+ },
2607
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2630
2608
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSearchbar, decorators: [{
2631
2609
  type: Component,
2632
2610
  args: [{
@@ -2635,7 +2613,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2635
2613
  template: '<ng-content></ng-content>',
2636
2614
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2637
2615
  inputs: SEARCHBAR_INPUTS,
2638
- providers: [accessorProvider$4],
2616
+ providers: [
2617
+ {
2618
+ provide: NG_VALUE_ACCESSOR,
2619
+ useExisting: IonSearchbar,
2620
+ multi: true,
2621
+ },
2622
+ ],
2639
2623
  standalone: true,
2640
2624
  }]
2641
2625
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2644,39 +2628,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2644
2628
  }] } });
2645
2629
 
2646
2630
  const SEGMENT_INPUTS = ['color', 'disabled', 'mode', 'scrollable', 'selectOnFocus', 'swipeGesture', 'value'];
2647
- /**
2648
- * Pulling the provider into an object and using PURE works
2649
- * around an ng-packagr issue that causes
2650
- * components with multiple decorators and
2651
- * a provider to be re-assigned. This re-assignment
2652
- * is not supported by Webpack and causes treeshaking
2653
- * to not work on these kinds of components.
2654
- */
2655
- const accessorProvider$3 = {
2656
- provide: NG_VALUE_ACCESSOR,
2657
- useExisting: /*@__PURE__*/ forwardRef(() => IonSegment),
2658
- multi: true,
2659
- };
2660
- let IonSegment = class IonSegment extends ValueAccessor {
2631
+ class IonSegment extends ValueAccessor {
2661
2632
  constructor(c, r, z, injector) {
2662
2633
  super(injector, r);
2663
2634
  this.z = z;
2635
+ defineCustomElement$1f();
2664
2636
  c.detach();
2665
2637
  this.el = r.nativeElement;
2666
2638
  proxyOutputs(this, this.el, ['ionChange']);
2667
2639
  }
2640
+ ngOnInit() {
2641
+ /**
2642
+ * Data-bound input properties are set
2643
+ * by Angular after the constructor, so
2644
+ * we need to run the proxy in ngOnInit.
2645
+ */
2646
+ proxyInputs(IonSegment, SEGMENT_INPUTS);
2647
+ }
2668
2648
  handleIonChange(el) {
2669
2649
  this.handleValueChange(el, el.value);
2670
2650
  }
2671
- };
2651
+ }
2672
2652
  /** @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 });
2673
- /** @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 });
2674
- IonSegment = __decorate([
2675
- ProxyCmp({
2676
- defineCustomElementFn: defineCustomElement$1f,
2677
- inputs: SEGMENT_INPUTS,
2678
- })
2679
- ], IonSegment);
2653
+ /** @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: [
2654
+ {
2655
+ provide: NG_VALUE_ACCESSOR,
2656
+ useExisting: IonSegment,
2657
+ multi: true,
2658
+ },
2659
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2680
2660
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSegment, decorators: [{
2681
2661
  type: Component,
2682
2662
  args: [{
@@ -2685,7 +2665,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2685
2665
  template: '<ng-content></ng-content>',
2686
2666
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2687
2667
  inputs: SEGMENT_INPUTS,
2688
- providers: [accessorProvider$3],
2668
+ providers: [
2669
+ {
2670
+ provide: NG_VALUE_ACCESSOR,
2671
+ useExisting: IonSegment,
2672
+ multi: true,
2673
+ },
2674
+ ],
2689
2675
  standalone: true,
2690
2676
  }]
2691
2677
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2716,40 +2702,37 @@ const SELECT_INPUTS = [
2716
2702
  'toggleIcon',
2717
2703
  'value',
2718
2704
  ];
2719
- /**
2720
- * Pulling the provider into an object and using PURE works
2721
- * around an ng-packagr issue that causes
2722
- * components with multiple decorators and
2723
- * a provider to be re-assigned. This re-assignment
2724
- * is not supported by Webpack and causes treeshaking
2725
- * to not work on these kinds of components.
2726
- */
2727
- const accessorProvider$2 = {
2728
- provide: NG_VALUE_ACCESSOR,
2729
- useExisting: /*@__PURE__*/ forwardRef(() => IonSelect),
2730
- multi: true,
2731
- };
2732
- let IonSelect = class IonSelect extends ValueAccessor {
2705
+ const SELECT_METHODS = ['open'];
2706
+ class IonSelect extends ValueAccessor {
2733
2707
  constructor(c, r, z, injector) {
2734
2708
  super(injector, r);
2735
2709
  this.z = z;
2710
+ defineCustomElement$1g();
2736
2711
  c.detach();
2737
2712
  this.el = r.nativeElement;
2738
2713
  proxyOutputs(this, this.el, ['ionChange', 'ionCancel', 'ionDismiss', 'ionFocus', 'ionBlur']);
2739
2714
  }
2715
+ ngOnInit() {
2716
+ /**
2717
+ * Data-bound input properties are set
2718
+ * by Angular after the constructor, so
2719
+ * we need to run the proxy in ngOnInit.
2720
+ */
2721
+ proxyInputs(IonSelect, SELECT_INPUTS);
2722
+ proxyMethods(IonSelect, SELECT_METHODS);
2723
+ }
2740
2724
  handleIonChange(el) {
2741
2725
  this.handleValueChange(el, el.value);
2742
2726
  }
2743
- };
2727
+ }
2744
2728
  /** @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 });
2745
- /** @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 });
2746
- IonSelect = __decorate([
2747
- ProxyCmp({
2748
- defineCustomElementFn: defineCustomElement$1g,
2749
- inputs: SELECT_INPUTS,
2750
- methods: ['open'],
2751
- })
2752
- ], IonSelect);
2729
+ /** @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: [
2730
+ {
2731
+ provide: NG_VALUE_ACCESSOR,
2732
+ useExisting: IonSelect,
2733
+ multi: true,
2734
+ },
2735
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2753
2736
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSelect, decorators: [{
2754
2737
  type: Component,
2755
2738
  args: [{
@@ -2758,7 +2741,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2758
2741
  template: '<ng-content></ng-content>',
2759
2742
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2760
2743
  inputs: SELECT_INPUTS,
2761
- providers: [accessorProvider$2],
2744
+ providers: [
2745
+ {
2746
+ provide: NG_VALUE_ACCESSOR,
2747
+ useExisting: IonSelect,
2748
+ multi: true,
2749
+ },
2750
+ ],
2762
2751
  standalone: true,
2763
2752
  }]
2764
2753
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2798,40 +2787,37 @@ const TEXTAREA_INPUTS = [
2798
2787
  'value',
2799
2788
  'wrap',
2800
2789
  ];
2801
- /**
2802
- * Pulling the provider into an object and using PURE works
2803
- * around an ng-packagr issue that causes
2804
- * components with multiple decorators and
2805
- * a provider to be re-assigned. This re-assignment
2806
- * is not supported by Webpack and causes treeshaking
2807
- * to not work on these kinds of components.
2808
- */
2809
- const accessorProvider$1 = {
2810
- provide: NG_VALUE_ACCESSOR,
2811
- useExisting: /*@__PURE__*/ forwardRef(() => IonTextarea),
2812
- multi: true,
2813
- };
2814
- let IonTextarea = class IonTextarea extends ValueAccessor {
2790
+ const TEXTAREA_METHODS = ['setFocus', 'getInputElement'];
2791
+ class IonTextarea extends ValueAccessor {
2815
2792
  constructor(c, r, z, injector) {
2816
2793
  super(injector, r);
2817
2794
  this.z = z;
2795
+ defineCustomElement$1h();
2818
2796
  c.detach();
2819
2797
  this.el = r.nativeElement;
2820
2798
  proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionBlur', 'ionFocus']);
2821
2799
  }
2800
+ ngOnInit() {
2801
+ /**
2802
+ * Data-bound input properties are set
2803
+ * by Angular after the constructor, so
2804
+ * we need to run the proxy in ngOnInit.
2805
+ */
2806
+ proxyInputs(IonTextarea, TEXTAREA_INPUTS);
2807
+ proxyMethods(IonTextarea, TEXTAREA_METHODS);
2808
+ }
2822
2809
  handleIonInput(el) {
2823
2810
  this.handleValueChange(el, el.value);
2824
2811
  }
2825
- };
2812
+ }
2826
2813
  /** @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 });
2827
- /** @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 });
2828
- IonTextarea = __decorate([
2829
- ProxyCmp({
2830
- defineCustomElementFn: defineCustomElement$1h,
2831
- inputs: TEXTAREA_INPUTS,
2832
- methods: ['setFocus', 'getInputElement'],
2833
- })
2834
- ], IonTextarea);
2814
+ /** @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: [
2815
+ {
2816
+ provide: NG_VALUE_ACCESSOR,
2817
+ useExisting: IonTextarea,
2818
+ multi: true,
2819
+ },
2820
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2835
2821
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonTextarea, decorators: [{
2836
2822
  type: Component,
2837
2823
  args: [{
@@ -2840,7 +2826,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2840
2826
  template: '<ng-content></ng-content>',
2841
2827
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2842
2828
  inputs: TEXTAREA_INPUTS,
2843
- providers: [accessorProvider$1],
2829
+ providers: [
2830
+ {
2831
+ provide: NG_VALUE_ACCESSOR,
2832
+ useExisting: IonTextarea,
2833
+ multi: true,
2834
+ },
2835
+ ],
2844
2836
  standalone: true,
2845
2837
  }]
2846
2838
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2860,27 +2852,23 @@ const TOGGLE_INPUTS = [
2860
2852
  'name',
2861
2853
  'value',
2862
2854
  ];
2863
- /**
2864
- * Pulling the provider into an object and using PURE works
2865
- * around an ng-packagr issue that causes
2866
- * components with multiple decorators and
2867
- * a provider to be re-assigned. This re-assignment
2868
- * is not supported by Webpack and causes treeshaking
2869
- * to not work on these kinds of components.
2870
- */
2871
- const accessorProvider = {
2872
- provide: NG_VALUE_ACCESSOR,
2873
- useExisting: /*@__PURE__*/ forwardRef(() => IonToggle),
2874
- multi: true,
2875
- };
2876
- let IonToggle = class IonToggle extends ValueAccessor {
2855
+ class IonToggle extends ValueAccessor {
2877
2856
  constructor(c, r, z, injector) {
2878
2857
  super(injector, r);
2879
2858
  this.z = z;
2859
+ defineCustomElement$1i();
2880
2860
  c.detach();
2881
2861
  this.el = r.nativeElement;
2882
2862
  proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
2883
2863
  }
2864
+ ngOnInit() {
2865
+ /**
2866
+ * Data-bound input properties are set
2867
+ * by Angular after the constructor, so
2868
+ * we need to run the proxy in ngOnInit.
2869
+ */
2870
+ proxyInputs(IonToggle, TOGGLE_INPUTS);
2871
+ }
2884
2872
  writeValue(value) {
2885
2873
  this.elementRef.nativeElement.checked = this.lastValue = value;
2886
2874
  setIonicClasses(this.elementRef);
@@ -2888,15 +2876,15 @@ let IonToggle = class IonToggle extends ValueAccessor {
2888
2876
  handleIonChange(el) {
2889
2877
  this.handleValueChange(el, el.checked);
2890
2878
  }
2891
- };
2879
+ }
2892
2880
  /** @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 });
2893
- /** @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 });
2894
- IonToggle = __decorate([
2895
- ProxyCmp({
2896
- defineCustomElementFn: defineCustomElement$1i,
2897
- inputs: TOGGLE_INPUTS,
2898
- })
2899
- ], IonToggle);
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: [
2882
+ {
2883
+ provide: NG_VALUE_ACCESSOR,
2884
+ useExisting: IonToggle,
2885
+ multi: true,
2886
+ },
2887
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2900
2888
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonToggle, decorators: [{
2901
2889
  type: Component,
2902
2890
  args: [{
@@ -2905,7 +2893,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2905
2893
  template: '<ng-content></ng-content>',
2906
2894
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2907
2895
  inputs: TOGGLE_INPUTS,
2908
- providers: [accessorProvider],
2896
+ providers: [
2897
+ {
2898
+ provide: NG_VALUE_ACCESSOR,
2899
+ useExisting: IonToggle,
2900
+ multi: true,
2901
+ },
2902
+ ],
2909
2903
  standalone: true,
2910
2904
  }]
2911
2905
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{