@expo/ui 56.0.18 → 56.0.20

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 (413) hide show
  1. package/CHANGELOG.md +38 -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/masked-view/MaskedView.android.d.ts.map +1 -1
  12. package/build/community/masked-view/MaskedView.ios.d.ts.map +1 -1
  13. package/build/community/menu/types.d.ts +2 -2
  14. package/build/community/menu/types.d.ts.map +1 -1
  15. package/build/community/pager-view/types.d.ts +2 -2
  16. package/build/community/pager-view/types.d.ts.map +1 -1
  17. package/build/community/segmented-control/types.d.ts +2 -2
  18. package/build/community/segmented-control/types.d.ts.map +1 -1
  19. package/build/community/slider/types.d.ts +2 -2
  20. package/build/community/slider/types.d.ts.map +1 -1
  21. package/build/jetpack-compose/AlertDialog/index.d.ts +2 -2
  22. package/build/jetpack-compose/AlertDialog/index.d.ts.map +1 -1
  23. package/build/jetpack-compose/AnimatedVisibility/index.d.ts +2 -2
  24. package/build/jetpack-compose/AnimatedVisibility/index.d.ts.map +1 -1
  25. package/build/jetpack-compose/Badge/index.d.ts +2 -2
  26. package/build/jetpack-compose/Badge/index.d.ts.map +1 -1
  27. package/build/jetpack-compose/BadgedBox/index.d.ts +2 -2
  28. package/build/jetpack-compose/BadgedBox/index.d.ts.map +1 -1
  29. package/build/jetpack-compose/BasicAlertDialog/index.d.ts +2 -2
  30. package/build/jetpack-compose/BasicAlertDialog/index.d.ts.map +1 -1
  31. package/build/jetpack-compose/Box/index.d.ts +2 -2
  32. package/build/jetpack-compose/Box/index.d.ts.map +1 -1
  33. package/build/jetpack-compose/Button/index.d.ts +2 -2
  34. package/build/jetpack-compose/Button/index.d.ts.map +1 -1
  35. package/build/jetpack-compose/Card/index.d.ts +6 -6
  36. package/build/jetpack-compose/Card/index.d.ts.map +1 -1
  37. package/build/jetpack-compose/Carousel/index.d.ts +6 -6
  38. package/build/jetpack-compose/Carousel/index.d.ts.map +1 -1
  39. package/build/jetpack-compose/Checkbox/index.d.ts +4 -4
  40. package/build/jetpack-compose/Checkbox/index.d.ts.map +1 -1
  41. package/build/jetpack-compose/Chip/index.d.ts +8 -8
  42. package/build/jetpack-compose/Chip/index.d.ts.map +1 -1
  43. package/build/jetpack-compose/Column/index.d.ts +2 -2
  44. package/build/jetpack-compose/Column/index.d.ts.map +1 -1
  45. package/build/jetpack-compose/DatePicker/index.d.ts +6 -6
  46. package/build/jetpack-compose/DatePicker/index.d.ts.map +1 -1
  47. package/build/jetpack-compose/DockedSearchBar/index.d.ts +2 -2
  48. package/build/jetpack-compose/DockedSearchBar/index.d.ts.map +1 -1
  49. package/build/jetpack-compose/DropdownMenu/DropdownMenuItem.d.ts +2 -2
  50. package/build/jetpack-compose/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  51. package/build/jetpack-compose/DropdownMenu/index.d.ts +2 -2
  52. package/build/jetpack-compose/DropdownMenu/index.d.ts.map +1 -1
  53. package/build/jetpack-compose/ExposedDropdownMenuBox/ExposedDropdownMenu.d.ts +2 -2
  54. package/build/jetpack-compose/ExposedDropdownMenuBox/ExposedDropdownMenu.d.ts.map +1 -1
  55. package/build/jetpack-compose/ExposedDropdownMenuBox/index.d.ts +2 -2
  56. package/build/jetpack-compose/ExposedDropdownMenuBox/index.d.ts.map +1 -1
  57. package/build/jetpack-compose/FloatingActionButton/index.d.ts +8 -6
  58. package/build/jetpack-compose/FloatingActionButton/index.d.ts.map +1 -1
  59. package/build/jetpack-compose/FlowRow/index.d.ts +2 -2
  60. package/build/jetpack-compose/FlowRow/index.d.ts.map +1 -1
  61. package/build/jetpack-compose/HorizontalFloatingToolbar/index.d.ts +4 -4
  62. package/build/jetpack-compose/HorizontalFloatingToolbar/index.d.ts.map +1 -1
  63. package/build/jetpack-compose/HorizontalPager/index.d.ts +2 -2
  64. package/build/jetpack-compose/HorizontalPager/index.d.ts.map +1 -1
  65. package/build/jetpack-compose/Host/index.d.ts +2 -2
  66. package/build/jetpack-compose/Host/index.d.ts.map +1 -1
  67. package/build/jetpack-compose/Icon/index.d.ts +2 -2
  68. package/build/jetpack-compose/Icon/index.d.ts.map +1 -1
  69. package/build/jetpack-compose/IconButton/index.d.ts +2 -2
  70. package/build/jetpack-compose/IconButton/index.d.ts.map +1 -1
  71. package/build/jetpack-compose/LazyColumn/index.d.ts +2 -2
  72. package/build/jetpack-compose/LazyColumn/index.d.ts.map +1 -1
  73. package/build/jetpack-compose/LazyRow/index.d.ts +2 -2
  74. package/build/jetpack-compose/LazyRow/index.d.ts.map +1 -1
  75. package/build/jetpack-compose/ListItem/index.d.ts +2 -2
  76. package/build/jetpack-compose/ListItem/index.d.ts.map +1 -1
  77. package/build/jetpack-compose/LoadingIndicator/index.d.ts +2 -2
  78. package/build/jetpack-compose/LoadingIndicator/index.d.ts.map +1 -1
  79. package/build/jetpack-compose/ModalBottomSheet/index.d.ts +2 -2
  80. package/build/jetpack-compose/ModalBottomSheet/index.d.ts.map +1 -1
  81. package/build/jetpack-compose/MultiChoiceSegmentedButtonRow/index.d.ts +2 -2
  82. package/build/jetpack-compose/MultiChoiceSegmentedButtonRow/index.d.ts.map +1 -1
  83. package/build/jetpack-compose/NavigationBar/index.d.ts +4 -4
  84. package/build/jetpack-compose/NavigationBar/index.d.ts.map +1 -1
  85. package/build/jetpack-compose/Progress/index.d.ts +9 -8
  86. package/build/jetpack-compose/Progress/index.d.ts.map +1 -1
  87. package/build/jetpack-compose/PullToRefreshBox/index.d.ts +4 -4
  88. package/build/jetpack-compose/PullToRefreshBox/index.d.ts.map +1 -1
  89. package/build/jetpack-compose/RadioButton/index.d.ts +2 -2
  90. package/build/jetpack-compose/RadioButton/index.d.ts.map +1 -1
  91. package/build/jetpack-compose/Row/index.d.ts +2 -2
  92. package/build/jetpack-compose/Row/index.d.ts.map +1 -1
  93. package/build/jetpack-compose/SearchBar/index.d.ts +2 -2
  94. package/build/jetpack-compose/SearchBar/index.d.ts.map +1 -1
  95. package/build/jetpack-compose/SegmentedButton/index.d.ts +2 -2
  96. package/build/jetpack-compose/SegmentedButton/index.d.ts.map +1 -1
  97. package/build/jetpack-compose/Shape/index.d.ts +2 -2
  98. package/build/jetpack-compose/Shape/index.d.ts.map +1 -1
  99. package/build/jetpack-compose/SingleChoiceSegmentedButtonRow/index.d.ts +2 -2
  100. package/build/jetpack-compose/SingleChoiceSegmentedButtonRow/index.d.ts.map +1 -1
  101. package/build/jetpack-compose/Slider/index.d.ts +2 -2
  102. package/build/jetpack-compose/Slider/index.d.ts.map +1 -1
  103. package/build/jetpack-compose/Snackbar/index.d.ts +4 -4
  104. package/build/jetpack-compose/Snackbar/index.d.ts.map +1 -1
  105. package/build/jetpack-compose/Spacer/index.d.ts +2 -2
  106. package/build/jetpack-compose/Spacer/index.d.ts.map +1 -1
  107. package/build/jetpack-compose/Surface/index.d.ts +2 -2
  108. package/build/jetpack-compose/Surface/index.d.ts.map +1 -1
  109. package/build/jetpack-compose/Switch/index.d.ts +2 -2
  110. package/build/jetpack-compose/Switch/index.d.ts.map +1 -1
  111. package/build/jetpack-compose/SyncSwitch/index.d.ts +2 -2
  112. package/build/jetpack-compose/SyncSwitch/index.d.ts.map +1 -1
  113. package/build/jetpack-compose/Text/index.d.ts +2 -2
  114. package/build/jetpack-compose/Text/index.d.ts.map +1 -1
  115. package/build/jetpack-compose/TextField/BasicTextField.d.ts +2 -2
  116. package/build/jetpack-compose/TextField/BasicTextField.d.ts.map +1 -1
  117. package/build/jetpack-compose/TextField/TextField.d.ts +4 -4
  118. package/build/jetpack-compose/TextField/TextField.d.ts.map +1 -1
  119. package/build/jetpack-compose/ToggleButton/index.d.ts +2 -2
  120. package/build/jetpack-compose/ToggleButton/index.d.ts.map +1 -1
  121. package/build/jetpack-compose/Tooltip/index.d.ts +6 -6
  122. package/build/jetpack-compose/Tooltip/index.d.ts.map +1 -1
  123. package/build/swift-ui/AccessoryWidgetBackground/index.d.ts +2 -1
  124. package/build/swift-ui/AccessoryWidgetBackground/index.d.ts.map +1 -1
  125. package/build/swift-ui/Alert/index.d.ts +2 -2
  126. package/build/swift-ui/Alert/index.d.ts.map +1 -1
  127. package/build/swift-ui/BottomSheet/index.d.ts +2 -2
  128. package/build/swift-ui/BottomSheet/index.d.ts.map +1 -1
  129. package/build/swift-ui/Button/index.d.ts +2 -2
  130. package/build/swift-ui/Button/index.d.ts.map +1 -1
  131. package/build/swift-ui/Chart/index.d.ts +2 -2
  132. package/build/swift-ui/Chart/index.d.ts.map +1 -1
  133. package/build/swift-ui/ColorPicker/index.d.ts +2 -2
  134. package/build/swift-ui/ColorPicker/index.d.ts.map +1 -1
  135. package/build/swift-ui/ConfirmationDialog/index.d.ts +2 -2
  136. package/build/swift-ui/ConfirmationDialog/index.d.ts.map +1 -1
  137. package/build/swift-ui/ContextMenu/types.d.ts +4 -4
  138. package/build/swift-ui/ContextMenu/types.d.ts.map +1 -1
  139. package/build/swift-ui/DatePicker/index.d.ts +2 -2
  140. package/build/swift-ui/DatePicker/index.d.ts.map +1 -1
  141. package/build/swift-ui/Divider/index.d.ts +2 -1
  142. package/build/swift-ui/Divider/index.d.ts.map +1 -1
  143. package/build/swift-ui/Gauge/index.d.ts +2 -2
  144. package/build/swift-ui/Gauge/index.d.ts.map +1 -1
  145. package/build/swift-ui/GlassEffectContainer/index.d.ts +2 -2
  146. package/build/swift-ui/GlassEffectContainer/index.d.ts.map +1 -1
  147. package/build/swift-ui/Grid/index.d.ts +2 -2
  148. package/build/swift-ui/Grid/index.d.ts.map +1 -1
  149. package/build/swift-ui/HStack/index.d.ts +2 -2
  150. package/build/swift-ui/HStack/index.d.ts.map +1 -1
  151. package/build/swift-ui/Host/index.d.ts +9 -3
  152. package/build/swift-ui/Host/index.d.ts.map +1 -1
  153. package/build/swift-ui/Label/index.d.ts +2 -2
  154. package/build/swift-ui/Label/index.d.ts.map +1 -1
  155. package/build/swift-ui/LabeledContent/index.d.ts +2 -2
  156. package/build/swift-ui/LabeledContent/index.d.ts.map +1 -1
  157. package/build/swift-ui/LazyHStack/index.d.ts +2 -2
  158. package/build/swift-ui/LazyHStack/index.d.ts.map +1 -1
  159. package/build/swift-ui/LazyVStack/index.d.ts +2 -2
  160. package/build/swift-ui/LazyVStack/index.d.ts.map +1 -1
  161. package/build/swift-ui/Link/index.d.ts +2 -2
  162. package/build/swift-ui/Link/index.d.ts.map +1 -1
  163. package/build/swift-ui/List/ListForEach.d.ts +2 -2
  164. package/build/swift-ui/List/ListForEach.d.ts.map +1 -1
  165. package/build/swift-ui/Mask/index.d.ts +2 -2
  166. package/build/swift-ui/Mask/index.d.ts.map +1 -1
  167. package/build/swift-ui/Menu/types.d.ts +2 -2
  168. package/build/swift-ui/Menu/types.d.ts.map +1 -1
  169. package/build/swift-ui/Namespace.d.ts +2 -2
  170. package/build/swift-ui/Namespace.d.ts.map +1 -1
  171. package/build/swift-ui/Overlay/index.d.ts +2 -2
  172. package/build/swift-ui/Overlay/index.d.ts.map +1 -1
  173. package/build/swift-ui/Popover/index.d.ts +2 -2
  174. package/build/swift-ui/Popover/index.d.ts.map +1 -1
  175. package/build/swift-ui/ProgressView/index.d.ts +2 -2
  176. package/build/swift-ui/ProgressView/index.d.ts.map +1 -1
  177. package/build/swift-ui/RNHostView.d.ts +2 -2
  178. package/build/swift-ui/RNHostView.d.ts.map +1 -1
  179. package/build/swift-ui/ScrollView/index.d.ts +2 -2
  180. package/build/swift-ui/ScrollView/index.d.ts.map +1 -1
  181. package/build/swift-ui/Section/index.d.ts +2 -2
  182. package/build/swift-ui/Section/index.d.ts.map +1 -1
  183. package/build/swift-ui/SecureField/index.d.ts +2 -2
  184. package/build/swift-ui/SecureField/index.d.ts.map +1 -1
  185. package/build/swift-ui/ShareLink/index.d.ts +2 -2
  186. package/build/swift-ui/ShareLink/index.d.ts.map +1 -1
  187. package/build/swift-ui/Slider/index.d.ts +2 -2
  188. package/build/swift-ui/Slider/index.d.ts.map +1 -1
  189. package/build/swift-ui/Stepper/index.d.ts +2 -2
  190. package/build/swift-ui/Stepper/index.d.ts.map +1 -1
  191. package/build/swift-ui/SwipeActions/index.d.ts +4 -4
  192. package/build/swift-ui/SwipeActions/index.d.ts.map +1 -1
  193. package/build/swift-ui/SyncToggle/index.d.ts +2 -2
  194. package/build/swift-ui/SyncToggle/index.d.ts.map +1 -1
  195. package/build/swift-ui/TabView/Tab.d.ts +2 -2
  196. package/build/swift-ui/TabView/Tab.d.ts.map +1 -1
  197. package/build/swift-ui/TabView/index.d.ts +2 -2
  198. package/build/swift-ui/TabView/index.d.ts.map +1 -1
  199. package/build/swift-ui/TextField/index.d.ts +2 -2
  200. package/build/swift-ui/TextField/index.d.ts.map +1 -1
  201. package/build/swift-ui/Toggle/index.d.ts +2 -2
  202. package/build/swift-ui/Toggle/index.d.ts.map +1 -1
  203. package/build/swift-ui/VStack/index.d.ts +2 -2
  204. package/build/swift-ui/VStack/index.d.ts.map +1 -1
  205. package/build/swift-ui/ZStack/index.d.ts +2 -2
  206. package/build/swift-ui/ZStack/index.d.ts.map +1 -1
  207. package/build/swift-ui/modifiers/index.d.ts +107 -1
  208. package/build/swift-ui/modifiers/index.d.ts.map +1 -1
  209. package/build/swift-ui/modifiers/presentationModifiers.d.ts +19 -0
  210. package/build/swift-ui/modifiers/presentationModifiers.d.ts.map +1 -1
  211. package/build/universal/Button/index.d.ts.map +1 -1
  212. package/build/universal/Checkbox/index.d.ts.map +1 -1
  213. package/build/universal/Collapsible/index.d.ts.map +1 -1
  214. package/build/universal/FieldGroup/FieldGroup.d.ts.map +1 -1
  215. package/build/universal/FieldGroup/FieldSection.d.ts.map +1 -1
  216. package/build/universal/Host/index.d.ts +1 -2
  217. package/build/universal/Host/index.d.ts.map +1 -1
  218. package/build/universal/Host/types.d.ts +16 -2
  219. package/build/universal/Host/types.d.ts.map +1 -1
  220. package/build/universal/ListItem/ListItem.android.d.ts.map +1 -1
  221. package/build/universal/ListItem/ListItem.ios.d.ts.map +1 -1
  222. package/build/universal/ListItem/types.d.ts +8 -0
  223. package/build/universal/ListItem/types.d.ts.map +1 -1
  224. package/build/universal/Picker/Picker.d.ts.map +1 -1
  225. package/build/universal/Slider/index.d.ts.map +1 -1
  226. package/build/universal/Switch/index.d.ts.map +1 -1
  227. package/build/universal/TextInput/index.d.ts.map +1 -1
  228. package/build/universal/hooks.d.ts +11 -0
  229. package/build/universal/hooks.d.ts.map +1 -1
  230. package/build/universal/keyboardEvent.fx.d.ts +2 -0
  231. package/build/universal/keyboardEvent.fx.d.ts.map +1 -0
  232. package/build/universal/webUtils.d.ts +66 -0
  233. package/build/universal/webUtils.d.ts.map +1 -0
  234. package/expo-module.config.json +1 -1
  235. package/ios/HostView.swift +15 -0
  236. package/ios/Modifiers/PresentationModifiers.swift +30 -0
  237. package/ios/Modifiers/ShapeTypes.swift +50 -0
  238. package/ios/Modifiers/ViewModifierRegistry.swift +259 -11
  239. package/ios/Modifiers/WidgetModifiers.swift +1 -1
  240. package/ios/RNHostView.swift +5 -0
  241. package/ios/TextFieldView.swift +29 -1
  242. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.18/expo.modules.ui-56.0.18-sources.jar → 56.0.20/expo.modules.ui-56.0.20-sources.jar} +0 -0
  243. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20-sources.jar.md5 +1 -0
  244. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20-sources.jar.sha1 +1 -0
  245. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20-sources.jar.sha256 +1 -0
  246. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20-sources.jar.sha512 +1 -0
  247. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar +0 -0
  248. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.md5 +1 -0
  249. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.sha1 +1 -0
  250. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.sha256 +1 -0
  251. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.sha512 +1 -0
  252. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.18/expo.modules.ui-56.0.18.module → 56.0.20/expo.modules.ui-56.0.20.module} +22 -22
  253. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.module.md5 +1 -0
  254. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.module.sha1 +1 -0
  255. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.module.sha256 +1 -0
  256. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.module.sha512 +1 -0
  257. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.18/expo.modules.ui-56.0.18.pom → 56.0.20/expo.modules.ui-56.0.20.pom} +1 -1
  258. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.md5 +1 -0
  259. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.sha1 +1 -0
  260. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.sha256 +1 -0
  261. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.sha512 +1 -0
  262. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml +4 -4
  263. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.md5 +1 -1
  264. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha1 +1 -1
  265. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha256 +1 -1
  266. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha512 +1 -1
  267. package/package.json +5 -9
  268. package/plugin/tsconfig.tsbuildinfo +1 -0
  269. package/src/State/index.fx.ts +4 -5
  270. package/src/community/bottom-sheet/BottomSheet.android.tsx +6 -1
  271. package/src/community/bottom-sheet/BottomSheet.ios.tsx +8 -4
  272. package/src/community/bottom-sheet/scrollContextReset.tsx +24 -0
  273. package/src/community/datetime-picker/DateTimePicker.tsx +9 -1
  274. package/src/community/datetime-picker/types.tsx +2 -2
  275. package/src/community/masked-view/MaskedView.android.tsx +5 -2
  276. package/src/community/masked-view/MaskedView.ios.tsx +5 -2
  277. package/src/community/menu/types.tsx +2 -2
  278. package/src/community/pager-view/types.tsx +2 -2
  279. package/src/community/segmented-control/types.tsx +2 -2
  280. package/src/community/slider/types.tsx +2 -2
  281. package/src/jetpack-compose/AlertDialog/index.tsx +2 -2
  282. package/src/jetpack-compose/AnimatedVisibility/index.tsx +2 -2
  283. package/src/jetpack-compose/Badge/index.tsx +2 -2
  284. package/src/jetpack-compose/BadgedBox/index.tsx +2 -2
  285. package/src/jetpack-compose/BasicAlertDialog/index.tsx +2 -2
  286. package/src/jetpack-compose/Box/index.tsx +2 -2
  287. package/src/jetpack-compose/Button/index.tsx +2 -2
  288. package/src/jetpack-compose/Card/index.tsx +6 -6
  289. package/src/jetpack-compose/Carousel/index.tsx +6 -6
  290. package/src/jetpack-compose/Checkbox/index.tsx +4 -4
  291. package/src/jetpack-compose/Chip/index.tsx +8 -8
  292. package/src/jetpack-compose/Column/index.tsx +2 -2
  293. package/src/jetpack-compose/DatePicker/index.tsx +6 -6
  294. package/src/jetpack-compose/DockedSearchBar/index.tsx +2 -2
  295. package/src/jetpack-compose/DropdownMenu/DropdownMenuItem.tsx +2 -2
  296. package/src/jetpack-compose/DropdownMenu/index.tsx +2 -2
  297. package/src/jetpack-compose/ExposedDropdownMenuBox/ExposedDropdownMenu.tsx +2 -2
  298. package/src/jetpack-compose/ExposedDropdownMenuBox/index.tsx +2 -2
  299. package/src/jetpack-compose/FloatingActionButton/index.tsx +6 -6
  300. package/src/jetpack-compose/FlowRow/index.tsx +2 -2
  301. package/src/jetpack-compose/HorizontalFloatingToolbar/index.tsx +4 -4
  302. package/src/jetpack-compose/HorizontalPager/index.tsx +2 -2
  303. package/src/jetpack-compose/Host/index.tsx +2 -2
  304. package/src/jetpack-compose/Icon/index.tsx +2 -2
  305. package/src/jetpack-compose/IconButton/index.tsx +2 -2
  306. package/src/jetpack-compose/LazyColumn/index.tsx +2 -2
  307. package/src/jetpack-compose/LazyRow/index.tsx +2 -2
  308. package/src/jetpack-compose/ListItem/index.tsx +2 -2
  309. package/src/jetpack-compose/LoadingIndicator/index.tsx +2 -2
  310. package/src/jetpack-compose/ModalBottomSheet/index.tsx +2 -2
  311. package/src/jetpack-compose/MultiChoiceSegmentedButtonRow/index.tsx +2 -2
  312. package/src/jetpack-compose/NavigationBar/index.tsx +4 -4
  313. package/src/jetpack-compose/Progress/index.tsx +7 -7
  314. package/src/jetpack-compose/PullToRefreshBox/index.tsx +4 -4
  315. package/src/jetpack-compose/RadioButton/index.tsx +2 -2
  316. package/src/jetpack-compose/Row/index.tsx +2 -2
  317. package/src/jetpack-compose/SearchBar/index.tsx +2 -2
  318. package/src/jetpack-compose/SegmentedButton/index.tsx +2 -2
  319. package/src/jetpack-compose/Shape/index.tsx +2 -2
  320. package/src/jetpack-compose/SingleChoiceSegmentedButtonRow/index.tsx +2 -2
  321. package/src/jetpack-compose/Slider/index.tsx +2 -2
  322. package/src/jetpack-compose/Snackbar/index.tsx +4 -4
  323. package/src/jetpack-compose/Spacer/index.tsx +2 -2
  324. package/src/jetpack-compose/Surface/index.tsx +2 -2
  325. package/src/jetpack-compose/Switch/index.tsx +2 -2
  326. package/src/jetpack-compose/SyncSwitch/index.tsx +2 -2
  327. package/src/jetpack-compose/Text/index.tsx +2 -2
  328. package/src/jetpack-compose/TextField/BasicTextField.tsx +2 -2
  329. package/src/jetpack-compose/TextField/TextField.tsx +4 -4
  330. package/src/jetpack-compose/ToggleButton/index.tsx +2 -2
  331. package/src/jetpack-compose/Tooltip/index.tsx +6 -6
  332. package/src/swift-ui/AccessoryWidgetBackground/index.tsx +1 -1
  333. package/src/swift-ui/Alert/index.tsx +2 -2
  334. package/src/swift-ui/BottomSheet/index.tsx +2 -2
  335. package/src/swift-ui/Button/index.tsx +2 -2
  336. package/src/swift-ui/Chart/index.tsx +2 -2
  337. package/src/swift-ui/ColorPicker/index.tsx +2 -2
  338. package/src/swift-ui/ConfirmationDialog/index.tsx +2 -2
  339. package/src/swift-ui/ContextMenu/types.ts +4 -4
  340. package/src/swift-ui/DatePicker/index.tsx +2 -2
  341. package/src/swift-ui/Divider/index.tsx +1 -1
  342. package/src/swift-ui/Gauge/index.tsx +2 -2
  343. package/src/swift-ui/GlassEffectContainer/index.tsx +2 -2
  344. package/src/swift-ui/Grid/index.tsx +2 -2
  345. package/src/swift-ui/HStack/index.tsx +2 -2
  346. package/src/swift-ui/Host/index.tsx +12 -3
  347. package/src/swift-ui/Label/index.tsx +2 -2
  348. package/src/swift-ui/LabeledContent/index.tsx +2 -2
  349. package/src/swift-ui/LazyHStack/index.tsx +2 -2
  350. package/src/swift-ui/LazyVStack/index.tsx +2 -2
  351. package/src/swift-ui/Link/index.tsx +2 -2
  352. package/src/swift-ui/List/ListForEach.tsx +2 -2
  353. package/src/swift-ui/Mask/index.tsx +2 -2
  354. package/src/swift-ui/Menu/types.ts +2 -2
  355. package/src/swift-ui/Namespace.tsx +2 -2
  356. package/src/swift-ui/Overlay/index.tsx +2 -2
  357. package/src/swift-ui/Popover/index.tsx +2 -2
  358. package/src/swift-ui/ProgressView/index.tsx +2 -2
  359. package/src/swift-ui/RNHostView.tsx +2 -2
  360. package/src/swift-ui/ScrollView/index.tsx +2 -2
  361. package/src/swift-ui/Section/index.tsx +2 -2
  362. package/src/swift-ui/SecureField/index.tsx +2 -2
  363. package/src/swift-ui/ShareLink/index.tsx +2 -2
  364. package/src/swift-ui/Slider/index.tsx +2 -2
  365. package/src/swift-ui/Stepper/index.tsx +2 -2
  366. package/src/swift-ui/SwipeActions/index.tsx +4 -4
  367. package/src/swift-ui/SyncToggle/index.tsx +2 -2
  368. package/src/swift-ui/TabView/Tab.tsx +2 -2
  369. package/src/swift-ui/TabView/index.tsx +2 -2
  370. package/src/swift-ui/TextField/index.tsx +2 -2
  371. package/src/swift-ui/Toggle/index.tsx +2 -2
  372. package/src/swift-ui/VStack/index.tsx +2 -2
  373. package/src/swift-ui/ZStack/index.tsx +2 -2
  374. package/src/swift-ui/modifiers/index.ts +161 -0
  375. package/src/swift-ui/modifiers/presentationModifiers.ts +22 -0
  376. package/src/ts-declarations/react-native-web.d.ts +31 -3
  377. package/src/universal/Button/index.tsx +83 -35
  378. package/src/universal/Checkbox/index.tsx +85 -30
  379. package/src/universal/Collapsible/index.tsx +5 -17
  380. package/src/universal/FieldGroup/FieldGroup.tsx +5 -15
  381. package/src/universal/FieldGroup/FieldSection.tsx +14 -31
  382. package/src/universal/Host/index.tsx +44 -30
  383. package/src/universal/Host/types.ts +17 -2
  384. package/src/universal/ListItem/ListItem.android.tsx +10 -2
  385. package/src/universal/ListItem/ListItem.ios.tsx +23 -6
  386. package/src/universal/ListItem/types.ts +10 -0
  387. package/src/universal/Picker/Picker.tsx +74 -29
  388. package/src/universal/Slider/index.tsx +90 -9
  389. package/src/universal/Switch/index.android.tsx +2 -2
  390. package/src/universal/Switch/index.tsx +77 -18
  391. package/src/universal/TextInput/index.tsx +49 -13
  392. package/src/universal/hooks.ts +25 -1
  393. package/src/universal/keyboardEvent.fx.ts +28 -0
  394. package/src/universal/webUtils.ts +245 -0
  395. package/CLAUDE.md +0 -54
  396. package/CONTRIBUTING.md +0 -30
  397. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.md5 +0 -1
  398. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.sha1 +0 -1
  399. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.sha256 +0 -1
  400. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.sha512 +0 -1
  401. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar +0 -0
  402. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.md5 +0 -1
  403. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.sha1 +0 -1
  404. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.sha256 +0 -1
  405. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.sha512 +0 -1
  406. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.md5 +0 -1
  407. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.sha1 +0 -1
  408. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.sha256 +0 -1
  409. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.sha512 +0 -1
  410. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.md5 +0 -1
  411. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.sha1 +0 -1
  412. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.sha256 +0 -1
  413. package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.sha512 +0 -1
