@ionic/angular 7.5.3-dev.11698699090.1151d73f → 7.5.3-dev.11698765436.1c5d9418

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