@ionic/angular 8.8.9-dev.11780493937.17fe092d → 8.8.9-dev.11780604658.184bb991

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/README.md +1 -1
  2. package/css/core.css +1 -1
  3. package/css/core.css.map +1 -1
  4. package/css/display.css +1 -1
  5. package/css/display.css.map +1 -1
  6. package/css/flex-utils.css +1 -1
  7. package/css/flex-utils.css.map +1 -1
  8. package/css/float-elements.css.map +1 -1
  9. package/css/global.bundle.css.map +1 -1
  10. package/css/ionic-swiper.css +1 -1
  11. package/css/ionic-swiper.css.map +1 -1
  12. package/css/ionic.bundle.css +1 -1
  13. package/css/ionic.bundle.css.map +1 -1
  14. package/css/normalize.css.map +1 -1
  15. package/css/padding.css.map +1 -1
  16. package/css/palettes/dark.always.css.map +1 -1
  17. package/css/palettes/dark.class.css.map +1 -1
  18. package/css/palettes/dark.system.css.map +1 -1
  19. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  20. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  21. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  22. package/css/palettes/high-contrast.always.css.map +1 -1
  23. package/css/palettes/high-contrast.class.css.map +1 -1
  24. package/css/palettes/high-contrast.system.css.map +1 -1
  25. package/css/structure.css.map +1 -1
  26. package/css/text-alignment.css.map +1 -1
  27. package/css/text-transformation.css.map +1 -1
  28. package/css/typography.css.map +1 -1
  29. package/css/utils.bundle.css +1 -1
  30. package/css/utils.bundle.css.map +1 -1
  31. package/fesm2022/ionic-angular-common.mjs +98 -85
  32. package/fesm2022/ionic-angular-common.mjs.map +1 -1
  33. package/fesm2022/ionic-angular-standalone.mjs +903 -882
  34. package/fesm2022/ionic-angular-standalone.mjs.map +1 -1
  35. package/fesm2022/ionic-angular.mjs +1093 -752
  36. package/fesm2022/ionic-angular.mjs.map +1 -1
  37. package/package.json +16 -16
  38. package/schematics/add/index.js +1 -1
  39. package/schematics/utils/ast.js +35 -3
  40. package/schematics/utils/config.js +10 -11
  41. package/schematics/utils/package.js +5 -2
  42. package/types/ionic-angular-common.d.ts +1021 -0
  43. package/types/ionic-angular-standalone.d.ts +1560 -0
  44. package/{directives/proxies.d.ts → types/ionic-angular.d.ts} +642 -408
  45. package/app-initialize.d.ts +0 -3
  46. package/common/directives/control-value-accessors/index.d.ts +0 -1
  47. package/common/directives/control-value-accessors/value-accessor.d.ts +0 -36
  48. package/common/directives/navigation/back-button.d.ts +0 -23
  49. package/common/directives/navigation/nav-params.d.ts +0 -45
  50. package/common/directives/navigation/nav.d.ts +0 -21
  51. package/common/directives/navigation/router-link-delegate.d.ts +0 -60
  52. package/common/directives/navigation/router-outlet.d.ts +0 -104
  53. package/common/directives/navigation/stack-controller.d.ts +0 -42
  54. package/common/directives/navigation/stack-utils.d.ts +0 -38
  55. package/common/directives/navigation/tabs.d.ts +0 -83
  56. package/common/index.d.ts +0 -22
  57. package/common/overlays/modal.d.ts +0 -62
  58. package/common/overlays/popover.d.ts +0 -46
  59. package/common/providers/angular-delegate.d.ts +0 -28
  60. package/common/providers/config.d.ts +0 -11
  61. package/common/providers/dom-controller.d.ts +0 -16
  62. package/common/providers/menu-controller.d.ts +0 -78
  63. package/common/providers/nav-controller.d.ts +0 -116
  64. package/common/providers/platform.d.ts +0 -174
  65. package/common/types/interfaces.d.ts +0 -8
  66. package/common/types/ionic-lifecycle-hooks.d.ts +0 -27
  67. package/common/types/overlay-options.d.ts +0 -16
  68. package/common/utils/overlay.d.ts +0 -21
  69. package/common/utils/proxy.d.ts +0 -8
  70. package/common/utils/routing.d.ts +0 -28
  71. package/common/utils/util.d.ts +0 -1
  72. package/css/ionic/bundle.ionic.css +0 -1
  73. package/css/ionic/bundle.ionic.css.map +0 -1
  74. package/css/ionic/core.ionic.css +0 -1
  75. package/css/ionic/core.ionic.css.map +0 -1
  76. package/css/ionic/global.bundle.ionic.css +0 -1
  77. package/css/ionic/global.bundle.ionic.css.map +0 -1
  78. package/css/ionic/ionic-swiper.ionic.css +0 -1
  79. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  80. package/css/ionic/link.ionic.css +0 -1
  81. package/css/ionic/link.ionic.css.map +0 -1
  82. package/css/ionic/structure.ionic.css +0 -1
  83. package/css/ionic/structure.ionic.css.map +0 -1
  84. package/css/ionic/typography.ionic.css +0 -1
  85. package/css/ionic/typography.ionic.css.map +0 -1
  86. package/css/ionic/utils.bundle.ionic.css +0 -1
  87. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  88. package/directives/angular-component-lib/utils.d.ts +0 -9
  89. package/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -10
  90. package/directives/control-value-accessors/index.d.ts +0 -4
  91. package/directives/control-value-accessors/numeric-value-accessor.d.ts +0 -11
  92. package/directives/control-value-accessors/select-value-accessor.d.ts +0 -9
  93. package/directives/control-value-accessors/text-value-accessor.d.ts +0 -9
  94. package/directives/navigation/ion-back-button.d.ts +0 -9
  95. package/directives/navigation/ion-nav.d.ts +0 -8
  96. package/directives/navigation/ion-router-outlet.d.ts +0 -25
  97. package/directives/navigation/ion-tabs.d.ts +0 -13
  98. package/directives/navigation/router-link-delegate.d.ts +0 -16
  99. package/directives/overlays/modal.d.ts +0 -6
  100. package/directives/overlays/popover.d.ts +0 -6
  101. package/directives/proxies-list.d.ts +0 -2
  102. package/directives/validators/index.d.ts +0 -2
  103. package/directives/validators/max-validator.d.ts +0 -12
  104. package/directives/validators/min-validator.d.ts +0 -12
  105. package/esm2022/app-initialize.mjs +0 -29
  106. package/esm2022/common/directives/control-value-accessors/index.mjs +0 -2
  107. package/esm2022/common/directives/control-value-accessors/value-accessor.mjs +0 -153
  108. package/esm2022/common/directives/navigation/back-button.mjs +0 -61
  109. package/esm2022/common/directives/navigation/nav-params.mjs +0 -47
  110. package/esm2022/common/directives/navigation/nav.mjs +0 -49
  111. package/esm2022/common/directives/navigation/router-link-delegate.mjs +0 -156
  112. package/esm2022/common/directives/navigation/router-outlet.mjs +0 -480
  113. package/esm2022/common/directives/navigation/stack-controller.mjs +0 -280
  114. package/esm2022/common/directives/navigation/stack-utils.mjs +0 -73
  115. package/esm2022/common/directives/navigation/tabs.mjs +0 -279
  116. package/esm2022/common/index.mjs +0 -20
  117. package/esm2022/common/ionic-angular-common.mjs +0 -5
  118. package/esm2022/common/overlays/modal.mjs +0 -103
  119. package/esm2022/common/overlays/popover.mjs +0 -91
  120. package/esm2022/common/providers/angular-delegate.mjs +0 -203
  121. package/esm2022/common/providers/config.mjs +0 -45
  122. package/esm2022/common/providers/dom-controller.mjs +0 -45
  123. package/esm2022/common/providers/menu-controller.mjs +0 -114
  124. package/esm2022/common/providers/nav-controller.mjs +0 -235
  125. package/esm2022/common/providers/platform.mjs +0 -258
  126. package/esm2022/common/types/interfaces.mjs +0 -2
  127. package/esm2022/common/types/ionic-lifecycle-hooks.mjs +0 -5
  128. package/esm2022/common/types/overlay-options.mjs +0 -2
  129. package/esm2022/common/utils/overlay.mjs +0 -26
  130. package/esm2022/common/utils/proxy.mjs +0 -47
  131. package/esm2022/common/utils/routing.mjs +0 -55
  132. package/esm2022/common/utils/util.mjs +0 -10
  133. package/esm2022/directives/angular-component-lib/utils.mjs +0 -59
  134. package/esm2022/directives/control-value-accessors/boolean-value-accessor.mjs +0 -42
  135. package/esm2022/directives/control-value-accessors/index.mjs +0 -5
  136. package/esm2022/directives/control-value-accessors/numeric-value-accessor.mjs +0 -50
  137. package/esm2022/directives/control-value-accessors/select-value-accessor.mjs +0 -39
  138. package/esm2022/directives/control-value-accessors/text-value-accessor.mjs +0 -38
  139. package/esm2022/directives/navigation/ion-back-button.mjs +0 -24
  140. package/esm2022/directives/navigation/ion-nav.mjs +0 -21
  141. package/esm2022/directives/navigation/ion-router-outlet.mjs +0 -52
  142. package/esm2022/directives/navigation/ion-tabs.mjs +0 -59
  143. package/esm2022/directives/navigation/router-link-delegate.mjs +0 -32
  144. package/esm2022/directives/overlays/modal.mjs +0 -22
  145. package/esm2022/directives/overlays/popover.mjs +0 -18
  146. package/esm2022/directives/proxies-list.mjs +0 -92
  147. package/esm2022/directives/proxies.mjs +0 -2438
  148. package/esm2022/directives/validators/index.mjs +0 -3
  149. package/esm2022/directives/validators/max-validator.mjs +0 -27
  150. package/esm2022/directives/validators/min-validator.mjs +0 -27
  151. package/esm2022/index.mjs +0 -32
  152. package/esm2022/ionic-angular.mjs +0 -5
  153. package/esm2022/ionic-module.mjs +0 -111
  154. package/esm2022/providers/action-sheet-controller.mjs +0 -19
  155. package/esm2022/providers/alert-controller.mjs +0 -19
  156. package/esm2022/providers/animation-controller.mjs +0 -38
  157. package/esm2022/providers/gesture-controller.mjs +0 -33
  158. package/esm2022/providers/loading-controller.mjs +0 -19
  159. package/esm2022/providers/menu-controller.mjs +0 -19
  160. package/esm2022/providers/modal-controller.mjs +0 -26
  161. package/esm2022/providers/picker-controller.mjs +0 -22
  162. package/esm2022/providers/popover-controller.mjs +0 -19
  163. package/esm2022/providers/toast-controller.mjs +0 -19
  164. package/esm2022/standalone/directives/angular-component-lib/utils.mjs +0 -59
  165. package/esm2022/standalone/directives/checkbox.mjs +0 -76
  166. package/esm2022/standalone/directives/datetime.mjs +0 -95
  167. package/esm2022/standalone/directives/icon.mjs +0 -35
  168. package/esm2022/standalone/directives/index.mjs +0 -13
  169. package/esm2022/standalone/directives/input-otp.mjs +0 -90
  170. package/esm2022/standalone/directives/input.mjs +0 -113
  171. package/esm2022/standalone/directives/proxies.mjs +0 -2326
  172. package/esm2022/standalone/directives/radio-group.mjs +0 -60
  173. package/esm2022/standalone/directives/range.mjs +0 -78
  174. package/esm2022/standalone/directives/searchbar.mjs +0 -82
  175. package/esm2022/standalone/directives/segment.mjs +0 -60
  176. package/esm2022/standalone/directives/select.mjs +0 -84
  177. package/esm2022/standalone/directives/textarea.mjs +0 -91
  178. package/esm2022/standalone/directives/toggle.mjs +0 -76
  179. package/esm2022/standalone/index.mjs +0 -25
  180. package/esm2022/standalone/ionic-angular-standalone.mjs +0 -5
  181. package/esm2022/standalone/navigation/back-button.mjs +0 -32
  182. package/esm2022/standalone/navigation/nav.mjs +0 -28
  183. package/esm2022/standalone/navigation/router-link-delegate.mjs +0 -28
  184. package/esm2022/standalone/navigation/router-outlet.mjs +0 -60
  185. package/esm2022/standalone/navigation/tabs.mjs +0 -58
  186. package/esm2022/standalone/overlays/modal.mjs +0 -32
  187. package/esm2022/standalone/overlays/popover.mjs +0 -28
  188. package/esm2022/standalone/providers/action-sheet-controller.mjs +0 -21
  189. package/esm2022/standalone/providers/alert-controller.mjs +0 -21
  190. package/esm2022/standalone/providers/animation-controller.mjs +0 -38
  191. package/esm2022/standalone/providers/gesture-controller.mjs +0 -33
  192. package/esm2022/standalone/providers/ionic-angular.mjs +0 -38
  193. package/esm2022/standalone/providers/loading-controller.mjs +0 -21
  194. package/esm2022/standalone/providers/menu-controller.mjs +0 -19
  195. package/esm2022/standalone/providers/modal-controller.mjs +0 -28
  196. package/esm2022/standalone/providers/picker-controller.mjs +0 -24
  197. package/esm2022/standalone/providers/popover-controller.mjs +0 -21
  198. package/esm2022/standalone/providers/toast-controller.mjs +0 -21
  199. package/index.d.ts +0 -27
  200. package/ionic-module.d.ts +0 -28
  201. package/providers/action-sheet-controller.d.ts +0 -8
  202. package/providers/alert-controller.d.ts +0 -8
  203. package/providers/animation-controller.d.ts +0 -25
  204. package/providers/gesture-controller.d.ts +0 -13
  205. package/providers/loading-controller.d.ts +0 -8
  206. package/providers/menu-controller.d.ts +0 -7
  207. package/providers/modal-controller.d.ts +0 -12
  208. package/providers/picker-controller.d.ts +0 -11
  209. package/providers/popover-controller.d.ts +0 -9
  210. package/providers/toast-controller.d.ts +0 -8
  211. package/standalone/directives/angular-component-lib/utils.d.ts +0 -9
  212. package/standalone/directives/checkbox.d.ts +0 -30
  213. package/standalone/directives/datetime.d.ts +0 -30
  214. package/standalone/directives/icon.d.ts +0 -9
  215. package/standalone/directives/index.d.ts +0 -12
  216. package/standalone/directives/input-otp.d.ts +0 -49
  217. package/standalone/directives/input.d.ts +0 -47
  218. package/standalone/directives/proxies.d.ts +0 -1053
  219. package/standalone/directives/radio-group.d.ts +0 -18
  220. package/standalone/directives/range.d.ts +0 -47
  221. package/standalone/directives/searchbar.d.ts +0 -45
  222. package/standalone/directives/segment.d.ts +0 -19
  223. package/standalone/directives/select.d.ts +0 -34
  224. package/standalone/directives/textarea.d.ts +0 -37
  225. package/standalone/directives/toggle.d.ts +0 -28
  226. package/standalone/index.d.ts +0 -23
  227. package/standalone/navigation/back-button.d.ts +0 -9
  228. package/standalone/navigation/nav.d.ts +0 -8
  229. package/standalone/navigation/router-link-delegate.d.ts +0 -10
  230. package/standalone/navigation/router-outlet.d.ts +0 -25
  231. package/standalone/navigation/tabs.d.ts +0 -13
  232. package/standalone/overlays/modal.d.ts +0 -6
  233. package/standalone/overlays/popover.d.ts +0 -6
  234. package/standalone/providers/action-sheet-controller.d.ts +0 -8
  235. package/standalone/providers/alert-controller.d.ts +0 -8
  236. package/standalone/providers/animation-controller.d.ts +0 -25
  237. package/standalone/providers/gesture-controller.d.ts +0 -13
  238. package/standalone/providers/ionic-angular.d.ts +0 -7
  239. package/standalone/providers/loading-controller.d.ts +0 -8
  240. package/standalone/providers/menu-controller.d.ts +0 -7
  241. package/standalone/providers/modal-controller.d.ts +0 -12
  242. package/standalone/providers/picker-controller.d.ts +0 -11
  243. package/standalone/providers/popover-controller.d.ts +0 -9
  244. package/standalone/providers/toast-controller.d.ts +0 -8
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Inject, Optional, InjectionToken, inject, NgZone, ApplicationRef, Injector, createComponent, TemplateRef, Directive, ContentChild, EventEmitter, ViewContainerRef, EnvironmentInjector, Attribute, SkipSelf, Input, Output, reflectComponentType, HostListener, ElementRef, ViewChild } from '@angular/core';
2
+ import { Injectable, Inject, Optional, InjectionToken, inject, NgZone, ApplicationRef, Injector, createComponent, TemplateRef, ContentChild, Directive, EventEmitter, ViewContainerRef, EnvironmentInjector, Output, Input, Attribute, SkipSelf, reflectComponentType, HostListener, ElementRef, ViewChild } from '@angular/core';
3
3
  import * as i3 from '@angular/router';
