@ionic/angular 7.6.2-dev.11704390532.1202188d → 7.6.2-dev.11704729332.13b412c8

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 (36) hide show
  1. package/common/directives/navigation/router-outlet.d.ts +3 -4
  2. package/css/core.css +35 -34
  3. package/css/core.css.map +1 -1
  4. package/css/global.bundle.css +1 -1
  5. package/css/ionic.bundle.css +1 -1
  6. package/css/ionic.bundle.css.map +1 -1
  7. package/css/themes/dark.always.css +122 -0
  8. package/css/themes/dark.always.css.map +1 -0
  9. package/css/themes/dark.class.css +122 -0
  10. package/css/themes/dark.class.css.map +1 -0
  11. package/css/themes/dark.css +3 -0
  12. package/css/themes/dark.css.map +1 -0
  13. package/css/themes/dark.system.css +124 -0
  14. package/css/themes/dark.system.css.map +1 -0
  15. package/css/typography.css +1 -1
  16. package/directives/navigation/ion-router-outlet.d.ts +4 -12
  17. package/esm2020/common/directives/navigation/router-outlet.mjs +6 -14
  18. package/esm2020/common/directives/navigation/stack-controller.mjs +4 -1
  19. package/esm2020/directives/navigation/ion-router-outlet.mjs +9 -13
  20. package/esm2020/directives/navigation/ion-tabs.mjs +1 -1
  21. package/esm2020/standalone/navigation/router-outlet.mjs +9 -13
  22. package/esm2020/standalone/navigation/tabs.mjs +1 -1
  23. package/fesm2015/ionic-angular-common.mjs +8 -13
  24. package/fesm2015/ionic-angular-common.mjs.map +1 -1
  25. package/fesm2015/ionic-angular-standalone.mjs +9 -13
  26. package/fesm2015/ionic-angular-standalone.mjs.map +1 -1
  27. package/fesm2015/ionic-angular.mjs +9 -13
  28. package/fesm2015/ionic-angular.mjs.map +1 -1
  29. package/fesm2020/ionic-angular-common.mjs +8 -13
  30. package/fesm2020/ionic-angular-common.mjs.map +1 -1
  31. package/fesm2020/ionic-angular-standalone.mjs +9 -13
  32. package/fesm2020/ionic-angular-standalone.mjs.map +1 -1
  33. package/fesm2020/ionic-angular.mjs +9 -13
  34. package/fesm2020/ionic-angular.mjs.map +1 -1
  35. package/package.json +2 -2
  36. package/standalone/navigation/router-outlet.d.ts +4 -12
@@ -1,4 +1,4 @@
1
- import { ViewChild, ViewContainerRef, Component, Attribute, Optional, SkipSelf, } from '@angular/core';
1
+ import { Directive, Attribute, Optional, SkipSelf } from '@angular/core';
2
2
  import { IonRouterOutlet as IonRouterOutletBase } from '@ionic/angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
