@ionic/angular 7.5.3-nightly.20231031 → 7.5.3-nightly.20231101

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';
@@ -2127,23 +2127,27 @@ const CHECKBOX_INPUTS = [
2127
2127
  'name',
2128
2128
  'value',
2129
2129
  ];
2130
- class IonCheckbox extends ValueAccessor {
2130
+ /**
2131
+ * Pulling the provider into an object and using PURE works
2132
+ * around an ng-packagr issue that causes
2133
+ * components with multiple decorators and
2134
+ * a provider to be re-assigned. This re-assignment
2135
+ * is not supported by Webpack and causes treeshaking
2136
+ * to not work on these kinds of components.
2137
+ */
2138
+ const accessorProvider$a = {
2139
+ provide: NG_VALUE_ACCESSOR,
2140
+ useExisting: /*@__PURE__*/ forwardRef(() => IonCheckbox),
2141
+ multi: true,
2142
+ };
2143
+ let IonCheckbox = class IonCheckbox extends ValueAccessor {
2131
2144
  constructor(c, r, z, injector) {
2132
2145
  super(injector, r);
2133
2146
  this.z = z;
2134
- defineCustomElement$17();
2135
2147
  c.detach();
2136
2148
  this.el = r.nativeElement;
2137
2149
  proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
2138
2150
  }
2139
- ngOnInit() {
2140
- /**
2141
- * Data-bound input properties are set
2142
- * by Angular after the constructor, so
2143
- * we need to run the proxy in ngOnInit.
2144
- */
2145
- proxyInputs(IonCheckbox, CHECKBOX_INPUTS);
2146
- }
2147
2151
  writeValue(value) {
2148
2152
  this.elementRef.nativeElement.checked = this.lastValue = value;
2149
2153
  setIonicClasses(this.elementRef);
@@ -2151,15 +2155,15 @@ class IonCheckbox extends ValueAccessor {
2151
2155
  handleIonChange(el) {
2152
2156
  this.handleValueChange(el, el.checked);
2153
2157
  }
2154
- }
2158
+ };
2155
2159
  /** @nocollapse */ IonCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2156
- /** @nocollapse */ IonCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonCheckbox, isStandalone: true, selector: "ion-checkbox", inputs: { checked: "checked", color: "color", disabled: "disabled", indeterminate: "indeterminate", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
2157
- {
2158
- provide: NG_VALUE_ACCESSOR,
2159
- useExisting: IonCheckbox,
2160
- multi: true,
2161
- },
2162
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2160
+ /** @nocollapse */ IonCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonCheckbox, isStandalone: true, selector: "ion-checkbox", inputs: { checked: "checked", color: "color", disabled: "disabled", indeterminate: "indeterminate", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$a], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2161
+ IonCheckbox = __decorate([
2162
+ ProxyCmp({
2163
+ defineCustomElementFn: defineCustomElement$17,
2164
+ inputs: CHECKBOX_INPUTS,
2165
+ })
2166
+ ], IonCheckbox);
2163
2167
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonCheckbox, decorators: [{
2164
2168
  type: Component,
2165
2169
  args: [{
@@ -2168,13 +2172,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2168
2172
  template: '<ng-content></ng-content>',
2169
2173
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2170
2174
  inputs: CHECKBOX_INPUTS,
2171
- providers: [
2172
- {
2173
- provide: NG_VALUE_ACCESSOR,
2174
- useExisting: IonCheckbox,
2175
- multi: true,
2176
- },
2177
- ],
2175
+ providers: [accessorProvider$a],
2178
2176
  standalone: true,
2179
2177
  }]
2180
2178
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2214,37 +2212,41 @@ const DATETIME_INPUTS = [
2214
2212
  'value',
2215
2213
  'yearValues',
2216
2214
  ];
2217
- const DATETIME_METHODS = ['confirm', 'reset', 'cancel'];
2218
- class IonDatetime extends ValueAccessor {
2215
+ /**
2216
+ * Pulling the provider into an object and using PURE works
2217
+ * around an ng-packagr issue that causes
2218
+ * components with multiple decorators and
2219
+ * a provider to be re-assigned. This re-assignment
2220
+ * is not supported by Webpack and causes treeshaking
2221
+ * to not work on these kinds of components.
2222
+
2223
+ */
2224
+ const accessorProvider$9 = {
2225
+ provide: NG_VALUE_ACCESSOR,
2226
+ useExisting: /*@__PURE__*/ forwardRef(() => IonDatetime),
2227
+ multi: true,
2228
+ };
2229
+ let IonDatetime = class IonDatetime extends ValueAccessor {
2219
2230
  constructor(c, r, z, injector) {
2220
2231
  super(injector, r);
2221
2232
  this.z = z;
2222
- defineCustomElement$18();
2223
2233
  c.detach();
2224
2234
  this.el = r.nativeElement;
2225
2235
  proxyOutputs(this, this.el, ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur']);
2226
2236
  }
2227
- ngOnInit() {
2228
- /**
2229
- * Data-bound input properties are set
2230
- * by Angular after the constructor, so
2231
- * we need to run the proxy in ngOnInit.
2232
- */
2233
- proxyInputs(IonDatetime, DATETIME_INPUTS);
2234
- proxyMethods(IonDatetime, DATETIME_METHODS);
2235
- }
2236
2237
  handleIonChange(el) {
2237
2238
  this.handleValueChange(el, el.value);
2238
2239
  }
2239
- }
2240
+ };
2240
2241
  /** @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 });
2241
- /** @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: [
2242
- {
2243
- provide: NG_VALUE_ACCESSOR,
2244
- useExisting: IonDatetime,
2245
- multi: true,
2246
- },
2247
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2242
+ /** @nocollapse */ IonDatetime.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonDatetime, isStandalone: true, selector: "ion-datetime", inputs: { cancelText: "cancelText", clearText: "clearText", color: "color", dayValues: "dayValues", disabled: "disabled", doneText: "doneText", firstDayOfWeek: "firstDayOfWeek", highlightedDates: "highlightedDates", hourCycle: "hourCycle", hourValues: "hourValues", isDateEnabled: "isDateEnabled", locale: "locale", max: "max", min: "min", minuteValues: "minuteValues", mode: "mode", monthValues: "monthValues", multiple: "multiple", name: "name", preferWheel: "preferWheel", presentation: "presentation", readonly: "readonly", showClearButton: "showClearButton", showDefaultButtons: "showDefaultButtons", showDefaultTimeLabel: "showDefaultTimeLabel", showDefaultTitle: "showDefaultTitle", size: "size", titleSelectedDatesFormatter: "titleSelectedDatesFormatter", value: "value", yearValues: "yearValues" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$9], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2243
+ IonDatetime = __decorate([
2244
+ ProxyCmp({
2245
+ defineCustomElementFn: defineCustomElement$18,
2246
+ inputs: DATETIME_INPUTS,
2247
+ methods: ['confirm', 'reset', 'cancel'],
2248
+ })
2249
+ ], IonDatetime);
2248
2250
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonDatetime, decorators: [{
2249
2251
  type: Component,
2250
2252
  args: [{
@@ -2253,13 +2255,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2253
2255
  template: '<ng-content></ng-content>',
2254
2256
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2255
2257
  inputs: DATETIME_INPUTS,
2256
- providers: [
2257
- {
2258
- provide: NG_VALUE_ACCESSOR,
2259
- useExisting: IonDatetime,
2260
- multi: true,
2261
- },
2262
- ],
2258
+ providers: [accessorProvider$9],
2263
2259
  standalone: true,
2264
2260
  }]
2265
2261
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2333,25 +2329,27 @@ const INPUT_INPUTS = [
2333
2329
  'type',
2334
2330
  'value',
2335
2331
  ];
2336
- const INPUT_METHODS = ['setFocus', 'getInputElement'];
2337
- class IonInput extends ValueAccessor {
2332
+ /**
2333
+ * Pulling the provider into an object and using PURE works
2334
+ * around an ng-packagr issue that causes
2335
+ * components with multiple decorators and
2336
+ * a provider to be re-assigned. This re-assignment
2337
+ * is not supported by Webpack and causes treeshaking
2338
+ * to not work on these kinds of components.
2339
+ */
2340
+ const accessorProvider$8 = {
2341
+ provide: NG_VALUE_ACCESSOR,
2342
+ useExisting: /*@__PURE__*/ forwardRef(() => IonInput),
2343
+ multi: true,
2344
+ };
2345
+ let IonInput = class IonInput extends ValueAccessor {
2338
2346
  constructor(c, r, z, injector) {
2339
2347
  super(injector, r);
2340
2348
  this.z = z;
2341
- defineCustomElement$1a();
2342
2349
  c.detach();
2343
2350
  this.el = r.nativeElement;
2344
2351
  proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionBlur', 'ionFocus']);
2345
2352
  }
2346
- ngOnInit() {
2347
- /**
2348
- * Data-bound input properties are set
2349
- * by Angular after the constructor, so
2350
- * we need to run the proxy in ngOnInit.
2351
- */
2352
- proxyInputs(IonInput, INPUT_INPUTS);
2353
- proxyMethods(IonInput, INPUT_METHODS);
2354
- }
2355
2353
  handleIonInput(el) {
2356
2354
  this.handleValueChange(el, el.value);
2357
2355
  }
@@ -2370,15 +2368,16 @@ class IonInput extends ValueAccessor {
2370
2368
  }
2371
2369
  });
2372
2370
  }
2373
- }
2371
+ };
2374
2372
  /** @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 });
2375
- /** @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: [
2376
- {
2377
- provide: NG_VALUE_ACCESSOR,
2378
- useExisting: IonInput,
2379
- multi: true,
2380
- },
2381
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2373
+ /** @nocollapse */ IonInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonInput, isStandalone: true, selector: "ion-input", inputs: { accept: "accept", autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", clearInput: "clearInput", clearOnEdit: "clearOnEdit", color: "color", counter: "counter", counterFormatter: "counterFormatter", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", errorText: "errorText", fill: "fill", helperText: "helperText", inputmode: "inputmode", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", maxlength: "maxlength", min: "min", minlength: "minlength", mode: "mode", multiple: "multiple", name: "name", pattern: "pattern", placeholder: "placeholder", readonly: "readonly", required: "required", shape: "shape", size: "size", spellcheck: "spellcheck", step: "step", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [accessorProvider$8], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2374
+ IonInput = __decorate([
2375
+ ProxyCmp({
2376
+ defineCustomElementFn: defineCustomElement$1a,
2377
+ inputs: INPUT_INPUTS,
2378
+ methods: ['setFocus', 'getInputElement'],
2379
+ })
2380
+ ], IonInput);
2382
2381
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonInput, decorators: [{
2383
2382
  type: Component,
2384
2383
  args: [{
@@ -2387,13 +2386,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2387
2386
  template: '<ng-content></ng-content>',
2388
2387
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2389
2388
  inputs: INPUT_INPUTS,
2390
- providers: [
2391
- {
2392
- provide: NG_VALUE_ACCESSOR,
2393
- useExisting: IonInput,
2394
- multi: true,
2395
- },
2396
- ],
2389
+ providers: [accessorProvider$8],
2397
2390
  standalone: true,
2398
2391
  }]
2399
2392
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2402,35 +2395,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2402
2395
  }] } });
2403
2396
 
2404
2397
  const RADIO_GROUP_INPUTS = ['allowEmptySelection', 'name', 'value'];
2405
- class IonRadioGroup extends ValueAccessor {
2398
+ /**
2399
+ * Pulling the provider into an object and using PURE works
2400
+ * around an ng-packagr issue that causes
2401
+ * components with multiple decorators and
2402
+ * a provider to be re-assigned. This re-assignment
2403
+ * is not supported by Webpack and causes treeshaking
2404
+ * to not work on these kinds of components.
2405
+ */
2406
+ const accessorProvider$7 = {
2407
+ provide: NG_VALUE_ACCESSOR,
2408
+ useExisting: /*@__PURE__*/ forwardRef(() => IonRadioGroup),
2409
+ multi: true,
2410
+ };
2411
+ let IonRadioGroup = class IonRadioGroup extends ValueAccessor {
2406
2412
  constructor(c, r, z, injector) {
2407
2413
  super(injector, r);
2408
2414
  this.z = z;
2409
- defineCustomElement$1b();
2410
2415
  c.detach();
2411
2416
  this.el = r.nativeElement;
2412
2417
  proxyOutputs(this, this.el, ['ionChange']);
2413
2418
  }
2414
- ngOnInit() {
2415
- /**
2416
- * Data-bound input properties are set
2417
- * by Angular after the constructor, so
2418
- * we need to run the proxy in ngOnInit.
2419
- */
2420
- proxyInputs(IonRadioGroup, RADIO_GROUP_INPUTS);
2421
- }
2422
2419
  handleIonChange(el) {
2423
2420
  this.handleValueChange(el, el.value);
2424
2421
  }
2425
- }
2422
+ };
2426
2423
  /** @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 });
2427
- /** @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: [
2428
- {
2429
- provide: NG_VALUE_ACCESSOR,
2430
- useExisting: IonRadioGroup,
2431
- multi: true,
2432
- },
2433
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2424
+ /** @nocollapse */ IonRadioGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadioGroup, isStandalone: true, selector: "ion-radio-group", inputs: { allowEmptySelection: "allowEmptySelection", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$7], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2425
+ IonRadioGroup = __decorate([
2426
+ ProxyCmp({
2427
+ defineCustomElementFn: defineCustomElement$1b,
2428
+ inputs: RADIO_GROUP_INPUTS,
2429
+ })
2430
+ ], IonRadioGroup);
2434
2431
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadioGroup, decorators: [{
2435
2432
  type: Component,
2436
2433
  args: [{
@@ -2439,13 +2436,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2439
2436
  template: '<ng-content></ng-content>',
2440
2437
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2441
2438
  inputs: RADIO_GROUP_INPUTS,
2442
- providers: [
2443
- {
2444
- provide: NG_VALUE_ACCESSOR,
2445
- useExisting: IonRadioGroup,
2446
- multi: true,
2447
- },
2448
- ],
2439
+ providers: [accessorProvider$7],
2449
2440
  standalone: true,
2450
2441
  }]
2451
2442
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2454,23 +2445,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2454
2445
  }] } });
