Skip to content

Commit af5b946

Browse files
chore: sync with main (#29119)
chore: sync with main
2 parents 05e721d + 7c5c0bc commit af5b946

File tree

50 files changed

+249
-93
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+249
-93
lines changed

.github/COMPONENT-GUIDE.md

+17-3
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ The following styles should be set for the CSS to work properly. Note that the `
9393

9494
The activated state should be enabled for elements with actions on "press". It usually changes the opacity or background of an element.
9595

96+
> [!WARNING]
97+
>`:active` should not be used here as it is not received on mobile Safari unless the element has a `touchstart` listener (which we don't necessarily want to have to add to every element). From [Safari Web Content Guide](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/AdjustingtheTextSize/AdjustingtheTextSize.html):
98+
>
99+
>> On iOS, mouse events are sent so quickly that the down or active state is never received. Therefore, the `:active` pseudo state is triggered only when there is a touch event set on the HTML element
100+
96101
> Make sure the component has the correct [component structure](#component-structure) before continuing.
97102
98103
#### JavaScript
@@ -109,7 +114,7 @@ render() {
109114
}
110115
```
111116

112-
Once that is done, the element will get the `ion-activated` class added on press.
117+
Once that is done, the element will get the `ion-activated` class added on press after a small delay. This delay exists so that the active state does not show up when an activatable element is tapped while scrolling.
113118

114119
In addition to setting that class, `ion-activatable-instant` can be set in order to have an instant press with no delay:
115120

@@ -212,7 +217,13 @@ TODO
212217

213218
### Focused
214219

215-
The focused state should be enabled for elements with actions when tabbed to via the keyboard. This will only work inside of an `ion-app`. It usually changes the opacity or background of an element.
220+
The focused state should be enabled for elements with actions when tabbed to via the keyboard. This will only work inside of an `ion-app`. It usually changes the opacity or background of an element.
221+
222+
> [!WARNING]
223+
> Do not use `:focus` because that will cause the focus to apply even when an element is tapped (because the element is now focused). Instead, we only want the focus state to be shown when it makes sense which is what the `.ion-focusable` utility mentioned below does.
224+
225+
> [!NOTE]
226+
> The [`:focus-visible`](https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible) pseudo-class mostly does the same thing as our JavaScript-driven utility. However, it does not work well with Shadow DOM components as the element that receives focus is typically inside of the Shadow DOM, but we usually want to set the `:focus-visible` state on the host so we can style other parts of the component. Using other combinations such as `:has(:focus-visible)` does not work because `:has` does not pierce the Shadow DOM (as that would leak implementation details about the Shadow DOM contents). `:focus-within` does work with the Shadow DOM, but that has the same problem as `:focus` that was mentioned before. Unfortunately, a [`:focus-visible-within` pseudo-class does not exist yet](https://github.com/WICG/focus-visible/issues/151).
216227
217228
> Make sure the component has the correct [component structure](#component-structure) before continuing.
218229
@@ -275,7 +286,10 @@ ion-button {
275286

276287
### Hover
277288

278-
The [hover state](https://developer.mozilla.org/en-US/docs/Web/CSS/:hover) happens when a user moves their cursor on top of an element without pressing on it. It should not happen on mobile, only on desktop devices that support hover.
289+
The [hover state](https://developer.mozilla.org/en-US/docs/Web/CSS/:hover) happens when a user moves their cursor on top of an element without pressing on it. It should not happen on mobile, only on desktop devices that support hover.
290+
291+
> [!NOTE]
292+
> Some Android devices [incorrectly report their inputs](https://issues.chromium.org/issues/40855702) which can result in certain devices receiving hover events when they should not.
279293
280294
> Make sure the component has the correct [component structure](#component-structure) before continuing.
281295

.github/workflows/actions/build-angular-server/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: 'Build Ionic Angular Server'
33
runs:
44
using: 'composite'
55
steps:
6-
- uses: actions/setup-node@v3
6+
- uses: actions/setup-node@v4
77
with:
88
node-version: 18.x
99

.github/workflows/actions/build-angular/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: 'Build Ionic Angular'
33
runs:
44
using: 'composite'
55
steps:
6-
- uses: actions/setup-node@v3
6+
- uses: actions/setup-node@v4
77
with:
88
node-version: 18.x
99
- uses: ./.github/workflows/actions/download-archive

.github/workflows/actions/build-core-stencil-prerelease/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ runs:
99
using: 'composite'
1010
steps:
1111
- uses: actions/checkout@v4
12-
- uses: actions/setup-node@v3
12+
- uses: actions/setup-node@v4
1313
with:
1414
node-version: 18.x
1515

.github/workflows/actions/build-core/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ runs:
99
using: 'composite'
1010
steps:
1111
- uses: actions/checkout@v4
12-
- uses: actions/setup-node@v3
12+
- uses: actions/setup-node@v4
1313
with:
1414
node-version: 18.x
1515
- name: Install Dependencies

.github/workflows/actions/build-react-router/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: 'Build Ionic React Router'
33
runs:
44
using: 'composite'
55
steps:
6-
- uses: actions/setup-node@v3
6+
- uses: actions/setup-node@v4
77
with:
88
node-version: 18.x
99
- uses: ./.github/workflows/actions/download-archive

.github/workflows/actions/build-react/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: 'Build Ionic React'
33
runs:
44
using: 'composite'
55
steps:
6-
- uses: actions/setup-node@v3
6+
- uses: actions/setup-node@v4
77
with:
88
node-version: 18.x
99
- uses: ./.github/workflows/actions/download-archive

.github/workflows/actions/build-vue-router/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: 'Builds Ionic Vue Router'
33
runs:
44
using: 'composite'
55
steps:
6-
- uses: actions/setup-node@v3
6+
- uses: actions/setup-node@v4
77
with:
88
node-version: 18.x
99
- uses: ./.github/workflows/actions/download-archive

.github/workflows/actions/build-vue/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: 'Build Ionic Vue'
33
runs:
44
using: 'composite'
55
steps:
6-
- uses: actions/setup-node@v3
6+
- uses: actions/setup-node@v4
77
with:
88
node-version: 18.x
99
- uses: ./.github/workflows/actions/download-archive

.github/workflows/actions/download-archive/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ inputs:
1010
runs:
1111
using: 'composite'
1212
steps:
13-
- uses: actions/download-artifact@v3
13+
- uses: actions/download-artifact@v4
1414
with:
1515
name: ${{ inputs.name }}
1616
path: ${{ inputs.path }}

.github/workflows/actions/publish-npm/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ inputs:
1919
runs:
2020
using: 'composite'
2121
steps:
22-
- uses: actions/setup-node@v3
22+
- uses: actions/setup-node@v4
2323
with:
2424
node-version: 18.x
2525
# Provenance requires npm 9.5.0+

.github/workflows/actions/test-angular-e2e/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ inputs:
66
runs:
77
using: 'composite'
88
steps:
9-
- uses: actions/setup-node@v3
9+
- uses: actions/setup-node@v4
1010
with:
1111
node-version: 18
1212
- uses: ./.github/workflows/actions/download-archive

.github/workflows/actions/test-core-clean-build/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: 'Test Core Clean Build'
33
runs:
44
using: 'composite'
55
steps:
6-
- uses: actions/setup-node@v3
6+
- uses: actions/setup-node@v4
77
with:
88
node-version: 18.x
99

.github/workflows/actions/test-core-lint/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: 'Test Core Lint'
33
runs:
44
using: 'composite'
55
steps:
6-
- uses: actions/setup-node@v3
6+
- uses: actions/setup-node@v4
77
with:
88
node-version: 18.x
99
- name: Install Dependencies

.github/workflows/actions/test-core-screenshot/action.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ inputs:
1313
runs:
1414
using: 'composite'
1515
steps:
16-
- uses: actions/setup-node@v3
16+
- uses: actions/setup-node@v4
1717
with:
1818
node-version: 18.x
1919
- uses: ./.github/workflows/actions/download-archive
@@ -82,7 +82,7 @@ runs:
8282
working-directory: ./core
8383
- name: Archive Updated Screenshots
8484
if: inputs.update == 'true' && steps.test-and-update.outputs.hasUpdatedScreenshots == 'true'
85-
uses: actions/upload-artifact@v3
85+
uses: actions/upload-artifact@v4
8686
with:
8787
name: updated-screenshots-${{ inputs.shard }}-${{ inputs.totalShards }}
8888
path: UpdatedScreenshots-${{ inputs.shard }}-${{ inputs.totalShards }}.zip

.github/workflows/actions/test-core-spec/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ inputs:
66
runs:
77
using: 'composite'
88
steps:
9-
- uses: actions/setup-node@v3
9+
- uses: actions/setup-node@v4
1010
with:
1111
node-version: 18.x
1212
- name: Install Dependencies

.github/workflows/actions/test-react-e2e/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ inputs:
66
runs:
77
using: 'composite'
88
steps:
9-
- uses: actions/setup-node@v3
9+
- uses: actions/setup-node@v4
1010
with:
1111
node-version: 18.x
1212
- uses: ./.github/workflows/actions/download-archive

.github/workflows/actions/test-react-router-e2e/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ inputs:
66
runs:
77
using: 'composite'
88
steps:
9-
- uses: actions/setup-node@v3
9+
- uses: actions/setup-node@v4
1010
with:
1111
node-version: 18.x
1212
- uses: ./.github/workflows/actions/download-archive

.github/workflows/actions/test-vue-e2e/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ inputs:
66
runs:
77
using: 'composite'
88
steps:
9-
- uses: actions/setup-node@v3
9+
- uses: actions/setup-node@v4
1010
with:
1111
node-version: 18.x
1212
- uses: ./.github/workflows/actions/download-archive

.github/workflows/actions/update-reference-screenshots/action.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ on:
77
runs:
88
using: 'composite'
99
steps:
10-
- uses: actions/setup-node@v3
10+
- uses: actions/setup-node@v4
1111
with:
1212
node-version: 18.x
13-
- uses: actions/download-artifact@v3
13+
- uses: actions/download-artifact@v4
1414
with:
1515
path: ./artifacts
1616
- name: Extract Archives

.github/workflows/actions/upload-archive/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ runs:
1313
- name: Create Archive
1414
run: zip -q -r ${{ inputs.output }} ${{ inputs.paths }}
1515
shell: bash
16-
- uses: actions/upload-artifact@v3
16+
- uses: actions/upload-artifact@v4
1717
with:
1818
name: ${{ inputs.name }}
1919
path: ${{ inputs.output }}

.github/workflows/codeql-analysis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
security-events: write
1616
steps:
1717
- uses: actions/checkout@v4
18-
- uses: github/codeql-action/init@v2
18+
- uses: github/codeql-action/init@v3
1919
with:
2020
languages: javascript
21-
- uses: github/codeql-action/analyze@v2
21+
- uses: github/codeql-action/analyze@v3

CHANGELOG.md

+12-2
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,19 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
7171

7272

7373

74-
## [7.7.3](https://github.com/ionic-team/ionic-framework/compare/v7.7.2...v7.7.3) (2024-02-21)
74+
## [7.7.4](https://github.com/ionic-team/ionic-framework/compare/v7.7.3...v7.7.4) (2024-03-06)
75+
76+
77+
### Bug Fixes
78+
79+
* **modal:** ariaLabel and role are inherited when set via htmlAttributes ([#29099](https://github.com/ionic-team/ionic-framework/issues/29099)) ([de13633](https://github.com/ionic-team/ionic-framework/commit/de13633a182d963876434db773aa346833f956fd))
7580

7681

82+
83+
84+
85+
## [7.7.3](https://github.com/ionic-team/ionic-framework/compare/v7.7.2...v7.7.3) (2024-02-21)
86+
7787
### Bug Fixes
7888

7989
* **label:** do not grow when in end slot ([#29036](https://github.com/ionic-team/ionic-framework/issues/29036)) ([1fc4b76](https://github.com/ionic-team/ionic-framework/commit/1fc4b76f5940b38fd89e19561d6b4738dfb8ae5d)), closes [#29033](https://github.com/ionic-team/ionic-framework/issues/29033)
@@ -1387,7 +1397,7 @@ Developers can add the following CSS to their global stylesheet if they need the
13871397
display: none !important;
13881398
}
13891399
```
1390-
* **overlays:** Ionic now listens on the `keydown` event instead of the `keyup` event when determining when to dismiss overlays via the "Escape" key. Any applications that were listening on `keyup` to suppress this behavior should listen on `keydown` instead.
1400+
* **overlays:** Ionic now listens on the `keydown` event instead of the `keyup` event when determining when to dismiss overlays via the "Escape" key. Any applications that were listening on `keyup` to suppress this behavior should listen on `keydown` instead.
13911401

13921402

13931403

core/CHANGELOG.md

+13-2
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,17 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
7373

7474

7575

76+
## [7.7.4](https://github.com/ionic-team/ionic-framework/compare/v7.7.3...v7.7.4) (2024-03-06)
77+
78+
79+
### Bug Fixes
80+
81+
* **modal:** ariaLabel and role are inherited when set via htmlAttributes ([#29099](https://github.com/ionic-team/ionic-framework/issues/29099)) ([de13633](https://github.com/ionic-team/ionic-framework/commit/de13633a182d963876434db773aa346833f956fd))
82+
83+
84+
85+
86+
7687
## [7.7.3](https://github.com/ionic-team/ionic-framework/compare/v7.7.2...v7.7.3) (2024-02-21)
7788

7889

@@ -943,7 +954,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
943954

944955

945956
# [7.0.0-rc.3](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.2...v7.0.0-rc.3) (2023-03-22)
946-
957+
947958
**Note:** Version bump only for package @ionic/core
948959

949960

@@ -1358,7 +1369,7 @@ Developers can add the following CSS to their global stylesheet if they need the
13581369
display: none !important;
13591370
}
13601371
```
1361-
* **overlays:** Ionic now listens on the `keydown` event instead of the `keyup` event when determining when to dismiss overlays via the "Escape" key. Any applications that were listening on `keyup` to suppress this behavior should listen on `keydown` instead.
1372+
* **overlays:** Ionic now listens on the `keydown` event instead of the `keyup` event when determining when to dismiss overlays via the "Escape" key. Any applications that were listening on `keyup` to suppress this behavior should listen on `keydown` instead.
13621373

13631374

13641375

0 commit comments

Comments
 (0)