@expo/ui 56.0.18 → 56.0.19

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 (405) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/ui/DatePickerView.kt +33 -8
  4. package/build/community/bottom-sheet/BottomSheet.android.d.ts.map +1 -1
  5. package/build/community/bottom-sheet/BottomSheet.ios.d.ts.map +1 -1
  6. package/build/community/bottom-sheet/scrollContextReset.d.ts +5 -0
  7. package/build/community/bottom-sheet/scrollContextReset.d.ts.map +1 -0
  8. package/build/community/datetime-picker/DateTimePicker.d.ts.map +1 -1
  9. package/build/community/datetime-picker/types.d.ts +2 -2
  10. package/build/community/datetime-picker/types.d.ts.map +1 -1
  11. package/build/community/menu/types.d.ts +2 -2
  12. package/build/community/menu/types.d.ts.map +1 -1
  13. package/build/community/pager-view/types.d.ts +2 -2
  14. package/build/community/pager-view/types.d.ts.map +1 -1
  15. package/build/community/segmented-control/types.d.ts +2 -2
  16. package/build/community/segmented-control/types.d.ts.map +1 -1
  17. package/build/community/slider/types.d.ts +2 -2
  18. package/build/community/slider/types.d.ts.map +1 -1
  19. package/build/jetpack-compose/AlertDialog/index.d.ts +2 -2
  20. package/build/jetpack-compose/AlertDialog/index.d.ts.map +1 -1
  21. package/build/jetpack-compose/AnimatedVisibility/index.d.ts +2 -2
  22. package/build/jetpack-compose/AnimatedVisibility/index.d.ts.map +1 -1
  23. package/build/jetpack-compose/Badge/index.d.ts +2 -2
  24. package/build/jetpack-compose/Badge/index.d.ts.map +1 -1
  25. package/build/jetpack-compose/BadgedBox/index.d.ts +2 -2
  26. package/build/jetpack-compose/BadgedBox/index.d.ts.map +1 -1
  27. package/build/jetpack-compose/BasicAlertDialog/index.d.ts +2 -2
  28. package/build/jetpack-compose/BasicAlertDialog/index.d.ts.map +1 -1
  29. package/build/jetpack-compose/Box/index.d.ts +2 -2
  30. package/build/jetpack-compose/Box/index.d.ts.map +1 -1
  31. package/build/jetpack-compose/Button/index.d.ts +2 -2
  32. package/build/jetpack-compose/Button/index.d.ts.map +1 -1
  33. package/build/jetpack-compose/Card/index.d.ts +6 -6
  34. package/build/jetpack-compose/Card/index.d.ts.map +1 -1
  35. package/build/jetpack-compose/Carousel/index.d.ts +6 -6
  36. package/build/jetpack-compose/Carousel/index.d.ts.map +1 -1
  37. package/build/jetpack-compose/Checkbox/index.d.ts +4 -4
  38. package/build/jetpack-compose/Checkbox/index.d.ts.map +1 -1
  39. package/build/jetpack-compose/Chip/index.d.ts +8 -8
  40. package/build/jetpack-compose/Chip/index.d.ts.map +1 -1
  41. package/build/jetpack-compose/Column/index.d.ts +2 -2
  42. package/build/jetpack-compose/Column/index.d.ts.map +1 -1
  43. package/build/jetpack-compose/DatePicker/index.d.ts +6 -6
  44. package/build/jetpack-compose/DatePicker/index.d.ts.map +1 -1
  45. package/build/jetpack-compose/DockedSearchBar/index.d.ts +2 -2
  46. package/build/jetpack-compose/DockedSearchBar/index.d.ts.map +1 -1
  47. package/build/jetpack-compose/DropdownMenu/DropdownMenuItem.d.ts +2 -2
  48. package/build/jetpack-compose/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  49. package/build/jetpack-compose/DropdownMenu/index.d.ts +2 -2
  50. package/build/jetpack-compose/DropdownMenu/index.d.ts.map +1 -1
  51. package/build/jetpack-compose/ExposedDropdownMenuBox/ExposedDropdownMenu.d.ts +2 -2
  52. package/build/jetpack-compose/ExposedDropdownMenuBox/ExposedDropdownMenu.d.ts.map +1 -1
  53. package/build/jetpack-compose/ExposedDropdownMenuBox/index.d.ts +2 -2
  54. package/build/jetpack-compose/ExposedDropdownMenuBox/index.d.ts.map +1 -1
  55. package/build/jetpack-compose/FloatingActionButton/index.d.ts +8 -6
  56. package/build/jetpack-compose/FloatingActionButton/index.d.ts.map +1 -1
  57. package/build/jetpack-compose/FlowRow/index.d.ts +2 -2
  58. package/build/jetpack-compose/FlowRow/index.d.ts.map +1 -1
  59. package/build/jetpack-compose/HorizontalFloatingToolbar/index.d.ts +4 -4
  60. package/build/jetpack-compose/HorizontalFloatingToolbar/index.d.ts.map +1 -1
  61. package/build/jetpack-compose/HorizontalPager/index.d.ts +2 -2
  62. package/build/jetpack-compose/HorizontalPager/index.d.ts.map +1 -1
  63. package/build/jetpack-compose/Host/index.d.ts +2 -2
  64. package/build/jetpack-compose/Host/index.d.ts.map +1 -1
  65. package/build/jetpack-compose/Icon/index.d.ts +2 -2
  66. package/build/jetpack-compose/Icon/index.d.ts.map +1 -1
  67. package/build/jetpack-compose/IconButton/index.d.ts +2 -2
  68. package/build/jetpack-compose/IconButton/index.d.ts.map +1 -1
  69. package/build/jetpack-compose/LazyColumn/index.d.ts +2 -2
  70. package/build/jetpack-compose/LazyColumn/index.d.ts.map +1 -1
  71. package/build/jetpack-compose/LazyRow/index.d.ts +2 -2
  72. package/build/jetpack-compose/LazyRow/index.d.ts.map +1 -1
  73. package/build/jetpack-compose/ListItem/index.d.ts +2 -2
  74. package/build/jetpack-compose/ListItem/index.d.ts.map +1 -1
  75. package/build/jetpack-compose/LoadingIndicator/index.d.ts +2 -2
  76. package/build/jetpack-compose/LoadingIndicator/index.d.ts.map +1 -1
  77. package/build/jetpack-compose/ModalBottomSheet/index.d.ts +2 -2
  78. package/build/jetpack-compose/ModalBottomSheet/index.d.ts.map +1 -1
  79. package/build/jetpack-compose/MultiChoiceSegmentedButtonRow/index.d.ts +2 -2
  80. package/build/jetpack-compose/MultiChoiceSegmentedButtonRow/index.d.ts.map +1 -1
  81. package/build/jetpack-compose/NavigationBar/index.d.ts +4 -4
  82. package/build/jetpack-compose/NavigationBar/index.d.ts.map +1 -1
  83. package/build/jetpack-compose/Progress/index.d.ts +9 -8
  84. package/build/jetpack-compose/Progress/index.d.ts.map +1 -1
  85. package/build/jetpack-compose/PullToRefreshBox/index.d.ts +4 -4
  86. package/build/jetpack-compose/PullToRefreshBox/index.d.ts.map +1 -1
  87. package/build/jetpack-compose/RadioButton/index.d.ts +2 -2
  88. package/build/jetpack-compose/RadioButton/index.d.ts.map +1 -1
  89. package/build/jetpack-compose/Row/index.d.ts +2 -2
  90. package/build/jetpack-compose/Row/index.d.ts.map +1 -1
  91. package/build/jetpack-compose/SearchBar/index.d.ts +2 -2
  92. package/build/jetpack-compose/SearchBar/index.d.ts.map +1 -1
  93. package/build/jetpack-compose/SegmentedButton/index.d.ts +2 -2
  94. package/build/jetpack-compose/SegmentedButton/index.d.ts.map +1 -1
  95. package/build/jetpack-compose/Shape/index.d.ts +2 -2
  96. package/build/jetpack-compose/Shape/index.d.ts.map +1 -1
  97. package/build/jetpack-compose/SingleChoiceSegmentedButtonRow/index.d.ts +2 -2
  98. package/build/jetpack-compose/SingleChoiceSegmentedButtonRow/index.d.ts.map +1 -1
  99. package/build/jetpack-compose/Slider/index.d.ts +2 -2
  100. package/build/jetpack-compose/Slider/index.d.ts.map +1 -1
  101. package/build/jetpack-compose/Snackbar/index.d.ts +4 -4
  102. package/build/jetpack-compose/Snackbar/index.d.ts.map +1 -1
  103. package/build/jetpack-compose/Spacer/index.d.ts +2 -2
  104. package/build/jetpack-compose/Spacer/index.d.ts.map +1 -1
  105. package/build/jetpack-compose/Surface/index.d.ts +2 -2
  106. package/build/jetpack-compose/Surface/index.d.ts.map +1 -1
  107. package/build/jetpack-compose/Switch/index.d.ts +2 -2
  108. package/build/jetpack-compose/Switch/index.d.ts.map +1 -1
  109. package/build/jetpack-compose/SyncSwitch/index.d.ts +2 -2
  110. package/build/jetpack-compose/SyncSwitch/index.d.ts.map +1 -1
  111. package/build/jetpack-compose/Text/index.d.ts +2 -2
  112. package/build/jetpack-compose/Text/index.d.ts.map +1 -1
  113. package/build/jetpack-compose/TextField/BasicTextField.d.ts +2 -2
  114. package/build/jetpack-compose/TextField/BasicTextField.d.ts.map +1 -1
  115. package/build/jetpack-compose/TextField/TextField.d.ts +4 -4
  116. package/build/jetpack-compose/TextField/TextField.d.ts.map +1 -1
  117. package/build/jetpack-compose/ToggleButton/index.d.ts +2 -2
  118. package/build/jetpack-compose/ToggleButton/index.d.ts.map +1 -1
  119. package/build/jetpack-compose/Tooltip/index.d.ts +6 -6
  120. package/build/jetpack-compose/Tooltip/index.d.ts.map +1 -1
  121. package/build/swift-ui/AccessoryWidgetBackground/index.d.ts +2 -1
  122. package/build/swift-ui/AccessoryWidgetBackground/index.d.ts.map +1 -1
  123. package/build/swift-ui/Alert/index.d.ts +2 -2
  124. package/build/swift-ui/Alert/index.d.ts.map +1 -1
  125. package/build/swift-ui/BottomSheet/index.d.ts +2 -2
  126. package/build/swift-ui/BottomSheet/index.d.ts.map +1 -1
  127. package/build/swift-ui/Button/index.d.ts +2 -2
  128. package/build/swift-ui/Button/index.d.ts.map +1 -1
  129. package/build/swift-ui/Chart/index.d.ts +2 -2
  130. package/build/swift-ui/Chart/index.d.ts.map +1 -1
  131. package/build/swift-ui/ColorPicker/index.d.ts +2 -2
  132. package/build/swift-ui/ColorPicker/index.d.ts.map +1 -1
  133. package/build/swift-ui/ConfirmationDialog/index.d.ts +2 -2
  134. package/build/swift-ui/ConfirmationDialog/index.d.ts.map +1 -1
  135. package/build/swift-ui/ContextMenu/types.d.ts +4 -4
  136. package/build/swift-ui/ContextMenu/types.d.ts.map +1 -1
  137. package/build/swift-ui/DatePicker/index.d.ts +2 -2
  138. package/build/swift-ui/DatePicker/index.d.ts.map +1 -1
  139. package/build/swift-ui/Divider/index.d.ts +2 -1
  140. package/build/swift-ui/Divider/index.d.ts.map +1 -1
  141. package/build/swift-ui/Gauge/index.d.ts +2 -2
  142. package/build/swift-ui/Gauge/index.d.ts.map +1 -1
  143. package/build/swift-ui/GlassEffectContainer/index.d.ts +2 -2
  144. package/build/swift-ui/GlassEffectContainer/index.d.ts.map +1 -1
  145. package/build/swift-ui/Grid/index.d.ts +2 -2
  146. package/build/swift-ui/Grid/index.d.ts.map +1 -1
  147. package/build/swift-ui/HStack/index.d.ts +2 -2
  148. package/build/swift-ui/HStack/index.d.ts.map +1 -1
  149. package/build/swift-ui/Host/index.d.ts +9 -3
  150. package/build/swift-ui/Host/index.d.ts.map +1 -1
  151. package/build/swift-ui/Label/index.d.ts +2 -2
  152. package/build/swift-ui/Label/index.d.ts.map +1 -1
  153. package/build/swift-ui/LabeledContent/index.d.ts +2 -2
  154. package/build/swift-ui/LabeledContent/index.d.ts.map +1 -1
  155. package/build/swift-ui/LazyHStack/index.d.ts +2 -2
  156. package/build/swift-ui/LazyHStack/index.d.ts.map +1 -1
  157. package/build/swift-ui/LazyVStack/index.d.ts +2 -2
  158. package/build/swift-ui/LazyVStack/index.d.ts.map +1 -1
  159. package/build/swift-ui/Link/index.d.ts +2 -2
  160. package/build/swift-ui/Link/index.d.ts.map +1 -1
  161. package/build/swift-ui/List/ListForEach.d.ts +2 -2
  162. package/build/swift-ui/List/ListForEach.d.ts.map +1 -1
  163. package/build/swift-ui/Mask/index.d.ts +2 -2
  164. package/build/swift-ui/Mask/index.d.ts.map +1 -1
  165. package/build/swift-ui/Menu/types.d.ts +2 -2
  166. package/build/swift-ui/Menu/types.d.ts.map +1 -1
  167. package/build/swift-ui/Namespace.d.ts +2 -2
  168. package/build/swift-ui/Namespace.d.ts.map +1 -1
  169. package/build/swift-ui/Overlay/index.d.ts +2 -2
  170. package/build/swift-ui/Overlay/index.d.ts.map +1 -1
  171. package/build/swift-ui/Popover/index.d.ts +2 -2
  172. package/build/swift-ui/Popover/index.d.ts.map +1 -1
  173. package/build/swift-ui/ProgressView/index.d.ts +2 -2
  174. package/build/swift-ui/ProgressView/index.d.ts.map +1 -1
  175. package/build/swift-ui/RNHostView.d.ts +2 -2
  176. package/build/swift-ui/RNHostView.d.ts.map +1 -1
  177. package/build/swift-ui/ScrollView/index.d.ts +2 -2
  178. package/build/swift-ui/ScrollView/index.d.ts.map +1 -1
  179. package/build/swift-ui/Section/index.d.ts +2 -2
  180. package/build/swift-ui/Section/index.d.ts.map +1 -1
  181. package/build/swift-ui/SecureField/index.d.ts +2 -2
  182. package/build/swift-ui/SecureField/index.d.ts.map +1 -1
  183. package/build/swift-ui/ShareLink/index.d.ts +2 -2
  184. package/build/swift-ui/ShareLink/index.d.ts.map +1 -1
  185. package/build/swift-ui/Slider/index.d.ts +2 -2
  186. package/build/swift-ui/Slider/index.d.ts.map +1 -1
  187. package/build/swift-ui/Stepper/index.d.ts +2 -2
  188. package/build/swift-ui/Stepper/index.d.ts.map +1 -1
  189. package/build/swift-ui/SwipeActions/index.d.ts +4 -4
  190. package/build/swift-ui/SwipeActions/index.d.ts.map +1 -1
  191. package/build/swift-ui/SyncToggle/index.d.ts +2 -2
  192. package/build/swift-ui/SyncToggle/index.d.ts.map +1 -1
  193. package/build/swift-ui/TabView/Tab.d.ts +2 -2
  194. package/build/swift-ui/TabView/Tab.d.ts.map +1 -1
  195. package/build/swift-ui/TabView/index.d.ts +2 -2
  196. package/build/swift-ui/TabView/index.d.ts.map +1 -1
  197. package/build/swift-ui/TextField/index.d.ts +2 -2
  198. package/build/swift-ui/TextField/index.d.ts.map +1 -1
  199. package/build/swift-ui/Toggle/index.d.ts +2 -2
  200. package/build/swift-ui/Toggle/index.d.ts.map +1 -1
  201. package/build/swift-ui/VStack/index.d.ts +2 -2
  202. package/build/swift-ui/VStack/index.d.ts.map +1 -1
  203. package/build/swift-ui/ZStack/index.d.ts +2 -2
  204. package/build/swift-ui/ZStack/index.d.ts.map +1 -1
  205. package/build/swift-ui/modifiers/index.d.ts +59 -1
  206. package/build/swift-ui/modifiers/index.d.ts.map +1 -1
  207. package/build/swift-ui/modifiers/presentationModifiers.d.ts +19 -0
  208. package/build/swift-ui/modifiers/presentationModifiers.d.ts.map +1 -1
  209. package/build/universal/Button/index.d.ts.map +1 -1
  210. package/build/universal/Checkbox/index.d.ts.map +1 -1
  211. package/build/universal/Collapsible/index.d.ts.map +1 -1
  212. package/build/universal/FieldGroup/FieldGroup.d.ts.map +1 -1
  213. package/build/universal/FieldGroup/FieldSection.d.ts.map +1 -1
  214. package/build/universal/Host/index.d.ts +1 -2
  215. package/build/universal/Host/index.d.ts.map +1 -1
  216. package/build/universal/Host/types.d.ts +16 -2
  217. package/build/universal/Host/types.d.ts.map +1 -1
  218. package/build/universal/ListItem/ListItem.android.d.ts.map +1 -1
  219. package/build/universal/ListItem/ListItem.ios.d.ts.map +1 -1
  220. package/build/universal/ListItem/types.d.ts +8 -0
  221. package/build/universal/ListItem/types.d.ts.map +1 -1
  222. package/build/universal/Picker/Picker.d.ts.map +1 -1
  223. package/build/universal/Slider/index.d.ts.map +1 -1
  224. package/build/universal/Switch/index.d.ts.map +1 -1
  225. package/build/universal/TextInput/index.d.ts.map +1 -1
  226. package/build/universal/hooks.d.ts +11 -0
  227. package/build/universal/hooks.d.ts.map +1 -1
  228. package/build/universal/keyboardEvent.fx.d.ts +2 -0
  229. package/build/universal/keyboardEvent.fx.d.ts.map +1 -0
  230. package/build/universal/webUtils.d.ts +66 -0
  231. package/build/universal/webUtils.d.ts.map +1 -0
  232. package/expo-module.config.json +1 -1
  233. package/ios/HostView.swift +15 -0
  234. package/ios/Modifiers/PresentationModifiers.swift +30 -0
  235. package/ios/Modifiers/ViewModifierRegistry.swift +115 -11
  236. package/ios/Modifiers/WidgetModifiers.swift +1 -1
  237. package/ios/RNHostView.swift +5 -0
  238. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.18/expo.modules.ui-56.0.18-sources.jar → 56.0.19/expo.modules.ui-56.0.19-sources.jar} +0 -0
  239. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19-sources.jar.md5 +1 -0
  240. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19-sources.jar.sha1 +1 -0
  241. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19-sources.jar.sha256 +1 -0
  242. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19-sources.jar.sha512 +1 -0
  243. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.aar +0 -0
  244. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.aar.md5 +1 -0
  245. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.aar.sha1 +1 -0
  246. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.aar.sha256 +1 -0
  247. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.aar.sha512 +1 -0
  248. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.18/expo.modules.ui-56.0.18.module → 56.0.19/expo.modules.ui-56.0.19.module} +22 -22
  249. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.module.md5 +1 -0
  250. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.module.sha1 +1 -0
  251. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.module.sha256 +1 -0
  252. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.module.sha512 +1 -0
  253. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.18/expo.modules.ui-56.0.18.pom → 56.0.19/expo.modules.ui-56.0.19.pom} +1 -1
  254. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.pom.md5 +1 -0
  255. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.pom.sha1 +1 -0
  256. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.pom.sha256 +1 -0
  257. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.19/expo.modules.ui-56.0.19.pom.sha512 +1 -0
  258. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml +4 -4
  259. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.md5 +1 -1
  260. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha1 +1 -1
  261. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha256 +1 -1
  262. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha512 +1 -1
  263. package/package.json +4 -9
  264. package/plugin/tsconfig.tsbuildinfo +1 -0
  265. package/src/State/index.fx.ts +4 -5
  266. package/src/community/bottom-sheet/BottomSheet.android.tsx +6 -1
  267. package/src/community/bottom-sheet/BottomSheet.ios.tsx +8 -4
  268. package/src/community/bottom-sheet/scrollContextReset.tsx +24 -0
  269. package/src/community/datetime-picker/DateTimePicker.tsx +9 -1
  270. package/src/community/datetime-picker/types.tsx +2 -2
  271. package/src/community/menu/types.tsx +2 -2
  272. package/src/community/pager-view/types.tsx +2 -2
  273. package/src/community/segmented-control/types.tsx +2 -2
  274. package/src/community/slider/types.tsx +2 -2
  275. package/src/jetpack-compose/AlertDialog/index.tsx +2 -2
  276. package/src/jetpack-compose/AnimatedVisibility/index.tsx +2 -2
  277. package/src/jetpack-compose/Badge/index.tsx +2 -2
  278. package/src/jetpack-compose/BadgedBox/index.tsx +2 -2
  279. package/src/jetpack-compose/BasicAlertDialog/index.tsx +2 -2
  280. package/src/jetpack-compose/Box/index.tsx +2 -2
  281. package/src/jetpack-compose/Button/index.tsx +2 -2
  282. package/src/jetpack-compose/Card/index.tsx +6 -6
  283. package/src/jetpack-compose/Carousel/index.tsx +6 -6
  284. package/src/jetpack-compose/Checkbox/index.tsx +4 -4
  285. package/src/jetpack-compose/Chip/index.tsx +8 -8
  286. package/src/jetpack-compose/Column/index.tsx +2 -2
  287. package/src/jetpack-compose/DatePicker/index.tsx +6 -6
  288. package/src/jetpack-compose/DockedSearchBar/index.tsx +2 -2
  289. package/src/jetpack-compose/DropdownMenu/DropdownMenuItem.tsx +2 -2
  290. package/src/jetpack-compose/DropdownMenu/index.tsx +2 -2
  291. package/src/jetpack-compose/ExposedDropdownMenuBox/ExposedDropdownMenu.tsx +2 -2
  292. package/src/jetpack-compose/ExposedDropdownMenuBox/index.tsx +2 -2
  293. package/src/jetpack-compose/FloatingActionButton/index.tsx +6 -6
  294. package/src/jetpack-compose/FlowRow/index.tsx +2 -2
  295. package/src/jetpack-compose/HorizontalFloatingToolbar/index.tsx +4 -4
  296. package/src/jetpack-compose/HorizontalPager/index.tsx +2 -2
  297. package/src/jetpack-compose/Host/index.tsx +2 -2
  298. package/src/jetpack-compose/Icon/index.tsx +2 -2
  299. package/src/jetpack-compose/IconButton/index.tsx +2 -2
  300. package/src/jetpack-compose/LazyColumn/index.tsx +2 -2
  301. package/src/jetpack-compose/LazyRow/index.tsx +2 -2
  302. package/src/jetpack-compose/ListItem/index.tsx +2 -2
  303. package/src/jetpack-compose/LoadingIndicator/index.tsx +2 -2
  304. package/src/jetpack-compose/ModalBottomSheet/index.tsx +2 -2
  305. package/src/jetpack-compose/MultiChoiceSegmentedButtonRow/index.tsx +2 -2
  306. package/src/jetpack-compose/NavigationBar/index.tsx +4 -4
  307. package/src/jetpack-compose/Progress/index.tsx +7 -7
  308. package/src/jetpack-compose/PullToRefreshBox/index.tsx +4 -4
  309. package/src/jetpack-compose/RadioButton/index.tsx +2 -2
  310. package/src/jetpack-compose/Row/index.tsx +2 -2
  311. package/src/jetpack-compose/SearchBar/index.tsx +2 -2
  312. package/src/jetpack-compose/SegmentedButton/index.tsx +2 -2
  313. package/src/jetpack-compose/Shape/index.tsx +2 -2
  314. package/src/jetpack-compose/SingleChoiceSegmentedButtonRow/index.tsx +2 -2
  315. package/src/jetpack-compose/Slider/index.tsx +2 -2
  316. package/src/jetpack-compose/Snackbar/index.tsx +4 -4
  317. package/src/jetpack-compose/Spacer/index.tsx +2 -2
  318. package/src/jetpack-compose/Surface/index.tsx +2 -2
  319. package/src/jetpack-compose/Switch/index.tsx +2 -2
  320. package/src/jetpack-compose/SyncSwitch/index.tsx +2 -2
  321. package/src/jetpack-compose/Text/index.tsx +2 -2
  322. package/src/jetpack-compose/TextField/BasicTextField.tsx +2 -2
  323. package/src/jetpack-compose/TextField/TextField.tsx +4 -4
  324. package/src/jetpack-compose/ToggleButton/index.tsx +2 -2
  325. package/src/jetpack-compose/Tooltip/index.tsx +6 -6
  326. package/src/swift-ui/AccessoryWidgetBackground/index.tsx +1 -1
  327. package/src/swift-ui/Alert/index.tsx +2 -2
  328. package/src/swift-ui/BottomSheet/index.tsx +2 -2
  329. package/src/swift-ui/Button/index.tsx +2 -2
  330. package/src/swift-ui/Chart/index.tsx +2 -2
  331. package/src/swift-ui/ColorPicker/index.tsx +2 -2
  332. package/src/swift-ui/ConfirmationDialog/index.tsx +2 -2
  333. package/src/swift-ui/ContextMenu/types.ts +4 -4
  334. package/src/swift-ui/DatePicker/index.tsx +2 -2
  335. package/src/swift-ui/Divider/index.tsx +1 -1
  336. package/src/swift-ui/Gauge/index.tsx +2 -2
  337. package/src/swift-ui/GlassEffectContainer/index.tsx +2 -2
  338. package/src/swift-ui/Grid/index.tsx +2 -2
  339. package/src/swift-ui/HStack/index.tsx +2 -2
  340. package/src/swift-ui/Host/index.tsx +12 -3
  341. package/src/swift-ui/Label/index.tsx +2 -2
  342. package/src/swift-ui/LabeledContent/index.tsx +2 -2
  343. package/src/swift-ui/LazyHStack/index.tsx +2 -2
  344. package/src/swift-ui/LazyVStack/index.tsx +2 -2
  345. package/src/swift-ui/Link/index.tsx +2 -2
  346. package/src/swift-ui/List/ListForEach.tsx +2 -2
  347. package/src/swift-ui/Mask/index.tsx +2 -2
  348. package/src/swift-ui/Menu/types.ts +2 -2
  349. package/src/swift-ui/Namespace.tsx +2 -2
  350. package/src/swift-ui/Overlay/index.tsx +2 -2
  351. package/src/swift-ui/Popover/index.tsx +2 -2
  352. package/src/swift-ui/ProgressView/index.tsx +2 -2
  353. package/src/swift-ui/RNHostView.tsx +2 -2
  354. package/src/swift-ui/ScrollView/index.tsx +2 -2
  355. package/src/swift-ui/Section/index.tsx +2 -2
  356. package/src/swift-ui/SecureField/index.tsx +2 -2
  357. package/src/swift-ui/ShareLink/index.tsx +2 -2
  358. package/src/swift-ui/Slider/index.tsx +2 -2
  359. package/src/swift-ui/Stepper/index.tsx +2 -2
  360. package/src/swift-ui/SwipeActions/index.tsx +4 -4
  361. package/src/swift-ui/SyncToggle/index.tsx +2 -2
  362. package/src/swift-ui/TabView/Tab.tsx +2 -2
  363. package/src/swift-ui/TabView/index.tsx +2 -2
  364. package/src/swift-ui/TextField/index.tsx +2 -2
  365. package/src/swift-ui/Toggle/index.tsx +2 -2
  366. package/src/swift-ui/VStack/index.tsx +2 -2
  367. package/src/swift-ui/ZStack/index.tsx +2 -2
  368. package/src/swift-ui/modifiers/index.ts +80 -0
  369. package/src/swift-ui/modifiers/presentationModifiers.ts +22 -0
  370. package/src/ts-declarations/react-native-web.d.ts +31 -3
  371. package/src/universal/Button/index.tsx +83 -35
  372. package/src/universal/Checkbox/index.tsx +85 -30
  373. package/src/universal/Collapsible/index.tsx +5 -17
  374. package/src/universal/FieldGroup/FieldGroup.tsx +5 -15
  375. package/src/universal/FieldGroup/FieldSection.tsx +14 -31
  376. package/src/universal/Host/index.tsx +44 -30
  377. package/src/universal/Host/types.ts +17 -2
  378. package/src/universal/ListItem/ListItem.android.tsx +10 -2
  379. package/src/universal/ListItem/ListItem.ios.tsx +23 -6
  380. package/src/universal/ListItem/types.ts +10 -0
  381. package/src/universal/Picker/Picker.tsx +74 -29
  382. package/src/universal/Slider/index.tsx +90 -9
  383. package/src/universal/Switch/index.android.tsx +2 -2
  384. package/src/universal/Switch/index.tsx +77 -18
  385. package/src/universal/TextInput/index.tsx +49 -13
  386. package/src/universal/hooks.ts +25 -1
  387. package/src/universal/keyboardEvent.fx.ts +28 -0
  388. package/src/universal/webUtils.ts +245 -0
  389. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.md5 +0 -1
  390. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.sha1 +0 -1
  391. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.sha256 +0 -1
  392. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.sha512 +0 -1
  393. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar +0 -0
  394. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.md5 +0 -1
  395. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.sha1 +0 -1
  396. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.sha256 +0 -1
  397. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.sha512 +0 -1
  398. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.md5 +0 -1
  399. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.sha1 +0 -1
  400. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.sha256 +0 -1
  401. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.sha512 +0 -1
  402. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.md5 +0 -1
  403. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.sha1 +0 -1
  404. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.sha256 +0 -1
  405. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.sha512 +0 -1
