@ionic/angular 7.5.3-dev.11698687076.1aaa7af2 → 7.5.3-dev.11698697256.1151d73f

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.
@@ -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, HostListener } from '@angular/core';
3
+ import { Directive, Attribute, Optional, SkipSelf, Component, ChangeDetectionStrategy, ViewChild, ContentChild, ContentChildren, APP_INITIALIZER, Injectable, forwardRef, 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';
@@ -2119,19 +2119,25 @@ const CHECKBOX_INPUTS = [
2119
2119
  'name',
2120
2120
  'value',
2121
2121
  ];
2122
- class IonCheckbox extends ValueAccessor {
2122
+ /**
2123
+ * Pulling the provider into an object and using PURE works
2124
+ * around an ng-packagr issue that causes
2125
+ * components with multiple decorators and
2126
+ * a provider to be re-assigned. This re-assignment
2127
+ * is not supported by Webpack and causes treeshaking
2128
+ * to not work on these kinds of components.
2129
+ */
2130
+ const accessorProvider$a = {
2131
+ provide: NG_VALUE_ACCESSOR,
2132
+ useExisting: /*@__PURE__*/ forwardRef(() => IonCheckbox),
2133
+ multi: true,
2134
+ };
2135
+ let IonCheckbox = class IonCheckbox extends ValueAccessor {
2123
2136
  constructor(c, r, z, injector) {
2124
2137
  super(injector, r);
2125
2138
  this.z = z;
2126
- defineCustomElement$17();
2127
2139
  c.detach();
2128
2140
  this.el = r.nativeElement;
2129
- /**
2130
- * Data-bound input properties are set
2131
- * by Angular after the constructor, so
2132
- * we need to run the proxy before ngOnInit.
2133
- */
2134
- proxyInputs(IonCheckbox, CHECKBOX_INPUTS);
2135
2141
  proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
2136
2142
  }
2137
2143
  writeValue(value) {
@@ -2141,15 +2147,15 @@ class IonCheckbox extends ValueAccessor {
2141
2147
  handleIonChange(el) {
2142
2148
  this.handleValueChange(el, el.checked);
2143
2149
  }
2144
- }
2150
+ };
2145
2151
  /** @nocollapse */ IonCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2146
- /** @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: [
2147
- {
2148
- provide: NG_VALUE_ACCESSOR,
2149
- useExisting: IonCheckbox,
2150
- multi: true,
2151
- },
2152
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2152
+ /** @nocollapse */ IonCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonCheckbox, isStandalone: true, selector: "ion-checkbox", inputs: { checked: "checked", color: "color", disabled: "disabled", indeterminate: "indeterminate", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$a], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2153
+ IonCheckbox = __decorate([
2154
+ ProxyCmp({
2155
+ defineCustomElementFn: defineCustomElement$17,
2156
+ inputs: CHECKBOX_INPUTS,
2157
+ })
2158
+ ], IonCheckbox);
2153
2159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonCheckbox, decorators: [{
2154
2160
  type: Component,
2155
2161
  args: [{
@@ -2158,13 +2164,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2158
2164
  template: '<ng-content></ng-content>',
2159
2165
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2160
2166
  inputs: CHECKBOX_INPUTS,
2161
- providers: [
2162
- {
2163
- provide: NG_VALUE_ACCESSOR,
2164
- useExisting: IonCheckbox,
2165
- multi: true,
2166
- },
2167
- ],
2167
+ providers: [accessorProvider$a],
2168
2168
  standalone: true,
2169
2169
  }]
2170
2170
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2204,35 +2204,41 @@ const DATETIME_INPUTS = [
2204
2204
  'value',
2205
2205
  'yearValues',
2206
2206
  ];
2207
- const DATETIME_METHODS = ['confirm', 'reset', 'cancel'];
2208
- class IonDatetime extends ValueAccessor {
2207
+ /**
2208
+ * Pulling the provider into an object and using PURE works
2209
+ * around an ng-packagr issue that causes
2210
+ * components with multiple decorators and
2211
+ * a provider to be re-assigned. This re-assignment
2212
+ * is not supported by Webpack and causes treeshaking
2213
+ * to not work on these kinds of components.
2214
+
2215
+ */
2216
+ const accessorProvider$9 = {
2217
+ provide: NG_VALUE_ACCESSOR,
2218
+ useExisting: /*@__PURE__*/ forwardRef(() => IonDatetime),
2219
+ multi: true,
2220
+ };
2221
+ let IonDatetime = class IonDatetime extends ValueAccessor {
2209
2222
  constructor(c, r, z, injector) {
2210
2223
  super(injector, r);
2211
2224
  this.z = z;
2212
- defineCustomElement$18();
2213
2225
  c.detach();
2214
2226
  this.el = r.nativeElement;
2215
- /**
2216
- * Data-bound input properties are set
2217
- * by Angular after the constructor, so
2218
- * we need to run the proxy before ngOnInit.
2219
- */
2220
- proxyInputs(IonDatetime, DATETIME_INPUTS);
2221
- proxyMethods(IonDatetime, DATETIME_METHODS);
2222
2227
  proxyOutputs(this, this.el, ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur']);
2223
2228
  }
2224
2229
  handleIonChange(el) {
2225
2230
  this.handleValueChange(el, el.value);
2226
2231
  }
2227
- }
2232
+ };
2228
2233
  /** @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 });
2229
- /** @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: [
2230
- {
2231
- provide: NG_VALUE_ACCESSOR,
2232
- useExisting: IonDatetime,
2233
- multi: true,
2234
- },
2235
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2234
+ /** @nocollapse */ IonDatetime.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonDatetime, isStandalone: true, selector: "ion-datetime", inputs: { cancelText: "cancelText", clearText: "clearText", color: "color", dayValues: "dayValues", disabled: "disabled", doneText: "doneText", firstDayOfWeek: "firstDayOfWeek", highlightedDates: "highlightedDates", hourCycle: "hourCycle", hourValues: "hourValues", isDateEnabled: "isDateEnabled", locale: "locale", max: "max", min: "min", minuteValues: "minuteValues", mode: "mode", monthValues: "monthValues", multiple: "multiple", name: "name", preferWheel: "preferWheel", presentation: "presentation", readonly: "readonly", showClearButton: "showClearButton", showDefaultButtons: "showDefaultButtons", showDefaultTimeLabel: "showDefaultTimeLabel", showDefaultTitle: "showDefaultTitle", size: "size", titleSelectedDatesFormatter: "titleSelectedDatesFormatter", value: "value", yearValues: "yearValues" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$9], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2235
+ IonDatetime = __decorate([
2236
+ ProxyCmp({
2237
+ defineCustomElementFn: defineCustomElement$18,
2238
+ inputs: DATETIME_INPUTS,
2239
+ methods: ['confirm', 'reset', 'cancel'],
2240
+ })
2241
+ ], IonDatetime);
2236
2242
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonDatetime, decorators: [{
2237
2243
  type: Component,
2238
2244
  args: [{
@@ -2241,13 +2247,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2241
2247
  template: '<ng-content></ng-content>',
2242
2248
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2243
2249
  inputs: DATETIME_INPUTS,
2244
- providers: [
2245
- {
2246
- provide: NG_VALUE_ACCESSOR,
2247
- useExisting: IonDatetime,
2248
- multi: true,
2249
- },
2250
- ],
2250
+ providers: [accessorProvider$9],
2251
2251
  standalone: true,
2252
2252
  }]
2253
2253
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2321,21 +2321,25 @@ const INPUT_INPUTS = [
2321
2321
  'type',
2322
2322
  'value',
2323
2323
  ];
2324
- const INPUT_METHODS = ['setFocus', 'getInputElement'];
2325
- class IonInput extends ValueAccessor {
2324
+ /**
2325
+ * Pulling the provider into an object and using PURE works
2326
+ * around an ng-packagr issue that causes
2327
+ * components with multiple decorators and
2328
+ * a provider to be re-assigned. This re-assignment
2329
+ * is not supported by Webpack and causes treeshaking
2330
+ * to not work on these kinds of components.
2331
+ */
2332
+ const accessorProvider$8 = {
2333
+ provide: NG_VALUE_ACCESSOR,
2334
+ useExisting: /*@__PURE__*/ forwardRef(() => IonInput),
2335
+ multi: true,
2336
+ };
2337
+ let IonInput = class IonInput extends ValueAccessor {
2326
2338
  constructor(c, r, z, injector) {
2327
2339
  super(injector, r);
2328
2340
  this.z = z;
2329
- defineCustomElement$1a();
2330
2341
  c.detach();
2331
2342
  this.el = r.nativeElement;
2332
- /**
2333
- * Data-bound input properties are set
2334
- * by Angular after the constructor, so
2335
- * we need to run the proxy before ngOnInit.
2336
- */
2337
- proxyInputs(IonInput, INPUT_INPUTS);
2338
- proxyMethods(IonInput, INPUT_METHODS);
2339
2343
  proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionBlur', 'ionFocus']);
2340
2344
  }
2341
2345
  handleIonInput(el) {
@@ -2356,15 +2360,16 @@ class IonInput extends ValueAccessor {
2356
2360
  }
2357
2361
  });
2358
2362
  }
2359
- }
2363
+ };
2360
2364
  /** @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 });
2361
- /** @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: [
2362
- {
2363
- provide: NG_VALUE_ACCESSOR,
2364
- useExisting: IonInput,
2365
- multi: true,
2366
- },
2367
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2365
+ /** @nocollapse */ IonInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonInput, isStandalone: true, selector: "ion-input", inputs: { accept: "accept", autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", clearInput: "clearInput", clearOnEdit: "clearOnEdit", color: "color", counter: "counter", counterFormatter: "counterFormatter", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", errorText: "errorText", fill: "fill", helperText: "helperText", inputmode: "inputmode", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", maxlength: "maxlength", min: "min", minlength: "minlength", mode: "mode", multiple: "multiple", name: "name", pattern: "pattern", placeholder: "placeholder", readonly: "readonly", required: "required", shape: "shape", size: "size", spellcheck: "spellcheck", step: "step", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [accessorProvider$8], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2366
+ IonInput = __decorate([
2367
+ ProxyCmp({
2368
+ defineCustomElementFn: defineCustomElement$1a,
2369
+ inputs: INPUT_INPUTS,
2370
+ methods: ['setFocus', 'getInputElement'],
2371
+ })
2372
+ ], IonInput);
2368
2373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonInput, decorators: [{
2369
2374
  type: Component,
2370
2375
  args: [{
@@ -2373,13 +2378,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2373
2378
  template: '<ng-content></ng-content>',
2374
2379
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2375
2380
  inputs: INPUT_INPUTS,
2376
- providers: [
2377
- {
2378
- provide: NG_VALUE_ACCESSOR,
2379
- useExisting: IonInput,
2380
- multi: true,
2381
- },
2382
- ],
2381
+ providers: [accessorProvider$8],
2383
2382
  standalone: true,
2384
2383
  }]
2385
2384
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2388,33 +2387,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2388
2387
  }] } });
2389
2388
 
2390
2389
  const RADIO_GROUP_INPUTS = ['allowEmptySelection', 'name', 'value'];
2391
- class IonRadioGroup extends ValueAccessor {
2390
+ /**
2391
+ * Pulling the provider into an object and using PURE works
2392
+ * around an ng-packagr issue that causes
2393
+ * components with multiple decorators and
2394
+ * a provider to be re-assigned. This re-assignment
2395
+ * is not supported by Webpack and causes treeshaking
2396
+ * to not work on these kinds of components.
2397
+ */
2398
+ const accessorProvider$7 = {
2399
+ provide: NG_VALUE_ACCESSOR,
2400
+ useExisting: /*@__PURE__*/ forwardRef(() => IonRadioGroup),
2401
+ multi: true,
2402
+ };
2403
+ let IonRadioGroup = class IonRadioGroup extends ValueAccessor {
2392
2404
  constructor(c, r, z, injector) {
2393
2405
  super(injector, r);
2394
2406
  this.z = z;
2395
- defineCustomElement$1b();
2396
2407
  c.detach();
2397
2408
  this.el = r.nativeElement;
2398
- /**
2399
- * Data-bound input properties are set
2400
- * by Angular after the constructor, so
2401
- * we need to run the proxy before ngOnInit.
2402
- */
2403
- proxyInputs(IonRadioGroup, RADIO_GROUP_INPUTS);
2404
2409
  proxyOutputs(this, this.el, ['ionChange']);
2405
2410
  }
2406
2411
  handleIonChange(el) {
2407
2412
  this.handleValueChange(el, el.value);
2408
2413
  }
2409
- }
2414
+ };
2410
2415
  /** @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 });
2411
- /** @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: [
2412
- {
2413
- provide: NG_VALUE_ACCESSOR,
2414
- useExisting: IonRadioGroup,
2415
- multi: true,
2416
- },
2417
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2416
+ /** @nocollapse */ IonRadioGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadioGroup, isStandalone: true, selector: "ion-radio-group", inputs: { allowEmptySelection: "allowEmptySelection", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$7], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2417
+ IonRadioGroup = __decorate([
2418
+ ProxyCmp({
2419
+ defineCustomElementFn: defineCustomElement$1b,
2420
+ inputs: RADIO_GROUP_INPUTS,
2421
+ })
2422
+ ], IonRadioGroup);
2418
2423
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadioGroup, decorators: [{
2419
2424
  type: Component,
2420
2425
  args: [{
@@ -2423,13 +2428,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2423
2428
  template: '<ng-content></ng-content>',
2424
2429
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2425
2430
  inputs: RADIO_GROUP_INPUTS,
2426
- providers: [
2427
- {
2428
- provide: NG_VALUE_ACCESSOR,
2429
- useExisting: IonRadioGroup,
2430
- multi: true,
2431
- },
2432
- ],
2431
+ providers: [accessorProvider$7],
2433
2432
  standalone: true,
2434
2433
  }]
2435
2434
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2438,19 +2437,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2438
2437
  }] } });
2439
2438
 
2440
2439
  const RADIO_INPUTS = ['color', 'disabled', 'justify', 'labelPlacement', 'legacy', 'mode', 'name', 'value'];
2441
- class IonRadio extends ValueAccessor {
2440
+ /**
2441
+ * Pulling the provider into an object and using PURE works
2442
+ * around an ng-packagr issue that causes
2443
+ * components with multiple decorators and
2444
+ * a provider to be re-assigned. This re-assignment
2445
+ * is not supported by Webpack and causes treeshaking
2446
+ * to not work on these kinds of components.
2447
+ */
2448
+ const accessorProvider$6 = {
2449
+ provide: NG_VALUE_ACCESSOR,
2450
+ useExisting: /*@__PURE__*/ forwardRef(() => IonRadio),
2451
+ multi: true,
2452
+ };
2453
+ let IonRadio = class IonRadio extends ValueAccessor {
2442
2454
  constructor(c, r, z, injector) {
2443
2455
  super(injector, r);
2444
2456
  this.z = z;
2445
- defineCustomElement$1c();
2446
2457
  c.detach();
2447
2458
  this.el = r.nativeElement;
2448
- /**
2449
- * Data-bound input properties are set
2450
- * by Angular after the constructor, so
2451
- * we need to run the proxy before ngOnInit.
2452
- */
2453
- proxyInputs(IonRadio, RADIO_INPUTS);
2454
2459
  proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
2455
2460
  }
2456
2461
  handleIonSelect(el) {
@@ -2460,15 +2465,15 @@ class IonRadio extends ValueAccessor {
2460
2465
  */
2461
2466
  this.handleValueChange(el, el.checked);
2462
2467
  }
2463
- }
2468
+ };
2464
2469
  /** @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 });
2465
- /** @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: [
2466
- {
2467
- provide: NG_VALUE_ACCESSOR,
2468
- useExisting: IonRadio,
2469
- multi: true,
2470
- },
2471
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2470
+ /** @nocollapse */ IonRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadio, isStandalone: true, selector: "ion-radio", inputs: { color: "color", disabled: "disabled", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionSelect": "handleIonSelect($event.target)" } }, providers: [accessorProvider$6], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2471
+ IonRadio = __decorate([
2472
+ ProxyCmp({
2473
+ defineCustomElementFn: defineCustomElement$1c,
2474
+ inputs: RADIO_INPUTS,
2475
+ })
2476
+ ], IonRadio);
2472
2477
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadio, decorators: [{
2473
2478
  type: Component,
2474
2479
  args: [{
@@ -2477,13 +2482,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2477
2482
  template: '<ng-content></ng-content>',
2478
2483
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2479
2484
  inputs: RADIO_INPUTS,
2480
- providers: [
2481
- {
2482
- provide: NG_VALUE_ACCESSOR,
2483
- useExisting: IonRadio,
2484
- multi: true,
2485
- },
2486
- ],
2485
+ providers: [accessorProvider$6],
2487
2486
  standalone: true,
2488
2487
  }]
2489
2488
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonSelect: [{
@@ -2511,33 +2510,39 @@ const RANGE_INPUTS = [
2511
2510
  'ticks',
2512
2511
  'value',
2513
2512
  ];
2514
- class IonRange extends ValueAccessor {
2513
+ /**
2514
+ * Pulling the provider into an object and using PURE works
2515
+ * around an ng-packagr issue that causes
2516
+ * components with multiple decorators and
2517
+ * a provider to be re-assigned. This re-assignment
2518
+ * is not supported by Webpack and causes treeshaking
2519
+ * to not work on these kinds of components.
2520
+ */
2521
+ const accessorProvider$5 = {
2522
+ provide: NG_VALUE_ACCESSOR,
2523
+ useExisting: /*@__PURE__*/ forwardRef(() => IonRange),
2524
+ multi: true,
2525
+ };
2526
+ let IonRange = class IonRange extends ValueAccessor {
2515
2527
  constructor(c, r, z, injector) {
2516
2528
  super(injector, r);
2517
2529
  this.z = z;
2518
- defineCustomElement$1d();
2519
2530
  c.detach();
2520
2531
  this.el = r.nativeElement;
2521
- /**
2522
- * Data-bound input properties are set
2523
- * by Angular after the constructor, so
2524
- * we need to run the proxy before ngOnInit.
2525
- */
2526
- proxyInputs(IonRange, RANGE_INPUTS);
2527
2532
  proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionFocus', 'ionBlur', 'ionKnobMoveStart', 'ionKnobMoveEnd']);
2528
2533
  }
2529
2534
  handleIonChange(el) {
2530
2535
  this.handleValueChange(el, el.value);
2531
2536
  }
2532
- }
2537
+ };
2533
2538
  /** @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 });
2534
- /** @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: [
2535
- {
2536
- provide: NG_VALUE_ACCESSOR,
2537
- useExisting: IonRange,
2538
- multi: true,
2539
- },
2540
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2539
+ /** @nocollapse */ IonRange.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRange, isStandalone: true, selector: "ion-range", inputs: { activeBarStart: "activeBarStart", color: "color", debounce: "debounce", disabled: "disabled", dualKnobs: "dualKnobs", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", min: "min", mode: "mode", name: "name", pin: "pin", pinFormatter: "pinFormatter", snaps: "snaps", step: "step", ticks: "ticks", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$5], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2540
+ IonRange = __decorate([
2541
+ ProxyCmp({
2542
+ defineCustomElementFn: defineCustomElement$1d,
2543
+ inputs: RANGE_INPUTS,
2544
+ })
2545
+ ], IonRange);
2541
2546
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRange, decorators: [{
2542
2547
  type: Component,
2543
2548
  args: [{
@@ -2546,13 +2551,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2546
2551
  template: '<ng-content></ng-content>',
2547
2552
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2548
2553
  inputs: RANGE_INPUTS,
2549
- providers: [
2550
- {
2551
- provide: NG_VALUE_ACCESSOR,
2552
- useExisting: IonRange,
2553
- multi: true,
2554
- },
2555
- ],
2554
+ providers: [accessorProvider$5],
2556
2555
  standalone: true,
2557
2556
  }]
2558
2557
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2582,35 +2581,40 @@ const SEARCHBAR_INPUTS = [
2582
2581
  'type',
2583
2582
  'value',
2584
2583
  ];
2585
- const SEARCHBAR_METHODS = ['setFocus', 'getInputElement'];
2586
- class IonSearchbar extends ValueAccessor {
2584
+ /**
2585
+ * Pulling the provider into an object and using PURE works
2586
+ * around an ng-packagr issue that causes
2587
+ * components with multiple decorators and
2588
+ * a provider to be re-assigned. This re-assignment
2589
+ * is not supported by Webpack and causes treeshaking
2590
+ * to not work on these kinds of components.
2591
+ */
2592
+ const accessorProvider$4 = {
2593
+ provide: NG_VALUE_ACCESSOR,
2594
+ useExisting: /*@__PURE__*/ forwardRef(() => IonSearchbar),
2595
+ multi: true,
2596
+ };
2597
+ let IonSearchbar = class IonSearchbar extends ValueAccessor {
2587
2598
  constructor(c, r, z, injector) {
2588
2599
  super(injector, r);
2589
2600
  this.z = z;
2590
- defineCustomElement$1e();
2591
2601
  c.detach();
2592
2602
  this.el = r.nativeElement;
2593
- /**
2594
- * Data-bound input properties are set
2595
- * by Angular after the constructor, so
2596
- * we need to run the proxy before ngOnInit.
2597
- */
2598
- proxyInputs(IonSearchbar, SEARCHBAR_INPUTS);
2599
- proxyMethods(IonSearchbar, SEARCHBAR_METHODS);
2600
2603
  proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionCancel', 'ionClear', 'ionBlur', 'ionFocus']);
2601
2604
  }
2602
2605
  handleIonInput(el) {
2603
2606
  this.handleValueChange(el, el.value);
2604
2607
  }
2605
- }
2608
+ };
2606
2609
  /** @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 });
2607
- /** @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: [
2608
- {
2609
- provide: NG_VALUE_ACCESSOR,
2610
- useExisting: IonSearchbar,
2611
- multi: true,
2612
- },
2613
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2610
+ /** @nocollapse */ IonSearchbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSearchbar, isStandalone: true, selector: "ion-searchbar", inputs: { animated: "animated", autocomplete: "autocomplete", autocorrect: "autocorrect", cancelButtonIcon: "cancelButtonIcon", cancelButtonText: "cancelButtonText", clearIcon: "clearIcon", color: "color", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", inputmode: "inputmode", mode: "mode", name: "name", placeholder: "placeholder", searchIcon: "searchIcon", showCancelButton: "showCancelButton", showClearButton: "showClearButton", spellcheck: "spellcheck", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [accessorProvider$4], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2611
+ IonSearchbar = __decorate([
2612
+ ProxyCmp({
2613
+ defineCustomElementFn: defineCustomElement$1e,
2614
+ inputs: SEARCHBAR_INPUTS,
2615
+ methods: ['setFocus', 'getInputElement'],
2616
+ })
2617
+ ], IonSearchbar);
2614
2618
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSearchbar, decorators: [{
2615
2619
  type: Component,
2616
2620
  args: [{
@@ -2619,13 +2623,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2619
2623
  template: '<ng-content></ng-content>',
2620
2624
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2621
2625
  inputs: SEARCHBAR_INPUTS,
2622
- providers: [
2623
- {
2624
- provide: NG_VALUE_ACCESSOR,
2625
- useExisting: IonSearchbar,
2626
- multi: true,
2627
- },
2628
- ],
2626
+ providers: [accessorProvider$4],
2629
2627
  standalone: true,
2630
2628
  }]
2631
2629
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2634,33 +2632,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2634
2632
  }] } });
2635
2633
 
2636
2634
  const SEGMENT_INPUTS = ['color', 'disabled', 'mode', 'scrollable', 'selectOnFocus', 'swipeGesture', 'value'];
2637
- class IonSegment extends ValueAccessor {
2635
+ /**
2636
+ * Pulling the provider into an object and using PURE works
2637
+ * around an ng-packagr issue that causes
2638
+ * components with multiple decorators and
2639
+ * a provider to be re-assigned. This re-assignment
2640
+ * is not supported by Webpack and causes treeshaking
2641
+ * to not work on these kinds of components.
2642
+ */
2643
+ const accessorProvider$3 = {
2644
+ provide: NG_VALUE_ACCESSOR,
2645
+ useExisting: /*@__PURE__*/ forwardRef(() => IonSegment),
2646
+ multi: true,
2647
+ };
2648
+ let IonSegment = class IonSegment extends ValueAccessor {
2638
2649
  constructor(c, r, z, injector) {
2639
2650
  super(injector, r);
2640
2651
  this.z = z;
2641
- defineCustomElement$1f();
2642
2652
  c.detach();
2643
2653
  this.el = r.nativeElement;
2644
- /**
2645
- * Data-bound input properties are set
2646
- * by Angular after the constructor, so
2647
- * we need to run the proxy before ngOnInit.
2648
- */
2649
- proxyInputs(IonSegment, SEGMENT_INPUTS);
2650
2654
  proxyOutputs(this, this.el, ['ionChange']);
2651
2655
  }
2652
2656
  handleIonChange(el) {
2653
2657
  this.handleValueChange(el, el.value);
2654
2658
  }
2655
- }
2659
+ };
2656
2660
  /** @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 });
2657
- /** @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: [
2658
- {
2659
- provide: NG_VALUE_ACCESSOR,
2660
- useExisting: IonSegment,
2661
- multi: true,
2662
- },
2663
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2661
+ /** @nocollapse */ IonSegment.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSegment, isStandalone: true, selector: "ion-segment", inputs: { color: "color", disabled: "disabled", mode: "mode", scrollable: "scrollable", selectOnFocus: "selectOnFocus", swipeGesture: "swipeGesture", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$3], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2662
+ IonSegment = __decorate([
2663
+ ProxyCmp({
2664
+ defineCustomElementFn: defineCustomElement$1f,
2665
+ inputs: SEGMENT_INPUTS,
2666
+ })
2667
+ ], IonSegment);
2664
2668
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSegment, decorators: [{
2665
2669
  type: Component,
2666
2670
  args: [{
@@ -2669,13 +2673,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2669
2673
  template: '<ng-content></ng-content>',
2670
2674
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2671
2675
  inputs: SEGMENT_INPUTS,
2672
- providers: [
2673
- {
2674
- provide: NG_VALUE_ACCESSOR,
2675
- useExisting: IonSegment,
2676
- multi: true,
2677
- },
2678
- ],
2676
+ providers: [accessorProvider$3],
2679
2677
  standalone: true,
2680
2678
  }]
2681
2679
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2706,35 +2704,40 @@ const SELECT_INPUTS = [
2706
2704
  'toggleIcon',
2707
2705
  'value',
2708
2706
  ];
2709
- const SELECT_METHODS = ['open'];
2710
- class IonSelect extends ValueAccessor {
2707
+ /**
2708
+ * Pulling the provider into an object and using PURE works
2709
+ * around an ng-packagr issue that causes
2710
+ * components with multiple decorators and
2711
+ * a provider to be re-assigned. This re-assignment
2712
+ * is not supported by Webpack and causes treeshaking
2713
+ * to not work on these kinds of components.
2714
+ */
2715
+ const accessorProvider$2 = {
2716
+ provide: NG_VALUE_ACCESSOR,
2717
+ useExisting: /*@__PURE__*/ forwardRef(() => IonSelect),
2718
+ multi: true,
2719
+ };
2720
+ let IonSelect = class IonSelect extends ValueAccessor {
2711
2721
  constructor(c, r, z, injector) {
2712
2722
  super(injector, r);
2713
2723
  this.z = z;
2714
- defineCustomElement$1g();
2715
2724
  c.detach();
2716
2725
  this.el = r.nativeElement;
2717
- /**
2718
- * Data-bound input properties are set
2719
- * by Angular after the constructor, so
2720
- * we need to run the proxy before ngOnInit.
2721
- */
2722
- proxyInputs(IonSelect, SELECT_INPUTS);
2723
- proxyMethods(IonSelect, SELECT_METHODS);
2724
2726
  proxyOutputs(this, this.el, ['ionChange', 'ionCancel', 'ionDismiss', 'ionFocus', 'ionBlur']);
2725
2727
  }
2726
2728
  handleIonChange(el) {
2727
2729
  this.handleValueChange(el, el.value);
2728
2730
  }
2729
- }
2731
+ };
2730
2732
  /** @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 });
2731
- /** @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: [
2732
- {
2733
- provide: NG_VALUE_ACCESSOR,
2734
- useExisting: IonSelect,
2735
- multi: true,
2736
- },
2737
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2733
+ /** @nocollapse */ IonSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSelect, isStandalone: true, selector: "ion-select", inputs: { cancelText: "cancelText", color: "color", compareWith: "compareWith", disabled: "disabled", expandedIcon: "expandedIcon", fill: "fill", interface: "interface", interfaceOptions: "interfaceOptions", justify: "justify", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", multiple: "multiple", name: "name", okText: "okText", placeholder: "placeholder", selectedText: "selectedText", shape: "shape", toggleIcon: "toggleIcon", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$2], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2734
+ IonSelect = __decorate([
2735
+ ProxyCmp({
2736
+ defineCustomElementFn: defineCustomElement$1g,
2737
+ inputs: SELECT_INPUTS,
2738
+ methods: ['open'],
2739
+ })
2740
+ ], IonSelect);
2738
2741
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSelect, decorators: [{
2739
2742
  type: Component,
2740
2743
  args: [{
@@ -2743,13 +2746,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2743
2746
  template: '<ng-content></ng-content>',
2744
2747
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2745
2748
  inputs: SELECT_INPUTS,
2746
- providers: [
2747
- {
2748
- provide: NG_VALUE_ACCESSOR,
2749
- useExisting: IonSelect,
2750
- multi: true,
2751
- },
2752
- ],
2749
+ providers: [accessorProvider$2],
2753
2750
  standalone: true,
2754
2751
  }]
2755
2752
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2789,35 +2786,40 @@ const TEXTAREA_INPUTS = [
2789
2786
  'value',
2790
2787
  'wrap',
2791
2788
  ];
2792
- const TEXTAREA_METHODS = ['setFocus', 'getInputElement'];
2793
- class IonTextarea extends ValueAccessor {
2789
+ /**
2790
+ * Pulling the provider into an object and using PURE works
2791
+ * around an ng-packagr issue that causes
2792
+ * components with multiple decorators and
2793
+ * a provider to be re-assigned. This re-assignment
2794
+ * is not supported by Webpack and causes treeshaking
2795
+ * to not work on these kinds of components.
2796
+ */
2797
+ const accessorProvider$1 = {
2798
+ provide: NG_VALUE_ACCESSOR,
2799
+ useExisting: /*@__PURE__*/ forwardRef(() => IonTextarea),
2800
+ multi: true,
2801
+ };
2802
+ let IonTextarea = class IonTextarea extends ValueAccessor {
2794
2803
  constructor(c, r, z, injector) {
2795
2804
  super(injector, r);
2796
2805
  this.z = z;
2797
- defineCustomElement$1h();
2798
2806
  c.detach();
2799
2807
  this.el = r.nativeElement;
2800
- /**
2801
- * Data-bound input properties are set
2802
- * by Angular after the constructor, so
2803
- * we need to run the proxy before ngOnInit.
2804
- */
2805
- proxyInputs(IonTextarea, TEXTAREA_INPUTS);
2806
- proxyMethods(IonTextarea, TEXTAREA_METHODS);
2807
2808
  proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionBlur', 'ionFocus']);
2808
2809
  }
2809
2810
  handleIonInput(el) {
2810
2811
  this.handleValueChange(el, el.value);
2811
2812
  }
2812
- }
2813
+ };
2813
2814
  /** @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 });
2814
- /** @nocollapse */ IonTextarea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonTextarea, isStandalone: true, selector: "ion-textarea", inputs: { autoGrow: "autoGrow", autocapitalize: "autocapitalize", autofocus: "autofocus", clearOnEdit: "clearOnEdit", color: "color", cols: "cols", counter: "counter", counterFormatter: "counterFormatter", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", errorText: "errorText", fill: "fill", helperText: "helperText", inputmode: "inputmode", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", maxlength: "maxlength", minlength: "minlength", mode: "mode", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", rows: "rows", shape: "shape", spellcheck: "spellcheck", value: "value", wrap: "wrap" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [
2815
- {
2816
- provide: NG_VALUE_ACCESSOR,
2817
- useExisting: IonTextarea,
2818
- multi: true,
2819
- },
2820
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2815
+ /** @nocollapse */ IonTextarea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonTextarea, isStandalone: true, selector: "ion-textarea", inputs: { autoGrow: "autoGrow", autocapitalize: "autocapitalize", autofocus: "autofocus", clearOnEdit: "clearOnEdit", color: "color", cols: "cols", counter: "counter", counterFormatter: "counterFormatter", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", errorText: "errorText", fill: "fill", helperText: "helperText", inputmode: "inputmode", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", maxlength: "maxlength", minlength: "minlength", mode: "mode", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", rows: "rows", shape: "shape", spellcheck: "spellcheck", value: "value", wrap: "wrap" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [accessorProvider$1], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2816
+ IonTextarea = __decorate([
2817
+ ProxyCmp({
2818
+ defineCustomElementFn: defineCustomElement$1h,
2819
+ inputs: TEXTAREA_INPUTS,
2820
+ methods: ['setFocus', 'getInputElement'],
2821
+ })
2822
+ ], IonTextarea);
2821
2823
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonTextarea, decorators: [{
2822
2824
  type: Component,
2823
2825
  args: [{
@@ -2826,13 +2828,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2826
2828
  template: '<ng-content></ng-content>',
2827
2829
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2828
2830
  inputs: TEXTAREA_INPUTS,
2829
- providers: [
2830
- {
2831
- provide: NG_VALUE_ACCESSOR,
2832
- useExisting: IonTextarea,
2833
- multi: true,
2834
- },
2835
- ],
2831
+ providers: [accessorProvider$1],
2836
2832
  standalone: true,
2837
2833
  }]
2838
2834
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2852,19 +2848,25 @@ const TOGGLE_INPUTS = [
2852
2848
  'name',
2853
2849
  'value',
2854
2850
  ];
2855
- class IonToggle extends ValueAccessor {
2851
+ /**
2852
+ * Pulling the provider into an object and using PURE works
2853
+ * around an ng-packagr issue that causes
2854
+ * components with multiple decorators and
2855
+ * a provider to be re-assigned. This re-assignment
2856
+ * is not supported by Webpack and causes treeshaking
2857
+ * to not work on these kinds of components.
2858
+ */
2859
+ const accessorProvider = {
2860
+ provide: NG_VALUE_ACCESSOR,
2861
+ useExisting: /*@__PURE__*/ forwardRef(() => IonToggle),
2862
+ multi: true,
2863
+ };
2864
+ let IonToggle = class IonToggle extends ValueAccessor {
2856
2865
  constructor(c, r, z, injector) {
2857
2866
  super(injector, r);
2858
2867
  this.z = z;
2859
- defineCustomElement$1i();
2860
2868
  c.detach();
2861
2869
  this.el = r.nativeElement;
2862
- /**
2863
- * Data-bound input properties are set
2864
- * by Angular after the constructor, so
2865
- * we need to run the proxy before ngOnInit.
2866
- */
2867
- proxyInputs(IonToggle, TOGGLE_INPUTS);
2868
2870
  proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
2869
2871
  }
2870
2872
  writeValue(value) {
@@ -2874,15 +2876,15 @@ class IonToggle extends ValueAccessor {
2874
2876
  handleIonChange(el) {
2875
2877
  this.handleValueChange(el, el.checked);
2876
2878
  }
2877
- }
2879
+ };
2878
2880
  /** @nocollapse */ IonToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonToggle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2879
- /** @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: [
2880
- {
2881
- provide: NG_VALUE_ACCESSOR,
2882
- useExisting: IonToggle,
2883
- multi: true,
2884
- },
2885
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2881
+ /** @nocollapse */ IonToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonToggle, isStandalone: true, selector: "ion-toggle", inputs: { checked: "checked", color: "color", disabled: "disabled", enableOnOffLabels: "enableOnOffLabels", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2882
+ IonToggle = __decorate([
2883
+ ProxyCmp({
2884
+ defineCustomElementFn: defineCustomElement$1i,
2885
+ inputs: TOGGLE_INPUTS,
2886
+ })
2887
+ ], IonToggle);
2886
2888
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonToggle, decorators: [{
2887
2889
  type: Component,
2888
2890
  args: [{
@@ -2891,13 +2893,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2891
2893
  template: '<ng-content></ng-content>',
2892
2894
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2893
2895
  inputs: TOGGLE_INPUTS,
2894
- providers: [
2895
- {
2896
- provide: NG_VALUE_ACCESSOR,
2897
- useExisting: IonToggle,
2898
- multi: true,
2899
- },
2900
- ],
2896
+ providers: [accessorProvider],
2901
2897
  standalone: true,
2902
2898
  }]
2903
2899
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{