diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 8484a6f0af3..00000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,20 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "npm" - directory: "/core" - schedule: - interval: "daily" - versioning-strategy: increase - allow: - - dependency-name: "@playwright/test" - - dependency-name: "@axe-core/playwright" - - dependency-name: "@stencil/angular-output-target" - - dependency-name: "@stencil/core" - - dependency-name: "@stencil/react-output-target" - - dependency-name: "@stencil/sass" - - dependency-name: "@stencil/vue-output-target" - - dependency-name: "ionicons" - - dependency-name: "@capacitor/core" - - dependency-name: "@capacitor/keyboard" - - dependency-name: "@capacitor/haptics" - - dependency-name: "@capacitor/status-bar" diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a26de87c68..ce2c2a8d726 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.7.2](https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2) (2024-02-14) + + +### Bug Fixes + +* **overlays:** do not return focus if application has already moved focus manually ([#28850](https://github.com/ionic-team/ionic-framework/issues/28850)) ([a016670](https://github.com/ionic-team/ionic-framework/commit/a016670a8a46e101d23235b17bc8a2081fb992eb)), closes [#28849](https://github.com/ionic-team/ionic-framework/issues/28849) +* **overlays:** ensure that only topmost overlay is announced by screen readers ([#28997](https://github.com/ionic-team/ionic-framework/issues/28997)) ([ba4ba61](https://github.com/ionic-team/ionic-framework/commit/ba4ba6161c1a6c67f7804b07f49c64ac9ad2b14c)), closes [#23472](https://github.com/ionic-team/ionic-framework/issues/23472) +* **popover:** render arrow above backdrop ([#28986](https://github.com/ionic-team/ionic-framework/issues/28986)) ([0a8964d](https://github.com/ionic-team/ionic-framework/commit/0a8964d30c76218fe62f7f4aed4f81df7bb80cd0)), closes [#28985](https://github.com/ionic-team/ionic-framework/issues/28985) + + + + + ## [7.7.1](https://github.com/ionic-team/ionic-framework/compare/v7.7.0...v7.7.1) (2024-02-07) diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index c202684d81f..735496b7602 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.7.2](https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2) (2024-02-14) + + +### Bug Fixes + +* **overlays:** do not return focus if application has already moved focus manually ([#28850](https://github.com/ionic-team/ionic-framework/issues/28850)) ([a016670](https://github.com/ionic-team/ionic-framework/commit/a016670a8a46e101d23235b17bc8a2081fb992eb)), closes [#28849](https://github.com/ionic-team/ionic-framework/issues/28849) +* **overlays:** ensure that only topmost overlay is announced by screen readers ([#28997](https://github.com/ionic-team/ionic-framework/issues/28997)) ([ba4ba61](https://github.com/ionic-team/ionic-framework/commit/ba4ba6161c1a6c67f7804b07f49c64ac9ad2b14c)), closes [#23472](https://github.com/ionic-team/ionic-framework/issues/23472) +* **popover:** render arrow above backdrop ([#28986](https://github.com/ionic-team/ionic-framework/issues/28986)) ([0a8964d](https://github.com/ionic-team/ionic-framework/commit/0a8964d30c76218fe62f7f4aed4f81df7bb80cd0)), closes [#28985](https://github.com/ionic-team/ionic-framework/issues/28985) + + + + + ## [7.7.1](https://github.com/ionic-team/ionic-framework/compare/v7.7.0...v7.7.1) (2024-02-07) diff --git a/core/package-lock.json b/core/package-lock.json index 58ea6e39dfd..99d760ad8ba 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -1,21 +1,21 @@ { "name": "@ionic/core", - "version": "7.7.1", + "version": "7.7.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/core", - "version": "7.7.1", + "version": "7.7.2", "license": "MIT", "dependencies": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" }, "devDependencies": { - "@axe-core/playwright": "^4.8.4", - "@capacitor/core": "^5.6.0", + "@axe-core/playwright": "^4.8.5", + "@capacitor/core": "^5.7.0", "@capacitor/haptics": "^5.0.7", "@capacitor/keyboard": "^5.0.8", "@capacitor/status-bar": "^5.0.7", @@ -56,12 +56,12 @@ "dev": true }, "node_modules/@axe-core/playwright": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.8.4.tgz", - "integrity": "sha512-xpwd+T0BODt19hnXW0eX9xf+H/Ns1rdWwZNmuCV9UoTqjZ9mGm1F80pvh/A1r317ooltq8nwqcoVO9jbHWKSdA==", + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.8.5.tgz", + "integrity": "sha512-GFdXXAEn9uk0Vyzgl2eEP+VwvgGzas0YSnacoJ/0U237G83zWZ1PhbP/RDymm0cqevoA+xRjMo+ONzh9Q711nw==", "dev": true, "dependencies": { - "axe-core": "~4.8.3" + "axe-core": "~4.8.4" }, "peerDependencies": { "playwright-core": ">= 1.0.0" @@ -634,9 +634,9 @@ "dev": true }, "node_modules/@capacitor/core": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-5.6.0.tgz", - "integrity": "sha512-xJhCOUGPHw0QYDA3YH+CmL6qiV9DH4Ij3yPxSenymjrtLuXI197u9ddCZwGEwgVIkh9kGZBBKzsNkn89SZ2gdQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-5.7.0.tgz", + "integrity": "sha512-wa9Fao+Axa1t2ZERMyQD9r0xyfglQyC4DHQKintzKaIqcRuVe9J31TmfD3IxROYi9LGpY4X8cq4m4bjb0W94Qg==", "dev": true, "dependencies": { "tslib": "^2.1.0" @@ -1825,9 +1825,9 @@ } }, "node_modules/@stencil/core": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.0.tgz", - "integrity": "sha512-qAQcfNmp2sdxAh1DlyUhHfDmIUS7mhI+5LAhPphg74zK9sKgFL5vpLzgjs0wohpjlmI4msgJFYiRB8lxVPqjPg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==", "bin": { "stencil": "bin/stencil" }, @@ -2799,9 +2799,9 @@ } }, "node_modules/axe-core": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.3.tgz", - "integrity": "sha512-d5ZQHPSPkF9Tw+yfyDcRoUOc4g/8UloJJe5J8m4L5+c7AtDdjDLRxew/knnI4CxvtdxEUVgWz4x3OIQUIFiMfw==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.4.tgz", + "integrity": "sha512-CZLSKisu/bhJ2awW4kJndluz2HLZYIHh5Uy1+ZwDRkJi69811xgIXXfdU9HSLX0Th+ILrHj8qfL/5wzamsFtQg==", "dev": true, "engines": { "node": ">=4" @@ -10899,12 +10899,12 @@ }, "dependencies": { "@axe-core/playwright": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.8.4.tgz", - "integrity": "sha512-xpwd+T0BODt19hnXW0eX9xf+H/Ns1rdWwZNmuCV9UoTqjZ9mGm1F80pvh/A1r317ooltq8nwqcoVO9jbHWKSdA==", + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.8.5.tgz", + "integrity": "sha512-GFdXXAEn9uk0Vyzgl2eEP+VwvgGzas0YSnacoJ/0U237G83zWZ1PhbP/RDymm0cqevoA+xRjMo+ONzh9Q711nw==", "dev": true, "requires": { - "axe-core": "~4.8.3" + "axe-core": "~4.8.4" } }, "@babel/code-frame": { @@ -11324,9 +11324,9 @@ "dev": true }, "@capacitor/core": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-5.6.0.tgz", - "integrity": "sha512-xJhCOUGPHw0QYDA3YH+CmL6qiV9DH4Ij3yPxSenymjrtLuXI197u9ddCZwGEwgVIkh9kGZBBKzsNkn89SZ2gdQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-5.7.0.tgz", + "integrity": "sha512-wa9Fao+Axa1t2ZERMyQD9r0xyfglQyC4DHQKintzKaIqcRuVe9J31TmfD3IxROYi9LGpY4X8cq4m4bjb0W94Qg==", "dev": true, "requires": { "tslib": "^2.1.0" @@ -12184,9 +12184,9 @@ "requires": {} }, "@stencil/core": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.0.tgz", - "integrity": "sha512-qAQcfNmp2sdxAh1DlyUhHfDmIUS7mhI+5LAhPphg74zK9sKgFL5vpLzgjs0wohpjlmI4msgJFYiRB8lxVPqjPg==" + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==" }, "@stencil/react-output-target": { "version": "0.5.3", @@ -12863,9 +12863,9 @@ } }, "axe-core": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.3.tgz", - "integrity": "sha512-d5ZQHPSPkF9Tw+yfyDcRoUOc4g/8UloJJe5J8m4L5+c7AtDdjDLRxew/knnI4CxvtdxEUVgWz4x3OIQUIFiMfw==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.4.tgz", + "integrity": "sha512-CZLSKisu/bhJ2awW4kJndluz2HLZYIHh5Uy1+ZwDRkJi69811xgIXXfdU9HSLX0Th+ILrHj8qfL/5wzamsFtQg==", "dev": true }, "b4a": { diff --git a/core/package.json b/core/package.json index f6a9fdf962d..9d657a2b227 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/core", - "version": "7.7.1", + "version": "7.7.2", "description": "Base components for Ionic", "keywords": [ "ionic", @@ -31,13 +31,13 @@ "loader/" ], "dependencies": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" }, "devDependencies": { - "@axe-core/playwright": "^4.8.4", - "@capacitor/core": "^5.6.0", + "@axe-core/playwright": "^4.8.5", + "@capacitor/core": "^5.7.0", "@capacitor/haptics": "^5.0.7", "@capacitor/keyboard": "^5.0.8", "@capacitor/status-bar": "^5.0.7", diff --git a/core/src/components.d.ts b/core/src/components.d.ts index bcea90eeb27..a706eb8971d 100644 --- a/core/src/components.d.ts +++ b/core/src/components.d.ts @@ -160,7 +160,7 @@ export namespace Components { /** * Dismiss the action sheet overlay after it has been presented. * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the action sheet. This can be useful in a button handler for determining which button was clicked to dismiss the action sheet. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + * @param role The role of the element that is dismissing the action sheet. This can be useful in a button handler for determining which button was clicked to dismiss the action sheet. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. This is a no-op if the overlay has not been presented yet. If you want to remove an overlay from the DOM that was never presented, use the [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ "dismiss": (data?: any, role?: string) => Promise; /** @@ -239,7 +239,7 @@ export namespace Components { /** * Dismiss the alert overlay after it has been presented. * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the alert. This can be useful in a button handler for determining which button was clicked to dismiss the alert. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + * @param role The role of the element that is dismissing the alert. This can be useful in a button handler for determining which button was clicked to dismiss the alert. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. This is a no-op if the overlay has not been presented yet. If you want to remove an overlay from the DOM that was never presented, use the [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ "dismiss": (data?: any, role?: string) => Promise; /** @@ -1527,7 +1527,7 @@ export namespace Components { /** * Dismiss the loading overlay after it has been presented. * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the loading. This can be useful in a button handler for determining which button was clicked to dismiss the loading. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + * @param role The role of the element that is dismissing the loading. This can be useful in a button handler for determining which button was clicked to dismiss the loading. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. This is a no-op if the overlay has not been presented yet. If you want to remove an overlay from the DOM that was never presented, use the [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ "dismiss": (data?: any, role?: string) => Promise; /** @@ -1720,7 +1720,7 @@ export namespace Components { /** * Dismiss the modal overlay after it has been presented. * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the modal. For example, 'cancel' or 'backdrop'. + * @param role The role of the element that is dismissing the modal. For example, 'cancel' or 'backdrop'. This is a no-op if the overlay has not been presented yet. If you want to remove an overlay from the DOM that was never presented, use the [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ "dismiss": (data?: any, role?: string) => Promise; /** @@ -1973,7 +1973,7 @@ export namespace Components { /** * Dismiss the picker overlay after it has been presented. * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the picker. This can be useful in a button handler for determining which button was clicked to dismiss the picker. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + * @param role The role of the element that is dismissing the picker. This can be useful in a button handler for determining which button was clicked to dismiss the picker. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. This is a no-op if the overlay has not been presented yet. If you want to remove an overlay from the DOM that was never presented, use the [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ "dismiss": (data?: any, role?: string) => Promise; /** @@ -2110,7 +2110,7 @@ export namespace Components { * Dismiss the popover overlay after it has been presented. * @param data Any data to emit in the dismiss events. * @param role The role of the element that is dismissing the popover. For example, 'cancel' or 'backdrop'. - * @param dismissParentPopover If `true`, dismissing this popover will also dismiss a parent popover if this popover is nested. Defaults to `true`. + * @param dismissParentPopover If `true`, dismissing this popover will also dismiss a parent popover if this popover is nested. Defaults to `true`. This is a no-op if the overlay has not been presented yet. If you want to remove an overlay from the DOM that was never presented, use the [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ "dismiss": (data?: any, role?: string, dismissParentPopover?: boolean) => Promise; /** @@ -3111,7 +3111,7 @@ export namespace Components { /** * Dismiss the toast overlay after it has been presented. * @param data Any data to emit in the dismiss events. - * @param role The role of the element that is dismissing the toast. This can be useful in a button handler for determining which button was clicked to dismiss the toast. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + * @param role The role of the element that is dismissing the toast. This can be useful in a button handler for determining which button was clicked to dismiss the toast. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. This is a no-op if the overlay has not been presented yet. If you want to remove an overlay from the DOM that was never presented, use the [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ "dismiss": (data?: any, role?: string) => Promise; /** diff --git a/core/src/components/action-sheet/action-sheet.tsx b/core/src/components/action-sheet/action-sheet.tsx index 984e24cdaa6..223f9cb6653 100644 --- a/core/src/components/action-sheet/action-sheet.tsx +++ b/core/src/components/action-sheet/action-sheet.tsx @@ -216,6 +216,10 @@ export class ActionSheet implements ComponentInterface, OverlayInterface { * This can be useful in a button handler for determining which button was * clicked to dismiss the action sheet. * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + * + * This is a no-op if the overlay has not been presented yet. If you want + * to remove an overlay from the DOM that was never presented, use the + * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ @Method() async dismiss(data?: any, role?: string): Promise { diff --git a/core/src/components/alert/alert.tsx b/core/src/components/alert/alert.tsx index 90a1c281bbf..3d5a64200c3 100644 --- a/core/src/components/alert/alert.tsx +++ b/core/src/components/alert/alert.tsx @@ -411,6 +411,10 @@ export class Alert implements ComponentInterface, OverlayInterface { * This can be useful in a button handler for determining which button was * clicked to dismiss the alert. * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + * + * This is a no-op if the overlay has not been presented yet. If you want + * to remove an overlay from the DOM that was never presented, use the + * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ @Method() async dismiss(data?: any, role?: string): Promise { diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png index 02797776be1..2a74c8bd7bc 100644 Binary files a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Safari-linux.png index c4d1d296ab9..2f1ab1a7b15 100644 Binary files a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/item.tsx b/core/src/components/item/item.tsx index c6c18d4e981..daec41d83df 100644 --- a/core/src/components/item/item.tsx +++ b/core/src/components/item/item.tsx @@ -1,5 +1,5 @@ import type { ComponentInterface } from '@stencil/core'; -import { Build, Component, Element, Host, Listen, Prop, State, Watch, forceUpdate, h } from '@stencil/core'; +import { Component, Element, Host, Listen, Prop, State, Watch, forceUpdate, h } from '@stencil/core'; import type { AnchorInterface, ButtonInterface } from '@utils/element-interface'; import type { Attributes } from '@utils/helpers'; import { inheritAttributes, raf } from '@utils/helpers'; @@ -358,15 +358,6 @@ export class Item implements ComponentInterface, AnchorInterface, ButtonInterfac } private getFirstInteractive() { - if (Build.isTesting) { - /** - * Pseudo selectors can't be tested in unit tests. - * It will cause an error when running the tests. - * - * TODO: FW-5205 - Remove the build conditional when this is fixed in Stencil - */ - return undefined; - } const controls = this.el.querySelectorAll( 'ion-toggle:not([disabled]), ion-checkbox:not([disabled]), ion-radio:not([disabled]), ion-select:not([disabled])' ); diff --git a/core/src/components/loading/loading.tsx b/core/src/components/loading/loading.tsx index 05e40669d98..ceb2ae62a39 100644 --- a/core/src/components/loading/loading.tsx +++ b/core/src/components/loading/loading.tsx @@ -268,6 +268,10 @@ export class Loading implements ComponentInterface, OverlayInterface { * This can be useful in a button handler for determining which button was * clicked to dismiss the loading. * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + * + * This is a no-op if the overlay has not been presented yet. If you want + * to remove an overlay from the DOM that was never presented, use the + * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ @Method() async dismiss(data?: any, role?: string): Promise { diff --git a/core/src/components/modal/modal.tsx b/core/src/components/modal/modal.tsx index d32e092b195..a02552727eb 100644 --- a/core/src/components/modal/modal.tsx +++ b/core/src/components/modal/modal.tsx @@ -662,6 +662,10 @@ export class Modal implements ComponentInterface, OverlayInterface { * * @param data Any data to emit in the dismiss events. * @param role The role of the element that is dismissing the modal. For example, 'cancel' or 'backdrop'. + * + * This is a no-op if the overlay has not been presented yet. If you want + * to remove an overlay from the DOM that was never presented, use the + * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ @Method() async dismiss(data?: any, role?: string): Promise { diff --git a/core/src/components/picker/picker.tsx b/core/src/components/picker/picker.tsx index 42322889191..88e25e3efa1 100644 --- a/core/src/components/picker/picker.tsx +++ b/core/src/components/picker/picker.tsx @@ -248,6 +248,10 @@ export class Picker implements ComponentInterface, OverlayInterface { * This can be useful in a button handler for determining which button was * clicked to dismiss the picker. * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + * + * This is a no-op if the overlay has not been presented yet. If you want + * to remove an overlay from the DOM that was never presented, use the + * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ @Method() async dismiss(data?: any, role?: string): Promise { diff --git a/core/src/components/popover/popover.ios.scss b/core/src/components/popover/popover.ios.scss index 26ee84ed2cf..d8feb57b557 100644 --- a/core/src/components/popover/popover.ios.scss +++ b/core/src/components/popover/popover.ios.scss @@ -35,6 +35,13 @@ height: 10px; overflow: hidden; + /* + * Required for the arrow to render above the backdrop. + * Otherwise, the arrow will appear slightly transparent. + * The value is set to 11 since it's the minimum value that + * will allow the arrow to render above the backdrop. + */ + z-index: 11; } .popover-arrow::after { diff --git a/core/src/components/popover/popover.tsx b/core/src/components/popover/popover.tsx index 21dce20a5db..46f922b834a 100644 --- a/core/src/components/popover/popover.tsx +++ b/core/src/components/popover/popover.tsx @@ -525,6 +525,10 @@ export class Popover implements ComponentInterface, PopoverInterface { * @param role The role of the element that is dismissing the popover. For example, 'cancel' or 'backdrop'. * @param dismissParentPopover If `true`, dismissing this popover will also dismiss * a parent popover if this popover is nested. Defaults to `true`. + * + * This is a no-op if the overlay has not been presented yet. If you want + * to remove an overlay from the DOM that was never presented, use the + * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ @Method() async dismiss(data?: any, role?: string, dismissParentPopover = true): Promise { diff --git a/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-ltr-Mobile-Chrome-linux.png index 5ca29ca25ff..53770511138 100644 Binary files a/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-ltr-Mobile-Firefox-linux.png index 953469ca14e..9bee5983265 100644 Binary files a/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Chrome-linux.png index 7a27dfe102e..6c4eccdfbf7 100644 Binary files a/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Firefox-linux.png index acedb197bf1..af4bbe38928 100644 Binary files a/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/async/popover.e2e.ts-snapshots/popover-async-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/async/popover.e2e.ts-snapshots/popover-async-ios-ltr-Mobile-Firefox-linux.png index bddd7a5c933..563d2e88055 100644 Binary files a/core/src/components/popover/test/async/popover.e2e.ts-snapshots/popover-async-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/async/popover.e2e.ts-snapshots/popover-async-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Chrome-linux.png index e02693b33ab..1d82ea369b5 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Firefox-linux.png index 19a7c5733cd..7e5b6fae97f 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Safari-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Safari-linux.png index 73f8165a813..1d35a884d81 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-rtl-Mobile-Chrome-linux.png index 3be7073d4ff..09f9aeb9d65 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-rtl-Mobile-Firefox-linux.png index 45a347afe7f..4425e9bffe6 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-basic-popover-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Chrome-linux.png index b8880de4133..95970666f2a 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Firefox-linux.png index cd8f1360b24..450c80bac4c 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Safari-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Safari-linux.png index 25961e27c2f..3812d082c4d 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-custom-class-popover-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-long-list-popover-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-long-list-popover-ios-ltr-Mobile-Chrome-linux.png index 779d948c8a8..6e84cdb4b6d 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-long-list-popover-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-long-list-popover-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-long-list-popover-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-long-list-popover-ios-ltr-Mobile-Firefox-linux.png index d1ddc8fe700..a2c06c01c79 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-long-list-popover-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-long-list-popover-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Chrome-linux.png index befbd7a1d38..9d1f32ecf9a 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Firefox-linux.png index 896ab6f946e..cd82a78674b 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-ltr-Mobile-Chrome-linux.png index f1469a6446c..b2550e4a027 100644 Binary files a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-ltr-Mobile-Firefox-linux.png index 2be22edbd70..b9a57a34097 100644 Binary files a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-rtl-Mobile-Chrome-linux.png index 69521ff6fbb..6960c2ac37b 100644 Binary files a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-rtl-Mobile-Firefox-linux.png index 5911fa5e1ce..9efebaeae3b 100644 Binary files a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-ltr-Mobile-Chrome-linux.png index aa1b70cde46..bbe987d32d1 100644 Binary files a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-ltr-Mobile-Firefox-linux.png index 2714cc16d65..06a6219c0b9 100644 Binary files a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-rtl-Mobile-Chrome-linux.png index aa51dfa936d..6c32cb49093 100644 Binary files a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-rtl-Mobile-Firefox-linux.png index 937d38ec8c9..61eaf3ac950 100644 Binary files a/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/nested/popover.e2e.ts-snapshots/popover-nested-multiple-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-ltr-Mobile-Chrome-linux.png index b30af3ee2ac..7cb8c134507 100644 Binary files a/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-ltr-Mobile-Firefox-linux.png index e218aada4c8..025a5f5cb89 100644 Binary files a/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Chrome-linux.png index 107924c85e7..0639fee1cf8 100644 Binary files a/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Firefox-linux.png index 8abcb19e5ea..4da1c13b632 100644 Binary files a/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Chrome-linux.png index f47d2329549..5d69ece967c 100644 Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Firefox-linux.png index 1ab6780ca48..00886cc4a3a 100644 Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Chrome-linux.png index 6b7b80f3d52..661cec9ed80 100644 Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Firefox-linux.png index 4d949b444fc..292ec6aa6d2 100644 Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-ios-rtl-Mobile-Chrome-linux.png index ede9d9ae1a5..96ce00fc51f 100644 Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-ios-rtl-Mobile-Firefox-linux.png index a5f09fdbfa4..c5985b60dd4 100644 Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/size/popover.e2e.ts-snapshots/popover-size-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/size/popover.e2e.ts-snapshots/popover-size-ios-ltr-Mobile-Chrome-linux.png index 32cff5766da..70fb41443ba 100644 Binary files a/core/src/components/popover/test/size/popover.e2e.ts-snapshots/popover-size-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/size/popover.e2e.ts-snapshots/popover-size-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/size/popover.e2e.ts-snapshots/popover-size-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/size/popover.e2e.ts-snapshots/popover-size-ios-ltr-Mobile-Firefox-linux.png index 55b5471ea28..31a5883ac90 100644 Binary files a/core/src/components/popover/test/size/popover.e2e.ts-snapshots/popover-size-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/size/popover.e2e.ts-snapshots/popover-size-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/toast/test/toast.spec.tsx b/core/src/components/toast/test/toast.spec.tsx index a0f812df1f2..961b2481166 100644 --- a/core/src/components/toast/test/toast.spec.tsx +++ b/core/src/components/toast/test/toast.spec.tsx @@ -93,6 +93,19 @@ describe('toast: a11y smoke test', () => { }); describe('toast: duration config', () => { + afterEach(() => { + /** + * Important: Reset the config + * after each test as it is not + * automatically reset. + * Otherwise, toasts in other tests + * will take on any toastDuration value + * set and timeouts will potentially run + * after tests are finished. + */ + config.reset({}); + }); + it('should have duration set to 0', async () => { const page = await newSpecPage({ components: [Toast], diff --git a/core/src/components/toast/toast.tsx b/core/src/components/toast/toast.tsx index fe960d3e32e..a0938be7d60 100644 --- a/core/src/components/toast/toast.tsx +++ b/core/src/components/toast/toast.tsx @@ -401,6 +401,10 @@ export class Toast implements ComponentInterface, OverlayInterface { * This can be useful in a button handler for determining which button was * clicked to dismiss the toast. * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + * + * This is a no-op if the overlay has not been presented yet. If you want + * to remove an overlay from the DOM that was never presented, use the + * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method. */ @Method() async dismiss(data?: any, role?: string): Promise { diff --git a/core/src/utils/overlays.ts b/core/src/utils/overlays.ts index f4eaad1e4cf..8ccb015d8d8 100644 --- a/core/src/utils/overlays.ts +++ b/core/src/utils/overlays.ts @@ -491,6 +491,16 @@ export const present = async ( setRootAriaHidden(true); + /** + * Hide all other overlays from screen readers so only this one + * can be read. Note that presenting an overlay always makes + * it the topmost one. + */ + if (doc !== undefined) { + const presentedOverlays = getPresentedOverlays(doc); + presentedOverlays.forEach((o) => o.setAttribute('aria-hidden', 'true')); + } + overlay.presented = true; overlay.willPresent.emit(); overlay.willPresentShorthand?.emit(); @@ -516,7 +526,7 @@ export const present = async ( * from returning focus as a result. */ if (overlay.el.tagName !== 'ION-TOAST') { - focusPreviousElementOnDismiss(overlay.el); + restoreElementFocus(overlay.el); } /** @@ -528,6 +538,15 @@ export const present = async ( if (overlay.keyboardClose && (document.activeElement === null || !overlay.el.contains(document.activeElement))) { overlay.el.focus(); } + + /** + * If this overlay was previously dismissed without being + * the topmost one (such as by manually calling dismiss()), + * it would still have aria-hidden on being presented again. + * Removing it here ensures the overlay is visible to screen + * readers. + */ + overlay.el.removeAttribute('aria-hidden'); }; /** @@ -540,7 +559,7 @@ export const present = async ( * to where they were before they * opened the overlay. */ -const focusPreviousElementOnDismiss = async (overlayEl: any) => { +const restoreElementFocus = async (overlayEl: any) => { let previousElement = document.activeElement as HTMLElement | null; if (!previousElement) { return; @@ -553,7 +572,34 @@ const focusPreviousElementOnDismiss = async (overlayEl: any) => { } await overlayEl.onDidDismiss(); - previousElement.focus(); + + /** + * After onDidDismiss, the overlay loses focus + * because it is removed from the document + * + * > An element will also lose focus [...] + * > if the element is removed from the document) + * + * https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event + * + * Additionally, `document.activeElement` returns: + * + * > The Element which currently has focus, + * > `` or null if there is + * > no focused element. + * + * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement#value + * + * However, if the user has already focused + * an element sometime between onWillDismiss + * and onDidDismiss (for example, focusing a + * text box after tapping a button in an + * action sheet) then don't restore focus to + * previous element + */ + if (document.activeElement === null || document.activeElement === document.body) { + previousElement.focus(); + } }; export const dismiss = async ( @@ -625,6 +671,15 @@ export const dismiss = async ( } overlay.el.remove(); + + /** + * If there are other overlays presented, unhide the new + * topmost one from screen readers. + */ + if (doc !== undefined) { + getPresentedOverlay(doc)?.removeAttribute('aria-hidden'); + } + return true; }; diff --git a/core/src/utils/test/overlays/index.html b/core/src/utils/test/overlays/index.html index 51fa62440e7..60e0a693180 100644 --- a/core/src/utils/test/overlays/index.html +++ b/core/src/utils/test/overlays/index.html @@ -62,7 +62,7 @@ - Modal Content + Modal ${id} diff --git a/core/src/utils/test/overlays/overlays.e2e.ts b/core/src/utils/test/overlays/overlays.e2e.ts index 3d112413b44..26f86c21c52 100644 --- a/core/src/utils/test/overlays/overlays.e2e.ts +++ b/core/src/utils/test/overlays/overlays.e2e.ts @@ -254,5 +254,52 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => await expect(modalInputOne).toBeFocused(); }); + + test('should not return focus to another element if focus already manually returned', async ({ + page, + skip, + }, testInfo) => { + skip.browser( + 'webkit', + 'WebKit does not consider buttons to be focusable, so this test always passes since the input is the only focusable element.' + ); + testInfo.annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/28849', + }); + await page.setContent( + ` + + + + + + `, + config + ); + + const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent'); + const actionSheet = page.locator('ion-action-sheet'); + const input = page.locator('#test-input'); + const trigger = page.locator('#open-action-sheet'); + + // present action sheet + await trigger.click(); + await ionActionSheetDidPresent.next(); + + // dismiss action sheet + await actionSheet.evaluate((el: HTMLIonActionSheetElement) => el.dismiss()); + + // verify focus is in correct location + await expect(input).toBeFocused(); + }); }); }); diff --git a/core/src/utils/test/overlays/overlays.spec.ts b/core/src/utils/test/overlays/overlays.spec.ts index d5b1442e3bb..7b67a221832 100644 --- a/core/src/utils/test/overlays/overlays.spec.ts +++ b/core/src/utils/test/overlays/overlays.spec.ts @@ -129,3 +129,68 @@ describe('setRootAriaHidden()', () => { expect(routerOutlet.hasAttribute('aria-hidden')).toEqual(false); }); }); + +describe('aria-hidden on individual overlays', () => { + it('should hide non-topmost overlays from screen readers', async () => { + const page = await newSpecPage({ + components: [Modal], + html: ` + + + `, + }); + + const modalOne = page.body.querySelector('ion-modal#one')!; + const modalTwo = page.body.querySelector('ion-modal#two')!; + + await modalOne.present(); + await modalTwo.present(); + + expect(modalOne.hasAttribute('aria-hidden')).toEqual(true); + expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false); + }); + + it('should unhide new topmost overlay from screen readers when topmost is dismissed', async () => { + const page = await newSpecPage({ + components: [Modal], + html: ` + + + `, + }); + + const modalOne = page.body.querySelector('ion-modal#one')!; + const modalTwo = page.body.querySelector('ion-modal#two')!; + + await modalOne.present(); + await modalTwo.present(); + + // dismiss modalTwo so that modalOne becomes the new topmost overlay + await modalTwo.dismiss(); + + expect(modalOne.hasAttribute('aria-hidden')).toEqual(false); + }); + + it('should not keep overlays hidden from screen readers if presented after being dismissed while non-topmost', async () => { + const page = await newSpecPage({ + components: [Modal], + html: ` + + + `, + }); + + const modalOne = page.body.querySelector('ion-modal#one')!; + const modalTwo = page.body.querySelector('ion-modal#two')!; + + await modalOne.present(); + await modalTwo.present(); + + // modalOne is not the topmost overlay at this point and is hidden from screen readers + await modalOne.dismiss(); + + // modalOne will become the topmost overlay; ensure it isn't still hidden from screen readers + await modalOne.present(); + expect(modalOne.hasAttribute('aria-hidden')).toEqual(false); + }); +}); diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 87484875974..0c064f39b79 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.7.2](https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2) (2024-02-14) + +**Note:** Version bump only for package @ionic/docs + + + + + ## [7.7.1](https://github.com/ionic-team/ionic-framework/compare/v7.7.0...v7.7.1) (2024-02-07) **Note:** Version bump only for package @ionic/docs diff --git a/docs/package-lock.json b/docs/package-lock.json index 6d1ca11d880..9644590abea 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ionic/docs", - "version": "7.7.1", + "version": "7.7.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/docs", - "version": "7.7.1", + "version": "7.7.2", "license": "MIT" } } diff --git a/docs/package.json b/docs/package.json index d3afa712478..206fd40807e 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/docs", - "version": "7.7.1", + "version": "7.7.2", "description": "Pre-packaged API documentation for the Ionic docs.", "main": "core.json", "types": "core.d.ts", diff --git a/lerna.json b/lerna.json index b3704e3f4b8..1c0c32ee7d4 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "docs", "packages/*" ], - "version": "7.7.1" + "version": "7.7.2" } diff --git a/packages/angular-server/CHANGELOG.md b/packages/angular-server/CHANGELOG.md index a9ba4d3db82..f309e1a2e8c 100644 --- a/packages/angular-server/CHANGELOG.md +++ b/packages/angular-server/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.7.2](https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2) (2024-02-14) + +**Note:** Version bump only for package @ionic/angular-server + + + + + ## [7.7.1](https://github.com/ionic-team/ionic-framework/compare/v7.7.0...v7.7.1) (2024-02-07) **Note:** Version bump only for package @ionic/angular-server diff --git a/packages/angular-server/package-lock.json b/packages/angular-server/package-lock.json index 38a93108bf6..8de5a9056c6 100644 --- a/packages/angular-server/package-lock.json +++ b/packages/angular-server/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/angular-server", - "version": "7.7.1", + "version": "7.7.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/angular-server", - "version": "7.7.1", + "version": "7.7.2", "license": "MIT", "dependencies": { - "@ionic/core": "^7.7.1" + "@ionic/core": "^7.7.2" }, "devDependencies": { "@angular-eslint/eslint-plugin": "^14.0.0", @@ -1060,11 +1060,11 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "dependencies": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -1462,9 +1462,9 @@ "license": "MIT" }, "node_modules/@stencil/core": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.0.tgz", - "integrity": "sha512-qAQcfNmp2sdxAh1DlyUhHfDmIUS7mhI+5LAhPphg74zK9sKgFL5vpLzgjs0wohpjlmI4msgJFYiRB8lxVPqjPg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==", "bin": { "stencil": "bin/stencil" }, @@ -7330,11 +7330,11 @@ "dev": true }, "@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "requires": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -7581,9 +7581,9 @@ } }, "@stencil/core": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.0.tgz", - "integrity": "sha512-qAQcfNmp2sdxAh1DlyUhHfDmIUS7mhI+5LAhPphg74zK9sKgFL5vpLzgjs0wohpjlmI4msgJFYiRB8lxVPqjPg==" + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==" }, "@types/estree": { "version": "0.0.39", diff --git a/packages/angular-server/package.json b/packages/angular-server/package.json index bdfd9b28d5e..4e7122234ff 100644 --- a/packages/angular-server/package.json +++ b/packages/angular-server/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/angular-server", - "version": "7.7.1", + "version": "7.7.2", "description": "Angular SSR Module for Ionic", "keywords": [ "ionic", @@ -62,6 +62,6 @@ }, "prettier": "@ionic/prettier-config", "dependencies": { - "@ionic/core": "^7.7.1" + "@ionic/core": "^7.7.2" } } diff --git a/packages/angular/CHANGELOG.md b/packages/angular/CHANGELOG.md index 392e4cc28e0..890ea1ac1d9 100644 --- a/packages/angular/CHANGELOG.md +++ b/packages/angular/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.7.2](https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2) (2024-02-14) + +**Note:** Version bump only for package @ionic/angular + + + + + ## [7.7.1](https://github.com/ionic-team/ionic-framework/compare/v7.7.0...v7.7.1) (2024-02-07) **Note:** Version bump only for package @ionic/angular diff --git a/packages/angular/package-lock.json b/packages/angular/package-lock.json index b189b318b2e..1bfa94812c7 100644 --- a/packages/angular/package-lock.json +++ b/packages/angular/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/angular", - "version": "7.7.1", + "version": "7.7.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/angular", - "version": "7.7.1", + "version": "7.7.2", "license": "MIT", "dependencies": { - "@ionic/core": "^7.7.1", + "@ionic/core": "^7.7.2", "ionicons": "^7.0.0", "jsonc-parser": "^3.0.0", "tslib": "^2.3.0" @@ -1407,11 +1407,11 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "dependencies": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -1845,9 +1845,9 @@ } }, "node_modules/@stencil/core": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.0.tgz", - "integrity": "sha512-qAQcfNmp2sdxAh1DlyUhHfDmIUS7mhI+5LAhPphg74zK9sKgFL5vpLzgjs0wohpjlmI4msgJFYiRB8lxVPqjPg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==", "bin": { "stencil": "bin/stencil" }, @@ -9697,11 +9697,11 @@ "dev": true }, "@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "requires": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -9994,9 +9994,9 @@ } }, "@stencil/core": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.0.tgz", - "integrity": "sha512-qAQcfNmp2sdxAh1DlyUhHfDmIUS7mhI+5LAhPphg74zK9sKgFL5vpLzgjs0wohpjlmI4msgJFYiRB8lxVPqjPg==" + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==" }, "@tootallnate/once": { "version": "2.0.0", diff --git a/packages/angular/package.json b/packages/angular/package.json index b6430aa540e..9c681d5a02f 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/angular", - "version": "7.7.1", + "version": "7.7.2", "description": "Angular specific wrappers for @ionic/core", "keywords": [ "ionic", @@ -47,7 +47,7 @@ } }, "dependencies": { - "@ionic/core": "^7.7.1", + "@ionic/core": "^7.7.2", "ionicons": "^7.0.0", "jsonc-parser": "^3.0.0", "tslib": "^2.3.0" diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index aeaeab17f74..af5d18fbc83 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.7.2](https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2) (2024-02-14) + +**Note:** Version bump only for package @ionic/react-router + + + + + ## [7.7.1](https://github.com/ionic-team/ionic-framework/compare/v7.7.0...v7.7.1) (2024-02-07) **Note:** Version bump only for package @ionic/react-router diff --git a/packages/react-router/package-lock.json b/packages/react-router/package-lock.json index 44c846a066a..0cc02553cbd 100644 --- a/packages/react-router/package-lock.json +++ b/packages/react-router/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/react-router", - "version": "7.7.1", + "version": "7.7.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/react-router", - "version": "7.7.1", + "version": "7.7.2", "license": "MIT", "dependencies": { - "@ionic/react": "^7.7.1", + "@ionic/react": "^7.7.2", "tslib": "*" }, "devDependencies": { @@ -238,11 +238,11 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "dependencies": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -414,11 +414,11 @@ } }, "node_modules/@ionic/react": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.7.1.tgz", - "integrity": "sha512-rfTUAUSqVMzg+R1CEMclSOLwXByJ06qtRXhpyVvJetQFUUVHA8inHdULTJqKN10c0XeZr+WyapGX04IktB9WfQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.7.2.tgz", + "integrity": "sha512-oUR49V7XpfZf3kLu7lAZLFiK5B5HMiL5UigWYalGqSCxrK4Jj7Tt4OZEUoAoDnbdDx67S490w/PcIUIw8eE45Q==", "dependencies": { - "@ionic/core": "7.7.1", + "@ionic/core": "7.7.2", "ionicons": "^7.0.0", "tslib": "*" }, @@ -667,9 +667,9 @@ ] }, "node_modules/@stencil/core": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.1.tgz", - "integrity": "sha512-l7UUCEV+4Yr1i6BL2DGSQPAzM3x/V4Fx9n9Z0/gdAgX11I25xY0MnH5jbQ69ug6ms/8KUV6SouS1R7MjjM/JnQ==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==", "bin": { "stencil": "bin/stencil" }, @@ -4050,11 +4050,11 @@ "dev": true }, "@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "requires": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -4156,11 +4156,11 @@ "requires": {} }, "@ionic/react": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.7.1.tgz", - "integrity": "sha512-rfTUAUSqVMzg+R1CEMclSOLwXByJ06qtRXhpyVvJetQFUUVHA8inHdULTJqKN10c0XeZr+WyapGX04IktB9WfQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.7.2.tgz", + "integrity": "sha512-oUR49V7XpfZf3kLu7lAZLFiK5B5HMiL5UigWYalGqSCxrK4Jj7Tt4OZEUoAoDnbdDx67S490w/PcIUIw8eE45Q==", "requires": { - "@ionic/core": "7.7.1", + "@ionic/core": "7.7.2", "ionicons": "^7.0.0", "tslib": "*" } @@ -4297,9 +4297,9 @@ "optional": true }, "@stencil/core": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.1.tgz", - "integrity": "sha512-l7UUCEV+4Yr1i6BL2DGSQPAzM3x/V4Fx9n9Z0/gdAgX11I25xY0MnH5jbQ69ug6ms/8KUV6SouS1R7MjjM/JnQ==" + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==" }, "@types/estree": { "version": "1.0.4", diff --git a/packages/react-router/package.json b/packages/react-router/package.json index aa9af59abf9..745f1d0951f 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/react-router", - "version": "7.7.1", + "version": "7.7.2", "description": "React Router wrapper for @ionic/react", "keywords": [ "ionic", @@ -36,7 +36,7 @@ "dist/" ], "dependencies": { - "@ionic/react": "^7.7.1", + "@ionic/react": "^7.7.2", "tslib": "*" }, "peerDependencies": { diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 09c21727679..f55825d4c8a 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.7.2](https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2) (2024-02-14) + +**Note:** Version bump only for package @ionic/react + + + + + ## [7.7.1](https://github.com/ionic-team/ionic-framework/compare/v7.7.0...v7.7.1) (2024-02-07) diff --git a/packages/react/package-lock.json b/packages/react/package-lock.json index d86c2bb7e9e..e178f402be5 100644 --- a/packages/react/package-lock.json +++ b/packages/react/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/react", - "version": "7.7.1", + "version": "7.7.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/react", - "version": "7.7.1", + "version": "7.7.2", "license": "MIT", "dependencies": { - "@ionic/core": "^7.7.1", + "@ionic/core": "^7.7.2", "ionicons": "^7.0.0", "tslib": "*" }, @@ -811,11 +811,11 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "dependencies": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -1674,9 +1674,9 @@ } }, "node_modules/@stencil/core": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.0.tgz", - "integrity": "sha512-qAQcfNmp2sdxAh1DlyUhHfDmIUS7mhI+5LAhPphg74zK9sKgFL5vpLzgjs0wohpjlmI4msgJFYiRB8lxVPqjPg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==", "bin": { "stencil": "bin/stencil" }, @@ -12857,11 +12857,11 @@ "dev": true }, "@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "requires": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -13453,9 +13453,9 @@ } }, "@stencil/core": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.0.tgz", - "integrity": "sha512-qAQcfNmp2sdxAh1DlyUhHfDmIUS7mhI+5LAhPphg74zK9sKgFL5vpLzgjs0wohpjlmI4msgJFYiRB8lxVPqjPg==" + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==" }, "@szmarczak/http-timer": { "version": "4.0.6", diff --git a/packages/react/package.json b/packages/react/package.json index 1f966eccb2a..1d1e16b7f25 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/react", - "version": "7.7.1", + "version": "7.7.2", "description": "React specific wrapper for @ionic/core", "keywords": [ "ionic", @@ -39,7 +39,7 @@ "css/" ], "dependencies": { - "@ionic/core": "^7.7.1", + "@ionic/core": "^7.7.2", "ionicons": "^7.0.0", "tslib": "*" }, diff --git a/packages/vue-router/CHANGELOG.md b/packages/vue-router/CHANGELOG.md index 4d2fa846275..ea40b807cfc 100644 --- a/packages/vue-router/CHANGELOG.md +++ b/packages/vue-router/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.7.2](https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2) (2024-02-14) + +**Note:** Version bump only for package @ionic/vue-router + + + + + ## [7.7.1](https://github.com/ionic-team/ionic-framework/compare/v7.7.0...v7.7.1) (2024-02-07) **Note:** Version bump only for package @ionic/vue-router diff --git a/packages/vue-router/package-lock.json b/packages/vue-router/package-lock.json index edfda093081..5a856692f0e 100644 --- a/packages/vue-router/package-lock.json +++ b/packages/vue-router/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/vue-router", - "version": "7.7.1", + "version": "7.7.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/vue-router", - "version": "7.7.1", + "version": "7.7.2", "license": "MIT", "dependencies": { - "@ionic/vue": "^7.7.1" + "@ionic/vue": "^7.7.2" }, "devDependencies": { "@ionic/eslint-config": "^0.3.0", @@ -661,11 +661,11 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "dependencies": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -852,11 +852,11 @@ } }, "node_modules/@ionic/vue": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.7.1.tgz", - "integrity": "sha512-hEfmCwuLJTH0QSiSp4jhZApOvZ3RtHBzTvN2LAD+xJ0kPPj2aAtEgR7fqp/7/7ZRbGhSZO5XTzwskQsZTS5HdQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.7.2.tgz", + "integrity": "sha512-hdCAauyKGturOI7sGnG6MQcm8fMZOc+1+2l7Db1u5jt7tmDZaV+AQTUq8qTCuDGHFYxzYEZG5/2VaH1Nz1cS7g==", "dependencies": { - "@ionic/core": "7.7.1", + "@ionic/core": "7.7.2", "ionicons": "^7.0.0" } }, @@ -1508,9 +1508,9 @@ } }, "node_modules/@stencil/core": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.1.tgz", - "integrity": "sha512-l7UUCEV+4Yr1i6BL2DGSQPAzM3x/V4Fx9n9Z0/gdAgX11I25xY0MnH5jbQ69ug6ms/8KUV6SouS1R7MjjM/JnQ==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==", "bin": { "stencil": "bin/stencil" }, @@ -7878,11 +7878,11 @@ "dev": true }, "@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "requires": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -7993,11 +7993,11 @@ "requires": {} }, "@ionic/vue": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.7.1.tgz", - "integrity": "sha512-hEfmCwuLJTH0QSiSp4jhZApOvZ3RtHBzTvN2LAD+xJ0kPPj2aAtEgR7fqp/7/7ZRbGhSZO5XTzwskQsZTS5HdQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.7.2.tgz", + "integrity": "sha512-hdCAauyKGturOI7sGnG6MQcm8fMZOc+1+2l7Db1u5jt7tmDZaV+AQTUq8qTCuDGHFYxzYEZG5/2VaH1Nz1cS7g==", "requires": { - "@ionic/core": "7.7.1", + "@ionic/core": "7.7.2", "ionicons": "^7.0.0" } }, @@ -8461,9 +8461,9 @@ } }, "@stencil/core": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.1.tgz", - "integrity": "sha512-l7UUCEV+4Yr1i6BL2DGSQPAzM3x/V4Fx9n9Z0/gdAgX11I25xY0MnH5jbQ69ug6ms/8KUV6SouS1R7MjjM/JnQ==" + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==" }, "@tootallnate/once": { "version": "2.0.0", diff --git a/packages/vue-router/package.json b/packages/vue-router/package.json index e1296774121..6da4b402665 100644 --- a/packages/vue-router/package.json +++ b/packages/vue-router/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/vue-router", - "version": "7.7.1", + "version": "7.7.2", "description": "Vue Router integration for @ionic/vue", "scripts": { "test.spec": "jest", @@ -44,7 +44,7 @@ }, "homepage": "https://github.com/ionic-team/ionic#readme", "dependencies": { - "@ionic/vue": "^7.7.1" + "@ionic/vue": "^7.7.2" }, "devDependencies": { "@ionic/eslint-config": "^0.3.0", diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index 3255d5e4204..560b1a319f4 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.7.2](https://github.com/ionic-team/ionic-framework/compare/v7.7.1...v7.7.2) (2024-02-14) + +**Note:** Version bump only for package @ionic/vue + + + + + ## [7.7.1](https://github.com/ionic-team/ionic-framework/compare/v7.7.0...v7.7.1) (2024-02-07) **Note:** Version bump only for package @ionic/vue diff --git a/packages/vue/package-lock.json b/packages/vue/package-lock.json index e05c5fe41e0..054c9aa9abd 100644 --- a/packages/vue/package-lock.json +++ b/packages/vue/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/vue", - "version": "7.7.1", + "version": "7.7.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/vue", - "version": "7.7.1", + "version": "7.7.2", "license": "MIT", "dependencies": { - "@ionic/core": "^7.7.1", + "@ionic/core": "^7.7.2", "ionicons": "^7.0.0" }, "devDependencies": { @@ -208,11 +208,11 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "dependencies": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -628,9 +628,9 @@ ] }, "node_modules/@stencil/core": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.0.tgz", - "integrity": "sha512-qAQcfNmp2sdxAh1DlyUhHfDmIUS7mhI+5LAhPphg74zK9sKgFL5vpLzgjs0wohpjlmI4msgJFYiRB8lxVPqjPg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==", "bin": { "stencil": "bin/stencil" }, @@ -3959,11 +3959,11 @@ "dev": true }, "@ionic/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.1.tgz", - "integrity": "sha512-Su4VFwztN8vKyHsIgHMmzQ1ZrIajNzMR7hg2fcv15Y2yrzLpK06PcUf9QutBM9KyP0wQIngwfnO68vrAnqR+xQ==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.7.2.tgz", + "integrity": "sha512-cH92OSqJBTaW8AAqh+M6NjzltVoAZCXqsHAOQMmZgrY4KgXNU+Wh+fs2La/UrFxTob9pZf30EpRddUG5rQYIFw==", "requires": { - "@stencil/core": "^4.12.0", + "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", "tslib": "^2.1.0" }, @@ -4203,9 +4203,9 @@ "optional": true }, "@stencil/core": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.0.tgz", - "integrity": "sha512-qAQcfNmp2sdxAh1DlyUhHfDmIUS7mhI+5LAhPphg74zK9sKgFL5vpLzgjs0wohpjlmI4msgJFYiRB8lxVPqjPg==" + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.12.2.tgz", + "integrity": "sha512-WEMpoqwMV4hY/ab2z9NxRhSeZwuKEugjyn6Vd+qA9xqZh6VNUL27QbP8vCa7IeqD4Zql4JBtKu3lVuBHutWE6w==" }, "@types/estree": { "version": "1.0.4", diff --git a/packages/vue/package.json b/packages/vue/package.json index a6c0f497a06..005159718f1 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/vue", - "version": "7.7.1", + "version": "7.7.2", "description": "Vue specific wrapper for @ionic/core", "scripts": { "eslint": "eslint src", @@ -66,7 +66,7 @@ "vue-router": "^4.0.16" }, "dependencies": { - "@ionic/core": "^7.7.1", + "@ionic/core": "^7.7.2", "ionicons": "^7.0.0" }, "vetur": { diff --git a/renovate.json5 b/renovate.json5 new file mode 100644 index 00000000000..bfb2bcf9304 --- /dev/null +++ b/renovate.json5 @@ -0,0 +1,94 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + extends: ["config:base", ":semanticCommitTypeAll(chore)"], + packageRules: [ + { + // Group these two as they may rely on one another during major version bumps + matchPackageNames: ["actions/download-artifact", "actions/upload-artifact"], + groupName: "Download + Upload Artifacts" + }, + { + matchPackagePatterns: ["@stencil/core", "@stencil/angular-output-target", "@stencil/react-output-target", "@stencil/sass", "@stencil/vue-output-target"], + groupName: "stencil", + matchFileNames: [ + "core/package.json" + ] + }, + { + matchPackagePatterns: ["@capacitor/core", "@capacitor/keyboard", "@capacitor/haptics", "@capacitor/status-bar"], + groupName: "capacitor", + matchFileNames: [ + "core/package.json" + ] + }, + { + matchDatasources: ["npm"], + matchPackagePatterns: ["@playwright/test", "@axe-core/playwright"], + groupName: "playwright", + matchFileNames: [ + "core/package.json" + ] + }, + { + matchPackagePatterns: ["ionicons"], + groupName: "ionicons", + matchFileNames: [ + "core/package.json" + ] + }, + /** + * While we update dependencies in certain directories, we currently + * do not want to update every single dependency. Some of the dependencies are + * very out of date, and the team needs to schedule work to account for + * breaking changes in some of these updates. To potentially avoid a large number of + * failing PRs the team has chosen to selectively enable dependencies to be updated + * as we have capacity to account for breaking changes. + */ + { + matchPackagePatterns: ["tslib", "@ionic/", "@rollup/", "@types/", "@typescript-eslint/", "clean-css-cli", "domino", "eslint", "eslint-config-prettier", "execa", "fs-extra", "jest", "jest-cli", "prettier", "puppeteer", "rollup", "sass", "serve", "stylelint", "stylelint-order"], + groupName: "core-disabled", + matchFileNames: [ + "core/package.json" + ], + enabled: false + }, + /** + * Local Ionic dependencies are managed by the + * workspace to ensure the correct local version is used. + */ + { + matchPackagePatterns: ["@ionic/", "ionicons"], + groupName: "ignore-local-ionic-deps", + matchFileNames: [ + "**/package.json" + ], + enabled: false + }, + { + matchPackagePatterns: ["lerna", "semver"], + groupName: "root-disabled", + matchFileNames: [ + "package.json" + ], + enabled: false + } + ], + dependencyDashboard: false, + minimumReleaseAge: "3 days", + rebaseWhen: "never", + schedule: ["every weekday before 11am"], + semanticCommits: "enabled", + ignorePaths: [ + // Ionic Packages + "packages/angular", + "packages/angular-server", + "packages/react", + "packages/react-router", + "packages/vue", + "packages/vue-router", + "docs", + // Local Development Scripts + "core/custom-rules", + "core/scripts" + ] +}