@@ -224,6 +224,61 @@ internal struct DisabledModifier: ViewModifier, Record {
224
224
  }
225
225
  }
226
226
 
227
+ internal enum RedactionReason: String, Enumerable {
228
+ case placeholder
229
+ case privacy
230
+ case invalidated
231
+ }
232
+
233
+ internal struct RedactedModifier: ViewModifier, Record {
234
+ @Field var reasons: [RedactionReason] = [.placeholder]
235
+
236
+ func body(content: Content) -> some View {
237
+ content.redacted(reason: resolveReasons())
238
+ }
239
+
240
+ private func resolveReasons() -> RedactionReasons {
241
+ var set: RedactionReasons = []
242
+ for reason in reasons {
243
+ switch reason {
244
+ case .placeholder: set.insert(.placeholder)
245
+ case .privacy: set.insert(.privacy)
246
+ case .invalidated:
247
+ if #available(iOS 17.0, tvOS 17.0, macOS 14.0, *) {
248
+ set.insert(.invalidated)
249
+ }
250
+ }
251
+ }
252
+ return set
253
+ }
254
+ }
255
+
256
+ internal struct UnredactedModifier: ViewModifier, Record {
257
+ func body(content: Content) -> some View {
258
+ content.unredacted()
259
+ }
260
+ }
261
+
262
+ internal struct PrivacySensitiveModifier: ViewModifier, Record {
263
+ @Field var sensitive: Bool = true
264
+
265
+ func body(content: Content) -> some View {
266
+ content.privacySensitive(sensitive)
267
+ }
268
+ }
269
+
270
+ internal struct InvalidatableContentModifier: ViewModifier, Record {
271
+ @Field var invalidatable: Bool = true
272
+
273
+ func body(content: Content) -> some View {
274
+ if #available(iOS 17.0, tvOS 17.0, macOS 14.0, *) {
275
+ content.invalidatableContent(invalidatable)
276
+ } else {
277
+ content
278
+ }
279
+ }
280
+ }
281
+
227
282
  internal struct ZIndexModifier: ViewModifier, Record {
228
283
  @Field var index: Double = 0
229
284
 
@@ -518,6 +573,31 @@ internal struct AccessibilityHiddenModifier: ViewModifier, Record {
518
573
  }
519
574
  }
