Commit Graph

107 Commits

Author SHA1 Message Date
Shawn Taylor
4de215cccc chore(breaking): move v6 to separate file (#27157)
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- 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. -->
Breaking changes for v6 and v7 are in the same file


<!-- Issues are required for both bug fixes and features. -->


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

- Breaking changes for v6 are in their own file
- BREAKING.md only includes breaking changes for v7
- BREAKING.md links to breaking changes for v6


## 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-04-11 13:30:57 +00:00
Brandy Carney
6d851f19f8 chore(breaking): update utilities title in v7 breaking changes (#27043) 2023-03-30 15:34:54 -04:00
Liam DeBeasi
b7e46038e0 fix(many): innerHTML is disabled by default (#27029)
BREAKING CHANGE:

The `innerHTMLTemplatesEnabled` Ionic Config now defaults to `false`. Developers can set this option to `true` if they would like to continue to use custom HTML features in `ion-alert`, `ion-infinite-scroll-content`, `ion-loading`, `ion-refresher-content`, and `ion-toast`.
2023-03-27 12:07:00 -04:00
Liam DeBeasi
df3735765a fix(button): update for ios spec (#26864)
BREAKING CHANGE:

Button is updated to align with the design specification for iOS.

**Design tokens**

| Token                              | Previous Value | New Value |
| ---------------------------------- | -------------- | --------- |
| `$button-ios-letter-spacing`       | `-0.03em`      | `0`       |
| `$button-ios-clear-letter-spacing` | `0`            | Removed   |
| `$button-ios-height`               | `2.8em`        | `3.1em`   |
| `$button-ios-border-radius`        | `10px`         | `14px`    |
| `$button-ios-large-height`         | `2.8em`        | `3.1em`   |
| `$button-ios-large-border-radius`  | `12px`         | `16px`    |
2023-02-28 11:36:44 -05:00
Liam DeBeasi
865f8de9dc feat(searchbar): ionInput now emits value payload (#26831)
resolves #26828

BREAKING CHANGE:

The `detail` payload for the `ionInput` event now on `ion-searchbar` contains an object with the current `value` as well as the native event that triggered `ionInput`.
2023-02-23 12:15:43 -05:00
Sean Perkins
1dee16f3a2 feat(angular,angular-server): angular v14 minimum support (#26822)
BREAKING CHANGE:

Angular v14 is now required to use `@ionic/angular` and `@ionic/angular-server`. Upgrade your project to Angular v14 by following the [Angular v14 update guide](https://update.angular.io/?l=3&v=13.0-14.0).

The dev-preview `environmentInjector` property has been removed from `ion-tabs` and `ion-router-outlet`. Standalone component routing is now available without additional custom configuration. Remove the `environmentInjector` property from your `ion-tabs` and `ion-router-outlet` components.
2023-02-22 12:33:49 -05:00
Liam DeBeasi
799871e95d chore(): sync with main 2023-02-22 10:00:56 -05:00
Sean Perkins
9c95d370b8 chore: split breaking changes by major version (#26821) 2023-02-17 17:31:26 -05:00
Liam DeBeasi
92b06f2eb6 fix(range): assign auto increment id by default (#26740)
BREAKING CHANGE:

The `name` property on `ion-range` defaults to `ion-r-${rangeIds++}` where `rangeIds` is a number that is incremented for every instance of the component.
2023-02-06 16:37:39 -05:00
QliQ.dev
f98e5750b4 chore(BREAKING): code syntax formatting (#26735) 2023-02-05 23:38:47 -05:00
Liam DeBeasi
02640b5795 feat(select): component can be used outside ion-item (#26572) 2023-01-11 11:21:30 -05:00
Amanda Johnston
9d52e70361 feat(checkbox): component can be used outside ion-item (#26518) 2023-01-05 13:49:04 -06:00
Liam DeBeasi
96147ec1b0 fix(item): ios mode has correct padding (#26511) 2023-01-04 16:54:43 -05:00
Liam DeBeasi
bd4027b0fa refactor(config): remove stencil extras (#26461)
BREAKING CHANGE:

The supported version of Firefox for Ionic v7 has changed to Firefox v70+
2022-12-15 17:27:28 -05:00
Liam DeBeasi
6c82435025 fix(input, searchbar, select, textarea): placeholder has improved contrast (#26486)
BREAKING CHANGE:

The default value for the `--placeholder-opacity` CSS Variable on `ion-input`, `ion-searchbar`, `ion-select`, and `ion-textarea` has been updated to `0.6`.
2022-12-15 13:55:49 -05:00
Liam DeBeasi
0823c09d9c fix(select): chevron icon is now an ionicon (#26484)
BREAKING CHANGE:

The `icon` CSS Shadow Part for `ion-select` now targets an `ion-icon` component.
2022-12-14 14:26:16 -05:00
Sean Perkins
eea91bbbe1 fix(item): align iOS font size to spec (#26445) 2022-12-08 16:24:02 -05:00
Liam DeBeasi
1a840c43e9 fix(back-button): update style for ios spec (#26395)
resolves #26393
2022-12-02 09:21:32 -05:00
Liam DeBeasi
8eec1974da fix(datetime): haptics are enabled only on ios (#26370)
resolves #25508

BREAKING CHANGE:

The haptics when swiping the wheel picker are now enabled only on iOS.
2022-11-29 14:23:25 -05:00
Liam DeBeasi
c74901c973 feat(toggle): component can be used outside of ion-item (#26357)
resolves #25570, resolves #23213

BREAKING CHANGE:

The `--background` and `--background-checked` variables have been renamed to `--track-background` and `--track-background-checked`, respectively.
2022-11-29 12:54:31 -05:00
Liam DeBeasi
ce2e37b1a1 fix(angular): null values are not converted to falsy value (#26341)
BREAKING CHANGE:

Datetime:

Passing the empty string to the `value` property will now error as it is not a valid ISO-8601 value.

Angular:

`null` values on form components will no longer be converted to the empty string (`''`) or `false`. This impacts `ion-checkbox`, `ion-datetime`, `ion-input`, `ion-radio`, `ion-radio-group`, ion-range`, `ion-searchbar`, `ion-segment`, `ion-select`, `ion-textarea`, and `ion-toggle`.
2022-11-23 13:03:13 -05:00
Liam DeBeasi
1e855e7699 fix(action-sheet): container animates in correctly (#26347)
resolves #25368
2022-11-23 12:12:48 -05:00
Liam DeBeasi
0fbcc5b9a9 refactor(picker): remove refresh key (#26340)
BREAKING CHANGE:

The `refresh` key has been removed from the `PickerColumn` interface. Developers should use the `columns` property to refresh the `ion-picker` view.
2022-11-22 13:43:50 -05:00
Amanda Johnston
c45d05476b feat(input, textarea): change default debounce to undefined (#26073)
Co-authored-by: Sean Perkins <sean@ionic.io>
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2022-11-09 13:55:20 -06:00
Sean Perkins
c299d3666a feat(radio-group): ionChange will only emit from user committed changes (#26223) 2022-11-07 18:03:08 -05:00
Liam DeBeasi
eea6ba996c feat(input, textarea): ionInput and ionChange pass event and value (#26176)
BREAKING CHANGE:

The `detail` payload for the `ionInput` event on `ion-input` and `ion-textarea` now contains an object with the current `value` as well as the native event that triggered `ionInput`.
2022-11-01 12:30:58 -04:00
Liam DeBeasi
3fb4caf21f fix(datetime): do not report timezone in ionChange (#26183)
resolves #25577

BREAKING CHANGE:

Datetime no longer incorrectly reports the time zone when `value` is updated. Datetime does not manage time zones, so any time zone information provided is ignored.
2022-10-31 15:03:14 -04:00
Liam DeBeasi
322a1dbcd0 refactor(types): remove overlay attribute interfaces (#26181)
BREAKING CHANGE:

`ActionSheetAttributes`, `AlertAttributes`, `AlertTextareaAttributes`, `AlertInputAttributes`, `LoadingAttributes`, `ModalAttributes`, `PickerAttributes`, `PopoverAttributes`, and `ToastAttributes` have been removed. Developers should use `{ [key: string]: any }` instead.
2022-10-28 16:12:28 -04:00
Sean Perkins
d1fb7b039b feat(range): ionChange will only emit from user committed changes (#26089) 2022-10-24 16:13:48 -04:00
Brandy Carney
2080890c11 fix(card-header): reverse order of title and subtitle on ios (#26084)
BREAKING CHANGE:

- The card header has ben changed to a flex container with direction set to `column` (top to bottom). In `ios` mode the direction is set to `column-reverse` which results in the subtitle displaying on top of the title.
2022-10-19 17:33:28 -04:00
Liam DeBeasi
cc2af202a9 feat(datetime): ionChange will only emit from user committed changes (#26083)
resolves #20873 resolves #24452

BREAKING CHANGE

- `ionChange` is no longer emitted when the `value` property of `ion-datetime` is modified externally. `ionChange` is only emitted from user committed changes, such as clicking or tapping a date.

- Datetime no longer automatically adjusts the `value` property when passed an array and `multiple="false"`. Developers should update their apps to ensure they are using the API correctly.
2022-10-11 17:17:52 -04:00
Amanda Johnston
85d3bd99be feat(toggle): ionChange will only emit from user committed changes (#26078)
Co-authored-by: Sean Perkins <sean@ionic.io>
2022-10-10 09:55:58 -05:00
Liam DeBeasi
e2cbeeb8ac fix(accordion-group): do not adjust incorrect values (#26086)
BREAKING CHANGE:

Accordion Group no longer automatically adjusts the `value` property when passed an array and `multiple="false"`. Developers should update their apps to ensure they are using the API correctly.
2022-10-10 10:20:52 -04:00
Liam DeBeasi
34c4137868 feat(select): ionChange will only emit from user committed changes (#26066)
BREAKING CHANGE:

`ionChange` is no longer emitted when the `value` of `ion-select` is modified externally. `ionChange` is only emitted from user committed changes, such as confirming a selected option in the select's overlay.
2022-10-10 09:36:51 -04:00
Amanda Johnston
b052d3b262 feat(searchbar): ionChange will only emit from user committed changes (#26026) 2022-10-03 15:08:43 -05:00
Liam DeBeasi
c946af29d3 refactor(react): only ship es modules (#26044)
BREAKING CHANGE:

`@ionic/react` and `@ionic/react-router` no longer ship a CommonJS entry point. Instead, only an ES Module entry point is provided for improved compatibility with Vite.
2022-09-30 12:01:48 -04:00
Liam DeBeasi
86bbed07fc refactor(vue): only ship es modules (#26054)
resolves #25104

BREAKING CHANGE:

`@ionic/vue` and `@ionic/vue-router` no longer ship a CommonJS entry point. Instead, only an ES Module entry point is provided for improved compatibility with Vite.
2022-09-30 11:43:50 -04:00
Liam DeBeasi
1f3ddf2370 refactor(modal): remove swipeToClose in favor of canDismiss (#26050)
BREAKING CHANGE:

- The `swipeToClose` property has been removed in favor of `canDismiss`.
- The `canDismiss` property now defaults to `true` and can no longer be set to `undefined`.
2022-09-29 17:19:53 -04:00
Sean Perkins
68bae80a51 feat(textarea): ionChange will only emit from user committed changes (#25953) 2022-09-23 13:26:21 -04:00
Sean Perkins
a03c8afb3d feat(segment): ionChange will only emit from user committed changes (#25934) 2022-09-21 10:33:58 -04:00
Sean Perkins
35041b2f3c feat(input): debounce controls the timing to delay the ionInput event (#25969) 2022-09-20 13:10:50 -04:00
Liam DeBeasi
a6b2629ede feat(checkbox): ionChange fires on user interaction (#25923)
BREAKING CHANGE:

`ionChange` is no longer emitted when the `checked` property of `ion-checkbox` is modified externally. `ionChange` is only emitted from user committed changes, such as clicking or tapping the checkbox.
2022-09-13 16:27:34 -04:00
Liam DeBeasi
4eea9fa5c0 feat(accordion): ionChange will only emit from user committed changes (#25922)
BREAKING CHANGE:

`ionChange` is no longer emitted when the `value` of `ion-accordion-group` is modified externally. `ionChange` is only emitted from user committed changes, such as clicking or tapping the accordion header.
2022-09-13 14:33:49 -04:00
Sean Perkins
8732b7bdb7 feat(input): ionChange will only emit from user committed changes (#25858)
Resolves #20106, #20061
2022-09-12 15:35:43 -04:00
Sean Perkins
da05ffe462 fix(range): range matches iOS design specification (#25873)
Resolves #25872
2022-09-09 12:25:06 -04:00
Amanda Johnston
d478e03914 feat(slides): remove ion-slide, ion-slides, and IonicSwiper module (#25868) 2022-09-01 14:36:17 -05:00
Liam DeBeasi
f5a6b5a4c4 refactor(core): remove global hidden attribute (#25829)
resolves #17583

BREAKING CHANGE: 

The `[hidden]` attribute has been removed from Ionic's global stylesheet. The `[hidden]` attribute can continue to be used, but developers will get the [native `hidden` implementation](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden) instead. The main difference is that the native implementation is easier to override using `display` than Ionic's implementation.

Developers can add the following CSS to their global stylesheet if they need the old behavior:

```css
[hidden] {
  display: none !important;
}
```
2022-08-26 09:34:41 -04:00
Liam DeBeasi
9e611f5c03 docs(breaking): add note on platform support for v7 (#25823) 2022-08-25 16:45:36 -04:00
Sean Perkins
1eb6fd04d7 feat(virtual-scroll): remove virtual scroll component (#25808) 2022-08-24 15:42:12 -04:00
Liam DeBeasi
a1ec9aabd8 fix(overlays): dismiss on keydown to avoid chrome for windows and firefox bug (#25811)
resolves #25802

BREAKING CHANGE:

Ionic now listens on the `keydown` event instead of the `keyup` event when determining when to dismiss overlays via the "Escape" key. Any applications that were listening on `keyup` to suppress this behavior should listen on `keydown` instead.
2022-08-23 17:14:56 -04:00