@expo/config-plugins
Advanced tools
@@ -5,13 +5,3 @@ import { ExpoConfig } from '@expo/config-types'; | ||
| export declare const withStatusBar: ConfigPlugin; | ||
| export declare function setStatusBarColors(config: Pick<ExpoConfig, 'androidStatusBar'>, colors: ResourceXML): ResourceXML; | ||
| export declare function setStatusBarStyles(config: Pick<ExpoConfig, 'androidStatusBar'>, styles: ResourceXML): ResourceXML; | ||
| export declare function getStatusBarColor(config: Pick<ExpoConfig, 'androidStatusBar'>): string | undefined; | ||
| /** | ||
| * Specifies whether the status bar should be "translucent". When true, the status bar is drawn with `position: absolute` and a gray underlay, when false `position: relative` (pushes content down). | ||
| * | ||
| * @default false | ||
| * @param config | ||
| * @returns | ||
| */ | ||
| export declare function getStatusBarTranslucent(config: Pick<ExpoConfig, 'androidStatusBar'>): boolean; | ||
| export declare function getStatusBarStyle(config: Pick<ExpoConfig, 'androidStatusBar'>): "light-content" | "dark-content"; |
@@ -6,22 +6,5 @@ "use strict"; | ||
| }); | ||
| exports.getStatusBarColor = getStatusBarColor; | ||
| exports.getStatusBarStyle = getStatusBarStyle; | ||
| exports.getStatusBarTranslucent = getStatusBarTranslucent; | ||
| exports.setStatusBarColors = setStatusBarColors; | ||
| exports.setStatusBarStyles = setStatusBarStyles; | ||
| exports.withStatusBar = void 0; | ||
| function _assert() { | ||
| const data = _interopRequireDefault(require("assert")); | ||
| _assert = function () { | ||
| return data; | ||
| }; | ||
| return data; | ||
| } | ||
| function _Colors() { | ||
| const data = require("./Colors"); | ||
| _Colors = function () { | ||
| return data; | ||
| }; | ||
| return data; | ||
| } | ||
| function _Styles() { | ||
@@ -41,5 +24,12 @@ const data = require("./Styles"); | ||
| } | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } | ||
| // https://developer.android.com/reference/android/R.attr#colorPrimaryDark | ||
| const COLOR_PRIMARY_DARK_KEY = 'colorPrimaryDark'; | ||
| function WarningAggregator() { | ||
| const data = _interopRequireWildcard(require("../utils/warnings")); | ||
| WarningAggregator = function () { | ||
| return data; | ||
| }; | ||
| return data; | ||
| } | ||
| function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } | ||
| function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } | ||
| const TAG = 'STATUS_BAR_PLUGIN'; | ||
| // https://developer.android.com/reference/android/R.attr#windowLightStatusBar | ||
@@ -50,3 +40,11 @@ const WINDOW_LIGHT_STATUS_BAR = 'android:windowLightStatusBar'; | ||
| const withStatusBar = config => { | ||
| config = withStatusBarColors(config); | ||
| const { | ||
| androidStatusBar = {} | ||
| } = config; | ||
| if ('backgroundColor' in androidStatusBar) { | ||
| WarningAggregator().addWarningAndroid(TAG, 'Due to Android edge-to-edge enforcement, `androidStatusBar.backgroundColor` is deprecated and has no effect. This will be removed in a future release.'); | ||
| } | ||
| if ('translucent' in androidStatusBar) { | ||
| WarningAggregator().addWarningAndroid(TAG, 'Due to Android edge-to-edge enforcement, `androidStatusBar.translucent` is deprecated and has no effect. This will be removed in a future release.'); | ||
| } | ||
| config = withStatusBarStyles(config); | ||
@@ -56,8 +54,2 @@ return config; | ||
| exports.withStatusBar = withStatusBar; | ||
| const withStatusBarColors = config => { | ||
| return (0, _androidPlugins().withAndroidColors)(config, config => { | ||
| config.modResults = setStatusBarColors(config, config.modResults); | ||
| return config; | ||
| }); | ||
| }; | ||
| const withStatusBarStyles = config => { | ||
@@ -69,11 +61,3 @@ return (0, _androidPlugins().withAndroidStyles)(config, config => { | ||
| }; | ||
| function setStatusBarColors(config, colors) { | ||
| return (0, _Colors().assignColorValue)(colors, { | ||
| name: COLOR_PRIMARY_DARK_KEY, | ||
| value: getStatusBarColor(config) | ||
| }); | ||
| } | ||
| function setStatusBarStyles(config, styles) { | ||
| const hexString = getStatusBarColor(config); | ||
| const floatElement = getStatusBarTranslucent(config); | ||
| styles = (0, _Styles().assignStylesValue)(styles, { | ||
@@ -89,27 +73,7 @@ parent: (0, _Styles().getAppThemeGroup)(), | ||
| name: STATUS_BAR_COLOR, | ||
| value: floatElement ? '@android:color/transparent' : hexString ?? '@color/colorPrimaryDark', | ||
| // Remove the color if translucent is used | ||
| add: floatElement || !!hexString | ||
| value: '@android:color/transparent', | ||
| add: true | ||
| }); | ||
| return styles; | ||
| } | ||
| function getStatusBarColor(config) { | ||
| const backgroundColor = config.androidStatusBar?.backgroundColor; | ||
| if (backgroundColor) { | ||
| // Drop support for translucent | ||
| (0, _assert().default)(backgroundColor !== 'translucent', `androidStatusBar.backgroundColor must be a valid hex string, instead got: "${backgroundColor}"`); | ||
| } | ||
| return backgroundColor; | ||
| } | ||
| /** | ||
| * Specifies whether the status bar should be "translucent". When true, the status bar is drawn with `position: absolute` and a gray underlay, when false `position: relative` (pushes content down). | ||
| * | ||
| * @default false | ||
| * @param config | ||
| * @returns | ||
| */ | ||
| function getStatusBarTranslucent(config) { | ||
| return config.androidStatusBar?.translucent ?? false; | ||
| } | ||
| function getStatusBarStyle(config) { | ||
@@ -116,0 +80,0 @@ return config.androidStatusBar?.barStyle || 'light-content'; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"StatusBar.js","names":["_assert","data","_interopRequireDefault","require","_Colors","_Styles","_androidPlugins","e","__esModule","default","COLOR_PRIMARY_DARK_KEY","WINDOW_LIGHT_STATUS_BAR","STATUS_BAR_COLOR","withStatusBar","config","withStatusBarColors","withStatusBarStyles","exports","withAndroidColors","modResults","setStatusBarColors","withAndroidStyles","setStatusBarStyles","colors","assignColorValue","name","value","getStatusBarColor","styles","hexString","floatElement","getStatusBarTranslucent","assignStylesValue","parent","getAppThemeGroup","add","getStatusBarStyle","backgroundColor","androidStatusBar","assert","translucent","barStyle"],"sources":["../../src/android/StatusBar.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config-types';\nimport assert from 'assert';\n\nimport { assignColorValue } from './Colors';\nimport { ResourceXML } from './Resources';\nimport { assignStylesValue, getAppThemeGroup } from './Styles';\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withAndroidColors, withAndroidStyles } from '../plugins/android-plugins';\n\n// https://developer.android.com/reference/android/R.attr#colorPrimaryDark\nconst COLOR_PRIMARY_DARK_KEY = 'colorPrimaryDark';\n// https://developer.android.com/reference/android/R.attr#windowLightStatusBar\nconst WINDOW_LIGHT_STATUS_BAR = 'android:windowLightStatusBar';\n// https://developer.android.com/reference/android/R.attr#statusBarColor\nconst STATUS_BAR_COLOR = 'android:statusBarColor';\n\nexport const withStatusBar: ConfigPlugin = (config) => {\n config = withStatusBarColors(config);\n config = withStatusBarStyles(config);\n return config;\n};\n\nconst withStatusBarColors: ConfigPlugin = (config) => {\n return withAndroidColors(config, (config) => {\n config.modResults = setStatusBarColors(config, config.modResults);\n return config;\n });\n};\n\nconst withStatusBarStyles: ConfigPlugin = (config) => {\n return withAndroidStyles(config, (config) => {\n config.modResults = setStatusBarStyles(config, config.modResults);\n return config;\n });\n};\n\nexport function setStatusBarColors(\n config: Pick<ExpoConfig, 'androidStatusBar'>,\n colors: ResourceXML\n): ResourceXML {\n return assignColorValue(colors, {\n name: COLOR_PRIMARY_DARK_KEY,\n value: getStatusBarColor(config),\n });\n}\n\nexport function setStatusBarStyles(\n config: Pick<ExpoConfig, 'androidStatusBar'>,\n styles: ResourceXML\n): ResourceXML {\n const hexString = getStatusBarColor(config);\n const floatElement = getStatusBarTranslucent(config);\n\n styles = assignStylesValue(styles, {\n parent: getAppThemeGroup(),\n name: WINDOW_LIGHT_STATUS_BAR,\n value: 'true',\n // Default is light-content, don't need to do anything to set it\n add: getStatusBarStyle(config) === 'dark-content',\n });\n\n styles = assignStylesValue(styles, {\n parent: getAppThemeGroup(),\n name: STATUS_BAR_COLOR,\n value: floatElement ? '@android:color/transparent' : (hexString ?? '@color/colorPrimaryDark'),\n // Remove the color if translucent is used\n add: floatElement || !!hexString,\n });\n\n return styles;\n}\n\nexport function getStatusBarColor(config: Pick<ExpoConfig, 'androidStatusBar'>) {\n const backgroundColor = config.androidStatusBar?.backgroundColor;\n if (backgroundColor) {\n // Drop support for translucent\n assert(\n backgroundColor !== 'translucent',\n `androidStatusBar.backgroundColor must be a valid hex string, instead got: \"${backgroundColor}\"`\n );\n }\n return backgroundColor;\n}\n\n/**\n * Specifies whether the status bar should be \"translucent\". When true, the status bar is drawn with `position: absolute` and a gray underlay, when false `position: relative` (pushes content down).\n *\n * @default false\n * @param config\n * @returns\n */\nexport function getStatusBarTranslucent(config: Pick<ExpoConfig, 'androidStatusBar'>): boolean {\n return config.androidStatusBar?.translucent ?? false;\n}\n\nexport function getStatusBarStyle(config: Pick<ExpoConfig, 'androidStatusBar'>) {\n return config.androidStatusBar?.barStyle || 'light-content';\n}\n"],"mappings":"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","ignoreList":[]} | ||
| {"version":3,"file":"StatusBar.js","names":["_Styles","data","require","_androidPlugins","WarningAggregator","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TAG","WINDOW_LIGHT_STATUS_BAR","STATUS_BAR_COLOR","withStatusBar","config","androidStatusBar","addWarningAndroid","withStatusBarStyles","exports","withAndroidStyles","modResults","setStatusBarStyles","styles","assignStylesValue","parent","getAppThemeGroup","name","value","add","getStatusBarStyle","barStyle"],"sources":["../../src/android/StatusBar.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nimport { ResourceXML } from './Resources';\nimport { assignStylesValue, getAppThemeGroup } from './Styles';\nimport { ConfigPlugin } from '../Plugin.types';\nimport { withAndroidStyles } from '../plugins/android-plugins';\nimport * as WarningAggregator from '../utils/warnings';\n\nconst TAG = 'STATUS_BAR_PLUGIN';\n// https://developer.android.com/reference/android/R.attr#windowLightStatusBar\nconst WINDOW_LIGHT_STATUS_BAR = 'android:windowLightStatusBar';\n// https://developer.android.com/reference/android/R.attr#statusBarColor\nconst STATUS_BAR_COLOR = 'android:statusBarColor';\n\nexport const withStatusBar: ConfigPlugin = (config) => {\n const { androidStatusBar = {} } = config;\n\n if ('backgroundColor' in androidStatusBar) {\n WarningAggregator.addWarningAndroid(\n TAG,\n 'Due to Android edge-to-edge enforcement, `androidStatusBar.backgroundColor` is deprecated and has no effect. This will be removed in a future release.'\n );\n }\n if ('translucent' in androidStatusBar) {\n WarningAggregator.addWarningAndroid(\n TAG,\n 'Due to Android edge-to-edge enforcement, `androidStatusBar.translucent` is deprecated and has no effect. This will be removed in a future release.'\n );\n }\n\n config = withStatusBarStyles(config);\n return config;\n};\n\nconst withStatusBarStyles: ConfigPlugin = (config) => {\n return withAndroidStyles(config, (config) => {\n config.modResults = setStatusBarStyles(config, config.modResults);\n return config;\n });\n};\n\nexport function setStatusBarStyles(\n config: Pick<ExpoConfig, 'androidStatusBar'>,\n styles: ResourceXML\n): ResourceXML {\n styles = assignStylesValue(styles, {\n parent: getAppThemeGroup(),\n name: WINDOW_LIGHT_STATUS_BAR,\n value: 'true',\n // Default is light-content, don't need to do anything to set it\n add: getStatusBarStyle(config) === 'dark-content',\n });\n\n styles = assignStylesValue(styles, {\n parent: getAppThemeGroup(),\n name: STATUS_BAR_COLOR,\n value: '@android:color/transparent',\n add: true,\n });\n\n return styles;\n}\n\nexport function getStatusBarStyle(config: Pick<ExpoConfig, 'androidStatusBar'>) {\n return config.androidStatusBar?.barStyle || 'light-content';\n}\n"],"mappings":"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","ignoreList":[]} |
+3
-3
| { | ||
| "name": "@expo/config-plugins", | ||
| "version": "55.0.5", | ||
| "version": "55.0.6", | ||
| "description": "A library for Expo config plugins", | ||
@@ -58,3 +58,3 @@ "main": "build/index.js", | ||
| "dependencies": { | ||
| "@expo/config-types": "^55.0.4", | ||
| "@expo/config-types": "^55.0.5", | ||
| "@expo/json-file": "~10.0.12", | ||
@@ -81,3 +81,3 @@ "@expo/plist": "^0.5.2", | ||
| }, | ||
| "gitHead": "928cc951854450f3c72e00e8e420e567fabd1f8c" | ||
| "gitHead": "b183e5cbd95eb6ee54a878291c7077d8d63e4850" | ||
| } |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
1157297
-0.19%13392
-0.33%Updated