expo-router 7.0.0-canary-20260113-0ce2b9c → 7.0.0-canary-20260114-d8e19f5

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 (42) hide show
  1. package/android/build.gradle +2 -2
  2. package/build/split-view/split-view.d.ts.map +1 -1
  3. package/build/split-view/split-view.js +0 -7
  4. package/build/split-view/split-view.js.map +1 -1
  5. package/expo-module.config.json +1 -1
  6. package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.module → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.module} +7 -7
  7. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.module.md5 +1 -0
  8. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.module.sha1 +1 -0
  9. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.module.sha256 +1 -0
  10. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.module.sha512 +1 -0
  11. package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.pom → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.pom} +1 -1
  12. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.pom.md5 +1 -0
  13. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.pom.sha1 +1 -0
  14. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.pom.sha256 +1 -0
  15. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.pom.sha512 +1 -0
  16. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml +4 -4
  17. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.md5 +1 -1
  18. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha1 +1 -1
  19. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha256 +1 -1
  20. package/local-maven-repo/expo/modules/router/expo.modules.router/maven-metadata.xml.sha512 +1 -1
  21. package/package.json +11 -11
  22. package/plugin/build/index.js +3 -4
  23. package/plugin/options.json +0 -5
  24. package/plugin/src/index.ts +3 -9
  25. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.module.md5 +0 -1
  26. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.module.sha1 +0 -1
  27. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.module.sha256 +0 -1
  28. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.module.sha512 +0 -1
  29. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.pom.md5 +0 -1
  30. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.pom.sha1 +0 -1
  31. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.pom.sha256 +0 -1
  32. package/local-maven-repo/expo/modules/router/expo.modules.router/7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.pom.sha512 +0 -1
  33. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c-sources.jar → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar} +0 -0
  34. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c-sources.jar.md5 → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar.md5} +0 -0
  35. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c-sources.jar.sha1 → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar.sha1} +0 -0
  36. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c-sources.jar.sha256 → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar.sha256} +0 -0
  37. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c-sources.jar.sha512 → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar.sha512} +0 -0
  38. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.aar → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar} +0 -0
  39. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.aar.md5 → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar.md5} +0 -0
  40. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.aar.sha1 → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar.sha1} +0 -0
  41. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.aar.sha256 → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar.sha256} +0 -0
  42. /package/local-maven-repo/expo/modules/router/expo.modules.router/{7.0.0-canary-20260113-0ce2b9c/expo.modules.router-7.0.0-canary-20260113-0ce2b9c.aar.sha512 → 7.0.0-canary-20260114-d8e19f5/expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar.sha512} +0 -0
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'expo.modules.router'
7
- version = '7.0.0-canary-20260113-0ce2b9c'
7
+ version = '7.0.0-canary-20260114-d8e19f5'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.router"
11
11
  defaultConfig {
12
12
  versionCode 1
13
- versionName "7.0.0-canary-20260113-0ce2b9c"
13
+ versionName "7.0.0-canary-20260114-d8e19f5"
14
14
  }
