@expo/ui 56.0.24 → 56.0.25
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 +14 -0
- package/android/build.gradle +2 -2
- package/build/community/bottom-sheet/BottomSheet.ios.d.ts.map +1 -1
- package/build/swift-ui/modifiers/contentShape.d.ts +25 -2
- package/build/swift-ui/modifiers/contentShape.d.ts.map +1 -1
- package/expo-module.config.json +1 -1
- package/ios/GlassEffectContainerView.swift +1 -1
- package/ios/HStackView.swift +1 -1
- package/ios/Modifiers/ContentShapeModifier.swift +53 -7
- package/ios/VStackView.swift +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.aar +0 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.aar.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.aar.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.aar.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.aar.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.24/expo.modules.ui-56.0.24.module → 56.0.25/expo.modules.ui-56.0.25.module} +17 -17
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.module.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.24/expo.modules.ui-56.0.24.pom → 56.0.25/expo.modules.ui-56.0.25.pom} +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.pom.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml +4 -4
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.md5 +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha1 +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha256 +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha512 +1 -1
- package/package.json +4 -4
- package/src/community/bottom-sheet/BottomSheet.ios.tsx +11 -19
- package/src/swift-ui/modifiers/contentShape.ts +35 -2
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.aar +0 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.aar.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.aar.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.aar.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.aar.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.module.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.pom.sha512 +0 -1
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.24/expo.modules.ui-56.0.24-sources.jar → 56.0.25/expo.modules.ui-56.0.25-sources.jar} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.24/expo.modules.ui-56.0.24-sources.jar.md5 → 56.0.25/expo.modules.ui-56.0.25-sources.jar.md5} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.24/expo.modules.ui-56.0.24-sources.jar.sha1 → 56.0.25/expo.modules.ui-56.0.25-sources.jar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.24/expo.modules.ui-56.0.24-sources.jar.sha256 → 56.0.25/expo.modules.ui-56.0.25-sources.jar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.24/expo.modules.ui-56.0.24-sources.jar.sha512 → 56.0.25/expo.modules.ui-56.0.25-sources.jar.sha512} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,20 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 56.0.25 — 2026-08-06
|
|
14
|
+
|
|
15
|
+
### 🛠 Breaking changes
|
|
16
|
+
|
|
17
|
+
- [iOS] Fix `HStack`, `VStack` and `GlassEffectContainer` collapsing an unset `spacing` to `0` instead of forwarding `nil` to SwiftUI, so they now use the system default spacing like `Grid`, `LazyHStack` and `LazyVStack` already do. Pass `spacing={0}` explicitly to keep the previous layout. (by [@Den1Marshall](https://github.com/Den1Marshall))
|
|
18
|
+
|
|
19
|
+
### 🎉 New features
|
|
20
|
+
|
|
21
|
+
- [iOS] Added an optional `kind` argument to the `contentShape` modifier, so a shape can be applied to drag previews, context menu previews, hover effects, or accessibility instead of only hit-testing. ([#48540](https://github.com/expo/expo/issues/48540) by [@sinhong2011](https://github.com/sinhong2011)) ([#48564](https://github.com/expo/expo/pull/48564) by [@intergalacticspacehighway](https://github.com/intergalacticspacehighway))
|
|
22
|
+
|
|
23
|
+
### 🐛 Bug fixes
|
|
24
|
+
|
|
25
|
+
- [iOS] Fix `community/bottom-sheet` close callbacks firing before the sheet finished dismissing. ([#48389](https://github.com/expo/expo/issues/48389) by [@nicklamont](https://github.com/nicklamont)) ([#48436](https://github.com/expo/expo/pull/48436) by [@intergalacticspacehighway](https://github.com/intergalacticspacehighway))
|
|
26
|
+
|
|
13
27
|
## 56.0.24 — 2026-07-29
|
|
14
28
|
|
|
15
29
|
### 🎉 New features
|
package/android/build.gradle
CHANGED
|
@@ -12,13 +12,13 @@ apply plugin: 'expo-module-gradle-plugin'
|
|
|
12
12
|
apply plugin: 'org.jetbrains.kotlin.plugin.compose'
|
|
13
13
|
|
|
14
14
|
group = 'expo.modules.ui'
|
|
15
|
-
version = '56.0.
|
|
15
|
+
version = '56.0.25'
|
|
16
16
|
|
|
17
17
|
android {
|
|
18
18
|
namespace "expo.modules.ui"
|
|
19
19
|
defaultConfig {
|
|
20
20
|
versionCode 1
|
|
21
|
-
versionName "56.0.
|
|
21
|
+
versionName "56.0.25"
|
|
22
22
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
23
23
|
}
|
|
24
24
|
buildFeatures {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheet.ios.d.ts","sourceRoot":"","sources":["../../../src/community/bottom-sheet/BottomSheet.ios.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAsB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAepE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAwD3C;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"BottomSheet.ios.d.ts","sourceRoot":"","sources":["../../../src/community/bottom-sheet/BottomSheet.ios.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAsB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAepE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAwD3C;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA2KlD"}
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import type { Shape } from './shapes/index';
|
|
2
|
+
/**
|
|
3
|
+
* The kinds of interaction a content shape applies to.
|
|
4
|
+
*
|
|
5
|
+
* - `interaction` - The kind for hit-testing and accessibility.
|
|
6
|
+
* - `dragPreview` - The kind for drag and drop previews.
|
|
7
|
+
* - `contextMenuPreview` - The kind for context menu previews.
|
|
8
|
+
* - `hoverEffect` - The kind for hover effects.
|
|
9
|
+
* - `accessibility` - The kind for accessibility.
|
|
10
|
+
*/
|
|
11
|
+
export type ContentShapeKind = 'interaction' | 'dragPreview' | 'contextMenuPreview' | 'hoverEffect' | 'accessibility';
|
|
2
12
|
/**
|
|
3
13
|
* Defines the content shape for hit-testing purposes.
|
|
4
14
|
*
|
|
5
15
|
* This modifier is essential for making entire view areas (including `Spacer` or empty space)
|
|
6
16
|
* interactive. Without it, only visible elements like `Text` or `Image` respond to tap gestures.
|
|
7
17
|
*
|
|
18
|
+
* Pass `kind` to shape something other than the default `interaction` (hit-testing), such as
|
|
19
|
+
* the preview used while a `List.ForEach` row is dragged to reorder it.
|
|
20
|
+
*
|
|
8
21
|
* @param shape - A shape configuration from the shapes API (rectangle, circle, capsule, ellipse, roundedRectangle).
|
|
22
|
+
* @param kind - The kinds to apply the shape to. Defaults to `interaction` when not provided.
|
|
9
23
|
*
|
|
10
24
|
* @example
|
|
11
25
|
* ```tsx
|
|
@@ -33,7 +47,16 @@ import type { Shape } from './shapes/index';
|
|
|
33
47
|
* }
|
|
34
48
|
* ```
|
|
35
49
|
*
|
|
36
|
-
* @
|
|
50
|
+
* @example
|
|
51
|
+
* ```tsx
|
|
52
|
+
* // Round the preview shown while a row is dragged, so its corners are not filled in.
|
|
53
|
+
* <Label
|
|
54
|
+
* title={item.title}
|
|
55
|
+
* modifiers={[contentShape(shapes.roundedRectangle({ cornerRadius: 10 }), 'dragPreview')]}
|
|
56
|
+
* />
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/contentshape(_:_:eofill:)).
|
|
37
60
|
*/
|
|
38
|
-
export declare const contentShape: (shape: Shape) => import("./createModifier").ModifierConfig;
|
|
61
|
+
export declare const contentShape: (shape: Shape, kind?: ContentShapeKind | ContentShapeKind[]) => import("./createModifier").ModifierConfig;
|
|
39
62
|
//# sourceMappingURL=contentShape.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentShape.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/modifiers/contentShape.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"contentShape.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/modifiers/contentShape.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,aAAa,GACb,oBAAoB,GACpB,aAAa,GACb,eAAe,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,EAAE,OAAO,gBAAgB,GAAG,gBAAgB,EAAE,8CAInF,CAAC"}
|
package/expo-module.config.json
CHANGED
|
@@ -17,7 +17,7 @@ public struct GlassEffectContainerView: ExpoSwiftUI.View {
|
|
|
17
17
|
public var body: some View {
|
|
18
18
|
if #available(iOS 26.0, macOS 26.0, tvOS 26.0, *) {
|
|
19
19
|
#if compiler(>=6.2) // Xcode 26
|
|
20
|
-
GlassEffectContainer(spacing:
|
|
20
|
+
GlassEffectContainer(spacing: props.spacing.map { CGFloat($0) }) {
|
|
21
21
|
Children()
|
|
22
22
|
}
|
|
23
23
|
#else
|
package/ios/HStackView.swift
CHANGED
|
@@ -41,7 +41,7 @@ public struct HStackView: ExpoSwiftUI.View {
|
|
|
41
41
|
public var body: some View {
|
|
42
42
|
HStack(
|
|
43
43
|
alignment: props.alignment?.toVerticalAlignment() ?? .center,
|
|
44
|
-
spacing:
|
|
44
|
+
spacing: props.spacing.map { CGFloat($0) }) {
|
|
45
45
|
Children()
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -3,27 +3,73 @@
|
|
|
3
3
|
import ExpoModulesCore
|
|
4
4
|
import SwiftUI
|
|
5
5
|
|
|
6
|
+
internal enum ContentShapeKind: String, Enumerable {
|
|
7
|
+
case interaction
|
|
8
|
+
case dragPreview
|
|
9
|
+
case contextMenuPreview
|
|
10
|
+
case hoverEffect
|
|
11
|
+
case accessibility
|
|
12
|
+
|
|
13
|
+
func toContentShapeKinds() -> ContentShapeKinds {
|
|
14
|
+
switch self {
|
|
15
|
+
case .interaction:
|
|
16
|
+
return .interaction
|
|
17
|
+
case .dragPreview:
|
|
18
|
+
#if os(tvOS)
|
|
19
|
+
return .interaction
|
|
20
|
+
#else
|
|
21
|
+
return .dragPreview
|
|
22
|
+
#endif
|
|
23
|
+
case .contextMenuPreview:
|
|
24
|
+
if #available(iOS 15.0, tvOS 17.0, *) {
|
|
25
|
+
return .contextMenuPreview
|
|
26
|
+
}
|
|
27
|
+
return .interaction
|
|
28
|
+
case .hoverEffect:
|
|
29
|
+
if #available(iOS 15.0, tvOS 18.0, *) {
|
|
30
|
+
return .hoverEffect
|
|
31
|
+
}
|
|
32
|
+
return .interaction
|
|
33
|
+
case .accessibility:
|
|
34
|
+
if #available(iOS 17.0, tvOS 17.0, macOS 14.0, *) {
|
|
35
|
+
return .accessibility
|
|
36
|
+
}
|
|
37
|
+
return .interaction
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
6
42
|
internal struct ContentShapeModifier: ViewModifier, Record {
|
|
7
43
|
@Field var shape: ShapeType = .rectangle
|
|
8
44
|
@Field var cornerRadius: CGFloat = 0
|
|
9
45
|
@Field var roundedCornerStyle: RoundedCornerStyle?
|
|
10
46
|
@Field var cornerSize: CornerSize?
|
|
47
|
+
@Field var kind: [ContentShapeKind]?
|
|
11
48
|
|
|
12
49
|
@ViewBuilder
|
|
13
50
|
func body(content: Content) -> some View {
|
|
14
51
|
switch shape {
|
|
15
52
|
case .capsule:
|
|
16
|
-
content
|
|
53
|
+
applyContentShape(content, makeCapsule(style: roundedCornerStyle))
|
|
17
54
|
case .circle:
|
|
18
|
-
content
|
|
55
|
+
applyContentShape(content, Circle())
|
|
19
56
|
case .containerRelativeShape:
|
|
20
|
-
content
|
|
57
|
+
applyContentShape(content, ContainerRelativeShape())
|
|
21
58
|
case .ellipse:
|
|
22
|
-
content
|
|
59
|
+
applyContentShape(content, Ellipse())
|
|
23
60
|
case .rectangle:
|
|
24
|
-
content
|
|
61
|
+
applyContentShape(content, Rectangle())
|
|
25
62
|
case .roundedRectangle:
|
|
26
|
-
content
|
|
63
|
+
applyContentShape(content, makeRoundedRectangle(cornerRadius: cornerRadius, cornerSize: cornerSize, style: roundedCornerStyle))
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@ViewBuilder
|
|
68
|
+
private func applyContentShape(_ content: Content, _ shape: some Shape) -> some View {
|
|
69
|
+
if let kind, !kind.isEmpty {
|
|
70
|
+
content.contentShape(ContentShapeKinds(kind.map { $0.toContentShapeKinds() }), shape)
|
|
71
|
+
} else {
|
|
72
|
+
content.contentShape(shape)
|
|
27
73
|
}
|
|
28
74
|
}
|
|
29
|
-
}
|
|
75
|
+
}
|
package/ios/VStackView.swift
CHANGED
|
@@ -35,7 +35,7 @@ public struct VStackView: ExpoSwiftUI.View {
|
|
|
35
35
|
public var body: some View {
|
|
36
36
|
VStack(
|
|
37
37
|
alignment: props.alignment?.toHorizontalAlignment() ?? .center,
|
|
38
|
-
spacing:
|
|
38
|
+
spacing: props.spacing.map { CGFloat($0) }) {
|
|
39
39
|
Children()
|
|
40
40
|
}
|
|
41
41
|
}
|
|
Binary file
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.aar.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
9796a0df6d89a9678a6787ce853725a4
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.aar.sha1
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
e03e2f31c624301c84fc40a2e9cec212037b2bf0
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.aar.sha256
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
cb6ad358b8a9621bc1af657b5ee5dae249aab307096259dc366c79cde06d3508
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.aar.sha512
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5f93ae090d6aa16199dce7f757d5b6862e51fda7997ebaddc37c32f53a37528d9f4aadb054e8565b9c8c44899a25ac91f3149df8f080e0d4d8cf67200dae1527
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "expo.modules.ui",
|
|
5
5
|
"module": "expo.modules.ui",
|
|
6
|
-
"version": "56.0.
|
|
6
|
+
"version": "56.0.25",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
{
|
|
27
|
-
"name": "expo.modules.ui-56.0.
|
|
28
|
-
"url": "expo.modules.ui-56.0.
|
|
29
|
-
"size":
|
|
30
|
-
"sha512": "
|
|
31
|
-
"sha256": "
|
|
32
|
-
"sha1": "
|
|
33
|
-
"md5": "
|
|
27
|
+
"name": "expo.modules.ui-56.0.25.aar",
|
|
28
|
+
"url": "expo.modules.ui-56.0.25.aar",
|
|
29
|
+
"size": 1950647,
|
|
30
|
+
"sha512": "5f93ae090d6aa16199dce7f757d5b6862e51fda7997ebaddc37c32f53a37528d9f4aadb054e8565b9c8c44899a25ac91f3149df8f080e0d4d8cf67200dae1527",
|
|
31
|
+
"sha256": "cb6ad358b8a9621bc1af657b5ee5dae249aab307096259dc366c79cde06d3508",
|
|
32
|
+
"sha1": "e03e2f31c624301c84fc40a2e9cec212037b2bf0",
|
|
33
|
+
"md5": "9796a0df6d89a9678a6787ce853725a4"
|
|
34
34
|
}
|
|
35
35
|
]
|
|
36
36
|
},
|
|
@@ -141,13 +141,13 @@
|
|
|
141
141
|
],
|
|
142
142
|
"files": [
|
|
143
143
|
{
|
|
144
|
-
"name": "expo.modules.ui-56.0.
|
|
145
|
-
"url": "expo.modules.ui-56.0.
|
|
146
|
-
"size":
|
|
147
|
-
"sha512": "
|
|
148
|
-
"sha256": "
|
|
149
|
-
"sha1": "
|
|
150
|
-
"md5": "
|
|
144
|
+
"name": "expo.modules.ui-56.0.25.aar",
|
|
145
|
+
"url": "expo.modules.ui-56.0.25.aar",
|
|
146
|
+
"size": 1950647,
|
|
147
|
+
"sha512": "5f93ae090d6aa16199dce7f757d5b6862e51fda7997ebaddc37c32f53a37528d9f4aadb054e8565b9c8c44899a25ac91f3149df8f080e0d4d8cf67200dae1527",
|
|
148
|
+
"sha256": "cb6ad358b8a9621bc1af657b5ee5dae249aab307096259dc366c79cde06d3508",
|
|
149
|
+
"sha1": "e03e2f31c624301c84fc40a2e9cec212037b2bf0",
|
|
150
|
+
"md5": "9796a0df6d89a9678a6787ce853725a4"
|
|
151
151
|
}
|
|
152
152
|
]
|
|
153
153
|
},
|
|
@@ -161,8 +161,8 @@
|
|
|
161
161
|
},
|
|
162
162
|
"files": [
|
|
163
163
|
{
|
|
164
|
-
"name": "expo.modules.ui-56.0.
|
|
165
|
-
"url": "expo.modules.ui-56.0.
|
|
164
|
+
"name": "expo.modules.ui-56.0.25-sources.jar",
|
|
165
|
+
"url": "expo.modules.ui-56.0.25-sources.jar",
|
|
166
166
|
"size": 94747,
|
|
167
167
|
"sha512": "23505426b78f10e16cc91d5157f0c5e4387705e4524b7a3bf0e579ffe19c77ae45a7442a97b6dd7b568171395ede319edc5909a390385ae96c6801935a5ecfc4",
|
|
168
168
|
"sha256": "e53eaaf162c99ea11003c510033d74f581ecbb9dace9dbe566b15f85cbd1c27e",
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.module.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f53e1243f1c6fcf4bf2b837861142a34
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.module.sha1
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
d24eb9c58833906ad4a9fe0836fabfae9c45ef08
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f91648580c486c82a50fe5d1427078834d223172908db5f93e42a7931f5e4e35
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
bfbaea478f0039baee5025a2abb427f11e7812e8051bfcab64695c9e096bc87dad4c963f62041422fb5620c6406029a8cfdca79521763cf98ead67fe56f3230b
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>expo.modules.ui</groupId>
|
|
11
11
|
<artifactId>expo.modules.ui</artifactId>
|
|
12
|
-
<version>56.0.
|
|
12
|
+
<version>56.0.25</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.ui</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.pom.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
77cc5eb2881bd80307eb8d0a86429c82
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.pom.sha1
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ecb53e1cd406d1fcd8cc45b648ea7fa38fdeb0c5
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.pom.sha256
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
d573fcbfc5e8c6afa2d49420491b8ef814fde5fa6e0ed0e3214a0b850c251db9
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.25/expo.modules.ui-56.0.25.pom.sha512
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f319292e6a84d658e0a762a140627a4cde5114f00068f46c6b89d469aa4bd8bfa12427ffe166e0de5e2b2258be73f0d4700c084d14bb6635c6e1c4aaf97956ad
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>expo.modules.ui</groupId>
|
|
4
4
|
<artifactId>expo.modules.ui</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>56.0.
|
|
7
|
-
<release>56.0.
|
|
6
|
+
<latest>56.0.25</latest>
|
|
7
|
+
<release>56.0.25</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>56.0.
|
|
9
|
+
<version>56.0.25</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20260806114100</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
626e69c30fd8fa090bc74a352071e9c8
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
797e98dfbe3ba62fe03b9645762212b3b76a4a16
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
45362961b4607ece0177a8852bbbfc0364564fbe68bae6f610eef18143fd6d4e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
118ab8dede46cc631be12e99688fcfea3dced50df79dd91f2e33c75febe556f2ae29e1075ba00cff9996bc854ccaf6e577d1def0056f9c0d839d0703c8034e3c
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/ui",
|
|
3
|
-
"version": "56.0.
|
|
3
|
+
"version": "56.0.25",
|
|
4
4
|
"description": "A collection of UI components",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.fx.js",
|
|
@@ -95,8 +95,8 @@
|
|
|
95
95
|
"@types/node": "^22.14.0",
|
|
96
96
|
"@types/react": "~19.2.0",
|
|
97
97
|
"react-native-worklets": "0.8.3",
|
|
98
|
-
"expo": "56.0.
|
|
99
|
-
"expo
|
|
98
|
+
"expo-module-scripts": "56.0.3",
|
|
99
|
+
"expo": "56.0.19"
|
|
100
100
|
},
|
|
101
101
|
"jest": {
|
|
102
102
|
"preset": "expo-module-scripts"
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"optional": true
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
|
-
"gitHead": "
|
|
123
|
+
"gitHead": "eebecc21d8d868d97e72bd61bb8e668fb2feb704",
|
|
124
124
|
"scripts": {
|
|
125
125
|
"build": "expo-module build",
|
|
126
126
|
"clean": "expo-module clean",
|
|
@@ -132,7 +132,6 @@ export function BottomSheet(props: BottomSheetProps) {
|
|
|
132
132
|
useEffect(() => {
|
|
133
133
|
if (indexProp === -1) {
|
|
134
134
|
setIsPresented(false);
|
|
135
|
-
fireCloseCallbacks();
|
|
136
135
|
} else if (indexProp >= 0) {
|
|
137
136
|
closedRef.current = false;
|
|
138
137
|
setIsPresented(true);
|
|
@@ -140,17 +139,13 @@ export function BottomSheet(props: BottomSheetProps) {
|
|
|
140
139
|
setCurrentIndex(clampedIndex);
|
|
141
140
|
currentIndexRef.current = clampedIndex;
|
|
142
141
|
}
|
|
143
|
-
}, [indexProp, detents.length
|
|
142
|
+
}, [indexProp, detents.length]);
|
|
144
143
|
|
|
145
|
-
const handlePresentedChange = useCallback(
|
|
146
|
-
(presented
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
},
|
|
152
|
-
[fireCloseCallbacks]
|
|
153
|
-
);
|
|
144
|
+
const handlePresentedChange = useCallback((presented: boolean) => {
|
|
145
|
+
if (!presented) {
|
|
146
|
+
setIsPresented(false);
|
|
147
|
+
}
|
|
148
|
+
}, []);
|
|
154
149
|
|
|
155
150
|
const handleDetentChange = useCallback(
|
|
156
151
|
(detent: PresentationDetent) => {
|
|
@@ -168,7 +163,6 @@ export function BottomSheet(props: BottomSheetProps) {
|
|
|
168
163
|
const snapToIndex = (index: number) => {
|
|
169
164
|
if (index === -1) {
|
|
170
165
|
setIsPresented(false);
|
|
171
|
-
fireCloseCallbacks();
|
|
172
166
|
return;
|
|
173
167
|
}
|
|
174
168
|
const clampedIndex = Math.min(Math.max(index, 0), detents.length - 1);
|
|
@@ -179,14 +173,11 @@ export function BottomSheet(props: BottomSheetProps) {
|
|
|
179
173
|
onChangeRef.current?.(clampedIndex);
|
|
180
174
|
};
|
|
181
175
|
|
|
182
|
-
//
|
|
183
|
-
//
|
|
184
|
-
//
|
|
185
|
-
// closedRef guard inside fireCloseCallbacks prevents double-firing if a
|
|
186
|
-
// native user-dismiss event also arrives during the animation.
|
|
176
|
+
// Close callbacks fire from the native `onDismiss` event, which SwiftUI sends after
|
|
177
|
+
// the dismissal transition finishes, so they can present another modal without UIKit
|
|
178
|
+
// rejecting it. Android awaits `hide()` for the same reason.
|
|
187
179
|
const close = () => {
|
|
188
180
|
setIsPresented(false);
|
|
189
|
-
fireCloseCallbacks();
|
|
190
181
|
};
|
|
191
182
|
|
|
192
183
|
return {
|
|
@@ -200,7 +191,7 @@ export function BottomSheet(props: BottomSheetProps) {
|
|
|
200
191
|
present: () => snapToIndex(0),
|
|
201
192
|
dismiss: close,
|
|
202
193
|
};
|
|
203
|
-
}, [detents
|
|
194
|
+
}, [detents]);
|
|
204
195
|
|
|
205
196
|
useImperativeHandle(ref, () => methods, [methods]);
|
|
206
197
|
|
|
@@ -237,6 +228,7 @@ export function BottomSheet(props: BottomSheetProps) {
|
|
|
237
228
|
<NativeBottomSheet
|
|
238
229
|
isPresented={isPresented}
|
|
239
230
|
onIsPresentedChange={handlePresentedChange}
|
|
231
|
+
onDismiss={fireCloseCallbacks}
|
|
240
232
|
fitToContents={fitToContents}>
|
|
241
233
|
<Group modifiers={modifiers}>
|
|
242
234
|
<RNHostView matchContents={fitToContents}>
|
|
@@ -1,13 +1,33 @@
|
|
|
1
1
|
import { createModifier } from './createModifier';
|
|
2
2
|
import type { Shape } from './shapes/index';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* The kinds of interaction a content shape applies to.
|
|
6
|
+
*
|
|
7
|
+
* - `interaction` - The kind for hit-testing and accessibility.
|
|
8
|
+
* - `dragPreview` - The kind for drag and drop previews.
|
|
9
|
+
* - `contextMenuPreview` - The kind for context menu previews.
|
|
10
|
+
* - `hoverEffect` - The kind for hover effects.
|
|
11
|
+
* - `accessibility` - The kind for accessibility.
|
|
12
|
+
*/
|
|
13
|
+
export type ContentShapeKind =
|
|
14
|
+
| 'interaction'
|
|
15
|
+
| 'dragPreview'
|
|
16
|
+
| 'contextMenuPreview'
|
|
17
|
+
| 'hoverEffect'
|
|
18
|
+
| 'accessibility';
|
|
19
|
+
|
|
4
20
|
/**
|
|
5
21
|
* Defines the content shape for hit-testing purposes.
|
|
6
22
|
*
|
|
7
23
|
* This modifier is essential for making entire view areas (including `Spacer` or empty space)
|
|
8
24
|
* interactive. Without it, only visible elements like `Text` or `Image` respond to tap gestures.
|
|
9
25
|
*
|
|
26
|
+
* Pass `kind` to shape something other than the default `interaction` (hit-testing), such as
|
|
27
|
+
* the preview used while a `List.ForEach` row is dragged to reorder it.
|
|
28
|
+
*
|
|
10
29
|
* @param shape - A shape configuration from the shapes API (rectangle, circle, capsule, ellipse, roundedRectangle).
|
|
30
|
+
* @param kind - The kinds to apply the shape to. Defaults to `interaction` when not provided.
|
|
11
31
|
*
|
|
12
32
|
* @example
|
|
13
33
|
* ```tsx
|
|
@@ -35,6 +55,19 @@ import type { Shape } from './shapes/index';
|
|
|
35
55
|
* }
|
|
36
56
|
* ```
|
|
37
57
|
*
|
|
38
|
-
* @
|
|
58
|
+
* @example
|
|
59
|
+
* ```tsx
|
|
60
|
+
* // Round the preview shown while a row is dragged, so its corners are not filled in.
|
|
61
|
+
* <Label
|
|
62
|
+
* title={item.title}
|
|
63
|
+
* modifiers={[contentShape(shapes.roundedRectangle({ cornerRadius: 10 }), 'dragPreview')]}
|
|
64
|
+
* />
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/contentshape(_:_:eofill:)).
|
|
39
68
|
*/
|
|
40
|
-
export const contentShape = (shape: Shape
|
|
69
|
+
export const contentShape = (shape: Shape, kind?: ContentShapeKind | ContentShapeKind[]) =>
|
|
70
|
+
createModifier('contentShape', {
|
|
71
|
+
...shape,
|
|
72
|
+
kind: kind === undefined ? undefined : [kind].flat(),
|
|
73
|
+
});
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.aar
DELETED
|
Binary file
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.aar.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
48cd53c232055953dd055094d8822e74
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.aar.sha1
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4efe515d7897ca02bf760223de9195f841eb9ec6
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.aar.sha256
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3e555ee4e798c1d864201aa44a96c9e3ced81919cf022e67a9dfc49a10e12ab5
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.aar.sha512
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a024aabee970c24f1addcda5096ff1f8bfcab14f012a86cfec181f04aa62cfaf7e840972f9bfc7683010f3dad73f23eef603bde8b88d2991bc3d3e94ab5d749f
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.module.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
b01ccc3d550f81c9e61cbd92280ac0d9
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.module.sha1
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
544a73b2253dd27f063443e9a1e9e1a192e8155b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1029bdcba139a3a23f4bafc44674df9576f6ce78bae487d2952466911fdf6834
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
cf7316192301afc3657572c73d8fff717c5cf2b5aad6ae5b126b236dc81f1ffee798a174ad3825ad170233dcb6fc648cc8fd168aec21f4a7d1428e62f4095b95
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.pom.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1e101d80386c626a5c675b98b755c9e1
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.pom.sha1
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
c8bf1939b2a5d98b50323034509044ea34ba0e7c
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.pom.sha256
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
35c33be790d8389e1f74784ed388adbdacab10fb029aa122a6be65bb8d33962c
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.24/expo.modules.ui-56.0.24.pom.sha512
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
895a27507d341004e860b8e854a5a04f1496faaa550270df0b65097673072bc0d0c8e0f0f4320a29e678b42d02c91bf44a7505a27315c8a5551c5be879348c7c
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|