@expo/ui 55.0.10 → 55.0.11

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.
Files changed (75) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/ui/ExpoUIModule.kt +11 -7
  4. package/android/src/main/java/expo/modules/ui/TextFieldView.kt +326 -0
  5. package/build/jetpack-compose/SlotView.d.ts +7 -0
  6. package/build/jetpack-compose/SlotView.d.ts.map +1 -0
  7. package/build/jetpack-compose/TextField/index.d.ts +177 -0
  8. package/build/jetpack-compose/TextField/index.d.ts.map +1 -0
  9. package/build/jetpack-compose/index.d.ts +1 -1
  10. package/build/swift-ui/SecureField/index.d.ts +9 -20
  11. package/build/swift-ui/SecureField/index.d.ts.map +1 -1
  12. package/build/swift-ui/TextField/index.d.ts +17 -63
  13. package/build/swift-ui/TextField/index.d.ts.map +1 -1
  14. package/build/swift-ui/modifiers/index.d.ts +35 -4
  15. package/build/swift-ui/modifiers/index.d.ts.map +1 -1
  16. package/expo-module.config.json +1 -1
  17. package/ios/Modifiers/KeyboardTypeModifier.swift +68 -0
  18. package/ios/Modifiers/LineLimitModifier.swift +29 -0
  19. package/ios/Modifiers/OnSubmitModifier.swift +21 -0
  20. package/ios/Modifiers/ViewModifierRegistry.swift +12 -8
  21. package/ios/SecureFieldView.swift +5 -12
  22. package/ios/TextFieldView.swift +26 -94
  23. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.10/expo.modules.ui-55.0.10-sources.jar → 55.0.11/expo.modules.ui-55.0.11-sources.jar} +0 -0
  24. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11-sources.jar.md5 +1 -0
  25. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11-sources.jar.sha1 +1 -0
  26. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11-sources.jar.sha256 +1 -0
  27. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11-sources.jar.sha512 +1 -0
  28. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.aar +0 -0
  29. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.aar.md5 +1 -0
  30. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.aar.sha1 +1 -0
  31. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.aar.sha256 +1 -0
  32. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.aar.sha512 +1 -0
  33. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.10/expo.modules.ui-55.0.10.module → 55.0.11/expo.modules.ui-55.0.11.module} +22 -22
  34. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.module.md5 +1 -0
  35. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.module.sha1 +1 -0
  36. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.module.sha256 +1 -0
  37. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.module.sha512 +1 -0
  38. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.10/expo.modules.ui-55.0.10.pom → 55.0.11/expo.modules.ui-55.0.11.pom} +1 -1
  39. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.pom.md5 +1 -0
  40. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.pom.sha1 +1 -0
  41. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.pom.sha256 +1 -0
  42. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.pom.sha512 +1 -0
  43. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml +4 -4
  44. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.md5 +1 -1
  45. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha1 +1 -1
  46. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha256 +1 -1
  47. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha512 +1 -1
  48. package/package.json +2 -2
  49. package/src/jetpack-compose/SlotView.tsx +15 -0
  50. package/src/jetpack-compose/TextField/index.tsx +276 -0
  51. package/src/jetpack-compose/index.ts +1 -1
  52. package/src/swift-ui/SecureField/index.tsx +18 -36
  53. package/src/swift-ui/TextField/index.tsx +30 -91
  54. package/src/swift-ui/modifiers/index.ts +63 -3
  55. package/android/src/main/java/expo/modules/ui/TextInputView.kt +0 -124
  56. package/build/jetpack-compose/TextInput/index.d.ts +0 -105
  57. package/build/jetpack-compose/TextInput/index.d.ts.map +0 -1
  58. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10-sources.jar.md5 +0 -1
  59. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10-sources.jar.sha1 +0 -1
  60. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10-sources.jar.sha256 +0 -1
  61. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10-sources.jar.sha512 +0 -1
  62. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.aar +0 -0
  63. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.aar.md5 +0 -1
  64. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.aar.sha1 +0 -1
  65. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.aar.sha256 +0 -1
  66. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.aar.sha512 +0 -1
  67. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.module.md5 +0 -1
  68. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.module.sha1 +0 -1
  69. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.module.sha256 +0 -1
  70. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.module.sha512 +0 -1
  71. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.pom.md5 +0 -1
  72. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.pom.sha1 +0 -1
  73. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.pom.sha256 +0 -1
  74. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.10/expo.modules.ui-55.0.10.pom.sha512 +0 -1
  75. package/src/jetpack-compose/TextInput/index.tsx +0 -157
