843 Commits

Author SHA1 Message Date
a934e48315 Merge branch 'main' into chore/update-next-from-main 2025-08-04 18:56:38 -04: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
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
fef3016d13 Merge branch 'main' into chore/merge-main 2025-07-17 13:39:50 -04: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
7981fe3f9a chore(merge): merging main into next 2025-07-09 14:05:38 -07: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
c16397ed5a Merge branch 'main' into chore/update-from-main 2025-07-07 09:46:55 -04: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
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
a723ad327c chore: sync with main 2025-06-11 11:05:09 -07: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
345bd53831 Merge branch 'main' into chore/update-next-from-main 2025-06-04 16:58:30 -04: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
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
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
56be987881 Merge branch 'main' into merge-main-into-next 2025-04-11 15:33:29 -04:00
fd4ffdd9d1 chore(): update package lock files 2025-04-09 17:23:20 +00:00
d1974894a9 v8.5.4 2025-04-09 17:22:30 +00:00
3213bf40c7 chore(): update package lock files 2025-04-02 15:51:12 +00:00
28e29c38b4 v8.5.3 2025-04-02 15:50:34 +00:00
ca51d64557 chore(): update package lock files 2025-03-26 21:34:31 +00:00
4fb15feb0c v8.5.2 2025-03-26 21:33:58 +00:00
c37eaabae9 feat(divider): add new ion-divider component (#30270)
Issue number: internal
---------

## What is the new behavior?
- Introduces a new component, `ion-divider` which has two props,
`spacing` and `inset`.
- Adds e2e tests to both `spacing` and `inset` props

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information
- As discussed with the PO, using this new component inside an
`ion-item` is out of scope , for now.

---------

Co-authored-by: Brandy Smith <brandyscarney@users.noreply.github.com>
Co-authored-by: Gonçalo M. <goncalo.martins@outsystems.com>
Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com>
2025-03-25 09:04:19 +00:00