From 13e467042fcbdce7312e7421ffa8a347077b8279 Mon Sep 17 00:00:00 2001 From: bogoslavskiy Date: Wed, 3 Jul 2024 15:08:18 +0300 Subject: [PATCH 01/13] chore(*): update gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f89dab57248..43e9462a5aa 100644 --- a/.gitignore +++ b/.gitignore @@ -245,4 +245,6 @@ lib/Mock/*.d.ts Mock.js Mock.d.ts -Gemfile.lock \ No newline at end of file +Gemfile.lock + +playground/ios/.xcode.env.local \ No newline at end of file From 61ef4d333d0d0b4c7de9758c555aadbb4bdf1513 Mon Sep 17 00:00:00 2001 From: bogoslavskiy Date: Wed, 3 Jul 2024 15:10:30 +0300 Subject: [PATCH 02/13] fix(*): @types/lodash version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e56a32a0d81..d6501a7859b 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "@types/hoist-non-react-statics": "^3.0.1", "@types/jasmine": "3.5.10", "@types/jest": "27.0.2", - "@types/lodash": "^4.14.149", + "@types/lodash": "4.14.149", "@types/react": "16.9.41", "@types/react-native": "0.63.1", "@types/react-test-renderer": "16.9.2", From dea79e6e985aed62ae2c78e99afff42ca5bd25ea Mon Sep 17 00:00:00 2001 From: bogoslavskiy Date: Wed, 3 Jul 2024 15:11:22 +0300 Subject: [PATCH 03/13] chore(*): update playground/project.pbxproj --- .../ios/playground.xcodeproj/project.pbxproj | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/playground/ios/playground.xcodeproj/project.pbxproj b/playground/ios/playground.xcodeproj/project.pbxproj index 195a51e534b..10dfc7b401e 100644 --- a/playground/ios/playground.xcodeproj/project.pbxproj +++ b/playground/ios/playground.xcodeproj/project.pbxproj @@ -1487,16 +1487,13 @@ ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "$(inherited)", - "-DRN_FABRIC_ENABLED", + " ", ); OTHER_CPLUSPLUSFLAGS = ( "$(inherited)", - "-DRN_FABRIC_ENABLED", - ); - OTHER_LDFLAGS = ( - "-Wl", - "-ld_classic", + " ", ); + OTHER_LDFLAGS = ""; REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; @@ -1548,16 +1545,13 @@ MTL_ENABLE_DEBUG_INFO = NO; OTHER_CFLAGS = ( "$(inherited)", - "-DRN_FABRIC_ENABLED", + " ", ); OTHER_CPLUSPLUSFLAGS = ( "$(inherited)", - "-DRN_FABRIC_ENABLED", - ); - OTHER_LDFLAGS = ( - "-Wl", - "-ld_classic", + " ", ); + OTHER_LDFLAGS = ""; REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; From b082186d9749240bb4fd6d1d29f41d93d0f5fbdc Mon Sep 17 00:00:00 2001 From: bogoslavskiy Date: Wed, 3 Jul 2024 15:57:00 +0300 Subject: [PATCH 04/13] fix(build): react-native-reanimated version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d6501a7859b..65afce29325 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "react-native": "0.73.3", "react-native-fast-image": "^8.6.3", "react-native-gesture-handler": "^2.10.1", - "react-native-reanimated": "^3.8.1", + "react-native-reanimated": "3.8.1", "react-native-ui-lib": "7.3.6", "react-redux": "5.x.x", "react-test-renderer": "18.2.0", From adf876a2cf395c577458ec4701ecf382434e5a04 Mon Sep 17 00:00:00 2001 From: bogoslavskiy Date: Wed, 3 Jul 2024 16:19:40 +0300 Subject: [PATCH 05/13] feat: sheet layout example --- lib/src/interfaces/Layout.ts | 24 +++++++ lib/src/interfaces/Options.ts | 22 ++++++ playground/src/screens/NavigationScreen.tsx | 31 ++++++++ playground/src/screens/Screens.ts | 1 + playground/src/screens/SheetScreen.tsx | 80 +++++++++++++++++++++ playground/src/screens/index.tsx | 1 + 6 files changed, 159 insertions(+) create mode 100644 playground/src/screens/SheetScreen.tsx diff --git a/lib/src/interfaces/Layout.ts b/lib/src/interfaces/Layout.ts index 076cb56c9c0..bd0c4be333c 100644 --- a/lib/src/interfaces/Layout.ts +++ b/lib/src/interfaces/Layout.ts @@ -1,5 +1,24 @@ import { Options } from './Options'; +export interface Sheet { + /** + * Set the screen's id so Navigation.mergeOptions can be used to update options + */ + id?: string; + /** + * Name of your component + */ + name: string | number; + /** + * Configure component options + */ + options?: Options; + /** + * Properties to pass down to the component + */ + passProps?: object; +} + export interface LayoutComponent

{ /** * Component reference id, Auto generated if empty @@ -169,6 +188,11 @@ export interface ExternalComponent { } export interface Layout

{ + /** + * Sheet + */ + sheet?: Sheet; + /** * Set the component */ diff --git a/lib/src/interfaces/Options.ts b/lib/src/interfaces/Options.ts index 1ab5b4ef521..75d0a1d8508 100644 --- a/lib/src/interfaces/Options.ts +++ b/lib/src/interfaces/Options.ts @@ -1,6 +1,12 @@ // tslint:disable jsdoc-format import { ImageRequireSource, ImageSourcePropType, Insets, OpaqueColorValue } from 'react-native'; +export enum NavigationLayoutElements { + Header = 'NavigationLayoutHeader', + Content = 'NavigationLayoutContent', + Footer = 'NavigationLayoutFooter', +} + // TODO: Import ColorValue instead when upgrading @types/react-native to 0.63+ // Only assign PlatformColor or DynamicColorIOS as a Color symbol! export declare type Color = string | symbol | ThemeColor | OpaqueColorValue | null; @@ -200,6 +206,22 @@ export interface OptionsLayout { * #### (Android specific) */ adjustResize?: boolean; + + /** + * Set fullScreen for sheet, this for ignore calc size for sheet + * #### (Android specific) + */ + sheetFullScreen?: boolean; + + /** + * Set sheet backdrop opacity + */ + sheetBackdropOpacity?: number; + + /** + * Set sheet corner top radius + */ + sheetBorderTopRadius?: number; } export enum OptionsModalPresentationStyle { diff --git a/playground/src/screens/NavigationScreen.tsx b/playground/src/screens/NavigationScreen.tsx index f188dcdd430..b13f9cfe22e 100644 --- a/playground/src/screens/NavigationScreen.tsx +++ b/playground/src/screens/NavigationScreen.tsx @@ -60,6 +60,8 @@ export default class NavigationScreen extends NavigationComponent {