@expo/ui 55.0.11 → 55.0.12

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 (51) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/android/build.gradle +2 -2
  3. package/build/swift-ui/Overlay/index.d.ts +18 -0
  4. package/build/swift-ui/Overlay/index.d.ts.map +1 -0
  5. package/build/swift-ui/ZStack/index.d.ts +2 -2
  6. package/build/swift-ui/ZStack/index.d.ts.map +1 -1
  7. package/build/swift-ui/index.d.ts +2 -1
  8. package/build/swift-ui/index.d.ts.map +1 -1
  9. package/build/swift-ui/types.d.ts +6 -1
  10. package/build/swift-ui/types.d.ts.map +1 -1
  11. package/expo-module.config.json +1 -1
  12. package/ios/ExpoUIModule.swift +1 -0
  13. package/ios/OverlayView.swift +34 -0
  14. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11.module → 55.0.12/expo.modules.ui-55.0.12.module} +7 -7
  15. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.12/expo.modules.ui-55.0.12.module.md5 +1 -0
  16. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.12/expo.modules.ui-55.0.12.module.sha1 +1 -0
  17. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.12/expo.modules.ui-55.0.12.module.sha256 +1 -0
  18. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.12/expo.modules.ui-55.0.12.module.sha512 +1 -0
  19. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11.pom → 55.0.12/expo.modules.ui-55.0.12.pom} +1 -1
  20. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.12/expo.modules.ui-55.0.12.pom.md5 +1 -0
  21. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.12/expo.modules.ui-55.0.12.pom.sha1 +1 -0
  22. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.12/expo.modules.ui-55.0.12.pom.sha256 +1 -0
  23. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.12/expo.modules.ui-55.0.12.pom.sha512 +1 -0
  24. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml +4 -4
  25. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.md5 +1 -1
  26. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha1 +1 -1
  27. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha256 +1 -1
  28. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha512 +1 -1
  29. package/package.json +2 -2
  30. package/src/swift-ui/Overlay/index.tsx +37 -0
  31. package/src/swift-ui/ZStack/index.tsx +2 -17
  32. package/src/swift-ui/index.tsx +2 -1
  33. package/src/swift-ui/types.ts +22 -10
  34. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.module.md5 +0 -1
  35. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.module.sha1 +0 -1
  36. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.module.sha256 +0 -1
  37. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.module.sha512 +0 -1
  38. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.pom.md5 +0 -1
  39. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.pom.sha1 +0 -1
  40. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.pom.sha256 +0 -1
  41. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.11/expo.modules.ui-55.0.11.pom.sha512 +0 -1
  42. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11-sources.jar → 55.0.12/expo.modules.ui-55.0.12-sources.jar} +0 -0
  43. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11-sources.jar.md5 → 55.0.12/expo.modules.ui-55.0.12-sources.jar.md5} +0 -0
  44. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11-sources.jar.sha1 → 55.0.12/expo.modules.ui-55.0.12-sources.jar.sha1} +0 -0
  45. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11-sources.jar.sha256 → 55.0.12/expo.modules.ui-55.0.12-sources.jar.sha256} +0 -0
  46. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11-sources.jar.sha512 → 55.0.12/expo.modules.ui-55.0.12-sources.jar.sha512} +0 -0
  47. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11.aar → 55.0.12/expo.modules.ui-55.0.12.aar} +0 -0
  48. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11.aar.md5 → 55.0.12/expo.modules.ui-55.0.12.aar.md5} +0 -0
  49. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11.aar.sha1 → 55.0.12/expo.modules.ui-55.0.12.aar.sha1} +0 -0
  50. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11.aar.sha256 → 55.0.12/expo.modules.ui-55.0.12.aar.sha256} +0 -0
  51. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.11/expo.modules.ui-55.0.11.aar.sha512 → 55.0.12/expo.modules.ui-55.0.12.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,12 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 55.0.12 — 2026-04-21