@@ -1,66 +1,19 @@
1
1
  import SwiftUI
2
2
  import ExpoModulesCore
3
3
 
4
- enum KeyboardType: String, Enumerable {
5
- case defaultKeyboard = "default"
6
- case emailAddress = "email-address"
7
- case numeric = "numeric"
8
- case phonePad = "phone-pad"
9
- case asciiCapable = "ascii-capable"
10
- case numbersAndPunctuation = "numbers-and-punctuation"
11
- case url = "url"
12
- case namePhonePad = "name-phone-pad"
13
- case decimalPad = "decimal-pad"
14
- case twitter = "twitter"
15
- case webSearch = "web-search"
16
- case asciiCapableNumberPad = "ascii-capable-number-pad"
4
+ enum TextFieldAxis: String, Enumerable {
5
+ case horizontal
6
+ case vertical
17
7
  }
18
8
 
19
9
  final class TextFieldProps: UIBaseViewProps {
20
10
  @Field var defaultValue: String = ""
21
- @Field var placeholder: String = ""
22
- @Field var multiline: Bool = false
23
- @Field var numberOfLines: Int?
24
- @Field var keyboardType: KeyboardType = KeyboardType.defaultKeyboard
25
- @Field var autocorrection: Bool = true
26
- @Field var allowNewlines: Bool = true
27
11
  @Field var autoFocus: Bool = false
28
- var onValueChanged = EventDispatcher()
29
- var onFocusChanged = EventDispatcher()
30
- var onSelectionChanged = EventDispatcher()
31
- var onSubmit = EventDispatcher()
32
- }
33
-
34
- func getKeyboardType(_ keyboardType: KeyboardType?) -> UIKeyboardType {
35
- guard let keyboardType = keyboardType else {
36
- return .default
37
- }
38
- switch keyboardType {
39
- case .defaultKeyboard:
40
- return .default
41
- case .emailAddress:
42
- return .emailAddress
43
- case .numeric:
44
- return .numberPad
45
- case .phonePad:
46
- return .phonePad
47
- case .asciiCapable:
48
- return .asciiCapable
49
- case .numbersAndPunctuation:
50
- return .numbersAndPunctuation
51
- case .url:
52
- return .URL
53
- case .namePhonePad:
54
- return .namePhonePad
55
- case .decimalPad:
56
- return .decimalPad
57
- case .twitter:
58
- return .twitter
59
- case .webSearch:
60
- return .webSearch
61
- case .asciiCapableNumberPad:
62
- return .asciiCapableNumberPad
63
- }
12
+ @Field var placeholder: String = ""
13
+ @Field var axis: TextFieldAxis = .horizontal
14
+ var onValueChange = EventDispatcher()
15
+ var onFocusChange = EventDispatcher()
16
+ var onSelectionChange = EventDispatcher()
64
17
  }
65
18
 
66
19
  class TextFieldManager: ObservableObject {
@@ -82,14 +35,6 @@ class TextFieldManager: ObservableObject {
82
35
  }
83
36
  }
84
37
 
85
- func allowMultiLine() -> Bool {
86
- #if os(tvOS)
87
- return false
88
- #else
89
- return true
90
- #endif
91
- }
92
-
93
38
  struct TextFieldView: ExpoSwiftUI.View, ExpoSwiftUI.FocusableView {
94
39
  @ObservedObject var props: TextFieldProps
95
40
  @ObservedObject var textManager: TextFieldManager = TextFieldManager()
@@ -132,60 +77,47 @@ struct TextFieldView: ExpoSwiftUI.View, ExpoSwiftUI.FocusableView {
132
77
  #endif
133
78
  }
134
79
 
135
- var text: some View {
136
- let text = if #available(iOS 18.0, macOS 15.0, tvOS 18.0, *) {
80
+ private var swiftUIAxis: Axis {
81
+ props.axis == .vertical ? .vertical : .horizontal
82
+ }
83
+
84
+ @ViewBuilder
85
+ var textField: some View {
86
+ if #available(iOS 18.0, macOS 15.0, tvOS 18.0, *) {
137
87
  #if !os(tvOS)
138
88
  TextField(
139
89
  props.placeholder,
140
90
  text: $textManager.text,
141
91
  selection: $textManager.selection,
142
- axis: (props.multiline && allowMultiLine()) ? .vertical : .horizontal
92
+ axis: swiftUIAxis
143
93
  )
94
+ .focused($isFocused)
144
95
  #else
145
96
  TextField(
146
97
  props.placeholder,
147
98
  text: $textManager.text,
148
- axis: (props.multiline && allowMultiLine()) ? .vertical : .horizontal
99
+ axis: swiftUIAxis
149
100
  )
101
+ .focused($isFocused)
150
102
  #endif
151
103
  } else if #available(iOS 16.0, tvOS 16.0, *) {
152
104
  TextField(
153
105
  props.placeholder,
154
106
  text: $textManager.text,
155
- axis: (props.multiline && allowMultiLine()) ? .vertical : .horizontal
107
+ axis: swiftUIAxis
156
108
  )
109
+ .focused($isFocused)
157
110
  } else {
158
111
  TextField(
159
112
  props.placeholder,
160
113
  text: $textManager.text
161
114
  )
162
- }
163
- return text.lineLimit((props.multiline && allowMultiLine()) ? props.numberOfLines : 1)
164
- .fixedSize(horizontal: false, vertical: true)
165
- .keyboardType(getKeyboardType(props.keyboardType))
166
- .autocorrectionDisabled(!props.autocorrection)
167
115
  .focused($isFocused)
168
- .onSubmit({
169
- if props.allowNewlines && props.multiline && allowMultiLine() {
170
- if textManager.text.filter({ $0 == "\n" }).count < props.numberOfLines ?? Int.max - 1 {
171
- textManager.text.append("\n")
172
-
173
- // when selection state is set, the cursor does not auto update to added newline
174
- #if !os(tvOS)
175
- if #available(iOS 18.0, macOS 15.0, *) {
176
- let cursorPosition = textManager.text.endIndex
177
- textManager.selection = SwiftUI.TextSelection(range: cursorPosition..<cursorPosition)
178
- }
179
- #endif
180
- }
181
- isFocused = true
182
- }
183
- props.onSubmit(["value": textManager.text])
184
- })
116
+ }
185
117
  }