520
575
 
576
+ internal enum AccessibilityChildBehaviorType: String, Enumerable {
577
+ case ignore
578
+ case combine
579
+ case contain
580
+
581
+ func toNative() -> AccessibilityChildBehavior {
582
+ switch self {
583
+ case .ignore:
584
+ return .ignore
585
+ case .combine:
586
+ return .combine
587
+ case .contain:
588
+ return .contain
589
+ }
590
+ }
591
+ }
592
+
593
+ internal struct AccessibilityElementModifier: ViewModifier, Record {
594
+ @Field var children: AccessibilityChildBehaviorType = .ignore
595
+
596
+ func body(content: Content) -> some View {
597
+ content.accessibilityElement(children: children.toNative())
598
+ }
599
+ }
600
+
521
601
  internal struct LayoutPriorityModifier: ViewModifier, Record {
522
602
  @Field var priority: Double = 0
523
603
 
@@ -978,21 +1058,21 @@ internal struct HeaderProminence: ViewModifier, Record {
978
1058
  }
979
1059
 
980
1060
  internal struct ListRowInsets: ViewModifier, Record {
981
- @Field var top: CGFloat = 0
982
- @Field var leading: CGFloat = 0
983
- @Field var bottom: CGFloat = 0
984
- @Field var trailing: CGFloat = 0
1061
+ @Field var top: CGFloat?
1062
+ @Field var leading: CGFloat?
1063
+ @Field var bottom: CGFloat?
1064
+ @Field var trailing: CGFloat?
985
1065
 
986
1066
  func body(content: Content) -> some View {
987
- if top != 0 || leading != 0 || bottom != 0 || trailing != 0 {
1067
+ if top == nil && leading == nil && bottom == nil && trailing == nil {
1068
+ content
1069
+ } else {
988
1070
  content.listRowInsets(.init(
989
- top: top,
990
- leading: leading,
991
- bottom: bottom,
992
- trailing: trailing
1071
+ top: top ?? 0,
1072
+ leading: leading ?? 0,
1073
+ bottom: bottom ?? 0,
1074
+ trailing: trailing ?? 0
993
1075
  ))
994
- } else {
995
- content
996
1076
  }
997
1077
  }
998
1078
  }
@@ -1508,6 +1588,22 @@ extension ViewModifierRegistry {
1508
1588
  return try DisabledModifier(from: params, appContext: appContext)
1509
1589
  }
1510
1590
 
1591
+ register("redacted") { params, appContext, _ in
1592
+ return try RedactedModifier(from: params, appContext: appContext)
1593
+ }
1594
+
1595
+ register("unredacted") { params, appContext, _ in
1596
+ return try UnredactedModifier(from: params, appContext: appContext)
1597
+ }
1598
+
1599
+ register("privacySensitive") { params, appContext, _ in
1600
+ return try PrivacySensitiveModifier(from: params, appContext: appContext)
1601
+ }
1602
+
1603
+ register("invalidatableContent") { params, appContext, _ in
1604
+ return try InvalidatableContentModifier(from: params, appContext: appContext)
1605
+ }
1606
+
1511
1607
  register("zIndex") { params, appContext, _ in
1512
1608
  return try ZIndexModifier(from: params, appContext: appContext)
1513
1609
  }
@@ -1596,6 +1692,10 @@ extension ViewModifierRegistry {
1596
1692
  return try AccessibilityHiddenModifier(from: params, appContext: appContext)
1597
1693
  }
1598
1694
 
1695
+ register("accessibilityElement") { params, appContext, _ in
1696
+ return try AccessibilityElementModifier(from: params, appContext: appContext)
1697
+ }
1698
+
1599
1699
  register("layoutPriority") { params, appContext, _ in
1600
1700
  return try LayoutPriorityModifier(from: params, appContext: appContext)
1601
1701
  }
@@ -1892,6 +1992,10 @@ extension ViewModifierRegistry {
1892
1992
  return try PresentationBackgroundModifier(from: params, appContext: appContext)
1893
1993
  }
1894
1994
 
1995
+ register("presentationSizing") { params, appContext, _ in
1996
+ return try PresentationSizingModifier(from: params, appContext: appContext)
1997
+ }
1998
+
1895
1999
  register("listStyle") { params, appContext, _ in
1896
2000
  return try ListStyleModifier(from: params, appContext: appContext)
1897
2001
  }
@@ -61,7 +61,7 @@ internal struct ActivityBackgroundTintModifier: ViewModifier, Record {
61
61
  @Field var color: Color?
62
62
 
63
63
  func body(content: Content) -> some View {
64
- #if !os(tvOS) && !os(macOS)
64
+ #if !os(tvOS) && !os(macOS) && !targetEnvironment(macCatalyst)
65
65
  content.activityBackgroundTint(color)
66
66
  #else
67
67
  content
@@ -19,6 +19,11 @@ struct RNHostView: ExpoSwiftUI.View {
19
19
  .onAppear {
20
20
  ExpoUITouchHandlerHelper.createAndAttachTouchHandler(for: childUIView)
21
21
  }
22
+ } else if props.matchContents {
23
+ // No hosted UIView (a pure SwiftUI child, e.g. Text/Image). Render it at its
24
+ // natural size instead of falling into the fill branch below, which would
25
+ // stretch a self-sizing SwiftUI view to fill its container.
26
+ Children()
22
27
  } else {
23
28
  Children()
24
29
  .frame(maxWidth: .infinity, maxHeight: .infinity)
@@ -0,0 +1 @@
1
+ 1b9fff22820c7fb50e59d2033ae3199e9fa2c5c853138629a6e2767f50f7ab2f
@@ -0,0 +1 @@
1
+ 50b75ddd02eccceb55f0e7985344e58796d0636802fd81e940f357ed55f87bbf889edebad6dc727c1a677082928b67e6453595aaf809ada12871779e5e313978
@@ -0,0 +1 @@
1
+ 4d91a04542a27e40a7866b4e63f804293ff372b1
@@ -0,0 +1 @@
1
+ 11705a42f0bda49ba0f6ca5f38214e9e98afea5ae6fe34954e06076cd8daf7e8
@@ -0,0 +1 @@
1
+ 33c0e88d0bb46e4e00f4916b859f78327081ff3995fb3340e132489c0898a61229aad5989455279a06d2a52a0e8be4945942602d3a231fc5d0cd930bb8b04a66
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.ui",
5
5
  "module": "expo.modules.ui",
6
- "version": "56.0.18",
6
+ "version": "56.0.19",
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.18.aar",
28
- "url": "expo.modules.ui-56.0.18.aar",
29
- "size": 1944191,
30
- "sha512": "d10bffe2657a8f7e5e1886eec9a1404d7b6d5bcef4a50b6db763986302cbad9ae02c61a0f1996d52c2d558cc5dbc989f3ef5ad53cfc2370df88e643b377b19ee",
31
- "sha256": "c5040a0bd6a33de8ffca965c4d5e5953897f6776a239283b146d677e2e7221ed",
32
- "sha1": "b229f74d58ec12ae4375dc666928d118938e19e4",
33
- "md5": "e06c3debed9c38c907f69263825babb0"
27
+ "name": "expo.modules.ui-56.0.19.aar",
28
+ "url": "expo.modules.ui-56.0.19.aar",
29
+ "size": 1941451,
30
+ "sha512": "33c0e88d0bb46e4e00f4916b859f78327081ff3995fb3340e132489c0898a61229aad5989455279a06d2a52a0e8be4945942602d3a231fc5d0cd930bb8b04a66",
31
+ "sha256": "11705a42f0bda49ba0f6ca5f38214e9e98afea5ae6fe34954e06076cd8daf7e8",
32
+ "sha1": "4d91a04542a27e40a7866b4e63f804293ff372b1",
33
+ "md5": "944517fc36046ca971cf969760574fad"
34
34
  }
35
35
  ]
36
36
  },
@@ -141,13 +141,13 @@
141
141
  ],
142
142
  "files": [
143
143
  {
144
- "name": "expo.modules.ui-56.0.18.aar",
145
- "url": "expo.modules.ui-56.0.18.aar",
146
- "size": 1944191,
147
- "sha512": "d10bffe2657a8f7e5e1886eec9a1404d7b6d5bcef4a50b6db763986302cbad9ae02c61a0f1996d52c2d558cc5dbc989f3ef5ad53cfc2370df88e643b377b19ee",
148
- "sha256": "c5040a0bd6a33de8ffca965c4d5e5953897f6776a239283b146d677e2e7221ed",
149
- "sha1": "b229f74d58ec12ae4375dc666928d118938e19e4",
150
- "md5": "e06c3debed9c38c907f69263825babb0"
144
+ "name": "expo.modules.ui-56.0.19.aar",
145
+ "url": "expo.modules.ui-56.0.19.aar",
146
+ "size": 1941451,
147
+ "sha512": "33c0e88d0bb46e4e00f4916b859f78327081ff3995fb3340e132489c0898a61229aad5989455279a06d2a52a0e8be4945942602d3a231fc5d0cd930bb8b04a66",
148
+ "sha256": "11705a42f0bda49ba0f6ca5f38214e9e98afea5ae6fe34954e06076cd8daf7e8",
149
+ "sha1": "4d91a04542a27e40a7866b4e63f804293ff372b1",
150
+ "md5": "944517fc36046ca971cf969760574fad"
151
151
  }
152
152
  ]
153
153
  },