@@ -11,18 +11,17 @@ export class IonRouterOutlet extends IonRouterOutletBase {
11
11
  * This results in APIs such as NavController.pop not working
12
12
  * in nested outlets because the parent outlet cannot be found.
13
13
  */
14
- constructor(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, outletContent, parentOutlet) {
15
- super(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, outletContent, parentOutlet);
14
+ constructor(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet) {
15
+ super(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet);
16
16
  this.parentOutlet = parentOutlet;
17
17
  }
18
18
  }
19
- /** @nocollapse */ IonRouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRouterOutlet, deps: [{ token: 'name', attribute: true }, { token: 'tabs', attribute: true, optional: true }, { token: i1.Location }, { token: i0.ElementRef }, { token: i2.Router }, { token: i0.NgZone }, { token: i2.ActivatedRoute }, { token: i0.ViewContainerRef }, { token: IonRouterOutlet, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
20
- /** @nocollapse */ IonRouterOutlet.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRouterOutlet, selector: "ion-router-outlet", viewQueries: [{ propertyName: "outletContent", first: true, predicate: ["outletContent"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: '<ng-container #outletContent><ng-content></ng-content></ng-container>', isInline: true });
19
+ /** @nocollapse */ IonRouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRouterOutlet, deps: [{ token: 'name', attribute: true }, { token: 'tabs', attribute: true, optional: true }, { token: i1.Location }, { token: i0.ElementRef }, { token: i2.Router }, { token: i0.NgZone }, { token: i2.ActivatedRoute }, { token: IonRouterOutlet, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
20
+ /** @nocollapse */ IonRouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: IonRouterOutlet, selector: "ion-router-outlet", usesInheritance: true, ngImport: i0 });
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRouterOutlet, decorators: [{
22
- type: Component,
22
+ type: Directive,
23
23
  args: [{
24
24
  selector: 'ion-router-outlet',
25
- template: '<ng-container #outletContent><ng-content></ng-content></ng-container>',
26
25
  }]
27
26
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
28
27
  type: Attribute,
@@ -32,12 +31,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
32
31
  }, {
33
32
  type: Attribute,
34
33
  args: ['tabs']
35
- }] }, { type: i1.Location }, { type: i0.ElementRef }, { type: i2.Router }, { type: i0.NgZone }, { type: i2.ActivatedRoute }, { type: i0.ViewContainerRef }, { type: IonRouterOutlet, decorators: [{
34
+ }] }, { type: i1.Location }, { type: i0.ElementRef }, { type: i2.Router }, { type: i0.NgZone }, { type: i2.ActivatedRoute }, { type: IonRouterOutlet, decorators: [{
36
35
  type: SkipSelf
37
36
  }, {
38
37
  type: Optional
39
- }] }]; }, propDecorators: { outletContent: [{
40
- type: ViewChild,
41
- args: ['outletContent', { read: ViewContainerRef, static: true }]
42
- }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uLXJvdXRlci1vdXRsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9uYXZpZ2F0aW9uL2lvbi1yb3V0ZXItb3V0bGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFFBQVEsR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxJQUFJLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFNL0Usa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQVV0RDs7Ozs7T0FLRztJQUNILFlBQ3FCLElBQVksRUFDQSxJQUFZLEVBQzNDLGNBQXdCLEVBQ3hCLFVBQXNCLEVBQ3RCLE1BQWMsRUFDZCxJQUFZLEVBQ1osY0FBOEIsRUFDOUIsYUFBK0IsRUFDRSxZQUE4QjtRQUUvRCxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUZ4RSxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7SUFHakUsQ0FBQzs7Z0lBNUJVLGVBQWUsa0JBaUJiLE1BQU0sOEJBQ00sTUFBTTtvSEFsQnBCLGVBQWUsb0pBUVUsZ0JBQWdCLGtFQVgxQyx1RUFBdUU7NEZBR3RFLGVBQWU7a0JBTDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLHVFQUF1RTtpQkFDbEY7OzBCQW1CSSxTQUFTOzJCQUFDLE1BQU07OzBCQUNoQixRQUFROzswQkFBSSxTQUFTOzJCQUFDLE1BQU07OzBCQU81QixRQUFROzswQkFBSSxRQUFROzRDQWpCK0MsYUFBYTtzQkFBbEYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgQ29tcG9uZW50LFxuICBBdHRyaWJ1dGUsXG4gIE9wdGlvbmFsLFxuICBTa2lwU2VsZixcbiAgRWxlbWVudFJlZixcbiAgTmdab25lLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uUm91dGVyT3V0bGV0IGFzIElvblJvdXRlck91dGxldEJhc2UgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpb24tcm91dGVyLW91dGxldCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRhaW5lciAjb3V0bGV0Q29udGVudD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy1jb250YWluZXI+Jyxcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBJb25Sb3V0ZXJPdXRsZXQgZXh0ZW5kcyBJb25Sb3V0ZXJPdXRsZXRCYXNlIHtcbiAgLyoqXG4gICAqIHN0YXRpYzogdHJ1ZSBtdXN0IGJlIHNldCBzbyB0aGUgcXVlcnkgcmVzdWx0cyBhcmUgcmVzb2x2ZWRcbiAgICogYmVmb3JlIGNoYW5nZSBkZXRlY3Rpb24gcnVucy4gT3RoZXJ3aXNlLCB0aGUgdmlldyBjb250YWluZXJcbiAgICogcmVmIHdpbGwgYmUgaW9uLXJvdXRlci1vdXRsZXQgaW5zdGVhZCBvZiBuZy1jb250YWluZXIsIGFuZFxuICAgKiB0aGUgZmlyc3QgdmlldyB3aWxsIGJlIGFkZGVkIGFzIGEgc2libGluZyBvZiBpb24tcm91dGVyLW91dGxldFxuICAgKiBpbnN0ZWFkIG9mIGEgY2hpbGQuXG4gICAqL1xuICBAVmlld0NoaWxkKCdvdXRsZXRDb250ZW50JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSkgb3V0bGV0Q29udGVudDogVmlld0NvbnRhaW5lclJlZjtcblxuICAvKipcbiAgICogV2UgbmVlZCB0byBwYXNzIGluIHRoZSBjb3JyZWN0IGluc3RhbmNlIG9mIElvblJvdXRlck91dGxldFxuICAgKiBvdGhlcndpc2UgcGFyZW50T3V0bGV0IHdpbGwgYmUgbnVsbCBpbiBhIG5lc3RlZCBvdXRsZXQgY29udGV4dC5cbiAgICogVGhpcyByZXN1bHRzIGluIEFQSXMgc3VjaCBhcyBOYXZDb250cm9sbGVyLnBvcCBub3Qgd29ya2luZ1xuICAgKiBpbiBuZXN0ZWQgb3V0bGV0cyBiZWNhdXNlIHRoZSBwYXJlbnQgb3V0bGV0IGNhbm5vdCBiZSBmb3VuZC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBBdHRyaWJ1dGUoJ25hbWUnKSBuYW1lOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKCkgQEF0dHJpYnV0ZSgndGFicycpIHRhYnM6IHN0cmluZyxcbiAgICBjb21tb25Mb2NhdGlvbjogTG9jYXRpb24sXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIG91dGxldENvbnRlbnQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcmVhZG9ubHkgcGFyZW50T3V0bGV0PzogSW9uUm91dGVyT3V0bGV0XG4gICkge1xuICAgIHN1cGVyKG5hbWUsIHRhYnMsIGNvbW1vbkxvY2F0aW9uLCBlbGVtZW50UmVmLCByb3V0ZXIsIHpvbmUsIGFjdGl2YXRlZFJvdXRlLCBvdXRsZXRDb250ZW50LCBwYXJlbnRPdXRsZXQpO1xuICB9XG59XG4iXX0=
38
+ }] }]; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uLXJvdXRlci1vdXRsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9uYXZpZ2F0aW9uL2lvbi1yb3V0ZXItb3V0bGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBRTdGLE9BQU8sRUFBRSxlQUFlLElBQUksbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUsvRSxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3REOzs7OztPQUtHO0lBQ0gsWUFDcUIsSUFBWSxFQUNBLElBQVksRUFDM0MsY0FBd0IsRUFDeEIsVUFBc0IsRUFDdEIsTUFBYyxFQUNkLElBQVksRUFDWixjQUE4QixFQUNHLFlBQThCO1FBRS9ELEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFGekQsaUJBQVksR0FBWixZQUFZLENBQWtCO0lBR2pFLENBQUM7O2dJQWxCVSxlQUFlLGtCQVFiLE1BQU0sOEJBQ00sTUFBTTtvSEFUcEIsZUFBZTs0RkFBZixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOzswQkFVSSxTQUFTOzJCQUFDLE1BQU07OzBCQUNoQixRQUFROzswQkFBSSxTQUFTOzJCQUFDLE1BQU07OzBCQU01QixRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBBdHRyaWJ1dGUsIE9wdGlvbmFsLCBTa2lwU2VsZiwgRWxlbWVudFJlZiwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvblJvdXRlck91dGxldCBhcyBJb25Sb3V0ZXJPdXRsZXRCYXNlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvY29tbW9uJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW9uLXJvdXRlci1vdXRsZXQnLFxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIElvblJvdXRlck91dGxldCBleHRlbmRzIElvblJvdXRlck91dGxldEJhc2Uge1xuICAvKipcbiAgICogV2UgbmVlZCB0byBwYXNzIGluIHRoZSBjb3JyZWN0IGluc3RhbmNlIG9mIElvblJvdXRlck91dGxldFxuICAgKiBvdGhlcndpc2UgcGFyZW50T3V0bGV0IHdpbGwgYmUgbnVsbCBpbiBhIG5lc3RlZCBvdXRsZXQgY29udGV4dC5cbiAgICogVGhpcyByZXN1bHRzIGluIEFQSXMgc3VjaCBhcyBOYXZDb250cm9sbGVyLnBvcCBub3Qgd29ya2luZ1xuICAgKiBpbiBuZXN0ZWQgb3V0bGV0cyBiZWNhdXNlIHRoZSBwYXJlbnQgb3V0bGV0IGNhbm5vdCBiZSBmb3VuZC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBBdHRyaWJ1dGUoJ25hbWUnKSBuYW1lOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKCkgQEF0dHJpYnV0ZSgndGFicycpIHRhYnM6IHN0cmluZyxcbiAgICBjb21tb25Mb2NhdGlvbjogTG9jYXRpb24sXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIEBTa2lwU2VsZigpIEBPcHRpb25hbCgpIHJlYWRvbmx5IHBhcmVudE91dGxldD86IElvblJvdXRlck91dGxldFxuICApIHtcbiAgICBzdXBlcihuYW1lLCB0YWJzLCBjb21tb25Mb2NhdGlvbiwgZWxlbWVudFJlZiwgcm91dGVyLCB6b25lLCBhY3RpdmF0ZWRSb3V0ZSwgcGFyZW50T3V0bGV0KTtcbiAgfVxufVxuIl19
@@ -19,7 +19,7 @@ export class IonTabs extends IonTabsBase {
19
19
  ></ion-router-outlet>
20
20
  </div>
21
21
  <ng-content></ng-content>
22
- `, 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: i1.IonRouterOutlet, selector: "ion-router-outlet" }] });
22
+ `, 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: "directive", type: i1.IonRouterOutlet, selector: "ion-router-outlet" }] });
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonTabs, decorators: [{
24
24
  type: Component,
25
25
  args: [{ selector: 'ion-tabs', template: `
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { ViewChild, ViewContainerRef, Component, Attribute, Optional, SkipSelf, } from '@angular/core';
2
+ import { Directive, Attribute, Optional, SkipSelf } from '@angular/core';
3
3
  import { IonRouterOutlet as IonRouterOutletBase, ProxyCmp } from '@ionic/angular/common';
4
4
  import { defineCustomElement } from '@ionic/core/components/ion-router-outlet.js';
5
5
  import * as i0 from "@angular/core";
@@ -12,13 +12,13 @@ let IonRouterOutlet = class IonRouterOutlet extends IonRouterOutletBase {
12
12
  * This results in APIs such as NavController.pop not working
13
13
  * in nested outlets because the parent outlet cannot be found.
14
14
  */
15
- constructor(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, outletContent, parentOutlet) {
16
- super(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, outletContent, parentOutlet);
15
+ constructor(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet) {
16
+ super(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet);
17
17
  this.parentOutlet = parentOutlet;
18
18
  }
19
19
  };
20
- /** @nocollapse */ IonRouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRouterOutlet, deps: [{ token: 'name', attribute: true }, { token: 'tabs', attribute: true, optional: true }, { token: i1.Location }, { token: i0.ElementRef }, { token: i2.Router }, { token: i0.NgZone }, { token: i2.ActivatedRoute }, { token: i0.ViewContainerRef }, { token: IonRouterOutlet, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
21
- /** @nocollapse */ IonRouterOutlet.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRouterOutlet, isStandalone: true, selector: "ion-router-outlet", viewQueries: [{ propertyName: "outletContent", first: true, predicate: ["outletContent"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: '<ng-container #outletContent><ng-content></ng-content></ng-container>', isInline: true });
20
+ /** @nocollapse */ IonRouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRouterOutlet, deps: [{ token: 'name', attribute: true }, { token: 'tabs', attribute: true, optional: true }, { token: i1.Location }, { token: i0.ElementRef }, { token: i2.Router }, { token: i0.NgZone }, { token: i2.ActivatedRoute }, { token: IonRouterOutlet, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
21
+ /** @nocollapse */ IonRouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: IonRouterOutlet, isStandalone: true, selector: "ion-router-outlet", usesInheritance: true, ngImport: i0 });
22
22
  IonRouterOutlet = __decorate([
23
23
  ProxyCmp({
24
24
  defineCustomElementFn: defineCustomElement,
@@ -26,11 +26,10 @@ IonRouterOutlet = __decorate([
26
26
  ], IonRouterOutlet);
27
27
  export { IonRouterOutlet };
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRouterOutlet, decorators: [{
29
- type: Component,
29
+ type: Directive,
30
30
  args: [{
31
31
  selector: 'ion-router-outlet',
32
32
  standalone: true,
33
- template: '<ng-container #outletContent><ng-content></ng-content></ng-container>',
34
33
  }]
35
34
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
36
35
  type: Attribute,
@@ -40,12 +39,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
40
39
  }, {
41
40
  type: Attribute,
42
41
  args: ['tabs']
43
- }] }, { type: i1.Location }, { type: i0.ElementRef }, { type: i2.Router }, { type: i0.NgZone }, { type: i2.ActivatedRoute }, { type: i0.ViewContainerRef }, { type: IonRouterOutlet, decorators: [{
42
+ }] }, { type: i1.Location }, { type: i0.ElementRef }, { type: i2.Router }, { type: i0.NgZone }, { type: i2.ActivatedRoute }, { type: IonRouterOutlet, decorators: [{
44
43
  type: SkipSelf
45
44
  }, {
46
45
  type: Optional
47
- }] }]; }, propDecorators: { outletContent: [{
48
- type: ViewChild,
49
- args: ['outletContent', { read: ViewContainerRef, static: true }]
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLW91dGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3N0YW5kYWxvbmUvc3JjL25hdmlnYXRpb24vcm91dGVyLW91dGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFNBQVMsRUFDVCxRQUFRLEVBQ1IsUUFBUSxHQUdULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLElBQUksbUJBQW1CLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7SUFXckUsZUFBZSxTQUFmLGVBQWdCLFNBQVEsbUJBQW1CO0lBVXREOzs7OztPQUtHO0lBQ0gsWUFDcUIsSUFBWSxFQUNBLElBQVksRUFDM0MsY0FBd0IsRUFDeEIsVUFBc0IsRUFDdEIsTUFBYyxFQUNkLElBQVksRUFDWixjQUE4QixFQUM5QixhQUErQixFQUNFLFlBQThCO1FBRS9ELEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRnhFLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtJQUdqRSxDQUFDO0NBQ0YsQ0FBQTtnSUE3QlksZUFBZSxrQkFpQmIsTUFBTSw4QkFDTSxNQUFNO29IQWxCcEIsZUFBZSx3S0FRVSxnQkFBZ0Isa0VBWDFDLHVFQUF1RTtBQUd0RSxlQUFlO0lBVDNCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLG1CQUFtQjtLQUMzQyxDQUFDO0dBT1csZUFBZSxDQTZCM0I7U0E3QlksZUFBZTs0RkFBZixlQUFlO2tCQU4zQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsdUVBQXVFO2lCQUNsRjs7MEJBbUJJLFNBQVM7MkJBQUMsTUFBTTs7MEJBQ2hCLFFBQVE7OzBCQUFJLFNBQVM7MkJBQUMsTUFBTTs7MEJBTzVCLFFBQVE7OzBCQUFJLFFBQVE7NENBakIrQyxhQUFhO3NCQUFsRixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDb21wb25lbnQsXG4gIEF0dHJpYnV0ZSxcbiAgT3B0aW9uYWwsXG4gIFNraXBTZWxmLFxuICBFbGVtZW50UmVmLFxuICBOZ1pvbmUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25Sb3V0ZXJPdXRsZXQgYXMgSW9uUm91dGVyT3V0bGV0QmFzZSwgUHJveHlDbXAgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCB9IGZyb20gJ0Bpb25pYy9jb3JlL2NvbXBvbmVudHMvaW9uLXJvdXRlci1vdXRsZXQuanMnO1xuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUN1c3RvbUVsZW1lbnQsXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW9uLXJvdXRlci1vdXRsZXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250YWluZXIgI291dGxldENvbnRlbnQ+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvbmctY29udGFpbmVyPicsXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgSW9uUm91dGVyT3V0bGV0IGV4dGVuZHMgSW9uUm91dGVyT3V0bGV0QmFzZSB7XG4gIC8qKlxuICAgKiBzdGF0aWM6IHRydWUgbXVzdCBiZSBzZXQgc28gdGhlIHF1ZXJ5IHJlc3VsdHMgYXJlIHJlc29sdmVkXG4gICAqIGJlZm9yZSBjaGFuZ2UgZGV0ZWN0aW9uIHJ1bnMuIE90aGVyd2lzZSwgdGhlIHZpZXcgY29udGFpbmVyXG4gICAqIHJlZiB3aWxsIGJlIGlvbi1yb3V0ZXItb3V0bGV0IGluc3RlYWQgb2YgbmctY29udGFpbmVyLCBhbmRcbiAgICogdGhlIGZpcnN0IHZpZXcgd2lsbCBiZSBhZGRlZCBhcyBhIHNpYmxpbmcgb2YgaW9uLXJvdXRlci1vdXRsZXRcbiAgICogaW5zdGVhZCBvZiBhIGNoaWxkLlxuICAgKi9cbiAgQFZpZXdDaGlsZCgnb3V0bGV0Q29udGVudCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIG91dGxldENvbnRlbnQ6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgLyoqXG4gICAqIFdlIG5lZWQgdG8gcGFzcyBpbiB0aGUgY29ycmVjdCBpbnN0YW5jZSBvZiBJb25Sb3V0ZXJPdXRsZXRcbiAgICogb3RoZXJ3aXNlIHBhcmVudE91dGxldCB3aWxsIGJlIG51bGwgaW4gYSBuZXN0ZWQgb3V0bGV0IGNvbnRleHQuXG4gICAqIFRoaXMgcmVzdWx0cyBpbiBBUElzIHN1Y2ggYXMgTmF2Q29udHJvbGxlci5wb3Agbm90IHdvcmtpbmdcbiAgICogaW4gbmVzdGVkIG91dGxldHMgYmVjYXVzZSB0aGUgcGFyZW50IG91dGxldCBjYW5ub3QgYmUgZm91bmQuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBAQXR0cmlidXRlKCduYW1lJykgbmFtZTogc3RyaW5nLFxuICAgIEBPcHRpb25hbCgpIEBBdHRyaWJ1dGUoJ3RhYnMnKSB0YWJzOiBzdHJpbmcsXG4gICAgY29tbW9uTG9jYXRpb246IExvY2F0aW9uLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcm91dGVyOiBSb3V0ZXIsXG4gICAgem9uZTogTmdab25lLFxuICAgIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBvdXRsZXRDb250ZW50OiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEBTa2lwU2VsZigpIEBPcHRpb25hbCgpIHJlYWRvbmx5IHBhcmVudE91dGxldD86IElvblJvdXRlck91dGxldFxuICApIHtcbiAgICBzdXBlcihuYW1lLCB0YWJzLCBjb21tb25Mb2NhdGlvbiwgZWxlbWVudFJlZiwgcm91dGVyLCB6b25lLCBhY3RpdmF0ZWRSb3V0ZSwgb3V0bGV0Q29udGVudCwgcGFyZW50T3V0bGV0KTtcbiAgfVxufVxuIl19
46
+ }] }]; } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLW91dGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3N0YW5kYWxvbmUvc3JjL25hdmlnYXRpb24vcm91dGVyLW91dGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLGVBQWUsSUFBSSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7OztJQVVyRSxlQUFlLFNBQWYsZUFBZ0IsU0FBUSxtQkFBbUI7SUFDdEQ7Ozs7O09BS0c7SUFDSCxZQUNxQixJQUFZLEVBQ0EsSUFBWSxFQUMzQyxjQUF3QixFQUN4QixVQUFzQixFQUN0QixNQUFjLEVBQ2QsSUFBWSxFQUNaLGNBQThCLEVBQ0csWUFBOEI7UUFFL0QsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUZ6RCxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7SUFHakUsQ0FBQztDQUNGLENBQUE7Z0lBbkJZLGVBQWUsa0JBUWIsTUFBTSw4QkFDTSxNQUFNO29IQVRwQixlQUFlO0FBQWYsZUFBZTtJQVIzQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxtQkFBbUI7S0FDM0MsQ0FBQztHQU1XLGVBQWUsQ0FtQjNCO1NBbkJZLGVBQWU7NEZBQWYsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQVVJLFNBQVM7MkJBQUMsTUFBTTs7MEJBQ2hCLFFBQVE7OzBCQUFJLFNBQVM7MkJBQUMsTUFBTTs7MEJBTTVCLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEF0dHJpYnV0ZSwgT3B0aW9uYWwsIFNraXBTZWxmLCBFbGVtZW50UmVmLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uUm91dGVyT3V0bGV0IGFzIElvblJvdXRlck91dGxldEJhc2UsIFByb3h5Q21wIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzL2lvbi1yb3V0ZXItb3V0bGV0LmpzJztcblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVDdXN0b21FbGVtZW50LFxufSlcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lvbi1yb3V0ZXItb3V0bGV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBJb25Sb3V0ZXJPdXRsZXQgZXh0ZW5kcyBJb25Sb3V0ZXJPdXRsZXRCYXNlIHtcbiAgLyoqXG4gICAqIFdlIG5lZWQgdG8gcGFzcyBpbiB0aGUgY29ycmVjdCBpbnN0YW5jZSBvZiBJb25Sb3V0ZXJPdXRsZXRcbiAgICogb3RoZXJ3aXNlIHBhcmVudE91dGxldCB3aWxsIGJlIG51bGwgaW4gYSBuZXN0ZWQgb3V0bGV0IGNvbnRleHQuXG4gICAqIFRoaXMgcmVzdWx0cyBpbiBBUElzIHN1Y2ggYXMgTmF2Q29udHJvbGxlci5wb3Agbm90IHdvcmtpbmdcbiAgICogaW4gbmVzdGVkIG91dGxldHMgYmVjYXVzZSB0aGUgcGFyZW50IG91dGxldCBjYW5ub3QgYmUgZm91bmQuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBAQXR0cmlidXRlKCduYW1lJykgbmFtZTogc3RyaW5nLFxuICAgIEBPcHRpb25hbCgpIEBBdHRyaWJ1dGUoJ3RhYnMnKSB0YWJzOiBzdHJpbmcsXG4gICAgY29tbW9uTG9jYXRpb246IExvY2F0aW9uLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcm91dGVyOiBSb3V0ZXIsXG4gICAgem9uZTogTmdab25lLFxuICAgIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBAU2tpcFNlbGYoKSBAT3B0aW9uYWwoKSByZWFkb25seSBwYXJlbnRPdXRsZXQ/OiBJb25Sb3V0ZXJPdXRsZXRcbiAgKSB7XG4gICAgc3VwZXIobmFtZSwgdGFicywgY29tbW9uTG9jYXRpb24sIGVsZW1lbnRSZWYsIHJvdXRlciwgem9uZSwgYWN0aXZhdGVkUm91dGUsIHBhcmVudE91dGxldCk7XG4gIH1cbn1cbiJdfQ==
@@ -18,7 +18,7 @@ export class IonTabs extends IonTabsBase {
18
18
  ></ion-router-outlet>
19
19
  </div>
20
20
  <ng-content></ng-content>
21
- `, 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" }] });
21
+ `, 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: "directive", type: IonRouterOutlet, selector: "ion-router-outlet" }] });
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonTabs, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'ion-tabs', template: `
@@ -1356,6 +1356,9 @@ class StackController {
1356
1356
  if (enteringEl && enteringEl !== leavingEl) {
1357
1357
  enteringEl.classList.add('ion-page');
1358
1358
  enteringEl.classList.add('ion-page-invisible');
1359
+ if (enteringEl.parentElement !== containerEl) {
1360
+ containerEl.appendChild(enteringEl);
1361
+ }
1359
1362
  if (containerEl.commit) {
1360
1363
  return containerEl.commit(enteringEl, leavingEl, {
1361
1364
  duration: direction === undefined ? 0 : undefined,
@@ -1421,8 +1424,7 @@ const cleanup = (activeRoute, views, viewsSnapshot, location, zone) => {
1421
1424
  // TODO(FW-2827): types
1422
1425
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
1423
1426
  class IonRouterOutlet {
1424
- constructor(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, outletContent, parentOutlet) {
1425
- this.outletContent = outletContent;
1427
+ constructor(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet) {
1426
1428
  this.parentOutlet = parentOutlet;
1427
1429
  this.activatedView = null;
1428
1430
  // Maintain map of activated route proxies for each component instance
@@ -1611,15 +1613,8 @@ class IonRouterOutlet {
1611
1613
  const injector = new OutletInjector(activatedRouteProxy, childContexts, this.location.injector);
1612
1614
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1613
1615
  const component = (_a = snapshot.routeConfig.component) !== null && _a !== void 0 ? _a : snapshot.component;
1614
- /**
1615
- * View components need to be added as a child of ion-router-outlet.
1616
- * However, createComponent mounts components as siblings of the
1617
- * ViewContainerRef. As a result, outletContent must reference
1618
- * an ng-container inside of ion-router-outlet and not
1619
- * ion-router-outlet itself.
1620
- */
1621
- cmpRef = this.activated = this.outletContent.createComponent(component, {
1622
- index: this.outletContent.length,
1616
+ cmpRef = this.activated = this.location.createComponent(component, {
1617
+ index: this.location.length,
1623
1618
  injector,
1624
1619
  environmentInjector: environmentInjector !== null && environmentInjector !== void 0 ? environmentInjector : this.environmentInjector,
1625
1620
  });
@@ -1738,7 +1733,7 @@ class IonRouterOutlet {
1738
1733
  this.currentActivatedRoute$.next({ component, activatedRoute });
1739
1734
  }
1740
1735
  }
1741
- /** @nocollapse */ IonRouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.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: i0.ViewContainerRef }, { token: IonRouterOutlet, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
1736
+ /** @nocollapse */ IonRouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.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 });
1742
1737
  /** @nocollapse */ IonRouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.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 });
1743
1738
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRouterOutlet, decorators: [{
1744
1739
  type: Directive,
@@ -1757,7 +1752,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1757
1752
  }, {
1758
1753
  type: Attribute,
1759
1754
  args: ['tabs']
1760
- }] }, { type: i1.Location }, { type: i0.ElementRef }, { type: i3.Router }, { type: i0.NgZone }, { type: i3.ActivatedRoute }, { type: i0.ViewContainerRef }, { type: IonRouterOutlet, decorators: [{
1755
+ }] }, { type: i1.Location }, { type: i0.ElementRef }, { type: i3.Router }, { type: i0.NgZone }, { type: i3.ActivatedRoute }, { type: IonRouterOutlet, decorators: [{
1761
1756
  type: SkipSelf
1762
1757
  }, {
1763
1758
  type: Optional