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