@ionic/angular 8.2.8-dev.11724886491.1c0dd39d → 8.2.8-dev.11725452518.16aa47d3

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 (67) hide show
  1. package/common/directives/navigation/tabs.d.ts +3 -10
  2. package/css/core.css +1 -1
  3. package/css/core.css.map +1 -1
  4. package/css/display.css.map +1 -1
  5. package/css/flex-utils.css.map +1 -1
  6. package/css/float-elements.css.map +1 -1
  7. package/css/global.bundle.css +1 -1
  8. package/css/global.bundle.css.map +1 -1
  9. package/css/ionic/bundle.ionic.css +1 -0
  10. package/css/ionic/bundle.ionic.css.map +1 -0
  11. package/css/ionic/core.ionic.css +1 -0
  12. package/css/ionic/core.ionic.css.map +1 -0
  13. package/css/ionic/global.bundle.ionic.css +1 -0
  14. package/css/ionic/global.bundle.ionic.css.map +1 -0
  15. package/css/ionic/ionic-swiper.ionic.css +1 -0
  16. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  17. package/css/ionic/link.ionic.css +1 -0
  18. package/css/ionic/link.ionic.css.map +1 -0
  19. package/css/ionic/structure.ionic.css +1 -0
  20. package/css/ionic/structure.ionic.css.map +1 -0
  21. package/css/ionic/typography.ionic.css +1 -0
  22. package/css/ionic/typography.ionic.css.map +1 -0
  23. package/css/ionic/utils.bundle.ionic.css +1 -0
  24. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  25. package/css/ionic-swiper.css +1 -1
  26. package/css/ionic-swiper.css.map +1 -1
  27. package/css/ionic.bundle.css +1 -1
  28. package/css/ionic.bundle.css.map +1 -1
  29. package/css/normalize.css.map +1 -1
  30. package/css/padding.css.map +1 -1
  31. package/css/palettes/dark.always.css.map +1 -1
  32. package/css/palettes/dark.class.css.map +1 -1
  33. package/css/palettes/dark.system.css.map +1 -1
  34. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  35. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  36. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  37. package/css/palettes/high-contrast.always.css.map +1 -1
  38. package/css/palettes/high-contrast.class.css.map +1 -1
  39. package/css/palettes/high-contrast.system.css.map +1 -1
  40. package/css/structure.css +1 -1
  41. package/css/structure.css.map +1 -1
  42. package/css/text-alignment.css.map +1 -1
  43. package/css/text-transformation.css.map +1 -1
  44. package/css/typography.css +1 -1
  45. package/css/typography.css.map +1 -1
  46. package/css/utils.bundle.css.map +1 -1
  47. package/directives/navigation/ion-tabs.d.ts +2 -3
  48. package/directives/proxies-list.d.ts +1 -1
  49. package/directives/proxies.d.ts +83 -91
  50. package/esm2022/app-initialize.mjs +2 -2
  51. package/esm2022/common/directives/navigation/tabs.mjs +1 -58
  52. package/esm2022/directives/navigation/ion-tabs.mjs +5 -14
  53. package/esm2022/directives/proxies-list.mjs +1 -2
  54. package/esm2022/directives/proxies.mjs +250 -266
  55. package/esm2022/ionic-module.mjs +2 -2
  56. package/esm2022/standalone/directives/proxies.mjs +214 -239
  57. package/esm2022/standalone/navigation/tabs.mjs +5 -14
  58. package/fesm2022/ionic-angular-common.mjs +0 -57
  59. package/fesm2022/ionic-angular-common.mjs.map +1 -1
  60. package/fesm2022/ionic-angular-standalone.mjs +256 -288
  61. package/fesm2022/ionic-angular-standalone.mjs.map +1 -1
  62. package/fesm2022/ionic-angular.mjs +255 -279
  63. package/fesm2022/ionic-angular.mjs.map +1 -1
  64. package/ionic-module.d.ts +1 -1
  65. package/package.json +2 -2
  66. package/standalone/directives/proxies.d.ts +69 -78
  67. package/standalone/navigation/tabs.d.ts +2 -3
