expo 54.0.0-preview.11 → 54.0.0-preview.13

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.
@@ -32,7 +32,7 @@ buildscript {
32
32
  def reactNativeVersion = project.extensions.getByType(ExpoModuleExtension).reactNativeVersion
33
33
 
34
34
  group = 'host.exp.exponent'
35
- version = '54.0.0-preview.11'
35
+ version = '54.0.0-preview.13'
36
36
 
37
37
  expoModule {
38
38
  // We can't prebuild the module because it depends on the generated files.
@@ -43,7 +43,7 @@ android {
43
43
  namespace "expo.core"
44
44
  defaultConfig {
45
45
  versionCode 1
46
- versionName "54.0.0-preview.11"
46
+ versionName "54.0.0-preview.13"
47
47
  consumerProguardFiles("proguard-rules.pro")
48
48
  }
49
49
  testOptions {
package/build/Expo.d.ts CHANGED
@@ -2,6 +2,7 @@ import './Expo.fx';
2
2
  export { disableErrorHandling } from './errors/ExpoErrorManager';
3
3
  export { default as registerRootComponent } from './launch/registerRootComponent';
4
4
  export { isRunningInExpoGo, getExpoGoProjectConfig } from './environment/ExpoGo';
5
+ export { isLiquidGlassAvailable } from './environment/isLiquidGlassAvailable';
5
6
  export { EventEmitter, SharedObject, SharedRef, NativeModule, requireNativeModule, requireOptionalNativeModule, requireNativeViewManager as requireNativeView, registerWebModule, reloadAppAsync, } from 'expo-modules-core';
6
7
  export type {
7
8
  /** @deprecated Move to `SharedRef` with a type-only import instead */
@@ -1 +1 @@
1
- {"version":3,"file":"Expo.d.ts","sourceRoot":"","sources":["../src/Expo.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AAEnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EAEL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EAGZ,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,IAAI,iBAAiB,EAC7C,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACV,sEAAsE;AACtE,SAAS,IAAI,aAAa;AAC1B,yEAAyE;AACzE,YAAY,IAAI,gBAAgB;AAChC,yEAAyE;AACzE,YAAY,IAAI,gBAAgB;AAChC,yEAAyE;AACzE,YAAY,IAAI,gBAAgB,GACjC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"Expo.d.ts","sourceRoot":"","sources":["../src/Expo.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AAEnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAEL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EAGZ,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,IAAI,iBAAiB,EAC7C,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACV,sEAAsE;AACtE,SAAS,IAAI,aAAa;AAC1B,yEAAyE;AACzE,YAAY,IAAI,gBAAgB;AAChC,yEAAyE;AACzE,YAAY,IAAI,gBAAgB;AAChC,yEAAyE;AACzE,YAAY,IAAI,gBAAgB,GACjC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Indicates whether the app is using the Liquid Glass design. The value will be `true` when the
3
+ * Liquid Glass components are available in the app.
4
+ *
5
+ * This only checks for component availability. The value may also be `true` if the user has enabled
6
+ * accessibility settings that limit the Liquid Glass effect.
7
+ * To check if the user has disabled the Liquid Glass effect via accessibility settings, use
8
+ * [`AccessibilityInfo.isReduceTransparencyEnabled()`](https://reactnative.dev/docs/accessibilityinfo#isreducetransparencyenabled-ios).
9
+ *
10
+ * @platform ios
11
+ */
12
+ export declare function isLiquidGlassAvailable(): boolean;
13
+ //# sourceMappingURL=isLiquidGlassAvailable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isLiquidGlassAvailable.d.ts","sourceRoot":"","sources":["../../src/environment/isLiquidGlassAvailable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Indicates whether the app is using the Liquid Glass design. The value will be `true` when the
3
+ * Liquid Glass components are available in the app.
4
+ *
5
+ * This only checks for component availability. The value may also be `true` if the user has enabled
6
+ * accessibility settings that limit the Liquid Glass effect.
7
+ * To check if the user has disabled the Liquid Glass effect via accessibility settings, use
8
+ * [`AccessibilityInfo.isReduceTransparencyEnabled()`](https://reactnative.dev/docs/accessibilityinfo#isreducetransparencyenabled-ios).
9
+ *
10
+ * @platform ios
11
+ */
12
+ export declare function isLiquidGlassAvailable(): boolean;
13
+ //# sourceMappingURL=isLiquidGlassAvailable.ios.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isLiquidGlassAvailable.ios.d.ts","sourceRoot":"","sources":["../../src/environment/isLiquidGlassAvailable.ios.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD"}
@@ -1,8 +1,8 @@
1
1
  {
2
- "@expo/fingerprint": "~0.14.4",
2
+ "@expo/fingerprint": "~0.14.6",
3
3
  "@expo/metro-runtime": "~6.1.1",
4
4
  "@expo/vector-icons": "^15.0.2",
5
- "@expo/ui": "~0.2.0-alpha.6",
5
+ "@expo/ui": "~0.2.0-alpha.8",
6
6
  "@react-native-async-storage/async-storage": "2.2.0",
7
7
  "@react-native-community/datetimepicker": "8.4.4",
8
8
  "@react-native-masked-view/masked-view": "0.3.2",
@@ -16,79 +16,79 @@
16
16
  "expo-analytics-amplitude": "~11.3.0",
17
17
  "expo-app-auth": "~11.1.0",
18
18
  "expo-app-loader-provider": "~8.0.0",
19
- "expo-apple-authentication": "~8.0.4",
20
- "expo-application": "~7.0.4",
21
- "expo-asset": "~12.0.5",
22
- "expo-audio": "~1.0.6",
23
- "expo-auth-session": "~7.0.5",
24
- "expo-av": "~16.0.4",
25
- "expo-background-fetch": "~14.0.4",
26
- "expo-background-task": "~1.0.4",
27
- "expo-battery": "~10.0.4",
28
- "expo-blur": "~15.0.4",
29
- "expo-brightness": "~14.0.4",
30
- "expo-build-properties": "~1.0.5",
31
- "expo-calendar": "~15.0.5",
32
- "expo-camera": "~17.0.4",
33
- "expo-cellular": "~8.0.4",
34
- "expo-checkbox": "~5.0.4",
35
- "expo-clipboard": "~8.0.4",
36
- "expo-constants": "~18.0.5",
37
- "expo-contacts": "~15.0.5",
38
- "expo-crypto": "~15.0.4",
39
- "expo-dev-client": "~6.0.6",
40
- "expo-device": "~8.0.4",
41
- "expo-document-picker": "~14.0.4",
42
- "expo-file-system": "~19.0.6",
43
- "expo-font": "~14.0.5",
44
- "expo-gl": "~16.0.4",
19
+ "expo-apple-authentication": "~8.0.6",
20
+ "expo-application": "~7.0.6",
21
+ "expo-asset": "~12.0.7",
22
+ "expo-audio": "~1.0.8",
23
+ "expo-auth-session": "~7.0.6",
24
+ "expo-av": "~16.0.6",
25
+ "expo-background-fetch": "~14.0.6",
26
+ "expo-background-task": "~1.0.6",
27
+ "expo-battery": "~10.0.6",
28
+ "expo-blur": "~15.0.6",
29
+ "expo-brightness": "~14.0.6",
30
+ "expo-build-properties": "~1.0.7",
31
+ "expo-calendar": "~15.0.6",
32
+ "expo-camera": "~17.0.6",
33
+ "expo-cellular": "~8.0.6",
34
+ "expo-checkbox": "~5.0.6",
35
+ "expo-clipboard": "~8.0.6",
36
+ "expo-constants": "~18.0.7",
37
+ "expo-contacts": "~15.0.7",
38
+ "expo-crypto": "~15.0.6",
39
+ "expo-dev-client": "~6.0.8",
40
+ "expo-device": "~8.0.6",
41
+ "expo-document-picker": "~14.0.6",
42
+ "expo-file-system": "~19.0.8",
43
+ "expo-font": "~14.0.7",
44
+ "expo-gl": "~16.0.6",
45
45
  "expo-google-app-auth": "~8.3.0",
46
- "expo-haptics": "~15.0.4",
47
- "expo-image": "~3.0.4",
46
+ "expo-haptics": "~15.0.6",
47
+ "expo-image": "~3.0.6",
48
48
  "expo-image-loader": "~6.0.0",
49
- "expo-image-manipulator": "~14.0.4",
50
- "expo-image-picker": "~17.0.5",
51
- "expo-intent-launcher": "~13.0.4",
52
- "expo-insights": "~0.10.4",
53
- "expo-keep-awake": "~15.0.4",
54
- "expo-linear-gradient": "~15.0.4",
55
- "expo-linking": "~8.0.5",
56
- "expo-local-authentication": "~17.0.4",
57
- "expo-localization": "~17.0.4",
58
- "expo-location": "~19.0.4",
59
- "expo-mail-composer": "~15.0.4",
60
- "expo-manifests": "~1.0.5",
61
- "expo-maps": "~0.12.4",
62
- "expo-media-library": "~18.0.4",
63
- "expo-mesh-gradient": "~0.4.4",
64
- "expo-module-template": "~11.0.6",
65
- "expo-modules-core": "~3.0.9",
66
- "expo-navigation-bar": "~5.0.5",
67
- "expo-network": "~8.0.4",
68
- "expo-notifications": "~0.32.6",
69
- "expo-print": "~15.0.4",
70
- "expo-live-photo": "~1.0.4",
71
- "expo-router": "~6.0.0-beta.10",
72
- "expo-screen-capture": "~8.0.4",
73
- "expo-screen-orientation": "~9.0.4",
74
- "expo-secure-store": "~15.0.4",
75
- "expo-sensors": "~15.0.4",
76
- "expo-sharing": "~14.0.4",
77
- "expo-sms": "~14.0.4",
78
- "expo-speech": "~14.0.4",
79
- "expo-splash-screen": "~31.0.6",
80
- "expo-sqlite": "~16.0.5",
81
- "expo-status-bar": "~3.0.5",
82
- "expo-store-review": "~9.0.4",
83
- "expo-symbols": "~1.0.4",
84
- "expo-system-ui": "~6.0.4",
85
- "expo-task-manager": "~14.0.4",
86
- "expo-tracking-transparency": "~6.0.4",
87
- "expo-updates": "~29.0.6",
88
- "expo-video-thumbnails": "~10.0.4",
89
- "expo-video": "~3.0.7",
90
- "expo-web-browser": "~15.0.4",
91
- "jest-expo": "~54.0.5",
49
+ "expo-image-manipulator": "~14.0.6",
50
+ "expo-image-picker": "~17.0.6",
51
+ "expo-intent-launcher": "~13.0.6",
52
+ "expo-insights": "~0.10.6",
53
+ "expo-keep-awake": "~15.0.6",
54
+ "expo-linear-gradient": "~15.0.6",
55
+ "expo-linking": "~8.0.6",
56
+ "expo-local-authentication": "~17.0.6",
57
+ "expo-localization": "~17.0.6",
58
+ "expo-location": "~19.0.6",
59
+ "expo-mail-composer": "~15.0.6",
60
+ "expo-manifests": "~1.0.7",
61
+ "expo-maps": "~0.12.6",
62
+ "expo-media-library": "~18.0.6",
63
+ "expo-mesh-gradient": "~0.4.6",
64
+ "expo-module-template": "~11.0.8",
65
+ "expo-modules-core": "~3.0.11",
66
+ "expo-navigation-bar": "~5.0.7",
67
+ "expo-network": "~8.0.6",
68
+ "expo-notifications": "~0.32.8",
69
+ "expo-print": "~15.0.6",
70
+ "expo-live-photo": "~1.0.6",
71
+ "expo-router": "~6.0.0-preview.13",
72
+ "expo-screen-capture": "~8.0.6",
73
+ "expo-screen-orientation": "~9.0.6",
74
+ "expo-secure-store": "~15.0.6",
75
+ "expo-sensors": "~15.0.6",
76
+ "expo-sharing": "~14.0.6",
77
+ "expo-sms": "~14.0.6",
78
+ "expo-speech": "~14.0.6",
79
+ "expo-splash-screen": "~31.0.7",
80
+ "expo-sqlite": "~16.0.7",
81
+ "expo-status-bar": "~3.0.7",
82
+ "expo-store-review": "~9.0.6",
83
+ "expo-symbols": "~1.0.6",
84
+ "expo-system-ui": "~6.0.6",
85
+ "expo-task-manager": "~14.0.6",
86
+ "expo-tracking-transparency": "~6.0.6",
87
+ "expo-updates": "~29.0.8",
88
+ "expo-video-thumbnails": "~10.0.6",
89
+ "expo-video": "~3.0.8",
90
+ "expo-web-browser": "~15.0.6",
91
+ "jest-expo": "~54.0.7",
92
92
  "lottie-react-native": "~7.3.1",
93
93
  "react": "19.1.0",
94
94
  "react-dom": "19.1.0",
@@ -99,15 +99,15 @@
99
99
  "react-native-keyboard-controller": "1.18.5",
100
100
  "react-native-maps": "1.20.1",
101
101
  "react-native-pager-view": "6.9.1",
102
- "react-native-worklets": "~0.4.2",
103
- "react-native-reanimated": "~4.0.2",
102
+ "react-native-worklets": "~0.5.0",
103
+ "react-native-reanimated": "~4.1.0",
104
104
  "react-native-screens": "~4.15.4",
105
105
  "react-native-safe-area-context": "~5.6.0",
106
106
  "react-native-svg": "15.12.1",
107
107
  "react-native-view-shot": "4.0.3",
108
108
  "react-native-webview": "13.15.0",
109
109
  "sentry-expo": "~7.0.0",
110
- "unimodules-app-loader": "~6.0.4",
110
+ "unimodules-app-loader": "~6.0.6",
111
111
  "unimodules-image-loader-interface": "~6.1.0",
112
112
  "@shopify/react-native-skia": "2.2.3",
113
113
  "@shopify/flash-list": "2.0.2",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "platforms": ["apple", "android"],
3
3
  "apple": {
4
- "modules": ["ExpoFetchModule"],
4
+ "modules": ["ExpoFetchModule", "ExpoLiquidGlassConstantsModule"],
5
5
  "podspecPath": "Expo.podspec"
6
6
  },
7
7
  "android": {
@@ -16,34 +16,6 @@ open class ExpoAppDelegate: NSObject, @preconcurrency ReactNativeFactoryProvider
16
16
  private let defaultModuleName = "main"
17
17
  private let defaultInitialProps = [AnyHashable: Any]()
18
18
 
19
- func loadMacOSWindow(launchOptions: [UIApplication.LaunchOptionsKey: Any]?) {
20
- #if os(macOS)
21
- if let rootView = factory?.rootViewFactory.view(
22
- withModuleName: defaultModuleName,
23
- initialProperties: defaultInitialProps,
24
- launchOptions: launchOptions
25
- ) {
26
- let frame = NSRect(x: 0, y: 0, width: 1280, height: 720)
27
- let window = NSWindow(
28
- contentRect: NSRect.zero,
29
- styleMask: [.titled, .resizable, .closable, .miniaturizable],
30
- backing: .buffered,
31
- defer: false)
32
-
33
- window.title = defaultModuleName
34
- window.autorecalculatesKeyViewLoop = true
35
-
36
- let rootViewController = NSViewController()
37
- rootViewController.view = rootView
38
- rootView.frame = frame
39
-
40
- window.contentViewController = rootViewController
41
- window.makeKeyAndOrderFront(self)
42
- window.center()
43
- }
44
- #endif
45
- }
46
-
47
19
  public func bindReactNativeFactory(_ factory: RCTReactNativeFactory) {
48
20
  self.factory = factory
49
21
  }
@@ -141,9 +113,6 @@ open class ExpoAppDelegate: NSObject, @preconcurrency ReactNativeFactoryProvider
141
113
  }
142
114
 
143
115
  open func applicationDidFinishLaunching(_ notification: Notification) {
144
- let launchOptions = notification.userInfo as? [String: Any]
145
- loadMacOSWindow(launchOptions: launchOptions)
146
-
147
116
  ExpoAppDelegateSubscriberRepository
148
117
  .subscribers
149
118
  .forEach { subscriber in
@@ -5,6 +5,8 @@ import React
5
5
  @MainActor public class ExpoReactNativeFactory: RCTReactNativeFactory {
6
6
  private let reactDelegate = ExpoReactDelegate(handlers: ExpoAppDelegateSubscriberRepository.reactDelegateHandlers)
7
7
 
8
+ // TODO: Remove check when react-native-macos 0.81 is released
9
+ #if !os(macOS)
8
10
  @objc public override init(delegate: any RCTReactNativeFactoryDelegate) {
9
11
  let releaseLevel = (Bundle.main.object(forInfoDictionaryKey: "ReactNativeReleaseLevel") as? String)
10
12
  .flatMap { [
@@ -17,6 +19,7 @@ import React
17
19
 
18
20
  super.init(delegate: delegate, releaseLevel: releaseLevel)
19
21
  }
22
+ #endif
20
23
 
21
24
  @objc func createRCTRootViewFactory() -> RCTRootViewFactory {
22
25
  // Alan: This is temporary. We need to cast to ExpoReactNativeFactoryDelegate here because currently, if you extend RCTReactNativeFactory
@@ -39,10 +42,7 @@ import React
39
42
  return weakDelegate.createRootView(with: bridge, moduleName: moduleName, initProps: initProps)
40
43
  }
41
44
 
42
- // TODO: Remove this check when react-native-macos releases v0.79
43
- if configuration.responds(to: Selector(("setJsRuntimeConfiguratorDelegate:"))) {
44
- configuration.setValue(delegate, forKey: "jsRuntimeConfiguratorDelegate")
45
- }
45
+ configuration.jsRuntimeConfiguratorDelegate = delegate
46
46
 
47
47
  configuration.createBridgeWithDelegate = { delegate, launchOptions in
48
48
  weakDelegate.createBridge(with: delegate, launchOptions: launchOptions)
@@ -0,0 +1,21 @@
1
+ import ExpoModulesCore
2
+
3
+ public class ExpoLiquidGlassConstantsModule: Module {
4
+ public func definition() -> ModuleDefinition {
5
+ Name("ExpoLiquidGlassConstants")
6
+
7
+ Constant("isLiquidGlassAvailable") {
8
+ #if compiler(>=6.2) // Xcode 26
9
+ if #available(iOS 26.0, tvOS 26.0, macOS 26.0, *) { // iOS 26
10
+ if let infoPlist = Bundle.main.infoDictionary,
11
+ let requiresCompatibility = infoPlist["UIDesignRequiresCompatibility"] as? Bool {
12
+ // TODO(@uabx): Add a check for maximum SDK version when apple disables this flag
13
+ return !requiresCompatibility // If the app requires compatibility then it will not use liquid glass
14
+ }
15
+ return true
16
+ }
17
+ #endif
18
+ return false
19
+ }
20
+ }
21
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo",
3
- "version": "54.0.0-preview.11",
3
+ "version": "54.0.0-preview.13",
4
4
  "description": "The Expo SDK",
5
5
  "main": "src/Expo.ts",
6
6
  "module": "src/Expo.ts",
@@ -75,23 +75,23 @@
75
75
  "homepage": "https://github.com/expo/expo/tree/main/packages/expo",
76
76
  "dependencies": {
77
77
  "@babel/runtime": "^7.20.0",
78
- "@expo/cli": "0.26.5",
79
- "@expo/config": "~12.0.5",
80
- "@expo/config-plugins": "~11.0.5",
81
- "@expo/devtools": "0.1.4",
82
- "@expo/fingerprint": "0.14.4",
78
+ "@expo/cli": "0.26.7",
79
+ "@expo/config": "~12.0.7",
80
+ "@expo/config-plugins": "~11.0.7",
81
+ "@expo/devtools": "0.1.6",
82
+ "@expo/fingerprint": "0.14.6",
83
83
  "@expo/metro": "~0.1.1",
84
- "@expo/metro-config": "0.21.6",
84
+ "@expo/metro-config": "0.21.8",
85
85
  "@expo/vector-icons": "^15.0.2",
86
86
  "@ungap/structured-clone": "^1.3.0",
87
- "babel-preset-expo": "~14.0.4",
88
- "expo-asset": "~12.0.5",
89
- "expo-constants": "~18.0.5",
90
- "expo-file-system": "~19.0.6",
91
- "expo-font": "~14.0.5",
92
- "expo-keep-awake": "~15.0.4",
93
- "expo-modules-autolinking": "3.0.4",
94
- "expo-modules-core": "3.0.9",
87
+ "babel-preset-expo": "~14.0.6",
88
+ "expo-asset": "~12.0.7",
89
+ "expo-constants": "~18.0.7",
90
+ "expo-file-system": "~19.0.8",
91
+ "expo-font": "~14.0.7",
92
+ "expo-keep-awake": "~15.0.6",
93
+ "expo-modules-autolinking": "3.0.6",
94
+ "expo-modules-core": "3.0.11",
95
95
  "pretty-format": "^29.7.0",
96
96
  "react-refresh": "^0.14.2",
97
97
  "whatwg-url-without-unicode": "8.0.0-3"
@@ -100,7 +100,7 @@
100
100
  "@types/node": "^22.14.0",
101
101
  "@types/react": "~19.1.10",
102
102
  "@types/react-test-renderer": "~19.1.0",
103
- "expo-module-scripts": "^5.0.5",
103
+ "expo-module-scripts": "^5.0.6",
104
104
  "react": "19.1.0",
105
105
  "react-dom": "19.1.0",
106
106
  "react-native": "0.81.1",
@@ -124,5 +124,5 @@
124
124
  "optional": true
125
125
  }
126
126
  },
127
- "gitHead": "5e15f3a5d68bc213ad36d59113d725fdea4f3411"
127
+ "gitHead": "d635404a12ea7996b987ce0fb7679a238ebcf31b"
128
128
  }
package/src/Expo.ts CHANGED
@@ -4,6 +4,7 @@ export { disableErrorHandling } from './errors/ExpoErrorManager';
4
4
  export { default as registerRootComponent } from './launch/registerRootComponent';
5
5
 
6
6
  export { isRunningInExpoGo, getExpoGoProjectConfig } from './environment/ExpoGo';
7
+ export { isLiquidGlassAvailable } from './environment/isLiquidGlassAvailable';
7
8
 
8
9
  export {
9
10
  // Core classes
@@ -0,0 +1,20 @@
1
+ import { requireNativeModule } from 'expo-modules-core';
2
+
3
+ const IS_LIQUID_GLASS_AVAILABLE = requireNativeModule(
4
+ 'ExpoLiquidGlassConstants'
5
+ ).isLiquidGlassAvailable;
6
+
7
+ /**
8
+ * Indicates whether the app is using the Liquid Glass design. The value will be `true` when the
9
+ * Liquid Glass components are available in the app.
10
+ *
11
+ * This only checks for component availability. The value may also be `true` if the user has enabled
12
+ * accessibility settings that limit the Liquid Glass effect.
13
+ * To check if the user has disabled the Liquid Glass effect via accessibility settings, use
14
+ * [`AccessibilityInfo.isReduceTransparencyEnabled()`](https://reactnative.dev/docs/accessibilityinfo#isreducetransparencyenabled-ios).
15
+ *
16
+ * @platform ios
17
+ */
18
+ export function isLiquidGlassAvailable(): boolean {
19
+ return IS_LIQUID_GLASS_AVAILABLE;
20
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Indicates whether the app is using the Liquid Glass design. The value will be `true` when the
3
+ * Liquid Glass components are available in the app.
4
+ *
5
+ * This only checks for component availability. The value may also be `true` if the user has enabled
6
+ * accessibility settings that limit the Liquid Glass effect.
7
+ * To check if the user has disabled the Liquid Glass effect via accessibility settings, use
8
+ * [`AccessibilityInfo.isReduceTransparencyEnabled()`](https://reactnative.dev/docs/accessibilityinfo#isreducetransparencyenabled-ios).
9
+ *
10
+ * @platform ios
11
+ */
12
+ export function isLiquidGlassAvailable(): boolean {
13
+ return false;
14
+ }
package/template.tgz CHANGED
Binary file