14
+
15
+ ### 🎉 New features
16
+
17
+ - [iOS] Added `Overlay` component. ([#44610](https://github.com/expo/expo/pull/44610) by [@nishan](https://github.com/intergalacticspacehighway))
18
+
13
19
  ## 55.0.11 — 2026-04-09
14
20
 
15
21
  ### 🛠 Breaking changes
@@ -12,13 +12,13 @@ apply plugin: 'expo-module-gradle-plugin'
12
12
  apply plugin: 'org.jetbrains.kotlin.plugin.compose'
13
13
 
14
14
  group = 'expo.modules.ui'
15
- version = '55.0.11'
15
+ version = '55.0.12'
16
16
 
17
17
  android {
18
18
  namespace "expo.modules.ui"
19
19
  defaultConfig {
20
20
  versionCode 1
21
- versionName "55.0.11"
21
+ versionName "55.0.12"
22
22
  testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
23
23
  }
24
24
  buildFeatures {
@@ -0,0 +1,18 @@
1
+ import { type Alignment, type CommonViewModifierProps } from '../types';
2
+ export type OverlayProps = {
3
+ children: React.ReactNode;
4
+ /**
5
+ * The alignment of the overlay content relative to the base content.
6
+ * @default 'center'
7
+ */
8
+ alignment?: Alignment;
9
+ } & CommonViewModifierProps;
10
+ declare function OverlayContent(props: {
11
+ children: React.ReactNode;
12
+ }): import("react").JSX.Element;
13
+ export declare function Overlay(props: OverlayProps): import("react").JSX.Element;
14
+ export declare namespace Overlay {
15
+ var Content: typeof OverlayContent;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/Overlay/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExE,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,uBAAuB,CAAC;AAO5B,iBAAS,cAAc,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,+BAE3D;AAID,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,+BAU1C;yBAVe,OAAO"}
@@ -1,10 +1,10 @@
1
- import { CommonViewModifierProps } from '../types';
1
+ import { type Alignment, type CommonViewModifierProps } from '../types';
2
2
  export type ZStackProps = {
3
3
  children: React.ReactNode;
4
4
  /**
5
5
  * The alignment of children within the stack.
6
6
  */
7
- alignment?: 'center' | 'leading' | 'trailing' | 'top' | 'bottom' | 'topLeading' | 'topTrailing' | 'bottomLeading' | 'bottomTrailing' | 'centerFirstTextBaseline' | 'centerLastTextBaseline' | 'leadingFirstTextBaseline' | 'leadingLastTextBaseline' | 'trailingFirstTextBaseline' | 'trailingLastTextBaseline';
7
+ alignment?: Alignment;
8
8
  } & CommonViewModifierProps;
9
9
  export declare function ZStack(props: ZStackProps): import("react").JSX.Element;
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/ZStack/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,SAAS,CAAC,EACN,QAAQ,GACR,SAAS,GACT,UAAU,GACV,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,yBAAyB,GACzB,wBAAwB,GACxB,0BAA0B,GAC1B,yBAAyB,GACzB,2BAA2B,GAC3B,0BAA0B,CAAC;CAChC,GAAG,uBAAuB,CAAC;AAO5B,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,+BASxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/ZStack/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExE,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,uBAAuB,CAAC;AAO5B,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,+BASxC"}
@@ -37,9 +37,10 @@ export * from './Namespace';
37
37
  export * from './GlassEffectContainer';
38
38
  export * from './ScrollView';
39
39
  export * from './Shapes';
40
+ export * from './Overlay';
40
41
  export * from './Popover';
41
42
  export * from './Grid';
42
43
  export * from './RNHostView';
43
44
  export * from './Link';
44
- export { type CommonViewModifierProps } from './types';
45
+ export { type Alignment, type CommonViewModifierProps } from './types';
45
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swift-ui/index.tsx"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swift-ui/index.tsx"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,uBAAuB,EAAE,MAAM,SAAS,CAAC"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * The alignment of content within a container or overlay.
3
+ * Maps to SwiftUI's `Alignment` type.
4
+ */
5
+ export type Alignment = 'center' | 'leading' | 'trailing' | 'top' | 'bottom' | 'topLeading' | 'topTrailing' | 'bottomLeading' | 'bottomTrailing' | 'centerFirstTextBaseline' | 'centerLastTextBaseline' | 'leadingFirstTextBaseline' | 'leadingLastTextBaseline' | 'trailingFirstTextBaseline' | 'trailingLastTextBaseline';
1
6
  /**
2
7
  * Common frame properties that can be applied to any view.
3
8
  */
@@ -37,7 +42,7 @@ export interface FrameProps {
37
42
  /**
38
43
  * The alignment of the content within the frame.
39
44
  */
40
- alignment?: 'center' | 'leading' | 'trailing' | 'top' | 'bottom' | 'topLeading' | 'topTrailing' | 'bottomLeading' | 'bottomTrailing';
45
+ alignment?: Alignment;
41
46
  }
42
47
  /**
43
48
  * Common padding properties that can be applied to any view.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/swift-ui/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EACN,QAAQ,GACR,SAAS,GACT,UAAU,GACV,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,eAAe,GACf,gBAAgB,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,EAAE,OAAO,aAAa,EAAE,YAAY,EAAE,CAAC;CAClD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/swift-ui/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,SAAS,GACT,UAAU,GACV,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,yBAAyB,GACzB,wBAAwB,GACxB,0BAA0B,GAC1B,yBAAyB,GACzB,2BAA2B,GAC3B,0BAA0B,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,EAAE,OAAO,aAAa,EAAE,YAAY,EAAE,CAAC;CAClD"}
@@ -10,7 +10,7 @@
10
10
  "publication": {
11
11
  "groupId": "expo.modules.ui",
12
12
  "artifactId": "expo.modules.ui",
13
- "version": "55.0.11",
13
+ "version": "55.0.12",
14
14
  "repository": "local-maven-repo"
15
15
  }
16
16
  }
@@ -114,6 +114,7 @@ public final class ExpoUIModule: Module {
114
114
  ExpoUIView(ConcentricRectangleView.self)
115
115
  ExpoUIView(DividerView.self)
116
116
  ExpoUIView(PopoverView.self)
117
+ ExpoUIView(OverlayView.self)
117
118
  ExpoUIView(GridView.self)
118
119
  ExpoUIView(AccessoryWidgetBackgroundView.self)
119
120
  ExpoUIView(LinkView.self)
@@ -0,0 +1,34 @@
1
+ // Copyright 2025-present 650 Industries. All rights reserved.
2
+
3
+ import ExpoModulesCore
4
+ import SwiftUI
5
+
6
+ internal class OverlayViewProps: UIBaseViewProps {
7
+ @Field var alignment: AlignmentOptions?
8
+ }
9
+
10
+ internal struct OverlayView: ExpoSwiftUI.View {
11
+ @ObservedObject var props: OverlayViewProps
12
+
13
+ var body: some View {
14
+ baseContent
15
+ .overlay(alignment: props.alignment?.toAlignment() ?? .center) {
16
+ overlayContent
17
+ }
18
+ }
19
+
20
+ @ViewBuilder
21
+ private var baseContent: some View {
22
+ ForEach(props.children?.withoutSlots() ?? [], id: \.id) { child in
23
+ let view: any View = child.childView
24
+ AnyView(view)
25
+ }
26
+ }
27
+
28
+ @ViewBuilder
29
+ private var overlayContent: some View {
30
+ if let content = props.children?.slot("content") {
31
+ content
32
+ }
33
+ }
34
+ }
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.ui",
5
5
  "module": "expo.modules.ui",
6
- "version": "55.0.11",
6
+ "version": "55.0.12",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.ui-55.0.11.aar",
28
- "url": "expo.modules.ui-55.0.11.aar",
27
+ "name": "expo.modules.ui-55.0.12.aar",
28
+ "url": "expo.modules.ui-55.0.12.aar",
29
29
  "size": 1078328,
30
30
  "sha512": "808b352ca5908016e70ca2686f59300b6bb10e1ccaf90bc89c7b13cf7f635ada21a2200a5bb32bb7739be25571f48242224e422d099c21e1d784265013ce1294",
31
31
  "sha256": "3f5ed3a5af84ec2ad3f936f28e0be63971ebd17006aac943818fcdbed5e6f659",
@@ -120,8 +120,8 @@
120
120
  ],
121
121
  "files": [
122
122
  {
123
- "name": "expo.modules.ui-55.0.11.aar",
124
- "url": "expo.modules.ui-55.0.11.aar",
123
+ "name": "expo.modules.ui-55.0.12.aar",
124
+ "url": "expo.modules.ui-55.0.12.aar",
125
125
  "size": 1078328,
126
126
  "sha512": "808b352ca5908016e70ca2686f59300b6bb10e1ccaf90bc89c7b13cf7f635ada21a2200a5bb32bb7739be25571f48242224e422d099c21e1d784265013ce1294",
127
127
  "sha256": "3f5ed3a5af84ec2ad3f936f28e0be63971ebd17006aac943818fcdbed5e6f659",
@@ -140,8 +140,8 @@
140
140
  },
141
141
  "files": [
142
142
  {
143
- "name": "expo.modules.ui-55.0.11-sources.jar",
144
- "url": "expo.modules.ui-55.0.11-sources.jar",
143
+ "name": "expo.modules.ui-55.0.12-sources.jar",
144
+ "url": "expo.modules.ui-55.0.12-sources.jar",
145
145
  "size": 68147,
146
146
  "sha512": "08d65b836394cc88f152cfb2a1ee79ae229155b54ab069dac6a7bfe4cabd8a30b09428b5261025453b3289aa6b1d4aeffca52365e74aefb4af9ade252a1c80a9",
147
147
  "sha256": "70de253a9147c6ff1cf1874e6cdb587183aaabcbe10631ab4051f0ad254c54d5",
@@ -0,0 +1 @@
1
+ d81d3910ba28636178dea7d14f07012648f99ea8
@@ -0,0 +1 @@
1
+ efce97054d65af7a0c09e0c9aa2eca086a83a804db276fefbfc5bef1358ab6b0
@@ -0,0 +1 @@
1
+ 7cfa8826501b2e6252459ebfec639c3655e68195ef3a24ef5637ea846e148f746cf4468b900f652ab96884aa96a072bf05eae5f871e1e5a2d5c52a475b8f97fc
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>expo.modules.ui</groupId>
11
11
  <artifactId>expo.modules.ui</artifactId>
12
- <version>55.0.11</version>
12
+ <version>55.0.12</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
+ 6008761ba3945f6eaf1395c1827e5abfc7e8205c
@@ -0,0 +1 @@
1
+ 61cc2717fba40ef2309c073fd0eb03bdbc54c99681dc3335720a9d821787da12
@@ -0,0 +1 @@
1
+ 2c107e1bfaeddc5410ff2692e66faf5f6db4b0938f19e26c3ac7830a5f1da07fc5e54c013fa34bf012d63e60143d06820c9dd0e0bca57a48f6ec65649ffcc22d
@@ -3,11 +3,11 @@
3
3
  <groupId>expo.modules.ui</groupId>
4
4
  <artifactId>expo.modules.ui</artifactId>
5
5
  <versioning>
6
- <latest>55.0.11</latest>
7
- <release>55.0.11</release>
6
+ <latest>55.0.12</latest>
7
+ <release>55.0.12</release>
8
8
  <versions>
9
- <version>55.0.11</version>
9
+ <version>55.0.12</version>
10
10
  </versions>
11
- <lastUpdated>20260409135101</lastUpdated>
11
+ <lastUpdated>20260421111037</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 673a16d18408687f0dc012731a1c3ae0
1
+ 9fe181085f0e98ef1f7632aba9eccdc4
@@ -1 +1 @@
1
- 2743de4bd2449b97b2797ec00d23338e4716d8a8
1
+ 0118c6e2cf69cf9f76e8718ac2ed2284fe11b647
@@ -1 +1 @@
1
- bd5001b4d32986f25d3bd0d3a733d0d14d4e57b979a31557f9bafd0bc24f645b
1
+ d039c790c312a5e125efcaaafd7277e98fa5faf16b42d52305f2d5e8379c59b4
@@ -1 +1 @@
1
- 900435ec3391079a90e9d457986cc48ca094a86b0681c36c1d25e14e83364087eaee9d702352dbbb662888ecaaf5c820f3f713588702319ad6f20cae75057933
1
+ 1125e8ac1c4a9f084d6595cfc315fa00eedf7121c4688af08ce4a74c7105a2613e57cefe7e8b9d9bfe24a17bae34817566e0590d43134f30b3dbce2c860a478e
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/ui",
3
- "version": "55.0.11",
3
+ "version": "55.0.12",
4
4
  "description": "A collection of UI components",
5
5
  "sideEffects": [
6
6
  "*.fx.js"
@@ -67,5 +67,5 @@
67
67
  "react": "*",
68
68
  "react-native": "*"
69
69
  },
70
- "gitHead": "b0ada30fd6a819c5f98a23d99b1b89a2ed68743d"
70
+ "gitHead": "e37e614d97c3ca53f16b91609a787675d044c284"
71
71
  }
@@ -0,0 +1,37 @@
1
+ import { requireNativeView } from 'expo';
2
+
3
+ import { Slot } from '../SlotView';
4
+ import { createViewModifierEventListener } from '../modifiers/utils';
5
+ import { type Alignment, type CommonViewModifierProps } from '../types';
6
+
7
+ export type OverlayProps = {
8
+ children: React.ReactNode;
9
+ /**
10
+ * The alignment of the overlay content relative to the base content.
11
+ * @default 'center'
12
+ */
13
+ alignment?: Alignment;
14
+ } & CommonViewModifierProps;
15
+
16
+ const OverlayNativeView: React.ComponentType<OverlayProps> = requireNativeView(
17
+ 'ExpoUI',
18
+ 'OverlayView'
19
+ );
20
+
21
+ function OverlayContent(props: { children: React.ReactNode }) {
22
+ return <Slot name="content">{props.children}</Slot>;
23
+ }
24
+
25
+ Overlay.Content = OverlayContent;
26
+
27
+ export function Overlay(props: OverlayProps) {
28
+ const { modifiers, children, ...restProps } = props;
29
+
30
+ return (
31
+ <OverlayNativeView
32
+ {...(modifiers ? createViewModifierEventListener(modifiers) : undefined)}
33
+ {...restProps}>
34
+ {children}
35
+ </OverlayNativeView>
36
+ );
37
+ }
@@ -1,29 +1,14 @@
1
1
  import { requireNativeView } from 'expo';
2
2
 
3
3
  import { createViewModifierEventListener } from '../modifiers/utils';
4
- import { CommonViewModifierProps } from '../types';
4
+ import { type Alignment, type CommonViewModifierProps } from '../types';
5
5
 
6
6
  export type ZStackProps = {
7
7
  children: React.ReactNode;
8
8
  /**
9
9
  * The alignment of children within the stack.
10
10
  */
11
- alignment?:
12
- | 'center'
13
- | 'leading'
14
- | 'trailing'
15
- | 'top'
16
- | 'bottom'
17
- | 'topLeading'
18
- | 'topTrailing'
19
- | 'bottomLeading'
20
- | 'bottomTrailing'
21
- | 'centerFirstTextBaseline'
22
- | 'centerLastTextBaseline'
23
- | 'leadingFirstTextBaseline'
24
- | 'leadingLastTextBaseline'
25
- | 'trailingFirstTextBaseline'
26
- | 'trailingLastTextBaseline';
11
+ alignment?: Alignment;
27
12
  } & CommonViewModifierProps;
28
13
 
29
14
  const ZStackNativeView: React.ComponentType<ZStackProps> = requireNativeView(
@@ -37,8 +37,9 @@ export * from './Namespace';
37
37
  export * from './GlassEffectContainer';
38
38
  export * from './ScrollView';
39
39
  export * from './Shapes';
40
+ export * from './Overlay';
40
41
  export * from './Popover';
41
42
  export * from './Grid';
42
43
  export * from './RNHostView';
43
44
  export * from './Link';
44
- export { type CommonViewModifierProps } from './types';
45
+ export { type Alignment, type CommonViewModifierProps } from './types';
@@ -1,3 +1,24 @@
1
+ /**
2
+ * The alignment of content within a container or overlay.
3
+ * Maps to SwiftUI's `Alignment` type.
4
+ */
5
+ export type Alignment =
6
+ | 'center'
7
+ | 'leading'
8
+ | 'trailing'
9
+ | 'top'
10
+ | 'bottom'
11
+ | 'topLeading'
12
+ | 'topTrailing'
13
+ | 'bottomLeading'
14
+ | 'bottomTrailing'
15
+ | 'centerFirstTextBaseline'
16
+ | 'centerLastTextBaseline'
17
+ | 'leadingFirstTextBaseline'
18
+ | 'leadingLastTextBaseline'
19
+ | 'trailingFirstTextBaseline'
20
+ | 'trailingLastTextBaseline';
21
+
1
22
  /**
2
23
  * Common frame properties that can be applied to any view.
3
24
  */
@@ -39,16 +60,7 @@ export interface FrameProps {
39
60
  /**
40
61
  * The alignment of the content within the frame.
41
62
  */
42
- alignment?:
43
- | 'center'
44
- | 'leading'
45
- | 'trailing'
46
- | 'top'
47
- | 'bottom'
48
- | 'topLeading'
49
- | 'topTrailing'
50
- | 'bottomLeading'
51
- | 'bottomTrailing';
63
+ alignment?: Alignment;
52
64
  }
53
65
 
54
66
  /**
@@ -1 +0,0 @@
1
- ff7435751d191feab9e4269a64ae3fdfb232303a
@@ -1 +0,0 @@
1
- 3bba2f6a3f6c281ce62c4f426e1cf58de159cf64caf990082930b5e801d9f7a5
@@ -1 +0,0 @@
1
- 7707b44bc8dbe7ce846f224d26af235fc0c01e24522880fd8a6a60f045ca6ff17b407f11ed4896f6de0b69f2a6d8975dfd1b364747f9a18c7fa93f99f59dc92e
@@ -1 +0,0 @@
1
- e32abfad99f23e44f76a85b7bf8a7a96bb5726b7
@@ -1 +0,0 @@
1
- 3be2ed26f75ecd062b2b0c3dfa80c885a087b1d310d7b5b15da068acf26ce21b
@@ -1 +0,0 @@
1
- b6c981bdc7215c9927ea9d9a0e6856ef40fbe0a65cc89fc6ad47f46040fe6d887354635cc8e2d06fe0e67b8eb6ed7765a4063c4dfda99d364a2a37f7c1e72c03