chore(): sync with main

This commit is contained in:
Liam DeBeasi
2023-02-08 09:44:42 -05:00
189 changed files with 288 additions and 311 deletions

View File

@ -44,10 +44,6 @@ jobs:
test-core-screenshot:
strategy:
# This ensures that all screenshot shard
# failures are reported so the dev can
# review everything at once.
fail-fast: false
matrix:
# Divide the tests into n buckets
# and run those buckets in parallel.

View File

@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [6.5.3](https://github.com/ionic-team/ionic-framework/compare/v6.5.2...v6.5.3) (2023-02-08)
### Bug Fixes
* **button:** size and strong are respected in ion-buttons ([#26726](https://github.com/ionic-team/ionic-framework/issues/26726)) ([3759125](https://github.com/ionic-team/ionic-framework/commit/37591255b4ab3dde5ece6950024a3b66e7224364))
* **chip:** descenders are not clipped in label ([#26729](https://github.com/ionic-team/ionic-framework/issues/26729)) ([a9e000b](https://github.com/ionic-team/ionic-framework/commit/a9e000b4338f75c27e9284dbe9a6501ba3b213bc)), closes [#18313](https://github.com/ionic-team/ionic-framework/issues/18313)
* **refresher:** prevent clearing virtual scroll overflow styling ([#26613](https://github.com/ionic-team/ionic-framework/issues/26613)) ([9d6ec29](https://github.com/ionic-team/ionic-framework/commit/9d6ec2925cb2314d5379b864aef467b34afbb318)), closes [#26553](https://github.com/ionic-team/ionic-framework/issues/26553)
# [7.0.0-beta.1](https://github.com/ionic-team/ionic-framework/compare/v7.0.0-beta.0...v7.0.0-beta.1) (2023-02-01)

View File

@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [6.5.3](https://github.com/ionic-team/ionic/compare/v6.5.2...v6.5.3) (2023-02-08)
**Note:** Version bump only for package @ionic/angular
# [7.0.0-beta.1](https://github.com/ionic-team/ionic/compare/v6.5.2...v7.0.0-beta.1) (2023-02-01)
@ -81,7 +87,6 @@ Angular:
## [6.5.2](https://github.com/ionic-team/ionic/compare/v6.5.1...v6.5.2) (2023-02-01)
### Bug Fixes

View File

@ -1006,9 +1006,15 @@
"license": "BSD-3-Clause"
},
"node_modules/@ionic/core": {
<<<<<<< HEAD
"version": "7.0.0-dev.11675196564.12c5f9a0",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.0-dev.11675196564.12c5f9a0.tgz",
"integrity": "sha512-KXVl0xPslPSisKjeWDVOojxteYyIQZdXxGgHN5N0zhovVEdqPrx2Na40QWzd0oyn5Jl3kAIdicOaCIyDyJ09Fw==",
=======
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.5.3.tgz",
"integrity": "sha512-z4slJZEw0PLet2htICKmCh76sN6kY28GSaYLDV1b4O/ya6qgu4QDwPkKbg22E8fiXBALlilce2zJQ55Tx5C6Aw==",
>>>>>>> origin/main
"dependencies": {
"@stencil/core": "^2.18.0",
"ionicons": "^6.1.1",
@ -7334,9 +7340,15 @@
"dev": true
},
"@ionic/core": {
<<<<<<< HEAD
"version": "7.0.0-dev.11675196564.12c5f9a0",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.0-dev.11675196564.12c5f9a0.tgz",
"integrity": "sha512-KXVl0xPslPSisKjeWDVOojxteYyIQZdXxGgHN5N0zhovVEdqPrx2Na40QWzd0oyn5Jl3kAIdicOaCIyDyJ09Fw==",
=======
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.5.3.tgz",
"integrity": "sha512-z4slJZEw0PLet2htICKmCh76sN6kY28GSaYLDV1b4O/ya6qgu4QDwPkKbg22E8fiXBALlilce2zJQ55Tx5C6Aw==",
>>>>>>> origin/main
"requires": {
"@stencil/core": "^2.18.0",
"ionicons": "^6.1.1",

View File

@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [6.5.3](https://github.com/ionic-team/ionic/compare/v6.5.2...v6.5.3) (2023-02-08)
* **button:** size and strong are respected in ion-buttons ([#26726](https://github.com/ionic-team/ionic/issues/26726)) ([3759125](https://github.com/ionic-team/ionic/commit/37591255b4ab3dde5ece6950024a3b66e7224364))
* **chip:** descenders are not clipped in label ([#26729](https://github.com/ionic-team/ionic/issues/26729)) ([a9e000b](https://github.com/ionic-team/ionic/commit/a9e000b4338f75c27e9284dbe9a6501ba3b213bc)), closes [#18313](https://github.com/ionic-team/ionic/issues/18313)
* **refresher:** prevent clearing virtual scroll overflow styling ([#26613](https://github.com/ionic-team/ionic/issues/26613)) ([9d6ec29](https://github.com/ionic-team/ionic/commit/9d6ec2925cb2314d5379b864aef467b34afbb318)), closes [#26553](https://github.com/ionic-team/ionic/issues/26553)
# [7.0.0-beta.1](https://github.com/ionic-team/ionic/compare/v6.5.2...v7.0.0-beta.1) (2023-02-01)
@ -19,130 +27,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
# [7.0.0-beta.0](https://github.com/ionic-team/ionic/compare/v6.5.1...v7.0.0-beta.0) (2023-01-25)
### Bug Fixes
* **accordion-group:** do not adjust incorrect values ([#26086](https://github.com/ionic-team/ionic/issues/26086)) ([e2cbeeb](https://github.com/ionic-team/ionic/commit/e2cbeeb8ace969d49e16ccdc496adc559e40b1f2))
* **action-sheet:** container animates in correctly ([#26347](https://github.com/ionic-team/ionic/issues/26347)) ([1e855e7](https://github.com/ionic-team/ionic/commit/1e855e7699a0b5c3792a9ef84e863df6fe552437)), closes [#25368](https://github.com/ionic-team/ionic/issues/25368)
* **angular:** inline overlays are exported ([#26333](https://github.com/ionic-team/ionic/issues/26333)) ([f23fb34](https://github.com/ionic-team/ionic/commit/f23fb342b279cd4646b432dd420b457f6c41ac12))
* **angular:** null values are not converted to falsy value ([#26341](https://github.com/ionic-team/ionic/issues/26341)) ([ce2e37b](https://github.com/ionic-team/ionic/commit/ce2e37b1a172722630953dcb9560f334048c5b72))
* **back-button:** update style for ios spec ([#26395](https://github.com/ionic-team/ionic/issues/26395)) ([1a840c4](https://github.com/ionic-team/ionic/commit/1a840c43e90a65a910877599f6a2d52ccc65db6b)), closes [#26393](https://github.com/ionic-team/ionic/issues/26393)
* **breadcrumb:** add aria-label to collapsed indicator ([#26615](https://github.com/ionic-team/ionic/issues/26615)) ([f8a2c79](https://github.com/ionic-team/ionic/commit/f8a2c7948894e82b1bc41fa45e1716bc733b087c))
* **card-header:** reverse order of title and subtitle on ios ([#26084](https://github.com/ionic-team/ionic/issues/26084)) ([2080890](https://github.com/ionic-team/ionic/commit/2080890c11539938dd96c0f2ed08785100112587))
* **datetime:** do not report timezone in ionChange ([#26183](https://github.com/ionic-team/ionic/issues/26183)) ([3fb4caf](https://github.com/ionic-team/ionic/commit/3fb4caf21ffac12f765c4c80bf1850e05d211c6a)), closes [#25577](https://github.com/ionic-team/ionic/issues/25577)
* **datetime:** haptics are enabled only on ios ([#26370](https://github.com/ionic-team/ionic/issues/26370)) ([8eec197](https://github.com/ionic-team/ionic/commit/8eec1974da3dd4820d29126f17d1e14b5132c9f4)), closes [#25508](https://github.com/ionic-team/ionic/issues/25508)
* **input, searchbar, select, textarea:** placeholder has improved contrast ([#26486](https://github.com/ionic-team/ionic/issues/26486)) ([6c82435](https://github.com/ionic-team/ionic/commit/6c824350257fce45ce3b8c166a864efe6789c505))
* **input, textarea:** inputs now scroll into view when tapping labels ([#25848](https://github.com/ionic-team/ionic/issues/25848)) ([cb265d6](https://github.com/ionic-team/ionic/commit/cb265d6cc6d4890608d2873a5726f5d7d37adae6))
* **input, textarea:** padding is now added to content so inputs scroll above keyboard ([#25849](https://github.com/ionic-team/ionic/issues/25849)) ([ba6b539](https://github.com/ionic-team/ionic/commit/ba6b5396754151d884fa276a7227facd28a431df)), closes [#18532](https://github.com/ionic-team/ionic/issues/18532)
* **input:** clearOnEdit clears input when user initially types ([#26005](https://github.com/ionic-team/ionic/issues/26005)) ([bf5e118](https://github.com/ionic-team/ionic/commit/bf5e1183135d1d56a7ba0f63723724521f9d51d0))
* **input:** highlight color does not apply to text ([#26352](https://github.com/ionic-team/ionic/issues/26352)) ([e6f2a1f](https://github.com/ionic-team/ionic/commit/e6f2a1f6a17df4c7718375d70afedcb42de4430c))
* **input:** label receives focus when floating or stacked ([#26574](https://github.com/ionic-team/ionic/issues/26574)) ([162c3f0](https://github.com/ionic-team/ionic/commit/162c3f076a06dd0e5f97d6647255d67e7f4f3416))
* **input:** min height is set on host ([#26495](https://github.com/ionic-team/ionic/issues/26495)) ([0cd6e91](https://github.com/ionic-team/ionic/commit/0cd6e918e83ff4c2cdc41e1e9da05fefe6ca5c84))
* **item:** align iOS font size to spec ([#26445](https://github.com/ionic-team/ionic/issues/26445)) ([eea91bb](https://github.com/ionic-team/ionic/commit/eea91bbbe1a4ccc4797742ee4e2c320dba6d9517))
* **item:** ios mode has correct padding ([#26511](https://github.com/ionic-team/ionic/issues/26511)) ([96147ec](https://github.com/ionic-team/ionic/commit/96147ec1b0fcfd31e48d450201fc32b58105dea7))
* **many:** component wrappers inherit height ([#26611](https://github.com/ionic-team/ionic/issues/26611)) ([e612253](https://github.com/ionic-team/ionic/commit/e612253fc6297b92855b44810cb7531917b9318e))
* **overlays:** dismiss on keydown to avoid chrome for windows and firefox bug ([#25811](https://github.com/ionic-team/ionic/issues/25811)) ([a1ec9aa](https://github.com/ionic-team/ionic/commit/a1ec9aabd806964206010000294b8781c516c4f3)), closes [#25802](https://github.com/ionic-team/ionic/issues/25802)
* **overlays:** triggerController warns about missing triggers ([#26651](https://github.com/ionic-team/ionic/issues/26651)) ([a7c2c55](https://github.com/ionic-team/ionic/commit/a7c2c555f34795a3a9349987141eef929ad88807))
* **range:** range matches iOS design specification ([#25873](https://github.com/ionic-team/ionic/issues/25873)) ([da05ffe](https://github.com/ionic-team/ionic/commit/da05ffe462b36ce6fd6cdaeb25cf0f8f4b0e7ef2)), closes [#25872](https://github.com/ionic-team/ionic/issues/25872)
* **segment:** click event triggers ionChange ([#26162](https://github.com/ionic-team/ionic/issues/26162)) ([70781e4](https://github.com/ionic-team/ionic/commit/70781e4c9f93e8e58917083da43536389ac5332e))
* **select:** chevron icon is now an ionicon ([#26484](https://github.com/ionic-team/ionic/issues/26484)) ([0823c09](https://github.com/ionic-team/ionic/commit/0823c09d9c5f4f07a847fecfd3d3c1915eeb1ddf))
* **select:** modern component takes up full line ([#26670](https://github.com/ionic-team/ionic/issues/26670)) ([4d24b32](https://github.com/ionic-team/ionic/commit/4d24b328e2021f0d14b278df7535c9bdb9851952))
* **textarea:** add correct state styles ([#26676](https://github.com/ionic-team/ionic/issues/26676)) ([1e1d3fb](https://github.com/ionic-team/ionic/commit/1e1d3fbddca3bb83233322d42979ae68b26c11a5))
* **textarea:** clearOnEdit clears textarea when user initially types ([#26006](https://github.com/ionic-team/ionic/issues/26006)) ([f7176bb](https://github.com/ionic-team/ionic/commit/f7176bbb44c230d6f20b023942c577236e676b02))
* **textarea:** render icon for clearing input ([3271ecf](https://github.com/ionic-team/ionic/commit/3271ecf1dec4f9baf238ea94e4047f2c26835b4b))
* **toggle:** emitStyles only fires with legacy control ([#26507](https://github.com/ionic-team/ionic/issues/26507)) ([ec9f8cd](https://github.com/ionic-team/ionic/commit/ec9f8cd5f1228e321b1c44aa0081c3c507278a8c))
### Code Refactoring
* **config:** remove stencil extras ([#26461](https://github.com/ionic-team/ionic/issues/26461)) ([bd4027b](https://github.com/ionic-team/ionic/commit/bd4027b0fa1494c58e4ab7c804acfa053c63113a))
* **core:** remove global hidden attribute ([#25829](https://github.com/ionic-team/ionic/issues/25829)) ([f5a6b5a](https://github.com/ionic-team/ionic/commit/f5a6b5a4c434167cafd9060911ccbfda2a89734c)), closes [#17583](https://github.com/ionic-team/ionic/issues/17583)
* **modal:** remove swipeToClose in favor of canDismiss ([#26050](https://github.com/ionic-team/ionic/issues/26050)) ([1f3ddf2](https://github.com/ionic-team/ionic/commit/1f3ddf2370c29f0fd2dd96aa9b3927ef96bdc5ae))
* **picker:** remove refresh key ([#26340](https://github.com/ionic-team/ionic/issues/26340)) ([0fbcc5b](https://github.com/ionic-team/ionic/commit/0fbcc5b9a97861dc31742db80b187d077a0d6750))
* **types:** remove overlay attribute interfaces ([#26181](https://github.com/ionic-team/ionic/issues/26181)) ([322a1db](https://github.com/ionic-team/ionic/commit/322a1dbcd00fc1f3db17fb9fb46ba91ba164acd3))
### Features
* **accordion:** ionChange will only emit from user committed changes ([#25922](https://github.com/ionic-team/ionic/issues/25922)) ([4eea9fa](https://github.com/ionic-team/ionic/commit/4eea9fa5c07d2a48bf5d224cd9b9e63453125b77))
* **action-sheet:** use action sheet overlay inline ([#26172](https://github.com/ionic-team/ionic/issues/26172)) ([92b763a](https://github.com/ionic-team/ionic/commit/92b763a538f1c935e10d90c3f4af1debf1cab2c3))
* **alert:** add ability to use alert inline ([#26316](https://github.com/ionic-team/ionic/issues/26316)) ([08c0a55](https://github.com/ionic-team/ionic/commit/08c0a5520a4f9be19d88644df26f4d38587985fa))
* **base-components:** add ability to remove ios and md theme ([#26669](https://github.com/ionic-team/ionic/issues/26669)) ([18f109c](https://github.com/ionic-team/ionic/commit/18f109c7dae97d4e74bee9b72a341aeafd95b222))
* **checkbox:** component can be used outside ion-item ([#26518](https://github.com/ionic-team/ionic/issues/26518)) ([9d52e70](https://github.com/ionic-team/ionic/commit/9d52e703610d0211667f0152e6c2b90ec6f13198))
* **checkbox:** ionChange fires on user interaction ([#25923](https://github.com/ionic-team/ionic/issues/25923)) ([a6b2629](https://github.com/ionic-team/ionic/commit/a6b2629ede9f2b0e16343b9afabf68eb53cacc17))
* **datetime:** ionChange will only emit from user committed changes ([#26083](https://github.com/ionic-team/ionic/issues/26083)) ([cc2af20](https://github.com/ionic-team/ionic/commit/cc2af202a95c049c9dd11ffd50c0dec3c84bf3c0)), closes [#20873](https://github.com/ionic-team/ionic/issues/20873) [#24452](https://github.com/ionic-team/ionic/issues/24452)
* **input, textarea:** change default debounce to undefined ([#26073](https://github.com/ionic-team/ionic/issues/26073)) ([c45d054](https://github.com/ionic-team/ionic/commit/c45d05476b34648b59dc8d407a8a1c9f8bd4f409))
* **input, textarea:** ionInput and ionChange pass event and value ([#26176](https://github.com/ionic-team/ionic/issues/26176)) ([eea6ba9](https://github.com/ionic-team/ionic/commit/eea6ba996ce0f71546f5a14109d0d279400a27e5))
* **input, toggle:** add escape hatch property ([#26416](https://github.com/ionic-team/ionic/issues/26416)) ([1278a29](https://github.com/ionic-team/ionic/commit/1278a292f37a27533b07b78f1be6d266b37976c7))
* **input:** component can be used outside of ion-item ([#26283](https://github.com/ionic-team/ionic/issues/26283)) ([44472ae](https://github.com/ionic-team/ionic/commit/44472aeb9f12585d7b5d40b5721d4281b66b5004)), closes [#20153](https://github.com/ionic-team/ionic/issues/20153) [#19084](https://github.com/ionic-team/ionic/issues/19084) [#22736](https://github.com/ionic-team/ionic/issues/22736)
* **input:** debounce controls the timing to delay the ionInput event ([#25969](https://github.com/ionic-team/ionic/issues/25969)) ([35041b2](https://github.com/ionic-team/ionic/commit/35041b2f3c99135d292500a662b889bdaaec6876))
* **input:** ionChange will only emit from user committed changes ([#25858](https://github.com/ionic-team/ionic/issues/25858)) ([8732b7b](https://github.com/ionic-team/ionic/commit/8732b7bdb76320d5eeba1121ac5f5eefa343526f)), closes [#20106](https://github.com/ionic-team/ionic/issues/20106) [#20061](https://github.com/ionic-team/ionic/issues/20061)
* **loading:** use loading overlay inline ([#26153](https://github.com/ionic-team/ionic/issues/26153)) ([34ca337](https://github.com/ionic-team/ionic/commit/34ca337b8af27b144fb44428c8ed8cf07fc79bfc))
* **picker:** add ability to use picker inline ([#26336](https://github.com/ionic-team/ionic/issues/26336)) ([c0a8501](https://github.com/ionic-team/ionic/commit/c0a85016572956149ed4f01109f11154d7b5cb57))
* **radio-group:** ionChange will only emit from user committed changes ([#26223](https://github.com/ionic-team/ionic/issues/26223)) ([c299d36](https://github.com/ionic-team/ionic/commit/c299d3666aae96d0e67ce4d2c70efbe95bee81da))
* **radio:** component can be used outside of ion-item ([#26582](https://github.com/ionic-team/ionic/issues/26582)) ([9761b0a](https://github.com/ionic-team/ionic/commit/9761b0a092e50ac4cc9176b6bcd5b9d29a5b22b3))
* **range:** component can be used outside of ion-item ([#26479](https://github.com/ionic-team/ionic/issues/26479)) ([49baad8](https://github.com/ionic-team/ionic/commit/49baad8ee6cfe7e26068f4c9954d4a59d343b339))
* **range:** ionChange will only emit from user committed changes ([#26089](https://github.com/ionic-team/ionic/issues/26089)) ([d1fb7b0](https://github.com/ionic-team/ionic/commit/d1fb7b039b8e11e9d9ede850f90b977a46b52de8))
* **searchbar:** ionChange will only emit from user committed changes ([#26026](https://github.com/ionic-team/ionic/issues/26026)) ([b052d3b](https://github.com/ionic-team/ionic/commit/b052d3b2622b795cde102591f0191338e15b14a0))
* **segment:** ionChange will only emit from user committed changes ([#25934](https://github.com/ionic-team/ionic/issues/25934)) ([a03c8af](https://github.com/ionic-team/ionic/commit/a03c8afb3dc4e6672beae680c61c89477478f28b))
* **select:** component can be used outside ion-item ([#26572](https://github.com/ionic-team/ionic/issues/26572)) ([02640b5](https://github.com/ionic-team/ionic/commit/02640b5795c4fb8a46f0cdc8903f2a08abfa9135))
* **select:** ionChange will only emit from user committed changes ([#26066](https://github.com/ionic-team/ionic/issues/26066)) ([34c4137](https://github.com/ionic-team/ionic/commit/34c41378682a202d4fab11aad171df7f55f4c243))
* **slides:** remove ion-slide, ion-slides, and IonicSwiper module ([#25868](https://github.com/ionic-team/ionic/issues/25868)) ([d478e03](https://github.com/ionic-team/ionic/commit/d478e03914fed15766c893738d6386d7623d066d))
* **textarea:** component can be used outside of ion-item ([#26674](https://github.com/ionic-team/ionic/issues/26674)) ([8d3edd0](https://github.com/ionic-team/ionic/commit/8d3edd049dfdb2a781d80da810a5bee3b490b7b6))
* **textarea:** ionChange will only emit from user committed changes ([#25953](https://github.com/ionic-team/ionic/issues/25953)) ([68bae80](https://github.com/ionic-team/ionic/commit/68bae80a51dae70c4cd7e598c1f2eabb025f173e))
* **toast:** add ability to use toast inline ([#26215](https://github.com/ionic-team/ionic/issues/26215)) ([003de44](https://github.com/ionic-team/ionic/commit/003de44d9283d23ecfdf1ab5fada2b7a372a4ca9))
* **toggle:** component can be used outside of ion-item ([#26357](https://github.com/ionic-team/ionic/issues/26357)) ([c74901c](https://github.com/ionic-team/ionic/commit/c74901c973c153ce1954646ef7944f7db193ea28)), closes [#25570](https://github.com/ionic-team/ionic/issues/25570) [#23213](https://github.com/ionic-team/ionic/issues/23213)
* **toggle:** ionChange will only emit from user committed changes ([#26078](https://github.com/ionic-team/ionic/issues/26078)) ([85d3bd9](https://github.com/ionic-team/ionic/commit/85d3bd99be3ae0f33a480e256381f7125f3389fd))
* **virtual-scroll:** remove virtual scroll component ([#25808](https://github.com/ionic-team/ionic/issues/25808)) ([1eb6fd0](https://github.com/ionic-team/ionic/commit/1eb6fd04d7f8c7ccd7dac08d085dc90d9f6283cc))
### Performance Improvements
* **item:** remove delegatesFocus patch for iOS 13 ([#25822](https://github.com/ionic-team/ionic/issues/25822)) ([ee3467c](https://github.com/ionic-team/ionic/commit/ee3467c9f1aa415ff6bda19e460b5c3482b94efc))
* **many:** reduce delay when performing overlay or page transitions ([#26189](https://github.com/ionic-team/ionic/issues/26189)) ([30e3a14](https://github.com/ionic-team/ionic/commit/30e3a1485d9bc94b31c297bdd05fa847b4bcfb56)), closes [#24346](https://github.com/ionic-team/ionic/issues/24346)
### BREAKING CHANGES
* **config:** The supported version of Firefox for Ionic v7 has changed to Firefox v70+
* **input, searchbar, select, textarea:** 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`.
* **select:** The `icon` CSS Shadow Part for `ion-select` now targets an `ion-icon` component.
* **datetime:** The haptics when swiping the wheel picker are now enabled only on iOS.
* **toggle:** The `--background` and `--background-checked` variables have been renamed to `--track-background` and `--track-background-checked`, respectively.
* **angular:** 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`.
* **picker:** The `refresh` key has been removed from the `PickerColumn` interface. Developers should use the `columns` property to refresh the `ion-picker` view.
* **input, textarea:** 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`.
* **datetime:** 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.
* **types:** `ActionSheetAttributes`, `AlertAttributes`, `AlertTextareaAttributes`, `AlertInputAttributes`, `LoadingAttributes`, `ModalAttributes`, `PickerAttributes`, `PopoverAttributes`, and `ToastAttributes` have been removed. Developers should use `{ [key: string]: any }` instead.
* **card-header:** - 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.
* **accordion-group:** 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.
* **select:** `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.
* **modal:** - 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`.
* **checkbox:** `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.
* **accordion:** `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.
* **core:** 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;
}
```
* **overlays:** 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.
## [6.5.2](https://github.com/ionic-team/ionic/compare/v6.5.1...v6.5.2) (2023-02-01)

View File

@ -1,5 +1,6 @@
@import "./button";
@import "./button.ios.vars";
@import "../toolbar/toolbar.ios.vars";
// iOS Button
@ -23,6 +24,20 @@
letter-spacing: #{$button-ios-letter-spacing};
}
/**
* The default buttons in a toolbar
* have a different font size/weight
* than buttons outside of a toolbar on iOS.
* However, we still want the "size"/"strong"
* properties to be usable in a toolbar, so we add
* the .in-buttons selector such that we
* can add the different font size/weight in a toolbar
* but still let "size"/"strong" override it.
*/
:host(.in-buttons) {
font-size: #{$toolbar-ios-button-font-size};
font-weight: 400;
}
// iOS Solid Button
// --------------------------------------------------

View File

@ -294,6 +294,7 @@ export class Button implements ComponentInterface, AnchorInterface, ButtonInterf
[`${buttonType}-strong`]: strong,
'in-toolbar': hostContext('ion-toolbar', this.el),
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
'in-buttons': hostContext('ion-buttons', this.el),
'button-has-icon-only': hasIconOnly,
'button-disabled': disabled,
'ion-activatable': true,

View File

@ -2,11 +2,53 @@ import { expect } from '@playwright/test';
import { test } from '@utils/test/playwright';
test.describe('button: size', () => {
test('should not have visual regressions', async ({ page }) => {
await page.goto(`/src/components/button/test/size`);
test.beforeEach(({ skip }) => {
skip.rtl();
});
test('should render small buttons', async ({ page }) => {
await page.setContent(`
<ion-button size="small" fill="solid">Small Button</ion-button>
`);
await page.setIonViewport();
const wrapper = page.locator('ion-button');
expect(await page.screenshot()).toMatchSnapshot(`button-size-${page.getSnapshotSettings()}.png`);
expect(await wrapper.screenshot()).toMatchSnapshot(`button-size-small-${page.getSnapshotSettings()}.png`);
});
test('should render large buttons', async ({ page }) => {
await page.setContent(`
<ion-button size="large" fill="solid">Large Button</ion-button>
`);
const wrapper = page.locator('ion-button');
expect(await wrapper.screenshot()).toMatchSnapshot(`button-size-large-${page.getSnapshotSettings()}.png`);
});
test.describe('in ion-buttons', () => {
test('should render small button', async ({ page }) => {
await page.setContent(`
<ion-buttons>
<ion-button size="small" fill="solid">Small Button</ion-button>
</ion-buttons>
`);
const wrapper = page.locator('ion-button');
expect(await wrapper.screenshot()).toMatchSnapshot(
`button-size-small-in-buttons-${page.getSnapshotSettings()}.png`
);
});
test('should render large button', async ({ page }) => {
await page.setContent(`
<ion-buttons>
<ion-button size="large" fill="solid">Large Button</ion-button>
</ion-buttons>
`);
const wrapper = page.locator('ion-button');
expect(await wrapper.screenshot()).toMatchSnapshot(
`button-size-large-in-buttons-${page.getSnapshotSettings()}.png`
);
});
});
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -18,6 +18,11 @@
<ion-app>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-button fill="solid">Default Button</ion-button>
<ion-button fill="solid" size="small">Small Button</ion-button>
<ion-button fill="solid" size="large">Large Button</ion-button>
</ion-buttons>
<ion-title>Button - Size</ion-title>
</ion-toolbar>
</ion-header>

View File

@ -1,12 +1,57 @@
import { expect } from '@playwright/test';
import { test } from '@utils/test/playwright';
/**
* Clear buttons have special font-weight
* styles which is why we make sure
* to capture the clear button here.
*/
test.describe('button: strong', () => {
test('should not have visual regressions', async ({ page }) => {
await page.goto(`/src/components/button/test/strong`);
test.beforeEach(({ skip }) => {
skip.rtl();
});
test('should render strong button', async ({ page }) => {
await page.setContent(`
<ion-button fill="solid" strong="true">Button</ion-button>
`);
await page.setIonViewport();
const wrapper = page.locator('ion-button');
expect(await page.screenshot()).toMatchSnapshot(`button-strong-${page.getSnapshotSettings()}.png`);
expect(await wrapper.screenshot()).toMatchSnapshot(`button-strong-${page.getSnapshotSettings()}.png`);
});
test('should render strong clear button', async ({ page }) => {
await page.setContent(`
<ion-button fill="clear" strong="true">Button</ion-button>
`);
const wrapper = page.locator('ion-button');
expect(await wrapper.screenshot()).toMatchSnapshot(`button-clear-strong-${page.getSnapshotSettings()}.png`);
});
test.describe('in ion-buttons', () => {
test('should render strong button', async ({ page }) => {
await page.setContent(`
<ion-buttons>
<ion-button strong="true" fill="solid">Button</ion-button>
</ion-buttons>
`);
const wrapper = page.locator('ion-button');
expect(await wrapper.screenshot()).toMatchSnapshot(`button-strong-in-buttons-${page.getSnapshotSettings()}.png`);
});
test('should render strong clear button', async ({ page }) => {
await page.setContent(`
<ion-buttons>
<ion-button strong="true" fill="clear">Button</ion-button>
</ion-buttons>
`);
const wrapper = page.locator('ion-button');
expect(await wrapper.screenshot()).toMatchSnapshot(
`button-clear-strong-in-buttons-${page.getSnapshotSettings()}.png`
);
});
});
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -18,6 +18,11 @@
<ion-app>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-button fill="solid" strong="true">Solid Button</ion-button>
<ion-button fill="outline" strong="true">Outline Button</ion-button>
<ion-button fill="clear" strong="true">Clear Button</ion-button>
</ion-buttons>
<ion-title>Button - Strong</ion-title>
</ion-toolbar>
</ion-header>

View File

@ -12,9 +12,6 @@
@include margin-horizontal(2px, 2px);
height: 32px;
font-size: #{$toolbar-ios-button-font-size};
font-weight: 400;
}
::slotted(*) ion-button:not(.button-round) {

View File

@ -14,9 +14,6 @@
@include margin-horizontal(2px, 2px);
height: 32px;
font-size: #{$toolbar-md-button-font-size};
font-weight: 500;
}
::slotted(*) ion-button:not(.button-round) {

View File

@ -27,8 +27,6 @@
font-family: $font-family-base;
font-size: 14px;
line-height: 1;
cursor: pointer;
overflow: hidden;

View File

@ -9,4 +9,28 @@ test.describe('chip: rendering', () => {
expect(await page.screenshot()).toMatchSnapshot(`chip-basic-${page.getSnapshotSettings()}.png`);
});
test('should not clip descenders in item', async ({ page, skip }) => {
skip.rtl();
skip.mode('md');
test.info().annotations.push({
type: 'issue',
description: 'https://github.com/ionic-team/ionic-framework/issues/18313',
});
await page.setContent(`
<ion-list>
<ion-item>
<ion-chip>
<ion-label>Agreements</ion-label>
</ion-chip>
</ion-item>
</ion-list>
`);
const chip = page.locator('ion-chip');
expect(await chip.screenshot()).toMatchSnapshot(`chip-descender-${page.getSnapshotSettings()}.png`);
});
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -27,23 +27,6 @@ test.describe('datetime: locale', () => {
});
});
test.describe('ta-IN', () => {
test('should not have visual regressions', async () => {
await datetimeFixture.goto('ta-IN', 'date');
await datetimeFixture.expectLocalizedDatePicker();
});
test('month/year picker should not have visual regressions', async () => {
await datetimeFixture.goto('ta-IN', 'month-year');
await datetimeFixture.expectLocalizedMonthYearPicker();
});
test('time picker should not have visual regressions', async () => {
await datetimeFixture.goto('ta-IN', 'time');
await datetimeFixture.expectLocalizedTimePicker();
});
});
test.describe('ja-JP', () => {
test('should not have visual regressions', async () => {
await datetimeFixture.goto('ja-JP', 'date');

Some files were not shown because too many files have changed in this diff Show More