@@ -161,13 +161,13 @@
161
161
  },
162
162
  "files": [
163
163
  {
164
- "name": "expo.modules.ui-56.0.18-sources.jar",
165
- "url": "expo.modules.ui-56.0.18-sources.jar",
166
- "size": 93876,
167
- "sha512": "a3762cf9549225df1a60ad90cdf83586c4bb6358cecaa627f78a299a8aa5bd23ebebc740d6c0cc7acbf75d134e3c45ca8059459c6fcbc796beeeb4cb5d9dbfb8",
168
- "sha256": "e456560887c0d9471dbddf4b7f5c232432a588ecb6b531120c9ce193f8d2f07d",
169
- "sha1": "071ba8aee8e6056c59d7f18aa247e536e110f493",
170
- "md5": "22f57bb7a0ea0016c8efa6cde687934b"
164
+ "name": "expo.modules.ui-56.0.19-sources.jar",
165
+ "url": "expo.modules.ui-56.0.19-sources.jar",
166
+ "size": 94265,
167
+ "sha512": "50b75ddd02eccceb55f0e7985344e58796d0636802fd81e940f357ed55f87bbf889edebad6dc727c1a677082928b67e6453595aaf809ada12871779e5e313978",
168
+ "sha256": "1b9fff22820c7fb50e59d2033ae3199e9fa2c5c853138629a6e2767f50f7ab2f",
169
+ "sha1": "6abfcbf907f83e8fe7443a2e783fd2537c3935b2",
170
+ "md5": "e50d71fc4e05c0d5255ddfd0e92ede94"
171
171
  }
172
172
  ]
