diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml
new file mode 100644
index 0000000..3224727
--- /dev/null
+++ b/.github/workflows/build-android.yml
@@ -0,0 +1,52 @@
+name: Build
+
+on:
+ workflow_call:
+ workflow_dispatch:
+
+env:
+ APP_PATH: examples/Rn071/android/app/build/outputs/apk/release/app-release.apk
+ PROJECT_NAME: Rn071
+ EXAMPLE_SRC: ./examples/Rn071/src/**
+
+jobs:
+ build-android:
+ name: Android
+ runs-on: ubuntu-latest
+ outputs:
+ app: app/build/outputs/apk/release
+ steps:
+ - uses: actions/checkout@v3
+
+ - uses: actions/cache@v3
+ id: cache-android
+ with:
+ path: ${{ env.APP_PATH }}
+ key: ${{ runner.os }}-${{ hashFiles('src/**', 'android/**', env.EXAMPLE_SRC, env.APP_PATH ) }}
+
+ - uses: actions/setup-node@v3
+ if: steps.cache-android.outputs.cache-hit != 'true'
+ with:
+ node-version: 14.18.1
+ cache: 'yarn'
+
+ - name: Install npm dependencies (example project)
+ if: steps.cache-android.outputs.cache-hit != 'true'
+ working-directory: ./examples/${{ env.PROJECT_NAME }}/
+ run: yarn install --frozen-lockfile
+
+ - name: Install npm dependencies (root)
+ if: steps.cache-android.outputs.cache-hit != 'true'
+ working-directory: ./
+ run: yarn install --frozen-lockfile
+
+ - uses: actions/setup-java@v3
+ if: steps.cache-android.outputs.cache-hit != 'true'
+ with:
+ java-version: 11
+ distribution: 'temurin'
+
+ - name: build
+ if: steps.cache-android.outputs.cache-hit != 'true'
+ working-directory: ./examples/${{ env.PROJECT_NAME }}/android
+ run: ./gradlew assembleRelease
diff --git a/.github/workflows/build-ios.yml b/.github/workflows/build-ios.yml
new file mode 100644
index 0000000..70ddcad
--- /dev/null
+++ b/.github/workflows/build-ios.yml
@@ -0,0 +1,77 @@
+name: Build
+
+on:
+ workflow_call:
+ workflow_dispatch:
+
+env:
+ APP_PATH: ./examples/Rn071/ios/DerivedData/Build/Products/Release-iphonesimulator/Rn071.app
+ PROJECT_NAME: Rn071
+ EXAMPLE_SRC: ./examples/Rn071/src/**
+
+jobs:
+ build-ios:
+ name: iOS
+ runs-on: macos-13
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - uses: actions/cache@v3
+ id: cache
+ with:
+ path: |
+ ${{ env.APP_PATH }}
+ ${{ env.APP_PATH }}.dSYM
+ key: ${{ runner.os }}-${{ hashFiles('src/**', 'ios/**', env.EXAMPLE_SRC, env.APP_PATH ) }}
+
+ - uses: actions/setup-node@v3
+ if: steps.cache.outputs.cache-hit != 'true'
+ with:
+ node-version: 14.18.1
+ cache: 'yarn'
+
+ - name: Install npm dependencies (example project)
+ if: steps.cache.outputs.cache-hit != 'true'
+ working-directory: ./examples/${{ env.PROJECT_NAME }}/
+ run: yarn install --frozen-lockfile
+
+ - name: Install npm dependencies (root)
+ if: steps.cache.outputs.cache-hit != 'true'
+ working-directory: ./
+ run: yarn install --frozen-lockfile
+
+ - name: Setup Ruby
+ if: steps.cache.outputs.cache-hit != 'true'
+ uses: ruby/setup-ruby@v1
+ with:
+ bundler-cache: true
+ working-directory: ./examples/${{ env.PROJECT_NAME }}/
+
+ - name: setup-cocoapods
+ if: steps.cache.outputs.cache-hit != 'true'
+ uses: maxim-lobanov/setup-cocoapods@v1
+ with:
+ version: 1.11.3
+
+ - name: Install CocoaPods
+ if: steps.cache.outputs.cache-hit != 'true'
+ working-directory: ./examples/${{ env.PROJECT_NAME }}/
+ run: |
+ yarn pods
+
+ - name: Select Xcode
+ if: steps.cache.outputs.cache-hit != 'true'
+ run: sudo xcode-select -s /Applications/Xcode_$(<.xcode-version).app/Contents/Developer
+
+ - name: Build
+ if: steps.cache.outputs.cache-hit != 'true'
+ working-directory: ./examples/${{ env.PROJECT_NAME }}/ios/
+ run: |
+ set -o pipefail && xcodebuild \
+ -workspace "${{ env.PROJECT_NAME }}.xcworkspace" \
+ -scheme "${{ env.PROJECT_NAME }}" \
+ -destination "platform=iOS Simulator,name=iPhone 14,OS=16.4" \
+ -derivedDataPath "DerivedData" \
+ -configuration "Release" \
+ | tee xcodebuild.log
diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml
deleted file mode 100644
index 3f33259..0000000
--- a/.github/workflows/e2e-tests.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-name: E2E tests (maestro)
-
-on:
- workflow_dispatch:
-
-jobs:
- e2e-maestro:
- runs-on: ubuntu-latest
- outputs:
- app: app/build/outputs/apk/release
- steps:
- - uses: actions/checkout@v3
-
- - uses: actions/setup-node@v3
- with:
- node-version: 14.18.1
- cache: 'yarn'
-
- - name: Install npm dependencies (example project)
- working-directory: ./examples/Rn069/
- run: yarn install --frozen-lockfile
-
- - name: Install npm dependencies (root)
- working-directory: ./
- run: yarn install --frozen-lockfile
-
- - uses: actions/setup-java@v3
- with:
- java-version: 11
- distribution: 'temurin'
-
- - name: build
- working-directory: ./examples/Rn069/android
- run: ./gradlew assembleRelease
-
- - uses: mobile-dev-inc/action-maestro-cloud@v1.1.1
- with:
- api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }}
- app-file: examples/Rn069/android/app/build/outputs/apk/release/app-release.apk
diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
new file mode 100644
index 0000000..2b16a97
--- /dev/null
+++ b/.github/workflows/pr.yml
@@ -0,0 +1,38 @@
+name: PR
+
+on:
+ workflow_dispatch:
+ pull_request:
+
+jobs:
+ build-ios:
+ name: Build
+ uses: ./.github/workflows/build-ios.yml
+ secrets: inherit
+
+ build-android:
+ name: Build
+ uses: ./.github/workflows/build-android.yml
+ secrets: inherit
+
+ test-ios-e2e:
+ name: Test
+ uses: ./.github/workflows/test-ios-e2e.yml
+ secrets: inherit
+ needs: [build-ios]
+
+ test-android-e2e:
+ name: Test
+ uses: ./.github/workflows/test-android-e2e.yml
+ secrets: inherit
+ needs: [build-android]
+
+ test-js:
+ name: Test
+ uses: ./.github/workflows/test-js.yml
+ secrets: inherit
+
+ test-android-unit:
+ name: Test
+ uses: ./.github/workflows/test-android-unit.yml
+ secrets: inherit
diff --git a/.github/workflows/main.yml b/.github/workflows/publish.yml
similarity index 100%
rename from .github/workflows/main.yml
rename to .github/workflows/publish.yml
diff --git a/.github/workflows/test-android-e2e.yml b/.github/workflows/test-android-e2e.yml
new file mode 100644
index 0000000..d905c77
--- /dev/null
+++ b/.github/workflows/test-android-e2e.yml
@@ -0,0 +1,42 @@
+name: Test Android e2e
+
+on:
+ workflow_call:
+ workflow_dispatch:
+
+env:
+ APP_PATH: examples/Rn071/android/app/build/outputs/apk/release/app-release.apk
+ EXAMPLE_SRC: ./examples/Rn071/src/**
+
+jobs:
+ test-android-e2e:
+ name: Android - e2e
+ runs-on: ubuntu-latest
+ environment: e2e Android
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - uses: actions/cache@v3
+ id: cache-android
+ with:
+ path: ${{ env.APP_PATH }}
+ key: ${{ runner.os }}-${{ hashFiles('src/**', 'android/**', env.EXAMPLE_SRC, env.APP_PATH ) }}
+
+ - uses: mobile-dev-inc/action-maestro-cloud@v1.8.0
+ id: upload
+ with:
+ api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }}
+ app-file: ${{ env.APP_PATH }}
+ include-tags: android
+
+ # Step can be removed when this is fixed:
+ # https://github.com/mobile-dev-inc/action-maestro-cloud/issues/28
+ - name: Check for maestro errors
+ run: |
+ if [[ "$MAESTRO_CLOUD_FLOW_RESULTS" == *"ERROR"* || "$MAESTRO_CLOUD_FLOW_RESULTS" == *"CANCELED"* ]]; then
+ echo "One or more tests failed or were canceled."
+ exit 1
+ fi
+ env:
+ MAESTRO_CLOUD_FLOW_RESULTS: ${{ steps.upload.outputs.MAESTRO_CLOUD_FLOW_RESULTS }}
diff --git a/.github/workflows/test-android-unit.yml b/.github/workflows/test-android-unit.yml
new file mode 100644
index 0000000..f90b772
--- /dev/null
+++ b/.github/workflows/test-android-unit.yml
@@ -0,0 +1,26 @@
+name: Test Android Unit
+
+on:
+ workflow_call:
+ workflow_dispatch:
+
+jobs:
+ test-android-unit:
+ name: Android - Unit
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - uses: actions/setup-java@v3
+ with:
+ java-version: 11
+ distribution: 'temurin'
+
+ - name: Install npm dependencies
+ working-directory: ./examples/Rn072
+ run: yarn install --frozen-lockfile
+
+ - name: Run unit tests
+ working-directory: ./examples/Rn072/android
+ run: ./gradlew testDebugUnitTest
diff --git a/.github/workflows/test-ios-e2e.yml b/.github/workflows/test-ios-e2e.yml
new file mode 100644
index 0000000..f6b01ed
--- /dev/null
+++ b/.github/workflows/test-ios-e2e.yml
@@ -0,0 +1,54 @@
+name: E2E tests (ios)
+
+on:
+ workflow_call:
+ workflow_dispatch:
+
+env:
+ APP_PATH: ./examples/Rn071/ios/DerivedData/Build/Products/Release-iphonesimulator/Rn071.app
+ EXAMPLE_SRC: ./examples/Rn071/src/**
+
+jobs:
+ test-ios-e2e:
+ name: iOS - e2e
+ runs-on: macos-13
+ environment: e2e iOS
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - uses: actions/cache@v3
+ id: cache
+ with:
+ path: |
+ ${{ env.APP_PATH }}
+ ${{ env.APP_PATH }}.dSYM
+ key: ${{ runner.os }}-${{ hashFiles('src/**', 'ios/**', env.EXAMPLE_SRC, env.APP_PATH ) }}
+
+ - uses: mobile-dev-inc/action-maestro-cloud@v1.8.0
+ id: upload
+ with:
+ api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }}
+ app-file: ${{ env.APP_PATH }}
+ mapping-file: ${{ env.APP_PATH }}.dSYM
+ include-tags: ios
+
+ - name: Upload logs when workflow failed
+ uses: actions/upload-artifact@v3
+ if: failure()
+ with:
+ name: BuildLogs
+ path: |
+ xcodebuild.log
+ DerivedData/Logs/Test/*.xcresult
+
+ # Step can be removed when this is fixed:
+ # https://github.com/mobile-dev-inc/action-maestro-cloud/issues/28
+ - name: Check for maestro errors
+ run: |
+ if [[ "$MAESTRO_CLOUD_FLOW_RESULTS" == *"ERROR"* || "$MAESTRO_CLOUD_FLOW_RESULTS" == *"CANCELED"* ]]; then
+ echo "One or more tests failed or were canceled."
+ exit 1
+ fi
+ env:
+ MAESTRO_CLOUD_FLOW_RESULTS: ${{ steps.upload.outputs.MAESTRO_CLOUD_FLOW_RESULTS }}
diff --git a/.github/workflows/test-js.yml b/.github/workflows/test-js.yml
new file mode 100644
index 0000000..50c6788
--- /dev/null
+++ b/.github/workflows/test-js.yml
@@ -0,0 +1,24 @@
+name: Test js
+
+on:
+ workflow_call:
+ workflow_dispatch:
+
+jobs:
+ test-js:
+ name: Javascript
+ runs-on: macos-latest
+ timeout-minutes: 5
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: Node
+ uses: actions/setup-node@v3
+
+ - name: Install npm dependencies
+ run: yarn install --frozen-lockfile
+
+ - name: Run unit tests
+ run: yarn test
diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml
deleted file mode 100644
index b7e8d87..0000000
--- a/.github/workflows/unit-tests.yml
+++ /dev/null
@@ -1,53 +0,0 @@
-name: 'Build & Test'
-
-on:
- push:
- branches:
- - master
- pull_request:
- branches:
- - master
-
-jobs:
- javascript_unit_tests:
- name: Unit tests - javascript
- runs-on: macos-latest
- timeout-minutes: 5
-
- steps:
- - name: Checkout
- uses: actions/checkout@v1
- with:
- fetch-depth: 1
-
- - name: Node
- uses: actions/setup-node@v3
-
- - name: Install npm dependencies
- run: |
- yarn install --frozen-lockfile
-
- - name: Run unit tests
- run: |
- yarn test
-
- java_unit_tests:
- name: Unit tests - java
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v3
-
- - uses: actions/setup-java@v3
- with:
- java-version: 11
- distribution: 'temurin'
-
- - name: Install npm dependencies
- working-directory: ./examples/Rn072
- run: |
- yarn install --frozen-lockfile
-
- - name: Run unit tests
- working-directory: ./examples/Rn072/android
- run: ./gradlew testDebugUnitTest
diff --git a/.gitignore b/.gitignore
index 5b537a0..a71d8cf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -356,3 +356,5 @@ Temporary Items
# End of https://www.gitignore.io/api/xcode,android,reactnative,androidstudio
+
+**/ios/output
\ No newline at end of file
diff --git a/.maestro/display-text.yml b/.maestro/display-text.yml
index e6d4de9..51e8c42 100644
--- a/.maestro/display-text.yml
+++ b/.maestro/display-text.yml
@@ -1,4 +1,6 @@
-appId: com.rn069
+appId: com.rn071
+tags:
+ - android
---
- runFlow:
file: utils/set-timezone.yml
diff --git a/.maestro/ios.yml b/.maestro/ios.yml
new file mode 100644
index 0000000..764c4a9
--- /dev/null
+++ b/.maestro/ios.yml
@@ -0,0 +1,23 @@
+appId: com.rn071
+tags:
+ - ios
+---
+# test: can use inline picker
+- runFlow: utils/launch.yml
+- runFlow:
+ file: utils/change-prop.yml
+ env:
+ PROP: locale
+ VALUE: vi-VN
+- runFlow: utils/swipe-wheel-1.yml
+- assertVisible:
+ text: '2000-01-01 01:00:00'
+
+# test: can use modal
+- launchApp
+- tapOn: Modal
+- tapOn: Select date
+- runFlow: utils/swipe-wheel-1-modal.yml
+- tapOn: Confirm
+- assertVisible:
+ text: '2000-01-02'
diff --git a/.maestro/timezone-offset-in-minutes-daylight-saving.yml b/.maestro/timezone-offset-in-minutes-daylight-saving.yml
new file mode 100644
index 0000000..3549260
--- /dev/null
+++ b/.maestro/timezone-offset-in-minutes-daylight-saving.yml
@@ -0,0 +1,72 @@
+appId: com.rn071
+tags:
+ - android
+---
+########## describe: DAYLIGHT SAVING
+- runFlow:
+ file: utils/set-timezone.yml
+ env:
+ REGION: Sweden
+ GMT: GMT+02:00
+ STATE: ''
+
+- runFlow: utils/launch.yml
+
+# test: timezone offset undefined
+- runFlow:
+ file: utils/change-prop.yml
+ env:
+ PROP: maximumDate
+ VALUE: '2000-07-01T00:00:00'
+- runFlow:
+ file: utils/change-prop.yml
+ env:
+ PROP: date
+ VALUE: '2000-06-01T00:00:00+02:00'
+- runFlow: utils/swipe-wheel-3.yml
+- assertVisible: '2000-06-01 00:01:00'
+- assertVisible: 'Thu Jun 11201 AM '
+
+- runFlow: utils/reset.yml
+
+# # test: timezone offset 0
+- runFlow:
+ file: utils/change-prop.yml
+ env:
+ PROP: maximumDate
+ VALUE: '2000-07-01T00:00:00'
+- runFlow:
+ file: utils/change-prop.yml
+ env:
+ PROP: date
+ VALUE: '2000-06-01T00:00:00+02:00'
+- runFlow:
+ file: utils/change-prop.yml
+ env:
+ PROP: timeZoneOffsetInMinutes
+ VALUE: 0
+- runFlow: utils/swipe-wheel-3.yml
+- assertVisible: '2000-06-01 00:01:00'
+- assertVisible: 'Wed May 311001 PM '
+
+- runFlow: utils/reset.yml
+
+# test: timezone offset 180
+- runFlow:
+ file: utils/change-prop.yml
+ env:
+ PROP: maximumDate
+ VALUE: '2000-07-01T00:00:00'
+- runFlow:
+ file: utils/change-prop.yml
+ env:
+ PROP: date
+ VALUE: '2000-06-01T00:00:00+02:00'
+- runFlow:
+ file: utils/change-prop.yml
+ env:
+ PROP: timeZoneOffsetInMinutes
+ VALUE: 180
+- runFlow: utils/swipe-wheel-3.yml
+- assertVisible: '2000-06-01 00:01:00'
+- assertVisible: 'Thu Jun 1101 AM '
diff --git a/.maestro/timezone-offset-in-minutes.yml b/.maestro/timezone-offset-in-minutes.yml
index ccae728..9ef3d29 100644
--- a/.maestro/timezone-offset-in-minutes.yml
+++ b/.maestro/timezone-offset-in-minutes.yml
@@ -1,4 +1,6 @@
-appId: com.rn069
+appId: com.rn071
+tags:
+ - android
---
- runFlow:
file: utils/set-timezone.yml
@@ -49,76 +51,6 @@ appId: com.rn069
- runFlow: utils/swipe-wheel-3.yml
- assertVisible: '2000-01-01 00:01:00'
- assertVisible: 'Fri Dec 31801 PM '
-
-########## describe: DAYLIGHT SAVING
-- runFlow:
- file: utils/set-timezone.yml
- env:
- REGION: Sweden
- GMT: GMT+02:00
- STATE: ''
-
-- runFlow: utils/launch.yml
-
-# test: timezone offset undefined
-- runFlow:
- file: utils/change-prop.yml
- env:
- PROP: maximumDate
- VALUE: '2000-07-01T00:00:00'
-- runFlow:
- file: utils/change-prop.yml
- env:
- PROP: date
- VALUE: '2000-06-01T00:00:00+02:00'
-- runFlow: utils/swipe-wheel-3.yml
-- assertVisible: '2000-06-01 00:01:00'
-- assertVisible: 'Thu Jun 11201 AM '
-
-- runFlow: utils/reset.yml
-
-# # test: timezone offset 0
-- runFlow:
- file: utils/change-prop.yml
- env:
- PROP: maximumDate
- VALUE: '2000-07-01T00:00:00'
-- runFlow:
- file: utils/change-prop.yml
- env:
- PROP: date
- VALUE: '2000-06-01T00:00:00+02:00'
-- runFlow:
- file: utils/change-prop.yml
- env:
- PROP: timeZoneOffsetInMinutes
- VALUE: 0
-- runFlow: utils/swipe-wheel-3.yml
-- assertVisible: '2000-06-01 00:01:00'
-- assertVisible: 'Wed May 311001 PM '
-
-- runFlow: utils/reset.yml
-
-# test: timezone offset 180
-- runFlow:
- file: utils/change-prop.yml
- env:
- PROP: maximumDate
- VALUE: '2000-07-01T00:00:00'
-- runFlow:
- file: utils/change-prop.yml
- env:
- PROP: date
- VALUE: '2000-06-01T00:00:00+02:00'
-- runFlow:
- file: utils/change-prop.yml
- env:
- PROP: timeZoneOffsetInMinutes
- VALUE: 180
-- runFlow: utils/swipe-wheel-3.yml
-- assertVisible: '2000-06-01 00:01:00'
-- assertVisible: 'Thu Jun 1101 AM '
-
- runFlow: utils/reset.yml
# test: timezoneOffsetInMinutes combined with maximumDate/minimumDate in another timezone than current device.
diff --git a/.maestro/utils/change-prop.yml b/.maestro/utils/change-prop.yml
index 556ed01..fb811bf 100644
--- a/.maestro/utils/change-prop.yml
+++ b/.maestro/utils/change-prop.yml
@@ -1,4 +1,4 @@
-appId: com.rn069
+appId: com.rn071
---
- tapOn: clear
- tapOn:
diff --git a/.maestro/utils/launch.yml b/.maestro/utils/launch.yml
index aed90f5..1dd39f6 100644
--- a/.maestro/utils/launch.yml
+++ b/.maestro/utils/launch.yml
@@ -1,4 +1,4 @@
-appId: com.rn069
+appId: com.rn071
---
- launchApp:
stopApp: true
diff --git a/.maestro/utils/reset.yml b/.maestro/utils/reset.yml
index 1b7b8fe..4d32958 100644
--- a/.maestro/utils/reset.yml
+++ b/.maestro/utils/reset.yml
@@ -1,4 +1,4 @@
-appId: com.rn069
+appId: com.rn071
---
- tapOn: 'Go back'
- tapOn: Advanced
diff --git a/.maestro/utils/swipe-wheel-1-modal.yml b/.maestro/utils/swipe-wheel-1-modal.yml
new file mode 100644
index 0000000..b491116
--- /dev/null
+++ b/.maestro/utils/swipe-wheel-1-modal.yml
@@ -0,0 +1,5 @@
+appId: com.rn071
+---
+- swipe:
+ start: 25%, 80%
+ end: 25%, 75%
diff --git a/.maestro/utils/swipe-wheel-1.yml b/.maestro/utils/swipe-wheel-1.yml
index 044f45f..d98a596 100644
--- a/.maestro/utils/swipe-wheel-1.yml
+++ b/.maestro/utils/swipe-wheel-1.yml
@@ -1,4 +1,4 @@
-appId: com.rn069
+appId: com.rn071
---
- swipe:
start: 25%, 40%
diff --git a/.maestro/utils/swipe-wheel-2.yml b/.maestro/utils/swipe-wheel-2.yml
index 4fa9848..5372db7 100644
--- a/.maestro/utils/swipe-wheel-2.yml
+++ b/.maestro/utils/swipe-wheel-2.yml
@@ -1,4 +1,4 @@
-appId: com.rn069
+appId: com.rn071
---
- swipe:
start: 50%, 40%
diff --git a/.maestro/utils/swipe-wheel-3.yml b/.maestro/utils/swipe-wheel-3.yml
index 63e6f44..2553933 100644
--- a/.maestro/utils/swipe-wheel-3.yml
+++ b/.maestro/utils/swipe-wheel-3.yml
@@ -1,4 +1,4 @@
-appId: com.rn069
+appId: com.rn071
---
- swipe:
start: 63%, 40%
diff --git a/.maestro/utils/swipe-wheel-4.yml b/.maestro/utils/swipe-wheel-4.yml
index 8191aa9..071e087 100644
--- a/.maestro/utils/swipe-wheel-4.yml
+++ b/.maestro/utils/swipe-wheel-4.yml
@@ -1,4 +1,4 @@
-appId: com.rn069
+appId: com.rn071
---
- swipe:
start: 75%, 40%
diff --git a/.xcode-version b/.xcode-version
new file mode 100644
index 0000000..7ea95c2
--- /dev/null
+++ b/.xcode-version
@@ -0,0 +1 @@
+14.3.1
\ No newline at end of file
diff --git a/examples/Rn071/.ruby-version b/examples/Rn071/.ruby-version
new file mode 100644
index 0000000..a603bb5
--- /dev/null
+++ b/examples/Rn071/.ruby-version
@@ -0,0 +1 @@
+2.7.5
diff --git a/examples/Rn071/App.tsx b/examples/Rn071/App.tsx
deleted file mode 100644
index b472daf..0000000
--- a/examples/Rn071/App.tsx
+++ /dev/null
@@ -1,131 +0,0 @@
-/**
- * Sample React Native App
- * https://github.com/facebook/react-native
- *
- * @format
- */
-
-import type {PropsWithChildren} from 'react';
-import React, {useState} from 'react';
-import {
- Button,
- SafeAreaView,
- ScrollView,
- StatusBar,
- StyleSheet,
- Text,
- useColorScheme,
- View,
-} from 'react-native';
-
-import DatePicker from 'react-native-date-picker';
-import {
- Colors,
- Header,
- LearnMoreLinks,
-} from 'react-native/Libraries/NewAppScreen';
-
-type SectionProps = PropsWithChildren<{
- title: string;
-}>;
-
-function Section({children, title}: SectionProps): JSX.Element {
- const isDarkMode = useColorScheme() === 'dark';
- const [date, setDate] = useState(new Date());
- const [open, setOpen] = useState(false);
- return (
-
-
- );
-}
-
-function App(): JSX.Element {
- const isDarkMode = useColorScheme() === 'dark';
-
- const backgroundStyle = {
- backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
- };
-
- return (
-
-
-
-
-
-
- Read the docs to discover what to do next:
-
-
-
-
-
- );
-}
-
-const styles = StyleSheet.create({
- sectionContainer: {
- marginTop: 32,
- paddingHorizontal: 24,
- },
- sectionTitle: {
- fontSize: 24,
- fontWeight: '600',
- },
- sectionDescription: {
- marginTop: 8,
- fontSize: 18,
- fontWeight: '400',
- },
- highlight: {
- fontWeight: '700',
- },
-});
-
-export default App;
diff --git a/examples/Rn071/index.js b/examples/Rn071/index.js
index a850d03..69303b3 100644
--- a/examples/Rn071/index.js
+++ b/examples/Rn071/index.js
@@ -3,7 +3,7 @@
*/
import {AppRegistry} from 'react-native';
-import App from './App';
+import App from './src/App';
import {name as appName} from './app.json';
AppRegistry.registerComponent(appName, () => App);
diff --git a/examples/Rn071/ios/Podfile.lock b/examples/Rn071/ios/Podfile.lock
index c27a73f..4bd0399 100644
--- a/examples/Rn071/ios/Podfile.lock
+++ b/examples/Rn071/ios/Podfile.lock
@@ -89,6 +89,11 @@ PODS:
- DoubleConversion
- fmt (~> 6.2.1)
- glog
+ - RCT-Folly/Fabric (2021.07.22.00):
+ - boost
+ - DoubleConversion
+ - fmt (~> 6.2.1)
+ - glog
- RCT-Folly/Futures (2021.07.22.00):
- boost
- DoubleConversion
@@ -121,8 +126,10 @@ PODS:
- RCTRequired
- RCTTypeSafety
- React-Core
+ - React-graphics
- React-jsi
- React-jsiexecutor
+ - React-rncore
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- React-Core (0.71.8):
@@ -301,6 +308,326 @@ PODS:
- React-logger (= 0.71.8)
- React-perflogger (= 0.71.8)
- React-runtimeexecutor (= 0.71.8)
+ - React-Fabric (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-Fabric/animations (= 0.71.8)
+ - React-Fabric/attributedstring (= 0.71.8)
+ - React-Fabric/butter (= 0.71.8)
+ - React-Fabric/componentregistry (= 0.71.8)
+ - React-Fabric/componentregistrynative (= 0.71.8)
+ - React-Fabric/components (= 0.71.8)
+ - React-Fabric/config (= 0.71.8)
+ - React-Fabric/core (= 0.71.8)
+ - React-Fabric/debug_core (= 0.71.8)
+ - React-Fabric/debug_renderer (= 0.71.8)
+ - React-Fabric/imagemanager (= 0.71.8)
+ - React-Fabric/leakchecker (= 0.71.8)
+ - React-Fabric/mapbuffer (= 0.71.8)
+ - React-Fabric/mounting (= 0.71.8)
+ - React-Fabric/runtimescheduler (= 0.71.8)
+ - React-Fabric/scheduler (= 0.71.8)
+ - React-Fabric/telemetry (= 0.71.8)
+ - React-Fabric/templateprocessor (= 0.71.8)
+ - React-Fabric/textlayoutmanager (= 0.71.8)
+ - React-Fabric/uimanager (= 0.71.8)
+ - React-Fabric/utils (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/animations (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/attributedstring (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/butter (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/componentregistry (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/componentregistrynative (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-Fabric/components/activityindicator (= 0.71.8)
+ - React-Fabric/components/image (= 0.71.8)
+ - React-Fabric/components/inputaccessory (= 0.71.8)
+ - React-Fabric/components/legacyviewmanagerinterop (= 0.71.8)
+ - React-Fabric/components/modal (= 0.71.8)
+ - React-Fabric/components/root (= 0.71.8)
+ - React-Fabric/components/safeareaview (= 0.71.8)
+ - React-Fabric/components/scrollview (= 0.71.8)
+ - React-Fabric/components/slider (= 0.71.8)
+ - React-Fabric/components/text (= 0.71.8)
+ - React-Fabric/components/textinput (= 0.71.8)
+ - React-Fabric/components/unimplementedview (= 0.71.8)
+ - React-Fabric/components/view (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/activityindicator (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/image (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/inputaccessory (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/legacyviewmanagerinterop (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/modal (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/root (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/safeareaview (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/scrollview (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/slider (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/text (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/textinput (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/unimplementedview (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/components/view (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - Yoga
+ - React-Fabric/config (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/core (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/debug_core (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/debug_renderer (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/imagemanager (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - React-RCTImage (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/leakchecker (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/mapbuffer (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/mounting (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/runtimescheduler (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/scheduler (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/telemetry (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/templateprocessor (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/textlayoutmanager (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-Fabric/uimanager
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/uimanager (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-Fabric/utils (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - RCTRequired (= 0.71.8)
+ - RCTTypeSafety (= 0.71.8)
+ - React-graphics (= 0.71.8)
+ - React-jsi (= 0.71.8)
+ - React-jsiexecutor (= 0.71.8)
+ - ReactCommon/turbomodule/core (= 0.71.8)
+ - React-graphics (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - React-Core/Default (= 0.71.8)
- React-hermes (0.71.8):
- DoubleConversion
- glog
@@ -329,9 +656,15 @@ PODS:
- React-jsinspector (0.71.8)
- React-logger (0.71.8):
- glog
- - react-native-date-picker (4.3.0-alpha.4):
+ - react-native-date-picker (4.3.3):
- RCT-Folly (= 2021.07.22.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Codegen
- React-Core
+ - React-RCTFabric
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
- React-perflogger (0.71.8)
- React-RCTActionSheet (0.71.8):
- React-Core/RCTActionSheetHeaders (= 0.71.8)
@@ -347,6 +680,8 @@ PODS:
- RCTRequired
- RCTTypeSafety
- React-Core
+ - React-graphics
+ - React-RCTFabric
- ReactCommon/turbomodule/core
- React-RCTBlob (0.71.8):
- hermes-engine
@@ -357,6 +692,11 @@ PODS:
- React-jsi (= 0.71.8)
- React-RCTNetwork (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.8)
+ - React-RCTFabric (0.71.8):
+ - RCT-Folly/Fabric (= 2021.07.22.00)
+ - React-Core (= 0.71.8)
+ - React-Fabric (= 0.71.8)
+ - React-RCTImage (= 0.71.8)
- React-RCTImage (0.71.8):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.8)
@@ -392,6 +732,7 @@ PODS:
- React-Core/RCTVibrationHeaders (= 0.71.8)
- React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.8)
+ - React-rncore (0.71.8)
- React-runtimeexecutor (0.71.8):
- React-jsi (= 0.71.8)
- ReactCommon/turbomodule/bridging (0.71.8):
@@ -452,6 +793,7 @@ DEPENDENCIES:
- libevent (~> 2.1.12)
- OpenSSL-Universal (= 1.1.1100)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
+ - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
- React (from `../node_modules/react-native/`)
@@ -462,6 +804,8 @@ DEPENDENCIES:
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
- React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
+ - React-Fabric (from `../node_modules/react-native/ReactCommon`)
+ - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`)
- React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
@@ -473,12 +817,14 @@ DEPENDENCIES:
- React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
- React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`)
- React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
+ - React-RCTFabric (from `../node_modules/react-native/React`)
- React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
- React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
- React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
- React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
+ - React-rncore (from `../node_modules/react-native/ReactCommon`)
- React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
@@ -532,6 +878,10 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/React/CoreModules"
React-cxxreact:
:path: "../node_modules/react-native/ReactCommon/cxxreact"
+ React-Fabric:
+ :path: "../node_modules/react-native/ReactCommon"
+ React-graphics:
+ :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics"
React-hermes:
:path: "../node_modules/react-native/ReactCommon/hermes"
React-jsi:
@@ -554,6 +904,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/Libraries/AppDelegate"
React-RCTBlob:
:path: "../node_modules/react-native/Libraries/Blob"
+ React-RCTFabric:
+ :path: "../node_modules/react-native/React"
React-RCTImage:
:path: "../node_modules/react-native/Libraries/Image"
React-RCTLinking:
@@ -566,6 +918,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/Libraries/Text"
React-RCTVibration:
:path: "../node_modules/react-native/Libraries/Vibration"
+ React-rncore:
+ :path: "../node_modules/react-native/ReactCommon"
React-runtimeexecutor:
:path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
ReactCommon:
@@ -578,7 +932,7 @@ SPEC CHECKSUMS:
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: f637f31eacba90d4fdeff3fa41608b8f361c173b
- FBReactNativeSpec: 0d9a4f4de7ab614c49e98c00aedfd3bfbda33d59
+ FBReactNativeSpec: 7fd4b5d618f41d5a75f79f0a85403d0fab3a3f80
Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0
Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c
Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30
@@ -598,27 +952,31 @@ SPEC CHECKSUMS:
RCTTypeSafety: bee9dd161c175896c680d47ef1d9eaacf2b587f4
React: d850475db9ba8006a8b875d79e1e0d6ac8a0f8b6
React-callinvoker: 6a0c75475ddc17c9ed54e4ff0478074a18fd7ab5
- React-Codegen: 786571642e87add634e7f4d299c85314ec6cc158
+ React-Codegen: e1e105c443745460088c60b2b7245b96b551a0ba
React-Core: 1adfab153f59e4f56e09b97a153089f466d7b8aa
React-CoreModules: 958d236715415d4ccdd5fa35c516cf0356637393
React-cxxreact: 2e7a6283807ce8755c3d501735acd400bec3b5cd
+ React-Fabric: c0c78fe6ce600c2b031108d2c878431087606895
+ React-graphics: 8bb5f3820341c00e9d7c866f15cd099a2e0eb0ee
React-hermes: 8102c3112ba32207c3052619be8cfae14bf99d84
React-jsi: dd29264f041a587e91f994e4be97e86c127742b2
React-jsiexecutor: 747911ab5921641b4ed7e4900065896597142125
React-jsinspector: c712f9e3bb9ba4122d6b82b4f906448b8a281580
React-logger: 342f358b8decfbf8f272367f4eacf4b6154061be
- react-native-date-picker: f9a448c58fe8e54f4dc03c0859a43a3f169a3644
+ react-native-date-picker: 1d9b7502c1cb2bde6efc492bc21ec4389ecdc65c
React-perflogger: d21f182895de9d1b077f8a3cd00011095c8c9100
React-RCTActionSheet: 0151f83ef92d2a7139bba7dfdbc8066632a6d47b
React-RCTAnimation: 5ec9c0705bb2297549c120fe6473aa3e4a01e215
- React-RCTAppDelegate: 9895fd1b6d1176d88c4b10ddc169b2e1300c91f0
+ React-RCTAppDelegate: de2547690467db436729e260ae0dcb780471ce49
React-RCTBlob: f3634eb45b6e7480037655e1ca93d1136ac984dd
+ React-RCTFabric: b64c9b843c59d353742d2497f36ae53bffb7898f
React-RCTImage: 3c12cb32dec49549ae62ed6cba4018db43841ffc
React-RCTLinking: 310e930ee335ef25481b4a173d9edb64b77895f9
React-RCTNetwork: b6837841fe88303b0c04c1e3c01992b30f1f5498
React-RCTSettings: 600d91fe25fa7c16b0ff891304082440f2904b89
React-RCTText: a0a19f749088280c6def5397ed6211b811e7eef3
React-RCTVibration: 43ffd976a25f6057a7cf95ea3648ba4e00287f89
+ React-rncore: af8e7df37a39fa66087ccfcb477154daebd3e479
React-runtimeexecutor: 7c51ae9d4b3e9608a2366e39ccaa606aa551b9ed
ReactCommon: 85c98ab0a509e70bf5ee5d9715cf68dbf495b84c
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
diff --git a/examples/Rn071/ios/Rn071.xcodeproj/project.pbxproj b/examples/Rn071/ios/Rn071.xcodeproj/project.pbxproj
index 478a7cc..9d2e4cf 100644
--- a/examples/Rn071/ios/Rn071.xcodeproj/project.pbxproj
+++ b/examples/Rn071/ios/Rn071.xcodeproj/project.pbxproj
@@ -498,7 +498,7 @@
"-ObjC",
"-lc++",
);
- PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_BUNDLE_IDENTIFIER = com.rn071;
PRODUCT_NAME = Rn071;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
@@ -524,7 +524,7 @@
"-ObjC",
"-lc++",
);
- PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_BUNDLE_IDENTIFIER = com.rn071;
PRODUCT_NAME = Rn071;
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
diff --git a/examples/Rn071/src/App.js b/examples/Rn071/src/App.js
new file mode 100644
index 0000000..46fdc67
--- /dev/null
+++ b/examples/Rn071/src/App.js
@@ -0,0 +1,89 @@
+import React, {Component} from 'react';
+import {
+ ScrollView,
+ StyleSheet,
+ Text,
+ TouchableOpacity,
+ SafeAreaView,
+} from 'react-native';
+import examples from './examples';
+
+export default class App extends Component {
+ state = {
+ picker: undefined,
+ };
+
+ render() {
+ return (
+
+
+ {!this.state.picker && 'Examples'}
+ {!this.state.picker && this.renderButtons()}
+ {!!this.state.picker && this.renderBackButton()}
+ {!!this.state.picker && this.renderPicker()}
+
+
+ );
+ }
+
+ setBackgroundColor = backgroundColor => this.setState({backgroundColor});
+
+ renderPicker = () => {
+ const Picker = examples[this.state.picker].component;
+ return (
+
+ );
+ };
+
+ renderButtons = () =>
+ Object.keys(examples)
+ .filter(key => key !== this.state.picker)
+ .map(this.renderButton);
+
+ renderButton = key => (
+ this.setState({picker: key})}
+ style={{margin: 10}}
+ >
+ {examples[key].buttonTitle}
+
+ );
+
+ renderBackButton = key => (
+ this.setState({picker: undefined})}
+ style={{margin: 10, position: 'absolute', top: 30, left: 0}}
+ >
+ Go back
+
+ );
+}
+
+const styles = StyleSheet.create({
+ container: {
+ paddingTop: 15,
+ borderWidth: 1,
+ },
+ content: {
+ alignItems: 'center',
+ },
+ text: {
+ color: 'dodgerblue',
+ fontSize: 16,
+ },
+ header: {
+ color: 'black',
+ fontSize: 22,
+ margin: 20,
+ },
+});
diff --git a/examples/Rn071/src/CustomPropValue.js b/examples/Rn071/src/CustomPropValue.js
new file mode 100644
index 0000000..d06f07c
--- /dev/null
+++ b/examples/Rn071/src/CustomPropValue.js
@@ -0,0 +1,59 @@
+import React, { useState } from 'react'
+import { Button, TextInput, Text, View, TouchableOpacity } from 'react-native'
+
+export default function CustomPropValue(props) {
+ const [propName, setPropName] = useState("")
+ const [propValue, setPropValue] = useState("")
+
+ const getPropValue = () => {
+ if (propValue === "undefined") return undefined
+ if (propName === "minuteInterval") return parseInt(propValue)
+ if (propName === "timeZoneOffsetInMinutes") return parseInt(propValue)
+ if (["date", "maximumDate", "minimumDate"].includes(propName)) return new Date(propValue)
+ return propValue
+ }
+
+ return (
+
+
+ Prop name
+
+ Prop value
+
+
+ props.changeProp({ propName, propValue: getPropValue() })}
+ >Change
+
+ {
+ setPropName('');
+ setPropValue('');
+ }}
+ >
+ Clear
+
+
+ )
+}
+
+const input = {
+ height: 30,
+ borderColor: 'gray',
+ borderWidth: 0.5,
+ margin: 2,
+ padding: 0,
+ alignItems: "center",
+ textAlign: "center"
+}
\ No newline at end of file
diff --git a/examples/Rn071/src/PropButton.js b/examples/Rn071/src/PropButton.js
new file mode 100644
index 0000000..63ec827
--- /dev/null
+++ b/examples/Rn071/src/PropButton.js
@@ -0,0 +1,6 @@
+import React, {Component} from 'react';
+import {Button} from 'react-native';
+
+export const PropButton = ({title, value, onChange}) => (
+