15
15
  lintOptions {
16
16
  abortOnError false
@@ -1 +1 @@
1
- {"version":3,"file":"split-view.d.ts","sourceRoot":"","sources":["../../src/split-view/split-view.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMjE;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,EAAE,cAAc,qBAgE9E;AAED,eAAO,MAAM,SAAS;;;CAGpB,CAAC"}
1
+ {"version":3,"file":"split-view.d.ts","sourceRoot":"","sources":["../../src/split-view/split-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMjE;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,EAAE,cAAc,qBA0D9E;AAED,eAAO,MAAM,SAAS;;;CAGpB,CAAC"}
@@ -32,12 +32,8 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
35
  Object.defineProperty(exports, "__esModule", { value: true });
39
36
  exports.SplitView = void 0;
40
- const expo_constants_1 = __importDefault(require("expo-constants"));
41
37
  const react_1 = __importStar(require("react"));
42
38
  const experimental_1 = require("react-native-screens/experimental");
43
39
  const elements_1 = require("./elements");
@@ -52,9 +48,6 @@ function SplitViewNavigator({ children, ...splitViewHostProps }) {
52
48
  if ((0, react_1.use)(IsWithinLayoutContext_1.IsWithinLayoutContext)) {
53
49
  throw new Error('SplitView cannot be used inside another navigator, except for Slot.');
54
50
  }
55
- if (!expo_constants_1.default.expoConfig?.extra?.router?.unstable_splitView) {
56
- throw new Error('SplitView is not enabled. Make sure to enable it in your expo-router configuration with "unstable_splitView": true. After enabling, make sure to prebuild your app.');
57
- }
58
51
  if (process.env.EXPO_OS !== 'ios') {
59
52
  console.warn('SplitView is only supported on iOS. The SplitView will behave like a Slot navigator on other platforms.');
60
53
  return <Navigator_1.Slot />;
@@ -1 +1 @@
1
- {"version":3,"file":"split-view.js","sourceRoot":"","sources":["../../src/split-view/split-view.tsx"],"names":[],"mappings":"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","sourcesContent":["import Constants from 'expo-constants';\nimport React, { createContext, isValidElement, use, type ReactNode } from 'react';\nimport {\n SplitViewHost,\n SplitViewScreen,\n type SplitViewHostProps,\n} from 'react-native-screens/experimental';\n\nimport { SplitViewColumn, SplitViewInspector } from './elements';\nimport { IsWithinLayoutContext } from '../layouts/IsWithinLayoutContext';\nimport { Slot } from '../views/Navigator';\n\nconst IsWithinSplitViewContext = createContext(false);\n\n/**\n * For full list of supported props, see [`SplitViewHostProps`](https://github.com/software-mansion/react-native-screens/blob/main/src/components/gamma/split-view/SplitViewHost.types.ts#L124)\n */\nexport interface SplitViewProps extends Omit<SplitViewHostProps, 'children'> {\n children?: ReactNode;\n}\n\nfunction SplitViewNavigator({ children, ...splitViewHostProps }: SplitViewProps) {\n if (use(IsWithinSplitViewContext)) {\n throw new Error('There can only be one SplitView in the navigation hierarchy.');\n }\n\n // TODO: Add better way of detecting if SplitView is rendered inside Native navigator.\n if (use(IsWithinLayoutContext)) {\n throw new Error('SplitView cannot be used inside another navigator, except for Slot.');\n }\n\n if (!Constants.expoConfig?.extra?.router?.unstable_splitView) {\n throw new Error(\n 'SplitView is not enabled. Make sure to enable it in your expo-router configuration with \"unstable_splitView\": true. After enabling, make sure to prebuild your app.'\n );\n }\n\n if (process.env.EXPO_OS !== 'ios') {\n console.warn(\n 'SplitView is only supported on iOS. The SplitView will behave like a Slot navigator on other platforms.'\n );\n return <Slot />;\n }\n\n const WrappedSlot = () => (\n <IsWithinLayoutContext value>\n <Slot />\n </IsWithinLayoutContext>\n );\n\n const allChildrenArray = React.Children.toArray(children);\n const columnChildren = allChildrenArray.filter(\n (child) => isValidElement(child) && child.type === SplitViewColumn\n );\n const inspectorChildren = allChildrenArray.filter(\n (child) => isValidElement(child) && child.type === SplitViewInspector\n );\n const numberOfSidebars = columnChildren.length;\n const numberOfInspectors = inspectorChildren.length;\n\n if (allChildrenArray.length !== columnChildren.length + inspectorChildren.length) {\n console.warn(\n 'Only SplitView.Column and SplitView.Inspector components are allowed as direct children of SplitView.'\n );\n }\n\n if (numberOfSidebars > 2) {\n throw new Error('There can only be two SplitView.Column in the SplitView.');\n }\n\n if (numberOfSidebars + numberOfInspectors === 0) {\n console.warn('No SplitView.Column and SplitView.Inspector found in SplitView.');\n return <Slot />;\n }\n\n // The key is needed, because number of columns cannot be changed dynamically\n return (\n <SplitViewHost key={numberOfSidebars + numberOfInspectors} {...splitViewHostProps}>\n {columnChildren}\n <SplitViewScreen.Column>\n <WrappedSlot />\n </SplitViewScreen.Column>\n {inspectorChildren}\n </SplitViewHost>\n );\n}\n\nexport const SplitView = Object.assign(SplitViewNavigator, {\n Column: SplitViewColumn,\n Inspector: SplitViewInspector,\n});\n"]}
1
+ {"version":3,"file":"split-view.js","sourceRoot":"","sources":["../../src/split-view/split-view.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAkF;AAClF,oEAI2C;AAE3C,yCAAiE;AACjE,4EAAyE;AACzE,kDAA0C;AAE1C,MAAM,wBAAwB,GAAG,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;AAStD,SAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAkB;IAC7E,IAAI,IAAA,WAAG,EAAC,wBAAwB,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,sFAAsF;IACtF,IAAI,IAAA,WAAG,EAAC,6CAAqB,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CACV,yGAAyG,CAC1G,CAAC;QACF,OAAO,CAAC,gBAAI,CAAC,AAAD,EAAG,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CACxB,CAAC,6CAAqB,CAAC,KAAK,CAC1B;MAAA,CAAC,gBAAI,CAAC,AAAD,EACP;IAAA,EAAE,6CAAqB,CAAC,CACzB,CAAC;IAEF,MAAM,gBAAgB,GAAG,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,0BAAe,CACnE,CAAC;IACF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAC/C,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,6BAAkB,CACtE,CAAC;IACF,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC;IAC/C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAEpD,IAAI,gBAAgB,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACjF,OAAO,CAAC,IAAI,CACV,uGAAuG,CACxG,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,gBAAgB,GAAG,kBAAkB,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAChF,OAAO,CAAC,gBAAI,CAAC,AAAD,EAAG,CAAC;IAClB,CAAC;IAED,6EAA6E;IAC7E,OAAO,CACL,CAAC,4BAAa,CAAC,GAAG,CAAC,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAChF;MAAA,CAAC,cAAc,CACf;MAAA,CAAC,8BAAe,CAAC,MAAM,CACrB;QAAA,CAAC,WAAW,CAAC,AAAD,EACd;MAAA,EAAE,8BAAe,CAAC,MAAM,CACxB;MAAA,CAAC,iBAAiB,CACpB;IAAA,EAAE,4BAAa,CAAC,CACjB,CAAC;AACJ,CAAC;AAEY,QAAA,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACzD,MAAM,EAAE,0BAAe;IACvB,SAAS,EAAE,6BAAkB;CAC9B,CAAC,CAAC","sourcesContent":["import React, { createContext, isValidElement, use, type ReactNode } from 'react';\nimport {\n SplitViewHost,\n SplitViewScreen,\n type SplitViewHostProps,\n} from 'react-native-screens/experimental';\n\nimport { SplitViewColumn, SplitViewInspector } from './elements';\nimport { IsWithinLayoutContext } from '../layouts/IsWithinLayoutContext';\nimport { Slot } from '../views/Navigator';\n\nconst IsWithinSplitViewContext = createContext(false);\n\n/**\n * For full list of supported props, see [`SplitViewHostProps`](https://github.com/software-mansion/react-native-screens/blob/main/src/components/gamma/split-view/SplitViewHost.types.ts#L124)\n */\nexport interface SplitViewProps extends Omit<SplitViewHostProps, 'children'> {\n children?: ReactNode;\n}\n\nfunction SplitViewNavigator({ children, ...splitViewHostProps }: SplitViewProps) {\n if (use(IsWithinSplitViewContext)) {\n throw new Error('There can only be one SplitView in the navigation hierarchy.');\n }\n\n // TODO: Add better way of detecting if SplitView is rendered inside Native navigator.\n if (use(IsWithinLayoutContext)) {\n throw new Error('SplitView cannot be used inside another navigator, except for Slot.');\n }\n\n if (process.env.EXPO_OS !== 'ios') {\n console.warn(\n 'SplitView is only supported on iOS. The SplitView will behave like a Slot navigator on other platforms.'\n );\n return <Slot />;\n }\n\n const WrappedSlot = () => (\n <IsWithinLayoutContext value>\n <Slot />\n </IsWithinLayoutContext>\n );\n\n const allChildrenArray = React.Children.toArray(children);\n const columnChildren = allChildrenArray.filter(\n (child) => isValidElement(child) && child.type === SplitViewColumn\n );\n const inspectorChildren = allChildrenArray.filter(\n (child) => isValidElement(child) && child.type === SplitViewInspector\n );\n const numberOfSidebars = columnChildren.length;\n const numberOfInspectors = inspectorChildren.length;\n\n if (allChildrenArray.length !== columnChildren.length + inspectorChildren.length) {\n console.warn(\n 'Only SplitView.Column and SplitView.Inspector components are allowed as direct children of SplitView.'\n );\n }\n\n if (numberOfSidebars > 2) {\n throw new Error('There can only be two SplitView.Column in the SplitView.');\n }\n\n if (numberOfSidebars + numberOfInspectors === 0) {\n console.warn('No SplitView.Column and SplitView.Inspector found in SplitView.');\n return <Slot />;\n }\n\n // The key is needed, because number of columns cannot be changed dynamically\n return (\n <SplitViewHost key={numberOfSidebars + numberOfInspectors} {...splitViewHostProps}>\n {columnChildren}\n <SplitViewScreen.Column>\n <WrappedSlot />\n </SplitViewScreen.Column>\n {inspectorChildren}\n </SplitViewHost>\n );\n}\n\nexport const SplitView = Object.assign(SplitViewNavigator, {\n Column: SplitViewColumn,\n Inspector: SplitViewInspector,\n});\n"]}
@@ -9,7 +9,7 @@
9
9
  "publication": {
10
10
  "groupId": "expo.modules.router",
11
11
  "artifactId": "expo.modules.router",
12
- "version": "7.0.0-canary-20260113-0ce2b9c",
12
+ "version": "7.0.0-canary-20260114-d8e19f5",
13
13
  "repository": "local-maven-repo"
14
14
  }
15
15
  }
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.router",
5
5
  "module": "expo.modules.router",
6
- "version": "7.0.0-canary-20260113-0ce2b9c",
6
+ "version": "7.0.0-canary-20260114-d8e19f5",
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.router-7.0.0-canary-20260113-0ce2b9c.aar",
28
- "url": "expo.modules.router-7.0.0-canary-20260113-0ce2b9c.aar",
27
+ "name": "expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar",
28
+ "url": "expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar",
29
29
  "size": 13665,
30
30
  "sha512": "0c996832cda246cbf02acf875f7c3add8610a0e5e7c466bbe5fa2f073a6a644933eec90d1bff2a7fac7fd3c0c5bdae8a695373cebdec4f9853ce116658960554",
31
31
  "sha256": "054876f9b960d2ed5b7762c66b32c7e994f942c05013456f5e41e1fe6c71ee54",
@@ -60,8 +60,8 @@
60
60
  ],
61
61
  "files": [
62
62
  {
63
- "name": "expo.modules.router-7.0.0-canary-20260113-0ce2b9c.aar",
64
- "url": "expo.modules.router-7.0.0-canary-20260113-0ce2b9c.aar",
63
+ "name": "expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar",
64
+ "url": "expo.modules.router-7.0.0-canary-20260114-d8e19f5.aar",
65
65
  "size": 13665,
66
66
  "sha512": "0c996832cda246cbf02acf875f7c3add8610a0e5e7c466bbe5fa2f073a6a644933eec90d1bff2a7fac7fd3c0c5bdae8a695373cebdec4f9853ce116658960554",
67
67
  "sha256": "054876f9b960d2ed5b7762c66b32c7e994f942c05013456f5e41e1fe6c71ee54",
@@ -80,8 +80,8 @@
80
80
  },
81
81
  "files": [
82
82
  {
83
- "name": "expo.modules.router-7.0.0-canary-20260113-0ce2b9c-sources.jar",
84
- "url": "expo.modules.router-7.0.0-canary-20260113-0ce2b9c-sources.jar",
83
+ "name": "expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar",
84
+ "url": "expo.modules.router-7.0.0-canary-20260114-d8e19f5-sources.jar",
85
85
  "size": 2318,
86
86
  "sha512": "9864add8e93e3c0a9a9c930aaed67016b15054c3fafd59a0bd3a5402d7cdc5827be84c22c2c137f3e5acb4e39270d9bfb9ca3fe11234458d4f2e0d4c78747f48",
87
87
  "sha256": "d5dff6259e86de721fc0f07fe740a5e18088e19b76738719b0a6f94caef06224",
@@ -0,0 +1 @@
1
+ a1c3a44f2ee67105863b437e4ea49165079e3b9157e3755d9b90dbfdca8e41c95b0507b44c589b54ac739285ec9b08ef29e15505169f9a5f5d9bc2f57f275e84
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>expo.modules.router</groupId>
11
11
  <artifactId>expo.modules.router</artifactId>
12
- <version>7.0.0-canary-20260113-0ce2b9c</version>
12
+ <version>7.0.0-canary-20260114-d8e19f5</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.router</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 7bdfd8dc0bc503e0260a0a8748cc86f5ab2b2a720cbcbfebb243f0753d1309788ddc43f083fbff70ee6f256367ab759391c02ba5e230f17809521a7f6028a6b9
@@ -3,11 +3,11 @@
3
3
  <groupId>expo.modules.router</groupId>
4
4
  <artifactId>expo.modules.router</artifactId>
5
5
  <versioning>
6
- <latest>7.0.0-canary-20260113-0ce2b9c</latest>
7
- <release>7.0.0-canary-20260113-0ce2b9c</release>
6
+ <latest>7.0.0-canary-20260114-d8e19f5</latest>
7
+ <release>7.0.0-canary-20260114-d8e19f5</release>
8
8
  <versions>
9
- <version>7.0.0-canary-20260113-0ce2b9c</version>
9
+ <version>7.0.0-canary-20260114-d8e19f5</version>
10
10
  </versions>
11
- <lastUpdated>20260113181542</lastUpdated>
11
+ <lastUpdated>20260114145042</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 73b8868c78f3167847d0e39c2243ad0b
1
+ 1fa7c2242bdda0f85f52c93152c6b21b
@@ -1 +1 @@
1
- 52e92bd79381fb8f2bb5c25a4888ad67fab98d63
1
+ 12787d14354a881bae6fdca17a44c10dcfb02fef
@@ -1 +1 @@
1
- f160b46aa41ef5dec9934bcaae09ecbf7055e46e34b4ff5b9fa058d6abf96b2a
1
+ 350c897a913b87724b1cf019db41a78b1febece8873dcbf543a5697c376b2917
@@ -1 +1 @@
1
- b6cbda3d1252808fa6815e5d2fe2aeb3d83341035226e63f18aabeacd53be1d8bf0920a055e7e5bebdf7eb3912d6689f195818317874fad430b57f8ae493b245
1
+ d6a9fe616e0cc491d4025054a039ef814b2cbbfc643c8ff9291ba6bcf356e4157000f4d011554ae07fe20347703bce55b4a5705d23ca4b5b973932a79fb9e5ba
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-router",
3
- "version": "7.0.0-canary-20260113-0ce2b9c",
3
+ "version": "7.0.0-canary-20260114-d8e19f5",
4
4
  "description": "Expo Router is a file-based router for React Native and web applications.",
5
5
  "author": "650 Industries, Inc.",
6
6
  "license": "MIT",
@@ -83,13 +83,13 @@
83
83
  "expo"
84
84
  ],
85
85
  "peerDependencies": {
86
- "@expo/metro-runtime": "6.2.0-canary-20260113-0ce2b9c",
87
- "@expo/log-box": "0.0.13-canary-20260113-0ce2b9c",
86
+ "@expo/metro-runtime": "6.2.0-canary-20260114-d8e19f5",
87
+ "@expo/log-box": "0.0.13-canary-20260114-d8e19f5",
88
88
  "@react-navigation/drawer": "^7.7.2",
89
89
  "@testing-library/react-native": ">= 12.0.0",
90
- "expo": "55.0.0-canary-20260113-0ce2b9c",
91
- "expo-constants": "18.1.0-canary-20260113-0ce2b9c",
92
- "expo-linking": "8.0.12-canary-20260113-0ce2b9c",
90
+ "expo": "55.0.0-canary-20260114-d8e19f5",
91
+ "expo-constants": "18.1.0-canary-20260114-d8e19f5",
92
+ "expo-linking": "8.0.12-canary-20260114-d8e19f5",
93
93
  "react": "*",
94
94
  "react-dom": "*",
95
95
  "react-native": "*",
@@ -134,8 +134,8 @@
134
134
  "react-server-dom-webpack": "~19.0.3"
135
135
  },
136
136
  "dependencies": {
137
- "@expo/metro-runtime": "6.2.0-canary-20260113-0ce2b9c",
138
- "@expo/schema-utils": "0.1.9-canary-20260113-0ce2b9c",
137
+ "@expo/metro-runtime": "6.2.0-canary-20260114-d8e19f5",
138
+ "@expo/schema-utils": "0.1.9-canary-20260114-d8e19f5",
139
139
  "@radix-ui/react-slot": "1.2.0",
140
140
  "@radix-ui/react-tabs": "^1.1.12",
141
141
  "@react-navigation/bottom-tabs": "^7.7.3",
@@ -144,9 +144,9 @@
144
144
  "client-only": "^0.0.1",
145
145
  "debug": "^4.3.4",
146
146
  "escape-string-regexp": "^4.0.0",
147
- "expo-image": "3.1.0-canary-20260113-0ce2b9c",
148
- "expo-server": "1.1.0-canary-20260113-0ce2b9c",
149
- "expo-symbols": "1.1.0-canary-20260113-0ce2b9c",
147
+ "expo-image": "3.1.0-canary-20260114-d8e19f5",
148
+ "expo-server": "1.1.0-canary-20260114-d8e19f5",
149
+ "expo-symbols": "1.1.0-canary-20260114-d8e19f5",
150
150
  "fast-deep-equal": "^3.1.3",
151
151
  "invariant": "^2.2.4",
152
152
  "nanoid": "^3.3.8",
@@ -21,11 +21,10 @@ const withExpoHeadIos = (config) => {
21
21
  return config;
22
22
  });
23
23
  };
24
- const withGammaScreens = (config, props) => {
25
- const value = props?.unstable_splitView ?? false;
24
+ const withGammaScreens = (config) => {
26
25
  return (0, config_plugins_1.withPodfile)(config, (config) => {
27
26
  if (!config.modResults.contents.includes('RNS_GAMMA_ENABLED')) {
28
- config.modResults.contents = `ENV['RNS_GAMMA_ENABLED']='${value ? 1 : 0}'\n${config.modResults.contents}`;
27
+ config.modResults.contents = `ENV['RNS_GAMMA_ENABLED']='1'\n${config.modResults.contents}`;
29
28
  }
30
29
  return config;
31
30
  });
@@ -34,7 +33,7 @@ const withRouter = (config, _props) => {
34
33
  const props = _props || {};
35
34
  (0, schema_utils_1.validate)(schema, props);
36
35
  withExpoHeadIos(config);
37
- withGammaScreens(config, props);
36
+ withGammaScreens(config);
38
37
  return {
39
38
  ...config,
40
39
  extra: {
@@ -167,11 +167,6 @@
167
167
  "description": "Enable experimental server-side rendering. When enabled with `web.output: 'server'`, HTML is rendered at request time instead of being pre-rendered at build time.",
168
168
  "type": "boolean",
169
169
  "default": false
170
- },
171
- "unstable_splitView": {
172
- "description": "Enable experimental SplitView support on ios",
173
- "type": "boolean",
174
- "default": false
175
170
  }
176
171
  },
177
172
  "additionalProperties": false
@@ -23,16 +23,10 @@ const withExpoHeadIos: ConfigPlugin = (config) => {
23
23
  });
24
24
  };
25
25
 
26
- const withGammaScreens: ConfigPlugin<
27
- {
28
- /** Enable experimental data loader support. Requires `web.output: 'static'` to be set in app config. */
29
- unstable_splitView?: boolean;
30
- } | void
31
- > = (config, props) => {
32
- const value = props?.unstable_splitView ?? false;
26
+ const withGammaScreens: ConfigPlugin = (config) => {
33
27
  return withPodfile(config, (config) => {
34
28
  if (!config.modResults.contents.includes('RNS_GAMMA_ENABLED')) {
35
- config.modResults.contents = `ENV['RNS_GAMMA_ENABLED']='${value ? 1 : 0}'\n${config.modResults.contents}`;
29
+ config.modResults.contents = `ENV['RNS_GAMMA_ENABLED']='1'\n${config.modResults.contents}`;
36
30
  }
37
31
  return config;
38
32
  });
@@ -66,7 +60,7 @@ const withRouter: ConfigPlugin<
66
60
  validate(schema, props);
67
61
 
68
62
  withExpoHeadIos(config);
69
- withGammaScreens(config, props);
63
+ withGammaScreens(config);
70
64
 
71
65
  return {
72
66
  ...config,
@@ -1 +0,0 @@
1
- 020ebe3f9ac0e5f33f89f054bdd78d7643c5130af22f1f717c369ac6cd8191ad9239a8c2c27a4831a4d6157748e332a8dac4fa4e7ea4fe50695791783fb83ab8
@@ -1 +0,0 @@
1
- 737b10ca03314dfee204dfdc93cc55eb0e3b76af2e7f0026f957e1d73cbd3436411a1afb60b9e119aedd50b715dff32d35144aad555bbad45b4d2044b4f89c8f