2455
2446
 
2456
2447
  const RADIO_INPUTS = ['color', 'disabled', 'justify', 'labelPlacement', 'legacy', 'mode', 'name', 'value'];
2457
- class IonRadio extends ValueAccessor {
2448
+ /**
2449
+ * Pulling the provider into an object and using PURE works
2450
+ * around an ng-packagr issue that causes
2451
+ * components with multiple decorators and
2452
+ * a provider to be re-assigned. This re-assignment
2453
+ * is not supported by Webpack and causes treeshaking
2454
+ * to not work on these kinds of components.
2455
+ */
2456
+ const accessorProvider$6 = {
2457
+ provide: NG_VALUE_ACCESSOR,
2458
+ useExisting: /*@__PURE__*/ forwardRef(() => IonRadio),
2459
+ multi: true,
2460
+ };
2461
+ let IonRadio = class IonRadio extends ValueAccessor {
2458
2462
  constructor(c, r, z, injector) {
2459
2463
  super(injector, r);
2460
2464
  this.z = z;
2461
- defineCustomElement$1c();
2462
2465
  c.detach();
2463
2466
  this.el = r.nativeElement;
2464
2467
  proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
2465
2468
  }
2466
- ngOnInit() {
2467
- /**
2468
- * Data-bound input properties are set
2469
- * by Angular after the constructor, so
2470
- * we need to run the proxy in ngOnInit.
2471
- */
2472
- proxyInputs(IonRadio, RADIO_INPUTS);
2473
- }
2474
2469
  handleIonSelect(el) {
2475
2470
  /**
2476
2471
  * The `el` type is any to access the `checked` state property
@@ -2478,15 +2473,15 @@ class IonRadio extends ValueAccessor {
2478
2473
  */
2479
2474
  this.handleValueChange(el, el.checked);
2480
2475
  }
2481
- }
2476
+ };
2482
2477
  /** @nocollapse */ IonRadio.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
