expo-dev-menu 7.0.2 → 7.0.3

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 CHANGED
@@ -10,6 +10,12 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 7.0.3 — 2025-08-18
14
+
15
+ ### 💡 Others
16
+
17
+ - [ios] Wrap system color references for dev client. ([#38912](https://github.com/expo/expo/pull/38912) by [@douglowder](https://github.com/douglowder))
18
+
13
19
  ## 7.0.2 — 2025-08-16
14
20
 
15
21
  ### 🐛 Bug fixes
@@ -12,7 +12,7 @@ apply plugin: 'expo-module-gradle-plugin'
12
12
  apply plugin: 'org.jetbrains.kotlin.plugin.compose'
13
13
 
14
14
  group = 'host.exp.exponent'
15
- version = '7.0.2'
15
+ version = '7.0.3'
16
16
 
17
17
  expoModule {
18
18
  canBePublished false
@@ -22,7 +22,7 @@ android {
22
22
  namespace "expo.modules.devmenu"
23
23
  defaultConfig {
24
24
  versionCode 10
25
- versionName '7.0.2'
25
+ versionName '7.0.3'
26
26
  }
27
27
  buildFeatures {
28
28
  compose true
@@ -35,10 +35,12 @@ class DevMenuGestureRecognizer: UILongPressGestureRecognizer {
35
35
  init() {
36
36
  super.init(target: DevMenuGestureRecognizer.gestureDelegate, action: #selector(DevMenuGestureRecognizer.gestureDelegate.handleLongPress(_:)))
37
37
 
38
- #if !os(tvOS)
38
+ #if os(tvOS)
39
+ minimumPressDuration = 2.0
40
+ #else
39
41
  numberOfTouchesRequired = 3
40
- #endif
41
42
  minimumPressDuration = 0.5
43
+ #endif
42
44
  allowableMovement = 30
43
45
  }
44
46
  }
@@ -25,6 +25,15 @@ public class DevMenuPreferences: Module {
25
25
  and applying some preferences to static classes like interceptors.
26
26
  */
27
27
  static func setup() {
28
+ #if os(tvOS)
29
+ UserDefaults.standard.register(defaults: [
30
+ motionGestureEnabledKey: false,
31
+ touchGestureEnabledKey: false,
32
+ keyCommandsEnabledKey: true,
33
+ showsAtLaunchKey: false,
34
+ isOnboardingFinishedKey: true
35
+ ])
36
+ #else
28
37
  UserDefaults.standard.register(defaults: [
29
38
  motionGestureEnabledKey: true,
30
39
  touchGestureEnabledKey: true,
@@ -32,6 +41,7 @@ public class DevMenuPreferences: Module {
32
41
  showsAtLaunchKey: false,
33
42
  isOnboardingFinishedKey: false
34
43
  ])
44
+ #endif
35
45
 
36
46
  /*
37
47
  We don't want to uninstall `DevMenuMotionInterceptor`, because otherwise, the app on shake gesture will bring up the dev-menu from the RN.
@@ -26,9 +26,7 @@ struct CustomItems: View {
26
26
  }
27
27
  .padding()
28
28
  }
29
- #if !os(tvOS)
30
- .background(Color(.secondarySystemBackground))
31
- #endif
29
+ .background(Color.expoSecondarySystemBackground)
32
30
  .clipShape(RoundedRectangle(cornerRadius: 12))
33
31
  }
34
32
  }
@@ -12,9 +12,7 @@ struct DevMenuActions: View {
12
12
  icon: "arrow.clockwise",
13
13
  action: onReload
14
14
  )
15
- #if !os(tvOS)
16
- .background(Color(.secondarySystemBackground))
17
- #endif
15
+ .background(Color.expoSecondarySystemBackground)
18
16
  .cornerRadius(18)
19
17
 
20
18
  if isDevLauncherInstalled {
@@ -23,9 +21,7 @@ struct DevMenuActions: View {
23
21
  icon: "house.fill",
24
22
  action: onGoHome
25
23
  )
26
- #if !os(tvOS)
27
- .background(Color(.secondarySystemBackground))
28
- #endif
24
+ .background(Color.expoSecondarySystemBackground)
29
25
  .cornerRadius(18)
30
26
  }
31
27
  }
@@ -1,5 +1,7 @@
1
1
  import SwiftUI
2
2
 
3
+ // swiftlint:disable closure_body_length
4
+
3
5
  struct DevMenuAppInfo: View {
4
6
  @EnvironmentObject var viewModel: DevMenuViewModel
5
7
 
@@ -41,9 +43,7 @@ struct DevMenuAppInfo: View {
41
43
  .disabled(viewModel.clipboardMessage != nil)
42
44
  }
43
45
  }
44
- #if !os(tvOS)
45
- .background(Color(.systemBackground))
46
- #endif
46
+ .background(Color.expoSystemBackground)
47
47
  .cornerRadius(18)
48
48
  }
49
49
  }
@@ -67,3 +67,4 @@ struct InfoRow: View {
67
67
  .padding(.vertical)
68
68
  }
69
69
  }
70
+ // swiftlint:enable closure_body_length
@@ -30,9 +30,7 @@ struct DevMenuActionButton: View {
30
30
  .padding()
31
31
  }
32
32
  .disabled(disabled)
33
- #if !os(tvOS)
34
- .background(Color(.secondarySystemBackground))
35
- #endif
33
+ .background(Color.expoSecondarySystemBackground)
36
34
  .opacity(disabled ? 0.6 : 1.0)
37
35
  }
38
36
  }
@@ -71,9 +69,7 @@ struct DevMenuToggleButton: View {
71
69
  .disabled(disabled)
72
70
  }
73
71
  .padding()
74
- #if !os(tvOS)
75
- .background(Color(.secondarySystemBackground))
76
- #endif
72
+ .background(Color.expoSecondarySystemBackground)
77
73
  .opacity(disabled ? 0.6 : 1.0)
78
74
  }
79
75
  }
@@ -1,5 +1,7 @@
1
1
  import SwiftUI
2
2
 
3
+ // swiftlint:disable closure_body_length
4
+
3
5
  struct DevMenuDeveloperTools: View {
4
6
  @EnvironmentObject var viewModel: DevMenuViewModel
5
7
 
@@ -46,9 +48,7 @@ struct DevMenuDeveloperTools: View {
46
48
  disabled: !(viewModel.devSettings?.isHotLoadingAvailable ?? true)
47
49
  )
48
50
  }
49
- #if !os(tvOS)
50
- .background(Color(.systemBackground))
51
- #endif
51
+ .background(Color.expoSystemBackground)
52
52
  .cornerRadius(18)
53
53
  }
54
54
  }
@@ -57,3 +57,5 @@ struct DevMenuDeveloperTools: View {
57
57
  #Preview {
58
58
  DevMenuDeveloperTools()
59
59
  }
60
+
61
+ // swiftlint:enable closure_body_length
@@ -5,14 +5,12 @@ struct DevMenuOnboardingView: View {
5
5
  @State private var isVisible = true
6
6
 
7
7
  var body: some View {
8
- if isVisible {
9
- Rectangle()
10
- .fill(.ultraThinMaterial)
11
- .ignoresSafeArea()
12
- .overlay(onboardingOverlay)
13
- .opacity(isVisible ? 1.0 : 0.0)
14
- .animation(.easeInOut(duration: 0.3), value: isVisible)
15
- }
8
+ Rectangle()
9
+ .fill(.ultraThinMaterial)
10
+ .ignoresSafeArea()
11
+ .overlay(onboardingOverlay)
12
+ .offset(x: 0, y: isVisible ? 0.0 : 650.0)
13
+ .animation(.easeInOut(duration: 0.5), value: isVisible)
16
14
  }
17
15
 
18
16
  private var onboardingOverlay: some View {
@@ -14,9 +14,7 @@ struct DevMenuRNDevMenu: View {
14
14
  }
15
15
  .padding()
16
16
  }
17
- #if !os(tvOS)
18
- .background(Color(.secondarySystemBackground))
19
- #endif
17
+ .background(Color.expoSecondarySystemBackground)
20
18
  .cornerRadius(18)
21
19
  }
22
20
  }
@@ -30,9 +30,7 @@ struct HeaderView: View {
30
30
  } label: {
31
31
  ZStack {
32
32
  Circle()
33
- #if !os(tvOS)
34
- .fill(Color(.systemGray6))
35
- #endif
33
+ .fill(Color.expoSystemGray6)
36
34
  .frame(width: 36, height: 36)
37
35
 
38
36
  Image(systemName: "xmark")
@@ -27,9 +27,7 @@ struct HostUrl: View {
27
27
  .foregroundColor(.secondary.opacity(0.7))
28
28
  }
29
29
  .padding()
30
- #if !os(tvOS)
31
- .background(Color(.secondarySystemBackground))
32
- #endif
30
+ .background(Color.expoSecondarySystemBackground)
33
31
  .cornerRadius(20)
34
32
  }
35
33
  .buttonStyle(.plain)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-dev-menu",
3
- "version": "7.0.2",
3
+ "version": "7.0.3",
4
4
  "description": "Expo/React Native module with the developer menu.",
5
5
  "main": "build/DevMenu.js",
6
6
  "types": "build/DevMenu.d.ts",
@@ -52,5 +52,5 @@
52
52
  "peerDependencies": {
53
53
  "expo": "*"
54
54
  },
55
- "gitHead": "eaa9b645058cf2233fbb27bb21a19bc605c90a88"
55
+ "gitHead": "475cdabd3faad56f0e8c4abcaaf21140c01c094f"
56
56
  }