@expo/ui 58.0.2 → 58.0.3

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 (71) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/android/build.gradle +2 -2
  3. package/build/swift-ui/NavigationSplitView/index.d.ts +75 -0
  4. package/build/swift-ui/NavigationSplitView/index.js +59 -0
  5. package/build/swift-ui/NavigationSplitView/index.js.map +1 -0
  6. package/build/swift-ui/index.d.ts +1 -0
  7. package/build/swift-ui/index.js +1 -0
  8. package/build/swift-ui/index.js.map +1 -1
  9. package/build/swift-ui/modifiers/index.d.ts +1 -0
  10. package/build/swift-ui/modifiers/index.js +1 -0
  11. package/build/swift-ui/modifiers/index.js.map +1 -1
  12. package/build/swift-ui/modifiers/navigationModifiers.d.ts +27 -0
  13. package/build/swift-ui/modifiers/navigationModifiers.js +15 -0
  14. package/build/swift-ui/modifiers/navigationModifiers.js.map +1 -0
  15. package/expo-module.config.json +1 -1
  16. package/ios/ExpoUIModule.swift +1 -0
  17. package/ios/HostView.swift +7 -7
  18. package/ios/Modifiers/NavigationModifiers.swift +44 -0
  19. package/ios/Modifiers/ViewModifierRegistry.swift +8 -0
  20. package/ios/NavigationSplitViewView.swift +180 -0
  21. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2.module → 58.0.3/expo.modules.ui-58.0.3.module} +7 -7
  22. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.3/expo.modules.ui-58.0.3.module.md5 +1 -0
  23. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.3/expo.modules.ui-58.0.3.module.sha1 +1 -0
  24. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.3/expo.modules.ui-58.0.3.module.sha256 +1 -0
  25. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.3/expo.modules.ui-58.0.3.module.sha512 +1 -0
  26. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2.pom → 58.0.3/expo.modules.ui-58.0.3.pom} +1 -1
  27. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.3/expo.modules.ui-58.0.3.pom.md5 +1 -0
  28. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.3/expo.modules.ui-58.0.3.pom.sha1 +1 -0
  29. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.3/expo.modules.ui-58.0.3.pom.sha256 +1 -0
  30. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.3/expo.modules.ui-58.0.3.pom.sha512 +1 -0
  31. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml +4 -4
  32. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.md5 +1 -1
  33. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha1 +1 -1
  34. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha256 +1 -1
  35. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha512 +1 -1
  36. package/package.json +2 -2
  37. package/prebuilds/output/debug/xcframeworks/ExpoUI.tar.gz +0 -0
  38. package/prebuilds/output/release/xcframeworks/ExpoUI.tar.gz +0 -0
  39. package/src/swift-ui/NavigationSplitView/index.tsx +122 -0
  40. package/src/swift-ui/index.tsx +1 -0
  41. package/src/swift-ui/modifiers/index.ts +1 -0
  42. package/src/swift-ui/modifiers/navigationModifiers.ts +42 -0
  43. package/.gitignore +0 -2
  44. package/.npmignore +0 -27
  45. package/.tsbuildinfo +0 -1
  46. package/android/.gitignore +0 -261
  47. package/jest.config.js +0 -1
  48. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.2/expo.modules.ui-58.0.2.module.md5 +0 -1
  49. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.2/expo.modules.ui-58.0.2.module.sha1 +0 -1
  50. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.2/expo.modules.ui-58.0.2.module.sha256 +0 -1
  51. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.2/expo.modules.ui-58.0.2.module.sha512 +0 -1
  52. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.2/expo.modules.ui-58.0.2.pom.md5 +0 -1
  53. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.2/expo.modules.ui-58.0.2.pom.sha1 +0 -1
  54. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.2/expo.modules.ui-58.0.2.pom.sha256 +0 -1
  55. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.2/expo.modules.ui-58.0.2.pom.sha512 +0 -1
  56. package/plugin/.tsbuildinfo +0 -1
  57. package/plugin/jest.config.js +0 -1
  58. package/plugin/tsconfig.json +0 -10
  59. package/plugin/tsconfig.tsbuildinfo +0 -1
  60. package/tsconfig.all.json +0 -11
  61. package/tsconfig.json +0 -11
  62. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2-sources.jar → 58.0.3/expo.modules.ui-58.0.3-sources.jar} +0 -0
  63. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2-sources.jar.md5 → 58.0.3/expo.modules.ui-58.0.3-sources.jar.md5} +0 -0
  64. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2-sources.jar.sha1 → 58.0.3/expo.modules.ui-58.0.3-sources.jar.sha1} +0 -0
  65. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2-sources.jar.sha256 → 58.0.3/expo.modules.ui-58.0.3-sources.jar.sha256} +0 -0
  66. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2-sources.jar.sha512 → 58.0.3/expo.modules.ui-58.0.3-sources.jar.sha512} +0 -0
  67. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2.aar → 58.0.3/expo.modules.ui-58.0.3.aar} +0 -0
  68. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2.aar.md5 → 58.0.3/expo.modules.ui-58.0.3.aar.md5} +0 -0
  69. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2.aar.sha1 → 58.0.3/expo.modules.ui-58.0.3.aar.sha1} +0 -0
  70. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2.aar.sha256 → 58.0.3/expo.modules.ui-58.0.3.aar.sha256} +0 -0
  71. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.2/expo.modules.ui-58.0.2.aar.sha512 → 58.0.3/expo.modules.ui-58.0.3.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,12 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 58.0.3 — 2026-09-16
