diff --git a/.claude/agents/deploy-blocker-investigator.md b/.claude/agents/deploy-blocker-investigator.md index 3b2a038a427b..02a06c5aec1d 100644 --- a/.claude/agents/deploy-blocker-investigator.md +++ b/.claude/agents/deploy-blocker-investigator.md @@ -129,6 +129,10 @@ removeDeployBlockerLabel.sh "$ISSUE_URL" DeployBlocker # For Frontend bugs Call scripts by name only (e.g., `removeDeployBlockerLabel.sh`), not with full paths. +### Step 8: Assign contributors + +When a causing PR is identified with medium or high confidence, assign the PR author and all approving reviewers to the deploy blocker issue using `gh issue edit "$ISSUE_URL" --add-assignee`. Extract approving reviewers from `gh pr view --json reviews`. + --- ## Decision Tree @@ -182,6 +186,7 @@ Post ONE comment using this exact format: Brief explanation of why this recommendation (1-2 sentences). +**Assigned**: @author (PR author), @reviewer (approving reviewer) — or omit if no causing PR identified **Labels**: [Describe any label changes made]
diff --git a/.claude/commands/investigate-deploy-blocker.md b/.claude/commands/investigate-deploy-blocker.md index ce96841f410f..814f219f184f 100644 --- a/.claude/commands/investigate-deploy-blocker.md +++ b/.claude/commands/investigate-deploy-blocker.md @@ -1,5 +1,5 @@ --- -allowed-tools: Bash(gh issue view:*),Bash(gh issue comment:*),Bash(gh issue list:*),Bash(gh pr view:*),Bash(gh pr list:*),Bash(gh pr diff:*),Bash(gh api:*),Bash(git log:*),Bash(git show:*),Bash(git blame:*),Bash(removeDeployBlockerLabel.sh:*),Glob,Grep,Read +allowed-tools: Bash(gh issue view:*),Bash(gh issue comment:*),Bash(gh issue edit:*),Bash(gh issue list:*),Bash(gh pr view:*),Bash(gh pr list:*),Bash(gh pr diff:*),Bash(gh api:*),Bash(git log:*),Bash(git show:*),Bash(git blame:*),Bash(removeDeployBlockerLabel.sh:*),Glob,Grep,Read description: Investigate a deploy blocker issue to find the causing PR and recommend resolution --- diff --git a/.github/actions/composite/setupNode/action.yml b/.github/actions/composite/setupNode/action.yml index 311bcd6990d1..3bd28aeed64f 100644 --- a/.github/actions/composite/setupNode/action.yml +++ b/.github/actions/composite/setupNode/action.yml @@ -49,7 +49,7 @@ runs: - name: Install root project node packages if: steps.cache-node-modules.outputs.cache-hit != 'true' || (inputs.IS_HYBRID_BUILD == 'true' && steps.cache-old-dot-node-modules.outputs.cache-hit != 'true') - uses: nick-fields/retry@3f757583fb1b1f940bc8ef4bf4734c8dc02a5847 + uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4 with: timeout_minutes: 30 max_attempts: 3 diff --git a/.github/workflows/buildIOS.yml b/.github/workflows/buildIOS.yml index 0c2077322b1a..16b945cc61ec 100644 --- a/.github/workflows/buildIOS.yml +++ b/.github/workflows/buildIOS.yml @@ -126,7 +126,7 @@ jobs: run: echo "IS_PODFILE_SAME_AS_MANIFEST=${{ hashFiles('Mobile-Expensify/iOS/Podfile.lock') == hashFiles('Mobile-Expensify/iOS/Pods/Manifest.lock') }}" >> "$GITHUB_OUTPUT" - name: Install cocoapods - uses: nick-fields/retry@3f757583fb1b1f940bc8ef4bf4734c8dc02a5847 + uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4 if: steps.pods-cache.outputs.cache-hit != 'true' || steps.compare-podfile-and-manifest.outputs.IS_PODFILE_SAME_AS_MANIFEST != 'true' || steps.setup-node.outputs.cache-hit != 'true' with: timeout_minutes: 10 diff --git a/.github/workflows/claude-review.yml b/.github/workflows/claude-review.yml index 8ea15f40beb3..ca547e41d5de 100644 --- a/.github/workflows/claude-review.yml +++ b/.github/workflows/claude-review.yml @@ -66,8 +66,9 @@ jobs: - name: Run Claude Code (code) id: code-review if: steps.filter.outputs.code == 'true' - uses: anthropics/claude-code-action@ea36d6abdedc17fc2a671b36060770b208a6f8f1 # v1.0.51 + uses: anthropics/claude-code-action@ba026a3e56b9f646ae3b1be02dd9c0812aa2f8ae # v1.0.86 with: + display_report: "true" anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} github_token: ${{ secrets.GITHUB_TOKEN }} allowed_non_write_users: "*" @@ -100,8 +101,9 @@ jobs: - name: Run Claude Code (docs) if: steps.filter.outputs.docs == 'true' - uses: anthropics/claude-code-action@ea36d6abdedc17fc2a671b36060770b208a6f8f1 # v1.0.51 + uses: anthropics/claude-code-action@ba026a3e56b9f646ae3b1be02dd9c0812aa2f8ae # v1.0.86 with: + display_report: "true" anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} github_token: ${{ secrets.GITHUB_TOKEN }} allowed_non_write_users: "*" diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index ebcd9cbb1919..f165e79ad8e4 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -66,7 +66,7 @@ jobs: # JS is better at handling JSON: https://stackoverflow.com/questions/72953526/github-actions-how-to-pass-tojson-result-to-shell-commands - name: Check if this deploy was triggered by a cherry-pick id: isCherryPick - uses: actions/github-script@e7aeb8c663f696059ebb5f9ab1425ed2ef511bdb + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 with: script: | const commitMessages = context.payload.commits.map((commit) => commit.message); diff --git a/.github/workflows/deployBlockerInvestigation.yml b/.github/workflows/deployBlockerInvestigation.yml index 7c4f0ce8a2ad..bd07fd4458a8 100644 --- a/.github/workflows/deployBlockerInvestigation.yml +++ b/.github/workflows/deployBlockerInvestigation.yml @@ -70,10 +70,11 @@ jobs: - name: Run Claude to investigate deploy blocker if: steps.validate.outputs.valid == 'true' - uses: anthropics/claude-code-action@ea36d6abdedc17fc2a671b36060770b208a6f8f1 # v1.0.51 + uses: anthropics/claude-code-action@ba026a3e56b9f646ae3b1be02dd9c0812aa2f8ae # v1.0.86 with: + display_report: "true" anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} github_token: ${{ secrets.OS_BOTIFY_TOKEN }} prompt: "/investigate-deploy-blocker ISSUE_URL: ${{ env.ISSUE_URL }}" claude_args: | - --allowedTools "Task,Glob,Grep,Read,Bash(gh issue view:*),Bash(gh issue comment:*),Bash(gh issue list:*),Bash(gh pr view:*),Bash(gh pr list:*),Bash(gh pr diff:*),Bash(gh api:*),Bash(git log:*),Bash(git show:*),Bash(git blame:*),Bash(removeDeployBlockerLabel.sh:*)" + --allowedTools "Task,Glob,Grep,Read,Bash(gh issue view:*),Bash(gh issue comment:*),Bash(gh issue edit:*),Bash(gh issue list:*),Bash(gh pr view:*),Bash(gh pr list:*),Bash(gh pr diff:*),Bash(gh api:*),Bash(git log:*),Bash(git show:*),Bash(git blame:*),Bash(removeDeployBlockerLabel.sh:*)" diff --git a/Gemfile b/Gemfile index 4a74f5363ad2..2c89f021d804 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,7 @@ source "https://rubygems.org" ruby ">= 3.3.4" gem "cocoapods", "= 1.16.2" -gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0' +gem 'activesupport', '>= 7.2.3.1' gem 'xcodeproj', '~> 1.27' gem "fastlane", "~> 2", ">= 2.229.0" gem "xcpretty", "~> 0" diff --git a/Gemfile.lock b/Gemfile.lock index 769319b16842..9e3c96f1c6e0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,7 +3,7 @@ GEM specs: CFPropertyList (3.0.8) abbrev (0.1.2) - activesupport (7.2.3) + activesupport (7.2.3.1) base64 benchmark (>= 0.3) bigdecimal @@ -12,7 +12,7 @@ GEM drb i18n (>= 1.6, < 2) logger (>= 1.4.2) - minitest (>= 5.1) + minitest (>= 5.1, < 6) securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.8) @@ -45,8 +45,8 @@ GEM aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) base64 (0.3.0) - benchmark (0.3.0) - bigdecimal (4.0.1) + benchmark (0.5.0) + bigdecimal (4.1.1) claide (1.1.0) cocoapods (1.16.2) addressable (~> 2.8) @@ -89,8 +89,8 @@ GEM colored2 (3.1.2) commander (4.6.0) highline (~> 2.0.0) - concurrent-ruby (1.3.5) - connection_pool (2.5.4) + concurrent-ruby (1.3.6) + connection_pool (3.0.2) csv (3.3.5) declarative (0.0.20) digest-crc (0.7.0) @@ -238,7 +238,7 @@ GEM domain_name (~> 0.5) httpclient (2.9.0) mutex_m - i18n (1.14.7) + i18n (1.14.8) concurrent-ruby (~> 1.0) jmespath (1.6.2) json (2.18.0) @@ -251,7 +251,7 @@ GEM mime-types-data (3.2025.0924) mini_magick (4.13.2) mini_mime (1.1.5) - minitest (5.26.1) + minitest (5.27.0) molinillo (0.8.0) multi_json (1.18.0) multipart-post (2.4.1) @@ -322,7 +322,7 @@ PLATFORMS x86_64-linux DEPENDENCIES - activesupport (>= 6.1.7.5, != 7.1.0) + activesupport (>= 7.2.3.1) benchmark bigdecimal cocoapods (= 1.16.2) diff --git a/Mobile-Expensify b/Mobile-Expensify index 9f1b0ad343de..37e8f9e619a8 160000 --- a/Mobile-Expensify +++ b/Mobile-Expensify @@ -1 +1 @@ -Subproject commit 9f1b0ad343de7ef40308fc79b54ac186d8b5c862 +Subproject commit 37e8f9e619a85009852a458437ff60fb16e4cc3c diff --git a/android/app/build.gradle b/android/app/build.gradle index 632a6705074e..7eee3568f22f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -111,8 +111,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1009035109 - versionName "9.3.51-9" + versionCode 1009035400 + versionName "9.3.54-0" // Supported language variants must be declared here to avoid from being removed during the compilation. // This also helps us to not include unnecessary language variants in the APK. resConfigs "en", "es" diff --git a/android/app/src/main/java/com/expensify/chat/MainActivity.kt b/android/app/src/main/java/com/expensify/chat/MainActivity.kt index bbc44e50a434..c1fc3c15b1e4 100644 --- a/android/app/src/main/java/com/expensify/chat/MainActivity.kt +++ b/android/app/src/main/java/com/expensify/chat/MainActivity.kt @@ -46,9 +46,6 @@ class MainActivity : ReactActivity() { .apply() BootSplash.init(this) super.onCreate(null) - if (resources.getBoolean(R.bool.portrait_only)) { - requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT - } // Sets translucent status bar. This code is based on what the react-native StatusBar // module does, but we need to do it here to avoid the splash screen jumping on app start. diff --git a/android/app/src/main/res/values-large/orientation.xml b/android/app/src/main/res/values-large/orientation.xml deleted file mode 100644 index 9f60d109a2fc..000000000000 --- a/android/app/src/main/res/values-large/orientation.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - true - diff --git a/android/app/src/main/res/values-sw600dp/orientation.xml b/android/app/src/main/res/values-sw600dp/orientation.xml deleted file mode 100644 index 9f60d109a2fc..000000000000 --- a/android/app/src/main/res/values-sw600dp/orientation.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - true - diff --git a/android/app/src/main/res/values/orientation.xml b/android/app/src/main/res/values/orientation.xml deleted file mode 100644 index 9f60d109a2fc..000000000000 --- a/android/app/src/main/res/values/orientation.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - true - diff --git a/assets/fonts/NotoSans-Symbols.ttf b/assets/fonts/NotoSans-Symbols.ttf new file mode 100644 index 000000000000..5c5e63166be9 Binary files /dev/null and b/assets/fonts/NotoSans-Symbols.ttf differ diff --git a/assets/images/camera-flip.svg b/assets/images/camera-flip.svg new file mode 100644 index 000000000000..6d05251e0c77 --- /dev/null +++ b/assets/images/camera-flip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/config/webpack/webpack.common.ts b/config/webpack/webpack.common.ts index aee98efa2a44..ed3fa5460180 100644 --- a/config/webpack/webpack.common.ts +++ b/config/webpack/webpack.common.ts @@ -135,7 +135,7 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment): new PreloadWebpackPlugin({ rel: 'preload', as: 'font', - fileWhitelist: [/\.woff2$/], + fileWhitelist: [/\.woff2|ttf$/], include: 'allAssets', }), new PreloadWebpackPlugin({ @@ -162,8 +162,8 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment): {from: 'assets/fonts/web', to: 'fonts'}, {from: 'assets/sounds', to: 'sounds'}, {from: 'assets/pdfs', to: 'pdfs'}, - {from: 'node_modules/react-pdf/dist/esm/Page/AnnotationLayer.css', to: 'css/AnnotationLayer.css'}, - {from: 'node_modules/react-pdf/dist/esm/Page/TextLayer.css', to: 'css/TextLayer.css'}, + {from: 'node_modules/react-pdf/dist/Page/AnnotationLayer.css', to: 'css/AnnotationLayer.css'}, + {from: 'node_modules/react-pdf/dist/Page/TextLayer.css', to: 'css/TextLayer.css'}, {from: '.well-known/apple-app-site-association', to: '.well-known/apple-app-site-association', toType: 'file'}, {from: '.well-known/assetlinks.json', to: '.well-known/assetlinks.json'}, @@ -260,7 +260,7 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment): // We are importing this worker as a string by using asset/source otherwise it will default to loading via an HTTPS request later. // This causes issues if we have gone offline before the pdfjs web worker is set up as we won't be able to load it from the server. { - test: new RegExp('node_modules/pdfjs-dist/build/pdf.worker.min.mjs'), + test: new RegExp('node_modules/pdfjs-dist/legacy/build/pdf.worker.min.mjs'), type: 'asset/source', }, @@ -299,7 +299,7 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment): use: isDevelopment ? ['style-loader', 'css-loader'] : [MiniCssExtractPlugin.loader, 'css-loader'], }, { - test: /\.(woff|woff2)$/i, + test: /\.(woff|woff2|ttf)$/i, type: 'asset', }, { @@ -330,6 +330,8 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment): 'victory-native': path.resolve(dirname, '../../node_modules/victory-native/src/index.ts'), // Required for @shopify/react-native-skia web support 'react-native/Libraries/Image/AssetRegistry': false, + // Use legacy build of pdfjs-dist to support older browsers + 'pdfjs-dist$': path.resolve(dirname, '../../node_modules/pdfjs-dist/legacy/build/pdf.mjs'), // Module alias for web // https://webpack.js.org/configuration/resolve/#resolvealias '@assets': path.resolve(dirname, '../../assets'), diff --git a/contributingGuides/BUGZERO_CHECKLIST.md b/contributingGuides/BUGZERO_CHECKLIST.md index 488d68c1cc31..de3ff5195c6f 100644 --- a/contributingGuides/BUGZERO_CHECKLIST.md +++ b/contributingGuides/BUGZERO_CHECKLIST.md @@ -1,8 +1,9 @@ # BugZero Checklist: -- [ ] **[Contributor]** The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. +- [ ] **[Contributor]** The offending PR and associated issue have been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. - Link to comment: + Link to the comment on the PR: + Link to the comment on the Issue: - [ ] **[Contributor]** If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in [#expensify-open-source](https://app.slack.com/client/E047TPA624F/C01GTK53T8Q) has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. diff --git a/cspell.json b/cspell.json index efae6be2eb95..21b805ebe87b 100644 --- a/cspell.json +++ b/cspell.json @@ -552,6 +552,7 @@ "phonenumber", "Picklist", "picklists", + "PINATM", "PINGPONG", "pkill", "Pluginfile", @@ -624,6 +625,7 @@ "remotedesktop", "remotesync", "removeHiddenElems", + "Renderable", "REPORTPREVIEW", "requestee", "Resawing", @@ -870,8 +872,8 @@ "zxcv", "zxldvw", "مثال", - "PINATM", "Airwallex", + "deprioritizes", "AMRO", "Bancorporation", "Banque", @@ -903,7 +905,9 @@ "Synovus", "Wallester", "Wintrust", - "Zürcher" + "Zürcher", + "CARDFROZEN", + "CARDUNFROZEN" ], "ignorePaths": [ "src/languages/de.ts", diff --git a/docs/articles/new-expensify/concierge-ai/What-Concierge-Can-Do.md b/docs/articles/new-expensify/concierge-ai/What-Concierge-Can-Do.md new file mode 100644 index 000000000000..5e149aa158e4 --- /dev/null +++ b/docs/articles/new-expensify/concierge-ai/What-Concierge-Can-Do.md @@ -0,0 +1,167 @@ +--- +title: What Concierge can help you do in Expensify +description: A complete reference of what you can ask Concierge to do in Expensify, with real examples of questions and actions. +keywords: [what can Concierge do, Concierge examples, Expensify AI capabilities, Concierge commands, expense assistant examples] +internalScope: Audience is all Expensify members. Covers a comprehensive capability reference for Concierge. Does not include step-by-step instructions for completing specific workflows. +--- + +# What Concierge can help you do in Expensify + +Concierge is your built-in assistant in Expensify. You can ask it questions, give it instructions, or describe what you want to do and it will respond or take action. + +Use this page as a reference for the types of things you can ask Concierge to do. + +If you're not sure whether Concierge can do something, try asking—it will either take action, explain, or connect you with a human. + +--- + +## Who can use Concierge + +All Expensify members can use Concierge. + +There are no special permissions required. Concierge is available across web, mobile, email, and chat. + +[Learn where to find Concierge](/articles/new-expensify/concierge-ai/Concierge-Basics#where-to-find-concierge). + +--- + +## How to ask Concierge for help in Expensify + +You can talk to Concierge like you would a coworker. You don’t need special commands—just describe what you want. Be as specific as possible for the best results. + +You can: +- Ask questions +- Give instructions +- Combine multiple requests in one message + +--- + +## What questions you can ask Concierge about Expensify + +Ask Concierge anything you’d normally search for or contact support about. + +Examples: +- “How do I change my Workspace settings?” +- “Why was this expense categorized as Travel?” +- “Why was my report submitted automatically?” +- “How do reimbursements work in my Workspace?” +- “Why isn’t my bank account syncing?” + +Concierge will answer or connect you with a human if needed. + +[Learn about Concierge Support Agent](/articles/new-expensify/concierge-ai/Support-Agent). + +--- + +## What issues Concierge can troubleshoot in Expensify + +Describe the problem, and Concierge will help you figure it out. + +Examples: +- “My card transaction isn’t showing up” +- “This report won’t submit—what’s wrong?” +- “Why was this expense marked non-reimbursable?” +- “My integration disconnected—how do I fix it?” + +--- + +## What actions Concierge can take on expenses + +You can create or update expenses just by describing what you need. + +Examples: +- “Create a $12 lunch expense for today” +- “Add a $60 dinner to my New York trip report” +- “Change this expense to Client Meals” +- “Make this expense non-reimbursable” +- “Update the amount to $45” +- “Add Alice as an attendee” + +You can also upload or forward receipts, and Concierge will create the expense for you. + +[Learn about Concierge Expense Assistant](/articles/new-expensify/concierge-ai/Expense-Assistant). + +--- + +## What actions Concierge can take on reports + +Concierge can help you manage reports without navigating through menus. + +Examples: +- “Submit my April expense report” +- “Approve Alice’s report” +- “Add this expense to my Chicago trip report” +- “Is this report reimbursable?” +- “Export this report” + +--- + +## What Concierge can explain about activity in Expensify + +You can always ask “why” to understand what happened. + +Examples: +- “Why did this get categorized as Office Supplies?” +- “Why was this report submitted automatically?” +- “Why did this expense get added to this report?” + +Concierge uses your Workspace rules and past behavior to explain decisions. + +[Learn about Concierge Intelligence](/articles/new-expensify/concierge-ai/Concierge-Intelligence). + +--- + +## How Concierge can help you improve your Expensify workflow + +You can describe a goal, and Concierge will help you figure out how to do it. + +Examples: +- “I want to require receipts for all expenses over $25—how do I do that?” +- “How should I set up approvals for my team?” +- “What’s the best way to organize reports for travel?” + +--- + +## What happens after you message Concierge + +After you send a message: +- Concierge responds in the same chat +- Actions are completed in real time when possible +- You’ll get confirmation of any changes +- If needed, your request is escalated to a human without restarting the conversation + +--- + +# FAQ + +## Do I need to use specific commands with Concierge? + +No. Just type naturally, like you’re messaging a coworker. + +## Can I ask multiple things in one message? + +Yes. Concierge can handle multi-step or combined requests. + +## What if Concierge can’t help? + +It will automatically connect you with a human support specialist, and you can also request one at any time. + +## What kinds of requests work best with Concierge? + +Concierge works best when your request is clear and specific. Including details like amounts, report names, dates, or people helps Concierge take action more accurately. + +## Can Concierge take actions without me opening a specific expense or report? + +Yes. You can describe what you want, and Concierge will find the relevant expense or report using context like names, amounts, and recent activity. If it’s unclear, Concierge will ask for more details. + +## Can I undo or correct something Concierge did? + +Yes. Just tell Concierge what to change, and it will update or fix the action. You can also ask it to explain what it did before making changes. + +## Does Concierge understand context from previous messages? + +Yes. Concierge remembers the context of your conversation, so you can ask follow-up questions or give additional instructions without repeating everything. + +## Are there things Concierge can’t do yet? + +Some advanced or bulk actions may not be supported yet. If something isn’t available, Concierge will let you know or guide you to the best alternative. diff --git a/docs/articles/new-expensify/connect-credit-cards/Company-Card-Settings.md b/docs/articles/new-expensify/connect-credit-cards/Company-Card-Settings.md index 916ef6202b2f..7ebd35852cf3 100644 --- a/docs/articles/new-expensify/connect-credit-cards/Company-Card-Settings.md +++ b/docs/articles/new-expensify/connect-credit-cards/Company-Card-Settings.md @@ -2,41 +2,58 @@ title: Company Card Settings description: Learn how to manage third-party company card feeds in Expensify, including commercial and direct feeds, accounting exports, and automated eReceipts. keywords: [New Expensify, company cards, card feed settings, third-party cards, commercial feeds, direct feeds, accounting exports, ereceipts, expense automation, card management] +internalScope: Applies to Workspace Admins. Covers how to manage third-party feeds on the workspace level. Does not cover the Expensify Card outside of plan availability. --- +# Company Card Settings + Workspace Admins can manage company card settings, export logic, and eReceipt functionality at the workspace level. This guide outlines how to configure your company card connection, route expenses to accounting systems, and automate receipt handling. +To set up a direct company credit card feed on a Workspace, see [Direct Feeds](/articles/new-expensify/connect-credit-cards/Direct-feeds)). + +To set up a commercial card file feed on a Workspace, see [Commercial Feeds](https://help.expensify.com/articles/new-expensify/connect-credit-cards/Commercial-feeds). + --- -# Manage Company Card Settings for Commercial and Direct Feeds +## Manage company card settings for company card feeds -To adjust your card feed configuration: +To update your Company Card feed settings: -1. Go to **Workspaces > [Workspace Name] > Company Cards**. -2. Click **Settings** in the top-right corner. +1. In the navigation tabs (on the left on web, on the bottom on mobile) navigate to **Workspaces > [Workspace Name]**. +2. Within the Workspace, select **Company Cards** and chose the relevant company card feed. +3. Click **Settings** in the top right corner. + +You can manage the following options: + +- **Card feed name** + Update the name of the card feed to help identify it. -**Available actions include:** +- **Allow deleting transactions** + Enable this setting to allow cardholders to delete card transactions. + + **Note:** This setting only applies to transactions imported after the setting is enabled. -- **Rename the card feed connection** -- **Control whether cardholders can delete transactions:** Applies only to new transactions going forward -- **Remove the card connection:** Unassigns all cards and deletes unsubmitted expenses in draft reports +- **Remove card feed** + Remove the card feed from the workspace and unassign all cards. If the feed is not connected to another workspace, it is permanently deleted. + + **Note:** Removing the feed or unassigning a card deletes all imported expenses in the **Unreported** and **Draft** states. ![Tap settings to open the card feed settings page]({{site.url}}/assets/images/Direct Feed HelpDot Images/directfeeds_12.png){:width="100%"} --- -# Export Transactions to Your Accounting System +## How to export transactions to your accounting system If you’ve connected accounting software (like **QuickBooks**, **NetSuite**, or **Xero**), you can export company card expenses either to a **central account** or **individual accounts**. -## Export to a Central Account +## How to export to a central account To apply this setting to all card expenses in the workspace: 1. Go to **Workspaces > [Workspace Name] > Accounting > Connections > Export**. 2. Under **Export company card expenses as**, choose **Central account**. -## Export to Individual Accounts +## How to export to individual accounts To override the central export account per card: @@ -48,7 +65,7 @@ To override the central export account per card: --- -# Use eReceipts with Third-Party Card Feeds +## How to use eReceipts with third-party card Feeds **eReceipts** are digital receipts that replace paper ones for many USD transactions of $75 or less on commercial and direct card feeds. diff --git a/docs/articles/new-expensify/connect-credit-cards/Personal-Cards.md b/docs/articles/new-expensify/connect-credit-cards/Personal-Cards.md index 5f5f27f794b1..91f6dcef01e5 100644 --- a/docs/articles/new-expensify/connect-credit-cards/Personal-Cards.md +++ b/docs/articles/new-expensify/connect-credit-cards/Personal-Cards.md @@ -1,8 +1,8 @@ --- title: Manage personal cards in New Expensify -description: Learn how to view and manage personal credit cards in New Expensify. -keywords: [personal cards, Wallet, reimbursable, credit card import, Expensify Classic, New Expensify, assigned cards, card details] -internalScope: Audience is members with personal credit cards already connected to their account. Covers viewing and managing existing personal cards in the Wallet, including reimbursable settings. Does not cover adding new personal cards or company card programs. +description: Learn how to view, manage, and fix broken connections for personal credit cards in New Expensify. +keywords: [New Expensify, personal cards, Wallet, reimbursable, credit card import, Expensify Classic, New Expensify, assigned cards, card details, broken connection, fix card] +internalScope: Audience is members with personal credit cards already connected to their account. Covers viewing and managing existing personal cards in the Wallet, including reimbursable settings and fixing broken card connections. Does not cover connecting new personal cards or company card programs. --- # Manage personal cards in New Expensify @@ -19,9 +19,9 @@ You can manage personal cards if you have a personal credit card that was alread --- -## Where to find personal cards in the Wallet +## How to view personal cards in Wallet -1. Navigate to **Account > Wallet** on web or mobile. +1. Click the navigation tabs (on the left on web, on the bottom on mobile), then select **Account > Wallet**. 2. Under **Assigned cards**: - Personal cards imported from Expensify Classic will appear here. - You'll see the card name, bank icon, and last 4 digits. @@ -35,18 +35,19 @@ If you have both company and personal cards, you'll see them separated into **Co ## What you can do with personal cards -You can: +You can: - View all personal cards imported from Expensify Classic - Automatically import transactions from your linked personal cards - Generate IRS-compliant eReceipts for eligible USD purchases - Update personal card settings +- Fix broken card connections - Filter expenses by card in the **Expenses** tab on the **Reports** page --- ## How to update personal card settings -1. Navigate to **Account > Wallet** on web or mobile. +1. Click the navigation tabs (on the left on web, on the bottom on mobile), then select **Account > Wallet**. 2. Under **Assigned cards**, select a personal card. 3. On the **Card details** page, you can: - Rename the card @@ -61,6 +62,54 @@ You can: --- +## Why a personal card connection can break + +A personal card connection can break when your bank can no longer authenticate your account. Common causes include: + +- Your bank login credentials changed (e.g., you updated your password). +- Your bank requires additional verification (e.g., multi-factor authentication expired). +- Your bank revoked access to the third-party connection. +- A temporary outage at your bank disrupted the connection. + +When a connection breaks, Expensify can no longer import new transactions from that card. + +--- + +## How to know when a personal card connection is broken + +When a personal card connection breaks, you'll see: + +- A notification in the **Time Sensitive** section on **Home**. +- A red dot indicator on **Wallet** in the navigation tabs. +- A red dot indicator on the card in **Wallet** leading to the error. + + + + +## How to fix a broken personal card connection + +1. In the navigation tabs (on the left on web, on the bottom on mobile) navigate to **Account > Wallet**. +2. Under **Assigned cards**, select the card with the broken connection. +3. Choose **Fix card**. +4. Log into your bank when prompted to re-authenticate the connection. + +If logging into your bank doesn't resolve the issue, tap **Update card** to attempt a manual refresh. + +--- + +## How the broken connection violation works + +When you have a broken personal card connection, Expensify adds a **broken connection** violation to receipt-scanned cash expenses across all of your workspaces. This violation holds those expenses back in case they need to be merged with card transactions once the connection is fixed. + +To resolve the violation, fix the broken card connection by following the steps above. The violation is automatically removed from affected expenses once the connection is restored. + +You can tap the hyperlinked text in the violation to go directly to the **Card details** page in **Wallet** where you can fix the connection. + +--- + # FAQ ## Can I add another personal card? @@ -69,9 +118,20 @@ Not yet. Only cards connected to your account in Expensify Classic are available ## Can I change the reimbursable setting for past transactions? -No. Changes to the reimbursable setting only apply to transactions imported after the change. +No. Changes to the reimbursable setting only apply to transactions imported after the change. + +## Why don't I see my personal card in the Wallet? + +Personal cards appear in the Wallet only if they were previously connected to your account in Expensify Classic. If your card doesn't show up, it means it wasn't connected before and isn't available to manage yet. + +## Why do I see a broken connection violation on my expenses? + +When a personal card connection breaks, Expensify adds a broken connection violation to receipt-scanned cash expenses. This holds them back in case they need to merge with card transactions once the connection is restored. Fix the card connection to remove the violation automatically. -## Why don’t I see my personal card in the Wallet? +## When is the broken connection error removed? -Personal cards appear in the Wallet only if they were previously connected to your account in Expensify Classic. If your card doesn’t show up, it means it wasn’t connected before and isn’t available to manage yet. +The broken connection error is automatically removed when any of the following occurs: +- Logging into your bank successfully re-authenticates the connection. +- Tapping Update card successfully refreshes the card. +- Expensify's daily automatic card refresh succeeds. diff --git a/docs/articles/new-expensify/expensify-card/Set-Up-and-Manage-the-Expensify-Card.md b/docs/articles/new-expensify/expensify-card/Set-Up-and-Manage-the-Expensify-Card.md index e739c310d35d..50cce6d5703f 100644 --- a/docs/articles/new-expensify/expensify-card/Set-Up-and-Manage-the-Expensify-Card.md +++ b/docs/articles/new-expensify/expensify-card/Set-Up-and-Manage-the-Expensify-Card.md @@ -2,6 +2,7 @@ title: Set Up and Manage Expensify Cards description: Learn how Workspace Admins can enable, issue, and manage Expensify Cards for employees, including spending limits, bank connections, and virtual card setup. keywords: [New Expensify, Expensify Card setup, manage virtual card, card limits, Expensify Visa, card settings, Workspace Admin] +internalScope: Applies to Workspace Admins. Covers Expensify Card setup and management. Does not cover troubleshooting or third-party feeds. --- Workspace Admins can enable and issue Expensify Visa® Commercial Cards to manage company spending with real-time controls and flexibility across employees and subscriptions. @@ -38,6 +39,8 @@ Link a U.S. business bank account to pay the card balance: 2. Click **Issue new card** 3. Choose an existing account or [add a new bank account](https://help.expensify.com/articles/new-expensify/expenses-and-payments/Connect-a-Business-Bank-Account) as the settlement account. +If you already have an Expensify Card feed on another workspace, you can select that existing feed instead of connecting a new bank account. This links the same card feed to the current workspace, so you can manage cards across multiple workspaces with a single settlement account. + ![Click the issue card button]({{site.url}}/assets/images/ExpensifyHelp-ExpensifyCard_02.png){:width="100%"} --- @@ -102,7 +105,7 @@ You’ll need a U.S. business bank account registered to a U.S.-incorporated bus ## Can I use Expensify Cards across multiple workspaces? -Yes, but each workspace must have its **own settlement account**. For example, using the card in three workspaces requires three separate bank accounts. +Yes. You can link a single Expensify Card feed to multiple workspaces using the same settlement account. When issuing cards on a new workspace, select an existing feed that is already connected to another workspace. Each workspace shows only its own members in the card list, but all workspaces share the same card feed and settlement account. ## Can an employee have multiple cards? diff --git a/docs/articles/new-expensify/getting-started/Navigating-New-Expensify.md b/docs/articles/new-expensify/getting-started/Navigating-New-Expensify.md index 120ecd2125ba..ec9162dade4c 100644 --- a/docs/articles/new-expensify/getting-started/Navigating-New-Expensify.md +++ b/docs/articles/new-expensify/getting-started/Navigating-New-Expensify.md @@ -98,7 +98,7 @@ From Account, you can manage: - **Security** to manage security options and Copilot delegated access You can also access: - - **Help** to browse Expensify's help site + - **Help** to access help and support resources, including a link to the help site - **What's new** to view product updates - **About** to see app details - **Troubleshoot** to run diagnostics or switch to Expensify Classic diff --git a/docs/articles/new-expensify/reports-and-expenses/Distance-Expenses.md b/docs/articles/new-expensify/reports-and-expenses/Distance-Expenses.md index 5dbddde2b551..8a69b68895b8 100644 --- a/docs/articles/new-expensify/reports-and-expenses/Distance-Expenses.md +++ b/docs/articles/new-expensify/reports-and-expenses/Distance-Expenses.md @@ -1,13 +1,13 @@ --- title: Distance Expenses -description: Learn how to create a Distance expense using GPS tracking, map-based routes, or manual entry, and how the reimbursement rate is determined in New Expensify. -keywords: [New Expensify, distance expense, mileage reimbursement, create expense, distance rate, workspace rate, map route, reimbursement rate, manual mileage, manual distance, global create, track distance, GPS, GPS tracking, start GPS, track route, track mileage, mileage tracking, calculate mileage reimbursement, mileage rate] -internalScope: Audience is all members. Covers creating Distance expenses using GPS tracking, map-based routes, and manual entry, plus how reimbursement rates are applied. Does not cover configuring Workspace distance rates in detail or broader report submission workflows. +description: Learn how to create a Distance expense using GPS tracking, map-based routes, manual entry, or odometer readings, and how the reimbursement rate is determined in New Expensify. +keywords: [New Expensify, distance expense, mileage reimbursement, create expense, distance rate, workspace rate, map route, reimbursement rate, manual mileage, manual distance, global create, track distance, GPS, GPS tracking, start GPS, track route, track mileage, mileage tracking, calculate mileage reimbursement, mileage rate, odometer, odometer reading, odometer image, odometer mileage, odometer distance, start reading, end reading] +internalScope: Audience is all members. Covers creating Distance expenses using GPS tracking, map-based routes, manual entry, and odometer readings, plus how reimbursement rates are applied. Does not cover configuring Workspace distance rates in detail or broader report submission workflows. --- # Distance Expenses -Expensify offers three ways to create a Distance expense: **GPS tracking** on mobile, **map-based routes** using start and end locations, or **manual entry** by typing in the distance. This guide explains each method and how the reimbursement rate is determined. +Expensify offers four ways to create a Distance expense: **GPS tracking** on mobile, **map-based routes** using start and end locations, **manual entry** by typing in the distance, or **odometer readings** using start and end values from your vehicle. This guide explains each method and how the reimbursement rate is determined. --- @@ -62,7 +62,28 @@ To create an expense by inputting a distance manually: - (Optional) Add a description, category, tag or receipt. 6. Select **Create expense**. -Once a Distance expense is created, it can be submitted on a report. To learn how to add expenses to a report, see [Create and Submit Reports](https://help.expensify.com/articles/new-expensify/reports-and-expenses/Create-and-Submit-Reports). +--- + +## How to create a Distance expense using Odometer readings (Web and Mobile) + +To create an expense using your vehicle's odometer readings: + +1. Select the **➕ Create** button and select **Track distance**. +2. Select **Odometer** from the top row. +3. Enter the **Start reading** from your odometer before the trip. +4. Enter the **End reading** from your odometer after the trip. + - The total distance is calculated automatically as you type. +5. (Optional) Select the image icon next to each reading to attach a photo of your odometer. +6. Select **Next**. +7. On the confirmation screen, review and confirm: + - Distance + - Amount + - Rate + - Date + - (Optional) Add a description, category, or tag. +8. Select **Create expense**. + +Once a Distance expense is created, it can be submitted on a report. To learn how to add expenses to a report, see [Create and Submit Reports](/articles/new-expensify/reports-and-expenses/Create-and-Submit-Reports). --- @@ -75,7 +96,7 @@ If you are creating expenses on a Workspace: - Workspace Admins set and manage the reimbursement rates for the workspace's distance unit (miles or kilometers). - When creating a Distance expense, the available reimbursement rates will show for selection. -[Learn how to manage distance rates as a Workspace Admin](https://help.expensify.com/articles/new-expensify/reports-and-expenses/Managing-Distance-Rates) +[Learn how to manage distance rates as a Workspace Admin](/articles/new-expensify/reports-and-expenses/Managing-Distance-Rates) ### Distance expenses created for personal tracking @@ -108,7 +129,7 @@ The expense amount is automatically calculated by multiplying the distance by th ## Can I edit a Distance expense after I’ve created it? -Yes! You can edit the expense before it is approved. To learn how to edit an expense, see [Managing Expenses in a Report](https://help.expensify.com/articles/new-expensify/reports-and-expenses/Managing-Expenses-in-a-Report). +Yes! You can edit the expense before it is approved. To learn how to edit an expense, see [Managing Expenses in a Report](/articles/new-expensify/reports-and-expenses/Managing-Expenses-in-a-Report). ## Can I update the Distance expense unit or rate? @@ -132,3 +153,15 @@ The GPS receipt shows a map of your actual route driven, along with the total di No. GPS tracking requires the iOS or Android mobile app because it uses your device's location services. On web or desktop, you'll see a prompt to download the mobile app when selecting GPS. You can still use map-based or manual distance entry on any platform. +## Can my odometer images be SmartScanned? + +SmartScan does not read odometer readings. You will need to manually enter the reading and upload supporting images. + +## Can I attach a photo of my odometer readings to the expense? + +Yes. Manual readings are required, but you have the option to attach images of the readings to your expense. + +## Can I add two odometer images to a distance expense? + +Yes. When you add two odometer images to a distance expense, they will be merged into a single image for easy viewing. + diff --git a/docs/articles/new-expensify/reports-and-expenses/How-to-Export-Expenses.md b/docs/articles/new-expensify/reports-and-expenses/How-to-Export-Expenses.md new file mode 100644 index 000000000000..5c82aba1bf2b --- /dev/null +++ b/docs/articles/new-expensify/reports-and-expenses/How-to-Export-Expenses.md @@ -0,0 +1,75 @@ +--- +title: How to Export Expenses +description: Learn how to export expenses from the Expenses page to CSV using default or custom export templates in New Expensify. +keywords: [New Expensify, export expenses, CSV export, download expenses, expense export template, bulk export expenses, expense data] +internalScope: Audience is all members. Covers exporting expenses from the Expenses page to CSV using export templates, both individually and in bulk. Does not cover exporting reports to CSV or PDF (see Export-Reports.md), exporting to an accounting integration, or company card reconciliation. +--- + +# How to export expenses + +Export expenses from the Expenses page using export templates to download a CSV file. + +If you’re trying to export a specific type of data, use the guides below: + - Expensify Card expenses: [View and Reconcile Expensify Card Expenses](/articles/new-expensify/expensify-card/View-and-Reconcile-Expensify-Card-Expenses). + - Company card expenses: [Statement Matching and Reconciliation](/articles/new-expensify/reports-and-expenses/Statement-Matching-and-Reconciliation). + - Full expense reports: [How to Export Reports](/articles/new-expensify/reports-and-expenses/How-to-Export-Reports). + +## How to export a single expense + +1. In the navigation tabs (on the left on web, on the bottom on mobile), go to **Reports** > **Expenses**. +2. Open the expense you want to export. +3. Select **More**. +4. Select **Export**. +5. Choose an export template from the menu that appears. + +You'll receive the exported CSV file in a message from Concierge. + +## How to export multiple expenses + +1. In the navigation tabs (on the left on web, on the bottom on mobile), go to **Reports** > **Expenses**. +2. Select the checkbox next to each expense you want to export, or use the top checkbox to select all. +3. Select **Selected** at the top. +4. Select **Export**. +5. Choose an export template from the menu that appears. + +You'll receive the exported CSV file in a message from Concierge. + +--- + +## What export templates can I choose from? + +Expensify offers pre-built export templates, or you can build your own custom export template. All available templates will appear in the menu when you export an expense. + + - **Basic export** - Essential fields including date, amount, merchant, category, and receipt URL. + - **All Data - expense level** - One row per expense with all available data fields. + - **custom templates** - Any custom template created by you or your Workspace Admin, if available. + + - **Custom templates** - Any custom template created by you or your Workspace Admin, if available. + +**Note** Currently, it's not possible to build custom export templates on New Expensify, they can only be created on Expensify Classic. However, once built they will be available on New Expensify when exporting expenses. [Learn how to build a custom export template in Expensify Classic](/articles/expensify-classic/spending-insights/Export-Expenses-And-Reports#create-a-custom-export-template). + +## Where do I find the exported file? + +For the Basic Export template, the file downloads directly to your device. For all other templates, Concierge sends the file to you in a direct message. Open your Concierge chat in the **Inbox** to find it. + +## Can I customize which columns appear in the export? + +If your Workspace Admin has created custom export templates, you can select one during export. Otherwise, columns follow the selected default template. + +## Why don't I see certain export templates? + +Report-level templates (such as All Data - Report Level Export) only appear when exporting from the Reports page with full reports selected. When exporting individual expenses from the Expenses page, only expense-level templates are available. + +## The data looks wrong in Excel. How can I fix it? + +Long IDs may appear in scientific notation. To fix this: +1. Open Excel and go to **File** > **Import**. +2. Select your CSV file and follow the prompts. +3. Set the report or transaction ID column to **Text** format. + +## Why are leading zeros missing in my export? + +Excel may remove leading zeros automatically. To prevent this: +1. Open Excel and go to **File** > **Import**. +2. Select your CSV file. +3. Set the relevant columns to **Text** format. diff --git a/docs/articles/new-expensify/reports-and-expenses/How-to-Export-Reports.md b/docs/articles/new-expensify/reports-and-expenses/How-to-Export-Reports.md new file mode 100644 index 000000000000..d3fd4a50149a --- /dev/null +++ b/docs/articles/new-expensify/reports-and-expenses/How-to-Export-Reports.md @@ -0,0 +1,87 @@ +--- +title: How to Export Reports +description: Learn how to export reports to CSV or download them as PDFs. +keywords: [New Expensify, export reports, CSV export, PDF download, download report, report export template, bulk export reports, report data] +internalScope: Audience is all members. Covers exporting reports from the Reports page to CSV using export templates (individually and in bulk), and downloading individual reports as PDF. Does not cover exporting individual expenses from the Expenses page (see Export-Expenses.md), exporting to an accounting integration, or company card reconciliation. +--- + +# How to export reports + +Export reports from the Reports page to a CSV file using export templates, and download individual reports as PDFs. + +If you’re trying to export a specific type of data, use the guides below: + + - Expensify Card expenses: [View and Reconcile Expensify Card Expenses](/articles/new-expensify/expensify-card/View-and-Reconcile-Expensify-Card-Expenses) + - Company card expenses: [Statement Matching and Reconciliation](/articles/new-expensify/reports-and-expenses/Statement-Matching-and-Reconciliation) + - Specific expenses: [Export Expenses](/articles/new-expensify/reports-and-expenses/How-to-Export-Expenses) + +## How to export a single report to CSV + +1. In the navigation tabs (on the left on web, on the bottom on mobile), go to **Reports**. +2. Open the report you want to export. +3. Select **More**. +4. Select **Export**. +5. Choose an export template from the menu that appears. + +You'll receive the exported CSV file in a message from Concierge. + +## How to export multiple reports + +1. In the navigation tabs (on the left on web, on the bottom on mobile), go to **Reports**. +2. Select the checkbox next to each report you want to export, or use the top checkbox to select all. +3. Select **Selected** at the top. +4. Select **Export**. +5. Choose an export template from the menu that appears. + +You'll receive the exported CSV file in a message from Concierge. + +## What export templates can I choose from? + +Expensify offers pre-built export templates, or you can build your own custom export template. All available templates will appear in the menu when you export a report. + + - **Basic export** - Essential fields including date, amount, merchant, category, and receipt URL. + - **All Data - expense level** - One row per expense on the report with all available data fields. + - **All Data - report level** - One row per report with all available data fields. + - **Custom templates** - Any custom template created by you or your Workspace Admin, if available. + +**Note** Currently, it's not possible to build custom export templates on New Expensify, they can only be created on Expensify Classic. However, once built they will be available on New Expensify when exporting reports. [Learn how to build a custom export template in Expensify Classic](/articles/expensify-classic/spending-insights/Export-Expenses-And-Reports#create-a-custom-export-template). +## How to download a report as a PDF +# How to download a report as a PDF + +1. In the navigation tabs (on the left on web, on the bottom on mobile), go to **Reports**. +2. Open the report you want to download. +3. Select **More**. +4. Select **Download as PDF**. + +The PDF includes all expenses, attached receipts, and report notes. PDF downloads are only available for individual reports - they cannot be downloaded in bulk. + +--- + +# FAQ + +## Where do I find the exported CSV file? + +For the Basic Export template, the file downloads directly to your device. For all other templates, Concierge sends the file to you in a direct message. Open your Concierge chat in the **Inbox** to find it. + +## What is the difference between expense-level and report-level export templates? + +- **Expense-level templates** (Basic Export, All Data - Expense Level Export) create one row per expense. Use these when you need detailed data for each individual expense. +- **Report-level templates** (All Data - Report Level Export) create one row per report with summary data. Use these when you need an overview of each report as a whole. + +## Can I customize which columns appear in the CSV export? + +If your Workspace Admin has created custom export templates, you can select one during export. Otherwise, columns follow the selected default template. + +## The data looks wrong in Excel. How can I fix it? + +Long IDs may appear in scientific notation. To fix this: +1. Open Excel and go to **File** > **Import**. +2. Select your CSV file and follow the prompts. +3. Set the report or transaction ID column to **Text** format. + +## Why are leading zeros missing in my export? + +Excel may remove leading zeros automatically. To prevent this: +1. Open Excel and go to **File** > **Import**. +2. Select your CSV file. +3. Set the relevant columns to **Text** format. diff --git a/docs/articles/new-expensify/reports-and-expenses/Using-search-operators.md b/docs/articles/new-expensify/reports-and-expenses/Using-search-operators.md index f4fd15164daa..8c7e3f955a2b 100644 --- a/docs/articles/new-expensify/reports-and-expenses/Using-search-operators.md +++ b/docs/articles/new-expensify/reports-and-expenses/Using-search-operators.md @@ -58,7 +58,7 @@ type:expense merchant:Starbucks category:Meals amount>20 has:receipt - `tag:` – tag or multiple tags - `amount:` / `purchase-amount:` – supports `=`, `>`, `<`, `>=`, `<=` - `status:` – unreported, draft, outstanding, approved, paid, done -- `date:` – expense date, supports relative dates like `date:this-month`, `date:last-month`, `date:year-to-date`, `date:this-week` +- `date:` – expense date, supports relative dates like `date:this-month`, `date:last-month`, `date:year-to-date`, `date:this-week`. Also supports comparisons (`date>=2024-01-01 date<=2024-01-31`) for date ranges - `has:` – attachment, receipt, category, tag - `expense-type:` – cash, card, distance, per-diem - `reimbursable:` and `billable:` – yes or no @@ -69,7 +69,7 @@ type:expense merchant:Starbucks category:Meals amount>20 has:receipt - `report-id:` – unique report reference - `status:` – draft, outstanding, approved, paid, done -- `submitted:` / `approved:` / `paid:` / `exported:` – supports absolute or relative dates +- `submitted:` / `approved:` / `paid:` / `exported:` – supports absolute or relative dates, and comparisons for date ranges (e.g., `submitted>=2024-01-01 submitted<=2024-01-31`) - `title:` – report title - `total:` – total amount with relative comparisons - `withdrawn:` – ACH withdrawal date diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index 5ba22b20c270..ba7b0c7494ea 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -23,7 +23,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 9.3.51 + 9.3.54 CFBundleSignature ???? CFBundleURLTypes @@ -44,7 +44,7 @@ CFBundleVersion - 9.3.51.9 + 9.3.54.0 FullStory OrgId @@ -128,11 +128,15 @@ UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight UISupportedInterfaceOrientations~ipad UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight UIViewControllerBasedStatusBarAppearance diff --git a/ios/NotificationServiceExtension/Info.plist b/ios/NotificationServiceExtension/Info.plist index e999c3c7ad89..1247ef2a36f8 100644 --- a/ios/NotificationServiceExtension/Info.plist +++ b/ios/NotificationServiceExtension/Info.plist @@ -11,9 +11,9 @@ CFBundleName $(PRODUCT_NAME) CFBundleShortVersionString - 9.3.51 + 9.3.54 CFBundleVersion - 9.3.51.9 + 9.3.54.0 NSExtension NSExtensionPointIdentifier diff --git a/ios/Podfile.lock b/ios/Podfile.lock index c0531436bcf9..201f203ac650 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -176,8 +176,6 @@ PODS: - hermes-engine - React-Core - ReactCommon - - ExpoSecureStore (14.2.4): - - ExpoModulesCore - ExpoStoreReview (9.0.9): - ExpoModulesCore - ExpoTaskManager (55.0.2): @@ -490,7 +488,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -516,7 +513,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -541,7 +537,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -568,7 +563,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -594,7 +588,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -620,7 +613,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -646,7 +638,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -672,7 +663,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -698,7 +688,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -724,7 +713,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -750,7 +738,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -776,7 +763,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -802,7 +788,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -828,7 +813,6 @@ PODS: - React-jsinspectorcdp - React-jsitooling - React-perflogger - - React-rendererconsistency - React-runtimeexecutor - React-runtimescheduler - React-utils @@ -4275,7 +4259,6 @@ DEPENDENCIES: - "ExpoLogBox (from `../node_modules/@expo/log-box`)" - ExpoModulesCore (from `../node_modules/expo-modules-core`) - ExpoModulesJSI (from `../node_modules/expo-modules-core`) - - ExpoSecureStore (from `../node_modules/expo-secure-store/ios`) - ExpoStoreReview (from `../node_modules/expo-store-review/ios`) - ExpoTaskManager (from `../node_modules/expo-task-manager/ios`) - ExpoVideo (from `../node_modules/expo-video/ios`) @@ -4283,7 +4266,7 @@ DEPENDENCIES: - fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) - - "FullStory (from `{:http=>\"https://ios-releases.fullstory.com/fullstory-1.68.3-xcframework.tar.gz\"}`)" + - "FullStory (from `{http: \"https://ios-releases.fullstory.com/fullstory-1.68.3-xcframework.tar.gz\"}`)" - "fullstory_react-native (from `../node_modules/@fullstory/react-native`)" - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - group-ib-fp (from `../node_modules/group-ib-fp`) @@ -4490,8 +4473,6 @@ EXTERNAL SOURCES: :path: "../node_modules/expo-modules-core" ExpoModulesJSI: :path: "../node_modules/expo-modules-core" - ExpoSecureStore: - :path: "../node_modules/expo-secure-store/ios" ExpoStoreReview: :path: "../node_modules/expo-store-review/ios" ExpoTaskManager: @@ -4768,7 +4749,7 @@ SPEC CHECKSUMS: AirshipServiceExtension: 50d11b2f62c4a490d4e81a1c36f70e2ecb70a27e AppAuth: d4f13a8fe0baf391b2108511793e4b479691fb73 AppLogs: 3bc4e9b141dbf265b9464409caaa40416a9ee0e0 - boost: 659a89341ea4ab3df8259733813b52f26d8be9a5 + boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb EXConstants: b3c63be5f8648e4ab8e6ff5099b62f629247f969 expensify-react-native-background-task: 03c640e1f5649692d058cba48c0a138f024a6dd3 @@ -4784,7 +4765,6 @@ SPEC CHECKSUMS: ExpoLogBox: 89b634d5a8a64c4a6a7caad8f9985a28463c7002 ExpoModulesCore: 1158e7941ddcff1677846dfdec27630e036e3904 ExpoModulesJSI: 455acaa72cb963ceb247df889c8e8cce3e6bbfe6 - ExpoSecureStore: 3f1b632d6d40bcc62b4983ef9199cd079592a50a ExpoStoreReview: 32bb43b6fae9c8db3e33cad69996dff3785eef5f ExpoTaskManager: 23d8ea66d21da98ddcef977f258d1fd62359c2db ExpoVideo: 17748c0ee95e746b6ec75d8522a714cb3e614fa1 @@ -4808,7 +4788,7 @@ SPEC CHECKSUMS: GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 GzipSwift: 893f3e48e597a1a4f62fafcb6514220fcf8287fa - hermes-engine: 197bf260539f6ee9f1156cb60db44a05533d1975 + hermes-engine: 0711ccb14bd615969ef611bc6c2483ea2ed3b09e libavif: 84bbb62fb232c3018d6f1bab79beea87e35de7b7 libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8 @@ -4836,7 +4816,7 @@ SPEC CHECKSUMS: React: 4bc1f928568ad4bcfd147260f907b4ea5873a03b React-callinvoker: 87f8728235a0dc62e9dc19b3851c829d9347d015 React-Codegen: 4b8b4817cea7a54b83851d4c1f91f79aa73de30a - React-Core: 176a81025968530159589ec4a67fe2962909fce9 + React-Core: 76bed73b02821e5630e7f2cb2e82432ee964695d React-CoreModules: 752dbfdaeb096658aa0adc4a03ba6214815a08df React-cxxreact: b6798528aa601c6db66e6adc7e2da2b059c8be74 React-debug: b2c9f60a9b7a81cefd737cb61e31c2bc39fdfe17 @@ -4888,7 +4868,7 @@ SPEC CHECKSUMS: React-NativeModulesApple: e554252d69442010807867cc7d70c0008048ad20 React-networking: 669cb54cc7e5b65d7dafeeb36970a1421adc8bb3 React-oscompat: 80166b66da22e7af7fad94474e9997bd52d4c8c6 - React-perflogger: decbf4d10c1f77d687af1d83a6ba9dc1b23715d6 + React-perflogger: d6797918d2b1031e91a9d8f5e7fdd2c8728fb390 React-performancecdpmetrics: 7706707d5dd49d708518a91abe456dcb585a5865 React-performancetimeline: c9807b559901c4298a92f6bcb069f49f518b7020 React-RCTActionSheet: 3bd5f5db9f983cf38d51bb9a7a198e2ebea94821 @@ -4904,7 +4884,7 @@ SPEC CHECKSUMS: React-RCTSettings: 2c45623d6c0f30851a123f621eb9d32298bcbb0c React-RCTText: 0ee70f5dc18004b4d81b2c214267c6cbec058587 React-RCTVibration: 88557e21e7cc3fe76b5b174cba28ff45c6def997 - React-rendererconsistency: 5236fe878921773ef9274c44e189e057672ef5bc + React-rendererconsistency: ac8a9e9ee3eb299458cc848944133ff4be46cc41 React-renderercss: f04cbe3b06ee071c6ca724f41a3c3aa31332601e React-rendererdebug: 2a2e4f7d42abcbec2047e989a1afda5d62905679 React-RuntimeApple: ce2ae0ea88316a7c708be1e6601e4ec5f6febdce diff --git a/ios/ShareViewController/Info.plist b/ios/ShareViewController/Info.plist index 8d4f71113043..d3864cd3be8b 100644 --- a/ios/ShareViewController/Info.plist +++ b/ios/ShareViewController/Info.plist @@ -11,9 +11,9 @@ CFBundleName $(PRODUCT_NAME) CFBundleShortVersionString - 9.3.51 + 9.3.54 CFBundleVersion - 9.3.51.9 + 9.3.54.0 NSExtension NSExtensionAttributes diff --git a/jest.config.js b/jest.config.js index c397bbc89b91..1e13b56d427d 100644 --- a/jest.config.js +++ b/jest.config.js @@ -14,7 +14,7 @@ module.exports = { '^.+\\.svg?$': 'jest-transformer-svg', }, transformIgnorePatterns: [ - '/node_modules/(?!.*(react-native|expo|@noble|react-navigation|uuid|@shopify\/flash-list).*/)', + '/node_modules/(?!.*(react-native|expo|react-navigation|uuid|@shopify\/flash-list).*/)', // Prevent Babel from transforming worklets in this file so they are treated as normal functions, otherwise FormatSelectionUtilsTest won't run. '/node_modules/@expensify/react-native-live-markdown/lib/commonjs/parseExpensiMark.js', ], @@ -35,8 +35,6 @@ module.exports = { moduleNameMapper: { '\\.(lottie)$': '/__mocks__/fileMock.ts', '^group-ib-fp$': '/__mocks__/group-ib-fp.ts', - '@noble/ed25519': '/node_modules/@noble/ed25519/index.ts', - '@noble/hashes/(.*)': '/node_modules/@noble/hashes/src/$1.ts', '^parse-imports-exports$': '/node_modules/parse-imports-exports/index.cjs', }, }; diff --git a/jest/setup.ts b/jest/setup.ts index f9a2fd198927..3625e9138a50 100644 --- a/jest/setup.ts +++ b/jest/setup.ts @@ -12,7 +12,6 @@ import mockStorage from 'react-native-onyx/dist/storage/__mocks__'; import type Animated from 'react-native-reanimated'; import 'setimmediate'; import {TextDecoder, TextEncoder} from 'util'; -import * as MockedSecureStore from '@src/libs/MultifactorAuthentication/NativeBiometrics/SecureStore/index.web'; import '@src/polyfills/PromiseWithResolvers'; import mockFSLibrary from './setupMockFullstoryLib'; import setupMockImages from './setupMockImages'; @@ -125,9 +124,6 @@ jest.mock('react-native-share', () => ({ default: jest.fn(), })); -// Jest has no access to the native secure store module, so we mock it with the web implementation. -jest.mock('@src/libs/MultifactorAuthentication/NativeBiometrics/SecureStore', () => MockedSecureStore); - jest.mock('react-native-reanimated', () => ({ ...jest.requireActual('react-native-reanimated/mock'), createAnimatedPropAdapter: jest.fn, @@ -385,3 +381,10 @@ jest.mock('@src/hooks/useDomainDocumentTitle', () => ({ __esModule: true, default: jest.fn(), })); + +jest.mock('react-native-vision-camera', () => ({ + Camera: 'Camera', + useCameraDevice: jest.fn(() => null), + useCameraFormat: jest.fn(() => null), + useCameraPermission: jest.fn(() => ({hasPermission: false, requestPermission: jest.fn()})), +})); diff --git a/package-lock.json b/package-lock.json index a00fe77d3f31..ba95e316d3bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "new.expensify", - "version": "9.3.51-9", + "version": "9.3.54-0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "new.expensify", - "version": "9.3.51-9", + "version": "9.3.54-0", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -29,8 +29,6 @@ "@fullstory/react-native": "^1.9.0", "@gorhom/portal": "^1.0.14", "@invertase/react-native-apple-authentication": "^2.5.0", - "@noble/ed25519": "^3.0.0", - "@noble/hashes": "^2.0.0", "@onfido/react-native-sdk": "15.1.0", "@pusher/pusher-websocket-react-native": "^1.3.1", "@react-native-camera-roll/camera-roll": "7.4.0", @@ -41,10 +39,11 @@ "@react-native-firebase/app": "^22.2.1", "@react-native-google-signin/google-signin": "^10.0.1", "@react-native-picker/picker": "2.11.3", - "@react-navigation/material-top-tabs": "7.2.13", - "@react-navigation/native": "7.1.10", - "@react-navigation/native-stack": "7.3.14", - "@react-navigation/stack": "7.3.3", + "@react-navigation/core": "7.16.1", + "@react-navigation/material-top-tabs": "7.4.19", + "@react-navigation/native": "7.1.33", + "@react-navigation/native-stack": "7.14.5", + "@react-navigation/stack": "7.8.5", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "10.1.44", "@sbaiahmed1/react-native-biometrics": "0.14.0", @@ -68,7 +67,6 @@ "expo-image-manipulator": "55.0.2", "expo-location": "55.0.3", "expo-modules-core": "55.0.4", - "expo-secure-store": "~14.2.4", "expo-store-review": "~9.0.8", "expo-task-manager": "55.0.2", "expo-video": "55.0.3", @@ -92,7 +90,7 @@ "react-content-loader": "^7.0.0", "react-dom": "19.2.0", "react-error-boundary": "^4.0.11", - "react-fast-pdf": "^1.0.29", + "react-fast-pdf": "^1.0.32", "react-is": "^18.3.1", "react-map-gl": "^7.1.3", "react-native": "0.83.1", @@ -116,7 +114,7 @@ "react-native-localize": "^3.5.4", "react-native-nitro-modules": "0.29.4", "react-native-nitro-sqlite": "9.2.0", - "react-native-onyx": "3.0.54", + "react-native-onyx": "3.0.57", "react-native-pager-view": "8.0.0", "react-native-pdf": "7.0.2", "react-native-permissions": "^5.4.0", @@ -129,7 +127,7 @@ "react-native-screens": "4.15.4", "react-native-share": "11.0.2", "react-native-svg": "15.12.1", - "react-native-tab-view": "^4.1.0", + "react-native-tab-view": "^4.3.0", "react-native-url-polyfill": "^2.0.0", "react-native-view-shot": "4.0.0", "react-native-vision-camera": "^4.7.2", @@ -176,8 +174,7 @@ "@react-native-community/cli-platform-ios": "20.0.0", "@react-native/babel-preset": "0.83.1", "@react-native/metro-config": "0.83.1", - "@react-navigation/core": "7.10.0", - "@react-navigation/devtools": "^6.0.10", + "@react-navigation/devtools": "7.0.52", "@rock-js/platform-android": "0.12.10", "@rock-js/platform-ios": "0.12.10", "@rock-js/plugin-metro": "0.12.10", @@ -10275,6 +10272,256 @@ "react": ">=16" } }, + "node_modules/@napi-rs/canvas": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.97.tgz", + "integrity": "sha512-8cFniXvrIEnVwuNSRCW9wirRZbHvrD3JVujdS2P5n5xiJZNZMOZcfOvJ1pb66c7jXMKHHglJEDVJGbm8XWFcXQ==", + "license": "MIT", + "optional": true, + "workspaces": [ + "e2e/*" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/canvas-android-arm64": "0.1.97", + "@napi-rs/canvas-darwin-arm64": "0.1.97", + "@napi-rs/canvas-darwin-x64": "0.1.97", + "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.97", + "@napi-rs/canvas-linux-arm64-gnu": "0.1.97", + "@napi-rs/canvas-linux-arm64-musl": "0.1.97", + "@napi-rs/canvas-linux-riscv64-gnu": "0.1.97", + "@napi-rs/canvas-linux-x64-gnu": "0.1.97", + "@napi-rs/canvas-linux-x64-musl": "0.1.97", + "@napi-rs/canvas-win32-arm64-msvc": "0.1.97", + "@napi-rs/canvas-win32-x64-msvc": "0.1.97" + } + }, + "node_modules/@napi-rs/canvas-android-arm64": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.97.tgz", + "integrity": "sha512-V1c/WVw+NzH8vk7ZK/O8/nyBSCQimU8sfMsB/9qeSvdkGKNU7+mxy/bIF0gTgeBFmHpj30S4E9WHMSrxXGQuVQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-darwin-arm64": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.97.tgz", + "integrity": "sha512-ok+SCEF4YejcxuJ9Rm+WWunHHpf2HmiPxfz6z1a/NFQECGXtsY7A4B8XocK1LmT1D7P174MzwPF9Wy3AUAwEPw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-darwin-x64": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.97.tgz", + "integrity": "sha512-PUP6e6/UGlclUvAQNnuXCcnkpdUou6VYZfQOQxExLp86epOylmiwLkqXIvpFmjoTEDmPmXrI+coL/9EFU1gKPA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.97.tgz", + "integrity": "sha512-XyXH2L/cic8eTNtbrXCcvqHtMX/nEOxN18+7rMrAM2XtLYC/EB5s0wnO1FsLMWmK+04ZSLN9FBGipo7kpIkcOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-arm64-gnu": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.97.tgz", + "integrity": "sha512-Kuq/M3djq0K8ktgz6nPlK7Ne5d4uWeDxPpyKWOjWDK2RIOhHVtLtyLiJw2fuldw7Vn4mhw05EZXCEr4Q76rs9w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-arm64-musl": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.97.tgz", + "integrity": "sha512-kKmSkQVnWeqg7qdsiXvYxKhAFuHz3tkBjW/zyQv5YKUPhotpaVhpBGv5LqCngzyuRV85SXoe+OFj+Tv0a0QXkQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-riscv64-gnu": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.97.tgz", + "integrity": "sha512-Jc7I3A51jnEOIAXeLsN/M/+Z28LUeakcsXs07FLq9prXc0eYOtVwsDEv913Gr+06IRo34gJJVgT0TXvmz+N2VA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-x64-gnu": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.97.tgz", + "integrity": "sha512-iDUBe7AilfuBSRbSa8/IGX38Mf+iCSBqoVKLSQ5XaY2JLOaqz1TVyPFEyIck7wT6mRQhQt5sN6ogfjIDfi74tg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-x64-musl": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.97.tgz", + "integrity": "sha512-AKLFd/v0Z5fvgqBDqhvqtAdx+fHMJ5t9JcUNKq4FIZ5WH+iegGm8HPdj00NFlCSnm83Fp3Ln8I2f7uq1aIiWaA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-win32-arm64-msvc": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.97.tgz", + "integrity": "sha512-u883Yr6A6fO7Vpsy9YE4FVCIxzzo5sO+7pIUjjoDLjS3vQaNMkVzx5bdIpEL+ob+gU88WDK4VcxYMZ6nmnoX9A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-win32-x64-msvc": { + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.97.tgz", + "integrity": "sha512-sWtD2EE3fV0IzN+iiQUqr/Q1SwqWhs2O1FKItFlxtdDkikpEj5g7DKQpY3x55H/MAOnL8iomnlk3mcEeGiUMoQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, "node_modules/@napi-rs/wasm-runtime": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", @@ -10321,27 +10568,6 @@ "eslint-scope": "5.1.1" } }, - "node_modules/@noble/ed25519": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-3.0.0.tgz", - "integrity": "sha512-QyteqMNm0GLqfa5SoYbSC3+Pvykwpn95Zgth4MFVSMKBB75ELl9tX1LAVsN4c3HXOrakHsF2gL4zWDAYCcsnzg==", - "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/hashes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.0.tgz", - "integrity": "sha512-h8VUBlE8R42+XIDO229cgisD287im3kdY6nbNZJFjc6ZvKIXPYXe6Vc/t+kyjFdMFyt5JpapzTsEg8n63w5/lw==", - "license": "MIT", - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "devOptional": true, @@ -12411,15 +12637,18 @@ } }, "node_modules/@react-navigation/core": { - "version": "7.10.0", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-7.16.1.tgz", + "integrity": "sha512-xhquoyhKdqDfiL7LuupbwYnmauUGfVFGDEJO34m26k8zSN1eDjQ2stBZcHN8ILOI1PrG9885nf8ZmfaQxPS0ww==", "license": "MIT", "dependencies": { - "@react-navigation/routers": "^7.4.0", + "@react-navigation/routers": "^7.5.3", "escape-string-regexp": "^4.0.0", + "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", "query-string": "^7.1.3", "react-is": "^19.1.0", - "use-latest-callback": "^0.2.3", + "use-latest-callback": "^0.2.4", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { @@ -12427,38 +12656,39 @@ } }, "node_modules/@react-navigation/core/node_modules/react-is": { - "version": "19.1.0", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.4.tgz", + "integrity": "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==", "license": "MIT" }, - "node_modules/@react-navigation/core/node_modules/use-latest-callback": { - "version": "0.2.3", - "license": "MIT", - "peerDependencies": { - "react": ">=16.8" - } - }, "node_modules/@react-navigation/devtools": { - "version": "6.0.10", + "version": "7.0.52", + "resolved": "https://registry.npmjs.org/@react-navigation/devtools/-/devtools-7.0.52.tgz", + "integrity": "sha512-YqSr1c4USLCdTttltfwOXoPNHlEhnLmSSehGPt7j7yrXDXj55qRQA4aNF0p02paTN2phN17oBaBPcC2nSbqtfw==", "dev": true, "license": "MIT", "dependencies": { - "deep-equal": "^2.0.5", - "nanoid": "^3.1.23", - "stacktrace-parser": "^0.1.10" + "fast-deep-equal": "^3.1.3", + "nanoid": "^3.3.11", + "stacktrace-parser": "^0.1.11" }, "peerDependencies": { - "react": "*" + "react": ">= 18.2.0" } }, "node_modules/@react-navigation/elements": { - "version": "2.4.3", + "version": "2.9.10", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-2.9.10.tgz", + "integrity": "sha512-N8tuBekzTRb0pkMHFJGvmC6Q5OisSbt6gzvw7RHMnp4NDo5auVllT12sWFaTXf8mTduaLKNSrD/NZNaOqThCBg==", "license": "MIT", "dependencies": { - "color": "^4.2.3" + "color": "^4.2.3", + "use-latest-callback": "^0.2.4", + "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "@react-native-masked-view/masked-view": ">= 0.2.0", - "@react-navigation/native": "^7.1.10", + "@react-navigation/native": "^7.1.33", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0" @@ -12470,15 +12700,17 @@ } }, "node_modules/@react-navigation/material-top-tabs": { - "version": "7.2.13", + "version": "7.4.19", + "resolved": "https://registry.npmjs.org/@react-navigation/material-top-tabs/-/material-top-tabs-7.4.19.tgz", + "integrity": "sha512-jYGgItg51bjy3ypKeLm7sNEmGh0tFLn0VLV/p06iUprwKzuIvQESFin9M2+HUHa0pE1+g5tnf/ECKQJiAw712Q==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^2.4.2", + "@react-navigation/elements": "^2.9.10", "color": "^4.2.3", - "react-native-tab-view": "^4.1.0" + "react-native-tab-view": "^4.3.0" }, "peerDependencies": { - "@react-navigation/native": "^7.1.9", + "@react-navigation/native": "^7.1.33", "react": ">= 18.2.0", "react-native": "*", "react-native-pager-view": ">= 6.0.0", @@ -12486,14 +12718,16 @@ } }, "node_modules/@react-navigation/native": { - "version": "7.1.10", + "version": "7.1.33", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-7.1.33.tgz", + "integrity": "sha512-DpFdWGcgLajKZ1TuIvDNQsblN2QaUFWpTQaB8v7WRP9Mix8H/6TFoIrZd93pbymI2hybd6UYrD+lI408eWVcfw==", "license": "MIT", "dependencies": { - "@react-navigation/core": "^7.10.0", + "@react-navigation/core": "^7.16.1", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", - "use-latest-callback": "^0.2.3" + "use-latest-callback": "^0.2.4" }, "peerDependencies": { "react": ">= 18.2.0", @@ -12501,43 +12735,45 @@ } }, "node_modules/@react-navigation/native-stack": { - "version": "7.3.14", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-7.14.5.tgz", + "integrity": "sha512-NuyMf21kKk3jODvYgpcDA+HwyWr/KEj72ciqquyEupZlsmQ3WNUGgdaixEB3A19+iPOvHLQzDLcoTrrqZk8Leg==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^2.4.3", + "@react-navigation/elements": "^2.9.10", + "color": "^4.2.3", + "sf-symbols-typescript": "^2.1.0", "warn-once": "^0.1.1" }, "peerDependencies": { - "@react-navigation/native": "^7.1.10", + "@react-navigation/native": "^7.1.33", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0", "react-native-screens": ">= 4.0.0" } }, - "node_modules/@react-navigation/native/node_modules/use-latest-callback": { - "version": "0.2.3", - "license": "MIT", - "peerDependencies": { - "react": ">=16.8" - } - }, "node_modules/@react-navigation/routers": { - "version": "7.4.0", + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-7.5.3.tgz", + "integrity": "sha512-1tJHg4KKRJuQ1/EvJxatrMef3NZXEPzwUIUZ3n1yJ2t7Q97siwRtbynRpQG9/69ebbtiZ8W3ScOZF/OmhvM4Rg==", "license": "MIT", "dependencies": { "nanoid": "^3.3.11" } }, "node_modules/@react-navigation/stack": { - "version": "7.3.3", + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-7.8.5.tgz", + "integrity": "sha512-ZOD1gUhWpbI+1PD5mKZFnLBh3Vfq2bqhO5/NeEruaQwNdXkiiHpi59OUKMnFRQURjjYXf/skTM9hJa6zHdiyFw==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^2.4.3", - "color": "^4.2.3" + "@react-navigation/elements": "^2.9.10", + "color": "^4.2.3", + "use-latest-callback": "^0.2.4" }, "peerDependencies": { - "@react-navigation/native": "^7.1.10", + "@react-navigation/native": "^7.1.33", "react": ">= 18.2.0", "react-native": "*", "react-native-gesture-handler": ">= 2.0.0", @@ -19813,6 +20049,8 @@ }, "node_modules/clsx": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "license": "MIT", "engines": { "node": ">=6" @@ -21336,36 +21574,13 @@ }, "node_modules/decode-uri-component": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "license": "MIT", "engines": { "node": ">=0.10" } }, - "node_modules/decompress-response": { - "version": "6.0.0", - "license": "MIT", - "optional": true, - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -21383,39 +21598,6 @@ "node": ">=6" } }, - "node_modules/deep-equal": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "es-get-iterator": "^1.1.1", - "get-intrinsic": "^1.0.1", - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.2", - "is-regex": "^1.1.1", - "isarray": "^2.0.5", - "object-is": "^1.1.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.3", - "which-boxed-primitive": "^1.0.1", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/deep-is": { "version": "0.1.4", "dev": true, @@ -21938,14 +22120,6 @@ "iconv-lite": "^0.6.2" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "license": "MIT", - "optional": true, - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/endent": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/endent/-/endent-2.1.0.tgz", @@ -22106,24 +22280,6 @@ "node": ">= 0.4" } }, - "node_modules/es-get-iterator": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.0", - "has-symbols": "^1.0.1", - "is-arguments": "^1.1.0", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-iterator-helpers": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", @@ -23419,14 +23575,6 @@ "node": ">= 0.8.0" } }, - "node_modules/expand-template": { - "version": "2.0.3", - "license": "(MIT OR WTFPL)", - "optional": true, - "engines": { - "node": ">=6" - } - }, "node_modules/expect": { "version": "29.7.0", "dev": true, @@ -23791,15 +23939,6 @@ "react-native": "*" } }, - "node_modules/expo-secure-store": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/expo-secure-store/-/expo-secure-store-14.2.4.tgz", - "integrity": "sha512-ePaz4fnTitJJZjAiybaVYGfLWWyaEtepZC+vs9ZBMhQMfG5HUotIcVsDaSo3FnwpHmgwsLVPY2qFeryI6AtULw==", - "license": "MIT", - "peerDependencies": { - "expo": "*" - } - }, "node_modules/expo-server": { "version": "55.0.6", "resolved": "https://registry.npmjs.org/expo-server/-/expo-server-55.0.6.tgz", @@ -24803,6 +24942,8 @@ }, "node_modules/filter-obj": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -25412,11 +25553,6 @@ "node": ">= 0.6" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "license": "MIT", - "optional": true - }, "node_modules/fs-fingerprint": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/fs-fingerprint/-/fs-fingerprint-0.11.0.tgz", @@ -25741,11 +25877,6 @@ "node": ">=6" } }, - "node_modules/github-from-package": { - "version": "0.0.0", - "license": "MIT", - "optional": true - }, "node_modules/gl-matrix": { "version": "3.4.3", "license": "MIT" @@ -26719,11 +26850,6 @@ "version": "2.0.4", "license": "ISC" }, - "node_modules/ini": { - "version": "1.3.8", - "license": "ISC", - "optional": true - }, "node_modules/inline-style-prefixer": { "version": "7.0.1", "license": "MIT", @@ -26777,21 +26903,6 @@ "node": ">= 0.10" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -30703,7 +30814,9 @@ } }, "node_modules/make-cancellable-promise": { - "version": "1.3.2", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-2.0.0.tgz", + "integrity": "sha512-3SEQqTpV9oqVsIWqAcmDuaNeo7yBO3tqPtqGRcKkEo0lrzD3wqbKG9mkxO65KoOgXqj+zH2phJ2LiAsdzlogSw==", "license": "MIT", "funding": { "url": "https://github.com/wojtekmaj/make-cancellable-promise?sponsor=1" @@ -30741,7 +30854,9 @@ "license": "ISC" }, "node_modules/make-event-props": { - "version": "1.6.2", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-2.0.0.tgz", + "integrity": "sha512-G/hncXrl4Qt7mauJEXSg3AcdYzmpkIITTNl5I+rH9sog5Yw0kK6vseJjCaPfOXqOqQuPUP89Rkhfz5kPS8ijtw==", "license": "MIT", "funding": { "url": "https://github.com/wojtekmaj/make-event-props?sponsor=1" @@ -30909,7 +31024,9 @@ } }, "node_modules/merge-refs": { - "version": "1.3.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-2.0.0.tgz", + "integrity": "sha512-3+B21mYK2IqUWnd2EivABLT7ueDhb0b8/dGK8LoFQPrU61YITeCMn14F7y7qZafWNZhUEKb24cJdiT5Wxs3prg==", "license": "MIT", "funding": { "url": "https://github.com/wojtekmaj/merge-refs?sponsor=1" @@ -32055,11 +32172,6 @@ "node": ">=10" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "license": "MIT", - "optional": true - }, "node_modules/mrmime": { "version": "2.0.0", "dev": true, @@ -32142,11 +32254,6 @@ "picocolors": "^1.1.1" } }, - "node_modules/napi-build-utils": { - "version": "2.0.0", - "license": "MIT", - "optional": true - }, "node_modules/natural-compare": { "version": "1.4.0", "dev": true, @@ -32221,19 +32328,6 @@ "node": ">=12.0.0" } }, - "node_modules/node-abi": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.78.0.tgz", - "integrity": "sha512-E2wEyrgX/CqvicaQYU3Ze1PFGjc4QYPGsjUrlYkqAE0WjHEZwgOsGMPMzkMse4LjJbDmaEuDX3CM036j5K2DSQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/node-abort-controller": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", @@ -32285,6 +32379,13 @@ "version": "0.4.0", "license": "MIT" }, + "node_modules/node-readable-to-web-readable-stream": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/node-readable-to-web-readable-stream/-/node-readable-to-web-readable-stream-0.4.2.tgz", + "integrity": "sha512-/cMZNI34v//jUTrI+UIo4ieHAB5EZRY/+7OmXZgBxaWBMcW2tGdceIw06RFxWxrKZ5Jp3sI2i5TsRo+CBhtVLQ==", + "license": "MIT", + "optional": true + }, "node_modules/node-releases": { "version": "2.0.27", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", @@ -32413,21 +32514,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-keys": { "version": "1.1.1", "license": "MIT", @@ -33169,14 +33255,6 @@ "node": ">=8" } }, - "node_modules/path2d": { - "version": "0.2.2", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=6" - } - }, "node_modules/pathval": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", @@ -33199,34 +33277,18 @@ } }, "node_modules/pdfjs-dist": { - "version": "4.8.69", + "version": "5.6.205", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.6.205.tgz", + "integrity": "sha512-tlUj+2IDa7G1SbvBNN74UHRLJybZDWYom+k6p5KIZl7huBvsA4APi6mKL+zCxd3tLjN5hOOEE9Tv7VdzO88pfg==", "license": "Apache-2.0", "engines": { - "node": ">=18" + "node": ">=20.19.0 || >=22.13.0 || >=24" }, "optionalDependencies": { - "canvas": "^3.0.0-rc2", - "path2d": "^0.2.1" - } - }, - "node_modules/pdfjs-dist/node_modules/canvas": { - "version": "3.1.0", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "node-addon-api": "^7.0.0", - "prebuild-install": "^7.1.1" - }, - "engines": { - "node": "^18.12.0 || >= 20.9.0" + "@napi-rs/canvas": "^0.1.96", + "node-readable-to-web-readable-stream": "^0.4.2" } }, - "node_modules/pdfjs-dist/node_modules/node-addon-api": { - "version": "7.1.1", - "license": "MIT", - "optional": true - }, "node_modules/peggy": { "version": "4.0.3", "dev": true, @@ -33580,55 +33642,6 @@ "version": "2.0.0", "license": "ISC" }, - "node_modules/prebuild-install": { - "version": "7.1.3", - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^2.0.0", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/prebuild-install/node_modules/simple-get": { - "version": "4.0.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "dev": true, @@ -33800,15 +33813,6 @@ "url": "https://github.com/sponsors/lupomontero" } }, - "node_modules/pump": { - "version": "3.0.0", - "license": "MIT", - "optional": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/punycode": { "version": "2.3.1", "license": "MIT", @@ -33871,6 +33875,8 @@ }, "node_modules/query-string": { "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", "license": "MIT", "dependencies": { "decode-uri-component": "^0.2.2", @@ -33992,28 +33998,6 @@ "quickselect": "^2.0.0" } }, - "node_modules/rc": { - "version": "1.2.8", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "optional": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react": { "version": "19.2.0", "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", @@ -34209,10 +34193,12 @@ "license": "MIT" }, "node_modules/react-fast-pdf": { - "version": "1.0.29", + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/react-fast-pdf/-/react-fast-pdf-1.0.33.tgz", + "integrity": "sha512-AQxCXr3OAUr1Rks/+Mlr2AZBFR71rtojMojtStbUb5HryYFCFE5LVxv9vw5elf/me9ZbuhzqSd/X+YCdun862w==", "license": "MIT", "dependencies": { - "react-pdf": "9.2.0", + "react-pdf": "10.3.0", "react-window": "^1.8.11" }, "engines": { @@ -34221,7 +34207,6 @@ }, "peerDependencies": { "lodash": "4.x", - "pdfjs-dist": "4.8.69", "react": "18.x", "react-dom": "18.x" } @@ -34803,9 +34788,9 @@ } }, "node_modules/react-native-onyx": { - "version": "3.0.54", - "resolved": "https://registry.npmjs.org/react-native-onyx/-/react-native-onyx-3.0.54.tgz", - "integrity": "sha512-202+t6reV9iQZnr5UOGHaJLCyO5X7Or0V2GHfvb5z10ZM1wnnZ0IKPkfUi+7WPZy4pFhEvDKymuaCIOu6++/rA==", + "version": "3.0.57", + "resolved": "https://registry.npmjs.org/react-native-onyx/-/react-native-onyx-3.0.57.tgz", + "integrity": "sha512-7zHnwOdJ78pBmy1/ofJyN6NiBW/5Mo5vvt9oGgvXx2VmU02ZJY8Q2MvxpJq54Dad3wd70huud51drSEwSx/KNg==", "license": "MIT", "dependencies": { "ascii-table": "0.0.9", @@ -34826,8 +34811,7 @@ "react-native": ">=0.75.0", "react-native-device-info": "^10.3.0", "react-native-nitro-modules": ">=0.27.2", - "react-native-nitro-sqlite": "^9.2.0", - "react-native-performance": ">=5.1.0" + "react-native-nitro-sqlite": "^9.2.0" }, "peerDependenciesMeta": { "idb-keyval": { @@ -34841,9 +34825,6 @@ }, "react-native-nitro-sqlite": { "optional": true - }, - "react-native-performance": { - "optional": true } } }, @@ -35101,10 +35082,12 @@ } }, "node_modules/react-native-tab-view": { - "version": "4.1.0", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-4.3.0.tgz", + "integrity": "sha512-qPMF75uz/7+MuVG2g+YETdGMzlWZnhC6iI4h/7EBbwIBwNBIBi2z4OA6KhY3IOOBwGHXEIz5IyA6doDqifYBHg==", "license": "MIT", "dependencies": { - "use-latest-callback": "^0.2.3" + "use-latest-callback": "^0.2.4" }, "peerDependencies": { "react": ">= 18.2.0", @@ -35112,13 +35095,6 @@ "react-native-pager-view": ">= 6.0.0" } }, - "node_modules/react-native-tab-view/node_modules/use-latest-callback": { - "version": "0.2.3", - "license": "MIT", - "peerDependencies": { - "react": ">=16.8" - } - }, "node_modules/react-native-url-polyfill": { "version": "2.0.0", "license": "MIT", @@ -35277,15 +35253,17 @@ } }, "node_modules/react-pdf": { - "version": "9.2.0", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-10.3.0.tgz", + "integrity": "sha512-2LQzC9IgNVAX8gM+6F+1t/70a9/5RWThYxc+CWAmT2LW/BRmnj+35x1os5j/nR2oldyf8L+hCAMBmVKU8wrYFA==", "license": "MIT", "dependencies": { "clsx": "^2.0.0", "dequal": "^2.0.3", - "make-cancellable-promise": "^1.3.1", - "make-event-props": "^1.6.0", - "merge-refs": "^1.3.0", - "pdfjs-dist": "4.8.69", + "make-cancellable-promise": "^2.0.0", + "make-event-props": "^2.0.0", + "merge-refs": "^2.0.0", + "pdfjs-dist": "5.4.296", "tiny-invariant": "^1.0.0", "warning": "^4.0.0" }, @@ -36572,25 +36550,6 @@ "version": "3.0.7", "license": "ISC" }, - "node_modules/simple-concat": { - "version": "1.0.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true - }, "node_modules/simple-git": { "version": "3.33.0", "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.33.0.tgz", @@ -36847,6 +36806,8 @@ }, "node_modules/split-on-first": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", "license": "MIT", "engines": { "node": ">=6" @@ -36939,7 +36900,9 @@ } }, "node_modules/stacktrace-parser": { - "version": "0.1.10", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", + "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==", "license": "MIT", "dependencies": { "type-fest": "^0.7.1" @@ -37093,6 +37056,8 @@ }, "node_modules/strict-uri-encode": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", "license": "MIT", "engines": { "node": ">=4" @@ -37553,50 +37518,6 @@ "node": ">=18" } }, - "node_modules/tar-fs": { - "version": "2.1.2", - "license": "MIT", - "optional": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "license": "ISC", - "optional": true - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "license": "MIT", - "optional": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", - "optional": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/tar/node_modules/yallist": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", @@ -38255,17 +38176,6 @@ "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, "node_modules/tweetnacl": { "version": "1.0.3", "license": "Unlicense" @@ -38687,6 +38597,15 @@ "extraneous": true, "license": "MIT" }, + "node_modules/use-latest-callback": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.6.tgz", + "integrity": "sha512-FvRG9i1HSo0wagmX63Vrm8SnlUU3LMM3WyZkQ76RnslpBrX694AdG4A0zQBx2B3ZifFA0yv/BaEHGBnEax5rZg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8" + } + }, "node_modules/use-sync-external-store": { "version": "1.5.0", "license": "MIT", @@ -38853,6 +38772,8 @@ }, "node_modules/warning": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", "license": "MIT", "dependencies": { "loose-envify": "^1.0.0" diff --git a/package.json b/package.json index 3c0217193552..a36581621849 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "9.3.51-9", + "version": "9.3.54-0", "author": "Expensify, Inc.", "homepage": "https://new.expensify.com", "description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", @@ -92,8 +92,6 @@ "@fullstory/react-native": "^1.9.0", "@gorhom/portal": "^1.0.14", "@invertase/react-native-apple-authentication": "^2.5.0", - "@noble/ed25519": "^3.0.0", - "@noble/hashes": "^2.0.0", "@onfido/react-native-sdk": "15.1.0", "@pusher/pusher-websocket-react-native": "^1.3.1", "@react-native-camera-roll/camera-roll": "7.4.0", @@ -104,10 +102,11 @@ "@react-native-firebase/app": "^22.2.1", "@react-native-google-signin/google-signin": "^10.0.1", "@react-native-picker/picker": "2.11.3", - "@react-navigation/material-top-tabs": "7.2.13", - "@react-navigation/native": "7.1.10", - "@react-navigation/native-stack": "7.3.14", - "@react-navigation/stack": "7.3.3", + "@react-navigation/core": "7.16.1", + "@react-navigation/material-top-tabs": "7.4.19", + "@react-navigation/native": "7.1.33", + "@react-navigation/native-stack": "7.14.5", + "@react-navigation/stack": "7.8.5", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "10.1.44", "@sbaiahmed1/react-native-biometrics": "0.14.0", @@ -131,7 +130,6 @@ "expo-image-manipulator": "55.0.2", "expo-location": "55.0.3", "expo-modules-core": "55.0.4", - "expo-secure-store": "~14.2.4", "expo-store-review": "~9.0.8", "expo-task-manager": "55.0.2", "expo-video": "55.0.3", @@ -155,7 +153,7 @@ "react-content-loader": "^7.0.0", "react-dom": "19.2.0", "react-error-boundary": "^4.0.11", - "react-fast-pdf": "^1.0.29", + "react-fast-pdf": "^1.0.32", "react-is": "^18.3.1", "react-map-gl": "^7.1.3", "react-native": "0.83.1", @@ -179,7 +177,7 @@ "react-native-localize": "^3.5.4", "react-native-nitro-modules": "0.29.4", "react-native-nitro-sqlite": "9.2.0", - "react-native-onyx": "3.0.54", + "react-native-onyx": "3.0.57", "react-native-pager-view": "8.0.0", "react-native-pdf": "7.0.2", "react-native-permissions": "^5.4.0", @@ -192,7 +190,7 @@ "react-native-screens": "4.15.4", "react-native-share": "11.0.2", "react-native-svg": "15.12.1", - "react-native-tab-view": "^4.1.0", + "react-native-tab-view": "^4.3.0", "react-native-url-polyfill": "^2.0.0", "react-native-view-shot": "4.0.0", "react-native-vision-camera": "^4.7.2", @@ -239,8 +237,7 @@ "@react-native-community/cli-platform-ios": "20.0.0", "@react-native/babel-preset": "0.83.1", "@react-native/metro-config": "0.83.1", - "@react-navigation/core": "7.10.0", - "@react-navigation/devtools": "^6.0.10", + "@react-navigation/devtools": "7.0.52", "@rock-js/platform-android": "0.12.10", "@rock-js/platform-ios": "0.12.10", "@rock-js/plugin-metro": "0.12.10", @@ -392,6 +389,7 @@ "eslint": "^9.36.0" }, "node-abi": "^3.78.0", + "pdfjs-dist": "^5.5.207", "lightningcss": "1.30.1", "@fullstory/react-native": { "expo": "55.0.0" @@ -420,9 +418,7 @@ "expo-keep-awake" ], "android": { - "buildFromSource": [ - "expo-secure-store" - ] + "buildFromSource": [] } } }, diff --git a/patches/expo-secure-store/details.md b/patches/expo-secure-store/details.md deleted file mode 100644 index d6d176d012a1..000000000000 --- a/patches/expo-secure-store/details.md +++ /dev/null @@ -1,76 +0,0 @@ -# `expo-secure-store` patches - -### [expo-secure-store+14.2.4+001+enable-device-fallback.patch](expo-secure-store+14.2.4+001+enable-device-fallback.patch) - -- Reason: - - ``` - We need to enable users to use any device screen lock instead of biometrics. - This is not enabled in the SecureStore, so this patch changes the required input to either biometrics or screen lock knowledge if the 'enableDeviceFallback' flag is set to true. - Additionally, support for screen locks can be checked using the new 'canUseDeviceCredentialsAuthentication' method. - ``` - -- Upstream PR/issue: https://github.com/expo/expo/pull/41409 -- E/App issue: https://github.com/Expensify/App/issues/75225 -- PR introducing patch: https://github.com/Expensify/App/pull/76288 - -### [expo-secure-store+14.2.4+002+return-auth-type.patch](expo-secure-store+14.2.4+002+return-auth-type.patch) - -- Reason: - - ``` - This patch adds the `returnUsedAuthenticationType` flag. - When this flag is set to true, the get methods of SecureStore will return a two-element array. - The first value will be the original value returned when this flag is set to false. - The second value is the authentication type used to read the value from the AUTH_TYPE object. - As for the set function, the returned value will simply be AUTH_TYPE. - It uses a pre-defined constant that mimics an enum and can also be imported directly from the app. - ``` - -- Upstream PR/issue: TBA -- E/App issue: https://github.com/Expensify/App/issues/75225 -- PR introducing patch: https://github.com/Expensify/App/pull/76288 - -### [expo-secure-store+14.2.4+003+force-authentication-on-save.patch](expo-secure-store+14.2.4+003+force-authentication-on-save.patch) - -- Reason: - - ``` - The iOS does not require authentication when a value is saved to the keychain. We cannot force iOS to do so. - However, to maintain consistency with Android, setting the 'forceAuthenticationOnSave' flag to true results in a prompt appearing - before the value is saved. This only works in the asynchronous version of the save method. - ``` - -- Upstream PR/issue: TBA -- E/App issue: https://github.com/Expensify/App/issues/75225 -- PR introducing patch: https://github.com/Expensify/App/pull/76288 - -### [expo-secure-store+14.2.4+004+fail-on-update.patch](expo-secure-store+14.2.4+004+fail-on-update.patch) - -- Reason: - - ``` - If a value already exists in the SecureStore and a new one is saved, the existing value is simply overwritten. - To avoid unexpected behaviour, set the 'failOnUpdate' flag to true to trigger an error when the given key is already in the store. - ``` - -- Upstream PR/issue: TBA -- E/App issue: https://github.com/Expensify/App/issues/75225 -- PR introducing patch: https://github.com/Expensify/App/pull/76288 - -### [expo-secure-store+14.2.4+005+force-read-authentication-on-simulators.patch](expo-secure-store+14.2.4+005+force-read-authentication-on-simulators.patch) - -- Reason: - - ``` - The LocalAuthentication behaves slightly differently on iOS simulators. - In numerous cases, the authentication prompts are skipped on simulators (as opposed to real devices). - Setting 'forceReadAuthenticationOnSimulators' flag to true forces the prompt to appear on simulators when a value with the `requireAuthentication` flag set to true is read. - The flag is added is purely for testing the app on simulators, in cases where the prompt does not appear when the value is read. - It has no effect on real devices. - ``` - -- Upstream PR/issue: TBA -- E/App issue: https://github.com/Expensify/App/issues/75225 -- PR introducing patch: https://github.com/Expensify/App/pull/76288 - diff --git a/patches/expo-secure-store/expo-secure-store+14.2.4+001+enable-device-fallback.patch b/patches/expo-secure-store/expo-secure-store+14.2.4+001+enable-device-fallback.patch deleted file mode 100644 index d5d5edad1a25..000000000000 --- a/patches/expo-secure-store/expo-secure-store+14.2.4+001+enable-device-fallback.patch +++ /dev/null @@ -1,435 +0,0 @@ -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationHelper.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationHelper.kt -index a281b88..4a1a009 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationHelper.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationHelper.kt -@@ -2,6 +2,7 @@ package expo.modules.securestore - - import android.annotation.SuppressLint - import android.app.Activity -+import android.app.KeyguardManager - import android.content.Context - import android.os.Build - import androidx.biometric.BiometricManager -@@ -19,9 +20,9 @@ class AuthenticationHelper( - ) { - private var isAuthenticating = false - -- suspend fun authenticateCipher(cipher: Cipher, requiresAuthentication: Boolean, title: String): Cipher { -+ suspend fun authenticateCipher(cipher: Cipher, requiresAuthentication: Boolean, title: String, enableDeviceFallback: Boolean): Cipher { - if (requiresAuthentication) { -- return openAuthenticationPrompt(cipher, title).cryptoObject?.cipher -+ return openAuthenticationPrompt(cipher, title, enableDeviceFallback).cryptoObject?.cipher - ?: throw AuthenticationException("Couldn't get cipher from authentication result") - } - return cipher -@@ -29,7 +30,8 @@ class AuthenticationHelper( - - private suspend fun openAuthenticationPrompt( - cipher: Cipher, -- title: String -+ title: String, -+ enableDeviceFallback: Boolean - ): BiometricPrompt.AuthenticationResult { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { - throw AuthenticationException("Biometric authentication requires Android API 23") -@@ -41,11 +43,16 @@ class AuthenticationHelper( - isAuthenticating = true - - try { -- assertBiometricsSupport() -+ if (enableDeviceFallback) { -+ assertDeviceSecurity() -+ } else { -+ assertBiometricsSupport() -+ } -+ - val fragmentActivity = getCurrentActivity() as? FragmentActivity - ?: throw AuthenticationException("Cannot display biometric prompt when the app is not in the foreground") - -- val authenticationPrompt = AuthenticationPrompt(fragmentActivity, context, title) -+ val authenticationPrompt = AuthenticationPrompt(fragmentActivity, context, title, enableDeviceFallback) - - return withContext(Dispatchers.Main.immediate) { - return@withContext authenticationPrompt.authenticate(cipher) -@@ -56,6 +63,14 @@ class AuthenticationHelper( - } - } - -+ fun assertDeviceSecurity() { -+ val manager = context.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager -+ val isSecure = manager.isDeviceSecure -+ if (!isSecure) { -+ throw AuthenticationException("No authentication method available") -+ } -+ } -+ - fun assertBiometricsSupport() { - val biometricManager = BiometricManager.from(context) - @SuppressLint("SwitchIntDef") // BiometricManager.BIOMETRIC_SUCCESS shouldn't do anything -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationPrompt.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationPrompt.kt -index e5729cc..ce448d6 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationPrompt.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationPrompt.kt -@@ -1,5 +1,7 @@ - package expo.modules.securestore - -+import androidx.biometric.BiometricManager.Authenticators.BIOMETRIC_STRONG -+import androidx.biometric.BiometricManager.Authenticators.DEVICE_CREDENTIAL - import android.content.Context - import androidx.biometric.BiometricPrompt - import androidx.biometric.BiometricPrompt.PromptInfo -@@ -11,12 +13,23 @@ import kotlin.coroutines.resume - import kotlin.coroutines.resumeWithException - import kotlin.coroutines.suspendCoroutine - --class AuthenticationPrompt(private val currentActivity: FragmentActivity, context: Context, title: String) { -+class AuthenticationPrompt(private val currentActivity: FragmentActivity, context: Context, title: String, enableDeviceFallback: Boolean) { -+ private var authType: Int = if (enableDeviceFallback) BIOMETRIC_STRONG or DEVICE_CREDENTIAL else BIOMETRIC_STRONG - private var executor: Executor = ContextCompat.getMainExecutor(context) -- private var promptInfo = PromptInfo.Builder() -- .setTitle(title) -- .setNegativeButtonText(context.getString(android.R.string.cancel)) -- .build() -+ private var promptInfo = buildPromptInfo(context, title, enableDeviceFallback) -+ -+ private fun buildPromptInfo(context: Context, title: String, enableDeviceFallback: Boolean): PromptInfo { -+ var prompt = PromptInfo.Builder() -+ .setTitle(title) -+ .setAllowedAuthenticators(authType) -+ -+ if (!enableDeviceFallback) { -+ prompt = prompt. -+ setNegativeButtonText(context.getString(android.R.string.cancel)) -+ } -+ -+ return prompt.build() -+ } - - suspend fun authenticate(cipher: Cipher): BiometricPrompt.AuthenticationResult? = - suspendCoroutine { continuation -> -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt -index 0fef884..bf9689b 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt -@@ -75,6 +75,15 @@ open class SecureStoreModule : Module() { - } - } - -+ Function("canUseDeviceCredentialsAuthentication") { -+ return@Function try { -+ authenticationHelper.assertDeviceSecurity() -+ true -+ } catch (e: AuthenticationException) { -+ false -+ } -+ } -+ - OnCreate { - authenticationHelper = AuthenticationHelper(reactContext, appContext.legacyModuleRegistry) - hybridAESEncryptor = HybridAESEncryptor(reactContext, mAESEncryptor) -@@ -201,7 +210,7 @@ open class SecureStoreModule : Module() { - back a value. - */ - val secretKeyEntry: SecretKeyEntry = getOrCreateKeyEntry(SecretKeyEntry::class.java, mAESEncryptor, options, options.requireAuthentication) -- val encryptedItem = mAESEncryptor.createEncryptedItem(value, secretKeyEntry, options.requireAuthentication, options.authenticationPrompt, authenticationHelper) -+ val encryptedItem = mAESEncryptor.createEncryptedItem(value, secretKeyEntry, options.requireAuthentication, options.authenticationPrompt, authenticationHelper, options.enableDeviceFallback) - encryptedItem.put(SCHEME_PROPERTY, AESEncryptor.NAME) - saveEncryptedItem(encryptedItem, prefs, keychainAwareKey, options.requireAuthentication, options.keychainService) - -@@ -343,7 +352,11 @@ open class SecureStoreModule : Module() { - return getKeyEntry(keyStoreEntryClass, encryptor, options, requireAuthentication) ?: run { - // Android won't allow us to generate the keys if the device doesn't support biometrics or no biometrics are enrolled - if (requireAuthentication) { -- authenticationHelper.assertBiometricsSupport() -+ if (options.enableDeviceFallback) { -+ authenticationHelper.assertDeviceSecurity() -+ } else { -+ authenticationHelper.assertBiometricsSupport() -+ } - } - encryptor.initializeKeyStoreEntry(keyStore, options) - } -@@ -383,6 +396,7 @@ open class SecureStoreModule : Module() { - private const val KEYSTORE_ALIAS_PROPERTY = "keystoreAlias" - const val USES_KEYSTORE_SUFFIX_PROPERTY = "usesKeystoreSuffix" - const val DEFAULT_KEYSTORE_ALIAS = "key_v1" -+ const val DEFAULT_FALLBACK_KEYSTORE_ALIAS = "fallback_key_v1" - const val AUTHENTICATED_KEYSTORE_SUFFIX = "keystoreAuthenticated" - const val UNAUTHENTICATED_KEYSTORE_SUFFIX = "keystoreUnauthenticated" - } -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt -index 79a600f..0455fd6 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt -@@ -8,5 +8,6 @@ class SecureStoreOptions( - // Prompt can't be an empty string - @Field var authenticationPrompt: String = " ", - @Field var keychainService: String = SecureStoreModule.DEFAULT_KEYSTORE_ALIAS, -- @Field var requireAuthentication: Boolean = false -+ @Field var requireAuthentication: Boolean = false, -+ @Field var enableDeviceFallback: Boolean = false - ) : Record, Serializable -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/AESEncryptor.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/AESEncryptor.kt -index 3a12dc9..1cec6c0 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/AESEncryptor.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/AESEncryptor.kt -@@ -1,9 +1,10 @@ - package expo.modules.securestore.encryptors - --import android.annotation.TargetApi -+import android.os.Build - import android.security.keystore.KeyGenParameterSpec - import android.security.keystore.KeyProperties - import android.util.Base64 -+import androidx.annotation.RequiresApi - import expo.modules.securestore.AuthenticationHelper - import expo.modules.securestore.DecryptException - import expo.modules.securestore.SecureStoreModule -@@ -33,6 +34,11 @@ import javax.crypto.spec.GCMParameterSpec - class AESEncryptor : KeyBasedEncryptor { - override fun getKeyStoreAlias(options: SecureStoreOptions): String { - val baseAlias = options.keychainService -+ -+ if (baseAlias == SecureStoreModule.DEFAULT_KEYSTORE_ALIAS && options.enableDeviceFallback) { -+ return "$AES_CIPHER:${SecureStoreModule.DEFAULT_FALLBACK_KEYSTORE_ALIAS}" -+ } -+ - return "$AES_CIPHER:$baseAlias" - } - -@@ -50,17 +56,22 @@ class AESEncryptor : KeyBasedEncryptor { - return "${getKeyStoreAlias(options)}:$suffix" - } - -- @TargetApi(23) -+ @RequiresApi(Build.VERSION_CODES.R) - @Throws(GeneralSecurityException::class) - override fun initializeKeyStoreEntry(keyStore: KeyStore, options: SecureStoreOptions): KeyStore.SecretKeyEntry { - val extendedKeystoreAlias = getExtendedKeyStoreAlias(options, options.requireAuthentication) - val keyPurposes = KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT - -+ val authType = -+ if (options.enableDeviceFallback) KeyProperties.AUTH_BIOMETRIC_STRONG or KeyProperties.AUTH_DEVICE_CREDENTIAL -+ else KeyProperties.AUTH_BIOMETRIC_STRONG -+ - val algorithmSpec: AlgorithmParameterSpec = KeyGenParameterSpec.Builder(extendedKeystoreAlias, keyPurposes) - .setKeySize(AES_KEY_SIZE_BITS) - .setBlockModes(KeyProperties.BLOCK_MODE_GCM) - .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE) - .setUserAuthenticationRequired(options.requireAuthentication) -+ .setUserAuthenticationParameters(0, authType) - .build() - - val keyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, keyStore.provider) -@@ -78,14 +89,15 @@ class AESEncryptor : KeyBasedEncryptor { - keyStoreEntry: KeyStore.SecretKeyEntry, - requireAuthentication: Boolean, - authenticationPrompt: String, -- authenticationHelper: AuthenticationHelper -+ authenticationHelper: AuthenticationHelper, -+ enableDeviceFallback: Boolean, - ): JSONObject { - val secretKey = keyStoreEntry.secretKey - val cipher = Cipher.getInstance(AES_CIPHER) - cipher.init(Cipher.ENCRYPT_MODE, secretKey) - - val gcmSpec = cipher.parameters.getParameterSpec(GCMParameterSpec::class.java) -- val authenticatedCipher = authenticationHelper.authenticateCipher(cipher, requireAuthentication, authenticationPrompt) -+ val authenticatedCipher = authenticationHelper.authenticateCipher(cipher, requireAuthentication, authenticationPrompt, enableDeviceFallback) - - return createEncryptedItemWithCipher(plaintextValue, authenticatedCipher, gcmSpec) - } -@@ -128,7 +140,7 @@ class AESEncryptor : KeyBasedEncryptor { - throw DecryptException("Authentication tag length must be at least $MIN_GCM_AUTHENTICATION_TAG_LENGTH bits long", key, options.keychainService) - } - cipher.init(Cipher.DECRYPT_MODE, keyStoreEntry.secretKey, gcmSpec) -- val unlockedCipher = authenticationHelper.authenticateCipher(cipher, requiresAuthentication, options.authenticationPrompt) -+ val unlockedCipher = authenticationHelper.authenticateCipher(cipher, requiresAuthentication, options.authenticationPrompt, options.enableDeviceFallback) - return String(unlockedCipher.doFinal(ciphertextBytes), StandardCharsets.UTF_8) - } - -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/HybridAESEncryptor.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/HybridAESEncryptor.kt -index fb42599..e996b39 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/HybridAESEncryptor.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/HybridAESEncryptor.kt -@@ -51,6 +51,11 @@ class HybridAESEncryptor(private var mContext: Context, private val mAESEncrypto - - override fun getKeyStoreAlias(options: SecureStoreOptions): String { - val baseAlias = options.keychainService -+ -+ if (baseAlias == SecureStoreModule.DEFAULT_KEYSTORE_ALIAS && options.enableDeviceFallback) { -+ return "$RSA_CIPHER:${SecureStoreModule.DEFAULT_FALLBACK_KEYSTORE_ALIAS}" -+ } -+ - return "$RSA_CIPHER:$baseAlias" - } - -@@ -69,7 +74,8 @@ class HybridAESEncryptor(private var mContext: Context, private val mAESEncrypto - keyStoreEntry: KeyStore.PrivateKeyEntry, - requireAuthentication: Boolean, - authenticationPrompt: String, -- authenticationHelper: AuthenticationHelper -+ authenticationHelper: AuthenticationHelper, -+ enableDeviceFallback: Boolean, - ): JSONObject { - // This should never be called after we dropped Android SDK 22 support. - throw EncryptException( -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/KeyBasedEncryptor.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/KeyBasedEncryptor.kt -index e493467..39459ff 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/KeyBasedEncryptor.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/KeyBasedEncryptor.kt -@@ -25,7 +25,8 @@ interface KeyBasedEncryptor { - keyStoreEntry: E, - requireAuthentication: Boolean, - authenticationPrompt: String, -- authenticationHelper: AuthenticationHelper -+ authenticationHelper: AuthenticationHelper, -+ enableDeviceFallback: Boolean, - ): JSONObject - - @Throws(GeneralSecurityException::class, JSONException::class) -diff --git a/node_modules/expo-secure-store/build/SecureStore.d.ts b/node_modules/expo-secure-store/build/SecureStore.d.ts -index d5cd157..835a4d4 100644 ---- a/node_modules/expo-secure-store/build/SecureStore.d.ts -+++ b/node_modules/expo-secure-store/build/SecureStore.d.ts -@@ -78,6 +78,16 @@ export type SecureStoreOptions = { - * @platform ios - */ - accessGroup?: string; -+ /** -+ * This flag enables users to authenticate using Lock Screen Knowledge Factor (e.g. PIN, pattern or password). -+ * For sensitive apps, it is recommended not having biometric fall back to such factor. -+ * @see: https://developer.android.com/security/fraud-prevention/authentication -+ * -+ * @default false -+ * @platform android -+ * @platform ios -+ */ -+ enableDeviceFallback?: boolean; - }; - /** - * Returns whether the SecureStore API is enabled on the current device. This does not check the app -@@ -148,4 +158,11 @@ export declare function getItem(key: string, options?: SecureStoreOptions): stri - * @platform ios - */ - export declare function canUseBiometricAuthentication(): boolean; -+/** -+ * Checks whether any device credentials are configured on the device. -+ * @return `true` if the device has device credentials configured. Otherwise, returns `false`. -+ * @platform android -+ * @platform ios -+ */ -+export declare function canUseDeviceCredentialsAuthentication(): boolean; - //# sourceMappingURL=SecureStore.d.ts.map -\ No newline at end of file -diff --git a/node_modules/expo-secure-store/build/SecureStore.js b/node_modules/expo-secure-store/build/SecureStore.js -index 4d87b38..e11bd94 100644 ---- a/node_modules/expo-secure-store/build/SecureStore.js -+++ b/node_modules/expo-secure-store/build/SecureStore.js -@@ -143,6 +143,15 @@ export function getItem(key, options = {}) { - export function canUseBiometricAuthentication() { - return ExpoSecureStore.canUseBiometricAuthentication(); - } -+/** -+ * Checks whether any device credentials are configured on the device. -+ * @return `true` if the device has device credentials configured. Otherwise, returns `false`. -+ * @platform android -+ * @platform ios -+ */ -+export function canUseDeviceCredentialsAuthentication() { -+ return ExpoSecureStore.canUseDeviceCredentialsAuthentication(); -+} - function ensureValidKey(key) { - if (!isValidKey(key)) { - throw new Error(`Invalid key provided to SecureStore. Keys must not be empty and contain only alphanumeric characters, ".", "-", and "_".`); -diff --git a/node_modules/expo-secure-store/ios/SecureStoreModule.swift b/node_modules/expo-secure-store/ios/SecureStoreModule.swift -index 439b08d..1268979 100644 ---- a/node_modules/expo-secure-store/ios/SecureStoreModule.swift -+++ b/node_modules/expo-secure-store/ios/SecureStoreModule.swift -@@ -66,6 +66,14 @@ public final class SecureStoreModule: Module { - return isBiometricsSupported - #endif - } -+ -+ Function("canUseDeviceCredentialsAuthentication") { () -> Bool in -+ return areDeviceCredentialsEnabled() -+ } -+ } -+ -+ private func areDeviceCredentialsEnabled() -> Bool { -+ return LAContext().canEvaluatePolicy(LAPolicy.deviceOwnerAuthentication, error: nil) - } - - private func get(with key: String, options: SecureStoreOptions) throws -> String? { -@@ -99,12 +107,17 @@ public final class SecureStoreModule: Module { - if !options.requireAuthentication { - setItemQuery[kSecAttrAccessible as String] = accessibility - } else { -- guard let _ = Bundle.main.infoDictionary?["NSFaceIDUsageDescription"] as? String else { -- throw MissingPlistKeyException() -+ if (!options.enableDeviceFallback) { -+ guard let _ = Bundle.main.infoDictionary?["NSFaceIDUsageDescription"] as? String else { -+ throw MissingPlistKeyException() -+ } - } - - var error: Unmanaged? = nil -- guard let accessOptions = SecAccessControlCreateWithFlags(kCFAllocatorDefault, accessibility, .biometryCurrentSet, &error) else { -+ -+ let accessControlFlag: SecAccessControlCreateFlags = options.enableDeviceFallback ? .userPresence : .biometryCurrentSet -+ -+ guard let accessOptions = SecAccessControlCreateWithFlags(kCFAllocatorDefault, accessibility, accessControlFlag, &error) else { - let errorCode = error.map { CFErrorGetCode($0.takeRetainedValue()) } - throw SecAccessControlError(errorCode) - } -diff --git a/node_modules/expo-secure-store/ios/SecureStoreOptions.swift b/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -index 7e3fa4d..c9e843b 100644 ---- a/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -+++ b/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -@@ -15,4 +15,7 @@ internal struct SecureStoreOptions: Record { - - @Field - var accessGroup: String? -+ -+ @Field -+ var enableDeviceFallback: Bool = false - } -diff --git a/node_modules/expo-secure-store/src/SecureStore.ts b/node_modules/expo-secure-store/src/SecureStore.ts -index ee43e04..4f253a1 100644 ---- a/node_modules/expo-secure-store/src/SecureStore.ts -+++ b/node_modules/expo-secure-store/src/SecureStore.ts -@@ -102,6 +102,17 @@ export type SecureStoreOptions = { - * @platform ios - */ - accessGroup?: string; -+ -+ /** -+ * This flag enables users to authenticate using Lock Screen Knowledge Factor (e.g. PIN, pattern or password). -+ * For sensitive apps, it is recommended not having biometric fall back to such factor. -+ * @see: https://developer.android.com/security/fraud-prevention/authentication -+ * -+ * @default false -+ * @platform android -+ * @platform ios -+ */ -+ enableDeviceFallback?: boolean; - }; - - // @needsAudit -@@ -226,6 +237,16 @@ export function canUseBiometricAuthentication(): boolean { - return ExpoSecureStore.canUseBiometricAuthentication(); - } - -+/** -+ * Checks whether any device credentials are configured on the device. -+ * @return `true` if the device has device credentials configured. Otherwise, returns `false`. -+ * @platform android -+ * @platform ios -+ */ -+export function canUseDeviceCredentialsAuthentication(): boolean { -+ return ExpoSecureStore.canUseDeviceCredentialsAuthentication(); -+} -+ - function ensureValidKey(key: string) { - if (!isValidKey(key)) { - throw new Error( diff --git a/patches/expo-secure-store/expo-secure-store+14.2.4+002+return-auth-type.patch b/patches/expo-secure-store/expo-secure-store+14.2.4+002+return-auth-type.patch deleted file mode 100644 index c8cdfcf5ac02..000000000000 --- a/patches/expo-secure-store/expo-secure-store+14.2.4+002+return-auth-type.patch +++ /dev/null @@ -1,901 +0,0 @@ -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationHelper.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationHelper.kt -index 4a1a009..980ef0a 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationHelper.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/AuthenticationHelper.kt -@@ -20,12 +20,12 @@ class AuthenticationHelper( - ) { - private var isAuthenticating = false - -- suspend fun authenticateCipher(cipher: Cipher, requiresAuthentication: Boolean, title: String, enableDeviceFallback: Boolean): Cipher { -- if (requiresAuthentication) { -- return openAuthenticationPrompt(cipher, title, enableDeviceFallback).cryptoObject?.cipher -- ?: throw AuthenticationException("Couldn't get cipher from authentication result") -+ suspend fun authenticateCipher(cipher: Cipher, title: String, enableDeviceFallback: Boolean): BiometricPrompt.AuthenticationResult { -+ val promptResult = openAuthenticationPrompt(cipher, title, enableDeviceFallback) -+ if (promptResult.cryptoObject?.cipher == null) { -+ throw AuthenticationException("Couldn't get cipher from authentication result") - } -- return cipher -+ return promptResult - } - - private suspend fun openAuthenticationPrompt( -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt -index 3f21552..d209efc 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt -@@ -36,23 +36,23 @@ open class SecureStoreModule : Module() { - - AsyncFunction("setValueWithKeyAsync") Coroutine { value: String?, key: String?, options: SecureStoreOptions -> - key ?: throw NullKeyException() -- return@Coroutine setItemImpl(key, value, options, false) -+ return@Coroutine narrowSecureStoreFeedback(SecureStoreFeedbackAction.SET, setItemImpl(key, value, options, false), options).value - } - - AsyncFunction("getValueWithKeyAsync") Coroutine { key: String, options: SecureStoreOptions -> -- return@Coroutine getItemImpl(key, options) -+ return@Coroutine narrowSecureStoreFeedback(SecureStoreFeedbackAction.GET,getItemImpl(key, options), options).value - } - - Function("setValueWithKeySync") { value: String?, key: String?, options: SecureStoreOptions -> - key ?: throw NullKeyException() - return@Function runBlocking { -- return@runBlocking setItemImpl(key, value, options, keyIsInvalidated = false) -+ return@runBlocking narrowSecureStoreFeedback(SecureStoreFeedbackAction.SET, setItemImpl(key, value, options, keyIsInvalidated = false), options).value - } - } - - Function("getValueWithKeySync") { key: String, options: SecureStoreOptions -> - return@Function runBlocking { -- return@runBlocking getItemImpl(key, options) -+ return@runBlocking narrowSecureStoreFeedback(SecureStoreFeedbackAction.GET, getItemImpl(key, options), options).value - } - } - -@@ -94,7 +94,23 @@ open class SecureStoreModule : Module() { - } - } - -- private suspend fun getItemImpl(key: String, options: SecureStoreOptions): String? { -+ private suspend fun narrowSecureStoreFeedback(action: String, feedback: SecureStoreOriginalFeedback, options: SecureStoreOptions): SecureStoreNarrowedFeedback { -+ if (!options.returnUsedAuthenticationType) { -+ return feedback -+ } -+ -+ if (action == SecureStoreFeedbackAction.GET) { -+ return SecureStoreGetFeedback(feedback.source, feedback.authenticationResult) -+ } -+ -+ if (action == SecureStoreFeedbackAction.SET) { -+ return SecureStoreSetFeedback(feedback.source, feedback.authenticationResult) -+ } -+ -+ return feedback -+ } -+ -+ private suspend fun getItemImpl(key: String, options: SecureStoreOptions): SecureStoreOriginalFeedback { - // We use a SecureStore-specific shared preferences file, which lets us do things like enumerate - // its entries or clear all of them - val prefs: SharedPreferences = getSharedPreferences() -@@ -104,10 +120,10 @@ open class SecureStoreModule : Module() { - } else if (prefs.contains(key)) { // For backwards-compatibility try to read using the old key format - return readJSONEncodedItem(key, prefs, options) - } -- return null -+ return SecureStoreOriginalFeedback(null) - } - -- private suspend fun readJSONEncodedItem(key: String, prefs: SharedPreferences, options: SecureStoreOptions): String? { -+ private suspend fun readJSONEncodedItem(key: String, prefs: SharedPreferences, options: SecureStoreOptions): SecureStoreOriginalFeedback { - val keychainAwareKey = createKeychainAwareKey(key, options.keychainService) - - val legacyEncryptedItemString = prefs.getString(key, null) -@@ -126,7 +142,7 @@ open class SecureStoreModule : Module() { - "" - } - -- encryptedItemString ?: return null -+ encryptedItemString ?: return SecureStoreOriginalFeedback(null) - - val encryptedItem: JSONObject = try { - JSONObject(encryptedItemString) -@@ -149,13 +165,13 @@ open class SecureStoreModule : Module() { - "This situation occurs when the app is reinstalled. The value will be removed to avoid future errors. Returning null" - ) - deleteItemImpl(key, options) -- return null -+ return SecureStoreOriginalFeedback(null) - } - return mAESEncryptor.decryptItem(key, encryptedItem, secretKeyEntry, options, authenticationHelper) - } - HybridAESEncryptor.NAME -> { - val privateKeyEntry = getKeyEntryCompat(PrivateKeyEntry::class.java, hybridAESEncryptor, options, requireAuthentication, usesKeystoreSuffix) -- ?: return null -+ ?: return SecureStoreOriginalFeedback(null) - return hybridAESEncryptor.decryptItem(key, encryptedItem, privateKeyEntry, options, authenticationHelper) - } - else -> { -@@ -164,7 +180,7 @@ open class SecureStoreModule : Module() { - } - } catch (e: KeyPermanentlyInvalidatedException) { - Log.w(TAG, "The requested key has been permanently invalidated. Returning null") -- return null -+ return SecureStoreOriginalFeedback(null) - } catch (e: BadPaddingException) { - // The key from the KeyStore is unable to decode the entry. This is because a new key was generated, but the entries are encrypted using the old one. - // This usually means that the user has reinstalled the app. We can safely remove the old value and return null as it's impossible to decrypt it. -@@ -174,7 +190,7 @@ open class SecureStoreModule : Module() { - "The entry in shared preferences is out of sync with the keystore. It will be removed, returning null." - ) - deleteItemImpl(key, options) -- return null -+ return SecureStoreOriginalFeedback(null) - } catch (e: GeneralSecurityException) { - throw (DecryptException(e.message, key, options.keychainService, e)) - } catch (e: CodedException) { -@@ -184,7 +200,7 @@ open class SecureStoreModule : Module() { - } - } - -- private suspend fun setItemImpl(key: String, value: String?, options: SecureStoreOptions, keyIsInvalidated: Boolean) { -+ private suspend fun setItemImpl(key: String, value: String?, options: SecureStoreOptions, keyIsInvalidated: Boolean): SecureStoreOriginalFeedback { - val keychainAwareKey = createKeychainAwareKey(key, options.keychainService) - val prefs: SharedPreferences = getSharedPreferences() - -@@ -193,7 +209,7 @@ open class SecureStoreModule : Module() { - if (!success) { - throw WriteException("Could not write a null value to SecureStore", key, options.keychainService) - } -- return -+ return SecureStoreOriginalFeedback(null) - } - - try { -@@ -210,7 +226,8 @@ open class SecureStoreModule : Module() { - back a value. - */ - val secretKeyEntry: SecretKeyEntry = getOrCreateKeyEntry(SecretKeyEntry::class.java, mAESEncryptor, options, options.requireAuthentication) -- val encryptedItem = mAESEncryptor.createEncryptedItem(value, secretKeyEntry, options.requireAuthentication, options.authenticationPrompt, authenticationHelper, options.enableDeviceFallback) -+ val encryptResult = mAESEncryptor.createEncryptedItem(value, secretKeyEntry, options.requireAuthentication, options.authenticationPrompt, authenticationHelper, options.enableDeviceFallback) -+ val encryptedItem = encryptResult.value - encryptedItem.put(SCHEME_PROPERTY, AESEncryptor.NAME) - saveEncryptedItem(encryptedItem, prefs, keychainAwareKey, options.requireAuthentication, options.keychainService) - -@@ -218,6 +235,9 @@ open class SecureStoreModule : Module() { - if (prefs.contains(key)) { - prefs.edit().remove(key).apply() - } -+ -+ return encryptResult -+ - } catch (e: KeyPermanentlyInvalidatedException) { - if (!keyIsInvalidated) { - Log.w(TAG, "Key has been invalidated, retrying with the key deleted") -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt -index 0455fd6..4e30440 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt -@@ -1,5 +1,6 @@ - package expo.modules.securestore - -+import androidx.biometric.BiometricPrompt - import expo.modules.kotlin.records.Field - import expo.modules.kotlin.records.Record - import java.io.Serializable -@@ -9,5 +10,58 @@ class SecureStoreOptions( - @Field var authenticationPrompt: String = " ", - @Field var keychainService: String = SecureStoreModule.DEFAULT_KEYSTORE_ALIAS, - @Field var requireAuthentication: Boolean = false, -- @Field var enableDeviceFallback: Boolean = false -+ @Field var enableDeviceFallback: Boolean = false, -+ @Field var returnUsedAuthenticationType: Boolean = false - ) : Record, Serializable -+ -+enum class SecureStoreAuthType(index: Int) { -+ UNKNOWN(BiometricPrompt.AUTHENTICATION_RESULT_TYPE_UNKNOWN), -+ CREDENTIAL(BiometricPrompt.AUTHENTICATION_RESULT_TYPE_DEVICE_CREDENTIAL), -+ BIOMETRIC(BiometricPrompt.AUTHENTICATION_RESULT_TYPE_BIOMETRIC), -+ -+ /** Prompt failed, no authentication was used at all */ -+ NONE(0) -+} -+ -+open class SecureStoreFeedbackAction { -+ companion object { -+ const val GET = "GET" -+ const val SET = "SET" -+ } -+} -+ -+abstract class SecureStoreFeedback( -+ val source: T, -+ val authenticationResult: BiometricPrompt.AuthenticationResult? -+) { -+ @Field var authType: SecureStoreAuthType = when (authenticationResult?.authenticationType) { -+ BiometricPrompt.AUTHENTICATION_RESULT_TYPE_UNKNOWN -> { -+ SecureStoreAuthType.UNKNOWN -+ } -+ BiometricPrompt.AUTHENTICATION_RESULT_TYPE_DEVICE_CREDENTIAL -> { -+ SecureStoreAuthType.CREDENTIAL -+ } -+ BiometricPrompt.AUTHENTICATION_RESULT_TYPE_BIOMETRIC -> { -+ SecureStoreAuthType.BIOMETRIC -+ } -+ else -> { -+ SecureStoreAuthType.NONE -+ } -+ } -+ abstract val value: R -+} -+ -+class SecureStoreGetFeedback(source: T, authenticationResult: BiometricPrompt.AuthenticationResult? = null): SecureStoreFeedback>(source, authenticationResult) { -+ /** Used to return easily convertible values to JS code */ -+ @Field override var value: Pair = Pair(source, authType.ordinal) -+} -+ -+class SecureStoreSetFeedback(source: T, authenticationResult: BiometricPrompt.AuthenticationResult? = null): SecureStoreFeedback(source, authenticationResult) { -+ @Field override var value: Int = authType.ordinal -+} -+ -+class SecureStoreOriginalFeedback(source: T, authenticationResult: BiometricPrompt.AuthenticationResult? = null): SecureStoreFeedback(source, authenticationResult) { -+ @Field override var value: T = source -+} -+ -+typealias SecureStoreNarrowedFeedback = SecureStoreFeedback -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/AESEncryptor.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/AESEncryptor.kt -index 1cd187f..d927ff1 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/AESEncryptor.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/AESEncryptor.kt -@@ -5,10 +5,12 @@ import android.security.keystore.KeyGenParameterSpec - import android.security.keystore.KeyProperties - import android.util.Base64 - import androidx.annotation.RequiresApi -+import androidx.biometric.BiometricPrompt - import expo.modules.securestore.AuthenticationHelper - import expo.modules.securestore.DecryptException - import expo.modules.securestore.SecureStoreModule - import expo.modules.securestore.SecureStoreOptions -+import expo.modules.securestore.SecureStoreOriginalFeedback - import org.json.JSONException - import org.json.JSONObject - import java.nio.charset.StandardCharsets -@@ -86,15 +88,23 @@ class AESEncryptor : KeyBasedEncryptor { - authenticationPrompt: String, - authenticationHelper: AuthenticationHelper, - enableDeviceFallback: Boolean, -- ): JSONObject { -+ ): SecureStoreOriginalFeedback { - val secretKey = keyStoreEntry.secretKey - val cipher = Cipher.getInstance(AES_CIPHER) - cipher.init(Cipher.ENCRYPT_MODE, secretKey) - - val gcmSpec = cipher.parameters.getParameterSpec(GCMParameterSpec::class.java) -- val authenticatedCipher = authenticationHelper.authenticateCipher(cipher, requireAuthentication, authenticationPrompt, enableDeviceFallback) -+ var promptResult: BiometricPrompt.AuthenticationResult? = null -+ val authenticatedCipher: Cipher -+ -+ if (requireAuthentication) { -+ promptResult = authenticationHelper.authenticateCipher(cipher, authenticationPrompt, enableDeviceFallback) -+ authenticatedCipher = promptResult.cryptoObject?.cipher ?: cipher -+ } else { -+ authenticatedCipher = cipher -+ } - -- return createEncryptedItemWithCipher(plaintextValue, authenticatedCipher, gcmSpec) -+ return SecureStoreOriginalFeedback(createEncryptedItemWithCipher(plaintextValue, authenticatedCipher, gcmSpec), promptResult) - } - - internal fun createEncryptedItemWithCipher( -@@ -121,7 +131,7 @@ class AESEncryptor : KeyBasedEncryptor { - keyStoreEntry: KeyStore.SecretKeyEntry, - options: SecureStoreOptions, - authenticationHelper: AuthenticationHelper -- ): String { -+ ): SecureStoreOriginalFeedback { - val ciphertext = encryptedItem.getString(CIPHERTEXT_PROPERTY) - val ivString = encryptedItem.getString(IV_PROPERTY) - val authenticationTagLength = encryptedItem.getInt(GCM_AUTHENTICATION_TAG_LENGTH_PROPERTY) -@@ -135,8 +145,17 @@ class AESEncryptor : KeyBasedEncryptor { - throw DecryptException("Authentication tag length must be at least $MIN_GCM_AUTHENTICATION_TAG_LENGTH bits long", key, options.keychainService) - } - cipher.init(Cipher.DECRYPT_MODE, keyStoreEntry.secretKey, gcmSpec) -- val unlockedCipher = authenticationHelper.authenticateCipher(cipher, requiresAuthentication, options.authenticationPrompt, options.enableDeviceFallback) -- return String(unlockedCipher.doFinal(ciphertextBytes), StandardCharsets.UTF_8) -+ var promptResult: BiometricPrompt.AuthenticationResult? = null -+ val unlockedCipher: Cipher -+ -+ if (requiresAuthentication) { -+ promptResult = authenticationHelper.authenticateCipher(cipher, options.authenticationPrompt, options.enableDeviceFallback) -+ unlockedCipher = promptResult.cryptoObject?.cipher ?: cipher -+ } else { -+ unlockedCipher = cipher -+ } -+ -+ return SecureStoreOriginalFeedback(String(unlockedCipher.doFinal(ciphertextBytes), StandardCharsets.UTF_8), promptResult) - } - - companion object { -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/HybridAESEncryptor.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/HybridAESEncryptor.kt -index 5f8bbfd..7527001 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/HybridAESEncryptor.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/HybridAESEncryptor.kt -@@ -9,6 +9,7 @@ import expo.modules.securestore.EncryptException - import expo.modules.securestore.KeyStoreException - import expo.modules.securestore.SecureStoreModule - import expo.modules.securestore.SecureStoreOptions -+import expo.modules.securestore.SecureStoreOriginalFeedback - import org.json.JSONException - import org.json.JSONObject - import java.security.GeneralSecurityException -@@ -71,7 +72,7 @@ class HybridAESEncryptor(private var mContext: Context, private val mAESEncrypto - authenticationPrompt: String, - authenticationHelper: AuthenticationHelper, - enableDeviceFallback: Boolean, -- ): JSONObject { -+ ): SecureStoreOriginalFeedback { - // This should never be called after we dropped Android SDK 22 support. - throw EncryptException( - "HybridAESEncryption should not be used on Android SDK >= 23. This shouldn't happen. " + -@@ -88,7 +89,7 @@ class HybridAESEncryptor(private var mContext: Context, private val mAESEncrypto - keyStoreEntry: KeyStore.PrivateKeyEntry, - options: SecureStoreOptions, - authenticationHelper: AuthenticationHelper -- ): String { -+ ): SecureStoreOriginalFeedback { - // Decrypt the encrypted symmetric key - val encryptedSecretKeyString = encryptedItem.getString(ENCRYPTED_SECRET_KEY_PROPERTY) - val encryptedSecretKeyBytes = Base64.decode(encryptedSecretKeyString, Base64.DEFAULT) -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/KeyBasedEncryptor.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/KeyBasedEncryptor.kt -index 39459ff..a531aff 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/KeyBasedEncryptor.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/KeyBasedEncryptor.kt -@@ -2,6 +2,7 @@ package expo.modules.securestore.encryptors - - import expo.modules.securestore.AuthenticationHelper - import expo.modules.securestore.SecureStoreOptions -+import expo.modules.securestore.SecureStoreOriginalFeedback - import org.json.JSONException - import org.json.JSONObject - import java.security.GeneralSecurityException -@@ -27,7 +28,7 @@ interface KeyBasedEncryptor { - authenticationPrompt: String, - authenticationHelper: AuthenticationHelper, - enableDeviceFallback: Boolean, -- ): JSONObject -+ ): SecureStoreOriginalFeedback - - @Throws(GeneralSecurityException::class, JSONException::class) - suspend fun decryptItem( -@@ -36,5 +37,5 @@ interface KeyBasedEncryptor { - keyStoreEntry: E, - options: SecureStoreOptions, - authenticationHelper: AuthenticationHelper -- ): String -+ ): SecureStoreOriginalFeedback - } -diff --git a/node_modules/expo-secure-store/build/SecureStore.d.ts b/node_modules/expo-secure-store/build/SecureStore.d.ts -index 835a4d4..d2da8d9 100644 ---- a/node_modules/expo-secure-store/build/SecureStore.d.ts -+++ b/node_modules/expo-secure-store/build/SecureStore.d.ts -@@ -1,4 +1,53 @@ -+type EmptyObject = Record; -+type SecureStoreSetFeedback = R['returnUsedAuthenticationType'] extends true ? AuthType : void; -+type SecureStoreGetFeedback = R['returnUsedAuthenticationType'] extends true ? [T | null, AuthType] : T | null; - export type KeychainAccessibilityConstant = number; -+/** -+ * Authentication type returned by the SecureStore after reading item or saving it to the store. -+ */ -+export declare const AUTH_TYPE: { -+ /** -+ * This is purely for backwards compatibility. -+ * Although it is not listed as a return value of the getAuthenticationType() method, -+ * it is still present in the Android code. -+ * @see https://developer.android.com/reference/android/hardware/biometrics/BiometricPrompt.AuthenticationResult#getAuthenticationType() -+ * @see https://developer.android.com/reference/androidx/biometric/BiometricPrompt#AUTHENTICATION_RESULT_TYPE_UNKNOWN() -+ * @platform android -+ */ -+ readonly UNKNOWN: -1; -+ /** -+ * Returned when the authentication fails -+ * @platform android -+ * @platform ios -+ */ -+ readonly NONE: 0; -+ /** -+ * Generic type, not specified whether it was a passcode or pattern. -+ * @platform android -+ * @platform ios -+ */ -+ readonly CREDENTIALS: 1; -+ /** -+ * Generic type, not specified whether it was a face scan or a fingerprint -+ * @platform android -+ */ -+ readonly BIOMETRICS: 2; -+ /** -+ * FaceID was used to authenticate -+ * @platform ios -+ */ -+ readonly FACE_ID: 3; -+ /** -+ * TouchID was used to authenticate -+ * @platform ios -+ */ -+ readonly TOUCH_ID: 4; -+ /** -+ * OpticID was used to authenticate (reserved by apple, used on Apple Vision Pro, not iOS) -+ */ -+ readonly OPTIC_ID: 5; -+}; -+type AuthType = (typeof AUTH_TYPE)[keyof typeof AUTH_TYPE]; - /** - * The data in the keychain item cannot be accessed after a restart until the device has been - * unlocked once by the user. This may be useful if you need to access the item when the phone -@@ -88,6 +137,22 @@ export type SecureStoreOptions = { - * @platform ios - */ - enableDeviceFallback?: boolean; -+ /** -+ * When this flag is set to true, the get methods of SecureStore will return a two-element array. The first value will be the original value returned when this flag is set to false. -+ * The second value is the authentication type used to read the value from the AUTH_TYPE object. -+ * As for the set function, the returned value will simply be AUTH_TYPE. -+ * -+ * @warning -+ * If the iOS device supports biometrics and the user falls back to device credentials, it will not be detected. -+ * This is not the case on Android, but we cannot specify the exact type of biometrics (e.g. fingerprint or face scan). -+ * Whether the type is detected correctly depends on the platform and its native implementation. -+ * This should be treated as more of a hint. -+ * -+ * @default false -+ * @platform android -+ * @platform ios -+ */ -+ returnUsedAuthenticationType?: boolean; - }; - /** - * Returns whether the SecureStore API is enabled on the current device. This does not check the app -@@ -119,7 +184,7 @@ export declare function deleteItemAsync(key: string, options?: SecureStoreOption - * > After a key has been invalidated, it becomes impossible to read its value. - * > This only applies to values stored with `requireAuthentication` set to `true`. - */ --export declare function getItemAsync(key: string, options?: SecureStoreOptions): Promise; -+export declare function getItemAsync(key: string, options?: R | EmptyObject): Promise>; - /** - * Stores a key–value pair. - * -@@ -129,7 +194,7 @@ export declare function getItemAsync(key: string, options?: SecureStoreOptions): - * - * @return A promise that rejects if value cannot be stored on the device. - */ --export declare function setItemAsync(key: string, value: string, options?: SecureStoreOptions): Promise; -+export declare function setItemAsync(key: string, value: string, options?: R | EmptyObject): Promise>; - /** - * Stores a key–value pair synchronously. - * > **Note:** This function blocks the JavaScript thread, so the application may not be interactive when the `requireAuthentication` option is set to `true` until the user authenticates. -@@ -139,7 +204,7 @@ export declare function setItemAsync(key: string, value: string, options?: Secur - * @param options An [`SecureStoreOptions`](#securestoreoptions) object. - * - */ --export declare function setItem(key: string, value: string, options?: SecureStoreOptions): void; -+export declare function setItem(key: string, value: string, options?: R | EmptyObject): SecureStoreSetFeedback; - /** - * Synchronously reads the stored value associated with the provided key. - * > **Note:** This function blocks the JavaScript thread, so the application may not be interactive when reading a value with `requireAuthentication` -@@ -150,7 +215,7 @@ export declare function setItem(key: string, value: string, options?: SecureStor - * @return Previously stored value. It resolves with `null` if there is no entry - * for the given key or if the key has been invalidated. - */ --export declare function getItem(key: string, options?: SecureStoreOptions): string | null; -+export declare function getItem(key: string, options?: R | EmptyObject): SecureStoreGetFeedback; - /** - * Checks if the value can be saved with `requireAuthentication` option enabled. - * @return `true` if the device supports biometric authentication and the enrolled method is sufficiently secure. Otherwise, returns `false`. Always returns false on tvOS. -diff --git a/node_modules/expo-secure-store/build/SecureStore.js b/node_modules/expo-secure-store/build/SecureStore.js -index e11bd94..940fc61 100644 ---- a/node_modules/expo-secure-store/build/SecureStore.js -+++ b/node_modules/expo-secure-store/build/SecureStore.js -@@ -1,6 +1,53 @@ - import ExpoSecureStore from './ExpoSecureStore'; - import { byteCountOverLimit, VALUE_BYTES_LIMIT } from './byteCounter'; - // @needsAudit -+ -+/** -+ * Authentication type returned by the SecureStore after reading item or saving it to the store. -+ */ -+export const AUTH_TYPE = { -+ /** -+ * This is purely for backwards compatibility. -+ * Although it is not listed as a return value of the getAuthenticationType() method, -+ * it is still present in the Android code. -+ * @see https://developer.android.com/reference/android/hardware/biometrics/BiometricPrompt.AuthenticationResult#getAuthenticationType() -+ * @see https://developer.android.com/reference/androidx/biometric/BiometricPrompt#AUTHENTICATION_RESULT_TYPE_UNKNOWN() -+ * @platform android -+ */ -+ UNKNOWN: -1, -+ /** -+ * Returned when the authentication fails -+ * @platform android -+ * @platform ios -+ */ -+ NONE: 0, -+ /** -+ * Generic type, not specified whether it was a passcode or pattern. -+ * @platform android -+ * @platform ios -+ */ -+ CREDENTIALS: 1, -+ /** -+ * Generic type, not specified whether it was a face scan or a fingerprint -+ * @platform android -+ */ -+ BIOMETRICS: 2, -+ /** -+ * FaceID was used to authenticate -+ * @platform ios -+ */ -+ FACE_ID: 3, -+ /** -+ * TouchID was used to authenticate -+ * @platform ios -+ */ -+ TOUCH_ID: 4, -+ /** -+ * OpticID was used to authenticate (reserved by apple, used on Apple Vision Pro, not iOS) -+ */ -+ OPTIC_ID: 5, -+}; -+// @needsAudit - /** - * The data in the keychain item cannot be accessed after a restart until the device has been - * unlocked once by the user. This may be useful if you need to access the item when the phone -@@ -102,7 +149,7 @@ export async function setItemAsync(key, value, options = {}) { - if (!isValidValue(value)) { - throw new Error(`Invalid value provided to SecureStore. Values must be strings; consider JSON-encoding your values if they are serializable.`); - } -- await ExpoSecureStore.setValueWithKeyAsync(value, key, options); -+ return await ExpoSecureStore.setValueWithKeyAsync(value, key, options); - } - /** - * Stores a key–value pair synchronously. -diff --git a/node_modules/expo-secure-store/ios/SecureStoreModule.swift b/node_modules/expo-secure-store/ios/SecureStoreModule.swift -index 1268979..7764c8e 100644 ---- a/node_modules/expo-secure-store/ios/SecureStoreModule.swift -+++ b/node_modules/expo-secure-store/ios/SecureStoreModule.swift -@@ -18,28 +18,36 @@ public final class SecureStoreModule: Module { - "WHEN_UNLOCKED_THIS_DEVICE_ONLY": SecureStoreAccessible.whenUnlockedThisDeviceOnly.rawValue - ]) - -- AsyncFunction("getValueWithKeyAsync") { (key: String, options: SecureStoreOptions) -> String? in -- return try get(with: key, options: options) -+ AsyncFunction("getValueWithKeyAsync") { (key: String, options: SecureStoreOptions) in -+ let result = try get(with: key, options: options) -+ -+ return wrapResultWithFeedback(action: .get, result: result, options: options).value - } - -- Function("getValueWithKeySync") { (key: String, options: SecureStoreOptions) -> String? in -- return try get(with: key, options: options) -+ Function("getValueWithKeySync") { (key: String, options: SecureStoreOptions) in -+ let result = try get(with: key, options: options) -+ -+ return wrapResultWithFeedback(action: .get, result: result, options: options).value - } - -- AsyncFunction("setValueWithKeyAsync") { (value: String, key: String, options: SecureStoreOptions) -> Bool in -+ AsyncFunction("setValueWithKeyAsync") { (value: String, key: String, options: SecureStoreOptions) in - guard let key = validate(for: key) else { - throw InvalidKeyException() - } - -- return try set(value: value, with: key, options: options) -+ let result = try set(value: value, with: key, options: options) -+ -+ return wrapResultWithFeedback(action: .set, result: result, options: options).value - } - -- Function("setValueWithKeySync") {(value: String, key: String, options: SecureStoreOptions) -> Bool in -+ Function("setValueWithKeySync") {(value: String, key: String, options: SecureStoreOptions) in - guard let key = validate(for: key) else { - throw InvalidKeyException() - } - -- return try set(value: value, with: key, options: options) -+ let result = try set(value: value, with: key, options: options) -+ -+ return wrapResultWithFeedback(action: .set, result: result, options: options).value - } - - AsyncFunction("deleteValueWithKeyAsync") { (key: String, options: SecureStoreOptions) in -@@ -53,18 +61,7 @@ public final class SecureStoreModule: Module { - } - - Function("canUseBiometricAuthentication") {() -> Bool in -- #if os(tvOS) -- return false -- #else -- let context = LAContext() -- var error: NSError? -- let isBiometricsSupported: Bool = context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: &error) -- -- if error != nil { -- return false -- } -- return isBiometricsSupported -- #endif -+ return areBiometricsEnabled() - } - - Function("canUseDeviceCredentialsAuthentication") { () -> Bool in -@@ -76,6 +73,41 @@ public final class SecureStoreModule: Module { - return LAContext().canEvaluatePolicy(LAPolicy.deviceOwnerAuthentication, error: nil) - } - -+ private func getAuthType() -> AuthType { -+ if !areBiometricsEnabled() {return AuthType.credentials} -+ let biometryType = LAContext().biometryType -+ -+ switch biometryType { -+ case .faceID: return .faceID -+ case .touchID: return .touchID -+ case .opticID: return .opticID // available since iOS 17 -+ case .none: fallthrough // this one continues to the next line -+ @unknown default: return .credentials -+ } -+ } -+ -+ private func wrapResultWithFeedback(action: SecureStoreFeedbackAction, result: T, options: SecureStoreOptions) -> any SecureStoreFeedback { -+ let authType = getAuthType().rawValue -+ -+ if (!options.returnUsedAuthenticationType) { -+ return SecureStoreOriginalFeedback(source: result, authType: authType) -+ } -+ -+ if (action == .get) { -+ return SecureStoreGetFeedback(source: result, authType: authType) -+ } -+ -+ return SecureStoreSetFeedback(source: result, authType: authType) -+ } -+ -+ private func areBiometricsEnabled() -> Bool { -+ #if os(tvOS) -+ return false -+ #else -+ return LAContext().canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: nil) -+ #endif -+ } -+ - private func get(with key: String, options: SecureStoreOptions) throws -> String? { - guard let key = validate(for: key) else { - throw InvalidKeyException() -diff --git a/node_modules/expo-secure-store/ios/SecureStoreOptions.swift b/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -index c9e843b..b95eca7 100644 ---- a/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -+++ b/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -@@ -18,4 +18,71 @@ internal struct SecureStoreOptions: Record { - - @Field - var enableDeviceFallback: Bool = false -+ -+ @Field -+ var returnUsedAuthenticationType: Bool = false -+} -+ -+@available(iOS 11.2, *) -+public enum AuthType: Int, @unchecked Sendable { -+ /// The device does not support biometry. -+ case none = 0 -+ -+ /// The device supports device credentials -+ case credentials = 1 -+ -+ /// Generic type, not specified whether it was a faceID or touchID -+ case biometrics = 2 -+ -+ /// The device supports Face ID. -+ case faceID = 3 -+ -+ /// The device supports Touch ID. -+ case touchID = 4 -+ -+ /// The device supports Optic ID -+ case opticID = 5 -+} -+ -+public enum SecureStoreFeedbackAction: String { -+ case set -+ case get -+} -+ -+protocol SecureStoreFeedback { -+ associatedtype Source -+ associatedtype Value -+ var source: Source { get } -+ var authType: Int { get } -+ var value: Value { get } -+} -+ -+struct SecureStoreGetFeedback: SecureStoreFeedback { -+ typealias Source = T -+ typealias Value = Array -+ var source: Source -+ var authType: Int = AuthType.none.rawValue -+ var value: Value { -+ get { return [source, authType] } -+ } -+} -+ -+struct SecureStoreOriginalFeedback: SecureStoreFeedback { -+ typealias Source = T -+ typealias Value = T -+ var source: Source -+ var authType: Int = AuthType.none.rawValue -+ var value: Value { -+ get { return source } -+ } -+} -+ -+struct SecureStoreSetFeedback: SecureStoreFeedback { -+ typealias Source = T -+ typealias Value = Int -+ var source: Source -+ var authType: Int = AuthType.none.rawValue -+ var value: Value { -+ get { return authType } -+ } - } -diff --git a/node_modules/expo-secure-store/src/SecureStore.ts b/node_modules/expo-secure-store/src/SecureStore.ts -index 4f253a1..d44c0bb 100644 ---- a/node_modules/expo-secure-store/src/SecureStore.ts -+++ b/node_modules/expo-secure-store/src/SecureStore.ts -@@ -1,8 +1,63 @@ - import ExpoSecureStore from './ExpoSecureStore'; - import { byteCountOverLimit, VALUE_BYTES_LIMIT } from './byteCounter'; - -+type EmptyObject = Record; -+type SecureStoreSetFeedback = -+ R['returnUsedAuthenticationType'] extends true ? AuthType : void; -+type SecureStoreGetFeedback< -+ T, -+ R extends SecureStoreOptions, -+> = R['returnUsedAuthenticationType'] extends true ? [T | null, AuthType] : T | null; - export type KeychainAccessibilityConstant = number; - -+/** -+ * Authentication type returned by the SecureStore after reading item or saving it to the store. -+ */ -+export const AUTH_TYPE = { -+ /** -+ * This is purely for backwards compatibility. -+ * Although it is not listed as a return value of the getAuthenticationType() method, -+ * it is still present in the Android code. -+ * @see https://developer.android.com/reference/android/hardware/biometrics/BiometricPrompt.AuthenticationResult#getAuthenticationType() -+ * @see https://developer.android.com/reference/androidx/biometric/BiometricPrompt#AUTHENTICATION_RESULT_TYPE_UNKNOWN() -+ * @platform android -+ */ -+ UNKNOWN: -1, -+ /** -+ * Returned when the authentication fails -+ * @platform android -+ * @platform ios -+ */ -+ NONE: 0, -+ /** -+ * Generic type, not specified whether it was a passcode or pattern. -+ * @platform android -+ * @platform ios -+ */ -+ CREDENTIALS: 1, -+ /** -+ * Generic type, not specified whether it was a face scan or a fingerprint -+ * @platform android -+ */ -+ BIOMETRICS: 2, -+ /** -+ * FaceID was used to authenticate -+ * @platform ios -+ */ -+ FACE_ID: 3, -+ /** -+ * TouchID was used to authenticate -+ * @platform ios -+ */ -+ TOUCH_ID: 4, -+ /** -+ * OpticID was used to authenticate (reserved by apple, used on Apple Vision Pro, not iOS) -+ */ -+ OPTIC_ID: 5, -+} as const; -+ -+type AuthType = (typeof AUTH_TYPE)[keyof typeof AUTH_TYPE]; -+ - // @needsAudit - /** - * The data in the keychain item cannot be accessed after a restart until the device has been -@@ -113,6 +168,23 @@ export type SecureStoreOptions = { - * @platform ios - */ - enableDeviceFallback?: boolean; -+ -+ /** -+ * When this flag is set to true, the get methods of SecureStore will return a two-element array. The first value will be the original value returned when this flag is set to false. -+ * The second value is the authentication type used to read the value from the AUTH_TYPE object. -+ * As for the set function, the returned value will simply be AUTH_TYPE. -+ * -+ * @warning -+ * If the iOS device supports biometrics and the user falls back to device credentials, it will not be detected. -+ * This is not the case on Android, but we cannot specify the exact type of biometrics (e.g. fingerprint or face scan). -+ * Whether the type is detected correctly depends on the platform and its native implementation. -+ * This should be treated as more of a hint. -+ * -+ * @default false -+ * @platform android -+ * @platform ios -+ */ -+ returnUsedAuthenticationType?: boolean; - }; - - // @needsAudit -@@ -159,10 +231,10 @@ export async function deleteItemAsync( - * > After a key has been invalidated, it becomes impossible to read its value. - * > This only applies to values stored with `requireAuthentication` set to `true`. - */ --export async function getItemAsync( -+export async function getItemAsync( - key: string, -- options: SecureStoreOptions = {} --): Promise { -+ options: R | EmptyObject = {} -+): Promise> { - ensureValidKey(key); - return await ExpoSecureStore.getValueWithKeyAsync(key, options); - } -@@ -177,11 +249,11 @@ export async function getItemAsync( - * - * @return A promise that rejects if value cannot be stored on the device. - */ --export async function setItemAsync( -+export async function setItemAsync( - key: string, - value: string, -- options: SecureStoreOptions = {} --): Promise { -+ options: R | EmptyObject = {} -+): Promise> { - ensureValidKey(key); - if (!isValidValue(value)) { - throw new Error( -@@ -189,7 +261,7 @@ export async function setItemAsync( - ); - } - -- await ExpoSecureStore.setValueWithKeyAsync(value, key, options); -+ return await ExpoSecureStore.setValueWithKeyAsync(value, key, options); - } - - /** -@@ -201,7 +273,11 @@ export async function setItemAsync( - * @param options An [`SecureStoreOptions`](#securestoreoptions) object. - * - */ --export function setItem(key: string, value: string, options: SecureStoreOptions = {}): void { -+export function setItem( -+ key: string, -+ value: string, -+ options: R | EmptyObject = {} -+): SecureStoreSetFeedback { - ensureValidKey(key); - if (!isValidValue(value)) { - throw new Error( -@@ -222,7 +298,10 @@ export function setItem(key: string, value: string, options: SecureStoreOptions - * @return Previously stored value. It resolves with `null` if there is no entry - * for the given key or if the key has been invalidated. - */ --export function getItem(key: string, options: SecureStoreOptions = {}): string | null { -+export function getItem( -+ key: string, -+ options: R | EmptyObject = {} -+): SecureStoreGetFeedback { - ensureValidKey(key); - return ExpoSecureStore.getValueWithKeySync(key, options); - } diff --git a/patches/expo-secure-store/expo-secure-store+14.2.4+003+force-authentication-on-save.patch b/patches/expo-secure-store/expo-secure-store+14.2.4+003+force-authentication-on-save.patch deleted file mode 100644 index 59e74054b162..000000000000 --- a/patches/expo-secure-store/expo-secure-store+14.2.4+003+force-authentication-on-save.patch +++ /dev/null @@ -1,124 +0,0 @@ -diff --git a/node_modules/expo-secure-store/build/SecureStore.d.ts b/node_modules/expo-secure-store/build/SecureStore.d.ts -index 7097a8a..975d75b 100644 ---- a/node_modules/expo-secure-store/build/SecureStore.d.ts -+++ b/node_modules/expo-secure-store/build/SecureStore.d.ts -@@ -153,6 +153,20 @@ export type SecureStoreOptions = { - * @platform ios - */ - returnUsedAuthenticationType?: boolean; -+ /** -+ * On iOS, the system does not ask for auth when saving the value to the SecureStore. -+ * The Android however, displays the authentication prompt when saving the value. -+ * To keep the behavior on every platform similar as much as possible, -+ * setting this flag to true will ensure that authentication is required when saving a value to the store. -+ * -+ * @warning: This flag only works for the asynchronous version of the SecureStore save method. -+ * It should only be considered an improvement to the user experience; it does not prevent the user -+ * from saving the value without authenticating using other methods (e.g. by directly modifying the keychain). -+ * For it to take effect, the 'requireAuthentication' flag must be set to true. -+ * @default false -+ * @platform ios -+ */ -+ forceAuthenticationOnSave?: boolean; - }; - /** - * Returns whether the SecureStore API is enabled on the current device. This does not check the app -diff --git a/node_modules/expo-secure-store/ios/SecureStoreModule.swift b/node_modules/expo-secure-store/ios/SecureStoreModule.swift -index 7764c8e..02f837c 100644 ---- a/node_modules/expo-secure-store/ios/SecureStoreModule.swift -+++ b/node_modules/expo-secure-store/ios/SecureStoreModule.swift -@@ -35,6 +35,10 @@ public final class SecureStoreModule: Module { - throw InvalidKeyException() - } - -+ if options.requireAuthentication && options.forceAuthenticationOnSave { -+ try await triggerPolicy(options: options) -+ } -+ - let result = try set(value: value, with: key, options: options) - - return wrapResultWithFeedback(action: .set, result: result, options: options).value -@@ -190,6 +194,32 @@ public final class SecureStoreModule: Module { - } - } - -+ @MainActor -+ private func triggerPolicy(options: SecureStoreOptions) async throws { -+ let isPolicyAvailable = options.enableDeviceFallback ? areDeviceCredentialsEnabled() : areBiometricsEnabled() -+ -+ guard isPolicyAvailable else { -+ throw SecureStoreRuntimeError("No authentication method available") -+ } -+ -+ let localAuthPolicy: LAPolicy = options.enableDeviceFallback ? .deviceOwnerAuthentication : .deviceOwnerAuthenticationWithBiometrics -+ let localizedReason: String = options.authenticationPrompt ?? "Authentication required" -+ -+ let success: Bool = try await withCheckedThrowingContinuation { continuation in -+ LAContext().evaluatePolicy(localAuthPolicy, localizedReason: localizedReason) { success, error in -+ if let error = error { -+ continuation.resume(throwing: error) -+ } else { -+ continuation.resume(returning: success) -+ } -+ } -+ } -+ -+ guard success else { -+ throw SecureStoreRuntimeError("Unable to authenticate") -+ } -+ } -+ - private func searchKeyChain(with key: String, options: SecureStoreOptions, requireAuthentication: Bool? = nil) throws -> Data? { - var query = query(with: key, options: options, requireAuthentication: requireAuthentication) - -diff --git a/node_modules/expo-secure-store/ios/SecureStoreOptions.swift b/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -index b95eca7..321c7e5 100644 ---- a/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -+++ b/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -@@ -21,6 +21,9 @@ internal struct SecureStoreOptions: Record { - - @Field - var returnUsedAuthenticationType: Bool = false -+ -+ @Field -+ var forceAuthenticationOnSave: Bool = false - } - - @available(iOS 11.2, *) -@@ -86,3 +89,10 @@ struct SecureStoreSetFeedback: SecureStoreFeedback { - get { return authType } - } - } -+ -+struct SecureStoreRuntimeError: LocalizedError { -+ let errorDescription: String? -+ init(_ description: String) { -+ self.errorDescription = description -+ } -+} -diff --git a/node_modules/expo-secure-store/src/SecureStore.ts b/node_modules/expo-secure-store/src/SecureStore.ts -index d44c0bb..c4b95ae 100644 ---- a/node_modules/expo-secure-store/src/SecureStore.ts -+++ b/node_modules/expo-secure-store/src/SecureStore.ts -@@ -185,6 +185,21 @@ export type SecureStoreOptions = { - * @platform ios - */ - returnUsedAuthenticationType?: boolean; -+ -+ /** -+ * On iOS, the system does not ask for auth when saving the value to the SecureStore. -+ * The Android however, displays the authentication prompt when saving the value. -+ * To keep the behavior on every platform similar as much as possible, -+ * setting this flag to true will ensure that authentication is required when saving a value to the store. -+ * -+ * @warning: This flag only works for the asynchronous version of the SecureStore save method. -+ * It should only be considered an improvement to the user experience; it does not prevent the user -+ * from saving the value without authenticating using other methods (e.g. by directly modifying the keychain). -+ * For it to take effect, the 'requireAuthentication' flag must be set to true. -+ * @default false -+ * @platform ios -+ */ -+ forceAuthenticationOnSave?: boolean; - }; - - // @needsAudit diff --git a/patches/expo-secure-store/expo-secure-store+14.2.4+004+fail-on-update.patch b/patches/expo-secure-store/expo-secure-store+14.2.4+004+fail-on-update.patch deleted file mode 100644 index c3acba54c616..000000000000 --- a/patches/expo-secure-store/expo-secure-store+14.2.4+004+fail-on-update.patch +++ /dev/null @@ -1,100 +0,0 @@ -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt -index d209efc..e362aef 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt -@@ -212,6 +212,10 @@ open class SecureStoreModule : Module() { - return SecureStoreOriginalFeedback(null) - } - -+ if (prefs.contains(keychainAwareKey) && options.failOnUpdate) { -+ throw WriteException("Key already exists", key, options.keychainService) -+ } -+ - try { - if (keyIsInvalidated) { - // Invalidated keys will block writing even though it's not possible to re-validate them -diff --git a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt -index 4e30440..16674b8 100644 ---- a/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt -+++ b/node_modules/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreOptions.kt -@@ -11,7 +11,8 @@ class SecureStoreOptions( - @Field var keychainService: String = SecureStoreModule.DEFAULT_KEYSTORE_ALIAS, - @Field var requireAuthentication: Boolean = false, - @Field var enableDeviceFallback: Boolean = false, -- @Field var returnUsedAuthenticationType: Boolean = false -+ @Field var returnUsedAuthenticationType: Boolean = false, -+ @Field var failOnUpdate: Boolean = false - ) : Record, Serializable - - enum class SecureStoreAuthType(index: Int) { -diff --git a/node_modules/expo-secure-store/build/SecureStore.d.ts b/node_modules/expo-secure-store/build/SecureStore.d.ts -index f1e3610..8954c59 100644 ---- a/node_modules/expo-secure-store/build/SecureStore.d.ts -+++ b/node_modules/expo-secure-store/build/SecureStore.d.ts -@@ -167,6 +167,16 @@ export type SecureStoreOptions = { - * @platform ios - */ - forceAuthenticationOnSave?: boolean; -+ /** -+ * If the key has already been stored, the save function will throw an error instead of overwriting it. -+ * The behaviour differs slightly depending on the platform. -+ * On Android, an error is thrown before the authentication prompt. On iOS, an error is thrown after authentication. -+ * -+ * @default false -+ * @platform ios -+ * @platform android -+ */ -+ failOnUpdate?: boolean; - }; - /** - * Returns whether the SecureStore API is enabled on the current device. This does not check the app -diff --git a/node_modules/expo-secure-store/ios/SecureStoreModule.swift b/node_modules/expo-secure-store/ios/SecureStoreModule.swift -index 02f837c..47282db 100644 ---- a/node_modules/expo-secure-store/ios/SecureStoreModule.swift -+++ b/node_modules/expo-secure-store/ios/SecureStoreModule.swift -@@ -169,6 +169,9 @@ public final class SecureStoreModule: Module { - SecItemDelete(query(with: key, options: options, requireAuthentication: !options.requireAuthentication) as CFDictionary) - return true - case errSecDuplicateItem: -+ if options.failOnUpdate { -+ throw SecureStoreRuntimeError("Key already exists") -+ } - return try update(value: value, with: key, options: options) - default: - throw KeyChainException(status) -diff --git a/node_modules/expo-secure-store/ios/SecureStoreOptions.swift b/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -index 321c7e5..6a787b0 100644 ---- a/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -+++ b/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -@@ -24,6 +24,9 @@ internal struct SecureStoreOptions: Record { - - @Field - var forceAuthenticationOnSave: Bool = false -+ -+ @Field -+ var failOnUpdate: Bool = false - } - - @available(iOS 11.2, *) -diff --git a/node_modules/expo-secure-store/src/SecureStore.ts b/node_modules/expo-secure-store/src/SecureStore.ts -index c4b95ae..0bedcaa 100644 ---- a/node_modules/expo-secure-store/src/SecureStore.ts -+++ b/node_modules/expo-secure-store/src/SecureStore.ts -@@ -200,6 +200,17 @@ export type SecureStoreOptions = { - * @platform ios - */ - forceAuthenticationOnSave?: boolean; -+ -+ /** -+ * If the key has already been stored, the save function will throw an error instead of overwriting it. -+ * The behaviour differs slightly depending on the platform. -+ * On Android, an error is thrown before the authentication prompt. On iOS, an error is thrown after authentication. -+ * -+ * @default false -+ * @platform ios -+ * @platform android -+ */ -+ failOnUpdate?: boolean; - }; - - // @needsAudit diff --git a/patches/expo-secure-store/expo-secure-store+14.2.4+005+force-read-authentication-on-simulators.patch b/patches/expo-secure-store/expo-secure-store+14.2.4+005+force-read-authentication-on-simulators.patch deleted file mode 100644 index f65e0a31540a..000000000000 --- a/patches/expo-secure-store/expo-secure-store+14.2.4+005+force-read-authentication-on-simulators.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/node_modules/expo-secure-store/build/SecureStore.d.ts b/node_modules/expo-secure-store/build/SecureStore.d.ts -index 836958c..29531c5 100644 ---- a/node_modules/expo-secure-store/build/SecureStore.d.ts -+++ b/node_modules/expo-secure-store/build/SecureStore.d.ts -@@ -177,6 +177,18 @@ export type SecureStoreOptions = { - * @platform android - */ - failOnUpdate?: boolean; -+ /** -+ * The LocalAuthentication behaves slightly differently on iOS simulators. -+ * In numerous cases, the authentication prompts are skipped on simulators (as opposed to real devices). -+ * Setting this flag to true forces the prompt to appear on simulators when a value with the `requireAuthentication` flag set to true is read. -+ * This is purely for testing the app on simulators, in cases where the prompt does not appear when the value is read. -+ * This has no effect on real devices. -+ * -+ * @warning: This flag only works for the asynchronous version of the SecureStore read method. -+ * @default false -+ * @platform ios -+ */ -+ forceReadAuthenticationOnSimulators?: boolean; - }; - /** - * Returns whether the SecureStore API is enabled on the current device. This does not check the app -diff --git a/node_modules/expo-secure-store/ios/SecureStoreModule.swift b/node_modules/expo-secure-store/ios/SecureStoreModule.swift -index 47282db..dcbe242 100644 ---- a/node_modules/expo-secure-store/ios/SecureStoreModule.swift -+++ b/node_modules/expo-secure-store/ios/SecureStoreModule.swift -@@ -19,6 +19,11 @@ public final class SecureStoreModule: Module { - ]) - - AsyncFunction("getValueWithKeyAsync") { (key: String, options: SecureStoreOptions) in -+ #if targetEnvironment(simulator) -+ if options.requireAuthentication && options.forceReadAuthenticationOnSimulators { -+ try await triggerPolicy(options: options) -+ } -+ #endif - let result = try get(with: key, options: options) - - return wrapResultWithFeedback(action: .get, result: result, options: options).value -diff --git a/node_modules/expo-secure-store/ios/SecureStoreOptions.swift b/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -index 6a787b0..8f110dd 100644 ---- a/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -+++ b/node_modules/expo-secure-store/ios/SecureStoreOptions.swift -@@ -27,6 +27,9 @@ internal struct SecureStoreOptions: Record { - - @Field - var failOnUpdate: Bool = false -+ -+ @Field -+ var forceReadAuthenticationOnSimulators: Bool = false - } - - @available(iOS 11.2, *) -diff --git a/node_modules/expo-secure-store/src/SecureStore.ts b/node_modules/expo-secure-store/src/SecureStore.ts -index 0bedcaa..bae5580 100644 ---- a/node_modules/expo-secure-store/src/SecureStore.ts -+++ b/node_modules/expo-secure-store/src/SecureStore.ts -@@ -211,6 +211,19 @@ export type SecureStoreOptions = { - * @platform android - */ - failOnUpdate?: boolean; -+ -+ /** -+ * The LocalAuthentication behaves slightly differently on iOS simulators. -+ * In numerous cases, the authentication prompts are skipped on simulators (as opposed to real devices). -+ * Setting this flag to true forces the prompt to appear on simulators when a value with the `requireAuthentication` flag set to true is read. -+ * This is purely for testing the app on simulators, in cases where the prompt does not appear when the value is read. -+ * This has no effect on real devices. -+ * -+ * @warning: This flag only works for the asynchronous version of the SecureStore read method. -+ * @default false -+ * @platform ios -+ */ -+ forceReadAuthenticationOnSimulators?: boolean; - }; - - // @needsAudit diff --git a/patches/react-native-tab-view/details.md b/patches/react-native-tab-view/details.md index 1e87cab148c3..45ecaa002197 100644 --- a/patches/react-native-tab-view/details.md +++ b/patches/react-native-tab-view/details.md @@ -1,6 +1,6 @@ # `react-native-tab-view` patches -### [react-native-tab-view+4.1.0+001+fix-tab-animation.patch](react-native-tab-view+4.1.0+001+fix-tab-animation.patch) +### [react-native-tab-view+4.3.0+001+fix-tab-animation.patch](react-native-tab-view+4.3.0+001+fix-tab-animation.patch) - Reason: @@ -13,7 +13,7 @@ - E/App issue: 🛑 - PR Introducing Patch: [#39854](https://github.com/Expensify/App/pull/39854) -### [react-native-tab-view+4.1.0+002+fix-glitching-on-initial-load.patch](react-native-tab-view+4.1.0+002+fix-glitching-on-initial-load.patch) +### [react-native-tab-view+4.3.0+002+fix-glitching-on-initial-load.patch](react-native-tab-view+4.3.0+002+fix-glitching-on-initial-load.patch) - Reason: ``` @@ -24,7 +24,7 @@ - E/App issue: https://github.com/Expensify/App/issues/62346 - PR Introducing Patch: [#63570](https://github.com/Expensify/App/pull/63570) -### [react-native-tab-view+4.1.0+003+fix-web-onTabSelect-on-mount.patch](react-native-tab-view+4.1.0+003+fix-web-onTabSelect-on-mount.patch) +### [react-native-tab-view+4.3.0+003+fix-web-onTabSelect-on-mount.patch](react-native-tab-view+4.3.0+003+fix-web-onTabSelect-on-mount.patch) - Reason: ``` @@ -35,7 +35,7 @@ - E/App issue: https://github.com/Expensify/App/issues/71913#issuecomment-3584103273 - PR Introducing Patch: [#76586](https://github.com/Expensify/App/pull/76586) -### [react-native-tab-view+4.1.0+004+fix-native-onTabSelect-on-mount.patch](react-native-tab-view+4.1.0+004+fix-native-onTabSelect-on-mount.patch) +### [react-native-tab-view+4.3.0+004+fix-native-onTabSelect-on-mount.patch](react-native-tab-view+4.3.0+004+fix-native-onTabSelect-on-mount.patch) - Reason: ``` diff --git a/patches/react-native-tab-view/react-native-tab-view+4.1.0+002+fix-glitching-on-initial-load.patch b/patches/react-native-tab-view/react-native-tab-view+4.1.0+002+fix-glitching-on-initial-load.patch deleted file mode 100644 index 4c1d476f0b5b..000000000000 --- a/patches/react-native-tab-view/react-native-tab-view+4.1.0+002+fix-glitching-on-initial-load.patch +++ /dev/null @@ -1,148 +0,0 @@ -diff --git a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js -index ee81895..fdb8c83 100644 ---- a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js -+++ b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js -@@ -79,10 +79,38 @@ export function PanResponderAdapter({ - onIndexChangeRef.current = onIndexChange; - onTabSelectRef.current = onTabSelect; - }); -+ const [position, setPosition] = React.useState(null); -+ const [translateX, setTranslateX] = React.useState(null); - React.useEffect(() => { - const offset = -navigationStateRef.current.index * layout.width; - panX.setValue(offset); -- }, [layout.width, panX]); -+ -+ // layout.width is 0 which means we still waiting for it to be calculated. -+ if (!layout.width) { -+ // Non-null values of these states indicate that we have a proper layout.width -+ // We should make them null again if the layout.width is 0 again to avoid glitching. -+ // This can happen if the component is still mounted but not rendered anymore. e.g. on the screen -+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -+ setPosition(null); -+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -+ setTranslateX(null); -+ return; -+ } -+ -+ // Setting these states in the same useEffect as panX.setValue() prevents visual glitches -+ // that occur when layout.width is known but panX hasn't been recalculated yet (still at 0). -+ // This can happen if we do it in a separate useEffect or use useMemo for setting these values. -+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -+ setPosition(layout.width ? Animated.divide(panX, -layout.width) : null); -+ const maxTranslate = layout.width * (routes.length - 1); -+ -+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect -+ setTranslateX(Animated.multiply(panX.interpolate({ -+ inputRange: [-maxTranslate, 0], -+ outputRange: [-maxTranslate, 0], -+ extrapolate: 'clamp' -+ }), layoutDirection === 'rtl' ? -1 : 1)); -+ }, [layout.width, panX, routes.length, layoutDirection]); - React.useEffect(() => { - if (keyboardDismissMode === 'auto') { - Keyboard.dismiss(); -@@ -167,19 +195,12 @@ export function PanResponderAdapter({ - onPanResponderRelease: finishGesture, - onPanResponderTerminationRequest: () => true - }); -- const maxTranslate = layout.width * (routes.length - 1); -- const translateX = Animated.multiply(panX.interpolate({ -- inputRange: [-maxTranslate, 0], -- outputRange: [-maxTranslate, 0], -- extrapolate: 'clamp' -- }), layoutDirection === 'rtl' ? -1 : 1); -- const position = React.useMemo(() => layout.width ? Animated.divide(panX, -layout.width) : null, [layout.width, panX]); - return children({ - position: position ?? new Animated.Value(index), - addEnterListener, - jumpTo, - render: children => /*#__PURE__*/_jsx(Animated.View, { -- style: [styles.sheet, layout.width ? { -+ style: [styles.sheet, translateX ? { - width: routes.length * layout.width, - transform: [{ - translateX -@@ -190,10 +211,10 @@ export function PanResponderAdapter({ - const route = routes[i]; - const focused = i === index; - return /*#__PURE__*/_jsx(View, { -- style: layout.width ? { -+ style: translateX ? { - width: layout.width - } : focused ? StyleSheet.absoluteFill : null, -- children: focused || layout.width ? child : null -+ children: focused || translateX ? child : null - }, route.key); - }) - }) -diff --git a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js.map b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js.map -index e1b95f8..4c0a81c 100644 ---- a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js.map -+++ b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js.map -@@ -1 +1 @@ --{"version":3,"names":["React","Animated","Keyboard","PanResponder","StyleSheet","View","useLatestCallback","useAnimatedValue","jsx","_jsx","DEAD_ZONE","DefaultTransitionSpec","timing","spring","stiffness","damping","mass","overshootClamping","PanResponderAdapter","layout","keyboardDismissMode","swipeEnabled","navigationState","onIndexChange","onTabSelect","onSwipeStart","onSwipeEnd","children","style","animationEnabled","layoutDirection","routes","index","panX","listenersRef","useRef","navigationStateRef","layoutRef","onIndexChangeRef","onTabSelectRef","currentIndexRef","pendingIndexRef","undefined","swipeVelocityThreshold","swipeDistanceThreshold","width","jumpToIndex","animate","offset","current","transitionConfig","parallel","toValue","useNativeDriver","start","finished","setValue","useEffect","dismiss","isMovingHorizontally","_","gestureState","Math","abs","dx","dy","vx","vy","canMoveScreen","event","diffX","length","startGesture","stopAnimation","setOffset","_value","respondToGesture","position","_offset","next","ceil","floor","forEach","listener","finishGesture","flattenOffset","currentIndex","nextIndex","round","min","max","isFinite","addEnterListener","push","indexOf","splice","jumpTo","key","findIndex","route","panResponder","create","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","onPanResponderTerminate","onPanResponderRelease","onPanResponderTerminationRequest","maxTranslate","translateX","multiply","interpolate","inputRange","outputRange","extrapolate","useMemo","divide","Value","render","styles","sheet","transform","panHandlers","Children","map","child","i","focused","absoluteFill","flex","flexDirection","alignItems"],"sourceRoot":"../../src","sources":["PanResponderAdapter.tsx"],"mappings":"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","ignoreList":[]} -+{"version":3,"names":["React","Animated","Keyboard","PanResponder","StyleSheet","View","useLatestCallback","useAnimatedValue","jsx","_jsx","DEAD_ZONE","DefaultTransitionSpec","timing","spring","stiffness","damping","mass","overshootClamping","PanResponderAdapter","layout","keyboardDismissMode","swipeEnabled","navigationState","onIndexChange","onTabSelect","onSwipeStart","onSwipeEnd","children","style","animationEnabled","layoutDirection","routes","index","panX","listenersRef","useRef","navigationStateRef","layoutRef","onIndexChangeRef","onTabSelectRef","currentIndexRef","pendingIndexRef","undefined","swipeVelocityThreshold","swipeDistanceThreshold","width","jumpToIndex","animate","offset","current","transitionConfig","parallel","toValue","useNativeDriver","start","finished","setValue","useEffect","position","setPosition","useState","translateX","setTranslateX","divide","maxTranslate","length","multiply","interpolate","inputRange","outputRange","extrapolate","dismiss","isMovingHorizontally","_","gestureState","Math","abs","dx","dy","vx","vy","canMoveScreen","event","diffX","startGesture","stopAnimation","setOffset","_value","respondToGesture","_offset","next","ceil","floor","forEach","listener","finishGesture","flattenOffset","currentIndex","nextIndex","round","min","max","isFinite","addEnterListener","push","indexOf","splice","jumpTo","key","findIndex","route","panResponder","create","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","onPanResponderTerminate","onPanResponderRelease","onPanResponderTerminationRequest","Value","render","styles","sheet","transform","panHandlers","Children","map","child","i","focused","absoluteFill","flex","flexDirection","alignItems"],"sourceRoot":"../../src","sources":["PanResponderAdapter.tsx"],"mappings":"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","ignoreList":[]} -diff --git a/node_modules/react-native-tab-view/lib/module/TabView.js b/node_modules/react-native-tab-view/lib/module/TabView.js -index b15c537..079ee72 100644 ---- a/node_modules/react-native-tab-view/lib/module/TabView.js -+++ b/node_modules/react-native-tab-view/lib/module/TabView.js -@@ -34,7 +34,7 @@ export function TabView({ - commonOptions - }) { - if (Platform.OS !== 'web' && direction !== (I18nManager.getConstants().isRTL ? 'rtl' : 'ltr')) { -- console.warn(`The 'direction' prop is set to '${direction}' but the effective value is '${I18nManager.getConstants().isRTL ? 'rtl' : 'ltr'}'. This is not supported. Please use I18nManager.forceRTL to change the layout direction.`); -+ console.warn(`The 'direction' prop is set to '${direction}' but the effective value is '${I18nManager.getConstants().isRTL ? 'rtl' : 'ltr'}'. This is not supported. Make sure to match the 'direction' prop with the writing direction of the app.`); - } - const [layout, setLayout] = React.useState({ - width: 0, -diff --git a/node_modules/react-native-tab-view/lib/module/TabView.js.map b/node_modules/react-native-tab-view/lib/module/TabView.js.map -index efca27b..345e914 100644 ---- a/node_modules/react-native-tab-view/lib/module/TabView.js.map -+++ b/node_modules/react-native-tab-view/lib/module/TabView.js.map -@@ -1 +1 @@ --{"version":3,"names":["React","I18nManager","Platform","StyleSheet","View","Pager","SceneView","TabBar","jsx","_jsx","jsxs","_jsxs","renderLazyPlaceholderDefault","TabView","onIndexChange","onTabSelect","navigationState","renderScene","initialLayout","keyboardDismissMode","lazy","lazyPreloadDistance","onSwipeStart","onSwipeEnd","renderLazyPlaceholder","renderTabBar","props","pagerStyle","style","direction","getConstants","isRTL","swipeEnabled","tabBarPosition","animationEnabled","overScrollMode","options","sceneOptions","commonOptions","OS","console","warn","layout","setLayout","useState","width","height","jumpToIndex","index","handleLayout","e","nativeEvent","prevLayout","Object","fromEntries","routes","map","route","key","onLayout","styles","pager","children","layoutDirection","position","render","addEnterListener","jumpTo","sceneRendererProps","Fragment","i","sceneStyle","loading","create","flex","overflow"],"sourceRoot":"../../src","sources":["TabView.tsx"],"mappings":"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","ignoreList":[]} -+{"version":3,"names":["React","I18nManager","Platform","StyleSheet","View","Pager","SceneView","TabBar","jsx","_jsx","jsxs","_jsxs","renderLazyPlaceholderDefault","TabView","onIndexChange","onTabSelect","navigationState","renderScene","initialLayout","keyboardDismissMode","lazy","lazyPreloadDistance","onSwipeStart","onSwipeEnd","renderLazyPlaceholder","renderTabBar","props","pagerStyle","style","direction","getConstants","isRTL","swipeEnabled","tabBarPosition","animationEnabled","overScrollMode","options","sceneOptions","commonOptions","OS","console","warn","layout","setLayout","useState","width","height","jumpToIndex","index","handleLayout","e","nativeEvent","prevLayout","Object","fromEntries","routes","map","route","key","onLayout","styles","pager","children","layoutDirection","position","render","addEnterListener","jumpTo","sceneRendererProps","Fragment","i","sceneStyle","loading","create","flex","overflow"],"sourceRoot":"../../src","sources":["TabView.tsx"],"mappings":"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","ignoreList":[]} -diff --git a/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map b/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map -index f477de0..e3cd7db 100644 ---- a/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map -+++ b/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"PanResponderAdapter.d.ts","sourceRoot":"","sources":["../../../src/PanResponderAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EAOT,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EAEN,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,SAAS,CAAC;AAGjB,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,UAAU,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,CACR,KAAK,EAAE,iBAAiB,GAAG;QAGzB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAGjD,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;QAGvD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/B,KACE,KAAK,CAAC,YAAY,CAAC;CACzB,CAAC;AAYF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,KAAK,EAAE,EACnD,MAAM,EACN,mBAA4B,EAC5B,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAwB,EACxB,eAAuB,GACxB,EAAE,KAAK,CAAC,CAAC,CAAC,0EA8QV"} -\ No newline at end of file -+{"version":3,"file":"PanResponderAdapter.d.ts","sourceRoot":"","sources":["../../../src/PanResponderAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EAOT,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EAEN,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,SAAS,CAAC;AAGjB,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,UAAU,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,CACR,KAAK,EAAE,iBAAiB,GAAG;QAGzB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAGjD,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;QAGvD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/B,KACE,KAAK,CAAC,YAAY,CAAC;CACzB,CAAC;AAYF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,KAAK,EAAE,EACnD,MAAM,EACN,mBAA4B,EAC5B,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAwB,EACxB,eAAuB,GACxB,EAAE,KAAK,CAAC,CAAC,CAAC,0EAqSV"} -\ No newline at end of file -diff --git a/node_modules/react-native-tab-view/lib/typescript/src/__tests__/PlatformPressable.test.d.ts b/node_modules/react-native-tab-view/lib/typescript/src/__tests__/PlatformPressable.test.d.ts -new file mode 100644 -index 0000000..0a0f182 ---- /dev/null -+++ b/node_modules/react-native-tab-view/lib/typescript/src/__tests__/PlatformPressable.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=PlatformPressable.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/react-native-tab-view/lib/typescript/src/__tests__/PlatformPressable.test.d.ts.map b/node_modules/react-native-tab-view/lib/typescript/src/__tests__/PlatformPressable.test.d.ts.map -new file mode 100644 -index 0000000..15d462c ---- /dev/null -+++ b/node_modules/react-native-tab-view/lib/typescript/src/__tests__/PlatformPressable.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"PlatformPressable.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/PlatformPressable.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/react-native-tab-view/lib/typescript/src/__tests__/index.test.d.ts b/node_modules/react-native-tab-view/lib/typescript/src/__tests__/index.test.d.ts -new file mode 100644 -index 0000000..121d59b ---- /dev/null -+++ b/node_modules/react-native-tab-view/lib/typescript/src/__tests__/index.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=index.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/react-native-tab-view/lib/typescript/src/__tests__/index.test.d.ts.map b/node_modules/react-native-tab-view/lib/typescript/src/__tests__/index.test.d.ts.map -new file mode 100644 -index 0000000..7b9421a ---- /dev/null -+++ b/node_modules/react-native-tab-view/lib/typescript/src/__tests__/index.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/index.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file diff --git a/patches/react-native-tab-view/react-native-tab-view+4.1.0+001+fix-tab-animation.patch b/patches/react-native-tab-view/react-native-tab-view+4.3.0+001+fix-tab-animation.patch similarity index 84% rename from patches/react-native-tab-view/react-native-tab-view+4.1.0+001+fix-tab-animation.patch rename to patches/react-native-tab-view/react-native-tab-view+4.3.0+001+fix-tab-animation.patch index 688814ff9bc4..ff7f28cbb451 100644 --- a/patches/react-native-tab-view/react-native-tab-view+4.1.0+001+fix-tab-animation.patch +++ b/patches/react-native-tab-view/react-native-tab-view+4.3.0+001+fix-tab-animation.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx b/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx -index d4a0a0e..d66b0cb 100644 +index d4a0a0e..0000001 100644 --- a/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx +++ b/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx @@ -134,9 +134,10 @@ export function PagerViewAdapter({ @@ -14,7 +14,10 @@ index d4a0a0e..d66b0cb 100644 ); return children({ -@@ -166,6 +167,8 @@ export function PagerViewAdapter({ +@@ -163,9 +164,11 @@ export function PagerViewAdapter({ + ], + { useNativeDriver } + )} onPageSelected={(e) => { const index = e.nativeEvent.position; indexRef.current = index; diff --git a/patches/react-native-tab-view/react-native-tab-view+4.3.0+002+fix-glitching-on-initial-load.patch b/patches/react-native-tab-view/react-native-tab-view+4.3.0+002+fix-glitching-on-initial-load.patch new file mode 100644 index 000000000000..bb6e9c1a5857 --- /dev/null +++ b/patches/react-native-tab-view/react-native-tab-view+4.3.0+002+fix-glitching-on-initial-load.patch @@ -0,0 +1,96 @@ +diff --git a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js +index 22c1705..0000002 100644 +--- a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js ++++ b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js +@@ -79,10 +79,38 @@ export function PanResponderAdapter({ + onIndexChangeRef.current = onIndexChange; + onTabSelectRef.current = onTabSelect; + }); +- React.useLayoutEffect(() => { ++ const [position, setPosition] = React.useState(null); ++ const [translateX, setTranslateX] = React.useState(null); ++ React.useEffect(() => { + const offset = -navigationStateRef.current.index * layout.width; + panX.setValue(offset); +- }, [layout.width, panX]); ++ ++ // layout.width is 0 which means we still waiting for it to be calculated. ++ if (!layout.width) { ++ // Non-null values of these states indicate that we have a proper layout.width ++ // We should make them null again if the layout.width is 0 again to avoid glitching. ++ // This can happen if the component is still mounted but not rendered anymore. e.g. on the screen ++ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect ++ setPosition(null); ++ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect ++ setTranslateX(null); ++ return; ++ } ++ ++ // Setting these states in the same useEffect as panX.setValue() prevents visual glitches ++ // that occur when layout.width is known but panX hasn't been recalculated yet (still at 0). ++ // This can happen if we do it in a separate useEffect or use useMemo for setting these values. ++ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect ++ setPosition(layout.width ? Animated.divide(panX, -layout.width) : null); ++ const maxTranslate = layout.width * (routes.length - 1); ++ ++ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect ++ setTranslateX(Animated.multiply(panX.interpolate({ ++ inputRange: [-maxTranslate, 0], ++ outputRange: [-maxTranslate, 0], ++ extrapolate: 'clamp' ++ }), layoutDirection === 'rtl' ? -1 : 1)); ++ }, [layout.width, panX, routes.length, layoutDirection]); + React.useEffect(() => { + if (keyboardDismissMode === 'auto') { + Keyboard.dismiss(); +@@ -167,19 +195,12 @@ export function PanResponderAdapter({ + onPanResponderRelease: finishGesture, + onPanResponderTerminationRequest: () => true + }); +- const maxTranslate = layout.width * (routes.length - 1); +- const translateX = Animated.multiply(panX.interpolate({ +- inputRange: [-maxTranslate, 0], +- outputRange: [-maxTranslate, 0], +- extrapolate: 'clamp' +- }), layoutDirection === 'rtl' ? -1 : 1); +- const position = React.useMemo(() => layout.width ? Animated.divide(panX, -layout.width) : null, [layout.width, panX]); + return children({ + position: position ?? new Animated.Value(index), + addEnterListener, + jumpTo, + render: children => /*#__PURE__*/_jsx(Animated.View, { +- style: [styles.sheet, layout.width ? { ++ style: [styles.sheet, translateX ? { + width: routes.length * layout.width, + transform: [{ + translateX +@@ -190,10 +211,10 @@ export function PanResponderAdapter({ + const route = routes[i]; + const focused = i === index; + return /*#__PURE__*/_jsx(View, { +- style: layout.width ? { ++ style: translateX ? { + width: layout.width + } : focused ? StyleSheet.absoluteFill : null, +- children: focused || layout.width ? child : null ++ children: focused || translateX ? child : null + }, route.key); + }) + }) +diff --git a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js.map b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js.map +index 95b628e..2a31760 100644 +--- a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js.map ++++ b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js.map +@@ -1 +1 @@ +-{"version":3,"names":["React","Animated","Keyboard","PanResponder","StyleSheet","View","useLatestCallback","useAnimatedValue","jsx","_jsx","DEAD_ZONE","DefaultTransitionSpec","timing","spring","stiffness","damping","mass","overshootClamping","PanResponderAdapter","layout","keyboardDismissMode","swipeEnabled","navigationState","onIndexChange","onTabSelect","onSwipeStart","onSwipeEnd","children","style","animationEnabled","layoutDirection","routes","index","panX","listenersRef","useRef","navigationStateRef","layoutRef","onIndexChangeRef","onTabSelectRef","currentIndexRef","pendingIndexRef","undefined","swipeVelocityThreshold","swipeDistanceThreshold","width","jumpToIndex","animate","offset","current","transitionConfig","parallel","toValue","useNativeDriver","start","finished","setValue","useEffect","useLayoutEffect","dismiss","isMovingHorizontally","_","gestureState","Math","abs","dx","dy","vx","vy","canMoveScreen","event","diffX","length","startGesture","stopAnimation","setOffset","_value","respondToGesture","position","_offset","next","ceil","floor","forEach","listener","finishGesture","flattenOffset","currentIndex","nextIndex","round","min","max","isFinite","addEnterListener","push","indexOf","splice","jumpTo","key","findIndex","route","panResponder","create","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","onPanResponderTerminate","onPanResponderRelease","onPanResponderTerminationRequest","maxTranslate","translateX","multiply","interpolate","inputRange","outputRange","extrapolate","useMemo","divide","Value","render","styles","sheet","transform","panHandlers","Children","map","child","i","focused","absoluteFill","flex","flexDirection","alignItems"],"sourceRoot":"../../src","sources":["PanResponderAdapter.tsx"],"mappings":"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","ignoreList":[]} ++{"version":3,"names":["React","Animated","Keyboard","PanResponder","StyleSheet","View","useLatestCallback","useAnimatedValue","jsx","_jsx","DEAD_ZONE","DefaultTransitionSpec","timing","spring","stiffness","damping","mass","overshootClamping","PanResponderAdapter","layout","keyboardDismissMode","swipeEnabled","navigationState","onIndexChange","onTabSelect","onSwipeStart","onSwipeEnd","children","style","animationEnabled","layoutDirection","routes","index","panX","listenersRef","useRef","navigationStateRef","layoutRef","onIndexChangeRef","onTabSelectRef","currentIndexRef","pendingIndexRef","undefined","swipeVelocityThreshold","swipeDistanceThreshold","width","jumpToIndex","animate","offset","current","transitionConfig","parallel","toValue","useNativeDriver","start","finished","setValue","useEffect","position","setPosition","useState","translateX","setTranslateX","divide","maxTranslate","length","multiply","interpolate","inputRange","outputRange","extrapolate","dismiss","isMovingHorizontally","_","gestureState","Math","abs","dx","dy","vx","vy","canMoveScreen","event","diffX","startGesture","stopAnimation","setOffset","_value","respondToGesture","_offset","next","ceil","floor","forEach","listener","finishGesture","flattenOffset","currentIndex","nextIndex","round","min","max","isFinite","addEnterListener","push","indexOf","splice","jumpTo","key","findIndex","route","panResponder","create","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","onPanResponderTerminate","onPanResponderRelease","onPanResponderTerminationRequest","Value","render","styles","sheet","transform","panHandlers","Children","map","child","i","focused","absoluteFill","flex","flexDirection","alignItems"],"sourceRoot":"../../src","sources":["PanResponderAdapter.tsx"],"mappings":"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","ignoreList":[]} +\ No newline at end of file +diff --git a/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map b/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map +index f477de0..4d55ccb 100644 +--- a/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map ++++ b/node_modules/react-native-tab-view/lib/typescript/src/PanResponderAdapter.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"PanResponderAdapter.d.ts","sourceRoot":"","sources":["../../../src/PanResponderAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EAOT,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EAEN,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,SAAS,CAAC;AAGjB,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,UAAU,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,CACR,KAAK,EAAE,iBAAiB,GAAG;QAGzB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAGjD,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;QAGvD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/B,KACE,KAAK,CAAC,YAAY,CAAC;CACzB,CAAC;AAYF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,KAAK,EAAE,EACnD,MAAM,EACN,mBAA4B,EAC5B,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAwB,EACxB,eAAuB,GACxB,EAAE,KAAK,CAAC,CAAC,CAAC,0EA8QV"} +\ No newline at end of file ++{"version":3,"file":"PanResponderAdapter.d.ts","sourceRoot":"","sources":["../../../src/PanResponderAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EAOT,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EAEN,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,SAAS,CAAC;AAGjB,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,UAAU,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,CACR,KAAK,EAAE,iBAAiB,GAAG;QAGzB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAGjD,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;QAGvD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/B,KACE,KAAK,CAAC,YAAY,CAAC;CACzB,CAAC;AAYF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,KAAK,EAAE,EACnD,MAAM,EACN,mBAA4B,EAC5B,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAwB,EACxB,eAAuB,GACxB,EAAE,KAAK,CAAC,CAAC,CAAC,0EAiSV"} +\ No newline at end of file diff --git a/patches/react-native-tab-view/react-native-tab-view+4.1.0+003+fix-web-onTabSelect-on-mount.patch b/patches/react-native-tab-view/react-native-tab-view+4.3.0+003+fix-web-onTabSelect-on-mount.patch similarity index 88% rename from patches/react-native-tab-view/react-native-tab-view+4.1.0+003+fix-web-onTabSelect-on-mount.patch rename to patches/react-native-tab-view/react-native-tab-view+4.3.0+003+fix-web-onTabSelect-on-mount.patch index aada79c98209..ff1df355c8df 100644 --- a/patches/react-native-tab-view/react-native-tab-view+4.1.0+003+fix-web-onTabSelect-on-mount.patch +++ b/patches/react-native-tab-view/react-native-tab-view+4.3.0+003+fix-web-onTabSelect-on-mount.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js -index fdb8c83729f..7ae690b297f 100644 +index 0000002..0000003 100644 --- a/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js +++ b/node_modules/react-native-tab-view/lib/module/PanResponderAdapter.js @@ -39,6 +39,7 @@ export function PanResponderAdapter({ @@ -10,15 +10,14 @@ index fdb8c83729f..7ae690b297f 100644 const swipeVelocityThreshold = 0.15; const swipeDistanceThreshold = layout.width / 1.75; const jumpToIndex = useLatestCallback((index, animate = animationEnabled) => { -@@ -94,6 +95,7 @@ export function PanResponderAdapter({ +@@ -94,5 +95,6 @@ export function PanResponderAdapter({ setPosition(null); // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect setTranslateX(null); + hasCalledInitialTabSelectRef.current = false; return; } - -@@ -110,6 +112,12 @@ export function PanResponderAdapter({ +@@ -110,5 +112,11 @@ export function PanResponderAdapter({ outputRange: [-maxTranslate, 0], extrapolate: 'clamp' }), layoutDirection === 'rtl' ? -1 : 1)); @@ -30,4 +29,3 @@ index fdb8c83729f..7ae690b297f 100644 + } }, [layout.width, panX, routes.length, layoutDirection]); React.useEffect(() => { - if (keyboardDismissMode === 'auto') { diff --git a/patches/react-native-tab-view/react-native-tab-view+4.1.0+004+fix-native-onTabSelect-on-mount.patch b/patches/react-native-tab-view/react-native-tab-view+4.3.0+004+fix-native-onTabSelect-on-mount.patch similarity index 74% rename from patches/react-native-tab-view/react-native-tab-view+4.1.0+004+fix-native-onTabSelect-on-mount.patch rename to patches/react-native-tab-view/react-native-tab-view+4.3.0+004+fix-native-onTabSelect-on-mount.patch index 1c926949ef44..3ea408f3ca68 100644 --- a/patches/react-native-tab-view/react-native-tab-view+4.1.0+004+fix-native-onTabSelect-on-mount.patch +++ b/patches/react-native-tab-view/react-native-tab-view+4.3.0+004+fix-native-onTabSelect-on-mount.patch @@ -1,19 +1,22 @@ diff --git a/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx b/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx -index d66b0cb..a1b2c3d 100644 +index 0000001..01e208c 100644 --- a/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx +++ b/node_modules/react-native-tab-view/src/PagerViewAdapter.tsx -@@ -57,3 +57,5 @@ export function PagerViewAdapter({ +@@ -57,14 +57,28 @@ export function PagerViewAdapter({ const pagerRef = React.useRef(null); const indexRef = React.useRef(index); const navigationStateRef = React.useRef(navigationState); + const onTabSelectRef = React.useRef(onTabSelect); + const hasCalledInitialTabSelectRef = React.useRef(false); -@@ -64,3 +66,15 @@ export function PagerViewAdapter({ + + const position = useAnimatedValue(index); + const offset = useAnimatedValue(0); + React.useEffect(() => { navigationStateRef.current = navigationState; + onTabSelectRef.current = onTabSelect; }); -+ + + React.useEffect(() => { + if (hasCalledInitialTabSelectRef.current) { + return; @@ -24,3 +27,7 @@ index d66b0cb..a1b2c3d 100644 + onTabSelectRef.current?.({index: navigationStateRef.current.index}); + }); + }, []); ++ + const jumpTo = useLatestCallback((key: string) => { + const index = navigationStateRef.current.routes.findIndex( + (route: { key: string }) => route.key === key diff --git a/patches/react-native-web/details.md b/patches/react-native-web/details.md index 95e8d920ab2d..df0cad52449e 100644 --- a/patches/react-native-web/details.md +++ b/patches/react-native-web/details.md @@ -134,17 +134,3 @@ - Upstream PR/issue: https://github.com/necolas/react-native-web/issues/2817 - E/App issue: https://github.com/Expensify/App/issues/73782 - PR introducing patch: https://github.com/Expensify/App/pull/76332 - -### [react-native-web+0.21.2+013+fix-non-interactive-pressable-a11y.patch](react-native-web+0.21.2+013+fix-non-interactive-pressable-a11y.patch) - -- Reason: - ``` - Removes the onClick handler from Pressable when no onPress or onLongPress callbacks - are configured. TalkBack on Android mWeb uses the presence of a click event listener - to determine whether an element is actionable, causing it to announce "double tap to - activate" on non-interactive Pressables. Removing onClick when there are no press - handlers prevents this incorrect announcement. - ``` -- Upstream PR/issue: 🛑 -- E/App issue: https://github.com/Expensify/App/issues/79243 -- PR introducing patch: https://github.com/Expensify/App/pull/86731 diff --git a/patches/react-native-web/react-native-web+0.21.2+013+fix-non-interactive-pressable-a11y.patch b/patches/react-native-web/react-native-web+0.21.2+013+fix-non-interactive-pressable-a11y.patch deleted file mode 100644 index b2a140b2bfa1..000000000000 --- a/patches/react-native-web/react-native-web+0.21.2+013+fix-non-interactive-pressable-a11y.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/node_modules/react-native-web/dist/exports/Pressable/index.js b/node_modules/react-native-web/dist/exports/Pressable/index.js -index 2837507..a1b2c3d 100644 ---- a/node_modules/react-native-web/dist/exports/Pressable/index.js -+++ b/node_modules/react-native-web/dist/exports/Pressable/index.js -@@ -69,6 +69,9 @@ function Pressable(props, forwardedRef) { - onPressEnd: onPressOut - }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]); - var pressEventHandlers = usePressEvents(hostRef, pressConfig); -+ if (onPress == null && onLongPress == null) { -+ pressEventHandlers = _objectWithoutPropertiesLoose(pressEventHandlers, ["onClick"]); -+ } - var onContextMenuPress = pressEventHandlers.onContextMenu, - onKeyDownPress = pressEventHandlers.onKeyDown; - useHover(hostRef, { diff --git a/patches/react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch b/patches/react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch deleted file mode 100644 index 5f87fda692e9..000000000000 --- a/patches/react-navigation/@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch +++ /dev/null @@ -1,726 +0,0 @@ -diff --git a/node_modules/@react-navigation/core/lib/module/types.js.map b/node_modules/@react-navigation/core/lib/module/types.js.map -index c0b4975..96c6dac 100644 ---- a/node_modules/@react-navigation/core/lib/module/types.js.map -+++ b/node_modules/@react-navigation/core/lib/module/types.js.map -@@ -1 +1 @@ --{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;AAqNA,OAAO,MAAMA,iBAAiB,CAA4B","ignoreList":[]} -+{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;AAmPA,OAAO,MAAMA,iBAAiB,CAA4B","ignoreList":[]} -diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js b/node_modules/@react-navigation/core/lib/module/useDescriptors.js -index 710df03..07ae763 100644 ---- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js -+++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js -@@ -16,6 +16,8 @@ import { jsx as _jsx } from "react/jsx-runtime"; - * - Helper method to render a screen - * - Options specified by the screen for the navigator - * - Navigation object intended for the route -+ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. -+ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. - */ - export function useDescriptors({ - state, -@@ -31,7 +33,7 @@ export function useDescriptors({ - onRouteFocus, - router, - emitter --}) { -+}, convertCustomScreenOptions) { - const theme = React.useContext(ThemeContext); - const [options, setOptions] = React.useState({}); - const { -@@ -68,15 +70,26 @@ export function useDescriptors({ - const getOptions = (route, navigation, overrides) => { - const config = screens[route.name]; - const screen = config.props; -- const optionsList = [ -- // The default `screenOptions` passed to the navigator -- screenOptions, -- // The `screenOptions` props passed to `Group` elements -- ...(config.options ? config.options.filter(Boolean) : []), -- // The `options` prop passed to `Screen` elements, -- screen.options, -- // The options set via `navigation.setOptions` -- overrides]; -+ let optionsList; -+ if (convertCustomScreenOptions) { -+ optionsList = [ -+ // The default `screenOptions` passed to the navigator -+ convertCustomScreenOptions(screenOptions), -+ // The `screenOptions` props passed to `Group` elements -+ ...(config.options ? config.options.filter(Boolean).map(convertCustomScreenOptions) : []), -+ // The `options` prop passed to `Screen` elements, -+ convertCustomScreenOptions(screen.options), convertCustomScreenOptions(overrides)]; -+ } else { -+ optionsList = [ -+ // The default `screenOptions` passed to the navigator -+ screenOptions, -+ // The `screenOptions` props passed to `Group` elements -+ ...(config.options ? config.options.filter(Boolean) : []), -+ // The `options` prop passed to `Screen` elements, -+ screen.options, -+ // The options set via `navigation.setOptions` -+ options[route.key]]; -+ } - return optionsList.reduce((acc, curr) => Object.assign(acc, - // @ts-expect-error: we check for function but TS still complains - typeof curr !== 'function' ? curr : curr({ -diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map -index 9d2a903..c28b7e8 100644 ---- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map -+++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map -@@ -1 +1 @@ --{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","state","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","base","navigations","routes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","describe","placeholder","Error","undefined"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]} -+{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","state","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","convertCustomScreenOptions","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","base","navigations","routes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","map","key","reduce","acc","curr","Object","assign","render","customOptions","routeState","clearOptions","o","_","rest","layout","element","children","Provider","value","descriptors","i","describe","placeholder","Error","undefined"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]} -diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index 586b8be..d7028e1 100644 ---- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -+++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -@@ -138,9 +138,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions, groupLayo - * - * @param createRouter Factory method which returns router object. - * @param options Options object containing `children` and additional options for the router. -+ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. -+ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. - * @returns An object containing `state`, `navigation`, `descriptors` objects. - */ --export function useNavigationBuilder(createRouter, options) { -+export function useNavigationBuilder(createRouter, options, convertCustomScreenOptions) { - const navigatorKey = useRegisterNavigator(); - const route = React.useContext(NavigationRouteContext); - const { -@@ -470,7 +472,7 @@ export function useNavigationBuilder(createRouter, options) { - router, - // @ts-expect-error: this should have both core and custom events, but too much work right now - emitter -- }); -+ }, convertCustomScreenOptions); - useCurrentRender({ - state, - navigation, -diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -index aababc4..ebbae11 100644 ---- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -+++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -@@ -1 +1 @@ --{"version":3,"names":["CommonActions","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useIsomorphicLayoutEffect","useKeyedChildListeners","useLazyValue","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","state","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","params","initial","screen","getInitialState","stateFromParams","index","routes","path","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","pop","updatedState","getStateForAction","shouldUpdate","stateRef","emitter","e","target","find","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":";;AAAA,SACEA,aAAa,QAUR,2BAA2B;AAClC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,kBAAkB,QAAQ,UAAU;AAC7C,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,MAAM,QAAQ,aAAU;AACjC,SAKEC,iBAAiB,QAEZ,YAAS;AAChB,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAAsCC,cAAc,QAAQ,qBAAkB;AAC9E,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,kCAAkC,QAAQ,yCAAsC;AACzF,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,yBAAyB,QAAQ,6BAA6B;AACvE,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,iBAAiB,QAAQ,wBAAqB;;AAEvD;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACAlB,iBAAiB;AAOjB,MAAMmB,QAAQ,GACZC,KAAkC,IAI9B;EACJ,OAAOA,KAAK,CAACC,IAAI,KAAKtB,MAAM;AAC9B,CAAC;AAED,MAAMuB,OAAO,GACXF,KAAkC,IAM9B;EACJ,OAAOA,KAAK,CAACC,IAAI,KAAKjC,KAAK,CAACmC,QAAQ,IAAIH,KAAK,CAACC,IAAI,KAAK7B,KAAK;AAC9D,CAAC;AAED,MAAMgC,UAAU,GAAIC,GAAY,IAC9BA,GAAG,KAAKC,SAAS,IAAK,OAAOD,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,EAAG;;AAE9D;AACA;AACA;AACA;AACA;AACA,MAAME,2BAA2B,GAAGA,CAKlCC,QAAyB,EACzBC,QAAiB,EACjBC,YAIY,EACZC,WAA8E,KAC3E;EACH,MAAMC,OAAO,GAAG5C,KAAK,CAAC6C,QAAQ,CAACC,OAAO,CAACN,QAAQ,CAAC,CAACO,MAAM,CAErD,CAACC,GAAG,EAAEhB,KAAK,KAAK;IAChB,iBAAIhC,KAAK,CAACiD,cAAc,CAACjB,KAAK,CAAC,EAAE;MAC/B,IAAID,QAAQ,CAACC,KAAK,CAAC,EAAE;QACnB;QACA;;QAEA,IAAI,OAAOA,KAAK,CAACkB,KAAK,KAAK,QAAQ,IAAIlB,KAAK,CAACkB,KAAK,KAAK,IAAI,EAAE;UAC3D,MAAM,IAAIC,KAAK,CAAC,oCAAoC,CAAC;QACvD;QAEA,IAAI,OAAOnB,KAAK,CAACkB,KAAK,CAACE,IAAI,KAAK,QAAQ,IAAIpB,KAAK,CAACkB,KAAK,CAACE,IAAI,KAAK,EAAE,EAAE;UACnE,MAAM,IAAID,KAAK,CACb,wBAAwBE,IAAI,CAACC,SAAS,CACpCtB,KAAK,CAACkB,KAAK,CAACE,IACd,CAAC,kDACH,CAAC;QACH;QAEA,IACEpB,KAAK,CAACkB,KAAK,CAACK,aAAa,KAAKjB,SAAS,KACtC,OAAON,KAAK,CAACkB,KAAK,CAACK,aAAa,KAAK,QAAQ,IAC5CvB,KAAK,CAACkB,KAAK,CAACK,aAAa,KAAK,EAAE,CAAC,EACnC;UACA,MAAM,IAAIJ,KAAK,CACb,wCAAwCE,IAAI,CAACC,SAAS,CACpDtB,KAAK,CAACkB,KAAK,CAACK,aACd,CAAC,qBACCvB,KAAK,CAACkB,KAAK,CAACE,IAAI,kDAEpB,CAAC;QACH;QAEAJ,GAAG,CAACQ,IAAI,CAAC;UACPC,IAAI,EAAE,CAAChB,QAAQ,EAAET,KAAK,CAACkB,KAAK,CAACK,aAAa,CAAC;UAC3CG,OAAO,EAAEhB,YAAY;UACrBiB,MAAM,EAAEhB,WAAW;UACnBO,KAAK,EAAElB,KAAK,CAACkB;QAQf,CAAC,CAAC;QAEF,OAAOF,GAAG;MACZ;MAEA,IAAId,OAAO,CAACF,KAAK,CAAC,EAAE;QAClB,IAAI,CAACI,UAAU,CAACJ,KAAK,CAACkB,KAAK,CAACK,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIJ,KAAK,CACb,wCAAwCE,IAAI,CAACC,SAAS,CACpDtB,KAAK,CAACkB,KAAK,CAACK,aACd,CAAC,gEACH,CAAC;QACH;;QAEA;QACA;QACAP,GAAG,CAACQ,IAAI,CACN,GAAGjB,2BAA2B,CAC5BP,KAAK,CAACkB,KAAK,CAACV,QAAQ,EACpBR,KAAK,CAACkB,KAAK,CAACK,aAAa;QACzB;QACA;QACAvB,KAAK,CAACC,IAAI,KAAK7B,KAAK,GAChBsC,YAAY,GACZA,YAAY,IAAI,IAAI,GAClB,CAAC,GAAGA,YAAY,EAAEV,KAAK,CAACkB,KAAK,CAACU,aAAa,CAAC,GAC5C,CAAC5B,KAAK,CAACkB,KAAK,CAACU,aAAa,CAAC,EACjC,OAAO5B,KAAK,CAACkB,KAAK,CAACW,YAAY,KAAK,UAAU,GAC1C7B,KAAK,CAACkB,KAAK,CAACW,YAAY,GACxBlB,WACN,CACF,CAAC;QAED,OAAOK,GAAG;MACZ;IACF;IAEA,MAAM,IAAIG,KAAK,CACb,oGACE,aAAAnD,KAAK,CAACiD,cAAc,CAACjB,KAAK,CAAC,GACvB,IACE,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ,GAAGD,KAAK,CAACC,IAAI,GAAGD,KAAK,CAACC,IAAI,EAAEmB,IAAI,IAE9DpB,KAAK,CAACkB,KAAK,IAAI,IAAI,IACnB,OAAOlB,KAAK,CAACkB,KAAK,KAAK,QAAQ,IAC/B,MAAM,IAAIlB,KAAK,CAACkB,KAAK,IACrBlB,KAAK,CAACkB,KAAK,EAAEE,IAAI,GACb,oBAAoBpB,KAAK,CAACkB,KAAK,CAACE,IAAI,GAAG,GACvC,EAAE,EACN,GACF,OAAOpB,KAAK,KAAK,QAAQ,GACvBqB,IAAI,CAACC,SAAS,CAACtB,KAAK,CAAC,GACrB,IAAI8B,MAAM,CAAC9B,KAAK,CAAC,GAAG,4FAE9B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAI+B,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzCrB,OAAO,CAACsB,OAAO,CAAEC,MAAM,IAAK;MAC1B,MAAM;QAAEf,IAAI;QAAEZ,QAAQ;QAAE4B,SAAS;QAAEC;MAAa,CAAC,GAAGF,MAAM,CAACjB,KAAK;MAEhE,IACEV,QAAQ,IAAI,IAAI,IAChB4B,SAAS,KAAK9B,SAAS,IACvB+B,YAAY,KAAK/B,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAI4B,SAAS,KAAK9B,SAAS,EAAE;UAC/C,MAAM,IAAIa,KAAK,CACb,6DAA6DC,IAAI,oCACnE,CAAC;QACH;QAEA,IAAIZ,QAAQ,IAAI,IAAI,IAAI6B,YAAY,KAAK/B,SAAS,EAAE;UAClD,MAAM,IAAIa,KAAK,CACb,gEAAgEC,IAAI,oCACtE,CAAC;QACH;QAEA,IAAIgB,SAAS,KAAK9B,SAAS,IAAI+B,YAAY,KAAK/B,SAAS,EAAE;UACzD,MAAM,IAAIa,KAAK,CACb,iEAAiEC,IAAI,oCACvE,CAAC;QACH;QAEA,IAAIZ,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;UACtD,MAAM,IAAIW,KAAK,CACb,4DAA4DC,IAAI,qDAClE,CAAC;QACH;QAEA,IAAIgB,SAAS,KAAK9B,SAAS,IAAI,CAACrC,kBAAkB,CAACmE,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIjB,KAAK,CACb,6DAA6DC,IAAI,wCACnE,CAAC;QACH;QAEA,IAAIiB,YAAY,KAAK/B,SAAS,IAAI,OAAO+B,YAAY,KAAK,UAAU,EAAE;UACpE,MAAM,IAAIlB,KAAK,CACb,gEAAgEC,IAAI,uDACtE,CAAC;QACH;QAEA,IAAI,OAAOgB,SAAS,KAAK,UAAU,EAAE;UACnC,IAAIA,SAAS,CAAChB,IAAI,KAAK,WAAW,EAAE;YAClC;YACA;YACA;YACAkB,OAAO,CAACC,IAAI,CACV,qFAAqFnB,IAAI,uRAC3F,CAAC;UACH,CAAC,MAAM,IAAI,QAAQ,CAACoB,IAAI,CAACJ,SAAS,CAAChB,IAAI,CAAC,EAAE;YACxCkB,OAAO,CAACC,IAAI,CACV,kCAAkCH,SAAS,CAAChB,IAAI,qBAAqBA,IAAI,yMAC3E,CAAC;UACH;QACF;MACF,CAAC,MAAM;QACL,MAAM,IAAID,KAAK,CACb,kFAAkFC,IAAI,qLACxF,CAAC;MACH;IACF,CAAC,CAAC;EACJ;EAEA,OAAOR,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS6B,oBAAoBA,CAOlCC,YAAmE,EACnEhB,OAQe,EACf;EACA,MAAMiB,YAAY,GAAGhD,oBAAoB,CAAC,CAAC;EAE3C,MAAMiD,KAAK,GAAG5E,KAAK,CAAC6E,UAAU,CAACrE,sBAAsB,CAExC;EAEb,MAAM;IACJgC,QAAQ;IACRmB,MAAM;IACNC,aAAa;IACbC,YAAY;IACZiB,eAAe;IACfC,eAAe;IACf,GAAGC;EACL,CAAC,GAAGtB,OAAO;EAEX,MAAMuB,YAAY,GAAG1C,2BAA2B,CAI9CC,QAAQ,CAAC;EAEX,MAAM0C,MAAM,GAAG5D,YAAY,CAAqB,MAAM;IACpD,IACE0D,IAAI,CAACG,gBAAgB,IAAI,IAAI,IAC7BF,YAAY,CAACG,KAAK,CACfjB,MAAM,IAAKA,MAAM,CAACjB,KAAK,CAACE,IAAI,KAAK4B,IAAI,CAACG,gBACzC,CAAC,EACD;MACA,MAAM,IAAIhC,KAAK,CACb,iCAAiC6B,IAAI,CAACG,gBAAgB,iCACxD,CAAC;IACH;IAEA,MAAME,QAAQ,GAAGX,YAAY,CAACM,IAAgC,CAAC;IAE/D,IAAID,eAAe,IAAI,IAAI,EAAE;MAC3B,MAAMO,SAAS,GAAGP,eAAe,CAACM,QAAQ,CAAC;MAE3C,OAAO;QACL,GAAGA,QAAQ;QACX,GAAGC;MACL,CAAC;IACH;IAEA,OAAOD,QAAQ;EACjB,CAAC,CAAC;EAEF,MAAME,OAAO,GAAGN,YAAY,CAAClC,MAAM,CAEjC,CAACC,GAAG,EAAEmB,MAAM,KAAK;IACjB,IAAIA,MAAM,CAACjB,KAAK,CAACE,IAAI,IAAIJ,GAAG,EAAE;MAC5B,MAAM,IAAIG,KAAK,CACb,6GAA6GgB,MAAM,CAACjB,KAAK,CAACE,IAAI,IAChI,CAAC;IACH;IAEAJ,GAAG,CAACmB,MAAM,CAACjB,KAAK,CAACE,IAAI,CAAC,GAAGe,MAAM;IAC/B,OAAOnB,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,MAAMwC,UAAU,GAAGP,YAAY,CAACQ,GAAG,CAAEtB,MAAM,IAAKA,MAAM,CAACjB,KAAK,CAACE,IAAI,CAAC;EAClE,MAAMsC,YAAY,GAAGF,UAAU,CAACzC,MAAM,CACpC,CAACC,GAAG,EAAE2C,IAAI,KAAK;IACb3C,GAAG,CAAC2C,IAAI,CAAC,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAAClC,IAAI,CAACgC,GAAG,CAAEpD,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAACuD,IAAI,CAAC,GAAG,CAAC;IAChE,OAAO5C,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EACD,MAAM6C,cAAc,GAAGL,UAAU,CAACzC,MAAM,CACtC,CAACC,GAAG,EAAE2C,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAACzC,KAAK;IAC7CF,GAAG,CAAC2C,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAO9C,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EACD,MAAM+C,cAAc,GAAGP,UAAU,CAACzC,MAAM,CAGtC,CAACC,GAAG,EAAE2C,IAAI,KACRK,MAAM,CAACC,MAAM,CAACjD,GAAG,EAAE;IACjB,CAAC2C,IAAI,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAACzC,KAAK,CAACgD;EAC9B,CAAC,CAAC,EACJ,CAAC,CACH,CAAC;EAED,IAAI,CAACV,UAAU,CAACW,MAAM,EAAE;IACtB,MAAM,IAAIhD,KAAK,CACb,4FACF,CAAC;EACH;EAEA,MAAMiD,YAAY,GAAGpG,KAAK,CAACqG,WAAW,CACnCC,KAAsD,IACrDA,KAAK,CAACrE,IAAI,KAAKK,SAAS,IAAIgE,KAAK,CAACrE,IAAI,KAAKiD,MAAM,CAACjD,IAAI,EACxD,CAACiD,MAAM,CAACjD,IAAI,CACd,CAAC;EAED,MAAMsE,kBAAkB,GAAGvG,KAAK,CAACqG,WAAW,CACzCC,KAAkE,IACjEA,KAAK,KAAKhE,SAAS,IAAIgE,KAAK,CAACE,KAAK,KAAK,KAAK,IAAIJ,YAAY,CAACE,KAAK,CAAC,EACrE,CAACF,YAAY,CACf,CAAC;EAED,MAAM;IACJE,KAAK,EAAEG,YAAY;IACnBC,QAAQ,EAAEC,eAAe;IACzBC,QAAQ,EAAEC,eAAe;IACzBC,MAAM;IACNC,MAAM;IACNC;EACF,CAAC,GAAGhH,KAAK,CAAC6E,UAAU,CAACpE,sBAAsB,CAAC;EAE5C,MAAMwG,cAAc,GAAGjH,KAAK,CAACkH,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAMN,QAAQ,GAAG1G,iBAAiB,CAC/BoG,KAAkE,IAAK;IACtE,IAAIW,cAAc,CAACE,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IAEAN,eAAe,CAACP,KAAK,CAAC;EACxB,CACF,CAAC;EAED,MAAM,CAACc,gBAAgB,EAAEC,0BAA0B,CAAC,GAAGrH,KAAK,CAACsH,OAAO,CAAC,MAAM;IACzE,MAAMC,qBAAqB,GAAG/B,UAAU,CAACzC,MAAM,CAE7C,CAACC,GAAG,EAAE2C,IAAI,KAAK;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAACzC,KAAK;MAC7C,MAAMsE,uBAAuB,GAC3B5C,KAAK,EAAE6C,MAAM,EAAEnB,KAAK,IAAI,IAAI,IAC5B1B,KAAK,EAAE6C,MAAM,EAAEC,OAAO,KAAK,KAAK,IAChC9C,KAAK,EAAE6C,MAAM,EAAEE,MAAM,KAAKhC,IAAI,GAC1Bf,KAAK,CAAC6C,MAAM,CAACA,MAAM,GACnBnF,SAAS;MAEfU,GAAG,CAAC2C,IAAI,CAAC,GACPG,aAAa,KAAKxD,SAAS,IAAIkF,uBAAuB,KAAKlF,SAAS,GAChE;QACE,GAAGwD,aAAa;QAChB,GAAG0B;MACL,CAAC,GACDlF,SAAS;MAEf,OAAOU,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAACyD,YAAY,KAAKnE,SAAS,IAAI,CAAC8D,YAAY,CAACK,YAAY,CAAC,KAC1D7B,KAAK,EAAE6C,MAAM,EAAEnB,KAAK,IAAI,IAAI,IAC5B,EACE,OAAO1B,KAAK,EAAE6C,MAAM,EAAEE,MAAM,KAAK,QAAQ,IACzC/C,KAAK,EAAE6C,MAAM,EAAEC,OAAO,KAAK,KAAK,CACjC,EACD;MACA,OAAO,CACLxC,MAAM,CAAC0C,eAAe,CAAC;QACrBpC,UAAU;QACVK,cAAc,EAAE0B,qBAAqB;QACrCxB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MACL,IAAI8B,eAAe;MAEnB,IAAIjD,KAAK,EAAE6C,MAAM,EAAEnB,KAAK,IAAI,IAAI,EAAE;QAChCuB,eAAe,GAAGjD,KAAK,CAAC6C,MAAM,CAACnB,KAAK;MACtC,CAAC,MAAM,IACL,OAAO1B,KAAK,EAAE6C,MAAM,EAAEE,MAAM,KAAK,QAAQ,IACzC/C,KAAK,EAAE6C,MAAM,EAAEC,OAAO,KAAK,KAAK,EAChC;QACAG,eAAe,GAAG;UAChBC,KAAK,EAAE,CAAC;UACRC,MAAM,EAAE,CACN;YACE3E,IAAI,EAAEwB,KAAK,CAAC6C,MAAM,CAACE,MAAM;YACzBF,MAAM,EAAE7C,KAAK,CAAC6C,MAAM,CAACA,MAAM;YAC3BO,IAAI,EAAEpD,KAAK,CAAC6C,MAAM,CAACO;UACrB,CAAC;QAEL,CAAC;MACH;MAEA,OAAO,CACL9C,MAAM,CAAC+C,kBAAkB,CACtBJ,eAAe,IAAIpB,YAAY,EAChC;QACEjB,UAAU;QACVK,cAAc,EAAE0B,qBAAqB;QACrCxB;MACF,CACF,CAAC,EACD,KAAK,CACN;IACH;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EAAE,CAACU,YAAY,EAAEvB,MAAM,EAAEkB,YAAY,CAAC,CAAC;EAExC,MAAM8B,uBAAuB,GAAGlI,KAAK,CAACkH,MAAM,CAACxB,YAAY,CAAC;EAE1D1F,KAAK,CAACmI,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAACf,OAAO,GAAGzB,YAAY;EAChD,CAAC,CAAC;EAEF,MAAM0C,oBAAoB,GAAGF,uBAAuB,CAACf,OAAO;EAE5D,IAAIb,KAAK;EACP;EACA;EACA;EACAC,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZW,gBAA0B;EAEjC,IAAIiB,SAAgB,GAAG/B,KAAK;EAE5B,IACE,CAACjG,YAAY,CAACiG,KAAK,CAACd,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAClF,aAAa,CAACoF,YAAY,EAAE0C,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAGnD,MAAM,CAACoD,2BAA2B,CAAChC,KAAK,EAAE;MACpDd,UAAU;MACVK,cAAc;MACdE,cAAc;MACdwC,eAAe,EAAEvC,MAAM,CAACvC,IAAI,CAACiC,YAAY,CAAC,CAAC8C,MAAM,CAC9CpF,IAAI,IACHA,IAAI,IAAIgF,oBAAoB,IAC5B1C,YAAY,CAACtC,IAAI,CAAC,KAAKgF,oBAAoB,CAAChF,IAAI,CACpD;IACF,CAAC,CAAC;EACJ;EAEA,MAAMqF,uBAAuB,GAAGzI,KAAK,CAACkH,MAAM,CAACtC,KAAK,EAAE6C,MAAM,CAAC;EAE3DzH,KAAK,CAACmI,SAAS,CAAC,MAAM;IACpBM,uBAAuB,CAACtB,OAAO,GAAGvC,KAAK,EAAE6C,MAAM;EACjD,CAAC,EAAE,CAAC7C,KAAK,EAAE6C,MAAM,CAAC,CAAC;EAEnB,IAAI7C,KAAK,EAAE6C,MAAM,EAAE;IACjB,MAAMiB,cAAc,GAAGD,uBAAuB,CAACtB,OAAO;IAEtD,IAAIwB,MAAwC;IAE5C,IACE,OAAO/D,KAAK,CAAC6C,MAAM,CAACnB,KAAK,KAAK,QAAQ,IACtC1B,KAAK,CAAC6C,MAAM,CAACnB,KAAK,IAAI,IAAI,IAC1B1B,KAAK,CAAC6C,MAAM,KAAKiB,cAAc,EAC/B;MACA;MACAC,MAAM,GAAG5I,aAAa,CAAC6I,KAAK,CAAChE,KAAK,CAAC6C,MAAM,CAACnB,KAAK,CAAC;IAClD,CAAC,MAAM,IACL,OAAO1B,KAAK,CAAC6C,MAAM,CAACE,MAAM,KAAK,QAAQ,KACrC/C,KAAK,CAAC6C,MAAM,CAACC,OAAO,KAAK,KAAK,IAAIL,0BAA0B,IAC5DzC,KAAK,CAAC6C,MAAM,KAAKiB,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAG5I,aAAa,CAAC8I,QAAQ,CAAC;QAC9BzF,IAAI,EAAEwB,KAAK,CAAC6C,MAAM,CAACE,MAAM;QACzBF,MAAM,EAAE7C,KAAK,CAAC6C,MAAM,CAACA,MAAM;QAC3BO,IAAI,EAAEpD,KAAK,CAAC6C,MAAM,CAACO,IAAI;QACvBc,GAAG,EAAElE,KAAK,CAAC6C,MAAM,CAACqB;MACpB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGJ,MAAM,GACvBzD,MAAM,CAAC8D,iBAAiB,CAACX,SAAS,EAAEM,MAAM,EAAE;MAC1CnD,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAERsC,SAAS,GACPU,YAAY,KAAK,IAAI,GACjB7D,MAAM,CAAC+C,kBAAkB,CAACc,YAAY,EAAE;MACtCvD,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACFsC,SAAS;EACjB;EAEA,MAAMY,YAAY,GAAG3C,KAAK,KAAK+B,SAAS;EAExCzG,iBAAiB,CAAC,MAAM;IACtB,IAAIqH,YAAY,EAAE;MAChB;MACArC,QAAQ,CAACyB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACA/B,KAAK,GAAG+B,SAAS;EAEjBrI,KAAK,CAACmI,SAAS,CAAC,MAAM;IACpB;IACA;IACAlB,cAAc,CAACE,OAAO,GAAG,KAAK;IAE9BL,MAAM,CAACnC,YAAY,CAAC;IAEpB,IAAI,CAACqC,YAAY,CAAC,CAAC,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACyB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA,IAAI1B,eAAe,CAAC,CAAC,KAAKrE,SAAS,IAAIyE,MAAM,CAAC,CAAC,KAAKpC,YAAY,EAAE;QAChEkC,eAAe,CAACvE,SAAS,CAAC;QAC1B2E,cAAc,CAACE,OAAO,GAAG,IAAI;MAC/B;IACF,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA;EACA;EACA,MAAM+B,QAAQ,GAAGlJ,KAAK,CAACkH,MAAM,CAAeZ,KAAK,CAAC;EAElD4C,QAAQ,CAAC/B,OAAO,GAAGb,KAAK;EAExBlF,yBAAyB,CAAC,MAAM;IAC9B8H,QAAQ,CAAC/B,OAAO,GAAG,IAAI;EACzB,CAAC,CAAC;EAEF,MAAMT,QAAQ,GAAGxG,iBAAiB,CAAC,MAAa;IAC9C,MAAMuG,YAAY,GAAGE,eAAe,CAAC,CAAC;IAEtC,OAAOxG,UAAU,CACdoG,kBAAkB,CAACE,YAAY,CAAC,GAC7BA,YAAY,GACZW,gBACN,CAAC;EACH,CAAC,CAAC;EAEF,MAAM+B,OAAO,GAAGlI,eAAe,CAAuBmI,CAAC,IAAK;IAC1D,MAAM5D,UAAU,GAAG,EAAE;IAErB,IAAIZ,KAAgC;IAEpC,IAAIwE,CAAC,CAACC,MAAM,EAAE;MACZzE,KAAK,GAAG0B,KAAK,CAACyB,MAAM,CAACuB,IAAI,CAAE1E,KAAK,IAAKA,KAAK,CAACvC,GAAG,KAAK+G,CAAC,CAACC,MAAM,CAAC;MAE5D,IAAIzE,KAAK,EAAExB,IAAI,EAAE;QACfoC,UAAU,CAAChC,IAAI,CAACoB,KAAK,CAACxB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLwB,KAAK,GAAG0B,KAAK,CAACyB,MAAM,CAACzB,KAAK,CAACwB,KAAK,CAAC;MACjCtC,UAAU,CAAChC,IAAI,CACb,GAAGwC,MAAM,CAACvC,IAAI,CAAC8B,OAAO,CAAC,CAACiD,MAAM,CAAEpF,IAAI,IAAKwB,KAAK,EAAExB,IAAI,KAAKA,IAAI,CAC/D,CAAC;IACH;IAEA,IAAIwB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAM2E,UAAU,GAAGC,WAAW,CAAC5E,KAAK,CAACvC,GAAG,CAAC,CAACkH,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACD5E,eAAe,EACf,GAAGU,UAAU,CAACC,GAAG,CAAErC,IAAI,IAAK;MAC1B,MAAM;QAAEqG;MAAU,CAAC,GAAGlE,OAAO,CAACnC,IAAI,CAAC,CAACF,KAAK;MACzC,OAAOuG,SAAS;IAClB,CAAC,CAAC,CACH,CAAChE,GAAG,CAAEgE,SAAS,IAAK;MACnB,MAAMhE,GAAG,GACP,OAAOgE,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAE7E,KAAK,EAAEA,KAAY;QAAE2E;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAOhE,GAAG,GACNO,MAAM,CAACvC,IAAI,CAACgC,GAAG,CAAC,CACb+C,MAAM,CAAEvG,IAAI,IAAKA,IAAI,KAAKmH,CAAC,CAACnH,IAAI,CAAC,CACjCwD,GAAG,CAAExD,IAAI,IAAKwD,GAAG,GAAGxD,IAAI,CAAC,CAAC,GAC7BK,SAAS;IACf,CAAC,CACH;IACA;IACA;IAAA,CACCkG,MAAM,CAAC,CAACmB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAACvF,OAAO,CAAE6F,QAAQ,IAAKA,QAAQ,GAAGX,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFjI,cAAc,CAAC;IAAEmF,KAAK;IAAE6C;EAAQ,CAAC,CAAC;EAElCnJ,KAAK,CAACmI,SAAS,CAAC,MAAM;IACpBgB,OAAO,CAACa,IAAI,CAAC;MAAE/H,IAAI,EAAE,OAAO;MAAEgI,IAAI,EAAE;QAAE3D;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAAC6C,OAAO,EAAE7C,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEmD,SAAS,EAAES,cAAc;IAAEC;EAAY,CAAC,GAAGtJ,iBAAiB,CAAC,CAAC;EAEtE,MAAM;IAAEuJ,cAAc;IAAEC;EAAiB,CAAC,GAAGhJ,sBAAsB,CAAC,CAAC;EAErE,MAAMiJ,QAAQ,GAAG9I,WAAW,CAAC;IAC3B0D,MAAM;IACNwB,QAAQ;IACRE,QAAQ;IACRvE,GAAG,EAAEuC,KAAK,EAAEvC,GAAG;IACfkI,eAAe,EAAEL,cAAc,CAACvB,MAAM;IACtC6B,qBAAqB,EAAEJ,cAAc,CAACK,YAAY;IAClDC,mBAAmB,EAAE;MACnBlF,UAAU;MACVK,cAAc;MACdE;IACF,CAAC;IACDoD;EACF,CAAC,CAAC;EAEF,MAAMwB,YAAY,GAAGjJ,eAAe,CAAC;IACnCwD,MAAM;IACN7C,GAAG,EAAEuC,KAAK,EAAEvC,GAAG;IACfqE,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAM2C,UAAU,GAAGhI,oBAAoB,CAKrC;IACAqJ,EAAE,EAAElH,OAAO,CAACkH,EAAE;IACdN,QAAQ;IACR5D,QAAQ;IACRyC,OAAO;IACPjE,MAAM;IACNgE;EACF,CAAC,CAAC;EAEFhI,kCAAkC,CAAC;IACjCqI,UAAU;IACVsB,gBAAgB,EAAEX,cAAc,CAACY;EACnC,CAAC,CAAC;EAEFrJ,aAAa,CAAC;IACZiF,QAAQ;IACRqE,iBAAiB,EAAEX,cAAc,CAAC1D;EACpC,CAAC,CAAC;EAEF,MAAM;IAAEsE,QAAQ;IAAExB;EAAY,CAAC,GAAGxI,cAAc,CAK9C;IACAsF,KAAK;IACLf,OAAO;IACPgE,UAAU;IACV3F,aAAa;IACbC,YAAY;IACZyG,QAAQ;IACR5D,QAAQ;IACRE,QAAQ;IACR+D,YAAY;IACZR,WAAW;IACXE,gBAAgB;IAChBnF,MAAM;IACN;IACAiE;EACF,CAAC,CAAC;EAEFpI,gBAAgB,CAAC;IACfuF,KAAK;IACLiD,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMyB,iBAAiB,GAAGnK,YAAY,CAAE0B,QAAyB,IAAK;IACpE,MAAM0I,OAAO,GACXvH,MAAM,IAAI,IAAI,GACVA,MAAM,CAAC;MACL2C,KAAK;MACLkD,WAAW;MACXD,UAAU;MACV/G;IACF,CAAC,CAAC,GACFA,QAAQ;IAEd,oBACEV,IAAA,CAACvB,wBAAwB,CAAC4K,QAAQ;MAACC,KAAK,EAAE7B,UAAW;MAAA/G,QAAA,eACnDV,IAAA,CAACpB,qBAAqB;QAAA8B,QAAA,EAAE0I;MAAO,CAAwB;IAAC,CACvB,CAAC;EAExC,CAAC,CAAC;EAEF,OAAO;IACL5E,KAAK;IACLiD,UAAU;IACVyB,QAAQ;IACRxB,WAAW;IACXyB;EACF,CAAC;AACH","ignoreList":[]} -+{"version":3,"names":["CommonActions","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useIsomorphicLayoutEffect","useKeyedChildListeners","useLazyValue","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","state","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","params","initial","screen","getInitialState","stateFromParams","index","routes","path","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","pop","updatedState","getStateForAction","shouldUpdate","stateRef","emitter","e","target","find","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":";;AAAA,SACEA,aAAa,QAUR,2BAA2B;AAClC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,kBAAkB,QAAQ,UAAU;AAC7C,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,MAAM,QAAQ,aAAU;AACjC,SAMEC,iBAAiB,QAEZ,YAAS;AAChB,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAAsCC,cAAc,QAAQ,qBAAkB;AAC9E,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,kCAAkC,QAAQ,yCAAsC;AACzF,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,yBAAyB,QAAQ,6BAA6B;AACvE,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,iBAAiB,QAAQ,wBAAqB;;AAEvD;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACAlB,iBAAiB;AAOjB,MAAMmB,QAAQ,GACZC,KAAkC,IAI9B;EACJ,OAAOA,KAAK,CAACC,IAAI,KAAKtB,MAAM;AAC9B,CAAC;AAED,MAAMuB,OAAO,GACXF,KAAkC,IAM9B;EACJ,OAAOA,KAAK,CAACC,IAAI,KAAKjC,KAAK,CAACmC,QAAQ,IAAIH,KAAK,CAACC,IAAI,KAAK7B,KAAK;AAC9D,CAAC;AAED,MAAMgC,UAAU,GAAIC,GAAY,IAC9BA,GAAG,KAAKC,SAAS,IAAK,OAAOD,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,EAAG;;AAE9D;AACA;AACA;AACA;AACA;AACA,MAAME,2BAA2B,GAAGA,CAMlCC,QAAyB,EACzBC,QAAiB,EACjBC,YAKY,EACZC,WAKW,KACR;EACH,MAAMC,OAAO,GAAG5C,KAAK,CAAC6C,QAAQ,CAACC,OAAO,CAACN,QAAQ,CAAC,CAACO,MAAM,CAErD,CAACC,GAAG,EAAEhB,KAAK,KAAK;IAChB,iBAAIhC,KAAK,CAACiD,cAAc,CAACjB,KAAK,CAAC,EAAE;MAC/B,IAAID,QAAQ,CAACC,KAAK,CAAC,EAAE;QACnB;QACA;;QAEA,IAAI,OAAOA,KAAK,CAACkB,KAAK,KAAK,QAAQ,IAAIlB,KAAK,CAACkB,KAAK,KAAK,IAAI,EAAE;UAC3D,MAAM,IAAIC,KAAK,CAAC,oCAAoC,CAAC;QACvD;QAEA,IAAI,OAAOnB,KAAK,CAACkB,KAAK,CAACE,IAAI,KAAK,QAAQ,IAAIpB,KAAK,CAACkB,KAAK,CAACE,IAAI,KAAK,EAAE,EAAE;UACnE,MAAM,IAAID,KAAK,CACb,wBAAwBE,IAAI,CAACC,SAAS,CACpCtB,KAAK,CAACkB,KAAK,CAACE,IACd,CAAC,kDACH,CAAC;QACH;QAEA,IACEpB,KAAK,CAACkB,KAAK,CAACK,aAAa,KAAKjB,SAAS,KACtC,OAAON,KAAK,CAACkB,KAAK,CAACK,aAAa,KAAK,QAAQ,IAC5CvB,KAAK,CAACkB,KAAK,CAACK,aAAa,KAAK,EAAE,CAAC,EACnC;UACA,MAAM,IAAIJ,KAAK,CACb,wCAAwCE,IAAI,CAACC,SAAS,CACpDtB,KAAK,CAACkB,KAAK,CAACK,aACd,CAAC,qBACCvB,KAAK,CAACkB,KAAK,CAACE,IAAI,kDAEpB,CAAC;QACH;QAEAJ,GAAG,CAACQ,IAAI,CAAC;UACPC,IAAI,EAAE,CAAChB,QAAQ,EAAET,KAAK,CAACkB,KAAK,CAACK,aAAa,CAAC;UAC3CG,OAAO,EAAEhB,YAAY;UACrBiB,MAAM,EAAEhB,WAAW;UACnBO,KAAK,EAAElB,KAAK,CAACkB;QAQf,CAAC,CAAC;QAEF,OAAOF,GAAG;MACZ;MAEA,IAAId,OAAO,CAACF,KAAK,CAAC,EAAE;QAClB,IAAI,CAACI,UAAU,CAACJ,KAAK,CAACkB,KAAK,CAACK,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIJ,KAAK,CACb,wCAAwCE,IAAI,CAACC,SAAS,CACpDtB,KAAK,CAACkB,KAAK,CAACK,aACd,CAAC,gEACH,CAAC;QACH;;QAEA;QACA;QACAP,GAAG,CAACQ,IAAI,CACN,GAAGjB,2BAA2B,CAM5BP,KAAK,CAACkB,KAAK,CAACV,QAAQ,EACpBR,KAAK,CAACkB,KAAK,CAACK,aAAa;QACzB;QACA;QACAvB,KAAK,CAACC,IAAI,KAAK7B,KAAK,GAChBsC,YAAY,GACZA,YAAY,IAAI,IAAI,GAClB,CAAC,GAAGA,YAAY,EAAEV,KAAK,CAACkB,KAAK,CAACU,aAAa,CAAC,GAC5C,CAAC5B,KAAK,CAACkB,KAAK,CAACU,aAAa,CAAC,EACjC,OAAO5B,KAAK,CAACkB,KAAK,CAACW,YAAY,KAAK,UAAU,GAC1C7B,KAAK,CAACkB,KAAK,CAACW,YAAY,GACxBlB,WACN,CACF,CAAC;QAED,OAAOK,GAAG;MACZ;IACF;IAEA,MAAM,IAAIG,KAAK,CACb,oGACE,aAAAnD,KAAK,CAACiD,cAAc,CAACjB,KAAK,CAAC,GACvB,IACE,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ,GAAGD,KAAK,CAACC,IAAI,GAAGD,KAAK,CAACC,IAAI,EAAEmB,IAAI,IAE9DpB,KAAK,CAACkB,KAAK,IAAI,IAAI,IACnB,OAAOlB,KAAK,CAACkB,KAAK,KAAK,QAAQ,IAC/B,MAAM,IAAIlB,KAAK,CAACkB,KAAK,IACrBlB,KAAK,CAACkB,KAAK,EAAEE,IAAI,GACb,oBAAoBpB,KAAK,CAACkB,KAAK,CAACE,IAAI,GAAG,GACvC,EAAE,EACN,GACF,OAAOpB,KAAK,KAAK,QAAQ,GACvBqB,IAAI,CAACC,SAAS,CAACtB,KAAK,CAAC,GACrB,IAAI8B,MAAM,CAAC9B,KAAK,CAAC,GAAG,4FAE9B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAI+B,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzCrB,OAAO,CAACsB,OAAO,CAAEC,MAAM,IAAK;MAC1B,MAAM;QAAEf,IAAI;QAAEZ,QAAQ;QAAE4B,SAAS;QAAEC;MAAa,CAAC,GAAGF,MAAM,CAACjB,KAAK;MAEhE,IACEV,QAAQ,IAAI,IAAI,IAChB4B,SAAS,KAAK9B,SAAS,IACvB+B,YAAY,KAAK/B,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAI4B,SAAS,KAAK9B,SAAS,EAAE;UAC/C,MAAM,IAAIa,KAAK,CACb,6DAA6DC,IAAI,oCACnE,CAAC;QACH;QAEA,IAAIZ,QAAQ,IAAI,IAAI,IAAI6B,YAAY,KAAK/B,SAAS,EAAE;UAClD,MAAM,IAAIa,KAAK,CACb,gEAAgEC,IAAI,oCACtE,CAAC;QACH;QAEA,IAAIgB,SAAS,KAAK9B,SAAS,IAAI+B,YAAY,KAAK/B,SAAS,EAAE;UACzD,MAAM,IAAIa,KAAK,CACb,iEAAiEC,IAAI,oCACvE,CAAC;QACH;QAEA,IAAIZ,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;UACtD,MAAM,IAAIW,KAAK,CACb,4DAA4DC,IAAI,qDAClE,CAAC;QACH;QAEA,IAAIgB,SAAS,KAAK9B,SAAS,IAAI,CAACrC,kBAAkB,CAACmE,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIjB,KAAK,CACb,6DAA6DC,IAAI,wCACnE,CAAC;QACH;QAEA,IAAIiB,YAAY,KAAK/B,SAAS,IAAI,OAAO+B,YAAY,KAAK,UAAU,EAAE;UACpE,MAAM,IAAIlB,KAAK,CACb,gEAAgEC,IAAI,uDACtE,CAAC;QACH;QAEA,IAAI,OAAOgB,SAAS,KAAK,UAAU,EAAE;UACnC,IAAIA,SAAS,CAAChB,IAAI,KAAK,WAAW,EAAE;YAClC;YACA;YACA;YACAkB,OAAO,CAACC,IAAI,CACV,qFAAqFnB,IAAI,uRAC3F,CAAC;UACH,CAAC,MAAM,IAAI,QAAQ,CAACoB,IAAI,CAACJ,SAAS,CAAChB,IAAI,CAAC,EAAE;YACxCkB,OAAO,CAACC,IAAI,CACV,kCAAkCH,SAAS,CAAChB,IAAI,qBAAqBA,IAAI,yMAC3E,CAAC;UACH;QACF;MACF,CAAC,MAAM;QACL,MAAM,IAAID,KAAK,CACb,kFAAkFC,IAAI,qLACxF,CAAC;MACH;IACF,CAAC,CAAC;EACJ;EAEA,OAAOR,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS6B,oBAAoBA,CAQlCC,YAAmE,EACnEhB,OAQe,EACfiB,0BAGC,EACD;EACA,MAAMC,YAAY,GAAGjD,oBAAoB,CAAC,CAAC;EAE3C,MAAMkD,KAAK,GAAG7E,KAAK,CAAC8E,UAAU,CAACtE,sBAAsB,CAExC;EAEb,MAAM;IACJgC,QAAQ;IACRmB,MAAM;IACNC,aAAa;IACbC,YAAY;IACZkB,eAAe;IACfC,eAAe;IACf,GAAGC;EACL,CAAC,GAAGvB,OAAO;EAEX,MAAMwB,YAAY,GAAG3C,2BAA2B,CAK9CC,QAAQ,CAAC;EAEX,MAAM2C,MAAM,GAAG7D,YAAY,CAAqB,MAAM;IACpD,IACE2D,IAAI,CAACG,gBAAgB,IAAI,IAAI,IAC7BF,YAAY,CAACG,KAAK,CACflB,MAAM,IAAKA,MAAM,CAACjB,KAAK,CAACE,IAAI,KAAK6B,IAAI,CAACG,gBACzC,CAAC,EACD;MACA,MAAM,IAAIjC,KAAK,CACb,iCAAiC8B,IAAI,CAACG,gBAAgB,iCACxD,CAAC;IACH;IAEA,MAAME,QAAQ,GAAGZ,YAAY,CAACO,IAAgC,CAAC;IAE/D,IAAID,eAAe,IAAI,IAAI,EAAE;MAC3B,MAAMO,SAAS,GAAGP,eAAe,CAACM,QAAQ,CAAC;MAE3C,OAAO;QACL,GAAGA,QAAQ;QACX,GAAGC;MACL,CAAC;IACH;IAEA,OAAOD,QAAQ;EACjB,CAAC,CAAC;EAEF,MAAME,OAAO,GAAGN,YAAY,CAACnC,MAAM,CAUjC,CAACC,GAAG,EAAEmB,MAAM,KAAK;IACjB,IAAIA,MAAM,CAACjB,KAAK,CAACE,IAAI,IAAIJ,GAAG,EAAE;MAC5B,MAAM,IAAIG,KAAK,CACb,6GAA6GgB,MAAM,CAACjB,KAAK,CAACE,IAAI,IAChI,CAAC;IACH;IAEAJ,GAAG,CAACmB,MAAM,CAACjB,KAAK,CAACE,IAAI,CAAC,GAAGe,MAAM;IAC/B,OAAOnB,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,MAAMyC,UAAU,GAAGP,YAAY,CAACQ,GAAG,CAAEvB,MAAM,IAAKA,MAAM,CAACjB,KAAK,CAACE,IAAI,CAAC;EAClE,MAAMuC,YAAY,GAAGF,UAAU,CAAC1C,MAAM,CACpC,CAACC,GAAG,EAAE4C,IAAI,KAAK;IACb5C,GAAG,CAAC4C,IAAI,CAAC,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAACnC,IAAI,CAACiC,GAAG,CAAErD,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAACwD,IAAI,CAAC,GAAG,CAAC;IAChE,OAAO7C,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EACD,MAAM8C,cAAc,GAAGL,UAAU,CAAC1C,MAAM,CACtC,CAACC,GAAG,EAAE4C,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;IAC7CF,GAAG,CAAC4C,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAO/C,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EACD,MAAMgD,cAAc,GAAGP,UAAU,CAAC1C,MAAM,CAGtC,CAACC,GAAG,EAAE4C,IAAI,KACRK,MAAM,CAACC,MAAM,CAAClD,GAAG,EAAE;IACjB,CAAC4C,IAAI,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK,CAACiD;EAC9B,CAAC,CAAC,EACJ,CAAC,CACH,CAAC;EAED,IAAI,CAACV,UAAU,CAACW,MAAM,EAAE;IACtB,MAAM,IAAIjD,KAAK,CACb,4FACF,CAAC;EACH;EAEA,MAAMkD,YAAY,GAAGrG,KAAK,CAACsG,WAAW,CACnCC,KAAsD,IACrDA,KAAK,CAACtE,IAAI,KAAKK,SAAS,IAAIiE,KAAK,CAACtE,IAAI,KAAKkD,MAAM,CAAClD,IAAI,EACxD,CAACkD,MAAM,CAAClD,IAAI,CACd,CAAC;EAED,MAAMuE,kBAAkB,GAAGxG,KAAK,CAACsG,WAAW,CACzCC,KAAkE,IACjEA,KAAK,KAAKjE,SAAS,IAAIiE,KAAK,CAACE,KAAK,KAAK,KAAK,IAAIJ,YAAY,CAACE,KAAK,CAAC,EACrE,CAACF,YAAY,CACf,CAAC;EAED,MAAM;IACJE,KAAK,EAAEG,YAAY;IACnBC,QAAQ,EAAEC,eAAe;IACzBC,QAAQ,EAAEC,eAAe;IACzBC,MAAM;IACNC,MAAM;IACNC;EACF,CAAC,GAAGjH,KAAK,CAAC8E,UAAU,CAACrE,sBAAsB,CAAC;EAE5C,MAAMyG,cAAc,GAAGlH,KAAK,CAACmH,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAMN,QAAQ,GAAG3G,iBAAiB,CAC/BqG,KAAkE,IAAK;IACtE,IAAIW,cAAc,CAACE,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IAEAN,eAAe,CAACP,KAAK,CAAC;EACxB,CACF,CAAC;EAED,MAAM,CAACc,gBAAgB,EAAEC,0BAA0B,CAAC,GAAGtH,KAAK,CAACuH,OAAO,CAAC,MAAM;IACzE,MAAMC,qBAAqB,GAAG/B,UAAU,CAAC1C,MAAM,CAE7C,CAACC,GAAG,EAAE4C,IAAI,KAAK;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;MAC7C,MAAMuE,uBAAuB,GAC3B5C,KAAK,EAAE6C,MAAM,EAAEnB,KAAK,IAAI,IAAI,IAC5B1B,KAAK,EAAE6C,MAAM,EAAEC,OAAO,KAAK,KAAK,IAChC9C,KAAK,EAAE6C,MAAM,EAAEE,MAAM,KAAKhC,IAAI,GAC1Bf,KAAK,CAAC6C,MAAM,CAACA,MAAM,GACnBpF,SAAS;MAEfU,GAAG,CAAC4C,IAAI,CAAC,GACPG,aAAa,KAAKzD,SAAS,IAAImF,uBAAuB,KAAKnF,SAAS,GAChE;QACE,GAAGyD,aAAa;QAChB,GAAG0B;MACL,CAAC,GACDnF,SAAS;MAEf,OAAOU,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAAC0D,YAAY,KAAKpE,SAAS,IAAI,CAAC+D,YAAY,CAACK,YAAY,CAAC,KAC1D7B,KAAK,EAAE6C,MAAM,EAAEnB,KAAK,IAAI,IAAI,IAC5B,EACE,OAAO1B,KAAK,EAAE6C,MAAM,EAAEE,MAAM,KAAK,QAAQ,IACzC/C,KAAK,EAAE6C,MAAM,EAAEC,OAAO,KAAK,KAAK,CACjC,EACD;MACA,OAAO,CACLxC,MAAM,CAAC0C,eAAe,CAAC;QACrBpC,UAAU;QACVK,cAAc,EAAE0B,qBAAqB;QACrCxB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MACL,IAAI8B,eAAe;MAEnB,IAAIjD,KAAK,EAAE6C,MAAM,EAAEnB,KAAK,IAAI,IAAI,EAAE;QAChCuB,eAAe,GAAGjD,KAAK,CAAC6C,MAAM,CAACnB,KAAK;MACtC,CAAC,MAAM,IACL,OAAO1B,KAAK,EAAE6C,MAAM,EAAEE,MAAM,KAAK,QAAQ,IACzC/C,KAAK,EAAE6C,MAAM,EAAEC,OAAO,KAAK,KAAK,EAChC;QACAG,eAAe,GAAG;UAChBC,KAAK,EAAE,CAAC;UACRC,MAAM,EAAE,CACN;YACE5E,IAAI,EAAEyB,KAAK,CAAC6C,MAAM,CAACE,MAAM;YACzBF,MAAM,EAAE7C,KAAK,CAAC6C,MAAM,CAACA,MAAM;YAC3BO,IAAI,EAAEpD,KAAK,CAAC6C,MAAM,CAACO;UACrB,CAAC;QAEL,CAAC;MACH;MAEA,OAAO,CACL9C,MAAM,CAAC+C,kBAAkB,CACtBJ,eAAe,IAAIpB,YAAY,EAChC;QACEjB,UAAU;QACVK,cAAc,EAAE0B,qBAAqB;QACrCxB;MACF,CACF,CAAC,EACD,KAAK,CACN;IACH;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EAAE,CAACU,YAAY,EAAEvB,MAAM,EAAEkB,YAAY,CAAC,CAAC;EAExC,MAAM8B,uBAAuB,GAAGnI,KAAK,CAACmH,MAAM,CAACxB,YAAY,CAAC;EAE1D3F,KAAK,CAACoI,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAACf,OAAO,GAAGzB,YAAY;EAChD,CAAC,CAAC;EAEF,MAAM0C,oBAAoB,GAAGF,uBAAuB,CAACf,OAAO;EAE5D,IAAIb,KAAK;EACP;EACA;EACA;EACAC,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZW,gBAA0B;EAEjC,IAAIiB,SAAgB,GAAG/B,KAAK;EAE5B,IACE,CAAClG,YAAY,CAACkG,KAAK,CAACd,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAACnF,aAAa,CAACqF,YAAY,EAAE0C,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAGnD,MAAM,CAACoD,2BAA2B,CAAChC,KAAK,EAAE;MACpDd,UAAU;MACVK,cAAc;MACdE,cAAc;MACdwC,eAAe,EAAEvC,MAAM,CAACxC,IAAI,CAACkC,YAAY,CAAC,CAAC8C,MAAM,CAC9CrF,IAAI,IACHA,IAAI,IAAIiF,oBAAoB,IAC5B1C,YAAY,CAACvC,IAAI,CAAC,KAAKiF,oBAAoB,CAACjF,IAAI,CACpD;IACF,CAAC,CAAC;EACJ;EAEA,MAAMsF,uBAAuB,GAAG1I,KAAK,CAACmH,MAAM,CAACtC,KAAK,EAAE6C,MAAM,CAAC;EAE3D1H,KAAK,CAACoI,SAAS,CAAC,MAAM;IACpBM,uBAAuB,CAACtB,OAAO,GAAGvC,KAAK,EAAE6C,MAAM;EACjD,CAAC,EAAE,CAAC7C,KAAK,EAAE6C,MAAM,CAAC,CAAC;EAEnB,IAAI7C,KAAK,EAAE6C,MAAM,EAAE;IACjB,MAAMiB,cAAc,GAAGD,uBAAuB,CAACtB,OAAO;IAEtD,IAAIwB,MAAwC;IAE5C,IACE,OAAO/D,KAAK,CAAC6C,MAAM,CAACnB,KAAK,KAAK,QAAQ,IACtC1B,KAAK,CAAC6C,MAAM,CAACnB,KAAK,IAAI,IAAI,IAC1B1B,KAAK,CAAC6C,MAAM,KAAKiB,cAAc,EAC/B;MACA;MACAC,MAAM,GAAG7I,aAAa,CAAC8I,KAAK,CAAChE,KAAK,CAAC6C,MAAM,CAACnB,KAAK,CAAC;IAClD,CAAC,MAAM,IACL,OAAO1B,KAAK,CAAC6C,MAAM,CAACE,MAAM,KAAK,QAAQ,KACrC/C,KAAK,CAAC6C,MAAM,CAACC,OAAO,KAAK,KAAK,IAAIL,0BAA0B,IAC5DzC,KAAK,CAAC6C,MAAM,KAAKiB,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAG7I,aAAa,CAAC+I,QAAQ,CAAC;QAC9B1F,IAAI,EAAEyB,KAAK,CAAC6C,MAAM,CAACE,MAAM;QACzBF,MAAM,EAAE7C,KAAK,CAAC6C,MAAM,CAACA,MAAM;QAC3BO,IAAI,EAAEpD,KAAK,CAAC6C,MAAM,CAACO,IAAI;QACvBc,GAAG,EAAElE,KAAK,CAAC6C,MAAM,CAACqB;MACpB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGJ,MAAM,GACvBzD,MAAM,CAAC8D,iBAAiB,CAACX,SAAS,EAAEM,MAAM,EAAE;MAC1CnD,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAERsC,SAAS,GACPU,YAAY,KAAK,IAAI,GACjB7D,MAAM,CAAC+C,kBAAkB,CAACc,YAAY,EAAE;MACtCvD,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACFsC,SAAS;EACjB;EAEA,MAAMY,YAAY,GAAG3C,KAAK,KAAK+B,SAAS;EAExC1G,iBAAiB,CAAC,MAAM;IACtB,IAAIsH,YAAY,EAAE;MAChB;MACArC,QAAQ,CAACyB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACA/B,KAAK,GAAG+B,SAAS;EAEjBtI,KAAK,CAACoI,SAAS,CAAC,MAAM;IACpB;IACA;IACAlB,cAAc,CAACE,OAAO,GAAG,KAAK;IAE9BL,MAAM,CAACnC,YAAY,CAAC;IAEpB,IAAI,CAACqC,YAAY,CAAC,CAAC,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACyB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA,IAAI1B,eAAe,CAAC,CAAC,KAAKtE,SAAS,IAAI0E,MAAM,CAAC,CAAC,KAAKpC,YAAY,EAAE;QAChEkC,eAAe,CAACxE,SAAS,CAAC;QAC1B4E,cAAc,CAACE,OAAO,GAAG,IAAI;MAC/B;IACF,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA;EACA;EACA,MAAM+B,QAAQ,GAAGnJ,KAAK,CAACmH,MAAM,CAAeZ,KAAK,CAAC;EAElD4C,QAAQ,CAAC/B,OAAO,GAAGb,KAAK;EAExBnF,yBAAyB,CAAC,MAAM;IAC9B+H,QAAQ,CAAC/B,OAAO,GAAG,IAAI;EACzB,CAAC,CAAC;EAEF,MAAMT,QAAQ,GAAGzG,iBAAiB,CAAC,MAAa;IAC9C,MAAMwG,YAAY,GAAGE,eAAe,CAAC,CAAC;IAEtC,OAAOzG,UAAU,CACdqG,kBAAkB,CAACE,YAAY,CAAC,GAC7BA,YAAY,GACZW,gBACN,CAAC;EACH,CAAC,CAAC;EAEF,MAAM+B,OAAO,GAAGnI,eAAe,CAAuBoI,CAAC,IAAK;IAC1D,MAAM5D,UAAU,GAAG,EAAE;IAErB,IAAIZ,KAAgC;IAEpC,IAAIwE,CAAC,CAACC,MAAM,EAAE;MACZzE,KAAK,GAAG0B,KAAK,CAACyB,MAAM,CAACuB,IAAI,CAAE1E,KAAK,IAAKA,KAAK,CAACxC,GAAG,KAAKgH,CAAC,CAACC,MAAM,CAAC;MAE5D,IAAIzE,KAAK,EAAEzB,IAAI,EAAE;QACfqC,UAAU,CAACjC,IAAI,CAACqB,KAAK,CAACzB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLyB,KAAK,GAAG0B,KAAK,CAACyB,MAAM,CAACzB,KAAK,CAACwB,KAAK,CAAC;MACjCtC,UAAU,CAACjC,IAAI,CACb,GAAGyC,MAAM,CAACxC,IAAI,CAAC+B,OAAO,CAAC,CAACiD,MAAM,CAAErF,IAAI,IAAKyB,KAAK,EAAEzB,IAAI,KAAKA,IAAI,CAC/D,CAAC;IACH;IAEA,IAAIyB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAM2E,UAAU,GAAGC,WAAW,CAAC5E,KAAK,CAACxC,GAAG,CAAC,CAACmH,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACD5E,eAAe,EACf,GAAGU,UAAU,CAACC,GAAG,CAAEtC,IAAI,IAAK;MAC1B,MAAM;QAAEsG;MAAU,CAAC,GAAGlE,OAAO,CAACpC,IAAI,CAAC,CAACF,KAAK;MACzC,OAAOwG,SAAS;IAClB,CAAC,CAAC,CACH,CAAChE,GAAG,CAAEgE,SAAS,IAAK;MACnB,MAAMhE,GAAG,GACP,OAAOgE,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAE7E,KAAK,EAAEA,KAAY;QAAE2E;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAOhE,GAAG,GACNO,MAAM,CAACxC,IAAI,CAACiC,GAAG,CAAC,CACb+C,MAAM,CAAExG,IAAI,IAAKA,IAAI,KAAKoH,CAAC,CAACpH,IAAI,CAAC,CACjCyD,GAAG,CAAEzD,IAAI,IAAKyD,GAAG,GAAGzD,IAAI,CAAC,CAAC,GAC7BK,SAAS;IACf,CAAC,CACH;IACA;IACA;IAAA,CACCmG,MAAM,CAAC,CAACmB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAACxF,OAAO,CAAE8F,QAAQ,IAAKA,QAAQ,GAAGX,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFlI,cAAc,CAAC;IAAEoF,KAAK;IAAE6C;EAAQ,CAAC,CAAC;EAElCpJ,KAAK,CAACoI,SAAS,CAAC,MAAM;IACpBgB,OAAO,CAACa,IAAI,CAAC;MAAEhI,IAAI,EAAE,OAAO;MAAEiI,IAAI,EAAE;QAAE3D;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAAC6C,OAAO,EAAE7C,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEmD,SAAS,EAAES,cAAc;IAAEC;EAAY,CAAC,GAAGvJ,iBAAiB,CAAC,CAAC;EAEtE,MAAM;IAAEwJ,cAAc;IAAEC;EAAiB,CAAC,GAAGjJ,sBAAsB,CAAC,CAAC;EAErE,MAAMkJ,QAAQ,GAAG/I,WAAW,CAAC;IAC3B2D,MAAM;IACNwB,QAAQ;IACRE,QAAQ;IACRxE,GAAG,EAAEwC,KAAK,EAAExC,GAAG;IACfmI,eAAe,EAAEL,cAAc,CAACvB,MAAM;IACtC6B,qBAAqB,EAAEJ,cAAc,CAACK,YAAY;IAClDC,mBAAmB,EAAE;MACnBlF,UAAU;MACVK,cAAc;MACdE;IACF,CAAC;IACDoD;EACF,CAAC,CAAC;EAEF,MAAMwB,YAAY,GAAGlJ,eAAe,CAAC;IACnCyD,MAAM;IACN9C,GAAG,EAAEwC,KAAK,EAAExC,GAAG;IACfsE,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAM2C,UAAU,GAAGjI,oBAAoB,CAKrC;IACAsJ,EAAE,EAAEnH,OAAO,CAACmH,EAAE;IACdN,QAAQ;IACR5D,QAAQ;IACRyC,OAAO;IACPjE,MAAM;IACNgE;EACF,CAAC,CAAC;EAEFjI,kCAAkC,CAAC;IACjCsI,UAAU;IACVsB,gBAAgB,EAAEX,cAAc,CAACY;EACnC,CAAC,CAAC;EAEFtJ,aAAa,CAAC;IACZkF,QAAQ;IACRqE,iBAAiB,EAAEX,cAAc,CAAC1D;EACpC,CAAC,CAAC;EAEF,MAAM;IAAEsE,QAAQ;IAAExB;EAAY,CAAC,GAAGzI,cAAc,CAO9C;IACEuF,KAAK;IACLf,OAAO;IACPgE,UAAU;IACV5F,aAAa;IACbC,YAAY;IACZ0G,QAAQ;IACR5D,QAAQ;IACRE,QAAQ;IACR+D,YAAY;IACZR,WAAW;IACXE,gBAAgB;IAChBnF,MAAM;IACN;IACAiE;EACF,CAAC,EACDzE,0BACF,CAAC;EAED5D,gBAAgB,CAAC;IACfwF,KAAK;IACLiD,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMyB,iBAAiB,GAAGpK,YAAY,CAAE0B,QAAyB,IAAK;IACpE,MAAM2I,OAAO,GACXxH,MAAM,IAAI,IAAI,GACVA,MAAM,CAAC;MACL4C,KAAK;MACLkD,WAAW;MACXD,UAAU;MACVhH;IACF,CAAC,CAAC,GACFA,QAAQ;IAEd,oBACEV,IAAA,CAACvB,wBAAwB,CAAC6K,QAAQ;MAACC,KAAK,EAAE7B,UAAW;MAAAhH,QAAA,eACnDV,IAAA,CAACpB,qBAAqB;QAAA8B,QAAA,EAAE2I;MAAO,CAAwB;IAAC,CACvB,CAAC;EAExC,CAAC,CAAC;EAEF,OAAO;IACL5E,KAAK;IACLiD,UAAU;IACVyB,QAAQ;IACRxB,WAAW;IACXyB;EACF,CAAC;AACH","ignoreList":[]} -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -index dca9f5e..e291031 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -+++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -@@ -9,7 +9,16 @@ declare global { - } - } - type Keyof = Extract; --export type DefaultNavigatorOptions = DefaultRouterOptions> & { -+export type ScreenListenersOrCallback = ScreenListeners | ((props: { -+ route: RouteProp; -+ navigation: any; -+}) => ScreenListeners); -+export type ScreenOptionsOrCallback = ScreenOptions | ((props: { -+ route: RouteProp; -+ navigation: any; -+}) => ScreenOptions); -+ -+export type DefaultNavigatorOptions = DefaultRouterOptions> & { - /** - * Children React Elements to extract the route configuration from. - * Only `Screen`, `Group` and `React.Fragment` are supported as children. -@@ -28,18 +37,11 @@ export type DefaultNavigatorOptions | ((props: { -- route: RouteProp; -- navigation: Navigation; -- }) => ScreenListeners); -+ screenListeners?: ScreenListenersOrCallback; - /** - * Default options for all screens under this navigator. - */ -- screenOptions?: ScreenOptions | ((props: { -- route: RouteProp; -- navigation: Navigation; -- theme: ReactNavigation.Theme; -- }) => ScreenOptions); -+ screenOptions?: ScreenOptionsOrCallback; - /** - * Layout for all screens under this navigator. - */ -@@ -64,6 +66,7 @@ export type EventMapBase = Record; -+export type ConvertCustomScreenOptions = (options: ScreenOptionsOrCallback | undefined) => ScreenOptionsOrCallback | undefined; - export type EventMapCore = { - focus: { - data: undefined; -@@ -481,7 +484,7 @@ export type RouteConfigProps; - }; --export type RouteConfig = RouteConfigProps & RouteConfigComponent; -+export type RouteConfig = RouteConfigProps & RouteConfigComponent; - export type RouteGroupConfig = { - /** - * Optional key for the screens in this group. -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map -index 21e48db..29773a2 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map -+++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,KAAK,EACL,MAAM,EACP,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,eAAe,CAAC;QAExB,UAAU,aAAa;SAAG;QAG1B,UAAU,KAAK;SAAG;KACnB;CACF;AAED,KAAK,KAAK,CAAC,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAEpD,MAAM,MAAM,uBAAuB,CACjC,SAAS,SAAS,aAAa,EAC/B,WAAW,SAAS,MAAM,GAAG,SAAS,EACtC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,UAAU,IACR,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG;IAC3C;;;OAGG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QACf,KAAK,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,WAAW,EAAE,MAAM,CACjB,MAAM,EACN,UAAU,CACR,aAAa,EACb,cAAc,CACZ,SAAS,EACT,MAAM,SAAS,EACf,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,CACT,EACD,SAAS,CAAC,SAAS,CAAC,CACrB,CACF,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;KAC3B,KAAK,KAAK,CAAC,YAAY,CAAC;IAEzB;;OAEG;IACH,eAAe,CAAC,EACZ,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,GAChC,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,UAAU,EAAE,UAAU,CAAC;KACxB,KAAK,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5C;;OAEG;IACH,aAAa,CAAC,EACV,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,UAAU,EAAE,UAAU,CAAC;QACvB,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;KAC9B,KAAK,aAAa,CAAC,CAAC;IAEzB;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,KAAK,EAAE,gBAAgB,CACrB,SAAS,EACT,MAAM,SAAS,EACf,aAAa,EACb,UAAU,CACX,KACE,KAAK,CAAC,YAAY,CAAC;IAExB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,SAAS,gBAAgB,EAChD,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;CACrC,GAAG,CAAC,WAAW,SAAS,MAAM,GACzB;IACE;;OAEG;IACH,EAAE,EAAE,WAAW,CAAC;CACjB,GACD;IACE,EAAE,CAAC,EAAE,SAAS,CAAC;CAChB,CAAC,CAAC;AAET,MAAM,MAAM,YAAY,GAAG,MAAM,CAC/B,MAAM,EACN;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,CAC5C,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,eAAe,IAAI;IACxD,KAAK,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IAC3B,IAAI,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IAC1B,KAAK,EAAE;QAAE,IAAI,EAAE;YAAE,KAAK,EAAE,KAAK,CAAA;SAAE,CAAA;KAAE,CAAC;IAClC,YAAY,EAAE;QAAE,IAAI,EAAE;YAAE,MAAM,EAAE,gBAAgB,CAAA;SAAE,CAAC;QAAC,iBAAiB,EAAE,IAAI,CAAA;KAAE,CAAC;CAC/E,CAAC;AAEF,MAAM,MAAM,QAAQ,CAClB,SAAS,EACT,iBAAiB,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,EACrD,IAAI,GAAG,SAAS,IACd;IACF;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,CAAC,iBAAiB,SAAS,IAAI,GAC/B;IACE;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC;;OAEG;IACH,cAAc,IAAI,IAAI,CAAC;CACxB,GACD,EAAE,CAAC,GACL,CAAC,SAAS,SAAS,IAAI,GACnB;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;CAAE,GAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAAC;AAEzC,MAAM,MAAM,qBAAqB,CAC/B,QAAQ,SAAS,YAAY,EAC7B,SAAS,SAAS,MAAM,QAAQ,EAChC,sBAAsB,SAClB,OAAO,GACP,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,IACtD,CACF,CAAC,EAAE,QAAQ,CACT,SAAS,EACT,SAAS,SAAS,sBAAsB,GAAG,KAAK,GAAG,sBAAsB,EACzE,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAC5B,KACE,IAAI,CAAC;AAEV,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,YAAY,IAAI;IACzD;;;;;OAKG;IACH,WAAW,CAAC,SAAS,SAAS,KAAK,CAAC,QAAQ,CAAC,EAC3C,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACnD,MAAM,IAAI,CAAC;IACd,cAAc,CAAC,SAAS,SAAS,KAAK,CAAC,QAAQ,CAAC,EAC9C,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACnD,IAAI,CAAC;CACT,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,YAAY,IAAI;IACxD;;;;;;;OAOG;IACH,IAAI,CAAC,SAAS,SAAS,KAAK,CAAC,QAAQ,CAAC,EACpC,OAAO,EAAE;QACP,IAAI,EAAE,SAAS,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,SAAS,IAAI,GACtD;QAAE,iBAAiB,EAAE,IAAI,CAAA;KAAE,GAC3B,EAAE,CAAC,GACL,CAAC,SAAS,SAAS,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAC1C;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;KAAE,GACtC;QAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,GAC3C,QAAQ,CACT,SAAS,EACT,QAAQ,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,EACxC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAC5B,CAAC;CACH,CAAC;AAEF,qBAAa,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACtD;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAClB;AAED,KAAK,uBAAuB,CAC1B,SAAS,SAAS,aAAa,EAC/B,KAAK,SAAS,eAAe,GAAG,eAAe,IAC7C;IACF;;;;;OAKG;IACH,QAAQ,CACN,MAAM,EAAE,gBAAgB,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,gBAAgB,CAAC,GACxE,IAAI,CAAC;IAER;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,SAAS,MAAM,SAAS,EACxC,GAAG,IAAI,EAGP,SAAS,SAAS,OAAO,GAGrB,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GACpC;QACE,MAAM,EAAE,SAAS;QACjB,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC;QAC7B,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,OAAO,CAAC;YAAC,GAAG,CAAC,EAAE,OAAO,CAAA;SAAE;KAC7C,GACD;QACE,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC;QAC5B,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,OAAO,CAAC;YAAC,GAAG,CAAC,EAAE,OAAO,CAAA;SAAE;KAC7C,GACH,KAAK,GACR,IAAI,CAAC;IAER;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,SAAS,MAAM,SAAS,EACxC,OAAO,EAAE,SAAS,SAAS,OAAO,GAC9B;QACE,IAAI,EAAE,SAAS,CAAC;QAChB,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,GACD,KAAK,GACR,IAAI,CAAC;IAER;;;;;;;OAOG;IACH,kBAAkB,CAAC,SAAS,SAAS,MAAM,SAAS,EAClD,GAAG,IAAI,EAAE,SAAS,SAAS,OAAO,GAC9B,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GACpC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GAClD,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACnD,KAAK,GACR,IAAI,CAAC;IAER;;;;;;OAMG;IACH,kBAAkB,CAAC,SAAS,SAAS,MAAM,SAAS,EAClD,OAAO,EAAE,SAAS,SAAS,OAAO,GAC9B;QACE,IAAI,EAAE,SAAS,CAAC;QAChB,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GACD,KAAK,GACR,IAAI,CAAC;IAER;;;;;OAKG;IACH,OAAO,CAAC,SAAS,SAAS,MAAM,SAAS,EACvC,GAAG,IAAI,EAAE,SAAS,SAAS,OAAO,GAC9B,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GACpC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GAClD,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACnD,KAAK,GACR,IAAI,CAAC;IAER;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IAEhD;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;IAEf;;;;;OAKG;IACH,SAAS,IAAI,OAAO,CAAC;IAErB;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC;IAErB;;;OAGG;IACH,KAAK,IAAI,MAAM,GAAG,SAAS,CAAC;IAE5B;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,GAAG,iBAAiB,CAAC,aAAa,CAAC,GAAG,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IAE5E;;;OAGG;IACH,QAAQ,IAAI,KAAK,CAAC;IAClB;;;;;OAKG;IACH,+BAA+B,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;CAC3E,GAAG,iBAAiB,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAErD,KAAK,sBAAsB,CACzB,SAAS,SAAS,EAAE,EACpB,SAAS,SAAS,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAClD;IACF;;;;;OAKG;IACH,SAAS,CACP,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,SAAS,GAC1C,SAAS,GACT,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAChC,IAAI,CAAC;IAER;;;;OAIG;IACH,aAAa,CACX,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,SAAS,GAC1C,SAAS,GACT,SAAS,CAAC,SAAS,CAAC,GACvB,IAAI,CAAC;CACT,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAC3B,SAAS,SAAS,aAAa,EAC/B,QAAQ,SAAS,YAAY,GAAG,EAAE,IAChC,uBAAuB,CAAC,SAAS,CAAC,GACpC,YAAY,CAAC,QAAQ,CAAC,GACtB,sBAAsB,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC,CAAC;AAErD,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;IACvE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACjE;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC;IAC9B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,CACxB,SAAS,SAAS,EAAE,EACpB,SAAS,SAAS,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,EACpD,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAClD,KAAK,SAAS,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,EAC1D,aAAa,SAAS,EAAE,GAAG,EAAE,EAC7B,QAAQ,SAAS,YAAY,GAAG,EAAE,IAChC,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,GAAG;IACjE;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,EAAE,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;CACnD,GAAG,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,GAC9C,aAAa,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,GAC7C,iBAAiB,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEtD,MAAM,MAAM,SAAS,CACnB,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAClD,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AAE5D,MAAM,MAAM,uBAAuB,CACjC,CAAC,SAAS,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC9D,CAAC,SAAS,uBAAuB,CAAC,aAAa,EAAE,GAAG,CAAC,IACnD,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,GACxC,cAAc;AACZ;;;GAGG;AACH,CAAC,CAAC,SAAS,uBAAuB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GACtD,CAAC,CAAC,SAAS,uBAAuB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC1D;;;GAGG;AACH,CAAC,SAAS,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM;AACnD;;GAEG;AACD,CAAC,CAAC,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GACzD,CAAC,CAAC,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC3D;;GAEG;AACH,CAAC,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,eAAe;AACtE;;GAEG;AACH,CAAC,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;AAC9D;;;GAGG;AACH,CAAC,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CACpE,CAAC;AAEJ,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS;IACR,UAAU,EAAE,cAAc,CACxB,aAAa,EACb,MAAM,EACN,MAAM,GAAG,SAAS,EAClB,GAAG,EACH,GAAG,EACH,GAAG,CACJ,CAAC;IACF,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;CACjC,EACD,CAAC,SAAS;IACR,UAAU,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CAC/C,IACC;IACF,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACtE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAC1B,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,EACjC,aAAa,SAAS,EAAE,EACxB,UAAU,IACR;IACF,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvC,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,CACpB,aAAa,SAAS,EAAE,EACxB,UAAU,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC/D,KAAK,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,IAC/B;IACF;;OAEG;IACH,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IAE5B;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC;IAEvB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,CACzB,KAAK,SAAS,eAAe,EAC7B,QAAQ,SAAS,YAAY,IAC3B,OAAO,CAAC;KACT,SAAS,IAAI,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,qBAAqB,CAC1E,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,EAC9B,SAAS,CACV;CACF,CAAC,CAAC;AAEH,KAAK,mBAAmB,CACtB,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,IAE/B,KAAK,CAAC,aAAa,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvC,UAAU,EAAE,GAAG,CAAC;CACjB,CAAC,GACF,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAE5B,MAAM,MAAM,oBAAoB,CAC9B,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,IAE/B;IACE;;OAEG;IACH,SAAS,EAAE,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,GACD;IACE;;OAEG;IACH,YAAY,EAAE,MAAM,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9D,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,GACD;IACE;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE;QAChB,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACvC,UAAU,EAAE,GAAG,CAAC;KACjB,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC;AAEN,MAAM,MAAM,gBAAgB,CAC1B,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,EACjC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,UAAU,IACR;IACF;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EACJ,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACvC,UAAU,EAAE,UAAU,CAAC;QACvB,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;KAC9B,KAAK,aAAa,CAAC,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EACN,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,GAChC,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACvC,UAAU,EAAE,UAAU,CAAC;KACxB,KAAK,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IACH,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,KACrE,KAAK,CAAC,YAAY,CAAC;IAExB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,CAAC,EACP,MAAM,GACP,EAAE;QACD,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;KACxC,KAAK,MAAM,GAAG,SAAS,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,WAAW,CACrB,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,EACjC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,UAAU,IACR,gBAAgB,CAClB,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,UAAU,CACX,GACC,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAE7C,MAAM,MAAM,gBAAgB,CAC1B,SAAS,SAAS,aAAa,EAC/B,aAAa,SAAS,EAAE,EACxB,UAAU,IACR;IACF;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EACV,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC,CAAC;QAC7C,UAAU,EAAE,UAAU,CAAC;QACvB,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;KAC9B,KAAK,aAAa,CAAC,CAAC;IAEzB;;;OAGG;IACH,YAAY,CAAC,EACT,CAAC,CACC,KAAK,EAAE,gBAAgB,CACrB,SAAS,EACT,MAAM,SAAS,EACf,aAAa,EACb,UAAU,CACX,KACE,KAAK,CAAC,YAAY,CAAC,GACxB,EAEC,CAAC;IAEN;;;OAGG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC;;OAEG;IACH,KAAK,EAAE;QACL,IAAI,EAAE,SAAS,CAAC;KACjB,CAAC;IACF;;OAEG;IACH,KAAK,EAAE;QACL,IAAI,EAAE;YACJ;;eAEG;YACH,KAAK,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;SACpE,CAAC;KACH,CAAC;IACF;;OAEG;IACH,OAAO,EAAE;QAAE,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACvC;;;;OAIG;IACH,iBAAiB,EAAE;QACjB,IAAI,EAAE;YACJ;;eAEG;YACH,MAAM,EAAE,gBAAgB,CAAC;YACzB;;eAEG;YACH,IAAI,EAAE,OAAO,CAAC;YACd;;eAEG;YACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;SAC3B,CAAC;KACH,CAAC;CACH,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAEvD,MAAM,MAAM,cAAc,CAAC,SAAS,SAAS,aAAa,IAAI;KAC3D,SAAS,IAAI,MAAM,SAAS,GAAG,qBAAqB,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,SAAS,CAAC,GAClF,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,qBAAqB,CAAC,MAAM,CAAC,CAAC,GACvE,cAAc,CAAC,CAAC,CAAC,GACjB,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACzD,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC5D,CAAC,MAAM,SAAS,CAAC,CAAC;AAEnB,KAAK,mBAAmB,CAAC,SAAS,SAAS,EAAE,IAAI,SAAS,SAAS,aAAa,GAC5E,cAAc,CAAC,SAAS,CAAC,GACzB,KAAK,CAAC,MAAM,CAAC,CAAC;AAElB,MAAM,MAAM,sBAAsB,CAAC,SAAS,SAAS,EAAE,IACrD,iBAAiB,CAAC,SAAS,CAAC,GAC1B,aAAa,CAAC,2BAA2B,CAAC,GAAG;IAC3C;;;;OAIG;IACH,SAAS,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC;IACzE;;OAEG;IACH,YAAY,IAAI,eAAe,CAAC;IAChC;;OAEG;IACH,eAAe,IAAI,mBAAmB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC9D;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAAC;IACxC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;IACnB;;OAEG;IACH,UAAU,IAAI,KAAK,CAAC;IACpB;;OAEG;IACH,SAAS,IAAI,SAAS,CAAC;CACxB,CAAC;AAEN,MAAM,MAAM,iCAAiC,CAAC,SAAS,SAAS,EAAE,IAChE,sBAAsB,CAAC,SAAS,CAAC,GAAG;IAClC,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;CACnD,CAAC;AAEJ,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,aAAa,IAAI;KAC/D,SAAS,IAAI,MAAM,SAAS,GAAG,OAAO;CACxC,CAAC;AAEF,MAAM,MAAM,OAAO,CACjB,SAAS,SAAS,aAAa,EAC/B,WAAW,SAAS,MAAM,GAAG,SAAS,EACtC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,cAAc,SAAS,kBAAkB,CAAC,SAAS,CAAC,EACpD,SAAS,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IACxC;IACF,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,EAAE,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,eAAe,CAAC;IACvB,aAAa,EAAE,EAAE,CAAC;IAClB,QAAQ,EAAE,EAAE,CAAC;IACb,cAAc,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAClD,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAC1B,SAAS,SAAS,aAAa,EAC/B,WAAW,SAAS,MAAM,GAAG,SAAS,EACtC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,cAAc,SAAS,kBAAkB,CAAC,SAAS,CAAC,EACpD,SAAS,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IACxC;IACF,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,CACxB,GAAG,SAAS,oBAAoB,EAChC,MAAM,GAAG,OAAO,IACd,sBAAsB,CACxB,GAAG,CAAC,WAAW,CAAC,EAChB,GAAG,CAAC,aAAa,CAAC,EAClB,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,eAAe,CAAC,EACpB,GAAG,CAAC,UAAU,CAAC,EACf,GAAG,CAAC,gBAAgB,CAAC,EACrB,GAAG,CAAC,WAAW,CAAC,CACjB,GACC,CAAC,SAAS,SAAS,MAAM,GAAG,EAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEvD,KAAK,sBAAsB,CACzB,SAAS,SAAS,aAAa,EAC/B,WAAW,SAAS,MAAM,GAAG,SAAS,EACtC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,cAAc,SAAS,kBAAkB,CAAC,SAAS,CAAC,EACpD,SAAS,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IACxC;IACF;;OAEG;IACH,SAAS,EAAE,KAAK,CAAC,aAAa,CAC5B,IAAI,CACF,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAC/B,MAAM,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAC5D,GACC,uBAAuB,CACrB,SAAS,EACT,WAAW,EACX,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CAAC,MAAM,SAAS,CAAC,CAChC,CACJ,CAAC;IACF;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,aAAa,CACxB,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,MAAM,SAAS,CAAC,CAAC,CAC5E,CAAC;IACF;;OAEG;IACH,MAAM,EAAE,CAAC,SAAS,SAAS,MAAM,SAAS,EACxC,CAAC,EAAE,WAAW,CACZ,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CAAC,SAAS,CAAC,CAC1B,KACE,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,EAAE,IAClD;IACE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC;CACpE,GACD;KACG,SAAS,IAAI,MAAM,SAAS,GAAG,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GAClE;QACE,MAAM,EAAE,SAAS,CAAC;QAClB,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,GACD;QACE,MAAM,EAAE,SAAS,CAAC;QAClB,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf;CACN,CAAC,MAAM,SAAS,CAAC,CAAC;AAEvB,KAAK,eAAe,GAAG;IACrB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,SAAS,SAAS,EAAE,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG;IACxE;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC;IACnD;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC;IACrC;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,SAAS,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,SAAS,SAAS,EAAE,IAAI;KAC/C,SAAS,IAAI,MAAM,SAAS,CAAC,CAAC,EAAE,WAAW,CAC1C,SAAS,CAAC,SAAS,CAAC,CACrB,SAAS,qBAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,GAC/C,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GACtB,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,SAAS,GAAG,kBAAkB,CAAC;CAClE,CAAC"} -\ No newline at end of file -+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts -index 7d017a9..9176f05 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts -+++ b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts -@@ -1,13 +1,13 @@ - import type { NavigationAction, NavigationState, ParamListBase, PartialState, Router } from '@react-navigation/routers'; - import * as React from 'react'; - import { type AddKeyedListener, type AddListener } from './NavigationBuilderContext'; --import type { Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp } from './types'; -+import type { ConvertCustomScreenOptions, Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp, ScreenOptionsOrCallback } from './types'; - import type { NavigationEventEmitter } from './useEventEmitter'; --export type ScreenConfigWithParent = { -+export type ScreenConfigWithParent = { - keys: (string | undefined)[]; -- options: (ScreenOptionsOrCallback | undefined)[] | undefined; -- layout: ScreenLayout | undefined; -- props: RouteConfig; -+ options: (ScreenOptionsOrCallback | undefined)[] | undefined; -+ layout: ScreenLayout | undefined; -+ props: RouteConfig; - }; - type ScreenLayout = (props: { - route: RouteProp; -@@ -16,16 +16,11 @@ type ScreenLayout = (props: { - theme: ReactNavigation.Theme; - children: React.ReactElement; - }) => React.ReactElement; --type ScreenOptionsOrCallback = ScreenOptions | ((props: { -- route: RouteProp; -- navigation: any; -- theme: ReactNavigation.Theme; --}) => ScreenOptions); --type Options = { -+type Options = { - state: State; -- screens: Record>; -+ screens: Record>; - navigation: NavigationHelpers; -- screenOptions: ScreenOptionsOrCallback | undefined; -+ screenOptions: ScreenOptionsOrCallback | undefined; - screenLayout: ScreenLayout | undefined; - onAction: (action: NavigationAction) => boolean; - getState: () => State; -@@ -43,8 +38,10 @@ type Options void>, ScreenOptions extends {}, EventMap extends EventMapBase>({ state, screens, navigation, screenOptions, screenLayout, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options): { -+export declare function useDescriptors void>, ScreenOptions extends {}, EventMap extends EventMapBase, CustomScreenOptions extends {} = ScreenOptions>({ state, screens, navigation, screenOptions, screenLayout, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options, convertCustomScreenOptions: ConvertCustomScreenOptions | undefined): { - describe: (route: RouteProp, placeholder: boolean) => Descriptor void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions): { -+export declare function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { - state: State; - navigation: { - dispatch(action: Readonly<{ -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -index 11a6b9c..d1c5acd 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -+++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAkPjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4gBhB"} -\ No newline at end of file -+{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AA8PjB;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,GAAG,mBAAmB,EACnC,QAAQ,EACR,GAAG,CACJ,GACC,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyhBF"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx -index 59a0b1a..5d13ad5 100644 ---- a/node_modules/@react-navigation/core/src/types.tsx -+++ b/node_modules/@react-navigation/core/src/types.tsx -@@ -23,6 +23,29 @@ declare global { - - type Keyof = Extract; - -+export type ScreenListenersOrCallback< -+ State extends NavigationState, -+ EventMap extends EventMapBase, -+ ParamList extends ParamListBase = ParamListBase, -+ RouteName extends keyof ParamList = keyof ParamList, -+> = -+ | ScreenListeners -+ | ((props: { -+ route: RouteProp; -+ navigation: any; -+ }) => ScreenListeners); -+ -+export type ScreenOptionsOrCallback< -+ ScreenOptions extends {}, -+ ParamList extends ParamListBase = ParamListBase, -+ RouteName extends keyof ParamList = keyof ParamList -+> = -+ | ScreenOptions -+ | ((props: { -+ route: RouteProp; -+ navigation: any; -+ }) => ScreenOptions); -+ - export type DefaultNavigatorOptions< - ParamList extends ParamListBase, - NavigatorID extends string | undefined, -@@ -30,6 +53,7 @@ export type DefaultNavigatorOptions< - ScreenOptions extends {}, - EventMap extends EventMapBase, - Navigation, -+ RouteName extends keyof ParamList = keyof ParamList, - > = DefaultRouterOptions> & { - /** - * Children React Elements to extract the route configuration from. -@@ -65,23 +89,21 @@ export type DefaultNavigatorOptions< - /** - * Event listeners for all the screens in the navigator. - */ -- screenListeners?: -- | ScreenListeners -- | ((props: { -- route: RouteProp; -- navigation: Navigation; -- }) => ScreenListeners); -+ screenListeners?: ScreenListenersOrCallback< -+ State, -+ EventMap, -+ ParamList, -+ RouteName -+ >; - - /** - * Default options for all screens under this navigator. - */ -- screenOptions?: -- | ScreenOptions -- | ((props: { -- route: RouteProp; -- navigation: Navigation; -- theme: ReactNavigation.Theme; -- }) => ScreenOptions); -+ screenOptions?: ScreenOptionsOrCallback< -+ ScreenOptions, -+ ParamList, -+ RouteName -+ >; - - /** - * Layout for all screens under this navigator. -@@ -121,6 +143,13 @@ export type EventMapBase = Record< - { data?: any; canPreventDefault?: boolean } - >; - -+export type ConvertCustomScreenOptions< -+ CustomScreenOptions extends {}, -+ ScreenOptions extends {}, -+> = ( -+ options: ScreenOptionsOrCallback | undefined -+) => ScreenOptionsOrCallback | undefined; -+ - export type EventMapCore = { - focus: { data: undefined }; - blur: { data: undefined }; -@@ -719,11 +748,12 @@ export type RouteConfig< - ScreenOptions extends {}, - EventMap extends EventMapBase, - Navigation, -+ CustomScreenOptions extends {} = ScreenOptions - > = RouteConfigProps< - ParamList, - RouteName, - State, -- ScreenOptions, -+ ScreenOptions | CustomScreenOptions, - EventMap, - Navigation - > & -diff --git a/node_modules/@react-navigation/core/src/useDescriptors.tsx b/node_modules/@react-navigation/core/src/useDescriptors.tsx -index d354323..f55288e 100644 ---- a/node_modules/@react-navigation/core/src/useDescriptors.tsx -+++ b/node_modules/@react-navigation/core/src/useDescriptors.tsx -@@ -17,12 +17,14 @@ import { NavigationRouteContext } from './NavigationRouteContext'; - import { SceneView } from './SceneView'; - import { ThemeContext } from './theming/ThemeContext'; - import type { -+ ConvertCustomScreenOptions, - Descriptor, - EventMapBase, - NavigationHelpers, - NavigationProp, - RouteConfig, - RouteProp, -+ ScreenOptionsOrCallback, - } from './types'; - import type { NavigationEventEmitter } from './useEventEmitter'; - import { useNavigationCache } from './useNavigationCache'; -@@ -32,15 +34,21 @@ export type ScreenConfigWithParent< - State extends NavigationState, - ScreenOptions extends {}, - EventMap extends EventMapBase, -+ CustomScreenOptions extends {} = ScreenOptions, - > = { - keys: (string | undefined)[]; -- options: (ScreenOptionsOrCallback | undefined)[] | undefined; -- layout: ScreenLayout | undefined; -+ options: -+ | ( -+ | ScreenOptionsOrCallback -+ | undefined -+ )[] -+ | undefined; -+ layout: ScreenLayout | undefined; - props: RouteConfig< - ParamListBase, - string, - State, -- ScreenOptions, -+ ScreenOptions | CustomScreenOptions, - EventMap, - unknown - >; -@@ -54,26 +62,22 @@ type ScreenLayout = (props: { - children: React.ReactElement; - }) => React.ReactElement; - --type ScreenOptionsOrCallback = -- | ScreenOptions -- | ((props: { -- route: RouteProp; -- navigation: any; -- theme: ReactNavigation.Theme; -- }) => ScreenOptions); - - type Options< - State extends NavigationState, - ScreenOptions extends {}, - EventMap extends EventMapBase, -+ CustomScreenOptions extends {} = ScreenOptions, - > = { - state: State; - screens: Record< - string, -- ScreenConfigWithParent -+ ScreenConfigWithParent - >; - navigation: NavigationHelpers; -- screenOptions: ScreenOptionsOrCallback | undefined; -+ screenOptions: -+ | ScreenOptionsOrCallback -+ | undefined; - screenLayout: ScreenLayout | undefined; - onAction: (action: NavigationAction) => boolean; - getState: () => State; -@@ -92,27 +96,35 @@ type Options< - * - Helper method to render a screen - * - Options specified by the screen for the navigator - * - Navigation object intended for the route -+ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. -+ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. - */ - export function useDescriptors< - State extends NavigationState, - ActionHelpers extends Record void>, - ScreenOptions extends {}, - EventMap extends EventMapBase, -->({ -- state, -- screens, -- navigation, -- screenOptions, -- screenLayout, -- onAction, -- getState, -- setState, -- addListener, -- addKeyedListener, -- onRouteFocus, -- router, -- emitter, --}: Options) { -+ CustomScreenOptions extends {} = ScreenOptions, -+>( -+ { -+ state, -+ screens, -+ navigation, -+ screenOptions, -+ screenLayout, -+ onAction, -+ getState, -+ setState, -+ addListener, -+ addKeyedListener, -+ onRouteFocus, -+ router, -+ emitter, -+ }: Options, -+ convertCustomScreenOptions: -+ | ConvertCustomScreenOptions -+ | undefined -+) { - const theme = React.useContext(ThemeContext); - const [options, setOptions] = React.useState>( - {} -@@ -183,18 +195,41 @@ export function useDescriptors< - const config = screens[route.name]; - const screen = config.props; - -- const optionsList = [ -- // The default `screenOptions` passed to the navigator -- screenOptions, -- // The `screenOptions` props passed to `Group` elements -- ...((config.options -- ? config.options.filter(Boolean) -- : []) as ScreenOptionsOrCallback[]), -- // The `options` prop passed to `Screen` elements, -- screen.options, -- // The options set via `navigation.setOptions` -- overrides, -- ]; -+ let optionsList: (ScreenOptionsOrCallback | undefined)[]; -+ if (convertCustomScreenOptions) { -+ optionsList = [ -+ // The default `screenOptions` passed to the navigator -+ convertCustomScreenOptions( -+ screenOptions as ScreenOptionsOrCallback -+ ), -+ // The `screenOptions` props passed to `Group` elements -+ ...((config.options -+ ? (config.options as ScreenOptionsOrCallback[]) -+ .filter(Boolean) -+ .map(convertCustomScreenOptions) -+ : []) as ScreenOptionsOrCallback[]), -+ // The `options` prop passed to `Screen` elements, -+ convertCustomScreenOptions( -+ screen.options as ScreenOptionsOrCallback -+ ), -+ convertCustomScreenOptions( -+ overrides as ScreenOptionsOrCallback -+ ), -+ ]; -+ } else { -+ optionsList = [ -+ // The default `screenOptions` passed to the navigator -+ screenOptions as ScreenOptionsOrCallback, -+ // The `screenOptions` props passed to `Group` elements -+ ...((config.options -+ ? config.options.filter(Boolean) -+ : []) as ScreenOptionsOrCallback[]), -+ // The `options` prop passed to `Screen` elements, -+ screen.options as ScreenOptionsOrCallback, -+ // The options set via `navigation.setOptions` -+ options[route.key] as ScreenOptionsOrCallback, -+ ]; -+ } - - return optionsList.reduce( - (acc, curr) => -diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index 01b1ea1..835bc07 100644 ---- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -+++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -@@ -24,6 +24,7 @@ import { NavigationStateContext } from './NavigationStateContext'; - import { PreventRemoveProvider } from './PreventRemoveProvider'; - import { Screen } from './Screen'; - import { -+ type ConvertCustomScreenOptions, - type DefaultNavigatorOptions, - type EventMapBase, - type EventMapCore, -@@ -89,18 +90,25 @@ const getRouteConfigsFromChildren = < - State extends NavigationState, - ScreenOptions extends {}, - EventMap extends EventMapBase, -+ CustomScreenOptions extends {} = ScreenOptions, - >( - children: React.ReactNode, - groupKey?: string, - groupOptions?: ScreenConfigWithParent< - State, - ScreenOptions, -- EventMap -+ EventMap, -+ CustomScreenOptions - >['options'], -- groupLayout?: ScreenConfigWithParent['layout'] -+ groupLayout?: ScreenConfigWithParent< -+ State, -+ ScreenOptions, -+ EventMap, -+ CustomScreenOptions -+ >['layout'] - ) => { - const configs = React.Children.toArray(children).reduce< -- ScreenConfigWithParent[] -+ ScreenConfigWithParent[] - >((acc, child) => { - if (React.isValidElement(child)) { - if (isScreen(child)) { -@@ -141,7 +149,7 @@ const getRouteConfigsFromChildren = < - ParamListBase, - string, - State, -- ScreenOptions, -+ ScreenOptions | CustomScreenOptions, - EventMap, - unknown - >, -@@ -162,7 +170,12 @@ const getRouteConfigsFromChildren = < - // When we encounter a fragment or group, we need to dive into its children to extract the configs - // This is handy to conditionally define a group of screens - acc.push( -- ...getRouteConfigsFromChildren( -+ ...getRouteConfigsFromChildren< -+ State, -+ ScreenOptions, -+ EventMap, -+ CustomScreenOptions -+ >( - child.props.children as React.ReactNode, - child.props.navigationKey, - // FIXME -@@ -277,6 +290,8 @@ const getRouteConfigsFromChildren = < - * - * @param createRouter Factory method which returns router object. - * @param options Options object containing `children` and additional options for the router. -+ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. -+ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. - * @returns An object containing `state`, `navigation`, `descriptors` objects. - */ - export function useNavigationBuilder< -@@ -285,17 +300,22 @@ export function useNavigationBuilder< - ActionHelpers extends Record void>, - ScreenOptions extends {}, - EventMap extends Record, -+ CustomScreenOptions extends {} = ScreenOptions, - >( - createRouter: RouterFactory, - options: DefaultNavigatorOptions< - ParamListBase, - string | undefined, - State, -- ScreenOptions, -+ ScreenOptions | CustomScreenOptions, - EventMap, - any - > & -- RouterOptions -+ RouterOptions, -+ convertCustomScreenOptions?: ConvertCustomScreenOptions< -+ CustomScreenOptions, -+ ScreenOptions -+ > - ) { - const navigatorKey = useRegisterNavigator(); - -@@ -316,7 +336,8 @@ export function useNavigationBuilder< - const routeConfigs = getRouteConfigsFromChildren< - State, - ScreenOptions, -- EventMap -+ EventMap, -+ CustomScreenOptions - >(children); - - const router = useLazyValue>(() => { -@@ -346,7 +367,15 @@ export function useNavigationBuilder< - }); - - const screens = routeConfigs.reduce< -- Record> -+ Record< -+ string, -+ ScreenConfigWithParent< -+ State, -+ ScreenOptions, -+ EventMap, -+ CustomScreenOptions -+ > -+ > - >((acc, config) => { - if (config.props.name in acc) { - throw new Error( -@@ -770,23 +799,27 @@ export function useNavigationBuilder< - State, - ActionHelpers, - ScreenOptions, -- EventMap -- >({ -- state, -- screens, -- navigation, -- screenOptions, -- screenLayout, -- onAction, -- getState, -- setState, -- onRouteFocus, -- addListener, -- addKeyedListener, -- router, -- // @ts-expect-error: this should have both core and custom events, but too much work right now -- emitter, -- }); -+ EventMap, -+ CustomScreenOptions -+ >( -+ { -+ state, -+ screens, -+ navigation, -+ screenOptions, -+ screenLayout, -+ onAction, -+ getState, -+ setState, -+ onRouteFocus, -+ addListener, -+ addKeyedListener, -+ router, -+ // @ts-expect-error: this should have both core and custom events, but too much work right now -+ emitter, -+ }, -+ convertCustomScreenOptions -+ ); - - useCurrentRender({ - state, diff --git a/patches/react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+core+7.16.1+001+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+core+7.16.1+001+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+core+7.16.1+001+platform-navigation-stack-types.patch b/patches/react-navigation/@react-navigation+core+7.16.1+001+platform-navigation-stack-types.patch new file mode 100644 index 000000000000..116ec5aea7e0 --- /dev/null +++ b/patches/react-navigation/@react-navigation+core+7.16.1+001+platform-navigation-stack-types.patch @@ -0,0 +1,461 @@ +diff --git a/node_modules/@react-navigation/core/lib/module/types.js.map b/node_modules/@react-navigation/core/lib/module/types.js.map +index af29b3c..690d78c 100644 +--- a/node_modules/@react-navigation/core/lib/module/types.js.map ++++ b/node_modules/@react-navigation/core/lib/module/types.js.map +@@ -1 +1 @@ +-{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;AA0OA,OAAO,MAAMA,iBAAiB,CAA4B","ignoreList":[]} ++{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;AA8PA,OAAO,MAAMA,iBAAiB,CAA4B","ignoreList":[]} +diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js b/node_modules/@react-navigation/core/lib/module/useDescriptors.js +index 7f57f2c..b1290d4 100644 +--- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js ++++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js +@@ -15,6 +15,8 @@ import { jsx as _jsx } from "react/jsx-runtime"; + * - Helper method to render a screen + * - Options specified by the screen for the navigator + * - Navigation object intended for the route ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. + */ + export function useDescriptors({ + state, +@@ -30,7 +32,7 @@ export function useDescriptors({ + onRouteFocus, + router, + emitter +-}) { ++}, convertCustomScreenOptions) { + const theme = React.useContext(ThemeContext); + const [options, setOptions] = React.useState({}); + const { +@@ -67,15 +69,26 @@ export function useDescriptors({ + const getOptions = (route, navigation, overrides) => { + const config = screens[route.name]; + const screen = config.props; +- const optionsList = [ +- // The default `screenOptions` passed to the navigator +- screenOptions, +- // The `screenOptions` props passed to `Group` elements +- ...(config.options ? config.options.filter(Boolean) : []), +- // The `options` prop passed to `Screen` elements, +- screen.options, +- // The options set via `navigation.setOptions` +- overrides]; ++ let optionsList; ++ if (convertCustomScreenOptions) { ++ optionsList = [ ++ // The default `screenOptions` passed to the navigator ++ convertCustomScreenOptions(screenOptions), ++ // The `screenOptions` props passed to `Group` elements ++ ...(config.options ? config.options.filter(Boolean).map(convertCustomScreenOptions) : []), ++ // The `options` prop passed to `Screen` elements, ++ convertCustomScreenOptions(screen.options), convertCustomScreenOptions(overrides)]; ++ } else { ++ optionsList = [ ++ // The default `screenOptions` passed to the navigator ++ screenOptions, ++ // The `screenOptions` props passed to `Group` elements ++ ...(config.options ? config.options.filter(Boolean) : []), ++ // The `options` prop passed to `Screen` elements, ++ screen.options, ++ // The options set via `navigation.setOptions` ++ options[route.key]]; ++ } + return optionsList.reduce((acc, curr) => Object.assign(acc, + // @ts-expect-error: we check for function but TS still complains + typeof curr !== 'function' ? curr : curr({ +diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map +index 07588b8..7bea0b3 100644 +--- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map ++++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map +@@ -1 +1 @@ +-{"version":3,"names":["React","NavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","state","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","base","navigations","routes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","describe","placeholder","Error","undefined"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]} ++{"version":3,"names":["React","NavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","state","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","convertCustomScreenOptions","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","base","navigations","routes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","map","opt","reduce","acc","curr","Object","assign","render","customOptions","routeState","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","describe","placeholder","Error","undefined"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]} +diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +index cd5e325..0000000 100644 +--- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js ++++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +@@ -160,7 +160,7 @@ const getStateFromParams = params => { + * @param options Options object containing `children` and additional options for the router. + * @returns An object containing `state`, `navigation`, `descriptors` objects. + */ +-export function useNavigationBuilder(createRouter, options) { ++export function useNavigationBuilder(createRouter, options, convertCustomScreenOptions) { + const navigatorKey = useRegisterNavigator(); + const route = React.useContext(NavigationRouteContext); + const isNestedParamsConsumed = typeof route?.params === 'object' && route.params != null ? CONSUMED_PARAMS in route.params && route.params[CONSUMED_PARAMS] === route.params : false; +@@ -575,7 +575,7 @@ export function useNavigationBuilder(createRouter, options) { + router, + // @ts-expect-error: this should have both core and custom events, but too much work right now + emitter +- }); ++ }, convertCustomScreenOptions); + useCurrentRender({ + state, + navigation, +diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +index b8d2e7f..a4276c1 100644 +--- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map ++++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +@@ -1 +1 @@ +-{"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useClientLayoutEffect","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","FocusedRouteKeyContext","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","CONSUMED_PARAMS","Symbol","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","state","screen","initial","routes","path","useNavigationBuilder","createRouter","navigatorKey","route","useContext","isNestedParamsConsumed","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","UNSTABLE_routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","defineProperty","value","enumerable","shouldUpdate","lastNotifiedStateRef","stateRef","emitter","e","target","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]} ++{"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useClientLayoutEffect","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","FocusedRouteKeyContext","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","CONSUMED_PARAMS","Symbol","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","state","screen","initial","routes","path","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","isNestedParamsConsumed","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","UNSTABLE_routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","defineProperty","value","enumerable","shouldUpdate","lastNotifiedStateRef","stateRef","emitter","e","target","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","id","focusedListeners","focus","getStateListeners","describe","validState","preloadedRoutes","some","preloadedRoute","NavigationContent","element","Provider"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]} +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +index 0a9f6e2..cea9a9b 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +@@ -9,7 +9,16 @@ declare global { + } + } + type Keyof = Extract; +-export type DefaultNavigatorOptions = DefaultRouterOptions> & { ++export type ScreenListenersOrCallback = ScreenListeners | ((props: { ++ route: RouteProp; ++ navigation: any; ++}) => ScreenListeners); ++export type ScreenOptionsOrCallback = ScreenOptions | ((props: { ++ route: RouteProp; ++ navigation: any; ++}) => ScreenOptions); ++ ++export type DefaultNavigatorOptions = DefaultRouterOptions> & { + /** + * Children React Elements to extract the route configuration from. + * Only `Screen`, `Group` and `React.Fragment` are supported as children. +@@ -28,18 +37,11 @@ export type DefaultNavigatorOptions | ((props: { +- route: RouteProp; +- navigation: Navigation; +- }) => ScreenListeners); ++ screenListeners?: ScreenListenersOrCallback; + /** + * Default options for all screens under this navigator. + */ +- screenOptions?: ScreenOptions | ((props: { +- route: RouteProp; +- navigation: Navigation; +- theme: ReactNavigation.Theme; +- }) => ScreenOptions); ++ screenOptions?: ScreenOptionsOrCallback; + /** + * Layout for all screens under this navigator. + */ +@@ -84,6 +86,7 @@ export type EventMapBase = Record; ++export type ConvertCustomScreenOptions = (options: ScreenOptionsOrCallback | undefined) => ScreenOptionsOrCallback | undefined; + export type EventMapCore = { + focus: { + data: undefined; +@@ -494,7 +497,7 @@ export type RouteConfigProps; + }; +-export type RouteConfig = RouteConfigProps & RouteConfigComponent; ++export type RouteConfig = RouteConfigProps & RouteConfigComponent; + export type RouteGroupConfig = { + /** + * Optional key for the screens in this group. +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map +index 0b1b046..475b0ed 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts +index e75d984..de587a7 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts +@@ -1,7 +1,7 @@ + import type { NavigationAction, NavigationState, ParamListBase, PartialState, Router } from '@react-navigation/routers'; + import * as React from 'react'; + import { type AddKeyedListener, type AddListener } from './NavigationBuilderContext'; +-import type { Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp } from './types'; ++import type { ConvertCustomScreenOptions, Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp } from './types'; + import type { NavigationEventEmitter } from './useEventEmitter'; + export type ScreenConfigWithParent = { + keys: (string | undefined)[]; +@@ -44,7 +44,7 @@ type Options void>, ScreenOptions extends {}, EventMap extends EventMapBase>({ state, screens, navigation, screenOptions, screenLayout, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options): { ++export declare function useDescriptors void>, ScreenOptions extends {}, EventMap extends EventMapBase, CustomScreenOptions extends {} = ScreenOptions>({ state, screens, navigation, screenOptions, screenLayout, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options, convertCustomScreenOptions?: ConvertCustomScreenOptions): { + describe: (route: RouteProp, placeholder: boolean) => Descriptor void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions): { ++export declare function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { + state: State; + navigation: { + dispatch(action: Readonly<{ +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +index 6a5a6d4..6a47564 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAyQjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8rBhB"} +\ No newline at end of file ++{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAyQjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CAAC,mBAAmB,EAAE,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmsB5F"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx +index 53b1123..ad857a8 100644 +--- a/node_modules/@react-navigation/core/src/types.tsx ++++ b/node_modules/@react-navigation/core/src/types.tsx +@@ -23,6 +23,29 @@ declare global { + + type Keyof = Extract; + ++export type ScreenListenersOrCallback< ++ State extends NavigationState, ++ EventMap extends EventMapBase, ++ ParamList extends ParamListBase = ParamListBase, ++ RouteName extends keyof ParamList = keyof ParamList, ++> = ++ | ScreenListeners ++ | ((props: { ++ route: RouteProp; ++ navigation: any; ++ }) => ScreenListeners); ++ ++export type ScreenOptionsOrCallback< ++ ScreenOptions extends {}, ++ ParamList extends ParamListBase = ParamListBase, ++ RouteName extends keyof ParamList = keyof ParamList ++> = ++ | ScreenOptions ++ | ((props: { ++ route: RouteProp; ++ navigation: any; ++ }) => ScreenOptions); ++ + export type DefaultNavigatorOptions< + ParamList extends ParamListBase, + NavigatorID extends string | undefined, +@@ -30,6 +53,7 @@ export type DefaultNavigatorOptions< + ScreenOptions extends {}, + EventMap extends EventMapBase, + Navigation, ++ RouteName extends keyof ParamList = keyof ParamList, + > = DefaultRouterOptions> & { + /** + * Children React Elements to extract the route configuration from. +@@ -65,23 +89,12 @@ export type DefaultNavigatorOptions< + /** + * Event listeners for all the screens in the navigator. + */ +- screenListeners?: +- | ScreenListeners +- | ((props: { +- route: RouteProp; +- navigation: Navigation; +- }) => ScreenListeners); ++ screenListeners?: ScreenListenersOrCallback; + + /** + * Default options for all screens under this navigator. + */ +- screenOptions?: +- | ScreenOptions +- | ((props: { +- route: RouteProp; +- navigation: Navigation; +- theme: ReactNavigation.Theme; +- }) => ScreenOptions); ++ screenOptions?: ScreenOptionsOrCallback; + + /** + * Layout for all screens under this navigator. +@@ -142,6 +155,13 @@ export type EventMapBase = Record< + { data?: any; canPreventDefault?: boolean } + >; + ++export type ConvertCustomScreenOptions< ++ CustomScreenOptions extends {}, ++ ScreenOptions extends {} ++> = ( ++ options: ScreenOptionsOrCallback | undefined ++) => ScreenOptionsOrCallback | undefined; ++ + export type EventMapCore = { + focus: { data: undefined }; + blur: { data: undefined }; +@@ -733,11 +753,12 @@ export type RouteConfig< + ScreenOptions extends {}, + EventMap extends EventMapBase, + Navigation, ++ CustomScreenOptions extends {} = ScreenOptions, + > = RouteConfigProps< + ParamList, + RouteName, + State, +- ScreenOptions, ++ ScreenOptions | CustomScreenOptions, + EventMap, + Navigation + > & +diff --git a/node_modules/@react-navigation/core/src/useDescriptors.tsx b/node_modules/@react-navigation/core/src/useDescriptors.tsx +index fb7f1fb..f304b9e 100644 +--- a/node_modules/@react-navigation/core/src/useDescriptors.tsx ++++ b/node_modules/@react-navigation/core/src/useDescriptors.tsx +@@ -16,6 +16,7 @@ import { NavigationProvider } from './NavigationProvider'; + import { SceneView } from './SceneView'; + import { ThemeContext } from './theming/ThemeContext'; + import type { ++ ConvertCustomScreenOptions, + Descriptor, + EventMapBase, + NavigationHelpers, +@@ -91,12 +92,15 @@ type Options< + * - Helper method to render a screen + * - Options specified by the screen for the navigator + * - Navigation object intended for the route ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. + */ + export function useDescriptors< + State extends NavigationState, + ActionHelpers extends Record void>, + ScreenOptions extends {}, + EventMap extends EventMapBase, ++ CustomScreenOptions extends {} = ScreenOptions, + >({ + state, + screens, +@@ -111,7 +115,8 @@ export function useDescriptors< + onRouteFocus, + router, + emitter, +-}: Options) { ++}: Options, ++convertCustomScreenOptions?: ConvertCustomScreenOptions) { + const theme = React.useContext(ThemeContext); + const [options, setOptions] = React.useState>( + {} +@@ -182,18 +187,33 @@ export function useDescriptors< + const config = screens[route.name]; + const screen = config.props; + +- const optionsList = [ +- // The default `screenOptions` passed to the navigator +- screenOptions, +- // The `screenOptions` props passed to `Group` elements +- ...((config.options +- ? config.options.filter(Boolean) +- : []) as ScreenOptionsOrCallback[]), +- // The `options` prop passed to `Screen` elements, +- screen.options, +- // The options set via `navigation.setOptions` +- overrides, +- ]; ++ let optionsList: (ScreenOptionsOrCallback | undefined)[]; ++ if (convertCustomScreenOptions) { ++ optionsList = [ ++ // The default `screenOptions` passed to the navigator ++ convertCustomScreenOptions(screenOptions as ScreenOptionsOrCallback | undefined), ++ // The `screenOptions` props passed to `Group` elements ++ ...((config.options ++ ? config.options.filter(Boolean).map((opt) => convertCustomScreenOptions(opt as ScreenOptionsOrCallback | undefined)) ++ : []) as ScreenOptionsOrCallback[]), ++ // The `options` prop passed to `Screen` elements, ++ convertCustomScreenOptions(screen.options as ScreenOptionsOrCallback | undefined), ++ convertCustomScreenOptions(overrides as unknown as ScreenOptionsOrCallback | undefined), ++ ]; ++ } else { ++ optionsList = [ ++ // The default `screenOptions` passed to the navigator ++ screenOptions, ++ // The `screenOptions` props passed to `Group` elements ++ ...((config.options ++ ? config.options.filter(Boolean) ++ : []) as ScreenOptionsOrCallback[]), ++ // The `options` prop passed to `Screen` elements, ++ screen.options, ++ // The options set via `navigation.setOptions` ++ overrides, ++ ]; ++ } + + return optionsList.reduce( + (acc, curr) => +diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +index 3ff4abe..0000000 100644 +--- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx ++++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +@@ -26,6 +26,7 @@ import { NavigationStateContext } from './NavigationStateContext'; + import { PreventRemoveProvider } from './PreventRemoveProvider'; + import { Screen } from './Screen'; + import { ++ type ConvertCustomScreenOptions, + type DefaultNavigatorOptions, + type EventMapBase, + type EventMapCore, +@@ -310,6 +311,7 @@ export function useNavigationBuilder< + ActionHelpers extends Record void>, + ScreenOptions extends {}, + EventMap extends Record, ++ CustomScreenOptions extends {} = ScreenOptions, + >( + createRouter: RouterFactory, + options: DefaultNavigatorOptions< +@@ -320,7 +322,8 @@ export function useNavigationBuilder< + EventMap, + any + > & +- RouterOptions ++ RouterOptions, ++ convertCustomScreenOptions?: ConvertCustomScreenOptions + ) { + const navigatorKey = useRegisterNavigator(); + +@@ -965,7 +968,8 @@ export function useNavigationBuilder< + State, + ActionHelpers, + ScreenOptions, +- EventMap ++ EventMap, ++ CustomScreenOptions + >({ + state, + screens, +@@ -981,8 +985,8 @@ export function useNavigationBuilder< + router, + // @ts-expect-error: this should have both core and custom events, but too much work right now + emitter, +- }); ++ }, convertCustomScreenOptions); + + useCurrentRender({ + state, + navigation, diff --git a/patches/react-navigation/@react-navigation+core+7.10.0+002+fix-crash-when-parsing-emoji.patch b/patches/react-navigation/@react-navigation+core+7.16.1+002+fix-crash-when-parsing-emoji.patch similarity index 80% rename from patches/react-navigation/@react-navigation+core+7.10.0+002+fix-crash-when-parsing-emoji.patch rename to patches/react-navigation/@react-navigation+core+7.16.1+002+fix-crash-when-parsing-emoji.patch index 707ab3394934..daec99400fa6 100644 --- a/patches/react-navigation/@react-navigation+core+7.10.0+002+fix-crash-when-parsing-emoji.patch +++ b/patches/react-navigation/@react-navigation+core+7.16.1+002+fix-crash-when-parsing-emoji.patch @@ -1,12 +1,12 @@ diff --git a/node_modules/@react-navigation/core/lib/module/getPathFromState.js b/node_modules/@react-navigation/core/lib/module/getPathFromState.js -index 0d1ca6a..5c9d316 100644 +index ef4e3af..5c9d316 100644 --- a/node_modules/@react-navigation/core/lib/module/getPathFromState.js +++ b/node_modules/@react-navigation/core/lib/module/getPathFromState.js @@ -156,7 +156,7 @@ export function getPathFromState(state, options) { // Valid characters according to // https://datatracker.ietf.org/doc/html/rfc3986#section-3.3 (see pchar definition) -- return String(value).replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]/g, char => encodeURIComponent(char)); +- return Array.from(String(value)).map(char => /[^A-Za-z0-9\-._~!$&'()*+,;=:@]/g.test(char) ? encodeURIComponent(char) : char).join(''); + return Array.from(value).map(char => /[^A-Za-z0-9\-._~!$&'()*+,;=:@]/g.test(char) ? encodeURIComponent(char) : char).join(''); } return encodeURIComponent(segment); diff --git a/patches/react-navigation/@react-navigation+core+7.10.0+003+fix-clearing-preloaded-routes-after-logout.patch b/patches/react-navigation/@react-navigation+core+7.16.1+003+fix-clearing-preloaded-routes-after-logout.patch similarity index 71% rename from patches/react-navigation/@react-navigation+core+7.10.0+003+fix-clearing-preloaded-routes-after-logout.patch rename to patches/react-navigation/@react-navigation+core+7.16.1+003+fix-clearing-preloaded-routes-after-logout.patch index 966f9e98449e..66e300ceab6d 100644 --- a/patches/react-navigation/@react-navigation+core+7.10.0+003+fix-clearing-preloaded-routes-after-logout.patch +++ b/patches/react-navigation/@react-navigation+core+7.16.1+003+fix-clearing-preloaded-routes-after-logout.patch @@ -1,8 +1,9 @@ diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index d7028e1..769b798 100644 +index 0000000..c93a4f5 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -@@ -473,14 +473,15 @@ export function useNavigationBuilder(createRouter, options, convertCustomScreenO +@@ -575,15 +575,16 @@ export function useNavigationBuilder(createRouter, options, convertCustomScreenO + router, // @ts-expect-error: this should have both core and custom events, but too much work right now emitter }, convertCustomScreenOptions); @@ -20,7 +21,7 @@ index d7028e1..769b798 100644 descriptors, navigation, children -@@ -493,7 +494,7 @@ export function useNavigationBuilder(createRouter, options, convertCustomScreenO +@@ -605,7 +606,7 @@ export function useNavigationBuilder(createRouter, options, convertCustomScreenO }); }); return { @@ -30,22 +31,26 @@ index d7028e1..769b798 100644 describe, descriptors, diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index 835bc07..6e8481e 100644 +index 0000000..3bab87a 100644 --- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -@@ -821,8 +821,10 @@ export function useNavigationBuilder< - convertCustomScreenOptions - ); - -+ const validState = state?.preloadedRoutes?.some(preloadedRoute => !state.routeNames.includes(preloadedRoute.name)) ? {...state, preloadedRoutes: []} : state; +@@ -985,10 +985,14 @@ export function useNavigationBuilder< + router, + // @ts-expect-error: this should have both core and custom events, but too much work right now + emitter, + }, convertCustomScreenOptions); + ++ const validState = state?.preloadedRoutes?.some((preloadedRoute) => !state.routeNames.includes(preloadedRoute.name)) ++ ? {...state, preloadedRoutes: []} ++ : state; + useCurrentRender({ - state, + state: validState, navigation, descriptors, }); -@@ -831,7 +833,7 @@ export function useNavigationBuilder< +@@ -997,7 +1001,7 @@ export function useNavigationBuilder< const element = layout != null ? layout({ @@ -54,9 +59,9 @@ index 835bc07..6e8481e 100644 descriptors, navigation, children, -@@ -846,7 +848,7 @@ export function useNavigationBuilder< +@@ -1020,7 +1024,7 @@ export function useNavigationBuilder< }); - + return { - state, + state: validState, diff --git a/patches/react-navigation/@react-navigation+elements+2.4.3+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+elements+2.9.10+001+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+elements+2.4.3+001+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+elements+2.9.10+001+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+material-top-tabs+7.2.13+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+material-top-tabs+7.4.19+001+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+material-top-tabs+7.2.13+001+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+material-top-tabs+7.4.19+001+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+native+7.1.10+001+initial.patch b/patches/react-navigation/@react-navigation+native+7.1.33+001+initial.patch similarity index 100% rename from patches/react-navigation/@react-navigation+native+7.1.10+001+initial.patch rename to patches/react-navigation/@react-navigation+native+7.1.33+001+initial.patch diff --git a/patches/react-navigation/@react-navigation+native+7.1.10+002+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+native+7.1.33+002+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+native+7.1.10+002+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+native+7.1.33+002+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+native-stack+7.14.5+001+added-interaction-manager-integration.patch b/patches/react-navigation/@react-navigation+native-stack+7.14.5+001+added-interaction-manager-integration.patch new file mode 100644 index 000000000000..86e0ff9b3562 --- /dev/null +++ b/patches/react-navigation/@react-navigation+native-stack+7.14.5+001+added-interaction-manager-integration.patch @@ -0,0 +1,144 @@ +diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js +index b83806b..f537ec0 100644 +--- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js ++++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js +@@ -3,7 +3,7 @@ + import { getDefaultHeaderHeight, getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext, SafeAreaProviderCompat, useFrameSize } from '@react-navigation/elements'; + import { NavigationProvider, StackActions, usePreventRemoveContext, useTheme } from '@react-navigation/native'; + import * as React from 'react'; +-import { Animated, Platform, StatusBar, StyleSheet, useAnimatedValue, View } from 'react-native'; ++import { Animated, InteractionManager, Platform, StatusBar, StyleSheet, useAnimatedValue, View } from 'react-native'; + import { useSafeAreaInsets } from 'react-native-safe-area-context'; + import { compatibilityFlags, ScreenStack, ScreenStackItem } from 'react-native-screens'; + import { debounce } from "../utils/debounce.js"; +@@ -137,6 +137,31 @@ const SceneView = ({ + const { + preventedRoutes + } = usePreventRemoveContext(); ++ const interactionHandleRef = React.useRef(undefined); ++ const finishInteraction = React.useCallback(() => { ++ if (interactionHandleRef.current !== undefined) { ++ InteractionManager.clearInteractionHandle(interactionHandleRef.current); ++ interactionHandleRef.current = undefined; ++ } ++ }, []); ++ // this memo acts as a synchronous `useEffect` ++ React.useMemo(() => { ++ if (focused && interactionHandleRef.current === undefined) { ++ interactionHandleRef.current = InteractionManager.createInteractionHandle(); ++ // actually transition is highly unlikely to be more than 500ms, but sometimes BottomTabNavigator ++ // can become unfocused and then focused again, and in this case `onAppear` will not be fired an ++ // we will get infinite interaction manager handler. To fix that we are making a running timeout ++ // action that will clear an interaction 100% ++ setTimeout(finishInteraction, 500); ++ } ++ }, [focused]); ++ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired ++ // so we clean up an interaction here ++ React.useEffect(() => finishInteraction, [finishInteraction]); ++ const onAppearCallback = React.useCallback(e => { ++ onAppear?.(e); ++ finishInteraction(); ++ }, [onAppear, finishInteraction]); + const [headerHeight, setHeaderHeight] = React.useState(defaultHeaderHeight); + + // eslint-disable-next-line react-hooks/exhaustive-deps +@@ -274,7 +299,7 @@ const SceneView = ({ + transitionDuration: animationDuration, + onWillAppear: onWillAppear, + onWillDisappear: onWillDisappear, +- onAppear: onAppear, ++ onAppear: onAppearCallback, + onDisappear: onDisappear, + onDismissed: onDismissed, + onGestureCancel: onGestureCancel, +diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map +index a8c1b71..ac72390 100644 +--- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map ++++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map +@@ -1 +1 @@ +-{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","useFrameSize","NavigationProvider","StackActions","usePreventRemoveContext","useTheme","React","Animated","Platform","StatusBar","StyleSheet","useAnimatedValue","View","useSafeAreaInsets","compatibilityFlags","ScreenStack","ScreenStackItem","debounce","getModalRouteKeys","AnimatedHeaderHeightContext","useDismissedRouteError","useInvalidPreventRemoveError","useHeaderConfigProps","jsx","_jsx","jsxs","_jsxs","ANDROID_DEFAULT_HEADER_HEIGHT","isFabric","global","useNativeDriver","OS","SceneView","index","focused","shouldFreeze","descriptor","previousDescriptor","nextDescriptor","isPresentationModal","isPreloaded","onWillDisappear","onWillAppear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","onGestureCancel","onSheetDetentChanged","route","navigation","options","render","animation","animationMatchesGesture","presentation","fullScreenGestureEnabled","animationDuration","animationTypeForReplace","fullScreenGestureShadowEnabled","gestureEnabled","gestureDirection","gestureResponseDistance","header","headerBackButtonMenuEnabled","headerShown","headerBackground","headerTransparent","autoHideHomeIndicator","keyboardHandlingEnabled","navigationBarColor","navigationBarTranslucent","navigationBarHidden","orientation","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetElevation","sheetExpandsWhenScrolledToEdge","sheetInitialDetentIndex","sheetShouldOverflowTopInset","sheetResizeAnimationEnabled","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarBackgroundColor","unstable_sheetFooter","scrollEdgeEffects","freezeOnBlur","contentStyle","undefined","nextGestureDirection","gestureDirectionOverride","colors","insets","isModal","isIPhone","isPad","isTV","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","isLandscape","frame","width","height","topInset","top","defaultHeaderHeight","select","android","default","preventedRoutes","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","useCallback","hasCustomHeader","usesNewAndroidHeaderHeightImplementation","headerHeightCorrectionOffset","statusBarHeight","currentHeight","rawAnimatedHeaderHeight","animatedHeaderHeight","useMemo","add","headerTopInsetEnabled","canGoBack","backTitle","name","title","headerBack","href","isRemovePrevented","key","preventRemove","headerConfig","headerBackTitle","onHeaderHeightChange","event","nativeEvent","listener","e","doesHeaderAnimate","headerLargeTitleEnabled","headerSearchBarOptions","Math","round","children","screenId","activityState","style","absoluteFill","customAnimationOnSwipe","fullScreenSwipeEnabled","fullScreenSwipeShadowEnabled","homeIndicatorHidden","hideKeyboardOnSwipe","replaceAnimation","stackPresentation","stackAnimation","screenOrientation","sheetDefaultResizeAnimationEnabled","statusBarColor","swipeDirection","transitionDuration","nativeBackButtonDismissalEnabled","preventNativeDismiss","bottom","left","right","backgroundColor","background","Provider","value","styles","translucent","onLayout","layout","setValue","absolute","back","NativeStackView","state","descriptors","describe","setNextDismissedKey","modalRouteKeys","routes","preloadedDescriptors","preloadedRoutes","reduce","acc","container","concat","map","isFocused","isBelowFocused","previousKey","nextKey","includes","isModalOnIos","emit","type","data","closing","target","dispatch","pop","dismissCount","source","stable","isStable","create","flex","zIndex","position","start","end","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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","ignoreList":[]} +\ No newline at end of file ++{"version":3,"sources":["../../../src/views/NativeStackView.native.tsx"],"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","useFrameSize","NavigationProvider","StackActions","usePreventRemoveContext","useTheme","React","Animated","Platform","StatusBar","StyleSheet","useAnimatedValue","View","useSafeAreaInsets","compatibilityFlags","ScreenStack","ScreenStackItem","debounce","getModalRouteKeys","AnimatedHeaderHeightContext","useDismissedRouteError","useInvalidPreventRemoveError","useHeaderConfigProps","jsx","_jsx","jsxs","_jsxs","ANDROID_DEFAULT_HEADER_HEIGHT","isFabric","global","useNativeDriver","OS","SceneView","index","focused","shouldFreeze","descriptor","previousDescriptor","nextDescriptor","isPresentationModal","isPreloaded","onWillDisappear","onWillAppear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","onGestureCancel","onSheetDetentChanged","route","navigation","options","render","animation","animationMatchesGesture","presentation","fullScreenGestureEnabled","animationDuration","animationTypeForReplace","fullScreenGestureShadowEnabled","gestureEnabled","gestureDirection","gestureResponseDistance","header","headerBackButtonMenuEnabled","headerShown","headerBackground","headerTransparent","autoHideHomeIndicator","keyboardHandlingEnabled","navigationBarColor","navigationBarTranslucent","navigationBarHidden","orientation","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetElevation","sheetExpandsWhenScrolledToEdge","sheetInitialDetentIndex","sheetShouldOverflowTopInset","sheetResizeAnimationEnabled","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarBackgroundColor","unstable_sheetFooter","scrollEdgeEffects","freezeOnBlur","contentStyle","undefined","nextGestureDirection","gestureDirectionOverride","colors","insets","isModal","isIPhone","isPad","isTV","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","isLandscape","frame","width","height","topInset","top","defaultHeaderHeight","select","android","default","preventedRoutes","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","useCallback","hasCustomHeader","usesNewAndroidHeaderHeightImplementation","headerHeightCorrectionOffset","statusBarHeight","currentHeight","rawAnimatedHeaderHeight","animatedHeaderHeight","useMemo","add","headerTopInsetEnabled","canGoBack","backTitle","name","title","headerBack","href","isRemovePrevented","key","preventRemove","headerConfig","headerBackTitle","onHeaderHeightChange","event","nativeEvent","listener","e","doesHeaderAnimate","headerLargeTitleEnabled","headerSearchBarOptions","Math","round","children","screenId","activityState","style","absoluteFill","customAnimationOnSwipe","fullScreenSwipeEnabled","fullScreenSwipeShadowEnabled","homeIndicatorHidden","hideKeyboardOnSwipe","replaceAnimation","stackPresentation","stackAnimation","screenOrientation","sheetDefaultResizeAnimationEnabled","statusBarColor","swipeDirection","transitionDuration","nativeBackButtonDismissalEnabled","preventNativeDismiss","bottom","left","right","backgroundColor","background","Provider","value","styles","translucent","onLayout","layout","setValue","absolute","back","NativeStackView","state","descriptors","describe","setNextDismissedKey","modalRouteKeys","routes","preloadedDescriptors","preloadedRoutes","reduce","acc","container","concat","map","isFocused","isBelowFocused","previousKey","nextKey","includes","isModalOnIos","emit","type","data","closing","target","dispatch","pop","dismissCount","source","stable","isStable","create","flex","zIndex","position","start","end","elevation","overflow"],"mappings":"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","sourceRoot":"../../../src"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map +index df09fc6..b351ddc 100644 +--- a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map ++++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAG1B,MAAM,0BAA0B,CAAC;AAkBlC,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAkclB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,qBAAqB,CAAC;CAC5B,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,GACT,EAAE,KAAK,2CA6HP"} +\ No newline at end of file ++{"version":3,"sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAG1B,MAAM,0BAA0B,CAAC;AAkBlC,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAqelB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,qBAAqB,CAAC;CAC5B,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,GACT,EAAE,KAAK,2CA6HP","file":"NativeStackView.native.d.ts","sourceRoot":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +index 06aa31e..2ae4654 100644 +--- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx ++++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +@@ -19,6 +19,7 @@ import { + import * as React from 'react'; + import { + Animated, ++ InteractionManager, + Platform, + StatusBar, + StyleSheet, +@@ -62,7 +63,7 @@ type SceneViewProps = { + isPreloaded?: boolean; + onWillDisappear: () => void; + onWillAppear: () => void; +- onAppear: () => void; ++ onAppear: ScreenProps['onAppear']; + onDisappear: () => void; + onDismissed: ScreenProps['onDismissed']; + onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked']; +@@ -207,6 +208,41 @@ const SceneView = ({ + + const { preventedRoutes } = usePreventRemoveContext(); + ++ const interactionHandleRef = React.useRef(undefined); ++ ++ const finishInteraction = React.useCallback(() => { ++ if (interactionHandleRef.current !== undefined) { ++ InteractionManager.clearInteractionHandle(interactionHandleRef.current); ++ interactionHandleRef.current = undefined; ++ } ++ }, []); ++ // this memo acts as a synchronous `useEffect` ++ React.useMemo(() => { ++ if (focused && interactionHandleRef.current === undefined) { ++ interactionHandleRef.current = ++ InteractionManager.createInteractionHandle(); ++ // actually transition is highly unlikely to be more than 500ms, but sometimes BottomTabNavigator ++ // can become unfocused and then focused again, and in this case `onAppear` will not be fired an ++ // we will get infinite interaction manager handler. To fix that we are making a running timeout ++ // action that will clear an interaction 100% ++ setTimeout(finishInteraction, 500); ++ } ++ }, [focused]); ++ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired ++ // so we clean up an interaction here ++ React.useEffect(() => finishInteraction, [finishInteraction]); ++ ++ const onAppearCallback = React.useCallback< ++ NonNullable ++ >( ++ (e) => { ++ onAppear?.(e); ++ ++ finishInteraction(); ++ }, ++ [onAppear, finishInteraction] ++ ); ++ + const [headerHeight, setHeaderHeight] = React.useState(defaultHeaderHeight); + + // eslint-disable-next-line react-hooks/exhaustive-deps +@@ -400,7 +436,7 @@ const SceneView = ({ + transitionDuration={animationDuration} + onWillAppear={onWillAppear} + onWillDisappear={onWillDisappear} +- onAppear={onAppear} ++ onAppear={onAppearCallback} + onDisappear={onDisappear} + onDismissed={onDismissed} + onGestureCancel={onGestureCancel} diff --git a/patches/react-navigation/@react-navigation+native-stack+7.3.14+002+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+native-stack+7.14.5+002+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+native-stack+7.3.14+002+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+native-stack+7.14.5+002+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch b/patches/react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch deleted file mode 100644 index 1ffa68f9b567..000000000000 --- a/patches/react-navigation/@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js -index 199484f..35dfc05 100644 ---- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js -+++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js -@@ -3,7 +3,7 @@ - import { getDefaultHeaderHeight, getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext, SafeAreaProviderCompat } from '@react-navigation/elements'; - import { NavigationContext, NavigationRouteContext, StackActions, usePreventRemoveContext, useTheme } from '@react-navigation/native'; - import * as React from 'react'; --import { Animated, Platform, StatusBar, StyleSheet, useAnimatedValue, View } from 'react-native'; -+import { Animated, InteractionManager, Platform, StatusBar, StyleSheet, useAnimatedValue, View } from 'react-native'; - import { useSafeAreaFrame, useSafeAreaInsets } from 'react-native-safe-area-context'; - import { ScreenStack, ScreenStackItem } from 'react-native-screens'; - import { debounce } from "../utils/debounce.js"; -@@ -128,6 +128,31 @@ const SceneView = ({ - const { - preventedRoutes - } = usePreventRemoveContext(); -+ const interactionHandleRef = React.useRef(undefined); -+ const finishInteraction = React.useCallback(() => { -+ if (interactionHandleRef.current !== undefined) { -+ InteractionManager.clearInteractionHandle(interactionHandleRef.current); -+ interactionHandleRef.current = undefined; -+ } -+ }, []); -+ // this memo acts as a synchronous `useEffect` -+ React.useMemo(() => { -+ if (focused && interactionHandleRef.current === undefined) { -+ interactionHandleRef.current = InteractionManager.createInteractionHandle(); -+ // actually transition is highly unlikely to be more than 500ms, but sometimes BottomTabNavigator -+ // can become unfocused and then focused again, and in this case `onAppear` will not be fired an -+ // we will get infinite interaction manager handler. To fix that we are making a running timeout -+ // action that will clear an interaction 100% -+ setTimeout(finishInteraction, 500); -+ } -+ }, [focused]); -+ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired -+ // so we clean up an interaction here -+ React.useEffect(() => finishInteraction, [finishInteraction]); -+ const onAppearCallback = React.useCallback(e => { -+ onAppear?.(e); -+ finishInteraction(); -+ }, [onAppear, finishInteraction]); - const defaultHeaderHeight = Platform.select({ - // FIXME: Currently screens isn't using Material 3 - // So our `getDefaultHeaderHeight` doesn't return the correct value -@@ -227,7 +252,7 @@ const SceneView = ({ - transitionDuration: animationDuration, - onWillAppear: onWillAppear, - onWillDisappear: onWillDisappear, -- onAppear: onAppear, -+ onAppear: onAppearCallback, - onDisappear: onDisappear, - onDismissed: onDismissed, - onGestureCancel: onGestureCancel, -diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map -index 9dbc382..6ee768e 100644 ---- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map -+++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map -@@ -1 +1 @@ --{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Animated","Platform","StatusBar","StyleSheet","useAnimatedValue","View","useSafeAreaFrame","useSafeAreaInsets","ScreenStack","ScreenStackItem","debounce","getModalRouteKeys","AnimatedHeaderHeightContext","useDismissedRouteError","useInvalidPreventRemoveError","useHeaderConfigProps","jsx","_jsx","jsxs","_jsxs","ANDROID_DEFAULT_HEADER_HEIGHT","isFabric","global","useNativeDriver","OS","SceneView","index","focused","shouldFreeze","descriptor","previousDescriptor","nextDescriptor","isPresentationModal","isPreloaded","onWillDisappear","onWillAppear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","onGestureCancel","onSheetDetentChanged","route","navigation","options","render","animation","animationMatchesGesture","presentation","fullScreenGestureEnabled","animationDuration","animationTypeForReplace","fullScreenGestureShadowEnabled","gestureEnabled","gestureDirection","gestureResponseDistance","header","headerBackButtonMenuEnabled","headerShown","headerBackground","headerTransparent","autoHideHomeIndicator","keyboardHandlingEnabled","navigationBarColor","navigationBarTranslucent","navigationBarHidden","orientation","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetElevation","sheetExpandsWhenScrolledToEdge","sheetInitialDetentIndex","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarBackgroundColor","unstable_sheetFooter","freezeOnBlur","contentStyle","undefined","nextGestureDirection","gestureDirectionOverride","colors","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","preventedRoutes","defaultHeaderHeight","select","android","default","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","useCallback","hasCustomHeader","headerHeightCorrectionOffset","statusBarHeight","currentHeight","rawAnimatedHeaderHeight","animatedHeaderHeight","useMemo","add","headerTopInsetEnabled","canGoBack","backTitle","name","title","headerBack","href","isRemovePrevented","key","preventRemove","headerConfig","headerBackTitle","Provider","value","children","screenId","activityState","style","absoluteFill","customAnimationOnSwipe","fullScreenSwipeEnabled","fullScreenSwipeShadowEnabled","homeIndicatorHidden","hideKeyboardOnSwipe","replaceAnimation","stackPresentation","stackAnimation","screenOrientation","statusBarColor","swipeDirection","transitionDuration","nativeBackButtonDismissalEnabled","preventNativeDismiss","onHeaderHeightChange","event","nativeEvent","listener","e","doesHeaderAnimate","headerLargeTitle","headerSearchBarOptions","backgroundColor","background","styles","translucent","onLayout","layout","setValue","absolute","back","NativeStackView","state","descriptors","describe","setNextDismissedKey","modalRouteKeys","routes","preloadedDescriptors","preloadedRoutes","reduce","acc","container","concat","map","isFocused","isBelowFocused","previousKey","nextKey","includes","emit","type","data","closing","target","dispatch","pop","dismissCount","source","stable","isStable","create","flex","zIndex","position","start","end","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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","ignoreList":[]} -+{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Animated","InteractionManager","Platform","StatusBar","StyleSheet","useAnimatedValue","View","useSafeAreaFrame","useSafeAreaInsets","ScreenStack","ScreenStackItem","debounce","getModalRouteKeys","AnimatedHeaderHeightContext","useDismissedRouteError","useInvalidPreventRemoveError","useHeaderConfigProps","jsx","_jsx","jsxs","_jsxs","ANDROID_DEFAULT_HEADER_HEIGHT","isFabric","global","useNativeDriver","OS","SceneView","index","focused","shouldFreeze","descriptor","previousDescriptor","nextDescriptor","isPresentationModal","isPreloaded","onWillDisappear","onWillAppear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","onGestureCancel","onSheetDetentChanged","route","navigation","options","render","animation","animationMatchesGesture","presentation","fullScreenGestureEnabled","animationDuration","animationTypeForReplace","fullScreenGestureShadowEnabled","gestureEnabled","gestureDirection","gestureResponseDistance","header","headerBackButtonMenuEnabled","headerShown","headerBackground","headerTransparent","autoHideHomeIndicator","keyboardHandlingEnabled","navigationBarColor","navigationBarTranslucent","navigationBarHidden","orientation","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetElevation","sheetExpandsWhenScrolledToEdge","sheetInitialDetentIndex","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarBackgroundColor","unstable_sheetFooter","freezeOnBlur","contentStyle","undefined","nextGestureDirection","gestureDirectionOverride","colors","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","preventedRoutes","interactionHandleRef","useRef","finishInteraction","useCallback","current","clearInteractionHandle","useMemo","createInteractionHandle","setTimeout","useEffect","onAppearCallback","e","defaultHeaderHeight","select","android","default","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","hasCustomHeader","headerHeightCorrectionOffset","statusBarHeight","currentHeight","rawAnimatedHeaderHeight","animatedHeaderHeight","add","headerTopInsetEnabled","canGoBack","backTitle","name","title","headerBack","href","isRemovePrevented","key","preventRemove","headerConfig","headerBackTitle","Provider","value","children","screenId","activityState","style","absoluteFill","customAnimationOnSwipe","fullScreenSwipeEnabled","fullScreenSwipeShadowEnabled","homeIndicatorHidden","hideKeyboardOnSwipe","replaceAnimation","stackPresentation","stackAnimation","screenOrientation","statusBarColor","swipeDirection","transitionDuration","nativeBackButtonDismissalEnabled","preventNativeDismiss","onHeaderHeightChange","event","nativeEvent","listener","doesHeaderAnimate","headerLargeTitle","headerSearchBarOptions","backgroundColor","background","styles","translucent","onLayout","layout","setValue","absolute","back","NativeStackView","state","descriptors","describe","setNextDismissedKey","modalRouteKeys","routes","preloadedDescriptors","preloadedRoutes","reduce","acc","container","concat","map","isFocused","isBelowFocused","previousKey","nextKey","includes","emit","type","data","closing","target","dispatch","pop","dismissCount","source","stable","isStable","create","flex","zIndex","position","start","end","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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","ignoreList":[]} -diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map -index 1eb4db8..62c3f16 100644 ---- a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map -+++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAG1B,MAAM,0BAA0B,CAAC;AAoBlC,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAkalB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,qBAAqB,CAAC;CAC5B,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,GACT,EAAE,KAAK,2CA4HP"} -\ No newline at end of file -+{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAG1B,MAAM,0BAA0B,CAAC;AAqBlC,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAqclB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,qBAAqB,CAAC;CAC5B,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,GACT,EAAE,KAAK,2CA4HP"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -index fd48b20..ca15b1d 100644 ---- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -+++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -@@ -19,6 +19,7 @@ import { - import * as React from 'react'; - import { - Animated, -+ InteractionManager, - Platform, - StatusBar, - StyleSheet, -@@ -64,7 +65,7 @@ type SceneViewProps = { - isPreloaded?: boolean; - onWillDisappear: () => void; - onWillAppear: () => void; -- onAppear: () => void; -+ onAppear: ScreenProps['onAppear']; - onDisappear: () => void; - onDismissed: ScreenProps['onDismissed']; - onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked']; -@@ -193,6 +194,41 @@ const SceneView = ({ - - const { preventedRoutes } = usePreventRemoveContext(); - -+ const interactionHandleRef = React.useRef(undefined); -+ -+ const finishInteraction = React.useCallback(() => { -+ if (interactionHandleRef.current !== undefined) { -+ InteractionManager.clearInteractionHandle(interactionHandleRef.current); -+ interactionHandleRef.current = undefined; -+ } -+ }, []); -+ // this memo acts as a synchronous `useEffect` -+ React.useMemo(() => { -+ if (focused && interactionHandleRef.current === undefined) { -+ interactionHandleRef.current = -+ InteractionManager.createInteractionHandle(); -+ // actually transition is highly unlikely to be more than 500ms, but sometimes BottomTabNavigator -+ // can become unfocused and then focused again, and in this case `onAppear` will not be fired an -+ // we will get infinite interaction manager handler. To fix that we are making a running timeout -+ // action that will clear an interaction 100% -+ setTimeout(finishInteraction, 500); -+ } -+ }, [focused]); -+ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired -+ // so we clean up an interaction here -+ React.useEffect(() => finishInteraction, [finishInteraction]); -+ -+ const onAppearCallback = React.useCallback< -+ NonNullable -+ >( -+ (e) => { -+ onAppear?.(e); -+ -+ finishInteraction(); -+ }, -+ [onAppear, finishInteraction] -+ ); -+ - const defaultHeaderHeight = Platform.select({ - // FIXME: Currently screens isn't using Material 3 - // So our `getDefaultHeaderHeight` doesn't return the correct value -@@ -325,7 +361,7 @@ const SceneView = ({ - transitionDuration={animationDuration} - onWillAppear={onWillAppear} - onWillDisappear={onWillDisappear} -- onAppear={onAppear} -+ onAppear={onAppearCallback} - onDisappear={onDisappear} - onDismissed={onDismissed} - onGestureCancel={onGestureCancel} diff --git a/patches/react-navigation/@react-navigation+routers+7.4.0+001+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+routers+7.5.3+001+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+routers+7.4.0+001+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+routers+7.5.3+001+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch b/patches/react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch deleted file mode 100644 index be874552cc35..000000000000 --- a/patches/react-navigation/@react-navigation+stack+7.3.3+002+dontDetachScreen.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -index 9885b25..ae4fe46 100644 ---- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -+++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -@@ -396,6 +396,7 @@ export class CardStack extends React.Component { - extrapolate: 'clamp' - }) : STATE_TRANSITIONING_OR_BELOW_TOP; - } -+ const shouldNotDetachScreen = route?.dontDetachScreen && isScreenActive !== STATE_ON_TOP; - const { - headerShown = true, - headerTransparent, -@@ -416,7 +417,7 @@ export class CardStack extends React.Component { - return /*#__PURE__*/_jsx(MaybeScreen, { - style: [StyleSheet.absoluteFill], - enabled: detachInactiveScreens, -- active: isScreenActive, -+ active: shouldNotDetachScreen ? STATE_TRANSITIONING_OR_BELOW_TOP : isScreenActive, - freezeOnBlur: freezeOnBlur, - shouldFreeze: isScreenActive === STATE_INACTIVE && !isPreloaded, - homeIndicatorHidden: autoHideHomeIndicator, -@@ -451,7 +452,7 @@ export class CardStack extends React.Component { - onTransitionStart: onTransitionStart, - onTransitionEnd: onTransitionEnd, - isNextScreenTransparent: isNextScreenTransparent, -- detachCurrentScreen: detachCurrentScreen, -+ detachCurrentScreen: shouldNotDetachScreen ? false : detachCurrentScreen, - preloaded: isPreloaded - }) - }, route.key); -diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js -index c2240e8..63b95e9 100644 ---- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js -+++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js -@@ -3,7 +3,7 @@ - import { getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext } from '@react-navigation/elements'; - import { useLinkBuilder, useLocale, useTheme } from '@react-navigation/native'; - import * as React from 'react'; --import { StyleSheet, View } from 'react-native'; -+import { Platform, StyleSheet, View } from 'react-native'; - import { ModalPresentationContext } from "../../utils/ModalPresentationContext.js"; - import { useKeyboardManager } from "../../utils/useKeyboardManager.js"; - import { Card } from "./Card.js"; -@@ -229,7 +229,8 @@ function CardContainerInner({ - display: - // Hide unfocused screens when animation isn't enabled - // This is also necessary for a11y on web -- animation === 'none' && isNextScreenTransparent === false && detachCurrentScreen !== false && !focused ? 'none' : 'flex' -+ animation === 'none' && isNextScreenTransparent === false && detachCurrentScreen !== false && !focused ? 'none' : 'flex', -+ zIndex: Platform.OS === 'web' ? 'auto' : undefined, - }, StyleSheet.absoluteFill], - children: /*#__PURE__*/_jsx(View, { - style: styles.container, diff --git a/patches/react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch b/patches/react-navigation/@react-navigation+stack+7.8.5+001+edge-drag-gesture.patch similarity index 80% rename from patches/react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch rename to patches/react-navigation/@react-navigation+stack+7.8.5+001+edge-drag-gesture.patch index 01baad621d03..1bc7bf7ad90a 100644 --- a/patches/react-navigation/@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch +++ b/patches/react-navigation/@react-navigation+stack+7.8.5+001+edge-drag-gesture.patch @@ -67,38 +67,40 @@ index 0000000..9c7b703 +//# sourceMappingURL=edgeDragGestureMonitor.native.js.map \ No newline at end of file diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -index e8e6e90..7cbffe2 100644 +index 0000000..0000000 100644 --- a/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js +++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js -@@ -4,6 +4,7 @@ import Color from 'color'; - import * as React from 'react'; - import { Animated, InteractionManager, Platform, StyleSheet, View } from 'react-native'; +@@ -6,6 +6,7 @@ import * as React from 'react'; + import useLatestCallback from 'use-latest-callback'; import { CardAnimationContext } from "../../utils/CardAnimationContext.js"; + import { gestureActivationCriteria } from "../../utils/gestureActivationCriteria.js"; +import { getIsEdgeDragGesture, resetExpectingTouchendWithDelay } from '../../utils/edgeDragGestureMonitor'; import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js"; import { getInvertedMultiplier } from "../../utils/getInvertedMultiplier.js"; import { getShadowStyle } from "../../utils/getShadowStyle.js"; -@@ -130,6 +131,8 @@ export class Card extends React.Component { - }); - animation(gesture, { - ...spec.config, -+ // Detecting if the user used swipe gesture on iOS safari to trigger navigation in the browser history. -+ duration: getIsEdgeDragGesture() ? 0 : spec.config && 'duration' in spec.config ? spec.config.duration : undefined, - velocity, - toValue, - useNativeDriver, -@@ -139,6 +142,9 @@ export class Card extends React.Component { - }) => { - this.handleEndInteraction(); - clearTimeout(this.pendingGestureCallback); +@@ -134,7 +135,9 @@ export function Card({ + if (animated) { + onStartInteraction(); + animation(gesture, { + ...spec.config, ++ // Detecting if the user used swipe gesture on iOS safari to trigger navigation in the browser history. ++ duration: getIsEdgeDragGesture() ? 0 : spec.config && 'duration' in spec.config ? spec.config.duration : undefined, + velocity, + toValue, + useNativeDriver, +@@ -143,7 +145,10 @@ export function Card({ + finished + }) => { + onEndInteraction(); + clearTimeout(pendingGestureCallbackRef.current); + -+ // We need to reset edgeDragGestureMonitor manually because of broken events on iOS safari. -+ resetExpectingTouchendWithDelay(); - if (finished) { - if (closing) { - onClose(); ++ // We need to reset edgeDragGestureMonitor manually because of broken events on iOS safari. ++ resetExpectingTouchendWithDelay(); + if (finished) { + onFinish(); + } diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js -index 9885b25..22d0c3e 100644 +index 0000000..0000000 100644 --- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js +++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js @@ -5,6 +5,7 @@ import * as React from 'react'; @@ -109,11 +111,12 @@ index 9885b25..22d0c3e 100644 import { findLastIndex } from "../../utils/findLastIndex.js"; import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js"; import { getModalRouteKeys } from "../../utils/getModalRoutesKeys.js"; -@@ -203,6 +204,8 @@ export class CardStack extends React.Component { +@@ -261,7 +262,9 @@ export class CardStack extends React.Component { + }; } constructor(props) { super(props); -+ // Gesture monitor is only needed on iOS safari to detect if the user performed edge swipe gesture to to navigate in the browser history. ++ // Gesture monitor is only needed on iOS safari to detect if the user performed edge swipe gesture to navigate in the browser history. + maybeInitializeEdgeDragGestureMonitor(); this.state = { routes: [], diff --git a/patches/react-navigation/@react-navigation+stack+7.8.5+002+dontDetachScreen.patch b/patches/react-navigation/@react-navigation+stack+7.8.5+002+dontDetachScreen.patch new file mode 100644 index 000000000000..0b10a2777532 --- /dev/null +++ b/patches/react-navigation/@react-navigation+stack+7.8.5+002+dontDetachScreen.patch @@ -0,0 +1,42 @@ +diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js +index 0000000..0000000 100644 +--- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js ++++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js +@@ -427,6 +430,7 @@ export class CardStack extends React.Component { + const isNextScreenTransparent = scenes[index + 1]?.descriptor.options.presentation === 'transparentModal'; + const detachCurrentScreen = scenes[index + 1]?.descriptor.options.detachPreviousScreen !== false; + const activityState = isPreloaded ? STATE_INACTIVE : activeStates[index]; ++ const shouldNotDetachScreen = route?.dontDetachScreen && activityState !== STATE_ON_TOP; + return /*#__PURE__*/_jsx(MaybeScreen, { + style: [StyleSheet.absoluteFill], + enabled: detachInactiveScreens, +@@ -430,7 +434,7 @@ export class CardStack extends React.Component { + return /*#__PURE__*/_jsx(MaybeScreen, { + style: [StyleSheet.absoluteFill], + enabled: detachInactiveScreens, +- active: activityState, ++ active: shouldNotDetachScreen ? STATE_TRANSITIONING_OR_BELOW_TOP : activityState, + freezeOnBlur: freezeOnBlur, + shouldFreeze: activityState === STATE_INACTIVE && !isPreloaded, + homeIndicatorHidden: autoHideHomeIndicator, +@@ -465,7 +469,7 @@ export class CardStack extends React.Component { + onTransitionStart: onTransitionStart, + onTransitionEnd: onTransitionEnd, + isNextScreenTransparent: isNextScreenTransparent, +- detachCurrentScreen: detachCurrentScreen, ++ detachCurrentScreen: shouldNotDetachScreen ? false : detachCurrentScreen, + preloaded: isPreloaded + }) + }, route.key); +diff --git a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js +index 0000000..0000000 100644 +--- a/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js ++++ b/node_modules/@react-navigation/stack/lib/module/views/Stack/CardA11yWrapper.js +@@ -27,6 +27,7 @@ export const CardA11yWrapper = /*#__PURE__*/React.forwardRef(({ + overflow: active ? undefined : 'hidden', + // We use visibility on web + display: Platform.OS !== 'web' && isHidden ? 'none' : 'flex', ++ zIndex: Platform.OS === 'web' ? 'auto' : undefined, + // Hide unfocused screens when animation isn't enabled + // This is also necessary for a11y on web + // @ts-expect-error visibility is only available on web diff --git a/patches/react-navigation/@react-navigation+stack+7.3.3+004+fix-failing-jest-by-disabling-esmodule.patch b/patches/react-navigation/@react-navigation+stack+7.8.5+004+fix-failing-jest-by-disabling-esmodule.patch similarity index 100% rename from patches/react-navigation/@react-navigation+stack+7.3.3+004+fix-failing-jest-by-disabling-esmodule.patch rename to patches/react-navigation/@react-navigation+stack+7.8.5+004+fix-failing-jest-by-disabling-esmodule.patch diff --git a/patches/react-navigation/details.md b/patches/react-navigation/details.md index 353fac20ab40..7f686a6f73e5 100644 --- a/patches/react-navigation/details.md +++ b/patches/react-navigation/details.md @@ -1,13 +1,13 @@ # `@react-navigation` patches ### @react-navigation+package-name+7+fix-failing-jest-by-disabling-esmodule.patch -#### [@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+core+7.10.0+001+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+elements+2.4.3+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+elements+2.4.3+001+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+material-top-tabs+7.2.13+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+material-top-tabs+7.2.13+001+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+native-stack+7.3.14+002+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+native-stack+7.3.14+002+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+native+7.1.10+002+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+native+7.1.10+002+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+routers+7.4.0+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+routers+7.4.0+001+fix-failing-jest-by-disabling-esmodule.patch) -#### [@react-navigation+stack+7.3.3+004+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+stack+7.3.3+004+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+core+7.16.1+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+core+7.16.1+001+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+elements+2.9.10+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+elements+2.9.10+001+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+material-top-tabs+7.4.19+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+material-top-tabs+7.4.19+001+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+native-stack+7.14.5+002+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+native-stack+7.14.5+002+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+native+7.1.33+002+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+native+7.1.33+002+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+routers+7.5.3+001+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+routers+7.5.3+001+fix-failing-jest-by-disabling-esmodule.patch) +#### [@react-navigation+stack+7.8.5+004+fix-failing-jest-by-disabling-esmodule.patch](@react-navigation+stack+7.8.5+004+fix-failing-jest-by-disabling-esmodule.patch) - Reason: Necessary to run Jest with the obligatory `--experimental-vm-modules` flag. Currently we transpile all the code to `commonjs`, but Jest looks up to individual `package.jsons` to see whether the package is `commonjs` or `ESModule`. That causes a conflict, which can be solved by removing `{"type":"module"}` from `lib/module/package.json`. This might be an issue with Jest, but it would require much more investigation. More: https://github.com/react-navigation/react-navigation/issues/12637 - Upstream PR/issue: https://github.com/react-navigation/react-navigation/issues/12637 @@ -15,7 +15,7 @@ - PR Introducing Patch: [#64155](https://github.com/Expensify/App/pull/64155) - PR Updating Patch: N/A -### [@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch](@react-navigation+core+7.10.0+001+platform-navigation-stack-types.patch) +### [@react-navigation+core+7.16.1+001+platform-navigation-stack-types.patch](@react-navigation+core+7.16.1+001+platform-navigation-stack-types.patch) - Reason: Enables passing custom `ScreenOptions` and adjusts typing to have everything fully type-checked and make sure only the proper (common) platform-specific options are passed - Upstream PR/issue: N/A @@ -23,7 +23,7 @@ - PR Introducing Patch: [#37891](https://github.com/Expensify/App/pull/37891) - PR Updating Patch: [#64155](https://github.com/Expensify/App/pull/64155) -### [@react-navigation+core+7.10.0+002+fix-crash-when-parsing-emoji.patch](@react-navigation+core+7.10.0+002+fix-crash-when-parsing-emoji.patch) +### [@react-navigation+core+7.16.1+002+fix-crash-when-parsing-emoji.patch](@react-navigation+core+7.16.1+002+fix-crash-when-parsing-emoji.patch) - Reason: App crashes when the path contains emoji - Upstream PR/issue: https://www.github.com/react-navigation/react-navigation/pull/12679 @@ -31,7 +31,7 @@ - PR Introducing Patch: [#65836](https://github.com/Expensify/App/pull/65836) - PR Updating Patch: N/A -### [@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch](@react-navigation+native-stack+7.3.14+001+added-interaction-manager-integration.patch) +### [@react-navigation+native-stack+7.14.5+001+added-interaction-manager-integration.patch](@react-navigation+native-stack+7.14.5+001+added-interaction-manager-integration.patch) - Reason: Adds `InteractionManager` implementation to `@react-navigation/native-stack` - Upstream PR/issue: https://github.com/react-navigation/react-navigation/pull/11887 @@ -39,7 +39,7 @@ - PR Introducing Patch: [#37891](https://github.com/Expensify/App/pull/37891) - PR Updating Patch: [#64155](https://github.com/Expensify/App/pull/64155) -### [@react-navigation+native+7.1.10+001+initial.patch](@react-navigation+native+7.1.10+001+initial.patch) +### [@react-navigation+native+7.1.33+001+initial.patch](@react-navigation+native+7.1.33+001+initial.patch) - Reason: Allows us to use some more advanced navigation actions without messing up the browser history - Upstream PR/issue: https://github.com/react-navigation/react-navigation/pull/11887 @@ -47,7 +47,7 @@ - PR Introducing Patch: [#24165](https://github.com/Expensify/App/pull/24165) - PR Updating Patch: [#32087](https://github.com/Expensify/App/pull/32087) [#42465](https://github.com/Expensify/App/pull/42465) [#64155](https://github.com/Expensify/App/pull/64155) -### [@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch](@react-navigation+stack+7.3.3+001+edge-drag-gesture.patch) +### [@react-navigation+stack+7.8.5+001+edge-drag-gesture.patch](@react-navigation+stack+7.8.5+001+edge-drag-gesture.patch) - Reason: Adds `edgeDragGestureMonitor` implementation - Upstream PR/issue: N/A @@ -55,7 +55,7 @@ - PR Introducing Patch: [#18402](https://github.com/Expensify/App/pull/18402) - PR Updating Patch: [#22678](https://github.com/Expensify/App/pull/22678) [#22437](https://github.com/Expensify/App/pull/22437) [#64155](https://github.com/Expensify/App/pull/64155) -### [@react-navigation+stack+7.3.3+002+dontDetachScreen.patch](@react-navigation+stack+7.3.3+002+dontDetachScreen.patch) +### [@react-navigation+stack+7.8.5+002+dontDetachScreen.patch](@react-navigation+stack+7.8.5+002+dontDetachScreen.patch) - Reason: Prevents the second screen in the stack from being detached too early. Additionally, setting `zIndex: Platform.OS === 'web' ? 'auto' : undefined` helps avoid issues in Safari where the home screen might be hidden due to `overflow: hidden`. - Upstream PR/issue: N/A @@ -63,14 +63,14 @@ - PR Introducing Patch: [#22437](https://github.com/Expensify/App/pull/22437) - PR Updating Patch: [#33280](https://github.com/Expensify/App/pull/33280) [#37421](https://github.com/Expensify/App/pull/37421) [#49539](https://github.com/Expensify/App/pull/49539) [#64155](https://github.com/Expensify/App/pull/64155) [#65119](https://github.com/Expensify/App/issues/65119) -### [@react-navigation+core+7.10.0+002+getStateFromPath.patch](@react-navigation+core+7.10.0+002+getStateFromPath.patch) +### [@react-navigation+core+7.16.1+002+getStateFromPath.patch](@react-navigation+core+7.16.1+002+getStateFromPath.patch) - Reason: Make sure navigation state props retrieved from the path are available at all nesting levels to avoid undefined state. - Upstream PR/issue: N/A - E/App issue: [#48150](https://github.com/Expensify/App/issues/48150) - PR Introducing Patch: [#48151](https://github.com/Expensify/App/pull/48151) - PR Updating Patch: [#64155](https://github.com/Expensify/App/pull/64155) -### [@react-navigation+core+7.10.0+003+fix-clearing-preloaded-routes-after-logout.patch](@react-navigation+core+7.10.0+003+fix-clearing-preloaded-routes-after-logout.patch) +### [@react-navigation+core+7.16.1+003+fix-clearing-preloaded-routes-after-logout.patch](@react-navigation+core+7.16.1+003+fix-clearing-preloaded-routes-after-logout.patch) - Reason: Clear preloaded routes from state that are not available after logging out. - Upstream PR/issue: N/A - E/App issue: [#65709](https://github.com/Expensify/App/issues/65211) diff --git a/src/CONST/index.ts b/src/CONST/index.ts index 8719d9a316d0..e220c17feb57 100644 --- a/src/CONST/index.ts +++ b/src/CONST/index.ts @@ -226,6 +226,12 @@ const CONST = { ANIMATED_PROGRESS_BAR_DELAY: 300, ANIMATED_PROGRESS_BAR_OPACITY_DURATION: 300, ANIMATED_PROGRESS_BAR_DURATION: 750, + PULSE_ANIMATION: { + FADE_OUT_DURATION: 400, + FADE_IN_DURATION: 350, + PAUSE_DURATION: 250, + RECOVERY_DURATION: 150, + }, ANIMATION_IN_TIMING: 100, COMPOSER_FOCUS_DELAY: 150, ANIMATION_DIRECTION: { @@ -273,6 +279,13 @@ const CONST = { MAX_IMAGE_PIXEL_COUNT: 50000000, CHUNK_LOAD_ERROR: 'ChunkLoadError', + CHRONOS: { + TIMER_COMMAND: { + START: 'start', + STOP: 'stop', + }, + }, + RECEIPT_CAMERA: { PHOTO_WIDTH: 4032, PHOTO_HEIGHT: 3024, @@ -854,6 +867,7 @@ const CONST = { PERSONAL_CARD_IMPORT: 'personalCardImport', SUGGESTED_FOLLOWUPS: 'suggestedFollowups', FREEZE_CARD: 'freezeCard', + GUSTO: 'gustoNewDot', BULK_EDIT: 'bulkEdit', NEW_MANUAL_EXPENSE_FLOW: 'newManualExpenseFlow', }, @@ -1082,6 +1096,7 @@ const CONST = { NZD: 'NZD', EUR: 'EUR', }, + DEFAULT_CURRENCY_DECIMALS: 2, SCA_CURRENCIES: new Set(['GBP', 'EUR']), get DIRECT_REIMBURSEMENT_CURRENCIES() { return [this.CURRENCY.USD, this.CURRENCY.AUD, this.CURRENCY.CAD, this.CURRENCY.GBP, this.CURRENCY.EUR]; @@ -1388,6 +1403,8 @@ const CONST = { CARD_REPLACED_VIRTUAL: 'CARDREPLACEDVIRTUAL', CARD_REPLACED: 'CARDREPLACED', CARD_ASSIGNED: 'CARDASSIGNED', + CARD_FROZEN: 'CARDFROZEN', + CARD_UNFROZEN: 'CARDUNFROZEN', PERSONAL_CARD_CONNECTION_BROKEN: 'PERSONALCARDCONNECTIONBROKEN', CHANGE_FIELD: 'CHANGEFIELD', // OldDot Action CHANGE_POLICY: 'CHANGEPOLICY', @@ -4497,7 +4514,7 @@ const CONST = { FORM_CHARACTER_LIMIT: 50, STANDARD_LENGTH_LIMIT: 100, STANDARD_LIST_ITEM_LIMIT: 12, - APPROVAL_WORKFLOW_SEARCH_LIMIT: 3, + SEARCH_BAR_THRESHOLD: 3, LEGAL_NAMES_CHARACTER_LIMIT: 150, LOGIN_CHARACTER_LIMIT: 254, CATEGORY_NAME_LIMIT: 256, @@ -5973,11 +5990,13 @@ const CONST = { FLAG_SEVERITY_ASSAULT: 'assault', }, EMOJI_PICKER_TEXT_INPUT_SIZES: 152, + EMOJI_PICKER_SKIN_TONE_LIST_HEIGHT: 56, TEXT_INPUT_SYMBOL_POSITION: { PREFIX: 'prefix', SUFFIX: 'suffix', }, QR: { + DEFAULT_LOGO_SIZE: 120, DEFAULT_LOGO_SIZE_RATIO: 0.25, DEFAULT_LOGO_MARGIN_RATIO: 0.02, EXPENSIFY_LOGO_SIZE_RATIO: 0.22, @@ -6063,6 +6082,8 @@ const CONST = { NAVIGATION: 'navigation', /** Use for Tooltips */ TOOLTIP: 'tooltip', + /** Use for dialog/modal elements */ + DIALOG: 'dialog', /** Use for data table containers. */ TABLE: 'table', /** Use for table rows. */ @@ -6527,6 +6548,7 @@ const CONST = { ONBOARDING_RHP_VARIANT: { RHP_CONCIERGE_DM: 'rhpConciergeDm', RHP_ADMINS_ROOM: 'rhpAdminsRoom', + RHP_HOME_PAGE: 'rhpHomePage', CONTROL: 'control', }, ACTIONABLE_TRACK_EXPENSE_WHISPER_MESSAGE: 'What would you like to do with this expense?', @@ -7374,6 +7396,7 @@ const CONST = { VIEW: 'view', SUBMIT: 'submit', APPROVE: 'approve', + CHANGE_APPROVER: 'changeApprover', PAY: 'pay', DONE: 'done', EXPORT_TO_ACCOUNTING: 'exportToAccounting', @@ -7390,6 +7413,7 @@ const CONST = { EDIT: 'edit', EXPORT: 'export', APPROVE: 'approve', + CHANGE_APPROVER: 'changeApprover', PAY: 'pay', SUBMIT: 'submit', HOLD: 'hold', @@ -8414,6 +8438,9 @@ const CONST = { SIGN_UP: 'sign_up', WORKSPACE_CREATED: 'workspace_created', PAID_ADOPTION: 'paid_adoption', + PRODUCT_TRAINING_SCAN_TEST_TOOLTIP_SHOWN: 'training_scan_test_tooltip_shown', + PRODUCT_TRAINING_SCAN_TEST_TOOLTIP_DISMISSED: 'training_scan_test_tooltip_dismissed', + PRODUCT_TRAINING_SCAN_TEST_TOOLTIP_CONFIRMED: 'training_scan_test_tooltip_confirmed', }, }, @@ -8497,6 +8524,7 @@ const CONST = { isExtraSmallScreenWidth: false, isSmallScreen: false, onboardingIsMediumOrLargerScreenWidth: false, + isInLandscapeMode: false, } as ResponsiveLayoutResult, }, @@ -8701,6 +8729,7 @@ const CONST = { }, HEADER_VIEW: { BACK_BUTTON: 'HeaderView-BackButton', + CHRONOS_TIMER_BUTTON: 'HeaderView-ChronosTimerButton', DETAILS_BUTTON: 'HeaderView-DetailsButton', }, SEARCH: { @@ -9401,6 +9430,9 @@ const CONST = { PROFILE_PAGE: { AVATAR: 'ProfilePage-Avatar', }, + SAFE_AREA: { + DISMISS_KEYBOARD_LANDSCAPE_MODE: 'SafeArea-DismissKeyboardLandscapeMode', + }, }, DOMAIN: { @@ -9433,22 +9465,22 @@ const CONST = { HOME: { ANNOUNCEMENTS: [ { - title: 'Expensify and Xero partner to support SMBs', - subtitle: 'Press Release', - url: 'https://www.businesswire.com/news/home/20260212641796/en/Expensify-and-Xero-Enhance-Partnership-to-Support-Small-Businesses', - publishedDate: '2026-02-12', + title: 'Smarter spend controls & Concierge anywhere', + subtitle: 'Product update', + url: 'https://use.expensify.com/blog/expensify-february-2026-product-update', + publishedDate: '2026-02-19', }, { - title: 'New Home page & upgraded Insights analytics', + title: 'More power, right where you need it', subtitle: 'Product update', - url: 'https://use.expensify.com/blog/expensify-home-and-insights-update', - publishedDate: '2026-02-18', + url: 'https://use.expensify.com/blog/expensify-march-2026-product-update', + publishedDate: '2026-03-23', }, { - title: 'Smarter spend controls & Concierge anywhere', - subtitle: 'Product update', - url: 'https://use.expensify.com/blog/expensify-february-2026-product-update', - publishedDate: '2026-02-19', + title: 'New global partnerships: banking, travel, accounting, & more', + subtitle: 'Newsletter', + url: 'https://use.expensify.com/blog/expensify-new-integrations-march-2026', + publishedDate: '2026-03-25', }, ], }, @@ -9461,6 +9493,8 @@ const CONST = { CACHE_NAME: { AUTH_IMAGES: 'auth-images', }, + + MODAL_MAX_HEIGHT_TO_WINDOW_HEIGHT_RATIO_LANDSCAPE_MODE: 0.75, } as const; const CONTINUATION_DETECTION_SEARCH_FILTER_KEYS = [ diff --git a/src/DeepLinkHandler.tsx b/src/DeepLinkHandler.tsx index 4d4010bb744b..81b35023ba35 100644 --- a/src/DeepLinkHandler.tsx +++ b/src/DeepLinkHandler.tsx @@ -11,6 +11,7 @@ import Log from './libs/Log'; import {endSpan} from './libs/telemetry/activeSpans'; import ONYXKEYS from './ONYXKEYS'; import type {Route} from './ROUTES'; +import {hasSeenTourSelector} from './selectors/Onboarding'; import isLoadingOnyxValue from './types/utils/isLoadingOnyxValue'; type DeepLinkHandlerProps = { @@ -30,11 +31,12 @@ function DeepLinkHandler({onInitialUrl}: DeepLinkHandlerProps) { const [, sessionMetadata] = useOnyx(ONYXKEYS.SESSION); const [conciergeReportID] = useOnyx(ONYXKEYS.CONCIERGE_REPORT_ID); const [introSelected] = useOnyx(ONYXKEYS.NVP_INTRO_SELECTED); + const [isSelfTourViewed, isSelfTourViewedMetadata] = useOnyx(ONYXKEYS.NVP_ONBOARDING, {selector: hasSeenTourSelector}); const [betas] = useOnyx(ONYXKEYS.BETAS); const isAuthenticated = useIsAuthenticated(); useEffect(() => { - if (isLoadingOnyxValue(sessionMetadata)) { + if (isLoadingOnyxValue(sessionMetadata, isSelfTourViewedMetadata)) { return; } // If the app is opened from a deep link, get the reportID (if exists) from the deep link and navigate to the chat report @@ -48,7 +50,7 @@ function DeepLinkHandler({onInitialUrl}: DeepLinkHandlerProps) { if (introSelected === undefined) { Log.info('[Deep link] introSelected is undefined when processing initial URL', false, {url}); } - openReportFromDeepLink(url, allReports, isAuthenticated, conciergeReportID, introSelected, betas); + openReportFromDeepLink(url, allReports, isAuthenticated, conciergeReportID, introSelected, isSelfTourViewed, betas); } else { Report.doneCheckingPublicRoom(); } @@ -65,14 +67,14 @@ function DeepLinkHandler({onInitialUrl}: DeepLinkHandlerProps) { Log.info('[Deep link] introSelected is undefined when processing URL change', false, {url: state.url}); } const isCurrentlyAuthenticated = hasAuthToken(); - openReportFromDeepLink(state.url, allReports, isCurrentlyAuthenticated, conciergeReportID, introSelected, betas); + openReportFromDeepLink(state.url, allReports, isCurrentlyAuthenticated, conciergeReportID, introSelected, isSelfTourViewed, betas); }); return () => { linkingChangeListener.current?.remove(); }; - // eslint-disable-next-line react-hooks/exhaustive-deps -- we only want this effect to re-run when conciergeReportID changes - }, [sessionMetadata?.status, conciergeReportID, introSelected, betas]); + // eslint-disable-next-line react-hooks/exhaustive-deps -- intentionally excluding allReports, isAuthenticated, and onInitialUrl to avoid re-triggering deep link handling on every report update + }, [sessionMetadata?.status, conciergeReportID, introSelected, isSelfTourViewedMetadata, betas]); return null; } diff --git a/src/Expensify.tsx b/src/Expensify.tsx index 0163dfb2438e..9c5f021b57bb 100644 --- a/src/Expensify.tsx +++ b/src/Expensify.tsx @@ -292,7 +292,12 @@ function Expensify() { initialUrl={initialUrl} /> )} - {shouldHideSplash && } + {(isSplashVisible || isSplashReadyToBeHidden) && ( + + )} ); } diff --git a/src/HybridAppHandler.tsx b/src/HybridAppHandler.tsx index 59f76d7da352..7369fc347b21 100644 --- a/src/HybridAppHandler.tsx +++ b/src/HybridAppHandler.tsx @@ -1,4 +1,4 @@ -import {useCallback, useEffect} from 'react'; +import {useEffect} from 'react'; import CONFIG from './CONFIG'; import CONST from './CONST'; import useOnyx from './hooks/useOnyx'; @@ -9,35 +9,27 @@ import Log from './libs/Log'; import {endSpan, startSpan} from './libs/telemetry/activeSpans'; import {addBootsplashBreadcrumb} from './libs/telemetry/bootsplashTelemetry'; import ONYXKEYS from './ONYXKEYS'; -import {useSplashScreenActions, useSplashScreenState} from './SplashScreenStateContext'; +import {useSplashScreenActions} from './SplashScreenStateContext'; import isLoadingOnyxValue from './types/utils/isLoadingOnyxValue'; function HybridAppHandler() { - const {splashScreenState} = useSplashScreenState(); const {setSplashScreenState} = useSplashScreenActions(); const [tryNewDot, tryNewDotMetadata] = useOnyx(ONYXKEYS.NVP_TRY_NEW_DOT); const isLoadingTryNewDot = isLoadingOnyxValue(tryNewDotMetadata); - const finalizeTransitionFromOldDot = useCallback( - (hybridAppSettings: HybridAppSettings) => { - const loggedOutFromOldDot = !!hybridAppSettings.hybridApp.loggedOutFromOldDot; + const finalizeTransitionFromOldDot = (hybridAppSettings: HybridAppSettings) => { + const loggedOutFromOldDot = !!hybridAppSettings.hybridApp.loggedOutFromOldDot; - setupNewDotAfterTransitionFromOldDot(hybridAppSettings, tryNewDot).then(() => { - if (splashScreenState !== CONST.BOOT_SPLASH_STATE.VISIBLE) { - addBootsplashBreadcrumb('HybridAppHandler: Splash no longer VISIBLE, skipping state transition', {splashScreenState}); - return; - } - - if (loggedOutFromOldDot) { - setSplashScreenState(CONST.BOOT_SPLASH_STATE.HIDDEN); - endSpan(CONST.TELEMETRY.SPAN_OD_ND_TRANSITION_LOGGED_OUT); - } else { - setSplashScreenState(CONST.BOOT_SPLASH_STATE.READY_TO_BE_HIDDEN); - } - }); - }, - [setSplashScreenState, splashScreenState, tryNewDot], - ); + setupNewDotAfterTransitionFromOldDot(hybridAppSettings, tryNewDot).then(() => { + if (loggedOutFromOldDot) { + endSpan(CONST.TELEMETRY.SPAN_APP_STARTUP); + endSpan(CONST.TELEMETRY.SPAN_BOOTSPLASH.ROOT); + endSpan(CONST.TELEMETRY.SPAN_OD_ND_TRANSITION_LOGGED_OUT); + } else { + setSplashScreenState(CONST.BOOT_SPLASH_STATE.READY_TO_BE_HIDDEN); + } + }); + }; useEffect(() => { if (!CONFIG.IS_HYBRID_APP || isLoadingTryNewDot) { @@ -55,6 +47,14 @@ function HybridAppHandler() { addBootsplashBreadcrumb('HybridAppHandler: Settings received', {loggedOutFromOldDot: String(!!hybridAppSettings.hybridApp.loggedOutFromOldDot)}); + // Resolve splash state ASAP — this is the earliest moment we know + // whether the native splash is on screen or not + if (hybridAppSettings.hybridApp.loggedOutFromOldDot) { + setSplashScreenState(CONST.BOOT_SPLASH_STATE.HIDDEN); + } else { + setSplashScreenState(CONST.BOOT_SPLASH_STATE.VISIBLE); + } + if (hybridAppSettings.hybridApp.loggedOutFromOldDot) { startSpan(CONST.TELEMETRY.SPAN_OD_ND_TRANSITION_LOGGED_OUT, { name: CONST.TELEMETRY.SPAN_OD_ND_TRANSITION_LOGGED_OUT, @@ -71,7 +71,7 @@ function HybridAppHandler() { finalizeTransitionFromOldDot(hybridAppSettings); }); - }, [finalizeTransitionFromOldDot, isLoadingTryNewDot]); + }, [finalizeTransitionFromOldDot, isLoadingTryNewDot, setSplashScreenState]); return null; } diff --git a/src/ONYXKEYS.ts b/src/ONYXKEYS.ts index 889b43941112..fbe3c4ab40a2 100755 --- a/src/ONYXKEYS.ts +++ b/src/ONYXKEYS.ts @@ -378,6 +378,9 @@ const ONYXKEYS = { /** Set when we are loading bank accounts for share page */ IS_LOADING_SHARE_BANK_ACCOUNTS: 'isLoadingShareBankAccounts', + /** Set when we are loading the bulk change approver page */ + IS_LOADING_BULK_CHANGE_APPROVER_PAGE: 'isLoadingBulkChangeApproverPage', + /** Is report data loading? */ IS_LOADING_APP: 'isLoadingApp', @@ -1078,6 +1081,7 @@ const ONYXKEYS = { CARD_FEED_ERRORS: 'cardFeedErrors', TODOS: 'todos', RAM_ONLY_SORTED_REPORT_ACTIONS: 'sortedReportActions', + OPEN_AND_SUBMITTED_REPORTS_BY_POLICY_ID: 'openAndSubmittedReportsByPolicyID', }, /** Stores HybridApp specific state required to interoperate with OldDot */ @@ -1394,6 +1398,7 @@ type OnyxValuesMapping = { [ONYXKEYS.REIMBURSEMENT_ACCOUNT_WORKSPACE_ID]: string; [ONYXKEYS.IS_LOADING_PAYMENT_METHODS]: boolean; [ONYXKEYS.IS_LOADING_SHARE_BANK_ACCOUNTS]: boolean; + [ONYXKEYS.IS_LOADING_BULK_CHANGE_APPROVER_PAGE]: boolean; [ONYXKEYS.IS_LOADING_POLICY_CODING_RULES_PREVIEW]: boolean; [ONYXKEYS.IS_SEARCH_FILTERS_CARD_DATA_LOADED]: boolean; [ONYXKEYS.IS_LOADING_SUBSCRIPTION_DATA]: boolean; @@ -1524,6 +1529,7 @@ type OnyxDerivedValuesMapping = { [ONYXKEYS.DERIVED.CARD_FEED_ERRORS]: OnyxTypes.CardFeedErrorsDerivedValue; [ONYXKEYS.DERIVED.TODOS]: OnyxTypes.TodosDerivedValue; [ONYXKEYS.DERIVED.RAM_ONLY_SORTED_REPORT_ACTIONS]: OnyxTypes.SortedReportActionsDerivedValue; + [ONYXKEYS.DERIVED.OPEN_AND_SUBMITTED_REPORTS_BY_POLICY_ID]: OnyxTypes.OpenAndSubmittedReportsByPolicyIDDerivedValue; }; type OnyxValues = OnyxValuesMapping & OnyxCollectionValuesMapping & OnyxFormValuesMapping & OnyxFormDraftValuesMapping & OnyxDerivedValuesMapping; diff --git a/src/ROUTES.ts b/src/ROUTES.ts index 28d2b18b6a0f..81f3e74ad7ae 100644 --- a/src/ROUTES.ts +++ b/src/ROUTES.ts @@ -111,11 +111,73 @@ const DYNAMIC_ROUTES = { path: 'visibility', entryScreens: [SCREENS.REPORT_SETTINGS.ROOT], }, + POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT: { + path: 'vendor/select', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES], + }, + POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT: { + path: 'payable-account/select', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES], + }, + POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT: { + path: 'journal-posting-preference/select', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES], + }, + POLICY_ACCOUNTING_NETSUITE_RECEIVABLE_ACCOUNT_SELECT: { + path: 'receivable-account/select', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT], + }, + POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_PREFERRED_EXPORTER: { + path: 'preferred-exporter', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_EXPORT], + }, + POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES: { + path: 'out-of-pocket-expense', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_EXPORT], + }, + POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_ACCOUNT_SELECT: { + path: 'account-select', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES], + }, + POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_SELECT: { + path: 'entity-select', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES], + }, + POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_DATE_SELECT: { + path: 'date-select', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_EXPORT], + }, + POLICY_ACCOUNTING_SAGE_INTACCT_NON_REIMBURSABLE_DESTINATION: { + path: 'destination', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.SAGE_INTACCT_NON_REIMBURSABLE_EXPENSES], + }, + POLICY_ACCOUNTING_SAGE_INTACCT_DEFAULT_VENDOR: { + path: 'default-vendor', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.SAGE_INTACCT_REIMBURSABLE_EXPENSES, SCREENS.WORKSPACE.ACCOUNTING.SAGE_INTACCT_NON_REIMBURSABLE_EXPENSES], + getRoute: (reimbursable: string) => getUrlWithParams('default-vendor', {reimbursable}), + queryParams: ['reimbursable'], + }, + POLICY_ACCOUNTING_SAGE_INTACCT_NON_REIMBURSABLE_CREDIT_CARD_ACCOUNT: { + path: 'credit-card-account', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.SAGE_INTACCT_NON_REIMBURSABLE_EXPENSES], + }, + POLICY_ACCOUNTING_XERO_EXPORT_BANK_ACCOUNT_SELECT: { + path: 'bank-account-select', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.XERO_EXPORT], + }, + POLICY_ACCOUNTING_XERO_BILL_STATUS_SELECTOR: { + path: 'purchase-bill-status-selector', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.XERO_EXPORT], + }, + POLICY_ACCOUNTING_XERO_ACCOUNTING_METHOD: { + path: 'accounting-method', + entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.XERO_AUTO_SYNC], + }, ADDRESS_COUNTRY: { path: 'country', entryScreens: [ SCREENS.SETTINGS.PROFILE.ADDRESS, - SCREENS.WORKSPACE.ADDRESS, + SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_OVERVIEW_ADDRESS, SCREENS.SETTINGS.WALLET.CARDS_DIGITAL_DETAILS_UPDATE_ADDRESS, SCREENS.DOMAIN_CARD.DOMAIN_CARD_UPDATE_ADDRESS, SCREENS.TRAVEL.WORKSPACE_ADDRESS, @@ -124,10 +186,18 @@ const DYNAMIC_ROUTES = { getRoute: (country = '') => `country?country=${country}`, queryParams: ['country'], }, + NOTIFICATION_PREFERENCES: { + path: 'notification-preferences', + entryScreens: [SCREENS.REPORT_SETTINGS.ROOT, SCREENS.PROFILE_ROOT], + }, WORKSPACE_OVERVIEW_PLAN: { path: 'plan', entryScreens: [SCREENS.WORKSPACE.PROFILE], }, + WORKSPACE_OVERVIEW_ADDRESS: { + path: 'workspace-address', + entryScreens: [SCREENS.WORKSPACE.PROFILE], + }, WORKSPACE_INVITE: { path: 'invite', entryScreens: [SCREENS.WORKSPACE.PROFILE, SCREENS.WORKSPACE.MEMBERS], @@ -289,6 +359,8 @@ const ROUTES = { return `search/move-transactions/search/${encodeURIComponent(backTo)}` as const; }, }, + CHANGE_APPROVER_SEARCH_RHP: 'search/change-approver', + CHANGE_APPROVER_ADD_APPROVER_SEARCH_RHP: 'search/change-approver/add', // This is a utility route used to go to the user's concierge chat, or the sign-in page if the user's not authenticated CONCIERGE: 'concierge', @@ -890,11 +962,11 @@ const ROUTES = { // eslint-disable-next-line no-restricted-syntax -- Legacy route generation getRoute: (reportID: string, backTo?: string) => getUrlWithBackToParam(`r/${reportID}/settings` as const, backTo), }, - REPORT_SETTINGS_NOTIFICATION_PREFERENCES: { - route: 'r/:reportID/settings/notification-preferences', + REPORT_SETTINGS_NAME: { + route: 'r/:reportID/settings/name', // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getRoute: (reportID: string, backTo?: string) => getUrlWithBackToParam(`r/${reportID}/settings/notification-preferences` as const, backTo), + getRoute: (reportID: string, backTo?: string) => getUrlWithBackToParam(`r/${reportID}/settings/name` as const, backTo), }, REPORT_CHANGE_APPROVER: { route: 'r/:reportID/change-approver', @@ -1658,17 +1730,6 @@ const ROUTES = { return getUrlWithBackToParam(`workspaces/${policyID}/overview` as const, backTo); }, }, - WORKSPACE_OVERVIEW_ADDRESS: { - route: 'workspaces/:policyID/overview/address', - getRoute: (policyID: string | undefined, backTo?: string) => { - if (!policyID) { - Log.warn('Invalid policyID is used to build the WORKSPACE_OVERVIEW_ADDRESS route'); - } - - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - return getUrlWithBackToParam(`workspaces/${policyID}/overview/address` as const, backTo); - }, - }, WORKSPACE_ACCOUNTING: { route: 'workspaces/:policyID/accounting', getRoute: (policyID: string) => `workspaces/${policyID}/accounting` as const, @@ -1749,36 +1810,6 @@ const ROUTES = { route: 'workspaces/:policyID/accounting/quickbooks-online/export/travel-invoicing/payable-account', getRoute: (policyID: string) => `workspaces/${policyID}/accounting/quickbooks-online/export/travel-invoicing/payable-account` as const, }, - POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_PREFERRED_EXPORTER: { - route: 'workspaces/:policyID/accounting/quickbooks-online/export/preferred-exporter', - - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/accounting/quickbooks-online/export/preferred-exporter` as const, backTo), - }, - POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES: { - route: 'workspaces/:policyID/accounting/quickbooks-online/export/out-of-pocket-expense', - - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/accounting/quickbooks-online/export/out-of-pocket-expense` as const, backTo), - }, - POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_ACCOUNT_SELECT: { - route: 'workspaces/:policyID/accounting/quickbooks-online/export/out-of-pocket-expense/account-select', - getRoute: (policyID: string, backTo?: string) => - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getUrlWithBackToParam(`workspaces/${policyID}/accounting/quickbooks-online/export/out-of-pocket-expense/account-select` as const, backTo), - }, - POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_SELECT: { - route: 'workspaces/:policyID/accounting/quickbooks-online/export/out-of-pocket-expense/entity-select', - getRoute: (policyID: string, backTo?: string) => - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getUrlWithBackToParam(`workspaces/${policyID}/accounting/quickbooks-online/export/out-of-pocket-expense/entity-select` as const, backTo), - }, - POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_EXPORT_DATE_SELECT: { - route: 'workspaces/:policyID/accounting/quickbooks-online/export/date-select', - - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/accounting/quickbooks-online/export/date-select` as const, backTo), - }, POLICY_ACCOUNTING_QUICKBOOKS_DESKTOP_COMPANY_CARD_EXPENSE_ACCOUNT_SELECT: { route: 'workspaces/:policyID/accounting/quickbooks-desktop/export/company-card-expense-account/account-select', getRoute: (policyID?: string, backTo?: string) => { @@ -2780,8 +2811,8 @@ const ROUTES = { }, WORKSPACE_CREATE_DISTANCE_RATE_UPGRADE: { route: 'workspaces/:policyID/distance-rates/new/upgrade', - getRoute: (policyID: string, transactionID?: string, reportID?: string) => - `workspaces/${policyID}/distance-rates/new/upgrade${transactionID ? `?transactionID=${transactionID}` : ''}${reportID ? `&reportID=${reportID}` : ''}` as const, + getRoute: (policyID: string, transactionID?: string, reportID?: string, iouType?: string, action?: string) => + `workspaces/${policyID}/distance-rates/new/upgrade${transactionID ? `?transactionID=${transactionID}` : ''}${reportID ? `&reportID=${reportID}` : ''}${iouType ? `&iouType=${iouType}` : ''}${action ? `&action=${action}` : ''}` as const, }, WORKSPACE_DISTANCE_RATES_SETTINGS: { route: 'workspaces/:policyID/distance-rates/settings', @@ -3387,12 +3418,6 @@ const ROUTES = { // eslint-disable-next-line no-restricted-syntax -- Legacy route generation getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/accounting/xero/export/purchase-bill-date-select` as const, backTo), }, - POLICY_ACCOUNTING_XERO_EXPORT_BANK_ACCOUNT_SELECT: { - route: 'workspaces/:policyID/accounting/xero/export/bank-account-select', - - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/accounting/xero/export/bank-account-select` as const, backTo), - }, POLICY_ACCOUNTING_XERO_ADVANCED: { route: 'workspaces/:policyID/accounting/xero/advanced', getRoute: (policyID: string | undefined) => { @@ -3417,23 +3442,6 @@ const ROUTES = { return getUrlWithBackToParam(`workspaces/${policyID}/accounting/xero/advanced/autosync` as const, backTo); }, }, - POLICY_ACCOUNTING_XERO_ACCOUNTING_METHOD: { - route: 'workspaces/:policyID/accounting/xero/advanced/autosync/accounting-method', - getRoute: (policyID: string | undefined, backTo?: string) => { - if (!policyID) { - Log.warn('Invalid policyID is used to build the POLICY_ACCOUNTING_XERO_ACCOUNTING_METHOD route'); - } - - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - return getUrlWithBackToParam(`workspaces/${policyID}/accounting/xero/advanced/autosync/accounting-method` as const, backTo); - }, - }, - POLICY_ACCOUNTING_XERO_BILL_STATUS_SELECTOR: { - route: 'workspaces/:policyID/accounting/xero/export/purchase-bill-status-selector', - - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/accounting/xero/export/purchase-bill-status-selector` as const, backTo), - }, POLICY_ACCOUNTING_XERO_INVOICE_SELECTOR: { route: 'workspaces/:policyID/accounting/xero/advanced/invoice-account-selector', getRoute: (policyID: string | undefined) => { @@ -3656,30 +3664,6 @@ const ROUTES = { // eslint-disable-next-line no-restricted-syntax -- Legacy route generation getUrlWithBackToParam(`workspaces/${policyID}/connections/netsuite/export/expenses/${expenseType as string}/destination/select` as const, backTo), }, - POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT: { - route: 'workspaces/:policyID/connections/netsuite/export/expenses/:expenseType/vendor/select', - getRoute: (policyID: string, expenseType: ValueOf, backTo?: string) => - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getUrlWithBackToParam(`workspaces/${policyID}/connections/netsuite/export/expenses/${expenseType as string}/vendor/select` as const, backTo), - }, - POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT: { - route: 'workspaces/:policyID/connections/netsuite/export/expenses/:expenseType/payable-account/select', - getRoute: (policyID: string, expenseType: ValueOf, backTo?: string) => - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getUrlWithBackToParam(`workspaces/${policyID}/connections/netsuite/export/expenses/${expenseType as string}/payable-account/select` as const, backTo), - }, - POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT: { - route: 'workspaces/:policyID/connections/netsuite/export/expenses/:expenseType/journal-posting-preference/select', - getRoute: (policyID: string, expenseType: ValueOf, backTo?: string) => - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getUrlWithBackToParam(`workspaces/${policyID}/connections/netsuite/export/expenses/${expenseType as string}/journal-posting-preference/select` as const, backTo), - }, - POLICY_ACCOUNTING_NETSUITE_RECEIVABLE_ACCOUNT_SELECT: { - route: 'workspaces/:policyID/connections/netsuite/export/receivable-account/select', - - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/connections/netsuite/export/receivable-account/select` as const, backTo), - }, POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT: { route: 'workspaces/:policyID/connections/netsuite/export/invoice-item-preference/select', getRoute: (policyID: string | undefined, backTo?: string) => { @@ -3859,24 +3843,6 @@ const ROUTES = { // eslint-disable-next-line no-restricted-syntax -- Legacy route generation getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/accounting/sage-intacct/export/reimbursable/destination` as const, backTo), }, - POLICY_ACCOUNTING_SAGE_INTACCT_NON_REIMBURSABLE_DESTINATION: { - route: 'workspaces/:policyID/accounting/sage-intacct/export/nonreimbursable/destination', - - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/accounting/sage-intacct/export/nonreimbursable/destination` as const, backTo), - }, - POLICY_ACCOUNTING_SAGE_INTACCT_DEFAULT_VENDOR: { - route: 'workspaces/:policyID/accounting/sage-intacct/export/:reimbursable/default-vendor', - getRoute: (policyID: string, reimbursable: string, backTo?: string) => - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getUrlWithBackToParam(`workspaces/${policyID}/accounting/sage-intacct/export/${reimbursable}/default-vendor` as const, backTo), - }, - POLICY_ACCOUNTING_SAGE_INTACCT_NON_REIMBURSABLE_CREDIT_CARD_ACCOUNT: { - route: 'workspaces/:policyID/accounting/sage-intacct/export/nonreimbursable/credit-card-account', - - // eslint-disable-next-line no-restricted-syntax -- Legacy route generation - getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/accounting/sage-intacct/export/nonreimbursable/credit-card-account` as const, backTo), - }, POLICY_ACCOUNTING_SAGE_INTACCT_ADVANCED: { route: 'workspaces/:policyID/accounting/sage-intacct/advanced', getRoute: (policyID: string | undefined) => { diff --git a/src/SCREENS.ts b/src/SCREENS.ts index 0b34df90b022..f03c1f37d738 100644 --- a/src/SCREENS.ts +++ b/src/SCREENS.ts @@ -109,6 +109,10 @@ const SCREENS = { EDIT_MULTIPLE_REIMBURSABLE_RHP: 'Search_Edit_Multiple_Reimbursable_RHP', EDIT_MULTIPLE_TAX_RHP: 'Search_Edit_Multiple_Tax_RHP', TRANSACTIONS_CHANGE_REPORT_SEARCH_RHP: 'Search_Transactions_Change_Report_Search', + CHANGE_APPROVER: { + ROOT: 'Search_Change_Approver_Root', + ADD_APPROVER: 'Search_Change_Approver_Add_Approver', + }, }, SETTINGS: { ROOT: 'Settings_Root', @@ -462,8 +466,8 @@ const SCREENS = { REPORT_SETTINGS: { ROOT: 'Report_Settings_Root', + DYNAMIC_NOTIFICATION_PREFERENCES: 'Dynamic_Report_Settings_Notification_Preferences', DYNAMIC_SETTINGS_NAME: 'Dynamic_Report_Settings_Name', - NOTIFICATION_PREFERENCES: 'Report_Settings_Notification_Preferences', DYNAMIC_SETTINGS_WRITE_CAPABILITY: 'Dynamic_Report_Settings_Write_Capability', VISIBILITY: 'Report_Settings_Visibility', DYNAMIC_SETTINGS_VISIBILITY: 'Dynamic_Report_Settings_Visibility', @@ -525,19 +529,19 @@ const SCREENS = { QUICKBOOKS_ONLINE_LOCATIONS: 'Policy_Accounting_Quickbooks_Online_Import_Locations', QUICKBOOKS_ONLINE_TAXES: 'Policy_Accounting_Quickbooks_Online_Import_Taxes', QUICKBOOKS_ONLINE_EXPORT: 'Workspace_Accounting_Quickbooks_Online_Export', - QUICKBOOKS_ONLINE_EXPORT_DATE_SELECT: 'Workspace_Accounting_Quickbooks_Online_Export_Date_Select', + DYNAMIC_QUICKBOOKS_ONLINE_EXPORT_DATE_SELECT: 'Dynamic_Workspace_Accounting_Quickbooks_Online_Export_Date_Select', QUICKBOOKS_ONLINE_EXPORT_INVOICE_ACCOUNT_SELECT: 'Workspace_Accounting_Quickbooks_Online_Export_Invoice_Account_Select', QUICKBOOKS_ONLINE_COMPANY_CARD_EXPENSE_ACCOUNT: 'Workspace_Accounting_Quickbooks_Online_Export_Company_Card_Expense', QUICKBOOKS_ONLINE_COMPANY_CARD_EXPENSE_ACCOUNT_SELECT: 'Workspace_Accounting_Quickbooks_Online_Export_Company_Card_Expense_Account_Select', QUICKBOOKS_ONLINE_NON_REIMBURSABLE_DEFAULT_VENDOR_SELECT: 'Workspace_Accounting_Quickbooks_Online_Export_Non_Reimbursable_Default_Vendor_Select', QUICKBOOKS_ONLINE_COMPANY_CARD_EXPENSE_ACCOUNT_COMPANY_CARD_SELECT: 'Workspace_Accounting_Quickbooks_Online_Export_Company_Card_Expense_Select', - QUICKBOOKS_ONLINE_EXPORT_PREFERRED_EXPORTER: 'Workspace_Accounting_Quickbooks_Online_Export_Preferred_Exporter', + DYNAMIC_QUICKBOOKS_ONLINE_EXPORT_PREFERRED_EXPORTER: 'Dynamic_Workspace_Accounting_Quickbooks_Online_Export_Preferred_Exporter', QUICKBOOKS_ONLINE_TRAVEL_INVOICING_CONFIGURATION: 'Workspace_Accounting_Quickbooks_Online_Travel_Invoicing_Configuration', QUICKBOOKS_ONLINE_TRAVEL_INVOICING_VENDOR_SELECT: 'Workspace_Accounting_Quickbooks_Online_Travel_Invoicing_Vendor_Select', QUICKBOOKS_ONLINE_TRAVEL_INVOICING_PAYABLE_ACCOUNT_SELECT: 'Workspace_Accounting_Quickbooks_Online_Travel_Invoicing_Payable_Account_Select', - QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES: 'Workspace_Accounting_Quickbooks_Online_Export_Out_Of_Pocket_Expenses', - QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_SELECT: 'Workspace_Accounting_Quickbooks_Online_Export_Out_Of_Pocket_Expenses_Select', - QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_ACCOUNT_SELECT: 'Workspace_Accounting_Quickbooks_Online_Export_Out_Of_Pocket_Expenses_Account_Select', + DYNAMIC_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES: 'Dynamic_Workspace_Accounting_Quickbooks_Online_Export_Out_Of_Pocket_Expenses', + DYNAMIC_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_SELECT: 'Dynamic_Workspace_Accounting_Quickbooks_Online_Export_Out_Of_Pocket_Expenses_Select', + DYNAMIC_QUICKBOOKS_ONLINE_EXPORT_OUT_OF_POCKET_EXPENSES_ACCOUNT_SELECT: 'Dynamic_Workspace_Accounting_Quickbooks_Online_Export_Out_Of_Pocket_Expenses_Account_Select', QUICKBOOKS_ONLINE_ADVANCED: 'Policy_Accounting_Quickbooks_Online_Advanced', QUICKBOOKS_ONLINE_ACCOUNT_SELECTOR: 'Policy_Accounting_Quickbooks_Online_Account_Selector', QUICKBOOKS_ONLINE_INVOICE_ACCOUNT_SELECTOR: 'Policy_Accounting_Quickbooks_Online_Invoice_Account_Selector', @@ -581,12 +585,12 @@ const SCREENS = { XERO_EXPORT_PURCHASE_BILL_DATE_SELECT: 'Policy_Accounting_Xero_Export_Purchase_Bill_Date_Select', XERO_ADVANCED: 'Policy_Accounting_Xero_Advanced', XERO_AUTO_SYNC: 'Policy_Accounting_Xero_Auto_Sync', - XERO_ACCOUNTING_METHOD: 'Policy_Accounting_Xero_Accounting_Method', - XERO_BILL_STATUS_SELECTOR: 'Policy_Accounting_Xero_Export_Bill_Status_Selector', + DYNAMIC_XERO_ACCOUNTING_METHOD: 'Dynamic_Policy_Accounting_Xero_Accounting_Method', + DYNAMIC_XERO_BILL_STATUS_SELECTOR: 'Dynamic_Policy_Accounting_Xero_Export_Bill_Status_Selector', XERO_INVOICE_ACCOUNT_SELECTOR: 'Policy_Accounting_Xero_Invoice_Account_Selector', XERO_EXPORT_PREFERRED_EXPORTER_SELECT: 'Workspace_Accounting_Xero_Export_Preferred_Exporter_Select', XERO_BILL_PAYMENT_ACCOUNT_SELECTOR: 'Policy_Accounting_Xero_Bill_Payment_Account_Selector', - XERO_EXPORT_BANK_ACCOUNT_SELECT: 'Policy_Accounting_Xero_Export_Bank_Account_Select', + DYNAMIC_XERO_EXPORT_BANK_ACCOUNT_SELECT: 'Dynamic_Policy_Accounting_Xero_Export_Bank_Account_Select', NETSUITE_IMPORT_MAPPING: 'Policy_Accounting_NetSuite_Import_Mapping', NETSUITE_IMPORT_CUSTOM_FIELD: 'Policy_Accounting_NetSuite_Import_Custom_Field', NETSUITE_IMPORT_CUSTOM_FIELD_VIEW: 'Policy_Accounting_NetSuite_Import_Custom_Field_View', @@ -604,10 +608,10 @@ const SCREENS = { NETSUITE_DATE_SELECT: 'Policy_Accounting_NetSuite_Date_Select', NETSUITE_EXPORT_EXPENSES: 'Policy_Accounting_NetSuite_Export_Expenses', NETSUITE_EXPORT_EXPENSES_DESTINATION_SELECT: 'Policy_Accounting_NetSuite_Export_Expenses_Destination_Select', - NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT: 'Policy_Accounting_NetSuite_Export_Expenses_Vendor_Select', - NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT: 'Policy_Accounting_NetSuite_Export_Expenses_Payable_Account_Select', - NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT: 'Policy_Accounting_NetSuite_Export_Expenses_Journal_Posting_Preference_Select', - NETSUITE_RECEIVABLE_ACCOUNT_SELECT: 'Policy_Accounting_NetSuite_Receivable_Account_Select', + DYNAMIC_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT: 'Dynamic_Policy_Accounting_NetSuite_Export_Expenses_Vendor_Select', + DYNAMIC_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT: 'Dynamic_Policy_Accounting_NetSuite_Export_Expenses_Payable_Account_Select', + DYNAMIC_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT: 'Dynamic_Policy_Accounting_NetSuite_Export_Expenses_Journal_Posting_Preference_Select', + DYNAMIC_NETSUITE_RECEIVABLE_ACCOUNT_SELECT: 'Dynamic_Policy_Accounting_NetSuite_Receivable_Account_Select', NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT: 'Policy_Accounting_NetSuite_Invoice_Item_Preference_Select', NETSUITE_INVOICE_ITEM_SELECT: 'Policy_Accounting_NetSuite_Invoice_Item_Select', NETSUITE_TAX_POSTING_ACCOUNT_SELECT: 'Policy_Accounting_NetSuite_Tax_Posting_Account_Select', @@ -640,9 +644,9 @@ const SCREENS = { SAGE_INTACCT_REIMBURSABLE_EXPENSES: 'Policy_Accounting_Sage_Intacct_Reimbursable_Expenses', SAGE_INTACCT_NON_REIMBURSABLE_EXPENSES: 'Policy_Accounting_Sage_Intacct_Non_Reimbursable_Expenses', SAGE_INTACCT_REIMBURSABLE_DESTINATION: 'Policy_Accounting_Sage_Intacct_Reimbursable_Destination', - SAGE_INTACCT_NON_REIMBURSABLE_DESTINATION: 'Policy_Accounting_Sage_Intacct_Non_Reimbursable_Destination', - SAGE_INTACCT_DEFAULT_VENDOR: 'Policy_Accounting_Sage_Intacct_Default_Vendor', - SAGE_INTACCT_NON_REIMBURSABLE_CREDIT_CARD_ACCOUNT: 'Policy_Accounting_Sage_Intacct_Non_Reimbursable_Credit_Card_Account', + DYNAMIC_SAGE_INTACCT_NON_REIMBURSABLE_DESTINATION: 'Dynamic_Policy_Accounting_Sage_Intacct_Non_Reimbursable_Destination', + DYNAMIC_SAGE_INTACCT_DEFAULT_VENDOR: 'Dynamic_Policy_Accounting_Sage_Intacct_Default_Vendor', + DYNAMIC_SAGE_INTACCT_NON_REIMBURSABLE_CREDIT_CARD_ACCOUNT: 'Dynamic_Policy_Accounting_Sage_Intacct_Non_Reimbursable_Credit_Card_Account', SAGE_INTACCT_ADVANCED: 'Policy_Accounting_Sage_Intacct_Advanced', SAGE_INTACCT_AUTO_SYNC: 'Policy_Accounting_Sage_Intacct_Auto_Sync', SAGE_INTACCT_ACCOUNTING_METHOD: 'Policy_Accounting_Sage_Intacct_Accounting_Method', @@ -743,7 +747,7 @@ const SCREENS = { TAG_LIST_VIEW: 'Tag_List_View', TAG_GL_CODE: 'Tag_GL_Code', CURRENCY: 'Workspace_Overview_Currency', - ADDRESS: 'Workspace_Overview_Address', + DYNAMIC_WORKSPACE_OVERVIEW_ADDRESS: 'Dynamic_Workspace_Overview_Address', DYNAMIC_WORKSPACE_OVERVIEW_PLAN: 'Dynamic_Workspace_Overview_Plan_Type', WORKFLOWS: 'Workspace_Workflows', WORKFLOWS_PAYER: 'Workspace_Workflows_Payer', diff --git a/src/SplashScreenStateContext.tsx b/src/SplashScreenStateContext.tsx index b07b2c068a89..272510e2b6fb 100644 --- a/src/SplashScreenStateContext.tsx +++ b/src/SplashScreenStateContext.tsx @@ -1,5 +1,6 @@ import React, {useContext, useEffect, useState} from 'react'; import type {ValueOf} from 'type-fest'; +import CONFIG from './CONFIG'; import CONST from './CONST'; import {addBootsplashBreadcrumb} from './libs/telemetry/bootsplashTelemetry'; import type ChildrenProps from './types/utils/ChildrenProps'; @@ -7,7 +8,7 @@ import type ChildrenProps from './types/utils/ChildrenProps'; type SplashScreenState = ValueOf; type SplashScreenStateContextType = { - splashScreenState: SplashScreenState; + splashScreenState: SplashScreenState | undefined; }; type SplashScreenActionsContextType = { @@ -15,7 +16,7 @@ type SplashScreenActionsContextType = { }; const SplashScreenStateContext = React.createContext({ - splashScreenState: CONST.BOOT_SPLASH_STATE.VISIBLE, + splashScreenState: undefined, }); const SplashScreenActionsContext = React.createContext({ @@ -29,7 +30,7 @@ function loadPostSplashScreenModules() { } function SplashScreenStateContextProvider({children}: ChildrenProps) { - const [splashScreenState, setSplashScreenStateRaw] = useState(CONST.BOOT_SPLASH_STATE.VISIBLE); + const [splashScreenState, setSplashScreenStateRaw] = useState(CONFIG.IS_HYBRID_APP ? undefined : CONST.BOOT_SPLASH_STATE.VISIBLE); const setSplashScreenState = (state: SplashScreenState) => { addBootsplashBreadcrumb(`splashScreenState changed to ${state}`); diff --git a/src/components/AddUnreportedExpenseFooter.tsx b/src/components/AddUnreportedExpenseFooter.tsx index 14a42a1af963..80ff3519cc02 100644 --- a/src/components/AddUnreportedExpenseFooter.tsx +++ b/src/components/AddUnreportedExpenseFooter.tsx @@ -7,7 +7,7 @@ import usePermissions from '@hooks/usePermissions'; import useThemeStyles from '@hooks/useThemeStyles'; import {isIOUReport} from '@libs/ReportUtils'; import Navigation from '@navigation/Navigation'; -import {convertBulkTrackedExpensesToIOU} from '@userActions/IOU'; +import {convertBulkTrackedExpensesToIOU} from '@userActions/IOU/TrackExpense'; import {changeTransactionsReport} from '@userActions/Transaction'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -36,7 +36,7 @@ type AddUnreportedExpenseFooterProps = { }; function AddUnreportedExpenseFooter({selectedIds, report, reportToConfirm, reportNextStep, policy, policyCategories, errorMessage, setErrorMessage}: AddUnreportedExpenseFooterProps) { - const {translate, toLocaleDigit} = useLocalize(); + const {translate} = useLocalize(); const styles = useThemeStyles(); const {isBetaEnabled} = usePermissions(); const isASAPSubmitBetaEnabled = isBetaEnabled(CONST.BETAS.ASAP_SUBMIT); @@ -93,8 +93,6 @@ function AddUnreportedExpenseFooter({selectedIds, report, reportToConfirm, repor reportNextStep, policyCategories, allTransactions: selectedTransactions, - translate, - toLocaleDigit, }); } }); diff --git a/src/components/AnimatedSubmitButton/index.tsx b/src/components/AnimatedSubmitButton/index.tsx index 5e1d0e14363a..945d5333fc9b 100644 --- a/src/components/AnimatedSubmitButton/index.tsx +++ b/src/components/AnimatedSubmitButton/index.tsx @@ -1,4 +1,3 @@ -import {isTrackIntentUserSelector} from '@selectors/Onboarding'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import type {View} from 'react-native'; import Animated, {Keyframe, useAnimatedStyle, useSharedValue, withTiming} from 'react-native-reanimated'; @@ -6,12 +5,9 @@ import {scheduleOnRN} from 'react-native-worklets'; import Button from '@components/Button'; import {useMemoizedLazyExpensifyIcons} from '@hooks/useLazyAsset'; import useLocalize from '@hooks/useLocalize'; -import useOnyx from '@hooks/useOnyx'; import useThemeStyles from '@hooks/useThemeStyles'; -import {isSubmitAndClose} from '@libs/PolicyUtils'; import variables from '@styles/variables'; import CONST from '@src/CONST'; -import ONYXKEYS from '@src/ONYXKEYS'; import type WithSentryLabel from '@src/types/utils/SentryLabel'; type AnimatedSubmitButtonProps = WithSentryLabel & { @@ -32,16 +28,11 @@ type AnimatedSubmitButtonProps = WithSentryLabel & { // Whether the button should be disabled isDisabled?: boolean; - - // The policy ID for the report, used to check approval mode - policyID?: string; }; -function AnimatedSubmitButton({success, text, onPress, isSubmittingAnimationRunning, onAnimationFinish, isDisabled, sentryLabel, policyID}: AnimatedSubmitButtonProps) { +function AnimatedSubmitButton({success, text, onPress, isSubmittingAnimationRunning, onAnimationFinish, isDisabled, sentryLabel}: AnimatedSubmitButtonProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); - const [isTrackIntentUser] = useOnyx(ONYXKEYS.NVP_INTRO_SELECTED, {selector: isTrackIntentUserSelector}); - const [animationPolicy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`); const isAnimationRunning = isSubmittingAnimationRunning; const buttonDuration = isSubmittingAnimationRunning ? CONST.ANIMATION_SUBMIT_DURATION : CONST.ANIMATION_SUBMITTED_DURATION; const gap = styles.expenseAndReportPreviewTextButtonContainer.gap; @@ -129,7 +120,7 @@ function AnimatedSubmitButton({success, text, onPress, isSubmittingAnimationRunn > + ); +} + +/** + * In the submit-and-navigate flow we only ever land on `type:expense` or `type:invoice` + * with default status and no extra filters, so the chips are mostly hardcoded. + * The only conditional chip is "Workspaces" (shown when the user has >1 workspace), + * resolved via a cheap boolean Onyx selector. + */ +function StaticFiltersBar({queryJSON}: {queryJSON: SearchQueryJSON}) { + const styles = useThemeStyles(); + const theme = useTheme(); + const {translate} = useLocalize(); + const expensifyIcons = useMemoizedLazyExpensifyIcons(['Filter'] as const); + const [policyInfo] = useOnyx(ONYXKEYS.COLLECTION.POLICY, {selector: staticPolicyInfoSelector}); + const hasMultipleWorkspaces = policyInfo?.hasMultipleWorkspaces ?? false; + + const typeLabel = queryJSON.type === CONST.SEARCH.DATA_TYPES.INVOICE ? translate('common.invoice') : translate('common.expense'); + + const chips = useMemo( + () => [ + {key: 'type', label: `${translate('common.type')}: ${typeLabel}`}, + {key: 'status', label: translate('common.status')}, + {key: 'date', label: translate('common.date')}, + {key: 'from', label: translate('common.from')}, + ...(hasMultipleWorkspaces ? [{key: 'workspace', label: translate('workspace.common.workspace')}] : []), + ], + [translate, typeLabel, hasMultipleWorkspaces], + ); + + return ( + + item.key} + renderItem={({item}) => } + ListFooterComponent={ +