@@ -3,7 +3,7 @@ import { requireNativeView } from 'expo';
3
3
  import { type ModifierConfig } from '../../types';
4
4
  import { createViewModifierEventListener } from '../modifiers/utils';
5
5
 
6
- export type SingleChoiceSegmentedButtonRowProps = {
6
+ export interface SingleChoiceSegmentedButtonRowProps {
7
7
  /**
8
8
  * SegmentedButton children.
9
9
  */
@@ -12,7 +12,7 @@ export type SingleChoiceSegmentedButtonRowProps = {
12
12
  * Modifiers for the component.
13
13
  */
14
14
  modifiers?: ModifierConfig[];
15
- };
15
+ }
16
16
 
17
17
  const SingleChoiceSegmentedButtonRowNativeView: React.ComponentType<SingleChoiceSegmentedButtonRowProps> =
18
18
  requireNativeView('ExpoUI', 'SingleChoiceSegmentedButtonRowView');
@@ -26,7 +26,7 @@ export type SliderColors = {
26
26
  inactiveTickColor?: ColorValue;
27
27
  };
28
28
 
29
- export type SliderProps = {
29
+ export interface SliderProps {
30
30
  /**
31
31
  * The current value of the slider.
32
32
  * @default 0
@@ -84,7 +84,7 @@ export type SliderProps = {
84
84
  * Slot children for custom thumb and track.
85
85
  */
86
86
  children?: React.ReactNode;
87
- };
87
+ }
88
88
 
89
89
  type NativeSliderProps = Omit<SliderProps, 'onValueChange' | 'onValueChangeFinished' | 'children'> &
90
90
  ViewEvent<'onValueChange', { value: number }> &
@@ -5,7 +5,7 @@ import { type ColorValue } from 'react-native';
5
5
  import { type ModifierConfig } from '../../types';
6
6
  import { createViewModifierEventListener } from '../modifiers/utils';
7
7
 
8
- export type SnackbarProps = {
8
+ export interface SnackbarProps {
9
9
  /**
10
10
  * The background color of the snackbar container.
11
11
  */
@@ -32,7 +32,7 @@ export type SnackbarProps = {
32
32
  * Modifiers for the component.
33
33
  */
34
34
  modifiers?: ModifierConfig[];
35
- };
35
+ }
36
36
 
37
37
  const SnackbarNativeView: React.ComponentType<SnackbarProps> = requireNativeView(
38
38
  'ExpoUI',
@@ -97,7 +97,7 @@ export type SnackbarHostRef = {
97
97
  showSnackbar: (options: SnackbarShowOptions) => Promise<SnackbarResult>;
98
98
  };
99
99
 
100
- export type SnackbarHostProps = {
100
+ export interface SnackbarHostProps {
101
101
  /**
102
102
  * Ref exposing the imperative `showSnackbar` method.
103
103
  */
@@ -111,7 +111,7 @@ export type SnackbarHostProps = {
111
111
  * Compose's `SnackbarHost(hostState) { data -> Snackbar(data, ...) }` lambda.
112
112
  */
113
113
  children?: React.ReactNode;
114
- };
114
+ }
115
115
 
116
116
  const SnackbarHostNativeView: React.ComponentType<SnackbarHostProps> = requireNativeView(
117
117
  'ExpoUI',
@@ -3,12 +3,12 @@ import { requireNativeView } from 'expo';
3
3
  import type { ExpoModifier } from '../../types';
4
4
  import { createViewModifierEventListener } from '../modifiers/utils';
5
5
 
6
- export type SpacerProps = {
6
+ export interface SpacerProps {
7
7
  /**
8
8
  * Modifiers for the component. Use `weight()` modifier to make the spacer flexible.
9
9
  */
10
10
  modifiers?: ExpoModifier[];
11
- };
11
+ }
12
12
 
13
13
  type NativeSpacerProps = SpacerProps;
14
14
  const SpacerNativeView: React.ComponentType<SpacerProps> = requireNativeView(
@@ -22,7 +22,7 @@ export type SurfaceBorder = {
22
22
  color?: ColorValue;
23
23
  };
24
24
 
25
- export type SurfaceProps = {
25
+ export interface SurfaceProps {
26
26
  /**
27
27
  * The content to display inside the surface.
28
28
  */
@@ -94,7 +94,7 @@ export type SurfaceProps = {
94
94
  * Modifiers for the component.
95
95
  */
96
96
  modifiers?: ModifierConfig[];
97
- };
97
+ }
98
98
 
99
99
  type NativeSurfaceProps = Omit<SurfaceProps, 'onClick' | 'onCheckedChange' | 'shape'> &
100
100
  ViewEvent<'onSurfaceClick', void> &
@@ -27,7 +27,7 @@ export type SwitchColors = {
27
27
  disabledUncheckedIconColor?: ColorValue;
28
28
  };
29
29
 
30
- export type SwitchProps = {
30
+ export interface SwitchProps {
31
31
  /**
32
32
  * Indicates whether the switch is checked.
33
33
  */
@@ -54,7 +54,7 @@ export type SwitchProps = {
54
54
  * @platform android
55
55
  */
56
56
  children?: React.ReactNode;
57
- };
57
+ }
58
58
 
59
59
  type NativeSwitchProps = Omit<SwitchProps, 'onCheckedChange' | 'children'> & {
60
60
  children?: React.ReactNode;
@@ -4,7 +4,7 @@ import { getStateId, type ObservableState, useWorkletProp } from '../../State';
4
4
  import { type ModifierConfig } from '../../types';
5
5
  import { createViewModifierEventListener } from '../modifiers/utils';
6
6
 
7
- export type SyncSwitchProps = {
7
+ export interface SyncSwitchProps {
8
8
  /**
9
9
  * An observable state that drives the switch.
10
10
  * Create one with `useNativeState(false)`.
@@ -24,7 +24,7 @@ export type SyncSwitchProps = {
24
24
  * Modifiers for the component.
25
25
  */
26
26
  modifiers?: ModifierConfig[];
27
- };
27
+ }
28
28
 
29
29
  type NativeSyncSwitchProps = Omit<SyncSwitchProps, 'isOn' | 'onCheckedChangeSync'> & {
30
30
  isOn?: number | null;
@@ -194,7 +194,7 @@ type TextSpanRecord = TextSpanStyleBase & {
194
194
  children?: TextSpanRecord[];
195
195
  };
196
196
 
197
- export type TextProps = {
197
+ export interface TextProps {
198
198
  /**
199
199
  * The text content to display. Can be a string, number, or nested `Text` components
200
200
  * for inline styled spans.
@@ -238,7 +238,7 @@ export type TextProps = {
238
238
  * Modifiers for the component.
239
239
  */
240
240
  modifiers?: ModifierConfig[];
241
- };
241
+ }
242
242
 
243
243
  type NativeTextProps = Omit<TextProps, 'children' | 'style'> &
244
244
  TextSpanStyleBase & {
@@ -23,14 +23,14 @@ export type BasicTextFieldRef = TextFieldRef;
23
23
  * `OutlinedTextField`; use `BasicTextField.DecorationBox` to add your own
24
24
  * decoration.
25
25
  */
26
- export type BasicTextFieldProps = CommonTextFieldProperties & {
26
+ export interface BasicTextFieldProps extends CommonTextFieldProperties {
27
27
  /**
28
28
  * Color of the text cursor. Maps to Compose's `cursorBrush` via
29
29
  * `SolidColor(color)`. Defaults to the theme's primary color
30
30
  * (`MaterialTheme.colorScheme.primary`) so it stays visible in light and dark.
31
31
  */
32
32
  cursorColor?: ColorValue;
33
- };
33
+ }
34
34
 
35
35
  // endregion Types
36
36
 
@@ -62,7 +62,7 @@ export type TextFieldColors = {
62
62
  };
63
63
 
64
64
  // Material props inlined per variant (not a shared named base) so docs render them directly.
65
- export type TextFieldProps = CommonTextFieldProperties & {
65
+ export interface TextFieldProps extends CommonTextFieldProperties {
66
66
  /** @default false */
67
67
  isError?: boolean;
68
68
  /**
@@ -72,9 +72,9 @@ export type TextFieldProps = CommonTextFieldProperties & {
72
72
  */
73
73
  shape?: ShapeJSXElement;
74
74
  colors?: TextFieldColors;
75
- };
75
+ }
76
76
 
77
- export type OutlinedTextFieldProps = CommonTextFieldProperties & {
77
+ export interface OutlinedTextFieldProps extends CommonTextFieldProperties {
78
78
  /** @default false */
79
79
  isError?: boolean;
80
80
  /**
@@ -84,7 +84,7 @@ export type OutlinedTextFieldProps = CommonTextFieldProperties & {
84
84
  */
85
85
  shape?: ShapeJSXElement;
86
86
  colors?: TextFieldColors;
87
- };
87
+ }
88
88
 
89
89
  // endregion Types
90
90
 
@@ -17,7 +17,7 @@ export type ToggleButtonColors = {
17
17
  disabledContentColor?: ColorValue;
18
18
  };
19
19
 
20
- export type ToggleButtonProps = {
20
+ export interface ToggleButtonProps {
21
21
  /**
22
22
  * Whether the toggle button is checked.
23
23
  */
@@ -43,7 +43,7 @@ export type ToggleButtonProps = {
43
43
  * Content to display inside the toggle button.
44
44
  */
45
45
  children: React.ReactNode;
46
- };
46
+ }
47
47
 
48
48
  type NativeToggleButtonProps = Omit<ToggleButtonProps, 'onCheckedChange' | 'children'> & {
49
49
  children?: React.ReactNode;
@@ -16,7 +16,7 @@ export type TooltipBoxRef = {
16
16
  dismiss: () => Promise<void>;
17
17
  };
18
18
 
19
- export type TooltipBoxProps = {
19
+ export interface TooltipBoxProps {
20
20
  /**
21
21
  * Ref to imperatively show/dismiss the tooltip.
22
22
  */
@@ -50,7 +50,7 @@ export type TooltipBoxProps = {
50
50
  * The anchor content triggers the tooltip on long-press.
51
51
  */
52
52
  children: React.ReactNode;
53
- };
53
+ }
54
54
 
55
55
  const TooltipBoxNativeView: React.ComponentType<TooltipBoxProps> = requireNativeView(
56
56
  'ExpoUI',
@@ -76,12 +76,12 @@ function transformProps(
76
76
 
77
77
  // --- PlainTooltip (compound component of TooltipBox) ---
78
78
 
79
- export type PlainTooltipProps = {
79
+ export interface PlainTooltipProps {
80
80
  containerColor?: ColorValue;
81
81
  contentColor?: ColorValue;
82
82
  modifiers?: ModifierConfig[];
83
83
  children: React.ReactNode;
84
- };
84
+ }
85
85
 
86
86
  const PlainTooltipNativeView: React.ComponentType<PlainTooltipProps> = requireNativeView(
87
87
  'ExpoUI',
@@ -108,14 +108,14 @@ function PlainTooltipComponent(props: PlainTooltipProps) {
108
108
 
109
109
  // --- RichTooltip (compound component of TooltipBox) ---
110
110
 
111
- export type RichTooltipProps = {
111
+ export interface RichTooltipProps {
112
112
  containerColor?: ColorValue;
113
113
  contentColor?: ColorValue;
114
114
  titleContentColor?: ColorValue;
115
115
  actionContentColor?: ColorValue;
116
116
  modifiers?: ModifierConfig[];
117
117
  children: React.ReactNode;
118
- };
118
+ }
119
119
 
120
120
  const RichTooltipNativeView: React.ComponentType<RichTooltipProps> = requireNativeView(
121
121
  'ExpoUI',
@@ -2,7 +2,7 @@ import { requireNativeView } from 'expo';
2
2
 
3
3
  import { type CommonViewModifierProps } from '../types';
4
4
 
5
- export type AccessoryWidgetBackgroundProps = CommonViewModifierProps;
5
+ export interface AccessoryWidgetBackgroundProps extends CommonViewModifierProps {}
6
6
 
7
7
  const AccessoryWidgetBackgroundNativeView: React.ComponentType<AccessoryWidgetBackgroundProps> =
8
8
  requireNativeView('ExpoUI', 'AccessoryWidgetBackgroundView');
@@ -8,7 +8,7 @@ import { type CommonViewModifierProps } from '../types';
8
8
  /**
9
9
  * Props of the `Alert` component.
10
10
  */
11
- export type AlertProps = {
11
+ export interface AlertProps extends CommonViewModifierProps {
12
12
  /**
13
13
  * The contents of the alert.
14
14
  * Should include `Alert.Trigger`, `Alert.Actions`, and optionally `Alert.Message`.
@@ -26,7 +26,7 @@ export type AlertProps = {
26
26
  * A callback that is called when the `isPresented` state changes.
27
27
  */
28
28
  onIsPresentedChange?: (isPresented: boolean) => void;
29
- } & CommonViewModifierProps;
29
+ }
30
30
 
31
31
  type NativeAlertProps = Omit<AlertProps, 'onIsPresentedChange'> & {
32
32
  onIsPresentedChange?: (event: NativeSyntheticEvent<{ isPresented: boolean }>) => void;
@@ -5,7 +5,7 @@ import { type NativeSyntheticEvent } from 'react-native';
5
5
  import { createViewModifierEventListener } from '../modifiers/utils';
6
6
  import { type CommonViewModifierProps } from '../types';
7
7
 
8
- export type BottomSheetProps = {
8
+ export interface BottomSheetProps extends CommonViewModifierProps {
9
9
  /**
10
10
  * The children of the `BottomSheet` component.
11
11
  * Use `Group` to wrap your content and apply presentation modifiers
@@ -31,7 +31,7 @@ export type BottomSheetProps = {
31
31
  * @default false
32
32
  */
33
33
  fitToContents?: boolean;
34
- } & CommonViewModifierProps;
34
+ }
35
35
 
36
36
  type NativeBottomSheetProps = Omit<BottomSheetProps, 'onIsPresentedChange' | 'onDismiss'> & {
37
37
  onIsPresentedChange: (event: NativeSyntheticEvent<{ isPresented: boolean }>) => void;
@@ -13,7 +13,7 @@ import { type CommonViewModifierProps } from '../types';
13
13
  */
14
14
  export type ButtonRole = 'default' | 'cancel' | 'destructive';
15
15
 
16
- export type ButtonProps = {
16
+ export interface ButtonProps extends CommonViewModifierProps {
17
17
  /**
18
18
  * A callback that is called when the button is pressed.
19
19
  */
@@ -40,7 +40,7 @@ export type ButtonProps = {
40
40
  * Target identifier for the button, used for identifying which button was pressed in widgets and live activities.
41
41
  */
42
42
  target?: string;
43
- } & CommonViewModifierProps;
43
+ }
44
44
 
45
45
  type NativeButtonProps = Omit<ButtonProps, 'onPress'> & ViewEvent<'onButtonPress', void>;
46
46
 
@@ -144,7 +144,7 @@ export type RuleChartStyle = {
144
144
  dashArray?: number[];
145
145
  };
146
146
 
147
- export type ChartProps = {
147
+ export interface ChartProps extends CommonViewModifierProps {
148
148
  /**
149
149
  * Array of data points to display.
150
150
  */
@@ -201,7 +201,7 @@ export type ChartProps = {
201
201
  * Rule mark specific styling options.
202
202
  */
203
203
  ruleStyle?: RuleChartStyle;
204
- } & CommonViewModifierProps;
204
+ }
205
205
 
206
206
  const ChartNativeView: React.ComponentType<ChartProps> = requireNativeView('ExpoUI', 'ChartView');
207
207
 
@@ -5,7 +5,7 @@ import { type NativeSyntheticEvent, processColor } from 'react-native';
5
5
  import { createViewModifierEventListener } from '../modifiers/utils';
6
6
  import { type CommonViewModifierProps } from '../types';
7
7
 
8
- export type ColorPickerProps = {
8
+ export interface ColorPickerProps extends CommonViewModifierProps {
9
9
  /**
10
10
  * The currently selected color in the format `#RRGGBB` or `#RRGGBBAA`.
11
11
  */
@@ -22,7 +22,7 @@ export type ColorPickerProps = {
22
22
  * Whether the color picker should support opacity.
23
23
  */
24
24
  supportsOpacity?: boolean;
25
- } & CommonViewModifierProps;
25
+ }
26
26
 
27
27
  type onSelectionChangeEvent = NativeSyntheticEvent<{ value: string }>;
28
28
 
@@ -8,7 +8,7 @@ import { type CommonViewModifierProps } from '../types';
8
8
  /**
9
9
  * Props of the `ConfirmationDialog` component.
10
10
  */
11
- export type ConfirmationDialogProps = {
11
+ export interface ConfirmationDialogProps extends CommonViewModifierProps {
12
12
  /**
13
13
  * The contents of the confirmation dialog.
14
14
  * Should include `ConfirmationDialog.Trigger`, `ConfirmationDialog.Actions`, and optionally `ConfirmationDialog.Message`.
@@ -31,7 +31,7 @@ export type ConfirmationDialogProps = {
31
31
  * @default 'automatic'
32
32
  */
33
33
  titleVisibility?: 'automatic' | 'visible' | 'hidden';
34
- } & CommonViewModifierProps;
34
+ }
35
35
 
36
36
  type NativeConfirmationDialogProps = Omit<ConfirmationDialogProps, 'onIsPresentedChange'> & {
37
37
  onIsPresentedChange?: (event: NativeSyntheticEvent<{ isPresented: boolean }>) => void;
@@ -6,19 +6,19 @@ import { type CommonViewModifierProps } from '../types';
6
6
  /**
7
7
  * Props of the `ContextMenu` component.
8
8
  */
9
- export type ContextMenuProps = {
9
+ export interface ContextMenuProps extends CommonViewModifierProps {
10
10
  /**
11
11
  * The contents of the context menu.
12
12
  * Should include `ContextMenu.Trigger`, `ContextMenu.Items`, and optionally `ContextMenu.Preview`.
13
13
  */
14
14
  children: ReactNode;
15
- } & CommonViewModifierProps;
15
+ }
16
16
 
17
17
  /**
18
18
  * Props of the `Submenu` component.
19
19
  * @deprecated Use `ContextMenu` component as submenu instead.
20
20
  */
21
- export type SubmenuProps = {
21
+ export interface SubmenuProps {
22
22
  /**
23
23
  * The button that will be used to expand the submenu. On Android the `text` prop of the `Button` will be used as a section title.
24
24
  */
@@ -27,4 +27,4 @@ export type SubmenuProps = {
27
27
  * Children of the submenu. Only `Button`, `Toggle`, `Picker` and `Submenu` elements should be used.
28
28
  */
29
29
  children: ReactNode;
30
- };
30
+ }
@@ -11,7 +11,7 @@ export type DateRange = {
11
11
  end?: Date;
12
12
  };
13
13
 
14
- export type DatePickerProps = {
14
+ export interface DatePickerProps extends CommonViewModifierProps {
15
15
  /**
16
16
  * A title/label displayed on the picker.
17
17
  */
@@ -37,7 +37,7 @@ export type DatePickerProps = {
37
37
  * Children to use as a custom label.
38
38
  */
39
39
  children?: React.ReactNode;
40
- } & CommonViewModifierProps;
40
+ }
41
41
 
42
42
  type NativeDatePickerProps = Omit<DatePickerProps, 'selection' | 'range' | 'onDateChange'> & {
43
43
  selection?: string;
@@ -2,7 +2,7 @@ import { requireNativeView } from 'expo';
2
2
 
3
3
  import { type CommonViewModifierProps } from '../types';
4
4
 
5
- export type DividerProps = CommonViewModifierProps;
5
+ export interface DividerProps extends CommonViewModifierProps {}
6
6
 
7
7
  const DividerNativeView: React.ComponentType<DividerProps> = requireNativeView(
8
8
  'ExpoUI',
@@ -4,7 +4,7 @@ import { Slot } from '../SlotView';
4
4
  import { createViewModifierEventListener } from '../modifiers/utils';
5
5
  import { type CommonViewModifierProps } from '../types';
6
6
 
7
- export type GaugeProps = {
7
+ export interface GaugeProps extends CommonViewModifierProps {
8
8
  /**
9
9
  * The current value of the gauge.
10
10
  */
@@ -35,7 +35,7 @@ export type GaugeProps = {
35
35
  * A label showing the maximum value. Use `Text` or `Label` to display the value.
36
36
  */
37
37
  maximumValueLabel?: React.ReactNode;
38
- } & CommonViewModifierProps;
38
+ }
39
39
 
40
40
  type NativeGaugeProps = Omit<
41
41
  GaugeProps,
@@ -3,7 +3,7 @@ import { requireNativeView } from 'expo';
3
3
  import { createViewModifierEventListener } from '../modifiers/utils';
4
4
  import { type CommonViewModifierProps } from '../types';
5
5
 
6
- export type GlassEffectContainerProps = {
6
+ export interface GlassEffectContainerProps extends CommonViewModifierProps {
7
7
  /**
8
8
  * The children of the `GlassEffectContainer` component.
9
9
  * These should be views with `.glassEffect()` modifiers applied.
@@ -14,7 +14,7 @@ export type GlassEffectContainerProps = {
14
14
  * This controls how close elements need to be to start blending together.
15
15
  */
16
16
  spacing?: number;
17
- } & CommonViewModifierProps;
17
+ }
18
18
 
19
19
  type NativeGlassEffectContainerProps = GlassEffectContainerProps;
20
20
 
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  import { createViewModifierEventListener } from '../modifiers/utils';
5
5
  import { type CommonViewModifierProps } from '../types';
6
6
 
7
- export type GridProps = {
7
+ export interface GridProps extends CommonViewModifierProps {
8
8
  /**
9
9
  * The guide for aligning the child views within the space allocated for a given cell. The default is center.
10
10
  */
@@ -33,7 +33,7 @@ export type GridProps = {
33
33
  */
34
34
  horizontalSpacing?: number;
35
35
  children: React.ReactNode;
36
- } & CommonViewModifierProps;
36
+ }
37
37
 
38
38
  const GridNativeView: React.ComponentType<GridProps> = requireNativeView('ExpoUI', 'GridView');
39
39
 
@@ -3,7 +3,7 @@ import { requireNativeView } from 'expo';
3
3
  import { createViewModifierEventListener } from '../modifiers/utils';
4
4
  import { type CommonViewModifierProps } from '../types';
5
5
 
6
- export type HStackProps = {
6
+ export interface HStackProps extends CommonViewModifierProps {
7
7
  children: React.ReactNode;
8
8
  /**
9
9
  * The spacing between children.
@@ -13,7 +13,7 @@ export type HStackProps = {
13
13
  * The vertical alignment of children within the stack.
14
14
  */
15
15
  alignment?: 'top' | 'center' | 'bottom' | 'firstTextBaseline' | 'lastTextBaseline';
16
- } & CommonViewModifierProps;
16
+ }
17
17
 
18
18
  const HStackNativeView: React.ComponentType<HStackProps> = requireNativeView(
19
19
  'ExpoUI',
@@ -1,10 +1,10 @@
1
1
  import { requireNativeView } from 'expo';
2
- import { I18nManager, type StyleProp, type ViewStyle } from 'react-native';
2
+ import { I18nManager, type ColorValue, type StyleProp, type ViewStyle } from 'react-native';
3
3
 
4
4
  import { createViewModifierEventListener } from '../modifiers/utils';
5
5
  import { type CommonViewModifierProps } from '../types';
6
6
 
7
- export type HostProps = {
7
+ export interface HostProps extends CommonViewModifierProps {
8
8
  /**
9
9
  * When true, the host view will update its size in the React Native view tree to match the content's layout from SwiftUI.
10
10
  * Can be only set once on mount.
@@ -30,6 +30,13 @@ export type HostProps = {
30
30
  */
31
31
  colorScheme?: 'light' | 'dark';
32
32
 
33
+ /**
34
+ * Seed color applied to the SwiftUI content as its tint. It propagates
35
+ * through the SwiftUI environment to theme interactive elements (buttons,
36
+ * switches, sliders, and similar controls) rendered by the children.
37
+ */
38
+ seedColor?: ColorValue;
39
+
33
40
  /**
34
41
  * The layout direction for the SwiftUI content.
35
42
  * Defaults to the current locale direction from I18nManager.
@@ -46,7 +53,7 @@ export type HostProps = {
46
53
  children: React.ReactNode;
47
54
  style?: StyleProp<ViewStyle>;
48
55
  pointerEvents?: 'box-none' | 'none' | 'box-only' | 'auto';
49
- } & CommonViewModifierProps;
56
+ }
50
57
 
51
58
  const HostNativeView: React.ComponentType<
52
59
  HostProps & { matchContentsVertical?: boolean; matchContentsHorizontal?: boolean }
@@ -62,6 +69,7 @@ export function Host(props: HostProps) {
62
69
  ignoreSafeArea,
63
70
  modifiers,
64
71
  layoutDirection,
72
+ seedColor,
65
73
  ...restProps
66
74
  } = props;
67
75
 
@@ -80,6 +88,7 @@ export function Host(props: HostProps) {
80
88
  layoutDirection ?? (I18nManager.getConstants().isRTL ? 'rightToLeft' : 'leftToRight')
81
89
  }
82
90
  ignoreSafeArea={ignoreSafeArea}
91
+ seedColor={seedColor}
83
92
  {...restProps}
84
93
  />
85
94
  );
@@ -6,7 +6,7 @@ import { Slot } from '../SlotView';
6
6
  import { createViewModifierEventListener } from '../modifiers/utils';
7
7
  import { type CommonViewModifierProps } from '../types';
8
8
 
9
- export type LabelProps = {
9
+ export interface LabelProps extends CommonViewModifierProps {
10
10
  /**
11
11
  * The title text to be displayed in the label.
12
12
  */
@@ -34,7 +34,7 @@ export type LabelProps = {
34
34
  * @deprecated Use `foregroundStyle` modifier instead.
35
35
  */
36
36
  color?: ColorValue;
37
- } & CommonViewModifierProps;
37
+ }
38
38
 
39
39
  const LabelNativeView: React.ComponentType<LabelProps & { children?: React.ReactNode }> =
40
40
  requireNativeView('ExpoUI', 'LabelView');
@@ -4,13 +4,13 @@ import { Slot } from '../SlotView';
4
4
  import { createViewModifierEventListener } from '../modifiers/utils';
5
5
  import { type CommonViewModifierProps } from '../types';
6
6
 
7
- export type LabeledContentProps = {
7
+ export interface LabeledContentProps extends CommonViewModifierProps {
8
8
  /**
9
9
  * The label to be displayed in the labeled content.
10
10
  */
11
11
  label?: string | React.ReactNode;
12
12
  children: React.ReactNode;
13
- } & CommonViewModifierProps;
13
+ }
14
14
 
15
15
  const LabeledContentNativeView: React.ComponentType<LabeledContentProps> = requireNativeView(
16
16
  'ExpoUI',
@@ -3,7 +3,7 @@ import { requireNativeView } from 'expo';
3
3
  import { createViewModifierEventListener } from '../modifiers/utils';
4
4
  import { type CommonViewModifierProps } from '../types';
5
5
 
6
- export type LazyHStackProps = {
6
+ export interface LazyHStackProps extends CommonViewModifierProps {
7
7
  children: React.ReactNode;
8
8
  /**
9
9
  * The spacing between children.
@@ -13,7 +13,7 @@ export type LazyHStackProps = {
13
13
  * The vertical alignment of children within the stack.
14
14
  */
15
15
  alignment?: 'top' | 'center' | 'bottom' | 'firstTextBaseline' | 'lastTextBaseline';
16
- } & CommonViewModifierProps;
16
+ }
17
17
 
18
18
  const LazyHStackNativeView: React.ComponentType<LazyHStackProps> = requireNativeView(
19
19
  'ExpoUI',
@@ -3,7 +3,7 @@ import { requireNativeView } from 'expo';
3
3
  import { createViewModifierEventListener } from '../modifiers/utils';
4
4
  import { type CommonViewModifierProps } from '../types';
5
5
 
6
- export type LazyVStackProps = {
6
+ export interface LazyVStackProps extends CommonViewModifierProps {
7
7
  children: React.ReactNode;
8
8
  /**
9
9
  * The horizontal alignment of children within the stack.
@@ -13,7 +13,7 @@ export type LazyVStackProps = {
13
13
  * The spacing between children.
14
14
  */
15
15
  spacing?: number;
16
- } & CommonViewModifierProps;
16
+ }
17
17
 
18
18
  const LazyVStackNativeView: React.ComponentType<LazyVStackProps> = requireNativeView(
19
19
  'ExpoUI',