173
173
  }
@@ -0,0 +1 @@
1
+ 7c5b99acaf6c0cda8837c1c801326af0fb9100e7
@@ -0,0 +1 @@
1
+ 88baad7895dc098316076d09f77fa89991bcc6073939b0d9470ae4a3cb913341
@@ -0,0 +1 @@
1
+ b9f1019c58e27034ae53a920d9a29b3a71fc6fced31d0803a6be42decc2a72eb409aa2601f5f19fd9fb6a1285a2acacea09181e45a1c69a4bee7d133ddbd5fe5
@@ -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.18</version>
12
+ <version>56.0.19</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
+ e18f9283d4a7064d29dabb5bf6766dec81da5397
@@ -0,0 +1 @@
1
+ c6136bb62be48327e43138ce5b402ef8e79e0957237bfa38f0cb7a448fd30db5
@@ -0,0 +1 @@
1
+ 6071f2acf6f9258f498f7e4e0ee4529cedad8a11e21509fa0a32ef1e74c3c1e265f0bef05532a7ce37578dc93c817531ed9d1658678c4fb9c14cf460c04282c5
@@ -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.18</latest>
7
- <release>56.0.18</release>
6
+ <latest>56.0.19</latest>
7
+ <release>56.0.19</release>
8
8
  <versions>
