@expo/ui 55.0.0-preview.6 → 55.0.0

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 (223) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/android/build.gradle +27 -8
  3. package/android/src/main/java/expo/modules/ui/BasicAlertDialogView.kt +26 -0
  4. package/android/src/main/java/expo/modules/ui/BottomSheetView.kt +12 -37
  5. package/android/src/main/java/expo/modules/ui/CardView.kt +72 -0
  6. package/android/src/main/java/expo/modules/ui/CarouselView.kt +2 -5
  7. package/android/src/main/java/expo/modules/ui/ComposeViews.kt +91 -130
  8. package/android/src/main/java/expo/modules/ui/DatePickerView.kt +2 -2
  9. package/android/src/main/java/expo/modules/ui/DividerView.kt +1 -1
  10. package/android/src/main/java/expo/modules/ui/DockedSearchBarView.kt +53 -0
  11. package/android/src/main/java/expo/modules/ui/ExpoUIModule.kt +136 -17
  12. package/android/src/main/java/expo/modules/ui/FilterChipView.kt +59 -0
  13. package/android/src/main/java/expo/modules/ui/HorizontalFloatingToolbarView.kt +63 -0
  14. package/android/src/main/java/expo/modules/ui/LazyColumnView.kt +95 -0
  15. package/android/src/main/java/expo/modules/ui/ListItemView.kt +89 -0
  16. package/android/src/main/java/expo/modules/ui/MaterialShapes.kt +77 -0
  17. package/android/src/main/java/expo/modules/ui/ModifierRegistry.kt +168 -30
  18. package/android/src/main/java/expo/modules/ui/PickerView.kt +2 -2
  19. package/android/src/main/java/expo/modules/ui/ProgressView.kt +1 -1
  20. package/android/src/main/java/expo/modules/ui/PullToRefreshBoxView.kt +40 -0
  21. package/android/src/main/java/expo/modules/ui/RNHostView.kt +87 -0
  22. package/android/src/main/java/expo/modules/ui/RadioButtonView.kt +28 -0
  23. package/android/src/main/java/expo/modules/ui/SearchBarView.kt +60 -0
  24. package/android/src/main/java/expo/modules/ui/ShapeView.kt +36 -5
  25. package/android/src/main/java/expo/modules/ui/SliderView.kt +1 -1
  26. package/android/src/main/java/expo/modules/ui/SlotView.kt +53 -0
  27. package/android/src/main/java/expo/modules/ui/SpacerView.kt +15 -0
  28. package/android/src/main/java/expo/modules/ui/SurfaceView.kt +36 -0
  29. package/android/src/main/java/expo/modules/ui/SwitchView.kt +24 -4
  30. package/android/src/main/java/expo/modules/ui/TextButtonView.kt +33 -0
  31. package/android/src/main/java/expo/modules/ui/TextInputView.kt +1 -2
  32. package/android/src/main/java/expo/modules/ui/TextView.kt +194 -0
  33. package/android/src/main/java/expo/modules/ui/ToggleButtonView.kt +96 -0
  34. package/android/src/main/java/expo/modules/ui/Utils.kt +6 -0
  35. package/android/src/main/java/expo/modules/ui/button/Button.kt +1 -1
  36. package/android/src/main/java/expo/modules/ui/button/IconButton.kt +2 -6
  37. package/android/src/main/java/expo/modules/ui/convertibles/Alignment.kt +112 -0
  38. package/android/src/main/java/expo/modules/ui/convertibles/Arrangement.kt +72 -0
  39. package/android/src/main/java/expo/modules/ui/icon/IconView.kt +159 -0
  40. package/android/src/main/java/expo/modules/ui/icon/ResourceIdHelper.kt +47 -0
  41. package/android/src/main/java/expo/modules/ui/icon/VectorIconLoader.kt +369 -0
  42. package/android/src/main/java/expo/modules/ui/menu/ContextMenu.kt +1 -1
  43. package/build/jetpack-compose/AlertDialog/index.d.ts.map +1 -1
  44. package/build/jetpack-compose/BasicAlertDialog/index.d.ts +22 -0
  45. package/build/jetpack-compose/BasicAlertDialog/index.d.ts.map +1 -0
  46. package/build/jetpack-compose/Button/index.d.ts.map +1 -1
  47. package/build/jetpack-compose/Card/index.d.ts +40 -0
  48. package/build/jetpack-compose/Card/index.d.ts.map +1 -0
  49. package/build/jetpack-compose/Carousel/index.d.ts.map +1 -1
  50. package/build/jetpack-compose/Chip/index.d.ts +0 -4
  51. package/build/jetpack-compose/Chip/index.d.ts.map +1 -1
  52. package/build/jetpack-compose/ContextMenu/index.d.ts.map +1 -1
  53. package/build/jetpack-compose/DatePicker/index.d.ts +1 -12
  54. package/build/jetpack-compose/DatePicker/index.d.ts.map +1 -1
  55. package/build/jetpack-compose/Divider/index.d.ts.map +1 -1
  56. package/build/jetpack-compose/DockedSearchBar/index.d.ts +30 -0
  57. package/build/jetpack-compose/DockedSearchBar/index.d.ts.map +1 -0
  58. package/build/jetpack-compose/ExpoUIModule.d.ts +2 -0
  59. package/build/jetpack-compose/ExpoUIModule.d.ts.map +1 -0
  60. package/build/jetpack-compose/FilterChip/index.d.ts +49 -0
  61. package/build/jetpack-compose/FilterChip/index.d.ts.map +1 -0
  62. package/build/jetpack-compose/HorizontalFloatingToolbar/index.d.ts +41 -0
  63. package/build/jetpack-compose/HorizontalFloatingToolbar/index.d.ts.map +1 -0
  64. package/build/jetpack-compose/Icon/index.d.ts +112 -0
  65. package/build/jetpack-compose/Icon/index.d.ts.map +1 -0
  66. package/build/jetpack-compose/IconButton/index.d.ts +0 -4
  67. package/build/jetpack-compose/IconButton/index.d.ts.map +1 -1
  68. package/build/jetpack-compose/LazyColumn/index.d.ts +55 -0
  69. package/build/jetpack-compose/LazyColumn/index.d.ts.map +1 -0
  70. package/build/jetpack-compose/ListItem/index.d.ts +81 -0
  71. package/build/jetpack-compose/ListItem/index.d.ts.map +1 -0
  72. package/build/jetpack-compose/MaterialSymbolsAssetsTransformer.fx.d.ts +2 -0
  73. package/build/jetpack-compose/MaterialSymbolsAssetsTransformer.fx.d.ts.map +1 -0
  74. package/build/jetpack-compose/ModalBottomSheet/index.d.ts +34 -0
  75. package/build/jetpack-compose/ModalBottomSheet/index.d.ts.map +1 -0
  76. package/build/jetpack-compose/Picker/index.d.ts +0 -6
  77. package/build/jetpack-compose/Picker/index.d.ts.map +1 -1
  78. package/build/jetpack-compose/Progress/index.d.ts.map +1 -1
  79. package/build/jetpack-compose/PullToRefreshBox/index.d.ts +31 -0
  80. package/build/jetpack-compose/PullToRefreshBox/index.d.ts.map +1 -0
  81. package/build/jetpack-compose/RNHostView/index.d.ts +28 -0
  82. package/build/jetpack-compose/RNHostView/index.d.ts.map +1 -0
  83. package/build/jetpack-compose/RadioButton/index.d.ts +20 -0
  84. package/build/jetpack-compose/RadioButton/index.d.ts.map +1 -0
  85. package/build/jetpack-compose/SearchBar/index.d.ts +47 -0
  86. package/build/jetpack-compose/SearchBar/index.d.ts.map +1 -0
  87. package/build/jetpack-compose/Shape/index.d.ts +29 -2
  88. package/build/jetpack-compose/Shape/index.d.ts.map +1 -1
  89. package/build/jetpack-compose/Slider/index.d.ts +1 -9
  90. package/build/jetpack-compose/Slider/index.d.ts.map +1 -1
  91. package/build/jetpack-compose/Spacer/index.d.ts +22 -0
  92. package/build/jetpack-compose/Spacer/index.d.ts.map +1 -0
  93. package/build/jetpack-compose/Surface/index.d.ts +44 -0
  94. package/build/jetpack-compose/Surface/index.d.ts.map +1 -0
  95. package/build/jetpack-compose/Switch/index.d.ts +17 -9
  96. package/build/jetpack-compose/Switch/index.d.ts.map +1 -1
  97. package/build/jetpack-compose/Text/index.d.ts +182 -0
  98. package/build/jetpack-compose/Text/index.d.ts.map +1 -0
  99. package/build/jetpack-compose/TextButton/index.d.ts +29 -0
  100. package/build/jetpack-compose/TextButton/index.d.ts.map +1 -0
  101. package/build/jetpack-compose/TextInput/index.d.ts.map +1 -1
  102. package/build/jetpack-compose/ToggleButton/index.d.ts +54 -0
  103. package/build/jetpack-compose/ToggleButton/index.d.ts.map +1 -0
  104. package/build/jetpack-compose/index.d.ts +20 -1
  105. package/build/jetpack-compose/index.d.ts.map +1 -1
  106. package/build/jetpack-compose/layout.d.ts +16 -19
  107. package/build/jetpack-compose/layout.d.ts.map +1 -1
  108. package/build/jetpack-compose/modifiers/createModifier.d.ts +18 -0
  109. package/build/jetpack-compose/modifiers/createModifier.d.ts.map +1 -0
  110. package/build/jetpack-compose/modifiers/index.d.ts +133 -41
  111. package/build/jetpack-compose/modifiers/index.d.ts.map +1 -1
  112. package/build/jetpack-compose/modifiers/utils.d.ts +15 -0
  113. package/build/jetpack-compose/modifiers/utils.d.ts.map +1 -0
  114. package/build/swift-ui/ConfirmationDialog/index.d.ts +47 -0
  115. package/build/swift-ui/ConfirmationDialog/index.d.ts.map +1 -0
  116. package/build/swift-ui/ScrollView/index.d.ts +16 -0
  117. package/build/swift-ui/ScrollView/index.d.ts.map +1 -0
  118. package/build/swift-ui/index.d.ts +2 -0
  119. package/build/swift-ui/index.d.ts.map +1 -1
  120. package/build/swift-ui/modifiers/index.d.ts +12 -3
  121. package/build/swift-ui/modifiers/index.d.ts.map +1 -1
  122. package/expo-module.config.json +2 -1
  123. package/ios/ColorPickerView.swift +2 -2
  124. package/ios/ConfirmationDialog/ConfirmationDialog.swift +65 -0
  125. package/ios/ConfirmationDialog/ConfirmationDialogComponents.swift +26 -0
  126. package/ios/ConfirmationDialog/ConfirmationDialogProps.swift +15 -0
  127. package/ios/Convertibles/VisibilityOptions.swift +19 -0
  128. package/ios/ExpoUIModule.swift +5 -0
  129. package/ios/Modifiers/ForegroundStyleModifier.swift +124 -0
  130. package/ios/Modifiers/PresentationModifiers.swift +1 -18
  131. package/ios/Modifiers/ViewModifierRegistry.swift +30 -121
  132. package/ios/ScrollViewComponent.swift +23 -0
  133. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0-sources.jar +0 -0
  134. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0-sources.jar.md5 +1 -0
  135. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0-sources.jar.sha1 +1 -0
  136. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0-sources.jar.sha256 +1 -0
  137. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0-sources.jar.sha512 +1 -0
  138. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.aar +0 -0
  139. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.aar.md5 +1 -0
  140. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.aar.sha1 +1 -0
  141. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.aar.sha256 +1 -0
  142. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.aar.sha512 +1 -0
  143. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.module → 55.0.0/expo.modules.ui-55.0.0.module} +46 -28
  144. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.module.md5 +1 -0
  145. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.module.sha1 +1 -0
  146. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.module.sha256 +1 -0
  147. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.module.sha512 +1 -0
  148. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.pom → 55.0.0/expo.modules.ui-55.0.0.pom} +36 -7
  149. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.pom.md5 +1 -0
  150. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.pom.sha1 +1 -0
  151. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.pom.sha256 +1 -0
  152. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0/expo.modules.ui-55.0.0.pom.sha512 +1 -0
  153. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml +4 -4
  154. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.md5 +1 -1
  155. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha1 +1 -1
  156. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha256 +1 -1
  157. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha512 +1 -1
  158. package/package.json +5 -3
  159. package/src/jetpack-compose/AlertDialog/index.tsx +11 -1
  160. package/src/jetpack-compose/BasicAlertDialog/index.tsx +51 -0
  161. package/src/jetpack-compose/Button/index.tsx +13 -1
  162. package/src/jetpack-compose/Card/index.tsx +62 -0
  163. package/src/jetpack-compose/Carousel/index.tsx +7 -1
  164. package/src/jetpack-compose/Chip/index.tsx +14 -7
  165. package/src/jetpack-compose/ContextMenu/index.tsx +5 -2
  166. package/src/jetpack-compose/DatePicker/index.tsx +5 -5
  167. package/src/jetpack-compose/Divider/index.tsx +13 -2
  168. package/src/jetpack-compose/DockedSearchBar/index.tsx +78 -0
  169. package/src/jetpack-compose/ExpoUIModule.ts +3 -0
  170. package/src/jetpack-compose/FilterChip/index.tsx +89 -0
  171. package/src/jetpack-compose/HorizontalFloatingToolbar/index.tsx +90 -0
  172. package/src/jetpack-compose/Icon/index.tsx +144 -0
  173. package/src/jetpack-compose/IconButton/index.tsx +5 -5
  174. package/src/jetpack-compose/LazyColumn/index.tsx +82 -0
  175. package/src/jetpack-compose/ListItem/index.tsx +129 -0
  176. package/src/jetpack-compose/MaterialSymbolsAssetsTransformer.fx.ts +22 -0
  177. package/src/jetpack-compose/ModalBottomSheet/index.tsx +61 -0
  178. package/src/jetpack-compose/Picker/index.tsx +6 -5
  179. package/src/jetpack-compose/Progress/index.tsx +14 -4
  180. package/src/jetpack-compose/PullToRefreshBox/index.tsx +66 -0
  181. package/src/jetpack-compose/RNHostView/index.tsx +56 -0
  182. package/src/jetpack-compose/RadioButton/index.tsx +48 -0
  183. package/src/jetpack-compose/SearchBar/index.tsx +96 -0
  184. package/src/jetpack-compose/Shape/index.tsx +65 -22
  185. package/src/jetpack-compose/Slider/index.tsx +6 -5
  186. package/src/jetpack-compose/Spacer/index.tsx +43 -0
  187. package/src/jetpack-compose/Surface/index.tsx +66 -0
  188. package/src/jetpack-compose/Switch/index.tsx +43 -8
  189. package/src/jetpack-compose/Text/index.tsx +274 -0
  190. package/src/jetpack-compose/TextButton/index.tsx +55 -0
  191. package/src/jetpack-compose/TextInput/index.tsx +5 -4
  192. package/src/jetpack-compose/ToggleButton/index.tsx +83 -0
  193. package/src/jetpack-compose/index.ts +21 -1
  194. package/src/jetpack-compose/layout.tsx +55 -70
  195. package/src/jetpack-compose/modifiers/createModifier.ts +27 -0
  196. package/src/jetpack-compose/modifiers/index.ts +204 -83
  197. package/src/jetpack-compose/modifiers/utils.ts +30 -0
  198. package/src/swift-ui/ConfirmationDialog/index.tsx +98 -0
  199. package/src/swift-ui/ScrollView/index.tsx +34 -0
  200. package/src/swift-ui/index.tsx +2 -0
  201. package/src/swift-ui/modifiers/index.ts +19 -3
  202. package/src/ts-declarations/react-native-assets.d.ts +31 -0
  203. package/build/jetpack-compose/BottomSheet/index.d.ts +0 -21
  204. package/build/jetpack-compose/BottomSheet/index.d.ts.map +0 -1
  205. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6-sources.jar +0 -0
  206. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6-sources.jar.md5 +0 -1
  207. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6-sources.jar.sha1 +0 -1
  208. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6-sources.jar.sha256 +0 -1
  209. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6-sources.jar.sha512 +0 -1
  210. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.aar +0 -0
  211. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.aar.md5 +0 -1
  212. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.aar.sha1 +0 -1
  213. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.aar.sha256 +0 -1
  214. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.aar.sha512 +0 -1
  215. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.module.md5 +0 -1
  216. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.module.sha1 +0 -1
  217. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.module.sha256 +0 -1
  218. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.module.sha512 +0 -1
  219. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.pom.md5 +0 -1
  220. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.pom.sha1 +0 -1
  221. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.pom.sha256 +0 -1
  222. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.pom.sha512 +0 -1
  223. package/src/jetpack-compose/BottomSheet/index.tsx +0 -46
