@expo/ui 58.0.17 → 58.0.18
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 +8 -0
- package/android/build.gradle +2 -2
- package/build/universal/TextInput/index.android.js +5 -2
- package/build/universal/TextInput/index.android.js.map +1 -1
- package/ios/HostView.swift +1 -0
- package/ios/Modifiers/HostViewContentMarginsMitigation.swift +98 -0
- package/ios/UIBaseView.swift +13 -2
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17.module → 58.0.18/expo.modules.ui-58.0.18.module} +7 -7
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17.pom → 58.0.18/expo.modules.ui-58.0.18.pom} +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha512 +1 -0
- package/package.json +2 -2
- package/prebuilds/output/debug/xcframeworks/ExpoUI.tar.gz +0 -0
- package/prebuilds/output/release/xcframeworks/ExpoUI.tar.gz +0 -0
- package/src/universal/TextInput/index.android.tsx +8 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.module.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.pom.sha512 +0 -1
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17-sources.jar → 58.0.18/expo.modules.ui-58.0.18-sources.jar} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17-sources.jar.md5 → 58.0.18/expo.modules.ui-58.0.18-sources.jar.md5} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17-sources.jar.sha1 → 58.0.18/expo.modules.ui-58.0.18-sources.jar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17-sources.jar.sha256 → 58.0.18/expo.modules.ui-58.0.18-sources.jar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17-sources.jar.sha512 → 58.0.18/expo.modules.ui-58.0.18-sources.jar.sha512} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17.aar → 58.0.18/expo.modules.ui-58.0.18.aar} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17.aar.md5 → 58.0.18/expo.modules.ui-58.0.18.aar.md5} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17.aar.sha1 → 58.0.18/expo.modules.ui-58.0.18.aar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17.aar.sha256 → 58.0.18/expo.modules.ui-58.0.18.aar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.17/expo.modules.ui-58.0.17.aar.sha512 → 58.0.18/expo.modules.ui-58.0.18.aar.sha512} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 58.0.18
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [iOS] Speed up app launch by naming the SwiftUI views without protocol conformance lookups. ([#51459](https://github.com/expo/expo/pull/51459) by [@Kudo](https://github.com/Kudo))
|
|
8
|
+
- Fix Android universal TextInput placeholders ignoring textStyle. ([#51563](https://github.com/expo/expo/pull/51563) by [@sync](https://github.com/sync))
|
|
9
|
+
- [iOS] Fix `Form` and `List` sections in a `Host` starting 20pt inside the large title beside the iPhone Duo's rail, where iOS drops its content margin. This works around a SwiftUI bug and applies only on an edge where the inset comes from a bar beside the content. ([#51606](https://github.com/expo/expo/pull/51606) by [@huntie](https://github.com/huntie))
|
|
10
|
+
|
|
3
11
|
## 58.0.17
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
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 = '58.0.
|
|
15
|
+
version = '58.0.18'
|
|
16
16
|
|
|
17
17
|
android {
|
|
18
18
|
namespace "expo.modules.ui"
|
|
19
19
|
defaultConfig {
|
|
20
20
|
versionCode 1
|
|
21
|
-
versionName "58.0.
|
|
21
|
+
versionName "58.0.18"
|
|
22
22
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
23
23
|
}
|
|
24
24
|
buildFeatures {
|
|
@@ -144,8 +144,11 @@ export function TextInput({ ref, value, onChangeText, placeholder, autoFocus, ed
|
|
|
144
144
|
modifiers: [
|
|
145
145
|
fillMaxWidth()
|
|
146
146
|
],
|
|
147
|
-
style: textAlign && textAlign !== 'auto' ? {
|
|
148
|
-
|
|
147
|
+
style: textStyle || textAlign && textAlign !== 'auto' ? {
|
|
148
|
+
...textStyle,
|
|
149
|
+
...textAlign && textAlign !== 'auto' ? {
|
|
150
|
+
textAlign
|
|
151
|
+
} : null
|
|
149
152
|
} : undefined,
|
|
150
153
|
children: placeholder
|
|
151
154
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["universal/TextInput/index.android.tsx"],"sourcesContent":[null],"names":["BasicTextField","Box","Text","useNativeState","fillMaxWidth","onSizeChanged","semantics","testID","testIDModifier","useImperativeHandle","useRef","transformToModifiers","enterKeyHintToReturnKeyType","inputModeToKeyboardType","resolveEditable","mapReturnKeyType","value","mapKeyboardType","TextInput","ref","onChangeText","placeholder","autoFocus","editable","editableProp","multiline","keyboardType","keyboardTypeProp","autoCapitalize","autoCorrect","returnKeyType","returnKeyTypeProp","onSubmitEditing","onFocus","onBlur","cursorColor","textAlign","readOnly","inputMode","enterKeyHint","defaultValue","numberOfLines","numberOfLinesProp","rows","underlineColorAndroid","placeholderTextColor","textStyle","style","secureTextEntry","autoComplete","onContentSizeChange","maxLength","caretHidden","selectionColor","selectionHandleColor","selection","onSelectionChange","selectTextOnFocus","modifiers","userModifiers","initialFallbackRef","fallback","current","state","innerRef","isFocusedRef","focus","blur","clear","isFocused","setSelection","start","end","Promise","resolve","handleFocusChanged","focused","length","keyboardOptions","undefined","capitalization","autoCorrectEnabled","imeAction","keyboardActions","onDone","onGo","onNext","onSearch","onSend","onPrevious","contentType","singleLine","maxLines","minLines","visualTransformation","textSelectionColors","handleColor","backgroundColor","onValueChange","onFocusChanged","DecorationBox","contentAlignment","Placeholder","color","InnerTextField"],"mappings":";AAAA,SACEA,cAAc,EACdC,GAAG,EACHC,IAAI,EAIJC,cAAc,QACT,2BAA2B;AAClC,SACEC,YAAY,EACZC,aAAa,EACbC,SAAS,EACTC,UAAUC,cAAc,QACnB,qCAAqC;AAC5C,SAASC,mBAAmB,EAAEC,MAAM,QAAQ,QAAQ;AAGpD,SAASC,oBAAoB,QAAQ,oBAAoB;AAEzD,SAASC,2BAA2B,EAAEC,uBAAuB,EAAEC,eAAe,QAAQ,UAAU;AAEhG,SAASC,iBAAiBC,KAA2B;IACnD,IAAIA,UAAU,YAAYA,UAAU,SAAS,OAAO;IACpD,IAAIA,UAAU,UAAUA,UAAU,WAAWA,UAAU,kBAAkB,OAAO;IAChF,OAAOA;AACT;AAEA,SAASC,gBAAgBD,KAA0B;IACjD,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACH,OAAO;QACT;YACE,OAAO;IACX;AACF;AAEA,OAAO,SAASE,UAAU,EACxBC,GAAG,EACHH,KAAK,EACLI,YAAY,EACZC,WAAW,EACXC,SAAS,EACTC,UAAUC,YAAY,EACtBC,SAAS,EACTC,cAAcC,gBAAgB,EAC9BC,cAAc,EACdC,WAAW,EACXC,eAAeC,iBAAiB,EAChCC,eAAe,EACfC,OAAO,EACPC,MAAM,EACNC,WAAW,EACXC,SAAS,EACTC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,YAAY,EACZC,eAAeC,iBAAiB,EAChCC,IAAI,EACJC,qBAAqB,EACrBrC,MAAM,EACNsC,oBAAoB,EACpBC,SAAS,EACTC,KAAK,EACLC,eAAe,EACfC,YAAY,EACZC,mBAAmB,EACnBC,SAAS,EACTC,WAAW,EACXC,cAAc,EACdC,oBAAoB,EACpBC,SAAS,EACTC,iBAAiB,EACjBC,iBAAiB,EACjBC,WAAWC,aAAa,EACT;IACf,MAAMpC,WAAWT,gBAAgBU,cAAca;IAC/C,MAAMI,gBAAgBC,qBAAqBC;IAC3C,MAAMjB,eAAeC,oBAAoBd,wBAAwByB;IACjE,MAAMR,gBAAgBC,qBAAqBnB,4BAA4B2B;IAEvE,MAAMqB,qBAAqBlD,OAAO8B,gBAAgB;IAClD,MAAMqB,WAAW1D,eAAuByD,mBAAmBE,OAAO;IAClE,MAAMC,QAAS/C,SAAS6C;IAExB,MAAMG,WAAWtD,OAAqB;IACtC,MAAMuD,eAAevD,OAAO;IAC5BD,oBACEU,KACA,IAAO,CAAA;YACL+C,OAAO;gBACLF,SAASF,OAAO,EAAEI;YACpB;YACAC,MAAM;gBACJH,SAASF,OAAO,EAAEK;YACpB;YACAC,OAAO;gBACLJ,SAASF,OAAO,EAAEM;YACpB;YACAC,WAAW,IAAMJ,aAAaH,OAAO;YACrCQ,cAAc,CAACC,OAAeC,MAC5BR,SAASF,OAAO,EAAEQ,aAAaC,OAAOC,QAAQC,QAAQC,OAAO;QACjE,CAAA,GACA,EAAE;IAGJ,MAAMC,qBAAqB,CAACC;QAC1BX,aAAaH,OAAO,GAAGc;QACvB,IAAIA,WAAWnB,mBAAmB;YAChCO,SAASF,OAAO,EAAEQ,aAAa,GAAGP,MAAM/C,KAAK,CAAC6D,MAAM;QACtD;QACA,IAAID,SAAS3C;aACRC;IACP;IAEA,MAAM4C,kBACJpD,gBAAgBE,kBAAkBC,gBAAgBkD,aAAajD,gBAC3D;QACE,GAAIJ,eAAe;YAAEA,cAAcT,gBAAgBS;QAAc,IAAI,IAAI;QACzE,GAAIE,iBAAiB;YAAEoD,gBAAgBpD;QAAe,IAAI,IAAI;QAC9D,GAAIC,gBAAgBkD,YAAY;YAAEE,oBAAoBpD;QAAY,IAAI,IAAI;QAC1E,GAAIC,gBAAgB;YAAEoD,WAAWnE,iBAAiBe;QAAe,IAAI,IAAI;IAC3E,IACAiD;IAEN,MAAMI,kBAAkBnD,kBACpB;QACEoD,QAAQpD;QACRqD,MAAMrD;QACNsD,QAAQtD;QACRuD,UAAUvD;QACVwD,QAAQxD;QACRyD,YAAYzD;IACd,IACA+C;IAEJ,qBACE,KAAC/E;QACCmB,KAAK6C;QACLN,WAAW;eACLC,iBAAiB,EAAE;eACpBhD,qBAAqBoC,OAAO,CAAC;eAC5BxC,SAAS;gBAACC,eAAeD;aAAQ,GAAG,EAAE;eACtC0C,eAAe;gBAAC3C,UAAU;oBAAEoF,aAAazC;gBAAa;aAAG,GAAG,EAAE;eAC9DC,sBAAsB;gBAAC7C,cAAc6C;aAAqB,GAAG,EAAE;SACpE;QACDlC,OAAO+C;QACPzC,WAAWA;QACXe,UAAUd,aAAa;QACvBoE,YAAY,CAAClE;QACbmE,UAAUnE,aAAagB,iBAAiBA,gBAAgB,IAAIA,gBAAgBsC;QAC5Ec,UAAUpE,aAAagB,iBAAiBA,gBAAgB,IAAIA,gBAAgBsC;QAC5E5C,aAAaiB,cAAc,gBAAiBjB,eAAekB;QAC3DP,WACEA,aAAcV,aAAaA,cAAc,SACrC;YACE,GAAGU,SAAS;YACZ,GAAIV,aAAaA,cAAc,SAAS;gBAAEA;YAAU,IAAI,IAAI;QAC9D,IACA2C;QAENe,sBAAsB9C,kBAAkB,aAAa+B;QACrDgB,qBACE1C,kBAAkBC,uBACd;YACE0C,aAAa1C,wBAAwBD;YACrC4C,iBAAiB5C;QACnB,IACA0B;QAEND,iBAAiBA;QACjBK,iBAAiBA;QACjBe,eAAe9E;QACf+B,WAAWA;QACXgD,gBAAgBxB;QAChBpB,WAAWA;QACXC,mBAAmBA;kBACnB,cAAA,KAACxD,eAAeoG,aAAa;sBAC3B,cAAA,MAACnG;gBACCyD,WAAW;oBAACtD;iBAAe;gBAC3BiG,kBACEjE,cAAc,WAAW,cAAcA,cAAc,UAAU,WAAW2C;;oBAE3E1D,eAAe,qBACd,KAACrB,eAAesG,WAAW;kCACzB,cAAA,KAACpG;4BACCqG,OAAO1D;4BACPa,WAAW;gCAACtD;6BAAe;4BAC3B2C,
|
|
1
|
+
{"version":3,"sources":["universal/TextInput/index.android.tsx"],"sourcesContent":[null],"names":["BasicTextField","Box","Text","useNativeState","fillMaxWidth","onSizeChanged","semantics","testID","testIDModifier","useImperativeHandle","useRef","transformToModifiers","enterKeyHintToReturnKeyType","inputModeToKeyboardType","resolveEditable","mapReturnKeyType","value","mapKeyboardType","TextInput","ref","onChangeText","placeholder","autoFocus","editable","editableProp","multiline","keyboardType","keyboardTypeProp","autoCapitalize","autoCorrect","returnKeyType","returnKeyTypeProp","onSubmitEditing","onFocus","onBlur","cursorColor","textAlign","readOnly","inputMode","enterKeyHint","defaultValue","numberOfLines","numberOfLinesProp","rows","underlineColorAndroid","placeholderTextColor","textStyle","style","secureTextEntry","autoComplete","onContentSizeChange","maxLength","caretHidden","selectionColor","selectionHandleColor","selection","onSelectionChange","selectTextOnFocus","modifiers","userModifiers","initialFallbackRef","fallback","current","state","innerRef","isFocusedRef","focus","blur","clear","isFocused","setSelection","start","end","Promise","resolve","handleFocusChanged","focused","length","keyboardOptions","undefined","capitalization","autoCorrectEnabled","imeAction","keyboardActions","onDone","onGo","onNext","onSearch","onSend","onPrevious","contentType","singleLine","maxLines","minLines","visualTransformation","textSelectionColors","handleColor","backgroundColor","onValueChange","onFocusChanged","DecorationBox","contentAlignment","Placeholder","color","InnerTextField"],"mappings":"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"}
|
package/ios/HostView.swift
CHANGED
|
@@ -90,6 +90,7 @@ struct HostView: ExpoSwiftUI.View, ExpoSwiftUI.WithHostingView {
|
|
|
90
90
|
Children()
|
|
91
91
|
}
|
|
92
92
|
.environment(\.expoHostingView, props.hostingViewReference)
|
|
93
|
+
.modifier(HostViewContentMarginsMitigation(layoutDirection: layoutDirection, hostingView: props.hostingView))
|
|
93
94
|
.fixedSize(horizontal: props.matchContentsHorizontal, vertical: props.matchContentsVertical)
|
|
94
95
|
.modifier(LayoutDirectionModifier(layoutDirection: layoutDirection))
|
|
95
96
|
.modifier(ColorSchemeModifier(colorScheme: props.colorScheme?.toColorScheme()))
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// Copyright 2015-present 650 Industries. All rights reserved.
|
|
2
|
+
|
|
3
|
+
import SwiftUI
|
|
4
|
+
import ExpoModulesCore
|
|
5
|
+
|
|
6
|
+
/// Works around a SwiftUI bug on iPhone Duo: delete this file and its one use in `HostView` once iOS
|
|
7
|
+
/// fixes it.
|
|
8
|
+
///
|
|
9
|
+
/// When the app is in a split view, positioned left, the tab bar becomes a rail beside the content and
|
|
10
|
+
/// iOS drops its content margin on that edge, so the large title starts on the safe-area edge. A `Form`
|
|
11
|
+
/// or `List` hosted under a UIKit navigation bar, as every `Host` is, keeps its 20pt section margin there
|
|
12
|
+
/// and starts 20pt inside the title:
|
|
13
|
+
///
|
|
14
|
+
/// ```
|
|
15
|
+
/// RNSNavigationController navigation bar: large title at 84, the safe-area edge
|
|
16
|
+
/// └─ RNSScreen the pushed controller: safe area 84, layout margins 84
|
|
17
|
+
/// └─ UIHostingController the Host, a child controller: 84 + 20pt margin = 104 ❌ BUG
|
|
18
|
+
/// └─ Form sections at 104, 20pt inside the title
|
|
19
|
+
/// ```
|
|
20
|
+
///
|
|
21
|
+
/// SwiftUI drops that 20pt only when the hosting controller is itself the pushed controller, which a
|
|
22
|
+
/// `Host` can never be.
|
|
23
|
+
///
|
|
24
|
+
/// This sets the scroll content margin on such an edge to the hosted view's safe-area inset, measured
|
|
25
|
+
/// from the view's edge, so sections start with the title. It applies only where the inset exceeds the
|
|
26
|
+
/// window's own on that edge, so it comes from a bar beside the content, and the screen's layout margin
|
|
27
|
+
/// equals its safe area, so iOS has dropped the margin there.
|
|
28
|
+
///
|
|
29
|
+
/// See ENG-27830.
|
|
30
|
+
internal struct HostViewContentMarginsMitigation: ViewModifier {
|
|
31
|
+
let layoutDirection: LayoutDirection
|
|
32
|
+
weak var hostingView: UIView?
|
|
33
|
+
|
|
34
|
+
/// The leading and trailing content margins to apply, or `nil` to keep the system's.
|
|
35
|
+
@State private var margins = Margins()
|
|
36
|
+
|
|
37
|
+
private struct Margins: Equatable {
|
|
38
|
+
var leading: CGFloat?
|
|
39
|
+
var trailing: CGFloat?
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
func body(content: Content) -> some View {
|
|
43
|
+
#if os(iOS)
|
|
44
|
+
if #available(iOS 17.0, *) {
|
|
45
|
+
content
|
|
46
|
+
.contentMargins(.leading, margins.leading, for: .scrollContent)
|
|
47
|
+
.contentMargins(.trailing, margins.trailing, for: .scrollContent)
|
|
48
|
+
.onGeometryChange(for: CGRect.self, of: { proxy in proxy.frame(in: .global) }) { _ in
|
|
49
|
+
updateMargins()
|
|
50
|
+
}
|
|
51
|
+
.onGeometryChange(for: EdgeInsets.self, of: { proxy in proxy.safeAreaInsets }) { _ in
|
|
52
|
+
updateMargins()
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
content
|
|
56
|
+
}
|
|
57
|
+
#else
|
|
58
|
+
content
|
|
59
|
+
#endif
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
#if os(iOS)
|
|
63
|
+
/// UIKit can update the screen's layout margins after SwiftUI reports the geometry change, as
|
|
64
|
+
/// when the window moves into a split view, so the margins are checked again once that settles.
|
|
65
|
+
private func updateMargins() {
|
|
66
|
+
margins = affectedMargins()
|
|
67
|
+
DispatchQueue.main.async {
|
|
68
|
+
margins = affectedMargins()
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
private func affectedMargins() -> Margins {
|
|
73
|
+
guard let hostingView, let window = hostingView.window, let screen = screenView(of: hostingView) else {
|
|
74
|
+
return Margins()
|
|
75
|
+
}
|
|
76
|
+
let host = hostingView.safeAreaInsets
|
|
77
|
+
let left: CGFloat? = host.left > window.safeAreaInsets.left
|
|
78
|
+
&& abs(screen.layoutMargins.left - screen.safeAreaInsets.left) < 0.5 ? host.left : nil
|
|
79
|
+
let right: CGFloat? = host.right > window.safeAreaInsets.right
|
|
80
|
+
&& abs(screen.layoutMargins.right - screen.safeAreaInsets.right) < 0.5 ? host.right : nil
|
|
81
|
+
return layoutDirection == .rightToLeft
|
|
82
|
+
? Margins(leading: right, trailing: left)
|
|
83
|
+
: Margins(leading: left, trailing: right)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/// The view of the nearest view controller above the `Host`, which is the screen it is hosted in.
|
|
87
|
+
private func screenView(of view: UIView) -> UIView? {
|
|
88
|
+
var responder = view.next
|
|
89
|
+
while let current = responder {
|
|
90
|
+
if let controller = current as? UIViewController {
|
|
91
|
+
return controller.view
|
|
92
|
+
}
|
|
93
|
+
responder = current.next
|
|
94
|
+
}
|
|
95
|
+
return nil
|
|
96
|
+
}
|
|
97
|
+
#endif
|
|
98
|
+
}
|
package/ios/UIBaseView.swift
CHANGED
|
@@ -73,7 +73,7 @@ public func ExpoUIView<Content: ExpoSwiftUI.View>(
|
|
|
73
73
|
_ contentType: Content.Type
|
|
74
74
|
) -> ExpoSwiftUI.ViewDefinition<Content.Props, UIBaseView<Content.Props, Content>> where Content.Props: UIBaseViewProps {
|
|
75
75
|
let wrappedType = UIBaseView<Content.Props, Content>.self
|
|
76
|
-
let contentName =
|
|
76
|
+
let contentName = unqualifiedTypeName(contentType)
|
|
77
77
|
|
|
78
78
|
return View(wrappedType) {
|
|
79
79
|
ViewName(contentName)
|
|
@@ -89,7 +89,18 @@ public func ExpoUIView<Content: ExpoSwiftUI.View>(
|
|
|
89
89
|
@ExpoSwiftUI.ViewDefinitionBuilder<Content> _ elements: @escaping () -> [AnyViewDefinitionElement]
|
|
90
90
|
) -> ExpoSwiftUI.ViewDefinition<Content.Props, UIBaseView<Content.Props, Content>> where Content.Props: UIBaseViewProps {
|
|
91
91
|
let wrappedType = UIBaseView<Content.Props, Content>.self
|
|
92
|
-
let contentName =
|
|
92
|
+
let contentName = unqualifiedTypeName(contentType)
|
|
93
93
|
|
|
94
94
|
return ExpoSwiftUI.ViewDefinition(wrappedType, name: contentName, elements: elements())
|
|
95
95
|
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
The name `String(describing: type)` gives for a metatype, without its three protocol conformance probes and the `Mirror`.
|
|
99
|
+
It takes an opaque `Any.Type` and is never inlined on purpose.
|
|
100
|
+
With a statically known metatype the optimizer folds `_typeName` into a constant that keeps the file discriminator
|
|
101
|
+
of a `private` type, e.g. `(Foo in _ABC123…)`, where `String(describing:)` yields `Foo`.
|
|
102
|
+
*/
|
|
103
|
+
@inline(never)
|
|
104
|
+
private func unqualifiedTypeName(_ type: Any.Type) -> String {
|
|
105
|
+
return _typeName(type, qualified: false)
|
|
106
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "expo.modules.ui",
|
|
5
5
|
"module": "expo.modules.ui",
|
|
6
|
-
"version": "58.0.
|
|
6
|
+
"version": "58.0.18",
|
|
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.ui-58.0.
|
|
28
|
-
"url": "expo.modules.ui-58.0.
|
|
27
|
+
"name": "expo.modules.ui-58.0.18.aar",
|
|
28
|
+
"url": "expo.modules.ui-58.0.18.aar",
|
|
29
29
|
"size": 1859361,
|
|
30
30
|
"sha512": "ba561fa50c9fde30184d2c36051e644fd87db59555b7b38f8e2e5b7096b03bf0d2aec3e53fff1831d2705d85b174ec1a7fc2e9cadc69c41237aac262bbea9365",
|
|
31
31
|
"sha256": "6cbb10f1e4cd5618c6997d87c2021e97c7bab1b8fc4ecc7be48f563e9c0e284a",
|
|
@@ -141,8 +141,8 @@
|
|
|
141
141
|
],
|
|
142
142
|
"files": [
|
|
143
143
|
{
|
|
144
|
-
"name": "expo.modules.ui-58.0.
|
|
145
|
-
"url": "expo.modules.ui-58.0.
|
|
144
|
+
"name": "expo.modules.ui-58.0.18.aar",
|
|
145
|
+
"url": "expo.modules.ui-58.0.18.aar",
|
|
146
146
|
"size": 1859361,
|
|
147
147
|
"sha512": "ba561fa50c9fde30184d2c36051e644fd87db59555b7b38f8e2e5b7096b03bf0d2aec3e53fff1831d2705d85b174ec1a7fc2e9cadc69c41237aac262bbea9365",
|
|
148
148
|
"sha256": "6cbb10f1e4cd5618c6997d87c2021e97c7bab1b8fc4ecc7be48f563e9c0e284a",
|
|
@@ -161,8 +161,8 @@
|
|
|
161
161
|
},
|
|
162
162
|
"files": [
|
|
163
163
|
{
|
|
164
|
-
"name": "expo.modules.ui-58.0.
|
|
165
|
-
"url": "expo.modules.ui-58.0.
|
|
164
|
+
"name": "expo.modules.ui-58.0.18-sources.jar",
|
|
165
|
+
"url": "expo.modules.ui-58.0.18-sources.jar",
|
|
166
166
|
"size": 113113,
|
|
167
167
|
"sha512": "10ed672c04082cf5f06e6ca6dca0f28229f11f3d503d46e5b61dbc7d3ad50bfdc1399838dd38dc5b8c1643ec375c4bf1672c95606ce28f7ed36384f66b829b68",
|
|
168
168
|
"sha256": "f9a24faad34f9f66bebcdde7d05a6cf72a8b4b9030819b80049de5084a694ef0",
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
c93ae24122a8c0fdf6031662c20d7ab1
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.module.sha1
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0280a28f44e2219abbc8ce054003200350f1dcc7
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ea72887593516448266e9bc6baf03968872b368955a35eb088ea2ff6704a1554
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a6322f157112637387e22d8a67960dd950773126129ee71be541575898307ddec6c5f16bb581ed0706a2f3694b40ba69bbec78060759038aaddca1f93084bf8b
|
|
@@ -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>58.0.
|
|
12
|
+
<version>58.0.18</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/58.0.18/expo.modules.ui-58.0.18.pom.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
28a30050a820f67ff0fb27470cb4f591
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha1
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
d556d91a38a29be6a7ba659601e3a6b6aa33de81
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha256
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
41cc6e28b0897992415819e13a13dc98d98755c22d717cfb456dfb169d6f620f
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.18/expo.modules.ui-58.0.18.pom.sha512
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5c5379544047a4326c296a599c1120e912f99ff4a427def0cfb7455ee1e9b4c99c51d36294ea4c023019a7ef565e85ffc1a3db6b1c812ae5a071d163d51ce385
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/ui",
|
|
3
|
-
"version": "58.0.
|
|
3
|
+
"version": "58.0.18",
|
|
4
4
|
"description": "A collection of UI components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Jetpack Compose",
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
},
|
|
142
142
|
"devDependencies": {
|
|
143
143
|
"@babel/core": "^7.26.0",
|
|
144
|
-
"@expo/internal-scripts": "58.0.
|
|
144
|
+
"@expo/internal-scripts": "58.0.3",
|
|
145
145
|
"@playwright/test": "^1.59.0",
|
|
146
146
|
"@testing-library/react": "^16.3.0",
|
|
147
147
|
"@testing-library/react-native": "^14.0.1",
|
|
Binary file
|
|
Binary file
|
|
@@ -206,7 +206,14 @@ export function TextInput({
|
|
|
206
206
|
<Text
|
|
207
207
|
color={placeholderTextColor as string | undefined}
|
|
208
208
|
modifiers={[fillMaxWidth()]}
|
|
209
|
-
style={
|
|
209
|
+
style={
|
|
210
|
+
textStyle || (textAlign && textAlign !== 'auto')
|
|
211
|
+
? {
|
|
212
|
+
...textStyle,
|
|
213
|
+
...(textAlign && textAlign !== 'auto' ? { textAlign } : null),
|
|
214
|
+
}
|
|
215
|
+
: undefined
|
|
216
|
+
}>
|
|
210
217
|
{placeholder}
|
|
211
218
|
</Text>
|
|
212
219
|
</BasicTextField.Placeholder>
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.module.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
390c21f1bf1c8717fdcaf1855f4ba066
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.module.sha1
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
43aed8719871e806fa4b5a0f69fe75da7a7424f8
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
d9eeecec40ed29a204b843d0629816e5187519c1ba1af7d603696511f8a62100
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
31f0b1ae5e0569d53a08e7814623d7680272d04bd24f24d3f769140c046097ce3d3a970d19293a9185f8406611ae6a98a742c6cde3cfa8c51a3236e4a23fbdc1
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.pom.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3c5a264d323e2afb9aaf51b8dbe33548
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.pom.sha1
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
94dac94419f825b433dd7a57ba548ec8395a276f
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.pom.sha256
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
84381286ae177b29ab5287316eeb3f405532f1608c01d7535afdb85f8c0e9149
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.17/expo.modules.ui-58.0.17.pom.sha512
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
9d1c51764187080d9adff9998f2fffd9702db44c55b4a507042747e0b6d3bab6e698966c5584d19c2b90c2b065e03148504c60dcc3a38f396b7218e6434f4b00
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|