976 Commits

Author SHA1 Message Date
a934e48315 Merge branch 'main' into chore/update-next-from-main 2025-08-04 18:56:38 -04: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
344a43feca feat(infinite-scroll): adding preserveRerenderScrollPosition property (#30566)
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, if you use infinite scroll and fully change out elements in
the DOM, you'll lose your scroll position. This can present as a race
condition in some frameworks, like React, but will present pretty
consistently in vanilla JavaScript. This happens because the browser is
removing the old elements from the DOM and adding the new ones, and
during that time the container holding the old elements will shrink and
the browser will adjust the top position to be the maximum of the new
container height.

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

With this new property (`preserveRerenderScrollPosition`) set, we will
loop through siblings of the infinite scroll and set their min-heights
to be their current heights before triggering the `ionInfinite` event,
then we clean up after complete is called by restoring their previous
min-heights or setting them to auto if there were none. This prevents
the container from resizing and the browser from losing the scroll
position.

## 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.6.6-dev.11753719591.13a5c65f
```
2025-07-30 10:23:00 -07: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
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
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
2a1addc190 feat(toast): add hue property for the ionic theme (#30333)
Issue number: internal

---------

## What is the current behavior?
The toast component does not support the `hue` property.

## What is the new behavior?
Adds support for the `subtle` hue for the toast. Defaults to `subtle`.

## Does this introduce a breaking change?
- [ ] Yes
- [x] No
2025-04-11 13:52:38 -04:00
52fba11db5 feat(item-option): add hue property for the ionic theme (#30332)
Issue number: internal

---------

## What is the current behavior?
The item option component does not support the `hue` property.

## What is the new behavior?
Adds support for the `subtle` hue for the item option. Defaults to
`subtle`.

## Does this introduce a breaking change?
- [ ] Yes
- [x] No
2025-04-11 13:39:14 -04:00
b31e0efcbf feat(chip): add hue property for the ionic theme (#30308)
Issue number: internal

---------

## What is the current behavior?
The chip component does not support the `hue` property.

## What is the new behavior?
Adds support for the `bold` and `subtle` hue for the chip. Defaults to
`subtle`.

## Does this introduce a breaking change?
- [ ] Yes
- [x] No
2025-04-11 13:19:32 -04:00
a9aa59bc36 feat(badge): add hue property for the ionic theme (#30307)
Issue number: internal

---------

## What is the current behavior?
The badge component does not support the `hue` property.

## What is the new behavior?
Adds support for the `subtle` hue for the badge. Defaults to `subtle`
when the badge contains icon or text. Defaults to `bold` when the badge
is empty or when it is inside of a button or tab button.

## Does this introduce a breaking change?
- [ ] Yes
- [x] No
2025-04-11 13:07:01 -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
43b707e022 Merge branch 'main' into bc/update-feature-8-6 2025-04-09 10:32:12 -04:00