9
- <version>56.0.18</version>
9
+ <version>56.0.19</version>
10
10
  </versions>
11
- <lastUpdated>20260615113818</lastUpdated>
11
+ <lastUpdated>20260701091749</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 80860432a0537ca5e443caadce02f0f9
1
+ 9803efc720ad653d2bd9a74777727160
@@ -1 +1 @@
1
- cd6722114453fb0a0a543e934c7f1615700af030
1
+ fd5824d23d4a32c2eae7d0ecbb843f37f63f9e8a
@@ -1 +1 @@
1
- 7048be1f0ef2fb14d3a3f0a98259d7ec2c89ddd3e1fb6482a2207bfaf72a0cbe
1
+ 3d6457706347643d6c85060f7825816c18f96411c2b3bbadc3fdf6407097c68b
@@ -1 +1 @@
1
- 8675efe9cf7924c026f205535fcc7b1c85f0cb6634c3ed42f770e8101956ee33dbada364e1fd7499b2e34e06b369e3ad7377c872ce27509c7e84180124fe5ed9
1
+ 3a01fd0aa15aeddc5446489654d40bfcc4e84fd0425a834b5c5e265edcf88b137da16e998e1f0357928456c888d43e8190d71f3258ff7b8e5af5cdca29abf4f5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/ui",
3
- "version": "56.0.18",
3
+ "version": "56.0.19",
4
4
  "description": "A collection of UI components",