4
4
  import { NavigationStart, NavigationCancel, NavigationError, PRIMARY_OUTLET, ChildrenOutletContexts, ActivatedRoute, Router } from '@angular/router';
5
5
  import * as i1 from '@angular/common';
@@ -25,10 +25,10 @@ class DomController {
25
25
  write(cb) {
26
26
  getQueue().write(cb);
27
27
  }
28
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
- /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomController, providedIn: 'root' });
28
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: DomController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: DomController, providedIn: 'root' });
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomController, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: DomController, decorators: [{
32
32
  type: Injectable,
33
33
  args: [{
34
34
  providedIn: 'root',
@@ -382,18 +382,18 @@ class Platform {
382
382
  height() {
383
383
  return this.win.innerHeight;
384
384
  }
385
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Platform, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
386
- /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Platform, providedIn: 'root' });
385
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: Platform, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
386
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: Platform, providedIn: 'root' });
387
387
  }
388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Platform, decorators: [{
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: Platform, decorators: [{
389
389
  type: Injectable,
390
390
  args: [{
391
391
  providedIn: 'root',
392
392
  }]
393
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
393
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
394
394
  type: Inject,
395
395
  args: [DOCUMENT]
396
- }] }, { type: i0.NgZone }]; } });
396
+ }] }, { type: i0.NgZone }] });
397
397
  const readQueryParam = (url, key) => {
398
398
  key = key.replace(/[[\]\\]/g, '\\$&');
399
399
  const regex = new RegExp('[\\?&]' + key + '=([^&#]*)');
@@ -617,17 +617,17 @@ class NavController {
617
617
  return this.router.navigateByUrl(urlTree, options);
618
618
  }
619
619
  }
