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