chore(): sync with main
4
.github/workflows/build.yml
vendored
@ -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.
|
||||
|
11
CHANGELOG.md
@ -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)
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
12
angular/package-lock.json
generated
@ -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",
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
// --------------------------------------------------
|
||||
|
@ -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,
|
||||
|
@ -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`
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 4.7 KiB |
@ -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>
|
||||
|
@ -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`
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 40 KiB |
@ -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>
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -27,8 +27,6 @@
|
||||
font-family: $font-family-base;
|
||||
font-size: 14px;
|
||||
|
||||
line-height: 1;
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
overflow: hidden;
|
||||
|
@ -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`);
|
||||
});
|
||||
});
|
||||
|
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 5.8 KiB |
@ -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');
|
||||
|
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 14 KiB |