first commit

This commit is contained in:
2026-03-10 16:18:05 +00:00
commit 11f9c069b5
31635 changed files with 3187747 additions and 0 deletions

2
node_modules/expo-status-bar/.eslintrc.js generated vendored Normal file
View File

@@ -0,0 +1,2 @@
// @generated by expo-module-scripts
module.exports = require('expo-module-scripts/eslintrc.base.js');

214
node_modules/expo-status-bar/CHANGELOG.md generated vendored Normal file
View File

@@ -0,0 +1,214 @@
# Changelog
## Unpublished
### 🛠 Breaking changes
### 🎉 New features
### 🐛 Bug fixes
### 💡 Others
## 55.0.4 — 2026-02-25
### 💡 Others
- Deprecated and turned into no-ops the `backgroundColor`, `networkActivityIndicatorVisible` and `translucent` `StatusBar` props, as well as the `setStatusBarBackgroundColor`, `setStatusBarNetworkActivityIndicatorVisible` and `setStatusBarTranslucent` functions. ([#43276](https://github.com/expo/expo/pull/43276) by [@zoontek](https://github.com/zoontek))
## 55.0.3 — 2026-02-16
_This version does not introduce any user-facing changes._
## 55.0.2 — 2026-01-26
_This version does not introduce any user-facing changes._
## 55.0.1 — 2026-01-22
_This version does not introduce any user-facing changes._
## 55.0.0 — 2026-01-21
_This version does not introduce any user-facing changes._
## 3.0.9 - 2025-12-05
_This version does not introduce any user-facing changes._
## 3.0.8 — 2025-09-11
_This version does not introduce any user-facing changes._
## 3.0.7 — 2025-09-02
_This version does not introduce any user-facing changes._
## 3.0.6 — 2025-08-31
_This version does not introduce any user-facing changes._
## 3.0.5 — 2025-08-27
_This version does not introduce any user-facing changes._
## 3.0.4 — 2025-08-25
_This version does not introduce any user-facing changes._
## 3.0.3 — 2025-08-18
_This version does not introduce any user-facing changes._
## 3.0.2 — 2025-08-16
_This version does not introduce any user-facing changes._
## 3.0.1 — 2025-08-15
_This version does not introduce any user-facing changes._
## 3.0.0 — 2025-08-13
### 💡 Others
- Migrate to package exports ([#37298](https://github.com/expo/expo/pull/37298) by [@EvanBacon](https://github.com/EvanBacon))
- Remove `react-native-edge-to-edge` dependency ([#38768](https://github.com/expo/expo/pull/38768) by [@behenate](https://github.com/behenate))
## 2.2.3 — 2025-04-30
_This version does not introduce any user-facing changes._
## 2.2.2 — 2025-04-25
_This version does not introduce any user-facing changes._
## 2.2.1 — 2025-04-14
### 🎉 New features
- Support imperative functions from `SystemBars` when edge-to-edge is enabled. ([#36156](https://github.com/expo/expo/pull/36156) by [@behenate](https://github.com/behenate))
## 2.2.0 — 2025-04-11
### 🎉 New features
- Use react-native-edge-to-edge system bars when edge-to-edge is enabled ([#36087](https://github.com/expo/expo/pull/36087) by [@brentvatne](https://github.com/brentvatne))
## 2.1.0 — 2025-04-04
- Warn about potential edge-to-edge interferences. ([#34478](https://github.com/expo/expo/pull/34478) by [@zoontek](https://github.com/zoontek))
## 2.0.1 - 2025-01-10
_This version does not introduce any user-facing changes._
## 2.0.0 — 2024-10-22
### 🐛 Bug fixes
- Add missing `react`/`react-native` peer dependencies. ([#30573](https://github.com/expo/expo/pull/30573) by [@byCedric](https://github.com/byCedric))
### 💡 Others
- Minimize modules. ([#31088](https://github.com/expo/expo/pull/31088) by [@EvanBacon](https://github.com/EvanBacon))
## 1.12.1 — 2024-04-23
_This version does not introduce any user-facing changes._
## 1.12.0 — 2024-04-18
_This version does not introduce any user-facing changes._
## 1.11.1 - 2023-12-19
_This version does not introduce any user-facing changes._
## 1.11.0 — 2023-12-12
_This version does not introduce any user-facing changes._
## 1.10.0 — 2023-11-14
### 🐛 Bug fixes
- Made the `setStatusBarHidden` methods `animation` parameter optional to match the documentation. ([#23866](https://github.com/expo/expo/pull/23866) by [@DoctorJohn](https://github.com/DoctorJohn))
## 1.9.0 — 2023-10-17
### 💡 Others
- Ship untranspiled JSX to support custom handling of `jsx` and `createElement`. ([#24889](https://github.com/expo/expo/pull/24889) by [@EvanBacon](https://github.com/EvanBacon))
## 1.8.0 — 2023-09-15
### 💡 Others
- Reduce web bundle size. ([#24297](https://github.com/expo/expo/pull/24297) by [@EvanBacon](https://github.com/EvanBacon))
## 1.7.1 — 2023-08-02
_This version does not introduce any user-facing changes._
## 1.7.0 — 2023-07-28
### 🎉 New features
- Added support for `animated` property in `setStatusBarStyle`. ([#23408](https://github.com/expo/expo/pull/23408) by [@haikov](https://github.com/haikov))
## 1.6.0 — 2023-06-21
_This version does not introduce any user-facing changes._
## 1.5.0 — 2023-05-08
_This version does not introduce any user-facing changes._
## 1.4.4 — 2023-02-09
_This version does not introduce any user-facing changes._
## 1.4.3 — 2023-02-03
### 💡 Others
- On Android bump `compileSdkVersion` and `targetSdkVersion` to `33`. ([#20721](https://github.com/expo/expo/pull/20721) by [@lukmccall](https://github.com/lukmccall))
## 1.4.2 — 2022-11-02
_This version does not introduce any user-facing changes._
## 1.4.1 — 2022-10-25
_This version does not introduce any user-facing changes._
## 1.4.0 — 2022-07-07
_This version does not introduce any user-facing changes._
## 1.3.0 — 2022-04-18
_This version does not introduce any user-facing changes._
## 1.2.0 — 2021-12-03
_This version does not introduce any user-facing changes._
## 1.1.0 — 2021-09-09
_This version does not introduce any user-facing changes._
## 1.0.4 — 2021-03-10
_This version does not introduce any user-facing changes._
## 1.0.3 — 2020-11-17
_This version does not introduce any user-facing changes._
## 1.0.2 — 2020-06-25
### 🐛 Bug fixes
- Provide web fallback for styleToBarStyle in order to not produce a warning.

42
node_modules/expo-status-bar/README.md generated vendored Normal file
View File

@@ -0,0 +1,42 @@
<p>
<a href="https://docs.expo.dev/versions/latest/sdk/status-bar/">
<img
src="../../.github/resources/expo-status-bar.svg"
alt="expo-status-bar"
height="64" />
</a>
</p>
Provides the same interface as the React Native [StatusBar API](https://reactnative.dev/docs/statusbar), but with slightly different defaults to work great in Expo environments.
- Default to `translucent={true}` on Android.
- The `style="auto"` maps to a dark status bar when in light mode and a light status bar when in dark moded. `style="inverted"` inverts this behavior.
# API documentation
- [Documentation for the latest stable release](https://docs.expo.dev/versions/latest/sdk/status-bar/)
- [Documentation for the main branch](https://docs.expo.dev/versions/unversioned/sdk/status-bar/)
# Installation in managed Expo projects
For [managed](https://docs.expo.dev/archive/managed-vs-bare/) Expo projects, please follow the installation instructions in the [API documentation for the latest stable release](https://docs.expo.dev/versions/latest/sdk/status-bar/). If you follow the link and there is no documentation available then this library is not yet usable within managed projects &mdash; it is likely to be included in an upcoming Expo SDK release.
Please refer to the [React Native StatusBar API documentation](https://reactnative.dev/docs/statusbar).
# Installation in bare React Native projects
```
npm install expo-status-bar
```
### Configure for Android
No additional setup necessary.
### Configure for iOS
Run `npx pod-install` after installing the npm package.
# Contributing
Contributions are very welcome! Please refer to guidelines described in the [contributing guide](https://github.com/expo/expo#contributing).

View File

@@ -0,0 +1,50 @@
import React from 'react';
import { type ColorValue } from 'react-native';
import { StatusBarProps, StatusBarStyle, StatusBarAnimation } from './types';
/**
* A component that allows you to configure your status bar without directly calling imperative
* methods like `setBarStyle`.
*
* You will likely have multiple `StatusBar` components mounted in the same app at the same time.
* For example, if you have multiple screens in your app, you may end up using one per screen.
* The props of each `StatusBar` component will be merged in the order that they were mounted.
* This component is built on top of the [StatusBar](https://reactnative.dev/docs/statusbar)
* component exported from React Native, and it provides defaults that work better for Expo users.
*/
export declare function StatusBar({ style, hideTransitionAnimation, animated, hidden }: StatusBarProps): React.JSX.Element;
/**
* Set the bar style of the status bar.
* @param style The color of the status bar text.
* @param animated If the transition should be animated.
*/
export declare function setStatusBarStyle(style: StatusBarStyle, animated?: boolean): void;
/**
* Toggle visibility of the status bar.
* @param hidden If the status bar should be hidden.
* @param animation Animation to use when toggling hidden, defaults to `'none'`.
*/
export declare function setStatusBarHidden(hidden: boolean, animation?: StatusBarAnimation): void;
/**
* Set the background color of the status bar.
* @param backgroundColor The background color of the status bar.
* @param animated `true` to animate the background color change, `false` to change immediately.
* @platform android
* @deprecated Due to Android edge-to-edge enforcement, setting the status bar background color is deprecated and has no effect. This will be removed in a future release.
*/
export declare function setStatusBarBackgroundColor(backgroundColor: ColorValue, animated?: boolean): void;
/**
* Toggle visibility of the network activity indicator.
* @param visible If the network activity indicator should be visible.
* @platform ios
* @deprecated The status bar network activity indicator is not supported in iOS 13 and later. This will be removed in a future release.
*/
export declare function setStatusBarNetworkActivityIndicatorVisible(visible: boolean): void;
/**
* Set the translucency of the status bar.
* @param translucent Whether the app can draw under the status bar. When `true`, content will be
* rendered under the status bar. This is always `true` on iOS and cannot be changed.
* @platform android
* @deprecated Due to Android edge-to-edge enforcement, setting the status bar as translucent is deprecated and has no effect. This will be removed in a future release.
*/
export declare function setStatusBarTranslucent(translucent: boolean): void;
//# sourceMappingURL=NativeStatusBarWrapper.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"NativeStatusBarWrapper.d.ts","sourceRoot":"","sources":["../src/NativeStatusBarWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7E;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,cAAc,qBAc7F;AAGD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,OAAO,QAE1E;AAGD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,kBAAkB,QAEjF;AAGD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,eAAe,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,OAAO,QAAI;AAG/F;;;;;GAKG;AACH,wBAAgB,2CAA2C,CAAC,OAAO,EAAE,OAAO,QAAI;AAGhF;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,OAAO,QAAI"}

View File

@@ -0,0 +1,8 @@
import { StatusBarAnimation, StatusBarProps, StatusBarStyle } from './types';
export declare function StatusBar(props: StatusBarProps): import("react").JSX.Element;
export declare function setStatusBarStyle(style: StatusBarStyle, animated?: boolean): void;
export declare function setStatusBarHidden(hidden: boolean, animation?: StatusBarAnimation): void;
export declare function setStatusBarBackgroundColor(backgroundColor: string, animated?: boolean): void;
export declare function setStatusBarNetworkActivityIndicatorVisible(visible: boolean): void;
export declare function setStatusBarTranslucent(translucent: boolean): void;
//# sourceMappingURL=StatusBar.android.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"StatusBar.android.d.ts","sourceRoot":"","sources":["../src/StatusBar.android.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE7E,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAgB9C;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,OAAO,QAE1E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,kBAAkB,QAEjF;AAED,wBAAgB,2BAA2B,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,QAItF;AAED,wBAAgB,2CAA2C,CAAC,OAAO,EAAE,OAAO,QAM3E;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,OAAO,QAM3D"}

3
node_modules/expo-status-bar/build/StatusBar.d.ts generated vendored Normal file
View File

@@ -0,0 +1,3 @@
export { StatusBar, setStatusBarStyle, setStatusBarHidden, setStatusBarBackgroundColor, setStatusBarNetworkActivityIndicatorVisible, setStatusBarTranslucent, } from './NativeStatusBarWrapper';
export { StatusBarStyle, StatusBarAnimation, StatusBarProps } from './types';
//# sourceMappingURL=StatusBar.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../src/StatusBar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,2CAA2C,EAC3C,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}

View File

@@ -0,0 +1,7 @@
export declare function setStatusBarBackgroundColor(): void;
export declare function setStatusBarNetworkActivityIndicatorVisible(): void;
export declare function setStatusBarHidden(): void;
export declare function setStatusBarStyle(): void;
export declare function setStatusBarTranslucent(): void;
export declare function StatusBar(): null;
//# sourceMappingURL=StatusBar.web.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"StatusBar.web.d.ts","sourceRoot":"","sources":["../src/StatusBar.web.ts"],"names":[],"mappings":"AAAA,wBAAgB,2BAA2B,SAAK;AAChD,wBAAgB,2CAA2C,SAAK;AAChE,wBAAgB,kBAAkB,SAAK;AACvC,wBAAgB,iBAAiB,SAAK;AACtC,wBAAgB,uBAAuB,SAAK;AAC5C,wBAAgB,SAAS,SAExB"}

48
node_modules/expo-status-bar/build/types.d.ts generated vendored Normal file
View File

@@ -0,0 +1,48 @@
export type StatusBarStyle = 'auto' | 'inverted' | 'light' | 'dark';
export type StatusBarAnimation = 'none' | 'fade' | 'slide';
export type StatusBarProps = {
/**
* Sets the color of the status bar text. Default value is `"auto"` which
* picks the appropriate value according to the active color scheme, eg:
* if your app is dark mode, the style will be `"light"`.
* @default 'auto'
*/
style?: StatusBarStyle;
/**
* If the transition between status bar property changes should be
* animated. Supported for `backgroundColor`, `barStyle` and `hidden`.
*/
animated?: boolean;
/**
* If the status bar is hidden.
*/
hidden?: boolean;
/**
* The transition effect when showing and hiding the status bar using
* the hidden prop.
* @default 'fade'
* @platform ios
*/
hideTransitionAnimation?: StatusBarAnimation;
/**
* If the network activity indicator should be visible.
* @platform ios
* @deprecated The status bar network activity indicator is not supported in iOS 13 and later. This will be removed in a future release.
*/
networkActivityIndicatorVisible?: boolean;
/**
* The background color of the status bar.
* @platform android
* @deprecated Due to Android edge-to-edge enforcement, setting the status bar background color is deprecated and has no effect. This will be removed in a future release.
*/
backgroundColor?: string;
/**
* If the status bar is translucent. When translucent is set to `true`,
* the app will draw under the status bar. This is the default behaviour in
* projects created with Expo tools because it is consistent with iOS.
* @platform android
* @deprecated Due to Android edge-to-edge enforcement, setting the status bar as translucent is deprecated and has no effect. This will be removed in a future release.
*/
translucent?: boolean;
};
//# sourceMappingURL=types.d.ts.map

1
node_modules/expo-status-bar/build/types.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAGpE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAG3D,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,kBAAkB,CAAC;IAE7C;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAE1C;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC"}

64
node_modules/expo-status-bar/package.json generated vendored Normal file
View File

@@ -0,0 +1,64 @@
{
"name": "expo-status-bar",
"version": "55.0.4",
"description": "Provides the same interface as the React Native StatusBar API, but with slightly different defaults to work great in Expo environments.",
"main": "src/StatusBar",
"types": "build/StatusBar.d.ts",
"exports": {
"./package.json": "./package.json",
".": {
"types": "./build/StatusBar.d.ts",
"default": "./src/StatusBar.ts"
}
},
"scripts": {
"build": "expo-module build",
"clean": "expo-module clean",
"lint": "expo-module lint",
"test": "expo-module test",
"prepare": "expo-module prepare",
"prepublishOnly": "expo-module prepublishOnly",
"expo-module": "expo-module"
},
"keywords": [
"react-native",
"expo",
"expo-status-bar"
],
"repository": {
"type": "git",
"url": "https://github.com/expo/expo.git",
"directory": "packages/expo-status-bar"
},
"bugs": {
"url": "https://github.com/expo/expo/issues"
},
"author": "650 Industries, Inc.",
"license": "MIT",
"homepage": "https://docs.expo.dev/versions/latest/sdk/status-bar/",
"dependencies": {
"react-native-is-edge-to-edge": "^1.2.1"
},
"devDependencies": {
"@testing-library/dom": "^10.4.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.3.0",
"@testing-library/react-native": "^13.3.0",
"expo-module-scripts": "^55.0.2"
},
"peerDependencies": {
"react": "*",
"react-native": "*"
},
"jest": {
"projects": [
{
"preset": "jest-expo/ios"
},
{
"preset": "jest-expo/android"
}
]
},
"gitHead": "b183e5cbd95eb6ee54a878291c7077d8d63e4850"
}

View File

@@ -0,0 +1,103 @@
import React from 'react';
import {
Appearance,
StatusBar as NativeStatusBar,
useColorScheme,
type ColorSchemeName,
type ColorValue,
} from 'react-native';
import { StatusBarProps, StatusBarStyle, StatusBarAnimation } from './types';
/**
* A component that allows you to configure your status bar without directly calling imperative
* methods like `setBarStyle`.
*
* You will likely have multiple `StatusBar` components mounted in the same app at the same time.
* For example, if you have multiple screens in your app, you may end up using one per screen.
* The props of each `StatusBar` component will be merged in the order that they were mounted.
* This component is built on top of the [StatusBar](https://reactnative.dev/docs/statusbar)
* component exported from React Native, and it provides defaults that work better for Expo users.
*/
export function StatusBar({ style, hideTransitionAnimation, animated, hidden }: StatusBarProps) {
// Pick appropriate default value depending on current theme, so if we are
// locked to light mode we don't end up with a light status bar
const colorScheme = useColorScheme();
const barStyle = React.useMemo(() => styleToBarStyle(style, colorScheme), [style, colorScheme]);
return (
<NativeStatusBar
animated={animated}
hidden={hidden}
barStyle={barStyle}
showHideTransition={hideTransitionAnimation === 'none' ? undefined : hideTransitionAnimation}
/>
);
}
// @needsAudit
/**
* Set the bar style of the status bar.
* @param style The color of the status bar text.
* @param animated If the transition should be animated.
*/
export function setStatusBarStyle(style: StatusBarStyle, animated?: boolean) {
NativeStatusBar.setBarStyle(styleToBarStyle(style), animated);
}
// @needsAudit
/**
* Toggle visibility of the status bar.
* @param hidden If the status bar should be hidden.
* @param animation Animation to use when toggling hidden, defaults to `'none'`.
*/
export function setStatusBarHidden(hidden: boolean, animation?: StatusBarAnimation) {
NativeStatusBar.setHidden(hidden, animation);
}
// @needsAudit
/**
* Set the background color of the status bar.
* @param backgroundColor The background color of the status bar.
* @param animated `true` to animate the background color change, `false` to change immediately.
* @platform android
* @deprecated Due to Android edge-to-edge enforcement, setting the status bar background color is deprecated and has no effect. This will be removed in a future release.
*/
export function setStatusBarBackgroundColor(backgroundColor: ColorValue, animated?: boolean) {}
// @needsAudit
/**
* Toggle visibility of the network activity indicator.
* @param visible If the network activity indicator should be visible.
* @platform ios
* @deprecated The status bar network activity indicator is not supported in iOS 13 and later. This will be removed in a future release.
*/
export function setStatusBarNetworkActivityIndicatorVisible(visible: boolean) {}
// @needsAudit
/**
* Set the translucency of the status bar.
* @param translucent Whether the app can draw under the status bar. When `true`, content will be
* rendered under the status bar. This is always `true` on iOS and cannot be changed.
* @platform android
* @deprecated Due to Android edge-to-edge enforcement, setting the status bar as translucent is deprecated and has no effect. This will be removed in a future release.
*/
export function setStatusBarTranslucent(translucent: boolean) {}
function styleToBarStyle(
style: StatusBarStyle = 'auto',
colorScheme: ColorSchemeName = Appearance?.getColorScheme() ?? 'light'
): 'light-content' | 'dark-content' {
if (!colorScheme) {
colorScheme = 'light';
}
let resolvedStyle = style;
if (style === 'auto') {
resolvedStyle = colorScheme === 'light' ? 'dark' : 'light';
} else if (style === 'inverted') {
resolvedStyle = colorScheme === 'light' ? 'light' : 'dark';
}
return resolvedStyle === 'light' ? 'light-content' : 'dark-content';
}

56
node_modules/expo-status-bar/src/StatusBar.android.tsx generated vendored Normal file
View File

@@ -0,0 +1,56 @@
import { isEdgeToEdge } from 'react-native-is-edge-to-edge';
import {
StatusBar as OriginalStatusBar,
setStatusBarStyle as originalSetStatusBarStyle,
setStatusBarHidden as originalSetStatusBarHidden,
} from './NativeStatusBarWrapper';
import { StatusBarAnimation, StatusBarProps, StatusBarStyle } from './types';
export function StatusBar(props: StatusBarProps) {
if (isEdgeToEdge()) {
if (props.backgroundColor) {
console.warn(
'StatusBar backgroundColor is not supported with edge-to-edge enabled. Render a view under the status bar to change its background.'
);
}
if (typeof props.translucent !== 'undefined' && Boolean(props.translucent) === false) {
console.warn(
'StatusBar is always translucent when edge-to-edge is enabled. The translucent prop is ignored.'
);
}
}
return <OriginalStatusBar {...props} />;
}
export function setStatusBarStyle(style: StatusBarStyle, animated?: boolean) {
return originalSetStatusBarStyle(style, animated);
}
export function setStatusBarHidden(hidden: boolean, animation?: StatusBarAnimation) {
return originalSetStatusBarHidden(hidden, animation);
}
export function setStatusBarBackgroundColor(backgroundColor: string, animated?: boolean) {
if (isEdgeToEdge()) {
console.warn('`setStatusBarBackgroundColor` is not supported with edge-to-edge enabled.');
}
}
export function setStatusBarNetworkActivityIndicatorVisible(visible: boolean) {
if (isEdgeToEdge()) {
console.warn(
'`setStatusBarNetworkActivityIndicatorVisible` is not supported with edge-to-edge enabled.'
);
}
}
export function setStatusBarTranslucent(translucent: boolean) {
if (isEdgeToEdge()) {
console.warn(
'`setStatusBarTranslucent` is not supported with edge-to-edge enabled. In this case the status bar is always translucent.'
);
}
}

10
node_modules/expo-status-bar/src/StatusBar.ts generated vendored Normal file
View File

@@ -0,0 +1,10 @@
export {
StatusBar,
setStatusBarStyle,
setStatusBarHidden,
setStatusBarBackgroundColor,
setStatusBarNetworkActivityIndicatorVisible,
setStatusBarTranslucent,
} from './NativeStatusBarWrapper';
export { StatusBarStyle, StatusBarAnimation, StatusBarProps } from './types';

8
node_modules/expo-status-bar/src/StatusBar.web.ts generated vendored Normal file
View File

@@ -0,0 +1,8 @@
export function setStatusBarBackgroundColor() {}
export function setStatusBarNetworkActivityIndicatorVisible() {}
export function setStatusBarHidden() {}
export function setStatusBarStyle() {}
export function setStatusBarTranslucent() {}
export function StatusBar() {
return null;
}

58
node_modules/expo-status-bar/src/types.ts generated vendored Normal file
View File

@@ -0,0 +1,58 @@
// @docsMissing
export type StatusBarStyle = 'auto' | 'inverted' | 'light' | 'dark';
// @docsMissing
export type StatusBarAnimation = 'none' | 'fade' | 'slide';
// @needsAudit
export type StatusBarProps = {
/**
* Sets the color of the status bar text. Default value is `"auto"` which
* picks the appropriate value according to the active color scheme, eg:
* if your app is dark mode, the style will be `"light"`.
* @default 'auto'
*/
style?: StatusBarStyle;
/**
* If the transition between status bar property changes should be
* animated. Supported for `backgroundColor`, `barStyle` and `hidden`.
*/
animated?: boolean;
/**
* If the status bar is hidden.
*/
hidden?: boolean;
/**
* The transition effect when showing and hiding the status bar using
* the hidden prop.
* @default 'fade'
* @platform ios
*/
hideTransitionAnimation?: StatusBarAnimation;
/**
* If the network activity indicator should be visible.
* @platform ios
* @deprecated The status bar network activity indicator is not supported in iOS 13 and later. This will be removed in a future release.
*/
networkActivityIndicatorVisible?: boolean;
/**
* The background color of the status bar.
* @platform android
* @deprecated Due to Android edge-to-edge enforcement, setting the status bar background color is deprecated and has no effect. This will be removed in a future release.
*/
backgroundColor?: string;
/**
* If the status bar is translucent. When translucent is set to `true`,
* the app will draw under the status bar. This is the default behaviour in
* projects created with Expo tools because it is consistent with iOS.
* @platform android
* @deprecated Due to Android edge-to-edge enforcement, setting the status bar as translucent is deprecated and has no effect. This will be removed in a future release.
*/
translucent?: boolean;
};

9
node_modules/expo-status-bar/tsconfig.json generated vendored Normal file
View File

@@ -0,0 +1,9 @@
{
"extends": "expo-module-scripts/tsconfig.base",
"compilerOptions": {
"outDir": "./build",
"emitDeclarationOnly": true
},
"include": ["./src"],
"exclude": ["**/__mocks__/*", "**/__tests__/*", "**/__rsc_tests__/*"]
}