13023 Commits

Author SHA1 Message Date
6e4919caff fix(item-sliding): buttons are not interactive on close (#27829)
Issue number: resolves #22722

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

Item Sliding Options are not disabled until after a 600ms timeout. This
timeout exists to allow the close transition to complete. Without the
timeout, the item sliding options disappear without a transition. I
explored waiting for the `transitionend` event instead of the
`setTimeout`, but the bug persisted.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- If an item sliding is closing then we add a class to the host. This
class disables pointer events on all `ion-item-options` children so the
buttons cannot be accidentally tapped while closing. This class is then
removed after the 600ms timeout.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-07-20 18:27:45 +00:00
5122ced9e1 chore(deps-dev): Bump @capacitor/core from 5.2.1 to 5.2.2 in /core (#27832)
Bumps [@capacitor/core](https://github.com/ionic-team/capacitor) from
5.2.1 to 5.2.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/capacitor/releases"><code>@​capacitor/core</code>'s
releases</a>.</em></p>
<blockquote>
<h2>5.2.2</h2>
<h2><a
href="https://github.com/ionic-team/capacitor/compare/5.2.1...5.2.2">5.2.2</a>
(2023-07-19)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>add http method to prototype.open (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6740">#6740</a>)
(<a
href="1fd2d8762f">1fd2d87</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/capacitor/blob/main/CHANGELOG.md"><code>@​capacitor/core</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/ionic-team/capacitor/compare/5.2.1...5.2.2">5.2.2</a>
(2023-07-19)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>add http method to prototype.open (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6740">#6740</a>)
(<a
href="1fd2d8762f">1fd2d87</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f378edae9e"><code>f378eda</code></a>
Release 5.2.2</li>
<li><a
href="1fd2d8762f"><code>1fd2d87</code></a>
fix: add http method to prototype.open (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6740">#6740</a>)</li>
<li><a
href="67c7f6e7bd"><code>67c7f6e</code></a>
chore: Improve bot message for requesting reproductions (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6735">#6735</a>)</li>
<li>See full diff in <a
href="https://github.com/ionic-team/capacitor/compare/5.2.1...5.2.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@capacitor/core&package-manager=npm_and_yarn&previous-version=5.2.1&new-version=5.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-20 15:40:09 +00:00
3c794d25d6 merge feature-7.2
Feature 7.2
2023-07-19 14:24:54 -04:00
9c799a6eea merge release-7.2
Release 7.2
2023-07-19 13:41:06 -04:00
08cc3d93ae chore(): update package lock files 2023-07-19 16:29:26 +00:00
8661e21674 v7.2.0 v7.2.0 2023-07-19 16:29:12 +00:00
a32cd57f1d chore: sync with main
chore: sync with main
2023-07-19 10:55:21 -04:00
ddfbc9faef Merge remote-tracking branch 'origin/main' into final-7.2-sync 2023-07-19 09:52:12 -04:00
c8dcf18b9b merge release-7.1.4
Release 7.1.4
2023-07-19 09:43:38 -04:00
f18da214bc chore(): update package lock files 2023-07-19 13:08:31 +00:00
7e174849b5 v7.1.4 v7.1.4 2023-07-19 13:08:11 +00:00
90f41243d9 feat(angular): support binding routing data to component inputs (#27694)
Issue number: Resolves #27476

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

Ionic Angular application on Angular v16 cannot use the
[`bindToComponentInputs`](https://angular.io/api/router/ExtraOptions#bindToComponentInputs)
feature to assign route parameters, query parameters, route data and
route resolve data to component inputs.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Ionic Angular developers can use the option on `RouterModule.forRoot`
to enable the Angular feature for binding the route snapshot data to the
component inputs.

**Modules**
```ts
@NgModule({
  imports: [
    RouterModule.forRoot([/* your routes */], { 
      bindToComponentInputs: true // <-- enable this feature
    })
  ]
})
export class AppModule { }
```

**Standalone**

```ts
import { withComponentInputBinding } from '@angular/router';

bootstrapApplication(App, {
  providers: [
    provideRouter(routes, 
      //... other features
      withComponentInputBinding() // <-- enable this feature
    )
  ],
});
```

With this feature enabled, developers can bind route parameters, query
parameters, route data and the returned value from a resolver to input
bindings on their component.

For example, with a route configuration of:
```ts
RouterModule.forChild([
  {
    path: ':id',
    data: {
      title: 'Hello world'
    },
    resolve: {
      name: () => 'Resolved name'
    },
    loadComponent: () => import('./example-component/example.component').then(c => c.ExampleComponent)
  }
])
```
and a component configuration of:

```ts
@Component({ }) 
export class ExampleComponent {
  @Input() id?: string;
  @Input() title?: string;
  @Input() name?: string;
  @Input() query?: string;
}
```

Navigating to the component with a url of: `/2?query=searchphrase`

The following would occur:
- `id` would return `2`
- `title` would return `Hello world`
- `name` would return `Resolved name`
- `query` would return `searchphrase`

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

This PR will need to be targeted to a minor release once a design doc is
approved by the team.

Dev-build: `7.1.3-dev.11689276547.129acb40`
2023-07-18 16:26:37 -04:00
2cf1a0bcae fix(angular): menu button is enabled with Angular Universal builds (#27814)
Issue number: Resolves #27524 #22206

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

After destructive hydration from an Angular Universal build, the
`ion-menu` is disabled. This results in a few problematic behaviors:
- If used with an `ion-split-pane`, the split pane will not render with
the menu.
- If used with an `ion-menu-button`, the menu icon will not render and
the menu will not be accessible.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Removes automatically disabling the `ion-menu` when in a server
environment.
- Prevents setting an `ion-menu` that no longer exists in the DOM, as an
active menu. This allows the most recent menu to be enabled when
rendered from Angular Universal builds.

Loom recording overviewing the change:
https://www.loom.com/share/5a149218adc84cc2af435fc1b1f45124?sid=249028f4-be3d-4d4a-948a-597da83be95a

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Dev-build: `7.1.4-dev.11689625795.1d16532b`
2023-07-18 15:50:11 +00:00
aa9ea60357 chore(deps-dev): Bump @playwright/test from 1.36.0 to 1.36.1 in /core (#27809)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from
1.36.0 to 1.36.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Microsoft/playwright/releases"><code>@​playwright/test</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.36.1</h2>
<h3>Highlights</h3>
<p><a
href="https://redirect.github.com/microsoft/playwright/issues/24184">microsoft/playwright#24184</a>
- [REGRESSION]: Snapshot name contains some random string after test
name when tests are run in container</p>
<h3>Browser Versions</h3>
<ul>
<li>Chromium 115.0.5790.75</li>
<li>Mozilla Firefox 115.0</li>
<li>WebKit 17.0</li>
</ul>
<p>This version was also tested against the following stable
channels:</p>
<ul>
<li>Google Chrome 114</li>
<li>Microsoft Edge 114</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4417b78552"><code>4417b78</code></a>
chore: mark 1.36.1 (<a
href="https://redirect.github.com/Microsoft/playwright/issues/24230">#24230</a>)</li>
<li><a
href="cf5900f142"><code>cf5900f</code></a>
cherry-pick(<a
href="https://redirect.github.com/Microsoft/playwright/issues/24213">#24213</a>):
Revert &quot;fix: do not collide with other tests when test n...</li>
<li>See full diff in <a
href="https://github.com/Microsoft/playwright/compare/v1.36.0...v1.36.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@playwright/test&package-manager=npm_and_yarn&previous-version=1.36.0&new-version=1.36.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 17:38:02 +00:00
2996c853a3 chore(deps-dev): Bump @capacitor/haptics from 5.0.5 to 5.0.6 in /core (#27804)
Bumps
[@capacitor/haptics](https://github.com/ionic-team/capacitor-plugins)
from 5.0.5 to 5.0.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/capacitor-plugins/releases"><code>@​capacitor/haptics</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​capacitor/haptics</code><a
href="https://github.com/5"><code>@​5</code></a>.0.6</h2>
<h2><a
href="https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/haptics@5.0.5...@capacitor/haptics@5.0.6">5.0.6</a>
(2023-07-12)</h2>
<p><strong>Note:</strong> Version bump only for package
<code>@​capacitor/haptics</code></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f2564fe79f"><code>f2564fe</code></a>
chore(release): publish [skip ci]</li>
<li><a
href="d16bad6791"><code>d16bad6</code></a>
feat(filesystem): download files from server to filesystem</li>
<li><a
href="7e1911d6cd"><code>7e1911d</code></a>
fix(google-maps): Add missing listeners to removeAllMapListeners (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1672">#1672</a>)</li>
<li><a
href="798f788452"><code>798f788</code></a>
fix(push-notifications): make requestPermissions resolve if granted (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1677">#1677</a>)</li>
<li><a
href="487258940e"><code>4872589</code></a>
fix(local-notifications): make requestPermissions resolve if granted (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1678">#1678</a>)</li>
<li><a
href="94863cd60b"><code>94863cd</code></a>
chore: grant packages-write to workflows (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1671">#1671</a>)</li>
<li>See full diff in <a
href="https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/haptics@5.0.5...@capacitor/haptics@5.0.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@capacitor/haptics&package-manager=npm_and_yarn&previous-version=5.0.5&new-version=5.0.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 15:53:45 +00:00
71310372c9 feat(searchbar): add name property (#27737)
resolves #27675
2023-07-17 11:43:00 -04:00
f7b0706f19 chore(deps-dev): Bump @capacitor/keyboard from 5.0.5 to 5.0.6 in /core (#27802)
Bumps
[@capacitor/keyboard](https://github.com/ionic-team/capacitor-plugins)
from 5.0.5 to 5.0.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/capacitor-plugins/releases"><code>@​capacitor/keyboard</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​capacitor/keyboard</code><a
href="https://github.com/5"><code>@​5</code></a>.0.6</h2>
<h2><a
href="https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/keyboard@5.0.5...@capacitor/keyboard@5.0.6">5.0.6</a>
(2023-07-12)</h2>
<p><strong>Note:</strong> Version bump only for package
<code>@​capacitor/keyboard</code></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f2564fe79f"><code>f2564fe</code></a>
chore(release): publish [skip ci]</li>
<li><a
href="d16bad6791"><code>d16bad6</code></a>
feat(filesystem): download files from server to filesystem</li>
<li><a
href="7e1911d6cd"><code>7e1911d</code></a>
fix(google-maps): Add missing listeners to removeAllMapListeners (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1672">#1672</a>)</li>
<li><a
href="798f788452"><code>798f788</code></a>
fix(push-notifications): make requestPermissions resolve if granted (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1677">#1677</a>)</li>
<li><a
href="487258940e"><code>4872589</code></a>
fix(local-notifications): make requestPermissions resolve if granted (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1678">#1678</a>)</li>
<li><a
href="94863cd60b"><code>94863cd</code></a>
chore: grant packages-write to workflows (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1671">#1671</a>)</li>
<li>See full diff in <a
href="https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/keyboard@5.0.5...@capacitor/keyboard@5.0.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@capacitor/keyboard&package-manager=npm_and_yarn&previous-version=5.0.5&new-version=5.0.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 15:21:28 +00:00
721fc6fd9a chore(deps-dev): Bump @capacitor/core from 5.1.1 to 5.2.1 in /core (#27805)
Bumps [@capacitor/core](https://github.com/ionic-team/capacitor) from
5.1.1 to 5.2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/capacitor/releases"><code>@​capacitor/core</code>'s
releases</a>.</em></p>
<blockquote>
<h2>5.2.1</h2>
<h2><a
href="https://github.com/ionic-team/capacitor/compare/5.2.0...5.2.1">5.2.1</a>
(2023-07-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>allow single parameter on setRequestBody (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6728">#6728</a>)
(<a
href="5343bdb60d">5343bdb</a>)</li>
</ul>
<h2>5.2.0</h2>
<h1><a
href="https://github.com/ionic-team/capacitor/compare/5.1.1...5.2.0">5.2.0</a>
(2023-07-12)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> make migrate not error if there are no
dependencies (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6707">#6707</a>)
(<a
href="25ca83a8a7">25ca83a</a>)</li>
<li><strong>cookies:</strong> sanitize url before retrieving/setting
cookies (<a
href="ca4063471f">ca40634</a>)</li>
<li><strong>http:</strong> fire events in correct order when using xhr
(<a
href="5ed3617875">5ed3617</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>http:</strong> support for FormData requests (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6708">#6708</a>)
(<a
href="849c564582">849c564</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/capacitor/blob/main/CHANGELOG.md"><code>@​capacitor/core</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/ionic-team/capacitor/compare/5.2.0...5.2.1">5.2.1</a>
(2023-07-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>allow single parameter on setRequestBody (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6728">#6728</a>)
(<a
href="5343bdb60d">5343bdb</a>)</li>
</ul>
<h1><a
href="https://github.com/ionic-team/capacitor/compare/5.1.1...5.2.0">5.2.0</a>
(2023-07-12)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> make migrate not error if there are no
dependencies (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6707">#6707</a>)
(<a
href="25ca83a8a7">25ca83a</a>)</li>
<li><strong>cookies:</strong> sanitize url before retrieving/setting
cookies (<a
href="ca4063471f">ca40634</a>)</li>
<li><strong>http:</strong> fire events in correct order when using xhr
(<a
href="5ed3617875">5ed3617</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>http:</strong> support for FormData requests (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6708">#6708</a>)
(<a
href="849c564582">849c564</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ae2b4ce222"><code>ae2b4ce</code></a>
Release 5.2.1</li>
<li><a
href="5343bdb60d"><code>5343bdb</code></a>
fix: allow single parameter on setRequestBody (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6728">#6728</a>)</li>
<li><a
href="4fdbe6ee84"><code>4fdbe6e</code></a>
chore: run fmt (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6729">#6729</a>)</li>
<li><a
href="910c54eb50"><code>910c54e</code></a>
chore(readme): add new contributor (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6723">#6723</a>)</li>
<li><a
href="6047394d34"><code>6047394</code></a>
chore(readme): add new contributor (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6724">#6724</a>)</li>
<li><a
href="c0eb9cf427"><code>c0eb9cf</code></a>
Release 5.2.0</li>
<li><a
href="5ed3617875"><code>5ed3617</code></a>
fix(http): fire events in correct order when using xhr</li>
<li><a
href="25ca83a8a7"><code>25ca83a</code></a>
fix(cli): make migrate not error if there are no dependencies (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6707">#6707</a>)</li>
<li><a
href="427da4296c"><code>427da42</code></a>
fix missing \r\n after Content-Disposition in iOS (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/6722">#6722</a>)</li>
<li><a
href="ca4063471f"><code>ca40634</code></a>
fix(cookies): sanitize url before retrieving/setting cookies</li>
<li>Additional commits viewable in <a
href="https://github.com/ionic-team/capacitor/compare/5.1.1...5.2.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@capacitor/core&package-manager=npm_and_yarn&previous-version=5.1.1&new-version=5.2.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-14 20:09:56 +00:00
d5f4e0a498 chore(deps-dev): Bump @capacitor/status-bar from 5.0.5 to 5.0.6 in /core (#27803)
Bumps
[@capacitor/status-bar](https://github.com/ionic-team/capacitor-plugins)
from 5.0.5 to 5.0.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/capacitor-plugins/releases"><code>@​capacitor/status-bar</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​capacitor/status-bar</code><a
href="https://github.com/5"><code>@​5</code></a>.0.6</h2>
<h2><a
href="https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/status-bar@5.0.5...@capacitor/status-bar@5.0.6">5.0.6</a>
(2023-07-12)</h2>
<p><strong>Note:</strong> Version bump only for package
<code>@​capacitor/status-bar</code></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f2564fe79f"><code>f2564fe</code></a>
chore(release): publish [skip ci]</li>
<li><a
href="d16bad6791"><code>d16bad6</code></a>
feat(filesystem): download files from server to filesystem</li>
<li><a
href="7e1911d6cd"><code>7e1911d</code></a>
fix(google-maps): Add missing listeners to removeAllMapListeners (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1672">#1672</a>)</li>
<li><a
href="798f788452"><code>798f788</code></a>
fix(push-notifications): make requestPermissions resolve if granted (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1677">#1677</a>)</li>
<li><a
href="487258940e"><code>4872589</code></a>
fix(local-notifications): make requestPermissions resolve if granted (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1678">#1678</a>)</li>
<li><a
href="94863cd60b"><code>94863cd</code></a>
chore: grant packages-write to workflows (<a
href="https://redirect.github.com/ionic-team/capacitor-plugins/issues/1671">#1671</a>)</li>
<li>See full diff in <a
href="https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/status-bar@5.0.5...@capacitor/status-bar@5.0.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@capacitor/status-bar&package-manager=npm_and_yarn&previous-version=5.0.5&new-version=5.0.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-14 19:27:31 +00:00
b78af7598f fix(button): submit form when pressing enter key (#27790)
Issue number: resolves #19368 

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?

The form submits when clicking on the `ion-button`. However, users
cannot submit the form when focused on a form element and pressing the
`enter` button. This does not follow the behavior of the native button
on a form.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Form now submits when a form element is focused and the `enter` button
is pressed.
  - It also submits regardless of the amount of form elements present.
- Form will not submit if the `ion-button` is disabled.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

N/A
2023-07-14 17:24:53 +00:00
16c77ccdc8 refactor: use capacitor types for native plugins (#27755)
Issue number: Internal

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

Ionic currently detects and uses Capacitor APIs for different plugins
(haptics, status bar and keyboard). This implementation does not have
type safety and can result in unexpected behaviors.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Adds `@capacitor/core`, `@capacitor/keyboard`, `@capacitor/haptics`
and `@capacitor/status-bar` as dev dependencies. These should _only_ be
used with `import type { }`.
- Refactors the plugin usages to be typed against the plugin packages,
while using a duplicate enum when needing a value. This allows us to not
bundle the capacitor plugins with Ionic Framework.
- Introduces a `getCapacitor()` function for interacting with the
`window.Capacitor` object through a typed object.

**How does it work?**

The idea is we want the type safety from the Capacitor packages, without
directly bundling that source code within Ionic Framework. This means we
use the Capacitor deps where a type is needed, but clone any enums where
a value is referenced. If a Capacitor dep changes the supported values,
Typescript will fail to compile and that will signal to use to update
our enum values to match any changes.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Dev-build: `7.1.2-dev.11688696027.1c4d4ad1`

Tested against a demo app for some of the core behavior:
https://github.com/sean-perkins/capacitor-ionic-plugins-demo
2023-07-14 15:27:28 +00:00
66584b03d0 fix: safari no longer adjusts text in landscape (#27787)
Issue number: resolves #27782

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

Ionic uses text-size-adjust to prevent browsers from resizing text in
landscape mode in order to match native app behavior. However, WebKit
only supports `-webkit-text-size-adjust`, so this fix never applied to
iOS devices.

https://caniuse.com/?search=text-size-adjust

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Add `-webkit-text-size-adjust` where we use `text-size-adjust`

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

**Landscape**

| main | branch |
| - | - |
|
![IMG_0046](https://github.com/ionic-team/ionic-framework/assets/2721089/d719f495-c051-4f64-a6fa-f17435c68cb5)
|
![IMG_0048](https://github.com/ionic-team/ionic-framework/assets/2721089/7a0b5f45-b72a-466d-8e00-846de2572e49)
|

**Portrait** (Should be no changes)

| main | branch |
| - | - |
|
![IMG_0045](https://github.com/ionic-team/ionic-framework/assets/2721089/a2324f9f-efcc-4c75-8359-2441f93ceadc)
|
![IMG_0047](https://github.com/ionic-team/ionic-framework/assets/2721089/64566645-5778-435f-a511-5fe7234c7f65)
|
2023-07-13 17:26:13 +00:00
da2fc0a256 chore(toggle): rename item test to use correct component name (#27789)
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

The `item` test for `ion-toggle` uses `label` instead of `toggle` in the
file name.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

Test and corresponding screenshots folder renamed.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-07-13 14:56:28 +00:00
64b75f27ac Merge pull request #27791 from ionic-team/sp/sync-7.2-with-main-7-12
chore: sync with main
2023-07-12 22:32:40 -04:00
03c830e9e9 Merge remote-tracking branch 'origin/main' into sp/sync-7.2-with-main-7-12 2023-07-12 22:09:54 -04:00
2cb7013954 fix(textarea): stacked/floating textarea size is correct on safari (#27766)
Issue number: resolves #27345

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

WebKit has a bug where children of grid elements placed inside flex
elements have the wrong size. This is causing textarea's dimensions to
spill out of its grid container. Grid is used for autogrow
functionality, and the grid itself is placed inside `.label-wrapper`
which uses flexbox for aligning the label and control.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Adds `grid-auto-rows: 100%` to avoid the WebKit bug which specifies
the size of implicitly-created grid rows.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->


Dev build: `7.1.3-dev.11688748118.18ff9e7d`
WebKit bug: https://bugs.webkit.org/show_bug.cgi?id=256781

---------

Co-authored-by: ionitron <hi@ionicframework.com>
2023-07-12 20:35:36 +00:00
35f0ec581a fix(radio, checkbox, toggle): add top and bottom margins when in ion-item (#27788)
Issue number: Resolves #27498

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

When `ion-radio`, `ion-checkbox`, or `ion-toggle` is used within
`ion-item`, top and bottom margins are not added to the label, while
they are present when using the legacy syntax. We didn't catch this
because the issue is only visible when using a label that breaks onto
more than one line; otherwise, the height of the item exceeds what the
margins would've added.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

Margins added. Values were taken from `ion-item` styles
[here](096d9cc931/core/src/components/item/item.ios.scss (L203-L206))
and
[here](096d9cc931/core/src/components/item/item.md.scss (L298-L301)),
which no longer get applied because the `ion-label` is nested in an
additional shadow component. Note that left/right margins are already
included in the modern syntax labels.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

This PR is a combination of the following:
- https://github.com/ionic-team/ionic-framework/pull/27771
- https://github.com/ionic-team/ionic-framework/pull/27783
- https://github.com/ionic-team/ionic-framework/pull/27784

---------

Co-authored-by: ionitron <hi@ionicframework.com>
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2023-07-12 20:10:35 +00:00
3bd1d7e1e5 chore(deps-dev): Bump @playwright/test from 1.35.1 to 1.36.0 in /core (#27778)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from
1.35.1 to 1.36.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Microsoft/playwright/releases"><code>@​playwright/test</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.36.0</h2>
<h3>Highlights</h3>
<p>🏝️ Summer maintenance release.</p>
<h3>Browser Versions</h3>
<ul>
<li>Chromium 115.0.5790.75</li>
<li>Mozilla Firefox 115.0</li>
<li>WebKit 17.0</li>
</ul>
<p>This version was also tested against the following stable
channels:</p>
<ul>
<li>Google Chrome 114</li>
<li>Microsoft Edge 114</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="74ec8c243a"><code>74ec8c2</code></a>
cherry-pick(<a
href="https://redirect.github.com/Microsoft/playwright/issues/24145">#24145</a>):
fix(snapshots): match resources by method (<a
href="https://redirect.github.com/Microsoft/playwright/issues/24147">#24147</a>)</li>
<li><a
href="1e8e8b4b02"><code>1e8e8b4</code></a>
chore: mark 1.36.0 (<a
href="https://redirect.github.com/Microsoft/playwright/issues/24129">#24129</a>)</li>
<li><a
href="6ee70e2ce3"><code>6ee70e2</code></a>
cherry-pick(<a
href="https://redirect.github.com/Microsoft/playwright/issues/24135">#24135</a>):
docs: add release notes for 1.36</li>
<li><a
href="e9e6cf551f"><code>e9e6cf5</code></a>
cherry-pick(<a
href="https://redirect.github.com/Microsoft/playwright/issues/24106">#24106</a>):
fix(trace): do not allow after w/o before</li>
<li><a
href="b7dcc2bb16"><code>b7dcc2b</code></a>
cherry-pick(<a
href="https://redirect.github.com/Microsoft/playwright/issues/24127">#24127</a>):
fix: do not create empty directories for successful snap...</li>
<li><a
href="52f594e0eb"><code>52f594e</code></a>
cherry-pick(<a
href="https://redirect.github.com/Microsoft/playwright/issues/24128">#24128</a>):
chore: update WebKit browser version to 17.0</li>
<li><a
href="9bca9f1b4f"><code>9bca9f1</code></a>
feat(chromium): roll to r1071 (<a
href="https://redirect.github.com/Microsoft/playwright/issues/24098">#24098</a>)</li>
<li><a
href="90c92c5724"><code>90c92c5</code></a>
feat(firefox): roll to r1419 (<a
href="https://redirect.github.com/Microsoft/playwright/issues/24091">#24091</a>)</li>
<li><a
href="b9e68e22e0"><code>b9e68e2</code></a>
feat: support Chromium installation on Debian 12 (<a
href="https://redirect.github.com/Microsoft/playwright/issues/24090">#24090</a>)</li>
<li><a
href="9af2b518f2"><code>9af2b51</code></a>
fix: exclude <code>tracesDir</code> option from
<code>launchOptions</code> fixture (<a
href="https://redirect.github.com/Microsoft/playwright/issues/24086">#24086</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Microsoft/playwright/compare/v1.35.1...v1.36.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@playwright/test&package-manager=npm_and_yarn&previous-version=1.35.1&new-version=1.36.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ionitron <hi@ionicframework.com>
2023-07-12 19:01:21 +00:00
c1cd9a54f2 merge release-7.1.3
Release 7.1.3
2023-07-12 10:26:31 -04:00
d6c812f785 chore(): update package lock files 2023-07-12 12:54:58 +00:00
0c9392abd6 v7.1.3 v7.1.3 2023-07-12 12:54:40 +00:00
82c568b8c8 fix(overlays): first button is not focused on backdrop tap (#27774)
Issue number: resolves #27773

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

The focus trap util for scoped components moves focus back to the first
focusable element inside of `.ion-overlay-wrapper` when clicking the
backdrop. The reason for this is it (incorrectly) assumes that all
focusable elements will be children of `.ion-overlay-wrapper`. This is
true **except** for `ion-backdrop` which overlays the entire screen and
therefore cannot be a child of `.ion-overlay-wrapper`.

This does not impact modal and popover as the shadow focus trap utility
makes use of the Shadow Root as the parent for all focusable elements,
not `.ion-overlay-wrapper`.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Scoped focus trap util no longer moves focus if the `ion-backdrop` was
focused.

I opted to explicitly account for `ion-backdrop` rather than come up
with some new private API. As far as I can tell `ion-backdrop` is the
only exception to this focus trapping rule with `.ion-overlay-wrapper`.
Open to alternative ideas though.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Dev build: `7.1.3-dev.11689085446.181c2143`
2023-07-11 16:08:27 +00:00
e7353946a1 test(picker-internal): re-enable basic screenshot test (#27768)
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

Test was skipped due to flakiness

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Re-enabled test
- Removes directions tests because behavior does not vary across text
directions
- Updated screenshot to screenshot individual picker instead of the
entire page

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

---------

Co-authored-by: ionitron <hi@ionicframework.com>
2023-07-10 18:42:49 +00:00
096d9cc931 test(overlays): migrate to pageUtils and re-enable (#27769)
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

Focus trapping tests were disabled because they were flaky

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Re-enabled the test 
- Migrated the test to use the pageUtils fixture which seems to be more
stable with keyboard focus than the built-in page.keyboard commands

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-07-07 20:46:25 +00:00
6fe716fd13 feat(button): allow button to increase in height when text wraps (#27547)
Issue number: N/A - this does not completely resolve an issue but it
enables users to opt-in to having text wrap in a button by setting a
minimum height

---------

## What is the current behavior?
The current behavior when text is really long in a button is:
- Default buttons expand in width until part of the text (and button) is
off the screen and not in the visible viewport
- Block and full buttons horizontally align the text in the center and
overflow it on both sides (but the overflow is not visible so the text
is cut off at the beginning and end)

## What is the new behavior?
Allow the button height to increase when text wraps and add some padding
so that buttons with wrapped text still look nice. This does **NOT**
wrap the text in a button by default. That will be done in FW-4599.

- Removed `text-overflow: ellipsis` since this does not have any effect
- Changes `height` setting to `min-height` on all button types (small,
large, default) and buttons inside of an item, toolbar or list header
- Increases `padding-top` and `padding-bottom` on the buttons so that
overflowing buttons have padding around them
- Changes `.button-native` display property from `block` to `flex` in
order for anchor tags (`<ion-button href="#">` to align their text
vertically
- Sets `flex-shrink: 0` on slotted `start`/`end` elements to prevent
icons (and other elements) from shrinking to make room for the text
- Adds e2e test for button wrapping including the different types of
buttons that were changed by this PR
- Adds `ion-text-wrap` to the `ion-button` elements used in this test to
verify the height / padding changes are working as desired (to be
removed with FW-4599)
- Screenshot diffs are in the following PR:
https://github.com/ionic-team/ionic-framework/pull/27561

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

This does **NOT** wrap the text in a button by default. It only enables
buttons to look nicer and auto adjust their height/padding when the text
is wrapping.

After internal discussion we decided that automatically making the text
wrap inside of a button may have undesired effects on existing apps. For
example, if someone has a button inside of a list header with a long
label, the button will now wrap if it has a space or dash in the text
content.

Developers should set `ion-text-wrap` on the `ion-button` to opt-in to
text wrapping in a button, and this will become the default as part of
FW-4599 (the next major release).

---------

Co-authored-by: ionitron <hi@ionicframework.com>
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2023-07-07 15:04:52 -04:00
2085025644 fix: avoid unresolved import warning on stencil apps (#27765)
Issue number: resolves #27762

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

Stencil 3.4.1 regressed the tsconfig alias path transpilation. This is
fixed in 4.0.0 though.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Downgrade to Stencil 3.4.0. Stencil 4.0 has breaking changes, so I'd
like to wait on upgrading until we can work through any of the changes
that impact Ionic.

This reverts commit 9793b3c0a0828b938b825116f78f616b1550d623.


## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Stencil issue: https://github.com/ionic-team/stencil/issues/4550
2023-07-07 14:14:17 +00:00
70e7faf6f6 merge release-7.1.2
Release 7.1.2
2023-07-06 15:13:40 -04:00
61486d97f7 chore(): update package lock files 2023-07-06 16:40:18 +00:00
20331458de v7.1.2 v7.1.2 2023-07-06 16:40:00 +00:00
4906d02e08 test(tab-button): add focus state screenshots (#27731)
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

We do not have screenshots that verify the focus states are being
applied correctly.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Added screenshot tests to verify focus states are being captured for
non-translucent tab bars (iOS and MD) as well as translucent tab bars
(iOS only)

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

---------

Co-authored-by: ionitron <hi@ionicframework.com>
2023-07-06 16:03:12 +00:00
db9a0010df fix(back-button): show correct background on focus + hover with ios (#27723)
Issue number: resolves #27722

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

The back button on iOS uses the same background and foreground colors on
hover + focus making it impossible to read

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Back button uses a transparent background color on hover + focus to
match the behavior of `ion-button`

| `main` | branch |
| - | - |
| <video
src="https://github.com/ionic-team/ionic-framework/assets/2721089/e8bed785-66d7-40cd-beb3-54636c7fc59a"></video>
| <video
src="https://github.com/ionic-team/ionic-framework/assets/2721089/2c4a9a5c-f1a9-4a83-879f-8b0e9ce18558"></video>
|

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-07-06 16:00:48 +00:00
32bc33ed28 refactor(angular): move to packages directory (#27719)
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

The `angular` directory sits at the root of the project instead of in
`packages` with all the other JS Framework integrations. This does not
cause any functional issues with Ionic, but it is confusing since
integrations are not in a consistent place.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Moves the `angular` directory to `packages/angular`

Note: Most files should remain unchanged. The only files I changed are
the files that had direct paths to the old `angular` directory:

1. Removes the `angular` path in `lerna.json`. This is now covered by
`packages/*`
2. Updated the angular file path in `.gitignore`
3. Updates the path to the angular package in `stencil.config.ts` for
the Angular Output Targets
4. Updates some of Angular's sync scripts to correctly get the core
stylesheets as well as the core package.
5. Updates the test app sync script to correctly sync core and
angular-server

~I'm not entirely sure why GitHub thinks
https://github.com/ionic-team/ionic-framework/pull/27719/files#diff-f5bba7e7c7c75426e2b9c89868310cb03890493b4efe0252adf8d12cc8398962
is a new file since it exists in `main` here:
1f06be4a31/angular/test/base/scripts/build-ionic.sh~
Fixed in
6e7fc49827

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Dev build: `7.1.2-dev.11688052109.13454f5c`
2023-07-05 17:52:35 +00:00
e5ab6d8804 refactor(select): use border mixin (#27732)
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

The outline select uses `border-left` and `border-right` properties to
handle LTR vs RTL borders. However, our border mixin takes care of this
by using logical border properties.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Updates the outline select to use the border mixin.

Note 1: There should be no visual changes as a result of this. This is
simpler way of doing what we are already doing.
Note 2: There do exist logical border radius properties (for the other
explicit LTR vs RTL work we do), but Ionic 7 supports browsers that do
not support these properties yet. (I created FW-4661 to track this)

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-07-05 12:49:06 +00:00
a4197a5c74 chore(ci): fix stencil nightly ci job (#27726)
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

Stencil nightly builds are broken
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

this commit updates the name of the dependent job for building the
angular server (`build-angular-server`).

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-06-30 15:34:26 +00:00
cef4691b5d chore: remove angular dep for angular-server (#27720)
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

`@ionic/angular-server` has a dependency on `@ionic/core` not
`@ionic/angular` (see
1f06be4a31/packages/angular-server/package.json).
As a result, once `@ionic/core` is built there is no reason for
`@ionic/angular-server` to also wait for `@ionic/angular` to build
before it can build.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- `@ionic/angular-server` now waits for `@ionic/core` to build instead
of `@ionic/angular`

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->


Dev build sample run:
https://github.com/ionic-team/ionic-framework/actions/runs/5414097033
2023-06-29 19:33:32 +00:00
1f06be4a31 fix(nav): root component is mounted with root params (#27676)
Issue number: Resolves #27146

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

When an `ion-nav` is presented multiple times in an overlay, the user's
`root` component will attempt to be attached twice. This results in the
view being mounted without the `rootParams` being defined, causing an
exception in a user's application.

This behavior occurs due to the `root` watch callback firing twice. The
second time the `ion-nav` is presented in an overlay, the watch callback
will execute _before_ `componentDidLoad` fires. This results in the
watch callback firing twice, once from the underlying change detection
and the second time from [manually calling the
function](https://github.com/ionic-team/ionic-framework/blob/main/core/src/components/nav/nav.tsx#L115)
from `componentDidLoad`.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- `ion-nav` includes a new flag to track when `componentDidLoad`
executes. This allows us to prevent the behavior of the `rootChanged`
callback from happening when the component has not loaded.
- `ion-nav` consistently attaches the `rootParams` to the `root`
component.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Dev-build: `7.0.15-dev.11687924603.10a1e477`.

### How to test

You can install against the reproduction app in the linked issue to
verify the behavior before and after.
- Before, the app will throw an exception when presenting the modal the
second time.
- After, the app will not throw an exception when presenting the modal
the second time. Information that you fill out on the main screen form
will be rendered inside the modal content.
2023-06-28 15:27:25 +00:00
458d16e742 docs(input, textarea): clarify ionInput and ionChange (#27710)
Issue number: N/A

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

See https://github.com/ionic-team/ionic-framework/issues/27709

The `ionInput` description is vague and does not clarify that it only
fires as the user types.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Clarified the ionInput description for input and textarea

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-06-28 15:26:37 +00:00
2af5a141dc chore(ci): fix npm package provenance (#27712)
Issue number: N/A

---------

## What is the current behavior?

Nightly build and release broken in #27711 due to missing shell property
in GitHub Actions workflow.

## What is the new behavior?

- Nightly build and release works.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information
2023-06-28 12:45:04 +00:00
ba3b4706d8 test(popover): re-enable size (#27686)
Issue number: internal ticket

---------

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

Size tests were being skipped.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Size tests are no longer being skipped.
- Size tests have been provided comments to explain flakiness.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

I recommend adding a `.only` to the `popover: visible backdrop` and
running the test with `npm run test.e2e popover -- --repeat-each 100` a
few times

---------

Co-authored-by: ionitron <hi@ionicframework.com>
2023-06-27 17:06:24 +00:00
91bb6b57aa chore(ci): restore npm package provenance (#27711)
Issue number: #

---------

## What is the current behavior?

Package provenance was disabled in #27656.

## What is the new behavior?

- Package provenance is enabled.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information
2023-06-27 15:08:33 +00:00