@@ -1,7 +1,6 @@
1
- import { NgIf } from '@angular/common';
2
1
  import { Component, ContentChild, ContentChildren, ViewChild } from '@angular/core';
3
2
  import { IonTabs as IonTabsBase } from '@ionic/angular/common';
4
- import { IonTabBar, IonTab } from '../directives/proxies';
3
+ import { IonTabBar } from '../directives/proxies';
5
4
  import { IonRouterOutlet } from './router-outlet';
6
5
  import * as i0 from "@angular/core";
7
6
  // eslint-disable-next-line @angular-eslint/component-class-suffix
@@ -9,22 +8,19 @@ export class IonTabs extends IonTabsBase {
9
8
  outlet;
10
9
  tabBar;
11
10
  tabBars;
12
- tabs;
13
11
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonTabs, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: IonTabs, isStandalone: true, selector: "ion-tabs", queries: [{ propertyName: "tabBar", first: true, predicate: IonTabBar, descendants: true }, { propertyName: "tabBars", predicate: IonTabBar }, { propertyName: "tabs", predicate: IonTab }], viewQueries: [{ propertyName: "outlet", first: true, predicate: ["outlet"], descendants: true, read: IonRouterOutlet }], usesInheritance: true, ngImport: i0, template: `
12
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: IonTabs, isStandalone: true, selector: "ion-tabs", queries: [{ propertyName: "tabBar", first: true, predicate: IonTabBar, descendants: true }, { propertyName: "tabBars", predicate: IonTabBar }], viewQueries: [{ propertyName: "outlet", first: true, predicate: ["outlet"], descendants: true, read: IonRouterOutlet }], usesInheritance: true, ngImport: i0, template: `
15
13
  <ng-content select="[slot=top]"></ng-content>
16
14
  <div class="tabs-inner" #tabsInner>
17
15
  <ion-router-outlet
18
- *ngIf="tabs.length === 0"
19
16
  #outlet
20
17
  tabs="true"
21
18
  (stackWillChange)="onStackWillChange($event)"
22
19
  (stackDidChange)="onStackDidChange($event)"
23
20
  ></ion-router-outlet>
24
- <ng-content *ngIf="tabs.length > 0" select="ion-tab"></ng-content>
25
21
  </div>
26
22
  <ng-content></ng-content>
27
- `, isInline: true, styles: [":host{display:flex;position:absolute;inset:0;flex-direction:column;width:100%;height:100%;contain:layout size style}.tabs-inner{position:relative;flex:1;contain:layout size style}\n"], dependencies: [{ kind: "component", type: IonRouterOutlet, selector: "ion-router-outlet" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
23
+ `, isInline: true, styles: [":host{display:flex;position:absolute;inset:0;flex-direction:column;width:100%;height:100%;contain:layout size style}.tabs-inner{position:relative;flex:1;contain:layout size style}\n"], dependencies: [{ kind: "component", type: IonRouterOutlet, selector: "ion-router-outlet" }] });
28
24
  }
