Merge branch 'main' into update-from-main

This commit is contained in:
Brandy Smith
2026-03-04 15:16:31 -05:00
299 changed files with 2171 additions and 539 deletions

View File

@@ -3,6 +3,25 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [8.7.18](https://github.com/ionic-team/ionic-framework/compare/v8.7.17...v8.7.18) (2026-02-25)
### Bug Fixes
* **nav-controller:** reset direction state when navigation is canceled ([#30955](https://github.com/ionic-team/ionic-framework/issues/30955)) ([53172d1](https://github.com/ionic-team/ionic-framework/commit/53172d1a4035d5b510c230553aabd53dc1389e4b))
## [8.7.17](https://github.com/ionic-team/ionic-framework/compare/v8.7.15...v8.7.17) (2026-01-14)
**Note:** Version bump only for package @ionic/angular
## [8.7.16](https://github.com/ionic-team/ionic-framework/compare/v8.7.15...v8.7.16) (2025-12-31)
**Note:** Version bump only for package @ionic/angular

View File

@@ -1,6 +1,14 @@
import { Location } from '@angular/common';
import { Injectable, Optional } from '@angular/core';
import { NavigationExtras, Router, UrlSerializer, UrlTree, NavigationStart } from '@angular/router';
import {
NavigationExtras,
Router,
UrlSerializer,
UrlTree,
NavigationStart,
NavigationCancel,
NavigationError,
} from '@angular/router';
import type { AnimationBuilder, NavDirection, RouterDirection } from '@ionic/core/components';
import { IonRouterOutlet } from '../directives/navigation/router-outlet';
@@ -42,6 +50,14 @@ export class NavController {
this.guessDirection = this.guessAnimation = id < this.lastNavId ? 'back' : 'forward';
this.lastNavId = this.guessDirection === 'forward' ? ev.id : id;
}
// Reset explicit direction when navigation is canceled (e.g., guard rejection)
// to prevent stale direction from leaking into the next navigation
if (ev instanceof NavigationCancel || ev instanceof NavigationError) {
this.direction = DEFAULT_DIRECTION;
this.animated = DEFAULT_ANIMATED;
this.animationBuilder = undefined;
}
});
}

View File

@@ -1,15 +1,15 @@
{
"name": "@ionic/angular",
"version": "8.7.16",
"version": "8.7.18",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@ionic/angular",
"version": "8.7.16",
"version": "8.7.18",
"license": "MIT",
"dependencies": {
"@ionic/core": "^8.7.16",
"@ionic/core": "^8.7.18",
"ionicons": "^8.0.13",
"jsonc-parser": "^3.0.0",
"tslib": "^2.3.0"
@@ -1398,9 +1398,9 @@
"dev": true
},
"node_modules/@ionic/core": {
"version": "8.7.16",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.7.16.tgz",
"integrity": "sha512-+vdv/o2Z/2YfoZJIDBLnoh11eJmOOZqQdfwC0zl2MemAVRSofjGuIQlUTZqiUUNht56Rnk9oo53TvmgjNCtmDA==",
"version": "8.7.18",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.7.18.tgz",
"integrity": "sha512-KUp91+XFTSAhOTLOIj7rY6j44guxI/gaR0S6bUZ/+65qZIuftRcETKb54yQ0COqn0lgAgQnkuYdWyH1uRPHsEA==",
"license": "MIT",
"dependencies": {
"@stencil/core": "4.38.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@ionic/angular",
"version": "8.7.16",
"version": "8.7.18",
"description": "Angular specific wrappers for @ionic/core",
"keywords": [
"ionic",
@@ -48,7 +48,7 @@
}
},
"dependencies": {
"@ionic/core": "^8.7.16",
"@ionic/core": "^8.7.18",
"ionicons": "^8.0.13",
"jsonc-parser": "^3.0.0",
"tslib": "^2.3.0"