expo-router 7.0.0-canary-20251127-587bc53 → 7.0.0-canary-20251205-a1dedc6
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/android/build.gradle +2 -2
- package/build/fork/getStateFromPath-forks.d.ts +5 -10
- package/build/fork/getStateFromPath-forks.d.ts.map +1 -1
- package/build/fork/getStateFromPath-forks.js +14 -13
- package/build/fork/getStateFromPath-forks.js.map +1 -1
- package/build/fork/getStateFromPath.js +3 -3
- package/build/fork/getStateFromPath.js.map +1 -1
- package/build/fork/native-stack/createNativeStackNavigator.d.ts.map +1 -1
- package/build/fork/native-stack/createNativeStackNavigator.js +12 -3
- package/build/fork/native-stack/createNativeStackNavigator.js.map +1 -1
- package/build/fork/native-stack/descriptors-context.d.ts +8 -0
- package/build/fork/native-stack/descriptors-context.d.ts.map +1 -0
- package/build/fork/native-stack/descriptors-context.js +6 -0
- package/build/fork/native-stack/descriptors-context.js.map +1 -0
- package/build/internal/utils.d.ts +1 -0
- package/build/internal/utils.d.ts.map +1 -1
- package/build/internal/utils.js +3 -1
- package/build/internal/utils.js.map +1 -1
- package/build/layouts/StackClient.d.ts.map +1 -1
- package/build/layouts/StackClient.js +34 -1
- package/build/layouts/StackClient.js.map +1 -1
- package/build/link/ExpoLink.d.ts.map +1 -1
- package/build/link/ExpoLink.js +12 -4
- package/build/link/ExpoLink.js.map +1 -1
- package/build/link/Link.d.ts +2 -0
- package/build/link/Link.d.ts.map +1 -1
- package/build/link/Link.js +2 -0
- package/build/link/Link.js.map +1 -1
- package/build/link/LinkWithPreview.d.ts +6 -1
- package/build/link/LinkWithPreview.d.ts.map +1 -1
- package/build/link/LinkWithPreview.js +6 -5
- package/build/link/LinkWithPreview.js.map +1 -1
- package/build/link/elements.d.ts +8 -0
- package/build/link/elements.d.ts.map +1 -1
- package/build/link/elements.js +7 -2
- package/build/link/elements.js.map +1 -1
- package/build/link/preview/native.d.ts +17 -0
- package/build/link/preview/native.d.ts.map +1 -1
- package/build/link/preview/native.js +22 -0
- package/build/link/preview/native.js.map +1 -1
- package/build/link/zoom/ZoomTransitionEnabler.d.ts +5 -0
- package/build/link/zoom/ZoomTransitionEnabler.d.ts.map +1 -0
- package/build/link/zoom/ZoomTransitionEnabler.ios.d.ts +5 -0
- package/build/link/zoom/ZoomTransitionEnabler.ios.d.ts.map +1 -0
- package/build/link/zoom/ZoomTransitionEnabler.ios.js +44 -0
- package/build/link/zoom/ZoomTransitionEnabler.ios.js.map +1 -0
- package/build/link/zoom/ZoomTransitionEnabler.js +13 -0
- package/build/link/zoom/ZoomTransitionEnabler.js.map +1 -0
- package/build/link/zoom/ZoomTransitionEnabler.types.d.ts +4 -0
- package/build/link/zoom/ZoomTransitionEnabler.types.d.ts.map +1 -0
- package/build/link/zoom/ZoomTransitionEnabler.types.js +3 -0
- package/build/link/zoom/ZoomTransitionEnabler.types.js.map +1 -0
- package/build/link/zoom/link-apple-zoom.d.ts +23 -0
- package/build/link/zoom/link-apple-zoom.d.ts.map +1 -0
- package/build/link/zoom/link-apple-zoom.js +40 -0
- package/build/link/zoom/link-apple-zoom.js.map +1 -0
- package/build/link/zoom/useZoomTransitionPrimitives.d.ts +6 -0
- package/build/link/zoom/useZoomTransitionPrimitives.d.ts.map +1 -0
- package/build/link/zoom/useZoomTransitionPrimitives.ios.d.ts +11 -0
- package/build/link/zoom/useZoomTransitionPrimitives.ios.d.ts.map +1 -0
- package/build/link/zoom/useZoomTransitionPrimitives.ios.js +66 -0
- package/build/link/zoom/useZoomTransitionPrimitives.ios.js.map +1 -0
- package/build/link/zoom/useZoomTransitionPrimitives.js +9 -0
- package/build/link/zoom/useZoomTransitionPrimitives.js.map +1 -0
- package/build/link/zoom/zoom-transition-context.d.ts +7 -0
- package/build/link/zoom/zoom-transition-context.d.ts.map +1 -0
- package/build/link/zoom/zoom-transition-context.js +6 -0
- package/build/link/zoom/zoom-transition-context.js.map +1 -0
- package/build/native-tabs/NativeBottomTabsNavigator.d.ts +3 -15
- package/build/native-tabs/NativeBottomTabsNavigator.d.ts.map +1 -1
- package/build/native-tabs/NativeBottomTabsNavigator.js +10 -2
- package/build/native-tabs/NativeBottomTabsNavigator.js.map +1 -1
- package/build/native-tabs/NativeBottomTabsRouter.d.ts.map +1 -1
- package/build/native-tabs/NativeBottomTabsRouter.js +12 -1
- package/build/native-tabs/NativeBottomTabsRouter.js.map +1 -1
- package/build/native-tabs/NativeTabTrigger.d.ts +1 -1
- package/build/native-tabs/NativeTabTrigger.d.ts.map +1 -1
- package/build/native-tabs/NativeTabTrigger.js +3 -1
- package/build/native-tabs/NativeTabTrigger.js.map +1 -1
- package/build/native-tabs/NativeTabs.d.ts +6 -3
- package/build/native-tabs/NativeTabs.d.ts.map +1 -1
- package/build/native-tabs/NativeTabs.js +7 -2
- package/build/native-tabs/NativeTabs.js.map +1 -1
- package/build/native-tabs/NativeTabsView.d.ts.map +1 -1
- package/build/native-tabs/NativeTabsView.js +26 -3
- package/build/native-tabs/NativeTabsView.js.map +1 -1
- package/build/native-tabs/common/elements.d.ts +25 -0
- package/build/native-tabs/common/elements.d.ts.map +1 -1
- package/build/native-tabs/common/elements.js +26 -1
- package/build/native-tabs/common/elements.js.map +1 -1
- package/build/native-tabs/hooks.d.ts +45 -0
- package/build/native-tabs/hooks.d.ts.map +1 -0
- package/build/native-tabs/hooks.js +57 -0
- package/build/native-tabs/hooks.js.map +1 -0
- package/build/native-tabs/types.d.ts +36 -2
- package/build/native-tabs/types.d.ts.map +1 -1
- package/build/native-tabs/types.js.map +1 -1
- package/build/native-tabs/utils/bottomAccessory.d.ts +9 -0
- package/build/native-tabs/utils/bottomAccessory.d.ts.map +1 -0
- package/build/native-tabs/utils/bottomAccessory.js +17 -0
- package/build/native-tabs/utils/bottomAccessory.js.map +1 -0
- package/build/navigationParams.d.ts +3 -1
- package/build/navigationParams.d.ts.map +1 -1
- package/build/navigationParams.js +5 -1
- package/build/navigationParams.js.map +1 -1
- package/build/toolbar/elements.d.ts +24 -0
- package/build/toolbar/elements.d.ts.map +1 -0
- package/build/toolbar/elements.js +36 -0
- package/build/toolbar/elements.js.map +1 -0
- package/build/toolbar/index.d.ts +9 -0
- package/build/toolbar/index.d.ts.map +1 -0
- package/build/toolbar/index.js +12 -0
- package/build/toolbar/index.js.map +1 -0
- package/build/toolbar/native.d.ts +4 -0
- package/build/toolbar/native.d.ts.map +1 -0
- package/build/toolbar/native.ios.d.ts +4 -0
- package/build/toolbar/native.ios.d.ts.map +1 -0
- package/build/toolbar/native.ios.js +21 -0
- package/build/toolbar/native.ios.js.map +1 -0
- package/build/toolbar/native.js +11 -0
- package/build/toolbar/native.js.map +1 -0
- package/build/toolbar/native.types.d.ts +30 -0
- package/build/toolbar/native.types.d.ts.map +1 -0
- package/build/toolbar/native.types.js +3 -0
- package/build/toolbar/native.types.js.map +1 -0
- package/build/useScreens.d.ts.map +1 -1
- package/build/useScreens.js +13 -5
- package/build/useScreens.js.map +1 -1
- package/build/views/Sitemap.js +3 -2
- package/build/views/Sitemap.js.map +1 -1
- package/expo-module.config.json +2 -2
- package/ios/LinkPreview/LinkPreviewNativeActionView.swift +1 -0
- package/ios/LinkPreview/LinkPreviewNativeModule.swift +49 -1
- package/ios/LinkPreview/LinkPreviewNativeNavigation.swift +132 -70
- package/ios/LinkPreview/LinkPreviewNativeView.swift +28 -14
- package/ios/LinkPreview/LinkZoomTransition.swift +227 -0
- package/ios/Toolbar/RouterToolbarHostView.swift +140 -0
- package/ios/Toolbar/RouterToolbarItemView.swift +171 -0
- package/ios/Toolbar/RouterToolbarModule.swift +102 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.module → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.module} +7 -7
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.module.md5 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.pom → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.pom} +1 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.pom.sha512 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml +4 -4
- package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.md5 +1 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha1 +1 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha256 +1 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha512 +1 -1
- package/package.json +14 -12
- package/unstable-toolbar.d.ts +1 -0
- package/unstable-toolbar.js +1 -0
- package/ios/LinkPreview/LinkPreviewNativeNavigation.h +0 -50
- package/ios/LinkPreview/LinkPreviewNativeNavigation.mm +0 -164
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.module.md5 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.pom.sha512 +0 -1
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53-sources.jar → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6-sources.jar} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53-sources.jar.md5 → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6-sources.jar.md5} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53-sources.jar.sha1 → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6-sources.jar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53-sources.jar.sha256 → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6-sources.jar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53-sources.jar.sha512 → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6-sources.jar.sha512} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.aar → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.aar} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.aar.md5 → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.aar.md5} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.aar.sha1 → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.aar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.aar.sha256 → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.aar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20251127-587bc53/expo.modules.router-7.0.0-canary-20251127-587bc53.aar.sha512 → 7.0.0-canary-20251205-a1dedc6/expo.modules.router-7.0.0-canary-20251205-a1dedc6.aar.sha512} +0 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import ExpoModulesCore
|
|
2
|
+
|
|
3
|
+
public class RouterToolbarModule: Module {
|
|
4
|
+
public func definition() -> ModuleDefinition {
|
|
5
|
+
Name("ExpoRouterToolbarModule")
|
|
6
|
+
|
|
7
|
+
View(RouterToolbarHostView.self) {
|
|
8
|
+
Prop("disableForceFlatten") { (_: RouterToolbarHostView, _: Bool) in
|
|
9
|
+
// This prop is used in ExpoShadowNode in order to disable force flattening, when display: contents is used
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
View(RouterToolbarItemView.self) {
|
|
13
|
+
Prop("identifier") { (view: RouterToolbarItemView, identifier: String) in
|
|
14
|
+
view.identifier = identifier
|
|
15
|
+
}
|
|
16
|
+
Prop("type") { (view: RouterToolbarItemView, type: ItemType) in
|
|
17
|
+
view.type = type
|
|
18
|
+
}
|
|
19
|
+
Prop("title") { (view: RouterToolbarItemView, title: String?) in
|
|
20
|
+
view.title = title
|
|
21
|
+
}
|
|
22
|
+
Prop("systemImageName") { (view: RouterToolbarItemView, systemImageName: String?) in
|
|
23
|
+
view.systemImageName = systemImageName
|
|
24
|
+
}
|
|
25
|
+
Prop("tintColor") { (view: RouterToolbarItemView, tintColor: UIColor?) in
|
|
26
|
+
view.customTintColor = tintColor
|
|
27
|
+
}
|
|
28
|
+
Prop("hidesSharedBackground") { (view: RouterToolbarItemView, hidesSharedBackground: Bool) in
|
|
29
|
+
view.hidesSharedBackground = hidesSharedBackground
|
|
30
|
+
}
|
|
31
|
+
Prop("sharesBackground") { (view: RouterToolbarItemView, sharesBackground: Bool) in
|
|
32
|
+
view.sharesBackground = sharesBackground
|
|
33
|
+
}
|
|
34
|
+
Prop("disableForceFlatten") { (_: RouterToolbarItemView, _: Bool) in
|
|
35
|
+
// This prop is used in ExpoShadowNode in order to disable force flattening, when display: contents is used
|
|
36
|
+
}
|
|
37
|
+
Prop("barButtonItemStyle") { (view: RouterToolbarItemView, style: BarItemStyle?) in
|
|
38
|
+
view.barButtonItemStyle = style?.toUIBarButtonItemStyle()
|
|
39
|
+
}
|
|
40
|
+
Prop("width") { (view: RouterToolbarItemView, width: Double?) in
|
|
41
|
+
view.width = width
|
|
42
|
+
}
|
|
43
|
+
Prop("hidden") { (view: RouterToolbarItemView, hidden: Bool) in
|
|
44
|
+
view.routerHidden = hidden
|
|
45
|
+
}
|
|
46
|
+
Prop("selected") { (view: RouterToolbarItemView, selected: Bool) in
|
|
47
|
+
view.selected = selected
|
|
48
|
+
}
|
|
49
|
+
Prop("possibleTitles") { (view: RouterToolbarItemView, possibleTitles: [String]?) in
|
|
50
|
+
if let possibleTitles = possibleTitles {
|
|
51
|
+
view.possibleTitles = Set(possibleTitles)
|
|
52
|
+
} else {
|
|
53
|
+
view.possibleTitles = nil
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
Prop("badgeConfiguration") {
|
|
57
|
+
(view: RouterToolbarItemView, config: BadgeConfigurationRecord?) in
|
|
58
|
+
view.badgeConfiguration = config?.toBadgeConfiguration()
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Events("onSelected")
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
enum BarItemStyle: String, Enumerable {
|
|
67
|
+
case plain
|
|
68
|
+
case prominent
|
|
69
|
+
|
|
70
|
+
func toUIBarButtonItemStyle() -> UIBarButtonItem.Style {
|
|
71
|
+
switch self {
|
|
72
|
+
case .plain:
|
|
73
|
+
return .plain
|
|
74
|
+
case .prominent:
|
|
75
|
+
if #available(iOS 26.0, *) {
|
|
76
|
+
return .prominent
|
|
77
|
+
} else {
|
|
78
|
+
return .done
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
struct BadgeConfigurationRecord: Record {
|
|
85
|
+
@Field var value: String?
|
|
86
|
+
@Field var backgroundColor: UIColor?
|
|
87
|
+
@Field var color: UIColor?
|
|
88
|
+
@Field var fontFamily: String?
|
|
89
|
+
@Field var fontSize: Double?
|
|
90
|
+
@Field var fontWeight: String?
|
|
91
|
+
|
|
92
|
+
func toBadgeConfiguration() -> BadgeConfiguration {
|
|
93
|
+
return BadgeConfiguration(
|
|
94
|
+
value: value,
|
|
95
|
+
backgroundColor: backgroundColor,
|
|
96
|
+
color: color,
|
|
97
|
+
fontFamily: fontFamily,
|
|
98
|
+
fontSize: fontSize,
|
|
99
|
+
fontWeight: fontWeight
|
|
100
|
+
)
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "expo.modules.router",
|
|
5
5
|
"module": "expo.modules.router",
|
|
6
|
-
"version": "7.0.0-canary-
|
|
6
|
+
"version": "7.0.0-canary-20251205-a1dedc6",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
{
|
|
27
|
-
"name": "expo.modules.router-7.0.0-canary-
|
|
28
|
-
"url": "expo.modules.router-7.0.0-canary-
|
|
27
|
+
"name": "expo.modules.router-7.0.0-canary-20251205-a1dedc6.aar",
|
|
28
|
+
"url": "expo.modules.router-7.0.0-canary-20251205-a1dedc6.aar",
|
|
29
29
|
"size": 13671,
|
|
30
30
|
"sha512": "f51bd2a6d3fcc9075dbf99d66f77162d530586d0793d68e109a55f6edfbe4ff98bc9c9c5d587d0feec99807b6ae94a729232000e89f840278b21f4d423caa520",
|
|
31
31
|
"sha256": "089d182f36875a201ad1b30b44d39812cd5155af987f3d33cd5eef8542103c82",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
],
|
|
61
61
|
"files": [
|
|
62
62
|
{
|
|
63
|
-
"name": "expo.modules.router-7.0.0-canary-
|
|
64
|
-
"url": "expo.modules.router-7.0.0-canary-
|
|
63
|
+
"name": "expo.modules.router-7.0.0-canary-20251205-a1dedc6.aar",
|
|
64
|
+
"url": "expo.modules.router-7.0.0-canary-20251205-a1dedc6.aar",
|
|
65
65
|
"size": 13671,
|
|
66
66
|
"sha512": "f51bd2a6d3fcc9075dbf99d66f77162d530586d0793d68e109a55f6edfbe4ff98bc9c9c5d587d0feec99807b6ae94a729232000e89f840278b21f4d423caa520",
|
|
67
67
|
"sha256": "089d182f36875a201ad1b30b44d39812cd5155af987f3d33cd5eef8542103c82",
|
|
@@ -80,8 +80,8 @@
|
|
|
80
80
|
},
|
|
81
81
|
"files": [
|
|
82
82
|
{
|
|
83
|
-
"name": "expo.modules.router-7.0.0-canary-
|
|
84
|
-
"url": "expo.modules.router-7.0.0-canary-
|
|
83
|
+
"name": "expo.modules.router-7.0.0-canary-20251205-a1dedc6-sources.jar",
|
|
84
|
+
"url": "expo.modules.router-7.0.0-canary-20251205-a1dedc6-sources.jar",
|
|
85
85
|
"size": 2318,
|
|
86
86
|
"sha512": "9864add8e93e3c0a9a9c930aaed67016b15054c3fafd59a0bd3a5402d7cdc5827be84c22c2c137f3e5acb4e39270d9bfb9ca3fe11234458d4f2e0d4c78747f48",
|
|
87
87
|
"sha256": "d5dff6259e86de721fc0f07fe740a5e18088e19b76738719b0a6f94caef06224",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
89f4eac3c37b58c211d05a734a90de25
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
96cd5b19fb079e238d7c72034e56e487abc24439
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
c6b6e619daa20963920b3598d2cb222ae60e397af30e2a73c34e477e0b5ba3a4
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3ba10edb290a85e3420589a307207a6b14f3bb6766f9c240f69151112cd513f06c36d432a0e751386de3ae3d735671504716346dc58c7f7647ced5842728b3d3
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>expo.modules.router</groupId>
|
|
11
11
|
<artifactId>expo.modules.router</artifactId>
|
|
12
|
-
<version>7.0.0-canary-
|
|
12
|
+
<version>7.0.0-canary-20251205-a1dedc6</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.router</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
e8ad28f79b2f964edff4e21bbb096e44
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f52ab5eafd62fe5524d288069c6f538ff9b0c86e
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1f2a0ea863cf14f656c07d5e2928d78e8da1d58be6c1aa2e33ce39534cdcd08f
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a60e48e73ae85e066821c1a14f9656883077e1881eb90c08ea46f87f9f082d0d8ed732214638e346b7a6f4a7d8bc26a854dff33a89b984d43bf6744d3b0da739
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>expo.modules.router</groupId>
|
|
4
4
|
<artifactId>expo.modules.router</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>7.0.0-canary-
|
|
7
|
-
<release>7.0.0-canary-
|
|
6
|
+
<latest>7.0.0-canary-20251205-a1dedc6</latest>
|
|
7
|
+
<release>7.0.0-canary-20251205-a1dedc6</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>7.0.0-canary-
|
|
9
|
+
<version>7.0.0-canary-20251205-a1dedc6</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20251205162215</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
0e5c2fad24d3d7038102b79ded85462f
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
4047120fba6cd436de826604df1a829d597b8723
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
9d67e61b727d7091d1dd72f6829d7802e0718d5d527847646c6e63ab22a36963
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
94aab24adc6ee91c9589f4e4b2af7e738e8bbdb004f62109e07882f548e4800460174031d6c4025d093bc7ea6589e28423938ed26211bd60ecfc0d2a7b10d43f
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-router",
|
|
3
|
-
"version": "7.0.0-canary-
|
|
3
|
+
"version": "7.0.0-canary-20251205-a1dedc6",
|
|
4
4
|
"description": "Expo Router is a file-based router for React Native and web applications.",
|
|
5
5
|
"author": "650 Industries, Inc.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -42,6 +42,8 @@
|
|
|
42
42
|
"unstable-native-tabs.d.ts",
|
|
43
43
|
"unstable-split-view.js",
|
|
44
44
|
"unstable-split-view.d.ts",
|
|
45
|
+
"unstable-toolbar.js",
|
|
46
|
+
"unstable-toolbar.d.ts",
|
|
45
47
|
"node",
|
|
46
48
|
"plugin",
|
|
47
49
|
"rsc",
|
|
@@ -81,14 +83,14 @@
|
|
|
81
83
|
"expo"
|
|
82
84
|
],
|
|
83
85
|
"peerDependencies": {
|
|
84
|
-
"@expo/metro-runtime": "6.2.0-canary-
|
|
85
|
-
"@expo/log-box": "0.0.13-canary-
|
|
86
|
+
"@expo/metro-runtime": "6.2.0-canary-20251205-a1dedc6",
|
|
87
|
+
"@expo/log-box": "0.0.13-canary-20251205-a1dedc6",
|
|
86
88
|
"@react-navigation/drawer": "^7.7.2",
|
|
87
89
|
"@testing-library/react-native": ">= 12.0.0",
|
|
88
|
-
"expo": "55.0.0-canary-
|
|
89
|
-
"expo-constants": "18.1.0-canary-
|
|
90
|
-
"expo-linking": "8.0.
|
|
91
|
-
"expo-symbols": "1.1.0-canary-
|
|
90
|
+
"expo": "55.0.0-canary-20251205-a1dedc6",
|
|
91
|
+
"expo-constants": "18.1.0-canary-20251205-a1dedc6",
|
|
92
|
+
"expo-linking": "8.0.11-canary-20251205-a1dedc6",
|
|
93
|
+
"expo-symbols": "1.1.0-canary-20251205-a1dedc6",
|
|
92
94
|
"react": "*",
|
|
93
95
|
"react-dom": "*",
|
|
94
96
|
"react-native": "*",
|
|
@@ -97,7 +99,7 @@
|
|
|
97
99
|
"react-native-safe-area-context": ">= 5.4.0",
|
|
98
100
|
"react-native-screens": "*",
|
|
99
101
|
"react-native-web": "*",
|
|
100
|
-
"react-server-dom-webpack": "
|
|
102
|
+
"react-server-dom-webpack": "~19.0.1 || ~19.1.2 || ~19.2.1"
|
|
101
103
|
},
|
|
102
104
|
"peerDependenciesMeta": {
|
|
103
105
|
"@testing-library/react-native": {
|
|
@@ -130,11 +132,11 @@
|
|
|
130
132
|
"@types/react-dom": "^19.1.7",
|
|
131
133
|
"@types/semver": "^7.7.0",
|
|
132
134
|
"immer": "^10.1.1",
|
|
133
|
-
"react-server-dom-webpack": "~19.0.
|
|
135
|
+
"react-server-dom-webpack": "~19.0.1"
|
|
134
136
|
},
|
|
135
137
|
"dependencies": {
|
|
136
|
-
"@expo/metro-runtime": "6.2.0-canary-
|
|
137
|
-
"@expo/schema-utils": "0.1.
|
|
138
|
+
"@expo/metro-runtime": "6.2.0-canary-20251205-a1dedc6",
|
|
139
|
+
"@expo/schema-utils": "0.1.9-canary-20251205-a1dedc6",
|
|
138
140
|
"@radix-ui/react-slot": "1.2.0",
|
|
139
141
|
"@radix-ui/react-tabs": "^1.1.12",
|
|
140
142
|
"@react-navigation/bottom-tabs": "^7.7.3",
|
|
@@ -143,7 +145,7 @@
|
|
|
143
145
|
"client-only": "^0.0.1",
|
|
144
146
|
"debug": "^4.3.4",
|
|
145
147
|
"escape-string-regexp": "^4.0.0",
|
|
146
|
-
"expo-server": "1.0.
|
|
148
|
+
"expo-server": "1.0.6-canary-20251205-a1dedc6",
|
|
147
149
|
"fast-deep-equal": "^3.1.3",
|
|
148
150
|
"invariant": "^2.2.4",
|
|
149
151
|
"nanoid": "^3.3.8",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './build/toolbar';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('./build/toolbar');
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// Copyright 2015-present 650 Industries. All rights reserved.
|
|
2
|
-
|
|
3
|
-
#import <RNScreens/RNSDismissibleModalProtocol.h>
|
|
4
|
-
#import <RNScreens/RNSTabBarController.h>
|
|
5
|
-
|
|
6
|
-
@interface LinkPreviewNativeNavigationObjC : NSObject
|
|
7
|
-
|
|
8
|
-
/*
|
|
9
|
-
* Pushes the previously preloaded view.
|
|
10
|
-
* This function will set the activity state of the preloaded screen view to 2
|
|
11
|
-
*/
|
|
12
|
-
+ (void)pushPreloadedView:(nonnull UIView *)view
|
|
13
|
-
ontoStackView:(nonnull UIView *)rawStackView;
|
|
14
|
-
|
|
15
|
-
/*
|
|
16
|
-
* Helper function to check if the view is a RNSScreenStackView. Can be used in
|
|
17
|
-
* Swift
|
|
18
|
-
*/
|
|
19
|
-
+ (BOOL)isRNSScreenStackView:(UIView *)view;
|
|
20
|
-
/*
|
|
21
|
-
* Helper function to get all screen IDs from a RNSScreenStackView.
|
|
22
|
-
*/
|
|
23
|
-
+ (nonnull NSArray<NSString *> *)getStackViewScreenIds:(UIView *)view;
|
|
24
|
-
/*
|
|
25
|
-
* Helper function to get all screen views from a RNSScreenStackView.
|
|
26
|
-
*/
|
|
27
|
-
+ (nonnull NSArray<UIView *> *)getScreenViews:(UIView *)view;
|
|
28
|
-
/*
|
|
29
|
-
* Helper function to get the screen ID of a RNSScreenView.
|
|
30
|
-
*/
|
|
31
|
-
+ (nonnull NSString *)getScreenId:(UIView *)view;
|
|
32
|
-
|
|
33
|
-
+ (nonnull NSString *)getTabKey:(UIView *)view;
|
|
34
|
-
|
|
35
|
-
+ (BOOL)isRNSBottomTabsScreenComponentView:(UIView *)view;
|
|
36
|
-
|
|
37
|
-
+ (BOOL)isRNSTabBarController:(UIView *)view;
|
|
38
|
-
|
|
39
|
-
+ (nullable RNSTabBarController *)getBottomTabControllerFromView:(UIView *)view;
|
|
40
|
-
|
|
41
|
-
+ (BOOL)isRNSBottomTabsHostComponentView:(UIView *)view;
|
|
42
|
-
|
|
43
|
-
+ (nullable UIView *)getTab:(UITabBarController *)controller
|
|
44
|
-
withKey:(NSString *)key;
|
|
45
|
-
|
|
46
|
-
@end
|
|
47
|
-
|
|
48
|
-
@protocol LinkPreviewModalDismissible <RNSDismissibleModalProtocol>
|
|
49
|
-
@required
|
|
50
|
-
@end
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
// Copyright 2015-present 650 Industries. All rights reserved.
|
|
2
|
-
|
|
3
|
-
#import "LinkPreviewNativeNavigation.h"
|
|
4
|
-
#import <Foundation/Foundation.h>
|
|
5
|
-
#include <Foundation/NSObjCRuntime.h>
|
|
6
|
-
#import <RNScreens/RNSScreen.h>
|
|
7
|
-
#import <RNScreens/RNSScreenStack.h>
|
|
8
|
-
|
|
9
|
-
@implementation LinkPreviewNativeNavigationObjC {
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
+ (BOOL)isRNSScreenStackView:(UIView *)view {
|
|
13
|
-
if (view != nil) {
|
|
14
|
-
return [view isKindOfClass:[RNSScreenStackView class]];
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
return NO;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
+ (BOOL)isRNSBottomTabsScreenComponentView:(UIView *)view {
|
|
21
|
-
if (view != nil) {
|
|
22
|
-
return [view isKindOfClass:[RNSBottomTabsScreenComponentView class]];
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return NO;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
+ (BOOL)isRNSBottomTabsHostComponentView:(UIView *)view {
|
|
29
|
-
if (view != nil) {
|
|
30
|
-
return [view isKindOfClass:[RNSBottomTabsHostComponentView class]];
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return NO;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
+ (nullable UITabBarController *)getBottomTabControllerFromView:(UIView *)view {
|
|
37
|
-
if ([view isKindOfClass:[RNSBottomTabsScreenComponentView class]]) {
|
|
38
|
-
RNSBottomTabsScreenComponentView *bottomTabsView =
|
|
39
|
-
(RNSBottomTabsScreenComponentView *)view;
|
|
40
|
-
UIViewController *reactVC = [bottomTabsView reactViewController];
|
|
41
|
-
if (reactVC != nil &&
|
|
42
|
-
[reactVC.tabBarController isKindOfClass:[RNSTabBarController class]]) {
|
|
43
|
-
RNSTabBarController *tabBarController =
|
|
44
|
-
(RNSTabBarController *)reactVC.tabBarController;
|
|
45
|
-
return tabBarController;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if ([view isKindOfClass:[RNSBottomTabsHostComponentView class]]) {
|
|
49
|
-
RNSBottomTabsHostComponentView *bottomTabsView =
|
|
50
|
-
(RNSBottomTabsHostComponentView *)view;
|
|
51
|
-
return [bottomTabsView controller];
|
|
52
|
-
}
|
|
53
|
-
return nil;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
+ (nullable UIView *)getTab:(UITabBarController *)controller
|
|
57
|
-
withKey:(NSString *)key {
|
|
58
|
-
if (controller != nil) {
|
|
59
|
-
for (UIViewController *subcontroller in controller.viewControllers) {
|
|
60
|
-
if ([subcontroller.view
|
|
61
|
-
isKindOfClass:[RNSBottomTabsScreenComponentView class]]) {
|
|
62
|
-
if (((RNSBottomTabsScreenComponentView *)subcontroller.view).tabKey ==
|
|
63
|
-
key) {
|
|
64
|
-
return subcontroller.view;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return nil;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
+ (nonnull NSArray<NSString *> *)getStackViewScreenIds:(UIView *)view {
|
|
74
|
-
if (view != nil && [view isKindOfClass:[RNSScreenStackView class]]) {
|
|
75
|
-
RNSScreenStackView *stackView = (RNSScreenStackView *)view;
|
|
76
|
-
return stackView.screenIds;
|
|
77
|
-
}
|
|
78
|
-
return @[];
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
+ (nonnull NSArray<UIView *> *)getScreenViews:(UIView *)view {
|
|
82
|
-
if (view != nil && [view isKindOfClass:[RNSScreenStackView class]]) {
|
|
83
|
-
RNSScreenStackView *stackView = (RNSScreenStackView *)view;
|
|
84
|
-
return stackView.reactSubviews;
|
|
85
|
-
}
|
|
86
|
-
return @[];
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
+ (nonnull NSString *)getScreenId:(UIView *)view {
|
|
90
|
-
if (view != nil && [view isKindOfClass:[RNSScreenView class]]) {
|
|
91
|
-
RNSScreenView *screenView = (RNSScreenView *)view;
|
|
92
|
-
return screenView.screenId;
|
|
93
|
-
}
|
|
94
|
-
return nil;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
+ (nonnull NSString *)getTabKey:(UIView *)view {
|
|
98
|
-
if (view != nil &&
|
|
99
|
-
[view isKindOfClass:[RNSBottomTabsScreenComponentView class]]) {
|
|
100
|
-
RNSBottomTabsScreenComponentView *tabScreenView =
|
|
101
|
-
(RNSBottomTabsScreenComponentView *)view;
|
|
102
|
-
return tabScreenView.tabKey;
|
|
103
|
-
}
|
|
104
|
-
return @"";
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
+ (void)pushPreloadedView:(nonnull UIView *)view
|
|
108
|
-
ontoStackView:(nonnull UIView *)rawStackView {
|
|
109
|
-
if (![LinkPreviewNativeNavigationObjC isRNSScreenStackView:rawStackView]) {
|
|
110
|
-
NSLog(@"ExpoRouter: The provided stack view is not a RNSScreenStackView.");
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
if (![view isKindOfClass:[RNSScreenView class]]) {
|
|
114
|
-
NSLog(@"ExpoRouter: The provided view is not a RNSScreenView.");
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
RNSScreenStackView *stackView = (RNSScreenStackView *)rawStackView;
|
|
118
|
-
RNSScreenView *preloadedScreenView = (RNSScreenView *)view;
|
|
119
|
-
if (preloadedScreenView != nil && stackView != nil) {
|
|
120
|
-
// Instead of pushing the preloaded screen view, we set its activity state
|
|
121
|
-
// React native screens will then handle the rest.
|
|
122
|
-
[preloadedScreenView setActivityState:2];
|
|
123
|
-
[stackView markChildUpdated];
|
|
124
|
-
// If the screen is modal with header then it will have exactly one child -
|
|
125
|
-
// RNSNavigationController.
|
|
126
|
-
// https://github.com/software-mansion/react-native-screens/blob/8b82e081e8fdfa6e0864821134bda9e87a745b00/src/components/ScreenStackItem.tsx#L146-L160
|
|
127
|
-
if (preloadedScreenView.isModal &&
|
|
128
|
-
preloadedScreenView.controller.childViewControllers.count == 1) {
|
|
129
|
-
// The first child should be RNSNavigationController (<ScreenStack>).
|
|
130
|
-
UIViewController *navController =
|
|
131
|
-
preloadedScreenView.controller.childViewControllers[0];
|
|
132
|
-
if ([navController isKindOfClass:[RNSNavigationController class]]) {
|
|
133
|
-
RNSNavigationController *rnsNavController =
|
|
134
|
-
(RNSNavigationController *)navController;
|
|
135
|
-
// The delegate of RNSNavigationController is RNSScreenStackView.
|
|
136
|
-
id<UINavigationControllerDelegate> delegate = rnsNavController.delegate;
|
|
137
|
-
if ([delegate isKindOfClass:[RNSScreenStackView class]]) {
|
|
138
|
-
RNSScreenStackView *innerScreenStack = (RNSScreenStackView *)delegate;
|
|
139
|
-
// The first and only child of the inner screen stack should be
|
|
140
|
-
// RNSScreenView (<ScreenStackItem>).
|
|
141
|
-
UIView *firstChild = innerScreenStack.reactSubviews != nil
|
|
142
|
-
? innerScreenStack.reactSubviews[0]
|
|
143
|
-
: nil;
|
|
144
|
-
if (firstChild != nil &&
|
|
145
|
-
[firstChild isKindOfClass:[RNSScreenView class]]) {
|
|
146
|
-
RNSScreenView *screenContentView = (RNSScreenView *)firstChild;
|
|
147
|
-
// Same as above, we let React Native Screens handle the transition.
|
|
148
|
-
// We need to set the activity of inner screen as well, because its
|
|
149
|
-
// react value is the same as the preloaded screen - 0.
|
|
150
|
-
// https://github.com/software-mansion/react-native-screens/blob/8b82e081e8fdfa6e0864821134bda9e87a745b00/src/components/ScreenStackItem.tsx#L151
|
|
151
|
-
[screenContentView setActivityState:2];
|
|
152
|
-
[innerScreenStack markChildUpdated];
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
NSLog(@"ExpoRouter: Preloaded screen view pushed.");
|
|
158
|
-
} else {
|
|
159
|
-
NSLog(@"ExpoRouter: No preloaded screen view found. Relying on JS "
|
|
160
|
-
@"navigation.");
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
@end
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
7a5e8364708e41bdc3454a8f5b4b3e50
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
56794a84ed05edf267a1c5ccdd30cb407438546d
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1f920ac7492e65fcc5ae7770fbce146baf47751dadb9687ea9746ff571251185
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
f60f250f744bc5236eb9fcd802fe4318aa11e71733e2c80dcdc5774136e27e2acb2e314bb68f26de12e3a26ef897ec143c8847b949f50fbd2bf8afcef5554f1a
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
67f38c8c9dae5524a09486ce1dee4460
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
913a7bce8426f3d17770b4179a24e8b5414f6276
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
6c81d5a6e5a454ed3294ff4ac2467e8edde42d1c80f14b531f3672d7db3281e9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
98d633b86820285b29e7f405048bb5dc017351395cec4dbab763604f25ce547a46db488f76fdd9d8190d71d9ae2ac62d92fc776406a6e24905b2d1e21b922d1a
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|