29
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonTabs, decorators: [{
30
26
  type: Component,
@@ -32,16 +28,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
32
28
  <ng-content select="[slot=top]"></ng-content>
33
29
  <div class="tabs-inner" #tabsInner>
34
30
  <ion-router-outlet
35
- *ngIf="tabs.length === 0"
36
31
  #outlet
37
32
  tabs="true"
38
33
  (stackWillChange)="onStackWillChange($event)"
39
34
  (stackDidChange)="onStackDidChange($event)"
40
35
  ></ion-router-outlet>
41
- <ng-content *ngIf="tabs.length > 0" select="ion-tab"></ng-content>
42
36
  </div>
43
37
  <ng-content></ng-content>
44
- `, standalone: true, imports: [IonRouterOutlet, NgIf], styles: [":host{display:flex;position:absolute;inset:0;flex-direction:column;width:100%;height:100%;contain:layout size style}.tabs-inner{position:relative;flex:1;contain:layout size style}\n"] }]
38
+ `, standalone: true, imports: [IonRouterOutlet], styles: [":host{display:flex;position:absolute;inset:0;flex-direction:column;width:100%;height:100%;contain:layout size style}.tabs-inner{position:relative;flex:1;contain:layout size style}\n"] }]
45
39
  }], propDecorators: { outlet: [{
46
40
  type: ViewChild,
47
41
  args: ['outlet', { read: IonRouterOutlet, static: false }]
@@ -51,8 +45,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
51
45
  }], tabBars: [{
52
46
  type: ContentChildren,
53
47
  args: [IonTabBar]
54
- }], tabs: [{
55
- type: ContentChildren,
56
- args: [IonTab]
57
48
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3N0YW5kYWxvbmUvc3JjL25hdmlnYXRpb24vdGFicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsT0FBTyxJQUFJLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQStDbEQsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyxPQUFRLFNBQVEsV0FBVztJQUN5QixNQUFNLENBQWtCO0lBRTNDLE1BQU0sQ0FBd0I7SUFDOUMsT0FBTyxDQUF1QjtJQUNqQyxJQUFJLENBQW9COzJIQUx0QyxPQUFPOytHQUFQLE9BQU8sd0dBR0osU0FBUyw2REFDTixTQUFTLHVDQUNULE1BQU0sMEdBSk0sZUFBZSxvREE3Q2xDOzs7Ozs7Ozs7Ozs7O0dBYVQsK1BBNEJTLGVBQWUsOERBQUUsSUFBSTs7NEZBR3BCLE9BQU87a0JBOUNuQixTQUFTOytCQUNFLFVBQVUsWUFDVjs7Ozs7Ozs7Ozs7OztHQWFULGNBQ1csSUFBSSxXQTJCUCxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7OEJBSStCLE1BQU07c0JBQXBFLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUVqQixNQUFNO3NCQUFqRCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ2QsT0FBTztzQkFBbEMsZUFBZTt1QkFBQyxTQUFTO2dCQUNELElBQUk7c0JBQTVCLGVBQWU7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZHJlbiwgVmlld0NoaWxkLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvblRhYnMgYXMgSW9uVGFic0Jhc2UgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBJb25UYWJCYXIsIElvblRhYiB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvcHJveGllcyc7XG5cbmltcG9ydCB7IElvblJvdXRlck91dGxldCB9IGZyb20gJy4vcm91dGVyLW91dGxldCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lvbi10YWJzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD10b3BdXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJ0YWJzLWlubmVyXCIgI3RhYnNJbm5lcj5cbiAgICAgIDxpb24tcm91dGVyLW91dGxldFxuICAgICAgICAqbmdJZj1cInRhYnMubGVuZ3RoID09PSAwXCJcbiAgICAgICAgI291dGxldFxuICAgICAgICB0YWJzPVwidHJ1ZVwiXG4gICAgICAgIChzdGFja1dpbGxDaGFuZ2UpPVwib25TdGFja1dpbGxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChzdGFja0RpZENoYW5nZSk9XCJvblN0YWNrRGlkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvaW9uLXJvdXRlci1vdXRsZXQ+XG4gICAgICA8bmctY29udGVudCAqbmdJZj1cInRhYnMubGVuZ3RoID4gMFwiIHNlbGVjdD1cImlvbi10YWJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBjb250YWluOiBsYXlvdXQgc2l6ZSBzdHlsZTtcbiAgICAgIH1cbiAgICAgIC50YWJzLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgY29udGFpbjogbGF5b3V0IHNpemUgc3R5bGU7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgaW1wb3J0czogW0lvblJvdXRlck91dGxldCwgTmdJZl0sXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgSW9uVGFicyBleHRlbmRzIElvblRhYnNCYXNlIHtcbiAgQFZpZXdDaGlsZCgnb3V0bGV0JywgeyByZWFkOiBJb25Sb3V0ZXJPdXRsZXQsIHN0YXRpYzogZmFsc2UgfSkgb3V0bGV0OiBJb25Sb3V0ZXJPdXRsZXQ7XG5cbiAgQENvbnRlbnRDaGlsZChJb25UYWJCYXIsIHsgc3RhdGljOiBmYWxzZSB9KSB0YWJCYXI6IElvblRhYkJhciB8IHVuZGVmaW5lZDtcbiAgQENvbnRlbnRDaGlsZHJlbihJb25UYWJCYXIpIHRhYkJhcnM6IFF1ZXJ5TGlzdDxJb25UYWJCYXI+O1xuICBAQ29udGVudENoaWxkcmVuKElvblRhYikgdGFiczogUXVlcnlMaXN0PElvblRhYj47XG59XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3N0YW5kYWxvbmUvc3JjL25hdmlnYXRpb24vdGFicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxPQUFPLElBQUksV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUE2Q2xELGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sT0FBUSxTQUFRLFdBQVc7SUFDeUIsTUFBTSxDQUFrQjtJQUUzQyxNQUFNLENBQXdCO0lBQzlDLE9BQU8sQ0FBdUI7MkhBSi9DLE9BQU87K0dBQVAsT0FBTyx3R0FHSixTQUFTLDZEQUNOLFNBQVMsMEdBSEcsZUFBZSxvREEzQ2xDOzs7Ozs7Ozs7OztHQVdULCtQQTRCUyxlQUFlOzs0RkFHZCxPQUFPO2tCQTVDbkIsU0FBUzsrQkFDRSxVQUFVLFlBQ1Y7Ozs7Ozs7Ozs7O0dBV1QsY0FDVyxJQUFJLFdBMkJQLENBQUMsZUFBZSxDQUFDOzhCQUlxQyxNQUFNO3NCQUFwRSxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFakIsTUFBTTtzQkFBakQsWUFBWTt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNkLE9BQU87c0JBQWxDLGVBQWU7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIFZpZXdDaGlsZCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25UYWJzIGFzIElvblRhYnNCYXNlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgSW9uVGFiQmFyIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9wcm94aWVzJztcblxuaW1wb3J0IHsgSW9uUm91dGVyT3V0bGV0IH0gZnJvbSAnLi9yb3V0ZXItb3V0bGV0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW9uLXRhYnMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90PXRvcF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cInRhYnMtaW5uZXJcIiAjdGFic0lubmVyPlxuICAgICAgPGlvbi1yb3V0ZXItb3V0bGV0XG4gICAgICAgICNvdXRsZXRcbiAgICAgICAgdGFicz1cInRydWVcIlxuICAgICAgICAoc3RhY2tXaWxsQ2hhbmdlKT1cIm9uU3RhY2tXaWxsQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoc3RhY2tEaWRDaGFuZ2UpPVwib25TdGFja0RpZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L2lvbi1yb3V0ZXItb3V0bGV0PlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgYCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgY29udGFpbjogbGF5b3V0IHNpemUgc3R5bGU7XG4gICAgICB9XG4gICAgICAudGFicy1pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgIGNvbnRhaW46IGxheW91dCBzaXplIHN0eWxlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIGltcG9ydHM6IFtJb25Sb3V0ZXJPdXRsZXRdLFxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIElvblRhYnMgZXh0ZW5kcyBJb25UYWJzQmFzZSB7XG4gIEBWaWV3Q2hpbGQoJ291dGxldCcsIHsgcmVhZDogSW9uUm91dGVyT3V0bGV0LCBzdGF0aWM6IGZhbHNlIH0pIG91dGxldDogSW9uUm91dGVyT3V0bGV0O1xuXG4gIEBDb250ZW50Q2hpbGQoSW9uVGFiQmFyLCB7IHN0YXRpYzogZmFsc2UgfSkgdGFiQmFyOiBJb25UYWJCYXIgfCB1bmRlZmluZWQ7XG4gIEBDb250ZW50Q2hpbGRyZW4oSW9uVGFiQmFyKSB0YWJCYXJzOiBRdWVyeUxpc3Q8SW9uVGFiQmFyPjtcbn1cbiJdfQ==
@@ -2201,27 +2201,9 @@ class IonTabs {
2201
2201
  */
2202
2202
  ionTabsDidChange = new EventEmitter();
2203
2203
  tabBarSlot = 'bottom';
2204
- hasTab = false;
2205
- selectedTab;
2206
- leavingTab;
2207
2204
  constructor(navCtrl) {
2208
2205
  this.navCtrl = navCtrl;
2209
2206
  }
2210
- ngAfterViewInit() {
2211
- /**
2212
- * Developers must pass at least one ion-tab
2213
- * inside of ion-tabs if they want to use a
2214
- * basic tab-based navigation without the
2215
- * history stack or URL updates associated
2216
- * with the router.
2217
- */
2218
- const firstTab = this.tabs.length > 0 ? this.tabs.first : undefined;
2219
- if (firstTab) {
2220
- this.hasTab = true;
2221
- this.setActiveTab(firstTab.tab);
2222
- this.tabSwitch();
2223
- }
2224
- }
2225
2207
  ngAfterContentInit() {
2226
2208
  this.detectSlotChanges();
2227
2209
  }
@@ -2272,16 +2254,6 @@ class IonTabs {
2272
2254
  select(tabOrEvent) {
2273
2255
  const isTabString = typeof tabOrEvent === 'string';
2274
2256
  const tab = isTabString ? tabOrEvent : tabOrEvent.detail.tab;
2275
- /**
2276
- * If the tabs are not using the router, then
2277
- * the tab switch logic is handled by the tabs
2278
- * component itself.
2279
- */
2280
- if (this.hasTab) {
2281
- this.setActiveTab(tab);
2282
- this.tabSwitch();
2283
- return;
2284
- }
2285
2257
  const alreadySelected = this.outlet.getActiveStackId() === tab;
2286
2258
  const tabRootUrl = `${this.outlet.tabsPrefix}/${tab}`;
2287
2259
  /**
@@ -2323,36 +2295,7 @@ class IonTabs {
2323
2295
  });
2324
2296
  }
2325
2297
  }
2326
- setActiveTab(tab) {
2327
- const tabs = this.tabs;
2328
- const selectedTab = tabs.find((t) => t.tab === tab);
2329
- if (!selectedTab) {
2330
- console.error(`[Ionic Error]: Tab with id: "${tab}" does not exist`);
2331
- return;
2332
- }
2333
- this.leavingTab = this.selectedTab;
2334
- this.selectedTab = selectedTab;
2335
- this.ionTabsWillChange.emit({ tab });
2336
- selectedTab.el.active = true;
2337
- }
2338
- tabSwitch() {
2339
- const { selectedTab, leavingTab } = this;
2340
- if (this.tabBar && selectedTab) {
2341
- this.tabBar.selectedTab = selectedTab.tab;
2342
- }
2343
- if (leavingTab?.tab !== selectedTab?.tab) {
2344
- if (leavingTab?.el) {
2345
- leavingTab.el.active = false;
2346
- }
2347
- }
2348
- if (selectedTab) {
2349
- this.ionTabsDidChange.emit({ tab: selectedTab.tab });
2350
- }
2351
- }
2352
2298
  getSelected() {
2353
- if (this.hasTab) {
2354
- return this.selectedTab?.tab;
2355
- }
2356
2299
  return this.outlet.getActiveStackId();
2357
2300
  }
2358
2301
  /**