186
118
 
187
119
  var body: some View {
188
- let baseView = text
120
+ let baseView = textField
189
121
  .onAppear {
190
122
  textManager.text = props.defaultValue
191
123
  if props.autoFocus {
@@ -193,14 +125,14 @@ struct TextFieldView: ExpoSwiftUI.View, ExpoSwiftUI.FocusableView {
193
125
  }
194
126
  }
195
127
  .onChange(of: textManager.text) { newValue in
196
- props.onValueChanged(["value": newValue])
128
+ props.onValueChange(["value": newValue])
197
129
  }
198
130
  .onChange(of: textManager.isFocused) { newValue in
199
131
  isFocused = newValue
200
132
  }
201
133
  .onChange(of: isFocused) { newValue in
202
134
  textManager.isFocused = newValue
203
- props.onFocusChanged(["value": newValue])
135
+ props.onFocusChange(["value": newValue])
204
136
  }
205
137
 
206
138
  #if !os(tvOS)
@@ -213,7 +145,7 @@ struct TextFieldView: ExpoSwiftUI.View, ExpoSwiftUI.FocusableView {
213
145
 
214
146
  let start = textManager.text.distance(from: textManager.text.startIndex, to: clampedLower)
215
147
  let end = textManager.text.distance(from: textManager.text.startIndex, to: clampedUpper)
216
- props.onSelectionChanged(["start": start, "end": end])
148
+ props.onSelectionChange(["start": start, "end": end])
217
149
  }
218
150
  }
219
151
  }
@@ -0,0 +1 @@
1
+ 70de253a9147c6ff1cf1874e6cdb587183aaabcbe10631ab4051f0ad254c54d5
@@ -0,0 +1 @@
1
+ 08d65b836394cc88f152cfb2a1ee79ae229155b54ab069dac6a7bfe4cabd8a30b09428b5261025453b3289aa6b1d4aeffca52365e74aefb4af9ade252a1c80a9
@@ -0,0 +1 @@
1
+ ff635efe00b621675925f4799e500bfd51d3716e
@@ -0,0 +1 @@
1
+ 3f5ed3a5af84ec2ad3f936f28e0be63971ebd17006aac943818fcdbed5e6f659
@@ -0,0 +1 @@
1
+ 808b352ca5908016e70ca2686f59300b6bb10e1ccaf90bc89c7b13cf7f635ada21a2200a5bb32bb7739be25571f48242224e422d099c21e1d784265013ce1294
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.ui",
5
5
  "module": "expo.modules.ui",
