2606 Commits

Author SHA1 Message Date
2229c24bf5 test(vue): improve test app (#30610)
Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
2025-08-08 17:37:39 +00:00
4c1d0127b6 chore(): update package lock files 2025-08-06 17:05:40 +00:00
7075808ba8 v8.7.2 2025-08-06 17:04:58 +00:00
dc764e45e9 test(react): general navigation improvement (#30602)
Issue number: resolves 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?

Manual navigation in the react tests is very finnicky

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

Improved react test navigation so it more consistently moves from page
to page if you're manually reviewing react tests. This was done mostly
by adding missing `ion-page` components, but also by adding an exact
match to the main component. They're still pretty shaky and not great,
but better than before.

## Does this introduce a breaking change?

- [ ] Yes
- [X] No

<!--
  If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
  2. Update the BREAKING.md file with the breaking change.
3. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer
for more information.
-->


## 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: Brandy Smith <brandyscarney@users.noreply.github.com>
Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
2025-08-05 17:11:52 +00:00
1cd81b9230 fix(reorder-group): add children fallback for framework compatibility (#30593)
Issue number: resolves #30592

---------

## What is the current behavior?
Reorder group is failing for Angular, React & Vue due to the change from
`children` to `__children`.

## What is the new behavior?
- Fallback to `children` if `__children` is undefined.
- Adds an e2e test for Angular (depends on
https://github.com/ionic-team/ionic-framework/pull/30594)
- Tasks have been created to migrate and add e2e tests for the other
frameworks

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information

Dev build: `8.7.2-dev.11754087334.1815cf22`

---------

Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
2025-08-05 14:27:18 +00:00
05026c5a48 test(angular): migrate to playwright (#30594)
- Migrates Angular test app tests from Cypress to Playwright
- Resolves test TODOs with Angular 18
- Resolves nav TODO by adding in standalone components
- Updates browserslist to remove warnings

---------

Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
2025-08-05 13:58:46 +00:00
a2e803a553 fix(tabs): add fallback to select tab if router integration fails (#30599)
Issue number: resolves #30552

---------

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

Something caused a timing shift in v8.6.0 that messed up the timing
required for react router to set the active tab ID. Currently, when the
router goes to set the tab ID, it's possibly too early and the tab may
not exist yet, causing it to go unset.

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

This PR is a workaround that allows tabs to check when they're rendered
if a tab should be selected as a fallback for the router not setting
them. I don't think the tabs, in the long run, should be responsible for
this, but I think this is a good intermediate step until the upcoming
react router upgrade, when we can look into a better solution for react
router that may require less timing precision.

This PR also adds regression tests for React to make sure this doesn't
happen again without getting noticed.

## Does this introduce a breaking change?

- [ ] Yes
- [X] No

<!--
  If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
  2. Update the BREAKING.md file with the breaking change.
3. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer
for more information.
-->


## Other information

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

**Current dev build:**
```
8.7.2-dev.11754338216.1a548096
```
2025-08-04 22:08:04 +00:00
8d39ea0c6e chore(): update package lock files 2025-07-31 15:56:19 +00:00
e4c042834c v8.7.1 2025-07-31 15:55:42 +00:00
227d637998 chore(): update package lock files 2025-07-30 21:05:52 +00:00
cbb4ad5683 v8.7.0 2025-07-30 21:05:10 +00:00
74cd71af24 feat(deps): update ionicons to v8 (#30390)
Issue number: resolves #30445

---------

Updates all packages to use the latest version of Ionicons v8

---------

Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
2025-07-30 16:45:20 -04:00
30d1910d6e feat(modal): add IonModalToken for injecting modal elements in Angular components (#30474)
Issue number: resolves #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. -->

Currently, we provide no injection access to angular modals, which makes
it difficult to connect to their events normally.

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

This is an attempt to allow easier programmatic access to the internals
of injected modals.

## Does this introduce a breaking change?

- [ ] Yes
- [X] No

<!--
  If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
  2. Update the BREAKING.md file with the breaking change.
3. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer
for more information.
-->


## 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: `8.6.2-dev.11749830167.1460aa73`
2025-07-30 16:43:02 -04:00
b154f4ed09 feat(reorder-group): add ionReorderStart, ionReorderMove, ionReorderEnd events (#30471)
Issue number: resolves #23148 resolves #27614

---------

The `ion-reorder-group` only emits an `ionItemReorder` event when the reorder gesture ends AND the item position has changed. There is no way to listen for when the gesture starts, is actively moving, or ends without the item changing position.

- Adds an `ionReorderStart` event that is fired without any details on the start of the gesture.
- Adds an `ionReorderMove` event that is fired continuously during gesture move and includes the `from` and `to` detail.
- Adds an `ionReorderEnd` event that is fired at the end of the gesture and always includes the `from` and `to` detail, even if they are the same.
- Deprecates the `ionItemReorder` event, recommending to use the `ionReorderEnd` instead.

- [ ] Yes
- [x] No

While this does not introduce a breaking change, it does deprecate the `ionItemReorder` event in favor of the `ionReorderEnd` event. This event behaves a bit differently since it is always emitted on end. If the `from` and `to` are the same, it will still emit them, so it's possible to check if they are the same to determine if `ionReorderEnd` fired without moving item positions.

----

Co-authored-by: sfinktah <sfinktah@github.spamtrak.org>
Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
2025-07-30 16:42:53 -04:00
ffcf5d0268 chore(): update package lock files 2025-07-30 20:15:16 +00:00
759147fab6 v8.6.7 2025-07-30 20:14:30 +00:00
baed34722b chore(): update package lock files 2025-07-30 18:12:14 +00:00
708d5845b9 v8.6.6 2025-07-30 18:11:38 +00:00
75df16286b chore(): update package lock files 2025-07-16 19:53:50 +00:00
5a3ad9c54a v8.6.5 2025-07-16 19:53:16 +00:00
be543c1b1e chore(): update package lock files 2025-07-09 20:16:22 +00:00
d2aa07f354 v8.6.4 2025-07-09 20:15:44 +00:00
ffdb2c17b1 chore(): update package lock files 2025-07-02 21:38:18 +00:00
a3c51e5e34 v8.6.3 2025-07-02 21:37:16 +00:00
08e3e7ab51 fix(angular): update schematics to support Angular's latest build system (#30525)
Issue number: resolves ionic-team/ionic-docs#2091

---------

## What is the current behavior?
Documentation to test `ng add` schematic for @ionic/angular is outdated
& it fails when running with:
```
Invalid projectType for my-app: undefined
```

## What is the new behavior?
Fix the schematic to support the latest Angular build system & update
the documentation for testing local Ionic Framework with `ng add`.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information

_I am using `Angular CLI: 20.0.4`_

Run these commands first to see the error: 
```sh
ng new my-app --style=css --ssr=false --zoneless=false
cd my-app
ng add @ionic/angular --skip-confirmation
```

Switch to this branch (`fix-angular-schematics`) and then follow the
[new
steps](b9b345303c/packages/angular/README.md (testing-local-ionic-framework-with-ng-add))
and confirm the error is gone.

--------

`Co-authored-by: soundproofboot <colinedwinbares@gmail.com>`

---------

Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
2025-07-02 15:23:43 +00:00
7b9f306d1f chore(angular): upgrade test apps to latest (#30517)
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. -->

Angular base has outdated files, which has lead to many duplicated files
within the versioned apps. Base files should always be the latest.

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

- Updated base files to the latest
- Removed duplicate files from the versioned apps since base will
provide them
- Added files to the older versioned apps since they no longer align
with the latest files with base

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!--
  If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
  2. Update the BREAKING.md file with the breaking change.
3. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer
for more information.
-->


## 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
2025-06-30 20:10:51 +00:00
bcc730c77b chore(angular): update typescript to support Angular 20 (#30516)
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. -->

Angular 20 test app is using an unsupported Typescript version.

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

Angular 20 only supports Typescript 5.8+. I forgot to update it in an
earlier [PR](https://github.com/ionic-team/ionic-framework/pull/30507).

- Upgraded TS to the proper version.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!--
  If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
  2. Update the BREAKING.md file with the breaking change.
3. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer
for more information.
-->


## 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
2025-06-27 20:45:18 +00:00
4b5753a4ce test(angular): add ng20 test app (#30507)
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. -->

There are tests apps for Angular 16, 17, 18, and 19 only. Angular 20 has
been released and should be included.

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

- Adds a test app for Angular 20

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!--
  If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
  2. Update the BREAKING.md file with the breaking change.
3. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer
for more information.
-->


## 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
2025-06-24 18:59:25 +00:00
bc36d44e9a chore(): update package lock files 2025-06-18 17:04:49 +00:00
0ea65fea6f v8.6.2 2025-06-18 17:03:32 +00:00
e27c14a00a chore(): update package lock files 2025-06-11 15:37:41 +00:00
446b64ef36 v8.6.1 2025-06-11 15:37:04 +00:00
fed4d62a0d chore(): update package lock files 2025-06-04 14:58:14 +00:00
3e76b8339e v8.6.0 2025-06-04 14:57:34 +00:00
6afcd530e6 Merge branch 'main' into chore/update-from-main 2025-06-04 10:33:07 -04:00
4e76bd3761 chore(): update package lock files 2025-06-04 13:46:14 +00:00
3b1a0eb00b v8.5.9 2025-06-04 13:45:35 +00:00
4d6a067677 feat(input-otp): add new input-otp component (#30386)
Adds a new component `ion-input-otp` which provides the OTP input functionality

- Displays as an input group with multiple boxes accepting a single character
- Accepts `type` which determines whether the boxes accept numbers or text/numbers and determines the keyboard to display
- Supports changing the displayed keyboard using the `inputmode` property
- Accepts a `length` property to control the number of input boxes
- Accepts the following properties to change the design: `fill`, `shape`, `size`, `color`
- Accepts a `separators` property to show a separator between 1 or more input boxes
- Supports the `disabled`, `readonly` and invalid states
- Supports limiting the accepted input via the `pattern` property
- Emits the following events: `ionInput`, `ionChange`, `ionComplete`, `ionBlur`, `ionFocus`
- Exposes the following method: `setFocus`

---------

Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
Co-authored-by: Shane <shane@shanessite.net>
2025-05-29 15:10:37 -04:00
b587ccde56 chore(): update package lock files 2025-05-28 18:16:34 +00:00
57f8666e44 v8.5.8 2025-05-28 18:15:54 +00:00
00beab4af8 chore(docs): remove redundant word in comment (#30415)
Issue number: N/A

---------

remove redundant word in comment

Signed-off-by: pengqiseven <912170095@qq.com>
2025-05-20 14:24:57 +00:00
54bc6cc54f chore(): update package lock files 2025-05-07 20:13:33 +00:00
af6b86597c v8.5.7 2025-05-07 20:12:41 +00:00
63074415e1 Merge branch 'main' into chore/merge-main 2025-05-01 10:11:18 -04:00
e6e6483ba7 chore(): update package lock files 2025-04-30 17:42:15 +00:00
fbbb5e3c0c v8.5.6 2025-04-30 17:41:34 +00:00
808c60c235 chore(deps): update stencil core (#30132)
We have shipped various of improvements to the Stencil project and
runtime. You can take a close look at our
[changelog](https://github.com/ionic-team/stencil/blob/main/CHANGELOG.md)
but since `v4.20.0` we mainly shipped improvements on the following
issues:

## Major Improvements:

- Enhanced Shadow DOM and hydration support
  - Improved client-side hydration for SSR
  - Better handling of shadow root styles and component hydration
  - More reliable serialization of Shadow DOM components

## Key Bug Fixes:

- Resolved performance issues due to detached nodes in memory
- Fixed several critical issues with scoped slots and component styling
- Improved handling of SVG class attributes and template tags
- Enhanced runtime decorator functionality
- Better handling of form-associated callbacks

## Technical Updates:

- Updated to TypeScript 5.5
- Added support for customizable Mermaid diagram colors in documentation

I don't see any critical changes that may impact Ionic users and feel
confident we can ship this.

## Dev Build

`8.5.4-dev.11744646756.1244bf71`

---------

Co-authored-by: Brandy Smith <brandyscarney@users.noreply.github.com>
2025-04-23 15:53:39 -07:00
4fc1366a25 chore(): update package lock files 2025-04-16 17:39:53 +00:00
c5c4d1d989 v8.5.5 2025-04-16 17:38:18 +00:00
51de007854 chore(): update package lock files 2025-04-09 13:28:43 -04:00