620
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavController, deps: [{ token: Platform }, { token: i1.Location }, { token: i3.UrlSerializer }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
621
- /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavController, providedIn: 'root' });
620
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NavController, deps: [{ token: Platform }, { token: i1.Location }, { token: i3.UrlSerializer }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
621
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NavController, providedIn: 'root' });
622
622
  }
623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavController, decorators: [{
623
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NavController, decorators: [{
624
624
  type: Injectable,
625
625
  args: [{
626
626
  providedIn: 'root',
627
627
  }]
628
- }], ctorParameters: function () { return [{ type: Platform }, { type: i1.Location }, { type: i3.UrlSerializer }, { type: i3.Router, decorators: [{
628
+ }], ctorParameters: () => [{ type: Platform }, { type: i1.Location }, { type: i3.UrlSerializer }, { type: i3.Router, decorators: [{
629
629
  type: Optional
630
- }] }]; } });
630
+ }] }] });
631
631
  const getAnimation = (direction, animated, animationDirection) => {
632
632
  if (animated === false) {
633
633
  return undefined;
@@ -668,10 +668,10 @@ class Config {
668
668
  }
669
669
  return 0;
670
670
  }
671
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Config, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
672
- /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Config, providedIn: 'root' });
671
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: Config, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
672
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: Config, providedIn: 'root' });
673
673
  }