6
- "version": "55.0.10",
6
+ "version": "55.0.11",
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-55.0.10.aar",
28
- "url": "expo.modules.ui-55.0.10.aar",
29
- "size": 1048460,
30
- "sha512": "6eabbcc0f2c5ca30426dc5325e8d02ee5cd43c5c2d3660996b29d5344b609532e4cc79251162be6974dcc54c5722c50b54d59ce0ea8b422db6c1efb5a460c830",
31
- "sha256": "0cc100bb063457e6e0be298e51fd87edbe497d86fcf01f7f4e32b83ba71ee443",
32
- "sha1": "47a9ad9a4255f9c8a380708a52ffe51ccba93762",
33
- "md5": "476bb1e92103b2fde36a36bb0b3af37e"
27
+ "name": "expo.modules.ui-55.0.11.aar",
28
+ "url": "expo.modules.ui-55.0.11.aar",
29
+ "size": 1078328,
30
+ "sha512": "808b352ca5908016e70ca2686f59300b6bb10e1ccaf90bc89c7b13cf7f635ada21a2200a5bb32bb7739be25571f48242224e422d099c21e1d784265013ce1294",
31
+ "sha256": "3f5ed3a5af84ec2ad3f936f28e0be63971ebd17006aac943818fcdbed5e6f659",
32
+ "sha1": "ff635efe00b621675925f4799e500bfd51d3716e",
33
+ "md5": "7b371c66845dbf67635d20082532b752"
34
34
  }
35
35
  ]
36
36
  },
@@ -120,13 +120,13 @@
120
120
  ],
121
121
  "files": [
122
122
  {
123
- "name": "expo.modules.ui-55.0.10.aar",
124
- "url": "expo.modules.ui-55.0.10.aar",
125
- "size": 1048460,
126
- "sha512": "6eabbcc0f2c5ca30426dc5325e8d02ee5cd43c5c2d3660996b29d5344b609532e4cc79251162be6974dcc54c5722c50b54d59ce0ea8b422db6c1efb5a460c830",
127
- "sha256": "0cc100bb063457e6e0be298e51fd87edbe497d86fcf01f7f4e32b83ba71ee443",
128
- "sha1": "47a9ad9a4255f9c8a380708a52ffe51ccba93762",
129
- "md5": "476bb1e92103b2fde36a36bb0b3af37e"
123
+ "name": "expo.modules.ui-55.0.11.aar",
124
+ "url": "expo.modules.ui-55.0.11.aar",
125
+ "size": 1078328,
126
+ "sha512": "808b352ca5908016e70ca2686f59300b6bb10e1ccaf90bc89c7b13cf7f635ada21a2200a5bb32bb7739be25571f48242224e422d099c21e1d784265013ce1294",
127
+ "sha256": "3f5ed3a5af84ec2ad3f936f28e0be63971ebd17006aac943818fcdbed5e6f659",
128
+ "sha1": "ff635efe00b621675925f4799e500bfd51d3716e",
129
+ "md5": "7b371c66845dbf67635d20082532b752"
130
130
  }
131
131
  ]
132
132
  },
@@ -140,13 +140,13 @@
140
140
  },
141
141
  "files": [
142
142
  {
143
- "name": "expo.modules.ui-55.0.10-sources.jar",
144
- "url": "expo.modules.ui-55.0.10-sources.jar",
145
- "size": 66487,
146
- "sha512": "d9c690394b14a26e66a9e2520000d48ab9d98163b4495ff3acf0be27d3c285e3f3c11a4e9843c124d9bbf1d8da51064956af5f3fd7f11e4775ef5d6d32a2487b",
147
- "sha256": "6f17f489b1f61bda39b7219a16731839a2436678e8e1258f862b6f126229a160",
148
- "sha1": "0fb41718cf502bf1bd5bfeefef2497a791ec4067",
149
- "md5": "1f6068b64a52c28e06da5f7a2d25f96c"
143
+ "name": "expo.modules.ui-55.0.11-sources.jar",
144
+ "url": "expo.modules.ui-55.0.11-sources.jar",
145
+ "size": 68147,
146
+ "sha512": "08d65b836394cc88f152cfb2a1ee79ae229155b54ab069dac6a7bfe4cabd8a30b09428b5261025453b3289aa6b1d4aeffca52365e74aefb4af9ade252a1c80a9",
147
+ "sha256": "70de253a9147c6ff1cf1874e6cdb587183aaabcbe10631ab4051f0ad254c54d5",
148
+ "sha1": "f8c9ace39c912ab1cdf6a71d39e968c305e31153",
149
+ "md5": "867d5885bc0a30e6c34e5559c030609c"
150
150
  }
151
151
  ]