@@ -0,0 +1,15 @@
1
+ import ExpoModulesCore
2
+ import SwiftUI
3
+
4
+ internal final class ConfirmationDialogProps: UIBaseViewProps {
5
+ @Field var title: String = ""
6
+ @Field var isPresented: Bool = false
7
+ @Field var titleVisibility: VisibilityOptions = .automatic
8
+ var onIsPresentedChange = EventDispatcher()
9
+ }
10
+
11
+ internal final class ConfirmationDialogTriggerProps: ExpoSwiftUI.ViewProps {}
12
+
13
+ internal final class ConfirmationDialogActionsProps: ExpoSwiftUI.ViewProps {}
14
+
15
+ internal final class ConfirmationDialogMessageProps: ExpoSwiftUI.ViewProps {}
@@ -0,0 +1,19 @@
1
+ import ExpoModulesCore
2
+ import SwiftUI
3
+
4
+ internal enum VisibilityOptions: String, Enumerable {
5
+ case automatic
6
+ case visible
7
+ case hidden
8
+
9
+ func toVisibility() -> Visibility {
10
+ switch self {
11
+ case .automatic:
12
+ return .automatic
13
+ case .visible:
14
+ return .visible
15
+ case .hidden:
16
+ return .hidden
17
+ }
18
+ }
19
+ }
@@ -66,6 +66,9 @@ public final class ExpoUIModule: Module {
66
66
  View(ContextMenuActivationElement.self)
67
67
  View(ContextMenuPreview.self)
68
68
  View(ContextMenuContent.self)
69
+ View(ConfirmationDialogTrigger.self)
70
+ View(ConfirmationDialogActions.self)
71
+ View(ConfirmationDialogMessage.self)
69
72
  View(NamespaceView.self)
70
73
  View(PopoverViewContent.self)
71
74
  View(PopoverViewPopContent.self)
@@ -88,6 +91,7 @@ public final class ExpoUIModule: Module {
88
91
  ExpoUIView(DatePickerView.self)
89
92
  ExpoUIView(DisclosureGroupView.self)
90
93
  ExpoUIView(ExpoUI.ContentUnavailableView.self)
94
+ ExpoUIView(ConfirmationDialogView.self)
91
95
  ExpoUIView(ExpoUI.ContextMenu.self)
92
96
 
93
97
  // Menu component
@@ -123,6 +127,7 @@ public final class ExpoUIModule: Module {
123
127
  ExpoUIView(ZStackView.self)
124
128
  ExpoUIView(GlassEffectContainerView.self)
125
129
  ExpoUIView(LabeledContentView.self)
130
+ ExpoUIView(ScrollViewComponent.self)
126
131
  ExpoUIView(RectangleView.self)
127
132
  ExpoUIView(RoundedRectangleView.self)
128
133
  ExpoUIView(EllipseView.self)
@@ -0,0 +1,124 @@
1
+ // Copyright 2015-present 650 Industries. All rights reserved.
2
+
3
+ import ExpoModulesCore
4
+ import SwiftUI
5
+
6
+ internal enum ForegroundStyleType: String, Enumerable {
7
+ case color
8
+ case hierarchical
9
+ case linearGradient
10
+ case radialGradient
11
+ case angularGradient
12
+ }
13
+
14
+ internal enum ForegroundHierarchicalStyleType: String, Enumerable {
15
+ case primary
16
+ case secondary
17
+ case tertiary
18
+ case quaternary
19
+ case quinary
20
+ }
21
+
22
+ internal struct ForegroundStyleModifier: ViewModifier, Record {
23
+ @Field var styleType: ForegroundStyleType = .color
24
+ @Field var hierarchicalStyle: ForegroundHierarchicalStyleType = .primary
25
+ @Field var color: Color?
26
+ @Field var colors: [Color]?
27
+ @Field var startPoint: UnitPoint?
28
+ @Field var endPoint: UnitPoint?
29
+ @Field var center: UnitPoint?
30
+ @Field var startRadius: CGFloat?
31
+ @Field var endRadius: CGFloat?
32
+
33
+ func body(content: Content) -> some View {
34
+ applyForegroundStyle(self, to: content)
35
+ }
36
+ }
37
+
38
+ @ViewBuilder
39
+ internal func applyForegroundStyle<V: View>(_ modifier: ForegroundStyleModifier, to content: V) -> some View {
40
+ switch modifier.styleType {
41
+ case .color:
42
+ if let color = modifier.color {
43
+ content.foregroundStyle(color)
44
+ } else {
45
+ content
46
+ }
47
+ case .hierarchical:
48
+ switch modifier.hierarchicalStyle {
49
+ case .primary:
50
+ content.foregroundStyle(.primary)
51
+ case .secondary:
52
+ content.foregroundStyle(.secondary)
53
+ case .tertiary:
54
+ content.foregroundStyle(.tertiary)
55
+ case .quaternary:
56
+ content.foregroundStyle(.quaternary)
57
+ case .quinary:
58
+ if #available(iOS 16.0, tvOS 17.0, *) {
59
+ content.foregroundStyle(.quinary)
60
+ } else {
61
+ content
62
+ }
63
+ }
64
+ case .linearGradient:
65
+ if let colors = modifier.colors, let startPoint = modifier.startPoint, let endPoint = modifier.endPoint {
66
+ content.foregroundStyle(LinearGradient(colors: colors, startPoint: startPoint, endPoint: endPoint))
67
+ } else {
68
+ content
69
+ }
70
+ case .radialGradient:
71
+ if let colors = modifier.colors, let center = modifier.center,
72
+ let startRadius = modifier.startRadius, let endRadius = modifier.endRadius {
73
+ content.foregroundStyle(RadialGradient(colors: colors, center: center, startRadius: startRadius, endRadius: endRadius))
74
+ } else {
75
+ content
76
+ }
77
+ case .angularGradient:
78
+ if let colors = modifier.colors, let center = modifier.center {
79
+ content.foregroundStyle(AngularGradient(colors: colors, center: center))
80
+ } else {
81
+ content
82
+ }
83
+ }
84
+ }
85
+
86
+ @available(iOS 17.0, tvOS 17.0, *)
87
+ internal func applyForegroundStyle(_ modifier: ForegroundStyleModifier, to text: Text) -> Text {
88
+ switch modifier.styleType {
89
+ case .color:
90
+ if let color = modifier.color {
91
+ return text.foregroundStyle(color)
92
+ }
93
+ return text
94
+ case .hierarchical:
95
+ switch modifier.hierarchicalStyle {
96
+ case .primary:
97
+ return text.foregroundStyle(.primary)
98
+ case .secondary:
99
+ return text.foregroundStyle(.secondary)
100
+ case .tertiary:
101
+ return text.foregroundStyle(.tertiary)
102
+ case .quaternary:
103
+ return text.foregroundStyle(.quaternary)
104
+ case .quinary:
105
+ return text.foregroundStyle(.quinary)
106
+ }
107
+ case .linearGradient:
108
+ if let colors = modifier.colors, let startPoint = modifier.startPoint, let endPoint = modifier.endPoint {
109
+ return text.foregroundStyle(LinearGradient(colors: colors, startPoint: startPoint, endPoint: endPoint))
110
+ }
111
+ return text
112
+ case .radialGradient:
113
+ if let colors = modifier.colors, let center = modifier.center,
114
+ let startRadius = modifier.startRadius, let endRadius = modifier.endRadius {
115
+ return text.foregroundStyle(RadialGradient(colors: colors, center: center, startRadius: startRadius, endRadius: endRadius))
116
+ }
117
+ return text
118
+ case .angularGradient:
119
+ if let colors = modifier.colors, let center = modifier.center {
120
+ return text.foregroundStyle(AngularGradient(colors: colors, center: center))
121
+ }
122
+ return text
123
+ }
124
+ }
@@ -149,25 +149,8 @@ private struct PresentationDetentsSelectionView<WrappedContent: View>: View {
149
149
 
150
150
  // MARK: - Presentation Drag Indicator
151
151
 
152
- internal enum PresentationDragIndicatorVisibilityModifier: String, Enumerable {
153
- case automatic
154
- case visible
155
- case hidden
156
-
157
- func toVisibility() -> Visibility {
158
- switch self {
159
- case .visible:
160
- return .visible
161
- case .hidden:
162
- return .hidden
163
- default:
164
- return .automatic
165
- }
166
- }
167
- }
168
-
169
152
  internal struct PresentationDragIndicatorModifier: ViewModifier, Record {
170
- @Field var visibility: PresentationDragIndicatorVisibilityModifier = .automatic
153
+ @Field var visibility: VisibilityOptions = .automatic
171
154
 
172
155
  func body(content: Content) -> some View {
173
156
  if #available(iOS 16.0, tvOS 16.0, *) {
@@ -121,10 +121,11 @@ internal struct OpacityModifier: ViewModifier, Record {
121
121
  }
122
122
 
123
123
  internal struct ScaleEffectModifier: ViewModifier, Record {
124
- @Field var scale: CGFloat = 1.0
124
+ @Field var x: CGFloat = 1.0
125
+ @Field var y: CGFloat = 1.0
125
126
 
126
127
  func body(content: Content) -> some View {
127
- content.scaleEffect(scale)
128
+ content.scaleEffect(x: x, y: y)
128
129
  }
129
130
  }
130
131
 
@@ -173,95 +174,9 @@ internal struct ItalicModifier: ViewModifier, Record {
173
174
  }
174
175
  }
175
176
 
176
- internal enum ForegroundStyleType: String, Enumerable {
177
- case color
178
- case hierarchical
179
- case linearGradient
180
- case radialGradient
181
- case angularGradient
182
- }
183
-
184
- internal enum ForegroundHierarchicalStyleType: String, Enumerable {
185
- case primary
186
- case secondary
187
- case tertiary
188
- case quaternary
189
- case quinary
190
- }
191
-
192
- internal struct ForegroundStyleModifier: ViewModifier, Record {
193
- @Field var styleType: ForegroundStyleType = .color
194
- @Field var hierarchicalStyle: ForegroundHierarchicalStyleType = .primary
195
- @Field var color: Color?
196
- @Field var colors: [Color]?
197
- @Field var startPoint: UnitPoint?
198
- @Field var endPoint: UnitPoint?
199
- @Field var center: UnitPoint?
200
- @Field var startRadius: CGFloat?
201
- @Field var endRadius: CGFloat?
202
-
203
- func body(content: Content) -> some View {
204
- switch styleType {
205
- case .color:
206
- if let color {
207
- content.foregroundStyle(color)
208
- } else {
209
- content
210
- }
211
- case .hierarchical:
212
- switch hierarchicalStyle {
213
- case .primary:
214
- content.foregroundStyle(.primary)
215
- case .secondary:
216
- content.foregroundStyle(.secondary)
217
- case .tertiary:
218
- content.foregroundStyle(.tertiary)
219
- case .quaternary:
220
- content.foregroundStyle(.quaternary)
221
- case .quinary:
222
- if #available(iOS 16.0, tvOS 17.0, *) {
223
- content.foregroundStyle(.quinary)
224
- } else {
225
- content.foregroundStyle(.quaternary)
226
- }
227
- }
228
- case .linearGradient:
229
- if let colors, let startPoint, let endPoint {
230
- content.foregroundStyle(
231
- LinearGradient(
232
- colors: colors,
233
- startPoint: startPoint,
234
- endPoint: endPoint
235
- )
236
- )
237
- } else {
238
- content
239
- }
240
- case .radialGradient:
241
- if let colors, let center, let startRadius, let endRadius {
242
- content.foregroundStyle(
243
- RadialGradient(
244
- colors: colors,
245
- center: center,
246
- startRadius: startRadius,
247
- endRadius: endRadius
248
- )
249
- )
250
- } else {
251
- content
252
- }
253
- case .angularGradient:
254
- if let colors, let center {
255
- content.foregroundStyle(
256
- AngularGradient(
257
- colors: colors,
258
- center: center
259
- )
260
- )
261
- } else {
262
- content
263
- }
264
- }
177
+ internal struct MonospacedDigitModifier: ViewModifier, Record {
178
+ func body(content: Content) -> some View {
179
+ content.monospacedDigit()
265
180
  }
266
181
  }
267
182
 
@@ -859,22 +774,6 @@ internal struct ListRowBackground: ViewModifier, Record {
859
774
  }
860
775
  }
861
776
 
862
- internal enum ListRowSeparatorVisibility: String, Enumerable {
863
- case automatic
864
- case visible
865
- case hidden
866
-
867
- func toVisibility() -> Visibility {
868
- switch self {
869
- case .visible:
870
- return .visible
871
- case .hidden:
872
- return .hidden
873
- default:
874
- return .automatic
875
- }
876
- }
877
- }
878
777
 
879
778
  internal enum VerticalEdgeOptions: String, Enumerable {
880
779
  case all
@@ -894,7 +793,7 @@ internal enum VerticalEdgeOptions: String, Enumerable {
894
793
  }
895
794
 
896
795
  internal struct ListRowSeparator: ViewModifier, Record {
897
- @Field var visibility: ListRowSeparatorVisibility = .automatic
796
+ @Field var visibility: VisibilityOptions = .automatic
898
797
  @Field var edges: VerticalEdgeOptions?
899
798
 
900
799
  func body(content: Content) -> some View {
@@ -1200,6 +1099,18 @@ internal struct ListSectionMargins: ViewModifier, Record {
1200
1099
  internal enum AxisOptions: String, Enumerable {
1201
1100
  case horizontal
1202
1101
  case vertical
1102
+ case both
1103
+
1104
+ func toAxis() -> Axis.Set {
1105
+ switch self {
1106
+ case .vertical:
1107
+ return .vertical
1108
+ case .horizontal:
1109
+ return .horizontal
1110
+ case .both:
1111
+ return [.vertical, .horizontal]
1112
+ }
1113
+ }
1203
1114
  }
1204
1115
 
1205
1116
  internal struct GridCellUnsizedAxes: ViewModifier, Record {
@@ -1208,12 +1119,7 @@ internal struct GridCellUnsizedAxes: ViewModifier, Record {
1208
1119
  func body(content: Content) -> some View {
1209
1120
  if #available(iOS 16.0, macOS 13.0, tvOS 16.0, *) {
1210
1121
  if let axes {
1211
- switch axes {
1212
- case .horizontal:
1213
- content.gridCellUnsizedAxes(.horizontal)
1214
- case .vertical:
1215
- content.gridCellUnsizedAxes(.vertical)
1216
- }
1122
+ content.gridCellUnsizedAxes(axes.toAxis())
1217
1123
  } else {
1218
1124
  content
1219
1125
  }
@@ -1408,6 +1314,8 @@ public class ViewModifierRegistry {
1408
1314
  return text.bold()
1409
1315
  case "italic":
1410
1316
  return text.italic()
1317
+ case "monospacedDigit":
1318
+ return text.monospacedDigit()
1411
1319
  case "font":
1412
1320
  guard let modifier = try? FontModifier(from: params, appContext: appContext) else { return text }
1413
1321
  if let family = modifier.family {
@@ -1424,14 +1332,11 @@ public class ViewModifierRegistry {
1424
1332
  return text.foregroundColor(color)
1425
1333
  case "foregroundStyle":
1426
1334
  guard let modifier = try? ForegroundStyleModifier(from: params, appContext: appContext) else { return text }
1427
- if modifier.styleType == .color, let color = modifier.color {
1428
- if #available(iOS 17.0, tvOS 17.0, *) {
1429
- return text.foregroundStyle(color)
1430
- } else {
1431
- // Fallback for earlier version
1335
+ if #available(iOS 17.0, tvOS 17.0, *) {
1336
+ return applyForegroundStyle(modifier, to: text)
1337
+ } else if modifier.styleType == .color, let color = modifier.color {
1432
1338
  return text.foregroundColor(color)
1433
- }
1434
- }
1339
+ }
1435
1340
  return text
1436
1341
  default:
1437
1342
  #if DEBUG
@@ -1609,6 +1514,10 @@ extension ViewModifierRegistry {
1609
1514
  return try ItalicModifier(from: params, appContext: appContext)
1610
1515
  }
1611
1516
 
1517
+ register("monospacedDigit") { params, appContext, _ in
1518
+ return try MonospacedDigitModifier(from: params, appContext: appContext)
1519
+ }
1520
+
1612
1521
  register("tint") { params, appContext, _ in
1613
1522
  return try TintModifier(from: params, appContext: appContext)
1614
1523
  }
@@ -0,0 +1,23 @@
1
+ // Copyright 2026-present 650 Industries. All rights reserved.
2
+
3
+ import SwiftUI
4
+ import ExpoModulesCore
5
+
6
+ public final class ScrollViewComponentProps: UIBaseViewProps {
7
+ @Field var axes: AxisOptions = .vertical
8
+ @Field var showsIndicators: Bool = true
9
+ }
10
+
11
+ public struct ScrollViewComponent: ExpoSwiftUI.View {
12
+ @ObservedObject public var props: ScrollViewComponentProps
13
+
14
+ public init(props: ScrollViewComponentProps) {
15
+ self.props = props
16
+ }
17
+
18
+ public var body: some View {
19
+ ScrollView(props.axes.toAxis(), showsIndicators: props.showsIndicators) {
20
+ Children()
21
+ }
22
+ }
23
+ }
@@ -0,0 +1 @@
1
+ 6e19bff717c5770bfbfab0f7b94f6e98217dc504
@@ -0,0 +1 @@
1
+ addee5fe747747c7459fb227f67189cd0c0a064fe2a037ed67057c560e7fb335
@@ -0,0 +1 @@
1
+ fe721d26e09241994a20838afa7aecfcd15a3c74bb104a3b42753cb73608ad6784f0d820db4b654b6fd65df1165574b8353040f8d0a2161c2e3413e18c2b9b79
@@ -0,0 +1 @@
1
+ 6c884449165b70583d08844b02f31ab547df4438
@@ -0,0 +1 @@
1
+ 981050003cd4b3d57f26a29a9e0466bdbdae41cc8df253b571858ba1e46a6ab9
@@ -0,0 +1 @@
1
+ 35a4fa077be99bf9bebfd55d3398894d0150be4a5a60503d407a6a487290f5b2fdd0b0624986ef2781097d50a3c1fe973786fd79a738e94d1de0228b04ab3e01
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.ui",
5
5
  "module": "expo.modules.ui",
6
- "version": "55.0.0-preview.6",
6
+ "version": "55.0.0",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,13 +24,13 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.ui-55.0.0-preview.6.aar",
28
- "url": "expo.modules.ui-55.0.0-preview.6.aar",
29
- "size": 395889,
30
- "sha512": "fe078e64c5039a9d29331bc198dd8f10145b1958e3f5440d567a15b783635e406079fcae27d6c67bab11f83698e3c9430c4c47a10c730564942e2a61452339a7",
31
- "sha256": "b15dbe8f294d488bd2f6ad82bbe0427e8223c45cbe0d422ea9be8362feac675a",
32
- "sha1": "c9cec17255353ffc131a6098bb6a51c744e66fbe",
33
- "md5": "a28b5a671d1d76e0cd9d78d3d0b6f74a"
27
+ "name": "expo.modules.ui-55.0.0.aar",
28
+ "url": "expo.modules.ui-55.0.0.aar",
29
+ "size": 732681,
30
+ "sha512": "35a4fa077be99bf9bebfd55d3398894d0150be4a5a60503d407a6a487290f5b2fdd0b0624986ef2781097d50a3c1fe973786fd79a738e94d1de0228b04ab3e01",
31
+ "sha256": "981050003cd4b3d57f26a29a9e0466bdbdae41cc8df253b571858ba1e46a6ab9",
32
+ "sha1": "6c884449165b70583d08844b02f31ab547df4438",
33
+ "md5": "28406ef3849bb822054f845e1e731d11"
34
34
  }
35
35
  ]
36
36
  },
@@ -50,39 +50,43 @@
50
50
  "requires": "2.1.20"
51
51
  }
52
52
  },
53
+ {
54
+ "group": "com.facebook.react",
55
+ "module": "react-android"
56
+ },
53
57
  {
54
58
  "group": "androidx.compose.foundation",
55
59
  "module": "foundation-android",
56
60
  "version": {
57
- "requires": "1.9.1"
61
+ "requires": "1.10.2"
58
62
  }
59
63
  },
60
64
  {
61
65
  "group": "androidx.compose.ui",
62
66
  "module": "ui-android",
63
67
  "version": {
64
- "requires": "1.9.1"
68
+ "requires": "1.10.2"
65
69
  }
66
70
  },
67
71
  {
68
72
  "group": "androidx.compose.material3",
69
73
  "module": "material3",
70
74
  "version": {
71
- "requires": "1.5.0-alpha08"
75
+ "requires": "1.5.0-alpha13"
72
76
  }
73
77
  },
74
78
  {
75
79
  "group": "androidx.compose.material3",
76
80
  "module": "material3-android",
77
81
  "version": {
78
- "requires": "1.5.0-alpha08"
82
+ "requires": "1.5.0-alpha13"
79
83
  }
80
84
  },
81
85
  {
82
86
  "group": "androidx.lifecycle",
83
87
  "module": "lifecycle-runtime",
84
88
  "version": {
85
- "requires": "2.9.3"
89
+ "requires": "2.10.0"
86
90
  }
87
91
  },
88
92
  {
@@ -96,19 +100,33 @@
96
100
  "group": "androidx.graphics",
97
101
  "module": "graphics-shapes",
98
102
  "version": {
99
- "requires": "1.0.1"
103
+ "requires": "1.1.0"
104
+ }
105
+ },
106
+ {
107
+ "group": "com.squareup.okhttp3",
108
+ "module": "okhttp",
109
+ "version": {
110
+ "requires": "4.9.2"
111
+ }
112
+ },
113
+ {
114
+ "group": "androidx.core",
115
+ "module": "core-ktx",
116
+ "version": {
117
+ "requires": "1.17.0"
100
118
  }
101
119
  }
102
120
  ],
103
121
  "files": [
104
122
  {
105
- "name": "expo.modules.ui-55.0.0-preview.6.aar",
106
- "url": "expo.modules.ui-55.0.0-preview.6.aar",
107
- "size": 395889,
108
- "sha512": "fe078e64c5039a9d29331bc198dd8f10145b1958e3f5440d567a15b783635e406079fcae27d6c67bab11f83698e3c9430c4c47a10c730564942e2a61452339a7",
109
- "sha256": "b15dbe8f294d488bd2f6ad82bbe0427e8223c45cbe0d422ea9be8362feac675a",
110
- "sha1": "c9cec17255353ffc131a6098bb6a51c744e66fbe",
111
- "md5": "a28b5a671d1d76e0cd9d78d3d0b6f74a"
123
+ "name": "expo.modules.ui-55.0.0.aar",
124
+ "url": "expo.modules.ui-55.0.0.aar",
125
+ "size": 732681,
126
+ "sha512": "35a4fa077be99bf9bebfd55d3398894d0150be4a5a60503d407a6a487290f5b2fdd0b0624986ef2781097d50a3c1fe973786fd79a738e94d1de0228b04ab3e01",
127
+ "sha256": "981050003cd4b3d57f26a29a9e0466bdbdae41cc8df253b571858ba1e46a6ab9",
128
+ "sha1": "6c884449165b70583d08844b02f31ab547df4438",
129
+ "md5": "28406ef3849bb822054f845e1e731d11"
112
130
  }
113
131
  ]
114
132
  },
@@ -122,13 +140,13 @@
122
140
  },
123
141
  "files": [
124
142
  {
125
- "name": "expo.modules.ui-55.0.0-preview.6-sources.jar",
126
- "url": "expo.modules.ui-55.0.0-preview.6-sources.jar",
127
- "size": 27614,
128
- "sha512": "a1afc79f1341ad5adec5f9067710344e31a688779a563121a745f3c244fed5a03fb2b7720fdac4a9e07e8795cccc7bb5fcecaf0edf6ee51424c884dcdb33c873",
129
- "sha256": "a8eb3912559f31957313543ed0b9a274cd1e952452c0fc28b04583007dfbf666",
130
- "sha1": "ebbb4baccb7b71304c8dbb36ab02188857dcfb12",
131
- "md5": "fa168ab08468445453aabbf383c80887"
143
+ "name": "expo.modules.ui-55.0.0-sources.jar",
144
+ "url": "expo.modules.ui-55.0.0-sources.jar",
145
+ "size": 51394,
146
+ "sha512": "fe721d26e09241994a20838afa7aecfcd15a3c74bb104a3b42753cb73608ad6784f0d820db4b654b6fd65df1165574b8353040f8d0a2161c2e3413e18c2b9b79",
147
+ "sha256": "addee5fe747747c7459fb227f67189cd0c0a064fe2a037ed67057c560e7fb335",
148
+ "sha1": "6e19bff717c5770bfbfab0f7b94f6e98217dc504",
149
+ "md5": "d9047cbc88b3f7cbf9728460e27dd43d"
132
150
  }
133
151
  ]
134
152
  }
@@ -0,0 +1 @@
1
+ 16bbc6d6ebf2ad13f84336cc98e712e394c94d3f
@@ -0,0 +1 @@
1
+ 7bd69b5138e85b3f667649a3d2967db4599501141e80ab024f7d909e29a08b1f
@@ -0,0 +1 @@
1
+ 422527512f454d53a49147ee9fb7257fb8b01ebf43cdb48ea56e31c4ce569490b38c7cf5f0479cfb1b309396504d39dc89cbc5156efea1c459ca5193e1ef789c