Commit Graph

13315 Commits

Author SHA1 Message Date
Liam DeBeasi
647320dd4b chore: update scripts to use pnpm 2023-11-03 11:45:21 -04:00
Liam DeBeasi
f4c3ee8673 chore(react): update testing library dep 2023-11-03 11:37:07 -04:00
Liam DeBeasi
02ad14d837 chore(react): install jest-environment-jsdom as dev dep 2023-11-03 11:01:01 -04:00
Liam DeBeasi
ea3c544bcb chore(ci): core prerelease builds with pnpm 2023-11-03 10:48:51 -04:00
Liam DeBeasi
ed28f1a86e chore(angular): remove sync script 2023-11-03 10:46:34 -04:00
Liam DeBeasi
83c2ea2616 chore(ci): build angular and angular-server with pnpm 2023-11-03 10:46:07 -04:00
Liam DeBeasi
f9ca2f2f77 chore(react, react-router): remove sync script 2023-11-03 10:44:04 -04:00
Liam DeBeasi
e53be3946a chore(ci): build react and react router with pnpm 2023-11-03 10:43:34 -04:00
Liam DeBeasi
9427951e80 chore(vue, vue-router): remove sync scripts 2023-11-03 10:42:16 -04:00
Liam DeBeasi
be1c9421dd chore(ci): build vue and vue router 2023-11-03 10:41:18 -04:00
Liam DeBeasi
0fa25899f0 chore(ci): build core with pnpm 2023-11-02 17:52:46 -04:00
Liam DeBeasi
054e03beb6 chore(core): add fast-deep-equal devdep 2023-11-02 17:51:21 -04:00
Liam DeBeasi
fcf536ae87 Merge remote-tracking branch 'origin/rollup-watch' into workspace-test 2023-11-02 17:22:37 -04:00
Liam DeBeasi
4492d985f5 clean up commands 2023-11-02 17:21:23 -04:00
Liam DeBeasi
8dffb5fc3b refactor(angular, angular-server): add watch commands 2023-11-02 17:20:47 -04:00
Liam DeBeasi
1218eada08 prevent accidental npm installs 2023-11-02 17:11:09 -04:00
Liam DeBeasi
3fbdd8d47e refactor(vue): extend type from correct package 2023-11-02 17:08:01 -04:00
Liam DeBeasi
d264042d6d refactor(angular): add correct dependencies 2023-11-02 16:42:57 -04:00
Liam DeBeasi
0c88cb00f9 refactor(angular): update devdeps to 14.3.0 2023-11-02 16:38:25 -04:00
Liam DeBeasi
b2b9ff6712 remove package lock 2023-11-02 16:38:19 -04:00
Liam DeBeasi
14b94f4269 refactor: add pnpm and workspace 2023-11-02 16:37:57 -04:00
Liam DeBeasi
6e3fd70bf0 refactor: add watch command 2023-11-01 17:23:30 -04:00
Liam DeBeasi
d1507fbfdb Merge branch 'main' into rollup-ts 2023-11-01 17:00:59 -04:00
Liam DeBeasi
b7d1a5c86b chore: remove release scripts (#28451)
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. -->

These scripts are old and do not do anything (`np` isn't even a
dependency).

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

- Removed the scripts from react and react-router

## 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-11-01 20:27:25 +00:00
Liam DeBeasi
36aed8c90d typo 2023-11-01 14:34:30 -04:00
Liam DeBeasi
1175b258e7 remove line 2023-11-01 14:33:34 -04:00
dependabot[bot]
a4551470a9 chore(deps): Bump @stencil/core from 4.6.0 to 4.7.0 in /core (#28436)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.6.0
to 4.7.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/stencil/blob/main/CHANGELOG.md"><code>@​stencil/core</code>'s
changelog</a>.</em></p>
<blockquote>
<h1>💪 <a
href="https://github.com/ionic-team/stencil/compare/v4.6.0...v4.7.0">4.7.0</a>
(2023-10-30)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>runtime:</strong> prevent additional attempted move of slot
content (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4921">#4921</a>)
(<a
href="adb3ccf2d5">adb3ccf</a>)</li>
<li><strong>runtime:</strong> relocate slot content from non-shadow to
shadow components w/ slot name change (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4940">#4940</a>)
(<a
href="0fe78c74ce">0fe78c7</a>)</li>
<li><strong>runtime:</strong> slot name forwarding &amp; attribute reset
(<a
href="https://redirect.github.com/ionic-team/stencil/issues/4993">#4993</a>)
(<a
href="ee60f3b33b">ee60f3b</a>)</li>
<li><strong>runtime:</strong> slotted content order with sibling
elements (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4994">#4994</a>)
(<a
href="740c1e4faa">740c1e4</a>)</li>
<li><strong>runtime:</strong> support &quot;capture&quot; style events
(<a
href="https://redirect.github.com/ionic-team/stencil/issues/4968">#4968</a>)
(<a
href="2c8cfac638">2c8cfac</a>)</li>
<li><strong>www:</strong> ensure that files necessary for www build are
on disk (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4992">#4992</a>)
(<a
href="b74220bed2">b74220b</a>)</li>
<li><strong>www:</strong> fix an inconsistency between www builds (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4983">#4983</a>)
(<a
href="f113b052af">f113b05</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>test:</strong> jest 28 support (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4979">#4979</a>)
(<a
href="d3aa5395b8">d3aa539</a>)</li>
<li><strong>test:</strong> jest 29 support (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4981">#4981</a>)
(<a
href="4959295c24">4959295</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d947094630"><code>d947094</code></a>
v4.7.0 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5006">#5006</a>)</li>
<li><a
href="8f5d09f135"><code>8f5d09f</code></a>
chore(deps): update typescript-eslint to v6.9.0 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5004">#5004</a>)</li>
<li><a
href="6a5d3e6a24"><code>6a5d3e6</code></a>
chore(deps): update dependency eslint-plugin-jest to v27.6.0 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5003">#5003</a>)</li>
<li><a
href="027ab861c7"><code>027ab86</code></a>
chore(deps): update dependency <code>@​types/node</code> to v20.8.9 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5002">#5002</a>)</li>
<li><a
href="b9c4934cff"><code>b9c4934</code></a>
chore(deps): update actions/setup-node action to v4 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5005">#5005</a>)</li>
<li><a
href="67d01a00f2"><code>67d01a0</code></a>
docs(output-targets): document generateHashedCopy function (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4984">#4984</a>)</li>
<li><a
href="740c1e4faa"><code>740c1e4</code></a>
fix(runtime): slotted content order with sibling elements (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4994">#4994</a>)</li>
<li><a
href="b74220bed2"><code>b74220b</code></a>
fix(www): ensure that files necessary for www build are on disk (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4992">#4992</a>)</li>
<li><a
href="2c8cfac638"><code>2c8cfac</code></a>
fix(runtime): support &quot;capture&quot; style events (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4968">#4968</a>)</li>
<li><a
href="f113b052af"><code>f113b05</code></a>
fix(www): fix an inconsistency between www builds (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4983">#4983</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ionic-team/stencil/compare/v4.6.0...v4.7.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stencil/core&package-manager=npm_and_yarn&previous-version=4.6.0&new-version=4.7.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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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-11-01 17:45:16 +00:00
Liam DeBeasi
5ac163e4bd refactor(react-router): use ts rollup plugin 2023-11-01 13:20:10 -04:00
Liam DeBeasi
9721d3d877 refactor(react): use ts rollup plugin 2023-11-01 13:18:42 -04:00
Liam DeBeasi
266cebdff6 refactor(vue-router): use ts rollup plugin 2023-11-01 13:16:09 -04:00
Liam DeBeasi
4dd069282b refactor(vue): use ts rollup plugin 2023-11-01 13:16:00 -04:00
Liam DeBeasi
70212d5ab2 merge release-7.5.3
Release 7.5.3
2023-11-01 11:01:05 -04:00
ionitron
a608a11ad0 chore(): update package lock files 2023-11-01 13:40:57 +00:00
ionitron
d70c89c0e2 v7.5.3 v7.5.3 2023-11-01 13:40:40 +00:00
Shawn Taylor
f6a6877044 fix(datetime): allow calendar navigation in readonly mode; disallow keyboard navigation when disabled (#28336)
Issue number: #28121 

---------

<!-- 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. -->
It is not possible to navigate between months when ion-datetime is in
readonly mode. This means that if there are multiple dates selected, the
user cannot browse to view them all.

Also, keyboard navigation is not prevented in `readonly` or `disabled`
mode where it should be.

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

When `readonly`:
- Clicking the month-year button changes the month & year in readonly
mode
- Clicking the next & prev buttons changes the month in readonly mode
- Left and right arrow keys change the month in readonly mode
- Swiping/scrolling changes the month in readonly mode
- The selected date does not change when doing any of the above
- You cannot clear the value using keyboard navigation of the clear
button in readonly mode

When `disabled`:
- You cannot navigate months via keyboard navigation of the month-year
button in disabled mode
- You cannot navigate months using keyboard navigation of the previous &
next buttons in disabled mode
- You cannot navigate months via the left and right arrow keys in
disabled mode
- The selected date does not change when doing any of the above
- You cannot clear the value using keyboard navigation of the clear
button in disabled mode

Known bug:
- It is still possible to navigate through dates in `prefers-wheel` when
`disabled`. This bug existed prior to this PR. I created FW-5408 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. -->

---------

Co-authored-by: ionitron <hi@ionicframework.com>
Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com>
2023-10-31 20:12:04 +00:00
Liam DeBeasi
3b6e6318bf fix(angular): inputs on standalone form controls are reactive (#28434)
Issue number: resolves #28431

---------

<!-- 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. -->

My previous attempt at fixing
https://github.com/ionic-team/ionic-framework/issues/28358 caused inputs
to no longer be correctly proxied to the underlying components. This was
an attempt to work around an underlying ng-packagr bug (see linked
thread for more info).

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

I decided it would be best to continue using `ProxyCmp` (since we know
that works) and find an alternative to working around the ng-packagr
bug. I spoke with the Angular team, and they recommended pulling the
provider into its own object. `forwardRef` is now required since we are
referencing the component before it is declared.

- Revert
82d6309ef1
- Moves provider to an object to avoid ng-packagr issue
- I reverted the proxy e2e tests. These are no longer needed since we
are not ejecting from the typical `ProxyCmp` usage anymore.

## 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.5.3-dev.11698699090.1151d73f`
Verified that the issue is fixed with the repro provided in
https://github.com/ionic-team/ionic-framework/issues/28431

Also verified that this does not regress the issue described in
https://github.com/ionic-team/ionic-framework/issues/28358.
2023-10-31 18:12:57 +00:00
Liam DeBeasi
89698b338f fix(angular): standalone form components do not error when multiple are used (#28423)
Issue number: resolves #28418

---------

<!-- 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. -->

Due to
https://github.com/ionic-team/stencil-ds-output-targets/issues/397,
calling `proxyInputs` for the form controls caused an error to be logged
in developer applications.

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

- Updated to a version of the Angular output targets with a patch for
this error
- I also excluded the `utils.ts` from all `angular-component-lib`
directories from prettier since it was causing a diff. These changes are
autogenerated so we should not be linting them anyways.

## 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.5.3-dev.11698340692.18daff2f`
2023-10-27 19:08:54 +00:00
Liam DeBeasi
90acad1837 fix(angular): NavController works with nested outlets (#28421)
Issue number: resolves #28417

---------

<!-- 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 common `IonRouterOutlet` was trying to inject another common
`IonRouterOutlet` into `parentOutlet`:
dc94ae01fe/packages/angular/common/src/directives/navigation/router-outlet.ts (L119)
None existed, so this field was `null`.

This is a problem if developers are using the module `IonRouterOutlet`
since parent router outlets will not be currently injected because
Angular is trying to use the common `IonRouterOutlet` not the module
`IonRouterOutlet`:
https://github.com/ionic-team/ionic-framework/blob/main/packages/angular/src/directives/navigation/ion-router-outlet.ts.
The same goes for the standalone `IonRouterOutlet`.

This resulted in things such as `NavController.pop` not working in
nested outlets because the parentOutlet was not defined.

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

- `IonRouterOutlet` now injects the correct router outlet instance for
`parentOutlet`

## 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.5.3-dev.11698328998.1a79f815`
2023-10-27 13:17:42 +00:00
Ryan Waskiewicz
a5c68aa529 chore(repo): update angular path (#28426)
Issue number: #

---------

<!-- 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. -->
i found a small typo in the contributing guide

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

update the relative path for updating ionic angular, now that it's code
lives under the `packages/` directory

## 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-10-27 13:13:05 +00:00
dependabot[bot]
dbcd1ac489 chore(deps-dev): Bump @capacitor/core from 5.5.0 to 5.5.1 in /core (#28416)
Bumps [@capacitor/core](https://github.com/ionic-team/capacitor) from
5.5.0 to 5.5.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.5.1</h2>
<h2><a
href="https://github.com/ionic-team/capacitor/compare/5.5.0...5.5.1">5.5.1</a>
(2023-10-25)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>ios:</strong> CAPWebView config update (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/7004">#7004</a>)
(<a
href="f3e8be0453">f3e8be0</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/capacitor/blob/5.5.1/CHANGELOG.md"><code>@​capacitor/core</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/ionic-team/capacitor/compare/5.5.0...5.5.1">5.5.1</a>
(2023-10-25)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>ios:</strong> CAPWebView config update (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/7004">#7004</a>)
(<a
href="f3e8be0453">f3e8be0</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a0f61ed020"><code>a0f61ed</code></a>
Release 5.5.1</li>
<li><a
href="f3e8be0453"><code>f3e8be0</code></a>
fix(ios): CAPWebView config update (<a
href="https://redirect.github.com/ionic-team/capacitor/issues/7004">#7004</a>)</li>
<li>See full diff in <a
href="https://github.com/ionic-team/capacitor/compare/5.5.0...5.5.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.5.0&new-version=5.5.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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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-10-26 15:43:18 +00:00
Liam DeBeasi
b31ecbbfe8 fix(input, textarea, select): use consistent sizes (#28390)
aIssue number: resolves #28388

---------

<!-- 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 added a `min-height: 56px` to the input, textarea, and select
components for MD mode. However, these were added for the outline/solid
style inputs to align with the Material Design spec:
https://material-components.github.io/material-components-web-catalog/#/component/text-field

They should not apply to regular inputs in an item. The end result is
inconsistently sized items when used with non-control items.

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

- Non-filled and non-stacked/floating label controls are now have a
minimum height of 44px.

There should be **no changes** to the following types of controls:

1. iOS controls (all variants)
2. MD filled controls
3. MD stacked controls

## 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.5.2-dev.11697818830.1a33c881`

---------

Co-authored-by: ionitron <hi@ionicframework.com>
2023-10-26 15:11:45 +00:00
Liam DeBeasi
dc94ae01fe test(alert): add annotations (#28414)
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. -->

I forgot to add annotations to tests to indicate the bug fix they are
validating: https://github.com/ionic-team/ionic-framework/pull/28408

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

- Added annotations

## 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-10-25 20:48:33 +00:00
Liam DeBeasi
8e2f818671 fix(segment): avoid scrolling webkit bug (#28376)
Issue number: resolves #28373

---------


🚨 Reviewers: Please test this on Chrome, Firefox, and Safari

<!-- 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 fix in
1167a9325f
uncovered a WebKit bug where scrolling an element using `scrollIntoView`
during an accelerated transition causes the segment to jump during the
transition. `scrollIntoView` can cause parent elements to also scroll,
and given that the entering view begins outside the viewport, it's
possible this triggered some sort of WebKit bug where it was trying to
scroll the element into view.

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

- Updated the internal implementation to use `scrollBy` instead of
`scrollIntoView`. `scrollBy` does not attempt to scroll parent elements
which avoids the WebKit issue.
- I also updated the initial scroll to be instant rather than smoothly
scroll. If a segment is added to the DOM, I'd expect it to be added with
the correct scroll position (after the first render that is), so
animating on load seemed like a strange behavior. User interaction will
continue to use smooth scrolling 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.5.2-dev.11697638908.1f04980a`
2023-10-25 18:00:22 +00:00
Maria Hutt
a4b303e133 fix(angular): run platform subscriptions inside zone (#28404)
Issue number: #19539 

---------

<!-- 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 app uses Capacitor, then the platform subscriptions will run
outside of the Angular Zone.

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

- The platform subscriptions will run inside of the Angular Zone
regardless if it uses Capacitor or not.

Added an extra `zone.run` within the event listener.

## 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: `npm install @ionic/angular@7.5.2-dev.11698187124.1b7ea660`
2023-10-25 16:55:38 +00:00
Liam DeBeasi
34257d681e fix(alert): long words wrap to next line (#28408)
Issue number: resolves #28406

---------

<!-- 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. -->

As part of https://github.com/ionic-team/ionic-framework/pull/27898 we
updated the radio and checkbox labels to wrap to the next line instead
of truncate. However, we did not consider long words. As a result, long
words run outside of the container.

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

- The radio and checkbox labels now break on words too in addition to
white space characters.

## 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-10-25 16:34:36 +00:00
Brandy Carney
d47b7e7503 fix(tab-bar): apply safe area to proper side regardless of direction (#28372)
Issue number: Internal

---------

## What is the current behavior?
The safe area padding (both left and right) swap sides when the app's
direction changes from LTR to RTL. The `--ion-safe-area-left` should
always apply to the left side of the device and the
`--ion-safe-area-right` should always apply to the right side of the
device.

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

- Updates the tab bar stylesheet to always set `padding-left` and
`padding-right`
- Adds an e2e test for the basic directory which adds screenshots in
both modes/directions for:
  - the default tab bar
  - a tab bar with safe area left applied
  - a tab bar with safe area right applied

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

---------

Co-authored-by: ionitron <hi@ionicframework.com>
2023-10-25 15:48:47 +00:00
Brandy Carney
f99d5305fb fix(list-header): apply safe area to proper side regardless of direction (#28371)
Issue number: Internal

---------

## What is the current behavior?
The list header adds padding to the "start" side (`padding-left` in LTR
and `padding-right` in RTL) based on the value of
`--ion-safe-area-left`. It does not account for `--ion-safe-area-right`
at all even though the list header can extend to the right side of the
content.

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

- The `--ion-safe-area-left` always applies to the left side of the
screen, regardless of direction. This means that in both LTR and RTL it
applies as `padding-left`.
- Added support for `--ion-safe-area-right` which applies to
`padding-right` in both LTR and RTL.
- Adds an e2e test which captures the list header with a button to
ensure the proper padding is added for the safe area.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information

### Safe Area Left

| mode | direction | `main` | `branch` |
| ---| ---| ---| ---|
| `ios` | `LTR` |
![ios-ltr-main](https://github.com/ionic-team/ionic-framework/assets/6577830/19d6e36d-3ba2-4b39-9a9a-dfd7d87cd8c8)
|
![ios-ltr-branch](https://github.com/ionic-team/ionic-framework/assets/6577830/5d0ae228-9dc8-4d37-98ba-c5b24b162c66)
|
| `ios` | `RTL` |
![ios-rtl-main](https://github.com/ionic-team/ionic-framework/assets/6577830/21e96613-0058-4d6a-a4d3-90262d8b4ae7)
|
![ios-rtl-branch](https://github.com/ionic-team/ionic-framework/assets/6577830/162ca34e-9c8d-4f9d-8cf7-6610730764f2)
|
| `md` | `LTR` |
![md-ltr-main](https://github.com/ionic-team/ionic-framework/assets/6577830/21bec027-d205-41bd-bc01-63a1efc6ed7d)
|
![md-ltr-branch](https://github.com/ionic-team/ionic-framework/assets/6577830/b5120f60-d63a-4e54-a26a-ade997a275fb)
|
| `md` | `RTL` |
![md-rtl-main](https://github.com/ionic-team/ionic-framework/assets/6577830/acef4350-08d1-4bd1-abf5-5b944c2c3711)
|
![md-rtl-branch](https://github.com/ionic-team/ionic-framework/assets/6577830/48099c25-1851-4ee5-9b87-56072889b477)
|

### Safe Area Right

| mode | direction | `main` | `branch` |
| ---| ---| ---| ---|
| `ios` | `LTR` |
![ios-ltr-main](https://github.com/ionic-team/ionic-framework/assets/6577830/ce01abb2-ab9b-4d86-a1e6-5a79a9dafb1d)
|![ios-ltr-branch](https://github.com/ionic-team/ionic-framework/assets/6577830/1c62aa51-e62c-412d-ab75-a0a69096298f)
|
| `ios` | `RTL` |
![ios-rtl-main](https://github.com/ionic-team/ionic-framework/assets/6577830/5a3670ed-8350-4039-b1e6-f44bc7da971c)
|
![ios-rtl-branch](https://github.com/ionic-team/ionic-framework/assets/6577830/1696c39c-dc5d-420c-9496-b6d1dc4308e7)
|
| `md` |`LTR` |
![md-ltr-main](https://github.com/ionic-team/ionic-framework/assets/6577830/8c50988c-ff10-4eed-9330-f9fafb2d9f48)
|
![md-ltr-branch](https://github.com/ionic-team/ionic-framework/assets/6577830/578f3c0d-a4fe-45f1-922f-a556f48c6379)
|
| `md` |`RTL` |
![md-rtl-main](https://github.com/ionic-team/ionic-framework/assets/6577830/2805db9e-a173-4e4a-a16c-876bec08f223)
|
![md-rtl-branch](https://github.com/ionic-team/ionic-framework/assets/6577830/14f2dca1-5af0-4ab1-b967-bd02d744b74c)
|

---------

Co-authored-by: ionitron <hi@ionicframework.com>
2023-10-25 14:45:11 +00:00
Liam DeBeasi
6e771e07d4 merge release-7.5.2
Release 7.5.2
2023-10-25 10:43:13 -04:00
ionitron
afa0e3c4d1 chore(): update package lock files 2023-10-25 14:13:03 +00:00
ionitron
7722ba05eb v7.5.2 v7.5.2 2023-10-25 14:12:43 +00:00