@capacitor/status-bar 1.0.6 → 4.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/CapacitorStatusBar.podspec +1 -1
- package/README.md +5 -5
- package/android/build.gradle +12 -11
- package/android/src/main/java/com/capacitorjs/plugins/statusbar/StatusBar.java +47 -26
- package/android/src/main/java/com/capacitorjs/plugins/statusbar/StatusBarPlugin.java +2 -1
- package/dist/docs.json +1 -1
- package/dist/esm/definitions.d.ts +1 -2
- package/dist/esm/definitions.js +1 -2
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/plugin.cjs.js +1 -2
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +1 -2
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/StatusBarPlugin.swift +8 -20
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,56 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 4.0.0-beta.0 (2022-06-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **status-bar:** Use Locale.ROOT on toUpperCase ([#814](https://github.com/ionic-team/capacitor-plugins/issues/814)) ([bf804ce](https://github.com/ionic-team/capacitor-plugins/commit/bf804ceaa5b7ee94ddeff052511db7c6ee49b4e6))
|
|
12
|
+
* add es2017 lib to tsconfig ([#180](https://github.com/ionic-team/capacitor-plugins/issues/180)) ([2c3776c](https://github.com/ionic-team/capacitor-plugins/commit/2c3776c38ca025c5ee965dec10ccf1cdb6c02e2f))
|
|
13
|
+
* correct addListeners links ([#655](https://github.com/ionic-team/capacitor-plugins/issues/655)) ([f9871e7](https://github.com/ionic-team/capacitor-plugins/commit/f9871e7bd53478addb21155e148829f550c0e457))
|
|
14
|
+
* inline source code in esm map files ([#760](https://github.com/ionic-team/capacitor-plugins/issues/760)) ([a960489](https://github.com/ionic-team/capacitor-plugins/commit/a960489a19db0182b90d187a50deff9dfbe51038))
|
|
15
|
+
* Migrate plugins from Color.parseColor() to WebColor.parseColor() ([#140](https://github.com/ionic-team/capacitor-plugins/issues/140)) ([26625cf](https://github.com/ionic-team/capacitor-plugins/commit/26625cfefe45b8d1f17ce27efbc8b04f23e99d93))
|
|
16
|
+
* remove postpublish scripts ([#656](https://github.com/ionic-team/capacitor-plugins/issues/656)) ([ed6ac49](https://github.com/ionic-team/capacitor-plugins/commit/ed6ac499ebf4a47525071ccbfc36c27503e11f60))
|
|
17
|
+
* support deprecated types from Capacitor 2 ([#139](https://github.com/ionic-team/capacitor-plugins/issues/139)) ([2d7127a](https://github.com/ionic-team/capacitor-plugins/commit/2d7127a488e26f0287951921a6db47c49d817336))
|
|
18
|
+
* **status-bar:** remove deprecate warnings ([#120](https://github.com/ionic-team/capacitor-plugins/issues/120)) ([5dcfb25](https://github.com/ionic-team/capacitor-plugins/commit/5dcfb25b7307e631873fc66523ffccd206e07875))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* add commonjs output format ([#179](https://github.com/ionic-team/capacitor-plugins/issues/179)) ([8e9e098](https://github.com/ionic-team/capacitor-plugins/commit/8e9e09862064b3f6771d7facbc4008e995d9b463))
|
|
24
|
+
* set targetSDK default value to 31 ([#824](https://github.com/ionic-team/capacitor-plugins/issues/824)) ([3ee10de](https://github.com/ionic-team/capacitor-plugins/commit/3ee10de98067984c1a4e75295d001c5a895c47f4))
|
|
25
|
+
* set targetSDK default value to 32 ([#970](https://github.com/ionic-team/capacitor-plugins/issues/970)) ([fa70d96](https://github.com/ionic-team/capacitor-plugins/commit/fa70d96f141af751aae53ceb5642c46b204f5958))
|
|
26
|
+
* Status Bar plugin ([#58](https://github.com/ionic-team/capacitor-plugins/issues/58)) ([9a04a5d](https://github.com/ionic-team/capacitor-plugins/commit/9a04a5daa16a283383afba58acde1d11d81378ec))
|
|
27
|
+
* Upgrade gradle to 7.4 ([#826](https://github.com/ionic-team/capacitor-plugins/issues/826)) ([5db0906](https://github.com/ionic-team/capacitor-plugins/commit/5db0906f6264287c4f8e69dbaecf19d4d387824b))
|
|
28
|
+
* Use java 11 ([#910](https://github.com/ionic-team/capacitor-plugins/issues/910)) ([5acb2a2](https://github.com/ionic-team/capacitor-plugins/commit/5acb2a288a413492b163e4e97da46a085d9e4be0))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## [1.0.8](https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/status-bar@1.0.7...@capacitor/status-bar@1.0.8) (2022-02-10)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Bug Fixes
|
|
38
|
+
|
|
39
|
+
* **status-bar:** Use Locale.ROOT on toUpperCase ([#814](https://github.com/ionic-team/capacitor-plugins/issues/814)) ([bf804ce](https://github.com/ionic-team/capacitor-plugins/commit/bf804ceaa5b7ee94ddeff052511db7c6ee49b4e6))
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
## [1.0.7](https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/status-bar@1.0.6...@capacitor/status-bar@1.0.7) (2022-01-19)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Bug Fixes
|
|
49
|
+
|
|
50
|
+
* inline source code in esm map files ([#760](https://github.com/ionic-team/capacitor-plugins/issues/760)) ([a960489](https://github.com/ionic-team/capacitor-plugins/commit/a960489a19db0182b90d187a50deff9dfbe51038))
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
6
56
|
## [1.0.6](https://github.com/ionic-team/capacitor-plugins/compare/@capacitor/status-bar@1.0.5...@capacitor/status-bar@1.0.6) (2021-11-03)
|
|
7
57
|
|
|
8
58
|
**Note:** Version bump only for package @capacitor/status-bar
|
|
@@ -11,7 +11,7 @@ Pod::Spec.new do |s|
|
|
|
11
11
|
s.author = package['author']
|
|
12
12
|
s.source = { :git => 'https://github.com/ionic-team/capacitor-plugins.git', :tag => package['name'] + '@' + package['version'] }
|
|
13
13
|
s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}', 'status-bar/ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}'
|
|
14
|
-
s.ios.deployment_target = '
|
|
14
|
+
s.ios.deployment_target = '13.0'
|
|
15
15
|
s.dependency 'Capacitor'
|
|
16
16
|
s.swift_version = '5.1'
|
|
17
17
|
end
|
package/README.md
CHANGED
|
@@ -222,11 +222,11 @@ This method is only supported on Android.
|
|
|
222
222
|
|
|
223
223
|
#### Style
|
|
224
224
|
|
|
225
|
-
| Members | Value | Description
|
|
226
|
-
| ------------- | ---------------------- |
|
|
227
|
-
| **`Dark`** | <code>'DARK'</code> | Light text for dark backgrounds.
|
|
228
|
-
| **`Light`** | <code>'LIGHT'</code> | Dark text for light backgrounds.
|
|
229
|
-
| **`Default`** | <code>'DEFAULT'</code> |
|
|
225
|
+
| Members | Value | Description | Since |
|
|
226
|
+
| ------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----- |
|
|
227
|
+
| **`Dark`** | <code>'DARK'</code> | Light text for dark backgrounds. | 1.0.0 |
|
|
228
|
+
| **`Light`** | <code>'LIGHT'</code> | Dark text for light backgrounds. | 1.0.0 |
|
|
229
|
+
| **`Default`** | <code>'DEFAULT'</code> | The style is based on the device appearance. If the device is using Dark mode, the statusbar text will be light. If the device is using Light mode, the statusbar text will be dark. On Android the default will be the one the app was launched with. | 1.0.0 |
|
|
230
230
|
|
|
231
231
|
|
|
232
232
|
#### Animation
|
package/android/build.gradle
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
ext {
|
|
2
|
-
junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.13.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.13.2'
|
|
3
|
+
androidxCoreVersion = project.hasProperty('androidxCoreVersion') ? rootProject.ext.androidxCoreVersion : '1.8.0'
|
|
4
|
+
androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.4.2'
|
|
5
|
+
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.3'
|
|
6
|
+
androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.4.0'
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
buildscript {
|
|
@@ -11,17 +12,17 @@ buildscript {
|
|
|
11
12
|
mavenCentral()
|
|
12
13
|
}
|
|
13
14
|
dependencies {
|
|
14
|
-
classpath 'com.android.tools.build:gradle:
|
|
15
|
+
classpath 'com.android.tools.build:gradle:7.2.1'
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
apply plugin: 'com.android.library'
|
|
19
20
|
|
|
20
21
|
android {
|
|
21
|
-
compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion :
|
|
22
|
+
compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 32
|
|
22
23
|
defaultConfig {
|
|
23
|
-
minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion :
|
|
24
|
-
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion :
|
|
24
|
+
minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 22
|
|
25
|
+
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 32
|
|
25
26
|
versionCode 1
|
|
26
27
|
versionName "1.0"
|
|
27
28
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
@@ -36,14 +37,13 @@ android {
|
|
|
36
37
|
abortOnError false
|
|
37
38
|
}
|
|
38
39
|
compileOptions {
|
|
39
|
-
sourceCompatibility JavaVersion.
|
|
40
|
-
targetCompatibility JavaVersion.
|
|
40
|
+
sourceCompatibility JavaVersion.VERSION_11
|
|
41
|
+
targetCompatibility JavaVersion.VERSION_11
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
repositories {
|
|
45
46
|
google()
|
|
46
|
-
jcenter()
|
|
47
47
|
mavenCentral()
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -51,6 +51,7 @@ repositories {
|
|
|
51
51
|
dependencies {
|
|
52
52
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
53
53
|
implementation project(':capacitor-android')
|
|
54
|
+
implementation "androidx.core:core:$androidxCoreVersion"
|
|
54
55
|
implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
|
|
55
56
|
testImplementation "junit:junit:$junitVersion"
|
|
56
57
|
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
|
|
@@ -5,9 +5,14 @@ import android.view.View;
|
|
|
5
5
|
import android.view.Window;
|
|
6
6
|
import android.view.WindowManager;
|
|
7
7
|
import androidx.appcompat.app.AppCompatActivity;
|
|
8
|
+
import androidx.core.view.ViewCompat;
|
|
9
|
+
import androidx.core.view.WindowInsetsCompat;
|
|
10
|
+
import androidx.core.view.WindowInsetsControllerCompat;
|
|
11
|
+
import com.getcapacitor.Logger;
|
|
8
12
|
|
|
9
13
|
public class StatusBar {
|
|
10
14
|
|
|
15
|
+
private final String logTag = "Capacitor-StatusBar";
|
|
11
16
|
private int currentStatusbarColor;
|
|
12
17
|
private AppCompatActivity activity;
|
|
13
18
|
private String defaultStyle;
|
|
@@ -23,17 +28,19 @@ public class StatusBar {
|
|
|
23
28
|
Window window = activity.getWindow();
|
|
24
29
|
View decorView = window.getDecorView();
|
|
25
30
|
|
|
26
|
-
int visibilityFlags = decorView.getSystemUiVisibility();
|
|
27
31
|
if (style.equals("DEFAULT")) {
|
|
28
32
|
style = this.defaultStyle;
|
|
29
33
|
}
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
|
|
35
|
+
WindowInsetsControllerCompat windowInsetsControllerCompat = ViewCompat.getWindowInsetsController(decorView);
|
|
36
|
+
if (windowInsetsControllerCompat != null) {
|
|
37
|
+
windowInsetsControllerCompat.setAppearanceLightStatusBars(!style.equals("DARK"));
|
|
32
38
|
} else {
|
|
33
|
-
|
|
39
|
+
Logger.warn(logTag, "Could not get a WindowInsetsControllerCompat instance. Can not set status bar style.");
|
|
34
40
|
}
|
|
35
41
|
}
|
|
36
42
|
|
|
43
|
+
@SuppressWarnings("deprecation")
|
|
37
44
|
public void setBackgroundColor(int color) {
|
|
38
45
|
Window window = activity.getWindow();
|
|
39
46
|
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
|
|
@@ -45,33 +52,36 @@ public class StatusBar {
|
|
|
45
52
|
|
|
46
53
|
public void hide() {
|
|
47
54
|
View decorView = activity.getWindow().getDecorView();
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
55
|
+
WindowInsetsControllerCompat windowInsetsControllerCompat = ViewCompat.getWindowInsetsController(decorView);
|
|
56
|
+
if (windowInsetsControllerCompat != null) {
|
|
57
|
+
windowInsetsControllerCompat.hide(WindowInsetsCompat.Type.statusBars());
|
|
58
|
+
} else {
|
|
59
|
+
Logger.warn(logTag, "Could not get a WindowInsetsControllerCompat instance. Can not hide the status bar.");
|
|
60
|
+
}
|
|
52
61
|
}
|
|
53
62
|
|
|
54
63
|
public void show() {
|
|
55
64
|
View decorView = activity.getWindow().getDecorView();
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
WindowInsetsControllerCompat windowInsetsControllerCompat = ViewCompat.getWindowInsetsController(decorView);
|
|
66
|
+
if (windowInsetsControllerCompat != null) {
|
|
67
|
+
windowInsetsControllerCompat.show(WindowInsetsCompat.Type.statusBars());
|
|
68
|
+
} else {
|
|
69
|
+
Logger.warn(logTag, "Could not get a WindowInsetsControllerCompat instance. Can not show the status bar.");
|
|
70
|
+
}
|
|
60
71
|
}
|
|
61
72
|
|
|
73
|
+
@SuppressWarnings("deprecation")
|
|
62
74
|
public void setOverlaysWebView(Boolean overlays) {
|
|
75
|
+
View decorView = activity.getWindow().getDecorView();
|
|
76
|
+
int uiOptions = decorView.getSystemUiVisibility();
|
|
63
77
|
if (overlays) {
|
|
64
78
|
// Sets the layout to a fullscreen one that does not hide the actual status bar, so the webview is displayed behind it.
|
|
65
|
-
View decorView = activity.getWindow().getDecorView();
|
|
66
|
-
int uiOptions = decorView.getSystemUiVisibility();
|
|
67
79
|
uiOptions = uiOptions | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
|
|
68
80
|
decorView.setSystemUiVisibility(uiOptions);
|
|
69
81
|
currentStatusbarColor = activity.getWindow().getStatusBarColor();
|
|
70
82
|
activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
|
|
71
83
|
} else {
|
|
72
84
|
// Sets the layout to a normal one that displays the webview below the status bar.
|
|
73
|
-
View decorView = activity.getWindow().getDecorView();
|
|
74
|
-
int uiOptions = decorView.getSystemUiVisibility();
|
|
75
85
|
uiOptions = uiOptions & ~View.SYSTEM_UI_FLAG_LAYOUT_STABLE & ~View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
|
|
76
86
|
decorView.setSystemUiVisibility(uiOptions);
|
|
77
87
|
// recover the previous color of the status bar
|
|
@@ -79,27 +89,38 @@ public class StatusBar {
|
|
|
79
89
|
}
|
|
80
90
|
}
|
|
81
91
|
|
|
92
|
+
@SuppressWarnings("deprecation")
|
|
93
|
+
private boolean getIsOverlayed() {
|
|
94
|
+
return (
|
|
95
|
+
(activity.getWindow().getDecorView().getSystemUiVisibility() & View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN) ==
|
|
96
|
+
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
|
|
82
100
|
public StatusBarInfo getInfo() {
|
|
83
101
|
Window window = activity.getWindow();
|
|
84
|
-
|
|
102
|
+
WindowInsetsCompat windowInsetsCompat = ViewCompat.getRootWindowInsets(window.getDecorView());
|
|
103
|
+
boolean isVisible = windowInsetsCompat != null && windowInsetsCompat.isVisible(WindowInsetsCompat.Type.statusBars());
|
|
85
104
|
StatusBarInfo info = new StatusBarInfo();
|
|
86
105
|
info.setStyle(getStyle());
|
|
87
|
-
info.setOverlays(
|
|
88
|
-
|
|
89
|
-
);
|
|
90
|
-
info.setVisible((decorView.getSystemUiVisibility() & View.SYSTEM_UI_FLAG_FULLSCREEN) != View.SYSTEM_UI_FLAG_FULLSCREEN);
|
|
106
|
+
info.setOverlays(getIsOverlayed());
|
|
107
|
+
info.setVisible(isVisible);
|
|
91
108
|
info.setColor(String.format("#%06X", (0xFFFFFF & window.getStatusBarColor())));
|
|
92
|
-
|
|
93
109
|
return info;
|
|
94
110
|
}
|
|
95
111
|
|
|
96
112
|
private String getStyle() {
|
|
97
113
|
View decorView = activity.getWindow().getDecorView();
|
|
98
|
-
String style;
|
|
99
|
-
|
|
100
|
-
|
|
114
|
+
String style = "DARK";
|
|
115
|
+
WindowInsetsControllerCompat windowInsetsControllerCompat = ViewCompat.getWindowInsetsController(decorView);
|
|
116
|
+
if (windowInsetsControllerCompat != null) {
|
|
117
|
+
if (windowInsetsControllerCompat.isAppearanceLightStatusBars()) {
|
|
118
|
+
style = "LIGHT";
|
|
119
|
+
} else {
|
|
120
|
+
style = "DARK";
|
|
121
|
+
}
|
|
101
122
|
} else {
|
|
102
|
-
|
|
123
|
+
Logger.warn(logTag, "Could not get a WindowInsetsControllerCompat instance. Can not get the status bar appearance.");
|
|
103
124
|
}
|
|
104
125
|
return style;
|
|
105
126
|
}
|
|
@@ -6,6 +6,7 @@ import com.getcapacitor.PluginCall;
|
|
|
6
6
|
import com.getcapacitor.PluginMethod;
|
|
7
7
|
import com.getcapacitor.annotation.CapacitorPlugin;
|
|
8
8
|
import com.getcapacitor.util.WebColor;
|
|
9
|
+
import java.util.Locale;
|
|
9
10
|
|
|
10
11
|
@CapacitorPlugin(name = "StatusBar")
|
|
11
12
|
public class StatusBarPlugin extends Plugin {
|
|
@@ -46,7 +47,7 @@ public class StatusBarPlugin extends Plugin {
|
|
|
46
47
|
.executeOnMainThread(
|
|
47
48
|
() -> {
|
|
48
49
|
try {
|
|
49
|
-
final int parsedColor = WebColor.parseColor(color.toUpperCase());
|
|
50
|
+
final int parsedColor = WebColor.parseColor(color.toUpperCase(Locale.ROOT));
|
|
50
51
|
implementation.setBackgroundColor(parsedColor);
|
|
51
52
|
call.resolve();
|
|
52
53
|
} catch (IllegalArgumentException ex) {
|
package/dist/docs.json
CHANGED
|
@@ -325,7 +325,7 @@
|
|
|
325
325
|
"name": "since"
|
|
326
326
|
}
|
|
327
327
|
],
|
|
328
|
-
"docs": "
|
|
328
|
+
"docs": "The style is based on the device appearance.\nIf the device is using Dark mode, the statusbar text will be light.\nIf the device is using Light mode, the statusbar text will be dark.\nOn Android the default will be the one the app was launched with."
|
|
329
329
|
}
|
|
330
330
|
]
|
|
331
331
|
},
|
|
@@ -20,10 +20,9 @@ export declare enum Style {
|
|
|
20
20
|
*/
|
|
21
21
|
Light = "LIGHT",
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* The style is based on the device appearance.
|
|
24
24
|
* If the device is using Dark mode, the statusbar text will be light.
|
|
25
25
|
* If the device is using Light mode, the statusbar text will be dark.
|
|
26
|
-
* On iOS 12 and older the statusbar text will be dark.
|
|
27
26
|
* On Android the default will be the one the app was launched with.
|
|
28
27
|
*
|
|
29
28
|
* @since 1.0.0
|
package/dist/esm/definitions.js
CHANGED
|
@@ -13,10 +13,9 @@ export var Style;
|
|
|
13
13
|
*/
|
|
14
14
|
Style["Light"] = "LIGHT";
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* The style is based on the device appearance.
|
|
17
17
|
* If the device is using Dark mode, the statusbar text will be light.
|
|
18
18
|
* If the device is using Light mode, the statusbar text will be dark.
|
|
19
|
-
* On iOS 12 and older the statusbar text will be dark.
|
|
20
19
|
* On Android the default will be the one the app was launched with.
|
|
21
20
|
*
|
|
22
21
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AASA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AASA,MAAM,CAAN,IAAY,KAwBX;AAxBD,WAAY,KAAK;IACf;;;;OAIG;IACH,sBAAa,CAAA;IAEb;;;;OAIG;IACH,wBAAe,CAAA;IAEf;;;;;;;OAOG;IACH,4BAAmB,CAAA;AACrB,CAAC,EAxBW,KAAK,KAAL,KAAK,QAwBhB;AAaD,MAAM,CAAN,IAAY,SAqBX;AArBD,WAAY,SAAS;IACnB;;;;OAIG;IACH,0BAAa,CAAA;IAEb;;;;OAIG;IACH,4BAAe,CAAA;IAEf;;;;OAIG;IACH,0BAAa,CAAA;AACf,CAAC,EArBW,SAAS,KAAT,SAAS,QAqBpB;AAuID;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC","sourcesContent":["export interface StyleOptions {\n /**\n * Style of the text of the status bar.\n *\n * @since 1.0.0\n */\n style: Style;\n}\n\nexport enum Style {\n /**\n * Light text for dark backgrounds.\n *\n * @since 1.0.0\n */\n Dark = 'DARK',\n\n /**\n * Dark text for light backgrounds.\n *\n * @since 1.0.0\n */\n Light = 'LIGHT',\n\n /**\n * The style is based on the device appearance.\n * If the device is using Dark mode, the statusbar text will be light.\n * If the device is using Light mode, the statusbar text will be dark.\n * On Android the default will be the one the app was launched with.\n *\n * @since 1.0.0\n */\n Default = 'DEFAULT',\n}\n\nexport interface AnimationOptions {\n /**\n * The type of status bar animation used when showing or hiding.\n *\n * This option is only supported on iOS.\n *\n * @since 1.0.0\n */\n animation: Animation;\n}\n\nexport enum Animation {\n /**\n * No animation during show/hide.\n *\n * @since 1.0.0\n */\n None = 'NONE',\n\n /**\n * Slide animation during show/hide.\n *\n * @since 1.0.0\n */\n Slide = 'SLIDE',\n\n /**\n * Fade animation during show/hide.\n *\n * @since 1.0.0\n */\n Fade = 'FADE',\n}\n\nexport interface BackgroundColorOptions {\n /**\n * A hex color to which the status bar color is set.\n *\n * This option is only supported on Android.\n *\n * @since 1.0.0\n */\n color: string;\n}\n\nexport interface StatusBarInfo {\n /**\n * Whether the status bar is visible or not.\n *\n * @since 1.0.0\n */\n visible: boolean;\n\n /**\n * The current status bar style.\n *\n * @since 1.0.0\n */\n style: Style;\n\n /**\n * The current status bar color.\n *\n * This option is only supported on Android.\n *\n * @since 1.0.0\n */\n color?: string;\n\n /**\n * Whether the statusbar is overlaid or not.\n *\n * This option is only supported on Android.\n *\n * @since 1.0.0\n */\n overlays?: boolean;\n}\n\nexport interface SetOverlaysWebViewOptions {\n /**\n * Whether to overlay the status bar or not.\n *\n * @since 1.0.0\n */\n overlay: boolean;\n}\n\nexport interface StatusBarPlugin {\n /**\n * Set the current style of the status bar.\n *\n * @since 1.0.0\n */\n setStyle(options: StyleOptions): Promise<void>;\n\n /**\n * Set the background color of the status bar.\n *\n * This method is only supported on Android.\n *\n * @since 1.0.0\n */\n setBackgroundColor(options: BackgroundColorOptions): Promise<void>;\n\n /**\n * Show the status bar.\n *\n * @since 1.0.0\n */\n show(options?: AnimationOptions): Promise<void>;\n\n /**\n * Hide the status bar.\n *\n * @since 1.0.0\n */\n hide(options?: AnimationOptions): Promise<void>;\n\n /**\n * Get info about the current state of the status bar.\n *\n * @since 1.0.0\n */\n getInfo(): Promise<StatusBarInfo>;\n\n /**\n * Set whether or not the status bar should overlay the webview to allow usage\n * of the space underneath it.\n *\n * This method is only supported on Android.\n *\n * @since 1.0.0\n */\n setOverlaysWebView(options: SetOverlaysWebViewOptions): Promise<void>;\n}\n\n/**\n * @deprecated Use `StyleOptions`.\n * @since 1.0.0\n */\nexport type StatusBarStyleOptions = StyleOptions;\n\n/**\n * @deprecated Use `BackgroundColorOptions`.\n * @since 1.0.0\n */\nexport type StatusBarBackgroundColorOptions = BackgroundColorOptions;\n\n/**\n * @deprecated Use `SetOverlaysWebViewOptions`.\n * @since 1.0.0\n */\nexport type StatusBarOverlaysWebviewOptions = SetOverlaysWebViewOptions;\n\n/**\n * @deprecated Use `StatusBarInfo`.\n * @since 1.0.0\n */\nexport type StatusBarInfoResult = StatusBarInfo;\n\n/**\n * @deprecated Use `AnimationOptions`.\n * @since 1.0.0\n */\nexport type StatusBarAnimationOptions = AnimationOptions;\n\n/**\n * @deprecated Use `Animation`.\n * @since 1.0.0\n */\nexport const StatusBarAnimation = Animation;\n\n/**\n * @deprecated Use `Style`.\n * @since 1.0.0\n */\nexport const StatusBarStyle = Style;\n"]}
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,SAAS,GAAG,cAAc,CAAkB,WAAW,CAAC,CAAC;AAE/D,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,SAAS,GAAG,cAAc,CAAkB,WAAW,CAAC,CAAC;AAE/D,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,CAAC","sourcesContent":["import { registerPlugin } from '@capacitor/core';\n\nimport type { StatusBarPlugin } from './definitions';\n\nconst StatusBar = registerPlugin<StatusBarPlugin>('StatusBar');\n\nexport * from './definitions';\nexport { StatusBar };\n"]}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -19,10 +19,9 @@ exports.Style = void 0;
|
|
|
19
19
|
*/
|
|
20
20
|
Style["Light"] = "LIGHT";
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* The style is based on the device appearance.
|
|
23
23
|
* If the device is using Dark mode, the statusbar text will be light.
|
|
24
24
|
* If the device is using Light mode, the statusbar text will be dark.
|
|
25
|
-
* On iOS 12 and older the statusbar text will be dark.
|
|
26
25
|
* On Android the default will be the one the app was launched with.
|
|
27
26
|
*
|
|
28
27
|
* @since 1.0.0
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/index.js"],"sourcesContent":["export var Style;\n(function (Style) {\n /**\n * Light text for dark backgrounds.\n *\n * @since 1.0.0\n */\n Style[\"Dark\"] = \"DARK\";\n /**\n * Dark text for light backgrounds.\n *\n * @since 1.0.0\n */\n Style[\"Light\"] = \"LIGHT\";\n /**\n *
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/index.js"],"sourcesContent":["export var Style;\n(function (Style) {\n /**\n * Light text for dark backgrounds.\n *\n * @since 1.0.0\n */\n Style[\"Dark\"] = \"DARK\";\n /**\n * Dark text for light backgrounds.\n *\n * @since 1.0.0\n */\n Style[\"Light\"] = \"LIGHT\";\n /**\n * The style is based on the device appearance.\n * If the device is using Dark mode, the statusbar text will be light.\n * If the device is using Light mode, the statusbar text will be dark.\n * On Android the default will be the one the app was launched with.\n *\n * @since 1.0.0\n */\n Style[\"Default\"] = \"DEFAULT\";\n})(Style || (Style = {}));\nexport var Animation;\n(function (Animation) {\n /**\n * No animation during show/hide.\n *\n * @since 1.0.0\n */\n Animation[\"None\"] = \"NONE\";\n /**\n * Slide animation during show/hide.\n *\n * @since 1.0.0\n */\n Animation[\"Slide\"] = \"SLIDE\";\n /**\n * Fade animation during show/hide.\n *\n * @since 1.0.0\n */\n Animation[\"Fade\"] = \"FADE\";\n})(Animation || (Animation = {}));\n/**\n * @deprecated Use `Animation`.\n * @since 1.0.0\n */\nexport const StatusBarAnimation = Animation;\n/**\n * @deprecated Use `Style`.\n * @since 1.0.0\n */\nexport const StatusBarStyle = Style;\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst StatusBar = registerPlugin('StatusBar');\nexport * from './definitions';\nexport { StatusBar };\n//# sourceMappingURL=index.js.map"],"names":["Style","Animation","registerPlugin"],"mappings":";;;;;;AAAWA,uBAAM;AACjB,CAAC,UAAU,KAAK,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAC3B;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AACjC,CAAC,EAAEA,aAAK,KAAKA,aAAK,GAAG,EAAE,CAAC,CAAC,CAAC;AACfC,2BAAU;AACrB,CAAC,UAAU,SAAS,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAC/B;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AACjC;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAC/B,CAAC,EAAEA,iBAAS,KAAKA,iBAAS,GAAG,EAAE,CAAC,CAAC,CAAC;AAClC;AACA;AACA;AACA;AACY,MAAC,kBAAkB,GAAGA,kBAAU;AAC5C;AACA;AACA;AACA;AACY,MAAC,cAAc,GAAGD;;ACrDzB,MAAC,SAAS,GAAGE,mBAAc,CAAC,WAAW;;;;;;"}
|
package/dist/plugin.js
CHANGED
|
@@ -16,10 +16,9 @@ var capacitorStatusBar = (function (exports, core) {
|
|
|
16
16
|
*/
|
|
17
17
|
Style["Light"] = "LIGHT";
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* The style is based on the device appearance.
|
|
20
20
|
* If the device is using Dark mode, the statusbar text will be light.
|
|
21
21
|
* If the device is using Light mode, the statusbar text will be dark.
|
|
22
|
-
* On iOS 12 and older the statusbar text will be dark.
|
|
23
22
|
* On Android the default will be the one the app was launched with.
|
|
24
23
|
*
|
|
25
24
|
* @since 1.0.0
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/index.js"],"sourcesContent":["export var Style;\n(function (Style) {\n /**\n * Light text for dark backgrounds.\n *\n * @since 1.0.0\n */\n Style[\"Dark\"] = \"DARK\";\n /**\n * Dark text for light backgrounds.\n *\n * @since 1.0.0\n */\n Style[\"Light\"] = \"LIGHT\";\n /**\n *
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/index.js"],"sourcesContent":["export var Style;\n(function (Style) {\n /**\n * Light text for dark backgrounds.\n *\n * @since 1.0.0\n */\n Style[\"Dark\"] = \"DARK\";\n /**\n * Dark text for light backgrounds.\n *\n * @since 1.0.0\n */\n Style[\"Light\"] = \"LIGHT\";\n /**\n * The style is based on the device appearance.\n * If the device is using Dark mode, the statusbar text will be light.\n * If the device is using Light mode, the statusbar text will be dark.\n * On Android the default will be the one the app was launched with.\n *\n * @since 1.0.0\n */\n Style[\"Default\"] = \"DEFAULT\";\n})(Style || (Style = {}));\nexport var Animation;\n(function (Animation) {\n /**\n * No animation during show/hide.\n *\n * @since 1.0.0\n */\n Animation[\"None\"] = \"NONE\";\n /**\n * Slide animation during show/hide.\n *\n * @since 1.0.0\n */\n Animation[\"Slide\"] = \"SLIDE\";\n /**\n * Fade animation during show/hide.\n *\n * @since 1.0.0\n */\n Animation[\"Fade\"] = \"FADE\";\n})(Animation || (Animation = {}));\n/**\n * @deprecated Use `Animation`.\n * @since 1.0.0\n */\nexport const StatusBarAnimation = Animation;\n/**\n * @deprecated Use `Style`.\n * @since 1.0.0\n */\nexport const StatusBarStyle = Style;\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst StatusBar = registerPlugin('StatusBar');\nexport * from './definitions';\nexport { StatusBar };\n//# sourceMappingURL=index.js.map"],"names":["Style","Animation","registerPlugin"],"mappings":";;;AAAWA,2BAAM;IACjB,CAAC,UAAU,KAAK,EAAE;IAClB;IACA;IACA;IACA;IACA;IACA,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC3B;IACA;IACA;IACA;IACA;IACA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC7B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACjC,CAAC,EAAEA,aAAK,KAAKA,aAAK,GAAG,EAAE,CAAC,CAAC,CAAC;AACfC,+BAAU;IACrB,CAAC,UAAU,SAAS,EAAE;IACtB;IACA;IACA;IACA;IACA;IACA,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC/B;IACA;IACA;IACA;IACA;IACA,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACjC;IACA;IACA;IACA;IACA;IACA,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC/B,CAAC,EAAEA,iBAAS,KAAKA,iBAAS,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC;IACA;IACA;IACA;AACY,UAAC,kBAAkB,GAAGA,kBAAU;IAC5C;IACA;IACA;IACA;AACY,UAAC,cAAc,GAAGD;;ACrDzB,UAAC,SAAS,GAAGE,mBAAc,CAAC,WAAW;;;;;;;;;;;;;;"}
|
|
@@ -28,11 +28,7 @@ public class StatusBarPlugin: CAPPlugin {
|
|
|
28
28
|
if style == "DARK" {
|
|
29
29
|
bridge?.statusBarStyle = .lightContent
|
|
30
30
|
} else if style == "LIGHT" {
|
|
31
|
-
|
|
32
|
-
bridge?.statusBarStyle = .darkContent
|
|
33
|
-
} else {
|
|
34
|
-
bridge?.statusBarStyle = .default
|
|
35
|
-
}
|
|
31
|
+
bridge?.statusBarStyle = .darkContent
|
|
36
32
|
} else if style == "DEFAULT" {
|
|
37
33
|
bridge?.statusBarStyle = .default
|
|
38
34
|
}
|
|
@@ -74,25 +70,17 @@ public class StatusBarPlugin: CAPPlugin {
|
|
|
74
70
|
return
|
|
75
71
|
}
|
|
76
72
|
let style: String
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if bridge.userInterfaceStyle == UIUserInterfaceStyle.dark {
|
|
81
|
-
style = "DARK"
|
|
82
|
-
} else {
|
|
83
|
-
style = "LIGHT"
|
|
84
|
-
}
|
|
85
|
-
case .lightContent:
|
|
86
|
-
style = "DARK"
|
|
87
|
-
default:
|
|
88
|
-
style = "LIGHT"
|
|
89
|
-
}
|
|
90
|
-
} else {
|
|
91
|
-
if bridge.statusBarStyle == .lightContent {
|
|
73
|
+
switch bridge.statusBarStyle {
|
|
74
|
+
case .default:
|
|
75
|
+
if bridge.userInterfaceStyle == UIUserInterfaceStyle.dark {
|
|
92
76
|
style = "DARK"
|
|
93
77
|
} else {
|
|
94
78
|
style = "LIGHT"
|
|
95
79
|
}
|
|
80
|
+
case .lightContent:
|
|
81
|
+
style = "DARK"
|
|
82
|
+
default:
|
|
83
|
+
style = "LIGHT"
|
|
96
84
|
}
|
|
97
85
|
|
|
98
86
|
call.resolve([
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capacitor/status-bar",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.0",
|
|
4
4
|
"description": "The StatusBar API Provides methods for configuring the style of the Status Bar, along with showing or hiding it.",
|
|
5
5
|
"main": "dist/plugin.cjs.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
],
|
|
30
30
|
"scripts": {
|
|
31
31
|
"verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
|
|
32
|
-
"verify:ios": "cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin && cd ..",
|
|
32
|
+
"verify:ios": "cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..",
|
|
33
33
|
"verify:android": "cd android && ./gradlew clean build test && cd ..",
|
|
34
34
|
"verify:web": "npm run build",
|
|
35
35
|
"lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",
|
|
@@ -45,10 +45,10 @@
|
|
|
45
45
|
"publish:cocoapod": "pod trunk push ./CapacitorStatusBar.podspec --allow-warnings"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@capacitor/android": "
|
|
49
|
-
"@capacitor/core": "
|
|
48
|
+
"@capacitor/android": "next",
|
|
49
|
+
"@capacitor/core": "next",
|
|
50
50
|
"@capacitor/docgen": "0.0.18",
|
|
51
|
-
"@capacitor/ios": "
|
|
51
|
+
"@capacitor/ios": "next",
|
|
52
52
|
"@ionic/eslint-config": "^0.3.0",
|
|
53
53
|
"@ionic/prettier-config": "~1.0.1",
|
|
54
54
|
"@ionic/swiftlint-config": "^1.1.2",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"typescript": "~4.1.5"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"@capacitor/core": "
|
|
64
|
+
"@capacitor/core": "next"
|
|
65
65
|
},
|
|
66
66
|
"prettier": "@ionic/prettier-config",
|
|
67
67
|
"swiftlint": "@ionic/swiftlint-config",
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
"publishConfig": {
|
|
80
80
|
"access": "public"
|
|
81
81
|
},
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "fd7db8285f72990522da0adc889514c9804b6dae"
|
|
83
83
|
}
|