674
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Config, decorators: [{
674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: Config, decorators: [{
675
675
  type: Injectable,
676
676
  args: [{
677
677
  providedIn: 'root',
@@ -745,10 +745,10 @@ class AngularDelegate {
745
745
  create(environmentInjector, injector, elementReferenceKey, customInjector) {
746
746
  return new AngularFrameworkDelegate(environmentInjector, injector, this.applicationRef, this.zone, elementReferenceKey, this.config.useSetInputAPI ?? false, customInjector);
747
747
  }
748
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDelegate, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
749
- /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDelegate });
748
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: AngularDelegate, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
749
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: AngularDelegate });
750
750
  }
751
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDelegate, decorators: [{
751
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: AngularDelegate, decorators: [{
752
752
  type: Injectable
753
753
  }] });
754
754
  class AngularFrameworkDelegate {
@@ -890,7 +890,7 @@ const attachView = (zone, environmentInjector, injector, applicationRef, elRefMa
890
890
  hostElement.classList.add(cssClass);
891
891
  }
892
892
  }
893
- const unbindEvents = bindLifecycleEvents(zone, instance, hostElement);
893
+ const unbindEvents = bindLifecycleEvents(zone, componentRef.changeDetectorRef, instance, hostElement);
894
894
  container.appendChild(hostElement);
895
895
  applicationRef.attachView(componentRef.hostView);
896
896
  elRefMap.set(hostElement, componentRef);
@@ -904,10 +904,24 @@ const LIFECYCLES = [
904
904
  LIFECYCLE_DID_LEAVE,
905
905
  LIFECYCLE_WILL_UNLOAD,
906
906
  ];
907
- const bindLifecycleEvents = (zone, instance, element) => {
907
+ const bindLifecycleEvents = (zone, changeDetectorRef, instance, element) => {
908
+ /**
909
+ * `zone.run` keeps the listener registration (and, under Zone.js, the handler
910
+ * execution) inside the Angular zone, so async work started inside a lifecycle
911
+ * hook is still zone-tracked. Under zoneless Angular it is a passthrough.
912
+ */
908
913
  return zone.run(() => {
909
914
  const unregisters = LIFECYCLES.filter((eventName) => typeof instance[eventName] === 'function').map((eventName) => {
910
- const handler = (ev) => instance[eventName](ev.detail);
915
+ const handler = (ev) => {
916
+ instance[eventName](ev.detail);
917
+ /**
918
+ * Ionic lifecycle events (`ionViewWillEnter`, etc.) are dispatched from
919
+ * the web component via a native event listener, so under zoneless
920
+ * Angular nothing schedules change detection for state the hook mutates.
921
+ * Mark the view dirty explicitly. This is a no-op-or-better under Zone.js.
922
+ */
923
+ changeDetectorRef.markForCheck();
924
+ };
911
925
  element.addEventListener(eventName, handler);
912
926
  return () => element.removeEventListener(eventName, handler);
913
927
  });
@@ -1010,14 +1024,7 @@ const MODAL_METHODS = [
1010
1024
  'setCurrentBreakpoint',
1011
1025
  'getCurrentBreakpoint',
1012
1026
  ];
1013
- let IonModal =
1014
- /**
1015
- * @Component extends from @Directive
1016
- * so by defining the inputs here we
1017
- * do not need to re-define them for the
1018
- * lazy loaded popover.
1019
- */
1020
- class IonModal {
1027
+ let IonModal = class IonModal {
1021
1028
  z;
1022
1029
  // TODO(FW-2827): type
1023
1030
  template;
@@ -1049,8 +1056,8 @@ class IonModal {
1049
1056
  'ionDragEnd',
1050
1057
  ]);
1051
1058
  }
1052
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
1053
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: IonModal, selector: "ion-modal", inputs: { animated: "animated", keepContentsMounted: "keepContentsMounted", backdropBreakpoint: "backdropBreakpoint", backdropDismiss: "backdropDismiss", breakpoints: "breakpoints", canDismiss: "canDismiss", cssClass: "cssClass", enterAnimation: "enterAnimation", expandToScroll: "expandToScroll", event: "event", focusTrap: "focusTrap", handle: "handle", handleBehavior: "handleBehavior", initialBreakpoint: "initialBreakpoint", isOpen: "isOpen", keyboardClose: "keyboardClose", leaveAnimation: "leaveAnimation", mode: "mode", presentingElement: "presentingElement", showBackdrop: "showBackdrop", translucent: "translucent", trigger: "trigger" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
1059
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
1060
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: IonModal, isStandalone: true, selector: "ion-modal", inputs: { animated: "animated", keepContentsMounted: "keepContentsMounted", backdropBreakpoint: "backdropBreakpoint", backdropDismiss: "backdropDismiss", breakpoints: "breakpoints", canDismiss: "canDismiss", cssClass: "cssClass", enterAnimation: "enterAnimation", expandToScroll: "expandToScroll", event: "event", focusTrap: "focusTrap", handle: "handle", handleBehavior: "handleBehavior", initialBreakpoint: "initialBreakpoint", isOpen: "isOpen", keyboardClose: "keyboardClose", leaveAnimation: "leaveAnimation", mode: "mode", presentingElement: "presentingElement", showBackdrop: "showBackdrop", translucent: "translucent", trigger: "trigger" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
1054
1061
  };
1055
1062
  IonModal = __decorate([
1056
1063
  ProxyCmp({
@@ -1064,14 +1071,14 @@ IonModal = __decorate([
1064
1071
  * lazy loaded popover.
1065
1072
  */
1066
1073
  ], IonModal);
1067
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonModal, decorators: [{
1074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonModal, decorators: [{
1068
1075
  type: Directive,
1069
1076
  args: [{
1070
1077
  selector: 'ion-modal',
1071
1078
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1072
1079
  inputs: MODAL_INPUTS,
1073
1080
  }]
1074
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { template: [{
1081
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { template: [{
1075
1082
  type: ContentChild,
1076
1083
  args: [TemplateRef, { static: false }]
1077
1084
  }] } });
@@ -1100,14 +1107,7 @@ const POPOVER_INPUTS = [
1100
1107
  'side',
1101
1108
  ];
1102
1109
  const POPOVER_METHODS = ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss'];
1103
- let IonPopover =
1104
- /**
1105
- * @Component extends from @Directive
1106
- * so by defining the inputs here we
1107
- * do not need to re-define them for the
1108
- * lazy loaded popover.
1109
- */
1110
- class IonPopover {
1110
+ let IonPopover = class IonPopover {
1111
1111
  z;
1112
1112
  // TODO(FW-2827): type
1113
1113
  template;
@@ -1135,8 +1135,8 @@ class IonPopover {
1135
1135
  'didDismiss',
1136
1136
  ]);
1137
1137
  }
1138
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonPopover, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
1139
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: IonPopover, selector: "ion-popover", inputs: { alignment: "alignment", animated: "animated", arrow: "arrow", keepContentsMounted: "keepContentsMounted", backdropDismiss: "backdropDismiss", cssClass: "cssClass", dismissOnSelect: "dismissOnSelect", enterAnimation: "enterAnimation", event: "event", focusTrap: "focusTrap", isOpen: "isOpen", keyboardClose: "keyboardClose", leaveAnimation: "leaveAnimation", mode: "mode", showBackdrop: "showBackdrop", translucent: "translucent", trigger: "trigger", triggerAction: "triggerAction", reference: "reference", size: "size", side: "side" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
1138
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonPopover, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
1139
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: IonPopover, isStandalone: true, selector: "ion-popover", inputs: { alignment: "alignment", animated: "animated", arrow: "arrow", keepContentsMounted: "keepContentsMounted", backdropDismiss: "backdropDismiss", cssClass: "cssClass", dismissOnSelect: "dismissOnSelect", enterAnimation: "enterAnimation", event: "event", focusTrap: "focusTrap", isOpen: "isOpen", keyboardClose: "keyboardClose", leaveAnimation: "leaveAnimation", mode: "mode", showBackdrop: "showBackdrop", translucent: "translucent", trigger: "trigger", triggerAction: "triggerAction", reference: "reference", size: "size", side: "side" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
1140
1140
  };
1141
1141
  IonPopover = __decorate([
1142
1142
  ProxyCmp({
@@ -1150,14 +1150,14 @@ IonPopover = __decorate([
1150
1150
  * lazy loaded popover.
1151
1151
  */
1152
1152
  ], IonPopover);
1153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonPopover, decorators: [{
1153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonPopover, decorators: [{
1154
1154
  type: Directive,
1155
1155
  args: [{
1156
1156
  selector: 'ion-popover',
1157
1157
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1158
1158
  inputs: POPOVER_INPUTS,
1159
1159
  }]
1160
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { template: [{
1160
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { template: [{
1161
1161
  type: ContentChild,
1162
1162
  args: [TemplateRef, { static: false }]
1163
1163
  }] } });
@@ -1259,7 +1259,7 @@ class StackController {
1259
1259
  createView(ref, activatedRoute) {
1260
1260
  const url = getUrl(this.router, activatedRoute);
1261
1261
  const element = ref?.location?.nativeElement;
1262
- const unlistenEvents = bindLifecycleEvents(this.zone, ref.instance, element);
1262
+ const unlistenEvents = bindLifecycleEvents(this.zone, ref.changeDetectorRef, ref.instance, element);
1263
1263
  return {
1264
1264
  id: this.nextId++,
1265
1265
  stackId: computeStackId(this.tabsPrefix, url),
@@ -1514,6 +1514,7 @@ const cleanup = (activeRoute, views, viewsSnapshot, location, zone) => {
1514
1514
  };
1515
1515
 
1516
1516
  // TODO(FW-2827): types
1517
+ // eslint-disable-next-line @angular-eslint/directive-class-suffix
1517
1518
  class IonRouterOutlet {
1518
1519
  parentOutlet;
1519
1520
  nativeEl;
@@ -1567,6 +1568,7 @@ class IonRouterOutlet {
1567
1568
  onEnd: (shouldContinue) => this.stackCtrl.endBackTransition(shouldContinue),
1568
1569
  }
1569
1570
  : undefined;
1571
+ this.nativeEl.swipeGesture = swipe;
1570
1572
  }
1571
1573
  constructor(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet) {
1572
1574
  this.parentOutlet = parentOutlet;
@@ -1839,10 +1841,10 @@ class IonRouterOutlet {
1839
1841
  proxy.component = activatedRoute.component;
1840
1842
  this.currentActivatedRoute$.next({ component, activatedRoute });
1841
1843
  }
1842
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonRouterOutlet, deps: [{ token: 'name', attribute: true }, { token: 'tabs', attribute: true, optional: true }, { token: i1.Location }, { token: i0.ElementRef }, { token: i3.Router }, { token: i0.NgZone }, { token: i3.ActivatedRoute }, { token: IonRouterOutlet, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
1843
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: IonRouterOutlet, selector: "ion-router-outlet", inputs: { animated: "animated", animation: "animation", mode: "mode", swipeGesture: "swipeGesture", name: "name" }, outputs: { stackWillChange: "stackWillChange", stackDidChange: "stackDidChange", activateEvents: "activate", deactivateEvents: "deactivate" }, exportAs: ["outlet"], ngImport: i0 });
1844
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonRouterOutlet, deps: [{ token: 'name', attribute: true }, { token: 'tabs', attribute: true, optional: true }, { token: i1.Location }, { token: i0.ElementRef }, { token: i3.Router }, { token: i0.NgZone }, { token: i3.ActivatedRoute }, { token: IonRouterOutlet, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
1845
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: IonRouterOutlet, isStandalone: true, selector: "ion-router-outlet", inputs: { animated: "animated", animation: "animation", mode: "mode", swipeGesture: "swipeGesture", name: "name" }, outputs: { stackWillChange: "stackWillChange", stackDidChange: "stackDidChange", activateEvents: "activate", deactivateEvents: "deactivate" }, exportAs: ["outlet"], ngImport: i0 });
1844
1846
  }
1845
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonRouterOutlet, decorators: [{
1847
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonRouterOutlet, decorators: [{
1846
1848
  type: Directive,
1847
1849
  args: [{
1848
1850
  selector: 'ion-router-outlet',
@@ -1850,7 +1852,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1850
1852
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1851
1853
  inputs: ['animated', 'animation', 'mode', 'swipeGesture'],
1852
1854
  }]
1853
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1855
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1854
1856
  type: Attribute,
1855
1857
  args: ['name']
1856
1858
  }] }, { type: undefined, decorators: [{
@@ -1862,7 +1864,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1862
1864
  type: SkipSelf
1863
1865
  }, {
1864
1866
  type: Optional
1865
- }] }]; }, propDecorators: { name: [{
1867
+ }] }], propDecorators: { name: [{
1866
1868
  type: Input
1867
1869
  }], stackWillChange: [{
1868
1870
  type: Output
@@ -1956,10 +1958,10 @@ class RoutedComponentInputBinder {
1956
1958
  });
1957
1959
  this.outletDataSubscriptions.set(outlet, dataSubscription);
1958
1960
  }
1959
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1960
- /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RoutedComponentInputBinder });
1961
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1962
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RoutedComponentInputBinder });
1961
1963
  }
1962
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
1964
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
1963
1965
  type: Injectable
1964
1966
  }] });
1965
1967
  const provideComponentInputBinding = () => {
@@ -2092,12 +2094,12 @@ class ValueAccessor {
2092
2094
  });
2093
2095
  }
2094
2096
  }
2095
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2096
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ValueAccessor, host: { listeners: { "ionBlur": "_handleBlurEvent($event.target)" } }, ngImport: i0 });
2097
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2098
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: ValueAccessor, isStandalone: true, host: { listeners: { "ionBlur": "_handleBlurEvent($event.target)" } }, ngImport: i0 });
2097
2099
  }
2098
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValueAccessor, decorators: [{
2100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ValueAccessor, decorators: [{
2099
2101
  type: Directive
2100
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { _handleBlurEvent: [{
2102
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }], propDecorators: { _handleBlurEvent: [{
2101
2103
  type: HostListener,
2102
2104
  args: ['ionBlur', ['$event.target']]
2103
2105
  }] } });
@@ -2170,23 +2172,23 @@ let IonBackButton = class IonBackButton {
2170
2172
  ev.preventDefault();
2171
2173
  }
2172
2174
  }
2173
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonBackButton, deps: [{ token: IonRouterOutlet, optional: true }, { token: NavController }, { token: Config }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
2174
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: IonBackButton, inputs: { color: "color", defaultHref: "defaultHref", disabled: "disabled", icon: "icon", mode: "mode", routerAnimation: "routerAnimation", text: "text", type: "type" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
2175
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonBackButton, deps: [{ token: IonRouterOutlet, optional: true }, { token: NavController }, { token: Config }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
2176
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: IonBackButton, isStandalone: true, inputs: { color: "color", defaultHref: "defaultHref", disabled: "disabled", icon: "icon", mode: "mode", routerAnimation: "routerAnimation", text: "text", type: "type" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
2175
2177
  };
2176
2178
  IonBackButton = __decorate([
2177
2179
  ProxyCmp({
2178
2180
  inputs: BACK_BUTTON_INPUTS,
2179
2181
  })
2180
2182
  ], IonBackButton);
2181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonBackButton, decorators: [{
2183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonBackButton, decorators: [{
2182
2184
  type: Directive,
2183
2185
  args: [{
2184
2186
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2185
2187
  inputs: BACK_BUTTON_INPUTS,
2186
2188
  }]
2187
- }], ctorParameters: function () { return [{ type: IonRouterOutlet, decorators: [{
2189
+ }], ctorParameters: () => [{ type: IonRouterOutlet, decorators: [{
2188
2190
  type: Optional
2189
- }] }, { type: NavController }, { type: Config }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onClick: [{
2191
+ }] }, { type: NavController }, { type: Config }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { onClick: [{
2190
2192
  type: HostListener,
2191
2193
  args: ['click', ['$event']]
2192
2194
  }] } });
@@ -2217,8 +2219,8 @@ let IonNav = class IonNav {
2217
2219
  ref.nativeElement.delegate = angularDelegate.create(environmentInjector, injector);
2218
2220
  proxyOutputs(this, this.el, ['ionNavDidChange', 'ionNavWillChange']);
2219
2221
  }
2220
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonNav, deps: [{ token: i0.ElementRef }, { token: i0.EnvironmentInjector }, { token: i0.Injector }, { token: AngularDelegate }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
2221
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: IonNav, inputs: { animated: "animated", animation: "animation", root: "root", rootParams: "rootParams", swipeGesture: "swipeGesture" }, ngImport: i0 });
2222
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonNav, deps: [{ token: i0.ElementRef }, { token: i0.EnvironmentInjector }, { token: i0.Injector }, { token: AngularDelegate }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
2223
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: IonNav, isStandalone: true, inputs: { animated: "animated", animation: "animation", root: "root", rootParams: "rootParams", swipeGesture: "swipeGesture" }, ngImport: i0 });
2222
2224
  };
2223
2225
  IonNav = __decorate([
2224
2226
  ProxyCmp({
@@ -2226,13 +2228,13 @@ IonNav = __decorate([
2226
2228
  methods: NAV_METHODS,
2227
2229
  })
2228
2230
  ], IonNav);
2229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonNav, decorators: [{
2231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonNav, decorators: [{
2230
2232
  type: Directive,
2231
2233
  args: [{
2232
2234
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2233
2235
  inputs: NAV_INPUTS,
2234
2236
  }]
2235
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.EnvironmentInjector }, { type: i0.Injector }, { type: AngularDelegate }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
2237
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.EnvironmentInjector }, { type: i0.Injector }, { type: AngularDelegate }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
2236
2238
 
2237
2239
  /**
2238
2240
  * Adds support for Ionic routing directions and animations to the base Angular router link directive.
@@ -2313,17 +2315,17 @@ class RouterLinkDelegateDirective {
2313
2315
  */
2314
2316
  ev.preventDefault();
2315
2317
  }
2316
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterLinkDelegateDirective, deps: [{ token: i1.LocationStrategy }, { token: NavController }, { token: i0.ElementRef }, { token: i3.Router }, { token: i3.RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
2317
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RouterLinkDelegateDirective, selector: ":not(a):not(area)[routerLink]", inputs: { routerDirection: "routerDirection", routerAnimation: "routerAnimation" }, host: { listeners: { "click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0 });
2318
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RouterLinkDelegateDirective, deps: [{ token: i1.LocationStrategy }, { token: NavController }, { token: i0.ElementRef }, { token: i3.Router }, { token: i3.RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
2319
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: RouterLinkDelegateDirective, isStandalone: true, selector: ":not(a):not(area)[routerLink]", inputs: { routerDirection: "routerDirection", routerAnimation: "routerAnimation" }, host: { listeners: { "click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0 });
2318
2320
  }
2319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterLinkDelegateDirective, decorators: [{
2321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RouterLinkDelegateDirective, decorators: [{
2320
2322
  type: Directive,
2321
2323
  args: [{
2322
2324
  selector: ':not(a):not(area)[routerLink]',
2323
2325
  }]
2324
- }], ctorParameters: function () { return [{ type: i1.LocationStrategy }, { type: NavController }, { type: i0.ElementRef }, { type: i3.Router }, { type: i3.RouterLink, decorators: [{
2326
+ }], ctorParameters: () => [{ type: i1.LocationStrategy }, { type: NavController }, { type: i0.ElementRef }, { type: i3.Router }, { type: i3.RouterLink, decorators: [{
2325
2327
  type: Optional
2326
- }] }]; }, propDecorators: { routerDirection: [{
2328
+ }] }], propDecorators: { routerDirection: [{
2327
2329
  type: Input
2328
2330
  }], routerAnimation: [{
2329
2331
  type: Input
@@ -2364,17 +2366,17 @@ class RouterLinkWithHrefDelegateDirective {
2364
2366
  onClick() {
2365
2367
  this.navCtrl.setDirection(this.routerDirection, undefined, undefined, this.routerAnimation);
2366
2368
  }
2367
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterLinkWithHrefDelegateDirective, deps: [{ token: i1.LocationStrategy }, { token: NavController }, { token: i0.ElementRef }, { token: i3.Router }, { token: i3.RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
2368
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RouterLinkWithHrefDelegateDirective, selector: "a[routerLink],area[routerLink]", inputs: { routerDirection: "routerDirection", routerAnimation: "routerAnimation" }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 });
2369
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RouterLinkWithHrefDelegateDirective, deps: [{ token: i1.LocationStrategy }, { token: NavController }, { token: i0.ElementRef }, { token: i3.Router }, { token: i3.RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
2370
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: RouterLinkWithHrefDelegateDirective, isStandalone: true, selector: "a[routerLink],area[routerLink]", inputs: { routerDirection: "routerDirection", routerAnimation: "routerAnimation" }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 });
2369
2371
  }
2370
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterLinkWithHrefDelegateDirective, decorators: [{
2372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RouterLinkWithHrefDelegateDirective, decorators: [{
2371
2373
  type: Directive,
2372
2374
  args: [{
2373
2375
  selector: 'a[routerLink],area[routerLink]',
2374
2376
  }]
2375
- }], ctorParameters: function () { return [{ type: i1.LocationStrategy }, { type: NavController }, { type: i0.ElementRef }, { type: i3.Router }, { type: i3.RouterLink, decorators: [{
2377
+ }], ctorParameters: () => [{ type: i1.LocationStrategy }, { type: NavController }, { type: i0.ElementRef }, { type: i3.Router }, { type: i3.RouterLink, decorators: [{
2376
2378
  type: Optional
2377
- }] }]; }, propDecorators: { routerDirection: [{
2379
+ }] }], propDecorators: { routerDirection: [{
2378
2380
  type: Input
2379
2381
  }], routerAnimation: [{
2380
2382
  type: Input
@@ -2421,6 +2423,7 @@ const parseHrefExtras = (href) => {
2421
2423
  extras.fragment = fragment;
2422
2424
  return extras;
2423
2425
  };
2426
+ // eslint-disable-next-line @angular-eslint/directive-class-suffix
2424
2427
  class IonTabs {
2425
2428
  navCtrl;
2426
2429
  tabsInner;
@@ -2481,6 +2484,16 @@ class IonTabs {
2481
2484
  this.ionTabsDidChange.emit({ tab: stackId });
2482
2485
  }
2483
2486
  }
2487
+ /**
2488
+ * Host listener for the `ionTabButtonClick` event. Angular 22 enabled stricter
2489
+ * host-binding type checking, which types `$event` as the DOM `Event`. That is
2490
+ * not assignable to `select`'s public `string | CustomEvent` parameter, so this
2491
+ * thin wrapper narrows the event before forwarding to keep `select`'s public
2492
+ * signature intact.
2493
+ */
2494
+ onTabButtonClick(ev) {
2495
+ return this.select(ev);
2496
+ }
2484
2497
  /**
2485
2498
  * When a tab button is clicked, there are several scenarios:
2486
2499
  * 1. If the selected tab is currently active (the tab button has been clicked
@@ -2638,22 +2651,22 @@ class IonTabs {
2638
2651
  this.tabsInner.nativeElement.after(tabBar);
2639
2652
  }
2640
2653
  }
2641
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonTabs, deps: [{ token: NavController }], target: i0.ɵɵFactoryTarget.Directive });
2642
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: IonTabs, selector: "ion-tabs", outputs: { ionTabsWillChange: "ionTabsWillChange", ionTabsDidChange: "ionTabsDidChange" }, host: { listeners: { "ionTabButtonClick": "select($event)" } }, viewQueries: [{ propertyName: "tabsInner", first: true, predicate: ["tabsInner"], descendants: true, read: ElementRef, static: true }], ngImport: i0 });
2654
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonTabs, deps: [{ token: NavController }], target: i0.ɵɵFactoryTarget.Directive });
2655
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: IonTabs, isStandalone: true, selector: "ion-tabs", outputs: { ionTabsWillChange: "ionTabsWillChange", ionTabsDidChange: "ionTabsDidChange" }, host: { listeners: { "ionTabButtonClick": "onTabButtonClick($event)" } }, viewQueries: [{ propertyName: "tabsInner", first: true, predicate: ["tabsInner"], descendants: true, read: ElementRef, static: true }], ngImport: i0 });
2643
2656
  }
2644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonTabs, decorators: [{
2657
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonTabs, decorators: [{
2645
2658
  type: Directive,
2646
2659
  args: [{
2647
2660
  selector: 'ion-tabs',
2648
2661
  }]
2649
- }], ctorParameters: function () { return [{ type: NavController }]; }, propDecorators: { tabsInner: [{
2662
+ }], ctorParameters: () => [{ type: NavController }], propDecorators: { tabsInner: [{
2650
2663
  type: ViewChild,
2651
2664
  args: ['tabsInner', { read: ElementRef, static: true }]
2652
2665
  }], ionTabsWillChange: [{
2653
2666
  type: Output
2654
2667
  }], ionTabsDidChange: [{
2655
2668
  type: Output
2656
- }], select: [{
2669
+ }], onTabButtonClick: [{
2657
2670
  type: HostListener,
2658
2671
  args: ['ionTabButtonClick', ['$event']]
2659
2672
  }] } });
@@ -2743,5 +2756,5 @@ class IonicRouteStrategy {
2743
2756
  * Generated bundle index. Do not edit.
2744
2757
  */
2745
2758
 
2746
- export { AngularDelegate, Config, ConfigToken, DomController, IonBackButton, IonModal, IonModalToken, IonNav, IonPopover, IonRouterOutlet, IonTabs, IonicRouteStrategy, MenuController, NavController, NavParams, OverlayBaseController, Platform, ProxyCmp, RouterLinkDelegateDirective, RouterLinkWithHrefDelegateDirective, ValueAccessor, bindLifecycleEvents, provideComponentInputBinding, raf, setIonicClasses };
2759
+ export { AngularDelegate, Config, ConfigToken, DomController, IonBackButton, IonModal, IonModalToken, IonNav, IonPopover, IonRouterOutlet, IonTabs, IonicRouteStrategy, MenuController, NavController, NavParams, OverlayBaseController, Platform, ProxyCmp, RouterLinkDelegateDirective, RouterLinkWithHrefDelegateDirective, ValueAccessor, provideComponentInputBinding, raf, setIonicClasses };
2747
2760
  //# sourceMappingURL=ionic-angular-common.mjs.map