2483
- /** @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: [
2484
- {
2485
- provide: NG_VALUE_ACCESSOR,
2486
- useExisting: IonRadio,
2487
- multi: true,
2488
- },
2489
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2478
+ /** @nocollapse */ IonRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadio, isStandalone: true, selector: "ion-radio", inputs: { color: "color", disabled: "disabled", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionSelect": "handleIonSelect($event.target)" } }, providers: [accessorProvider$6], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2479
+ IonRadio = __decorate([
2480
+ ProxyCmp({
2481
+ defineCustomElementFn: defineCustomElement$1c,
2482
+ inputs: RADIO_INPUTS,
2483
+ })
2484
+ ], IonRadio);
2490
2485
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadio, decorators: [{
2491
2486
  type: Component,
2492
2487
  args: [{
@@ -2495,13 +2490,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2495
2490
  template: '<ng-content></ng-content>',
2496
2491
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2497
2492
  inputs: RADIO_INPUTS,
2498
- providers: [
2499
- {
2500
- provide: NG_VALUE_ACCESSOR,
2501
- useExisting: IonRadio,
2502
- multi: true,
2503
- },
2504
- ],
2493
+ providers: [accessorProvider$6],
2505
2494
  standalone: true,
2506
2495
  }]
2507
2496
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonSelect: [{
@@ -2529,35 +2518,39 @@ const RANGE_INPUTS = [
2529
2518
  'ticks',
2530
2519
  'value',
2531
2520
  ];
2532
- class IonRange extends ValueAccessor {
2521
+ /**
2522
+ * Pulling the provider into an object and using PURE works
2523
+ * around an ng-packagr issue that causes
2524
+ * components with multiple decorators and
2525
+ * a provider to be re-assigned. This re-assignment
2526
+ * is not supported by Webpack and causes treeshaking
2527
+ * to not work on these kinds of components.
2528
+ */
2529
+ const accessorProvider$5 = {
2530
+ provide: NG_VALUE_ACCESSOR,
2531
+ useExisting: /*@__PURE__*/ forwardRef(() => IonRange),
2532
+ multi: true,
2533
+ };
2534
+ let IonRange = class IonRange extends ValueAccessor {
2533
2535
  constructor(c, r, z, injector) {
2534
2536
  super(injector, r);
2535
2537
  this.z = z;
2536
- defineCustomElement$1d();
2537
2538
  c.detach();
2538
2539
  this.el = r.nativeElement;
2539
2540
  proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionFocus', 'ionBlur', 'ionKnobMoveStart', 'ionKnobMoveEnd']);
2540
2541
  }
2541
- ngOnInit() {
2542
- /**
2543
- * Data-bound input properties are set
2544
- * by Angular after the constructor, so
2545
- * we need to run the proxy in ngOnInit.
2546
- */
2547
- proxyInputs(IonRange, RANGE_INPUTS);
2548
- }
2549
2542
  handleIonChange(el) {
2550
2543
  this.handleValueChange(el, el.value);
2551
2544
  }
2552
- }
2545
+ };
2553
2546
  /** @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 });
2554
- /** @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: [
2555
- {
2556
- provide: NG_VALUE_ACCESSOR,
2557
- useExisting: IonRange,
2558
- multi: true,
2559
- },
2560
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2547
+ /** @nocollapse */ IonRange.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRange, isStandalone: true, selector: "ion-range", inputs: { activeBarStart: "activeBarStart", color: "color", debounce: "debounce", disabled: "disabled", dualKnobs: "dualKnobs", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", min: "min", mode: "mode", name: "name", pin: "pin", pinFormatter: "pinFormatter", snaps: "snaps", step: "step", ticks: "ticks", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$5], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2548
+ IonRange = __decorate([
2549
+ ProxyCmp({
2550
+ defineCustomElementFn: defineCustomElement$1d,
2551
+ inputs: RANGE_INPUTS,
2552
+ })
2553
+ ], IonRange);
2561
2554
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRange, decorators: [{
2562
2555
  type: Component,
2563
2556
  args: [{
@@ -2566,13 +2559,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2566
2559
  template: '<ng-content></ng-content>',
2567
2560
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2568
2561
  inputs: RANGE_INPUTS,
2569
- providers: [
2570
- {
2571
- provide: NG_VALUE_ACCESSOR,
2572
- useExisting: IonRange,
2573
- multi: true,
2574
- },
2575
- ],
2562
+ providers: [accessorProvider$5],
2576
2563
  standalone: true,
2577
2564
  }]
2578
2565
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2602,37 +2589,40 @@ const SEARCHBAR_INPUTS = [
2602
2589
  'type',
2603
2590
  'value',
2604
2591
  ];
2605
- const SEARCHBAR_METHODS = ['setFocus', 'getInputElement'];
2606
- class IonSearchbar extends ValueAccessor {
2592
+ /**
2593
+ * Pulling the provider into an object and using PURE works
2594
+ * around an ng-packagr issue that causes
2595
+ * components with multiple decorators and
2596
+ * a provider to be re-assigned. This re-assignment
2597
+ * is not supported by Webpack and causes treeshaking
2598
+ * to not work on these kinds of components.
2599
+ */
2600
+ const accessorProvider$4 = {
2601
+ provide: NG_VALUE_ACCESSOR,
2602
+ useExisting: /*@__PURE__*/ forwardRef(() => IonSearchbar),
2603
+ multi: true,
2604
+ };
2605
+ let IonSearchbar = class IonSearchbar extends ValueAccessor {
2607
2606
  constructor(c, r, z, injector) {
2608
2607
  super(injector, r);
2609
2608
  this.z = z;
2610
- defineCustomElement$1e();
2611
2609
  c.detach();
2612
2610
  this.el = r.nativeElement;
2613
2611
  proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionCancel', 'ionClear', 'ionBlur', 'ionFocus']);
2614
2612
  }
2615
- ngOnInit() {
2616
- /**
2617
- * Data-bound input properties are set
2618
- * by Angular after the constructor, so
2619
- * we need to run the proxy in ngOnInit.
2620
- */
2621
- proxyInputs(IonSearchbar, SEARCHBAR_INPUTS);
2622
- proxyMethods(IonSearchbar, SEARCHBAR_METHODS);
2623
- }
2624
2613
  handleIonInput(el) {
2625
2614
  this.handleValueChange(el, el.value);
2626
2615
  }
2627
- }
2616
+ };
2628
2617
  /** @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 });
2629
- /** @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: [
2630
- {
2631
- provide: NG_VALUE_ACCESSOR,
2632
- useExisting: IonSearchbar,
2633
- multi: true,
2634
- },
2635
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2618
+ /** @nocollapse */ IonSearchbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSearchbar, isStandalone: true, selector: "ion-searchbar", inputs: { animated: "animated", autocomplete: "autocomplete", autocorrect: "autocorrect", cancelButtonIcon: "cancelButtonIcon", cancelButtonText: "cancelButtonText", clearIcon: "clearIcon", color: "color", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", inputmode: "inputmode", mode: "mode", name: "name", placeholder: "placeholder", searchIcon: "searchIcon", showCancelButton: "showCancelButton", showClearButton: "showClearButton", spellcheck: "spellcheck", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [accessorProvider$4], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2619
+ IonSearchbar = __decorate([
2620
+ ProxyCmp({
2621
+ defineCustomElementFn: defineCustomElement$1e,
2622
+ inputs: SEARCHBAR_INPUTS,
2623
+ methods: ['setFocus', 'getInputElement'],
2624
+ })
2625
+ ], IonSearchbar);
2636
2626
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSearchbar, decorators: [{
2637
2627
  type: Component,
2638
2628
  args: [{
@@ -2641,13 +2631,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2641
2631
  template: '<ng-content></ng-content>',
2642
2632
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2643
2633
  inputs: SEARCHBAR_INPUTS,
2644
- providers: [
2645
- {
2646
- provide: NG_VALUE_ACCESSOR,
2647
- useExisting: IonSearchbar,
2648
- multi: true,
2649
- },
2650
- ],
2634
+ providers: [accessorProvider$4],
2651
2635
  standalone: true,
2652
2636
  }]
2653
2637
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2656,35 +2640,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2656
2640
  }] } });
2657
2641
 
2658
2642
  const SEGMENT_INPUTS = ['color', 'disabled', 'mode', 'scrollable', 'selectOnFocus', 'swipeGesture', 'value'];
2659
- class IonSegment extends ValueAccessor {
2643
+ /**
2644
+ * Pulling the provider into an object and using PURE works
2645
+ * around an ng-packagr issue that causes
2646
+ * components with multiple decorators and
2647
+ * a provider to be re-assigned. This re-assignment
2648
+ * is not supported by Webpack and causes treeshaking
2649
+ * to not work on these kinds of components.
2650
+ */
2651
+ const accessorProvider$3 = {
2652
+ provide: NG_VALUE_ACCESSOR,
2653
+ useExisting: /*@__PURE__*/ forwardRef(() => IonSegment),
2654
+ multi: true,
2655
+ };
2656
+ let IonSegment = class IonSegment extends ValueAccessor {
2660
2657
  constructor(c, r, z, injector) {
2661
2658
  super(injector, r);
2662
2659
  this.z = z;
2663
- defineCustomElement$1f();
2664
2660
  c.detach();
2665
2661
  this.el = r.nativeElement;
2666
2662
  proxyOutputs(this, this.el, ['ionChange']);
2667
2663
  }
2668
- ngOnInit() {
2669
- /**
2670
- * Data-bound input properties are set
2671
- * by Angular after the constructor, so
2672
- * we need to run the proxy in ngOnInit.
2673
- */
2674
- proxyInputs(IonSegment, SEGMENT_INPUTS);
2675
- }
2676
2664
  handleIonChange(el) {
2677
2665
  this.handleValueChange(el, el.value);
2678
2666
  }
2679
- }
2667
+ };
2680
2668
  /** @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 });
2681
- /** @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: [
2682
- {
2683
- provide: NG_VALUE_ACCESSOR,
2684
- useExisting: IonSegment,
2685
- multi: true,
2686
- },
2687
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2669
+ /** @nocollapse */ IonSegment.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSegment, isStandalone: true, selector: "ion-segment", inputs: { color: "color", disabled: "disabled", mode: "mode", scrollable: "scrollable", selectOnFocus: "selectOnFocus", swipeGesture: "swipeGesture", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$3], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2670
+ IonSegment = __decorate([
2671
+ ProxyCmp({
2672
+ defineCustomElementFn: defineCustomElement$1f,
2673
+ inputs: SEGMENT_INPUTS,
2674
+ })
2675
+ ], IonSegment);
2688
2676
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSegment, decorators: [{
2689
2677
  type: Component,
2690
2678
  args: [{
@@ -2693,13 +2681,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2693
2681
  template: '<ng-content></ng-content>',
2694
2682
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2695
2683
  inputs: SEGMENT_INPUTS,
2696
- providers: [
2697
- {
2698
- provide: NG_VALUE_ACCESSOR,
2699
- useExisting: IonSegment,
2700
- multi: true,
2701
- },
2702
- ],
2684
+ providers: [accessorProvider$3],
2703
2685
  standalone: true,
2704
2686
  }]
2705
2687
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2730,37 +2712,40 @@ const SELECT_INPUTS = [
2730
2712
  'toggleIcon',
2731
2713
  'value',
2732
2714
  ];
2733
- const SELECT_METHODS = ['open'];
2734
- class IonSelect extends ValueAccessor {
2715
+ /**
2716
+ * Pulling the provider into an object and using PURE works
2717
+ * around an ng-packagr issue that causes
2718
+ * components with multiple decorators and
2719
+ * a provider to be re-assigned. This re-assignment
2720
+ * is not supported by Webpack and causes treeshaking
2721
+ * to not work on these kinds of components.
2722
+ */
2723
+ const accessorProvider$2 = {
2724
+ provide: NG_VALUE_ACCESSOR,
2725
+ useExisting: /*@__PURE__*/ forwardRef(() => IonSelect),
2726
+ multi: true,
2727
+ };
2728
+ let IonSelect = class IonSelect extends ValueAccessor {
2735
2729
  constructor(c, r, z, injector) {
2736
2730
  super(injector, r);
2737
2731
  this.z = z;
2738
- defineCustomElement$1g();
2739
2732
  c.detach();
2740
2733
  this.el = r.nativeElement;
2741
2734
  proxyOutputs(this, this.el, ['ionChange', 'ionCancel', 'ionDismiss', 'ionFocus', 'ionBlur']);
2742
2735
  }
2743
- ngOnInit() {
2744
- /**
2745
- * Data-bound input properties are set
2746
- * by Angular after the constructor, so
2747
- * we need to run the proxy in ngOnInit.
2748
- */
2749
- proxyInputs(IonSelect, SELECT_INPUTS);
2750
- proxyMethods(IonSelect, SELECT_METHODS);
2751
- }
2752
2736
  handleIonChange(el) {
2753
2737
  this.handleValueChange(el, el.value);
2754
2738
  }
2755
- }
2739
+ };
2756
2740
  /** @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 });
2757
- /** @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: [
2758
- {
2759
- provide: NG_VALUE_ACCESSOR,
2760
- useExisting: IonSelect,
2761
- multi: true,
2762
- },
2763
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2741
+ /** @nocollapse */ IonSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonSelect, isStandalone: true, selector: "ion-select", inputs: { cancelText: "cancelText", color: "color", compareWith: "compareWith", disabled: "disabled", expandedIcon: "expandedIcon", fill: "fill", interface: "interface", interfaceOptions: "interfaceOptions", justify: "justify", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", multiple: "multiple", name: "name", okText: "okText", placeholder: "placeholder", selectedText: "selectedText", shape: "shape", toggleIcon: "toggleIcon", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider$2], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2742
+ IonSelect = __decorate([
2743
+ ProxyCmp({
2744
+ defineCustomElementFn: defineCustomElement$1g,
2745
+ inputs: SELECT_INPUTS,
2746
+ methods: ['open'],
2747
+ })
2748
+ ], IonSelect);
2764
2749
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonSelect, decorators: [{
2765
2750
  type: Component,
2766
2751
  args: [{
@@ -2769,13 +2754,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2769
2754
  template: '<ng-content></ng-content>',
2770
2755
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2771
2756
  inputs: SELECT_INPUTS,
2772
- providers: [
2773
- {
2774
- provide: NG_VALUE_ACCESSOR,
2775
- useExisting: IonSelect,
2776
- multi: true,
2777
- },
2778
- ],
2757
+ providers: [accessorProvider$2],
2779
2758
  standalone: true,
2780
2759
  }]
2781
2760
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
@@ -2815,37 +2794,40 @@ const TEXTAREA_INPUTS = [
2815
2794
  'value',
2816
2795
  'wrap',
2817
2796
  ];
2818
- const TEXTAREA_METHODS = ['setFocus', 'getInputElement'];
2819
- class IonTextarea extends ValueAccessor {
2797
+ /**
2798
+ * Pulling the provider into an object and using PURE works
2799
+ * around an ng-packagr issue that causes
2800
+ * components with multiple decorators and
2801
+ * a provider to be re-assigned. This re-assignment
2802
+ * is not supported by Webpack and causes treeshaking
2803
+ * to not work on these kinds of components.
2804
+ */
2805
+ const accessorProvider$1 = {
2806
+ provide: NG_VALUE_ACCESSOR,
2807
+ useExisting: /*@__PURE__*/ forwardRef(() => IonTextarea),
2808
+ multi: true,
2809
+ };
2810
+ let IonTextarea = class IonTextarea extends ValueAccessor {
2820
2811
  constructor(c, r, z, injector) {
2821
2812
  super(injector, r);
2822
2813
  this.z = z;
2823
- defineCustomElement$1h();
2824
2814
  c.detach();
2825
2815
  this.el = r.nativeElement;
2826
2816
  proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionBlur', 'ionFocus']);
2827
2817
  }
2828
- ngOnInit() {
2829
- /**
2830
- * Data-bound input properties are set
2831
- * by Angular after the constructor, so
2832
- * we need to run the proxy in ngOnInit.
2833
- */
2834
- proxyInputs(IonTextarea, TEXTAREA_INPUTS);
2835
- proxyMethods(IonTextarea, TEXTAREA_METHODS);
2836
- }
2837
2818
  handleIonInput(el) {
2838
2819
  this.handleValueChange(el, el.value);
2839
2820
  }
2840
- }
2821
+ };
2841
2822
  /** @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 });
2842
- /** @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: [
2843
- {
2844
- provide: NG_VALUE_ACCESSOR,
2845
- useExisting: IonTextarea,
2846
- multi: true,
2847
- },
2848
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2823
+ /** @nocollapse */ IonTextarea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonTextarea, isStandalone: true, selector: "ion-textarea", inputs: { autoGrow: "autoGrow", autocapitalize: "autocapitalize", autofocus: "autofocus", clearOnEdit: "clearOnEdit", color: "color", cols: "cols", counter: "counter", counterFormatter: "counterFormatter", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", errorText: "errorText", fill: "fill", helperText: "helperText", inputmode: "inputmode", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", maxlength: "maxlength", minlength: "minlength", mode: "mode", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", rows: "rows", shape: "shape", spellcheck: "spellcheck", value: "value", wrap: "wrap" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [accessorProvider$1], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2824
+ IonTextarea = __decorate([
2825
+ ProxyCmp({
2826
+ defineCustomElementFn: defineCustomElement$1h,
2827
+ inputs: TEXTAREA_INPUTS,
2828
+ methods: ['setFocus', 'getInputElement'],
2829
+ })
2830
+ ], IonTextarea);
2849
2831
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonTextarea, decorators: [{
2850
2832
  type: Component,
2851
2833
  args: [{
@@ -2854,13 +2836,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2854
2836
  template: '<ng-content></ng-content>',
2855
2837
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2856
2838
  inputs: TEXTAREA_INPUTS,
2857
- providers: [
2858
- {
2859
- provide: NG_VALUE_ACCESSOR,
2860
- useExisting: IonTextarea,
2861
- multi: true,
2862
- },
2863
- ],
2839
+ providers: [accessorProvider$1],
2864
2840
  standalone: true,
2865
2841
  }]
2866
2842
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
@@ -2880,23 +2856,27 @@ const TOGGLE_INPUTS = [
2880
2856
  'name',
2881
2857
  'value',
2882
2858
  ];
2883
- class IonToggle extends ValueAccessor {
2859
+ /**
2860
+ * Pulling the provider into an object and using PURE works
2861
+ * around an ng-packagr issue that causes
2862
+ * components with multiple decorators and
2863
+ * a provider to be re-assigned. This re-assignment
2864
+ * is not supported by Webpack and causes treeshaking
2865
+ * to not work on these kinds of components.
2866
+ */
2867
+ const accessorProvider = {
2868
+ provide: NG_VALUE_ACCESSOR,
2869
+ useExisting: /*@__PURE__*/ forwardRef(() => IonToggle),
2870
+ multi: true,
2871
+ };
2872
+ let IonToggle = class IonToggle extends ValueAccessor {
2884
2873
  constructor(c, r, z, injector) {
2885
2874
  super(injector, r);
2886
2875
  this.z = z;
2887
- defineCustomElement$1i();
2888
2876
  c.detach();
2889
2877
  this.el = r.nativeElement;
2890
2878
  proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
2891
2879
  }
2892
- ngOnInit() {
2893
- /**
2894
- * Data-bound input properties are set
2895
- * by Angular after the constructor, so
2896
- * we need to run the proxy in ngOnInit.
2897
- */
2898
- proxyInputs(IonToggle, TOGGLE_INPUTS);
2899
- }
2900
2880
  writeValue(value) {
2901
2881
  this.elementRef.nativeElement.checked = this.lastValue = value;
2902
2882
  setIonicClasses(this.elementRef);
@@ -2904,15 +2884,15 @@ class IonToggle extends ValueAccessor {
2904
2884
  handleIonChange(el) {
2905
2885
  this.handleValueChange(el, el.checked);
2906
2886
  }
2907
- }
2887
+ };
2908
2888
  /** @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 });
2909
- /** @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: [
2910
- {
2911
- provide: NG_VALUE_ACCESSOR,
2912
- useExisting: IonToggle,
2913
- multi: true,
2914
- },
2915
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2889
+ /** @nocollapse */ IonToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonToggle, isStandalone: true, selector: "ion-toggle", inputs: { checked: "checked", color: "color", disabled: "disabled", enableOnOffLabels: "enableOnOffLabels", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2890
+ IonToggle = __decorate([
2891
+ ProxyCmp({
2892
+ defineCustomElementFn: defineCustomElement$1i,
2893
+ inputs: TOGGLE_INPUTS,
2894
+ })
2895
+ ], IonToggle);
2916
2896
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonToggle, decorators: [{
2917
2897
  type: Component,
2918
2898
  args: [{
@@ -2921,13 +2901,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2921
2901
  template: '<ng-content></ng-content>',
2922
2902
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2923
2903
  inputs: TOGGLE_INPUTS,
2924
- providers: [
2925
- {
2926
- provide: NG_VALUE_ACCESSOR,
2927
- useExisting: IonToggle,
2928
- multi: true,
2929
- },
2930
- ],
2904
+ providers: [accessorProvider],
2931
2905
  standalone: true,
2932
2906
  }]
2933
2907
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{