mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-15 09:34:19 +08:00
feat(modal): remove capacitor 2 support for status bar styles (#29028)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Ionic Framework has fallback detection for Capacitor 2 applications to avoid applying status bar style changes to the card modal. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Ionic Framework's detection for applying status bar styles will be based on the APIs available in Capacitor 3+. - Ionic Framework will no longer support the legacy Capacitor 2 configurations. ## Does this introduce a breaking change? - [x] Yes - [ ] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> Developer should upgrade to the latest major release of Capacitor. ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. -->
This commit is contained in:
@ -21,6 +21,7 @@ This is a comprehensive list of the breaking changes introduced in the major ver
|
||||
- [Content](#version-8x-content)
|
||||
- [Datetime](#version-8x-datetime)
|
||||
- [Input](#version-8x-input)
|
||||
- [Modal](#version-8x-modal)
|
||||
- [Nav](#version-8x-nav)
|
||||
- [Picker](#version-8x-picker)
|
||||
- [Progress bar](#version-8x-progress-bar)
|
||||
@ -159,6 +160,10 @@ For more information on the dynamic font, refer to the [Dynamic Font Scaling doc
|
||||
- `accept` has been removed from the `ion-input` component. This was previously used in conjunction with the `type="file"`. However, the `file` value for `type` is not a valid value in Ionic Framework.
|
||||
- The `legacy` property and support for the legacy syntax, which involved placing an `ion-input` inside of an `ion-item` with an `ion-label`, have been removed. For more information on migrating from the legacy input syntax, refer to the [Input documentation](https://ionicframework.com/docs/api/input#migrating-from-legacy-input-syntax).
|
||||
|
||||
<h4 id="version-8x-modal">Modal</h4>
|
||||
|
||||
- Detection for Capacitor <= 2 with applying status bar styles has been removed. Developers should ensure they are using Capacitor 3 or later when using the card modal presentation.
|
||||
|
||||
<h4 id="version-8x-nav">Nav</h4>
|
||||
|
||||
- `getLength` returns `Promise<number>` instead of `<number>`. This method was not previously available in Nav's TypeScript interface, but developers could still access it by casting Nav as `any`. Developers should ensure they `await` their `getLength` call before accessing the returned value.
|
||||
|
@ -68,14 +68,9 @@ export const getBackdropValueForSheet = (x: number, backdropBreakpoint: number)
|
||||
* is not transformed, so we do not need to
|
||||
* adjust the status bar color.
|
||||
*
|
||||
* Note: We check supportsDefaultStatusBarStyle so that
|
||||
* Capacitor <= 2 users do not get their status bar
|
||||
* stuck in an inconsistent state due to a lack of
|
||||
* support for Style.Default.
|
||||
*/
|
||||
export const setCardStatusBarDark = () => {
|
||||
// TODO FW-4696 Remove supportDefaultStatusBarStyle in Ionic v8
|
||||
if (!win || win.innerWidth >= 768 || !StatusBar.supportsDefaultStatusBarStyle()) {
|
||||
if (!win || win.innerWidth >= 768) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -83,8 +78,7 @@ export const setCardStatusBarDark = () => {
|
||||
};
|
||||
|
||||
export const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
|
||||
// TODO FW-4696 Remove supportDefaultStatusBarStyle in Ionic v8
|
||||
if (!win || win.innerWidth >= 768 || !StatusBar.supportsDefaultStatusBarStyle()) {
|
||||
if (!win || win.innerWidth >= 768) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -21,17 +21,6 @@ export const StatusBar = {
|
||||
}
|
||||
return undefined;
|
||||
},
|
||||
// TODO FW-4696 Remove supportDefaultStatusBarStyle in Ionic v8
|
||||
supportsDefaultStatusBarStyle() {
|
||||
const capacitor = getCapacitor() as any;
|
||||
/**
|
||||
* The 'DEFAULT' status bar style was added
|
||||
* to the @capacitor/status-bar plugin in Capacitor 3.
|
||||
* PluginHeaders is only supported in Capacitor 3+,
|
||||
* so we can use this to detect Capacitor 3.
|
||||
*/
|
||||
return !!capacitor?.PluginHeaders;
|
||||
},
|
||||
setStyle(options: StyleOptions) {
|
||||
const engine = this.getEngine();
|
||||
if (!engine) {
|
||||
|
Reference in New Issue
Block a user