5
5
  "sideEffects": [
6
6
  "*.fx.js"
@@ -93,10 +93,9 @@
93
93
  "@types/babel__core": "^7.20.5",
94
94
  "@types/node": "^22.14.0",
95
95
  "@types/react": "~19.2.0",
96
- "react-native-reanimated": "4.3.1",
97
96
  "react-native-worklets": "0.8.3",
98
- "expo": "56.0.12",
99
- "expo-module-scripts": "56.0.3"
97
+ "expo-module-scripts": "56.0.3",
98
+ "expo": "56.0.13"
100
99
  },
101
100
  "jest": {
102
101
  "preset": "expo-module-scripts"
@@ -107,7 +106,6 @@
107
106
  "react": "*",
108
107
  "react-dom": "*",
109
108
  "react-native": "*",
110
- "react-native-reanimated": "*",
111
109
  "react-native-worklets": "*"
112
110
  },
113
111
  "peerDependenciesMeta": {
@@ -117,14 +115,11 @@
117
115
  "react-dom": {
118
116
  "optional": true
119
117
  },
120
- "react-native-reanimated": {
121
- "optional": true
122
- },
123
118
  "react-native-worklets": {
124
119
  "optional": true
125
120
  }
126
121
  },
127
- "gitHead": "812dc007aefed0c432c0439fdfe05ee2f4f21da2",
122
+ "gitHead": "b293744c7b199c6cbe910188863e93a174c21250",
128
123
  "scripts": {
129
124
  "build": "expo-module build",
130
125
  "clean": "expo-module clean",
@@ -0,0 +1 @@
1
+ {"root":["./src/babel-plugin.ts"],"version":"6.0.3"}
@@ -61,11 +61,10 @@ function registerSharedObjectSerializer(): void {
61
61
  }
62
62
 
63
63
  try {
64
- // reanimated import is needed to initialise __WORKLET_RUNTIME global, which is required by the installOnUIRuntime
65
- require('react-native-reanimated');
66
-
67
- installOnUIRuntime();
68
- registerSharedObjectSerializer();
64
+ if (worklets) {
65
+ installOnUIRuntime(worklets.getUIRuntimeHolder());
66
+ registerSharedObjectSerializer();
67
+ }
69
68
  } catch {
70
69
  // Fail silently as worklet support is currently optional in Expo UI
71
70
  }
@@ -2,6 +2,7 @@ import { useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState
2
2
  import { StyleSheet, useWindowDimensions, View } from 'react-native';
3
3
 
4
4
  import { BottomSheetContext, BottomSheetInternalContext } from './context';
5
+ import { SheetScrollContextReset } from './scrollContextReset';
5
6
  import type { BottomSheetMethods, BottomSheetProps } from './types';
6
7
  import { parseSnapPoint } from './types';
7
8
  import { Host } from '../../jetpack-compose/Host';
@@ -199,7 +200,11 @@ export function BottomSheet(props: BottomSheetProps) {
199
200
  shouldDismissOnClickOutside: enablePanDownToClose,
200
201
  }}>
201
202
  <RNHostView matchContents={fitToContents}>
202
- <View style={fitToContents ? undefined : { flex: 1 }}>{children}</View>
203
+ {/* flexGrow:1 + height:0 (flex-basis 0) fills RNHostView's measured height without
204
+ inheriting the scrollable child's content height, which would block scrolling to the end. */}
205
+ <View style={fitToContents ? undefined : { flexGrow: 1, height: 0 }}>
206
+ <SheetScrollContextReset>{children}</SheetScrollContextReset>
207
+ </View>
203
208
  </RNHostView>
204
209
  </ModalBottomSheet>
205
210
  </Host>
@@ -3,6 +3,7 @@ import { useWindowDimensions, View, StyleSheet } from 'react-native';
3
3
  import type { StyleProp, ViewStyle } from 'react-native';
4
4
 
5
5
  import { BottomSheetContext, BottomSheetInternalContext } from './context';
6
+ import { SheetScrollContextReset } from './scrollContextReset';
6
7
  import type { BottomSheetMethods, BottomSheetProps } from './types';
7
8
  import { parseSnapPoint } from './types';
8
9
  import { BottomSheet as NativeBottomSheet } from '../../swift-ui/BottomSheet';
@@ -15,6 +16,7 @@ import {
15
16
  presentationBackground,
16
17
  presentationDetents,
17
18
  presentationDragIndicator,
19
+ presentationSizing,
18
20
  } from '../../swift-ui/modifiers/presentationModifiers';
19
21
 
20
22
  export { useBottomSheet } from './context';
@@ -206,7 +208,8 @@ export function BottomSheet(props: BottomSheetProps) {
206
208
  const bg = extractBackgroundColor(backgroundStyle);
207
209
  return [
208
210
  ...(fitToContents
209
- ? []
211
+ ? // Makes the iPad sheet size to that content instead of opening near full height.
212
+ [presentationSizing('fitted')]
210
213
  : [
211
214
  presentationDetents(detents, {
212
215
  selection: selectedDetent,
@@ -238,15 +241,16 @@ export function BottomSheet(props: BottomSheetProps) {
238
241
  <Group modifiers={modifiers}>
239
242
  <RNHostView matchContents={fitToContents}>
240
243
  {/* paddingTop compensates for tighter spacing between native drag indicator and content
241
- compared to gorhom's handle. flex:1 fills snap point height; omitted for fitToContents
244
+ compared to gorhom's handle. flexGrow:1 + height:0 (flex-basis 0) fills the snap-point
245
+ height without inheriting the scrollable child's intrinsic content height. Omitted for fitToContents
242
246
  so RNHostView can measure natural content height. */}
243
247
  <View
244
248
  style={
245
249
  fitToContents
246
250
  ? { paddingTop: handleComponent !== null ? 16 : 0 }
247
- : { flex: 1, paddingTop: handleComponent !== null ? 16 : 0 }
251
+ : { flexGrow: 1, height: 0, paddingTop: handleComponent !== null ? 16 : 0 }
248
252
  }>
249
- {children}
253
+ <SheetScrollContextReset>{children}</SheetScrollContextReset>
250
254
  </View>
251
255
  </RNHostView>
252
256
  </Group>
@@ -0,0 +1,24 @@
1
+ import type { Context, ReactNode } from 'react';
2
+ import { ScrollView, VirtualizedList } from 'react-native';
3
+
4
+ const VirtualizedListContext = (VirtualizedList as unknown as { contextType?: Context<unknown> })
5
+ .contextType;
6
+ const ScrollViewContext = (ScrollView as unknown as { Context?: Context<unknown> }).Context;
7
+
8
+ // When a virtualised list (RN Flatlist) is nested within another Flatlist,
9
+ // it renders a regular View as Scroll component https://github.com/react/react-native/blob/5c197fb303ed0d975482757fefb7ed38349601b6/packages/virtualized-lists/Lists/VirtualizedList.js#L1291
10
+ // which breaks scrolling.
11
+ // Nested same direction FlatLists are generally considered bad
12
+ // but the react context check it is doing to identify nesting can break some genuine cases
13
+ // e.g. User has a FlatList with a button child that opens bottomsheet with a Flatlist.
14
+ // RN Modal uses similar pattern as below
15
+ export function SheetScrollContextReset({ children }: { children: ReactNode }) {
16
+ let node: ReactNode = children;
17
+ if (ScrollViewContext) {
18
+ node = <ScrollViewContext.Provider value={null}>{node}</ScrollViewContext.Provider>;
19
+ }
20
+ if (VirtualizedListContext) {
21
+ node = <VirtualizedListContext.Provider value={null}>{node}</VirtualizedListContext.Provider>;
22
+ }
23
+ return <>{node}</>;
24
+ }
@@ -54,6 +54,11 @@ export function DateTimePicker(props: DateTimePickerProps) {
54
54
 
55
55
  const pickerStyle = displayToDatePickerStyle(display);
56
56
 
57
+ // The compact style hugs its content, so the Host must match it
58
+ // on both axes, otherwise it collapses to 0 width under a non-stretch parent like
59
+ // `alignItems: 'center'` https://github.com/expo/expo/issues/46904.
60
+ const isCompactStyle = pickerStyle === 'compact' || pickerStyle === 'automatic';
61
+
57
62
  const modifiers: ModifierConfig[] = [datePickerStyle(pickerStyle)];
58
63
  if (accentColor) {
59
64
  modifiers.push(tint(accentColor));
@@ -87,7 +92,10 @@ export function DateTimePicker(props: DateTimePickerProps) {
87
92
  };
88
93
 
89
94
  return (
90
- <Host matchContents={{ vertical: true }} style={style} ignoreSafeArea="all">
95
+ <Host
96
+ matchContents={isCompactStyle ? true : { vertical: true }}
97
+ style={style}
98
+ ignoreSafeArea="all">
91
99
  <DatePicker {...iosProps} />
92
100
  </Host>
93
101
  );
@@ -24,7 +24,7 @@ export type DateTimePickerChangeEvent = {
24
24
  };
25
25
  };
26
26
 
27
- export type DateTimePickerProps = {
27
+ export interface DateTimePickerProps extends Pick<ViewProps, 'style'> {
28
28
  /**
29
29
  * The current date value (controlled).
30
30
  */
@@ -123,7 +123,7 @@ export type DateTimePickerProps = {
123
123
  * @platform android
124
124
  */
125
125
  negativeButton?: { label?: string };
126
- } & Pick<ViewProps, 'style'>;
126
+ }
127
127
 
128
128
  // -- Helpers ---------------------------------------------------------------
129
129
 
@@ -118,7 +118,7 @@ export type NativeActionEvent = {
118
118
  * Props for the `MenuView` component.
119
119
  * Drop-in compatible with `@react-native-menu/menu`.
120
120
  */
121
- export type MenuComponentProps = {
121
+ export interface MenuComponentProps {
122
122
  /**
123
123
  * Menu title shown at the top of the menu.
124
124
  * @platform ios
@@ -168,4 +168,4 @@ export type MenuComponentProps = {
168
168
  * Trigger view. Long-pressing or tapping (per `shouldOpenOnLongPress`) opens the menu.
169
169
  */
170
170
  children?: ReactNode;
171
- };
171
+ }
@@ -40,7 +40,7 @@ export const wrapNativeEvent = <T,>(nativeEvent: T): NativeSyntheticEvent<T> =>
40
40
  * Props for the `PagerView` component.
41
41
  * Compatible with `react-native-pager-view`.
42
42
  */
43
- export type PagerViewProps = ViewProps & {
43
+ export interface PagerViewProps extends ViewProps {
44
44
  /**
45
45
  * Ref handle exposing imperative `setPage`, `setPageWithoutAnimation`,
46
46
  * and `setScrollEnabled` methods.
@@ -104,7 +104,7 @@ export type PagerViewProps = ViewProps & {
104
104
  * stretched to fill the pager. Each child should have a stable `key`.
105
105
  */
106
106
  children?: ReactNode;
107
- };
107
+ }
108
108
 
109
109
  /**
110
110
  * Ref handle for the `PagerView` component.
@@ -18,7 +18,7 @@ export type NativeSegmentedControlChangeEvent = {
18
18
  */
19
19
  export type NativeSegmentedControlIOSChangeEvent = NativeSegmentedControlChangeEvent;
20
20
 
21
- export type SegmentedControlProps = {
21
+ export interface SegmentedControlProps {
22
22
  /**
23
23
  * The labels for the control's segment buttons, in order.
24
24
  */
@@ -52,7 +52,7 @@ export type SegmentedControlProps = {
52
52
  appearance?: 'dark' | 'light';
53
53
  style?: StyleProp<ViewStyle>;
54
54
  testID?: string;
55
- };
55
+ }
56
56
 
57
57
  /**
58
58
  * Builds a synthetic `onChange` event matching the community library shape.
@@ -4,7 +4,7 @@ import type { ColorValue, StyleProp, ViewStyle } from 'react-native';
4
4
  * Props for the `Slider` community drop-in component.
5
5
  * Compatible with `@react-native-community/slider`.
6
6
  */
7
- export type SliderProps = {
7
+ export interface SliderProps {
8
8
  /**
9
9
  * Initial / current value of the slider.
10
10
  * Behaves like the community lib: passing a new value updates the thumb,
@@ -72,4 +72,4 @@ export type SliderProps = {
72
72
  * Used to style and layout the Slider.
73
73
  */
74
74
  style?: StyleProp<ViewStyle>;
75
- };
75
+ }