14
+
15
+ ### 🎉 New features
16
+
17
+ - [iOS] Added the SwiftUI `NavigationSplitView` component, together with the `navigationSplitViewStyle` and `navigationSplitViewColumnWidth` modifiers. ([#50075](https://github.com/expo/expo/pull/50075) by [@nishan](https://github.com/intergalacticspacehighway))
18
+
13
19
  ## 58.0.2 — 2026-09-15
14
20
 
15
21
  ### 🎉 New features
@@ -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 = '58.0.2'
15
+ version = '58.0.3'
16
16
 
17
17
  android {
18
18
  namespace "expo.modules.ui"
19
19
  defaultConfig {
20
20
  versionCode 1
21
- versionName "58.0.2"
21
+ versionName "58.0.3"
22
22
  testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
23
23
  }
24
24
  buildFeatures {
@@ -0,0 +1,75 @@
1
+ import { type CommonViewModifierProps } from '../types';
2
+ export type NavigationSplitViewVisibility = 'automatic' | 'all' | 'doubleColumn' | 'detailOnly';
3
+ /**
4
+ * The column shown when the split view collapses into a single column.
5
+ */
6
+ export type NavigationSplitViewColumn = 'sidebar' | 'content' | 'detail';
7
+ export interface NavigationSplitViewProps extends CommonViewModifierProps {
8
+ /**
9
+ * The columns of the split view. Provide `NavigationSplitView.Sidebar` and
10
+ * `NavigationSplitView.Detail`, and add `NavigationSplitView.Content` for a
11
+ * three-column layout.
12
+ */
13
+ children: React.ReactNode;
14
+ /**
15
+ * The columns to show. Setting it makes the value controlled: pass the value from
16
+ * `onColumnVisibilityChange` back in, otherwise dragging the divider has no effect.
17
+ * Leave it unset to let the split view manage its own columns.
18
+ * @default 'automatic'
19
+ */
20
+ columnVisibility?: NavigationSplitViewVisibility;
21
+ /**
22
+ * Called when the visible columns change, including when the user drags the sidebar.
23
+ */
24
+ onColumnVisibilityChange?: (visibility: NavigationSplitViewVisibility) => void;
25
+ /**
26
+ * The column to show when the split view collapses to a single column, for example
27
+ * in a narrow window. Setting it makes the value controlled in the same way as
28
+ * `columnVisibility`.
29
+ * @default 'sidebar'
30
+ * @platform ios 17.0+
31
+ */
32
+ preferredCompactColumn?: NavigationSplitViewColumn;
33
+ /**
34
+ * Called when the collapsed column changes.
35
+ * @platform ios 17.0+
36
+ */
37
+ onPreferredCompactColumnChange?: (column: NavigationSplitViewColumn) => void;
38
+ }
39
+ declare function NavigationSplitViewSidebar(props: {
40
+ children: React.ReactNode;
41
+ }): import("react/jsx-runtime").JSX.Element;
42
+ declare function NavigationSplitViewContent(props: {
43
+ children: React.ReactNode;
44
+ }): import("react/jsx-runtime").JSX.Element;
45
+ declare function NavigationSplitViewDetail(props: {
46
+ children: React.ReactNode;
47
+ }): import("react/jsx-runtime").JSX.Element;
48
+ /**
49
+ * NavigationSplitView uses the native [NavigationSplitView](https://developer.apple.com/documentation/swiftui/navigationsplitview) view.
50
+ *
51
+ * It presents a collection, a selection and a detail in one hierarchy: side by side
52
+ * when there is room, and stacked when there is not.
53
+ * @example
54
+ * ```tsx
55
+ * <Host style={{ flex: 1 }}>
56
+ * <NavigationSplitView>
57
+ * <NavigationSplitView.Sidebar>
58
+ * <List>{items}</List>
59
+ * </NavigationSplitView.Sidebar>
60
+ * <NavigationSplitView.Detail>
61
+ * <ItemDetail item={selectedItem} />
62
+ * </NavigationSplitView.Detail>
63
+ * </NavigationSplitView>
64
+ * </Host>
65
+ * ```
66
+ * @platform ios 16.0+
67
+ * @platform tvos 16.0+
68
+ */
69
+ export declare function NavigationSplitView(props: NavigationSplitViewProps): import("react/jsx-runtime").JSX.Element;
70
+ export declare namespace NavigationSplitView {
71
+ var Sidebar: typeof NavigationSplitViewSidebar;
72
+ var Content: typeof NavigationSplitViewContent;
73
+ var Detail: typeof NavigationSplitViewDetail;
74
+ }
75
+ export {};
@@ -0,0 +1,59 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { requireNativeView } from 'expo';
3
+ import { Slot } from '../SlotView';
4
+ import { createViewModifierEventListener } from '../modifiers/utils';
5
+ const NavigationSplitViewNativeView = requireNativeView('ExpoUI', 'NavigationSplitViewView');
6
+ function NavigationSplitViewSidebar(props) {
7
+ return /*#__PURE__*/ _jsx(Slot, {
8
+ name: "sidebar",
9
+ children: props.children
10
+ });
11
+ }
12
+ function NavigationSplitViewContent(props) {
13
+ return /*#__PURE__*/ _jsx(Slot, {
14
+ name: "content",
15
+ children: props.children
16
+ });
17
+ }
18
+ function NavigationSplitViewDetail(props) {
19
+ return /*#__PURE__*/ _jsx(Slot, {
20
+ name: "detail",
21
+ children: props.children
22
+ });
23
+ }
24
+ NavigationSplitView.Sidebar = NavigationSplitViewSidebar;
25
+ NavigationSplitView.Content = NavigationSplitViewContent;
26
+ NavigationSplitView.Detail = NavigationSplitViewDetail;
27
+ /**
28
+ * NavigationSplitView uses the native [NavigationSplitView](https://developer.apple.com/documentation/swiftui/navigationsplitview) view.
29
+ *
30
+ * It presents a collection, a selection and a detail in one hierarchy: side by side
31
+ * when there is room, and stacked when there is not.
32
+ * @example
33
+ * ```tsx
34
+ * <Host style={{ flex: 1 }}>
35
+ * <NavigationSplitView>
36
+ * <NavigationSplitView.Sidebar>
37
+ * <List>{items}</List>
38
+ * </NavigationSplitView.Sidebar>
39
+ * <NavigationSplitView.Detail>
40
+ * <ItemDetail item={selectedItem} />
41
+ * </NavigationSplitView.Detail>
42
+ * </NavigationSplitView>
43
+ * </Host>
44
+ * ```
45
+ * @platform ios 16.0+
46
+ * @platform tvos 16.0+
47
+ */ export function NavigationSplitView(props) {
48
+ const { modifiers, children, onColumnVisibilityChange, onPreferredCompactColumnChange, ...restProps } = props;
49
+ return /*#__PURE__*/ _jsx(NavigationSplitViewNativeView, {
50
+ modifiers: modifiers,
51
+ ...modifiers ? createViewModifierEventListener(modifiers) : undefined,
52
+ onColumnVisibilityChange: ({ nativeEvent: { visibility } })=>onColumnVisibilityChange?.(visibility),
53
+ onPreferredCompactColumnChange: ({ nativeEvent: { column } })=>onPreferredCompactColumnChange?.(column),
54
+ ...restProps,
55
+ children: children
56
+ });
57
+ }
58
+
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["swift-ui/NavigationSplitView/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","Slot","createViewModifierEventListener","NavigationSplitViewNativeView","NavigationSplitViewSidebar","props","name","children","NavigationSplitViewContent","NavigationSplitViewDetail","NavigationSplitView","Sidebar","Content","Detail","modifiers","onColumnVisibilityChange","onPreferredCompactColumnChange","restProps","undefined","nativeEvent","visibility","column"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAEzC,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,+BAA+B,QAAQ,qBAAqB;AAuDrE,MAAMC,gCACJH,kBAAkB,UAAU;AAE9B,SAASI,2BAA2BC,KAAoC;IACtE,qBAAO,KAACJ;QAAKK,MAAK;kBAAWD,MAAME,QAAQ;;AAC7C;AAEA,SAASC,2BAA2BH,KAAoC;IACtE,qBAAO,KAACJ;QAAKK,MAAK;kBAAWD,MAAME,QAAQ;;AAC7C;AAEA,SAASE,0BAA0BJ,KAAoC;IACrE,qBAAO,KAACJ;QAAKK,MAAK;kBAAUD,MAAME,QAAQ;;AAC5C;AAEAG,oBAAoBC,OAAO,GAAGP;AAC9BM,oBAAoBE,OAAO,GAAGJ;AAC9BE,oBAAoBG,MAAM,GAAGJ;AAE7B;;;;;;;;;;;;;;;;;;;;CAoBC,GACD,OAAO,SAASC,oBAAoBL,KAA+B;IACjE,MAAM,EACJS,SAAS,EACTP,QAAQ,EACRQ,wBAAwB,EACxBC,8BAA8B,EAC9B,GAAGC,WACJ,GAAGZ;IAEJ,qBACE,KAACF;QACCW,WAAWA;QACV,GAAIA,YAAYZ,gCAAgCY,aAAaI,SAAS;QACvEH,0BAA0B,CAAC,EAAEI,aAAa,EAAEC,UAAU,EAAE,EAAE,GACxDL,2BAA2BK;QAE7BJ,gCAAgC,CAAC,EAAEG,aAAa,EAAEE,MAAM,EAAE,EAAE,GAC1DL,iCAAiCK;QAElC,GAAGJ,SAAS;kBACZV;;AAGP"}
@@ -27,6 +27,7 @@ export * from './List';
27
27
  export * from './Menu';
28
28
  export * from './NavigationDestination';
29
29
  export * from './NavigationLink';
30
+ export * from './NavigationSplitView';
30
31
  export * from './NavigationStack';
31
32
  export * from './Picker';
32
33
  export * from './ProgressView';
@@ -27,6 +27,7 @@ export * from './List';
27
27
  export * from './Menu';
28
28
  export * from './NavigationDestination';
29
29
  export * from './NavigationLink';
30
+ export * from './NavigationSplitView';
30
31
  export * from './NavigationStack';
31
32
  export * from './Picker';
32
33
  export * from './ProgressView';
@@ -1 +1 @@
1
- {"version":3,"sources":["swift-ui/index.tsx"],"sourcesContent":[null],"names":["useNativeState","withAnimation","TextField"],"mappings":"AAAA,cAAc,8BAA8B;AAC5C,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,uBAAuB;AACrC,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,oBAAoB;AAClC,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,mBAAmB;AACjC,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,0BAA0B;AACxC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB;AAClC,cAAc,WAAW;AACzB,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,cAAc,iBAAiB;AAC/B,cAAc,SAAS;AACvB,SAASA,cAAc,QAAQ,WAAW;AAC1C,SAASC,aAAa,QAA8C,kBAAkB;AACtF,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,YAAY;AAC1B,cAAc,WAAW;AACzB,SACEC,SAAS,QAIJ,cAAc;AACrB,cAAc,gBAAgB;AAC9B,cAAc,cAAc;AAC5B,cAAc,yBAAyB;AACvC,cAAc,eAAe;AAC7B,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,SAAS"}
1
+ {"version":3,"sources":["swift-ui/index.tsx"],"sourcesContent":[null],"names":["useNativeState","withAnimation","TextField"],"mappings":"AAAA,cAAc,8BAA8B;AAC5C,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,uBAAuB;AACrC,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,oBAAoB;AAClC,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,mBAAmB;AACjC,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,0BAA0B;AACxC,cAAc,mBAAmB;AACjC,cAAc,wBAAwB;AACtC,cAAc,oBAAoB;AAClC,cAAc,WAAW;AACzB,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,cAAc,iBAAiB;AAC/B,cAAc,SAAS;AACvB,SAASA,cAAc,QAAQ,WAAW;AAC1C,SAASC,aAAa,QAA8C,kBAAkB;AACtF,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,YAAY;AAC1B,cAAc,WAAW;AACzB,SACEC,SAAS,QAIJ,cAAc;AACrB,cAAc,gBAAgB;AAC9B,cAAc,cAAc;AAC5B,cAAc,yBAAyB;AACvC,cAAc,eAAe;AAC7B,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,SAAS"}
@@ -1301,6 +1301,7 @@ export * from './tag';
1301
1301
  export * from './pickerStyle';
1302
1302
  export * from './menuOrder';
1303
1303
  export * from './tabViewModifiers';
1304
+ export * from './navigationModifiers';
1304
1305
  export * from './datePickerStyle';
1305
1306
  export * from './progressViewStyle';
1306
1307
  export * from './gaugeStyle';
@@ -1166,6 +1166,7 @@ export * from './tag';
1166
1166
  export * from './pickerStyle';
1167
1167
  export * from './menuOrder';
1168
1168
  export * from './tabViewModifiers';
1169
+ export * from './navigationModifiers';
1169
1170
  export * from './datePickerStyle';
1170
1171
  export * from './progressViewStyle';
1171
1172
  export * from './gaugeStyle';
@@ -1 +1 @@
1
- {"version":3,"sources":["swift-ui/modifiers/index.ts"],"sourcesContent":[null],"names":["requireNativeModule","createModifier","createModifierWithEventListener","resolveShapeStyle","ExpoUI","listSectionSpacing","spacing","value","cornerRadius","radius","shadow","params","matchedGeometryEffect","id","namespaceId","options","geometryGroup","frame","containerRelativeFrame","padding","fixedSize","ignoreSafeArea","onTapGesture","handler","onLongPressGesture","minimumDuration","onAppear","onDisappear","onGeometryChange","refreshable","args","completeRefresh","opacity","clipShape","shape","border","content","color","width","strokeBorder","rest","shapeStyle","undefined","scaleEffect","scale","x","y","rotationEffect","angle","rotation3DEffect","axisX","axis","axisY","axisZ","z","perspective","offset","foregroundColor","foregroundStyle","style","bold","italic","monospacedDigit","tint","hidden","disabled","redacted","reasons","Array","isArray","unredacted","privacySensitive","sensitive","invalidatableContent","invalidatable","zIndex","index","blur","brightness","amount","contrast","saturation","hueRotation","colorInvert","inverted","grayscale","buttonStyle","buttonBorderShape","toggleStyle","menuStyle","menuIndicator","visibility","controlSize","size","imageScale","labelStyle","labelsHidden","textFieldStyle","scrollDismissesKeyboard","mode","scrollDisabled","scrollClipDisabled","scrollIndicators","axes","defaultScrollAnchor","anchor","defaultScrollAnchorForRole","role","scrollTargetBehavior","behavior","scrollTargetLayout","moveDisabled","deleteDisabled","menuActionDismissBehavior","accessibilityLabel","label","accessibilityHint","hint","accessibilityValue","accessibilityInputLabels","inputLabels","accessibilityIdentifier","identifier","accessibilityHidden","accessibilityElement","children","accessibilityAddTraits","traits","accessibilityRemoveTraits","layoutPriority","priority","mask","overlay","backgroundOverlay","aspectRatio","clipped","glassEffect","glassEffectId","scrollContentBackground","visible","listRowBackground","listRowSeparator","edges","listRowSeparatorTint","listRowSpacing","alignmentGuide","guide","truncationMode","allowsTightening","minimumScaleFactor","factor","kerning","textCase","underline","strikethrough","multilineTextAlignment","alignment","textSelection","lineSpacing","lineHeight","lineLimit","limitOrRange","min","max","limit","reservesSpace","headerProminence","prominence","listRowInsets","badgeProminence","badgeType","badge","listSectionMargins","font","dynamicTypeSize","sizeOrRange","gridCellUnsizedAxes","gridCellColumns","count","gridColumnAlignment","gridCellAnchor","submitLabel","keyboardType","autocorrectionDisabled","onSubmit","textInputAutocapitalization","autocapitalization","textContentType","contentTransition","transitionType","countsDown","listStyle","luminanceToAlpha","resizable","capInsets","resizingMode","navigationTitle","title","isModifier","$type","filterModifiers","modifiers","filter"],"mappings":"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"}
1
+ {"version":3,"sources":["swift-ui/modifiers/index.ts"],"sourcesContent":[null],"names":["requireNativeModule","createModifier","createModifierWithEventListener","resolveShapeStyle","ExpoUI","listSectionSpacing","spacing","value","cornerRadius","radius","shadow","params","matchedGeometryEffect","id","namespaceId","options","geometryGroup","frame","containerRelativeFrame","padding","fixedSize","ignoreSafeArea","onTapGesture","handler","onLongPressGesture","minimumDuration","onAppear","onDisappear","onGeometryChange","refreshable","args","completeRefresh","opacity","clipShape","shape","border","content","color","width","strokeBorder","rest","shapeStyle","undefined","scaleEffect","scale","x","y","rotationEffect","angle","rotation3DEffect","axisX","axis","axisY","axisZ","z","perspective","offset","foregroundColor","foregroundStyle","style","bold","italic","monospacedDigit","tint","hidden","disabled","redacted","reasons","Array","isArray","unredacted","privacySensitive","sensitive","invalidatableContent","invalidatable","zIndex","index","blur","brightness","amount","contrast","saturation","hueRotation","colorInvert","inverted","grayscale","buttonStyle","buttonBorderShape","toggleStyle","menuStyle","menuIndicator","visibility","controlSize","size","imageScale","labelStyle","labelsHidden","textFieldStyle","scrollDismissesKeyboard","mode","scrollDisabled","scrollClipDisabled","scrollIndicators","axes","defaultScrollAnchor","anchor","defaultScrollAnchorForRole","role","scrollTargetBehavior","behavior","scrollTargetLayout","moveDisabled","deleteDisabled","menuActionDismissBehavior","accessibilityLabel","label","accessibilityHint","hint","accessibilityValue","accessibilityInputLabels","inputLabels","accessibilityIdentifier","identifier","accessibilityHidden","accessibilityElement","children","accessibilityAddTraits","traits","accessibilityRemoveTraits","layoutPriority","priority","mask","overlay","backgroundOverlay","aspectRatio","clipped","glassEffect","glassEffectId","scrollContentBackground","visible","listRowBackground","listRowSeparator","edges","listRowSeparatorTint","listRowSpacing","alignmentGuide","guide","truncationMode","allowsTightening","minimumScaleFactor","factor","kerning","textCase","underline","strikethrough","multilineTextAlignment","alignment","textSelection","lineSpacing","lineHeight","lineLimit","limitOrRange","min","max","limit","reservesSpace","headerProminence","prominence","listRowInsets","badgeProminence","badgeType","badge","listSectionMargins","font","dynamicTypeSize","sizeOrRange","gridCellUnsizedAxes","gridCellColumns","count","gridColumnAlignment","gridCellAnchor","submitLabel","keyboardType","autocorrectionDisabled","onSubmit","textInputAutocapitalization","autocapitalization","textContentType","contentTransition","transitionType","countsDown","listStyle","luminanceToAlpha","resizable","capInsets","resizingMode","navigationTitle","title","isModifier","$type","filterModifiers","modifiers","filter"],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { createModifier } from './createModifier';
2
+ export type NavigationSplitViewStyle = 'automatic' | 'balanced' | 'prominentDetail';
3
+ /**
4
+ * Sets the style of a `NavigationSplitView`.
5
+ * @param style - The style to apply.
6
+ * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/navigationsplitviewstyle(_:)).
7
+ */
8
+ export declare const navigationSplitViewStyle: (style: NavigationSplitViewStyle) => import("./createModifier").ModifierConfig;
9
+ /**
10
+ * The resizable form of `navigationSplitViewColumnWidth`.
11
+ */
12
+ export type NavigationSplitViewColumnWidthParams = {
13
+ min?: number;
14
+ ideal: number;
15
+ max?: number;
16
+ };
17
+ /**
18
+ * Sets the width of a column of a `NavigationSplitView`.
19
+ *
20
+ * Pass a number for a fixed column, or an `ideal` width with optional `min` and `max` for a
21
+ * column that resizes with the window. Prefer the resizable form: a hardcoded sidebar width
22
+ * does not survive every window size.
23
+ *
24
+ * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/navigationsplitviewcolumnwidth(_:)).
25
+ */
26
+ export declare function navigationSplitViewColumnWidth(width: number): ReturnType<typeof createModifier>;
27
+ export declare function navigationSplitViewColumnWidth(params: NavigationSplitViewColumnWidthParams): ReturnType<typeof createModifier>;
@@ -0,0 +1,15 @@
1
+ import { createModifier } from './createModifier';
2
+ /**
3
+ * Sets the style of a `NavigationSplitView`.
4
+ * @param style - The style to apply.
5
+ * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/navigationsplitviewstyle(_:)).
6
+ */ export const navigationSplitViewStyle = (style)=>createModifier('navigationSplitViewStyle', {
7
+ style
8
+ });
9
+ export function navigationSplitViewColumnWidth(widthOrParams) {
10
+ return createModifier('navigationSplitViewColumnWidth', typeof widthOrParams === 'number' ? {
11
+ width: widthOrParams
12
+ } : widthOrParams);
13
+ }
14
+
15
+ //# sourceMappingURL=navigationModifiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["swift-ui/modifiers/navigationModifiers.ts"],"sourcesContent":[null],"names":["createModifier","navigationSplitViewStyle","style","navigationSplitViewColumnWidth","widthOrParams","width"],"mappings":"AAAA,SAASA,cAAc,QAAQ,mBAAmB;AAIlD;;;;CAIC,GACD,OAAO,MAAMC,2BAA2B,CAACC,QACvCF,eAAe,4BAA4B;QAAEE;IAAM,GAAG;AAwBxD,OAAO,SAASC,+BACdC,aAA4D;IAE5D,OAAOJ,eACL,kCACA,OAAOI,kBAAkB,WAAW;QAAEC,OAAOD;IAAc,IAAIA;AAEnE"}
@@ -10,7 +10,7 @@
10
10
  "publication": {
11
11
  "groupId": "expo.modules.ui",
12
12
  "artifactId": "expo.modules.ui",
13
- "version": "58.0.2",
13
+ "version": "58.0.3",
14
14
  "repository": "local-maven-repo"
15
15
  }
16
16
  }
@@ -158,6 +158,7 @@ public final class ExpoUIModule: Module {
158
158
 
159
159
  ExpoUIView(NavigationStackView.self)
160
160
  ExpoUIView(NavigationLinkView.self)
161
+ ExpoUIView(NavigationSplitViewView.self)
161
162
  ExpoUIView(ToolbarView.self)
162
163
 
163
164
  ExpoUIView(FormView.self)
@@ -36,7 +36,7 @@ internal enum ExpoLayoutDirection: String, Enumerable {
36
36
  }
37
37
  }
38
38
 
39
- internal final class HostViewProps: ExpoSwiftUI.ViewProps, ExpoSwiftUI.SafeAreaControllable {
39
+ internal final class HostViewProps: ExpoSwiftUI.ViewProps, ExpoSwiftUI.SafeAreaControllable, ExpoSwiftUI.HostingViewAware {
40
40
  @Field var useViewportSizeMeasurement: Bool = false
41
41
  @Field var colorScheme: ExpoColorScheme?
42
42
  @Field var seedColor: Color?
@@ -46,6 +46,7 @@ internal final class HostViewProps: ExpoSwiftUI.ViewProps, ExpoSwiftUI.SafeAreaC
46
46
  @Field var ignoreSafeArea: ExpoSwiftUI.IgnoreSafeArea?
47
47
  @Field var modifiers: ModifierArray?
48
48
  var onLayoutContent = EventDispatcher()
49
+ weak var hostingView: UIView?
49
50
  }
50
51
 
51
52
  struct HostView: ExpoSwiftUI.View, ExpoSwiftUI.WithHostingView {
@@ -60,7 +61,7 @@ struct HostView: ExpoSwiftUI.View, ExpoSwiftUI.WithHostingView {
60
61
  if #available(iOS 16.0, tvOS 16.0, macOS 13.0, *) {
61
62
  // swiftlint:disable:next identifier_name
62
63
  let HostLayout = props.useViewportSizeMeasurement
63
- ? AnyLayout(ViewportSizeMeasurementLayout(layoutDirection: layoutDirection))
64
+ ? AnyLayout(ViewportSizeMeasurementLayout(layoutDirection: layoutDirection, hostingView: props.hostingView))
64
65
  : AnyLayout(ZStackLayout(alignment: alignment))
65
66
  HostLayout {
66
67
  Children()
@@ -105,6 +106,7 @@ struct HostView: ExpoSwiftUI.View, ExpoSwiftUI.WithHostingView {
105
106
  @available(iOS 16.0, tvOS 16.0, macOS 13.0, *)
106
107
  private struct ViewportSizeMeasurementLayout: Layout {
107
108
  let layoutDirection: LayoutDirection
109
+ weak var hostingView: UIView?
108
110
 
109
111
  func sizeThatFits(proposal: ProposedViewSize, subviews: Subviews, cache: inout ()) -> CGSize {
110
112
  let maxSize = safeAreaSize()
@@ -144,12 +146,10 @@ private struct ViewportSizeMeasurementLayout: Layout {
144
146
  #if os(macOS)
145
147
  // `SceneGeometry` is built on `UIWindowScene`, which has no macOS counterpart. The closest
146
148
  // analogue to a window's safe area is its content layout rect, which excludes the title bar.
147
- guard let window = NSApplication.shared.keyWindow ?? NSApplication.shared.windows.first else {
148
- return .zero
149
- }
150
- return window.contentLayoutRect.size
149
+ let window = hostingView?.window ?? NSApplication.shared.keyWindow ?? NSApplication.shared.windows.first
150
+ return window?.contentLayoutRect.size ?? .zero
151
151
  #else
152
- return SceneGeometry.safeAreaSize()
152
+ return SceneGeometry.safeAreaSize(for: hostingView)
153
153
  #endif
154
154
  }
155
155
  }
@@ -0,0 +1,44 @@
1
+ // Copyright 2025-present 650 Industries. All rights reserved.
2
+
3
+ import ExpoModulesCore
4
+ import SwiftUI
5
+
6
+ internal enum NavigationSplitViewStyleOptions: String, Enumerable {
7
+ case automatic
8
+ case balanced
9
+ case prominentDetail
10
+ }
11
+
12
+ internal struct NavigationSplitViewStyleModifier: ViewModifier, Record {
13
+ @Field var style: NavigationSplitViewStyleOptions = .automatic
14
+
15
+ @ViewBuilder
16
+ func body(content: Content) -> some View {
17
+ switch style {
18
+ case .automatic:
19
+ content.navigationSplitViewStyle(.automatic)
20
+ case .balanced:
21
+ content.navigationSplitViewStyle(.balanced)
22
+ case .prominentDetail:
23
+ content.navigationSplitViewStyle(.prominentDetail)
24
+ }
25
+ }
26
+ }
27
+
28
+ internal struct NavigationSplitViewColumnWidthModifier: ViewModifier, Record {
29
+ @Field var width: CGFloat?
30
+ @Field var min: CGFloat?
31
+ @Field var ideal: CGFloat?
32
+ @Field var max: CGFloat?
33
+
34
+ @ViewBuilder
35
+ func body(content: Content) -> some View {
36
+ if let width {
37
+ content.navigationSplitViewColumnWidth(width)
38
+ } else if let ideal {
39
+ content.navigationSplitViewColumnWidth(min: min, ideal: ideal, max: max)
40
+ } else {
41
+ content
42
+ }
43
+ }
44
+ }
@@ -1993,6 +1993,14 @@ extension ViewModifierRegistry {
1993
1993
  return try NavigationTitleModifier(from: params, appContext: appContext)
1994
1994
  }
1995
1995
 
1996
+ register("navigationSplitViewStyle") { params, appContext, _ in
1997
+ return try NavigationSplitViewStyleModifier(from: params, appContext: appContext)
1998
+ }
1999
+
2000
+ register("navigationSplitViewColumnWidth") { params, appContext, _ in
2001
+ return try NavigationSplitViewColumnWidthModifier(from: params, appContext: appContext)
2002
+ }
2003
+
1996
2004
  register("accessibilityLabel") { params, appContext, _ in
1997
2005
  return try AccessibilityLabelModifier(from: params, appContext: appContext)
1998
2006
  }
@@ -0,0 +1,180 @@
1
+ // Copyright 2025-present 650 Industries. All rights reserved.
2
+
3
+ import ExpoModulesCore
4
+ import SwiftUI
5
+
6
+ internal enum NavigationSplitViewVisibilityOptions: String, Enumerable {
7
+ case automatic
8
+ case all
9
+ case doubleColumn
10
+ case detailOnly
11
+
12
+ func toVisibility() -> NavigationSplitViewVisibility {
13
+ switch self {
14
+ case .automatic:
15
+ return .automatic
16
+ case .all:
17
+ return .all
18
+ case .doubleColumn:
19
+ return .doubleColumn
20
+ case .detailOnly:
21
+ return .detailOnly
22
+ }
23
+ }
24
+
25
+ static func from(_ visibility: NavigationSplitViewVisibility) -> NavigationSplitViewVisibilityOptions {
26
+ switch visibility {
27
+ case .all:
28
+ return .all
29
+ case .doubleColumn:
30
+ return .doubleColumn
31
+ case .detailOnly:
32
+ return .detailOnly
33
+ default:
34
+ return .automatic
35
+ }
36
+ }
37
+ }
38
+
39
+ internal enum NavigationSplitViewColumnOptions: String, Enumerable {
40
+ case sidebar
41
+ case content
42
+ case detail
43
+
44
+ @available(iOS 17.0, tvOS 17.0, *)
45
+ func toColumn() -> NavigationSplitViewColumn {
46
+ switch self {
47
+ case .sidebar:
48
+ return .sidebar
49
+ case .content:
50
+ return .content
51
+ case .detail:
52
+ return .detail
53
+ }
54
+ }
55
+
56
+ @available(iOS 17.0, tvOS 17.0, *)
57
+ static func from(_ column: NavigationSplitViewColumn) -> NavigationSplitViewColumnOptions {
58
+ switch column {
59
+ case .content:
60
+ return .content
61
+ case .detail:
62
+ return .detail
63
+ default:
64
+ return .sidebar
65
+ }
66
+ }
67
+ }
68
+
69
+ internal final class NavigationSplitViewProps: UIBaseViewProps {
70
+ @Field var columnVisibility: NavigationSplitViewVisibilityOptions?
71
+ @Field var preferredCompactColumn: NavigationSplitViewColumnOptions?
72
+ var onColumnVisibilityChange = EventDispatcher()
73
+ var onPreferredCompactColumnChange = EventDispatcher()
74
+ }
75
+
76
+ internal struct NavigationSplitViewView: ExpoSwiftUI.View {
77
+ @ObservedObject var props: NavigationSplitViewProps
78
+
79
+ // Only used while the matching prop is unset. While it is set, JS is the sole source
80
+ // of truth, so it stays in control of the columns and can refuse a change the user
81
+ // made by dragging.
82
+ @State private var uncontrolledVisibility: NavigationSplitViewVisibilityOptions = .automatic
83
+ @State private var uncontrolledCompactColumn: NavigationSplitViewColumnOptions = .sidebar
84
+
85
+ init(props: NavigationSplitViewProps) {
86
+ self.props = props
87
+ }
88
+
89
+ private var columnVisibilityBinding: Binding<NavigationSplitViewVisibility> {
90
+ let props = props
91
+ let uncontrolled = $uncontrolledVisibility
92
+ return Binding(
93
+ get: { (props.columnVisibility ?? uncontrolled.wrappedValue).toVisibility() },
94
+ set: { newValue in
95
+ let resolved = NavigationSplitViewVisibilityOptions.from(newValue)
96
+ guard (props.columnVisibility ?? uncontrolled.wrappedValue) != resolved else {
97
+ return
98
+ }
99
+ if props.columnVisibility == nil {
100
+ uncontrolled.wrappedValue = resolved
101
+ }
102
+ props.onColumnVisibilityChange(["visibility": resolved.rawValue])
103
+ }
104
+ )
105
+ }
106
+
107
+ @available(iOS 17.0, tvOS 17.0, *)
108
+ private var compactColumnBinding: Binding<NavigationSplitViewColumn> {
109
+ let props = props
110
+ let uncontrolled = $uncontrolledCompactColumn
111
+ return Binding(
112
+ get: { (props.preferredCompactColumn ?? uncontrolled.wrappedValue).toColumn() },
113
+ set: { newValue in
114
+ let resolved = NavigationSplitViewColumnOptions.from(newValue)
115
+ guard (props.preferredCompactColumn ?? uncontrolled.wrappedValue) != resolved else {
116
+ return
117
+ }
118
+ if props.preferredCompactColumn == nil {
119
+ uncontrolled.wrappedValue = resolved
120
+ }
121
+ props.onPreferredCompactColumnChange(["column": resolved.rawValue])
122
+ }
123
+ )
124
+ }
125
+
126
+ @ViewBuilder
127
+ var body: some View {
128
+ if #available(iOS 17.0, tvOS 17.0, *) {
129
+ if let contentColumn {
130
+ NavigationSplitView(
131
+ columnVisibility: columnVisibilityBinding,
132
+ preferredCompactColumn: compactColumnBinding
133
+ ) {
134
+ sidebarColumn
135
+ } content: {
136
+ contentColumn
137
+ } detail: {
138
+ detailColumn
139
+ }
140
+ } else {
141
+ NavigationSplitView(
142
+ columnVisibility: columnVisibilityBinding,
143
+ preferredCompactColumn: compactColumnBinding
144
+ ) {
145
+ sidebarColumn
146
+ } detail: {
147
+ detailColumn
148
+ }
149
+ }
150
+ } else {
151
+ if let contentColumn {
152
+ NavigationSplitView(columnVisibility: columnVisibilityBinding) {
153
+ sidebarColumn
154
+ } content: {
155
+ contentColumn
156
+ } detail: {
157
+ detailColumn
158
+ }
159
+ } else {
160
+ NavigationSplitView(columnVisibility: columnVisibilityBinding) {
161
+ sidebarColumn
162
+ } detail: {
163
+ detailColumn
164
+ }
165
+ }
166
+ }
167
+ }
168
+
169
+ private var sidebarColumn: SlotView? {
170
+ props.children?.slot("sidebar")
171
+ }
172
+
173
+ private var contentColumn: SlotView? {
174
+ props.children?.slot("content")
175
+ }
176
+
177
+ private var detailColumn: SlotView? {
178
+ props.children?.slot("detail")
179
+ }
180
+ }