mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-18 03:00:58 +08:00
chore(): sync with main
This commit is contained in:
94
CHANGELOG.md
94
CHANGELOG.md
@ -1,3 +1,17 @@
|
|||||||
|
## [5.6.13](https://github.com/ionic-team/ionic/compare/v5.6.12...v5.6.13) (2021-08-04)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **checkbox, radio:** change event interfaces correctly use TypeScript generics for value ([#23044](https://github.com/ionic-team/ionic/issues/23044)) ([8a941fd](https://github.com/ionic-team/ionic/commit/8a941fd24cd138817a2e91c42898878a919538e4))
|
||||||
|
* **gesture:** onEnd now correctly fires even if the event target was removed from the DOM ([#23713](https://github.com/ionic-team/ionic/issues/23713)) ([4edb5e2](https://github.com/ionic-team/ionic/commit/4edb5e2fed55c8ea21eae50821d16d351bf3aebf)), closes [#22819](https://github.com/ionic-team/ionic/issues/22819)
|
||||||
|
* **item-sliding:** opening item while other items are open no longer requires multiple swipes ([#23683](https://github.com/ionic-team/ionic/issues/23683)) ([792864f](https://github.com/ionic-team/ionic/commit/792864f8ab21dc178c1836a8a0d4fe2d305cc142)), closes [#21579](https://github.com/ionic-team/ionic/issues/21579)
|
||||||
|
* **react:** IonTabs no longer causes SSR to fail ([#23696](https://github.com/ionic-team/ionic/issues/23696)) ([f2a05be](https://github.com/ionic-team/ionic/commit/f2a05bed1e2a1150e8f1823bfed2d12a219d6ad0)), closes [#23651](https://github.com/ionic-team/ionic/issues/23651)
|
||||||
|
* **vue:** improve accuracy of ion-page dev warning ([#23677](https://github.com/ionic-team/ionic/issues/23677)) ([fb260a9](https://github.com/ionic-team/ionic/commit/fb260a9e09e6f3912b30ef2ebf581d3216483fea)), closes [#23675](https://github.com/ionic-team/ionic/issues/23675)
|
||||||
|
* **vue:** tabs warning about user-provided router outlet change is now correctly logged ([#23724](https://github.com/ionic-team/ionic/issues/23724)) ([4a64e97](https://github.com/ionic-team/ionic/commit/4a64e97a3e390e365101bbb477acad0ddc4671ff)), closes [#23719](https://github.com/ionic-team/ionic/issues/23719)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [6.0.0-beta.2](https://github.com/ionic-team/ionic/compare/v5.6.12...v6.0.0-beta.2) (2021-07-21)
|
# [6.0.0-beta.2](https://github.com/ionic-team/ionic/compare/v5.6.12...v6.0.0-beta.2) (2021-07-21)
|
||||||
|
|
||||||
|
|
||||||
@ -26,6 +40,20 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [5.6.12](https://github.com/ionic-team/ionic/compare/v5.6.11...v5.6.12) (2021-07-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **action-sheet:** header, subheader, and icon alignment better matches native ios ([#23322](https://github.com/ionic-team/ionic/issues/23322)) ([39315bc](https://github.com/ionic-team/ionic/commit/39315bc857b850347dca386776665e21c9742cad)), closes [#23317](https://github.com/ionic-team/ionic/issues/23317)
|
||||||
|
* **button:** buttons are now disabled during page transitions ([#23589](https://github.com/ionic-team/ionic/issues/23589)) ([3b803eb](https://github.com/ionic-team/ionic/commit/3b803ebe024be3dbcf814a30a18df51ce23c8880)), closes [#23588](https://github.com/ionic-team/ionic/issues/23588)
|
||||||
|
* **item:** mirror disabled prop to aria attribute ([#23544](https://github.com/ionic-team/ionic/issues/23544)) ([9021e7c](https://github.com/ionic-team/ionic/commit/9021e7cc4b48a69ccc94faa7d2ddcb10a2afa340)), closes [#23513](https://github.com/ionic-team/ionic/issues/23513)
|
||||||
|
* **menu-button:** custom aria-label can now be set ([#23608](https://github.com/ionic-team/ionic/issues/23608)) ([c08345d](https://github.com/ionic-team/ionic/commit/c08345df2ee3175f3f0d11ff877c7b6f1a102321)), closes [#23604](https://github.com/ionic-team/ionic/issues/23604)
|
||||||
|
* **overlays:** overlay interfaces are now exported from framework packages and documented ([#23619](https://github.com/ionic-team/ionic/issues/23619)) ([773bbcb](https://github.com/ionic-team/ionic/commit/773bbcb211d3cf0caf38c25b44e666d98ddfafe5)), closes [#22790](https://github.com/ionic-team/ionic/issues/22790)
|
||||||
|
* **router-outlet:** improve reliability of swipe back gesture when quickly swiping back ([#23527](https://github.com/ionic-team/ionic/issues/23527)) ([fa06942](https://github.com/ionic-team/ionic/commit/fa069424b265891852a07869b6d086a1cb041e93)), closes [#22895](https://github.com/ionic-team/ionic/issues/22895)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [6.0.0-beta.1](https://github.com/ionic-team/ionic/compare/v5.6.11...v6.0.0-beta.1) (2021-07-01)
|
# [6.0.0-beta.1](https://github.com/ionic-team/ionic/compare/v5.6.11...v6.0.0-beta.1) (2021-07-01)
|
||||||
|
|
||||||
|
|
||||||
@ -54,6 +82,15 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [5.6.11](https://github.com/ionic-team/ionic/compare/v5.6.10...v5.6.11) (2021-07-01)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **animation:** typescript interface has correct return value for progress methods ([#23536](https://github.com/ionic-team/ionic/issues/23536)) ([f3d6abb](https://github.com/ionic-team/ionic/commit/f3d6abbc1beeafe3b5e7f473d70d0b8ef4c79bc8))
|
||||||
|
* **ios, md:** double tapping back button no longer causes app to go back 2 pages ([#23526](https://github.com/ionic-team/ionic/issues/23526)) ([69be51d](https://github.com/ionic-team/ionic/commit/69be51dc54e670b2f75cbfac28a4a09517dbf355)), closes [#18455](https://github.com/ionic-team/ionic/issues/18455)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [6.0.0-beta.0](https://github.com/ionic-team/ionic/compare/v5.6.10...v6.0.0-beta.0) (2021-06-23)
|
# [6.0.0-beta.0](https://github.com/ionic-team/ionic/compare/v5.6.10...v6.0.0-beta.0) (2021-06-23)
|
||||||
|
|
||||||
|
|
||||||
@ -112,63 +149,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [5.6.12](https://github.com/ionic-team/ionic/compare/v5.6.11...v5.6.12) (2021-07-21)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **action-sheet:** header, subheader, and icon alignment better matches native ios ([#23322](https://github.com/ionic-team/ionic/issues/23322)) ([39315bc](https://github.com/ionic-team/ionic/commit/39315bc857b850347dca386776665e21c9742cad)), closes [#23317](https://github.com/ionic-team/ionic/issues/23317)
|
|
||||||
* **button:** buttons are now disabled during page transitions ([#23589](https://github.com/ionic-team/ionic/issues/23589)) ([3b803eb](https://github.com/ionic-team/ionic/commit/3b803ebe024be3dbcf814a30a18df51ce23c8880)), closes [#23588](https://github.com/ionic-team/ionic/issues/23588)
|
|
||||||
* **item:** mirror disabled prop to aria attribute ([#23544](https://github.com/ionic-team/ionic/issues/23544)) ([9021e7c](https://github.com/ionic-team/ionic/commit/9021e7cc4b48a69ccc94faa7d2ddcb10a2afa340)), closes [#23513](https://github.com/ionic-team/ionic/issues/23513)
|
|
||||||
* **menu-button:** custom aria-label can now be set ([#23608](https://github.com/ionic-team/ionic/issues/23608)) ([c08345d](https://github.com/ionic-team/ionic/commit/c08345df2ee3175f3f0d11ff877c7b6f1a102321)), closes [#23604](https://github.com/ionic-team/ionic/issues/23604)
|
|
||||||
* **overlays:** overlay interfaces are now exported from framework packages and documented ([#23619](https://github.com/ionic-team/ionic/issues/23619)) ([773bbcb](https://github.com/ionic-team/ionic/commit/773bbcb211d3cf0caf38c25b44e666d98ddfafe5)), closes [#22790](https://github.com/ionic-team/ionic/issues/22790)
|
|
||||||
* **router-outlet:** improve reliability of swipe back gesture when quickly swiping back ([#23527](https://github.com/ionic-team/ionic/issues/23527)) ([fa06942](https://github.com/ionic-team/ionic/commit/fa069424b265891852a07869b6d086a1cb041e93)), closes [#22895](https://github.com/ionic-team/ionic/issues/22895)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [6.0.0-beta.1](https://github.com/ionic-team/ionic/compare/v6.0.0-beta.0...v6.0.0-beta.1) (2021-07-01)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **accordion:** improved reliability of accordion animations ([#23531](https://github.com/ionic-team/ionic/issues/23531)) ([6fbd60b](https://github.com/ionic-team/ionic/commit/6fbd60b0df56dc927226474a1ffa322d979c563e)), closes [#23504](https://github.com/ionic-team/ionic/issues/23504)
|
|
||||||
* **content:** add touch-action manipulation for zoom and pan ([#23534](https://github.com/ionic-team/ionic/issues/23534)) ([6ca1780](https://github.com/ionic-team/ionic/commit/6ca17805b8b1ea38d7fc16d091324da16a4193c6)), closes [#22805](https://github.com/ionic-team/ionic/issues/22805)
|
|
||||||
* **datetime:** scroll position no longer gets reset when using datetime in overlay ([#23543](https://github.com/ionic-team/ionic/issues/23543)) ([b735b58](https://github.com/ionic-team/ionic/commit/b735b587cda777ac481bb580c883d9734145f31e))
|
|
||||||
* **input, select, textarea:** change type of placeholder prop to string only ([#23500](https://github.com/ionic-team/ionic/issues/23500)) ([f3ae431](https://github.com/ionic-team/ionic/commit/f3ae4319bb64debab304973856a33e422ac910a1)), closes [#22976](https://github.com/ionic-team/ionic/issues/22976)
|
|
||||||
* **popover:** size property now works when providing only event ([#23532](https://github.com/ionic-team/ionic/issues/23532)) ([bdc1f23](https://github.com/ionic-team/ionic/commit/bdc1f2360d7795472cc242a86eb4376d05fa0bb7)), closes [#23528](https://github.com/ionic-team/ionic/issues/23528)
|
|
||||||
* **popover:** update animation to better match MD spec ([#23541](https://github.com/ionic-team/ionic/issues/23541)) ([bdb95b7](https://github.com/ionic-team/ionic/commit/bdb95b7b6dd798cbc6d1786ae54fa95ac1dfd096))
|
|
||||||
* **react:** export accordion and accordion group components ([#23497](https://github.com/ionic-team/ionic/issues/23497)) ([a664d42](https://github.com/ionic-team/ionic/commit/a664d4268dea8e84ab9e3b150043ac8f87fb53c7))
|
|
||||||
* **vue:** navigating between parameterized pages now results in page transition ([#23525](https://github.com/ionic-team/ionic/issues/23525)) ([e30b17c](https://github.com/ionic-team/ionic/commit/e30b17c5bbd1af6936a8d7a98d1f7a115073e029)), closes [#22662](https://github.com/ionic-team/ionic/issues/22662)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* **accordion-group:** add animated property to disable animations ([#23530](https://github.com/ionic-team/ionic/issues/23530)) ([9a60dd0](https://github.com/ionic-team/ionic/commit/9a60dd0ea7c55acf0fdd1161433e5b4ed40778f2))
|
|
||||||
* **action-sheet, alert:** add id to AlertButton and ActionSheetButton ([#18992](https://github.com/ionic-team/ionic/issues/18992)) ([9e24a0b](https://github.com/ionic-team/ionic/commit/9e24a0b49357a3a39ca89f026ff23271a365d935)), closes [#22959](https://github.com/ionic-team/ionic/issues/22959)
|
|
||||||
* **vue:** extend useIonRouter hook for programmatic navigation with animation control ([#23499](https://github.com/ionic-team/ionic/issues/23499)) ([fc9e1b4](https://github.com/ionic-team/ionic/commit/fc9e1b4b361938e5644683c395a565be2de1eab9)), closes [#23450](https://github.com/ionic-team/ionic/issues/23450)
|
|
||||||
|
|
||||||
|
|
||||||
### BREAKING CHANGES
|
|
||||||
|
|
||||||
> We recommend updating to the latest version of 5.x before trying out version 6 in order to see deprecation warnings related to your app in the developer console.
|
|
||||||
|
|
||||||
* **input, select, textarea:** Updated the `placeholder` property on `ion-input`, `ion-textarea`, and `ion-select` to have a type of `string | undefined`.
|
|
||||||
* **vue:** The `IonRouter` type for `useIonRouter` has been renamed to `UseIonRouterResult`, and the `IonKeyboardRef` type for `useKeyboard` has been renamed to `UseKeyboardResult`.
|
|
||||||
|
|
||||||
Please see the [BREAKING.md](./BREAKING.md#version-6x) file for a complete list of breaking changes in Framework v6.
|
|
||||||
|
|
||||||
Looking to test out the Framework v6 beta? Check out our [v6 Beta Getting Started Guide](./BETA.md).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [5.6.11](https://github.com/ionic-team/ionic/compare/v5.6.10...v5.6.11) (2021-07-01)
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **animation:** typescript interface has correct return value for progress methods ([#23536](https://github.com/ionic-team/ionic/issues/23536)) ([f3d6abb](https://github.com/ionic-team/ionic/commit/f3d6abbc1beeafe3b5e7f473d70d0b8ef4c79bc8))
|
|
||||||
* **ios, md:** double tapping back button no longer causes app to go back 2 pages ([#23526](https://github.com/ionic-team/ionic/issues/23526)) ([69be51d](https://github.com/ionic-team/ionic/commit/69be51dc54e670b2f75cbfac28a4a09517dbf355)), closes [#18455](https://github.com/ionic-team/ionic/issues/18455)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [6.0.0-beta.0](https://github.com/ionic-team/ionic/compare/v5.6.10...v6.0.0-beta.0) (2021-06-23)
|
# [6.0.0-beta.0](https://github.com/ionic-team/ionic/compare/v5.6.10...v6.0.0-beta.0) (2021-06-23)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
@ -110,6 +110,7 @@ export class Platform {
|
|||||||
* | Platform Name | Description |
|
* | Platform Name | Description |
|
||||||
* |-----------------|------------------------------------|
|
* |-----------------|------------------------------------|
|
||||||
* | android | on a device running Android. |
|
* | android | on a device running Android. |
|
||||||
|
* | capacitor | on a device running Capacitor. |
|
||||||
* | cordova | on a device running Cordova. |
|
* | cordova | on a device running Cordova. |
|
||||||
* | ios | on a device running iOS. |
|
* | ios | on a device running iOS. |
|
||||||
* | ipad | on an iPad device. |
|
* | ipad | on an iPad device. |
|
||||||
|
@ -284,7 +284,7 @@ ion-checkbox,prop,mode,"ios" | "md",undefined,false,false
|
|||||||
ion-checkbox,prop,name,string,this.inputId,false,false
|
ion-checkbox,prop,name,string,this.inputId,false,false
|
||||||
ion-checkbox,prop,value,string,'on',false,false
|
ion-checkbox,prop,value,string,'on',false,false
|
||||||
ion-checkbox,event,ionBlur,void,true
|
ion-checkbox,event,ionBlur,void,true
|
||||||
ion-checkbox,event,ionChange,CheckboxChangeEventDetail,true
|
ion-checkbox,event,ionChange,CheckboxChangeEventDetail<any>,true
|
||||||
ion-checkbox,event,ionFocus,void,true
|
ion-checkbox,event,ionFocus,void,true
|
||||||
ion-checkbox,css-prop,--background
|
ion-checkbox,css-prop,--background
|
||||||
ion-checkbox,css-prop,--background-checked
|
ion-checkbox,css-prop,--background-checked
|
||||||
@ -942,7 +942,7 @@ ion-radio-group,none
|
|||||||
ion-radio-group,prop,allowEmptySelection,boolean,false,false,false
|
ion-radio-group,prop,allowEmptySelection,boolean,false,false,false
|
||||||
ion-radio-group,prop,name,string,this.inputId,false,false
|
ion-radio-group,prop,name,string,this.inputId,false,false
|
||||||
ion-radio-group,prop,value,any,undefined,false,false
|
ion-radio-group,prop,value,any,undefined,false,false
|
||||||
ion-radio-group,event,ionChange,RadioGroupChangeEventDetail,true
|
ion-radio-group,event,ionChange,RadioGroupChangeEventDetail<any>,true
|
||||||
|
|
||||||
ion-range,shadow
|
ion-range,shadow
|
||||||
ion-range,prop,color,string | undefined,undefined,false,true
|
ion-range,prop,color,string | undefined,undefined,false,true
|
||||||
|
12
core/package-lock.json
generated
12
core/package-lock.json
generated
@ -5532,9 +5532,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ionicons": {
|
"node_modules/ionicons": {
|
||||||
"version": "5.5.1",
|
"version": "5.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.3.tgz",
|
||||||
"integrity": "sha512-1auVisfaXmkmxINer8Q3kJGHP1vSxk86hf7By95eJ+Av9+oBcNuAEBfSe3jaMaGRVxVw8U/2j23MFq7R3c0HPg==",
|
"integrity": "sha512-L71djrMi8pAad66tpwdnO1vwcyluCFvehzxU1PpH1k/HpYBZhZ5IaYhqXipmqUvu5aEbd4cbRguYyI5Fd4bxTw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@stencil/core": "^2.5.0"
|
"@stencil/core": "^2.5.0"
|
||||||
}
|
}
|
||||||
@ -18378,9 +18378,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ionicons": {
|
"ionicons": {
|
||||||
"version": "5.5.1",
|
"version": "5.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.3.tgz",
|
||||||
"integrity": "sha512-1auVisfaXmkmxINer8Q3kJGHP1vSxk86hf7By95eJ+Av9+oBcNuAEBfSe3jaMaGRVxVw8U/2j23MFq7R3c0HPg==",
|
"integrity": "sha512-L71djrMi8pAad66tpwdnO1vwcyluCFvehzxU1PpH1k/HpYBZhZ5IaYhqXipmqUvu5aEbd4cbRguYyI5Fd4bxTw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@stencil/core": "^2.5.0"
|
"@stencil/core": "^2.5.0"
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
export interface CheckboxChangeEventDetail {
|
export interface CheckboxChangeEventDetail<T = any> {
|
||||||
value: any;
|
value: T;
|
||||||
checked: boolean;
|
checked: boolean;
|
||||||
}
|
}
|
||||||
|
@ -272,9 +272,9 @@ export default defineComponent({
|
|||||||
## Events
|
## Events
|
||||||
|
|
||||||
| Event | Description | Type |
|
| Event | Description | Type |
|
||||||
| ----------- | ---------------------------------------------- | ---------------------------------------- |
|
| ----------- | ---------------------------------------------- | --------------------------------------------- |
|
||||||
| `ionBlur` | Emitted when the checkbox loses focus. | `CustomEvent<void>` |
|
| `ionBlur` | Emitted when the checkbox loses focus. | `CustomEvent<void>` |
|
||||||
| `ionChange` | Emitted when the checked property has changed. | `CustomEvent<CheckboxChangeEventDetail>` |
|
| `ionChange` | Emitted when the checked property has changed. | `CustomEvent<CheckboxChangeEventDetail<any>>` |
|
||||||
| `ionFocus` | Emitted when the checkbox has focus. | `CustomEvent<void>` |
|
| `ionFocus` | Emitted when the checkbox has focus. | `CustomEvent<void>` |
|
||||||
|
|
||||||
|
|
||||||
|
@ -247,7 +247,6 @@ export class ItemSliding implements ComponentInterface {
|
|||||||
const selected = openSlidingItem;
|
const selected = openSlidingItem;
|
||||||
if (selected && selected !== this.el) {
|
if (selected && selected !== this.el) {
|
||||||
this.closeOpened();
|
this.closeOpened();
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return !!(this.rightOptions || this.leftOptions);
|
return !!(this.rightOptions || this.leftOptions);
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
|
|
||||||
export interface RadioGroupChangeEventDetail {
|
export interface RadioGroupChangeEventDetail<T = any> {
|
||||||
value: any;
|
value: T;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface RadioChangeEventDetail {
|
export interface RadioChangeEventDetail<T = any> {
|
||||||
value: any;
|
value: T;
|
||||||
checked: boolean;
|
checked: boolean;
|
||||||
}
|
}
|
||||||
|
@ -230,8 +230,8 @@ export default defineComponent({
|
|||||||
## Events
|
## Events
|
||||||
|
|
||||||
| Event | Description | Type |
|
| Event | Description | Type |
|
||||||
| ----------- | ----------------------------------- | ------------------------------------------ |
|
| ----------- | ----------------------------------- | ----------------------------------------------- |
|
||||||
| `ionChange` | Emitted when the value has changed. | `CustomEvent<RadioGroupChangeEventDetail>` |
|
| `ionChange` | Emitted when the value has changed. | `CustomEvent<RadioGroupChangeEventDetail<any>>` |
|
||||||
|
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
@ -30,11 +30,21 @@ export const createPointerEvents = (
|
|||||||
if (!rmTouchMove && pointerMove) {
|
if (!rmTouchMove && pointerMove) {
|
||||||
rmTouchMove = addEventListener(el, 'touchmove', pointerMove, options);
|
rmTouchMove = addEventListener(el, 'touchmove', pointerMove, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Events are dispatched on the element that is tapped and bubble up to
|
||||||
|
* the reference element in the gesture. In the event that the element this
|
||||||
|
* event was first dispatched on is removed from the DOM, the event will no
|
||||||
|
* longer bubble up to our reference element. This leaves the gesture in an
|
||||||
|
* unusable state. To account for this, the touchend and touchcancel listeners
|
||||||
|
* should be added to the event target so that they still fire even if the target
|
||||||
|
* is removed from the DOM.
|
||||||
|
*/
|
||||||
if (!rmTouchEnd) {
|
if (!rmTouchEnd) {
|
||||||
rmTouchEnd = addEventListener(el, 'touchend', handleTouchEnd, options);
|
rmTouchEnd = addEventListener(ev.target, 'touchend', handleTouchEnd, options);
|
||||||
}
|
}
|
||||||
if (!rmTouchCancel) {
|
if (!rmTouchCancel) {
|
||||||
rmTouchCancel = addEventListener(el, 'touchcancel', handleTouchEnd, options);
|
rmTouchCancel = addEventListener(ev.target, 'touchcancel', handleTouchEnd, options);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3,18 +3,19 @@ import React, { Fragment } from 'react';
|
|||||||
|
|
||||||
import { NavContext } from '../../contexts/NavContext';
|
import { NavContext } from '../../contexts/NavContext';
|
||||||
import PageManager from '../../routing/PageManager';
|
import PageManager from '../../routing/PageManager';
|
||||||
|
import { HTMLElementSSR } from '../../utils/HTMLElementSSR';
|
||||||
import { IonRouterOutlet } from '../IonRouterOutlet';
|
import { IonRouterOutlet } from '../IonRouterOutlet';
|
||||||
|
|
||||||
import { IonTabBar } from './IonTabBar';
|
import { IonTabBar } from './IonTabBar';
|
||||||
import { IonTabsContext, IonTabsContextState } from './IonTabsContext';
|
import { IonTabsContext, IonTabsContextState } from './IonTabsContext';
|
||||||
|
|
||||||
class IonTabsElement extends HTMLElement {
|
class IonTabsElement extends HTMLElementSSR {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (window && window.customElements) {
|
if (typeof (window as any) !== 'undefined' && window.customElements) {
|
||||||
const element = customElements.get('ion-tabs');
|
const element = customElements.get('ion-tabs');
|
||||||
if (!element) {
|
if (!element) {
|
||||||
customElements.define('ion-tabs', IonTabsElement);
|
customElements.define('ion-tabs', IonTabsElement);
|
||||||
|
4
packages/react/src/utils/HTMLElementSSR.ts
Normal file
4
packages/react/src/utils/HTMLElementSSR.ts
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
export const HTMLElementSSR = (
|
||||||
|
typeof HTMLElement !== 'undefined'
|
||||||
|
? HTMLElement
|
||||||
|
: class {}) as typeof HTMLElement;
|
2
packages/vue-router/package-lock.json
generated
2
packages/vue-router/package-lock.json
generated
@ -7300,7 +7300,7 @@
|
|||||||
"domino": "^2.1.6",
|
"domino": "^2.1.6",
|
||||||
"execa": "^5.0.0",
|
"execa": "^5.0.0",
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"ionicons": "^5.5.1",
|
"ionicons": "^5.5.3",
|
||||||
"jest": "^26.4.1",
|
"jest": "^26.4.1",
|
||||||
"jest-cli": "^26.4.1",
|
"jest-cli": "^26.4.1",
|
||||||
"np": "^6.4.0",
|
"np": "^6.4.0",
|
||||||
|
@ -34,6 +34,35 @@ export const IonTabs = /*@__PURE__*/ defineComponent({
|
|||||||
}, routerOutlet)
|
}, routerOutlet)
|
||||||
];
|
];
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
if (!userProvidedRouterOutlet && !$data.didWarn) {
|
||||||
|
console.warn(`[@ionic/vue Deprecation] Starting in Ionic Vue v6.0, developers must add an 'ion-router-outlet' instance inside of 'ion-tabs'.
|
||||||
|
|
||||||
|
Before:
|
||||||
|
|
||||||
|
<ion-tabs>
|
||||||
|
<ion-tab-bar slot="bottom">
|
||||||
|
...
|
||||||
|
</ion-tab-bar>
|
||||||
|
</ion-tabs>
|
||||||
|
|
||||||
|
After:
|
||||||
|
|
||||||
|
<ion-tabs>
|
||||||
|
<ion-router-outlet></ion-router-outlet>
|
||||||
|
<ion-tab-bar slot="bottom">
|
||||||
|
...
|
||||||
|
</ion-tab-bar>
|
||||||
|
</ion-tabs>
|
||||||
|
|
||||||
|
Be sure to import 'IonRouterOutlet' from '@ionic/vue' and provide that import to your Vue component. See https://ionicframework.com/docs/vue/navigation#working-with-tabs for more information.
|
||||||
|
`);
|
||||||
|
|
||||||
|
$data.didWarn = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
>>>>>>> origin/main
|
||||||
/**
|
/**
|
||||||
* If ion-tab-bar has slot="top" it needs to be
|
* If ion-tab-bar has slot="top" it needs to be
|
||||||
* rendered before `.tabs-inner` otherwise it will
|
* rendered before `.tabs-inner` otherwise it will
|
||||||
|
Reference in New Issue
Block a user