152
152
  }
@@ -0,0 +1 @@
1
+ ff7435751d191feab9e4269a64ae3fdfb232303a
@@ -0,0 +1 @@
1
+ 3bba2f6a3f6c281ce62c4f426e1cf58de159cf64caf990082930b5e801d9f7a5
@@ -0,0 +1 @@
1
+ 7707b44bc8dbe7ce846f224d26af235fc0c01e24522880fd8a6a60f045ca6ff17b407f11ed4896f6de0b69f2a6d8975dfd1b364747f9a18c7fa93f99f59dc92e
@@ -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>55.0.10</version>
12
+ <version>55.0.11</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.ui</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ e32abfad99f23e44f76a85b7bf8a7a96bb5726b7
@@ -0,0 +1 @@
1
+ 3be2ed26f75ecd062b2b0c3dfa80c885a087b1d310d7b5b15da068acf26ce21b
@@ -0,0 +1 @@
1
+ b6c981bdc7215c9927ea9d9a0e6856ef40fbe0a65cc89fc6ad47f46040fe6d887354635cc8e2d06fe0e67b8eb6ed7765a4063c4dfda99d364a2a37f7c1e72c03
@@ -3,11 +3,11 @@
3
3
  <groupId>expo.modules.ui</groupId>
4
4
  <artifactId>expo.modules.ui</artifactId>
5
5
  <versioning>
6
- <latest>55.0.10</latest>
7
- <release>55.0.10</release>
6
+ <latest>55.0.11</latest>
7
+ <release>55.0.11</release>
8
8
  <versions>
9
- <version>55.0.10</version>
9
+ <version>55.0.11</version>
10
10
  </versions>
11
- <lastUpdated>20260407091553</lastUpdated>
11
+ <lastUpdated>20260409135101</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 6a2cd05fd88d709aff4808ebe3f69f9d
1
+ 673a16d18408687f0dc012731a1c3ae0
@@ -1 +1 @@
1
- 7e24006fe738bcd674e063d2cf3b882a33164b2f
1
+ 2743de4bd2449b97b2797ec00d23338e4716d8a8
@@ -1 +1 @@
1
- b3be6e6758bdd14a3f6d8424246c959ba0329afd79d34dba156ed789c7d5d422
1
+ bd5001b4d32986f25d3bd0d3a733d0d14d4e57b979a31557f9bafd0bc24f645b
@@ -1 +1 @@
1
- ec94544903eaa9d5934d6e28d56ea6248ad09be1a29c214ac87e456214c913e0ec9e6591ea9bb13f3c78fd3dcd0d5b35cb7d6d74249549985b6029cf1f5d08e3
1
+ 900435ec3391079a90e9d457986cc48ca094a86b0681c36c1d25e14e83364087eaee9d702352dbbb662888ecaaf5c820f3f713588702319ad6f20cae75057933
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/ui",
3
- "version": "55.0.10",
3
+ "version": "55.0.11",
4
4
  "description": "A collection of UI components",
5
5
  "sideEffects": [
6
6
  "*.fx.js"
@@ -67,5 +67,5 @@
67
67
  "react": "*",
68
68
  "react-native": "*"
69
69
  },
70
- "gitHead": "f35977db4ffc6bbc2b295d65a8d74e9fd4f24ecb"
70
+ "gitHead": "b0ada30fd6a819c5f98a23d99b1b89a2ed68743d"
71
71
  }
@@ -0,0 +1,15 @@
1
+ import { requireNativeView } from 'expo';
2
+
3
+ type SlotNativeViewProps = {
4
+ slotName: string;
5
+ children: React.ReactNode;
6
+ };
7
+
8
+ const SlotNativeView: React.ComponentType<SlotNativeViewProps> = requireNativeView(
9
+ 'ExpoUI',
10
+ 'SlotView'
11
+ );
12
+
13
+ export function Slot({ slotName, children }: SlotNativeViewProps) {
14
+ return <SlotNativeView slotName={slotName}>{children}</SlotNativeView>;
15
+ }