diff --git a/.github/stale.yml b/.github/stale.yml deleted file mode 100644 index b621d961723051..00000000000000 --- a/.github/stale.yml +++ /dev/null @@ -1,32 +0,0 @@ -# Configuration for probot-stale - https://github.com/probot/stale - -# Number of days of inactivity before an Issue or Pull Request becomes stale -daysUntilStale: 90 - -# Number of days of inactivity before an Issue or Pull Request with the stale label is closed. -# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. -daysUntilClose: 7 - -# Only issues or pull requests with all of these labels are checked if stale. Defaults to `[]` (disabled) -onlyLabels: [] - -# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable -exemptLabels: [] - -# Label to use when marking as stale -staleLabel: stale - -# Comment to post when marking as stale. Set to `false` to disable -markComment: > - It's been a while since we've had any activity on this issue, and seeing as it needs more info before we - can properly address it, we will be closing it in one month. If you've found a fix, please share it! Otherwise, please - provide the info we asked for, especially a reproducible example. Thanks! - -# Comment to post when closing a stale Issue or Pull Request. -closeComment: > - This issue has been automatically closed since there has not been - any recent activity after it was marked as stale. Please open a new issue for any - related bugs. - -# Limit to only `issues` or `pulls` -only: issues diff --git a/.github/workflows/android-instrumentation-tests.yml b/.github/workflows/android-instrumentation-tests.yml index d5ab06e3ef2e50..d6c4571291243d 100644 --- a/.github/workflows/android-instrumentation-tests.yml +++ b/.github/workflows/android-instrumentation-tests.yml @@ -25,6 +25,7 @@ concurrency: jobs: test: runs-on: macos-11 + timeout-minutes: 60 env: NDK_ABI_FILTERS: x86_64 steps: @@ -64,6 +65,7 @@ jobs: run: sed -i '' 's/^APP_ABI := .*$/APP_ABI := $(if $(NDK_ABI_FILTERS),$(NDK_ABI_FILTERS),$(armeabi-v7a x86 arm64-v8a x86_64))/g' ReactAndroid/src/main/jni/Application.mk working-directory: react-native-lab/react-native - name: ๐ŸŽธ Run instrumented unit tests + timeout-minutes: 30 uses: reactivecircus/android-emulator-runner@v2 with: api-level: 29 diff --git a/.github/workflows/android-unit-tests.yml b/.github/workflows/android-unit-tests.yml index 00c673ad39423e..9c5ddd8c24c999 100644 --- a/.github/workflows/android-unit-tests.yml +++ b/.github/workflows/android-unit-tests.yml @@ -27,6 +27,7 @@ concurrency: jobs: test: runs-on: ubuntu-18.04 + timeout-minutes: 60 env: NDK_ABI_FILTERS: x86_64 steps: @@ -74,6 +75,7 @@ jobs: working-directory: android run: ./gradlew spotlessCheck || { echo '::error Spotless lint failed. Run `./gradlew spotlessApply` to automatically fix formatting.' && exit 1; } - name: Run native Android unit tests + timeout-minutes: 30 env: ANDROID_NDK_HOME: /usr/local/lib/android/sdk/ndk/19.2.5345600/ run: expotools native-unit-tests --platform android diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml new file mode 100644 index 00000000000000..2c0651d36f34ca --- /dev/null +++ b/.github/workflows/cli.yml @@ -0,0 +1,68 @@ +name: CLI + +on: + push: + branches: [master, 'sdk-*'] + paths: + - .github/workflows/cli.yml + - packages/** + - yarn.lock + pull_request: + paths: + - .github/workflows/cli.yml + - packages/** + - yarn.lock + schedule: + - cron: 0 14 * * * + +concurrency: + group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + runs-on: ubuntu-18.04 + steps: + - name: ๐Ÿ‘€ Checkout a ref for the event + uses: actions/checkout@v2 + with: + fetch-depth: 100 + - name: โฌ‡๏ธ Fetch commits from base branch + run: git fetch origin ${{ github.event.before || github.base_ref || 'master' }}:${{ github.event.before || github.base_ref || 'master' }} --depth 100 + if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + - name: โ™ป๏ธ Restore workspace node modules + uses: actions/cache@v2 + id: node-modules-cache + with: + path: | + # See "workspaces" โ†’ "packages" in the root package.json for the source of truth of + # which node_modules are affected by the root yarn.lock + node_modules + apps/*/node_modules + home/node_modules + packages/*/node_modules + packages/@unimodules/*/node_modules + react-native-lab/react-native/node_modules + key: ${{ runner.os }}-modules-v2-${{ hashFiles('yarn.lock') }} + - name: ๐Ÿงถ Install node modules in root dir + run: yarn install --frozen-lockfile + - name: Build CLI + run: yarn prepare:cli + working-directory: packages/expo + - name: Unit Test CLI + run: yarn test:cli + working-directory: packages/expo + - name: E2E Test CLI + run: yarn test:cli:e2e + working-directory: packages/expo + # - name: ๐Ÿ”” Notify on Slack + # uses: 8398a7/action-slack@v3 + # if: failure() && (github.event.ref == 'refs/heads/master' || startsWith(github.event.ref, 'refs/heads/sdk-')) + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_api }} + # with: + # channel: '#expo-cli' + # status: ${{ job.status }} + # fields: job,message,ref,eventName,author,took + # author_name: Check packages diff --git a/.github/workflows/client-android.yml b/.github/workflows/client-android.yml index c2c2958a34139f..03955c1ac6e97a 100644 --- a/.github/workflows/client-android.yml +++ b/.github/workflows/client-android.yml @@ -169,7 +169,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_android }} with: - channel: '#platform-android' + channel: '#expo-android' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Expo Go (Android) diff --git a/.github/workflows/client-ios.yml b/.github/workflows/client-ios.yml index 444e78c7d0970a..2873c8f754e152 100644 --- a/.github/workflows/client-ios.yml +++ b/.github/workflows/client-ios.yml @@ -139,7 +139,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_ios }} with: - channel: '#platform-ios' + channel: '#expo-ios' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Expo Go (iOS) diff --git a/.github/workflows/dogfooding-clients.yml b/.github/workflows/dogfooding-clients.yml index 8385d03155c851..75355e700c30c4 100644 --- a/.github/workflows/dogfooding-clients.yml +++ b/.github/workflows/dogfooding-clients.yml @@ -107,7 +107,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_android }} with: - channel: '#platform-android' + channel: '#expo-android' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Expo Go Dogfooding (Android) diff --git a/.github/workflows/home.yml b/.github/workflows/home.yml index 95e7903305b52c..ee0ceb7aca6e94 100644 --- a/.github/workflows/home.yml +++ b/.github/workflows/home.yml @@ -51,7 +51,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_api }} with: - channel: '#api' + channel: '#expo-sdk' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Home app @@ -89,7 +89,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_api }} with: - channel: '#api' + channel: '#expo-sdk' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Home app diff --git a/.github/workflows/ios-unit-tests.yml b/.github/workflows/ios-unit-tests.yml index a57d1a2466c020..cc3e1f9eb0dcca 100644 --- a/.github/workflows/ios-unit-tests.yml +++ b/.github/workflows/ios-unit-tests.yml @@ -37,6 +37,7 @@ concurrency: jobs: build: runs-on: macos-11 + timeout-minutes: 60 steps: - uses: actions/checkout@v2 with: @@ -86,5 +87,17 @@ jobs: - name: ๐Ÿฅฅ Install CocoaPods in `ios` run: pod install working-directory: ios + - name: Restore apps/bare-expo/ios/Pods from cache + uses: actions/cache@v2 + id: pods-cache-bare-expo + with: + path: 'apps/bare-expo/ios/Pods' + key: ${{ runner.os }}-pods-${{ hashFiles('apps/bare-expo/ios/Podfile.lock') }} + # restore-keys: | + # ${{ runner.os }}-pods- + - name: ๐Ÿฅฅ Install CocoaPods in `apps/bare-expo/ios` + run: pod install + working-directory: apps/bare-expo/ios - name: Run native iOS unit tests + timeout-minutes: 45 run: expotools native-unit-tests --platform ios diff --git a/.github/workflows/issue.yml b/.github/workflows/issue-attention.yml similarity index 95% rename from .github/workflows/issue.yml rename to .github/workflows/issue-attention.yml index eedbde8620ff60..b55d9616458423 100644 --- a/.github/workflows/issue.yml +++ b/.github/workflows/issue-attention.yml @@ -16,7 +16,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: status: ${{ job.status }} - channel: '#expo-support' + channel: '#support' text: 'This issue should be triaged ASAP: ${{ github.event.issue.html_url }}' author_name: ${{ github.event.issue.user.login }} fields: repo diff --git a/.github/workflows/issue-stale.yml b/.github/workflows/issue-stale.yml new file mode 100644 index 00000000000000..6f3c2c2d480271 --- /dev/null +++ b/.github/workflows/issue-stale.yml @@ -0,0 +1,22 @@ +name: Close inactive issues +on: + workflow_dispatch: + schedule: + - cron: "0 * * * *" + +jobs: + close-issues: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v4 + with: + ascending: false + operations-per-run: 300 + days-before-issue-stale: 60 + days-before-issue-close: 7 + stale-issue-label: "stale" + stale-issue-message: "This issue is stale because it has been open for 60 days with no activity. If there is no activity in the next 7 days, the issue will be closed." + close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale. Please open a new issue if you believe you are encountering a related problem." + days-before-pr-stale: -1 + days-before-pr-close: -1 + enable-statistics: true \ No newline at end of file diff --git a/.github/workflows/native-component-list.yml b/.github/workflows/native-component-list.yml index e1a512dae436b9..89891d69e06b3c 100644 --- a/.github/workflows/native-component-list.yml +++ b/.github/workflows/native-component-list.yml @@ -51,7 +51,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_api }} with: - channel: '#api' + channel: '#expo-sdk' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Build Native Component List diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml index 026455daeee3c1..6bb63f7bcaf3ee 100644 --- a/.github/workflows/sdk.yml +++ b/.github/workflows/sdk.yml @@ -78,7 +78,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_api }} with: - channel: '#api' + channel: '#expo-sdk' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Check packages diff --git a/.github/workflows/shell-app-android.yml b/.github/workflows/shell-app-android.yml index 4d6a7d0f47d18e..4b84bd685b1e37 100644 --- a/.github/workflows/shell-app-android.yml +++ b/.github/workflows/shell-app-android.yml @@ -97,7 +97,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_ANDROID }} with: - channel: '#platform-android' + channel: '#expo-android' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Android Shell App (${{ env.SLACK_MESSAGE_DESCRIPTION }}) diff --git a/.github/workflows/shell-app-ios.yml b/.github/workflows/shell-app-ios.yml index 428ff06c548aef..3aad7cb528eecf 100644 --- a/.github/workflows/shell-app-ios.yml +++ b/.github/workflows/shell-app-ios.yml @@ -96,7 +96,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_IOS }} with: - channel: '#platform-ios' + channel: '#expo-ios' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Shell App (iOS) diff --git a/.github/workflows/test-suite-lint.yml b/.github/workflows/test-suite-lint.yml new file mode 100644 index 00000000000000..3d5cad9e3fbc35 --- /dev/null +++ b/.github/workflows/test-suite-lint.yml @@ -0,0 +1,47 @@ +name: Test Suite Lint + +on: + workflow_dispatch: {} + push: + branches: [master] + paths: + - apps/test-suite/** + pull_request: + paths: + - apps/test-suite/** + +concurrency: + group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: โฌข Setup Node + uses: actions/setup-node@v2 + with: + node-version: '14.17' + - name: ๐Ÿ‘€ Checkout + uses: actions/checkout@v2 + with: + submodules: true + - name: โ™ป๏ธ Restore workspace node modules + uses: actions/cache@v2 + id: node-modules-cache + with: + path: | + # See "workspaces" โ†’ "packages" in the root package.json for the source of truth of + # which node_modules are affected by the root yarn.lock + node_modules + apps/*/node_modules + home/node_modules + packages/*/node_modules + packages/@unimodules/*/node_modules + react-native-lab/react-native/node_modules + key: ${{ runner.os }}-modules-${{ hashFiles('yarn.lock') }} + - name: ๐Ÿงถ Install node modules in root dir + run: yarn install --frozen-lockfile + - name: ๐Ÿšจ Lint test-suite files + run: yarn lint --max-warnings 0 + working-directory: apps/test-suite diff --git a/.github/workflows/test-suite.yml b/.github/workflows/test-suite.yml index b0067f7c4b8a15..9d49a87ac9bf4a 100644 --- a/.github/workflows/test-suite.yml +++ b/.github/workflows/test-suite.yml @@ -60,7 +60,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_web }} with: - channel: '#platform-web' + channel: '#expo-web' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Test Suite (Web) @@ -121,10 +121,10 @@ jobs: - name: ๐Ÿฅฅ Install pods in apps/bare-expo/ios run: pod install working-directory: apps/bare-expo/ios - - name: Clean Detox + - name: ๐Ÿงน Clean Detox run: yarn detox:clean working-directory: apps/bare-expo - - name: Build iOS project for Detox + - name: ๐Ÿ—๏ธ Build iOS project for Detox run: yarn ios:detox:build:release working-directory: apps/bare-expo timeout-minutes: 30 @@ -144,7 +144,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_ios }} with: - channel: '#platform-ios' + channel: '#expo-ios' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Test Suite (iOS) @@ -187,21 +187,10 @@ jobs: - name: โš›๏ธ Display React Native config run: yarn react-native config working-directory: apps/bare-expo - - name: Clean Detox + - name: ๐Ÿงน Clean Detox run: yarn detox:clean working-directory: apps/bare-expo - - name: ๐Ÿ’ฟ Patch react-native to support single abi - run: sed -i '' 's/^APP_ABI := .*$/APP_ABI := $(if $(NDK_ABI_FILTERS),$(NDK_ABI_FILTERS),$(armeabi-v7a x86 arm64-v8a x86_64))/g' ReactAndroid/src/main/jni/Application.mk - working-directory: react-native-lab/react-native - - name: Prebuild react-native AAR - # Workaround for next `yarn android:detox:build:release` occasionally failed at gradle fetching libraries on GitHub Actions - # Just to introduce another trail for gradle building. - run: ./gradlew :ReactAndroid:installArchives | true - working-directory: react-native-lab/react-native - timeout-minutes: 35 - env: - GRADLE_OPTS: '-Dorg.gradle.internal.http.connectionTimeout=180000 -Dorg.gradle.internal.http.socketTimeout=180000 -Dorg.gradle.internal.network.retry.max.attempts=18 -Dorg.gradle.internal.network.retry.initial.backOff=2000' - - name: Build Android project for Detox + - name: ๐Ÿ—๏ธ Build Android project for Detox run: yarn android:detox:build:release working-directory: apps/bare-expo timeout-minutes: 35 @@ -228,7 +217,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_android }} with: - channel: '#platform-android' + channel: '#expo-android' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Test Suite (Android) diff --git a/.github/workflows/versioning.yml b/.github/workflows/versioning.yml index 0e554303a31022..e79c2c555986b1 100644 --- a/.github/workflows/versioning.yml +++ b/.github/workflows/versioning.yml @@ -94,7 +94,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_ios }} with: - channel: '#platform-ios' + channel: '#expo-ios' status: ${{ job.status }} fields: job,message,ref,eventName,author,took author_name: Versioning Expo Go (iOS) diff --git a/.prettierrc b/.prettierrc index fe0657652b0d87..1b13076197ecbc 100644 --- a/.prettierrc +++ b/.prettierrc @@ -2,6 +2,6 @@ "printWidth": 100, "tabWidth": 2, "singleQuote": true, - "jsxBracketSameLine": true, + "bracketSameLine": true, "trailingComma": "es5" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bb3de12edafd2..b2e1d57a48f5a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -186,7 +186,7 @@ Package-specific changes not released in any SDK will be added here just before - Updated `firebase` from `8.2.3` to `8.10.0`. ([#14259](https://github.com/expo/expo/pull/14259) by [@IjzerenHein](https://github.com/IjzerenHein)) - Updated `@react-native-community/netinfo` from `6.0.0` to `6.0.2`. ([#14329](https://github.com/expo/expo/pull/14329) by [@cruzach](https://github.com/cruzach)) - Updated `react-native-webview` from `11.6.2` to `11.13.0`. ([#14301](https://github.com/expo/expo/pull/14301) by [@kudo](https://github.com/kudo)) -- Updated `react-native-lottie` from `4.0.2` to `4.0.3`. ([#14331](https://github.com/expo/expo/pull/14331) by [@cruzach](https://github.com/cruzach)) +- Updated `lottie-react-native` from `4.0.2` to `4.0.3`. ([#14331](https://github.com/expo/expo/pull/14331) by [@cruzach](https://github.com/cruzach)) - Updated `@stripe/stripe-react-native` from `0.1.4` to `0.2.2`. ([#14357](https://github.com/expo/expo/pull/14357) & [#14452](https://github.com/expo/expo/pull/14452) by [@cruzach](https://github.com/cruzach)) - Updated `react-native-safe-area-context` from `3.2.0` to `3.3.2`. ([#14303](https://github.com/expo/expo/pull/14303) by [@kudo](https://github.com/kudo)) - Updated `@react-native-community/viewpager` from `5.0.11` to `react-native-pager-view@5.4.6`. ([#14348](https://github.com/expo/expo/pull/14348) by [@cruzach](https://github.com/cruzach)) ([#14657](https://github.com/expo/expo/pull/14657) by [@kudo](https://github.com/kudo)) diff --git a/android/app/src/main/assets/kernel.android.bundle b/android/app/src/main/assets/kernel.android.bundle index 8d5e2f39bdd557..5d54180fdafbba 100644 --- a/android/app/src/main/assets/kernel.android.bundle +++ b/android/app/src/main/assets/kernel.android.bundle @@ -391,7 +391,7 @@ __d(function(g,r,i,a,m,e,d){var t=r(d[0]),s=r(d[1]),o=r(d[2]);s.IS_ENV_WITH_UPDA __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.Asset=void 0;var n=t(r(d[1])),s=t(r(d[2])),h=t(r(d[3])),o=r(d[4]),u=r(d[5]),l=r(d[6]),f=v(r(d[7])),c=v(r(d[8])),y=r(d[9]),p=r(d[10]),w=t(r(d[11]));function b(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,s=new WeakMap;return(b=function(t){return t?s:n})(t)}function v(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var s=b(n);if(s&&s.has(t))return s.get(t);var h={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in t)if("default"!==u&&Object.prototype.hasOwnProperty.call(t,u)){var l=o?Object.getOwnPropertyDescriptor(t,u):null;l&&(l.get||l.set)?Object.defineProperty(h,u,l):h[u]=t[u]}return h.default=t,s&&s.set(t,h),h}var k=(function(){function t(n){var h=n.name,u=n.type,l=n.hash,c=void 0===l?null:l,p=n.uri,w=n.width,b=n.height;(0,s.default)(this,t),this.hash=null,this.localUri=null,this.width=null,this.height=null,this.downloading=!1,this.downloaded=!1,this._downloadCallbacks=[],this.name=h,this.type=u,this.hash=c,this.uri=p,'number'==typeof w&&(this.width=w),'number'==typeof b&&(this.height=b),c&&(this.localUri=(0,y.getLocalAssetUri)(c,u),this.localUri&&(this.downloaded=!0)),'web'===o.Platform.OS&&(h||(this.name=f.getFilename(p)),u||(this.type=f.getFileExtension(p)))}return(0,h.default)(t,[{key:"downloadAsync",value:function(){var t,s,h,u,l=this;return n.default.async(function(y){for(;;)switch(y.prev=y.next){case 0:if(!this.downloaded){y.next=2;break}return y.abrupt("return",this);case 2:if(!this.downloading){y.next=6;break}return y.next=5,n.default.awrap(new Promise(function(t,n){l._downloadCallbacks.push({resolve:t,reject:n})}));case 5:return y.abrupt("return",this);case 6:if(this.downloading=!0,y.prev=7,'web'!==o.Platform.OS){y.next=22;break}if(!c.isImageType(this.type)){y.next=21;break}return y.next=12,n.default.awrap(c.getImageInfoAsync(this.uri));case 12:t=y.sent,s=t.width,h=t.height,u=t.name,this.width=s,this.height=h,this.name=u,y.next=22;break;case 21:this.name=f.getFilename(this.uri);case 22:return y.next=24,n.default.awrap((0,p.downloadAsync)(this.uri,this.hash,this.type,this.name));case 24:this.localUri=y.sent,this.downloaded=!0,this._downloadCallbacks.forEach(function(t){return(0,t.resolve)()}),y.next=33;break;case 29:throw y.prev=29,y.t0=y.catch(7),this._downloadCallbacks.forEach(function(t){return(0,t.reject)(y.t0)}),y.t0;case 33:return y.prev=33,this.downloading=!1,this._downloadCallbacks=[],y.finish(33);case 37:return y.abrupt("return",this);case 38:case"end":return y.stop()}},null,this,[[7,29,33,37]],Promise)}}],[{key:"loadAsync",value:function(n){var s=Array.isArray(n)?n:[n];return Promise.all(s.map(function(n){return t.fromModule(n).downloadAsync()}))}},{key:"fromModule",value:function(n){if('string'==typeof n)return t.fromURI(n);var s=(0,u.getAssetByID)(n);if(!s)throw new Error("Module \""+n+"\" is missing from the asset registry");if(!p.IS_ENV_WITH_UPDATES_ENABLED){var h=(0,w.default)(n).uri,l=new t({name:s.name,type:s.type,hash:s.hash,uri:h,width:s.width,height:s.height});return'android'!==o.Platform.OS||h.includes(':')||!s.width&&!s.height||(l.localUri=l.uri,l.downloaded=!0),t.byHash[s.hash]=l,l}return t.fromMetadata(s)}},{key:"fromMetadata",value:function(n){var s=n.hash;if(t.byHash[s])return t.byHash[s];var h=(0,l.selectAssetSource)(n),o=h.uri,u=h.hash,f=new t({name:n.name,type:n.type,hash:u,uri:o,width:n.width,height:n.height});return t.byHash[s]=f,f}},{key:"fromURI",value:function(n){if(t.byUri[n])return t.byUri[n];var s='';if(n.indexOf(';base64')>-1)s=n.split(';')[0].split('/')[1];else{var h=f.getFileExtension(n);s=h.startsWith('.')?h.substring(1):h}var o=new t({name:'',type:s,hash:null,uri:n});return t.byUri[n]=o,o}}]),t})();e.Asset=k,k.byHash={},k.byUri={}},420,[1,282,14,15,8,421,423,441,442,443,429,444]); __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0});var n=r(d[0]);Object.keys(n).forEach(function(t){"default"!==t&&"__esModule"!==t&&(t in e&&e[t]===n[t]||Object.defineProperty(e,t,{enumerable:!0,get:function(){return n[t]}}))})},421,[422]); __d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},422,[178]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.resolveUri=O,e.selectAssetSource=function(t){v&&v.hasOwnProperty(t.hash)&&(t=p(p({},t),v[t.hash]));var n=u.default.pickScale(t.scales,f.PixelRatio.get()),l=t.scales.findIndex(function(t){return t===n}),b=t.fileHashes?t.fileHashes[l]||t.fileHashes[0]:t.hash,y=t.fileUris?t.fileUris[l]||t.fileUris[0]:t.uri;if(y)return{uri:O(y),hash:b};var j=(0,h.getManifest)().assetUrlOverride;if(j){var U=s.default.join(j,b);return{uri:O(U),hash:b}}var w=1===n?'':"@"+n+"x",P=t.type?"."+encodeURIComponent(t.type):'',S="/"+encodeURIComponent(t.name)+w+P+"?platform="+encodeURIComponent(o.Platform.OS)+"&hash="+encodeURIComponent(t.hash);if(/^https?:\/\//.test(t.httpServerLocation)){var I=t.httpServerLocation+S;return{uri:I,hash:b}}if((0,h.getManifest)().developer){var M=new c.default((0,h.getManifest)().bundleUrl);return M.set('pathname',t.httpServerLocation+S),{uri:M.href,hash:b}}return{uri:"https://d1wp6m56sqw74a.cloudfront.net/~assets/"+encodeURIComponent(b),hash:b}};var n=t(r(d[1])),o=r(d[2]),s=t(r(d[3])),f=r(d[4]),c=t(r(d[5])),u=t(r(d[6])),h=r(d[7]);function l(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);n&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,s)}return o}function p(t){for(var o=1;o2){var u=o.lastIndexOf('/');if(u!==o.length-1){-1===u?(o='',h=0):h=(o=o.slice(0,u)).length-1-o.lastIndexOf('/'),f=s,c=0;continue}}else if(2===o.length||1===o.length){o='',h=0,f=s,c=0;continue}n&&(o.length>0?o+='/..':o='..',h=2)}else o.length>0?o+='/'+t.slice(f+1,s):o=t.slice(f+1,s),h=s-f-1;f=s,c=0}else 46===l&&-1!==c?++c:c=-1}return o}function l(t,n){var l=n.dir||n.root,o=n.base||(n.name||'')+(n.ext||'');return l?l===n.root?l+o:l+t+o:o}var o={resolve:function(){for(var l,o='',h=!1,f=arguments.length-1;f>=-1&&!h;f--){var c;f>=0?c=arguments[f]:(void 0===l&&(l=process.cwd()),c=l),t(c),0!==c.length&&(o=c+'/'+o,h=47===c.charCodeAt(0))}return o=n(o,!h),h?o.length>0?'/'+o:'/':o.length>0?o:'.'},normalize:function(l){if(t(l),0===l.length)return'.';var o=47===l.charCodeAt(0),h=47===l.charCodeAt(l.length-1);return 0!==(l=n(l,!o)).length||o||(l='.'),l.length>0&&h&&(l+='/'),o?'/'+l:l},isAbsolute:function(n){return t(n),n.length>0&&47===n.charCodeAt(0)},join:function(){if(0===arguments.length)return'.';for(var n,l=0;l0&&(void 0===n?n=h:n+='/'+h)}return void 0===n?'.':o.normalize(n)},relative:function(n,l){if(t(n),t(l),n===l)return'';if((n=o.resolve(n))===(l=o.resolve(l)))return'';for(var h=1;hv){if(47===l.charCodeAt(s+C))return l.slice(s+C+1);if(0===C)return l.slice(s+C)}else c>v&&(47===n.charCodeAt(h+C)?A=C:0===C&&(A=0));break}var b=n.charCodeAt(h+C);if(b!==l.charCodeAt(s+C))break;47===b&&(A=C)}var p='';for(C=h+A+1;C<=f;++C)C!==f&&47!==n.charCodeAt(C)||(0===p.length?p+='..':p+='/..');return p.length>0?p+l.slice(s+A):(s+=A,47===l.charCodeAt(s)&&++s,l.slice(s))},_makeLong:function(t){return t},dirname:function(n){if(t(n),0===n.length)return'.';for(var l=n.charCodeAt(0),o=47===l,h=-1,f=!0,c=n.length-1;c>=1;--c)if(47===(l=n.charCodeAt(c))){if(!f){h=c;break}}else f=!1;return-1===h?o?'/':'.':o&&1===h?'//':n.slice(0,h)},basename:function(n,l){if(void 0!==l&&'string'!=typeof l)throw new TypeError('"ext" argument must be a string');t(n);var o,h=0,f=-1,c=!0;if(void 0!==l&&l.length>0&&l.length<=n.length){if(l.length===n.length&&l===n)return'';var s=l.length-1,u=-1;for(o=n.length-1;o>=0;--o){var v=n.charCodeAt(o);if(47===v){if(!c){h=o+1;break}}else-1===u&&(c=!1,u=o+1),s>=0&&(v===l.charCodeAt(s)?-1==--s&&(f=o):(s=-1,f=u))}return h===f?f=u:-1===f&&(f=n.length),n.slice(h,f)}for(o=n.length-1;o>=0;--o)if(47===n.charCodeAt(o)){if(!c){h=o+1;break}}else-1===f&&(c=!1,f=o+1);return-1===f?'':n.slice(h,f)},extname:function(n){t(n);for(var l=-1,o=0,h=-1,f=!0,c=0,s=n.length-1;s>=0;--s){var u=n.charCodeAt(s);if(47!==u)-1===h&&(f=!1,h=s+1),46===u?-1===l?l=s:1!==c&&(c=1):-1!==l&&(c=-1);else if(!f){o=s+1;break}}return-1===l||-1===h||0===c||1===c&&l===h-1&&l===o+1?'':n.slice(l,h)},format:function(t){if(null===t||'object'!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return l('/',t)},parse:function(n){t(n);var l={root:'',dir:'',base:'',ext:'',name:''};if(0===n.length)return l;var o,h=n.charCodeAt(0),f=47===h;f?(l.root='/',o=1):o=0;for(var c=-1,s=0,u=-1,v=!0,A=n.length-1,C=0;A>=o;--A)if(47!==(h=n.charCodeAt(A)))-1===u&&(v=!1,u=A+1),46===h?-1===c?c=A:1!==C&&(C=1):-1!==c&&(C=-1);else if(!v){s=A+1;break}return-1===c||-1===u||0===C||1===C&&c===u-1&&c===s+1?-1!==u&&(l.base=l.name=0===s&&f?n.slice(1,u):n.slice(s,u)):(0===s&&f?(l.name=n.slice(1,c),l.base=n.slice(1,u)):(l.name=n.slice(s,c),l.base=n.slice(s,u)),l.ext=n.slice(c,u)),s>0?l.dir=n.slice(0,s-1):f&&(l.dir='/'),l},sep:'/',delimiter:':',win32:null,posix:null};o.posix=o,m.exports=o},424,[]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),o=r(d[1]),s=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,n=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,l=/^[a-zA-Z]:/,h=new RegExp("^[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+");function p(t){return(t||'').toString().replace(h,'')}var c=[['#','hash'],['?','query'],function(t,o){return y(o.protocol)?t.replace(/\\/g,'/'):t},['/','pathname'],['@','auth',1],[NaN,'host',void 0,1,1],[/:(\d+)$/,'port',void 0,1],[NaN,'hostname',void 0,1,1]],u={hash:1,query:1};function f(t){var o,n=('undefined'!=typeof window?window:void 0!==g?g:'undefined'!=typeof self?self:{}).location||{},l={},h=typeof(t=t||n);if('blob:'===t.protocol)l=new x(unescape(t.pathname),{});else if('string'===h)for(o in l=new x(t,{}),u)delete l[o];else if('object'===h){for(o in t)o in u||(l[o]=t[o]);void 0===l.slashes&&(l.slashes=s.test(t.href))}return l}function y(t){return'file:'===t||'ftp:'===t||'http:'===t||'https:'===t||'ws:'===t||'wss:'===t}function w(t,o){t=p(t),o=o||{};var s,l=n.exec(t),h=l[1]?l[1].toLowerCase():'',c=!!l[2],u=!!l[3],f=0;return c?u?(s=l[2]+l[3]+l[4],f=l[2].length+l[3].length):(s=l[2]+l[4],f=l[2].length):u?(s=l[3]+l[4],f=l[3].length):s=l[4],'file:'===h?f>=2&&(s=s.slice(2)):y(h)?s=l[4]:h?c&&(s=s.slice(2)):f>=2&&y(o.protocol)&&(s=l[4]),{protocol:h,slashes:c||y(h),slashesCount:f,rest:s}}function v(t,o){if(''===t)return o;for(var s=(o||'/').split('/').slice(0,-1).concat(t.split('/')),n=s.length,l=s[n-1],h=!1,p=0;n--;)'.'===s[n]?s.splice(n,1):'..'===s[n]?(s.splice(n,1),p++):p&&(0===n&&(h=!0),s.splice(n,1),p--);return h&&s.unshift(''),'.'!==l&&'..'!==l||s.push(''),s.join('/')}function x(s,n,h){if(s=p(s),!(this instanceof x))return new x(s,n,h);var u,b,A,q,C,k,j=c.slice(),z=typeof n,F=this,L=0;for('object'!==z&&'string'!==z&&(h=n,n=null),h&&'function'!=typeof h&&(h=o.parse),n=f(n),u=!(b=w(s||'',n)).protocol&&!b.slashes,F.slashes=b.slashes||u&&n.slashes,F.protocol=b.protocol||n.protocol||'',s=b.rest,('file:'===b.protocol&&(2!==b.slashesCount||l.test(s))||!b.slashes&&(b.protocol||b.slashesCount<2||!y(F.protocol)))&&(j[3]=[/(.*)/,'pathname']);L #import #import -#import -#import -#import -#import // Expo modules diff --git a/apps/bare-expo/ios/BareExpo.xcodeproj/project.pbxproj b/apps/bare-expo/ios/BareExpo.xcodeproj/project.pbxproj index 5188ece24d7170..511e9d035d04c5 100644 --- a/apps/bare-expo/ios/BareExpo.xcodeproj/project.pbxproj +++ b/apps/bare-expo/ios/BareExpo.xcodeproj/project.pbxproj @@ -470,7 +470,7 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-BareExpoMain-BareExpoDetox/Pods-BareExpoMain-BareExpoDetox-frameworks.sh", - "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( @@ -510,7 +510,7 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-BareExpoMain-BareExpo/Pods-BareExpoMain-BareExpo-frameworks.sh", - "${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( diff --git a/apps/bare-expo/ios/BareExpo/AppDelegate.swift b/apps/bare-expo/ios/BareExpo/AppDelegate.swift index 66affcb35d7ce0..238db3245334f3 100644 --- a/apps/bare-expo/ios/BareExpo/AppDelegate.swift +++ b/apps/bare-expo/ios/BareExpo/AppDelegate.swift @@ -101,16 +101,6 @@ class AppDelegate: ExpoAppDelegate, RCTBridgeDelegate, EXDevLauncherControllerDe // You can inject any extra modules that you would like here, more information at: // https://facebook.github.io/react-native/docs/native-modules-ios.html#dependency-injection - // RCTDevMenu was removed when integrating React with Expo client: - // https://github.com/expo/react-native/commit/7f2912e8005ea6e81c45935241081153b822b988 - // Let's bring it back in Bare Expo. - extraModules.append(RCTDevMenu() as! RCTBridgeModule) - - // Add AsyncStorage back to the project - // https://github.com/expo/react-native/commit/bd1396034319e6e59f960fac7aeca1f483c2052d - let documentDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first! as NSString - let storageDirectory = documentDirectory.appendingPathComponent("RCTAsyncLocalStorage_V1") - extraModules.append(RCTAsyncLocalStorage(storageDirectory: storageDirectory)) return extraModules } diff --git a/apps/bare-expo/ios/Podfile b/apps/bare-expo/ios/Podfile index 03f1f39b060693..8677b000df2c9c 100644 --- a/apps/bare-expo/ios/Podfile +++ b/apps/bare-expo/ios/Podfile @@ -32,8 +32,9 @@ abstract_target 'BareExpoMain' do # Fix Google Sign-in and Flipper post_install do |installer| - # `installer.pod_project` might be nil for `incremental_installation: true` and no new project generated + # `installer.pods_project` might be nil for `incremental_installation: true` and no new project generated react_native_post_install(installer) if installer.pods_project + __apply_Xcode_12_5_M1_post_install_workaround(installer) if installer.pods_project installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result| target_installation_result.native_target.build_configurations.each do |config| diff --git a/apps/bare-expo/ios/Podfile.lock b/apps/bare-expo/ios/Podfile.lock index 2ec2f4bfe59831..d7b76598c28786 100644 --- a/apps/bare-expo/ios/Podfile.lock +++ b/apps/bare-expo/ios/Podfile.lock @@ -6,10 +6,10 @@ PODS: - AppAuth/ExternalUserAgent (= 1.4.0) - AppAuth/Core (1.4.0) - AppAuth/ExternalUserAgent (1.4.0) - - boost-for-react-native (1.63.0) - - CocoaLumberjack (3.7.2): - - CocoaLumberjack/Core (= 3.7.2) - - CocoaLumberjack/Core (3.7.2) + - boost (1.76.0) + - CocoaLumberjack (3.7.4): + - CocoaLumberjack/Core (= 3.7.4) + - CocoaLumberjack/Core (3.7.4) - DoubleConversion (1.1.6) - EXAmplitude (11.1.0): - Amplitude (~> 6.0.0) @@ -40,8 +40,6 @@ PODS: - ExpoModulesCore - EXCamera (12.1.0): - ExpoModulesCore - - EXClipboard (2.1.0): - - ExpoModulesCore - EXConstants (13.0.0): - ExpoModulesCore - EXContacts (10.1.0): @@ -117,54 +115,56 @@ PODS: - ExpoModulesCore - Expo (44.0.0-beta.1): - ExpoModulesCore - - expo-dev-client (0.8.0): + - expo-dev-client (0.8.1): - EXManifests - expo-dev-launcher - expo-dev-menu - expo-dev-menu-interface - EXUpdatesInterface - - expo-dev-launcher (0.10.0): + - expo-dev-launcher (0.10.1): - EXManifests - - expo-dev-launcher/Main (= 0.10.0) + - expo-dev-launcher/Main (= 0.10.1) - expo-dev-menu - expo-dev-menu-interface - EXUpdatesInterface - React-Core - - expo-dev-launcher/Main (0.10.0): + - expo-dev-launcher/Main (0.10.1): - EXManifests - expo-dev-launcher/Unsafe - expo-dev-menu - expo-dev-menu-interface - EXUpdatesInterface - React-Core - - expo-dev-launcher/Tests (0.10.0): + - expo-dev-launcher/Tests (0.10.1): - EXManifests - expo-dev-menu - expo-dev-menu-interface - EXUpdatesInterface + - hermes-engine - Nimble - OHHTTPStubs - Quick - React-Core - React-CoreModules - - expo-dev-launcher/Unsafe (0.10.0): + - React-hermes + - expo-dev-launcher/Unsafe (0.10.1): - EXManifests - expo-dev-menu - expo-dev-menu-interface - EXUpdatesInterface - React-Core - - expo-dev-menu (0.9.0): - - expo-dev-menu/Main (= 0.9.0) - - expo-dev-menu-interface (0.5.0) - - expo-dev-menu-interface/Tests (0.5.0): + - expo-dev-menu (0.9.1): + - expo-dev-menu/Main (= 0.9.1) + - expo-dev-menu-interface (0.5.1) + - expo-dev-menu-interface/Tests (0.5.1): - Nimble - Quick - - expo-dev-menu/GestureHandler (0.9.0) - - expo-dev-menu/Main (0.9.0): + - expo-dev-menu/GestureHandler (0.9.1) + - expo-dev-menu/Main (0.9.1): - expo-dev-menu-interface - expo-dev-menu/Vendored - React-Core - - expo-dev-menu/Reanimated (0.9.0): + - expo-dev-menu/Reanimated (0.9.1): - DoubleConversion - FBLazyVector - FBReactNativeSpec @@ -192,20 +192,26 @@ PODS: - React-RCTVibration - ReactCommon/turbomodule/core - Yoga - - expo-dev-menu/SafeAreaView (0.9.0) - - expo-dev-menu/Tests (0.9.0): + - expo-dev-menu/SafeAreaView (0.9.1) + - expo-dev-menu/Tests (0.9.1): + - hermes-engine - Nimble - Quick - React-CoreModules - - expo-dev-menu/UITests (0.9.0): + - React-hermes + - expo-dev-menu/UITests (0.9.1): + - hermes-engine - React - React-CoreModules - - expo-dev-menu/Vendored (0.9.0): + - React-hermes + - expo-dev-menu/Vendored (0.9.1): - expo-dev-menu/GestureHandler - expo-dev-menu/Reanimated - expo-dev-menu/SafeAreaView - ExpoCellular (4.1.0): - ExpoModulesCore + - ExpoClipboard (2.1.0): + - ExpoModulesCore - ExpoHaptics (11.1.0): - ExpoModulesCore - ExpoImageManipulator (10.2.0): @@ -220,12 +226,12 @@ PODS: - ExpoModulesCore (0.6.1): - React-Core - ReactCommon/turbomodule/core + - ExpoRandom (12.1.0): + - ExpoModulesCore - ExpoSystemUI (1.1.0): - ExpoModulesCore - EXPrint (11.1.0): - ExpoModulesCore - - EXRandom (12.1.0): - - React-Core - EXScreenCapture (4.1.0): - ExpoModulesCore - EXScreenOrientation (4.1.1): @@ -267,14 +273,14 @@ PODS: - FBSDKCoreKit (~> 9.2.0) - FacebookSDK/LoginKit (9.2.0): - FacebookSDK/CoreKit - - FBLazyVector (0.64.3) - - FBReactNativeSpec (0.64.3): - - RCT-Folly (= 2020.01.13.00) - - RCTRequired (= 0.64.3) - - RCTTypeSafety (= 0.64.3) - - React-Core (= 0.64.3) - - React-jsi (= 0.64.3) - - ReactCommon/turbomodule/core (= 0.64.3) + - FBLazyVector (0.66.4) + - FBReactNativeSpec (0.66.4): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.66.4) + - RCTTypeSafety (= 0.66.4) + - React-Core (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) - FBSDKCoreKit (9.2.0): - FBSDKCoreKit/Basics (= 9.2.0) - FBSDKCoreKit/Core (= 9.2.0) @@ -304,11 +310,12 @@ PODS: - GoogleUtilities/Environment (~> 7.0) - GoogleUtilities/Logger (~> 7.0) - nanopb (~> 2.30907.0) - - FirebaseInstallations (7.10.0): + - FirebaseInstallations (7.11.0): - FirebaseCore (~> 7.0) - GoogleUtilities/Environment (~> 7.0) - GoogleUtilities/UserDefaults (~> 7.0) - PromisesObjC (~> 1.2) + - fmt (6.2.1) - glog (0.3.5) - GoogleAppMeasurement (7.7.0): - GoogleUtilities/AppDelegateSwizzler (~> 7.0) @@ -329,54 +336,54 @@ PODS: - AppAuth (~> 1.2) - GTMAppAuth (~> 1.0) - GTMSessionFetcher/Core (~> 1.1) - - GoogleToolboxForMac/DebugUtils (2.3.1): - - GoogleToolboxForMac/Defines (= 2.3.1) - - GoogleToolboxForMac/Defines (2.3.1) - - GoogleToolboxForMac/Logger (2.3.1): - - GoogleToolboxForMac/Defines (= 2.3.1) - - "GoogleToolboxForMac/NSData+zlib (2.3.1)": - - GoogleToolboxForMac/Defines (= 2.3.1) - - "GoogleToolboxForMac/NSDictionary+URLArguments (2.3.1)": - - GoogleToolboxForMac/DebugUtils (= 2.3.1) - - GoogleToolboxForMac/Defines (= 2.3.1) - - "GoogleToolboxForMac/NSString+URLArguments (= 2.3.1)" - - "GoogleToolboxForMac/NSString+URLArguments (2.3.1)" - - GoogleUtilities/AppDelegateSwizzler (7.3.1): + - GoogleToolboxForMac/DebugUtils (2.3.2): + - GoogleToolboxForMac/Defines (= 2.3.2) + - GoogleToolboxForMac/Defines (2.3.2) + - GoogleToolboxForMac/Logger (2.3.2): + - GoogleToolboxForMac/Defines (= 2.3.2) + - "GoogleToolboxForMac/NSData+zlib (2.3.2)": + - GoogleToolboxForMac/Defines (= 2.3.2) + - "GoogleToolboxForMac/NSDictionary+URLArguments (2.3.2)": + - GoogleToolboxForMac/DebugUtils (= 2.3.2) + - GoogleToolboxForMac/Defines (= 2.3.2) + - "GoogleToolboxForMac/NSString+URLArguments (= 2.3.2)" + - "GoogleToolboxForMac/NSString+URLArguments (2.3.2)" + - GoogleUtilities/AppDelegateSwizzler (7.7.0): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.3.1): - - PromisesObjC (~> 1.2) - - GoogleUtilities/Logger (7.3.1): + - GoogleUtilities/Environment (7.7.0): + - PromisesObjC (< 3.0, >= 1.2) + - GoogleUtilities/Logger (7.7.0): - GoogleUtilities/Environment - - GoogleUtilities/MethodSwizzler (7.3.1): + - GoogleUtilities/MethodSwizzler (7.7.0): - GoogleUtilities/Logger - - GoogleUtilities/Network (7.3.1): + - GoogleUtilities/Network (7.7.0): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.3.1)" - - GoogleUtilities/Reachability (7.3.1): + - "GoogleUtilities/NSData+zlib (7.7.0)" + - GoogleUtilities/Reachability (7.7.0): - GoogleUtilities/Logger - - GoogleUtilities/UserDefaults (7.3.1): + - GoogleUtilities/UserDefaults (7.7.0): - GoogleUtilities/Logger - - GoogleUtilitiesComponents (1.0.0): + - GoogleUtilitiesComponents (1.1.0): - GoogleUtilities/Logger - - GTMAppAuth (1.2.1): + - GTMAppAuth (1.2.2): - AppAuth/Core (~> 1.4) - GTMSessionFetcher/Core (~> 1.5) - - GTMSessionFetcher/Core (1.5.0) - - hermes-engine (0.7.2) + - GTMSessionFetcher/Core (1.7.0) + - hermes-engine (0.9.0) - libevent (2.1.12) - - libwebp (1.2.0): - - libwebp/demux (= 1.2.0) - - libwebp/mux (= 1.2.0) - - libwebp/webp (= 1.2.0) - - libwebp/demux (1.2.0): + - libwebp (1.2.1): + - libwebp/demux (= 1.2.1) + - libwebp/mux (= 1.2.1) + - libwebp/webp (= 1.2.1) + - libwebp/demux (1.2.1): - libwebp/webp - - libwebp/mux (1.2.0): + - libwebp/mux (1.2.1): - libwebp/demux - - libwebp/webp (1.2.0) + - libwebp/webp (1.2.1) - MLKitCommon (2.1.0): - GoogleDataTransport (~> 8.0) - GoogleToolboxForMac/Logger (~> 2.1) @@ -415,216 +422,223 @@ PODS: - OHHTTPStubs/Core - OHHTTPStubs/OHPathHelpers (9.1.0) - PromisesObjC (1.2.12) - - Protobuf (3.15.8) + - Protobuf (3.19.1) - Quick (4.0.0) - - RCT-Folly (2020.01.13.00): - - boost-for-react-native + - RCT-Folly (2021.06.28.00-v2): + - boost - DoubleConversion + - fmt (~> 6.2.1) - glog - - RCT-Folly/Default (= 2020.01.13.00) - - RCT-Folly/Default (2020.01.13.00): - - boost-for-react-native + - RCT-Folly/Default (= 2021.06.28.00-v2) + - RCT-Folly/Default (2021.06.28.00-v2): + - boost - DoubleConversion + - fmt (~> 6.2.1) - glog - - RCT-Folly/Futures (2020.01.13.00): - - boost-for-react-native + - RCT-Folly/Futures (2021.06.28.00-v2): + - boost - DoubleConversion + - fmt (~> 6.2.1) - glog - libevent - - RCTRequired (0.64.3) - - RCTTypeSafety (0.64.3): - - FBLazyVector (= 0.64.3) - - RCT-Folly (= 2020.01.13.00) - - RCTRequired (= 0.64.3) - - React-Core (= 0.64.3) - - React (0.64.3): - - React-Core (= 0.64.3) - - React-Core/DevSupport (= 0.64.3) - - React-Core/RCTWebSocket (= 0.64.3) - - React-RCTActionSheet (= 0.64.3) - - React-RCTAnimation (= 0.64.3) - - React-RCTBlob (= 0.64.3) - - React-RCTImage (= 0.64.3) - - React-RCTLinking (= 0.64.3) - - React-RCTNetwork (= 0.64.3) - - React-RCTSettings (= 0.64.3) - - React-RCTText (= 0.64.3) - - React-RCTVibration (= 0.64.3) - - React-callinvoker (0.64.3) - - React-Core (0.64.3): + - RCTRequired (0.66.4) + - RCTTypeSafety (0.66.4): + - FBLazyVector (= 0.66.4) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.66.4) + - React-Core (= 0.66.4) + - React (0.66.4): + - React-Core (= 0.66.4) + - React-Core/DevSupport (= 0.66.4) + - React-Core/RCTWebSocket (= 0.66.4) + - React-RCTActionSheet (= 0.66.4) + - React-RCTAnimation (= 0.66.4) + - React-RCTBlob (= 0.66.4) + - React-RCTImage (= 0.66.4) + - React-RCTLinking (= 0.66.4) + - React-RCTNetwork (= 0.66.4) + - React-RCTSettings (= 0.66.4) + - React-RCTText (= 0.66.4) + - React-RCTVibration (= 0.66.4) + - React-callinvoker (0.66.4) + - React-Core (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) - - React-Core/Default (= 0.64.3) - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.66.4) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/CoreModulesHeaders (0.64.3): + - React-Core/CoreModulesHeaders (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/Default (0.64.3): + - React-Core/Default (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - RCT-Folly (= 2021.06.28.00-v2) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/DevSupport (0.64.3): + - React-Core/DevSupport (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) - - React-Core/Default (= 0.64.3) - - React-Core/RCTWebSocket (= 0.64.3) - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-jsinspector (= 0.64.3) - - React-perflogger (= 0.64.3) - - Yoga - - React-Core/Hermes (0.64.3): - - glog - - hermes-engine - - RCT-Folly (= 2020.01.13.00) - - RCT-Folly/Futures - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.66.4) + - React-Core/RCTWebSocket (= 0.66.4) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-jsinspector (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTActionSheetHeaders (0.64.3): + - React-Core/RCTActionSheetHeaders (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTAnimationHeaders (0.64.3): + - React-Core/RCTAnimationHeaders (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTBlobHeaders (0.64.3): + - React-Core/RCTBlobHeaders (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTImageHeaders (0.64.3): + - React-Core/RCTImageHeaders (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTLinkingHeaders (0.64.3): + - React-Core/RCTLinkingHeaders (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTNetworkHeaders (0.64.3): + - React-Core/RCTNetworkHeaders (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTSettingsHeaders (0.64.3): + - React-Core/RCTSettingsHeaders (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTTextHeaders (0.64.3): + - React-Core/RCTTextHeaders (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTVibrationHeaders (0.64.3): + - React-Core/RCTVibrationHeaders (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTWebSocket (0.64.3): + - React-Core/RCTWebSocket (0.66.4): - glog - - RCT-Folly (= 2020.01.13.00) - - React-Core/Default (= 0.64.3) - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsiexecutor (= 0.64.3) - - React-perflogger (= 0.64.3) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.66.4) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-CoreModules (0.64.3): - - FBReactNativeSpec (= 0.64.3) - - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.64.3) - - React-Core/CoreModulesHeaders (= 0.64.3) - - React-jsi (= 0.64.3) - - React-RCTImage (= 0.64.3) - - ReactCommon/turbomodule/core (= 0.64.3) - - React-cxxreact (0.64.3): - - boost-for-react-native (= 1.63.0) + - React-CoreModules (0.66.4): + - FBReactNativeSpec (= 0.66.4) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.4) + - React-Core/CoreModulesHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - React-RCTImage (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-cxxreact (0.66.4): + - boost (= 1.76.0) - DoubleConversion - glog - - RCT-Folly (= 2020.01.13.00) - - React-callinvoker (= 0.64.3) - - React-jsi (= 0.64.3) - - React-jsinspector (= 0.64.3) - - React-perflogger (= 0.64.3) - - React-runtimeexecutor (= 0.64.3) - - React-jsi (0.64.3): - - boost-for-react-native (= 1.63.0) + - RCT-Folly (= 2021.06.28.00-v2) + - React-callinvoker (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsinspector (= 0.66.4) + - React-logger (= 0.66.4) + - React-perflogger (= 0.66.4) + - React-runtimeexecutor (= 0.66.4) + - React-hermes (0.66.4): - DoubleConversion - glog - - RCT-Folly (= 2020.01.13.00) - - React-jsi/Default (= 0.64.3) - - React-jsi/Default (0.64.3): - - boost-for-react-native (= 1.63.0) + - hermes-engine + - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly/Futures (= 2021.06.28.00-v2) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-jsinspector (= 0.66.4) + - React-perflogger (= 0.66.4) + - React-jsi (0.66.4): + - boost (= 1.76.0) + - DoubleConversion + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-jsi/Default (= 0.66.4) + - React-jsi/Default (0.66.4): + - boost (= 1.76.0) - DoubleConversion - glog - - RCT-Folly (= 2020.01.13.00) - - React-jsiexecutor (0.64.3): + - RCT-Folly (= 2021.06.28.00-v2) + - React-jsiexecutor (0.66.4): - DoubleConversion - glog - - RCT-Folly (= 2020.01.13.00) - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-perflogger (= 0.64.3) - - React-jsinspector (0.64.3) + - RCT-Folly (= 2021.06.28.00-v2) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-perflogger (= 0.66.4) + - React-jsinspector (0.66.4) + - React-logger (0.66.4): + - glog - react-native-appearance (0.3.4): - React - react-native-netinfo (7.1.3): @@ -641,71 +655,72 @@ PODS: - React-Core - react-native-webview (11.15.0): - React-Core - - React-perflogger (0.64.3) - - React-RCTActionSheet (0.64.3): - - React-Core/RCTActionSheetHeaders (= 0.64.3) - - React-RCTAnimation (0.64.3): - - FBReactNativeSpec (= 0.64.3) - - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.64.3) - - React-Core/RCTAnimationHeaders (= 0.64.3) - - React-jsi (= 0.64.3) - - ReactCommon/turbomodule/core (= 0.64.3) - - React-RCTBlob (0.64.3): - - FBReactNativeSpec (= 0.64.3) - - RCT-Folly (= 2020.01.13.00) - - React-Core/RCTBlobHeaders (= 0.64.3) - - React-Core/RCTWebSocket (= 0.64.3) - - React-jsi (= 0.64.3) - - React-RCTNetwork (= 0.64.3) - - ReactCommon/turbomodule/core (= 0.64.3) - - React-RCTImage (0.64.3): - - FBReactNativeSpec (= 0.64.3) - - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.64.3) - - React-Core/RCTImageHeaders (= 0.64.3) - - React-jsi (= 0.64.3) - - React-RCTNetwork (= 0.64.3) - - ReactCommon/turbomodule/core (= 0.64.3) - - React-RCTLinking (0.64.3): - - FBReactNativeSpec (= 0.64.3) - - React-Core/RCTLinkingHeaders (= 0.64.3) - - React-jsi (= 0.64.3) - - ReactCommon/turbomodule/core (= 0.64.3) - - React-RCTNetwork (0.64.3): - - FBReactNativeSpec (= 0.64.3) - - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.64.3) - - React-Core/RCTNetworkHeaders (= 0.64.3) - - React-jsi (= 0.64.3) - - ReactCommon/turbomodule/core (= 0.64.3) - - React-RCTSettings (0.64.3): - - FBReactNativeSpec (= 0.64.3) - - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.64.3) - - React-Core/RCTSettingsHeaders (= 0.64.3) - - React-jsi (= 0.64.3) - - ReactCommon/turbomodule/core (= 0.64.3) - - React-RCTText (0.64.3): - - React-Core/RCTTextHeaders (= 0.64.3) - - React-RCTVibration (0.64.3): - - FBReactNativeSpec (= 0.64.3) - - RCT-Folly (= 2020.01.13.00) - - React-Core/RCTVibrationHeaders (= 0.64.3) - - React-jsi (= 0.64.3) - - ReactCommon/turbomodule/core (= 0.64.3) - - React-runtimeexecutor (0.64.3): - - React-jsi (= 0.64.3) - - ReactCommon/turbomodule/core (0.64.3): + - React-perflogger (0.66.4) + - React-RCTActionSheet (0.66.4): + - React-Core/RCTActionSheetHeaders (= 0.66.4) + - React-RCTAnimation (0.66.4): + - FBReactNativeSpec (= 0.66.4) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.4) + - React-Core/RCTAnimationHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTBlob (0.66.4): + - FBReactNativeSpec (= 0.66.4) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/RCTBlobHeaders (= 0.66.4) + - React-Core/RCTWebSocket (= 0.66.4) + - React-jsi (= 0.66.4) + - React-RCTNetwork (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTImage (0.66.4): + - FBReactNativeSpec (= 0.66.4) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.4) + - React-Core/RCTImageHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - React-RCTNetwork (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTLinking (0.66.4): + - FBReactNativeSpec (= 0.66.4) + - React-Core/RCTLinkingHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTNetwork (0.66.4): + - FBReactNativeSpec (= 0.66.4) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.4) + - React-Core/RCTNetworkHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTSettings (0.66.4): + - FBReactNativeSpec (= 0.66.4) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.4) + - React-Core/RCTSettingsHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTText (0.66.4): + - React-Core/RCTTextHeaders (= 0.66.4) + - React-RCTVibration (0.66.4): + - FBReactNativeSpec (= 0.66.4) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/RCTVibrationHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-runtimeexecutor (0.66.4): + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (0.66.4): - DoubleConversion - glog - - RCT-Folly (= 2020.01.13.00) - - React-callinvoker (= 0.64.3) - - React-Core (= 0.64.3) - - React-cxxreact (= 0.64.3) - - React-jsi (= 0.64.3) - - React-perflogger (= 0.64.3) - - RNCAsyncStorage (1.15.9): + - RCT-Folly (= 2021.06.28.00-v2) + - React-callinvoker (= 0.66.4) + - React-Core (= 0.66.4) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-logger (= 0.66.4) + - React-perflogger (= 0.66.4) + - RNCAsyncStorage (1.15.14): - React-Core - RNCMaskedView (0.2.6): - React-Core @@ -750,9 +765,9 @@ PODS: - React-Core - RNSVG (12.1.1): - React - - SDWebImage (5.11.1): - - SDWebImage/Core (= 5.11.1) - - SDWebImage/Core (5.11.1) + - SDWebImage (5.12.2): + - SDWebImage/Core (= 5.12.2) + - SDWebImage/Core (5.12.2) - SDWebImageSVGKitPlugin (1.3.0): - SDWebImage/Core (~> 5.10) - SVGKit (>= 2.1) @@ -772,7 +787,8 @@ PODS: - ZXingObjC/Core DEPENDENCIES: - - DoubleConversion (from `../../../react-native-lab/react-native/third-party-podspecs/DoubleConversion.podspec`) + - boost (from `../../../node_modules/react-native/third-party-podspecs/boost.podspec`) + - DoubleConversion (from `../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - EXAmplitude (from `../../../packages/expo-analytics-amplitude/ios`) - EXAppAuth (from `../../../packages/expo-app-auth/ios`) - EXApplication (from `../../../packages/expo-application/ios`) @@ -784,7 +800,6 @@ DEPENDENCIES: - EXBrightness (from `../../../packages/expo-brightness/ios`) - EXCalendar (from `../../../packages/expo-calendar/ios`) - EXCamera (from `../../../packages/expo-camera/ios`) - - EXClipboard (from `../../../packages/expo-clipboard/ios`) - EXConstants (from `../../../packages/expo-constants/ios`) - EXContacts (from `../../../packages/expo-contacts/ios`) - EXCrypto (from `../../../packages/expo-crypto/ios`) @@ -823,15 +838,16 @@ DEPENDENCIES: - expo-dev-menu/Tests (from `../../../packages/expo-dev-menu`) - expo-dev-menu/UITests (from `../../../packages/expo-dev-menu`) - ExpoCellular (from `../../../packages/expo-cellular/ios`) + - ExpoClipboard (from `../../../packages/expo-clipboard/ios`) - ExpoHaptics (from `../../../packages/expo-haptics/ios`) - ExpoImageManipulator (from `../../../packages/expo-image-manipulator/ios`) - ExpoKeepAwake (from `../../../packages/expo-keep-awake/ios`) - ExpoLinearGradient (from `../../../packages/expo-linear-gradient/ios`) - ExpoLocalization (from `../../../packages/expo-localization/ios`) - ExpoModulesCore (from `../../../packages/expo-modules-core/ios`) + - ExpoRandom (from `../../../packages/expo-random/ios`) - ExpoSystemUI (from `../../../packages/expo-system-ui/ios`) - EXPrint (from `../../../packages/expo-print/ios`) - - EXRandom (from `../../../packages/expo-random/ios`) - EXScreenCapture (from `../../../packages/expo-screen-capture/ios`) - EXScreenOrientation (from `../../../packages/expo-screen-orientation/ios`) - EXSecureStore (from `../../../packages/expo-secure-store/ios`) @@ -849,27 +865,28 @@ DEPENDENCIES: - EXUpdatesInterface (from `../../../packages/expo-updates-interface/ios`) - EXVideoThumbnails (from `../../../packages/expo-video-thumbnails/ios`) - EXWebBrowser (from `../../../packages/expo-web-browser/ios`) - - FBLazyVector (from `../../../react-native-lab/react-native/Libraries/FBLazyVector`) - - FBReactNativeSpec (from `../../../react-native-lab/react-native/React/FBReactNativeSpec`) - - glog (from `../../../react-native-lab/react-native/third-party-podspecs/glog.podspec`) - - hermes-engine (~> 0.7.2) + - FBLazyVector (from `../../../node_modules/react-native/Libraries/FBLazyVector`) + - FBReactNativeSpec (from `../../../node_modules/react-native/React/FBReactNativeSpec`) + - glog (from `../../../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (~> 0.9.0) - libevent (~> 2.1.12) - Nimble (from `./../../../ios/Nimble.podspec`) - Quick (from `./../../../ios/Quick.podspec`) - - RCT-Folly (from `../../../react-native-lab/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCTRequired (from `../../../react-native-lab/react-native/Libraries/RCTRequired`) - - RCTTypeSafety (from `../../../react-native-lab/react-native/Libraries/TypeSafety`) - - React (from `../../../react-native-lab/react-native/`) - - React-callinvoker (from `../../../react-native-lab/react-native/ReactCommon/callinvoker`) - - React-Core (from `../../../react-native-lab/react-native/`) - - React-Core/DevSupport (from `../../../react-native-lab/react-native/`) - - React-Core/Hermes (from `../../../react-native-lab/react-native/`) - - React-Core/RCTWebSocket (from `../../../react-native-lab/react-native/`) - - React-CoreModules (from `../../../react-native-lab/react-native/React/CoreModules`) - - React-cxxreact (from `../../../react-native-lab/react-native/ReactCommon/cxxreact`) - - React-jsi (from `../../../react-native-lab/react-native/ReactCommon/jsi`) - - React-jsiexecutor (from `../../../react-native-lab/react-native/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../../../react-native-lab/react-native/ReactCommon/jsinspector`) + - RCT-Folly (from `../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTRequired (from `../../../node_modules/react-native/Libraries/RCTRequired`) + - RCTTypeSafety (from `../../../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../../../node_modules/react-native/`) + - React-callinvoker (from `../../../node_modules/react-native/ReactCommon/callinvoker`) + - React-Core (from `../../../node_modules/react-native/`) + - React-Core/DevSupport (from `../../../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../../../node_modules/react-native/`) + - React-CoreModules (from `../../../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../../../node_modules/react-native/ReactCommon/cxxreact`) + - React-hermes (from `../../../node_modules/react-native/ReactCommon/hermes`) + - React-jsi (from `../../../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../../../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../../../node_modules/react-native/ReactCommon/jsinspector`) + - React-logger (from `../../../node_modules/react-native/ReactCommon/logger`) - react-native-appearance (from `../../../node_modules/react-native-appearance`) - "react-native-netinfo (from `../../../node_modules/@react-native-community/netinfo`)" - react-native-safe-area-context (from `../../../node_modules/react-native-safe-area-context`) @@ -878,18 +895,18 @@ DEPENDENCIES: - react-native-view-shot (from `../../../node_modules/react-native-view-shot`) - "react-native-viewpager (from `../../../node_modules/@react-native-community/viewpager`)" - react-native-webview (from `../../../node_modules/react-native-webview`) - - React-perflogger (from `../../../react-native-lab/react-native/ReactCommon/reactperflogger`) - - React-RCTActionSheet (from `../../../react-native-lab/react-native/Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `../../../react-native-lab/react-native/Libraries/NativeAnimation`) - - React-RCTBlob (from `../../../react-native-lab/react-native/Libraries/Blob`) - - React-RCTImage (from `../../../react-native-lab/react-native/Libraries/Image`) - - React-RCTLinking (from `../../../react-native-lab/react-native/Libraries/LinkingIOS`) - - React-RCTNetwork (from `../../../react-native-lab/react-native/Libraries/Network`) - - React-RCTSettings (from `../../../react-native-lab/react-native/Libraries/Settings`) - - React-RCTText (from `../../../react-native-lab/react-native/Libraries/Text`) - - React-RCTVibration (from `../../../react-native-lab/react-native/Libraries/Vibration`) - - React-runtimeexecutor (from `../../../react-native-lab/react-native/ReactCommon/runtimeexecutor`) - - ReactCommon/turbomodule/core (from `../../../react-native-lab/react-native/ReactCommon`) + - React-perflogger (from `../../../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../../../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../../../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTBlob (from `../../../node_modules/react-native/Libraries/Blob`) + - React-RCTImage (from `../../../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../../../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../../../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../../../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../../../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../../../node_modules/react-native/Libraries/Vibration`) + - React-runtimeexecutor (from `../../../node_modules/react-native/ReactCommon/runtimeexecutor`) + - ReactCommon/turbomodule/core (from `../../../node_modules/react-native/ReactCommon`) - "RNCAsyncStorage (from `../../../node_modules/@react-native-async-storage/async-storage`)" - "RNCMaskedView (from `../../../node_modules/@react-native-masked-view/masked-view`)" - "RNCPicker (from `../../../node_modules/@react-native-picker/picker`)" @@ -901,14 +918,13 @@ DEPENDENCIES: - RNSVG (from `../../../node_modules/react-native-svg`) - UMAppLoader (from `../../../packages/unimodules-app-loader/ios`) - UMTaskManagerInterface (from `../../../packages/unimodules-task-manager-interface/ios`) - - Yoga (from `../../../react-native-lab/react-native/ReactCommon/yoga`) + - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: trunk: - Amplitude - Analytics - AppAuth - - boost-for-react-native - CocoaLumberjack - FacebookSDK - FBSDKCoreKit @@ -917,6 +933,7 @@ SPEC REPOS: - FirebaseCore - FirebaseCoreDiagnostics - FirebaseInstallations + - fmt - GoogleAppMeasurement - GoogleDataTransport - GoogleMLKit @@ -943,8 +960,10 @@ SPEC REPOS: - ZXingObjC EXTERNAL SOURCES: + boost: + :podspec: "../../../node_modules/react-native/third-party-podspecs/boost.podspec" DoubleConversion: - :podspec: "../../../react-native-lab/react-native/third-party-podspecs/DoubleConversion.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" EXAmplitude: inhibit_warnings: false :path: "../../../packages/expo-analytics-amplitude/ios" @@ -978,9 +997,6 @@ EXTERNAL SOURCES: EXCamera: inhibit_warnings: false :path: "../../../packages/expo-camera/ios" - EXClipboard: - inhibit_warnings: false - :path: "../../../packages/expo-clipboard/ios" EXConstants: inhibit_warnings: false :path: "../../../packages/expo-constants/ios" @@ -1081,6 +1097,9 @@ EXTERNAL SOURCES: ExpoCellular: inhibit_warnings: false :path: "../../../packages/expo-cellular/ios" + ExpoClipboard: + inhibit_warnings: false + :path: "../../../packages/expo-clipboard/ios" ExpoHaptics: inhibit_warnings: false :path: "../../../packages/expo-haptics/ios" @@ -1099,14 +1118,15 @@ EXTERNAL SOURCES: ExpoModulesCore: inhibit_warnings: false :path: "../../../packages/expo-modules-core/ios" + ExpoRandom: + inhibit_warnings: false + :path: "../../../packages/expo-random/ios" ExpoSystemUI: inhibit_warnings: false :path: "../../../packages/expo-system-ui/ios" EXPrint: inhibit_warnings: false :path: "../../../packages/expo-print/ios" - EXRandom: - :path: "../../../packages/expo-random/ios" EXScreenCapture: inhibit_warnings: false :path: "../../../packages/expo-screen-capture/ios" @@ -1159,37 +1179,41 @@ EXTERNAL SOURCES: inhibit_warnings: false :path: "../../../packages/expo-web-browser/ios" FBLazyVector: - :path: "../../../react-native-lab/react-native/Libraries/FBLazyVector" + :path: "../../../node_modules/react-native/Libraries/FBLazyVector" FBReactNativeSpec: - :path: "../../../react-native-lab/react-native/React/FBReactNativeSpec" + :path: "../../../node_modules/react-native/React/FBReactNativeSpec" glog: - :podspec: "../../../react-native-lab/react-native/third-party-podspecs/glog.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/glog.podspec" Nimble: :podspec: "./../../../ios/Nimble.podspec" Quick: :podspec: "./../../../ios/Quick.podspec" RCT-Folly: - :podspec: "../../../react-native-lab/react-native/third-party-podspecs/RCT-Folly.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: - :path: "../../../react-native-lab/react-native/Libraries/RCTRequired" + :path: "../../../node_modules/react-native/Libraries/RCTRequired" RCTTypeSafety: - :path: "../../../react-native-lab/react-native/Libraries/TypeSafety" + :path: "../../../node_modules/react-native/Libraries/TypeSafety" React: - :path: "../../../react-native-lab/react-native/" + :path: "../../../node_modules/react-native/" React-callinvoker: - :path: "../../../react-native-lab/react-native/ReactCommon/callinvoker" + :path: "../../../node_modules/react-native/ReactCommon/callinvoker" React-Core: - :path: "../../../react-native-lab/react-native/" + :path: "../../../node_modules/react-native/" React-CoreModules: - :path: "../../../react-native-lab/react-native/React/CoreModules" + :path: "../../../node_modules/react-native/React/CoreModules" React-cxxreact: - :path: "../../../react-native-lab/react-native/ReactCommon/cxxreact" + :path: "../../../node_modules/react-native/ReactCommon/cxxreact" + React-hermes: + :path: "../../../node_modules/react-native/ReactCommon/hermes" React-jsi: - :path: "../../../react-native-lab/react-native/ReactCommon/jsi" + :path: "../../../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: - :path: "../../../react-native-lab/react-native/ReactCommon/jsiexecutor" + :path: "../../../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../../../react-native-lab/react-native/ReactCommon/jsinspector" + :path: "../../../node_modules/react-native/ReactCommon/jsinspector" + React-logger: + :path: "../../../node_modules/react-native/ReactCommon/logger" react-native-appearance: :path: "../../../node_modules/react-native-appearance" react-native-netinfo: @@ -1207,29 +1231,29 @@ EXTERNAL SOURCES: react-native-webview: :path: "../../../node_modules/react-native-webview" React-perflogger: - :path: "../../../react-native-lab/react-native/ReactCommon/reactperflogger" + :path: "../../../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: - :path: "../../../react-native-lab/react-native/Libraries/ActionSheetIOS" + :path: "../../../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: - :path: "../../../react-native-lab/react-native/Libraries/NativeAnimation" + :path: "../../../node_modules/react-native/Libraries/NativeAnimation" React-RCTBlob: - :path: "../../../react-native-lab/react-native/Libraries/Blob" + :path: "../../../node_modules/react-native/Libraries/Blob" React-RCTImage: - :path: "../../../react-native-lab/react-native/Libraries/Image" + :path: "../../../node_modules/react-native/Libraries/Image" React-RCTLinking: - :path: "../../../react-native-lab/react-native/Libraries/LinkingIOS" + :path: "../../../node_modules/react-native/Libraries/LinkingIOS" React-RCTNetwork: - :path: "../../../react-native-lab/react-native/Libraries/Network" + :path: "../../../node_modules/react-native/Libraries/Network" React-RCTSettings: - :path: "../../../react-native-lab/react-native/Libraries/Settings" + :path: "../../../node_modules/react-native/Libraries/Settings" React-RCTText: - :path: "../../../react-native-lab/react-native/Libraries/Text" + :path: "../../../node_modules/react-native/Libraries/Text" React-RCTVibration: - :path: "../../../react-native-lab/react-native/Libraries/Vibration" + :path: "../../../node_modules/react-native/Libraries/Vibration" React-runtimeexecutor: - :path: "../../../react-native-lab/react-native/ReactCommon/runtimeexecutor" + :path: "../../../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: - :path: "../../../react-native-lab/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" RNCAsyncStorage: :path: "../../../node_modules/@react-native-async-storage/async-storage" RNCMaskedView: @@ -1255,14 +1279,14 @@ EXTERNAL SOURCES: inhibit_warnings: false :path: "../../../packages/unimodules-task-manager-interface/ios" Yoga: - :path: "../../../react-native-lab/react-native/ReactCommon/yoga" + :path: "../../../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: Amplitude: cc34fcd8dfffc3470bc2e05f3a4abb0178f6d963 Analytics: 231b01fdaa9704105881dc82def7b7b1d6571edb AppAuth: 31bcec809a638d7bd2f86ea8a52bd45f6e81e7c7 - boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c - CocoaLumberjack: b7e05132ff94f6ae4dfa9d5bce9141893a21d9da + boost: a7c83b31436843459a1961bfd74b96033dc77234 + CocoaLumberjack: 543c79c114dadc3b1aba95641d8738b06b05b646 DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de EXAmplitude: f346f64108b628046524182a8cc30df407643dc9 EXAppAuth: 628fbc475121581364241f9f12fc082f23d0b567 @@ -1275,7 +1299,6 @@ SPEC CHECKSUMS: EXBrightness: 29e6e3bb38c3058404d87f65f9cfaab5d5c7cbf0 EXCalendar: b821662d595ef8d5ae20c5285f4cfcc5e58ac68c EXCamera: bbc12f14b807c84f570fd2acd63159a4a9d23381 - EXClipboard: 4d6ee6f9572ef999fc323e4b99c8d180e041ad33 EXConstants: 5d18484e38e8eacef7695a82214b6ac90133dedf EXContacts: 6c1bab5a594d591ab08a992e494e52b7e19cb647 EXCrypto: e3c0853c2a9ef885928f6227b967b9598132f727 @@ -1305,20 +1328,21 @@ SPEC CHECKSUMS: EXNotifications: 2845e7f95660bc68ce113d78e9fa6cfb46cb0349 EXPermissions: f4c65fa770489cbf16ea17c3013a670671525014 Expo: dcd13c848d84cf058c81b1a4289ac3a7891f61b4 - expo-dev-client: c0116deee06925cb80157dc1773c8e9e2cc8a3e2 - expo-dev-launcher: 72ba55279ff01fce311caed10e2af94c7ea1ad30 - expo-dev-menu: d3238be7583556106751192000cb32789ac53987 - expo-dev-menu-interface: 8562bfafa19d01531694ab492fc93f598f8c8d7b + expo-dev-client: 5fa2ce8b3e186d1734bc746e505e9e66c39cac1f + expo-dev-launcher: 859ff87239fde76a2014c0a1d21d7d8bcbc6c840 + expo-dev-menu: 96c0a87ce8c2c522e17616285d5ec6a6aa7241f4 + expo-dev-menu-interface: 5f95926b52150b1e5fe7d6815675c7a61245de35 ExpoCellular: f800f765c3dd91205a2b84cd4e3ea132c397cffe + ExpoClipboard: 49ded0e61313aea57df8c970a488323488dcd3a1 ExpoHaptics: c62a5fc7bba0184d0165d559fc2b0fc46168ef40 ExpoImageManipulator: 05558f43cbfa3525d6a56fc71c8f54b2ca388ea3 ExpoKeepAwake: b063bab565e7640124e37d1700831c4b723a7bc7 ExpoLinearGradient: a7f1672e1727fedc4280d56c27606f8e195b9fcc ExpoLocalization: 83582a967db52987a8479490b056d5eb9fd70552 ExpoModulesCore: 98f874d20b96d4497eb8ff9df686f14384913a30 + ExpoRandom: e1e102c8ab2bd0fe08532c0dfef012ce4b603553 ExpoSystemUI: a6ee69bdbe8bc6caf815117fb5e09330cd820448 EXPrint: 9fb70fda9501c41d4d2421f414f6e38f957d9d44 - EXRandom: 9839c2a2a02d4b594a2c5af22b5faf53b316db05 EXScreenCapture: 0146fdf6ca4c3402a1cf62b2ddb739a840e08c94 EXScreenOrientation: 35776938aaa9b6460b4df72ff96f2b35e9a4e28b EXSecureStore: fa0fdde1c81ceee2a3cb0519e649feae42767969 @@ -1337,27 +1361,28 @@ SPEC CHECKSUMS: EXVideoThumbnails: 847d648d6f4bc0c1afad05caa56a487dc543445e EXWebBrowser: 37388663fa51cbfc883de2244931a5182d948e5f FacebookSDK: 4b9bb8e2824898b47f18c666dc145c09b40609e6 - FBLazyVector: c71c5917ec0ad2de41d5d06a5855f6d5eda06971 - FBReactNativeSpec: 289039c27ca26d02a6683c56c6fc7868bc804c43 + FBLazyVector: e5569e42a1c79ca00521846c223173a57aca1fe1 + FBReactNativeSpec: fe08c1cd7e2e205718d77ad14b34957cce949b58 FBSDKCoreKit: dace5abafc2fd9272733e6d027bcf18102712117 Firebase: cd2ab85eec8170dc260186159f21072ecb679ad5 FirebaseAnalytics: f3f8f75de34fe04141a69bb1c4bd7e24a80178e1 FirebaseCore: ac35d680a0bf32319a59966a1478e0741536b97b FirebaseCoreDiagnostics: 3d36e05da74cb8b7ce30e6594a8f201b982c725c - FirebaseInstallations: bf2ec8dbf36ff4c91af6b9a003d15855757680c1 + FirebaseInstallations: a58d4f72ec5861840b84df489f2668d970df558a + fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 73c2498ac6884b13ede40eda8228cb1eee9d9d62 GoogleAppMeasurement: 0c3b134b2c0a90c4c24833873894bfe0e42a0384 GoogleDataTransport: 8b0e733ea77c9218778e5a9e34ba9508b8328939 GoogleMLKit: 6ca2a10de262ee1017b52ac045e8967884ace992 GoogleSignIn: 7137d297ddc022a7e0aa4619c86d72c909fa7213 - GoogleToolboxForMac: 471e0c05d39506e50e6398f46fa9a12ae0efeff9 - GoogleUtilities: e1d9ed4e544fc32a93e00e721400cbc3f377200d - GoogleUtilitiesComponents: a69c0b3b369ba443e988141e75ef49d9010b1c80 - GTMAppAuth: 5b53231ef6920f149ab84b2969cb0ab572da3077 - GTMSessionFetcher: b3503b20a988c4e20cc189aa798fd18220133f52 - hermes-engine: 7d97ba46a1e29bacf3e3c61ecb2804a5ddd02d4f + GoogleToolboxForMac: 8bef7c7c5cf7291c687cf5354f39f9db6399ad34 + GoogleUtilities: e0913149f6b0625b553d70dae12b49fc62914fd1 + GoogleUtilitiesComponents: 679b2c881db3b615a2777504623df6122dd20afe + GTMAppAuth: ad5c2b70b9a8689e1a04033c9369c4915bfcbe89 + GTMSessionFetcher: 43748f93435c2aa068b1cbe39655aaf600652e91 + hermes-engine: bf7577d12ac6ccf53ab8b5af3c6ccf0dd8458c5c libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - libwebp: e90b9c01d99205d03b6bb8f2c8c415e5a4ef66f0 + libwebp: 98a37e597e40bfdb4c911fc98f2c53d0b12d05fc MLKitCommon: 9ed187a042139d51c0d8bf6a8301bb20b375c576 MLKitFaceDetection: 5b92261dd6e4205e3dab0df62537ac3f4e90e5db MLKitVision: 51385878c9100024478971856510f9271ff555b5 @@ -1365,19 +1390,21 @@ SPEC CHECKSUMS: Nimble: 9ca39ec3cb156bbb8c27f4943fd4643d28729616 OHHTTPStubs: 90eac6d8f2c18317baeca36698523dc67c513831 PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 - Protobuf: adb85cd18a15bd1a777c158af9fd6e612a0e6d69 + Protobuf: 3724efa50cb2846d7ccebc8691c574e85fd74471 Quick: 5dc45f9bc11236594a7acc99f7bd85ecdc9a477d - RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c - RCTRequired: d34bf57e17cb6e3b2681f4809b13843c021feb6c - RCTTypeSafety: 8dab4933124ed39bb0c1d88d74d61b1eb950f28f - React: ef700aeb19afabff83a9cc5799ac955a9c6b5e0f - React-callinvoker: 5547633d44f3e114b17c03c660ccb5faefd9ed2d - React-Core: 3858d60185d71567962468bf176d582e36e4e25b - React-CoreModules: 29b3397adac0c04915cf93089328664868510717 - React-cxxreact: 7e6cc1f4cdfcd40e483dd228fa8a3d3e0ed16f4a - React-jsi: a8b09c29521c798f1783348b37b511ba7b3dbeb3 - React-jsiexecutor: df6abc9fafbecb8e5b7a5fbc5e6d4bd017d594d5 - React-jsinspector: 34e23860273a23695342f58eed3ffd3ba10c31e0 + RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9 + RCTRequired: 4bf86c70714490bca4bf2696148638284622644b + RCTTypeSafety: c475a7059eb77935fa53d2c17db299893f057d5d + React: f64af14e3f2c50f6f2c91a5fd250e4ff1b3c3459 + React-callinvoker: b74e4ae80287780dcdf0cab262bcb581eeef56e7 + React-Core: 3eb7432bad96ff1d25aebc1defbae013fee2fd0e + React-CoreModules: ad9e1fd5650e16666c57a08328df86fd7e480cb9 + React-cxxreact: 02633ff398cf7e91a2c1e12590d323c4a4b8668a + React-hermes: 7b4c6617b4d4c880d0f44e629651810bf3417440 + React-jsi: 805c41a927d6499fb811772acb971467d9204633 + React-jsiexecutor: 94ce921e1d8ce7023366873ec371f3441383b396 + React-jsinspector: d0374f7509d407d2264168b6d0fad0b54e300b85 + React-logger: 933f80c97c633ee8965d609876848148e3fef438 react-native-appearance: 0f0e5fc2fcef70e03d48c8fe6b00b9158c2ba8aa react-native-netinfo: 42c0965fca99069b92e3f7360ab2d425985e5104 react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 @@ -1386,36 +1413,36 @@ SPEC CHECKSUMS: react-native-view-shot: 4475fde003fe8a210053d1f98fb9e06c1d834e1c react-native-viewpager: b99b53127d830885917ef84809c5065edd614a78 react-native-webview: e89bf2dba26a04cda967814df3ed1be99f291233 - React-perflogger: cc76a4254d19640f1d8ad1c66fdee800414b805c - React-RCTActionSheet: 7448f049318d8d7e8a9a1ebb742ada721757eea8 - React-RCTAnimation: fb9b3fa1a4a9f5e6ab01b3368693ce69860ba76a - React-RCTBlob: a2e7056601c599c19884992f08ebacae810426f9 - React-RCTImage: 5a46c12327d0d6f6844a1fe38baa92a1e02847e8 - React-RCTLinking: 63dd8305591e1def35267557ed42918aec9eb30b - React-RCTNetwork: d0516e39a5f736b2bff671c3e03804200161dcd3 - React-RCTSettings: a09566b14f1649f6c8a39ad1a174bb5c0631bb09 - React-RCTText: 04a2f0a281f715f0aed4f515717fafd64510e2c8 - React-RCTVibration: c7f845861e79eae13dc1e8217a3cf47a3945b504 - React-runtimeexecutor: 493d9abb8b23c3f84e19ae221eeba92cadcb70dc - ReactCommon: 8fea6422328e2fc093e25c9fac67adbcf0f04fb4 - RNCAsyncStorage: 26f25150da507524a7815f2ada06ca0967f65633 + React-perflogger: 93075d8931c32cd1fce8a98c15d2d5ccc4d891bd + React-RCTActionSheet: 7d3041e6761b4f3044a37079ddcb156575fb6d89 + React-RCTAnimation: 743e88b55ac62511ae5c2e22803d4f503f2a3a13 + React-RCTBlob: bee3a2f98fa7fc25c957c8643494244f74bea0a0 + React-RCTImage: 19fc9e29b06cc38611c553494f8d3040bf78c24e + React-RCTLinking: dc799503979c8c711126d66328e7ce8f25c2848f + React-RCTNetwork: 417e4e34cf3c19eaa5fd4e9eb20180d662a799ce + React-RCTSettings: 4df89417265af26501a7e0e9192a34d3d9848dff + React-RCTText: f8a21c3499ab322326290fa9b701ae29aa093aa5 + React-RCTVibration: e3ffca672dd3772536cb844274094b0e2c31b187 + React-runtimeexecutor: dec32ee6f2e2a26e13e58152271535fadff5455a + ReactCommon: 57b69f6383eafcbd7da625bfa6003810332313c4 + RNCAsyncStorage: ea6b5c280997b2b32a587793163b1f10e580c4f7 RNCMaskedView: c298b644a10c0c142055b3ae24d83879ecb13ccd RNCPicker: cb57c823d5ce8d2d0b5dfb45ad97b737260dc59e RNDateTimePicker: 2224ee77a86b7123377597a015502435e2e49957 RNGestureHandler: e5c7cab5f214503dcefd6b2b0cefb050e1f51c4a - RNReanimated: 7f143675d94978c3555345d5bfa8ed6ae800c5d3 + RNReanimated: da3860204e5660c0dd66739936732197d359d753 RNScreens: 522705f2e5c9d27efb17f24aceb2bf8335bc7b8e RNSharedElement: 381b5e33366513cc3f449f2dc3a42c5df0f54021 RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f - SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d + SDWebImage: 240e5c12b592fb1268c1d03b8c90d90e8c2ffe82 SDWebImageSVGKitPlugin: 8797e1c9b9baf80bd50d28e673e16a12359af1c9 SDWebImageWebPCoder: f93010f3f6c031e2f8fb3081ca4ee6966c539815 SVGKit: 652cdf7bef8bec8564d04a8511d3ab50c7595fac UMAppLoader: 671576daa3fd3017d4879a5f23fc0dd3b36422a8 UMTaskManagerInterface: 6f7150f9ec9bc6f2760eeae532a70de71ff951c1 - Yoga: e6ecf3fa25af9d4c87e94ad7d5d292eedef49749 + Yoga: e7dc4e71caba6472ff48ad7d234389b91dadc280 ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb -PODFILE CHECKSUM: fadef7e9bc5186bf325b129ee7088eeda23a97c1 +PODFILE CHECKSUM: 76e26c832dae509ab9091840d92574b4fdbddcfd COCOAPODS: 1.11.2 diff --git a/apps/bare-expo/package.json b/apps/bare-expo/package.json index 290bec1232f33c..ac8569ac211696 100644 --- a/apps/bare-expo/package.json +++ b/apps/bare-expo/package.json @@ -109,9 +109,9 @@ "expo-random": "~12.1.0", "expo-splash-screen": "~0.14.0", "native-component-list": "*", - "react": "17.0.1", - "react-dom": "17.0.1", - "react-native": "0.64.3", + "react": "17.0.2", + "react-dom": "17.0.2", + "react-native": "0.66.4", "react-native-appearance": "~0.3.4", "react-native-gesture-handler": "~2.1.0", "react-native-reanimated": "~2.3.1", @@ -126,7 +126,7 @@ "devDependencies": { "@babel/core": "^7.12.9", "@types/react": "~17.0.21", - "@types/react-native": "~0.64.12", + "@types/react-native": "~0.66.13", "babel-plugin-module-resolver": "^4.1.0", "babel-preset-expo": "~9.0.0", "detox": "^19.4.1", diff --git a/apps/bare-expo/scripts/setup-android-project.sh b/apps/bare-expo/scripts/setup-android-project.sh index 3e5cf5838607e1..dd5332b0b3b3f1 100755 --- a/apps/bare-expo/scripts/setup-android-project.sh +++ b/apps/bare-expo/scripts/setup-android-project.sh @@ -9,32 +9,5 @@ else yarn fi -REACT_NATIVE_VERSION=$(node --print "require('react-native/package.json').version") - -if [ -d "node_modules/react-native/android/com/facebook/react/react-native/$REACT_NATIVE_VERSION" ]; then - echo " โœ… React Android is installed" -else - echo " โš ๏ธ Compiling React Android (~5-10 minutes)..." - - if [ ! -f "../../react-native-lab/react-native/local.properties" ]; then - # Copying local.properties to react-native-lab since it may come in handy - if [ -f "../../android/local.properties" ]; then - cp ../../android/local.properties ../../react-native-lab/react-native - echo " โœ… local.properties copied from Expo client Android project" - else - echo " โš ๏ธ No local.properties found, the build may fail if you have no required (ANDROID_*) env variables set" - fi - fi - - # Go to our fork of React Native - cd ../../react-native-lab/react-native - # Build the AARs (~5-10 minutes) - ./gradlew :ReactAndroid:installArchives - # Come back to the project - cd ../../apps/bare-expo - - echo " โœ… React Android is now installed!" -fi - ../../tools/bin/expotools.js android-generate-dynamic-macros --configuration $1 --bare echo " โœ… Generete dynamic macros" diff --git a/apps/bare-sandbox/android/app/build.gradle b/apps/bare-sandbox/android/app/build.gradle index 633087513a582c..e1c21e75928849 100644 --- a/apps/bare-sandbox/android/app/build.gradle +++ b/apps/bare-sandbox/android/app/build.gradle @@ -120,16 +120,16 @@ def jscFlavor = 'org.webkit:android-jsc:+' */ def enableHermes = project.ext.react.get("enableHermes", false); +/** + * Architectures to build native code for in debug. + */ +def nativeArchitectures = project.getProperties().get("reactNativeDebugArchitectures") + android { ndkVersion rootProject.ext.ndkVersion compileSdkVersion rootProject.ext.compileSdkVersion - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - defaultConfig { manifestPlaceholders = [appAuthRedirectScheme: 'dev.expo.app'] applicationId 'dev.expo.baresandbox' @@ -157,6 +157,11 @@ android { buildTypes { debug { signingConfig signingConfigs.debug + if (nativeArchitectures) { + ndk { + abiFilters nativeArchitectures.split(',') + } + } } release { // Caution! In production, you need to generate your own keystore file. @@ -202,7 +207,7 @@ dependencies { // Run this once to be able to run the application with BUCK // puts all compile dependencies into folder libs for BUCK to use task copyDownloadableDepsToLibs(type: Copy) { - from configurations.compile + from configurations.implementation into 'libs' } diff --git a/apps/bare-sandbox/android/app/src/main/res/values/styles.xml b/apps/bare-sandbox/android/app/src/main/res/values/styles.xml index e57f42434a8a9c..352538256f70ed 100644 --- a/apps/bare-sandbox/android/app/src/main/res/values/styles.xml +++ b/apps/bare-sandbox/android/app/src/main/res/values/styles.xml @@ -1,7 +1,6 @@ diff --git a/apps/bare-sandbox/android/build.gradle b/apps/bare-sandbox/android/build.gradle index 6ad7a0b3a5e21e..47fb5f992a0a26 100644 --- a/apps/bare-sandbox/android/build.gradle +++ b/apps/bare-sandbox/android/build.gradle @@ -2,7 +2,7 @@ buildscript { ext { - buildToolsVersion = "29.0.3" + buildToolsVersion = "30.0.2" minSdkVersion = 21 compileSdkVersion = 30 targetSdkVersion = 30 @@ -13,7 +13,7 @@ buildscript { jcenter() } dependencies { - classpath("com.android.tools.build:gradle:4.1.0") + classpath("com.android.tools.build:gradle:4.2.2") // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/apps/bare-sandbox/android/gradle.properties b/apps/bare-sandbox/android/gradle.properties index 627729100705a1..1afdc1eefb67c0 100644 --- a/apps/bare-sandbox/android/gradle.properties +++ b/apps/bare-sandbox/android/gradle.properties @@ -26,7 +26,7 @@ android.useAndroidX=true android.enableJetifier=true # Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.75.1 +FLIPPER_VERSION=0.99.0 # The hosted JavaScript engine # Supported values: expo.jsEngine = "hermes" | "jsc" diff --git a/apps/bare-sandbox/ios/bare-sandbox/AppDelegate.m b/apps/bare-sandbox/ios/bare-sandbox/AppDelegate.m index 87de3e5993481f..c943a4edc14ddf 100644 --- a/apps/bare-sandbox/ios/bare-sandbox/AppDelegate.m +++ b/apps/bare-sandbox/ios/bare-sandbox/AppDelegate.m @@ -75,10 +75,6 @@ - (RCTBridge *)initializeReactNativeApp - (NSArray> *)extraModulesForBridge:(RCTBridge *)bridge { NSMutableArray> *extraModules = [[_moduleRegistryAdapter extraModulesForBridge:bridge] mutableCopy]; - // RCTDevMenu was removed when integrating React with Expo client: - // https://github.com/expo/react-native/commit/7f2912e8005ea6e81c45935241081153b822b988 - // Let's bring it back in Bare Expo. - [extraModules addObject:(id)[RCTDevMenu new]]; // If you'd like to export some custom RCTBridgeModules that are not Expo modules, add them here! return extraModules; } diff --git a/apps/bare-sandbox/package.json b/apps/bare-sandbox/package.json index 95faad91574357..6ea933a750ef6b 100644 --- a/apps/bare-sandbox/package.json +++ b/apps/bare-sandbox/package.json @@ -15,9 +15,9 @@ "expo-splash-screen": "~0.14.0", "expo-status-bar": "~1.2.0", "expo-system-ui": "1.1.0", - "react": "17.0.1", - "react-dom": "17.0.1", - "react-native": "0.64.3", + "react": "17.0.2", + "react-dom": "17.0.2", + "react-native": "0.66.4", "react-native-gesture-handler": "~2.1.0", "react-native-reanimated": "~2.3.1", "react-native-screens": "~3.10.1", diff --git a/apps/jest-expo-mock-generator/package.json b/apps/jest-expo-mock-generator/package.json index 7e95318dfb90eb..db1f154b6d225b 100644 --- a/apps/jest-expo-mock-generator/package.json +++ b/apps/jest-expo-mock-generator/package.json @@ -10,8 +10,8 @@ "dependencies": { "@expo/mux": "^1.0.7", "expo": "~44.0.0-alpha.0", - "react": "17.0.1", - "react-native": "0.64.3", + "react": "17.0.2", + "react-native": "0.66.4", "uuid": "^3.4.0" } } diff --git a/apps/native-component-list/package.json b/apps/native-component-list/package.json index 2c127e59da6d84..922b76c640eeb3 100644 --- a/apps/native-component-list/package.json +++ b/apps/native-component-list/package.json @@ -146,9 +146,9 @@ "path": "^0.12.7", "pixi.js": "^4.6.1", "processing-js": "^1.6.6", - "react": "17.0.1", - "react-dom": "17.0.1", - "react-native": "0.64.3", + "react": "17.0.2", + "react-dom": "17.0.2", + "react-native": "0.66.4", "react-native-appearance": "~0.3.4", "react-native-gesture-handler": "~2.1.0", "react-native-iphone-x-helper": "^1.3.0", @@ -187,6 +187,6 @@ "expo-module-scripts": "^2.0.0", "expo-yarn-workspaces": "^1.6.0", "jest": "^26.6.3", - "react-test-renderer": "~17.0.1" + "react-test-renderer": "~17.0.2" } } diff --git a/apps/native-component-list/src/screens/Camera/CameraScreen.tsx b/apps/native-component-list/src/screens/Camera/CameraScreen.tsx index c38f225fd53e01..21a0ce83af2f85 100644 --- a/apps/native-component-list/src/screens/Camera/CameraScreen.tsx +++ b/apps/native-component-list/src/screens/Camera/CameraScreen.tsx @@ -4,8 +4,15 @@ import MaterialCommunityIcons from '@expo/vector-icons/build/MaterialCommunityIc import MaterialIcons from '@expo/vector-icons/build/MaterialIcons'; import Octicons from '@expo/vector-icons/build/Octicons'; import { BarCodeScanner } from 'expo-barcode-scanner'; -import { BarCodeScanningResult, Camera, PermissionStatus } from 'expo-camera'; -import { AutoFocus, CameraType, FlashMode, WhiteBalance } from 'expo-camera/build/Camera.types'; +import { + AutoFocus, + BarCodeScanningResult, + Camera, + CameraType, + FlashMode, + PermissionStatus, + WhiteBalance, +} from 'expo-camera'; import Constants from 'expo-constants'; import * as FileSystem from 'expo-file-system'; import React from 'react'; @@ -87,12 +94,12 @@ interface State { // eslint-disable-next-line @typescript-eslint/ban-types export default class CameraScreen extends React.Component<{}, State> { readonly state: State = { - flash: 'off', + flash: FlashMode.off, zoom: 0, - autoFocus: 'on', + autoFocus: AutoFocus.on, type: CameraType.back, depth: 0, - whiteBalance: 'auto', + whiteBalance: WhiteBalance.auto, ratio: '16:9', ratios: [], barcodeScanning: false, @@ -340,10 +347,10 @@ export default class CameraScreen extends React.Component<{}, State> { style={styles.camera} onCameraReady={this.collectPictureSizes} type={this.state.type} - flashMode={this.state.flash} - autoFocus={this.state.autoFocus} + flashMode={FlashMode[this.state.flash]} + autoFocus={AutoFocus[this.state.autoFocus]} zoom={this.state.zoom} - whiteBalance={this.state.whiteBalance} + whiteBalance={WhiteBalance[this.state.whiteBalance]} ratio={this.state.ratio} pictureSize={this.state.pictureSize} onMountError={this.handleMountError} diff --git a/apps/native-component-list/src/screens/GL/GLCameraScreen.tsx b/apps/native-component-list/src/screens/GL/GLCameraScreen.tsx index d5ac2c96124427..9f0d232e6dc3a8 100644 --- a/apps/native-component-list/src/screens/GL/GLCameraScreen.tsx +++ b/apps/native-component-list/src/screens/GL/GLCameraScreen.tsx @@ -1,4 +1,4 @@ -import { Camera } from 'expo-camera'; +import { Camera, CameraType } from 'expo-camera'; import * as GL from 'expo-gl'; import { GLView } from 'expo-gl'; import * as Permissions from 'expo-permissions'; @@ -39,7 +39,7 @@ class GLCameraScreen extends React.Component<{}, State> { readonly state: State = { zoom: 0, - type: Camera.Constants.Type.back, + type: CameraType.back, }; _rafID?: number; @@ -127,10 +127,7 @@ class GLCameraScreen extends React.Component<{}, State> { toggleFacing = () => { this.setState((state) => ({ - type: - state.type === Camera.Constants.Type.back - ? Camera.Constants.Type.front - : Camera.Constants.Type.back, + type: state.type === CameraType.back ? CameraType.front : CameraType.back, })); }; diff --git a/apps/native-component-list/src/screens/QRCodeScreen.tsx b/apps/native-component-list/src/screens/QRCodeScreen.tsx index 23aae39a58bf24..d3206bb0f7ef07 100644 --- a/apps/native-component-list/src/screens/QRCodeScreen.tsx +++ b/apps/native-component-list/src/screens/QRCodeScreen.tsx @@ -2,21 +2,20 @@ import Ionicons from '@expo/vector-icons/build/Ionicons'; import Slider from '@react-native-community/slider'; import * as BarCodeScanner from 'expo-barcode-scanner'; import { BlurView } from 'expo-blur'; -import { Camera } from 'expo-camera'; -import { CameraType } from 'expo-camera/build/Camera.types'; +import { Camera, CameraType, FlashMode } from 'expo-camera'; import * as Haptics from 'expo-haptics'; import * as React from 'react'; import { Animated, Easing, Platform, + Pressable, StyleProp, StyleSheet, Text, TouchableOpacity, View, ViewStyle, - Pressable, } from 'react-native'; import { Path, Svg, SvgProps } from 'react-native-svg'; @@ -101,7 +100,7 @@ function useCameraAvailable(): boolean { } export default function QRCodeScreen() { - const [isPermissionsGranted] = usePermissions(Camera.requestPermissionsAsync); + const [isPermissionsGranted] = usePermissions(Camera.requestCameraPermissionsAsync); const isAvailable = useCameraAvailable(); if (!isPermissionsGranted || !isAvailable) { @@ -180,7 +179,7 @@ function QRCodeView() { } }} style={{ flex: 1 }} - flashMode={isLit ? 'torch' : 'off'} + flashMode={isLit ? FlashMode.torch : FlashMode.off} /> )} diff --git a/apps/native-component-list/src/screens/TextToSpeechScreen.tsx b/apps/native-component-list/src/screens/TextToSpeechScreen.tsx index 8b820313a48031..3be7568bef0641 100644 --- a/apps/native-component-list/src/screens/TextToSpeechScreen.tsx +++ b/apps/native-component-list/src/screens/TextToSpeechScreen.tsx @@ -1,8 +1,8 @@ +import { Picker } from '@react-native-picker/picker'; import * as Speech from 'expo-speech'; import * as React from 'react'; import { Button, - Picker, Platform, ScrollView, StyleSheet, diff --git a/apps/sandbox/package.json b/apps/sandbox/package.json index e832c6c60c5549..81687517b0b4dc 100644 --- a/apps/sandbox/package.json +++ b/apps/sandbox/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "expo": "~44.0.0-alpha.0", - "react": "17.0.1", - "react-native": "0.64.3" + "react": "17.0.2", + "react-native": "0.66.4" }, "devDependencies": { "babel-preset-expo": "~9.0.0", diff --git a/apps/test-suite/.eslintrc.js b/apps/test-suite/.eslintrc.js new file mode 100644 index 00000000000000..4cebb000359877 --- /dev/null +++ b/apps/test-suite/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + root: true, + extends: ['universe/native'], + rules: { + 'no-useless-escape': 0, + }, +}; diff --git a/apps/test-suite/AppNavigator.js b/apps/test-suite/AppNavigator.js index 3b0364a26ad451..1b48393f6d4edf 100644 --- a/apps/test-suite/AppNavigator.js +++ b/apps/test-suite/AppNavigator.js @@ -24,7 +24,6 @@ const shouldDisableTransition = !!global.DETOX; const transitionSpec = shouldDisableTransition ? { open: spec, close: spec } : undefined; export default function AppNavigator(props) { - React.useLayoutEffect(() => { if (props.navigation) { props.navigation.setOptions({ @@ -34,7 +33,7 @@ export default function AppNavigator(props) { const color = focused ? Colors.activeTintColor : Colors.inactiveTintColor; return ; }, - }) + }); } }, [props.navigation]); diff --git a/apps/test-suite/ExponentTest.js b/apps/test-suite/ExponentTest.js index bc76d64aa863da..a25abaf6db7bb9 100644 --- a/apps/test-suite/ExponentTest.js +++ b/apps/test-suite/ExponentTest.js @@ -1,5 +1,5 @@ -import { NativeModules } from 'react-native'; import getenv from 'getenv'; +import { NativeModules } from 'react-native'; // Used for bare android device farm builds const ExponentTest = (NativeModules && NativeModules.ExponentTest) || { diff --git a/apps/test-suite/TestModules.js b/apps/test-suite/TestModules.js index 8a402a50553632..3cd4b54452788d 100644 --- a/apps/test-suite/TestModules.js +++ b/apps/test-suite/TestModules.js @@ -178,5 +178,7 @@ export function getTestModules() { modules.push(optionalRequire(() => require('./tests/Cellular'))); modules.push(optionalRequire(() => require('./tests/BarCodeScanner'))); } - return modules.filter(Boolean).sort((a, b) => a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1); + return modules + .filter(Boolean) + .sort((a, b) => (a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1)); } diff --git a/apps/test-suite/babel.config.js b/apps/test-suite/babel.config.js index 2900afe9d85a54..9d89e131194f49 100644 --- a/apps/test-suite/babel.config.js +++ b/apps/test-suite/babel.config.js @@ -1,4 +1,4 @@ -module.exports = function(api) { +module.exports = function (api) { api.cache(true); return { presets: ['babel-preset-expo'], diff --git a/apps/test-suite/components/SpecResult.js b/apps/test-suite/components/SpecResult.js index 3f0f2c20b8e9e0..89094ed2b76b7b 100644 --- a/apps/test-suite/components/SpecResult.js +++ b/apps/test-suite/components/SpecResult.js @@ -14,11 +14,12 @@ function getStatusEmoji(status) { export default function SpecResult({ status = Statuses.Running, description, failedExpectations }) { const renderExpectations = React.useMemo( - () => (e, i) => ( - - {e.get('message')} - - ), + () => (e, i) => + ( + + {e.get('message')} + + ), [] ); diff --git a/apps/test-suite/components/SuiteResult.js b/apps/test-suite/components/SuiteResult.js index c56807d8906da8..dc28df60c2cfc0 100644 --- a/apps/test-suite/components/SuiteResult.js +++ b/apps/test-suite/components/SuiteResult.js @@ -5,7 +5,7 @@ import SpecResult from './SpecResult'; export default function SuiteResult({ r, depth }) { const renderSpecResult = React.useMemo( - () => r => { + () => (r) => { const status = r.get('status'); const key = r.get('id'); const description = r.get('description'); @@ -24,7 +24,7 @@ export default function SuiteResult({ r, depth }) { ); const renderSuiteResult = React.useMemo( - () => r => , + () => (r) => , [depth] ); diff --git a/apps/test-suite/components/Suites.js b/apps/test-suite/components/Suites.js index 913545620b6eb7..83da07cd6a00b5 100644 --- a/apps/test-suite/components/Suites.js +++ b/apps/test-suite/components/Suites.js @@ -10,7 +10,7 @@ export default function Suites({ suites, done, numFailed, results }) { const renderItem = ({ item }) => ; - const keyExtractor = item => item.get('result').get('id'); + const keyExtractor = (item) => item.get('result').get('id'); const scrollToEnd = React.useMemo( () => () => { diff --git a/apps/test-suite/functions/src/index.ts b/apps/test-suite/functions/src/index.ts index 368e9e8c6ea393..f7c86b515782f8 100644 --- a/apps/test-suite/functions/src/index.ts +++ b/apps/test-suite/functions/src/index.ts @@ -7,7 +7,7 @@ export class ArgumentError extends functions.https.HttpsError { } } -exports.echoMessage = functions.https.onCall(data => { +exports.echoMessage = functions.https.onCall((data) => { const { message } = data; if (!message) { throw new ArgumentError(`Hi ๐Ÿ‘‹, you did not specify a message`); diff --git a/apps/test-suite/metro.config.js b/apps/test-suite/metro.config.js index 8c9a540d2379f6..d605ef500957f6 100644 --- a/apps/test-suite/metro.config.js +++ b/apps/test-suite/metro.config.js @@ -8,7 +8,7 @@ module.exports = { // NOTE(brentvatne): This can be removed when // https://github.com/facebook/metro/issues/290 is fixed. server: { - enhanceMiddleware: middleware => { + enhanceMiddleware: (middleware) => { return (req, res, next) => { // When an asset is imported outside the project root, it has wrong path on Android // This happens for the back button in stack, so we fix the path to correct one diff --git a/apps/test-suite/package.json b/apps/test-suite/package.json index a5d0ab17ed1af3..3ccc63dc3577e8 100644 --- a/apps/test-suite/package.json +++ b/apps/test-suite/package.json @@ -4,7 +4,8 @@ "description": "Test suite for the Expo SDK", "main": "__generated__/AppEntry.js", "scripts": { - "postinstall": "expo-yarn-workspaces postinstall" + "postinstall": "expo-yarn-workspaces postinstall", + "lint": "eslint ." }, "author": "", "license": "MIT", @@ -51,8 +52,8 @@ "immutable": "^4.0.0", "jasmine-core": "^2.4.1", "lodash": "^4.17.19", - "react": "17.0.1", - "react-native": "0.64.3", + "react": "17.0.2", + "react-native": "0.66.4", "react-native-gesture-handler": "~2.1.0", "react-native-safe-area-view": "^0.14.8", "sinon": "^7.1.1" diff --git a/apps/test-suite/screens/SelectScreen.js b/apps/test-suite/screens/SelectScreen.js index 95f420a10acbf5..e48383e3241643 100644 --- a/apps/test-suite/screens/SelectScreen.js +++ b/apps/test-suite/screens/SelectScreen.js @@ -9,9 +9,7 @@ import PlatformTouchable from '../components/PlatformTouchable'; import Colors from '../constants/Colors'; function ListItem({ title, onPressItem, selected, id }) { - function onPress() { - onPressItem(id); - } + const onPress = () => onPressItem(id); return ( @@ -28,7 +26,7 @@ function ListItem({ title, onPressItem, selected, id }) { } function createQueryString(tests) { - if (!Array.isArray(tests) || !tests.every(v => typeof v === 'string')) { + if (!Array.isArray(tests) || !tests.every((v) => typeof v === 'string')) { throw new Error( `test-suite: Cannot create query string for runner. Expected array of strings, instead got: ${tests}` ); @@ -71,9 +69,9 @@ export default class SelectScreen extends React.PureComponent { Linking.removeEventListener('url', this._handleOpenURL); } - checkLinking = incomingTests => { + checkLinking = (incomingTests) => { // TODO(Bacon): bare-expo should pass a space-separated string. - const tests = incomingTests.split(',').map(v => v.trim()); + const tests = incomingTests.split(',').map((v) => v.trim()); const query = createQueryString(tests); this.props.navigation.navigate('run', { tests: query }); }; @@ -91,7 +89,7 @@ export default class SelectScreen extends React.PureComponent { if (url.includes('/all')) { // Test all available modules - const query = createQueryString(getTestModules().map(m => m.name)); + const query = createQueryString(getTestModules().map((m) => m.name)); this.props.navigation.navigate('run', { tests: query, @@ -113,16 +111,16 @@ export default class SelectScreen extends React.PureComponent { Linking.addEventListener('url', this._handleOpenURL); Linking.getInitialURL() - .then(url => { + .then((url) => { this._handleOpenURL({ url }); }) - .catch(err => console.error('Failed to load initial URL', err)); + .catch((err) => console.error('Failed to load initial URL', err)); } _keyExtractor = ({ name }) => name; - _onPressItem = id => { - this.setState(state => { + _onPressItem = (id) => { + this.setState((state) => { const selected = new Set(state.selected); if (selected.has(id)) selected.delete(id); else selected.add(id); @@ -140,11 +138,11 @@ export default class SelectScreen extends React.PureComponent { ); _selectAll = () => { - this.setState(state => { - if (state.selected.size === this.state.modules.length) { + this.setState((prevState) => { + if (prevState.selected.size === prevState.modules.length) { return { selected: new Set() }; } - return { selected: new Set(this.state.modules.map(item => item.name)) }; + return { selected: new Set(prevState.modules.map((item) => item.name)) }; }); }; @@ -165,7 +163,8 @@ export default class SelectScreen extends React.PureComponent { const buttonTitle = allSelected ? 'Deselect All' : 'Select All'; return ( - + // eslint-disable-next-line react/jsx-fragments + <> - + ); } } diff --git a/apps/test-suite/screens/TestScreen.js b/apps/test-suite/screens/TestScreen.js index 54d7898fd05d73..e2e1b36c7ed90b 100644 --- a/apps/test-suite/screens/TestScreen.js +++ b/apps/test-suite/screens/TestScreen.js @@ -32,7 +32,7 @@ export default class TestScreen extends React.Component { const selectedTestNames = selectionQuery.split(' '); // We get test modules here to make sure that React Native will reload this component when tests were changed. - const selectedModules = getTestModules().filter(m => selectedTestNames.includes(m.name)); + const selectedModules = getTestModules().filter((m) => selectedTestNames.includes(m.name)); if (!selectedModules.length) { console.log('[TEST_SUITE]', 'No selected modules', selectedTestNames); @@ -46,24 +46,24 @@ export default class TestScreen extends React.Component { this._isMounted = false; } - setPortalChild = testPortal => { + setPortalChild = (testPortal) => { if (this._isMounted) return this.setState({ testPortal }); }; cleanupPortal = () => { - return new Promise(resolve => { + return new Promise((resolve) => { if (this._isMounted) this.setState({ testPortal: null }, resolve); }); }; - _runTests = async modules => { + _runTests = async (modules) => { // Reset results state this.setState(initialState); const { jasmineEnv, jasmine } = await this._setupJasmine(); await Promise.all( - modules.map(m => + modules.map((m) => m.test(jasmine, { setPortalChild: this.setPortalChild, cleanupPortal: this.cleanupPortal, @@ -86,7 +86,7 @@ export default class TestScreen extends React.Component { // Get the interface and make it support `async ` by default const jasmine = jasmineModule.interface(jasmineCore, jasmineEnv); - const doneIfy = fn => async done => { + const doneIfy = (fn) => async (done) => { try { await Promise.resolve(fn()); done(); @@ -198,7 +198,7 @@ export default class TestScreen extends React.Component { if (app._isMounted) { app.setState(({ state }) => ({ state: state - .updateIn(state.get('path'), children => + .updateIn(state.get('path'), (children) => children.push( Immutable.fromJS({ result: jasmineResult, @@ -207,7 +207,7 @@ export default class TestScreen extends React.Component { }) ) ) - .update('path', path => path.push(state.getIn(path).size, 'children')), + .update('path', (path) => path.push(state.getIn(path).size, 'children')), })); } }, @@ -216,17 +216,12 @@ export default class TestScreen extends React.Component { if (app._isMounted) { app.setState(({ state }) => ({ state: state - .updateIn( - state - .get('path') - .pop() - .pop(), - children => - children.update(children.size - 1, child => - child.set('result', child.get('result')) - ) + .updateIn(state.get('path').pop().pop(), (children) => + children.update(children.size - 1, (child) => + child.set('result', child.get('result')) + ) ) - .update('path', path => path.pop().pop()), + .update('path', (path) => path.pop().pop()), })); } }, @@ -234,15 +229,10 @@ export default class TestScreen extends React.Component { specStarted(jasmineResult) { if (app._isMounted) { app.setState(({ state }) => ({ - state: state.updateIn( - state - .get('path') - .pop() - .pop(), - children => - children.update(children.size - 1, child => - child.update('specs', specs => specs.push(Immutable.fromJS(jasmineResult))) - ) + state: state.updateIn(state.get('path').pop().pop(), (children) => + children.update(children.size - 1, (child) => + child.update('specs', (specs) => specs.push(Immutable.fromJS(jasmineResult))) + ) ), })); } @@ -256,17 +246,12 @@ export default class TestScreen extends React.Component { } if (app._isMounted) { app.setState(({ state }) => ({ - state: state.updateIn( - state - .get('path') - .pop() - .pop(), - children => - children.update(children.size - 1, child => - child.update('specs', specs => - specs.set(specs.size - 1, Immutable.fromJS(jasmineResult)) - ) + state: state.updateIn(state.get('path').pop().pop(), (children) => + children.update(children.size - 1, (child) => + child.update('specs', (specs) => + specs.set(specs.size - 1, Immutable.fromJS(jasmineResult)) ) + ) ), })); } diff --git a/apps/test-suite/tests/AdMobBanner.js b/apps/test-suite/tests/AdMobBanner.js index d101d90155c290..30b1847222004f 100644 --- a/apps/test-suite/tests/AdMobBanner.js +++ b/apps/test-suite/tests/AdMobBanner.js @@ -39,7 +39,7 @@ export function test(t, { setPortalChild, cleanupPortal }) { await mountAndWaitFor(); }); - forEach(sizes, size => { + forEach(sizes, (size) => { t.describe(`when given size = ${size}`, () => { t.it('displays an ad', async () => { await mountAndWaitFor(); diff --git a/apps/test-suite/tests/AdMobInterstitial.js b/apps/test-suite/tests/AdMobInterstitial.js index 457512ec5ff354..c48f0bfb29d684 100644 --- a/apps/test-suite/tests/AdMobInterstitial.js +++ b/apps/test-suite/tests/AdMobInterstitial.js @@ -1,5 +1,5 @@ -import { Platform } from 'react-native'; import { AdMobInterstitial, setTestDeviceIDAsync } from 'expo-ads-admob'; +import { Platform } from 'react-native'; export const name = 'AdMobInterstitial'; diff --git a/apps/test-suite/tests/AdMobPublisherBanner.js b/apps/test-suite/tests/AdMobPublisherBanner.js index f0ed46e9878f52..cdb8e1ddc08d24 100644 --- a/apps/test-suite/tests/AdMobPublisherBanner.js +++ b/apps/test-suite/tests/AdMobPublisherBanner.js @@ -39,7 +39,7 @@ export function test(t, { setPortalChild, cleanupPortal }) { await mountAndWaitFor(); }); - forEach(sizes, size => { + forEach(sizes, (size) => { t.describe(`when given size = ${size}`, () => { t.it('displays an ad', async () => { await mountAndWaitFor(); diff --git a/apps/test-suite/tests/AdMobRewarded.js b/apps/test-suite/tests/AdMobRewarded.js index 443dc9ed84ee58..e65e7c98c5d9d3 100644 --- a/apps/test-suite/tests/AdMobRewarded.js +++ b/apps/test-suite/tests/AdMobRewarded.js @@ -1,6 +1,5 @@ -import { Platform } from 'react-native'; import { AdMobRewarded, setTestDeviceIDAsync } from 'expo-ads-admob'; -import { waitFor } from './helpers'; +import { Platform } from 'react-native'; export const name = 'AdMobRewarded'; diff --git a/apps/test-suite/tests/Application.js b/apps/test-suite/tests/Application.js index 38b9329523ebd5..4007cb135850b7 100644 --- a/apps/test-suite/tests/Application.js +++ b/apps/test-suite/tests/Application.js @@ -1,5 +1,6 @@ import * as Application from 'expo-application'; import { Platform } from 'react-native'; + import ExponentTest from '../ExponentTest'; export const name = 'Application'; @@ -30,7 +31,7 @@ export async function test({ describe, it, expect, jasmine }) { }); describe(`Application.getInstallationTimeAsync()`, () => { it(`returns a Date object`, async () => { - let installationTime = await Application.getInstallationTimeAsync(); + const installationTime = await Application.getInstallationTimeAsync(); expect(installationTime).toBeDefined(); expect(installationTime).toEqual(jasmine.any(Date)); }); @@ -98,7 +99,7 @@ export async function test({ describe, it, expect, jasmine }) { } else if (Platform.OS === 'android') { describe(`Android device tests`, () => { it(`gets Application.androidId as a String`, () => { - let androidId = Application.androidId; + const androidId = Application.androidId; expect(androidId).toBeDefined(); expect(androidId).toEqual(jasmine.any(String)); diff --git a/apps/test-suite/tests/Asset.js b/apps/test-suite/tests/Asset.js index 16eb35271da880..a0292cfddaaa29 100644 --- a/apps/test-suite/tests/Asset.js +++ b/apps/test-suite/tests/Asset.js @@ -1,7 +1,7 @@ 'use strict'; -import * as FileSystem from 'expo-file-system'; import { Asset } from 'expo-asset'; +import * as FileSystem from 'expo-file-system'; export const name = 'Asset'; @@ -34,7 +34,7 @@ export function test(t) { const asset = Asset.fromModule(module); t.expect(asset.name).toBe(name); t.expect(asset.type).toBe(type); - Object.keys(more).forEach(member => t.expect(asset[member]).toBe(more[member])); + Object.keys(more).forEach((member) => t.expect(asset[member]).toBe(more[member])); }); t.it("when downloaded, has a 'file://' localUri", async () => { @@ -50,7 +50,11 @@ export function test(t) { const asset = Asset.fromModule(module); await asset.downloadAsync(); - const { exists, md5, uri: cacheUri } = await FileSystem.getInfoAsync(asset.localUri, { + const { + exists, + md5, + uri: cacheUri, + } = await FileSystem.getInfoAsync(asset.localUri, { cache: true, md5: true, }); diff --git a/apps/test-suite/tests/Asset.web.js b/apps/test-suite/tests/Asset.web.js index 4b3ffc22ef1cba..67fc41bb03da69 100644 --- a/apps/test-suite/tests/Asset.web.js +++ b/apps/test-suite/tests/Asset.web.js @@ -27,7 +27,7 @@ export async function test(t) { t.expect(asset.name).toMatch(new RegExp(`${name}.*\.${type}`)); t.expect(asset.type).toBe(type); console.log(asset); - Object.keys(more).forEach(member => t.expect(asset[member]).toBe(more[member])); + Object.keys(more).forEach((member) => t.expect(asset[member]).toBe(more[member])); }); t.it("when downloaded, has a 'file://' localUri", async () => { diff --git a/apps/test-suite/tests/BarCodeScanner.js b/apps/test-suite/tests/BarCodeScanner.js index ae079f030e7617..99f8e2822df97f 100644 --- a/apps/test-suite/tests/BarCodeScanner.js +++ b/apps/test-suite/tests/BarCodeScanner.js @@ -12,7 +12,8 @@ export const name = 'BarCodeScanner'; const style = { width: 200, height: 200 }; export async function test(t, { setPortalChild, cleanupPortal }) { - const shouldSkipTestsRequiringPermissions = await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); + const shouldSkipTestsRequiringPermissions = + await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); const describeWithPermissions = shouldSkipTestsRequiringPermissions ? t.xdescribe : t.describe; const testPoint = (value, expected, inaccuracy) => { @@ -38,7 +39,7 @@ export async function test(t, { setPortalChild, cleanupPortal }) { describeWithPermissions('BarCodeScanner', () => { const mountAndWaitFor = (child, propName = 'ref') => - new Promise(resolve => { + new Promise((resolve) => { const response = originalMountAndWaitFor(child, propName, setPortalChild); setTimeout(() => resolve(response), 1500); }); diff --git a/apps/test-suite/tests/Basic.js b/apps/test-suite/tests/Basic.js index 46894309fc878e..1c4a617e6cf170 100644 --- a/apps/test-suite/tests/Basic.js +++ b/apps/test-suite/tests/Basic.js @@ -5,7 +5,7 @@ export const name = 'Basic'; export function test(t) { t.describe('Basic', () => { t.it('waits 0.5 seconds and passes', async () => { - await new Promise(resolve => setTimeout(resolve, 500)); + await new Promise((resolve) => setTimeout(resolve, 500)); t.expect(true).toBe(true); }); t.it('2 + 2 is 4?', () => { diff --git a/apps/test-suite/tests/Brightness.js b/apps/test-suite/tests/Brightness.js index 6ba28511304d87..faaec0d58f1c1d 100644 --- a/apps/test-suite/tests/Brightness.js +++ b/apps/test-suite/tests/Brightness.js @@ -7,7 +7,8 @@ export const name = 'Brightness'; export const EPSILON = Math.pow(10, -5); export async function test(t) { - const shouldSkipTestsRequiringPermissions = await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); + const shouldSkipTestsRequiringPermissions = + await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); const describeWithPermissions = shouldSkipTestsRequiringPermissions ? t.xdescribe : t.describe; t.describe(name, () => { diff --git a/apps/test-suite/tests/Calendar.js b/apps/test-suite/tests/Calendar.js index eeb8fbb97f55bd..a88b155407045f 100644 --- a/apps/test-suite/tests/Calendar.js +++ b/apps/test-suite/tests/Calendar.js @@ -25,13 +25,13 @@ async function createTestCalendarAsync(patch = {}) { async function getCalendarByIdAsync(calendarId) { const calendars = await Calendar.getCalendarsAsync(); - return calendars.find(calendar => calendar.id === calendarId); + return calendars.find((calendar) => calendar.id === calendarId); } async function pickCalendarSourceIdAsync() { if (Platform.OS === 'ios') { const sources = await Calendar.getSourcesAsync(); - const mainSource = sources.find(source => source.name === 'iCloud') || sources[0]; + const mainSource = sources.find((source) => source.name === 'iCloud') || sources[0]; return mainSource && mainSource.id; } } @@ -62,11 +62,12 @@ async function createTestAttendeeAsync(eventId) { async function getAttendeeByIdAsync(eventId, attendeeId) { const attendees = await Calendar.getAttendeesForEventAsync(eventId); - return attendees.find(attendee => attendee.id === attendeeId); + return attendees.find((attendee) => attendee.id === attendeeId); } export async function test(t) { - const shouldSkipTestsRequiringPermissions = await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); + const shouldSkipTestsRequiringPermissions = + await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); const describeWithPermissions = shouldSkipTestsRequiringPermissions ? t.xdescribe : t.describe; function testCalendarShape(calendar) { @@ -79,7 +80,7 @@ export async function test(t) { t.expect(typeof calendar.allowsModifications).toBe('boolean'); t.expect(Array.isArray(calendar.allowedAvailabilities)).toBe(true); - calendar.allowedAvailabilities.forEach(availability => { + calendar.allowedAvailabilities.forEach((availability) => { t.expect(Object.values(Calendar.Availability)).toContain(availability); }); @@ -97,12 +98,12 @@ export async function test(t) { calendar.timeZone && t.expect(typeof calendar.timeZone).toBe('string'); t.expect(Array.isArray(calendar.allowedReminders)).toBe(true); - calendar.allowedReminders.forEach(reminder => { + calendar.allowedReminders.forEach((reminder) => { t.expect(Object.values(Calendar.AlarmMethod)).toContain(reminder); }); t.expect(Array.isArray(calendar.allowedAttendeeTypes)).toBe(true); - calendar.allowedAttendeeTypes.forEach(attendeeType => { + calendar.allowedAttendeeTypes.forEach((attendeeType) => { t.expect(Object.values(Calendar.AttendeeType)).toContain(attendeeType); }); @@ -273,7 +274,7 @@ export async function test(t) { await Calendar.deleteCalendarAsync(calendarId); const calendars = await Calendar.getCalendarsAsync(); - t.expect(calendars.findIndex(calendar => calendar.id === calendarId)).toBe(-1); + t.expect(calendars.findIndex((calendar) => calendar.id === calendarId)).toBe(-1); }); }); @@ -460,7 +461,7 @@ export async function test(t) { t.expect(Array.isArray(attendees)).toBe(true); - const newAttendee = attendees.find(attendee => attendee.id === attendeeId); + const newAttendee = attendees.find((attendee) => attendee.id === attendeeId); t.expect(newAttendee).toBeDefined(); testAttendeeShape(newAttendee); diff --git a/apps/test-suite/tests/CalendarReminders.js b/apps/test-suite/tests/CalendarReminders.js index 0b70cfddea5f09..3fe63b28fbdfa7 100644 --- a/apps/test-suite/tests/CalendarReminders.js +++ b/apps/test-suite/tests/CalendarReminders.js @@ -14,11 +14,6 @@ async function createTestReminderAsync(calendarId) { }); } -async function getFirstCalendarForRemindersAsync() { - const calendars = await Calendar.getCalendarsAsync(Calendar.EntityTypes.REMINDER); - return calendars[0] && calendars[0].id; -} - function expectMethodsToReject(t, methods) { for (const methodName of methods) { t.describe(`${methodName}()`, () => { @@ -47,7 +42,8 @@ function testReminderShape(t, reminder) { } export async function test(t) { - const shouldSkipTestsRequiringPermissions = await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); + const shouldSkipTestsRequiringPermissions = + await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); const describeWithPermissions = shouldSkipTestsRequiringPermissions ? t.xdescribe : t.describe; describeWithPermissions('CalendarReminders', () => { diff --git a/apps/test-suite/tests/Camera.js b/apps/test-suite/tests/Camera.js index dbcf84d3899255..e8747d912ea73c 100644 --- a/apps/test-suite/tests/Camera.js +++ b/apps/test-suite/tests/Camera.js @@ -10,19 +10,20 @@ export const name = 'Camera'; const style = { width: 200, height: 200 }; export async function test(t, { setPortalChild, cleanupPortal }) { - const shouldSkipTestsRequiringPermissions = await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); + const shouldSkipTestsRequiringPermissions = + await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); const describeWithPermissions = shouldSkipTestsRequiringPermissions ? t.xdescribe : t.describe; describeWithPermissions('Camera', () => { let instance = null; let originalTimeout; - const refSetter = ref => { + const refSetter = (ref) => { instance = ref; }; const mountAndWaitFor = (child, propName = 'onCameraReady') => - new Promise(resolve => { + new Promise((resolve) => { const response = originalMountAndWaitFor(child, propName, setPortalChild); setTimeout(() => resolve(response), 1500); }); @@ -260,7 +261,7 @@ export async function test(t, { setPortalChild, cleanupPortal }) { .recordAsync({ codec: '123', }) - .catch(error => { + .catch((error) => { t.expect(error.message).toMatch(/(?=.*codec)(?=.*is not supported)/i); }); }); @@ -292,7 +293,7 @@ export async function test(t, { setPortalChild, cleanupPortal }) { }); // Test for the fix to: https://github.com/expo/expo/issues/1976 - const testFrontCameraRecording = async camera => { + const testFrontCameraRecording = async (camera) => { await mountAndWaitFor(camera); const response = await instance.recordAsync({ maxDuration: 2 }); @@ -350,7 +351,7 @@ export async function test(t, { setPortalChild, cleanupPortal }) { t.it('started/stopped manually', async () => { await mountAndWaitFor(); - const recordFor = duration => + const recordFor = (duration) => new Promise(async (resolve, reject) => { const recordingPromise = instance.recordAsync(); await waitFor(duration); @@ -373,7 +374,7 @@ export async function test(t, { setPortalChild, cleanupPortal }) { t.it('started/stopped automatically', async () => { await mountAndWaitFor(); - const recordFor = duration => + const recordFor = (duration) => new Promise(async (resolve, reject) => { try { const response = await instance.recordAsync({ maxDuration: duration / 1000 }); diff --git a/apps/test-suite/tests/Constants.js b/apps/test-suite/tests/Constants.js index e6a1701734847a..085fed630b7ad8 100644 --- a/apps/test-suite/tests/Constants.js +++ b/apps/test-suite/tests/Constants.js @@ -6,7 +6,7 @@ export const name = 'Constants'; export function test(t) { t.describe('Constants', () => { - ['expoVersion', 'linkingUri'].forEach(v => + ['expoVersion', 'linkingUri'].forEach((v) => t.it(`can only use ${v} in the managed workflow`, () => { if ( Constants.appOwnership === 'expo' || @@ -28,7 +28,7 @@ export function test(t) { 'manifest', 'nativeAppVersion', 'nativeBuildVersion', - ].forEach(v => + ].forEach((v) => t.it(`has ${v}`, () => { t.expect(Constants[v]).toBeDefined(); }) diff --git a/apps/test-suite/tests/Contacts.js b/apps/test-suite/tests/Contacts.js index 4e8a7311a23ec9..cd41a28430c3e2 100644 --- a/apps/test-suite/tests/Contacts.js +++ b/apps/test-suite/tests/Contacts.js @@ -19,24 +19,15 @@ async function sortContacts(contacts, sortField, expect) { } } -export async function test({ - describe, - it, - xdescribe, - xit, - fit, - jasmine, - expect, - afterAll, - beforeAll, -}) { - const shouldSkipTestsRequiringPermissions = await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); +export async function test({ describe, it, xdescribe, jasmine, expect, afterAll }) { + const shouldSkipTestsRequiringPermissions = + await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); const describeWithPermissions = shouldSkipTestsRequiringPermissions ? xdescribe : describe; function compareArrays(array, expected) { return expected.reduce( (result, expectedItem) => - result && array.filter(item => compareObjects(item, expectedItem)).length, + result && array.filter((item) => compareObjects(item, expectedItem)).length, true ); } @@ -80,7 +71,7 @@ export async function test({ }); const createdContactIds = []; - const createContact = async contact => { + const createContact = async (contact) => { const id = await Contacts.addContactAsync(contact); createdContactIds.push({ id, contact }); return id; @@ -123,7 +114,7 @@ export async function test({ ]; await Promise.all( - contacts.map(async contact => { + contacts.map(async (contact) => { const id = await createContact(contact); expect(typeof id).toBe('string'); }) @@ -227,7 +218,7 @@ export async function test({ const newContactId = await createContact(contact); - const { data, hasNextPage, hasPreviousPage, ...props } = await Contacts.getContactsAsync({ + const { data, hasNextPage, hasPreviousPage } = await Contacts.getContactsAsync({ id: newContactId, }); @@ -554,8 +545,8 @@ export async function test({ let errorMessage; try { await Contacts.removeGroupAsync('some-value'); - } catch ({ message }) { - errorMessage = message; + } catch (e) { + errorMessage = e.message; } finally { expect(errorMessage).toBe( `The method or property Contacts.removeGroupAsync is not available on android, are you sure you've linked all the native dependencies properly?` @@ -566,8 +557,8 @@ export async function test({ let errorMessage; try { await Contacts.removeGroupAsync(group.id); - } catch ({ message }) { - errorMessage = message; + } catch (e) { + errorMessage = e.message; } expect(errorMessage).toBeUndefined(); } diff --git a/apps/test-suite/tests/Device.js b/apps/test-suite/tests/Device.js index 2975eee6d3030d..d6e0bd521c6bc5 100644 --- a/apps/test-suite/tests/Device.js +++ b/apps/test-suite/tests/Device.js @@ -7,14 +7,14 @@ export const name = 'Device'; export async function test(t) { t.describe(`Device.getDeviceType()`, () => { t.it(`returns enum values`, async () => { - let deviceType = await Device.getDeviceTypeAsync(); + const deviceType = await Device.getDeviceTypeAsync(); t.expect(Object.values(Device.DeviceType).includes(deviceType)).toBeTruthy(); }); }); t.describe(`Device.getUptimeAsync()`, () => { t.it(`calls getUptimeAsync() and returns number`, async () => { - let uptime = await Device.getUptimeAsync(); + const uptime = await Device.getUptimeAsync(); t.expect(uptime).toBeDefined(); t.expect(typeof uptime).toEqual('number'); }); @@ -23,17 +23,17 @@ export async function test(t) { if (Platform.OS === 'ios') { t.describe(`Device on iOS`, () => { t.it(`gets most constants and correct types`, async () => { - let brand = Device.brand; - let manufacturer = Device.manufacturer; - let modelName = Device.modelName; - let osName = Device.osName; - let totalMemory = Device.totalMemory; - let isDevice = Device.isDevice; - let osBuildId = Device.osBuildId; - let osInternalBuildId = Device.osInternalBuildId; - let osVersion = Device.osVersion; - let deviceName = Device.deviceName; - let deviceYearClass = Device.deviceYearClass; + const brand = Device.brand; + const manufacturer = Device.manufacturer; + const modelName = Device.modelName; + const osName = Device.osName; + const totalMemory = Device.totalMemory; + const isDevice = Device.isDevice; + const osBuildId = Device.osBuildId; + const osInternalBuildId = Device.osInternalBuildId; + const osVersion = Device.osVersion; + const deviceName = Device.deviceName; + const deviceYearClass = Device.deviceYearClass; t.expect(brand).toBeDefined(); t.expect(typeof brand).toEqual('string'); t.expect(manufacturer).toBeDefined(); @@ -59,10 +59,10 @@ export async function test(t) { }); t.it(`doesn't get Android-only constants`, async () => { - let osBuildFingerprint = Device.osBuildFingerprint; - let designName = Device.designName; - let productName = Device.productName; - let platformApiLevel = Device.platformApiLevel; + const osBuildFingerprint = Device.osBuildFingerprint; + const designName = Device.designName; + const productName = Device.productName; + const platformApiLevel = Device.platformApiLevel; t.expect(designName).toBeNull(); t.expect(productName).toBeNull(); t.expect(platformApiLevel).toBeNull(); @@ -70,14 +70,12 @@ export async function test(t) { }); t.it(`getPlatformFeaturesAsync() returns empty array on iOS`, async () => { - let allFeatures; - allFeatures = await Device.getPlatformFeaturesAsync(); + const allFeatures = await Device.getPlatformFeaturesAsync(); t.expect(allFeatures).toEqual([]); }); t.it(`hasPlatformFeatureAsync() returns false on iOS`, async () => { - let hasFeature; - hasFeature = await Device.hasPlatformFeatureAsync('amazon_fire_tv'); + const hasFeature = await Device.hasPlatformFeatureAsync('amazon_fire_tv'); t.expect(hasFeature).toEqual(false); }); @@ -106,8 +104,8 @@ export async function test(t) { }); t.it(`gets osBuildId same as osInternalBuildId`, async () => { - let osBuildId = await Device.osBuildId; - let osInternalBuildId = await Device.osInternalBuildId; + const osBuildId = await Device.osBuildId; + const osInternalBuildId = await Device.osInternalBuildId; t.expect(Device.osBuildId).toBeTruthy(); t.expect(Device.osInternalBuildId).toBeTruthy(); t.expect(osBuildId).toEqual(osInternalBuildId); @@ -116,21 +114,21 @@ export async function test(t) { } else if (Platform.OS === 'android') { t.describe(`Device on Android`, () => { t.it(`gets constants and correct types`, async () => { - let designName = await Device.designName; - let productName = await Device.productName; - let brand = await Device.brand; - let manufacturer = await Device.manufacturer; - let modelName = await Device.modelName; - let osName = await Device.osName; - let totalMemory = await Device.totalMemory; - let isDevice = await Device.isDevice; - let osBuildId = await Device.osBuildId; - let osBuildFingerprint = await Device.osBuildFingerprint; - let osInternalBuildId = await Device.osInternalBuildId; - let platformApiLevel = await Device.platformApiLevel; - let osVersion = await Device.osVersion; - let deviceName = await Device.deviceName; - let deviceYearClass = await Device.deviceYearClass; + const designName = await Device.designName; + const productName = await Device.productName; + const brand = await Device.brand; + const manufacturer = await Device.manufacturer; + const modelName = await Device.modelName; + const osName = await Device.osName; + const totalMemory = await Device.totalMemory; + const isDevice = await Device.isDevice; + const osBuildId = await Device.osBuildId; + const osBuildFingerprint = await Device.osBuildFingerprint; + const osInternalBuildId = await Device.osInternalBuildId; + const platformApiLevel = await Device.platformApiLevel; + const osVersion = await Device.osVersion; + const deviceName = await Device.deviceName; + const deviceYearClass = await Device.deviceYearClass; t.expect(designName).toBeDefined(); t.expect(typeof designName).toEqual('string'); t.expect(productName).toBeDefined(); @@ -181,6 +179,7 @@ export async function test(t) { error = e; } t.expect(hasFeature).toEqual(t.jasmine.any(Boolean)); + t.expect(error).toBeUndefined(); }); t.it( @@ -195,16 +194,17 @@ export async function test(t) { } t.expect(hasFeature).toEqual(t.jasmine.any(Boolean)); t.expect(hasFeature).toEqual(false); + t.expect(error).toBeUndefined(); } ); t.it(`calls getMaxMemoryAsync() and returns a number under integer limit`, async () => { - let maxMemory = await Device.getMaxMemoryAsync(); + const maxMemory = await Device.getMaxMemoryAsync(); t.expect(maxMemory).toBeLessThanOrEqual(Number.MAX_SAFE_INTEGER); }); t.it(`calls getPlatformFeaturesAsync()`, async () => { - let allFeatures = await Device.getPlatformFeaturesAsync(); + const allFeatures = await Device.getPlatformFeaturesAsync(); t.expect(allFeatures).toBeDefined(); }); }); diff --git a/apps/test-suite/tests/FBBannerAd.js b/apps/test-suite/tests/FBBannerAd.js index 66371bcbaec68e..83e2c40e9e268b 100644 --- a/apps/test-suite/tests/FBBannerAd.js +++ b/apps/test-suite/tests/FBBannerAd.js @@ -1,7 +1,8 @@ 'use strict'; -import React from 'react'; import * as FacebookAds from 'expo-ads-facebook'; +import React from 'react'; + import { mountAndWaitForWithTimeout } from './helpers'; const { BannerAd, AdSettings } = FacebookAds; diff --git a/apps/test-suite/tests/FBNativeAd.js b/apps/test-suite/tests/FBNativeAd.js index 813b8bb7028988..9ef3382978a71d 100644 --- a/apps/test-suite/tests/FBNativeAd.js +++ b/apps/test-suite/tests/FBNativeAd.js @@ -4,14 +4,8 @@ import * as FacebookAds from 'expo-ads-facebook'; import React from 'react'; import { View, Text } from 'react-native'; -const { - NativeAdsManager, - AdSettings, - withNativeAd, - AdMediaView, - AdIconView, - AdTriggerView, -} = FacebookAds; +const { NativeAdsManager, AdSettings, withNativeAd, AdMediaView, AdIconView, AdTriggerView } = + FacebookAds; try { AdSettings.addTestDevice(AdSettings.currentDeviceHash); @@ -70,7 +64,7 @@ export function test(t, { setPortalChild, cleanupPortal }) { t.describe('when given a valid placementId', () => { let nativeAd; - const mountAndWaitFor = child => + const mountAndWaitFor = (child) => new Promise((resolve, reject) => { const clonedChild = React.cloneElement(child, { onAdLoaded: resolve, onError: reject }); setPortalChild(clonedChild); @@ -92,7 +86,7 @@ export function test(t, { setPortalChild, cleanupPortal }) { 30000 ); - variables.forEach(variable => { + variables.forEach((variable) => { t.it(`checking if variable ${variable} is not null`, () => { t.expect(nativeAd ? nativeAd[variable] : null).not.toBeNull(); }); diff --git a/apps/test-suite/tests/FileSystem.js b/apps/test-suite/tests/FileSystem.js index 3d4b0037912881..e3c088bb8a1d91 100644 --- a/apps/test-suite/tests/FileSystem.js +++ b/apps/test-suite/tests/FileSystem.js @@ -9,7 +9,7 @@ export const name = 'FileSystem'; export async function test({ describe, expect, it, ...t }) { describe('FileSystem', () => { - const throws = async run => { + const throws = async (run) => { let error = null; try { await run(); @@ -47,40 +47,33 @@ export async function test({ describe, expect, it, ...t }) { return; } - it( - 'delete(idempotent) -> !exists -> download(md5, uri) -> exists ' + '-> delete -> !exists', - async () => { - const localUri = FS.documentDirectory + 'download1.png'; - - const assertExists = async expectedToExist => { - const { exists } = await FS.getInfoAsync(localUri); - if (expectedToExist) { - expect(exists).toBeTruthy(); - } else { - expect(exists).not.toBeTruthy(); - } - }; + it('delete(idempotent) -> !exists -> download(md5, uri) -> exists -> delete -> !exists', async () => { + const localUri = FS.documentDirectory + 'download1.png'; - await FS.deleteAsync(localUri, { idempotent: true }); - await assertExists(false); + const assertExists = async (expectedToExist) => { + const { exists } = await FS.getInfoAsync(localUri); + if (expectedToExist) { + expect(exists).toBeTruthy(); + } else { + expect(exists).not.toBeTruthy(); + } + }; - const { - md5, - headers, - } = await FS.downloadAsync( - 'https://s3-us-west-1.amazonaws.com/test-suite-data/avatar2.png', - localUri, - { md5: true } - ); - expect(md5).toBe('1e02045c10b8f1145edc7c8375998f87'); - await assertExists(true); - expect(headers['Content-Type']).toBe('image/png'); + await FS.deleteAsync(localUri, { idempotent: true }); + await assertExists(false); - await FS.deleteAsync(localUri); - await assertExists(false); - }, - 9000 - ); + const { md5, headers } = await FS.downloadAsync( + 'https://s3-us-west-1.amazonaws.com/test-suite-data/avatar2.png', + localUri, + { md5: true } + ); + expect(md5).toBe('1e02045c10b8f1145edc7c8375998f87'); + await assertExists(true); + expect(headers['Content-Type']).toBe('image/png'); + + await FS.deleteAsync(localUri); + await assertExists(false); + }, 9000); it('Can read/write Base64', async () => { const asset = await Asset.fromModule(require('../assets/icons/app.png')); @@ -125,9 +118,7 @@ export async function test({ describe, expect, it, ...t }) { it('download(md5, uri) -> read -> delete -> !exists -> read[error]', async () => { const localUri = FS.documentDirectory + 'download1.txt'; - const { - md5, - } = await FS.downloadAsync( + const { md5 } = await FS.downloadAsync( 'https://s3-us-west-1.amazonaws.com/test-suite-data/text-file.txt', localUri, { md5: true } @@ -156,7 +147,7 @@ export async function test({ describe, expect, it, ...t }) { const { exists } = await FS.getInfoAsync(localUri); expect(exists).not.toBeTruthy(); - const writeAndVerify = async expected => { + const writeAndVerify = async (expected) => { await FS.writeAsStringAsync(localUri, expected); const string = await FS.readAsStringAsync(localUri); expect(string).toBe(expected); @@ -385,9 +376,7 @@ export async function test({ describe, expect, it, ...t }) { await FS.deleteAsync(localUri, { idempotent: true }); - const { - md5, - } = await FS.downloadAsync( + const { md5 } = await FS.downloadAsync( 'https://s3-us-west-1.amazonaws.com/test-suite-data/avatar2.png', localUri, { md5: true } @@ -419,7 +408,7 @@ export async function test({ describe, expect, it, ...t }) { it('download(network failure)', async () => { const localUri = FS.documentDirectory + 'download1.png'; - const assertExists = async expectedToExist => { + const assertExists = async (expectedToExist) => { const { exists } = await FS.getInfoAsync(localUri); if (expectedToExist) { expect(exists).toBeTruthy(); @@ -448,7 +437,7 @@ export async function test({ describe, expect, it, ...t }) { it('download(404)', async () => { const localUri = FS.documentDirectory + 'download1.png'; - const assertExists = async expectedToExist => { + const assertExists = async (expectedToExist) => { const { exists } = await FS.getInfoAsync(localUri); if (expectedToExist) { expect(exists).toBeTruthy(); diff --git a/apps/test-suite/tests/FirebaseJSSDKCompat.js b/apps/test-suite/tests/FirebaseJSSDKCompat.js index e5e3bea66ccaa9..932de4fc5f11b2 100644 --- a/apps/test-suite/tests/FirebaseJSSDKCompat.js +++ b/apps/test-suite/tests/FirebaseJSSDKCompat.js @@ -58,10 +58,7 @@ export async function test({ describe, it, expect, beforeAll }) { it(`reads data once`, async () => { let error = null; try { - const snapshot = await firebase - .database() - .ref('/test1') - .once('value'); + const snapshot = await firebase.database().ref('/test1').once('value'); expect(snapshot.val()).toBe('foobar'); } catch (e) { error = e; @@ -78,10 +75,7 @@ export async function test({ describe, it, expect, beforeAll }) { it(`gets a collection`, async () => { let error = null; try { - const { docs } = await firebase - .firestore() - .collection('tests') - .get(); + const { docs } = await firebase.firestore().collection('tests').get(); expect(docs.length).toBeGreaterThan(0); } catch (e) { error = e; @@ -91,10 +85,7 @@ export async function test({ describe, it, expect, beforeAll }) { it(`gets a document`, async () => { let error = null; try { - const snapshot = await firebase - .firestore() - .doc('tests/doc1') - .get(); + const snapshot = await firebase.firestore().doc('tests/doc1').get(); expect(snapshot).not.toBeNull(); } catch (e) { error = e; @@ -131,10 +122,7 @@ export async function test({ describe, it, expect, beforeAll }) { it(`lists all files`, async () => { let error = null; try { - const files = await firebase - .storage() - .ref('public') - .listAll(); + const files = await firebase.storage().ref('public').listAll(); expect(files.items.length).toBeGreaterThan(0); } catch (e) { error = e; @@ -144,10 +132,7 @@ export async function test({ describe, it, expect, beforeAll }) { it(`downloads a file`, async () => { let error = null; try { - const files = await firebase - .storage() - .ref('public') - .listAll(); + const files = await firebase.storage().ref('public').listAll(); expect(files.items.length).toBeGreaterThan(0); const file = files.items[0]; const downloadUrl = await file.getDownloadURL(); diff --git a/apps/test-suite/tests/FirebaseRecaptcha.js b/apps/test-suite/tests/FirebaseRecaptcha.js index 9faa82b6204a1d..b5697fb2c3e596 100644 --- a/apps/test-suite/tests/FirebaseRecaptcha.js +++ b/apps/test-suite/tests/FirebaseRecaptcha.js @@ -33,7 +33,7 @@ export async function test( it(`mounts`, async () => { await mountAndWaitFor( (ref ? ref.verify() : undefined)} + ref={(ref) => (ref ? ref.verify() : undefined)} style={style} firebaseConfig={firebaseConfig} /> diff --git a/apps/test-suite/tests/Font.js b/apps/test-suite/tests/Font.js index a7b0d19340b145..c955c859c64850 100644 --- a/apps/test-suite/tests/Font.js +++ b/apps/test-suite/tests/Font.js @@ -40,7 +40,7 @@ export async function test({ beforeEach, afterAll, describe, it, expect }) { if (Platform.OS === 'web') { const styleSheet = document.getElementById('expo-generated-fonts'); expect(!!styleSheet).toBe(true); - const [rule] = [...styleSheet.sheet.cssRules].filter(rule => { + const [rule] = [...styleSheet.sheet.cssRules].filter((rule) => { return ( rule instanceof CSSFontFaceRule && rule.style.fontFamily === 'cool-font' && diff --git a/apps/test-suite/tests/GLView.js b/apps/test-suite/tests/GLView.js index 3c894909aed768..d2c0d13452a0d1 100644 --- a/apps/test-suite/tests/GLView.js +++ b/apps/test-suite/tests/GLView.js @@ -16,7 +16,7 @@ export async function test( let instance = null; let originalTimeout; - const refSetter = ref => { + const refSetter = (ref) => { instance = ref; }; @@ -35,9 +35,9 @@ export async function test( }); function getContextAsync() { - return new Promise(async resolve => { + return new Promise(async (resolve) => { await mountAndWaitFor( - resolve(context)} ref={refSetter} style={style} />, + resolve(context)} ref={refSetter} style={style} />, 'onContextCreate', setPortalChild ); diff --git a/apps/test-suite/tests/GoogleSignIn.js b/apps/test-suite/tests/GoogleSignIn.js index bd6e5a531b257c..2032ca066402b7 100644 --- a/apps/test-suite/tests/GoogleSignIn.js +++ b/apps/test-suite/tests/GoogleSignIn.js @@ -51,7 +51,7 @@ export async function test({ it('has constants', () => { function validateConstants(constants) { expect(constants).toBeDefined(); - Object.values(constants).map(constant => { + Object.values(constants).map((constant) => { expect(typeof constant).toBe('string'); }); } diff --git a/apps/test-suite/tests/ImageManipulator.js b/apps/test-suite/tests/ImageManipulator.js index 7f2a6242ce57d6..3ec8c55ba17938 100644 --- a/apps/test-suite/tests/ImageManipulator.js +++ b/apps/test-suite/tests/ImageManipulator.js @@ -105,8 +105,8 @@ export async function test(t) { ); if (Platform.OS === 'web') { - const imageInfo = await fetch(image.localUri).then(a => a.blob()); - const resultInfo = await fetch(result.uri).then(a => a.blob()); + const imageInfo = await fetch(image.localUri).then((a) => a.blob()); + const resultInfo = await fetch(result.uri).then((a) => a.blob()); t.expect(imageInfo.size).toBeGreaterThan(resultInfo.size); } else { diff --git a/apps/test-suite/tests/Location.js b/apps/test-suite/tests/Location.js index 7d436cc7a914df..100f8d5595c8bc 100644 --- a/apps/test-suite/tests/Location.js +++ b/apps/test-suite/tests/Location.js @@ -13,10 +13,11 @@ const GEOFENCING_TASK = 'geofencing-task'; export const name = 'Location'; export async function test(t) { - const shouldSkipTestsRequiringPermissions = await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); + const shouldSkipTestsRequiringPermissions = + await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); const describeWithPermissions = shouldSkipTestsRequiringPermissions ? t.xdescribe : t.describe; - const testShapeOrUnauthorized = testFunction => async () => { + const testShapeOrUnauthorized = (testFunction) => async () => { const providerStatus = await Location.getProviderStatusAsync(); if (providerStatus.locationServicesEnabled) { const { status } = await TestUtils.acceptPermissionsAndRunCommandAsync(() => { @@ -212,7 +213,7 @@ export async function test(t) { 'gets a result of the correct shape (without high accuracy), or ' + 'throws error if no permission or disabled (when trying again after 1 second)', async () => { - await new Promise(resolve => setTimeout(resolve, 1000)); + await new Promise((resolve) => setTimeout(resolve, 1000)); await testShapeOrUnauthorized(() => Location.getCurrentPositionAsync({ accuracy: Location.Accuracy.Balanced, @@ -226,7 +227,7 @@ export async function test(t) { 'gets a result of the correct shape (with high accuracy), or ' + 'throws error if no permission or disabled (when trying again after 1 second)', async () => { - await new Promise(resolve => setTimeout(resolve, 1000)); + await new Promise((resolve) => setTimeout(resolve, 1000)); await testShapeOrUnauthorized(() => Location.getCurrentPositionAsync({ accuracy: Location.Accuracy.Highest, @@ -337,7 +338,7 @@ export async function test(t) { describeWithPermissions('Location.watchPositionAsync()', () => { t.it('gets a result of the correct shape', async () => { await new Promise(async (resolve, reject) => { - const subscriber = await Location.watchPositionAsync({}, location => { + const subscriber = await Location.watchPositionAsync({}, (location) => { testLocationShape(location); subscriber.remove(); resolve(); @@ -346,22 +347,22 @@ export async function test(t) { }); t.it('can be called simultaneously', async () => { - const spies = [1, 2, 3].map(number => t.jasmine.createSpy(`watchPosition${number}`)); + const spies = [1, 2, 3].map((number) => t.jasmine.createSpy(`watchPosition${number}`)); const subscribers = await Promise.all( - spies.map(spy => Location.watchPositionAsync({}, spy)) + spies.map((spy) => Location.watchPositionAsync({}, spy)) ); - await new Promise(resolve => setTimeout(resolve, 3000)); + await new Promise((resolve) => setTimeout(resolve, 3000)); - spies.forEach(spy => t.expect(spy).toHaveBeenCalled()); - subscribers.forEach(subscriber => subscriber.remove()); + spies.forEach((spy) => t.expect(spy).toHaveBeenCalled()); + subscribers.forEach((subscriber) => subscriber.remove()); }); }); if (Platform.OS !== 'web') { describeWithPermissions('Location.getHeadingAsync()', () => { - const testCompass = options => async () => { + const testCompass = (options) => async () => { // Disable Compass Test if in simulator if (Constants.isDevice) { const { status } = await TestUtils.acceptPermissionsAndRunCommandAsync(() => { @@ -434,7 +435,7 @@ export async function test(t) { t.expect(Array.isArray(result)).toBe(true); t.expect(typeof result[0]).toBe('object'); const fields = ['city', 'street', 'region', 'country', 'postalCode', 'name']; - fields.forEach(field => { + fields.forEach((field) => { t.expect( typeof result[field] === 'string' || typeof result[field] === 'undefined' ).toBe(true); diff --git a/apps/test-suite/tests/MediaLibrary.js b/apps/test-suite/tests/MediaLibrary.js index 222487c63bea5c..7abeafb3cee9a7 100644 --- a/apps/test-suite/tests/MediaLibrary.js +++ b/apps/test-suite/tests/MediaLibrary.js @@ -4,7 +4,7 @@ import { Platform } from 'react-native'; import * as TestUtils from '../TestUtils'; import { isDeviceFarm } from '../utils/Environment'; -import { waitFor } from './helpers' +import { waitFor } from './helpers'; export const name = 'MediaLibrary'; @@ -19,7 +19,7 @@ const WAIT_TIME = 1000; const IMG_NUMBER = 3; const VIDEO_NUMBER = 1; const F_SIZE = IMG_NUMBER + VIDEO_NUMBER; -const MEDIA_TYPES = [MediaLibrary.MediaType.photo, MediaLibrary.MediaType.video]; +// const MEDIA_TYPES = [MediaLibrary.MediaType.photo, MediaLibrary.MediaType.video]; const DEFAULT_MEDIA_TYPES = [MediaLibrary.MediaType.photo]; const DEFAULT_PAGE_SIZE = 20; const ASSET_KEYS = [ @@ -91,7 +91,7 @@ async function checkIfThrows(f) { } function timeoutWrapper(fun, time) { - return new Promise(resolve => { + return new Promise((resolve) => { setTimeout(() => { fun(); resolve(null); @@ -189,33 +189,33 @@ export async function test(t) { t.describe('Every return value has proper shape', async () => { t.it('createAssetAsync', () => { const keys = Object.keys(testAssets[0]); - ASSET_KEYS.forEach(key => t.expect(keys).toContain(key)); + ASSET_KEYS.forEach((key) => t.expect(keys).toContain(key)); }); t.it('getAssetInfoAsync', async () => { const { assets } = await MediaLibrary.getAssetsAsync(); const value = await MediaLibrary.getAssetInfoAsync(assets[0]); const keys = Object.keys(value); - INFO_KEYS.forEach(key => t.expect(keys).toContain(key)); + INFO_KEYS.forEach((key) => t.expect(keys).toContain(key)); }); t.it('getAlbumAsync', async () => { const value = await MediaLibrary.getAlbumAsync(ALBUM_NAME); const keys = Object.keys(value); - ALBUM_KEYS.forEach(key => t.expect(keys).toContain(key)); + ALBUM_KEYS.forEach((key) => t.expect(keys).toContain(key)); }); t.it('getAssetsAsync', async () => { const value = await MediaLibrary.getAssetsAsync(); const keys = Object.keys(value); - GET_ASSETS_KEYS.forEach(key => t.expect(keys).toContain(key)); + GET_ASSETS_KEYS.forEach((key) => t.expect(keys).toContain(key)); }); }); t.describe('Small tests', async () => { t.it('Function getAlbums returns test album', async () => { const albums = await MediaLibrary.getAlbumsAsync(); - t.expect(albums.filter(elem => elem.id === album.id).length).toBe(1); + t.expect(albums.filter((elem) => elem.id === album.id).length).toBe(1); }); t.it('getAlbum returns test album', async () => { @@ -269,31 +269,27 @@ export async function test(t) { const { assets } = await MediaLibrary.getAssetsAsync(options); t.expect(assets.length).toBeLessThanOrEqual(DEFAULT_PAGE_SIZE); t.expect(assets.length).toBeGreaterThanOrEqual(IMG_NUMBER); - assets.forEach(asset => t.expect(DEFAULT_MEDIA_TYPES).toContain(asset.mediaType)); + assets.forEach((asset) => t.expect(DEFAULT_MEDIA_TYPES).toContain(asset.mediaType)); }); t.it('album', async () => { const options = { album }; const { assets } = await MediaLibrary.getAssetsAsync(options); t.expect(assets.length).toBe(IMG_NUMBER); - assets.forEach(asset => t.expect(DEFAULT_MEDIA_TYPES).toContain(asset.mediaType)); + assets.forEach((asset) => t.expect(DEFAULT_MEDIA_TYPES).toContain(asset.mediaType)); if (Platform.OS === 'android') - assets.forEach(asset => t.expect(asset.albumId).toBe(album.id)); + assets.forEach((asset) => t.expect(asset.albumId).toBe(album.id)); }); t.it('first, after', async () => { const options = { first: 2, album }; { - const { - assets, - endCursor, - hasNextPage, - totalCount, - } = await MediaLibrary.getAssetsAsync(options); + const { assets, endCursor, hasNextPage, totalCount } = + await MediaLibrary.getAssetsAsync(options); t.expect(assets.length).toBe(2); t.expect(totalCount).toBe(IMG_NUMBER); t.expect(hasNextPage).toBeTruthy(); - assets.forEach(asset => t.expect(DEFAULT_MEDIA_TYPES).toContain(asset.mediaType)); + assets.forEach((asset) => t.expect(DEFAULT_MEDIA_TYPES).toContain(asset.mediaType)); options.after = endCursor; } { @@ -308,7 +304,7 @@ export async function test(t) { const mediaType = MediaLibrary.MediaType.video; const options = { mediaType, album }; const { assets } = await MediaLibrary.getAssetsAsync(options); - assets.forEach(asset => t.expect(asset.mediaType).toBe(mediaType)); + assets.forEach((asset) => t.expect(asset.mediaType).toBe(mediaType)); t.expect(assets.length).toBe(1); }); @@ -317,7 +313,7 @@ export async function test(t) { const options = { mediaType, album }; const { assets } = await MediaLibrary.getAssetsAsync(options); t.expect(assets.length).toBe(IMG_NUMBER); - assets.forEach(asset => t.expect(asset.mediaType).toBe(mediaType)); + assets.forEach((asset) => t.expect(asset.mediaType).toBe(mediaType)); }); t.it('check size - photo', async () => { @@ -325,7 +321,7 @@ export async function test(t) { const options = { mediaType, album }; const { assets } = await MediaLibrary.getAssetsAsync(options); t.expect(assets.length).toBe(IMG_NUMBER); - assets.forEach(asset => { + assets.forEach((asset) => { t.expect(asset.width).not.toEqual(0); t.expect(asset.height).not.toEqual(0); }); @@ -336,7 +332,7 @@ export async function test(t) { const options = { mediaType, album }; const { assets } = await MediaLibrary.getAssetsAsync(options); t.expect(assets.length).toBe(VIDEO_NUMBER); - assets.forEach(asset => { + assets.forEach((asset) => { t.expect(asset.width).not.toEqual(0); t.expect(asset.height).not.toEqual(0); }); @@ -388,7 +384,7 @@ export async function test(t) { ios: ['isNetworkAsset'], default: [], }); - expectedExtraKeys.forEach(key => t.expect(keys).toContain(key)); + expectedExtraKeys.forEach((key) => t.expect(keys).toContain(key)); if (Platform.OS === 'ios') { t.expect(value['isNetworkAsset']).toBe(false); } @@ -407,7 +403,7 @@ export async function test(t) { ios: ['isNetworkAsset'], default: [], }); - expectedExtraKeys.forEach(key => t.expect(keys).not.toContain(key)); + expectedExtraKeys.forEach((key) => t.expect(keys).not.toContain(key)); }); t.it('shouldDownloadFromNetwork: false, for videos', async () => { @@ -423,7 +419,7 @@ export async function test(t) { ios: ['isNetworkAsset'], default: [], }); - expectedExtraKeys.forEach(key => t.expect(keys).toContain(key)); + expectedExtraKeys.forEach((key) => t.expect(keys).toContain(key)); if (Platform.OS === 'ios') { t.expect(value['isNetworkAsset']).toBe(false); } @@ -442,7 +438,7 @@ export async function test(t) { ios: ['isNetworkAsset'], default: [], }); - expectedExtraKeys.forEach(key => t.expect(keys).not.toContain(key)); + expectedExtraKeys.forEach((key) => t.expect(keys).not.toContain(key)); }); }); }); @@ -454,12 +450,12 @@ export async function test(t) { const assets = await getAssets(files); const result = await MediaLibrary.deleteAssetsAsync(assets); const deletedAssets = await Promise.all( - assets.map(async asset => await MediaLibrary.getAssetInfoAsync(asset)) + assets.map(async (asset) => await MediaLibrary.getAssetInfoAsync(asset)) ); t.expect(result).toEqual(true); t.expect(assets.length).not.toEqual(0); t.expect(deletedAssets.length).toEqual(assets.length); - deletedAssets.forEach(deletedAsset => t.expect(deletedAsset).toBeNull); + deletedAssets.forEach((deletedAsset) => t.expect(deletedAsset).toBeNull); }, TIMEOUT_WHEN_USER_NEEDS_TO_INTERACT ); diff --git a/apps/test-suite/tests/Network.js b/apps/test-suite/tests/Network.js index 5856f404584663..8fa793ee501994 100644 --- a/apps/test-suite/tests/Network.js +++ b/apps/test-suite/tests/Network.js @@ -1,11 +1,9 @@ import * as Network from 'expo-network'; import { Platform } from 'react-native'; -import { isDeviceFarm } from '../utils/Environment'; - export const name = 'Network'; -const Ipv4Regex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; -const macAddressRegex = /^([0-9a-fA-F]{2}[:.-]){5}[0-9a-fA-F]{2}$/; +const Ipv4Regex = + /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; export async function test(t) { if (Platform.OS === 'android') { diff --git a/apps/test-suite/tests/Notifications.js b/apps/test-suite/tests/Notifications.js index 961289124974db..dfeb5e64e0e232 100644 --- a/apps/test-suite/tests/Notifications.js +++ b/apps/test-suite/tests/Notifications.js @@ -14,7 +14,8 @@ import { waitFor } from './helpers'; export const name = 'Notifications'; export async function test(t) { - const shouldSkipTestsRequiringPermissions = await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); + const shouldSkipTestsRequiringPermissions = + await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); const describeWithPermissions = shouldSkipTestsRequiringPermissions ? t.xdescribe : t.describe; t.describe('Notifications', () => { @@ -24,7 +25,7 @@ export async function test(t) { let tokenFromMethodCall = null; t.beforeAll(() => { - subscription = Notifications.addPushTokenListener(newEvent => { + subscription = Notifications.addPushTokenListener((newEvent) => { tokenFromEvent = newEvent; }); }); @@ -131,7 +132,7 @@ export async function test(t) { expoPushToken = pushToken.data; Notifications.setNotificationHandler({ - handleNotification: async notification => { + handleNotification: async (notification) => { notificationToHandle = notification; if (handleFuncOverride) { return await handleFuncOverride(notification); @@ -143,7 +144,7 @@ export async function test(t) { }; } }, - handleSuccess: event => { + handleSuccess: (event) => { handleSuccessEvent = event; }, handleError: (...event) => { @@ -151,7 +152,7 @@ export async function test(t) { }, }); - receivedSubscription = Notifications.addNotificationReceivedListener(event => { + receivedSubscription = Notifications.addNotificationReceivedListener((event) => { receivedEvent = event; }); }); @@ -664,7 +665,7 @@ export async function test(t) { }); t.afterEach(async () => { - allTestCategoryIds.forEach(async id => { + allTestCategoryIds.forEach(async (id) => { await Notifications.deleteNotificationCategoryAsync(id); }); }); @@ -694,7 +695,7 @@ export async function test(t) { t.describe('setNotificationCategoriesAsync()', () => { t.afterEach(async () => { - allTestCategoryIds.forEach(async id => { + allTestCategoryIds.forEach(async (id) => { await Notifications.deleteNotificationCategoryAsync(id); }); }); @@ -741,7 +742,7 @@ export async function test(t) { t.describe('deleteNotificationCategoriesAsync()', () => { t.afterEach(async () => { - allTestCategoryIds.forEach(async id => { + allTestCategoryIds.forEach(async (id) => { await Notifications.deleteNotificationCategoryAsync(id); }); }); @@ -825,7 +826,7 @@ export async function test(t) { handleNotification: async () => ({ shouldShowAlert: true, }), - handleSuccess: notificationId => { + handleSuccess: (notificationId) => { notificationStatuses[notificationId] = true; }, }); @@ -975,9 +976,8 @@ export async function test(t) { 'triggers a notification which emits an event', async () => { const notificationReceivedSpy = t.jasmine.createSpy('notificationReceived'); - const subscription = Notifications.addNotificationReceivedListener( - notificationReceivedSpy - ); + const subscription = + Notifications.addNotificationReceivedListener(notificationReceivedSpy); await Notifications.scheduleNotificationAsync({ identifier, content: notification, @@ -1030,9 +1030,8 @@ export async function test(t) { 'triggers a notification which contains the custom color', async () => { const notificationReceivedSpy = t.jasmine.createSpy('notificationReceived'); - const subscription = Notifications.addNotificationReceivedListener( - notificationReceivedSpy - ); + const subscription = + Notifications.addNotificationReceivedListener(notificationReceivedSpy); await Notifications.scheduleNotificationAsync({ identifier, content: notification, @@ -1062,7 +1061,7 @@ export async function test(t) { async () => { let notificationFromEvent = undefined; Notifications.setNotificationHandler({ - handleNotification: async event => { + handleNotification: async (event) => { notificationFromEvent = event; return { shouldShowAlert: true, @@ -1086,7 +1085,7 @@ export async function test(t) { async () => { let notificationFromEvent = undefined; Notifications.setNotificationHandler({ - handleNotification: async event => { + handleNotification: async (event) => { notificationFromEvent = event; return { shouldShowAlert: true, @@ -1123,7 +1122,7 @@ export async function test(t) { async () => { let notificationFromEvent = undefined; Notifications.setNotificationHandler({ - handleNotification: async event => { + handleNotification: async (event) => { notificationFromEvent = event; return { shouldShowAlert: true, @@ -1160,7 +1159,7 @@ export async function test(t) { async () => { let notificationFromEvent = undefined; Notifications.setNotificationHandler({ - handleNotification: async event => { + handleNotification: async (event) => { notificationFromEvent = event; return { shouldShowAlert: true, @@ -1342,9 +1341,8 @@ export async function test(t) { 'schedules a notification with calendar trigger', async () => { const notificationReceivedSpy = t.jasmine.createSpy('notificationReceived'); - const subscription = Notifications.addNotificationReceivedListener( - notificationReceivedSpy - ); + const subscription = + Notifications.addNotificationReceivedListener(notificationReceivedSpy); await Notifications.scheduleNotificationAsync({ identifier, content: notification, @@ -1440,9 +1438,8 @@ export async function test(t) { 'makes a scheduled notification not trigger', async () => { const notificationReceivedSpy = t.jasmine.createSpy('notificationReceived'); - const subscription = Notifications.addNotificationReceivedListener( - notificationReceivedSpy - ); + const subscription = + Notifications.addNotificationReceivedListener(notificationReceivedSpy); await Notifications.scheduleNotificationAsync({ identifier, content: notification, @@ -1464,9 +1461,8 @@ export async function test(t) { 'removes all scheduled notifications', async () => { const notificationReceivedSpy = t.jasmine.createSpy('notificationReceived'); - const subscription = Notifications.addNotificationReceivedListener( - notificationReceivedSpy - ); + const subscription = + Notifications.addNotificationReceivedListener(notificationReceivedSpy); for (let i = 0; i < 3; i += 1) { await Notifications.scheduleNotificationAsync({ identifier: `notification-${i}`, @@ -1584,7 +1580,7 @@ export async function test(t) { shouldShowAlert: true, }), }); - subscription = Notifications.addNotificationResponseReceivedListener(anEvent => { + subscription = Notifications.addNotificationResponseReceivedListener((anEvent) => { event = anEvent; }); }); diff --git a/apps/test-suite/tests/Random.js b/apps/test-suite/tests/Random.js index ce50ab894dc5f3..7366b75c491801 100644 --- a/apps/test-suite/tests/Random.js +++ b/apps/test-suite/tests/Random.js @@ -4,15 +4,29 @@ export const name = 'Random'; export async function test({ describe, it, expect }) { describe('Random', async () => { - it('getRandomBytesAsync()', async () => { + it('gets random bytes asynchronously', async () => { const length = 4; const bytes = await Random.getRandomBytesAsync(length); + + expect(bytes instanceof Uint8Array).toBe(true); + expect(bytes.length).toBe(length); + }); + + it('gets random bytes synchronously', () => { + const length = 12; + const bytes = Random.getRandomBytes(length); + expect(bytes instanceof Uint8Array).toBe(true); expect(bytes.length).toBe(length); + }); + + // Verify with high likelihood that we get different values each time + it('is random', () => { + const length = 8; + const firstDraw = Random.getRandomBytes(length); + const secondDraw = Random.getRandomBytes(length); - // Verify with high likelihood that we get different values each time - const moreBytes = await Random.getRandomBytesAsync(length); - expect([...moreBytes]).not.toEqual([...bytes]); + expect([...firstDraw]).not.toEqual([...secondDraw]); }); }); } diff --git a/apps/test-suite/tests/Recording.js b/apps/test-suite/tests/Recording.js index 4cc4f89d79f9cb..4e3c3dffef889c 100644 --- a/apps/test-suite/tests/Recording.js +++ b/apps/test-suite/tests/Recording.js @@ -46,7 +46,8 @@ const amrSettings = { // > Source: https://developer.android.com/reference/android/media/MediaRecorder.html#stop() export async function test(t) { - const shouldSkipTestsRequiringPermissions = await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); + const shouldSkipTestsRequiringPermissions = + await TestUtils.shouldSkipTestsRequiringPermissionsAsync(); const describeWithPermissions = shouldSkipTestsRequiringPermissions ? t.xdescribe : t.describe; describeWithPermissions('Recording', () => { @@ -323,7 +324,7 @@ export async function test(t) { await recordingObject.startAsync(); const recordingDuration = defaultRecordingDurationMillis; - await new Promise(resolve => { + await new Promise((resolve) => { setTimeout(async () => { await recordingObject.stopAndUnloadAsync(); let error = null; @@ -353,7 +354,7 @@ export async function test(t) { await recordingObject.startAsync(); const recordingDuration = defaultRecordingDurationMillis; - await new Promise(resolve => { + await new Promise((resolve) => { setTimeout(async () => { await recordingObject.stopAndUnloadAsync(); let error = null; @@ -415,7 +416,7 @@ export async function test(t) { await recordingObject.startAsync(); const recordingDuration = defaultRecordingDurationMillis; - await new Promise(resolve => { + await new Promise((resolve) => { setTimeout(async () => { await recordingObject.stopAndUnloadAsync(); let error = null; @@ -446,7 +447,7 @@ export async function test(t) { await recordingObject.startAsync(); const recordingDuration = defaultRecordingDurationMillis; - await new Promise(resolve => { + await new Promise((resolve) => { setTimeout(async () => { await recordingObject.stopAndUnloadAsync(); let error = null; diff --git a/apps/test-suite/tests/SMSCommon.js b/apps/test-suite/tests/SMSCommon.js index d9c470c2f3ba6b..9406fbae41da51 100644 --- a/apps/test-suite/tests/SMSCommon.js +++ b/apps/test-suite/tests/SMSCommon.js @@ -51,12 +51,12 @@ const numbers = ['0123456789', '9876543210']; export async function loadAttachmentsAsync(expect) { const files = [pngFile, gifFile, audioFile]; - await Promise.all(files.map(file => loadAndSaveFile(file, expect))); + await Promise.all(files.map((file) => loadAndSaveFile(file, expect))); } export async function cleanupAttachmentsAsync(expect) { const files = [pngFile, gifFile, audioFile]; - await Promise.all(files.map(file => cleanupFile(file, expect))); + await Promise.all(files.map((file) => cleanupFile(file, expect))); } export async function testSMSComposeWithSingleImageAttachment(expect) { diff --git a/apps/test-suite/tests/SQLite.js b/apps/test-suite/tests/SQLite.js index 9a36195f2e19bf..4dc4a2055eba35 100644 --- a/apps/test-suite/tests/SQLite.js +++ b/apps/test-suite/tests/SQLite.js @@ -1,8 +1,8 @@ 'use strict'; -import { Platform } from 'expo-modules-core'; import { Asset } from 'expo-asset'; import * as FS from 'expo-file-system'; +import { Platform } from 'expo-modules-core'; import * as SQLite from 'expo-sqlite'; export const name = 'SQLite'; @@ -14,7 +14,7 @@ export function test(t) { const db = SQLite.openDatabase('test.db'); await new Promise((resolve, reject) => { db.transaction( - tx => { + (tx) => { const nop = () => {}; const onError = (tx, error) => reject(error); @@ -77,7 +77,7 @@ export function test(t) { const db = SQLite.openDatabase('downloaded.db'); await new Promise((resolve, reject) => { db.transaction( - tx => { + (tx) => { const onError = (tx, error) => reject(error); tx.executeSql( 'SELECT * FROM Users', @@ -104,7 +104,7 @@ export function test(t) { const db = SQLite.openDatabase('test.db'); await new Promise((resolve, reject) => { db.transaction( - tx => { + (tx) => { const nop = () => {}; const onError = (tx, error) => reject(error); @@ -152,7 +152,7 @@ export function test(t) { const db = SQLite.openDatabase('test.db'); await new Promise((resolve, reject) => { db.transaction( - tx => { + (tx) => { const nop = () => {}; const onError = (tx, error) => reject(error); @@ -198,7 +198,7 @@ export function test(t) { const db = SQLite.openDatabase('test.db'); await new Promise((resolve, reject) => { db.transaction( - tx => { + (tx) => { const nop = () => {}; const onError = (tx, error) => reject(error); @@ -243,7 +243,7 @@ export function test(t) { const db = SQLite.openDatabase('test.db'); await new Promise((resolve, reject) => { db.transaction( - tx => { + (tx) => { const nop = () => {}; const onError = (tx, error) => reject(error); @@ -290,7 +290,7 @@ export function test(t) { const db = SQLite.openDatabase('test.db'); await new Promise((resolve, reject) => { db.transaction( - tx => { + (tx) => { const nop = () => {}; const onError = (tx, error) => reject(error); @@ -314,8 +314,7 @@ export function test(t) { }); await new Promise((resolve, reject) => { db.transaction( - tx => { - const nop = () => {}; + (tx) => { const onError = (tx, error) => reject(error); tx.executeSql( 'DELETE FROM Users WHERE name=?', @@ -355,7 +354,7 @@ export function test(t) { db.exec([{ sql: 'PRAGMA foreign_keys = ON;', args: [] }], false, () => {}); await new Promise((resolve, reject) => { db.transaction( - tx => { + (tx) => { const nop = () => {}; const onError = (tx, error) => reject(error); @@ -394,7 +393,7 @@ export function test(t) { }); await new Promise((resolve, reject) => { db.transaction( - tx => { + (tx) => { const nop = () => {}; const onError = (tx, error) => reject(error); tx.executeSql('PRAGMA foreign_keys=on;', [], nop, onError); diff --git a/apps/test-suite/tests/SVG.js b/apps/test-suite/tests/SVG.js index 608352e0edff98..6b9902ea42d2ab 100644 --- a/apps/test-suite/tests/SVG.js +++ b/apps/test-suite/tests/SVG.js @@ -1,5 +1,6 @@ import * as React from 'react'; import * as Svg from 'react-native-svg'; + import { mountAndWaitFor as originalMountAndWaitFor } from './helpers'; export const name = 'SVG'; diff --git a/apps/test-suite/tests/ScreenOrientation.js b/apps/test-suite/tests/ScreenOrientation.js index 02fc15eb799ade..99f0220609970f 100644 --- a/apps/test-suite/tests/ScreenOrientation.js +++ b/apps/test-suite/tests/ScreenOrientation.js @@ -8,7 +8,7 @@ export const name = 'ScreenOrientation'; // Wait until we are in desiredOrientation // Fail if we are not in a validOrientation const applyAsync = ({ desiredOrientationLock, desiredOrientations, validOrientations }) => { - return new Promise(async function(resolve, reject) { + return new Promise(async function (resolve, reject) { let subscriptionCancelled = false; const subscription = ScreenOrientation.addOrientationChangeListener( ({ orientationInfo, orientationLock }) => { @@ -113,7 +113,7 @@ export function test(t) { t.it( 'Register for the callback, set to landscape orientation and get the correct orientation', async () => { - const callListenerAsync = new Promise(async function(resolve, reject) { + const callListenerAsync = new Promise(async function (resolve, reject) { // Register for screen orientation changes ScreenOrientation.addOrientationChangeListener(({ orientationInfo }) => { const { orientation } = orientationInfo; diff --git a/apps/test-suite/tests/Segment.js b/apps/test-suite/tests/Segment.js index 3cb37f2b862dca..0aacb1f89d1066 100644 --- a/apps/test-suite/tests/Segment.js +++ b/apps/test-suite/tests/Segment.js @@ -73,6 +73,7 @@ export function test(t) { t.it('non-existant method fails', () => { t.expect(() => { + // eslint-disable-next-line import/namespace Segment.doesNotExist(); }).toThrow(); }); diff --git a/apps/test-suite/tests/Speech.js b/apps/test-suite/tests/Speech.js index b420680711f90a..1838616ebea152 100644 --- a/apps/test-suite/tests/Speech.js +++ b/apps/test-suite/tests/Speech.js @@ -7,7 +7,7 @@ import { waitFor } from './helpers'; export const name = 'Speech'; -const longTextToSpeak = 'One ring to rule them all.'; +// const longTextToSpeak = 'One ring to rule them all.'; const shortTextToSpeak = 'Hi!'; // Some of the tests consistently fail on Android: @@ -141,7 +141,7 @@ export function test(t) { t.expect(voices.length).toBeGreaterThan(0); - t.expect(voices.map(voice => voice.language)).toContain('en-US'); + t.expect(voices.map((voice) => voice.language)).toContain('en-US'); }); }); }); diff --git a/apps/test-suite/tests/StoreReview.ios.js b/apps/test-suite/tests/StoreReview.ios.js index 2382860fcb658b..3825904647f86c 100644 --- a/apps/test-suite/tests/StoreReview.ios.js +++ b/apps/test-suite/tests/StoreReview.ios.js @@ -1,5 +1,5 @@ -import * as StoreReview from 'expo-store-review'; import Constants from 'expo-constants'; +import * as StoreReview from 'expo-store-review'; export const name = 'StoreReview'; diff --git a/apps/test-suite/tests/TaskManager.js b/apps/test-suite/tests/TaskManager.js index 2af50900a13c62..1996bcddcb23f5 100644 --- a/apps/test-suite/tests/TaskManager.js +++ b/apps/test-suite/tests/TaskManager.js @@ -78,7 +78,7 @@ export async function test(t) { t.expect(registeredTasks).toBeDefined(); t.expect(registeredTasks.length).toBe(1); - t.expect(registeredTasks.find(task => task.taskName === DEFINED_TASK_NAME)).toEqual( + t.expect(registeredTasks.find((task) => task.taskName === DEFINED_TASK_NAME)).toEqual( t.jasmine.objectContaining({ taskName: DEFINED_TASK_NAME, taskType: 'backgroundFetch', @@ -123,4 +123,4 @@ export async function test(t) { // Empty task so we can properly test some methods. // We are telling iOS that we successfully fetched new data, to prevent possible throttle from iOS -TaskManager.defineTask(DEFINED_TASK_NAME, () => BackgroundFetch.Result.NewData); +TaskManager.defineTask(DEFINED_TASK_NAME, () => BackgroundFetch.BackgroundFetchResult.NewData); diff --git a/apps/test-suite/tests/Video.js b/apps/test-suite/tests/Video.js index 5771e0182b87a1..5356eb38ee9073 100644 --- a/apps/test-suite/tests/Video.js +++ b/apps/test-suite/tests/Video.js @@ -1,9 +1,9 @@ 'use strict'; -import React from 'react'; -import { forEach } from 'lodash'; -import { Video } from 'expo-av'; import { Asset } from 'expo-asset'; +import { Video } from 'expo-av'; +import { forEach } from 'lodash'; +import React from 'react'; import { Platform } from 'react-native'; import { waitFor, retryForStatus, mountAndWaitFor as originalMountAndWaitFor } from './helpers'; diff --git a/apps/test-suite/tests/helpers.js b/apps/test-suite/tests/helpers.js index 6ee98649320104..8e77eabdf09627 100644 --- a/apps/test-suite/tests/helpers.js +++ b/apps/test-suite/tests/helpers.js @@ -5,10 +5,10 @@ import { isMatch } from 'lodash'; import React from 'react'; import { Alert } from 'react-native'; -export const waitFor = millis => new Promise(resolve => setTimeout(resolve, millis)); +export const waitFor = (millis) => new Promise((resolve) => setTimeout(resolve, millis)); -export const alertAndWaitForResponse = async message => { - return new Promise(resolve => Alert.alert(message, null, [{ text: 'OK', onPress: resolve }])); +export const alertAndWaitForResponse = async (message) => { + return new Promise((resolve) => Alert.alert(message, null, [{ text: 'OK', onPress: resolve }])); }; export const retryForStatus = (object, status) => @@ -30,13 +30,13 @@ export const retryForStatus = (object, status) => export const mountAndWaitFor = ( child: React.Node, propName = 'ref', - setPortalChild: React.Node => void + setPortalChild: (React.Node) => void ) => - new Promise(resolve => { + new Promise((resolve) => { // `ref` prop is set directly in the child, not in the `props` object. // https://github.com/facebook/react/issues/8873#issuecomment-275423780 const previousPropFunc = propName === 'ref' ? child.ref : child.props[propName]; - const newPropFunc = val => { + const newPropFunc = (val) => { previousPropFunc && previousPropFunc(val); resolve(val); }; @@ -54,7 +54,7 @@ export class TimeoutError extends Error { export const mountAndWaitForWithTimeout = ( child: React.Node, propName = 'ref', - setPortalChild: React.Node => void, + setPortalChild: (React.Node) => void, timeout ) => Promise.race([ diff --git a/apps/test-suite/webpack.config.js b/apps/test-suite/webpack.config.js index 9e748513f6886d..05d01988016be2 100644 --- a/apps/test-suite/webpack.config.js +++ b/apps/test-suite/webpack.config.js @@ -1,6 +1,6 @@ const createConfigAsync = require('@expo/webpack-config'); -module.exports = async env => { +module.exports = async (env) => { const config = await createConfigAsync(env); // allow reloading when the packages are updated. if (config.devServer) { diff --git a/changelogVersions.json b/changelogVersions.json index 513ddd3f374be9..b516cdafc77550 100644 --- a/changelogVersions.json +++ b/changelogVersions.json @@ -25,6 +25,10 @@ "expo-constants": "13.0.0", "expo-contacts": "10.0.1", "expo-crypto": "10.0.1", + "expo-dev-client": null, + "expo-dev-launcher": null, + "expo-dev-menu": null, + "expo-dev-menu-interface": null, "expo-device": "4.1.0", "expo-document-picker": "10.1.0", "expo-error-recovery": "3.0.1", diff --git a/docs/.prettierrc b/docs/.prettierrc index e8cf23480aa326..d5cc87f98a92d0 100644 --- a/docs/.prettierrc +++ b/docs/.prettierrc @@ -2,7 +2,7 @@ "printWidth": 100, "tabWidth": 2, "singleQuote": true, - "jsxBracketSameLine": true, + "bracketSameLine": true, "trailingComma": "es5", "arrowParens": "avoid" } diff --git a/docs/common/analytics.tsx b/docs/common/analytics.tsx index 38dd168575d5a9..8359d464ce0b12 100644 --- a/docs/common/analytics.tsx +++ b/docs/common/analytics.tsx @@ -18,6 +18,7 @@ export function TrackPageView({ id }: { id: string }) { window?.gtag?.('config', id, { page_path: url, transport_type: 'beacon', + anonymize_ip: true, }); }; diff --git a/docs/components/plugins/APISection.tsx b/docs/components/plugins/APISection.tsx index 39d12954134f3e..94588b5e2d04b2 100644 --- a/docs/components/plugins/APISection.tsx +++ b/docs/components/plugins/APISection.tsx @@ -2,7 +2,7 @@ import React, { useContext } from 'react'; import DocumentationPageContext from '~/components/DocumentationPageContext'; import { P } from '~/components/base/paragraph'; -import { GeneratedData } from '~/components/plugins/api/APIDataTypes'; +import { ClassDefinitionData, GeneratedData } from '~/components/plugins/api/APIDataTypes'; import APISectionClasses from '~/components/plugins/api/APISectionClasses'; import APISectionComponents from '~/components/plugins/api/APISectionComponents'; import APISectionConstants from '~/components/plugins/api/APISectionConstants'; @@ -51,7 +51,7 @@ const isComponent = ({ type, extendedTypes, signatures }: GeneratedData) => : false); const isConstant = ({ name, type }: GeneratedData) => - !['default', 'Constants'].includes(name) && + !['default', 'Constants', 'EventEmitter'].includes(name) && !(type?.name && ['React.FC', 'ForwardRefExoticComponent'].includes(type?.name)); const renderAPI = ( @@ -121,9 +121,33 @@ const renderAPI = ( entry => !isComponent(entry) && (apiName ? !entry.name.includes(apiName) : true) ); + const componentsChildren = components + .map((cls: ClassDefinitionData) => + cls.children?.filter( + child => + child.kind === TypeDocKind.Method && + child?.flags?.isExternal !== true && + child.name !== 'render' && + // note(simek): hide unannotated "private" methods + !child.name.startsWith('_') + ) + ) + .flat(); + + const methodsNames = methods.map(method => method.name); + const staticMethods = componentsChildren.filter( + // note(simek): hide duplicate exports for Camera API + method => method?.flags?.isStatic === true && !methodsNames.includes(method.name) + ); + const componentMethods = componentsChildren + .filter(method => method?.flags?.isStatic !== true && !method?.overwrites) + .filter(Boolean); + return ( <> + + diff --git a/docs/components/plugins/CodeBlocksTable.tsx b/docs/components/plugins/CodeBlocksTable.tsx new file mode 100644 index 00000000000000..f38717d4f3b1b8 --- /dev/null +++ b/docs/components/plugins/CodeBlocksTable.tsx @@ -0,0 +1,99 @@ +import { css } from '@emotion/react'; +import { theme } from '@expo/styleguide'; +import * as React from 'react'; + +import * as Constants from '~/constants/theme'; + +const MDX_CLASS_NAME_TO_TAB_NAME: Record = { + 'language-swift': 'Swift', + 'language-kotlin': 'Kotlin', + 'language-javascript': 'JavaScript', + 'language-typescript': 'TypeScript', + 'language-json': 'JSON', + 'language-ruby': 'Ruby', + 'language-groovy': 'Gradle', +}; + +const CodeSamplesCSS = css` + display: flex; + flex-direction: row; + max-width: 100%; + margin: 20px 0px; + + .code-block-column { + display: flex; + flex-direction: column; + flex: 1; + margin-right: -1px; + min-width: 0px; + + pre { + border-top-left-radius: 0px; + border-top-right-radius: 0px; + } + &:not(:first-child) pre { + border-bottom-left-radius: 0px; + } + &:not(:last-child) pre { + border-bottom-right-radius: 0px; + } + &:first-child .code-block-header { + border-top-left-radius: 4px; + } + &:last-child .code-block-header { + border-top-right-radius: 4px; + } + } + .code-block-header { + padding: 6px 16px; + background-color: ${theme.background.secondary}; + border: 1px solid ${theme.border.default}; + border-bottom-width: 0px; + + span { + color: ${theme.text.default}; + font-family: ${Constants.fonts.mono}; + font-size: 15px; + } + } + .code-block-content { + flex: 1; + overflow-x: scroll; + + pre { + height: 100%; + margin: 0px; + } + } +`; + +type Props = { + children: JSX.Element[]; + tabs?: string[]; +}; + +export function CodeBlocksTable({ children, tabs }: Props) { + const childrenArray = Array.isArray(children) ? children : [children]; + const codeBlocks = childrenArray.filter( + ({ props }) => props.mdxType === 'pre' && props.children.props.className + ); + const tabNames = + tabs || + codeBlocks.map(child => { + const className = child.props.children.props.className; + return MDX_CLASS_NAME_TO_TAB_NAME[className] || className.replace('language-', ''); + }); + + return ( +
+ {codeBlocks.map((codeBlock, index) => ( +
+
+ {tabNames[index]} +
+
{codeBlock}
+
+ ))} +
+ ); +} diff --git a/docs/components/plugins/api/APIDataTypes.ts b/docs/components/plugins/api/APIDataTypes.ts index d0b853007e1c5c..4f19c746fd188b 100644 --- a/docs/components/plugins/api/APIDataTypes.ts +++ b/docs/components/plugins/api/APIDataTypes.ts @@ -50,6 +50,7 @@ export type TypeDefinitionData = { }; declaration?: TypeDeclarationContentData; value?: string | boolean | null; + operator?: string; }; export type MethodParamData = { @@ -60,7 +61,9 @@ export type MethodParamData = { }; export type TypePropertyDataFlags = { - isOptional: boolean; + isExternal?: boolean; + isOptional?: boolean; + isStatic?: boolean; }; // Constants section diff --git a/docs/components/plugins/api/APISectionClasses.tsx b/docs/components/plugins/api/APISectionClasses.tsx index a03472750e956f..38603bca5da9d2 100644 --- a/docs/components/plugins/api/APISectionClasses.tsx +++ b/docs/components/plugins/api/APISectionClasses.tsx @@ -30,7 +30,7 @@ const renderClass = ( classCount: number ): JSX.Element => { const properties = children?.filter( - child => child.kind === TypeDocKind.Property && !child.overwrites + child => child.kind === TypeDocKind.Property && !child.overwrites && !child.name.startsWith('_') ); const methods = children?.filter(child => child.kind === TypeDocKind.Method && !child.overwrites); return ( diff --git a/docs/components/plugins/api/APISectionMethods.tsx b/docs/components/plugins/api/APISectionMethods.tsx index 94b1ceffb71641..f66f70f3d991b7 100644 --- a/docs/components/plugins/api/APISectionMethods.tsx +++ b/docs/components/plugins/api/APISectionMethods.tsx @@ -19,7 +19,7 @@ import { } from '~/components/plugins/api/APISectionUtils'; export type APISectionMethodsProps = { - data: MethodDefinitionData[]; + data: (MethodDefinitionData | PropData)[]; apiName?: string; header?: string; }; @@ -73,7 +73,9 @@ const APISectionMethods = ({ data, apiName, header = 'Methods' }: APISectionMeth data?.length ? ( <>

{header}

- {data.map((method, index) => renderMethod(method, index, data.length, apiName, header))} + {data.map((method: MethodDefinitionData | PropData, index: number) => + renderMethod(method, index, data.length, apiName, header) + )} ) : null; diff --git a/docs/components/plugins/api/APISectionUtils.tsx b/docs/components/plugins/api/APISectionUtils.tsx index f8244e51630f8a..c2ebae3b911b71 100644 --- a/docs/components/plugins/api/APISectionUtils.tsx +++ b/docs/components/plugins/api/APISectionUtils.tsx @@ -92,9 +92,6 @@ const omittableTypes = [ * Map of internal names/type names that should be replaced with something more developer-friendly. */ const replaceableTypes: Partial> = { - /** - * - */ ForwardRefExoticComponent: 'Component', }; @@ -148,6 +145,7 @@ export const resolveTypeName = ({ declaration, value, queryType, + operator, }: TypeDefinitionData): string | JSX.Element | (string | JSX.Element)[] => { try { if (name) { @@ -274,6 +272,8 @@ export const resolveTypeName = ({ {index + 1 !== array.length && ' & '} )); + } else if (type === 'typeOperator') { + return operator || 'undefined'; } else if (value === null) { return 'null'; } diff --git a/docs/constants/navigation-data.js b/docs/constants/navigation-data.js index 1b175c7c949735..96a197513bf913 100644 --- a/docs/constants/navigation-data.js +++ b/docs/constants/navigation-data.js @@ -38,6 +38,7 @@ const DIR_MAPPING = { faq: 'FAQ', troubleshooting: 'Troubleshooting', 'eas-update': 'EAS Update', + modules: 'Expo Modules', }; const processUrl = path => { diff --git a/docs/constants/navigation.js b/docs/constants/navigation.js index 5c4b3f3eff2edd..0977f5c2bfdddb 100644 --- a/docs/constants/navigation.js +++ b/docs/constants/navigation.js @@ -26,6 +26,7 @@ const GROUPS = { 'Technical Specs': ['Technical Specs'], 'Development Builds': ['Development Builds'], 'EAS Update': ['EAS Update'], + 'Expo Modules': ['Expo Modules'], }; // This array provides the **ordering** for pages within each section @@ -49,6 +50,8 @@ const sections = [ 'Migrating from Classic Updates to EAS Update', 'Using EAS Update with a bare React Native project', 'Runtime versions and updates', + 'Using environment variables with EAS Update', + 'Using expo-dev-client with EAS Update', 'Known issues', 'FAQ', ], @@ -293,19 +296,19 @@ const sections = [ { name: 'Bare Workflow', reference: [ - 'Walkthrough', + 'Bare Workflow Walkthrough', 'Up and Running', - 'Using Libraries', + 'Using libraries', 'Existing Apps', 'Installing Expo modules', 'Installing react-native-unimodules', 'Installing expo-updates', 'Supported Expo SDK APIs', - 'Using Expo client', - 'Using Expo for web', - 'Ejecting from Managed Workflow', + 'Using Expo Go in Bare Workflow', + 'Using Expo for web in Bare Workflow', 'Migrating from ExpoKit', 'Updating your App', + 'Error Recovery', ], }, { @@ -426,6 +429,16 @@ const sections = [ 'View Style Props', ], }, + { + name: 'Expo Modules', + reference: [ + 'Overview', + 'Module API', + 'Android Lifecycle Listeners', + 'iOS AppDelegate Subscribers', + 'Module Config', + ], + }, ]; // Order of sections (mapped from directory names in navigation-data.js DIR_MAPPING) @@ -438,6 +451,7 @@ const ROOT = [ 'Fundamentals', 'Distributing Your App', 'Assorted Guides', + 'Expo Modules', 'Expo Accounts', 'Bare Workflow', 'Push Notifications', diff --git a/docs/mdx-plugins/remark-export-headings.js b/docs/mdx-plugins/remark-export-headings.js index 32480974c093d8..a2147eceec86b5 100644 --- a/docs/mdx-plugins/remark-export-headings.js +++ b/docs/mdx-plugins/remark-export-headings.js @@ -1,8 +1,8 @@ const visit = require('unist-util-visit'); /** - * @typedef {import('mdast').Root} Root - https://github.com/syntax-tree/mdast#root - * @typedef {import('mdast').Heading} Heading - https://github.com/syntax-tree/mdast#heading + * @typedef {import('@types/mdast').Root} Root - https://github.com/syntax-tree/mdast#root + * @typedef {import('@types/mdast').Heading} Heading - https://github.com/syntax-tree/mdast#heading */ /** @@ -20,7 +20,7 @@ module.exports = function remarkExportHeadings(options = {}) { return tree => { const headings = []; - /** @param {Heading} node - */ + /** @param {Heading} node */ const visitor = node => { if (node.children.length > 0) { headings.push({ diff --git a/docs/mdx-plugins/remark-export-yaml.js b/docs/mdx-plugins/remark-export-yaml.js index 4980f966cf2ac4..fe3863f755aefd 100644 --- a/docs/mdx-plugins/remark-export-yaml.js +++ b/docs/mdx-plugins/remark-export-yaml.js @@ -2,8 +2,8 @@ const yaml = require('js-yaml'); const visit = require('unist-util-visit'); /** - * @typedef {import('mdast').Root} Root - https://github.com/syntax-tree/mdast#root - * @typedef {import('mdast').YAML} Yaml - https://github.com/syntax-tree/mdast#yaml + * @typedef {import('@types/mdast').Root} Root - https://github.com/syntax-tree/mdast#root + * @typedef {import('@types/mdast').YAML} Yaml - https://github.com/syntax-tree/mdast#yaml */ /** @@ -21,7 +21,7 @@ module.exports = function remarkExportYaml(options = {}) { return tree => { let yamlTransformed = false; - /** @param {Yaml} node - */ + /** @param {Yaml} node */ const visitor = node => { const data = yaml.load(node.value); diff --git a/docs/mdx-plugins/remark-link-rewrite.js b/docs/mdx-plugins/remark-link-rewrite.js index 4f0f4bb7f26ba1..fb90f1e45af58f 100644 --- a/docs/mdx-plugins/remark-link-rewrite.js +++ b/docs/mdx-plugins/remark-link-rewrite.js @@ -2,6 +2,11 @@ const path = require('path'); const visit = require('unist-util-visit'); const { URL } = require('url'); +/** + * @typedef {import('@types/mdast').Root} Root - https://github.com/syntax-tree/mdast#root + * @typedef {import('vfile').VFile} VFile - https://github.com/syntax-tree/unist#file + */ + const DEFAULT_OPTIONS = { extension: 'md', pagesDir: 'pages', @@ -24,6 +29,10 @@ const FAKE_DOMAIN = 'https://fake.domain'; module.exports = function remarkLinkRewrite(options) { const settings = { ...DEFAULT_OPTIONS, ...options }; + /** + * @param {Root} tree + * @param {VFile} file + */ return (tree, file) => { // we can't rewrite files without knowing where the file exists if (!file.cwd || !file.history || !file.history.length) { @@ -55,7 +64,8 @@ module.exports = function remarkLinkRewrite(options) { newUrl = newUrl.replace(ignoredIndex, ''); } - node.url = `/${newUrl}`; + // force forward slash on non-posix systems + node.url = `/${newUrl.replace(/\\/g, '/')}`; } }); }; diff --git a/docs/mdx-plugins/remark-link-rewrite.test.js b/docs/mdx-plugins/remark-link-rewrite.test.js index dad841e6667fb8..ff7fe7cfad1148 100644 --- a/docs/mdx-plugins/remark-link-rewrite.test.js +++ b/docs/mdx-plugins/remark-link-rewrite.test.js @@ -7,6 +7,7 @@ const makeFile = filePath => ({ cwd: '/absolue/path/to/docs', history: [path.join('/absolue/path/to/docs/pages', filePath)], }); + const rewrite = (file, url) => { const link = { type: 'link', url }; const tree = { type: 'root', children: [link] }; diff --git a/docs/package.json b/docs/package.json index 8768e987a1eb52..8eeaef457c2600 100644 --- a/docs/package.json +++ b/docs/package.json @@ -58,6 +58,7 @@ "@emotion/babel-preset-css-prop": "^11.2.0", "@testing-library/jest-dom": "5.11.0", "@testing-library/react": "10.4.3", + "@types/cacache": "^15.0.1", "@types/fs-extra": "^9.0.11", "@types/github-slugger": "^1.3.0", "@types/google.analytics": "^0.0.41", @@ -74,10 +75,10 @@ "cross-env": "^5.2.0", "danger": "^9.2.10", "esbuild-loader": "^2.13.1", - "eslint": "^7.31.0", + "eslint": "^8.6.0", "eslint-config-next": "^10.2.3", - "eslint-config-universe": "^7.0.1", - "eslint-plugin-lodash": "^7.2.0", + "eslint-config-universe": "^10.0.0", + "eslint-plugin-lodash": "^7.3.0", "http-server": "^0.12.3", "jest": "26.1.0", "js-yaml": "^4.1.0", @@ -89,7 +90,7 @@ "rimraf": "^3.0.2", "semver": "^7.3.5", "sitemap": "^6.3.0", - "typescript": "^4.0.3", + "typescript": "^4.5.4", "unist-builder": "^2.0.0" } } diff --git a/docs/pages/_app.tsx b/docs/pages/_app.tsx index d15274cf9c3aa3..8989c1006ca401 100644 --- a/docs/pages/_app.tsx +++ b/docs/pages/_app.tsx @@ -45,6 +45,7 @@ export function reportWebVitals({ id, name, label, value }: NextWebVitalsMetric) event_label: id, // Use a non-interaction event to avoid affecting bounce rate. non_interaction: true, + anonymize_ip: true, }); } @@ -66,7 +67,7 @@ function App({ Component, pageProps }: AppProps) { window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', '${googleAnalyticsId}', { 'transport_type': 'beacon' }); + gtag('config', '${googleAnalyticsId}', { 'transport_type': 'beacon', 'anonymize_ip': true }); `, }} /> diff --git a/docs/pages/accounts/account-types.md b/docs/pages/accounts/account-types.md index b3aa1dc9007c52..e541b4578d204d 100644 --- a/docs/pages/accounts/account-types.md +++ b/docs/pages/accounts/account-types.md @@ -24,8 +24,9 @@ Common situations where Organizations are useful: | **Create Projects** | X | X | | **Build projects to submit to App Store and Play Store** | X | X | | **Release bug fixes with updates** | X | X | +| **Transfer control of individual projects to another user** | Beta | Beta | +| **Transfer control of all projects to another user** | | X | | **Programmatic access with limited privileges** | | X | -| **Transfer control of project to another user** | | X | | **Designate multiple users who have complete control of a project** | | X | ### Creating New Organizations @@ -49,3 +50,17 @@ We have taken a lot of care to make sure that all of the functionality that you - Any integrations using your personal access token or webhooks will continue to operate. - Your subscription to Developer Services will continue without interruption. - Your production apps will continue to operate without interruption. + +### Renaming an Account + +> โš ๏ธ This feature is in private beta, please email secure@expo.dev with the name of the Personal Account or Organization you would like to rename to get access. + +If you aren't happy with the name you originally chose for your account, you may choose a new name a limited number of times. Simply visit [the account settings page](https://expo.dev/accounts/[account]/settings) and follow the prompts under **Rename Account**. + +### Transferring Projects Between Accounts + +> โš ๏ธ This feature is in private beta, please email secure@expo.dev with the names of the Personal Accounts or Organizations you would like to transfer the project to and from to get access. + +If you need to transfer a project between your Personal Account or Organzions you are an Owner of, you can do so by visiting [the project overview page](https://expo.dev/accounts/[account]/projects/[project]) and following the prompts under **Transfer Project**. + +> ๐Ÿ’ก If you need to transfer a project from your account (`source`) to an Organization (`destination`) you are not the Owner of, you can create a new Organization (`escrow`) to complete the transfer without Owner access on the destination account. You can add the Owner to the `destination` account can safely share Owner access on the `escrow` account. diff --git a/docs/pages/accounts/programmatic-access.md b/docs/pages/accounts/programmatic-access.md index e553d6a247112b..6e70ff3b1d0c2c 100644 --- a/docs/pages/accounts/programmatic-access.md +++ b/docs/pages/accounts/programmatic-access.md @@ -21,7 +21,7 @@ Organizations can create Bot Users to take actions on resources owned by the Org You can use any tokens you have created to perform actions with the Expo CLI (other than signing in and out). To use tokens, you need to define an environment variable, like `EXPO_TOKEN="token"`, before running commands. -If you are using Github Actions, [you can configure the `expo-token` property](https://github.com/expo/expo-github-action#configuration-options) to include this environment variable in all of the job steps. +If you are using GitHub Actions, [you can configure the `expo-token` property](https://github.com/expo/expo-github-action#configuration-options) to include this environment variable in all of the job steps. Common situations where access tokens are useful: diff --git a/docs/pages/app-signing/app-credentials.md b/docs/pages/app-signing/app-credentials.md index ea0783d2fdf57a..1fe41710787f71 100644 --- a/docs/pages/app-signing/app-credentials.md +++ b/docs/pages/app-signing/app-credentials.md @@ -6,7 +6,7 @@ import { InlineCode } from '~/components/base/code'; Expo automates the process of signing your app for iOS and Android, but in both cases you can choose to provide your own overrides. [EAS Build](/build/introduction.md) can generate signed or unsigned applications, but in order to distribute your application through the stores, it **must** be a signed application. -On this page, we'll talk about the credentials that each platform requires. If you're curious about how we store your credentials on our end, take a look at our [security documentation](security.md). +On this page, we'll talk about the credentials that each platform requires. If you're curious about how we store your credentials on our end, take a look at our [security documentation](/distribution/security.md).
Are you using the classic build system? (expo build:[android|ios])

diff --git a/docs/pages/bare/error-recovery.md b/docs/pages/bare/error-recovery.md new file mode 100644 index 00000000000000..2ebdfeeb0c79ad --- /dev/null +++ b/docs/pages/bare/error-recovery.md @@ -0,0 +1,67 @@ +--- +title: Error Recovery +sidebar_title: Error Recovery +--- + +Apps using `expo-updates` can take advantage of built-in error recovery behavior as an extra safeguard against accidentally publishing broken updates. + +While we cannot stress enough the importance of testing updates in a staging environment before publishing to production, humans (and even computers) occasionally make mistakes, and the error recovery behavior described here can serve as a last resort in such cases. + +> Disclaimer: the behavior documented below is subject to change and should not be relied upon. Always test your code carefully and thoroughly in production-like environments before publishing updates. + +> The behavior documented on this page applies to bare apps as well as apps built with EAS Build, **not** apps built with `expo build:ios` or `expo build:android` (which have a separate error recovery mechanism that uses [`expo-error-recovery`](/versions/latest/sdk/error-recovery)). + +## Help! I published a broken update to production. What should I do? + +First of all, don't panic. Mistakes happen; most likely, everything will be fine. + +The important thing is to **publish a new update with a fix as soon as possible (though not before you are 100% confident in your fix).** The error recovery mechanism in `expo-updates` will ensure that in most cases, even users who have already downloaded the broken update should be able to get the fix. + +The first thing to try is rolling back to an older update that you know was working. **However, this may not always be safe;** your broken update may, for example, have modified persistent state (such as data stored in AsyncStorage or on the device's file system) in a non-backwards-compatible way. It's important to test in a staging environment that emulates an end user's device state as closely as possibleโ€”i.e. load the broken update and then roll back. + +If you can identify an older update that is safe to roll back to, you can do so using [EAS Update's `republish` option](/eas-update/eas-update-and-eas-cli/#republish-a-previous-update-within-a-branch). If you're using classic Expo-hosted updates (`expo publish`) or hosting your updates on your own server, you'll need to publish a new update with your old code in order to generate an update with a new ID and publish date. + +If you cannot identify an older update that is safe to roll back to, you'll need to fix forward. While it's best to roll out a fix as quickly as possible, you should take the time to ensure your fix is solid, and know that even users who download your broken update in the meantime should be able to download your fix. + +If you'd like more details about how this works, read on. + +## Explaining the error recovery flow + +The error recovery flow is intended to be as lightweight as possible. It is not a full safety net that protects your end users from the results of errors; in many cases users will still see a crash. + +Rather, the purpose is to prevent updates from "bricking" your app (causing a crash on launch before the app can check for updates, making the app unusable until uninstalled and reinstalled) by ensuring that in as many cases as possible, the app has the opportunity to download a new update and fix itself. + +### Catching an error + +If your app throws a fatal error when executing JS which is early enough in the app's lifecycle that it may prevent the app from being able to download further updates, `expo-updates` will catch this error. + +> If more than 10 seconds have elapsed between your app's first render and the time a fatal error is thrown, `expo-updates` will not catch this error at all and none of the error recovery code will be triggered. Therefore, we highly recommend that your app check for updates very shortly after launching, whether [automatically](/bare/updating-your-app/#automatic-updates) or [manually](/bare/updating-your-app/#manual-updates) to ensure you can push out fixes in the event of a future error. + +If `expo-updates` catches a JS error, what will happen next depends on whether React Native has fired the native "content appeared" event (`RCTContentDidAppearNotification` on iOS, or `ReactMarkerConstants.CONTENT_APPEARED` on Android)โ€”approximately when your app's first view has been rendered on the screenโ€”for this particular update, either on this launch or a previous one. + +> ๐Ÿ’ก **Why this distinction?** In some cases `expo-updates` may try to automatically roll back to an older (working) update, but this can be dangerous if your new update has modified persistent state in a non-backwards compatible way. We assume that if the error occurs before the first view has rendered, no such code has been able to execute, and so rolling back is safe. After this point `expo-updates` will only fix forward and will not roll back. + +### If content has appeared + +If an error is caught and the "content appeared" event has already fired, OR if it has ever been fired on this device on a past launch of the same update, the following will happen: + +- A 5 second timer will be started, and (unless `EXUpdatesCheckOnLaunch`/`expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH` is set to `NEVER`) the app will check for a new update and download it if there is one. +- If there is no new update, the update finishes downloading, or the timer runs out (whichever happens first), the app will throw the original error and crash. + +Note that if a new update is downloaded, it will launch when the user next tries to open the app. + +### If content has not appeared + +If an error is caught before the "content appeared" event has fired, AND this is the first time the current update is being launched on this device, the following will happen: + +- The update will be marked as "failed" locally and will not be launched again on this device. +- A 5 second timer will be started, and (unless `EXUpdatesCheckOnLaunch`/`expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH` is set to `NEVER`) the app will check for a new update and download it if there is one. +- If a new update finishes downloading before the timer runs out, the app will immediately try to reload itself and launch the newly downloaded update. +- If this newly downloaded update also throws a fatal error, OR there is no new update, OR the timer runs out, the app will immediately try to reload by rolling back to an older update, whichever one was most recently launched successfully. +- If this also fails, or there is no older update available on the device, the app will throw the original error and crash. + +## Note about `expo-error-recovery` + +Currently, the error recovery behavior of Expo apps differs between apps built with `expo build:ios`/`expo build:android` and apps built with EAS Build or locally. + +The `expo-error-recovery` package is intended for use only for the former case and does not currently integrate with bare apps or apps built with EAS Build. diff --git a/docs/pages/bare/installing-expo-modules.md b/docs/pages/bare/installing-expo-modules.md index 57d89419935764..402936dc1447ab 100644 --- a/docs/pages/bare/installing-expo-modules.md +++ b/docs/pages/bare/installing-expo-modules.md @@ -61,7 +61,7 @@ console.log(Constants.systemFonts); ### Using Expo SDK packages -Once the `expo` package is installed and configured in your project, you can use `expo install` to add any other Expo module from the SDK. Learn more in ["Using Libraries"](../using-libraries.md). +Once the `expo` package is installed and configured in your project, you can use `expo install` to add any other Expo module from the SDK. Learn more in ["Using Libraries"](/workflow/using-libraries). ### Expo modules included in the `expo` package diff --git a/docs/pages/bare/updating-your-app.md b/docs/pages/bare/updating-your-app.md index 88ec24c47ea098..4b96644106a3a7 100644 --- a/docs/pages/bare/updating-your-app.md +++ b/docs/pages/bare/updating-your-app.md @@ -137,7 +137,9 @@ The release channel string to send under the `Expo-Release-Channel` header in th | ------------------------ | --------------- | --------------------------------------------------- | -------- | --------- | | `EXUpdatesCheckOnLaunch` | `checkOnLaunch` | `expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH` | `ALWAYS` | โŒ | -The condition under which `expo-updates` should automatically check for (and download, if one exists) an update upon app launch. Possible values are `ALWAYS`, `NEVER` (if you want to exclusively control updates via this module's JS API), or `WIFI_ONLY` (if you want the app to automatically download updates only if the device is on an unmetered Wi-Fi connection when it launches). +The condition under which `expo-updates` should automatically check for (and download, if one exists) an update upon app launch. Possible values are `ALWAYS`, `NEVER` (if you want to exclusively control updates via this module's JS API), `WIFI_ONLY` (if you want the app to automatically download updates only if the device is on an unmetered Wi-Fi connection when it launches), or `ERROR_RECOVERY_ONLY` (if you want the app to automatically download updates only if it encounters a fatal error when launching). + +Regardless of the value of this setting, as long as updates are enabled, your app can always use the JS API to manually check for and download updates in the background while your app is running. | iOS plist/dictionary key | Android Map key | Android meta-data name | Default | Required? | | ------------------------ | --------------- | -------------------------------------------------- | ------- | --------- | diff --git a/docs/pages/build-reference/android-builds.md b/docs/pages/build-reference/android-builds.md index 180f7184fdf7de..6d1475893a100c 100644 --- a/docs/pages/build-reference/android-builds.md +++ b/docs/pages/build-reference/android-builds.md @@ -17,12 +17,7 @@ The first phase happens on your computer. EAS CLI is in charge of completing the - Depending on the value of `builds.android.PROFILE_NAME.credentialsSource`, the credentials are obtained from either the local **credentials.json** file or from the EAS servers. If the `remote` mode is selected but no credentials exist yet, you're prompted to generate a new keystore. -1. Additional step for **bare** projects: Check if the Android project is configured to be buildable on the EAS servers. - - > In this step, EAS CLI checks whether `android/app/build.gradle` contains `apply from: "./eas-build.gradle"`. - > If the project is not configured, EAS CLI runs auto-configuration steps ([learn more below](#project-auto-configuration)). - -1. Create the tarball containing a copy of the repository. Actual behavior depends on the VCS workflow you are using. [Learn more here](https://expo.fyi/eas-vcs-workflow). +1. Create a tarball containing a copy of the repository. Actual behavior depends on the VCS workflow you are using. [Learn more here](https://expo.fyi/eas-vcs-workflow). 1. Upload the project tarball to a private AWS S3 bucket and send the build request to EAS Build. ### Remote Steps @@ -37,12 +32,11 @@ Next, this is what happens when EAS Build picks up your request: 1. Create `.npmrc` if `NPM_TOKEN` is set. ([Learn more](/build-reference/private-npm-packages).) 1. Run the `eas-build-pre-install` script from package.json if defined. 1. Run `yarn install` in the project root (or `npm install` if `yarn.lock` does not exist). -1. Additional steps for **managed** projects: - - Run `expo prebuild` to convert the project to a bare one. - - Configure the Android similarly to the step 3 from [Local Steps](#local-steps). +1. Additional step for **managed** projects: Run `expo prebuild` to convert the project to a bare one. 1. Restore a previously saved cache identified by the `cache.key` value in the build profile. ([Learn more](../build/eas-json/).) 1. Run the `eas-build-post-install` script from package.json if defined. 1. Restore the keystore (if it was included in the build request). +1. Inject the signing configuration into **build.gradl**. [Learn more](#configuring-gradle). 1. Run `./gradlew COMMAND` in the **android** directory inside your project. - `COMMAND` is the command defined in your **eas.json** at `builds.android.PROFILE_NAME.gradleCommand`. It defaults to `:app:bundleRelease` which produces the AAB (Android App Bundle). @@ -65,7 +59,7 @@ Your application's keystore should be kept private. **Under no circumstances sho ### Configuring Gradle -Let's focus on building a release app binary. Like we previously mentioned, your app binary needs to be signed with the keystore. Since we're building the project on a remote server, we had to come up with a way to provide Gradle with credentials which aren't, for security reasons, checked in to your repository. When running `eas build:configure`, we're writing the `android/app/eas-build.gradle` file with the following contents: +Your app binary needs to be signed with a keystore. Since we're building the project on a remote server, we had to come up with a way to provide Gradle with credentials which aren't, for security reasons, checked in to your repository. In one of the remote steps, we inject the signing configuration into your **build.gradle**. EAS Build creates the **android/app/eas-build.gradle** file with the following contents: ```groovy @@ -85,75 +79,47 @@ android { release { // This is necessary to avoid needing the user to define a release build type manually } + debug { + // This is necessary to avoid needing the user to define a debug build type manually + } } } -def isEasBuildConfigured = false - tasks.whenTaskAdded { - /* @info Don't read credentials.json if the task name contains debug */ - def debug = gradle.startParameter.taskNames.any { it.toLowerCase().contains('debug') } - - if (debug) { - return - } - /* @end */ - - // We need to configure EAS Build only once - if (isEasBuildConfigured) { - return - } - - isEasBuildConfigured = true; - - /* @info This is where we configure the release signing config */android.signingConfigs.release/* @end */ { + android.signingConfigs.release { def credentialsJson = rootProject.file("../credentials.json"); - - if (credentialsJson.exists()) { - if (storeFile && !System.getenv("EAS_BUILD")) { - println("Path to release keystore file is already set, ignoring 'credentials.json'") - } else { - try { - def credentials = new groovy.json.JsonSlurper().parse(credentialsJson) - def keystorePath = Paths.get(credentials.android.keystore.keystorePath); - def storeFilePath = keystorePath.isAbsolute() - ? keystorePath - : rootProject.file("..").toPath().resolve(keystorePath); - - /* @info Use the data from credentials.json for the signing config */ - storeFile storeFilePath.toFile() - storePassword credentials.android.keystore.keystorePassword - keyAlias credentials.android.keystore.keyAlias - if (credentials.android.keystore.containsKey("keyPassword")) { - keyPassword credentials.android.keystore.keyPassword - } else { - // key password is required by Gradle, but PKCS keystores don't have one - // using the keystore password seems to satisfy the requirement - keyPassword credentials.android.keystore.keystorePassword - } /* @end */ - - } catch (Exception e) { - println("An error occurred while parsing 'credentials.json': " + e.message) - } - } + def credentials = new groovy.json.JsonSlurper().parse(credentialsJson) + def keystorePath = Paths.get(credentials.android.keystore.keystorePath); + def storeFilePath = keystorePath.isAbsolute() + ? keystorePath + : rootProject.file("..").toPath().resolve(keystorePath); + + storeFile storeFilePath.toFile() + storePassword credentials.android.keystore.keystorePassword + keyAlias credentials.android.keystore.keyAlias + if (credentials.android.keystore.containsKey("keyPassword")) { + keyPassword credentials.android.keystore.keyPassword } else { - if (storeFile == null) { - println("Couldn't find a 'credentials.json' file, skipping release keystore configuration") - } + // key password is required by Gradle, but PKCS keystores don't have one + // using the keystore password seems to satisfy the requirement + keyPassword credentials.android.keystore.keystorePassword } } - /* @info Use the above signing config for the release build type */ android.buildTypes.release { signingConfig android.signingConfigs.release - } /* @end */ + } + android.buildTypes.debug { + signingConfig android.signingConfigs.release + } } + ``` The most important part is the `release` signing config. It's configured to read the keystore and passwords from the **credentials.json** file at the project root. Even though you're not required to create this file on your own, it's created and populated with your credentials by EAS Build before running the build. -This file is imported in `android/app/build.gradle` like this: +This file is imported in **android/app/build.gradle** like this: ```groovy // ... diff --git a/docs/pages/build-reference/build-configuration.md b/docs/pages/build-reference/build-configuration.md index 13a8372b281a8f..f3608a0c385205 100644 --- a/docs/pages/build-reference/build-configuration.md +++ b/docs/pages/build-reference/build-configuration.md @@ -42,14 +42,7 @@ This is your EAS Build configuration. It defines three build profiles named `dev This step varies depending on the project type you have. -#### 3.1. Bare project - -If you choose to configure the Android project, EAS CLI will update your Gradle project so we can build it on our servers. -This step patches **build.gradle** and includes our custom signing configuration. The configuration itself is saved to a separate file: **eas-build.gradle**. - -If you also choose to configure the iOS project, there are no additional steps. - -#### 3.2. Managed project +#### 3.1. Managed project If you haven't configured your **app.json** with `android.package` and/or `ios.bundleIdentifier` yet, EAS CLI will prompt you to specify them. @@ -60,6 +53,10 @@ If you haven't configured your **app.json** with `android.package` and/or `ios.b In the example above, we defined exactly the same Android application id and iOS bundle identifier. However, they don't need to match. +#### 3.2. Bare project + +There are no additional steps for bare workflow projects. + #### 5. Next steps That's all there is to configuring a project to be compatible with EAS Build. diff --git a/docs/pages/build-reference/infrastructure.md b/docs/pages/build-reference/infrastructure.md index f02257fad02a65..0868a223f83c66 100644 --- a/docs/pages/build-reference/infrastructure.md +++ b/docs/pages/build-reference/infrastructure.md @@ -15,16 +15,19 @@ When selecting an image for the build you can use the full name provided below o - `default` alias will be assigned to the environment that most closely resembles the configuration used for Expo SDK development. - `latest` alias will be assigned to the image with the most up to date versions of the software. -> **Note:** If you don't provide `image` in eas.json, your build is going to use the `default` image. There is one exception to this rule - if you have a managed project and you don't specify `image`, it will be chosen based on your Expo SDK version. E.g. SDKs 41 and lower use `macos-catalina-10.15-xcode-12.1`, SDK 42 uses `macos-big-sur-11.4-xcode-12.5`, and SDK 43 uses `macos-big-sur-11.4-xcode-13.0`. +> **Note:** +> +> - If you have a bare workflow project: your build is going to use the `default` image unless you provide `image` in **eas.json**. +> - If you have a managed workflow project: your build is going to use an automatically chosen image, unless you provide `image` in **eas.json**. ## Android build server configurations - Android workers run on Kubernetes in an isolated environment - Every build gets its own container running on a dedicated Kubernetes node - Build resources: 4 CPU, 12 GB RAM -- npm cache deployed with Kubernetes. [Learn more](caching/#javascript-dependencies) +- NPM cache deployed with Kubernetes. [Learn more](caching/#javascript-dependencies) - Maven cache deployed with Kubernetes. [Learn more](caching/#android-dependencies) -- Global gradle configuration in `~/.gradle/gradle.properties`: +- Global Gradle configuration in `~/.gradle/gradle.properties`: ```jsx org.gradle.jvmargs=-Xmx14g -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 @@ -118,7 +121,22 @@ When selecting an image for the build you can use the full name provided below o npmRegistryServer: "registry=http://10.254.24.8:4873" ``` -#### Image `macos-big-sur-11.4-xcode-13.0` (alias `latest`) +#### Image `macos-monterey-12.1-xcode-13.2` + +

Details + +- macOS Monterey 12.1 +- Xcode 13.2.1 (13C100) +- Node.js 14.18.1 +- Yarn 1.22.10 +- npm 6.14.8 +- fastlane 2.201.0 +- CocoaPods 1.11.2 +- Ruby 2.7 + +
+ +#### Image `macos-big-sur-11.4-xcode-13.0` (alias `latest`, `default`)
Details @@ -132,7 +150,7 @@ When selecting an image for the build you can use the full name provided below o
-#### Image `macos-big-sur-11.4-xcode-12.5` (alias `default`) +#### Image `macos-big-sur-11.4-xcode-12.5`
Details diff --git a/docs/pages/build-reference/variables.md b/docs/pages/build-reference/variables.md index fe567cb9acbafb..050df8d4b148ff 100644 --- a/docs/pages/build-reference/variables.md +++ b/docs/pages/build-reference/variables.md @@ -241,10 +241,16 @@ The following are two possible alternative approaches, each with different trade
+### How are naming collisions between secrets and the `env` field in eas.json handled? + +A secret created on the Expo website or with `eas secret:create` will take precedence over an environment variable of the same name that is set through the `env` field in **eas.json**. + +For example, if you create a secret with name `MY_TOKEN` and value `secret` and also set `"env": { "MY_TOKEN": "public" }` in your **eas.json**, then `process.env.MY_TOKEN` on EAS Build will evaluate to `secret`. + ### How do environment variables work for my Expo Development Client builds? Environment variables set in your build profile that impact **app.config.js** will be used for configuring the development build. When you run `expo start` to load your app inside of your development build, only environment variables that are available on your development machine will be used for the app manifest; this becomes the same situation as described above for **expo start**. ### Can I just set my environment variables on a CI provider? -Environment variables must be defined in **eas.json** in order to be made available to EAS Build workers. If you are [triggering builds from CI](/build/building-on-ci.md) this same rule applies, and you should be careful to not confuse setting environment variables on GitHub Actions (or the provider of your choice) with setting environment variables and secrets in **eas.json**. \ No newline at end of file +Environment variables must be defined in **eas.json** in order to be made available to EAS Build workers. If you are [triggering builds from CI](/build/building-on-ci.md) this same rule applies, and you should be careful to not confuse setting environment variables on GitHub Actions (or the provider of your choice) with setting environment variables and secrets in **eas.json**. diff --git a/docs/pages/build-reference/variants.md b/docs/pages/build-reference/variants.md index 0858b2e614ea95..70a56fa9bde241 100644 --- a/docs/pages/build-reference/variants.md +++ b/docs/pages/build-reference/variants.md @@ -2,6 +2,8 @@ title: Installing app variants on the same device --- +import ImageSpotlight from '~/components/plugins/ImageSpotlight' + When creating [development, preview, and production builds](../eas-json.md#common-use-cases), it's common to want to install one of each build on your device at the same time. This allows you to do development work, preview the next version of your app, and run the production version all on the same device, without needing to uninstall and reinstall the app. In order to be able to have multiple instances of an app installed on your device, each instance must have a unique Application ID (Android) or Bundle Identifier (iOS). @@ -10,7 +12,7 @@ In order to be able to have multiple instances of an app installed on your devic **If you have a managed project**, this can be accomplished by using **app.config.js** and environment variables in **eas.json**. -## Example: configuring development and production variants +## Example: configuring development and production variants in a managed project Let's say we wanted a development build and production build of our managed Expo project. Your **eas.json** might look like this: @@ -98,4 +100,162 @@ Now when you run `eas build --profile development`, the environment variable `AP When you run `eas build --profile production` the `APP_VARIANT` variable environment will not be set, and the build will run as the production variant. -> **Note**: if you use `expo-updates` to publish JavaScript updates to your app, you should be cautious to set the correct environment variables for the app variant that you are publishing for when you run the `expo publish` command. Refer to the EAS Build ["Environment variables and secrets" guide](/build/updates.md) for more information. \ No newline at end of file +> **Note**: if you use `expo-updates` to publish JavaScript updates to your app, you should be cautious to set the correct environment variables for the app variant that you are publishing for when you run the `expo publish` command. Refer to the EAS Build ["Environment variables and secrets" guide](/build/updates.md) for more information. + +## Example: configuring development and production variants in a bare project + +### Android + +In **android/app/build.gradle**, create a separate flavor for every build profile from **eas.json** that you want to build. + +```groovy +android { + ... + flavorDimensions "env" + productFlavors { + production { + dimension "env" + applicationId 'com.myapp' + } + development { + dimension "env" + applicationId 'com.myapp.dev' + } + } + ... +} +``` + +> **Note**: Currently, EAS CLI supports only the `applicationId` field. If you use `applicationIdSuffix` inside `productFlavors` or `buildTypes` sections then this value will not be detected correctly. + +Assign Android flavors to EAS build profiles by specifying a `gradleCommand` in the **eas.json**: + +```json +{ + "build": { + "development": { + "android": { + "gradleCommand": ":app:assembleDevelopmentDebug" + } + }, + "production": { + "android": { + "gradleCommand": ":app:bundleProductionRelease" + } + } + } +} +``` + +By default, every flavor can be built in either debug or release mode. If you want to restrict some flavor to a specific mode, see the snippet below, and modify **build.gradle**. + +```groovy +android { + ... + variantFilter { variant -> + def validVariants = [ + ["production", "release"], + ["development", "debug"], + ] + def buildTypeName = variant.buildType*.name + def flavorName = variant.flavors*.name + + def isValid = validVariants.any { flavorName.contains(it[0]) && buildTypeName.contains(it[1]) } + if (!isValid) { + setIgnore(true) + } + } + ... +} +``` + +The rest of the configuration at this point is not specific to EAS, it's the same as it would be for any Android project with flavors. There are a few common configurations that you might want to apply to your project: + - To change the name of the app built with the development profile, create a **android/app/src/development/res/value/strings.xml** file. + ```xml + + MyApp - Dev + + ``` + - To change the icon of the app built with the development profile, create `android/app/src/development/res/mipmap-*` directories with appropriate assets (you can copy them from **android/app/src/main/res** and replace the icon files). + - To specify **google-services.json** for a specific flavor put it in a **android/app/src/{flavor}/google-services.json** file. + - To configure sentry, add `project.ext.sentryCli = [ flavorAware: true ]` to **android/app/build.gradle** and name your properties file `android/sentry-{flavor}-{buildType}.properties` (e.g. **android/sentry-production-release.properties**) + +### iOS + +Assign a distinct scheme to every build profile in **eas.json**: + +```json +{ + "build": { + "development": { + "ios": { + "buildConfiguration": "Debug", + "scheme": "myapp" + } + }, + "production": { + "ios": { + "buildConfiguration": "Release", + "scheme": "myapp-dev" + } + } + } +} +``` + +`Podfile` should have a target defined like this: + +```ruby +target 'myapp' do + ... +end +``` + +Replace it with an abstract target, where common configuration can be copied from the old target. + +```ruby +abstract_target 'common' do + # put common target configuration here + + target 'myapp' do + end + + target 'myapp-dev' do + end +end +``` + +Open project in Xcode, click on the project name in the navigation panel, right click on the existing target, and click "Duplicate": + + + +Rename the target to something more meaningful, e.g. `myapp copy` -> `myapp-dev`. + +Configure a scheme for the new target: +- Go to `Product` -> `Scheme` -> `Manage schemes`. +- Find scheme `myapp copy` on the list. +- Change scheme name `myapp copy` -> `myapp-dev`. +- By default, the new scheme should be marked as shared, but Xcode does not create `.xcscheme` files. To fix that, uncheck the "Shared" checkbox and check it again, after that new `.xcscheme` file should show up in the **ios/myapp.xcodeproj/xcshareddata/xcschemes** directory. + + + +By default, the newly created target has separate **Info.plist** file (in our case it's **ios/myapp copy-Info.plist**). To simplify your project we recommend using the same file for all targets: +- Delete **./ios/myapp copy-Info.plist**. +- Click on the new target. +- Go to `Build Settings` tab. +- Find `Packaging` section. +- Change **Info.plist** value - **myapp copy-Info.plist** -> **myapp/Info.plist**. +- Change `Product Bundle Identifier`. + + + +To change the display name: +- Open **Info.plist** and add key `Bundle display name` with value `$(DISPLAY_NAME)`. +- Open `Build Settings` for both targets and find `User-Defined` section. +- Add key `DISIPLAY_NAME` with the name you want to use for that target. + +To change the app icon: +- Create a new image set (you can create it from the existing image set for the current icon, it's usually named `AppIcon`) +- Open `Build Settings` for the target that you want to change icon. +- Find `Asset Catalog Compiler - Options` section. +- Change `Primary App Icon Set Name` to the name of the new image set. diff --git a/docs/pages/build/building-on-ci.md b/docs/pages/build/building-on-ci.md index 06382bb6d78761..dd5998603db3b9 100644 --- a/docs/pages/build/building-on-ci.md +++ b/docs/pages/build/building-on-ci.md @@ -90,7 +90,7 @@ jobs:

-
Gitlab CI +
GitLab CI

```yaml @@ -156,26 +156,17 @@ version: 2.1 executors: default: docker: - - image: circleci/node:16 + - image: cimg/node:lts working_directory: ~/my-app -commands: - attach_project: - steps: - - attach_workspace: - at: ~/my-app - jobs: eas_build: executor: default steps: - checkout - - attach_project - - run: name: Install dependencies command: npm ci - - run: name: Trigger build command: npx eas-cli build --platform all --non-interactive diff --git a/docs/pages/build/setup.md b/docs/pages/build/setup.md index 15d8427682529c..f66873294ee401 100644 --- a/docs/pages/build/setup.md +++ b/docs/pages/build/setup.md @@ -122,7 +122,7 @@ If you have made it to this step, congratulations! Depending on which path you c ### Distribute your app to an app store -You will only be able to install the submit to an app store if you built specifically for this purpose. If you created a build for a store, [learn how to submit your app to app stores with EAS Submit](/submit/introduction.md). +You will only be able to submit to an app store if you built specifically for this purpose. If you created a build for a store, [learn how to submit your app to app stores with EAS Submit](/submit/introduction.md). ### Install and run the app diff --git a/docs/pages/development/compatibility.md b/docs/pages/development/compatibility.md index 392bdd26d41f4b..d616c9caf0372f 100644 --- a/docs/pages/development/compatibility.md +++ b/docs/pages/development/compatibility.md @@ -6,10 +6,21 @@ The `expo-dev-client` library is only compatible with specific versions of certa You do not need to use any of these packages in your project in order to use `expo-dev-client`, but if you do, you must use a compatible version. +## Expo SDKs + +This table lists the highest minor version of `expo-dev-client` that is supported by each Expo SDK version. + +| Expo SDK | expo-dev-client | +| -------- | ------------------- | +| SDK 44 | `0.8.X` | +| SDK 43 | `0.8.X` | +| SDK 42 | `0.7.X` | + ## react-native | expo-dev-client | react-native | | --------------- | ------------------- | +| `0.8.X` | `0.64.X` | | `0.7.X` | `0.62.X` - `0.64.X` | | `0.6.X` | `0.62.X` - `0.63.X` | diff --git a/docs/pages/distribution/hosting-your-app.md b/docs/pages/distribution/hosting-your-app.md index 040a9f6be6f5f3..9190abc5c2e57b 100644 --- a/docs/pages/distribution/hosting-your-app.md +++ b/docs/pages/distribution/hosting-your-app.md @@ -25,7 +25,7 @@ First, youโ€™ll need to export all the static files of your update so they can b ## Hosting your static files -Once you've exported your update's static files, you can host the contents on your own server. For example, in your `dist` output directory, an easy way to host your own files is to push the contents to Github. You can enable [Github Pages](https://pages.github.com/) to make your app available at a base URL like https://username.github.io/project-name. To host your files on Github, you'd do something like this: +Once you've exported your update's static files, you can host the contents on your own server. For example, in your `dist` output directory, an easy way to host your own files is to push the contents to GitHub. You can enable [GitHub Pages](https://pages.github.com/) to make your app available at a base URL like https://username.github.io/project-name. To host your files on GitHub, you'd do something like this: ``` # run this from your project directory @@ -147,17 +147,6 @@ When Expo CLI bundles your update, minification is always enabled. In order to s ![Debugging Source Code](/static/images/host-your-app-debug.png) -### Multimanifests - -As new Expo SDK versions are released, you may want to serve multiple versions of your app from your server endpoint. For example, if you first released your app with SDK 29 and later upgraded to SDK 30, you'd want users with your old standalone binary to receive the SDK 29 version, and those with the new standalone binary to receive the SDK 30 version. -In order to do this, you can run `expo export` with some merge flags to combine previously exported updates into a single multiversion update which you can serve from your servers. - -Here is an example workflow: - -1. Release your update with previous Expo SDKs. For example, when you released SDK 29, you can run `expo export --output-dir sdk29 --public-url `. This exports the current version of the update (SDK 29) to a directory named `sdk29`. - -2. Update your app and include previous Expo SDK versions. For example, if you've previously released SDK 28 and 29 versions of your app, you can include them when you release an SDK 30 version by running `expo export --merge-src-dir sdk29 --merge-src-dir sdk28 --public-url `. Alternatively, you could also compress and host the directories and run `expo export --merge-src-url https://examplesite.com/sdk29.tar.gz --merge-src-url https://examplesite.com/sdk28.tar.gz --public-url `. This creates a multiversion update in the `dist` output directory. The **asset** and **bundle** folders contain everything that the source directories had, and the **index.json** file contains an array of the individual **index.json** files found in the source directories. - ### Asset Hosting By default, all assets are hosted from an `assets` path resolving from your `public-url` (e.g. https://expo.github.io/self-hosting-example/assets). You can override this behavior in the `assetUrlOverride` field of your `android-index.json`. All relative URL's will be resolved from the `public-url`. diff --git a/docs/pages/eas-update/environment-variables.md b/docs/pages/eas-update/environment-variables.md new file mode 100644 index 00000000000000..ccf9d8eb902547 --- /dev/null +++ b/docs/pages/eas-update/environment-variables.md @@ -0,0 +1,111 @@ +--- +title: Using environment variables with EAS Update +--- + +> โš ๏ธ The APIs below are not stable and are expected to change as we develop EAS Update. An alternate solution is to use a babel plugin to transform variables into environment variables, as described [here](/guides/environment-variables/#using-babel-to-replace-variables). + +EAS Build and EAS Update allow setting and getting environment variables at different times. There are multiple steps to ensure the proper environment variables are available when developing, building, and publishing an update to a project. + +## Setting up the app config + +To expose environment variables in our project, we'll have to set up our app config to allow it. After this, we'll be able to access these variables throughout our entire project. + +First, we'll need to rename **app.json** to **app.config.js**, which will allow us to export our app's config, including JavaScript variables. + +Next, we'll add an `API_URL` environment variable to our project. + +To add it to our app config, we'll add it under the `extra.eas` property. + +**app.config.js** + +```js +export default () => ({ + expo: { + extra: { + eas: { + API_URL: process.env.API_URL || null, + }, + }, + // ... + }, +}); +``` + +The code above sets the `extra.eas` property. Now, we need to set and get the variable in our project. + +## Setting and getting environment variables during development + +To set the `API_URL` environment variable during development, we can prepend the variables before running `expo start` like this: + +```bash +API_URL="http://localhost:3000" expo start +``` + +The command above will set the `API_URL` to `"http://localhost:3000"`. Now, it's time to access that value inside our project. + +To access it, we can use the `expo-constants` library. It's located under the `Constants.manifest2?.extra?.expoClient?.extra?.eas?.API_URL` property. + +## Setting and getting environment variables when building + +To set the `API_URL` environment variable during a build, we can include an `"env"` property in an **eas.json** build profile, like below: + +**eas.json**: + +```json +{ + "production": { + "env": { + "API_URL": "https://prod.example.com" + } + }, + "staging": { + "env": { + "API_URL": "https://staging.example.com" + } + } +} +``` + +Once we run a command like `eas build --profile production`, the `"env"` property in the "production" build profile will set the `API_URL` to `https://prod.example.com/` inside the build. + +To access it, we can use the `expo-constants` library. It's located under the `Constants.manifest?.extra?.eas?.API_URL` property. + +## Setting and getting environment variables when publishing an update + +To set the `API_URL` environment variable when publishing an update, we can prepend the environment variables before running `eas update` like this: + +```bash +API_URL="https://prod.example.com" eas update --branch production +``` + +When EAS CLI creates the update, it will set the `API_URL` to `https://prod.example.com` inside the update's bundle. + +To access it, we can use the `expo-constants` library. It's located under the `Constants.manifest2?.extra?.expoClient?.extra?.eas?.API_URL` property. + +Note: we could also use the `expo-updates` library to access `API_URL`. It is under `Updates.manifest?.extra?.expoClient?.extra?.eas?.API_URL`. However, `Updates.manifest` is only present when an update is currently running. If the project is in development, `Updates.manifest` will be `undefined`. In addition, if a build is running without an update (e.g. it was just downloaded or there are no updates yet), `Updates.manifest` will also be `undefined`. + +## Creating an Env.ts file to get environment variables + +Many developers often create a file named **Env.ts** in their project, which they import into any file that needs to access environment variables. Combining the information above, we could write the following file to access `API_URL`: + +**Env.ts** + +```ts +import * as Constants from 'expo-constants'; + +function getApiUrl() { + const API_URL = + Constants.manifest2?.extra?.expoClient?.extra?.eas?.API_URL ?? + Constants.manifest?.extra?.eas?.API_URL; + + if (!API_URL) { + throw new Error('API_URL is missing.'); + } + + return API_URL; +} + +export const Env = { + API_URL: getApiUrl(), +}; +``` diff --git a/docs/pages/eas-update/expo-dev-client.md b/docs/pages/eas-update/expo-dev-client.md new file mode 100644 index 00000000000000..7ae489f1b04847 --- /dev/null +++ b/docs/pages/eas-update/expo-dev-client.md @@ -0,0 +1,37 @@ +--- +title: Using expo-dev-client with EAS Update +--- + +> โš ๏ธ This guide is likely to change as we continue to work on EAS Update. + +The [`expo-dev-client`](/development/introduction) library allows us to launch different versions of our project. One of the most popular use-cases is to preview a published update inside a development build, using the `expo-dev-client` library. + +The `expo-dev-client` library supports loading published EAS Updates through channels. Below, learn how to load a specific channel to preview an update in a development build. + +## How to load a published EAS Update inside a development build + +1. Create a [development build](/development/getting-started) of the project. +2. Next, make non-native changes locally, then publish them using `eas update --branch ...`. The branch specified should correspond to a channel. You can see how channels are linked to branches with `eas channel:list`. +3. After publishing an update, it's time to load the update in the development build. To accomplish this, we'll have to construct a specific URL. The URL will look like this: + + ```bash + exp+[project-slug]://expo-development-client/?url=[https://u.expo.dev/project-id]?channel-name=[channel] + + # Example + + exp+form-duo://expo-development-client/?url=https://u.expo.dev/675cb1f0-fa3c-11e8-ac99-6374d9643cb2?channel-name=preview + ``` + + Let's break down the parts of this URL: + + - `exp+`: The beginning of the URL. + - `form-duo`: This is the project slug found in **app.json**/**app.config.js**. + - `://expo-development-client/`: necessary for the deep link to work with the `expo-dev-client` library. + - `?url=`: Defines a `url` query parameter. + - `https://u.expo.dev/675cb1f0-fa3c-11e8-ac99-6374d9643cb2`: This is the updates URL, which is inside the project's app config (**app.json**/**app.config.js**) under `updates.url`. + - `?channel-name=`: Defines a channel query parameter. + - `preview`: The name of the channel to request. + +4. Once we've constructed the URL, we can either copy/paste it directly into the `expo-dev-client`'s launcher screen. Alternatively, we could create a QR code of the URL, then scan it. Scanning this URL should open up the development build to the specified channel. + +If you'd like to see a working example, check out this [demo repo](https://github.com/jonsamp/test-expo-dev-client-eas-update). diff --git a/docs/pages/eas-update/getting-started.md b/docs/pages/eas-update/getting-started.md index 092521becfc72d..acd5a39f3658d4 100644 --- a/docs/pages/eas-update/getting-started.md +++ b/docs/pages/eas-update/getting-started.md @@ -30,7 +30,7 @@ EAS Update requires the following versions or greater: eas login ``` -3. After logging in, you can verify the logged in account with `eas whoami`. +3. After logging in, you can verify the logged-in account with `eas whoami`. ## Create a project @@ -45,7 +45,7 @@ expo init 1. Install the latest `expo-updates` library with: ```bash - yarn add expo-updates@0.11.2 + expo install expo-updates ``` 2. Initialize your project with EAS Update: @@ -79,9 +79,9 @@ expo init } ``` - This `channel` property will allow you to point updates at builds. For example, if you set up a GitHub Action to publish changes on merge, it will make it so we can merge code into the "production" branch, then those commits will publish an update that will be made available to builds with the channel "production". + The `channel` allows you to point updates at builds. For example, if we set up a GitHub Action to publish changes on merge, it will make it so that we can merge code into the "production" Git branch. Then, each commit will trigger a GitHub Action that will publish an update that will be available to builds with the channel "production". -5. Optional: If your project is a bare React Native project, [read the doc](/eas-update/bare-react-native) on extra configuration you may need. +5. Optional: If your project is a bare React Native project, [read the doc](/eas-update/bare-react-native) on additional configuration you may need. ## Create a build for the project @@ -120,6 +120,8 @@ eas update --branch preview --message "Updating the app" Once the update is built and uploaded to EAS and the command completes, force close and reopen your app up to two times to download and view the update. +> โš ๏ธ While EAS Update is in "preview" we are only allowing up to 300 assets to be uploaded in a single publish. + ## Next -You can publish updates continuously with GitHub Actions. Learn more: [Using GitHub Actions with EAS Update](/preview/eas-update/github-actions) +You can publish updates continuously with GitHub Actions. Learn more: [Using GitHub Actions with EAS Update](/eas-update/github-actions) diff --git a/docs/pages/eas-update/github-actions.md b/docs/pages/eas-update/github-actions.md index 7375d628a8fe1a..23d76f24ed5e25 100644 --- a/docs/pages/eas-update/github-actions.md +++ b/docs/pages/eas-update/github-actions.md @@ -4,9 +4,9 @@ title: Using GitHub Actions A GitHub Action is a cloud function that runs every time an event on GitHub occurs. We can use GitHub Actions to automate building and publishing updates when you or members on your team merge to a branch, like "production". This makes the process of deploying consistent and fast, leaving you more time to develop your app. -## Publishing when merging to "production" +## Publish updates on push -We can configure GitHub Actions to run on any GitHub event. One of the most common use cases is to publish an app when code is merged to the "production" branch. Below are the steps to publish your app every time a commit is merged to "production": +We can configure GitHub Actions to run on any GitHub event. One of the most common use cases is to publish an update when code is pushed. Below are the steps to publish an update every time an update is pushed: 1. Create a file path named **.github/workflows/update.yml** at the root of your project. 2. Inside **update.yml**, copy and paste this code: @@ -50,10 +50,10 @@ We can configure GitHub Actions to run on any GitHub event. One of the most comm - name: Install dependencies run: yarn install - name: Publish update - run: eas update --branch $(echo ${{ github.ref }} | sed 's|refs/heads/||') --message "${{ github.event.head_commit.message }}" + run: eas update --auto ``` - In the code above, we set the action to run every time code is pushed to the "production" branch. In the `update` job, we set up Node, in addition to Expo's GitHub Action: `expo-github-action`. We then add a couple steps to cache any dependencies installed from the last run to speed this script up on subsequent runs. At the end, we install dependencies (`yarn install`), then create a branch on EAS, then publish the branch. The EAS branch will be named after the GitHub branch, and the message for the update will match the commit's message. + In the code above, we set the action to run every time code is pushed to any branch. In the `update` job, we set up Node, in addition to Expo's GitHub Action: `expo-github-action`. We then add a couple steps to cache any dependencies installed from the last run to speed this script up on subsequent runs. At the end, we install dependencies (`yarn install`), then publish the update with `eas update --auto`. Since we're using the `--auto` flag, the EAS branch will be named after the GitHub branch, and the message for the update will match the commit's message. 3. Finally, we need to give the script above permission to run by providing an `EXPO_TOKEN` environment variable. 1. Navigate to [https://expo.dev/settings/access-tokens](https://expo.dev/settings/access-tokens). @@ -63,6 +63,6 @@ We can configure GitHub Actions to run on any GitHub event. One of the most comm 5. Click "New repository secret" 6. Make the secret's name "EXPO_TOKEN", then paste the access token in as the value. -Your GitHub Action should be set up now. Every time when someone merges code into the "production" branch, this action will build an update and publish it, making it available to all of our devices with builds that have access to the "production" branch on EAS. +Your GitHub Action should be set up now. Every time when a developer merges code into the repo, this action will build an update and publish it, making it available to all of our devices with builds that have access to the EAS branch. > Some repositories or organizations might need to explicitly enable GitHub Workflows and allow third-party Actions. diff --git a/docs/pages/eas-update/how-eas-update-works.md b/docs/pages/eas-update/how-eas-update-works.md index 07006cbf7bbfbe..7d944af7103551 100644 --- a/docs/pages/eas-update/how-eas-update-works.md +++ b/docs/pages/eas-update/how-eas-update-works.md @@ -6,7 +6,7 @@ import ImageSpotlight from '~/components/plugins/ImageSpotlight' EAS Update is a service that allows you to deliver small bug fixes and updates to your users immediately as you work on your next app store release. Making an update available to builds involves creating a link between a build and an update. -To create a link between a build and an update, we have to make sure the update can run on the build. We also want to make sure we can create a deployment process, so that we can expose certain updates to certain builds when we're ready. +To create a link between a build and an update, we have to make sure the update can run on the build. We also want to make sure we can create a deployment process so that we can expose certain updates to certain builds when we're ready. To illustrate how builds and updates interact, take a look at the following diagram: @@ -18,15 +18,15 @@ To make sure the update can run on the build, we have to set a variety of proper ## Conceptual overview -**Creating a build** +**Distributing builds** -When we're ready to create a build of our Expo project, we can run a command like `eas build` to create a build. During the build, the process will include some properties inside the build that are important for updates. They are: +When we're ready to create a build of our Expo project, we can run `eas build` to create a build. During the build, the process will include some properties inside the build that are important for updates. They are: -- Channel: The channel is a name we can give to multiple builds to identify them easily. It is defined in **eas.json**. For instance, we may have an Android and an iOS build with a channel named "production", while we have another pair of builds with a channel named "staging". Then, we can distribute the builds with the "production" channel to the public app stores, while keeping the "staging" builds on the Play Store Internal Track and TestFlight. Later when we publish updates, we can target the builds with the "staging" channel first; then once we test our changes, we can target the builds with the "production" channel. -- Runtime version: The runtime version describes the JSโ€“native interface defined by the native code layer that runs our app's update layer. It is defined in **app.json** or **app.config.js**. Whenever we make changes to our native code that change our app's JSโ€“native interface, we'll need to update the runtime version. +- Channel: The channel is a name we can give to multiple builds to identify them easily. It is defined in **eas.json**. For instance, we may have an Android and an iOS build with a channel named "production", while we have another pair of builds with a channel named "staging". Then, we can distribute the builds with the "production" channel to the public app stores, while keeping the "staging" builds on the Play Store Internal Track and TestFlight. Later when we publish an update, we can make it available to the builds with the "staging" channel first; then once we test our changes, we can make the update available to the builds with the "production" channel. +- Runtime version: The runtime version describes the JSโ€“native interface defined by the native code layer that runs our app's update layer. It is defined in a project's app config (**app.json**/**app.config.js**). Whenever we make changes to our native code that change our app's JSโ€“native interface, we'll need to update the runtime version. [Learn more.](/eas-update/runtime-versions) - Platform: Every build has a platform, such as "Android" or "iOS". -If we were to make two builds with the channel named "staging" and two builds with the channel named "production", we'd end up with something like this: +If we made two sets of builds with the channels named "staging" and "production", we could distribute builds to four different places: @@ -34,9 +34,9 @@ This diagram is just an example of how you could create builds and name their ch **Publishing an update** -After we've created builds, we can change the update layer of our project and publish it as an update, which will make our changes available to certain builds. For example, we could change some text inside **App.js**, and then we could publish that change as an update. +Once we've created builds, we can change the update layer of our project by publishing an update. For example, we could change some text inside **App.js**, then we could publish that change as an update. -To publish an update, we can run `eas update --auto`. This command will create a local update bundle inside the **dist/** folder in our project. Once it's created an update bundle, it will upload that bundle to EAS' servers, in a database object named a _branch_. A branch has a name, and contains a list of updates, where the most recent update is the active update on the branch. +To publish an update, we can run `eas update --auto`. This command will create a local update bundle inside the **./dist** folder in our project. Once it's created an update bundle, it will upload that bundle to EAS' servers, in a database object named a _branch_. A branch has a name, and contains a list of updates, where the most recent update is the active update on the branch. We can think of EAS branches just like Git branches. Just as Git branches contain a list of commits, EAS branches contain a list of updates. @@ -48,13 +48,33 @@ Like builds, every update on a branch includes a target runtime version and targ - The runtime version of the build and the target runtime version of an update must match exactly. - A channel can be linked to any branch. By default, a channel is linked to a branch of the same name. -Let's focus on that last point. Every build has a channel, and we, as developers, can link that channel to any branch, which will make its most recent compatible update available on the channel. To simplify this linking, by default we'll auto-link a channel to a branch of the same name. For instance, if we created builds with the channel named "production", we could publish updates to a branch named "production" and our builds would get the updates on a matching branch named "production", even though we did not manually link anything. +Let's focus on that last point. Every build has a channel, and we, as developers, can link that channel to any branch, which will make its most recent compatible update available on the branch to the linked channel. To simplify this linking, by default we auto-link channelse to branches of the same name. For instance, if we created builds with the channel named "production", we could publish updates to a branch named "production" and our builds would get the updates from the branch named "production", even though we did not manually link anything. -While this default will work in many cases, we can always change the mapping. Say we found a bug, found it, fixed it, and published it to a branch named "production-hotfix". We could then point our builds with the channel "production" at the branch "production-hotfix": +This default linking works great if you have a deployment process where you have multiple consistent Git and EAS branches. For instance, we could have a "production" branch and a "staging" branch, both on Git and on EAS. Paired with a [GitHub Action](/eas-update/github-actions), we could make it so that every time a commit is pushed to the "staging" Git branch, we publish to the "staging" EAS Update branch, which would make that update apply to all our builds with the "staging" channel. Once we tested changes on the staging builds, then we could merge the "staging" Git branch into the "production" Git branch, which would publish an update on the "production" EAS Update branch. Finally, the latest update on the "production" EAS Update branch would apply to builds with the "production" channel. - +This flow makes it so that we can push to GitHub, then see our builds update without any other interventions. + +While this flow works for many developers, there's another flow we can accomplish since we have the ability to change the link between channels and branches. Imagine we name our branches like "version-1.0", "version-2.0", and "version-3.0". We could link the "version-1.0" EAS Update branch to the "production" channel, to make it available to our "production" builds. We could also link the "version-2.0" EAS Update branch to the "staging" channel to make it available to testers. Finally, we could make a "version-3.0" EAS Update branch that is not linked to any builds yet, that only developers are testing with a development build. + + + +Once testers verify that the update on the "version-2.0" EAS Update branch is ready for production, we can update the "production" channel so that it's linked to the "version-2.0" branch. To accomplish this, we could run: + +```bash +eas channel:edit production --branch version-2.0 +``` + + + +After this state, we'd be ready to start testing the "version-3.0" EAS Update branch. Similarly to the last step, we could link the "staging" channel to the "version-3.0" EAS Update branch with this command: + +```bash +eas channel:edit staging --branch version-3.0 +``` + + ## Practical overview diff --git a/docs/pages/eas-update/known-issues.md b/docs/pages/eas-update/known-issues.md index 33cbcbed0c483e..dfda8490635523 100644 --- a/docs/pages/eas-update/known-issues.md +++ b/docs/pages/eas-update/known-issues.md @@ -2,17 +2,14 @@ title: Known issues --- -EAS Update is in "preview", meaning that we may still make breaking developer-facing changes. With that, EAS Update is ready for production apps. +EAS Update is in "preview" meaning we may still make breaking developer-facing changes. With that, EAS Update is ready for production apps. -With our initial release of EAS Update, there are a variety of known issues you may encounter. These are important to consider when migrating your project from Classic Updates to EAS Update. As we continue to iterate on EAS Update, we will address these issues. +With our initial release of EAS Update, there are several known issues you may encounter. As we continue to iterate on EAS Update, we will address these issues. Known issues: - `eas update` will not create or send source maps to Sentry. This will result in less informative error reports from Sentry. -- If you use the `defaultSource` prop on the `` component from `react-native`, your app will crash. Removing that prop resolves the issue. - When using the new manifest format with Expo Go, the project's name will appear as "Untitled experience" in the dev menu. -- The `eas update` command has an `--auto` flag, which will use the current git branch and the latest commit message and make them the EAS branch and message while publishing. This flag does not work on CI services, like GitHub Actions. -- It is not possible to load an update published with EAS Update inside of Expo Go. -- If you publish a update with code that is incompatible with a build's native code, the build will try to load the update and will crash on launch. This will result in an end-user needing to delete and reinstall the app after a new update with a fix is published. To avoid this, we recommend using the `"runtimeVersion": { "policy": "sdkVersion" }` configuration in your project's app config (**app.json**/**app.config.js**). Also, if you introduce an new native modules, you must update the `"runtimeVersion"` to a new version. To avoid this whole class of errors, test your project after making changes with a preview build before sending the update to production builds. Read more on [configuring your project's runtime version](/eas-update/runtime-versions). +- After publishing an update, it's impossible to revert back to the build's embedded update. -Experiencing issues not listed above? Join us on [Discord](https://chat.expo.dev/) in the #eas channel. +Are you experiencing issues not listed above? [Contact us](https://expo.dev/contact) or join us on [Discord](https://chat.expo.dev/) in the #eas channel. diff --git a/docs/pages/eas-update/migrate-to-eas-update.md b/docs/pages/eas-update/migrate-to-eas-update.md index 2129e054fdd527..9b32e16f33441b 100644 --- a/docs/pages/eas-update/migrate-to-eas-update.md +++ b/docs/pages/eas-update/migrate-to-eas-update.md @@ -2,6 +2,8 @@ title: Migrating from Classic Updates to EAS Update --- +import ImageSpotlight from '~/components/plugins/ImageSpotlight' + EAS Update is the next generation of Expo's updates service. If you're using Classic Updates, this guide will help you upgrade to EAS Update. ## Prerequisites @@ -104,7 +106,7 @@ eas update --branch production --message "Fixes typo" EAS Update adds a new type of object called a "branch". A branch is a list of updates, and it is linked to a channel. In the diagram below, builds with a channel of "production" are linked to a branch named "production". By default, channels and branches of the same name are linked until changed. - + ## Additional possible migration steps diff --git a/docs/pages/eas-update/optimize-assets.md b/docs/pages/eas-update/optimize-assets.md index a63bc1aacb99b9..349c4d95a1bcbb 100644 --- a/docs/pages/eas-update/optimize-assets.md +++ b/docs/pages/eas-update/optimize-assets.md @@ -6,25 +6,23 @@ import ImageSpotlight from '~/components/plugins/ImageSpotlight' When an app finds a new update, it downloads a manifest and then downloads any new or updated assets so that it can run the update. The process is as follows: - + Many users running Android and iOS apps are using mobile connections that are not as consistent or fast as when they are using Wi-Fi, so it's important that the assets shipped as a part of an update are as small as possible. ## **Code assets** -When publishing an update, EAS CLI runs Expo CLI to bundle the project into an update. Part of the output of this process will appear like this: +When publishing an update, EAS CLI runs Expo CLI to bundle the project into an update. The update will appear in our project's **./dist** folder. -```bash -[expo-cli]Bundle Size -[expo-cli]โ”Œ index.ios.js 833 kB -[expo-cli]โ”œ index.android.js 839 kB -``` - -In this case, we can see the size of the **index.ios.js** and **index.android.js** files that will be part of the iOS and Android updates, respectively. Note that these are uncompressed file sizes; EAS Update uses Brotli and gzip compression, which can significantly reduce download sizes. Nevertheless, these files will be downloaded to a user's device when getting the new update if the device has not downloaded them before. Making these file sizes as small as possible helps end-users download updates quickly and use less data. +In **./dist/bundles**, we can see the size of the **index.ios.js** and **index.android.js** files that will be part of the iOS and Android updates, respectively. Note that these are uncompressed file sizes; EAS Update uses Brotli and gzip compression, which can significantly reduce download sizes. Nevertheless, these files will be downloaded to a user's device when getting the new update if the device has not downloaded them before. Making these file sizes as small as possible helps end-users download updates quickly. ## **Image assets** -What's not listed in this bundle is the size of the assets in the update. Users will have to download any new images or other assets when they detect a new update. +Users will have to download any new images or other assets when they detect a new update, if those assets are not already a part of their build. You can view all the assets uploaded to EAS' servers in **./dist/assets**. The assets there are hashed with their extensions removed, so it is difficult to know what assets are there. To see a pretty-printed list of assets, we can run: + +``` +expo export --experimental-bundle +``` To optimize all the images in an app at once, we can use the [expo-optimize library](https://www.npmjs.com/package/expo-optimize). `expo-optimize` uses `sharp-cli` to optmize all image assets. diff --git a/docs/pages/eas/index.md b/docs/pages/eas/index.md index 4746b08999fc38..7608562bfd9d70 100644 --- a/docs/pages/eas/index.md +++ b/docs/pages/eas/index.md @@ -11,3 +11,5 @@ Read the full pitch at [expo.dev/eas](https://expo.dev/eas), or follow the links - **EAS Build**: Compile and sign Android/iOS apps with custom native code in the cloud. [Learn more](/build/introduction.md). - **EAS Submit**: Upload your app to the Apple App Store or Google Play Store from the cloud with one CLI command. [Learn more](/submit/introduction.md). + +- **EAS Update** (preview): Address small bugs and push quick fixes directly to end-users. [Learn more](/eas-update/introduction.md). diff --git a/docs/pages/get-started/errors.md b/docs/pages/get-started/errors.md index 15f118fcec9dcd..f0aab66b603403 100644 --- a/docs/pages/get-started/errors.md +++ b/docs/pages/get-started/errors.md @@ -22,7 +22,7 @@ This stacktrace is **extremely valuable** since it gives you the location the er When we take a look at that file, in line 10, we can see we are calling the function `this.renderText()`. "`this`" refers to our `LinksScreen` component, and `renderText` _should_ be a method in our component, but we haven't declared it! Hence the error message telling us that `this.renderText is undefined` (we haven't told the app that `renderText` is a function it can call, yet). Once we add that declaration in, our app is working again! -This is a simple example, but it shows how useful error messages and stacktraces can be if you take the time to decipher them. Debugging errors is one of the most frustrating, but also satisyfing parts of development, and remember that you're never alone! The Expo community and the React and React Native communities are great resources for help when you get stuck. There's a good chance someone else has run into the exact same error as you, so make sure to read the documentation, search the [forums](https://forums.expo.dev/), [Github issues](https://github.com/expo/expo/issues/), and [StackOverflow](https://stackoverflow.com/). +This is a simple example, but it shows how useful error messages and stacktraces can be if you take the time to decipher them. Debugging errors is one of the most frustrating, but also satisyfing parts of development, and remember that you're never alone! The Expo community and the React and React Native communities are great resources for help when you get stuck. There's a good chance someone else has run into the exact same error as you, so make sure to read the documentation, search the [forums](https://forums.expo.dev/), [GitHub issues](https://github.com/expo/expo/issues/), and [StackOverflow](https://stackoverflow.com/). ## Up Next diff --git a/docs/pages/guides/app-icons.md b/docs/pages/guides/app-icons.md index 4f0ccd6a5efaff..e0da7773adfe61 100644 --- a/docs/pages/guides/app-icons.md +++ b/docs/pages/guides/app-icons.md @@ -24,7 +24,7 @@ Create an app icon and splash image with the [Figma template](https://www.figma. - The icon you use for iOS should follow the [Apple Human Interface Guidelines](https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/app-icon/) for iOS Icons. - Use a png file. -- 1024x1024 is a good size. [EAS Build](/build/setup.md) will generate the other sizes for you. The largest size it generates is 1024x1024. +- 1024x1024 is a good size. If you have an Expo managed project, [EAS Build](/build/setup.md) will generate the other sizes for you. If you have a bare workflow project, you should generate the icons on your own. The largest size EAS Build generates is 1024x1024. - The icon must be exactly square, i.e. a 1023x1024 icon is not valid. - Make sure the icon fills the whole square, with no rounded corners or other transparent pixels. The operating system will mask your icon when appropriate. diff --git a/docs/pages/guides/authentication.md b/docs/pages/guides/authentication.md index 511d5e44f134cd..eae62ccbc5c310 100644 --- a/docs/pages/guides/authentication.md +++ b/docs/pages/guides/authentication.md @@ -34,7 +34,7 @@ If you'd like to see more, you can [open a PR](https://github.com/expo/expo/edit - + @@ -43,6 +43,7 @@ If you'd like to see more, you can [open a PR](https://github.com/expo/expo/edit + @@ -945,7 +946,7 @@ export default function App() { ### GitHub - + | Website | Provider | PKCE | Auto Discovery | | --------------------------- | --------- | --------- | -------------- | @@ -1028,13 +1029,13 @@ export default function App() { -- Implicit grant is [not supported for Github](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/). +- Implicit grant is [not supported for GitHub](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/). - + ### Google @@ -2161,6 +2162,105 @@ export default function App() { +### Twitter + + + +| Website | Provider | PKCE | Auto Discovery | Scopes | +| ---------------------------- | -------- | --------- | -------------- | ----------------- | +| [Get your Config][c-twitter] | OAuth | Supported | Not Available | [Info][s-twitter] | + +[c-twitter]: https://developer.twitter.com/en/portal/projects/new +[s-twitter]: https://developer.twitter.com/en/docs/authentication/oauth-2-0/authorization-code + +- You will need to be approved by Twitter support before you can use the Twitter v2 API. +- Web does not appear to work, the Twitter authentication website appears to block the popup, causing the `response` of `useAuthRequest` to always be `{type: 'dismiss'}`. +- Example redirects: + - Expo Go + Proxy: `https://auth.expo.io/@you/your-app` + - Standalone or Bare: `com.your.app://` + - Web (dev `expo start --https`): `https://localhost:19006` (no ending slash) +- The `redirectUri` requires 2 slashes (`://`). + +#### Expo Go + +You must use the proxy service in the Expo Go app because `exp://localhost:19000` cannot be added to your Twitter app as a redirect. + + + + + + + + +```tsx +import * as React from 'react'; +import * as WebBrowser from 'expo-web-browser'; +import { makeRedirectUri, useAuthRequest } from 'expo-auth-session'; +import { Button, Platform } from 'react-native'; + +const useProxy = Platform.select({ web: false, default: true }); + +/* @info Web only: This method should be invoked on the page that the auth popup gets redirected to on web, it'll ensure that authentication is completed properly. On native this does nothing. */ +WebBrowser.maybeCompleteAuthSession(); +/* @end */ + +// Endpoint +const discovery = { + authorizationEndpoint: "https://twitter.com/i/oauth2/authorize", + tokenEndpoint: "https://twitter.com/i/oauth2/token", + revocationEndpoint: "https://twitter.com/i/oauth2/revoke", +}; + +export default function App() { + const [request, response, promptAsync] = useAuthRequest( + { + clientId: 'CLIENT_ID', + redirectUri: makeRedirectUri({ + /* @info The URI [scheme]:// to be used in bare and standalone. If undefined, the scheme property of your app.json or app.config.js will be used instead. */ + scheme: 'your.app', + /* @end */ + useProxy + }), + usePKCE: true, + scopes: [ + "tweet.read", + ], + }, + discovery + ); + + React.useEffect(() => { + if (response?.type === 'success') { + /* @info Exchange the code for an access token in a server. Alternatively you can use the Implicit auth method. */ + const { code } = response.params; + /* @end */ + } + }, [response]); + + return ( +

-
Gitlab CI +
GitLab CI

```yaml @@ -148,7 +148,7 @@ script:

-
Gitlab CI +
GitLab CI

```yaml @@ -295,7 +295,7 @@ jobs:

-
Gitlab CI +
GitLab CI

```yaml @@ -439,7 +439,7 @@ Here are some extra links that might help you further. ### Official documentation CI/CD vendors -- [Gitlab CI](https://docs.gitlab.com/ce/ci/) +- [GitLab CI](https://docs.gitlab.com/ce/ci/) - [Travis CI](https://docs.travis-ci.com/) - [Bitbucket Pipelines](https://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html) @@ -449,6 +449,6 @@ Here are some extra links that might help you further. ### Example repositories from this guide -- [Github](https://github.com/bycedric/expo-guide-ci) -- [Gitlab](https://gitlab.com/byCedric/expo-guide-ci) +- [GitHub](https://github.com/bycedric/expo-guide-ci) +- [GitLab](https://gitlab.com/byCedric/expo-guide-ci) - [Bitbucket](https://bitbucket.org/byCedric/expo-guide-ci) diff --git a/docs/pages/guides/sharing-preview-releases.md b/docs/pages/guides/sharing-preview-releases.md index 31f801154ba663..76c90c94a21f9d 100644 --- a/docs/pages/guides/sharing-preview-releases.md +++ b/docs/pages/guides/sharing-preview-releases.md @@ -12,7 +12,7 @@ The typical means of distribution for a mobile app is through the Apple App Stor If you are using the Expo Managed workflow, you can share your application with your team through the Expo Go app. Expo Go is the easiest option to set up, doesn't require a paid Apple Developer account, and works the same on both platforms. Your users will launch the application through Expo Go rather than from an app icon though, so if that experience is important to you, consider [Internal Distribution](#internal-distribution) or [TestFlight for iOS](#testflight) instead. 1. Publish the latest version of your project to Expo's servers by running `expo publish`. -2. [Invite your teammate](https://expo.dev/[account]/[project]/settings/members) to the Expo account that owns the project. +2. [Invite your teammate](https://expo.dev/accounts/[account]/settings/members) to the Expo account that owns the project. 3. Have them [download the Expo Go app](https://expo.dev/expo-go) onto their device. 4. They'll be able to open your application from the Profile tab of their Expo Go app. diff --git a/docs/pages/guides/testing-with-jest.md b/docs/pages/guides/testing-with-jest.md index 187362995ac3b9..45e2ef6ff35c87 100644 --- a/docs/pages/guides/testing-with-jest.md +++ b/docs/pages/guides/testing-with-jest.md @@ -2,15 +2,17 @@ title: Testing with Jest --- -[Jest](https://jestjs.io) is the most widely used JavaScript unit testing framework, so you may be even be familiar with it already. This guide explains how to set up Jest in your project, write a unit test, write a snapshot test, and common problems that people encounter when using Jest in React Native. +This guide explains how to set up Jest in your project, write a unit test, write a snapshot test, and common problems people encounter when using **Jest** in React Native. + +[Jest](https://jestjs.io) is the most widely used JavaScript unit testing framework, so you may already be familiar with it. ## Installation -The first thing we'll want to do is install jest-expo, it's a Jest preset that mocks out the native side of the Expo SDK and handles some configuration for you. +The first thing we'll want to do is to install `jest-expo`, it's a Jest preset that mocks out the native side of the Expo SDK and handles most of configurations for you. To install the compatible version of `jest-expo` for your project, run: `expo install jest-expo jest` -Then we need to add/update **package.json** to include: +Then, we need to add/update **package.json** to include: ```js "scripts": { @@ -22,7 +24,7 @@ Then we need to add/update **package.json** to include: } ``` -Now let's add react-test-renderer to our project. Pick a version that is compatible with the React version used in your project. For example, if you use React 17.x then you should install `react-test-renderer@17`: +Now let's add `react-test-renderer` to our project. Pick a version that is compatible with the React version used by your project. For example, if you use React 17.x then you should install `react-test-renderer@17`: `yarn add react-test-renderer@17 --dev` **or** `npm i react-test-renderer@17 --save-dev` @@ -34,7 +36,7 @@ That's it! Now we can start writing Jest tests! Jest comes with a lot of configuration options, for more details read [Configuring Jest](https://jestjs.io/docs/configuration). -We would like to point out [transformIgnorePatterns](https://jestjs.io/docs/configuration#transformignorepatterns-arraystring). Below is a great starting point to make sure any modules you may be using within `/node_modules/` are transpiled when running jest. This should cover the majority of your needs but you can always add to this pattern list as you see fit. +We would like to point out [`transformIgnorePatterns`](https://jestjs.io/docs/configuration#transformignorepatterns-arraystring). Below is a great starting point to make sure any modules you may be using within `/node_modules/` are transpiled when running jest. This should cover the majority of your needs but you can always add to this pattern list as you see fit. ```json "jest": { @@ -47,9 +49,9 @@ We would like to point out [transformIgnorePatterns](https://jestjs.io/docs/conf ## Unit Test -We are going to write a simple test for **App.js** by creating **App.test.js**. Jest will identify this as a test, and include it in the tests queue. There are other ways to [structure your tests](#structure-your-tests), but we will cover that later in this tutorial. +We are going to write a simple test for **App.js** by creating it's own test file: **App.test.js**. Jest will identify this as a test and include it in the tests queue. There are other ways to [structure your tests](#structure-your-tests), but we will cover that later in this guide. -Our test will be the expected state of the `` to have 1 child element: +Our test will be the expected state of the `` to have one child element: ```js import React from 'react'; @@ -65,13 +67,13 @@ describe('', () => { }); ``` -Now run `yarn test` or `npm run test`, if all went well you should see 1 test passed! Read more on [expect and conditional matchers](https://jestjs.io/docs/en/expect). +Now run `yarn test` or `npm run test`, if everything goes well, you should see that one test passed! Read more on [expect and conditional matchers](https://jestjs.io/docs/en/expect). ## Snapshot Test -Now let's add a snapshot test for **App.js**. **What is a snapshot test, and why is it useful?** Snapshot tests are used to make sure the UI stays consistent, especially when a project is working with global styles that are potentially shared across components. Read more about it on Jest's site [snapshot testing](https://jestjs.io/docs/en/snapshot-testing). +**What is a snapshot test, and why is it useful?** Snapshot tests are used to make sure the UI stays consistent, especially when a project is working with global styles that are potentially shared across components. Read more about it on Jest's site [snapshot testing](https://jestjs.io/docs/en/snapshot-testing). -Let's add the following within the describe(): +Now let's add a snapshot test for **App.js**, add the following within the `describe()`: ```js it('renders correctly', () => { @@ -80,18 +82,18 @@ it('renders correctly', () => { }); ``` -Now run `yarn test` or `npm run test`, if all went well you should see a snapshot created and 2 tests passed! +Now run `yarn test` or `npm run test`, if everything goes well, you should see a snapshot created and two tests passed! -This was a very simple test, for more information take a look at the following links: +This was a very simple test, for more information, take a look at the following links: -- [Api: Globals](https://jestjs.io/docs/en/api) -- [Api: Mock Functions](https://jestjs.io/docs/en/mock-function-api) -- [Api: Expect](https://jestjs.io/docs/en/expect) -- [Cli Options](https://jestjs.io/docs/en/cli) +- [API: Globals](https://jestjs.io/docs/en/api) +- [API: Mock Functions](https://jestjs.io/docs/en/mock-function-api) +- [API: Expect](https://jestjs.io/docs/en/expect) +- [CLI Options](https://jestjs.io/docs/en/cli) ## Code Coverage Reports -Running tests are cool and all, but wouldn't you like to see your Expo projects total code coverage?! Maybe even see it in html format?! This section is for you! +Running tests are cool and all, but wouldn't you like to see total code coverage in your Expo projects?! Maybe even see it in an HTML format?! This section is for you! Let's head back to **package.json** and add the following: @@ -109,15 +111,15 @@ Let's head back to **package.json** and add the following: } ``` -The above additions let's Jest know to collect coverage of all **_.js & .jsx_** file types and not within **_/coverage_**, **_/node_modules/_** and our 2 project config files (add/remove more exclusions to this list to match your Expo app needs). +The above additions let Jest know to collect coverage of all **_.js & .jsx_** file types and not within **_/coverage_**, **_/node_modules/_** and our 2 project config files (add/remove more exclusions to this list to match your needs). -Now run the test again, you should see **/coverage/** in your app directory! Find the **index.html** file within and double click to open it up in a browser. Not only do we have reporting in our cli, we also have an html version of our code coverage, pretty cool stuff! +Now run the test again, you should see **/coverage** in your app directory! Find the **index.html** file within and double click to open it up in a browser. Not only do we have reporting in our CLI, we also have an HTML version of our code coverage, pretty cool stuff! > **Standards Note**: You can do what you want, but usually we wouldn't upload this html reporting to git; so add `coverage/\*\*/*` as a line in `.gitignore` to prevent this directory from being tracked. ## Structure your Tests -As promised, let's talk about how to set up the tests, right now we have a single `.test.js` in the root of our Expo project. This can get messy quickly, the easiest way is to create a `__tests__` directory (anywhere you'd like) and put all the tests there. For example see below: +As promised, let's talk about how to set up the tests. Right now we have a single `.test.js` in the root of our Expo project, this can get messy quickly. The easiest way is to create a `__tests__` directory (anywhere you'd like) and put all the tests there. For example see below: ```sh __tests__/ @@ -160,11 +162,11 @@ src/ ... ``` -At the end of the day, it's all preference and up to you on how you'd like to structure things, but we wanted to share a few options to consider. +At the end of the day, it's all about preferences and up to you to know how you'd like to structure things, but we wanted to share a few options to consider. ## Jest Flows -This is optional, but wanted to talk about different jest test flows. Currently we run the test and that's it, but take a look at the [Cli Options](https://jestjs.io/docs/en/cli). Below are a few script setups to try: +This is optional, but wanted to talk about different Jest test flows. Currently we run the test and that's it, but take a look at the [CLI Options](https://jestjs.io/docs/en/cli). Below are a few script setups to try: ```js "scripts": { diff --git a/docs/pages/guides/userinterface.md b/docs/pages/guides/userinterface.md index 9be925086fae8d..41cdd73fb7f2dd 100644 --- a/docs/pages/guides/userinterface.md +++ b/docs/pages/guides/userinterface.md @@ -14,4 +14,4 @@ Below (in no particular order) are some of the most popular UI Libraries. Test t - [React Native UI Kitten](https://akveo.github.io/react-native-ui-kitten/#/home), and their [docs](https://akveo.github.io/react-native-ui-kitten/#/docs/quick-start/getting-started) - [React Native iOS Kit](https://github.com/callstack/react-native-ios-kit), and their [docs](https://callstack.github.io/react-native-ios-kit/docs/installation.html) -> **Note:** As with any library, it's always best to find one with a large and active community. This way, help is easy to come by. Check out any project's Github page to see what the activity is like. +> **Note:** As with any library, it's always best to find one with a large and active community. This way, help is easy to come by. Check out any project's GitHub page to see what the activity is like. diff --git a/docs/pages/guides/using-bugsnag.md b/docs/pages/guides/using-bugsnag.md index 1c6b999646303a..d1cce4e09af72a 100644 --- a/docs/pages/guides/using-bugsnag.md +++ b/docs/pages/guides/using-bugsnag.md @@ -81,5 +81,5 @@ Type definitions provided and will be picked up automatically by the TypeScript - Read the [full integration guide](https://docs.bugsnag.com/platforms/react-native/expo/) - View [`@bugsnag/js`](https://github.com/bugsnag/bugsnag-js), the library powering Bugsnagโ€™s JavaScript error reporting, on GitHub -- Explore [the example project](https://github.com/bugsnag/bugsnag-js/tree/master/examples/expo) +- Explore [the example project](https://github.com/bugsnag/bugsnag-js/tree/next/examples/js/expo) - Get [support](https://docs.bugsnag.com/#support) for your questions and feature requests diff --git a/docs/pages/guides/using-custom-fonts.md b/docs/pages/guides/using-custom-fonts.md index 6f9af556105466..7c7b4bce2135d3 100644 --- a/docs/pages/guides/using-custom-fonts.md +++ b/docs/pages/guides/using-custom-fonts.md @@ -36,13 +36,13 @@ export default function App() { if (!fontsLoaded) { return ; - } else { - return ( - - Inter Black - - ); } + + return ( + + Inter Black + + ); } ``` @@ -72,14 +72,14 @@ export default props => { if (!fontsLoaded) { return ; - } else { - return ( - - Inter Black - Platform Default - - ); } + + return ( + + Inter Black + Platform Default + + ); }; ``` @@ -184,14 +184,14 @@ export default props => { }); if (!fontsLoaded) { return ; - } else { - return ( - - Inter SemiBoldItalic - Platform Default - - ); } + + return ( + + Inter SemiBoldItalic + Platform Default + + ); }; ``` @@ -236,17 +236,17 @@ export default class App extends React.Component { } render() { - if (this.state.fontsLoaded) { - return ( - - Platform Default - Inter Black - Inter SemiBoldItalic - - ); - } else { + if (!this.state.fontsLoaded) { return ; } + + return ( + + Platform Default + Inter Black + Inter SemiBoldItalic + + ); } } ``` diff --git a/docs/pages/guides/using-nextjs.md b/docs/pages/guides/using-nextjs.md index d367581217aa8a..ffd9f888743d88 100644 --- a/docs/pages/guides/using-nextjs.md +++ b/docs/pages/guides/using-nextjs.md @@ -247,7 +247,7 @@ export default function FontDemo() { (async () => { try { await Font.loadAsync({ - // You can get this font on Github: https://shorturl.at/chEHS + // You can get this font on GitHub: https://shorturl.at/chEHS 'space-mono': require('./assets/SpaceMono-Regular.ttf'), }); } catch ({ message }) { diff --git a/docs/pages/modules/android-lifecycle-listeners.md b/docs/pages/modules/android-lifecycle-listeners.md new file mode 100644 index 00000000000000..d9339a9c851acc --- /dev/null +++ b/docs/pages/modules/android-lifecycle-listeners.md @@ -0,0 +1,236 @@ +--- +title: Android Lifecycle Listeners +--- + +import { Tab, Tabs } from '~/components/plugins/Tabs'; + +In order to respond to certain Android system events relevant to an app, such as inbound links and configuration changes, it is necessary to override the corresponding lifecycle callbacks in **MainActivity.java** and/or **MainApplication.java**. + +The React Native module API does not provide any mechanism to hook into these, and so setup instructions for React Native libraries often include steps to copy code into these files. To simplify and automate setup and maintenance, the Expo module API provides a mechanism that allows your library to hook into `Activity` or `Application` functions. + +## Get Started + +First, you need to have created an Expo module or integrated the Expo modules API in library using the React Native module API. [Learn more](./overview.md#setup) + +Inside of your module, a concrete class that implements the [`Package`](https://github.com/expo/expo/blob/master/packages/expo-modules-core/android/src/main/java/expo/modules/core/interfaces/Package.java) interface. For most cases, you only need to implement the `createReactActivityLifecycleListeners` or `createApplicationLifecycleListeners` methods. + +## `Activity` Lifecycle Listeners + +You can hook into the `Activity` lifecycle using `ReactActivityLifecycleListener`. `ReactActivityLifecycleListener` hooks into React Native's `ReactActivity` lifecycles using its `ReactActivityDelegate` and provides a similar experience to Android `Activity` lifecycles. + +The following `Activity` lifecycle callbacks are currently supported: + +- `onCreate` +- `onResume` +- `onPause` +- `onDestrory` +- `onNewIntent` +- `onBackPressed` + +To create a `ReactActivityLifecycleListener`, you should implement `createReactActivityLifecycleListeners` in your derived `Package` class, e.g. `MyLibPackage`. + + + + + +```kotlin +// android/src/main/java/expo/modules/mylib/MyLibPackage.kt +package expo.modules.mylib + +import android.content.Context +import expo.modules.core.interfaces.Package +import expo.modules.core.interfaces.ReactActivityLifecycleListener + +class MyLibPackage : Package { + override fun createReactActivityLifecycleListeners(activityContext: Context): List { + return listOf(MyLibReactActivityLifecycleListener()) + } +} +``` + + + + + +```java +// android/src/main/java/expo/modules/mylib/MyLibPackage.java +package expo.modules.mylib; + +import android.content.Context; +import expo.modules.core.interfaces.Package; +import expo.modules.core.interfaces.ReactActivityLifecycleListener; + +import java.util.Collections; +import java.util.List; + +public class MyLibPackage implements Package { + @Override + public List createReactActivityLifecycleListeners(Context activityContext) { + return Collections.singletonList(new MyLibReactActivityLifecycleListener()); + } +} +``` + + + + + +`MyLibReactActivityLifecycleListener` is a `ReactActivityLifecycleListener` derived class that you can hook into the lifecycles. You can only override the methods you need. + + + + + +```kotlin +// android/src/main/java/expo/modules/mylib/MyLibReactActivityLifecycleListener.kt +package expo.modules.mylib + +import android.app.Activity +import android.os.Bundle +import expo.modules.core.interfaces.ReactActivityLifecycleListener + +class MyLibReactActivityLifecycleListener : ReactActivityLifecycleListener { + override fun onCreate(activity: Activity, savedInstanceState: Bundle?) { + // Your setup code in `Activity.onCreate`. + doSomeSetupInActivityOnCreate(activity) + } +} +``` + + + + + +```java +// android/src/main/java/expo/modules/mylib/MyLibReactActivityLifecycleListener.java +package expo.modules.mylib; + +import android.app.Activity; +import android.os.Bundle; + +import expo.modules.core.interfaces.ReactActivityLifecycleListener; + +public class MyLibReactActivityLifecycleListener implements ReactActivityLifecycleListener { + @Override + public void onCreate(Activity activity, Bundle savedInstanceState) { + // Your setup code in `Activity.onCreate`. + doSomeSetupInActivityOnCreate(activity); + } +} +``` + + + + + +## `Application` Lifecycle Listeners + +You can hook into the `Application` lifecycle using `ApplicationLifecycleListener`. + +The following `Application` lifecycle callbacks are currently supported: + +- `onCreate` +- `onConfigurationChanged` + +To create a `ApplicationLifecycleListener`, you should implement `createApplicationLifecycleListeners` in your derived `Package` class, e.g. `MyLibPackage`. + + + + + +```kotlin +// android/src/main/java/expo/modules/mylib/MyLibPackage.kt +package expo.modules.mylib + +import android.content.Context +import expo.modules.core.interfaces.ApplicationLifecycleListener +import expo.modules.core.interfaces.Package + +class MyLibPackage : Package { + override fun createApplicationLifecycleListeners(context: Context): List { + return listOf(MyLibApplicationLifecycleListener()) + } +} +``` + + + + + +```java +// android/src/main/java/expo/modules/mylib/MyLibPackage.java +import android.content.Context; + +import java.util.Collections; +import java.util.List; + +import expo.modules.core.interfaces.ApplicationLifecycleListener; +import expo.modules.core.interfaces.Package; + +public class MyLibPackage implements Package { + @Override + public List createApplicationLifecycleListeners(Context context) { + return Collections.singletonList(new MyLibApplicationLifecycleListener()); + } +} +``` + + + + + +`MyLibApplicationLifecycleListener` is an `ApplicationLifecycleListener` derived class that can hook into the `Application` lifecycle callbacks. You should only override the methods you need ([due to possible maintenance costs](#interface-stability)). + + + + + +```kotlin +// android/src/main/java/expo/modules/mylib/MyLibApplicationLifecycleListener.kt +package expo.modules.mylib + +import android.app.Application +import expo.modules.core.interfaces.ApplicationLifecycleListener + +class MyLibApplicationLifecycleListener : ApplicationLifecycleListener { + override fun onCreate(application: Application) { + // Your setup code in `Application.onCreate`. + doSomeSetupInApplicationOnCreate(application) + } +} +``` + + + + + +```java +// android/src/main/java/expo/modules/mylib/MyLibApplicationLifecycleListener.java +package expo.modules.mylib; + +import android.app.Application; + +import expo.modules.core.interfaces.ApplicationLifecycleListener; + +public class MyLibApplicationLifecycleListener implements ApplicationLifecycleListener { + @Override + public void onCreate(Application application) { + // Your setup code in `Application.onCreate`. + doSomeSetupInApplicationOnCreate(application); + } +} +``` + + + + + +## Known Issues + +### Why there are no `onStart` and `onStop` Activity listeners + +In the current implementation, we do not set up the hooks from `MainActivity` but from [`ReactActivityDelegate`](https://github.com/facebook/react-native/blob/400902093aa3ccfc05712a996c592a86f342253a/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java). There are some slight differences between `MainActivity` and `ReactActivityDelegate`. Since `ReactActivityDelegate` does not have `onStart` and `onStop`, we don't yet support them here. + +### Interface stability + +The listener interfaces may change from time to time between Expo SDK releases. Our strategy for backward compatibility is always to add new interfaces and add `@Deprecated` annotation for interfaces we plan to remove. Our interfaces are all based on Java 8 interface default method; you don't have to and should not implement all methods. Doing this will benefit your module's maintenance cost between Expo SDKs. diff --git a/docs/pages/modules/appdelegate-subscribers.md b/docs/pages/modules/appdelegate-subscribers.md new file mode 100644 index 00000000000000..7ea12b2cc2080f --- /dev/null +++ b/docs/pages/modules/appdelegate-subscribers.md @@ -0,0 +1,85 @@ +--- +title: iOS AppDelegate Subscribers +--- + +import { CodeBlocksTable } from '~/components/plugins/CodeBlocksTable'; + +In order to respond to certain iOS system events relevant to an app, such as inbound links and notifications, it is necessary to handle the corresponding methods in the `AppDelegate`. + +The React Native module API does not provide any mechanism to hook into these methods, and so setup instructions for React Native libraries often include a step to copy code into the `AppDelegate` file. To simplify and automate setup and maintenace, the Expo module API provides a mechanism that allows your library to subscribe to calls to `AppDelegate` functions. In order for this to work, the app `AppDelegate` must inherit from `ExpoAppDelegate`, and this is a requirement for using Expo Modules. + +`ExpoAppDelegate` implements most functions from [`UIApplicationDelegate`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate) protocol and forwards their calls to all the subscribers. + +## Get Started + +First, you need to have created an Expo module or integrated the Expo modules API in library using the React Native module API. [Learn more](./overview.md#setup) + +Create a new public Swift class that extends `ExpoAppDelegateSubscriber` from `ExpoModulesCore` and add its name to the `ios.appDelegateSubscribers` array in the [module config](./module-config.md). Run `pod install`, and the subscriber will be generated in the **ExpoModulesProvider.swift** file within the application project. + +Now you can subscribe to events by adding delegate functions to your subscriber class. For the full list of functions that you can subscribe to, see the functions that are overriden in [`ExpoAppDelegate.swift`](https://github.com/expo/expo/blob/master/packages/expo-modules-core/ios/AppDelegates/ExpoAppDelegate.swift). App delegate functions that may cause side effects when provided are not supported yet (e.g. [`application(_:viewControllerWithRestorationIdentifierPath:coder:)`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623062-application)). + +> Note: Objective-C classes are not supported. + +## Result Values + +Delegate functions that need to return a value have some additional logic to reconcile responses from multiple subscribers and try to satisfy all of them. There are two good examples of such edge cases: + +#### `application(_:didFinishLaunchingWithOptions:) -> Bool` + +According to the [Apple documentation](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1622921-application), you should return `false` if the app cannot handle the URL resource or continue a user activity, otherwise `true` should be returned. The return value is ignored if the app is launched as a result of a remote notification. +In such situations, if at least one of the subscribers returns `true`, the `ExpoAppDelegate` will return `true` as well. + +#### `application(_:didReceiveRemoteNotification:fetchCompletionHandler:)` + +This method tells the app delegate that a remote notification arrived and gives the app the opportunity to fetch new data. It receives a completion block to execute when the fetch operation is completed. This block should be called with the fetch result value that best describes the results of your fetch request. Possible values are: `UIBackgroundFetchResult.newData`, `UIBackgroundFetchResult.noData` or `UIBackgroundFetchResult.failed`. +In this scenario, `ExpoAppDelegate` passes a new completion block to each subscriber, waits until all are completed and collects the results before calling the original completion block. The final result depends on the results collected from the subscribers, as follows in the following order: + +- If at least one subscriber called the completion block with `failed` result, the delegate returns `failed` as well. +- If there is at least one `newData` result, the delegate returns `newData`. +- Otherwise `noData` is returned. + +> To check out how other functions process the result of your subscriber, we recommend reading the code directly: [`ExpoAppDelegate.swift`](https://github.com/expo/expo/blob/master/packages/expo-modules-core/ios/AppDelegates/ExpoAppDelegate.swift). + +## Example + + + +```swift +import ExpoModulesCore + +public class AppLifecycleDelegate: ExpoAppDelegateSubscriber { + public func applicationDidBecomeActive(_ application: UIApplication) { + // The app has become active. + } + + public func applicationWillResignActive(_ application: UIApplication) { + // The app is about to become inactive. + } + + public func applicationDidEnterBackground(_ application: UIApplication) { + // The app is now in the background. + } + + public func applicationWillEnterForeground(_ application: UIApplication) { + // The app is about to enter the foreground. + } + + public func applicationWillTerminate(_ application: UIApplication) { + // The app is about to terminate. + } +} +``` + + + + + +```json +{ + "ios": { + "appDelegateSubscribers": ["AppLifecycleDelegate"] + } +} +``` + + diff --git a/docs/pages/modules/module-api.md b/docs/pages/modules/module-api.md new file mode 100644 index 00000000000000..b4b4992237065d --- /dev/null +++ b/docs/pages/modules/module-api.md @@ -0,0 +1,473 @@ +--- +title: Module API +--- + +import { CodeBlocksTable } from '~/components/plugins/CodeBlocksTable'; + +> Note: This API is still experimental and subject to change. Some features that you need may not be implemented yet. + +The Expo module API provided by `expo-modules-core` is an abstraction layer on top of React Native modules that helps you build native modules in modern languages (Swift and Kotlin) with an easy to use and convenient API that is consistent across platforms where possible. + +## Design considerations + +### Why Swift and Kotlin? + +After several years of maintaining over 50 native modules in the Expo SDK, we have found out that many issues that have arisen were caused by unhandled null values or using incorrect types. Modern language features can help developers avoid these bugs; for example, the lack of optional types combined with the dynamism of Objective-C made it tough to catch certain classes of bugs that would have been caught by the compiler in Swift. + +This is one of the reasons why the Expo module ecosystem was designed from the ground up to be used with modern native languages: Swift and Kotlin. + +### Passing data between runtimes + +Another big pain point that we have encountered is the validation of arguments passed from JavaScript to native functions. This is especially error prone, time consuming, and difficult to maintain when it comes to `NSDictionary` or `ReadableMap`, where the type of values is unknown in runtime and each property needs to be validated separately by the developer. A valuable feature of the Expo module API is that it has full knowledge of the argument types the native function expects, so it can pre-validate and convert the arguments for you! The dictionaries can be represented as native structs that we call [Records](#records). Knowing the argument types, it is also possible to [automatically convert arguments](#convertibles) to some platform-specific types (e.g. `{ x: number, y: number }` or `[number, number]` can be translated to CoreGraphics's `CGPoint` for your convenience). + +## Get Started + +### 1. Set up the library as an Expo module + +To use the Expo module API, you need [set up your library as an Expo module](overview). Once that is complete, create Swift and Kotlin files from the below templates. + + + +```swift +import ExpoModulesCore + +public class MyModule: Module { + public func definition() -> ModuleDefinition { + // Definition components go here + } +} +``` + +```kotlin +package my.module.package + +import expo.modules.kotlin.modules.Module +import expo.modules.kotlin.modules.ModuleDefinition + +class MyModule : Module() { + override fun definition() = ModuleDefinition { + // Definition components go here + } +} +``` + + + +### 2. Set up module config + +Add your classes to iOS and/or Android `modulesClassNames` in the [module config](module-config). + + + +```json +{ + "ios": { + "modulesClassNames": ["MyModule"] + }, + "android": { + "modulesClassNames": ["my.module.package.MyModule"] + } +} +``` + + + +### 3. Ensure the module is linked + +**On iOS** you also need to run `pod install` to link the new class. + +**On Android** it will be linked automatically before building. + +Now that the class is set up and linked, you can start to add functionality. The rest of this guide is a reference for the module API, along with links to [examples](#examples) of simple to moderately complex real-world modules that you can reference to better understand how to use the API. + +## Definition Components + +As you might have noticed in the snippets above, each module class must implement the `definition` function. The definition consists of components that describe the module's functionality and behavior. + +### `name` + +Sets the name of the module that JavaScript code will use to refer to the module. Takes a string as an argument. Can be inferred from module's class name, but it's recommended to set it explicitly for clarity. + + + +```swift +name("MyModuleName") +``` + + + +### `constants` + +Sets constant properties on the module. Can take a dictionary or a closure that returns a dictionary. + + + +```swift +// Created from the dictionary +constants([ + "PI": Double.pi +]) + +// or returned by the closure +constants { + return [ + "PI": Double.pi + ] +} +``` + +```kotlin +constants( + mapOf( + "PI" to kotlin.math.PI + ) +) +``` + + + +### `function` + +Defines a native function that will be exported to JavaScript. + +#### Arguments + +- **name**: `String` โ€” Name of the function that you'll call from JavaScript. +- **body**: `(args...) -> ReturnType` โ€” The closure to run when the function is called. + +All functions return a `Promise` to JavaScript and are asychronous from the perspective of the JavaScript runtime. However, if the type of the last argument is `Promise`, the function is considered to be asynchronous on the native side and it will wait for the promise to be resolved or rejected before the response is passed back to JavaScript. Otherwise, the function is immediately resolved with the returned value or rejected if it throws an error. Note that this is different than synchronous/asynchronous calls in JavaScript โ€” at this moment all functions are _asynchronous_ from the JavaScript perspective. + +The function can receive up to 8 arguments (including the promise). This is due to the limitations of generics in both Swift and Kotlin, because this component must be implemented separately for each number of arguments. + + + +```swift +function("syncFunction") { (message: String) in + return message +} + +function("asyncFunction") { (message: String, promise: Promise) in + DispatchQueue.main.asyncAfter(deadline: .now() + 3.0) { + promise.resolve(message) + } +} +``` + +```kotlin +function("syncFunction") { message: String -> + return@function message +} + +function("asyncFunction") { message: String, promise: Promise -> + launch(Dispatchers.Main) { + promise.resolve(message) + } +} +``` + +```javascript +import { NativeModulesProxy } from 'expo-modules-core'; + +// Assume that we have named the module "MyModule" +const { MyModule } = NativeModulesProxy; + +async function getMessage() { + // Functions that are synchronous on the native side are still asynchronous to + // JavaScript and return a promise + const message = await MyModule.syncFunction('foo'); + const otherMessage = await MyModule.asyncFunction('bar'); + console.log(`${message} ${otherMessage}); // foo bar +} +``` + + + +### `events` + +Defines event names that the module can send to JavaScript. + + + +```swift +events("onCameraReady", "onPictureSaved", "onBarCodeScanned") +``` + +```kotlin +events("onCameraReady", "onPictureSaved", "onBarCodeScanned") +``` + + + +### `view` + +Defines the factory creating a native view, when the module is used as a view. +On Android, the factory function also receives [Android Context](https://developer.android.com/reference/android/content/Context) which is required to create any view. + + + +```swift +view { + UITextView() +} +``` + +```kotlin +view { context -> + TextView(context) +} +``` + + + +### `prop` + +Defines a setter for the view prop of given name. + +#### Arguments + +- **name**: `String` โ€” Name of view prop that you want to define a setter. +- **setter**: `(view: ViewType, value: ValueType) -> ()` โ€” Closure that is invoked when the view rerenders. + +This property can only be used within a [`viewManager`](#viewmanager) closure. + + + +```swift +prop("background") { (view: UIView, color: UIColor) in + view.backgroundColor = color +} +``` + +```kotlin +prop("background") { view: View, @ColorInt color: Int -> + view.setBackgroundColor(color) +} +``` + + + +> Note: Props of function type (callbacks) are not supported yet. + +### `viewManager` + +Enables the module to be used as a view manager. The view manager definition is built from the definition components used in the closure passed to `viewManager`. Definition components that are accepted as part of the view manager definition: [`view`](#view), [`prop`](#prop). + + + +```swift +viewManager { + view { + UIView() + } + + prop("isHidden") { (view: UIView, hidden: Bool) in + view.isHidden = hidden + } +} +``` + +```kotlin +viewManager { + view { context -> + View(context) + } + + prop("isHidden") { view: View, hidden: Bool -> + view.isVisible = !hidden + } +} +``` + + + +### `onCreate` + +Defines module's lifecycle listener that is called right after module initialization. If you need to set up something when the module gets initialized, use this instead of module's class initializer. + +### `onDestroy` + +Defines module's lifecycle listener that is called when the module is about to be deallocated. Use it instead of module's class destructor. + +### `onStartObserving` + +Defines the function that is invoked when the first event listener is added. + +### `onStopObserving` + +Defines the function that is invoked when all event listeners are removed. + +### `onAppContextDestroys` + +Defines module's lifecycle listener that is called when the app context owning the module is about to be deallocated. + +### `onAppEntersForeground` ๐Ÿ + +Defines the listener that is called when the app is about to enter the foreground mode. + +> Note: This function is not available on Android โ€” you may want to use [`onActivityEntersForeground`](#onactivityentersforeground--) instead. + +### `onAppEntersBackground` ๐Ÿ + +Defines the listener that is called when the app enters the background mode. + +> Note: This function is not available on Android โ€” you may want to use [`onActivityEntersBackground`](#onactivityentersbackground--) instead. + +### `onAppBecomesActive` ๐Ÿ + +Defines the listener that is called when the app becomes active again (after `onAppEntersForeground`). + +> Note: This function is not available on Android โ€” you may want to use [`onActivityEntersForeground`](#onactivityentersforeground--) instead. + +### `onActivityEntersForeground` ๐Ÿค– + +> Note: This function is not available on iOS โ€” you may want to use [`onAppEntersForeground`](#onappentersforeground--) instead. + +### `onActivityEntersBackground` ๐Ÿค– + +> Note: This function is not available on iOS โ€” you may want to use [`onAppEntersBackground`](#onappentersbackground--) instead. + +### `onActivityDestroys` ๐Ÿค– + +Defines the listener that is called when the activity owning the JavaScript context is about to be destroyed. + +> Note: This function is not available on iOS โ€” you may want to use [`onAppEntersBackground`](#onappentersbackground--) instead. + +## Argument Types + +Fundamentally, only primitive and serializable data can be passed back and forth between the runtimes. However, usually native modules need to receive custom data structures โ€” more sophisticated than just the dictionary/map where the values are of unknown (`Any`) type and so each value has to be validated and casted on its own. The Expo module API provides protocols to make it more convenient to work with data objects, to provide automatic validation, and finally, to ensure native type-safety on each object member. + +### Convertibles + +_Convertibles_ are native types that can be initialized from certain specific kinds of data received from JavaScript. Such types are allowed to be used as an argument type in `function`'s body. As a good example, when the `CGPoint` type is used as a function argument type, its instance can be created from an array of two numbers (_x_, _y_) or a JavaScript object with numeric `x` and `y` properties. + +Some common iOS types from `CoreGraphics` and `UIKit` system frameworks are already made convertible. + +| Native Type | TypeScript | +| ----------- | ------------------------------------------------------------------------------------------------------------------ | +| `URL` | `string` with a URL. When scheme is not provided, it's assumed to be a file URL. | +| `CGFloat` | `number` | +| `CGPoint` | `{ x: number, y: number }` or `number[]` with _x_ and _y_ coords | +| `CGSize` | `{ width: number, height: number }` or `number[]` with _width_ and _height_ | +| `CGVector` | `{ dx: number, dy: number }` or `number[]` with _dx_ and _dy_ vector differentials | +| `CGRect` | `{ x: number, y: number, width: number, height: number }` or `number[]` with _x_, _y_, _width_ and _height_ values | +| `CGColor` | Color hex strings in formats: `#RRGGBB`, `#RRGGBBAA`, `#RGB`, `#RGBA` | +| `UIColor` | Color hex strings in formats: `#RRGGBB`, `#RRGGBBAA`, `#RGB`, `#RGBA` | + +### Records + +_Record_ is a convertible type and an equivalent of the dictionary (Swift) or map (Kotlin), but represented as a struct where each field can have its own type and provide a default value. + + + +```swift +struct FileReadOptions: Record { + @Field + var encoding: String = "utf8" + + @Field + var position: Int = 0 + + @Field + var length: Int? +} + +// Now this record can be used as an argument of the functions or the view prop setters. +function("readFile") { (path: String, options: FileReadOptions) -> String in + // Read the file using given `options` +} +``` + +```kotlin +class FileReadOptions : Record { + @Field + val encoding: String = "utf8" + + @Field + val position: Int = 0 + + @Field + val length: Int? +} + +// Now this record can be used as an argument of the functions or the view prop setters. +function("readFile") { path: String, options: FileReadOptions -> + // Read the file using given `options` +} +``` + + + +### Enums + +With enums we can go even further with the above example (with `FileReadOptions` record) and limit supported encodings to `"utf8"` and `"base64"`. To use an enum as an argument or record field, it must represent a primitive value (e.g. `String`, `Int`) and conform to `EnumArgument`. + + + +```swift +enum FileEncoding: String, EnumArgument { + case utf8 + case base64 +} + +struct FileReadOptions: Record { + @Field + var encoding: FileEncoding = .utf8 + // ... +} +``` + +```kotlin +// Note: the constructor must have an argument called value. +enum class FileEncoding(val value: String) { + utf8("utf8"), + base64("base64") +} + +class FileReadOptions : Record { + @Field + val encoding: FileEncoding = FileEncoding.utf8 + // ... +} +``` + + + +## Examples + + + +```swift +public class MyModule: Module { + public func definition() -> ModuleDefinition { + name("MyFirstExpoModule") + + function("hello") { (name: String) in + return "Hello \(name)!" + } + } +} +``` + +```kotlin +class MyModule : Module() { + override fun definition() = ModuleDefinition { + name("MyFirstExpoModule") + + function("hello") { name: String -> + return "Hello $name!" + } + } +} +``` + + + +For more examples from real modules, you can refer to Expo modules that already use this API on GitHub: + +- `expo-cellular` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-cellular/ios/CellularModule.swift), [Kotlin](https://github.com/expo/expo/blob/master/packages/expo-cellular/android/src/main/java/expo/modules/cellular/CellularModule.kt)) +- `expo-linear-gradient` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-linear-gradient/ios/LinearGradientModule.swift)), [Kotlin](https://github.com/expo/expo/blob/master/packages/expo-linear-gradient/android/src/main/java/expo/modules/lineargradient/LinearGradientModule.kt) +- `expo-haptics` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-haptics/ios/HapticsModule.swift)) +- `expo-clipboard` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-clipboard/ios/EXClipboard/ClipboardModule.swift)) +- `expo-localization` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-localization/ios/LocalizationModule.swift)) +- `expo-system-ui` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-system-ui/ios/ExpoSystemUI/ExpoSystemUIModule.swift)) +- `expo-image-manipulator` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-image-manipulator/ios/ImageManipulatorModule.swift)) diff --git a/docs/pages/modules/module-config.md b/docs/pages/modules/module-config.md new file mode 100644 index 00000000000000..b9f3dd1e95dcbf --- /dev/null +++ b/docs/pages/modules/module-config.md @@ -0,0 +1,12 @@ +--- +title: Module Config +--- + +Expo modules are configured in **expo-module.config.json**. This file currently is capable of configuring autolinking and module registration. The following properties are available: + +- `platforms` โ€” An array of supported platforms. +- `ios` โ€” Config with options specific to iOS platform + - `modulesClassNames` โ€” Names of Swift native modules classes to put to the generated modules provider file. + - `appDelegateSubscribers` โ€” Names of Swift classes that hooks into `ExpoAppDelegate` to receive AppDelegate life-cycle events. +- `android` โ€” Config with options specific to Android platform + - `modulesClassNames` โ€” Full names (package + class name) of Kotlin native modules classes to put to the generated package provider file. diff --git a/docs/pages/modules/overview.md b/docs/pages/modules/overview.md new file mode 100644 index 00000000000000..4c3318c2d5b535 --- /dev/null +++ b/docs/pages/modules/overview.md @@ -0,0 +1,67 @@ +--- +title: Overview +--- + +import { CodeBlocksTable } from '~/components/plugins/CodeBlocksTable'; + +Expo provides a set of APIs and utilities to improve the process of developing native modules for Expo and React Native and expand your app capabilities. + +- [Module API](./module-api.md) -ย Create native modules using Swift and Kotlin (_experimental_). +- [Android Lifecycle Listeners](./android-lifecycle-listeners.md) - Hook into Android Activity and Application lifecycle events. +- [iOS AppDelegate Subscribers](./appdelegate-subscribers.md) โ€” Respond to iOS AppDelegate events. +- [Module Config](./module-config.md) โ€” Configure and opt in to features. + +## Create a new module + +To create a new Expo module from scratch, run `npx create-expo-module`. + +## Use the Expo Module API in an existing React Native library + +You may want to use the Expo module API in existing React Native libraries, for example with [AppDelegate Subscribers](./appdelegate-subscribers.md) you can hook into `AppDelegate` methods without requiring developers to copy any code over to their own `AppDelegate`. This is particularly useful to add seamless support for Expo managed projects to a library. The following steps will set up your existing React Native library to have access to the Expo module API. + +### 1. Initialize the module config + +Create the [module config](module-config) **expo-module.config.json** file just near your **package.json** and start from the empty object `{}` in there. We will fill it in later to enable specific features.
+ +### 2. Add the `expo-modules-core` native dependency + +Add `expo-modules-core` as a dependency in your podspec and **build.gradle** files.
+ + + +```ruby +# ... +Pod::Spec.new do |s| + # ... + s.dependency 'ExpoModulesCore' +end +``` + +```groovy +// ... +dependencies { + // ... + implementation project(':expo-modules-core') +} +``` + + + +### 3. Add the `expo` peer dependency + +Add `expo` package as a peer dependency in your **package.json** โ€” we recommend using `*` as a version range so as not to cause any duplicated packages in user's **node_modules** folder. Depending on `expo-modules-core` is not needed in **package.json** as it's already provided by the `expo` package with the version of core that is compatible with specific SDK.
+ + + +```json +{ + // ... + "peerDependencies": { + "expo": "*" + } +} +``` + + + +You can now use Expo module APIs in your library. You may be interested in referring to the [Android Lifecycle Listeners](./android-lifecycle-listeners.md) and [iOS AppDelegate Subscribers](./appdelegate-subscribers.md) guides next. diff --git a/docs/pages/next-steps/community.md b/docs/pages/next-steps/community.md index 09ac184c5a3f11..b52cb8c371dd79 100644 --- a/docs/pages/next-steps/community.md +++ b/docs/pages/next-steps/community.md @@ -7,4 +7,4 @@ Want to chat about Expo? The best way to get in touch with our team and other pe - [Join the Expo forums](https://forums.expo.dev/) - [Chat with other developers on Discord](https://discord.gg/4gtbPAdpaE) - [Follow us on Twitter @expo](https://twitter.com/expo) -- [Become a contributor on Github](https://github.com/expo) +- [Become a contributor on GitHub](https://github.com/expo) diff --git a/docs/pages/versions/unversioned/index.md b/docs/pages/versions/unversioned/index.md index 47ed7342449073..a3657feaf96c82 100644 --- a/docs/pages/versions/unversioned/index.md +++ b/docs/pages/versions/unversioned/index.md @@ -30,14 +30,16 @@ The easiest way to create a bare React Native app with support for the Expo SDK ## Each Expo SDK version depends on a React Native version -Every quarter there is a new Expo SDK release that typically updates to the latest stable version of React Native and includes a variety of bugfixes, features and improvements to the Expo SDK. It's often useful to know what version of React Native your Expo project is running on, so the following table maps Expo SDK versions to their included React Native version. +Every quarter there is a new Expo SDK release that typically updates to the latest stable version of React Native and includes a variety of bugfixes, features and improvements to the Expo SDK. | Expo SDK Version | React Native Version | | ---------------- | :------------------: | +| 44.0.0 | 0.64.3 | | 43.0.0 | 0.64.3 | | 42.0.0 | 0.63.3 | | 41.0.0 | 0.63.3 | | 40.0.0 | 0.63.3 | -| 39.0.0 | 0.63.2 | -| 38.0.0 | 0.62.2 | -| 37.0.0 | 0.61.4 | + +### Support for other React Native versions + +Packages in the Expo SDK are intended to support the target React Native version for that SDK. Typically, they will not support older versions of React Native, but they may. When a new version of React Native is released, the latest versions of the Expo SDK packages are typically updated to support it; however, this may take weeks or more, depending on the extent of the changes in the release. \ No newline at end of file diff --git a/docs/pages/versions/unversioned/react-native/appstate.md b/docs/pages/versions/unversioned/react-native/appstate.md index be82634c1d9f33..e5d4e845cb4d18 100644 --- a/docs/pages/versions/unversioned/react-native/appstate.md +++ b/docs/pages/versions/unversioned/react-native/appstate.md @@ -31,10 +31,9 @@ const AppStateExample = () => { const [appStateVisible, setAppStateVisible] = useState(appState.current); useEffect(() => { - AppState.addEventListener('change', _handleAppStateChange); - + const subscription = AppState.addEventListener("change", _handleAppStateChange); return () => { - AppState.removeEventListener('change', _handleAppStateChange); + subscription.remove(); }; }, []); diff --git a/docs/pages/versions/unversioned/sdk/background-fetch.md b/docs/pages/versions/unversioned/sdk/background-fetch.md index 069c1b1412e89b..529a37c43eb897 100644 --- a/docs/pages/versions/unversioned/sdk/background-fetch.md +++ b/docs/pages/versions/unversioned/sdk/background-fetch.md @@ -15,7 +15,7 @@ import ImageSpotlight from '~/components/plugins/ImageSpotlight' ## Known issues -**iOS only**: BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant Github issue](https://github.com/expo/expo/issues/3582) +**iOS only**: BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant GitHub issue](https://github.com/expo/expo/issues/3582) ## Installation diff --git a/docs/pages/versions/unversioned/sdk/branch.md b/docs/pages/versions/unversioned/sdk/branch.md index 521fc00bd32719..ba75a80e9e23ec 100644 --- a/docs/pages/versions/unversioned/sdk/branch.md +++ b/docs/pages/versions/unversioned/sdk/branch.md @@ -6,7 +6,9 @@ packageName: 'expo-branch' import PlatformsSection from '~/components/plugins/PlatformsSection'; -**`expo-branch`** provides support for the [Branch](https://branch.io/) SDK, which is used for install referrals and attribution with deep links. **This module only works in standalone apps — you will need to [build a standalone app](../../../distribution/building-standalone-apps.md) in order to test it, rather than using Expo Go.** +> โš ๏ธ **This module only works in standalone apps on the classic build service (`expo build`)**. It is **not compatible with EAS Build**. [Work is in progress to add managed EAS Build support for react-native-branch](https://github.com/expo/config-plugins/pull/28). Once this is ready, `expo-branch` will be deprecated. + +**`expo-branch`** provides support for the [Branch](https://branch.io/) SDK, which is used for install referrals and attribution with deep links. diff --git a/docs/pages/versions/unversioned/sdk/camera.md b/docs/pages/versions/unversioned/sdk/camera.md index c6a765f6bd94b7..e504e4f07c0e8e 100644 --- a/docs/pages/versions/unversioned/sdk/camera.md +++ b/docs/pages/versions/unversioned/sdk/camera.md @@ -4,6 +4,7 @@ sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-camera' packageName: 'expo-camera' --- +import APISection from '~/components/plugins/APISection'; import {APIInstallSection} from '~/components/plugins/InstallSection'; import PlatformsSection from '~/components/plugins/PlatformsSection'; import SnackInline from '~/components/plugins/SnackInline'; @@ -100,286 +101,11 @@ const styles = StyleSheet.create({ -## API - -```js -import { Camera } from 'expo-camera'; -``` - -## Static Methods - -### `Camera.isAvailableAsync(): boolean` - -_Web Only_ - -Check whether the current device has a camera. This is useful for web and simulators cases. This isn't influenced by the Permissions API (all platforms), or HTTP usage (in the browser). You will still need to check if the native permission has been accepted. - -```js -import { Camera } from 'expo-camera'; - -if (await Camera.isAvailableAsync()) { -} -``` - -### `Camera.getAvailableCameraTypesAsync(): string[]` - -_Web Only_ - -Returns a list of camera types `['front', 'back']`. This is useful for desktop browsers which only have front-facing cameras. - -```js -import { Camera } from 'expo-camera'; - -const types = await Camera.getAvailableCameraTypesAsync(); -``` - -### `Camera.requestPermissionsAsync()` - -Asks the user to grant permissions for accessing camera. - -On iOS this will require apps to specify both `NSCameraUsageDescription` and `NSMicrophoneUsageDescription` entries in the **Info.plist** - -#### Returns - -A promise that resolves to an object of type [PermissionResponse](permissions.md#permissionresponse). - -### `Camera.requestCameraPermissionsAsync()` - -Asks the user to grant permissions for accessing camera. - -On iOS this will require apps to specify an `NSCameraUsageDescription` entry in the **Info.plist** - -#### Returns - -A promise that resolves to an object of type [PermissionResponse](permissions.md#permissionresponse). - -### `Camera.requestMicrophonePermissionsAsync()` - -Asks the user to grant permissions for accessing the microphone. - -On iOS this will require apps to specify an `NSMicrophoneUsageDescription` entry in the **Info.plist** - -#### Returns - -A promise that resolves to an object of type [PermissionResponse](permissions.md#permissionresponse). - -### `Camera.getPermissionsAsync()` - -Checks user's permissions for accessing camera. - -### `Camera.getCameraPermissionsAsync()` - -Checks user's permissions for accessing camera. - -### `Camera.getMicrophonePermissionsAsync()` - -Checks user's permissions for accessing microphone. - -#### Returns - -A promise that resolves to an object of type [PermissionResponse](permissions.md#permissionresponse). - -### `Camera.getAvailableVideoCodecsAsync()` - -(iOS only). Queries the device for the available video codecs that can be used in video recording. - -#### Returns - -A promise that resolves to a list of strings that represents available codecs. - -## Props - -### `type` - -Camera facing. Use one of `Camera.Constants.Type`. When `Type.front`, use the front-facing camera. When `Type.back`, use the back-facing camera. Default: `Type.back`. - -### `flashMode` - -Camera flash mode. Use one of `Camera.Constants.FlashMode`. When `on`, the flash on your device will turn on when taking a picture, when `off`, it won't. Setting to `auto` will fire flash if required, `torch` turns on flash during the preview. Default: `off`. - -### `autoFocus` - -State of camera auto focus. Use one of `Camera.Constants.AutoFocus`. When `on`, auto focus will be enabled, when `off`, it won't and focus will lock as it was in the moment of change but it can be adjusted on some devices via `focusDepth` prop. - -### `zoom` - -**(_float_)** A value between 0 and 1 being a percentage of device's max zoom. 0 - not zoomed, 1 - maximum zoom. Default: 0. - -### `whiteBalance` - -Camera white balance. Use one of `Camera.Constants.WhiteBalance`: `auto`, `sunny`, `cloudy`, `shadow`, `fluorescent`, `incandescent`. If a device does not support any of these values previous one is used. - -### `focusDepth` - -**(_float_)** Distance to plane of sharpest focus. A value between 0 and 1: 0 - infinity focus, 1 - focus as close as possible. Default: 0. For Android this is available only for some devices and when `useCamera2Api` is set to true. - -### `ratio` - -**(_string_)** Android only. A string representing aspect ratio of the preview, eg. `4:3`, `16:9`, `1:1`. To check if a ratio is supported by the device use [`getSupportedRatiosAsync`](#getsupportedratiosasync). Default: `4:3`. - -### `pictureSize` - -**(_string_)** A string representing the size of pictures [`takePictureAsync`](#takepictureasync) will take. Available sizes can be fetched with [`getAvailablePictureSizesAsync`](#getavailablepicturesizesasync). - -### `onCameraReady` - -**(_function_)** Callback invoked when camera preview has been set. - -### `onFacesDetected` - -**(_function_)** Callback invoked with results of face detection on the preview. See [FaceDetector documentation](facedetector.md#event-shape) for details. - -### `faceDetectorSettings` - -**(_Object_)** A settings object passed directly to an underlying module providing face detection features. See [FaceDetector documentation](facedetector.md#settings) for details. - -### `onMountError` - -**(_function_)** Callback invoked when camera preview could not been started. It is provided with an error object that contains a `message`. - -### `onBarCodeRead` - -**Deprecated**. Use **onBarCodeScanned** instead. - -### `onBarCodeScanned` - -**(_function_)** Callback that is invoked when a bar code has been successfully scanned. The callback is provided with an object of the shape `{ type: BarCodeScanner.Constants.BarCodeType, data: string }`, where the type refers to the bar code type that was scanned and the data is the information encoded in the bar code (in this case of QR codes, this is often a URL). See [`BarCodeScanner.Constants.BarCodeType`](bar-code-scanner.md#supported-formats) for supported values. - -### `barCodeTypes` - -**Deprecated**. Use **barCodeScannerSettings** instead. - -### `barCodeScannerSettings` - -**(_object_)** Settings exposed by [`BarCodeScanner`](bar-code-scanner.md) module. Supported settings: [**barCodeTypes**]. - -```javascript - -``` - -### `useCamera2Api` - -**Android only** **(_boolean_)** Whether to use Android's Camera2 API. See `Note` at the top of this page. - -### `videoStabilizationMode` - -**iOS only**. **(_Camera.Constants.VideoStabilization_)** The video stabilization mode used for a video recording. Use one of `Camera.Constants.VideoStabilization.{off, standard, cinematic, auto}`. - -You can read more about each stabilization type [here](https://developer.apple.com/documentation/avfoundation/avcapturevideostabilizationmode). - -### `poster` - -**Web only** **(_string_)** A URL for an image to be shown while the camera is loading. - -## Methods - -To use methods that Camera exposes one has to create a component `ref` and invoke them using it. - -```javascript -// ... - { - this.camera = ref; - }} -/>; -// ... -snap = async () => { - if (this.camera) { - let photo = await this.camera.takePictureAsync(); - } -}; -``` - -### `takePictureAsync()` - -Takes a picture and saves it to app's cache directory. Photos are rotated to match device's orientation (if **options.skipProcessing** flag is not enabled) and scaled to match the preview. Anyway on Android it is essential to set `ratio` prop to get a picture with correct dimensions. - -> **Note**: Make sure to wait for the [`onCameraReady`](#oncameraready) callback before calling this method. - -#### Arguments - -- **options (_object_)** -- - - A map of options: - - - **quality (_number_)** -- Specify the quality of compression, from 0 to 1. 0 means compress for small size, 1 means compress for maximum quality. - - **base64 (_boolean_)** -- Whether to also include the image data in Base64 format. - - **exif (_boolean_)** -- Whether to also include the EXIF data for the image. - - **onPictureSaved (_function_)** -- A callback invoked when picture is saved. If set, the promise of this method will resolve immediately with no data after picture is captured. The data that it should contain will be passed to this callback. If displaying or processing a captured photo right after taking it is not your case, this callback lets you skip waiting for it to be saved. - - **skipProcessing (_boolean_)** - Android only. If set to `true`, camera skips orientation adjustment and returns an image straight from the device's camera. If enabled, `quality` option is discarded (processing pipeline is skipped as a whole). Although enabling this option reduces image delivery time significantly, it may cause the image to appear in a wrong orientation in the `Image` component (at the time of writing, it does not respect EXIF orientation of the images). - > **Note**: Enabling **skipProcessing** would cause orientation uncertainty. `Image` component does not respect EXIF stored orientation information, that means obtained image would be displayed wrongly (rotated by 90ยฐ, 180ยฐ or 270ยฐ). Different devices provide different orientations. For example some Sony Xperia or Samsung devices don't provide correctly oriented images by default. To always obtain correctly oriented image disable **skipProcessing** option. - -#### Returns - -Returns a Promise that resolves to an object: `{ uri, width, height, exif, base64 }` where `uri` is a URI to the local image file on iOS, Android, and a base64 string on web (usable as the source for an `Image` element). The `width, height` properties specify the dimensions of the image. `base64` is included if the `base64` option was truthy, and is a string containing the JPEG data of the image in Base64--prepend that with `'data:image/jpg;base64,'` to get a data URI, which you can use as the source for an `Image` element for example. `exif` is included if the `exif` option was truthy, and is an object containing EXIF data for the image--the names of its properties are EXIF tags and their values are the values for those tags. - -On native platforms, the local image URI is temporary. Use [`FileSystem.copyAsync`](filesystem.md#filesystemcopyasyncoptions) to make a permanent copy of the image. - -On web, the `uri` is a base64 representation of the image because file system URLs are not supported in the browser. The `exif` data returned on web is a partial representation of the [`MediaTrackSettings`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings), if available. - -### `recordAsync()` - -Starts recording a video that will be saved to cache directory. Videos are rotated to match device's orientation. Flipping camera during a recording results in stopping it. This is not available on web. - -#### Arguments - -- **options (_object_)** -- - - A map of options: - - - **quality (_VideoQuality_)** -- Specify the quality of recorded video. Usage: `Camera.Constants.VideoQuality['']`, possible values: for 16:9 resolution `2160p`, `1080p`, `720p`, `480p` : `Android only` and for 4:3 `4:3` (the size is 640x480). If the chosen quality is not available for a device, the highest available is chosen. - - **maxDuration (_number_)** -- Maximum video duration in seconds. - - **maxFileSize (_number_)** -- Maximum video file size in bytes. - - **mute (_boolean_)** -- If present, video will be recorded with no sound. - - **mirror (_boolean_)** -- (iOS only; on Android, this is handled in the user's device settings) If `true`, the recorded video will be flipped along the vertical axis. iOS flips videos recorded with the front camera by default, but you can reverse that back by setting this to `true`. - - **videoBitrate (_number_)** -- Android only and works if `useCamera2Api` is set to `true`. (int greater than 0) This option specifies a desired video bitrate. For example, 5\*1000\*1000 would be 5Mbps. - - **codec (_VideoCodec_)** -- (iOS only) This option specifies what codec to use when recording the video. Usage: `Camera.Constants.VideoCodec['']` - -#### Returns - -Returns a Promise that resolves to an object containing video file `uri` property and a `codec` property on iOS. The Promise is returned if `stopRecording` was invoked, one of `maxDuration` and `maxFileSize` is reached or camera preview is stopped. - -### `stopRecording()` - -Stops recording if any is in progress. - -### `getSupportedRatiosAsync()` - -Android only. Get aspect ratios that are supported by the device and can be passed via `ratio` prop. - -#### Returns - -Returns a Promise that resolves to an array of strings representing ratios, eg. `['4:3', '1:1']`. - -### `getAvailablePictureSizesAsync()` - -Get picture sizes that are supported by the device for given `ratio`. - -#### Arguments - -- **ratio (_string_)** -- A string representing aspect ratio of sizes to be returned. - -#### Returns - -Returns a Promise that resolves to an array of strings representing picture sizes that can be passed to `pictureSize` prop. The list varies across Android devices but is the same for every iOS. - -### `pausePreview()` - -Pauses the camera preview. It is not recommended to use `takePictureAsync` when preview is paused. - -### `resumePreview()` - -Resumes the camera preview. - ## Web Support Luckily most browsers support at least some form of web camera functionality, you can check out the [web camera browser support here](https://caniuse.com/#feat=stream). Image URIs are always returned as base64 strings because local file system paths are not available in the browser. -### Chrome iframe usage +### Chrome `iframe` usage When using **Chrome versions 64+**, if you try to use a web camera in a cross-origin iframe nothing will render. To add support for cameras in your iframe simply add the attribute `allow="microphone; camera;"` to the iframe element: @@ -388,3 +114,11 @@ When using **Chrome versions 64+**, if you try to use a web camera in a cross-or ``` + +## API + +```js +import { Camera } from 'expo-camera'; +``` + + diff --git a/docs/pages/versions/unversioned/sdk/crypto.md b/docs/pages/versions/unversioned/sdk/crypto.md index 3f401b43e9a12e..ccbbcf3b18afa6 100644 --- a/docs/pages/versions/unversioned/sdk/crypto.md +++ b/docs/pages/versions/unversioned/sdk/crypto.md @@ -31,7 +31,7 @@ export default function App() { (async () => { const digest = await Crypto.digestStringAsync( Crypto.CryptoDigestAlgorithm.SHA256, - 'Github stars are neat ๐ŸŒŸ' + 'GitHub stars are neat ๐ŸŒŸ' ); console.log('Digest: ', digest); /* Some crypto operation... */ diff --git a/docs/pages/versions/v40.0.0/sdk/background-fetch.md b/docs/pages/versions/v40.0.0/sdk/background-fetch.md index 1328277aad0bb0..d0102ed2f8f87f 100644 --- a/docs/pages/versions/v40.0.0/sdk/background-fetch.md +++ b/docs/pages/versions/v40.0.0/sdk/background-fetch.md @@ -11,7 +11,7 @@ import PlatformsSection from '~/components/plugins/PlatformsSection'; ## Known issues -BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant Github issue](https://github.com/expo/expo/issues/3582) +BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant GitHub issue](https://github.com/expo/expo/issues/3582) ## Installation diff --git a/docs/pages/versions/v40.0.0/sdk/crypto.md b/docs/pages/versions/v40.0.0/sdk/crypto.md index 8e7d153264bd59..f268667b6f1f56 100644 --- a/docs/pages/versions/v40.0.0/sdk/crypto.md +++ b/docs/pages/versions/v40.0.0/sdk/crypto.md @@ -29,7 +29,7 @@ export default function App() { (async () => { const digest = await Crypto.digestStringAsync( Crypto.CryptoDigestAlgorithm.SHA256, - 'Github stars are neat ๐ŸŒŸ' + 'GitHub stars are neat ๐ŸŒŸ' ); console.log('Digest: ', digest); /* Some crypto operation... */ diff --git a/docs/pages/versions/v40.0.0/sdk/firebase-analytics.md b/docs/pages/versions/v40.0.0/sdk/firebase-analytics.md index 8965121bcde10b..ba18ffe01bfd45 100644 --- a/docs/pages/versions/v40.0.0/sdk/firebase-analytics.md +++ b/docs/pages/versions/v40.0.0/sdk/firebase-analytics.md @@ -167,7 +167,7 @@ identify the areas in your app where users spend their time and how they interac #### Example ```js -await Analytics.setCurrentScreen('GiveGithubStarsScreen'); +await Analytics.setCurrentScreen('GiveGitHubStarsScreen'); ``` ### setSessionTimeoutDuration diff --git a/docs/pages/versions/v41.0.0/sdk/background-fetch.md b/docs/pages/versions/v41.0.0/sdk/background-fetch.md index 31c23f390c0545..15bfa5f03a45aa 100644 --- a/docs/pages/versions/v41.0.0/sdk/background-fetch.md +++ b/docs/pages/versions/v41.0.0/sdk/background-fetch.md @@ -11,7 +11,7 @@ import PlatformsSection from '~/components/plugins/PlatformsSection'; ## Known issues -BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant Github issue](https://github.com/expo/expo/issues/3582) +BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant GitHub issue](https://github.com/expo/expo/issues/3582) ## Installation diff --git a/docs/pages/versions/v41.0.0/sdk/crypto.md b/docs/pages/versions/v41.0.0/sdk/crypto.md index 0e89c15c4e022f..ad9449e54c8d56 100644 --- a/docs/pages/versions/v41.0.0/sdk/crypto.md +++ b/docs/pages/versions/v41.0.0/sdk/crypto.md @@ -29,7 +29,7 @@ export default function App() { (async () => { const digest = await Crypto.digestStringAsync( Crypto.CryptoDigestAlgorithm.SHA256, - 'Github stars are neat ๐ŸŒŸ' + 'GitHub stars are neat ๐ŸŒŸ' ); console.log('Digest: ', digest); /* Some crypto operation... */ diff --git a/docs/pages/versions/v41.0.0/sdk/firebase-analytics.md b/docs/pages/versions/v41.0.0/sdk/firebase-analytics.md index 0319b3871b375c..fc4e39d82bf109 100644 --- a/docs/pages/versions/v41.0.0/sdk/firebase-analytics.md +++ b/docs/pages/versions/v41.0.0/sdk/firebase-analytics.md @@ -167,7 +167,7 @@ identify the areas in your app where users spend their time and how they interac #### Example ```js -await Analytics.setCurrentScreen('GiveGithubStarsScreen'); +await Analytics.setCurrentScreen('GiveGitHubStarsScreen'); ``` ### setSessionTimeoutDuration diff --git a/docs/pages/versions/v42.0.0/sdk/background-fetch.md b/docs/pages/versions/v42.0.0/sdk/background-fetch.md index 25524283ccc4a7..fd628834c4400d 100644 --- a/docs/pages/versions/v42.0.0/sdk/background-fetch.md +++ b/docs/pages/versions/v42.0.0/sdk/background-fetch.md @@ -14,7 +14,7 @@ import ImageSpotlight from '~/components/plugins/ImageSpotlight' ## Known issues -**iOS only**: BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant Github issue](https://github.com/expo/expo/issues/3582) +**iOS only**: BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant GitHub issue](https://github.com/expo/expo/issues/3582) ## Installation diff --git a/docs/pages/versions/v42.0.0/sdk/camera.md b/docs/pages/versions/v42.0.0/sdk/camera.md index e6cfed073b7ea3..7f9dbf44bb8b56 100644 --- a/docs/pages/versions/v42.0.0/sdk/camera.md +++ b/docs/pages/versions/v42.0.0/sdk/camera.md @@ -38,7 +38,7 @@ export default function App() { useEffect(() => { (async () => { - const { status } = await Camera.requestPermissionsAsync(); + const { status } = await Camera.requestCameraPermissionsAsync(); setHasPermission(status === 'granted'); })(); }, []); diff --git a/docs/pages/versions/v42.0.0/sdk/crypto.md b/docs/pages/versions/v42.0.0/sdk/crypto.md index bb790ef4f8186a..3ea68c90e7cd87 100644 --- a/docs/pages/versions/v42.0.0/sdk/crypto.md +++ b/docs/pages/versions/v42.0.0/sdk/crypto.md @@ -29,7 +29,7 @@ export default function App() { (async () => { const digest = await Crypto.digestStringAsync( Crypto.CryptoDigestAlgorithm.SHA256, - 'Github stars are neat ๐ŸŒŸ' + 'GitHub stars are neat ๐ŸŒŸ' ); console.log('Digest: ', digest); /* Some crypto operation... */ diff --git a/docs/pages/versions/v42.0.0/sdk/firebase-analytics.md b/docs/pages/versions/v42.0.0/sdk/firebase-analytics.md index 557aec77ca0739..6e48b4d14245fa 100644 --- a/docs/pages/versions/v42.0.0/sdk/firebase-analytics.md +++ b/docs/pages/versions/v42.0.0/sdk/firebase-analytics.md @@ -167,7 +167,7 @@ identify the areas in your app where users spend their time and how they interac #### Example ```js -await Analytics.setCurrentScreen('GiveGithubStarsScreen'); +await Analytics.setCurrentScreen('GiveGitHubStarsScreen'); ``` ### setSessionTimeoutDuration diff --git a/docs/pages/versions/v43.0.0/sdk/background-fetch.md b/docs/pages/versions/v43.0.0/sdk/background-fetch.md index 30b1dff4b9a1b6..51b4ce4e20fcc5 100644 --- a/docs/pages/versions/v43.0.0/sdk/background-fetch.md +++ b/docs/pages/versions/v43.0.0/sdk/background-fetch.md @@ -14,7 +14,7 @@ import ImageSpotlight from '~/components/plugins/ImageSpotlight' ## Known issues -**iOS only**: BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant Github issue](https://github.com/expo/expo/issues/3582) +**iOS only**: BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant GitHub issue](https://github.com/expo/expo/issues/3582) ## Installation diff --git a/docs/pages/versions/v43.0.0/sdk/camera.md b/docs/pages/versions/v43.0.0/sdk/camera.md index bcd38394ca340e..12aa42cc6efffc 100644 --- a/docs/pages/versions/v43.0.0/sdk/camera.md +++ b/docs/pages/versions/v43.0.0/sdk/camera.md @@ -38,7 +38,7 @@ export default function App() { useEffect(() => { (async () => { - const { status } = await Camera.requestPermissionsAsync(); + const { status } = await Camera.requestCameraPermissionsAsync(); setHasPermission(status === 'granted'); })(); }, []); diff --git a/docs/pages/versions/v43.0.0/sdk/crypto.md b/docs/pages/versions/v43.0.0/sdk/crypto.md index 3c3dda70c1aabb..9fbb4ec5a875f0 100644 --- a/docs/pages/versions/v43.0.0/sdk/crypto.md +++ b/docs/pages/versions/v43.0.0/sdk/crypto.md @@ -29,7 +29,7 @@ export default function App() { (async () => { const digest = await Crypto.digestStringAsync( Crypto.CryptoDigestAlgorithm.SHA256, - 'Github stars are neat ๐ŸŒŸ' + 'GitHub stars are neat ๐ŸŒŸ' ); console.log('Digest: ', digest); /* Some crypto operation... */ diff --git a/docs/pages/versions/v44.0.0/index.md b/docs/pages/versions/v44.0.0/index.md index 47ed7342449073..a3657feaf96c82 100644 --- a/docs/pages/versions/v44.0.0/index.md +++ b/docs/pages/versions/v44.0.0/index.md @@ -30,14 +30,16 @@ The easiest way to create a bare React Native app with support for the Expo SDK ## Each Expo SDK version depends on a React Native version -Every quarter there is a new Expo SDK release that typically updates to the latest stable version of React Native and includes a variety of bugfixes, features and improvements to the Expo SDK. It's often useful to know what version of React Native your Expo project is running on, so the following table maps Expo SDK versions to their included React Native version. +Every quarter there is a new Expo SDK release that typically updates to the latest stable version of React Native and includes a variety of bugfixes, features and improvements to the Expo SDK. | Expo SDK Version | React Native Version | | ---------------- | :------------------: | +| 44.0.0 | 0.64.3 | | 43.0.0 | 0.64.3 | | 42.0.0 | 0.63.3 | | 41.0.0 | 0.63.3 | | 40.0.0 | 0.63.3 | -| 39.0.0 | 0.63.2 | -| 38.0.0 | 0.62.2 | -| 37.0.0 | 0.61.4 | + +### Support for other React Native versions + +Packages in the Expo SDK are intended to support the target React Native version for that SDK. Typically, they will not support older versions of React Native, but they may. When a new version of React Native is released, the latest versions of the Expo SDK packages are typically updated to support it; however, this may take weeks or more, depending on the extent of the changes in the release. \ No newline at end of file diff --git a/docs/pages/versions/v44.0.0/sdk/background-fetch.md b/docs/pages/versions/v44.0.0/sdk/background-fetch.md index ace07407631e45..ac13c98a8890a0 100644 --- a/docs/pages/versions/v44.0.0/sdk/background-fetch.md +++ b/docs/pages/versions/v44.0.0/sdk/background-fetch.md @@ -14,7 +14,7 @@ import ImageSpotlight from '~/components/plugins/ImageSpotlight' ## Known issues -**iOS only**: BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant Github issue](https://github.com/expo/expo/issues/3582) +**iOS only**: BackgroundFetch only works when the app is backgrounded, not if the app was terminated or upon device reboot. [Here is the relevant GitHub issue](https://github.com/expo/expo/issues/3582) ## Installation diff --git a/docs/pages/versions/v44.0.0/sdk/branch.md b/docs/pages/versions/v44.0.0/sdk/branch.md index b6007b18db90e1..3d16b54b048c8e 100644 --- a/docs/pages/versions/v44.0.0/sdk/branch.md +++ b/docs/pages/versions/v44.0.0/sdk/branch.md @@ -5,7 +5,9 @@ sourceCodeUrl: 'https://github.com/expo/expo/tree/sdk-44/packages/expo-branch' import PlatformsSection from '~/components/plugins/PlatformsSection'; -**`expo-branch`** provides support for the [Branch](https://branch.io/) SDK, which is used for install referrals and attribution with deep links. **This module only works in standalone apps — you will need to [build a standalone app](../../../distribution/building-standalone-apps.md) in order to test it, rather than using Expo Go.** +> โš ๏ธ **This module only works in standalone apps on the classic build service (`expo build`)**. It is **not compatible with EAS Build**. [Work is in progress to add managed EAS Build support for react-native-branch](https://github.com/expo/config-plugins/pull/28). Once this is ready, `expo-branch` will be deprecated. + +**`expo-branch`** provides support for the [Branch](https://branch.io/) SDK, which is used for install referrals and attribution with deep links. diff --git a/docs/pages/versions/v44.0.0/sdk/camera.md b/docs/pages/versions/v44.0.0/sdk/camera.md index 936ff5c2592015..0f35ad753e1b85 100644 --- a/docs/pages/versions/v44.0.0/sdk/camera.md +++ b/docs/pages/versions/v44.0.0/sdk/camera.md @@ -38,7 +38,7 @@ export default function App() { useEffect(() => { (async () => { - const { status } = await Camera.requestPermissionsAsync(); + const { status } = await Camera.requestCameraPermissionsAsync(); setHasPermission(status === 'granted'); })(); }, []); diff --git a/docs/pages/versions/v44.0.0/sdk/crypto.md b/docs/pages/versions/v44.0.0/sdk/crypto.md index 8d34b8c69cadc6..453c70480df7d5 100644 --- a/docs/pages/versions/v44.0.0/sdk/crypto.md +++ b/docs/pages/versions/v44.0.0/sdk/crypto.md @@ -29,7 +29,7 @@ export default function App() { (async () => { const digest = await Crypto.digestStringAsync( Crypto.CryptoDigestAlgorithm.SHA256, - 'Github stars are neat ๐ŸŒŸ' + 'GitHub stars are neat ๐ŸŒŸ' ); console.log('Digest: ', digest); /* Some crypto operation... */ diff --git a/docs/pages/workflow/debugging.md b/docs/pages/workflow/debugging.md index 0dcc62674989f8..34c3b1360e3054 100644 --- a/docs/pages/workflow/debugging.md +++ b/docs/pages/workflow/debugging.md @@ -52,7 +52,7 @@ This might indicate that there is a performance issue. You likely need to run yo ## Stuck? -The Expo community and the React and React Native communities are great resources for help when you get stuck. There's a good chance someone else has run into the exact same error as you, so make sure to read the documentation, search the [forums](https://forums.expo.dev/), [Github issues](https://github.com/expo/expo/issues/), and [StackOverflow](https://stackoverflow.com/). +The Expo community and the React and React Native communities are great resources for help when you get stuck. There's a good chance someone else has run into the exact same error as you, so make sure to read the documentation, search the [forums](https://forums.expo.dev/), [GitHub issues](https://github.com/expo/expo/issues/), and [StackOverflow](https://stackoverflow.com/). ## Useful tools for debugging diff --git a/docs/pages/workflow/glossary-of-terms.md b/docs/pages/workflow/glossary-of-terms.md index dc4da76dd9d834..e15100076b9456 100644 --- a/docs/pages/workflow/glossary-of-terms.md +++ b/docs/pages/workflow/glossary-of-terms.md @@ -55,7 +55,7 @@ Expo Developer Tools is a web browser based UI included in [Expo CLI](#expo-cli) ### Expo SDK -The Expo SDK provides access to device/system functionality such as camera, push notification, contacts, file system, and more. Scroll to the SDK API reference in the documentation navigation to see a full list of APIs and to explore them. [Read more about the Expo SDK](/versions/latest/). [Find it on Github](https://github.com/expo/expo-sdk). +The Expo SDK provides access to device/system functionality such as camera, push notification, contacts, file system, and more. Scroll to the SDK API reference in the documentation navigation to see a full list of APIs and to explore them. [Read more about the Expo SDK](/versions/latest/). [Find it on GitHub](https://github.com/expo/expo-sdk). ### ExpoKit diff --git a/docs/pages/workflow/upgrading-expo-sdk-walkthrough.md b/docs/pages/workflow/upgrading-expo-sdk-walkthrough.md index 3624f7a2b5a299..e794b4f32316dd 100644 --- a/docs/pages/workflow/upgrading-expo-sdk-walkthrough.md +++ b/docs/pages/workflow/upgrading-expo-sdk-walkthrough.md @@ -396,7 +396,7 @@ The following APIs have been removed after being deprecated for a minimum of 2 r Metro Bundler (the default React Native bundler) now errors (instead of silently ignoring) dynamic requires. In particular this breaks an older version of moment.js if you were using that (or indirectly depending on it). -- This is a known issue with Metro [which is being tracked on the projectโ€™s Github issues](https://github.com/facebook/metro-bundler/issues/65). +- This is a known issue with Metro [which is being tracked on the projectโ€™s GitHub issues](https://github.com/facebook/metro-bundler/issues/65). - If you use moment.js in your app, [you may have success with this fix](https://github.com/facebook/metro-bundler/issues/65#issuecomment-336838866). Several deprecated APIs have been removed. All of these APIs printed warning messages in previous releases: diff --git a/docs/pages/workflow/using-libraries.md b/docs/pages/workflow/using-libraries.md index cb6f2842a2382c..539923ce92e89e 100644 --- a/docs/pages/workflow/using-libraries.md +++ b/docs/pages/workflow/using-libraries.md @@ -96,7 +96,7 @@ Now check the following: - Does the README mention linking? - Is it built specifically for Node.js, the web, electron, or another platform? -If you answered yes to either of these questions and the library is not part of the Expo SDK, this library may not be supported in Expo Go. You can go ahead and try it in a new project to be sure! Run `expo init` and add the library to the new project and try to use it. This is a great way to experiment with a library before including it in your project in all circumstances. +If you answered yes to any of these questions and the library is not part of the Expo SDK, this library may not be supported in Expo Go. You can go ahead and try it in a new project to be sure! Run `expo init` and add the library to the new project and try to use it. This is a great way to experiment with a library before including it in your project in all circumstances. Many libraries you can use with Expo and React Native will not be compatible with Expo Go or `expo build:ios|android`. If you need any of them to build your app, you can create a [development build](../development/introduction.md) for your project using [EAS Build](../build/introduction.md) or [eject to the bare workflow](../workflow/customizing.md). diff --git a/docs/public/static/data/unversioned/expo-barcode-scanner.json b/docs/public/static/data/unversioned/expo-barcode-scanner.json index da257178f00010..4b4d90badbeba1 100644 --- a/docs/public/static/data/unversioned/expo-barcode-scanner.json +++ b/docs/public/static/data/unversioned/expo-barcode-scanner.json @@ -1 +1 @@ -{"name":"expo-barcode-scanner","kind":1,"kindString":"Project","originalName":"","children":[{"name":"PermissionStatus","kind":8,"kindString":"Enumeration","children":[{"name":"DENIED","kind":16,"kindString":"Enumeration member","defaultValue":"\"denied\""},{"name":"GRANTED","kind":16,"kindString":"Enumeration member","defaultValue":"\"granted\""},{"name":"UNDETERMINED","kind":16,"kindString":"Enumeration member","defaultValue":"\"undetermined\""}]},{"name":"BarCodeScanner","kind":128,"kindString":"Class","children":[{"name":"constructor","kind":512,"kindString":"Constructor","signatures":[{"name":"new BarCodeScanner","kind":16384,"kindString":"Constructor signature","parameters":[{"name":"props","kind":32768,"kindString":"Parameter","type":{"type":"union","types":[{"type":"reference","name":"BarCodeScannerProps"},{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}]}}],"type":{"type":"reference","name":"BarCodeScanner"},"inheritedFrom":{"type":"reference","name":"React.Component.constructor"}},{"name":"new BarCodeScanner","kind":16384,"kindString":"Constructor signature","comment":{"tags":[{"tag":"deprecated","text":""},{"tag":"see","text":"https://reactjs.org/docs/legacy-context.html\n"}]},"parameters":[{"name":"props","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"BarCodeScannerProps"}},{"name":"context","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"BarCodeScanner"},"inheritedFrom":{"type":"reference","name":"React.Component.constructor"}}],"inheritedFrom":{"type":"reference","name":"React.Component.constructor"}},{"name":"context","kind":1024,"kindString":"Property","flags":{"isExternal":true},"comment":{"shortText":"If using the new style context, re-declare this in your class to be the\n`React.ContextType` of your `static contextType`.\nShould be used with type annotation or static contextType.","text":"```ts\nstatic contextType = MyContext\n// For TS pre-3.7:\ncontext!: React.ContextType\n// For TS 3.7 and above:\ndeclare context: React.ContextType\n```\n","tags":[{"tag":"see","text":"https://reactjs.org/docs/context.html\n"}]},"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"React.Component.context"}},{"name":"lastEvents","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","indexSignature":{"name":"__index","kind":8192,"kindString":"Index signature","parameters":[{"name":"key","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"any"}}}},"defaultValue":"{}"},{"name":"lastEventsTimes","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","indexSignature":{"name":"__index","kind":8192,"kindString":"Index signature","parameters":[{"name":"key","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"any"}}}},"defaultValue":"{}"},{"name":"props","kind":1024,"kindString":"Property","flags":{"isExternal":true,"isReadonly":true},"type":{"type":"intersection","types":[{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"},{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"children","kind":1024,"kindString":"Property","flags":{"isExternal":true,"isOptional":true},"type":{"type":"reference","name":"ReactNode"}}]}}],"name":"Readonly"}]},"inheritedFrom":{"type":"reference","name":"React.Component.props"}},{"name":"refs","kind":1024,"kindString":"Property","flags":{"isExternal":true},"comment":{"tags":[{"tag":"deprecated","text":"\nhttps://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs\n"}]},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","indexSignature":{"name":"__index","kind":8192,"kindString":"Index signature","parameters":[{"name":"key","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ReactInstance"}}}},"inheritedFrom":{"type":"reference","name":"React.Component.refs"}},{"name":"state","kind":1024,"kindString":"Property","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal"}}],"name":"Readonly"},"inheritedFrom":{"type":"reference","name":"React.Component.state"}},{"name":"Constants","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"BarCodeType","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"}},{"name":"Type","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"}}]}},"defaultValue":"..."},{"name":"ConversionTables","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"type","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"},"defaultValue":"Type"}]}},"defaultValue":"..."},{"name":"contextType","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExternal":true,"isOptional":true},"comment":{"shortText":"If set, `this.context` will be set at runtime to the current value of the given Context.","text":"Usage:\n\n```ts\ntype MyContext = number\nconst Ctx = React.createContext(0)\n\nclass Foo extends React.Component {\n static contextType = Ctx\n context!: React.ContextType\n render () {\n return <>My context's value: {this.context};\n }\n}\n```\n","tags":[{"tag":"see","text":"https://reactjs.org/docs/context.html#classcontexttype\n"}]},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"any"}],"name":"Context"},"inheritedFrom":{"type":"reference","name":"React.Component.contextType"}},{"name":"defaultProps","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"barCodeTypes","kind":1024,"kindString":"Property","type":{"type":"array","elementType":{"type":"intrinsic","name":"unknown"}},"defaultValue":"..."},{"name":"type","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"},"defaultValue":"Type.back"}]}},"defaultValue":"..."},{"name":"usePermissions","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","comment":{"shortText":"Create a new permission hook with the permission methods built-in.\nThis can be used to quickly create specific permission hooks in every module.","tags":[{"tag":"example","text":"\n```ts\nconst [status, requestPermission] = BarCodeScanner.usePermissions();\n```\n"}]},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"PermissionResponse"}]},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"RequestPermissionMethod"},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"GetPermissionMethod"}]}}]}},"defaultValue":"..."},{"name":"UNSAFE_componentWillMount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"UNSAFE_componentWillMount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before mounting occurs, and before `Component#render`.\nAvoid introducing any side-effects or subscriptions in this method.","text":"This method will not stop working in React 17.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use componentDidMount or the constructor instead"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillMount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillMount"}},{"name":"UNSAFE_componentWillReceiveProps","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"UNSAFE_componentWillReceiveProps","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes.","text":"Calling `Component#setState` generally does not trigger this method.\n\nThis method will not stop working in React 17.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use static getDerivedStateFromProps instead"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillReceiveProps"}}],"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillReceiveProps"}},{"name":"UNSAFE_componentWillUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"UNSAFE_componentWillUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before rendering when new props or state is received. Not called for the initial render.","text":"Note: You cannot call `Component#setState` here.\n\nThis method will not stop working in React 17.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use getSnapshotBeforeUpdate instead"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"nextState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillUpdate"}},{"name":"componentDidCatch","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentDidCatch","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."},"parameters":[{"name":"error","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","name":"Error"}},{"name":"errorInfo","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","name":"ErrorInfo"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentDidCatch"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentDidCatch"}},{"name":"componentDidMount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentDidMount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately after a component is mounted. Setting state here will trigger re-rendering."},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentDidMount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentDidMount"}},{"name":"componentDidUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentDidUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately after updating occurs. Not called for the initial render.","text":"The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.\n"},"parameters":[{"name":"prevProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"prevState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"snapshot","kind":32768,"kindString":"Parameter","flags":{"isExternal":true,"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentDidUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentDidUpdate"}},{"name":"componentWillMount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillMount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before mounting occurs, and before `Component#render`.\nAvoid introducing any side-effects or subscriptions in this method.","text":"Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use componentDidMount or the constructor instead; will stop working in React 17"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillMount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillMount"}},{"name":"componentWillReceiveProps","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillReceiveProps","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes.","text":"Calling `Component#setState` generally does not trigger this method.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use static getDerivedStateFromProps instead; will stop working in React 17"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillReceiveProps"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillReceiveProps"}},{"name":"componentWillUnmount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillUnmount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in `componentDidMount`."},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUnmount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUnmount"}},{"name":"componentWillUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before rendering when new props or state is received. Not called for the initial render.","text":"Note: You cannot call `Component#setState` here.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"nextState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUpdate"}},{"name":"convertNativeProps","kind":2048,"kindString":"Method","signatures":[{"name":"convertNativeProps","kind":4096,"kindString":"Call signature","parameters":[{"name":"props","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"BarCodeScannerProps"}}],"type":{"type":"reference","name":"BarCodeScannerProps"}}]},{"name":"forceUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true},"signatures":[{"name":"forceUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"parameters":[{"name":"callback","kind":32768,"kindString":"Parameter","flags":{"isExternal":true,"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true},"signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.forceUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.forceUpdate"}},{"name":"getSnapshotBeforeUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"getSnapshotBeforeUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Runs before React applies the result of `render` to the document, and\nreturns an object to be given to componentDidUpdate. Useful for saving\nthings such as scroll position before `render` causes changes to it.","text":"Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated\nlifecycle events from running.\n"},"parameters":[{"name":"prevProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"prevState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}}],"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"React.Component.getSnapshotBeforeUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.getSnapshotBeforeUpdate"}},{"name":"onObjectDetected","kind":2048,"kindString":"Method","signatures":[{"name":"onObjectDetected","kind":4096,"kindString":"Call signature","parameters":[{"name":"callback","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"BarCodeScannedCallback"}}],"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"__namedParameters","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"BarCodeEventCallbackArguments"}}],"type":{"type":"intrinsic","name":"void"}}]}}}]},{"name":"render","kind":2048,"kindString":"Method","signatures":[{"name":"render","kind":4096,"kindString":"Call signature","type":{"type":"reference","name":"Element"},"overwrites":{"type":"reference","name":"React.Component.render"}}],"overwrites":{"type":"reference","name":"React.Component.render"}},{"name":"setState","kind":2048,"kindString":"Method","flags":{"isExternal":true},"signatures":[{"name":"setState","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"typeParameter":[{"name":"K","kind":131072,"kindString":"Type parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"never"}}],"parameters":[{"name":"state","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true},"signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"parameters":[{"name":"prevState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"props","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}}],"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reference","name":"K"}],"name":"Pick"}]}}]}},{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reference","name":"K"}],"name":"Pick"}]}},{"name":"callback","kind":32768,"kindString":"Parameter","flags":{"isExternal":true,"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true},"signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.setState"}}],"inheritedFrom":{"type":"reference","name":"React.Component.setState"}},{"name":"shouldComponentUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"shouldComponentUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called to determine whether the change in props and state should trigger a re-render.","text":"`Component` always returns true.\n`PureComponent` implements a shallow comparison on props and state and returns true if any\nprops or states have changed.\n\nIf false is returned, `Component#render`, `componentWillUpdate`\nand `componentDidUpdate` will not be called.\n"},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"nextState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"React.Component.shouldComponentUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.shouldComponentUpdate"}},{"name":"getPermissionsAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"getPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Checks user's permissions for accessing the camera.","returns":"Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"requestPermissionsAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"requestPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for accessing the camera.","text":"On iOS this will require apps to specify the `NSCameraUsageDescription` entry in the `Info.plist`.","returns":"Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"scanFromURLAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"scanFromURLAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Scan bar codes from the image given by the URL.","returns":"A possibly empty array of objects of the `BarCodeScannerResult` shape, where the type\nrefers to the bar code type that was scanned and the data is the information encoded in the bar\ncode.\n"},"parameters":[{"name":"url","kind":32768,"kindString":"Parameter","comment":{"shortText":"URL to get the image from."},"type":{"type":"intrinsic","name":"string"}},{"name":"barCodeTypes","kind":32768,"kindString":"Parameter","comment":{"shortText":"An array of bar code types. Defaults to all supported bar code types on\nthe platform.\n> __Note:__ Only QR codes are supported on iOS."},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}},"defaultValue":"..."}],"type":{"type":"reference","typeArguments":[{"type":"array","elementType":{"type":"reference","name":"BarCodeScannerResult"}}],"name":"Promise"}}]}],"extendedTypes":[{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Component"}]},{"name":"PermissionResponse","kind":256,"kindString":"Interface","children":[{"name":"canAskAgain","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","kind":1024,"kindString":"Property","type":{"type":"reference","name":"PermissionExpiration"}},{"name":"granted","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"}},{"name":"status","kind":1024,"kindString":"Property","type":{"type":"reference","name":"PermissionStatus"}}]},{"name":"BarCodeBounds","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"origin","kind":1024,"kindString":"Property","comment":{"shortText":"The origin point of the bounding box."},"type":{"type":"reference","name":"BarCodePoint"}},{"name":"size","kind":1024,"kindString":"Property","comment":{"shortText":"The size of the bounding box."},"type":{"type":"reference","name":"BarCodeSize"}}]}}},{"name":"BarCodeEvent","kind":4194304,"kindString":"Type alias","type":{"type":"intersection","types":[{"type":"reference","name":"BarCodeScannerResult"},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"target","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}]}},{"name":"BarCodeEventCallbackArguments","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"nativeEvent","kind":1024,"kindString":"Property","type":{"type":"reference","name":"BarCodeEvent"}}]}}},{"name":"BarCodePoint","kind":4194304,"kindString":"Type alias","comment":{"shortText":"Those coordinates are represented in the coordinate space of the barcode source (e.g. when you\nare using the barcode scanner view, these values are adjusted to the dimensions of the view)."},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"x","kind":1024,"kindString":"Property","comment":{"shortText":"The `x` coordinate value."},"type":{"type":"intrinsic","name":"number"}},{"name":"y","kind":1024,"kindString":"Property","comment":{"shortText":"The `y` coordinate value."},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"BarCodeScannedCallback","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"params","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"BarCodeEvent"}}],"type":{"type":"intrinsic","name":"void"}}]}}},{"name":"BarCodeScannerProps","kind":4194304,"kindString":"Type alias","type":{"type":"intersection","types":[{"type":"reference","name":"ViewProps"},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"barCodeTypes","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"An array of bar code types. Usage: `BarCodeScanner.Constants.BarCodeType.` where\n`codeType` is one of these [listed above](#supported-formats). Defaults to all supported bar\ncode types. It is recommended to provide only the bar code formats you expect to scan to\nminimize battery usage.","text":"For example: `barCodeTypes={[BarCodeScanner.Constants.BarCodeType.qr]}`.\n"},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"onBarCodeScanned","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A callback that is invoked when a bar code has been successfully scanned. The callback is\nprovided with an [BarCodeScannerResult](#barcodescannerresult).\n> __Note:__ Passing `undefined` to the `onBarCodeScanned` prop will result in no scanning. This\n> can be used to effectively \"pause\" the scanner so that it doesn't continually scan even after\n> data has been retrieved."},"type":{"type":"reference","name":"BarCodeScannedCallback"}},{"name":"type","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Camera facing. Use one of `BarCodeScanner.Constants.Type`. Use either `Type.front` or `Type.back`.\nSame as `Camera.Constants.Type`.","tags":[{"tag":"default","text":"Type.back\n"}]},"type":{"type":"union","types":[{"type":"literal","value":"front"},{"type":"literal","value":"back"},{"type":"intrinsic","name":"number"}]}}]}}]}},{"name":"BarCodeScannerResult","kind":4194304,"kindString":"Type alias","comment":{"shortText":"> __Note:__ `bounds` and `cornerPoints` are not always available. On iOS, for `code39` and `pdf417`\n> you don't get those values. Moreover, on iOS, those values don't have to bounds the whole barcode.\n> For some types, they will represent the area used by the scanner."},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"bounds","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The [BarCodeBounds](#barcodebounds) object."},"type":{"type":"reference","name":"BarCodeBounds"}},{"name":"cornerPoints","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Corner points of the bounding box."},"type":{"type":"array","elementType":{"type":"reference","name":"BarCodePoint"}}},{"name":"data","kind":1024,"kindString":"Property","comment":{"shortText":"The information encoded in the bar code."},"type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","comment":{"shortText":"The barcode type."},"type":{"type":"intrinsic","name":"string"}}]}}},{"name":"BarCodeSize","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"height","kind":1024,"kindString":"Property","comment":{"shortText":"The height value."},"type":{"type":"intrinsic","name":"number"}},{"name":"width","kind":1024,"kindString":"Property","comment":{"shortText":"The width value."},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"PermissionHookOptions","kind":4194304,"kindString":"Type alias","typeParameter":[{"name":"Options","kind":131072,"kindString":"Type parameter","type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","name":"PermissionHookBehavior"},{"type":"reference","name":"Options"}]}},{"name":"Constants","kind":32,"kindString":"Variable","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"BarCodeType","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"}},{"name":"Type","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"}}]}}},{"name":"getPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"getPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Checks user's permissions for accessing the camera.","returns":"Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"requestPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"requestPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for accessing the camera.","text":"On iOS this will require apps to specify the `NSCameraUsageDescription` entry in the `Info.plist`.","returns":"Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"scanFromURLAsync","kind":64,"kindString":"Function","signatures":[{"name":"scanFromURLAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Scan bar codes from the image given by the URL.","returns":"A possibly empty array of objects of the `BarCodeScannerResult` shape, where the type\nrefers to the bar code type that was scanned and the data is the information encoded in the bar\ncode.\n"},"parameters":[{"name":"url","kind":32768,"kindString":"Parameter","comment":{"shortText":"URL to get the image from."},"type":{"type":"intrinsic","name":"string"}},{"name":"barCodeTypes","kind":32768,"kindString":"Parameter","comment":{"shortText":"An array of bar code types. Defaults to all supported bar code types on\nthe platform.\n> __Note:__ Only QR codes are supported on iOS."},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}},"defaultValue":"..."}],"type":{"type":"reference","typeArguments":[{"type":"array","elementType":{"type":"reference","name":"BarCodeScannerResult"}}],"name":"Promise"}}]},{"name":"usePermissions","kind":64,"kindString":"Function","signatures":[{"name":"usePermissions","kind":4096,"kindString":"Call signature","comment":{"shortText":"Create a new permission hook with the permission methods built-in.\nThis can be used to quickly create specific permission hooks in every module."},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"PermissionResponse"}]},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"RequestPermissionMethod"},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"GetPermissionMethod"}]}}]}]} \ No newline at end of file +{"name":"expo-barcode-scanner","kind":1,"kindString":"Project","originalName":"","children":[{"name":"PermissionStatus","kind":8,"kindString":"Enumeration","children":[{"name":"DENIED","kind":16,"kindString":"Enumeration member","defaultValue":"\"denied\""},{"name":"GRANTED","kind":16,"kindString":"Enumeration member","defaultValue":"\"granted\""},{"name":"UNDETERMINED","kind":16,"kindString":"Enumeration member","defaultValue":"\"undetermined\""}]},{"name":"BarCodeScanner","kind":128,"kindString":"Class","children":[{"name":"constructor","kind":512,"kindString":"Constructor","signatures":[{"name":"new BarCodeScanner","kind":16384,"kindString":"Constructor signature","parameters":[{"name":"props","kind":32768,"kindString":"Parameter","type":{"type":"union","types":[{"type":"reference","name":"BarCodeScannerProps"},{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}]}}],"type":{"type":"reference","name":"BarCodeScanner"},"inheritedFrom":{"type":"reference","name":"React.Component.constructor"}},{"name":"new BarCodeScanner","kind":16384,"kindString":"Constructor signature","comment":{"tags":[{"tag":"deprecated","text":""},{"tag":"see","text":"https://reactjs.org/docs/legacy-context.html\n"}]},"parameters":[{"name":"props","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"BarCodeScannerProps"}},{"name":"context","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"BarCodeScanner"},"inheritedFrom":{"type":"reference","name":"React.Component.constructor"}}],"inheritedFrom":{"type":"reference","name":"React.Component.constructor"}},{"name":"context","kind":1024,"kindString":"Property","flags":{"isExternal":true},"comment":{"shortText":"If using the new style context, re-declare this in your class to be the\n`React.ContextType` of your `static contextType`.\nShould be used with type annotation or static contextType.","text":"```ts\nstatic contextType = MyContext\n// For TS pre-3.7:\ncontext!: React.ContextType\n// For TS 3.7 and above:\ndeclare context: React.ContextType\n```\n","tags":[{"tag":"see","text":"https://reactjs.org/docs/context.html\n"}]},"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"React.Component.context"}},{"name":"lastEvents","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","indexSignature":{"name":"__index","kind":8192,"kindString":"Index signature","parameters":[{"name":"key","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"any"}}}},"defaultValue":"{}"},{"name":"lastEventsTimes","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","indexSignature":{"name":"__index","kind":8192,"kindString":"Index signature","parameters":[{"name":"key","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"any"}}}},"defaultValue":"{}"},{"name":"props","kind":1024,"kindString":"Property","flags":{"isExternal":true,"isReadonly":true},"type":{"type":"intersection","types":[{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"},{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"children","kind":1024,"kindString":"Property","flags":{"isExternal":true,"isOptional":true},"type":{"type":"reference","name":"ReactNode"}}]}}],"name":"Readonly"}]},"inheritedFrom":{"type":"reference","name":"React.Component.props"}},{"name":"refs","kind":1024,"kindString":"Property","flags":{"isExternal":true},"comment":{"tags":[{"tag":"deprecated","text":"\nhttps://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs\n"}]},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","indexSignature":{"name":"__index","kind":8192,"kindString":"Index signature","parameters":[{"name":"key","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ReactInstance"}}}},"inheritedFrom":{"type":"reference","name":"React.Component.refs"}},{"name":"state","kind":1024,"kindString":"Property","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal"}}],"name":"Readonly"},"inheritedFrom":{"type":"reference","name":"React.Component.state"}},{"name":"Constants","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"BarCodeType","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"}},{"name":"Type","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"}}]}},"defaultValue":"..."},{"name":"ConversionTables","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"type","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"},"defaultValue":"Type"}]}},"defaultValue":"..."},{"name":"contextType","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExternal":true,"isOptional":true},"comment":{"shortText":"If set, `this.context` will be set at runtime to the current value of the given Context.","text":"Usage:\n\n```ts\ntype MyContext = number\nconst Ctx = React.createContext(0)\n\nclass Foo extends React.Component {\n static contextType = Ctx\n context!: React.ContextType\n render () {\n return <>My context's value: {this.context};\n }\n}\n```\n","tags":[{"tag":"see","text":"https://reactjs.org/docs/context.html#classcontexttype\n"}]},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"any"}],"name":"Context"},"inheritedFrom":{"type":"reference","name":"React.Component.contextType"}},{"name":"defaultProps","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"barCodeTypes","kind":1024,"kindString":"Property","type":{"type":"array","elementType":{"type":"intrinsic","name":"unknown"}},"defaultValue":"..."},{"name":"type","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"},"defaultValue":"Type.back"}]}},"defaultValue":"..."},{"name":"usePermissions","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","comment":{"shortText":"Create a new permission hook with the permission methods built-in.\nThis can be used to quickly create specific permission hooks in every module.","tags":[{"tag":"example","text":"\n```ts\nconst [status, requestPermission] = BarCodeScanner.usePermissions();\n```\n"}]},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"PermissionResponse"}]},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"RequestPermissionMethod"},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"GetPermissionMethod"}]}}]}},"defaultValue":"..."},{"name":"UNSAFE_componentWillMount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"UNSAFE_componentWillMount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before mounting occurs, and before `Component#render`.\nAvoid introducing any side-effects or subscriptions in this method.","text":"This method will not stop working in React 17.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use componentDidMount or the constructor instead"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillMount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillMount"}},{"name":"UNSAFE_componentWillReceiveProps","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"UNSAFE_componentWillReceiveProps","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes.","text":"Calling `Component#setState` generally does not trigger this method.\n\nThis method will not stop working in React 17.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use static getDerivedStateFromProps instead"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillReceiveProps"}}],"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillReceiveProps"}},{"name":"UNSAFE_componentWillUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"UNSAFE_componentWillUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before rendering when new props or state is received. Not called for the initial render.","text":"Note: You cannot call `Component#setState` here.\n\nThis method will not stop working in React 17.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use getSnapshotBeforeUpdate instead"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"nextState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillUpdate"}},{"name":"componentDidCatch","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentDidCatch","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."},"parameters":[{"name":"error","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","name":"Error"}},{"name":"errorInfo","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","name":"ErrorInfo"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentDidCatch"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentDidCatch"}},{"name":"componentDidMount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentDidMount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately after a component is mounted. Setting state here will trigger re-rendering."},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentDidMount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentDidMount"}},{"name":"componentDidUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentDidUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately after updating occurs. Not called for the initial render.","text":"The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.\n"},"parameters":[{"name":"prevProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"prevState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"snapshot","kind":32768,"kindString":"Parameter","flags":{"isExternal":true,"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentDidUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentDidUpdate"}},{"name":"componentWillMount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillMount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before mounting occurs, and before `Component#render`.\nAvoid introducing any side-effects or subscriptions in this method.","text":"Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use componentDidMount or the constructor instead; will stop working in React 17"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillMount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillMount"}},{"name":"componentWillReceiveProps","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillReceiveProps","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes.","text":"Calling `Component#setState` generally does not trigger this method.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use static getDerivedStateFromProps instead; will stop working in React 17"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillReceiveProps"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillReceiveProps"}},{"name":"componentWillUnmount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillUnmount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in `componentDidMount`."},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUnmount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUnmount"}},{"name":"componentWillUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before rendering when new props or state is received. Not called for the initial render.","text":"Note: You cannot call `Component#setState` here.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"nextState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUpdate"}},{"name":"forceUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true},"signatures":[{"name":"forceUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"parameters":[{"name":"callback","kind":32768,"kindString":"Parameter","flags":{"isExternal":true,"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true},"signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.forceUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.forceUpdate"}},{"name":"getSnapshotBeforeUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"getSnapshotBeforeUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Runs before React applies the result of `render` to the document, and\nreturns an object to be given to componentDidUpdate. Useful for saving\nthings such as scroll position before `render` causes changes to it.","text":"Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated\nlifecycle events from running.\n"},"parameters":[{"name":"prevProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"prevState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}}],"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"React.Component.getSnapshotBeforeUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.getSnapshotBeforeUpdate"}},{"name":"render","kind":2048,"kindString":"Method","signatures":[{"name":"render","kind":4096,"kindString":"Call signature","type":{"type":"reference","name":"Element"},"overwrites":{"type":"reference","name":"React.Component.render"}}],"overwrites":{"type":"reference","name":"React.Component.render"}},{"name":"setState","kind":2048,"kindString":"Method","flags":{"isExternal":true},"signatures":[{"name":"setState","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"typeParameter":[{"name":"K","kind":131072,"kindString":"Type parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"never"}}],"parameters":[{"name":"state","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true},"signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"parameters":[{"name":"prevState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"props","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}}],"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reference","name":"K"}],"name":"Pick"}]}}]}},{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reference","name":"K"}],"name":"Pick"}]}},{"name":"callback","kind":32768,"kindString":"Parameter","flags":{"isExternal":true,"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true},"signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.setState"}}],"inheritedFrom":{"type":"reference","name":"React.Component.setState"}},{"name":"shouldComponentUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"shouldComponentUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called to determine whether the change in props and state should trigger a re-render.","text":"`Component` always returns true.\n`PureComponent` implements a shallow comparison on props and state and returns true if any\nprops or states have changed.\n\nIf false is returned, `Component#render`, `componentWillUpdate`\nand `componentDidUpdate` will not be called.\n"},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Readonly"}},{"name":"nextState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"React.Component.shouldComponentUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.shouldComponentUpdate"}},{"name":"getPermissionsAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"getPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Checks user's permissions for accessing the camera.","returns":"Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"requestPermissionsAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"requestPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for accessing the camera.","text":"On iOS this will require apps to specify the `NSCameraUsageDescription` entry in the `Info.plist`.","returns":"Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"scanFromURLAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"scanFromURLAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Scan bar codes from the image given by the URL.","returns":"A possibly empty array of objects of the `BarCodeScannerResult` shape, where the type\nrefers to the bar code type that was scanned and the data is the information encoded in the bar\ncode.\n"},"parameters":[{"name":"url","kind":32768,"kindString":"Parameter","comment":{"shortText":"URL to get the image from."},"type":{"type":"intrinsic","name":"string"}},{"name":"barCodeTypes","kind":32768,"kindString":"Parameter","comment":{"shortText":"An array of bar code types. Defaults to all supported bar code types on\nthe platform.\n> __Note:__ Only QR codes are supported on iOS."},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}},"defaultValue":"..."}],"type":{"type":"reference","typeArguments":[{"type":"array","elementType":{"type":"reference","name":"BarCodeScannerResult"}}],"name":"Promise"}}]}],"extendedTypes":[{"type":"reference","typeArguments":[{"type":"reference","name":"BarCodeScannerProps"}],"name":"Component"}]},{"name":"PermissionResponse","kind":256,"kindString":"Interface","children":[{"name":"canAskAgain","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","kind":1024,"kindString":"Property","type":{"type":"reference","name":"PermissionExpiration"}},{"name":"granted","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"}},{"name":"status","kind":1024,"kindString":"Property","type":{"type":"reference","name":"PermissionStatus"}}]},{"name":"BarCodeBounds","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"origin","kind":1024,"kindString":"Property","comment":{"shortText":"The origin point of the bounding box."},"type":{"type":"reference","name":"BarCodePoint"}},{"name":"size","kind":1024,"kindString":"Property","comment":{"shortText":"The size of the bounding box."},"type":{"type":"reference","name":"BarCodeSize"}}]}}},{"name":"BarCodeEvent","kind":4194304,"kindString":"Type alias","type":{"type":"intersection","types":[{"type":"reference","name":"BarCodeScannerResult"},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"target","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}]}},{"name":"BarCodeEventCallbackArguments","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"nativeEvent","kind":1024,"kindString":"Property","type":{"type":"reference","name":"BarCodeEvent"}}]}}},{"name":"BarCodePoint","kind":4194304,"kindString":"Type alias","comment":{"shortText":"Those coordinates are represented in the coordinate space of the barcode source (e.g. when you\nare using the barcode scanner view, these values are adjusted to the dimensions of the view)."},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"x","kind":1024,"kindString":"Property","comment":{"shortText":"The `x` coordinate value."},"type":{"type":"intrinsic","name":"number"}},{"name":"y","kind":1024,"kindString":"Property","comment":{"shortText":"The `y` coordinate value."},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"BarCodeScannedCallback","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"params","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"BarCodeEvent"}}],"type":{"type":"intrinsic","name":"void"}}]}}},{"name":"BarCodeScannerProps","kind":4194304,"kindString":"Type alias","type":{"type":"intersection","types":[{"type":"reference","name":"ViewProps"},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"barCodeTypes","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"An array of bar code types. Usage: `BarCodeScanner.Constants.BarCodeType.` where\n`codeType` is one of these [listed above](#supported-formats). Defaults to all supported bar\ncode types. It is recommended to provide only the bar code formats you expect to scan to\nminimize battery usage.","text":"For example: `barCodeTypes={[BarCodeScanner.Constants.BarCodeType.qr]}`.\n"},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"onBarCodeScanned","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A callback that is invoked when a bar code has been successfully scanned. The callback is\nprovided with an [BarCodeScannerResult](#barcodescannerresult).\n> __Note:__ Passing `undefined` to the `onBarCodeScanned` prop will result in no scanning. This\n> can be used to effectively \"pause\" the scanner so that it doesn't continually scan even after\n> data has been retrieved."},"type":{"type":"reference","name":"BarCodeScannedCallback"}},{"name":"type","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Camera facing. Use one of `BarCodeScanner.Constants.Type`. Use either `Type.front` or `Type.back`.\nSame as `Camera.Constants.Type`.","tags":[{"tag":"default","text":"Type.back\n"}]},"type":{"type":"union","types":[{"type":"literal","value":"front"},{"type":"literal","value":"back"},{"type":"intrinsic","name":"number"}]}}]}}]}},{"name":"BarCodeScannerResult","kind":4194304,"kindString":"Type alias","comment":{"shortText":"> __Note:__ `bounds` and `cornerPoints` are not always available. On iOS, for `code39` and `pdf417`\n> you don't get those values. Moreover, on iOS, those values don't have to bounds the whole barcode.\n> For some types, they will represent the area used by the scanner."},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"bounds","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The [BarCodeBounds](#barcodebounds) object."},"type":{"type":"reference","name":"BarCodeBounds"}},{"name":"cornerPoints","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Corner points of the bounding box."},"type":{"type":"array","elementType":{"type":"reference","name":"BarCodePoint"}}},{"name":"data","kind":1024,"kindString":"Property","comment":{"shortText":"The information encoded in the bar code."},"type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","comment":{"shortText":"The barcode type."},"type":{"type":"intrinsic","name":"string"}}]}}},{"name":"BarCodeSize","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"height","kind":1024,"kindString":"Property","comment":{"shortText":"The height value."},"type":{"type":"intrinsic","name":"number"}},{"name":"width","kind":1024,"kindString":"Property","comment":{"shortText":"The width value."},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"PermissionHookOptions","kind":4194304,"kindString":"Type alias","typeParameter":[{"name":"Options","kind":131072,"kindString":"Type parameter","type":{"type":"intrinsic","name":"object"}}],"type":{"type":"intersection","types":[{"type":"reference","name":"PermissionHookBehavior"},{"type":"reference","name":"Options"}]}},{"name":"Constants","kind":32,"kindString":"Variable","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"BarCodeType","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"}},{"name":"Type","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"}}]}}},{"name":"getPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"getPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Checks user's permissions for accessing the camera.","returns":"Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"requestPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"requestPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for accessing the camera.","text":"On iOS this will require apps to specify the `NSCameraUsageDescription` entry in the `Info.plist`.","returns":"Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"scanFromURLAsync","kind":64,"kindString":"Function","signatures":[{"name":"scanFromURLAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Scan bar codes from the image given by the URL.","returns":"A possibly empty array of objects of the `BarCodeScannerResult` shape, where the type\nrefers to the bar code type that was scanned and the data is the information encoded in the bar\ncode.\n"},"parameters":[{"name":"url","kind":32768,"kindString":"Parameter","comment":{"shortText":"URL to get the image from."},"type":{"type":"intrinsic","name":"string"}},{"name":"barCodeTypes","kind":32768,"kindString":"Parameter","comment":{"shortText":"An array of bar code types. Defaults to all supported bar code types on\nthe platform.\n> __Note:__ Only QR codes are supported on iOS."},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}},"defaultValue":"..."}],"type":{"type":"reference","typeArguments":[{"type":"array","elementType":{"type":"reference","name":"BarCodeScannerResult"}}],"name":"Promise"}}]},{"name":"usePermissions","kind":64,"kindString":"Function","signatures":[{"name":"usePermissions","kind":4096,"kindString":"Call signature","comment":{"shortText":"Create a new permission hook with the permission methods built-in.\nThis can be used to quickly create specific permission hooks in every module."},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"PermissionResponse"}]},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"RequestPermissionMethod"},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"GetPermissionMethod"}]}}]}]} \ No newline at end of file diff --git a/docs/public/static/data/unversioned/expo-camera.json b/docs/public/static/data/unversioned/expo-camera.json new file mode 100644 index 00000000000000..d27b93c92ee40f --- /dev/null +++ b/docs/public/static/data/unversioned/expo-camera.json @@ -0,0 +1 @@ +{"name":"expo-camera","kind":1,"kindString":"Project","originalName":"","children":[{"name":"AutoFocus","kind":8,"kindString":"Enumeration","children":[{"name":"auto","kind":16,"kindString":"Enumeration member","comment":{"tags":[{"tag":"platform","text":"web\n"}]},"defaultValue":"\"auto\""},{"name":"off","kind":16,"kindString":"Enumeration member","defaultValue":"\"off\""},{"name":"on","kind":16,"kindString":"Enumeration member","defaultValue":"\"on\""},{"name":"singleShot","kind":16,"kindString":"Enumeration member","comment":{"tags":[{"tag":"platform","text":"web\n"}]},"defaultValue":"\"singleShot\""}]},{"name":"CameraType","kind":8,"kindString":"Enumeration","children":[{"name":"back","kind":16,"kindString":"Enumeration member","defaultValue":"\"back\""},{"name":"front","kind":16,"kindString":"Enumeration member","defaultValue":"\"front\""}]},{"name":"FlashMode","kind":8,"kindString":"Enumeration","children":[{"name":"auto","kind":16,"kindString":"Enumeration member","defaultValue":"\"auto\""},{"name":"off","kind":16,"kindString":"Enumeration member","defaultValue":"\"off\""},{"name":"on","kind":16,"kindString":"Enumeration member","defaultValue":"\"on\""},{"name":"torch","kind":16,"kindString":"Enumeration member","defaultValue":"\"torch\""}]},{"name":"PermissionStatus","kind":8,"kindString":"Enumeration","children":[{"name":"DENIED","kind":16,"kindString":"Enumeration member","defaultValue":"\"denied\""},{"name":"GRANTED","kind":16,"kindString":"Enumeration member","defaultValue":"\"granted\""},{"name":"UNDETERMINED","kind":16,"kindString":"Enumeration member","defaultValue":"\"undetermined\""}]},{"name":"VideoCodec","kind":8,"kindString":"Enumeration","comment":{"shortText":"This option specifies what codec to use when recording a video.","tags":[{"tag":"platform","text":"ios\n"}]},"children":[{"name":"AppleProRes422","kind":16,"kindString":"Enumeration member","defaultValue":"\"apcn\""},{"name":"AppleProRes4444","kind":16,"kindString":"Enumeration member","defaultValue":"\"ap4h\""},{"name":"H264","kind":16,"kindString":"Enumeration member","defaultValue":"\"avc1\""},{"name":"HEVC","kind":16,"kindString":"Enumeration member","defaultValue":"\"hvc1\""},{"name":"JPEG","kind":16,"kindString":"Enumeration member","defaultValue":"\"jpeg\""}]},{"name":"VideoQuality","kind":8,"kindString":"Enumeration","children":[{"name":"1080p","kind":16,"kindString":"Enumeration member","defaultValue":"\"1080p\""},{"name":"2160p","kind":16,"kindString":"Enumeration member","defaultValue":"\"2160p\""},{"name":"480p","kind":16,"kindString":"Enumeration member","defaultValue":"\"480p\""},{"name":"4:3","kind":16,"kindString":"Enumeration member","defaultValue":"\"4:3\""},{"name":"720p","kind":16,"kindString":"Enumeration member","defaultValue":"\"720p\""}]},{"name":"VideoStabilization","kind":8,"kindString":"Enumeration","children":[{"name":"auto","kind":16,"kindString":"Enumeration member","defaultValue":"\"auto\""},{"name":"cinematic","kind":16,"kindString":"Enumeration member","defaultValue":"\"cinematic\""},{"name":"off","kind":16,"kindString":"Enumeration member","defaultValue":"\"off\""},{"name":"standard","kind":16,"kindString":"Enumeration member","defaultValue":"\"standard\""}]},{"name":"WhiteBalance","kind":8,"kindString":"Enumeration","children":[{"name":"auto","kind":16,"kindString":"Enumeration member","defaultValue":"\"auto\""},{"name":"cloudy","kind":16,"kindString":"Enumeration member","comment":{"tags":[{"tag":"platform","text":"android"},{"tag":"platform","text":"ios\n"}]},"defaultValue":"\"cloudy\""},{"name":"continuous","kind":16,"kindString":"Enumeration member","comment":{"tags":[{"tag":"platform","text":"web\n"}]},"defaultValue":"\"continuous\""},{"name":"fluorescent","kind":16,"kindString":"Enumeration member","comment":{"tags":[{"tag":"platform","text":"android"},{"tag":"platform","text":"ios\n"}]},"defaultValue":"\"fluorescent\""},{"name":"incandescent","kind":16,"kindString":"Enumeration member","comment":{"tags":[{"tag":"platform","text":"android"},{"tag":"platform","text":"ios\n"}]},"defaultValue":"\"incandescent\""},{"name":"manual","kind":16,"kindString":"Enumeration member","comment":{"tags":[{"tag":"platform","text":"web\n"}]},"defaultValue":"\"manual\""},{"name":"shadow","kind":16,"kindString":"Enumeration member","comment":{"tags":[{"tag":"platform","text":"android"},{"tag":"platform","text":"ios\n"}]},"defaultValue":"\"shadow\""},{"name":"sunny","kind":16,"kindString":"Enumeration member","comment":{"tags":[{"tag":"platform","text":"android"},{"tag":"platform","text":"ios\n"}]},"defaultValue":"\"sunny\""}]},{"name":"Camera","kind":128,"kindString":"Class","children":[{"name":"constructor","kind":512,"kindString":"Constructor","signatures":[{"name":"new Camera","kind":16384,"kindString":"Constructor signature","parameters":[{"name":"props","kind":32768,"kindString":"Parameter","type":{"type":"union","types":[{"type":"reference","name":"CameraProps"},{"type":"reference","typeArguments":[{"type":"reference","name":"CameraProps"}],"name":"Readonly"}]}}],"type":{"type":"reference","name":"default"},"inheritedFrom":{"type":"reference","name":"React.Component.constructor"}},{"name":"new Camera","kind":16384,"kindString":"Constructor signature","comment":{"tags":[{"tag":"deprecated","text":""},{"tag":"see","text":"https://reactjs.org/docs/legacy-context.html\n"}]},"parameters":[{"name":"props","kind":32768,"kindString":"Parameter","type":{"type":"reference","name":"CameraProps"}},{"name":"context","kind":32768,"kindString":"Parameter","type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"default"},"inheritedFrom":{"type":"reference","name":"React.Component.constructor"}}],"inheritedFrom":{"type":"reference","name":"React.Component.constructor"}},{"name":"_cameraHandle","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"intrinsic","name":"number"}]}},{"name":"_cameraRef","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal"}},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal"}},{"type":"intrinsic","name":"any"}],"name":"Component"}]}},{"name":"_lastEvents","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","indexSignature":{"name":"__index","kind":8192,"kindString":"Index signature","parameters":[{"name":"eventName","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"string"}}}},"defaultValue":"{}"},{"name":"_lastEventsTimes","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","indexSignature":{"name":"__index","kind":8192,"kindString":"Index signature","parameters":[{"name":"eventName","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"Date"}}}},"defaultValue":"{}"},{"name":"context","kind":1024,"kindString":"Property","flags":{"isExternal":true},"comment":{"shortText":"If using the new style context, re-declare this in your class to be the\n`React.ContextType` of your `static contextType`.\nShould be used with type annotation or static contextType.","text":"```ts\nstatic contextType = MyContext\n// For TS pre-3.7:\ncontext!: React.ContextType\n// For TS 3.7 and above:\ndeclare context: React.ContextType\n```\n","tags":[{"tag":"see","text":"https://reactjs.org/docs/context.html\n"}]},"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"React.Component.context"}},{"name":"props","kind":1024,"kindString":"Property","flags":{"isExternal":true,"isReadonly":true},"type":{"type":"intersection","types":[{"type":"reference","typeArguments":[{"type":"reference","name":"CameraProps"}],"name":"Readonly"},{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"children","kind":1024,"kindString":"Property","flags":{"isExternal":true,"isOptional":true},"type":{"type":"reference","name":"ReactNode"}}]}}],"name":"Readonly"}]},"inheritedFrom":{"type":"reference","name":"React.Component.props"}},{"name":"refs","kind":1024,"kindString":"Property","flags":{"isExternal":true},"comment":{"tags":[{"tag":"deprecated","text":"\nhttps://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs\n"}]},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","indexSignature":{"name":"__index","kind":8192,"kindString":"Index signature","parameters":[{"name":"key","kind":32768,"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","name":"ReactInstance"}}}},"inheritedFrom":{"type":"reference","name":"React.Component.refs"}},{"name":"state","kind":1024,"kindString":"Property","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal"}}],"name":"Readonly"},"inheritedFrom":{"type":"reference","name":"React.Component.state"}},{"name":"Constants","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reference","name":"ConstantsType"},"defaultValue":"..."},{"name":"ConversionTables","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"autoFocus","kind":1024,"kindString":"Property","type":{"type":"reference","typeArguments":[{"type":"union","types":[{"type":"literal","value":"on"},{"type":"literal","value":"off"},{"type":"literal","value":"auto"},{"type":"literal","value":"singleShot"}]},{"type":"union","types":[{"type":"intrinsic","name":"undefined"},{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"number"},{"type":"intrinsic","name":"boolean"}]}],"name":"Record"}},{"name":"flashMode","kind":1024,"kindString":"Property","type":{"type":"reference","typeArguments":[{"type":"union","types":[{"type":"literal","value":"on"},{"type":"literal","value":"off"},{"type":"literal","value":"auto"},{"type":"literal","value":"torch"}]},{"type":"union","types":[{"type":"intrinsic","name":"undefined"},{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"number"}]}],"name":"Record"}},{"name":"type","kind":1024,"kindString":"Property","type":{"type":"reference","typeArguments":[{"type":"union","types":[{"type":"literal","value":"front"},{"type":"literal","value":"back"}]},{"type":"union","types":[{"type":"intrinsic","name":"undefined"},{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"number"}]}],"name":"Record"}},{"name":"whiteBalance","kind":1024,"kindString":"Property","type":{"type":"reference","typeArguments":[{"type":"union","types":[{"type":"literal","value":"auto"},{"type":"literal","value":"sunny"},{"type":"literal","value":"cloudy"},{"type":"literal","value":"shadow"},{"type":"literal","value":"incandescent"},{"type":"literal","value":"fluorescent"},{"type":"literal","value":"continuous"},{"type":"literal","value":"manual"}]},{"type":"union","types":[{"type":"intrinsic","name":"undefined"},{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"number"}]}],"name":"Record"}}]}},"defaultValue":"ConversionTables"},{"name":"contextType","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExternal":true,"isOptional":true},"comment":{"shortText":"If set, `this.context` will be set at runtime to the current value of the given Context.","text":"Usage:\n\n```ts\ntype MyContext = number\nconst Ctx = React.createContext(0)\n\nclass Foo extends React.Component {\n static contextType = Ctx\n context!: React.ContextType\n render () {\n return <>My context's value: {this.context};\n }\n}\n```\n","tags":[{"tag":"see","text":"https://reactjs.org/docs/context.html#classcontexttype\n"}]},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"any"}],"name":"Context"},"inheritedFrom":{"type":"reference","name":"React.Component.contextType"}},{"name":"defaultProps","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reference","name":"CameraProps"},"defaultValue":"..."},{"name":"useCameraPermissions","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","comment":{"shortText":"Create a new permission hook with the permission methods built-in.\nThis can be used to quickly create specific permission hooks in every module.","tags":[{"tag":"example","text":"\n```ts\nconst [status, requestPermission] = Camera.useCameraPermissions();\n```\n"}]},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"PermissionResponse"}]},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"RequestPermissionMethod"},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"GetPermissionMethod"}]}}]}},"defaultValue":"..."},{"name":"useMicrophonePermissions","kind":1024,"kindString":"Property","flags":{"isStatic":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","comment":{"shortText":"Create a new permission hook with the permission methods built-in.\nThis can be used to quickly create specific permission hooks in every module.","tags":[{"tag":"example","text":"\n```ts\nconst [status, requestPermission] = Camera.useMicrophonePermissions();\n```\n"}]},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"object"}],"name":"PermissionHookOptions"}}],"type":{"type":"tuple","elements":[{"type":"union","types":[{"type":"literal","value":null},{"type":"reference","name":"PermissionResponse"}]},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"RequestPermissionMethod"},{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"GetPermissionMethod"}]}}]}},"defaultValue":"..."},{"name":"UNSAFE_componentWillMount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"UNSAFE_componentWillMount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before mounting occurs, and before `Component#render`.\nAvoid introducing any side-effects or subscriptions in this method.","text":"This method will not stop working in React 17.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use componentDidMount or the constructor instead"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillMount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillMount"}},{"name":"UNSAFE_componentWillReceiveProps","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"UNSAFE_componentWillReceiveProps","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes.","text":"Calling `Component#setState` generally does not trigger this method.\n\nThis method will not stop working in React 17.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use static getDerivedStateFromProps instead"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"CameraProps"}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillReceiveProps"}}],"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillReceiveProps"}},{"name":"UNSAFE_componentWillUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"UNSAFE_componentWillUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before rendering when new props or state is received. Not called for the initial render.","text":"Note: You cannot call `Component#setState` here.\n\nThis method will not stop working in React 17.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use getSnapshotBeforeUpdate instead"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"CameraProps"}],"name":"Readonly"}},{"name":"nextState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.UNSAFE_componentWillUpdate"}},{"name":"_onCameraReady","kind":2048,"kindString":"Method","signatures":[{"name":"_onCameraReady","kind":4096,"kindString":"Call signature","type":{"type":"intrinsic","name":"void"}}]},{"name":"_onMountError","kind":2048,"kindString":"Method","signatures":[{"name":"_onMountError","kind":4096,"kindString":"Call signature","parameters":[{"name":"__namedParameters","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"nativeEvent","kind":1024,"kindString":"Property","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"message","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}}]}}}]}}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"_onObjectDetected","kind":2048,"kindString":"Method","signatures":[{"name":"_onObjectDetected","kind":4096,"kindString":"Call signature","parameters":[{"name":"callback","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","name":"Function"}}],"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","parameters":[{"name":"__namedParameters","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"nativeEvent","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"any"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]}}}]},{"name":"_setReference","kind":2048,"kindString":"Method","signatures":[{"name":"_setReference","kind":4096,"kindString":"Call signature","parameters":[{"name":"ref","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal"}},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal"}},{"type":"intrinsic","name":"any"}],"name":"Component"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"componentDidCatch","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentDidCatch","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Catches exceptions generated in descendant components. Unhandled exceptions will cause\nthe entire component tree to unmount."},"parameters":[{"name":"error","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","name":"Error"}},{"name":"errorInfo","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","name":"ErrorInfo"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentDidCatch"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentDidCatch"}},{"name":"componentDidMount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentDidMount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately after a component is mounted. Setting state here will trigger re-rendering."},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentDidMount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentDidMount"}},{"name":"componentDidUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentDidUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately after updating occurs. Not called for the initial render.","text":"The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.\n"},"parameters":[{"name":"prevProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"CameraProps"}],"name":"Readonly"}},{"name":"prevState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"snapshot","kind":32768,"kindString":"Parameter","flags":{"isExternal":true,"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentDidUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentDidUpdate"}},{"name":"componentWillMount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillMount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before mounting occurs, and before `Component#render`.\nAvoid introducing any side-effects or subscriptions in this method.","text":"Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use componentDidMount or the constructor instead; will stop working in React 17"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillMount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillMount"}},{"name":"componentWillReceiveProps","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillReceiveProps","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called when the component may be receiving new props.\nReact may call this even if props have not changed, so be sure to compare new and existing\nprops if you only want to handle changes.","text":"Calling `Component#setState` generally does not trigger this method.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use static getDerivedStateFromProps instead; will stop working in React 17"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"CameraProps"}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillReceiveProps"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillReceiveProps"}},{"name":"componentWillUnmount","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillUnmount","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as\ncancelled network requests, or cleaning up any DOM elements created in `componentDidMount`."},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUnmount"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUnmount"}},{"name":"componentWillUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"componentWillUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called immediately before rendering when new props or state is received. Not called for the initial render.","text":"Note: You cannot call `Component#setState` here.\n\nNote: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps\nprevents this from being invoked.\n","tags":[{"tag":"deprecated","text":"16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update"},{"tag":"see","text":"https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path\n"}]},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"CameraProps"}],"name":"Readonly"}},{"name":"nextState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.componentWillUpdate"}},{"name":"forceUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true},"signatures":[{"name":"forceUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"parameters":[{"name":"callback","kind":32768,"kindString":"Parameter","flags":{"isExternal":true,"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true},"signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.forceUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.forceUpdate"}},{"name":"getAvailablePictureSizesAsync","kind":2048,"kindString":"Method","signatures":[{"name":"getAvailablePictureSizesAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Get picture sizes that are supported by the device for given `ratio`.","returns":"Returns a Promise that resolves to an array of strings representing picture sizes that can be passed to `pictureSize` prop.\nThe list varies across Android devices but is the same for every iOS.\n"},"parameters":[{"name":"ratio","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"A string representing aspect ratio of sizes to be returned."},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","typeArguments":[{"type":"array","elementType":{"type":"intrinsic","name":"string"}}],"name":"Promise"}}]},{"name":"getSnapshotBeforeUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"getSnapshotBeforeUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Runs before React applies the result of `render` to the document, and\nreturns an object to be given to componentDidUpdate. Useful for saving\nthings such as scroll position before `render` causes changes to it.","text":"Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated\nlifecycle events from running.\n"},"parameters":[{"name":"prevProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"CameraProps"}],"name":"Readonly"}},{"name":"prevState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}}],"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"React.Component.getSnapshotBeforeUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.getSnapshotBeforeUpdate"}},{"name":"getSupportedRatiosAsync","kind":2048,"kindString":"Method","signatures":[{"name":"getSupportedRatiosAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Get aspect ratios that are supported by the device and can be passed via `ratio` prop.","returns":"Returns a Promise that resolves to an array of strings representing ratios, eg. `['4:3', '1:1']`.","tags":[{"tag":"platform","text":"android\n"}]},"type":{"type":"reference","typeArguments":[{"type":"array","elementType":{"type":"intrinsic","name":"string"}}],"name":"Promise"}}]},{"name":"pausePreview","kind":2048,"kindString":"Method","signatures":[{"name":"pausePreview","kind":4096,"kindString":"Call signature","comment":{"shortText":"Pauses the camera preview. It is not recommended to use `takePictureAsync` when preview is paused."},"type":{"type":"intrinsic","name":"void"}}]},{"name":"recordAsync","kind":2048,"kindString":"Method","signatures":[{"name":"recordAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Starts recording a video that will be saved to cache directory. Videos are rotated to match device's orientation.\nFlipping camera during a recording results in stopping it.","returns":"Returns a Promise that resolves to an object containing video file `uri` property and a `codec` property on iOS.\nThe Promise is returned if `stopRecording` was invoked, one of `maxDuration` and `maxFileSize` is reached or camera preview is stopped.","tags":[{"tag":"platform","text":"android"},{"tag":"platform","text":"ios\n"}]},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"A map of `CameraRecordingOptions` type."},"type":{"type":"reference","name":"CameraRecordingOptions"}}],"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"uri","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}}]}}],"name":"Promise"}}]},{"name":"render","kind":2048,"kindString":"Method","signatures":[{"name":"render","kind":4096,"kindString":"Call signature","type":{"type":"reference","name":"Element"},"overwrites":{"type":"reference","name":"React.Component.render"}}],"overwrites":{"type":"reference","name":"React.Component.render"}},{"name":"resumePreview","kind":2048,"kindString":"Method","signatures":[{"name":"resumePreview","kind":4096,"kindString":"Call signature","comment":{"shortText":"Resumes the camera preview."},"type":{"type":"intrinsic","name":"void"}}]},{"name":"setState","kind":2048,"kindString":"Method","flags":{"isExternal":true},"signatures":[{"name":"setState","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"typeParameter":[{"name":"K","kind":131072,"kindString":"Type parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"never"}}],"parameters":[{"name":"state","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true},"signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"parameters":[{"name":"prevState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"props","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"CameraProps"}],"name":"Readonly"}}],"type":{"type":"union","types":[{"type":"literal","value":null},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reference","name":"K"}],"name":"Pick"}]}}]}},{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}},{"type":"reference","name":"K"}],"name":"Pick"}]}},{"name":"callback","kind":32768,"kindString":"Parameter","flags":{"isExternal":true,"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true},"signatures":[{"name":"__type","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"React.Component.setState"}}],"inheritedFrom":{"type":"reference","name":"React.Component.setState"}},{"name":"shouldComponentUpdate","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"name":"shouldComponentUpdate","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Called to determine whether the change in props and state should trigger a re-render.","text":"`Component` always returns true.\n`PureComponent` implements a shallow comparison on props and state and returns true if any\nprops or states have changed.\n\nIf false is returned, `Component#render`, `componentWillUpdate`\nand `componentDidUpdate` will not be called.\n"},"parameters":[{"name":"nextProps","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"CameraProps"}],"name":"Readonly"}},{"name":"nextState","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"reference","typeArguments":[{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","flags":{"isExternal":true}}}],"name":"Readonly"}},{"name":"nextContext","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"boolean"},"inheritedFrom":{"type":"reference","name":"React.Component.shouldComponentUpdate"}}],"inheritedFrom":{"type":"reference","name":"React.Component.shouldComponentUpdate"}},{"name":"stopRecording","kind":2048,"kindString":"Method","signatures":[{"name":"stopRecording","kind":4096,"kindString":"Call signature","comment":{"shortText":"Stops recording if any is in progress."},"type":{"type":"intrinsic","name":"void"}}]},{"name":"takePictureAsync","kind":2048,"kindString":"Method","signatures":[{"name":"takePictureAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Takes a picture and saves it to app's cache directory. Photos are rotated to match device's orientation\n(if `options.skipProcessing` flag is not enabled) and scaled to match the preview. Anyway on Android it is essential\nto set ratio prop to get a picture with correct dimensions.\n> **Note**: Make sure to wait for the [`onCameraReady`](#oncameraready) callback before calling this method.","returns":"Returns a Promise that resolves to `CameraCapturedPicture` object, where `uri` is a URI to the local image file on iOS,\nAndroid, and a base64 string on web (usable as the source for an `Image` element). The `width` and `height` properties specify\nthe dimensions of the image. `base64` is included if the `base64` option was truthy, and is a string containing the JPEG data\nof the image in Base64--prepend that with `'data:image/jpg;base64,'` to get a data URI, which you can use as the source\nfor an `Image` element for example. `exif` is included if the `exif` option was truthy, and is an object containing EXIF\ndata for the image--the names of its properties are EXIF tags and their values are the values for those tags.\n\n> On native platforms, the local image URI is temporary. Use [`FileSystem.copyAsync`](filesystem.md#filesystemcopyasyncoptions)\n> to make a permanent copy of the image.\n\n> On web, the `uri` is a base64 representation of the image because file system URLs are not supported in the browser.\n> The `exif` data returned on web is a partial representation of the [`MediaTrackSettings`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings),\n> if available.\n"},"parameters":[{"name":"options","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"An object in form of `CameraPictureOptions` type."},"type":{"type":"reference","name":"CameraPictureOptions"}}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"CameraCapturedPicture"}],"name":"Promise"}}]},{"name":"getAvailableCameraTypesAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"getAvailableCameraTypesAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Returns a list of camera types `['front', 'back']`. This is useful for desktop browsers which only have front-facing cameras.","tags":[{"tag":"platform","text":"web\n"}]},"type":{"type":"reference","typeArguments":[{"type":"array","elementType":{"type":"reference","name":"CameraType"}}],"name":"Promise"}}]},{"name":"getAvailableVideoCodecsAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"getAvailableVideoCodecsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Queries the device for the available video codecs that can be used in video recording.","returns":"A promise that resolves to a list of strings that represents available codecs.","tags":[{"tag":"platform","text":"ios\n"}]},"type":{"type":"reference","typeArguments":[{"type":"array","elementType":{"type":"reference","name":"VideoCodec"}}],"name":"Promise"}}]},{"name":"getCameraPermissionsAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"getCameraPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Checks user's permissions for accessing camera.","returns":"A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"getMicrophonePermissionsAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"getMicrophonePermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Checks user's permissions for accessing microphone.","returns":"A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"getPermissionsAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"getPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"tags":[{"tag":"deprecated","text":"Deprecated. Use `getCameraPermissionsAsync` or `getMicrophonePermissionsAsync` instead.\nChecks user's permissions for accessing camera.\n"}]},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"isAvailableAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"isAvailableAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Check whether the current device has a camera. This is useful for web and simulators cases.\nThis isn't influenced by the Permissions API (all platforms), or HTTP usage (in the browser).\nYou will still need to check if the native permission has been accepted.","tags":[{"tag":"platform","text":"web\n"}]},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"boolean"}],"name":"Promise"}}]},{"name":"requestCameraPermissionsAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"requestCameraPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for accessing camera.\nOn iOS this will require apps to specify an `NSCameraUsageDescription` entry in the **Info.plist**.","returns":"A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"requestMicrophonePermissionsAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"requestMicrophonePermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for accessing the microphone.\nOn iOS this will require apps to specify an `NSMicrophoneUsageDescription` entry in the **Info.plist**.","returns":"A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"requestPermissionsAsync","kind":2048,"kindString":"Method","flags":{"isStatic":true},"signatures":[{"name":"requestPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for accessing camera.\nOn iOS this will require apps to specify both `NSCameraUsageDescription` and `NSMicrophoneUsageDescription` entries in the **Info.plist**.","returns":"A promise that resolves to an object of type [PermissionResponse](#permissionresponse).","tags":[{"tag":"deprecated","text":"Use `requestCameraPermissionsAsync` or `requestMicrophonePermissionsAsync` instead.\n"}]},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]}],"extendedTypes":[{"type":"reference","typeArguments":[{"type":"reference","name":"CameraProps"}],"name":"Component"}]},{"name":"PermissionResponse","kind":256,"kindString":"Interface","children":[{"name":"canAskAgain","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"}},{"name":"expires","kind":1024,"kindString":"Property","type":{"type":"reference","name":"PermissionExpiration"}},{"name":"granted","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"boolean"}},{"name":"status","kind":1024,"kindString":"Property","type":{"type":"reference","name":"PermissionStatus"}}]},{"name":"BarCodePoint","kind":4194304,"kindString":"Type alias","type":{"type":"reference","name":"Point"}},{"name":"BarCodeScanningResult","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"cornerPoints","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Corner points of the bounding box."},"type":{"type":"array","elementType":{"type":"reference","name":"BarCodePoint"}}},{"name":"data","kind":1024,"kindString":"Property","comment":{"shortText":"The information encoded in the bar code."},"type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","comment":{"shortText":"The barcode type."},"type":{"type":"intrinsic","name":"string"}}]}}},{"name":"CameraCapturedPicture","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"base64","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"exif","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"reference","typeArguments":[{"type":"reference","name":"MediaTrackSettings"}],"name":"Partial"},{"type":"intrinsic","name":"any"}]}},{"name":"height","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"number"}},{"name":"uri","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}},{"name":"width","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"number"}}]}}},{"name":"CameraMountError","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"message","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"string"}}]}}},{"name":"CameraNativeProps","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"autoFocus","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"boolean"},{"type":"intrinsic","name":"number"}]}},{"name":"barCodeScannerEnabled","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"barCodeScannerSettings","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"reference","name":"BarCodeSettings"}},{"name":"faceDetectorEnabled","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"faceDetectorSettings","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"object"}},{"name":"flashMode","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"intrinsic","name":"string"}]}},{"name":"focusDepth","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"onCameraReady","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"reference","name":"CameraReadyListener"}},{"name":"onMountError","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"reference","name":"MountErrorListener"}},{"name":"onPictureSaved","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"reference","name":"PictureSavedListener"}},{"name":"pictureSize","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"pointerEvents","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"name":"poster","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"ratio","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"name":"ref","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"reference","name":"Function"}},{"name":"style","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"name":"type","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"intrinsic","name":"string"}]}},{"name":"useCamera2Api","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"whiteBalance","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"intrinsic","name":"string"}]}},{"name":"zoom","kind":1024,"kindString":"Property","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"onBarCodeScanned","kind":2048,"kindString":"Method","flags":{"isOptional":true},"signatures":[{"name":"onBarCodeScanned","kind":4096,"kindString":"Call signature","parameters":[{"name":"event","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"nativeEvent","kind":1024,"kindString":"Property","type":{"type":"reference","name":"BarCodeScanningResult"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"onFaceDetectionError","kind":2048,"kindString":"Method","flags":{"isOptional":true},"signatures":[{"name":"onFaceDetectionError","kind":4096,"kindString":"Call signature","parameters":[{"name":"event","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"nativeEvent","kind":1024,"kindString":"Property","type":{"type":"reference","name":"Error"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"onFacesDetected","kind":2048,"kindString":"Method","flags":{"isOptional":true},"signatures":[{"name":"onFacesDetected","kind":4096,"kindString":"Call signature","parameters":[{"name":"event","kind":32768,"kindString":"Parameter","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"nativeEvent","kind":1024,"kindString":"Property","type":{"type":"reference","name":"FaceDetectionResult"}}]}}}],"type":{"type":"intrinsic","name":"void"}}]}]}}},{"name":"CameraPictureOptions","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"base64","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Whether to also include the image data in Base64 format."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"exif","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Whether to also include the EXIF data for the image."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"imageType","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"tags":[{"tag":"platform","text":"web\n"}]},"type":{"type":"reference","name":"ImageType"}},{"name":"isImageMirror","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"tags":[{"tag":"platform","text":"web\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"quality","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Specify the quality of compression, from 0 to 1. 0 means compress for small size, 1 means compress for maximum quality."},"type":{"type":"intrinsic","name":"number"}},{"name":"scale","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"tags":[{"tag":"platform","text":"web\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"skipProcessing","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"If set to `true`, camera skips orientation adjustment and returns an image straight from the device's camera.\nIf enabled, `quality` option is discarded (processing pipeline is skipped as a whole).\nAlthough enabling this option reduces image delivery time significantly, it may cause the image to appear in a wrong orientation\nin the `Image` component (at the time of writing, it does not respect EXIF orientation of the images).\n> **Note**: Enabling `skipProcessing` would cause orientation uncertainty. `Image` component does not respect EXIF\n> stored orientation information, that means obtained image would be displayed wrongly (rotated by 90ยฐ, 180ยฐ or 270ยฐ).\n> Different devices provide different orientations. For example some Sony Xperia or Samsung devices don't provide\n> correctly oriented images by default. To always obtain correctly oriented image disable `skipProcessing` option."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"onPictureSaved","kind":2048,"kindString":"Method","flags":{"isOptional":true},"signatures":[{"name":"onPictureSaved","kind":4096,"kindString":"Call signature","comment":{"shortText":"A callback invoked when picture is saved. If set, the promise of this method will resolve immediately with no data after picture is captured.\nThe data that it should contain will be passed to this callback. If displaying or processing a captured photo right after taking it\nis not your case, this callback lets you skip waiting for it to be saved."},"parameters":[{"name":"picture","kind":32768,"kindString":"Parameter","comment":{"shortText":"\n"},"type":{"type":"reference","name":"CameraCapturedPicture"}}],"type":{"type":"intrinsic","name":"void"}}]}]}}},{"name":"CameraProps","kind":4194304,"kindString":"Type alias","type":{"type":"intersection","types":[{"type":"reference","name":"ViewProps"},{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"autoFocus","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"State of camera auto focus. Use one of [`Camera.Constants.AutoFocus`](#autofocus). When `on`,\nauto focus will be enabled, when `off`, it won't and focus will lock as it was in the moment of change,\nbut it can be adjusted on some devices via `focusDepth` prop."},"type":{"type":"union","types":[{"type":"intrinsic","name":"boolean"},{"type":"intrinsic","name":"number"},{"type":"reference","name":"AutoFocus"}]}},{"name":"barCodeScannerSettings","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Settings exposed by [`BarCodeScanner`](bar-code-scanner) module. Supported settings: **barCodeTypes**.","tags":[{"tag":"example","text":"\n```tsx\n\n```\n"}]},"type":{"type":"intrinsic","name":"object"}},{"name":"faceDetectorSettings","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A settings object passed directly to an underlying module providing face detection features.\nSee [`DetectionOptions`](facedetector/#detectionoptions) in FaceDetector documentation for details."},"type":{"type":"intrinsic","name":"object"}},{"name":"flashMode","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Camera flash mode. Use one of `Camera.Constants.FlashMode`. When `on`, the flash on your device will\nturn on when taking a picture, when `off`, it won't. Setting to `auto` will fire flash if required,\n`torch` turns on flash during the preview.","tags":[{"tag":"default","text":"FlashMode.off\n"}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"reference","name":"FlashMode"}]}},{"name":"focusDepth","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Distance to plane of the sharpest focus. A value between `0` and `1` where: `0` - infinity focus, `1` - focus as close as possible.\nFor Android this is available only for some devices and when `useCamera2Api` is set to `true`.","tags":[{"tag":"default","text":"0\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"pictureSize","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A string representing the size of pictures [`takePictureAsync`](#takepictureasync) will take.\nAvailable sizes can be fetched with [`getAvailablePictureSizesAsync`](#getavailablepicturesizesasync)."},"type":{"type":"intrinsic","name":"string"}},{"name":"poster","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A URL for an image to be shown while the camera is loading.","tags":[{"tag":"platform","text":"web\n"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"ratio","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A string representing aspect ratio of the preview, eg. `4:3`, `16:9`, `1:1`. To check if a ratio is supported\nby the device use [`getSupportedRatiosAsync`](#getsupportedratiosasync).","tags":[{"tag":"default","text":"4:3."},{"tag":"platform","text":"android\n"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Camera facing. Use one of `Camera.Constants.Type`. When `Type.front`, use the front-facing camera.\nWhen `Type.back`, use the back-facing camera.","tags":[{"tag":"default","text":"Type.back\n"}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"reference","name":"CameraType"}]}},{"name":"useCamera2Api","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Whether to use Android's Camera2 API. See `Note` at the top of this page.","tags":[{"tag":"platform","text":"android\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"videoStabilizationMode","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"The video stabilization mode used for a video recording. Use one of [`Camera.Constants.VideoStabilization`](#videostabilization).\nYou can read more about each stabilization type in [Apple Documentation](https://developer.apple.com/documentation/avfoundation/avcapturevideostabilizationmode).","tags":[{"tag":"platform","text":"ios\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"whiteBalance","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Camera white balance. Use one of [`Camera.Constants.WhiteBalance`](#whitebalance). If a device does not support any of these values previous one is used."},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"reference","name":"WhiteBalance"}]}},{"name":"zoom","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A value between `0` and `1` being a percentage of device's max zoom. `0` - not zoomed, `1` - maximum zoom.","tags":[{"tag":"default","text":"0\n"}]},"type":{"type":"intrinsic","name":"number"}},{"name":"onBarCodeScanned","kind":2048,"kindString":"Method","flags":{"isOptional":true},"signatures":[{"name":"onBarCodeScanned","kind":4096,"kindString":"Call signature","comment":{"shortText":"Callback that is invoked when a bar code has been successfully scanned. The callback is provided with\nan object of the [`BarCodeScanningResult`](#barcodescanningresult) shape, where the `type`\nrefers to the bar code type that was scanned and the `data` is the information encoded in the bar code\n(in this case of QR codes, this is often a URL). See [`BarCodeScanner.Constants.BarCodeType`](bar-code-scanner#supported-formats)\nfor supported values."},"parameters":[{"name":"scanningResult","kind":32768,"kindString":"Parameter","comment":{"shortText":"\n"},"type":{"type":"reference","name":"BarCodeScanningResult"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"onCameraReady","kind":2048,"kindString":"Method","flags":{"isOptional":true},"signatures":[{"name":"onCameraReady","kind":4096,"kindString":"Call signature","comment":{"shortText":"Callback invoked when camera preview has been set."},"type":{"type":"intrinsic","name":"void"}}]},{"name":"onFacesDetected","kind":2048,"kindString":"Method","flags":{"isOptional":true},"signatures":[{"name":"onFacesDetected","kind":4096,"kindString":"Call signature","comment":{"shortText":"Callback invoked with results of face detection on the preview. See [FaceDetector documentation](facedetector/#detectionresult) for details."},"parameters":[{"name":"faces","kind":32768,"kindString":"Parameter","comment":{"shortText":"\n"},"type":{"type":"reference","name":"FaceDetectionResult"}}],"type":{"type":"intrinsic","name":"void"}}]},{"name":"onMountError","kind":2048,"kindString":"Method","flags":{"isOptional":true},"signatures":[{"name":"onMountError","kind":4096,"kindString":"Call signature","comment":{"shortText":"Callback invoked when camera preview could not been started."},"parameters":[{"name":"event","kind":32768,"kindString":"Parameter","comment":{"shortText":"Error object that contains a `message`.\n"},"type":{"type":"reference","name":"CameraMountError"}}],"type":{"type":"intrinsic","name":"void"}}]}]}}]}},{"name":"CameraRecordingOptions","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"codec","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"This option specifies what codec to use when recording the video. See [`Camera.Constants.VideoCodec`](#video-codec) for the possible values.","tags":[{"tag":"platform","text":"ios\n"}]},"type":{"type":"reference","name":"VideoCodec"}},{"name":"maxDuration","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Maximum video duration in seconds."},"type":{"type":"intrinsic","name":"number"}},{"name":"maxFileSize","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Maximum video file size in bytes."},"type":{"type":"intrinsic","name":"number"}},{"name":"mirror","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"If `true`, the recorded video will be flipped along the vertical axis. iOS flips videos recorded with the front camera by default,\nbut you can reverse that back by setting this to `true`. On Android, this is handled in the user's device settings.","tags":[{"tag":"platform","text":"ios\n"}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"mute","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"If present, video will be recorded with no sound."},"type":{"type":"intrinsic","name":"boolean"}},{"name":"quality","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Specify the quality of recorded video. Usage: `Camera.Constants.VideoQuality.`,\npossible values: for 16:9 resolution `2160p`, `1080p`, `720p`, `480p` : `Android only` and for 4:3 `4:3` (the size is 640x480).\nIf the chosen quality is not available for a device, the highest available is chosen."},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"intrinsic","name":"string"}]}},{"name":"videoBitrate","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Only works if `useCamera2Api` is set to `true`. This option specifies a desired video bitrate. For example, `5*1000*1000` would be 5Mbps.","tags":[{"tag":"platform","text":"android\n"}]},"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"ConstantsType","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"AutoFocus","kind":1024,"kindString":"Property","type":{"type":"reference","name":"AutoFocus"}},{"name":"FlashMode","kind":1024,"kindString":"Property","type":{"type":"reference","name":"FlashMode"}},{"name":"Type","kind":1024,"kindString":"Property","type":{"type":"reference","name":"CameraType"}},{"name":"VideoCodec","kind":1024,"kindString":"Property","type":{"type":"reference","name":"VideoCodec"}},{"name":"VideoQuality","kind":1024,"kindString":"Property","type":{"type":"reference","name":"VideoQuality"}},{"name":"VideoStabilization","kind":1024,"kindString":"Property","type":{"type":"reference","name":"VideoStabilization"}},{"name":"WhiteBalance","kind":1024,"kindString":"Property","type":{"type":"reference","name":"WhiteBalance"}}]}}},{"name":"FaceDetectionResult","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"faces","kind":1024,"kindString":"Property","type":{"type":"array","elementType":{"type":"reference","name":"Face"}}}]}}},{"name":"PermissionExpiration","kind":4194304,"kindString":"Type alias","type":{"type":"union","types":[{"type":"literal","value":"never"},{"type":"intrinsic","name":"number"}]}},{"name":"Point","kind":4194304,"kindString":"Type alias","type":{"type":"reflection","declaration":{"name":"__type","kind":65536,"kindString":"Type literal","children":[{"name":"x","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"number"}},{"name":"y","kind":1024,"kindString":"Property","type":{"type":"intrinsic","name":"number"}}]}}},{"name":"Constants","kind":32,"kindString":"Variable","type":{"type":"reference","name":"ConstantsType"}},{"name":"getCameraPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"getCameraPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Checks user's permissions for accessing camera.","returns":"A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"getMicrophonePermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"getMicrophonePermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Checks user's permissions for accessing microphone.","returns":"A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"getPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"getPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"tags":[{"tag":"deprecated","text":"Deprecated. Use `getCameraPermissionsAsync` or `getMicrophonePermissionsAsync` instead.\nChecks user's permissions for accessing camera.\n"}]},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"requestCameraPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"requestCameraPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for accessing camera.\nOn iOS this will require apps to specify an `NSCameraUsageDescription` entry in the **Info.plist**.","returns":"A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"requestMicrophonePermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"requestMicrophonePermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for accessing the microphone.\nOn iOS this will require apps to specify an `NSMicrophoneUsageDescription` entry in the **Info.plist**.","returns":"A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n"},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]},{"name":"requestPermissionsAsync","kind":64,"kindString":"Function","signatures":[{"name":"requestPermissionsAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Asks the user to grant permissions for accessing camera.\nOn iOS this will require apps to specify both `NSCameraUsageDescription` and `NSMicrophoneUsageDescription` entries in the **Info.plist**.","returns":"A promise that resolves to an object of type [PermissionResponse](#permissionresponse).","tags":[{"tag":"deprecated","text":"Use `requestCameraPermissionsAsync` or `requestMicrophonePermissionsAsync` instead.\n"}]},"type":{"type":"reference","typeArguments":[{"type":"reference","name":"PermissionResponse"}],"name":"Promise"}}]}]} \ No newline at end of file diff --git a/docs/public/static/diffs/client/app-delegate-expo-modules.diff b/docs/public/static/diffs/client/app-delegate-expo-modules.diff index 9a592a0f03c4ad..8de2f25b6d2364 100644 --- a/docs/public/static/diffs/client/app-delegate-expo-modules.diff +++ b/docs/public/static/diffs/client/app-delegate-expo-modules.diff @@ -2,10 +2,10 @@ diff --git a/ios/expodevexample/AppDelegate.m b/ios/expodevexample/AppDelegate.m index 837259e..7e619d8 100644 --- a/ios/expodevexample/AppDelegate.m +++ b/ios/expodevexample/AppDelegate.m -@@ -11,6 +11,14 @@ - #import - #import - +@@ -6,6 +6,14 @@ + #import + #import + +#if defined(EX_DEV_MENU_ENABLED) +@import EXDevMenu; +#endif @@ -17,14 +17,11 @@ index 837259e..7e619d8 100644 #if defined(FB_SONARKIT_ENABLED) && __has_include() #import #import -@@ -40,7 +40,23 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( - #if defined(FB_SONARKIT_ENABLED) && __has_include() +@@ -33,18 +41,30 @@ static void InitializeFlipper(UIApplication *application) { InitializeFlipper(application); #endif -- -+ + + self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; -+ +#if defined(EX_DEV_LAUNCHER_ENABLED) + EXDevLauncherController *controller = [EXDevLauncherController sharedInstance]; + [controller startWithWindow:self.window delegate:(id)self launchOptions:launchOptions]; @@ -39,30 +36,24 @@ index 837259e..7e619d8 100644 + +- (RCTBridge *)initializeReactNativeApp:(NSDictionary *)launchOptions +{ - RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; - RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"main" initialProperties:nil]; - id rootViewBackgroundColor = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"RCTRootViewBackgroundColor"]; -@@ -50,16 +66,13 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( - rootView.backgroundColor = [UIColor whiteColor]; - } - + RCTBridge *bridge = [self.reactDelegate createBridgeWithDelegate:self launchOptions:launchOptions]; + RCTRootView *rootView = [self.reactDelegate createRootViewWithBridge:bridge moduleName:@"main" initialProperties:nil]; + rootView.backgroundColor = [UIColor whiteColor]; - self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; - UIViewController *rootViewController = [UIViewController new]; + UIViewController *rootViewController = [self.reactDelegate createRootViewController]; rootViewController.view = rootView; self.window.rootViewController = rootViewController; [self.window makeKeyAndVisible]; - + - [super application:application didFinishLaunchingWithOptions:launchOptions]; - - return YES; -- } + return bridge; -+} - + } + - (NSArray> *)extraModulesForBridge:(RCTBridge *)bridge - { -@@ -69,7 +82,11 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( - +@@ -55,7 +75,11 @@ static void InitializeFlipper(UIApplication *application) { + - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { #ifdef DEBUG - return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; @@ -70,35 +61,35 @@ index 837259e..7e619d8 100644 + return [[EXDevLauncherController sharedInstance] sourceUrl]; + #else + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; -+ #endif ++ #endif #else return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; #endif -@@ -77,6 +94,11 @@ - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { - +@@ -63,6 +87,11 @@ static void InitializeFlipper(UIApplication *application) { + // Linking API - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options { +#if defined(EX_DEV_LAUNCHER_ENABLED) + if ([EXDevLauncherController.sharedInstance onDeepLink:url options:options]) { -+ return true; ++ return true; + } +#endif return [RCTLinkingManager application:application openURL:url options:options]; } - -@@ -88,3 +110,15 @@ - (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull N + +@@ -74,3 +103,15 @@ static void InitializeFlipper(UIApplication *application) { } - + @end + +#if defined(EX_DEV_LAUNCHER_ENABLED) +@implementation AppDelegate (EXDevLauncherControllerDelegate) -+ ++ +- (void)devLauncherController:(EXDevLauncherController *)developmentClientController -+ didStartWithSuccess:(BOOL)success ++ didStartWithSuccess:(BOOL)success +{ + developmentClientController.appBridge = [self initializeReactNativeApp:[EXDevLauncherController.sharedInstance getLaunchOptions]]; +} -+ ++ +@end +#endif diff --git a/docs/public/static/diffs/client/main-activity-and-application-expo-modules.diff b/docs/public/static/diffs/client/main-activity-and-application-expo-modules.diff index 9ea43494fdaad7..ac9433d5f6b78a 100644 --- a/docs/public/static/diffs/client/main-activity-and-application-expo-modules.diff +++ b/docs/public/static/diffs/client/main-activity-and-application-expo-modules.diff @@ -2,84 +2,65 @@ diff --git a/android/app/src/main/java/com/expodevexample/MainActivity.java b/an index ca9e0d1..4ee67d1 100644 --- a/android/app/src/main/java/com/expodevexample/MainActivity.java +++ b/android/app/src/main/java/com/expodevexample/MainActivity.java -@@ -1,16 +1,18 @@ - package com.expodevexample; - -+import android.content.Intent; +@@ -2,14 +2,18 @@ package com.expodevexample; + + import android.os.Build; import android.os.Bundle; - --import com.facebook.react.ReactActivity; ++import android.content.Intent; + + import com.facebook.react.ReactActivity; import com.facebook.react.ReactActivityDelegate; import com.facebook.react.ReactRootView; - import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView; - + +import expo.modules.devlauncher.DevLauncherController; +import expo.modules.devmenu.react.DevMenuAwareReactActivity; - import expo.modules.splashscreen.singletons.SplashScreen; - import expo.modules.splashscreen.SplashScreenImageResizeMode; - + import expo.modules.ReactActivityDelegateWrapper; + -public class MainActivity extends ReactActivity { +public class MainActivity extends DevMenuAwareReactActivity { ++ @Override protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); -@@ -31,11 +33,21 @@ public class MainActivity extends ReactActivity { - - @Override - protected ReactActivityDelegate createReactActivityDelegate() { -- return new ReactActivityDelegateWrapper( -- this, -- new ReactActivityDelegate(this, getMainComponentName()) { -- @Override -- protected ReactRootView createRootView() { -- return new RNGestureHandlerEnabledRootView(MainActivity.this); -- } -- }); -+ return DevLauncherController.wrapReactActivityDelegate( + // Set the theme to AppTheme BEFORE onCreate to support +@@ -30,11 +34,23 @@ public class MainActivity extends ReactActivity { + + @Override + protected ReactActivityDelegate createReactActivityDelegate() { +- return new ReactActivityDelegateWrapper(this, +- new ReactActivityDelegate(this, getMainComponentName()) ++ return DevLauncherController.wrapReactActivityDelegate( ++ this, ++ () -> new ReactActivityDelegateWrapper( + this, -+ () -> new ReactActivityDelegateWrapper( -+ this, -+ new ReactActivityDelegate(this, getMainComponentName()) { -+ @Override -+ protected ReactRootView createRootView() { -+ return new RNGestureHandlerEnabledRootView(MainActivity.this); -+ } -+ } -+ ) -+ ); - } -+ -+ @Override -+ public void onNewIntent(Intent intent) { -+ if (DevLauncherController.tryToHandleIntent(this, intent)) { -+ return; -+ } -+ super.onNewIntent(intent); - } - } ++ new ReactActivityDelegate(this, getMainComponentName()) ++ ) + ); + } + ++ @Override ++ public void onNewIntent(Intent intent) { ++ if (DevLauncherController.tryToHandleIntent(this, intent)) { ++ return; ++ } ++ super.onNewIntent(intent); ++ } diff --git a/android/app/src/main/java/com/expodevexample/MainApplication.java b/android/app/src/main/java/com/expodevexample/MainApplication.java index 78736bf..bce13b9 100644 --- a/android/app/src/main/java/com/expodevexample/MainApplication.java +++ b/android/app/src/main/java/com/expodevexample/MainApplication.java -@@ -19,6 +19,7 @@ import org.unimodules.adapters.react.ReactModuleRegistryProvider; - import org.unimodules.core.interfaces.Package; - import org.unimodules.core.interfaces.SingletonModule; - import expo.modules.constants.ConstantsPackage; +@@ -13,6 +13,7 @@ import com.facebook.react.ReactPackage; + import com.facebook.soloader.SoLoader; + + import expo.modules.ApplicationLifecycleDispatcher; +import expo.modules.devlauncher.DevLauncherController; - import expo.modules.permissions.PermissionsPackage; - import expo.modules.filesystem.FileSystemPackage; - import expo.modules.updates.UpdatesController; - - public class MainApplication extends Application implements ReactApplication { -@@ -77,6 +78,7 @@ public class MainApplication extends Application implements ReactApplication { - @Override - public void onCreate() { + import expo.modules.ReactNativeHostWrapper; + + import com.facebook.react.bridge.JSIModulePackage; +@@ -54,6 +55,7 @@ public class MainApplication extends Application implements ReactApplication { super.onCreate(); SoLoader.init(this, /* native exopackage */ false); -@@ -85,6 +87,7 @@ public class MainApplication extends Application implements ReactApplication { - - + DevLauncherController.initialize(this, getReactNativeHost()); initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); + ApplicationLifecycleDispatcher.onApplicationCreate(this); } \ No newline at end of file diff --git a/docs/public/static/diffs/expo-ios.diff b/docs/public/static/diffs/expo-ios.diff index cf44ca4f82deb8..f604b313ad9205 100644 --- a/docs/public/static/diffs/expo-ios.diff +++ b/docs/public/static/diffs/expo-ios.diff @@ -39,21 +39,26 @@ index da9f60a..0164063 100644 + [super application:application didFinishLaunchingWithOptions:launchOptions]; return YES; } - + diff --git a/ios/Podfile b/ios/Podfile -index 8ad9250..e95b97b 100644 +index 99b1b8d..71524e2 100644 --- a/ios/Podfile +++ b/ios/Podfile -@@ -1,9 +1,11 @@ +@@ -1,9 +1,18 @@ +require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking") require_relative '../node_modules/react-native/scripts/react_native_pods' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' - --platform :ios, '11.0' + +-platform :ios, '10.0' +platform :ios, '12.0' - - target 'MyApp' do + + target 'ModuleDiff' do + use_expo_modules! - config = use_native_modules! - - use_react_native!( ++ post_integrate do |installer| ++ begin ++ expo_patch_react_imports!(installer) ++ rescue => e ++ Pod::UI.warn e ++ end ++ end + config = use_native_modules! \ No newline at end of file diff --git a/docs/public/static/images/eas-build/variants/1-ios-duplicate-target.png b/docs/public/static/images/eas-build/variants/1-ios-duplicate-target.png new file mode 100644 index 00000000000000..6a8f4133ffbc3b Binary files /dev/null and b/docs/public/static/images/eas-build/variants/1-ios-duplicate-target.png differ diff --git a/docs/public/static/images/eas-build/variants/2-scheme-list.png b/docs/public/static/images/eas-build/variants/2-scheme-list.png new file mode 100644 index 00000000000000..10187a0feeaf99 Binary files /dev/null and b/docs/public/static/images/eas-build/variants/2-scheme-list.png differ diff --git a/docs/public/static/images/eas-build/variants/3-target-build-settings.png b/docs/public/static/images/eas-build/variants/3-target-build-settings.png new file mode 100644 index 00000000000000..3deea6e179068f Binary files /dev/null and b/docs/public/static/images/eas-build/variants/3-target-build-settings.png differ diff --git a/docs/public/static/images/eas-update/branch.png b/docs/public/static/images/eas-update/branch.png index 963bf9f62b68ec..0d33f79cdcda27 100644 Binary files a/docs/public/static/images/eas-update/branch.png and b/docs/public/static/images/eas-update/branch.png differ diff --git a/docs/public/static/images/eas-update/builds.png b/docs/public/static/images/eas-update/builds.png index 35d0fbb6595d69..6cacfc7a2d614c 100644 Binary files a/docs/public/static/images/eas-update/builds.png and b/docs/public/static/images/eas-update/builds.png differ diff --git a/docs/public/static/images/eas-update/channel-branch-link-2.png b/docs/public/static/images/eas-update/channel-branch-link-2.png index 4e230e1867205d..d8f377e678d0f1 100644 Binary files a/docs/public/static/images/eas-update/channel-branch-link-2.png and b/docs/public/static/images/eas-update/channel-branch-link-2.png differ diff --git a/docs/public/static/images/eas-update/channel-branch-link.png b/docs/public/static/images/eas-update/channel-branch-link.png index 0f685fa449907b..ebf97cb6e03077 100644 Binary files a/docs/public/static/images/eas-update/channel-branch-link.png and b/docs/public/static/images/eas-update/channel-branch-link.png differ diff --git a/docs/public/static/images/eas-update/channel-branch.png b/docs/public/static/images/eas-update/channel-branch.png index 72ddafcab12e62..d9b10bdd725272 100644 Binary files a/docs/public/static/images/eas-update/channel-branch.png and b/docs/public/static/images/eas-update/channel-branch.png differ diff --git a/docs/public/static/images/eas-update/custom-link-1.png b/docs/public/static/images/eas-update/custom-link-1.png new file mode 100644 index 00000000000000..128fdd0b2e63a6 Binary files /dev/null and b/docs/public/static/images/eas-update/custom-link-1.png differ diff --git a/docs/public/static/images/eas-update/custom-link-2.png b/docs/public/static/images/eas-update/custom-link-2.png new file mode 100644 index 00000000000000..7b2fc8915ee396 Binary files /dev/null and b/docs/public/static/images/eas-update/custom-link-2.png differ diff --git a/docs/public/static/images/eas-update/custom-link-3.png b/docs/public/static/images/eas-update/custom-link-3.png new file mode 100644 index 00000000000000..3cbd2dabe8b0cb Binary files /dev/null and b/docs/public/static/images/eas-update/custom-link-3.png differ diff --git a/docs/public/static/images/eas-update/custom-link.png b/docs/public/static/images/eas-update/custom-link.png deleted file mode 100644 index 60a71bab560c2b..00000000000000 Binary files a/docs/public/static/images/eas-update/custom-link.png and /dev/null differ diff --git a/docs/public/static/images/eas-update/default-link.png b/docs/public/static/images/eas-update/default-link.png index 7ced07286aab8b..62c820d884f80b 100644 Binary files a/docs/public/static/images/eas-update/default-link.png and b/docs/public/static/images/eas-update/default-link.png differ diff --git a/docs/public/static/images/eas-update/layers.png b/docs/public/static/images/eas-update/layers.png index 46bcabb725bdc8..b7d88da1a35101 100644 Binary files a/docs/public/static/images/eas-update/layers.png and b/docs/public/static/images/eas-update/layers.png differ diff --git a/docs/public/static/images/eas-update/process.png b/docs/public/static/images/eas-update/process.png index e1cca925197a6d..eebc80d998f379 100644 Binary files a/docs/public/static/images/eas-update/process.png and b/docs/public/static/images/eas-update/process.png differ diff --git a/docs/scripts/schemas/unversioned/eas-json-build-common-schema.js b/docs/scripts/schemas/unversioned/eas-json-build-common-schema.js index 304ceb375c6e54..5dc0a6f710041f 100644 --- a/docs/scripts/schemas/unversioned/eas-json-build-common-schema.js +++ b/docs/scripts/schemas/unversioned/eas-json-build-common-schema.js @@ -40,6 +40,16 @@ export default [ '[Learn more about custom development clients](../../clients/introduction).', ], }, + { + name: 'prebuildCommand', + type: 'string', + description: [ + 'Optional override of the prebuild command used by EAS.', + 'For example, you can specify `prebuild --template example-template` to use a custom template.', + 'Note: `--platform` and `--non-interactive` will be added automatically by the build engine, so you do not need to specify them manually.', + '[Learn more about prebuild options](../../workflow/expo-cli/#expo-prebuild).' + ], + }, { name: 'node', type: 'string', diff --git a/docs/yarn.lock b/docs/yarn.lock index 097c7f673c750c..cf0e2077bc624d 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -19,17 +19,17 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" - integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== dependencies: - "@babel/highlight" "^7.12.13" + "@babel/highlight" "^7.16.7" -"@babel/compat-data@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.12.tgz#a8a5ccac19c200f9dd49624cac6e19d7be1236a1" - integrity sha512-3eJJ841uKxeV8dcN/2yGEUy+RfgQspPEgQat85umsE1rotuquQ2AbIub4S6j7c50a2d+4myc+zSlnXeIHrOnhQ== +"@babel/compat-data@^7.16.4": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" + integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== "@babel/core@7.12.9": version "7.12.9" @@ -53,20 +53,20 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.13.14", "@babel/core@^7.7.5": - version "7.13.14" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.14.tgz#8e46ebbaca460a63497c797e574038ab04ae6d06" - integrity sha512-wZso/vyF4ki0l0znlgM4inxbdrUvCb+cVz8grxDq+6C9k6qbqoIJteQOKicaKjCipU3ISV+XedCqpL2RJJVehA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.13.9" - "@babel/helper-compilation-targets" "^7.13.13" - "@babel/helper-module-transforms" "^7.13.14" - "@babel/helpers" "^7.13.10" - "@babel/parser" "^7.13.13" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.13" - "@babel/types" "^7.13.14" +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.13.14", "@babel/core@^7.7.5": + version "7.16.12" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" + integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.16.8" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helpers" "^7.16.7" + "@babel/parser" "^7.16.12" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.10" + "@babel/types" "^7.16.8" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -74,165 +74,155 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/eslint-parser@^7.11.5": - version "7.13.14" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.13.14.tgz#f80fd23bdd839537221914cb5d17720a5ea6ba3a" - integrity sha512-I0HweR36D73Ibn/FfrRDMKlMqJHFwidIUgYdMpH+aXYuQC+waq59YaJ6t9e9N36axJ82v1jR041wwqDrDXEwRA== +"@babel/eslint-parser@^7.16.5": + version "7.16.5" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.16.5.tgz#48d3485091d6e36915358e4c0d0b2ebe6da90462" + integrity sha512-mUqYa46lgWqHKQ33Q6LNCGp/wPR3eqOYTUixHFsfrSQqRxH0+WOzca75iEjFr5RDGH1dDz622LaHhLOzOuQRUA== dependencies: - eslint-scope "^5.1.0" - eslint-visitor-keys "^1.3.0" + eslint-scope "^5.1.1" + eslint-visitor-keys "^2.1.0" semver "^6.3.0" -"@babel/eslint-plugin@^7.11.5": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.13.10.tgz#6720c32d52a4fef817796c7bb55a87b80320bbe7" - integrity sha512-xsNxo099fKnJ2rArkuuMOTPxxTLZSXwbFXdH4GjqQRKTOr6S1odQlE+R3Leid56VFQ3KVAR295vVNG9fqNQVvQ== +"@babel/eslint-plugin@^7.16.5": + version "7.16.5" + resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.16.5.tgz#d1770685160922059f5d8f101055e799b7cff391" + integrity sha512-R1p6RMyU1Xl1U/NNr+D4+HjkQzN5dQOX0MpjW9WLWhHDjhzN9gso96MxxOFvPh0fKF/mMH8TGW2kuqQ2eK2s9A== dependencies: eslint-rule-composer "^0.3.0" -"@babel/generator@^7.12.5", "@babel/generator@^7.13.9", "@babel/generator@^7.14.2": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.3.tgz#0c2652d91f7bddab7cccc6ba8157e4f40dcedb91" - integrity sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA== +"@babel/generator@^7.12.5", "@babel/generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" + integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== dependencies: - "@babel/types" "^7.14.2" + "@babel/types" "^7.16.8" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" - integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== +"@babel/helper-annotate-as-pure@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" + integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== dependencies: - "@babel/types" "^7.12.13" + "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.13.13": - version "7.13.13" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz#2b2972a0926474853f41e4adbc69338f520600e5" - integrity sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ== +"@babel/helper-compilation-targets@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" + integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== dependencies: - "@babel/compat-data" "^7.13.12" - "@babel/helper-validator-option" "^7.12.17" - browserslist "^4.14.5" + "@babel/compat-data" "^7.16.4" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-function-name@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz#397688b590760b6ef7725b5f0860c82427ebaac2" - integrity sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ== +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== dependencies: - "@babel/helper-get-function-arity" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/types" "^7.14.2" + "@babel/types" "^7.16.7" -"@babel/helper-get-function-arity@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" - integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== +"@babel/helper-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" + integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== dependencies: - "@babel/types" "^7.12.13" + "@babel/helper-get-function-arity" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/types" "^7.16.7" -"@babel/helper-member-expression-to-functions@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72" - integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw== +"@babel/helper-get-function-arity@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" + integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== dependencies: - "@babel/types" "^7.13.12" + "@babel/types" "^7.16.7" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" - integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== dependencies: - "@babel/types" "^7.13.12" + "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.13.14": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5" - integrity sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA== - dependencies: - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-replace-supers" "^7.13.12" - "@babel/helper-simple-access" "^7.13.12" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/helper-validator-identifier" "^7.14.0" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.2" - "@babel/types" "^7.14.2" - -"@babel/helper-optimise-call-expression@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" - integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" + integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== dependencies: - "@babel/types" "^7.12.13" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" "@babel/helper-plugin-utils@7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" - integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== - -"@babel/helper-replace-supers@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz#6442f4c1ad912502481a564a7386de0c77ff3804" - integrity sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.13.12" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.12" +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" + integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== -"@babel/helper-simple-access@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6" - integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA== +"@babel/helper-simple-access@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" + integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== dependencies: - "@babel/types" "^7.13.12" + "@babel/types" "^7.16.7" -"@babel/helper-split-export-declaration@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" - integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== dependencies: - "@babel/types" "^7.12.13" + "@babel/types" "^7.16.7" -"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" - integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== -"@babel/helper-validator-option@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" - integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== -"@babel/helpers@^7.12.5", "@babel/helpers@^7.13.10": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62" - integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg== +"@babel/helpers@^7.12.5", "@babel/helpers@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" + integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== dependencies: - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" - integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== +"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== dependencies: - "@babel/helper-validator-identifier" "^7.12.11" + "@babel/helper-validator-identifier" "^7.16.7" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.12.7", "@babel/parser@^7.13.13", "@babel/parser@^7.14.2": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.4.tgz#a5c560d6db6cd8e6ed342368dea8039232cbab18" - integrity sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA== +"@babel/parser@^7.1.0", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7": + version "7.16.12" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" + integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== "@babel/plugin-proposal-object-rest-spread@7.12.1": version "7.12.1" @@ -258,11 +248,11 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" - integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA== + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" @@ -285,12 +275,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" - integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g== +"@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.16.7", "@babel/plugin-syntax-jsx@^7.2.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" + integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" @@ -334,38 +324,45 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-transform-parameters@^7.12.1": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz#e4290f72e0e9e831000d066427c4667098decc31" - integrity sha512-NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A== + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" + integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== dependencies: - "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-react-jsx@^7.12.1": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.13.12.tgz#1df5dfaf0f4b784b43e96da6f28d630e775f68b3" - integrity sha512-jcEI2UqIcpCqB5U5DRxIl0tQEProI2gcu+g8VTIqxLO5Iidojb4d77q+fwGseCvd8af/lJ9masp4QWzBXFE2xA== + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz#86a6a220552afd0e4e1f0388a68a372be7add0d4" + integrity sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag== dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-jsx" "^7.12.13" - "@babel/types" "^7.13.12" + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-jsx" "^7.16.7" + "@babel/types" "^7.16.7" "@babel/polyfill@^7.2.5": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.11.5.tgz#df550b2ec53abbc2ed599367ec59e64c7a707bb5" - integrity sha512-FunXnE0Sgpd61pKSj2OSOs1D44rKTD3pGOfGilZ6LGrrIH0QEtJlTjqOqdF8Bs98JmjfGhni2BBkTfv9KcKJ9g== + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.12.1.tgz#1f2d6371d1261bbd961f3c5d5909150e12d0bd96" + integrity sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g== dependencies: core-js "^2.6.5" regenerator-runtime "^0.13.4" "@babel/runtime-corejs3@^7.10.2": - version "7.11.2" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz#02c3029743150188edeb66541195f54600278419" - integrity sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A== + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz#ea533d96eda6fdc76b1812248e9fbd0c11d4a1a7" + integrity sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg== dependencies: - core-js-pure "^3.0.0" + core-js-pure "^3.20.2" regenerator-runtime "^0.13.4" "@babel/runtime@7.12.5": @@ -375,33 +372,35 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.13.10", "@babel/runtime@^7.7.2", "@babel/runtime@^7.9.2": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" - integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== +"@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.7.2", "@babel/runtime@^7.9.2": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" + integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.12.13", "@babel/template@^7.12.7", "@babel/template@^7.3.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" - integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/parser" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.13", "@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b" - integrity sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.2" - "@babel/helper-function-name" "^7.14.2" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.14.2" - "@babel/types" "^7.14.2" +"@babel/template@^7.12.7", "@babel/template@^7.16.7", "@babel/template@^7.3.3": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.9", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" + integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.16.8" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.16.10" + "@babel/types" "^7.16.8" debug "^4.1.0" globals "^11.1.0" @@ -414,12 +413,12 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.12.7", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.14.0", "@babel/types@^7.14.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.4.tgz#bfd6980108168593b38b3eb48a24aa026b919bc0" - integrity sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw== +"@babel/types@^7.0.0", "@babel/types@^7.12.7", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" + integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== dependencies: - "@babel/helper-validator-identifier" "^7.14.0" + "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -443,9 +442,9 @@ "@babel/plugin-syntax-jsx" "^7.2.0" "@emotion/babel-plugin@^11.2.0": - version "11.3.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.3.0.tgz#3a16850ba04d8d9651f07f3fb674b3436a4fb9d7" - integrity sha512-UZKwBV2rADuhRp+ZOGgNWg2eYgbzKzQXfQPtJbu/PLy8onurxlNCLvxMQEvlr1/GudguPI5IU9qIY1+2z1M5bA== + version "11.7.2" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.7.2.tgz#fec75f38a6ab5b304b0601c74e2a5e77c95e5fa0" + integrity sha512-6mGSCWi9UzXut/ZAN6lGFu33wGR3SJisNl3c0tvlmb8XChH1b2SUvxvnOh7hvLpqyRdHHU9AiazV3Cwbk5SXKQ== dependencies: "@babel/helper-module-imports" "^7.12.13" "@babel/plugin-syntax-jsx" "^7.12.13" @@ -458,7 +457,7 @@ escape-string-regexp "^4.0.0" find-root "^1.1.0" source-map "^0.5.7" - stylis "^4.0.3" + stylis "4.0.13" "@emotion/babel-preset-css-prop@^11.2.0": version "11.2.0" @@ -470,16 +469,16 @@ "@emotion/babel-plugin" "^11.2.0" "@emotion/babel-plugin-jsx-pragmatic" "^0.1.5" -"@emotion/cache@^11.4.0": - version "11.4.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.4.0.tgz#293fc9d9a7a38b9aad8e9337e5014366c3b09ac0" - integrity sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g== +"@emotion/cache@^11.7.1": + version "11.7.1" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.7.1.tgz#08d080e396a42e0037848214e8aa7bf879065539" + integrity sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A== dependencies: "@emotion/memoize" "^0.7.4" - "@emotion/sheet" "^1.0.0" + "@emotion/sheet" "^1.1.0" "@emotion/utils" "^1.0.0" "@emotion/weak-memoize" "^0.2.5" - stylis "^4.0.3" + stylis "4.0.13" "@emotion/hash@^0.8.0": version "0.8.0" @@ -492,14 +491,14 @@ integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ== "@emotion/react@^11.4.0": - version "11.4.0" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.4.0.tgz#2465ad7b073a691409b88dfd96dc17097ddad9b7" - integrity sha512-4XklWsl9BdtatLoJpSjusXhpKv9YVteYKh9hPKP1Sxl+mswEFoUe0WtmtWjxEjkA51DQ2QRMCNOvKcSlCQ7ivg== + version "11.7.1" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.7.1.tgz#3f800ce9b20317c13e77b8489ac4a0b922b2fe07" + integrity sha512-DV2Xe3yhkF1yT4uAUoJcYL1AmrnO5SVsdfvu+fBuS7IbByDeTVx9+wFmvx9Idzv7/78+9Mgx2Hcmr7Fex3tIyw== dependencies: "@babel/runtime" "^7.13.10" - "@emotion/cache" "^11.4.0" + "@emotion/cache" "^11.7.1" "@emotion/serialize" "^1.0.2" - "@emotion/sheet" "^1.0.1" + "@emotion/sheet" "^1.1.0" "@emotion/utils" "^1.0.0" "@emotion/weak-memoize" "^0.2.5" hoist-non-react-statics "^3.3.1" @@ -515,10 +514,10 @@ "@emotion/utils" "^1.0.0" csstype "^3.0.2" -"@emotion/sheet@^1.0.0", "@emotion/sheet@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.0.1.tgz#245f54abb02dfd82326e28689f34c27aa9b2a698" - integrity sha512-GbIvVMe4U+Zc+929N1V7nW6YYJtidj31lidSmdYcWozwoBIObXBnaJkKNDjZrLm9Nc0BR+ZyHNaRZxqNZbof5g== +"@emotion/sheet@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz#56d99c41f0a1cda2726a05aa6a20afd4c63e58d2" + integrity sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g== "@emotion/unitless@^0.7.5": version "0.7.5" @@ -535,18 +534,18 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== +"@eslint/eslintrc@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318" + integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ== dependencies: ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" + debug "^4.3.2" + espree "^9.2.0" globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" - js-yaml "^3.13.1" + js-yaml "^4.1.0" minimatch "^3.0.4" strip-json-comments "^3.1.1" @@ -558,9 +557,9 @@ cross-spawn "^6.0.5" "@expo/styleguide@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@expo/styleguide/-/styleguide-3.0.0.tgz#0bf6256a33c330ac808c8284d127b0e7260e4cf6" - integrity sha512-GzsgiMGIF3WOGTded5q12S62KhQqOtt1Ny2LQaXaiYjRTF8HRKJTgdD00Uy8bKyqi/Rn91V6Uzd/P3G74r5zBA== + version "3.5.1" + resolved "https://registry.yarnpkg.com/@expo/styleguide/-/styleguide-3.5.1.tgz#20a35ab7a376572a3695a0d3e808dc8273ceaf0e" + integrity sha512-TLJs7nvnpen3pWOQiLjf5x9SN6WOx7ORV5w9Q5mDn8EVBtBf/wuRzt8HdIVj0NOryAO2zC0vdD6xyojtVB4XYQ== "@hapi/accept@5.0.2": version "5.0.2" @@ -571,30 +570,30 @@ "@hapi/hoek" "9.x.x" "@hapi/boom@9.x.x": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.2.tgz#48bd41d67437164a2d636e3b5bc954f8c8dc5e38" - integrity sha512-uJEJtiNHzKw80JpngDGBCGAmWjBtzxDCz17A9NO2zCi8LLBlb5Frpq4pXwyN+2JQMod4pKz5BALwyneCgDg89Q== + version "9.1.4" + resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.4.tgz#1f9dad367c6a7da9f8def24b4a986fc5a7bd9db6" + integrity sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw== dependencies: "@hapi/hoek" "9.x.x" "@hapi/hoek@9.x.x": - version "9.1.1" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.1.1.tgz#9daf5745156fd84b8e9889a2dc721f0c58e894aa" - integrity sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw== + version "9.2.1" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17" + integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw== -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== +"@humanwhocodes/config-array@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914" + integrity sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA== dependencies: - "@humanwhocodes/object-schema" "^1.2.0" + "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" minimatch "^3.0.4" -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" - integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" @@ -608,97 +607,97 @@ resolve-from "^5.0.0" "@istanbuljs/schema@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.3.0.tgz#ed04063efb280c88ba87388b6f16427c0a85c856" - integrity sha512-/5Pn6sJev0nPUcAdpJHMVIsA8sKizL2ZkcKPE5+dJrCccks7tcM7c9wbgHudBJbxXLoTbqsHkG1Dofoem4F09w== +"@jest/console@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^26.3.0" - jest-util "^26.3.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" slash "^3.0.0" -"@jest/core@^26.1.0", "@jest/core@^26.4.2": - version "26.4.2" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.4.2.tgz#85d0894f31ac29b5bab07aa86806d03dd3d33edc" - integrity sha512-sDva7YkeNprxJfepOctzS8cAk9TOekldh+5FhVuXS40+94SHbiicRO1VV2tSoRtgIo+POs/Cdyf8p76vPTd6dg== +"@jest/core@^26.1.0", "@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== dependencies: - "@jest/console" "^26.3.0" - "@jest/reporters" "^26.4.1" - "@jest/test-result" "^26.3.0" - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" - jest-changed-files "^26.3.0" - jest-config "^26.4.2" - jest-haste-map "^26.3.0" - jest-message-util "^26.3.0" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" jest-regex-util "^26.0.0" - jest-resolve "^26.4.0" - jest-resolve-dependencies "^26.4.2" - jest-runner "^26.4.2" - jest-runtime "^26.4.2" - jest-snapshot "^26.4.2" - jest-util "^26.3.0" - jest-validate "^26.4.2" - jest-watcher "^26.3.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" micromatch "^4.0.2" p-each-series "^2.1.0" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.3.0.tgz#e6953ab711ae3e44754a025f838bde1a7fd236a0" - integrity sha512-EW+MFEo0DGHahf83RAaiqQx688qpXgl99wdb8Fy67ybyzHwR1a58LHcO376xQJHfmoXTu89M09dH3J509cx2AA== +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== dependencies: - "@jest/fake-timers" "^26.3.0" - "@jest/types" "^26.3.0" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" - jest-mock "^26.3.0" + jest-mock "^26.6.2" -"@jest/fake-timers@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.3.0.tgz#f515d4667a6770f60ae06ae050f4e001126c666a" - integrity sha512-ZL9ytUiRwVP8ujfRepffokBvD2KbxbqMhrXSBhSdAhISCw3gOkuntisiSFv+A6HN0n0fF4cxzICEKZENLmW+1A== +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" "@sinonjs/fake-timers" "^6.0.1" "@types/node" "*" - jest-message-util "^26.3.0" - jest-mock "^26.3.0" - jest-util "^26.3.0" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" -"@jest/globals@^26.4.2": - version "26.4.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.4.2.tgz#73c2a862ac691d998889a241beb3dc9cada40d4a" - integrity sha512-Ot5ouAlehhHLRhc+sDz2/9bmNv9p5ZWZ9LE1pXGGTCXBasmi5jnYjlgYcYt03FBwLmZXCZ7GrL29c33/XRQiow== +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== dependencies: - "@jest/environment" "^26.3.0" - "@jest/types" "^26.3.0" - expect "^26.4.2" + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" -"@jest/reporters@^26.4.1": - version "26.4.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.4.1.tgz#3b4d6faf28650f3965f8b97bc3d114077fb71795" - integrity sha512-aROTkCLU8++yiRGVxLsuDmZsQEKO6LprlrxtAuzvtpbIFl3eIjgIf3EUxDKgomkS25R9ZzwGEdB5weCcBZlrpQ== +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" @@ -709,63 +708,63 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.2" - jest-haste-map "^26.3.0" - jest-resolve "^26.4.0" - jest-util "^26.3.0" - jest-worker "^26.3.0" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" terminal-link "^2.0.0" - v8-to-istanbul "^5.0.1" + v8-to-istanbul "^7.0.0" optionalDependencies: node-notifier "^8.0.0" -"@jest/source-map@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.3.0.tgz#0e646e519883c14c551f7b5ae4ff5f1bfe4fc3d9" - integrity sha512-hWX5IHmMDWe1kyrKl7IhFwqOuAreIwHhbe44+XH2ZRHjrKIh0LO5eLQ/vxHFeAfRwJapmxuqlGAEYLadDq6ZGQ== +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== dependencies: callsites "^3.0.0" graceful-fs "^4.2.4" source-map "^0.6.0" -"@jest/test-result@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.3.0.tgz#46cde01fa10c0aaeb7431bf71e4a20d885bc7fdb" - integrity sha512-a8rbLqzW/q7HWheFVMtghXV79Xk+GWwOK1FrtimpI5n1la2SY0qHri3/b0/1F0Ve0/yJmV8pEhxDfVwiUBGtgg== +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== dependencies: - "@jest/console" "^26.3.0" - "@jest/types" "^26.3.0" + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^26.4.2": - version "26.4.2" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.4.2.tgz#58a3760a61eec758a2ce6080201424580d97cbba" - integrity sha512-83DRD8N3M0tOhz9h0bn6Kl6dSp+US6DazuVF8J9m21WAp5x7CqSMaNycMP0aemC/SH/pDQQddbsfHRTBXVUgog== +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== dependencies: - "@jest/test-result" "^26.3.0" + "@jest/test-result" "^26.6.2" graceful-fs "^4.2.4" - jest-haste-map "^26.3.0" - jest-runner "^26.4.2" - jest-runtime "^26.4.2" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" -"@jest/transform@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.3.0.tgz#c393e0e01459da8a8bfc6d2a7c2ece1a13e8ba55" - integrity sha512-Isj6NB68QorGoFWvcOjlUhpkT56PqNIsXKR7XfvoDlCANn/IANlh8DrKAA2l2JKC3yWSMH5wS0GwuQM20w3b2A== +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" babel-plugin-istanbul "^6.0.0" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.4" - jest-haste-map "^26.3.0" + jest-haste-map "^26.6.2" jest-regex-util "^26.0.0" - jest-util "^26.3.0" + jest-util "^26.6.2" micromatch "^4.0.2" pirates "^4.0.1" slash "^3.0.0" @@ -782,10 +781,10 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" -"@jest/types@^26.3.0": - version "26.3.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.3.0.tgz#97627bf4bdb72c55346eef98e3b3f7ddc4941f71" - integrity sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ== +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" @@ -888,43 +887,48 @@ resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-10.2.3.tgz#2f3e42fe6680798f276e3621345c2886b231348b" integrity sha512-qtBF56vPC6d6a8p7LYd0iRjW89fhY80kAIzmj+VonvIGjK/nymBjcFUhbKiMFqlhsarCksnhwX+Zmn95Dw9qvA== -"@nodelib/fs.scandir@2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" - integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: - "@nodelib/fs.stat" "2.0.4" + "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" - integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" - integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: - "@nodelib/fs.scandir" "2.1.4" + "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" "@octokit/auth-token@^2.4.0": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a" - integrity sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ== + version "2.5.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" + integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== dependencies: - "@octokit/types" "^5.0.0" + "@octokit/types" "^6.0.3" "@octokit/endpoint@^6.0.1": - version "6.0.6" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.6.tgz#4f09f2b468976b444742a1d5069f6fa45826d999" - integrity sha512-7Cc8olaCoL/mtquB7j/HTbPM+sY6Ebr4k2X2y4JoXpVKQ7r5xB4iGQE0IoO58wIPsUk4AzoT65AMEpymSbWTgQ== + version "6.0.12" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" + integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== dependencies: - "@octokit/types" "^5.0.0" + "@octokit/types" "^6.0.3" is-plain-object "^5.0.0" universal-user-agent "^6.0.0" +"@octokit/openapi-types@^11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-11.2.0.tgz#b38d7fc3736d52a1e96b230c1ccd4a58a2f400a6" + integrity sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA== + "@octokit/plugin-paginate-rest@^1.1.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz#004170acf8c2be535aba26727867d692f7b488fc" @@ -933,9 +937,9 @@ "@octokit/types" "^2.0.1" "@octokit/plugin-request-log@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e" - integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw== + version "1.0.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== "@octokit/plugin-rest-endpoint-methods@2.4.0": version "2.4.0" @@ -954,27 +958,25 @@ deprecation "^2.0.0" once "^1.4.0" -"@octokit/request-error@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0" - integrity sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw== +"@octokit/request-error@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" + integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== dependencies: - "@octokit/types" "^5.0.1" + "@octokit/types" "^6.0.3" deprecation "^2.0.0" once "^1.4.0" "@octokit/request@^5.2.0": - version "5.4.9" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.9.tgz#0a46f11b82351b3416d3157261ad9b1558c43365" - integrity sha512-CzwVvRyimIM1h2n9pLVYfTDmX9m+KHSgCpqPsY8F1NdEK8IaWqXhSBXsdjOBFZSpEcxNEeg4p0UO9cQ8EnOCLA== + version "5.6.3" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" + integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== dependencies: "@octokit/endpoint" "^6.0.1" - "@octokit/request-error" "^2.0.0" - "@octokit/types" "^5.0.0" - deprecation "^2.0.0" + "@octokit/request-error" "^2.1.0" + "@octokit/types" "^6.16.1" is-plain-object "^5.0.0" - node-fetch "^2.6.1" - once "^1.4.0" + node-fetch "^2.6.7" universal-user-agent "^6.0.0" "@octokit/rest@^16.43.1": @@ -1006,12 +1008,12 @@ dependencies: "@types/node" ">= 8" -"@octokit/types@^5.0.0", "@octokit/types@^5.0.1": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.5.0.tgz#e5f06e8db21246ca102aa28444cdb13ae17a139b" - integrity sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ== +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1": + version "6.34.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.34.0.tgz#c6021333334d1ecfb5d370a8798162ddf1ae8218" + integrity sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw== dependencies: - "@types/node" ">= 8" + "@octokit/openapi-types" "^11.2.0" "@opentelemetry/api@0.14.0": version "0.14.0" @@ -1025,107 +1027,107 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.14.0.tgz#c67fc20a4d891447ca1a855d7d70fa79a3533001" integrity sha512-sDOAZcYwynHFTbLo6n8kIbLiVF3a3BLkrmehJUyEbT9F+Smbi47kLGS2gG2g0fjBLR/Lr1InPD7kXL7FaTqEkw== -"@popperjs/core@^2.8.3": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.9.2.tgz#adea7b6953cbb34651766b0548468e743c6a2353" - integrity sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q== +"@popperjs/core@^2.9.0": + version "2.11.2" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.2.tgz#830beaec4b4091a9e9398ac50f865ddea52186b9" + integrity sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA== -"@reach/auto-id@0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@reach/auto-id/-/auto-id-0.15.0.tgz#f46afebfc140b2099b95c7aec1f049d167d3833d" - integrity sha512-iACaCcZeqAhDf4OOwJpmHHS/LaRj9z3Ip8JmlhpCrFWV2YOIiiZk42amlBZX6CKH66Md+eriYZQk3TyAjk6Oxg== +"@reach/auto-id@0.15.3": + version "0.15.3" + resolved "https://registry.yarnpkg.com/@reach/auto-id/-/auto-id-0.15.3.tgz#23b6ae8de3bf7520044c95a85c992ae46cdcef9c" + integrity sha512-lbLUI9mrn74qVis141ib0Rsyhgk+gzUMtpplRmjy06cUWDFZyiBATNWMUxN5T+0fU4tpfgcjkAuPeTCCGThKtQ== dependencies: - "@reach/utils" "0.15.0" - tslib "^2.1.0" + "@reach/utils" "0.15.3" + tslib "^2.3.0" -"@reach/descendants@0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@reach/descendants/-/descendants-0.15.0.tgz#be55a9420a075bc130f3be6da6e7e47733e5b8a0" - integrity sha512-MGs+7sGjx07sm29Wc2d/Ya72qwatNVHofnYwwHMT6LImv99kE5TQMCgkMSDeRwqQxHURmcjb4I7Tab+ahvCGiw== +"@reach/descendants@0.15.3": + version "0.15.3" + resolved "https://registry.yarnpkg.com/@reach/descendants/-/descendants-0.15.3.tgz#818522e54a66e3e577970e25aa7226645e22aabc" + integrity sha512-vuCBG7Uru6IEJ2wvTd7L2xumbYzv2UYBduZ0E1FEABqyUo78eTIZbRcwIN73IxMcivjWipBPlcLLkpFtJKMPew== dependencies: - "@reach/utils" "0.15.0" - tslib "^2.1.0" + "@reach/utils" "0.15.3" + tslib "^2.3.0" "@reach/tabs@^0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@reach/tabs/-/tabs-0.15.0.tgz#cb94ee9bdadf6d818e8bee43b8d8fea8e708b727" - integrity sha512-W3FZw0DMGChwIRDBZYCw66NdiGkyapYs6xjOqQV2Ph7DMaMQ0lYck5bn40EtVi3O5x+8cAKmV+ubbHVUh+WSig== + version "0.15.3" + resolved "https://registry.yarnpkg.com/@reach/tabs/-/tabs-0.15.3.tgz#6b0497d12f72dfc0992a8caafe8d8aeb7c8ece77" + integrity sha512-x+RToVrhywIp3YFqBVmPiscKKnr+29vwo2H3GGZMFeXOMaZz7d941cSbx7o2So2jXEtLhuTuMc9Nak/sVtV8Hg== dependencies: - "@reach/auto-id" "0.15.0" - "@reach/descendants" "0.15.0" - "@reach/utils" "0.15.0" + "@reach/auto-id" "0.15.3" + "@reach/descendants" "0.15.3" + "@reach/utils" "0.15.3" prop-types "^15.7.2" - tslib "^2.1.0" + tslib "^2.3.0" -"@reach/utils@0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@reach/utils/-/utils-0.15.0.tgz#5b183d668f9bb900b2dec7a33c028a2a828d27b2" - integrity sha512-JHHN7T5ucFiuQbqkgv8ECbRWKfRiJxrO/xHR3fHf+f2C7mVs/KkJHhYtovS1iEapR4silygX9PY0+QUmHPOTYw== +"@reach/utils@0.15.3": + version "0.15.3" + resolved "https://registry.yarnpkg.com/@reach/utils/-/utils-0.15.3.tgz#200f42adba9d1463b1c6a75ee2aaf9f0cba84f9d" + integrity sha512-HFyjw8LZ4/RRk5bcMpDAeEc3aOeLR/vWRDsljlE3cHI5GfFlZcG3DDLSW8C2ba74RCFp/4X3Nz0nOrd4JdkZ1w== dependencies: tiny-warning "^1.0.3" - tslib "^2.1.0" + tslib "^2.3.0" "@rushstack/eslint-patch@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.0.6.tgz#023d72a5c4531b4ce204528971700a78a85a0c50" - integrity sha512-Myxw//kzromB9yWgS8qYGuGVf91oBUUJpNvy5eM50sqvmKLbKjwLxohJnkWGTeeI9v9IBMtPLxz5Gc60FIfvCA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz#7f698254aadf921e48dda8c0a6b304026b8a9323" + integrity sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A== "@sentry/browser@^5.6.1": - version "5.24.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.24.1.tgz#d73f2aa9caba1314e5bafd1f9b0583478d737e55" - integrity sha512-Uw76n6rYtR9Lsu5GaLHFx419icj8ZGJpycE1MbyF+sOPQ6H7nxkYVHf44qlc3FFwsDI/Ys1h+MkwSJims9n9Jw== + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.30.0.tgz#c28f49d551db3172080caef9f18791a7fd39e3b3" + integrity sha512-rOb58ZNVJWh1VuMuBG1mL9r54nZqKeaIlwSlvzJfc89vyfd7n6tQ1UXMN383QBz/MS5H5z44Hy5eE+7pCrYAfw== dependencies: - "@sentry/core" "5.24.1" - "@sentry/types" "5.24.1" - "@sentry/utils" "5.24.1" + "@sentry/core" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" tslib "^1.9.3" -"@sentry/core@5.24.1": - version "5.24.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.24.1.tgz#963560a97106e53f06cab239305db1c2e53e682e" - integrity sha512-MENluJrPOl2X4VBVbtQhXJiLfXlUfRdKihq5N9RffWr3vNEF7bshr3wClcIU082VHUs+obzR+w06N+U6uLIzsw== +"@sentry/core@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" + integrity sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg== dependencies: - "@sentry/hub" "5.24.1" - "@sentry/minimal" "5.24.1" - "@sentry/types" "5.24.1" - "@sentry/utils" "5.24.1" + "@sentry/hub" "5.30.0" + "@sentry/minimal" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" tslib "^1.9.3" -"@sentry/hub@5.24.1": - version "5.24.1" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.24.1.tgz#0fa4b07a3601ee45dcc64dc5c7ad2dee5fbe7816" - integrity sha512-ItTD7VtAgy4OldmgWa1f9qZkrCQDkmPJhg86x/hhr4tzqqv+d+xw4o/+1vL4ZrrsEdgRDC1cZjZXsVJ/L47JDQ== +"@sentry/hub@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.30.0.tgz#2453be9b9cb903404366e198bd30c7ca74cdc100" + integrity sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ== dependencies: - "@sentry/types" "5.24.1" - "@sentry/utils" "5.24.1" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" tslib "^1.9.3" -"@sentry/minimal@5.24.1": - version "5.24.1" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.24.1.tgz#7b80c90fb2557c339835c2c439335f58303292ad" - integrity sha512-kB9Ww/7U3VwQ7fCyBkhuDwAmIwndmJGIs2VRzIUY93Q7cDTlNFvlWPyscqE27qT5Q7O1EKYhZE15Vr6phyiDVg== +"@sentry/minimal@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.30.0.tgz#ce3d3a6a273428e0084adcb800bc12e72d34637b" + integrity sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw== dependencies: - "@sentry/hub" "5.24.1" - "@sentry/types" "5.24.1" + "@sentry/hub" "5.30.0" + "@sentry/types" "5.30.0" tslib "^1.9.3" -"@sentry/types@5.24.1": - version "5.24.1" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.24.1.tgz#7f39f1344fd8cbe8c82b5488250a489dc753dc5f" - integrity sha512-t31eVrBPFLhhKJnIwyOhfibS/Sm9U81Sp2hxh1SZfkW1pdVrYOBY+BxO/zK3ChUTIR0BONcL2Its7JqAl0SZgg== +"@sentry/types@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402" + integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw== -"@sentry/utils@5.24.1": - version "5.24.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.24.1.tgz#bbcff3bca09f6d03f002929767ab284944714ccd" - integrity sha512-9e87L0yxiJuSNuv9l7C/mGfqxSrxj9h8rF3IRoyu34DqpUNvpgMfURjBd3AZoVA7eFiiVN3racLSnjhMuoZqZQ== +"@sentry/utils@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.30.0.tgz#9a5bd7ccff85ccfe7856d493bffa64cabc41e980" + integrity sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww== dependencies: - "@sentry/types" "5.24.1" + "@sentry/types" "5.30.0" tslib "^1.9.3" "@sinonjs/commons@^1.7.0": - version "1.8.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" - integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw== + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== dependencies: type-detect "4.0.8" @@ -1137,17 +1139,18 @@ "@sinonjs/commons" "^1.7.0" "@testing-library/dom@^7.17.1": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.24.2.tgz#6d2b7dd21efbd5358b98c2777fc47c252f3ae55e" - integrity sha512-ERxcZSoHx0EcN4HfshySEWmEf5Kkmgi+J7O79yCJ3xggzVlBJ2w/QjJUC+EBkJJ2OeSw48i3IoePN4w8JlVUIA== + version "7.31.2" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.31.2.tgz#df361db38f5212b88555068ab8119f5d841a8c4a" + integrity sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.10.3" + "@babel/runtime" "^7.12.5" "@types/aria-query" "^4.2.0" aria-query "^4.2.2" chalk "^4.1.0" - dom-accessibility-api "^0.5.1" - pretty-format "^26.4.2" + dom-accessibility-api "^0.5.6" + lz-string "^1.4.4" + pretty-format "^26.6.2" "@testing-library/jest-dom@5.11.0": version "5.11.0" @@ -1173,15 +1176,20 @@ "@babel/runtime" "^7.10.3" "@testing-library/dom" "^7.17.1" +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@types/aria-query@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.0.tgz#14264692a9d6e2fa4db3df5e56e94b5e25647ac0" - integrity sha512-iIgQNzCm0v7QMhhe4Jjn9uRh+I6GoPmt03CbEtwx3ao8/EfoQcmgtqH4vQ5Db/lxiIGaWDv6nwvunuh0RyX0+A== + version "4.2.2" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" + integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.9" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d" - integrity sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw== + version "7.1.18" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" + integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1190,62 +1198,59 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.1" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" - integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.14" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.14.tgz#e99da8c075d4fb098c774ba65dabf7dc9954bd13" - integrity sha512-8w9szzKs14ZtBVuP6Wn7nMLRJ0D6dfB0VEBEyRgxrZ/Ln49aNMykrghM2FaNn4FJRzNppCSa0Rv9pBRM5Xc3wg== +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== dependencies: "@babel/types" "^7.3.0" -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@types/cacache@^15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@types/cacache/-/cacache-15.0.1.tgz#3d1943cc80ade160c9ae98bd5c1ebcc538f9cd57" + integrity sha512-JhL2GFJuHMx4RMg4z0XfXB4ZkKdyiOaOLpjoYMXcyKfrkF3IBXNZBj6/Peo9zX/7PPHyfI63NWVD589cI2YTzg== + dependencies: + "@types/node" "*" "@types/eslint-scope@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86" - integrity sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw== + version "3.7.3" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" + integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "7.2.7" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.7.tgz#f7ef1cf0dceab0ae6f9a976a0a9af14ab1baca26" - integrity sha512-EHXbc1z2GoQRqHaAT7+grxlTJ3WE2YNeD6jlpPoRc83cCoThRY+NUWjCUZaYmk51OICkPXn2hhphcWcWXgNW0Q== + version "8.4.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304" + integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": - version "0.0.47" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4" - integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg== - -"@types/estree@^0.0.46": - version "0.0.46" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" - integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== +"@types/estree@*", "@types/estree@^0.0.50": + version "0.0.50" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== "@types/fs-extra@^9.0.11": - version "9.0.11" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.11.tgz#8cc99e103499eab9f347dbc6ca4e99fb8d2c2b87" - integrity sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA== + version "9.0.13" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" + integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== dependencies: "@types/node" "*" @@ -1260,9 +1265,9 @@ integrity sha512-LE6AfJFJtxUl1d56oQ1PvQDEOtU+0fgqTVgmOw+T0eaz7FB4DTqKxbI6x8sq+7FDvAeIXOugZyGHJLR4CAxO4A== "@types/graceful-fs@^4.1.2": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f" - integrity sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ== + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== dependencies: "@types/node" "*" @@ -1272,16 +1277,16 @@ integrity sha512-QLE3WrQFBw4+E4E1om9aEVXlcnkSGAlWmU2Jc6G0bTMhuWPkBruv2o2bKhcM5GNnEMnz3vjjuOPg5Xe6ogevYA== "@types/hast@^2.0.0": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.1.tgz#b16872f2a6144c7025f296fb9636a667ebb79cd9" - integrity sha512-viwwrB+6xGzw+G1eWpF9geV3fnsDgXqHG+cqgiHrvQfDUW5hzhCyV7Sy3UJxhfRFBsgky2SSW33qi/YrIkjX5Q== + version "2.3.4" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc" + integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== dependencies: "@types/unist" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/istanbul-lib-report@*": version "3.0.0" @@ -1299,24 +1304,24 @@ "@types/istanbul-lib-report" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== dependencies: "@types/istanbul-lib-report" "*" "@types/jest@*": - version "26.0.14" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.14.tgz#078695f8f65cb55c5a98450d65083b2b73e5a3f3" - integrity sha512-Hz5q8Vu0D288x3iWXePSn53W7hAjP0H7EQ6QvDO9c7t46mR0lNOLlfuwQ+JkVxuhygHzlzPX+0jKdA3ZgSh+Vg== + version "27.4.0" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.4.0.tgz#037ab8b872067cae842a320841693080f9cb84ed" + integrity sha512-gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ== dependencies: - jest-diff "^25.2.1" - pretty-format "^25.2.1" + jest-diff "^27.0.0" + pretty-format "^27.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== +"@types/json-schema@*", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== "@types/json5@^0.0.29": version "0.0.29" @@ -1324,9 +1329,9 @@ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/lodash@^4.14.161": - version "4.14.161" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.161.tgz#a21ca0777dabc6e4f44f3d07f37b765f54188b18" - integrity sha512-EP6O3Jkr7bXvZZSZYlsgt5DIjiGr0dXP1/jVEwVLTFgg0d+3lWVQkRavYVQszV7dYUwvg0B8R0MBDpcmXg7XIA== + version "4.14.178" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.178.tgz#341f6d2247db528d4a13ddbb374bcdc80406f4f8" + integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw== "@types/long@^4.0.1": version "4.0.1" @@ -1334,28 +1339,33 @@ integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== "@types/mdast@^3.0.0": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb" - integrity sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw== + version "3.0.10" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" + integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== dependencies: "@types/unist" "*" "@types/mdx-js__react@^1.5.3": - version "1.5.3" - resolved "https://registry.yarnpkg.com/@types/mdx-js__react/-/mdx-js__react-1.5.3.tgz#2f858ab0ee5fc60b642f3764ef9001fe0530fe43" - integrity sha512-flP0BpS5rXnEbkU5ih79ARaI/+rK10Iee+zxTaWYtoiyc2+f1EJ8EnYgMmXHdAuI7OX4J9/hdoXfrfrri0AT+Q== + version "1.5.5" + resolved "https://registry.yarnpkg.com/@types/mdx-js__react/-/mdx-js__react-1.5.5.tgz#fa6daa1a28336d77b6cf071aacc7e497600de9ee" + integrity sha512-k8pnaP6JXVlQh18HgL5X6sYFNC/qZnzO7R2+HsmwrwUd+JnnsU0d9lyyT0RQrHg1anxDU36S98TI/fsGtmYqqg== dependencies: "@types/react" "*" -"@types/node@*", "@types/node@>= 8", "@types/node@^14.11.2", "@types/node@^14.6.4": - version "14.11.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.2.tgz#2de1ed6670439387da1c9f549a2ade2b0a799256" - integrity sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA== +"@types/node@*", "@types/node@>= 8": + version "17.0.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.10.tgz#616f16e9d3a2a3d618136b1be244315d95bd7cab" + integrity sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog== + +"@types/node@^14.11.2", "@types/node@^14.14.28": + version "14.18.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.9.tgz#0e5944eefe2b287391279a19b407aa98bd14436d" + integrity sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q== "@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/nprogress@^0.2.0": version "0.2.0" @@ -1373,305 +1383,315 @@ integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== "@types/prettier@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.1.tgz#be148756d5480a84cde100324c03a86ae5739fb5" - integrity sha512-2zs+O+UkDsJ1Vcp667pd3f8xearMdopz/z54i99wtRDI5KLmngk7vlrYZD0ZjKHaROR03EznlBbVY9PfAEyJIQ== + version "2.4.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.3.tgz#a3c65525b91fca7da00ab1a3ac2b5a2a4afbffbf" + integrity sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w== "@types/prop-types@*": - version "15.7.3" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" - integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== + version "15.7.4" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" + integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== "@types/react@*", "@types/react@^17.0.11": - version "17.0.11" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.11.tgz#67fcd0ddbf5a0b083a0f94e926c7d63f3b836451" - integrity sha512-yFRQbD+whVonItSk7ZzP/L+gPTJVBkL/7shLEF+i9GC/1cV3JmUxEQz6+9ylhUpWSDuqo1N9qEvqS6vTj4USUA== + version "17.0.38" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.38.tgz#f24249fefd89357d5fa71f739a686b8d7c7202bd" + integrity sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" csstype "^3.0.2" "@types/sax@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.1.tgz#e0248be936ece791a82db1a57f3fb5f7c87e8172" - integrity sha512-dqYdvN7Sbw8QT/0Ci5rhjE4/iCMJEM0Y9rHpCu+gGXD9Lwbz28t6HI2yegsB6BoV1sShRMU6lAmAcgRjmFy7LA== + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.4.tgz#8221affa7f4f3cb21abd22f244cfabfa63e6a69e" + integrity sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw== dependencies: "@types/node" "*" "@types/scheduler@*": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275" - integrity sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA== + version "0.16.2" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/testing-library__jest-dom@^5.9.1": - version "5.9.2" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.2.tgz#59e4771a1cf87d51e89a5cc8195cd3b647cba322" - integrity sha512-K7nUSpH/5i8i0NagTJ+uFUDRueDlnMNhJtMjMwTGPPSqyImbWC/hgKPDCKt6Phu2iMJg2kWqlax+Ucj2DKMwpA== + version "5.14.2" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.2.tgz#564fb2b2dc827147e937a75b639a05d17ce18b44" + integrity sha512-vehbtyHUShPxIa9SioxDwCvgxukDMH//icJG90sXQBUm5lJOHLT5kNeU9tnivhnA/TkOFMzGIXN2cTc4hY8/kg== dependencies: "@types/jest" "*" "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" - integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" + integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== "@types/yargs-parser@*": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== "@types/yargs@^15.0.0": - version "15.0.5" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79" - integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w== + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== dependencies: "@types/yargs-parser" "*" "@types/yauzl@^2.9.1": - version "2.9.1" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af" - integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA== + version "2.9.2" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" + integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^4.12.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.21.0.tgz#3fce2bfa76d95c00ac4f33dff369cb593aab8878" - integrity sha512-FPUyCPKZbVGexmbCFI3EQHzCZdy2/5f+jv6k2EDljGdXSRc0cKvbndd2nHZkSLqCNOPk0jB6lGzwIkglXcYVsQ== +"@typescript-eslint/eslint-plugin@^5.9.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz#e90afea96dff8620892ad216b0e4ccdf8ee32d3a" + integrity sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ== dependencies: - "@typescript-eslint/experimental-utils" "4.21.0" - "@typescript-eslint/scope-manager" "4.21.0" - debug "^4.1.1" + "@typescript-eslint/scope-manager" "5.10.0" + "@typescript-eslint/type-utils" "5.10.0" + "@typescript-eslint/utils" "5.10.0" + debug "^4.3.2" functional-red-black-tree "^1.0.1" - lodash "^4.17.15" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.21.0.tgz#0b0bb7c15d379140a660c003bdbafa71ae9134b6" - integrity sha512-cEbgosW/tUFvKmkg3cU7LBoZhvUs+ZPVM9alb25XvR0dal4qHL3SiUqHNrzoWSxaXA9gsifrYrS1xdDV6w/gIA== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.21.0" - "@typescript-eslint/types" "4.21.0" - "@typescript-eslint/typescript-estree" "4.21.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^4.12.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.21.0.tgz#a227fc2af4001668c3e3f7415d4feee5093894c1" - integrity sha512-eyNf7QmE5O/l1smaQgN0Lj2M/1jOuNg2NrBm1dqqQN0sVngTLyw8tdCbih96ixlhbF1oINoN8fDCyEH9SjLeIA== - dependencies: - "@typescript-eslint/scope-manager" "4.21.0" - "@typescript-eslint/types" "4.21.0" - "@typescript-eslint/typescript-estree" "4.21.0" - debug "^4.1.1" + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" "@typescript-eslint/parser@^4.20.0": - version "4.28.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.28.4.tgz#bc462dc2779afeefdcf49082516afdc3e7b96fab" - integrity sha512-4i0jq3C6n+og7/uCHiE6q5ssw87zVdpUj1k6VlVYMonE3ILdFApEzTWgppSRG4kVNB/5jxnH+gTeKLMNfUelQA== + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== dependencies: - "@typescript-eslint/scope-manager" "4.28.4" - "@typescript-eslint/types" "4.28.4" - "@typescript-eslint/typescript-estree" "4.28.4" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" debug "^4.3.1" -"@typescript-eslint/scope-manager@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.21.0.tgz#c81b661c4b8af1ec0c010d847a8f9ab76ab95b4d" - integrity sha512-kfOjF0w1Ix7+a5T1knOw00f7uAP9Gx44+OEsNQi0PvvTPLYeXJlsCJ4tYnDj5PQEYfpcgOH5yBlw7K+UEI9Agw== +"@typescript-eslint/parser@^5.9.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.0.tgz#8f59e036f5f1cffc178cacbd5ccdd02aeb96c91c" + integrity sha512-pJB2CCeHWtwOAeIxv8CHVGJhI5FNyJAIpx5Pt72YkK3QfEzt6qAlXZuyaBmyfOdM62qU0rbxJzNToPTVeJGrQw== dependencies: - "@typescript-eslint/types" "4.21.0" - "@typescript-eslint/visitor-keys" "4.21.0" + "@typescript-eslint/scope-manager" "5.10.0" + "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/typescript-estree" "5.10.0" + debug "^4.3.2" -"@typescript-eslint/scope-manager@4.28.4": - version "4.28.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.28.4.tgz#bdbce9b6a644e34f767bd68bc17bb14353b9fe7f" - integrity sha512-ZJBNs4usViOmlyFMt9X9l+X0WAFcDH7EdSArGqpldXu7aeZxDAuAzHiMAeI+JpSefY2INHrXeqnha39FVqXb8w== +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== dependencies: - "@typescript-eslint/types" "4.28.4" - "@typescript-eslint/visitor-keys" "4.28.4" - -"@typescript-eslint/types@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.21.0.tgz#abdc3463bda5d31156984fa5bc316789c960edef" - integrity sha512-+OQaupjGVVc8iXbt6M1oZMwyKQNehAfLYJJ3SdvnofK2qcjfor9pEM62rVjBknhowTkh+2HF+/KdRAc/wGBN2w== + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" -"@typescript-eslint/types@4.28.4": - version "4.28.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.28.4.tgz#41acbd79b5816b7c0dd7530a43d97d020d3aeb42" - integrity sha512-3eap4QWxGqkYuEmVebUGULMskR6Cuoc/Wii0oSOddleP4EGx1tjLnZQ0ZP33YRoMDCs5O3j56RBV4g14T4jvww== +"@typescript-eslint/scope-manager@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz#bb5d872e8b9e36203908595507fbc4d3105329cb" + integrity sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg== + dependencies: + "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/visitor-keys" "5.10.0" -"@typescript-eslint/typescript-estree@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.21.0.tgz#3817bd91857beeaeff90f69f1f112ea58d350b0a" - integrity sha512-ZD3M7yLaVGVYLw4nkkoGKumb7Rog7QID9YOWobFDMQKNl+vPxqVIW/uDk+MDeGc+OHcoG2nJ2HphwiPNajKw3w== +"@typescript-eslint/type-utils@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz#8524b9479c19c478347a7df216827e749e4a51e5" + integrity sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ== dependencies: - "@typescript-eslint/types" "4.21.0" - "@typescript-eslint/visitor-keys" "4.21.0" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" + "@typescript-eslint/utils" "5.10.0" + debug "^4.3.2" + tsutils "^3.21.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== -"@typescript-eslint/typescript-estree@4.28.4": - version "4.28.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.4.tgz#252e6863278dc0727244be9e371eb35241c46d00" - integrity sha512-z7d8HK8XvCRyN2SNp+OXC2iZaF+O2BTquGhEYLKLx5k6p0r05ureUtgEfo5f6anLkhCxdHtCf6rPM1p4efHYDQ== +"@typescript-eslint/types@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.0.tgz#beb3cb345076f5b088afe996d57bcd1dfddaa75c" + integrity sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== dependencies: - "@typescript-eslint/types" "4.28.4" - "@typescript-eslint/visitor-keys" "4.28.4" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" debug "^4.3.1" globby "^11.0.3" is-glob "^4.0.1" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.21.0.tgz#990a9acdc124331f5863c2cf21c88ba65233cd8d" - integrity sha512-dH22dROWGi5Z6p+Igc8bLVLmwy7vEe8r+8c+raPQU0LxgogPUrRAtRGtvBWmlr9waTu3n+QLt/qrS/hWzk1x5w== +"@typescript-eslint/typescript-estree@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz#4be24a3dea0f930bb1397c46187d0efdd955a224" + integrity sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA== dependencies: - "@typescript-eslint/types" "4.21.0" - eslint-visitor-keys "^2.0.0" + "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/visitor-keys" "5.10.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@4.28.4": - version "4.28.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.4.tgz#92dacfefccd6751cbb0a964f06683bfd72d0c4d3" - integrity sha512-NIAXAdbz1XdOuzqkJHjNKXKj8QQ4cv5cxR/g0uQhCYf/6//XrmfpaYsM7PnBcNbfvTDLUkqQ5TPNm1sozDdTWg== +"@typescript-eslint/utils@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.0.tgz#c3d152a85da77c400e37281355561c72fb1b5a65" + integrity sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg== dependencies: - "@typescript-eslint/types" "4.28.4" - eslint-visitor-keys "^2.0.0" + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.10.0" + "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/typescript-estree" "5.10.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" -"@webassemblyjs/ast@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.0.tgz#a5aa679efdc9e51707a4207139da57920555961f" - integrity sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg== +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: - "@webassemblyjs/helper-numbers" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - -"@webassemblyjs/floating-point-hex-parser@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz#34d62052f453cd43101d72eab4966a022587947c" - integrity sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA== - -"@webassemblyjs/helper-api-error@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz#aaea8fb3b923f4aaa9b512ff541b013ffb68d2d4" - integrity sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w== + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" -"@webassemblyjs/helper-buffer@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz#d026c25d175e388a7dbda9694e91e743cbe9b642" - integrity sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA== +"@typescript-eslint/visitor-keys@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz#770215497ad67cd15a572b52089991d5dfe06281" + integrity sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ== + dependencies: + "@typescript-eslint/types" "5.10.0" + eslint-visitor-keys "^3.0.0" -"@webassemblyjs/helper-numbers@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz#7ab04172d54e312cc6ea4286d7d9fa27c88cd4f9" - integrity sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ== +"@webassemblyjs/ast@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.0" - "@webassemblyjs/helper-api-error" "1.11.0" - "@xtuc/long" "4.2.2" + "@webassemblyjs/helper-numbers" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" -"@webassemblyjs/helper-wasm-bytecode@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz#85fdcda4129902fe86f81abf7e7236953ec5a4e1" - integrity sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA== +"@webassemblyjs/floating-point-hex-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== -"@webassemblyjs/helper-wasm-section@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz#9ce2cc89300262509c801b4af113d1ca25c1a75b" - integrity sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" +"@webassemblyjs/helper-api-error@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== -"@webassemblyjs/ieee754@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz#46975d583f9828f5d094ac210e219441c4e6f5cf" - integrity sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA== - dependencies: - "@xtuc/ieee754" "^1.2.0" +"@webassemblyjs/helper-buffer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== -"@webassemblyjs/leb128@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.0.tgz#f7353de1df38aa201cba9fb88b43f41f75ff403b" - integrity sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g== +"@webassemblyjs/helper-numbers@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.0.tgz#86e48f959cf49e0e5091f069a709b862f5a2cadf" - integrity sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw== +"@webassemblyjs/helper-wasm-bytecode@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== -"@webassemblyjs/wasm-edit@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz#ee4a5c9f677046a210542ae63897094c2027cb78" - integrity sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/helper-wasm-section" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - "@webassemblyjs/wasm-opt" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - "@webassemblyjs/wast-printer" "1.11.0" - -"@webassemblyjs/wasm-gen@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz#3cdb35e70082d42a35166988dda64f24ceb97abe" - integrity sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ== +"@webassemblyjs/helper-wasm-section@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/ieee754" "1.11.0" - "@webassemblyjs/leb128" "1.11.0" - "@webassemblyjs/utf8" "1.11.0" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" -"@webassemblyjs/wasm-opt@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz#1638ae188137f4bb031f568a413cd24d32f92978" - integrity sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg== +"@webassemblyjs/ieee754@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" + "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/wasm-parser@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz#3e680b8830d5b13d1ec86cc42f38f3d4a7700754" - integrity sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw== +"@webassemblyjs/leb128@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-api-error" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/ieee754" "1.11.0" - "@webassemblyjs/leb128" "1.11.0" - "@webassemblyjs/utf8" "1.11.0" + "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz#680d1f6a5365d6d401974a8e949e05474e1fab7e" - integrity sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ== - dependencies: - "@webassemblyjs/ast" "1.11.0" +"@webassemblyjs/utf8@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + +"@webassemblyjs/wasm-edit@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-wasm-section" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-opt" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + "@webassemblyjs/wast-printer" "1.11.1" + +"@webassemblyjs/wasm-gen@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wasm-opt@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + +"@webassemblyjs/wasm-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wast-printer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + dependencies: + "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": @@ -1684,7 +1704,7 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -abab@^2.0.3: +abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== @@ -1714,10 +1734,15 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" +acorn-import-assertions@^1.7.6: + version "1.8.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== + acorn-jsx@^5.0.1, acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^7.1.1: version "7.2.0" @@ -1725,19 +1750,19 @@ acorn-walk@^7.1.1: integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn@^6.1.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== -acorn@^7.1.1, acorn@^7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" - integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.4: - version "8.1.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.0.tgz#52311fd7037ae119cbb134309e901aa46295b3fe" - integrity sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA== +acorn@^8.2.4, acorn@^8.4.1, acorn@^8.7.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== agent-base@4, agent-base@^4.3.0: version "4.3.0" @@ -1773,16 +1798,6 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1: - version "8.0.5" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.0.5.tgz#f07d6fdeffcdbb80485570ce3f1bc845fcc812b9" - integrity sha512-RkiLa/AeJx7+9OvniQ/qeWu0w74A8DiPPBclQ6ji3ZQkv5KamO+QGpqmi7O4JIw3rHGUXZ6CoP9tsAkn3gyazg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - algoliasearch@^3.24.5: version "3.35.1" resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-3.35.1.tgz#297d15f534a3507cab2f5dfb996019cac7568f0c" @@ -1809,19 +1824,14 @@ anser@1.4.9: resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.9.tgz#1f85423a5dcf8da4631a341665ff675b96845760" integrity sha512-AI+BjTeGt2+WFk4eWcqbQ7snZpDBt8SaLlj0RT2h5xfdWaiy51OjYvqwMrNzJLGy8iOAL6nKDITWO+rd4MkYEA== -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: - type-fest "^0.11.0" + type-fest "^0.21.3" -ansi-regex@^5.0.0: +ansi-regex@^5.0.0, ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== @@ -1834,13 +1844,17 @@ ansi-styles@^3.2.1: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@types/color-name" "^1.1.1" color-convert "^2.0.1" +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -1849,18 +1863,18 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@^3.0.3, anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== +anymatch@^3.0.3, anymatch@~3.1.1, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" -arg@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== +arg@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" + integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== argparse@^1.0.7: version "1.0.10" @@ -1897,21 +1911,16 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= -array-filter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" - integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= - -array-includes@^3.1.1, array-includes@^3.1.2, array-includes@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== +array-includes@^3.1.3, array-includes@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.19.1" get-intrinsic "^1.1.1" - is-string "^1.0.5" + is-string "^1.0.7" array-union@^2.1.0: version "2.1.0" @@ -1923,32 +1932,23 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -array.prototype.flat@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" - integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -array.prototype.flat@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== +array.prototype.flat@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" + es-abstract "^1.19.0" -array.prototype.flatmap@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" - integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== +array.prototype.flatmap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" + integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - function-bind "^1.1.1" + es-abstract "^1.19.0" asn1.js@^5.2.0: version "5.4.1" @@ -1961,9 +1961,9 @@ asn1.js@^5.2.0: safer-buffer "^2.1.0" asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== dependencies: safer-buffer "~2.1.0" @@ -2000,11 +2000,6 @@ ast-types@0.13.2: resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.2.tgz#df39b677a911a83f3a049644fb74fdded23cea48" integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA== -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - async-retry@1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.2.3.tgz#a6521f338358d322b1a0012b79030c6f411d1ce0" @@ -2041,12 +2036,10 @@ autocomplete.js@0.36.0: dependencies: immediate "^3.2.3" -available-typed-arrays@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" - integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== - dependencies: - array-filter "^1.0.0" +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== aws-sign2@~0.7.0: version "0.7.0" @@ -2054,27 +2047,27 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" - integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== axios@^0.21.2: - version "0.21.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.2.tgz#21297d5084b2aeeb422f5d38e7be4fbb82239017" - integrity sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg== + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== dependencies: follow-redirects "^1.14.0" -babel-jest@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.3.0.tgz#10d0ca4b529ca3e7d1417855ef7d7bd6fc0c3463" - integrity sha512-sxPnQGEyHAOPF8NcUsD0g7hDCnvLL2XyblRBcgrzTWBB/mAIpWow3n1bEL+VghnnZfreLhFSBsFluRoK2tRK4g== +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== dependencies: - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" "@types/babel__core" "^7.1.7" babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.3.0" + babel-preset-jest "^26.6.2" chalk "^4.0.0" graceful-fs "^4.2.4" slash "^3.0.0" @@ -2095,20 +2088,20 @@ babel-plugin-extract-import-names@1.6.22: "@babel/helper-plugin-utils" "7.10.4" babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" + istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.2.0.tgz#bdd0011df0d3d513e5e95f76bd53b51147aca2dd" - integrity sha512-B/hVMRv8Nh1sQ1a3EY8I0n4Y1Wty3NrR5ebOyVT302op+DOAau+xNEImGMsUWOC3++ZlMooCytKz+NgN8aKGbA== +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -2148,10 +2141,10 @@ babel-plugin-syntax-jsx@6.18.0: resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= -babel-preset-current-node-syntax@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz#b4b547acddbf963cba555ba9f9cbbb70bfd044da" - integrity sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ== +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -2164,14 +2157,15 @@ babel-preset-current-node-syntax@^0.1.3: "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.3.0.tgz#ed6344506225c065fd8a0b53e191986f74890776" - integrity sha512-5WPdf7nyYi2/eRxCbVrE1kKCWxgWY4RsPEbdJWFm7QsesFGqjdkyLeu1zRkwM1cxK6EPIlNd6d2AxLk7J+t4pw== +babel-preset-jest@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== dependencies: - babel-plugin-jest-hoist "^26.2.0" - babel-preset-current-node-syntax "^0.1.3" + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" bail@^1.0.0: version "1.0.5" @@ -2179,14 +2173,14 @@ bail@^1.0.0: integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== +base64-js@^1.0.2, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" @@ -2214,9 +2208,9 @@ bcrypt-pbkdf@^1.0.0: tweetnacl "^0.14.3" before-after-hook@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" - integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== + version "2.2.2" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" + integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== big.js@^5.2.2: version "5.2.2" @@ -2224,14 +2218,14 @@ big.js@^5.2.2: integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bl@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" - integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg== + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== dependencies: buffer "^5.5.0" inherits "^2.0.4" @@ -2242,10 +2236,10 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== brace-expansion@^1.1.7: version "1.1.11" @@ -2320,11 +2314,11 @@ browserify-des@^1.0.0: safe-buffer "^5.1.2" browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: @@ -2349,7 +2343,7 @@ browserify-zlib@0.2.0, browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.16.6, browserslist@^4.14.5: +browserslist@4.16.6: version "4.16.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== @@ -2360,6 +2354,17 @@ browserslist@4.16.6, browserslist@^4.14.5: escalade "^3.1.1" node-releases "^1.1.71" +browserslist@^4.14.5, browserslist@^4.17.5: + version "4.19.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" + integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== + dependencies: + caniuse-lite "^1.0.30001286" + electron-to-chromium "^1.4.17" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -2396,16 +2401,16 @@ buffer-equal-constant-time@1.0.1: integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= -buffer@5.6.0, buffer@^5.2.1, buffer@^5.5.0: +buffer@5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== @@ -2422,6 +2427,14 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" +buffer@^5.2.1, buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" @@ -2476,14 +2489,14 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" - integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228: - version "1.0.30001236" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001236.tgz#0a80de4cdf62e1770bb46a30d884fc8d633e3958" - integrity sha512-o0PRQSrSCGJKCPZcgMzl5fUaj5xHe8qA2m4QRvnyY4e1lITqoNkr7q/Oh1NcpGSy0Th97UZ35yoKcINPoq7YOQ== +caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001286: + version "1.0.30001301" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz#ebc9086026534cab0dab99425d9c3b4425e5f450" + integrity sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA== capture-exit@^2.0.0: version "2.0.0" @@ -2498,9 +2511,9 @@ caseless@~0.12.0: integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= ccount@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17" - integrity sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" + integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== chalk@2.4.2, chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" @@ -2528,9 +2541,9 @@ chalk@^3.0.0: supports-color "^7.1.0" chalk@^4.0.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -2555,7 +2568,7 @@ character-reference-invalid@^1.0.0: resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== -chokidar@3.5.1, chokidar@^3.0.0: +chokidar@3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== @@ -2570,17 +2583,30 @@ chokidar@3.5.1, chokidar@^3.0.0: optionalDependencies: fsevents "~2.3.1" +chokidar@^3.0.0: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== ci-info@^2.0.0: version "2.0.0" @@ -2595,6 +2621,11 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -2610,6 +2641,11 @@ classnames@2.2.6: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== +classnames@^2.2.6: + version "2.3.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -2667,16 +2703,16 @@ color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + version "1.4.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== -colors@^1.1.2, colors@^1.4.0: +colors@1.4.0, colors@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -2728,38 +2764,45 @@ constants-browserify@1.0.0, constants-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -convert-source-map@1.7.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== dependencies: safe-buffer "~5.1.1" +convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -core-js-pure@^3.0.0: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" - integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== +core-js-pure@^3.20.2: + version "3.20.3" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.20.3.tgz#6cc4f36da06c61d95254efc54024fe4797fd5d02" + integrity sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA== core-js@^2.6.5: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + corser@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" @@ -2890,7 +2933,7 @@ cssom@~0.3.6: resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== -cssstyle@^2.2.0: +cssstyle@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== @@ -2898,9 +2941,9 @@ cssstyle@^2.2.0: cssom "~0.3.6" csstype@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.3.tgz#2b410bbeba38ba9633353aff34b05d9755d065f8" - integrity sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag== + version "3.0.10" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" + integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== danger@^9.2.10: version "9.4.0" @@ -2979,10 +3022,10 @@ debug@3.1.0: dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== dependencies: ms "2.1.2" @@ -2993,36 +3036,22 @@ debug@4.3.1: dependencies: ms "2.1.2" -debug@^3.1.0, debug@^3.1.1: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^3.2.7: +debug@^3.1.0, debug@^3.1.1, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -debug@^4.3.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -decimal.js@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" - integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== decode-uri-component@^0.2.0: version "0.2.0" @@ -3030,9 +3059,9 @@ decode-uri-component@^0.2.0: integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.0.0, deepmerge@^4.2.2: version "4.2.2" @@ -3108,15 +3137,25 @@ devtools-protocol@0.0.901419: resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.901419.tgz#79b5459c48fe7e1c5563c02bd72f8fec3e0cebcd" integrity sha512-4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ== +diff-match-patch@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.5.tgz#abb584d5f10cd1196dfc55aa03701592ae3f7b37" + integrity sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw== + diff-sequences@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== -diff-sequences@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.3.0.tgz#62a59b1b29ab7fd27cef2a33ae52abe73042d0a2" - integrity sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig== +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +diff-sequences@^27.4.0: + version "27.4.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" + integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== diffie-hellman@^5.0.0: version "5.0.3" @@ -3147,14 +3186,6 @@ docsearch.js@^2.5.2: to-factory "^1.0.0" zepto "^1.2.0" -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -3169,10 +3200,10 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-accessibility-api@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.2.tgz#ef3cdb5d3f0d599d8f9c8b18df2fb63c9793739d" - integrity sha512-k7hRNKAiPJXD2aBqfahSo4/01cTsKWXf+LqJgglnkN2Nz8TsxXKQBXHhKe0Ye9fEfHEZY49uSA5Sr3AqP/sWKA== +dom-accessibility-api@^0.5.6: + version "0.5.10" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.10.tgz#caa6d08f60388d0bb4539dd75fe458a9a1d0014c" + integrity sha512-Xu9mD0UjrJisTmv7lmVSDMagQcU9R5hwAbxsaAE/35XPnPLJobbuREfV/rraiSaEj/UOvgrzQs66zyTWTlyd+g== dom-walk@^0.1.0: version "0.1.2" @@ -3221,10 +3252,10 @@ ecstatic@^3.3.2: minimist "^1.1.0" url-join "^2.0.5" -electron-to-chromium@^1.3.723: - version "1.3.750" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.750.tgz#7e5ef6f478316b0bd656af5942fe502610e97eaf" - integrity sha512-Eqy9eHNepZxJXT+Pc5++zvEi5nQ6AGikwFYDCYwXUFBr+ynJ6pDG7MzZmwGYCIuXShLJM0n4bq+aoKDmvSGJ8A== +electron-to-chromium@^1.3.723, electron-to-chromium@^1.4.17: + version "1.4.51" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.51.tgz#a432f5a5d983ace79278a33057300cf949627e63" + integrity sha512-JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ== elliptic@^6.5.3: version "6.5.4" @@ -3240,14 +3271,9 @@ elliptic@^6.5.3: minimalistic-crypto-utils "^1.0.1" emittery@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.1.tgz#c02375a927a40948c0345cc903072597f5270451" - integrity sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ== - -"emoji-regex@>=6.0.0 <=6.1.1": - version "6.1.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e" - integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4= + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== emoji-regex@^8.0.0: version "8.0.0" @@ -3283,21 +3309,14 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enhanced-resolve@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c" - integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw== +enhanced-resolve@^5.8.3: + version "5.8.3" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" + integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - envify@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/envify/-/envify-4.1.0.tgz#f39ad3db9d6801b4e6b478b61028d3f0b6819f7e" @@ -3306,61 +3325,43 @@ envify@^4.0.0: esprima "^4.0.0" through "~2.3.4" -error-ex@^1.2.0, error-ex@^1.3.1: +error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0-next.1, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: - version "1.18.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" - integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== +es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" has "^1.0.3" has-symbols "^1.0.2" - is-callable "^1.2.3" - is-negative-zero "^2.0.1" - is-regex "^1.1.2" - is-string "^1.0.5" - object-inspect "^1.9.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.0" - -es-abstract@^1.18.2: - version "1.18.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" - integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.2" - is-callable "^1.2.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" is-negative-zero "^2.0.1" - is-regex "^1.1.3" - is-string "^1.0.6" - object-inspect "^1.10.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" object-keys "^1.1.1" object.assign "^4.1.2" string.prototype.trimend "^1.0.4" string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" -es-module-lexer@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.1.tgz#dda8c6a14d8f340a24e34331e0fab0cb50438e0e" - integrity sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA== +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== es-to-primitive@^1.2.1: version "1.2.1" @@ -3388,23 +3389,131 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" +esbuild-android-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.13.tgz#a5c8cb275dc6dcaf2390abb639791ffc4aa6ead1" + integrity sha512-rhtwl+KJ3BzzXkK09N3/YbEF1i5WhriysJEStoeWNBzchx9hlmzyWmDGQQhu56HF78ua3JrVPyLOsdLGvtMvxQ== + +esbuild-darwin-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.13.tgz#51ad2fbf8c9d73c1d40e5f9ab6122ffa95f5b494" + integrity sha512-Fl47xIt5RMu50WIgMU93kwmUUJb+BPuL8R895n/aBNQqavS+KUMpLPoqKGABBV4myfx/fnAD/97X8Gt1C1YW6w== + +esbuild-darwin-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.13.tgz#7ff177193cffbba518a59dfa4666a2fbb3345330" + integrity sha512-UttqKRFXsWvuivcyAbFmo54vdkC9Me1ZYQNuoz/uBYDbkb2MgqKYG2+xoVKPBhLvhT0CKM5QGKD81flMH5BE6A== + +esbuild-freebsd-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.13.tgz#648357ff0ca399ce65f7e7ebfff701cf105c70f3" + integrity sha512-dlIhPFSp29Yq2TPh7Cm3/4M0uKjlfvOylHVNCRvRNiOvDbBol6/NZ3kLisczms+Yra0rxVapBPN1oMbSMuts9g== + +esbuild-freebsd-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.13.tgz#7cb0016dd64fd116624c56dcfe58b27fac8ceaee" + integrity sha512-bNOHLu7Oq6RwaAMnwPbJ40DVGPl9GlAOnfH/dFZ792f8hFEbopkbtVzo1SU1jjfY3TGLWOgqHNWxPxx1N7Au+g== + +esbuild-linux-32@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.13.tgz#50b197f6831e824660ab80d011b656505a0aae32" + integrity sha512-WzXyBx6zx16adGi7wPBvH2lRCBzYMcqnBRrJ8ciLIqYyruGvprZocX1nFWfiexjLcFxIElWnMNPX6LG7ULqyXA== + +esbuild-linux-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.13.tgz#d2ee4d780e3cadd129ab8988c7c75ca4bd636f3a" + integrity sha512-P6OFAfcoUvE7g9h/0UKm3qagvTovwqpCF1wbFLWe/BcCY8BS1bR/+SxUjCeKX2BcpIsg4/43ezHDE/ntg/iOpw== + +esbuild-linux-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.13.tgz#9151963c55cd42968c97f2fd354cd6ff9b3cb476" + integrity sha512-k/uIvmkm4mc7vyMvJVwILgGxi2F+FuvLdmESIIWoHrnxEfEekC5AWpI/R6GQ2OMfp8snebSQLs8KL05QPnt1zA== + +esbuild-linux-arm@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.13.tgz#80e94cd8920607dc0addb97bac7ff5988d0fc28f" + integrity sha512-4jmm0UySCg3Wi6FEBS7jpiPb1IyckI5um5kzYRwulHxPzkiokd6cgpcsTakR4/Y84UEicS8LnFAghHhXHZhbFg== + +esbuild-linux-mips64le@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.13.tgz#8e7eeef567b0895f2ecc4d66b1f1e5a542f1ce5b" + integrity sha512-vwYtgjQ1TRlUGL88km9wH9TjXsdZyZ/Xht1ASptg5XGRlqGquVjLGH11PfLLunoMdkQ0YTXR68b4l5gRfjVbyg== + +esbuild-linux-ppc64le@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.13.tgz#ffbe9915a1d8080f9810a9c5938f453003c6de98" + integrity sha512-0KqDSIkZaYugtcdpFCd3eQ38Fg6TzhxmOpkhDIKNTwD/W2RoXeiS+Z4y5yQ3oysb/ySDOxWkwNqTdXS4sz2LdQ== + +esbuild-linux-s390x@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.13.tgz#e27274d12f198580892432115fc0de432431d33d" + integrity sha512-bG20i7d0CN97fwPN9LaLe64E2IrI0fPZWEcoiff9hzzsvo/fQCx0YjMbPC2T3gqQ48QZRltdU9hQilTjHk3geQ== + esbuild-loader@^2.13.1: - version "2.13.1" - resolved "https://registry.yarnpkg.com/esbuild-loader/-/esbuild-loader-2.13.1.tgz#9c89e654390a9a25d99b2f6d803ade30f4335418" - integrity sha512-Tzc5nB5tVUmigXz6m4j1OYozJCjdix7E9vtd5RaE54fqz2Rz34Is9S8FbAf8uqR4xvQUBAXIi6Jkn1OeMxw2aQ== + version "2.18.0" + resolved "https://registry.yarnpkg.com/esbuild-loader/-/esbuild-loader-2.18.0.tgz#7b9548578ab954574fd94655693d22aa5ec74120" + integrity sha512-AKqxM3bI+gvGPV8o6NAhR+cBxVO8+dh+O0OXBHIXXwuSGumckbPWHzZ17subjBGI2YEGyJ1STH7Haj8aCrwL/w== dependencies: - esbuild "^0.11.19" + esbuild "^0.14.6" joycon "^3.0.1" json5 "^2.2.0" loader-utils "^2.0.0" tapable "^2.2.0" - type-fest "^1.0.1" webpack-sources "^2.2.0" -esbuild@^0.11.19: - version "0.11.23" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.11.23.tgz#c42534f632e165120671d64db67883634333b4b8" - integrity sha512-iaiZZ9vUF5wJV8ob1tl+5aJTrwDczlvGP0JoMmnpC2B0ppiMCu8n8gmy5ZTGl5bcG081XBVn+U+jP+mPFm5T5Q== +esbuild-netbsd-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.13.tgz#78199fa57d5794e6ac6c33993dd0588fba22b353" + integrity sha512-jz96PQb0ltqyqLggPpcRbWxzLvWHvrZBHZQyjcOzKRDqg1fR/R1y10b1Cuv84xoIbdAf+ceNUJkMN21FfR9G2g== + +esbuild-openbsd-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.13.tgz#5394336b602e1db15583bbef7d827a2b9648e373" + integrity sha512-bp6zSo3kDCXKPM5MmVUg6DEpt+yXDx37iDGzNTn3Kf9xh6d0cdITxUC4Bx6S3Di79GVYubWs+wNjSRVFIJpryw== + +esbuild-sunos-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.13.tgz#4afcddcece51f943149fa07274bd58f64e0913a8" + integrity sha512-08Fne1T9QHYxUnu55sV9V4i/yECADOaI1zMGET2YUa8SRkib10i80hc89U7U/G02DxpN/KUJMWEGq2wKTn0QFQ== + +esbuild-windows-32@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.13.tgz#cb06267f270bbf7ea6631cc78b8f6e3647975c44" + integrity sha512-MW3BMIi9+fzTyDdljH0ftfT/qlD3t+aVzle1O+zZ2MgHRMQD20JwWgyqoJXhe6uDVyunrAUbcjH3qTIEZN3isg== + +esbuild-windows-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.13.tgz#3bbfba58e0185121280bd47ccd073b6c1849fd27" + integrity sha512-d7+0N+EOgBKdi/nMxlQ8QA5xHBlpcLtSrYnHsA+Xp4yZk28dYfRw1+embsHf5uN5/1iPvrJwPrcpgDH1xyy4JA== + +esbuild-windows-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.13.tgz#9203d40d915d809c50bc91af5a8373e5f5abfc4c" + integrity sha512-oX5hmgXk9yNKbb5AxThzRQm/E9kiHyDll7JJeyeT1fuGENTifv33f0INCpjBQ+Ty5ChKc84++ZQTEBwLCA12Kw== + +esbuild@^0.14.6: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.13.tgz#ce3fc7c45a6b8a40caad43daa39cdb9c1e84930a" + integrity sha512-FIxvAdj3i2oHA6ex+E67bG7zlSTO+slt8kU2ogHDgGtrQLy2HNChv3PYjiFTYkt8hZbEAniZCXVeHn+FrHt7dA== + optionalDependencies: + esbuild-android-arm64 "0.14.13" + esbuild-darwin-64 "0.14.13" + esbuild-darwin-arm64 "0.14.13" + esbuild-freebsd-64 "0.14.13" + esbuild-freebsd-arm64 "0.14.13" + esbuild-linux-32 "0.14.13" + esbuild-linux-64 "0.14.13" + esbuild-linux-arm "0.14.13" + esbuild-linux-arm64 "0.14.13" + esbuild-linux-mips64le "0.14.13" + esbuild-linux-ppc64le "0.14.13" + esbuild-linux-s390x "0.14.13" + esbuild-netbsd-64 "0.14.13" + esbuild-openbsd-64 "0.14.13" + esbuild-sunos-64 "0.14.13" + esbuild-windows-32 "0.14.13" + esbuild-windows-64 "0.14.13" + esbuild-windows-arm64 "0.14.13" escalade@^3.1.1: version "3.1.1" @@ -3426,13 +3535,13 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escodegen@^1.14.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== dependencies: esprima "^4.0.1" - estraverse "^4.2.0" + estraverse "^5.2.0" esutils "^2.0.2" optionator "^0.8.1" optionalDependencies: @@ -3451,153 +3560,127 @@ eslint-config-next@^10.2.3: eslint-plugin-react "^7.23.1" eslint-plugin-react-hooks "^4.2.0" -eslint-config-prettier@^6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1" - integrity sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA== - dependencies: - get-stdin "^6.0.0" - -eslint-config-universe@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/eslint-config-universe/-/eslint-config-universe-7.0.1.tgz#fe40abe2198463f95d5be9f08b0f9cb272faf9dd" - integrity sha512-CcV//PY05lD7yWnqzdMnWDNtFD5FBe+vAF08+IWIhEax/DtpXkIYdQwxJwHlFtbEP7Ehy5C175+AJPXn0he8gQ== - dependencies: - "@babel/eslint-parser" "^7.11.5" - "@babel/eslint-plugin" "^7.11.5" - "@typescript-eslint/eslint-plugin" "^4.12.0" - "@typescript-eslint/parser" "^4.12.0" - eslint-config-prettier "^6.11.0" - eslint-plugin-import "^2.22.0" - eslint-plugin-prettier "^3.1.4" - eslint-plugin-react "^7.20.6" - eslint-plugin-react-hooks "^4.1.0" - -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== +eslint-config-prettier@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" + integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== + +eslint-config-universe@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-universe/-/eslint-config-universe-10.0.0.tgz#9edb07a2aac06afd42607516ef7f7f061fb80e89" + integrity sha512-/knhi7tk+abxbjlWLn+7HrCiiSYD7kMwJV9vY3G+hsKbtExcGErwFd0zX4VdyqUhsZjCHCLryQg9HB5nb65FIA== + dependencies: + "@babel/eslint-parser" "^7.16.5" + "@babel/eslint-plugin" "^7.16.5" + "@typescript-eslint/eslint-plugin" "^5.9.0" + "@typescript-eslint/parser" "^5.9.0" + eslint-config-prettier "^8.3.0" + eslint-plugin-import "^2.25.4" + eslint-plugin-node "^11.1.0" + eslint-plugin-prettier "^4.0.0" + eslint-plugin-react "^7.28.0" + eslint-plugin-react-hooks "^4.3.0" + +eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" + debug "^3.2.7" + resolve "^1.20.0" -eslint-module-utils@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" - integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== +eslint-module-utils@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz#1d0aa455dcf41052339b63cada8ab5fd57577129" + integrity sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg== dependencies: debug "^3.2.7" - pkg-dir "^2.0.0" + find-up "^2.1.0" -eslint-plugin-import@^2.22.0: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" + eslint-utils "^2.0.0" + regexpp "^3.0.0" -eslint-plugin-import@^2.22.1: - version "2.23.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz#8dceb1ed6b73e46e50ec9a5bb2411b645e7d3d97" - integrity sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ== +eslint-plugin-import@^2.22.1, eslint-plugin-import@^2.25.4: + version "2.25.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" + integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" debug "^2.6.9" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.1" - find-up "^2.0.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.2" has "^1.0.3" - is-core-module "^2.4.0" + is-core-module "^2.8.0" + is-glob "^4.0.3" minimatch "^3.0.4" - object.values "^1.1.3" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" + object.values "^1.1.5" resolve "^1.20.0" - tsconfig-paths "^3.9.0" + tsconfig-paths "^3.12.0" -eslint-plugin-lodash@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-lodash/-/eslint-plugin-lodash-7.2.0.tgz#160b0996bda6dd0592e83eab86d099e1982d6fa8" - integrity sha512-7Wf7SOCK90OFgPd8LleVQa8uCWBZDLjPKxaFdwM/aINDyXhley0nRKSKL6TESGFCCMduYPox5VLttvqV2Vfbig== +eslint-plugin-lodash@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-lodash/-/eslint-plugin-lodash-7.3.0.tgz#02bbb2c39a8b28f73daf01f99b2d83bcc7f11a79" + integrity sha512-FQM8HklruJzulPawX3uZqWbeyN3bQT4hjVCpFYMrWo0Hdz1qDCwp1v3JS4zjhdssAXdwCxdnyrNMCZJK70GeUQ== dependencies: - lodash ">=4" + lodash "^4.17.21" -eslint-plugin-prettier@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz#168ab43154e2ea57db992a2cd097c828171f75c2" - integrity sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg== +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-react-hooks@^4.1.0, eslint-plugin-react-hooks@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" - integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" -eslint-plugin-react@^7.20.6: - version "7.23.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.1.tgz#f1a2e844c0d1967c822388204a8bc4dee8415b11" - integrity sha512-MvFGhZjI8Z4HusajmSw0ougGrq3Gs4vT/0WgwksZgf5RrLrRa2oYAw56okU4tZJl8+j7IYNuTM+2RnFEuTSdRQ== +eslint-plugin-prettier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" - doctrine "^2.1.0" - has "^1.0.3" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" - object.entries "^1.1.3" - object.fromentries "^2.0.4" - object.values "^1.1.3" - prop-types "^15.7.2" - resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.4" + prettier-linter-helpers "^1.0.0" -eslint-plugin-react@^7.23.1: - version "7.24.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz#eadedfa351a6f36b490aa17f4fa9b14e842b9eb4" - integrity sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q== +eslint-plugin-react-hooks@^4.2.0, eslint-plugin-react-hooks@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" + integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== + +eslint-plugin-react@^7.23.1, eslint-plugin-react@^7.28.0: + version "7.28.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz#8f3ff450677571a659ce76efc6d80b6a525adbdf" + integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw== dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" doctrine "^2.1.0" - has "^1.0.3" + estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.0.4" - object.entries "^1.1.4" - object.fromentries "^2.0.4" - object.values "^1.1.4" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" prop-types "^15.7.2" resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.5" + semver "^6.3.0" + string.prototype.matchall "^4.0.6" eslint-rule-composer@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== -eslint-scope@^5.0.0, eslint-scope@^5.1.0, eslint-scope@^5.1.1: +eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -3605,77 +3688,92 @@ eslint-scope@^5.0.0, eslint-scope@^5.1.0, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-utils@^2.0.0, eslint-utils@^2.1.0: +eslint-scope@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.0.tgz#c1f6ea30ac583031f203d65c73e723b01298f153" + integrity sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== -eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== +eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1" + integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ== -eslint@^7.31.0: - version "7.31.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.31.0.tgz#f972b539424bf2604907a970860732c5d99d3aca" - integrity sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA== +eslint@^8.6.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.7.0.tgz#22e036842ee5b7cf87b03fe237731675b4d3633c" + integrity sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w== dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" + "@eslint/eslintrc" "^1.0.5" + "@humanwhocodes/config-array" "^0.9.2" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.0.1" + debug "^4.3.2" doctrine "^3.0.0" - enquirer "^2.3.5" escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" + eslint-scope "^7.1.0" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.2.0" + espree "^9.3.0" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" + glob-parent "^6.0.1" globals "^13.6.0" - ignore "^4.0.6" + ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" + regexpp "^3.2.0" + strip-ansi "^6.0.1" strip-json-comments "^3.1.0" - table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== +espree@^9.2.0, espree@^9.3.0: + version "9.3.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.0.tgz#c1240d79183b72aaee6ccfa5a90bc9111df085a8" + integrity sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ== dependencies: - acorn "^7.4.0" + acorn "^8.7.0" acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" + eslint-visitor-keys "^3.1.0" esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" @@ -3696,15 +3794,15 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" @@ -3745,9 +3843,9 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: safe-buffer "^5.1.1" exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== execa@^1.0.0: version "1.0.0" @@ -3763,9 +3861,9 @@ execa@^1.0.0: strip-eof "^1.0.0" execa@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" - integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== dependencies: cross-spawn "^7.0.0" get-stream "^5.0.0" @@ -3802,16 +3900,16 @@ expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.4.2.tgz#36db120928a5a2d7d9736643032de32f24e1b2a1" - integrity sha512-IlJ3X52Z0lDHm7gjEp+m76uX46ldH5VpqmU0006vqDju/285twh7zaWMRhs67VpQhBwjjMchk+p5aA0VkERCAA== +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" ansi-styles "^4.0.0" jest-get-type "^26.3.0" - jest-matcher-utils "^26.4.2" - jest-message-util "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" jest-regex-util "^26.0.0" extend-shallow@^2.0.1: @@ -3865,9 +3963,9 @@ extsprintf@1.3.0: integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" @@ -3879,17 +3977,16 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.1.1: - version "3.2.5" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" - integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== +fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -3902,9 +3999,9 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fastq@^1.6.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" - integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== dependencies: reusify "^1.0.4" @@ -3965,6 +4062,11 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs= + find-babel-config@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.2.0.tgz#a9b7b317eb5b9860cda9d54740a8c8337a2283a2" @@ -3987,7 +4089,7 @@ find-root@^1.1.0: resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@^2.0.0, find-up@^2.1.0: +find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= @@ -4018,14 +4120,14 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" - integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + version "3.2.4" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" + integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.14.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" - integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== + version "1.14.7" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" + integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== for-in@^1.0.2: version "1.0.2" @@ -4051,6 +4153,15 @@ form-data@^2.5.0: combined-stream "^1.0.6" mime-types "^2.1.12" +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -4103,7 +4214,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^2.1.2, fsevents@~2.3.1: +fsevents@^2.1.2, fsevents@~2.3.1, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -4168,6 +4279,14 @@ get-stream@^5.0.0, get-stream@^5.1.0: dependencies: pump "^3.0.0" +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -4190,11 +4309,9 @@ git-config-path@^1.0.1: homedir-polyfill "^1.0.0" github-slugger@^1.0.0, github-slugger@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.3.0.tgz#9bd0a95c5efdfc46005e82a906ef8e2a059124c9" - integrity sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q== - dependencies: - emoji-regex ">=6.0.0 <=6.1.1" + version "1.4.0" + resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.4.0.tgz#206eb96cdb22ee56fdc53a28d5a302338463444e" + integrity sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ== gitlab@^10.0.1: version "10.2.1" @@ -4209,22 +4326,29 @@ gitlab@^10.0.1: query-string "^6.8.2" universal-url "^2.0.0" -glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.0: +glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -4246,48 +4370,29 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.6.0: - version "13.7.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.7.0.tgz#aed3bcefd80ad3ec0f0be2cf0c895110c0591795" - integrity sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA== +globals@^13.6.0, globals@^13.9.0: + version "13.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" + integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== dependencies: type-fest "^0.20.2" -globals@^13.9.0: - version "13.9.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb" - integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== - dependencies: - type-fest "^0.20.2" - -globby@^11.0.1: - version "11.0.3" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" - integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^11.0.3: - version "11.0.4" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== +globby@^11.0.3, globby@^11.0.4: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" slash "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== growly@^1.3.0: version "1.3.0" @@ -4332,6 +4437,13 @@ has-symbols@^1.0.1, has-symbols@^1.0.2: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -4388,9 +4500,9 @@ hash.js@^1.0.0, hash.js@^1.0.3: minimalistic-assert "^1.0.1" hast-to-hyperscript@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.0.tgz#768fb557765fe28749169c885056417342d71e83" - integrity sha512-NJvMYU3GlMLs7hN3CRbsNlMzusVNkYBogVWDGybsuuVQ336gFLiD+q9qtFZT2meSHzln3pNISZWTASWothMSMg== + version "9.0.1" + resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz#9b67fd188e4c81e8ad66f803855334173920218d" + integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== dependencies: "@types/unist" "^2.0.3" comma-separated-tokens "^1.0.0" @@ -4401,21 +4513,21 @@ hast-to-hyperscript@^9.0.0: web-namespaces "^1.0.0" hast-util-from-parse5@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.0.tgz#b38793c81e1a99f5fd592a4a88fc2731dccd0f30" - integrity sha512-3ZYnfKenbbkhhNdmOQqgH10vnvPivTdsOJCri+APn0Kty+nRkDHArnaX9Hiaf8H+Ig+vkNptL+SRY/6RwWJk1Q== + version "6.0.1" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" + integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== dependencies: "@types/parse5" "^5.0.0" - ccount "^1.0.0" - hastscript "^5.0.0" + hastscript "^6.0.0" property-information "^5.0.0" vfile "^4.0.0" + vfile-location "^3.2.0" web-namespaces "^1.0.0" hast-util-parse-selector@^2.0.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.4.tgz#60c99d0b519e12ab4ed32e58f150ec3f61ed1974" - integrity sha512-gW3sxfynIvZApL4L07wryYF4+C9VvH3AUi7LAnVXV4MneGEgwOByXvFo18BgmTWnm7oHAe874jKbIB1YhHSIzA== + version "2.2.5" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" + integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== hast-util-raw@6.0.1: version "6.0.1" @@ -4444,11 +4556,12 @@ hast-util-to-parse5@^6.0.0: xtend "^4.0.0" zwitch "^1.0.0" -hastscript@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.2.tgz#bde2c2e56d04c62dd24e8c5df288d050a355fb8a" - integrity sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ== +hastscript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" + integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== dependencies: + "@types/hast" "^2.0.0" comma-separated-tokens "^1.0.0" hast-util-parse-selector "^2.0.0" property-information "^5.0.0" @@ -4501,9 +4614,9 @@ hosted-git-info@^2.1.4: integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hosted-git-info@^3.0.0: - version "3.0.7" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz#a30727385ea85acfcee94e0aad9e368c792e036c" - integrity sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ== + version "3.0.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" + integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== dependencies: lru-cache "^6.0.0" @@ -4548,6 +4661,15 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-proxy@^1.18.0: version "1.18.1" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" @@ -4587,7 +4709,7 @@ https-browserify@1.0.0, https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -https-proxy-agent@5.0.0: +https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== @@ -4626,26 +4748,26 @@ iconv-lite@0.4.24: safer-buffer ">= 2.1.2 < 3" iconv-lite@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" - integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== +ieee754@^1.1.13, ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.0.0, ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== +ignore@^5.0.0, ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== immediate@^3.2.3: version "3.3.0" @@ -4653,17 +4775,17 @@ immediate@^3.2.3: integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -4720,11 +4842,6 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -4753,11 +4870,12 @@ is-alphanumerical@^1.0.0: is-decimal "^1.0.0" is-arguments@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" - integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-arrayish@^0.2.1: version "0.2.1" @@ -4765,9 +4883,11 @@ is-arrayish@^0.2.1: integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-bigint@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" - integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" @@ -4777,11 +4897,12 @@ is-binary-path@~2.1.0: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" - integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-buffer@^1.1.5: version "1.1.6" @@ -4789,14 +4910,14 @@ is-buffer@^1.1.5: integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-buffer@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-callable@^1.1.4, is-callable@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" - integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== is-ci@^2.0.0: version "2.0.0" @@ -4805,17 +4926,10 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== - dependencies: - has "^1.0.3" - -is-core-module@^2.4.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491" - integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== +is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-module@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== dependencies: has "^1.0.3" @@ -4834,9 +4948,11 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" is-decimal@^1.0.0: version "1.0.4" @@ -4899,14 +5015,16 @@ is-generator-fn@^2.0.0: integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== is-generator-function@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b" - integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ== + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" @@ -4924,14 +5042,16 @@ is-nan@^1.2.1: define-properties "^1.1.3" is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-number-object@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" - integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" is-number@^3.0.0: version "3.0.0" @@ -4962,26 +5082,23 @@ is-plain-object@^5.0.0: resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-potential-custom-element-name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" - integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" - has-symbols "^1.0.1" + has-tostringtag "^1.0.0" -is-regex@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" - integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== - dependencies: - call-bind "^1.0.2" - has-symbols "^1.0.2" +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== is-stream@^1.1.0: version "1.1.0" @@ -4989,43 +5106,47 @@ is-stream@^1.1.0: integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-string@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" - integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: - has-symbols "^1.0.1" + has-symbols "^1.0.2" -is-typed-array@^1.1.3: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.5.tgz#f32e6e096455e329eb7b423862456aa213f0eb4e" - integrity sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug== +is-typed-array@^1.1.3, is-typed-array@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" + integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== dependencies: - available-typed-arrays "^1.0.2" + available-typed-arrays "^1.0.5" call-bind "^1.0.2" - es-abstract "^1.18.0-next.2" + es-abstract "^1.18.5" foreach "^2.0.5" - has-symbols "^1.0.1" + has-tostringtag "^1.0.0" is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-weakref@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + is-whitespace-character@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" @@ -5080,12 +5201,12 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: +istanbul-lib-instrument@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== @@ -5095,6 +5216,17 @@ istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: istanbul-lib-coverage "^3.0.0" semver "^6.3.0" +istanbul-lib-instrument@^5.0.4: + version "5.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" + integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" @@ -5105,75 +5237,75 @@ istanbul-lib-report@^3.0.0: supports-color "^7.1.0" istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== dependencies: debug "^4.1.1" istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + version "3.1.3" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.3.tgz#4bcae3103b94518117930d51283690960b50d3c2" + integrity sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.3.0.tgz#68fb2a7eb125f50839dab1f5a17db3607fe195b1" - integrity sha512-1C4R4nijgPltX6fugKxM4oQ18zimS7LqQ+zTTY8lMCMFPrxqBFb7KJH0Z2fRQJvw2Slbaipsqq7s1mgX5Iot+g== +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" execa "^4.0.0" throat "^5.0.0" jest-cli@^26.1.0: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.4.2.tgz#24afc6e4dfc25cde4c7ec4226fb7db5f157c21da" - integrity sha512-zb+lGd/SfrPvoRSC/0LWdaWCnscXc1mGYW//NP4/tmBvRPT3VntZ2jtKUONsRi59zc5JqmsSajA9ewJKFYp8Cw== + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== dependencies: - "@jest/core" "^26.4.2" - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" import-local "^3.0.2" is-ci "^2.0.0" - jest-config "^26.4.2" - jest-util "^26.3.0" - jest-validate "^26.4.2" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" prompts "^2.0.1" - yargs "^15.3.1" + yargs "^15.4.1" -jest-config@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.4.2.tgz#da0cbb7dc2c131ffe831f0f7f2a36256e6086558" - integrity sha512-QBf7YGLuToiM8PmTnJEdRxyYy3mHWLh24LJZKVdXZ2PNdizSe1B/E8bVm+HYcjbEzGuVXDv/di+EzdO/6Gq80A== +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.4.2" - "@jest/types" "^26.3.0" - babel-jest "^26.3.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" chalk "^4.0.0" deepmerge "^4.2.2" glob "^7.1.1" graceful-fs "^4.2.4" - jest-environment-jsdom "^26.3.0" - jest-environment-node "^26.3.0" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" jest-get-type "^26.3.0" - jest-jasmine2 "^26.4.2" + jest-jasmine2 "^26.6.3" jest-regex-util "^26.0.0" - jest-resolve "^26.4.0" - jest-util "^26.3.0" - jest-validate "^26.4.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" micromatch "^4.0.2" - pretty-format "^26.4.2" + pretty-format "^26.6.2" -jest-diff@^25.1.0, jest-diff@^25.2.1, jest-diff@^25.5.0: +jest-diff@^25.1.0, jest-diff@^25.5.0: version "25.5.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== @@ -5183,15 +5315,25 @@ jest-diff@^25.1.0, jest-diff@^25.2.1, jest-diff@^25.5.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-diff@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.4.2.tgz#a1b7b303bcc534aabdb3bd4a7caf594ac059f5aa" - integrity sha512-6T1XQY8U28WH0Z5rGpQ+VqZSZz8EN8rZcBtfvXaOkbwxIEeRre6qnuZQlbY1AJ4MKDxQF8EkrCvK+hL/VkyYLQ== +jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== dependencies: chalk "^4.0.0" - diff-sequences "^26.3.0" + diff-sequences "^26.6.2" jest-get-type "^26.3.0" - pretty-format "^26.4.2" + pretty-format "^26.6.2" + +jest-diff@^27.0.0: + version "27.4.6" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.4.6.tgz#93815774d2012a2cbb6cf23f84d48c7a2618f98d" + integrity sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.4.0" + jest-get-type "^27.4.0" + pretty-format "^27.4.6" jest-docblock@^26.0.0: version "26.0.0" @@ -5200,41 +5342,41 @@ jest-docblock@^26.0.0: dependencies: detect-newline "^3.0.0" -jest-each@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.4.2.tgz#bb14f7f4304f2bb2e2b81f783f989449b8b6ffae" - integrity sha512-p15rt8r8cUcRY0Mvo1fpkOGYm7iI8S6ySxgIdfh3oOIv+gHwrHTy5VWCGOecWUhDsit4Nz8avJWdT07WLpbwDA== +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" chalk "^4.0.0" jest-get-type "^26.3.0" - jest-util "^26.3.0" - pretty-format "^26.4.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" -jest-environment-jsdom@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.3.0.tgz#3b749ba0f3a78e92ba2c9ce519e16e5dd515220c" - integrity sha512-zra8He2btIMJkAzvLaiZ9QwEPGEetbxqmjEBQwhH3CA+Hhhu0jSiEJxnJMbX28TGUvPLxBt/zyaTLrOPF4yMJA== +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== dependencies: - "@jest/environment" "^26.3.0" - "@jest/fake-timers" "^26.3.0" - "@jest/types" "^26.3.0" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" - jest-mock "^26.3.0" - jest-util "^26.3.0" - jsdom "^16.2.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" -jest-environment-node@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.3.0.tgz#56c6cfb506d1597f94ee8d717072bda7228df849" - integrity sha512-c9BvYoo+FGcMj5FunbBgtBnbR5qk3uky8PKyRVpSfe2/8+LrNQMiXX53z6q2kY+j15SkjQCOSL/6LHnCPLVHNw== +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== dependencies: - "@jest/environment" "^26.3.0" - "@jest/fake-timers" "^26.3.0" - "@jest/types" "^26.3.0" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" - jest-mock "^26.3.0" - jest-util "^26.3.0" + jest-mock "^26.6.2" + jest-util "^26.6.2" jest-get-type@^25.2.6: version "25.2.6" @@ -5246,58 +5388,63 @@ jest-get-type@^26.3.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== -jest-haste-map@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.3.0.tgz#c51a3b40100d53ab777bfdad382d2e7a00e5c726" - integrity sha512-DHWBpTJgJhLLGwE5Z1ZaqLTYqeODQIZpby0zMBsCU9iRFHYyhklYqP4EiG73j5dkbaAdSZhgB938mL51Q5LeZA== +jest-get-type@^27.4.0: + version "27.4.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" + integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" "@types/graceful-fs" "^4.1.2" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.4" jest-regex-util "^26.0.0" - jest-serializer "^26.3.0" - jest-util "^26.3.0" - jest-worker "^26.3.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" micromatch "^4.0.2" sane "^4.0.3" walker "^1.0.7" optionalDependencies: fsevents "^2.1.2" -jest-jasmine2@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.4.2.tgz#18a9d5bec30904267ac5e9797570932aec1e2257" - integrity sha512-z7H4EpCldHN1J8fNgsja58QftxBSL+JcwZmaXIvV9WKIM+x49F4GLHu/+BQh2kzRKHAgaN/E82od+8rTOBPyPA== +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.3.0" - "@jest/source-map" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^26.4.2" + expect "^26.6.2" is-generator-fn "^2.0.0" - jest-each "^26.4.2" - jest-matcher-utils "^26.4.2" - jest-message-util "^26.3.0" - jest-runtime "^26.4.2" - jest-snapshot "^26.4.2" - jest-util "^26.3.0" - pretty-format "^26.4.2" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" throat "^5.0.0" -jest-leak-detector@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.4.2.tgz#c73e2fa8757bf905f6f66fb9e0070b70fa0f573f" - integrity sha512-akzGcxwxtE+9ZJZRW+M2o+nTNnmQZxrHJxX/HjgDaU5+PLmY1qnQPnMjgADPGCRPhB+Yawe1iij0REe+k/aHoA== +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== dependencies: jest-get-type "^26.3.0" - pretty-format "^26.4.2" + pretty-format "^26.6.2" jest-matcher-utils@^25.1.0: version "25.5.0" @@ -5309,36 +5456,37 @@ jest-matcher-utils@^25.1.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-matcher-utils@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.4.2.tgz#fa81f3693f7cb67e5fc1537317525ef3b85f4b06" - integrity sha512-KcbNqWfWUG24R7tu9WcAOKKdiXiXCbMvQYT6iodZ9k1f7065k0keUOW6XpJMMvah+hTfqkhJhRXmA3r3zMAg0Q== +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== dependencies: chalk "^4.0.0" - jest-diff "^26.4.2" + jest-diff "^26.6.2" jest-get-type "^26.3.0" - pretty-format "^26.4.2" + pretty-format "^26.6.2" -jest-message-util@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.3.0.tgz#3bdb538af27bb417f2d4d16557606fd082d5841a" - integrity sha512-xIavRYqr4/otGOiLxLZGj3ieMmjcNE73Ui+LdSW/Y790j5acqCsAdDiLIbzHCZMpN07JOENRWX5DcU+OQ+TjTA== +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== dependencies: "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.3.0" - "@types/stack-utils" "^1.0.1" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.4" micromatch "^4.0.2" + pretty-format "^26.6.2" slash "^3.0.0" stack-utils "^2.0.2" -jest-mock@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.3.0.tgz#ee62207c3c5ebe5f35b760e1267fee19a1cfdeba" - integrity sha512-PeaRrg8Dc6mnS35gOo/CbZovoDPKAeB1FICZiuagAgGvbWdNNyjQjkOaGUa/3N3JtpQ/Mh9P4A2D4Fv51NnP8Q== +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" "@types/node" "*" jest-pnp-resolver@^1.2.2: @@ -5351,151 +5499,153 @@ jest-regex-util@^26.0.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== -jest-resolve-dependencies@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.4.2.tgz#739bdb027c14befb2fe5aabbd03f7bab355f1dc5" - integrity sha512-ADHaOwqEcVc71uTfySzSowA/RdxUpCxhxa2FNLiin9vWLB1uLPad3we+JSSROq5+SrL9iYPdZZF8bdKM7XABTQ== +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" jest-regex-util "^26.0.0" - jest-snapshot "^26.4.2" + jest-snapshot "^26.6.2" -jest-resolve@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.4.0.tgz#6dc0af7fb93e65b73fec0368ca2b76f3eb59a6d7" - integrity sha512-bn/JoZTEXRSlEx3+SfgZcJAVuTMOksYq9xe9O6s4Ekg84aKBObEaVXKOEilULRqviSLAYJldnoWV9c07kwtiCg== +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" chalk "^4.0.0" graceful-fs "^4.2.4" jest-pnp-resolver "^1.2.2" - jest-util "^26.3.0" + jest-util "^26.6.2" read-pkg-up "^7.0.1" - resolve "^1.17.0" + resolve "^1.18.1" slash "^3.0.0" -jest-runner@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.4.2.tgz#c3ec5482c8edd31973bd3935df5a449a45b5b853" - integrity sha512-FgjDHeVknDjw1gRAYaoUoShe1K3XUuFMkIaXbdhEys+1O4bEJS8Avmn4lBwoMfL8O5oFTdWYKcf3tEJyyYyk8g== +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== dependencies: - "@jest/console" "^26.3.0" - "@jest/environment" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" chalk "^4.0.0" emittery "^0.7.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-config "^26.4.2" + jest-config "^26.6.3" jest-docblock "^26.0.0" - jest-haste-map "^26.3.0" - jest-leak-detector "^26.4.2" - jest-message-util "^26.3.0" - jest-resolve "^26.4.0" - jest-runtime "^26.4.2" - jest-util "^26.3.0" - jest-worker "^26.3.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" source-map-support "^0.5.6" throat "^5.0.0" -jest-runtime@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.4.2.tgz#94ce17890353c92e4206580c73a8f0c024c33c42" - integrity sha512-4Pe7Uk5a80FnbHwSOk7ojNCJvz3Ks2CNQWT5Z7MJo4tX0jb3V/LThKvD9tKPNVNyeMH98J/nzGlcwc00R2dSHQ== - dependencies: - "@jest/console" "^26.3.0" - "@jest/environment" "^26.3.0" - "@jest/fake-timers" "^26.3.0" - "@jest/globals" "^26.4.2" - "@jest/source-map" "^26.3.0" - "@jest/test-result" "^26.3.0" - "@jest/transform" "^26.3.0" - "@jest/types" "^26.3.0" +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" "@types/yargs" "^15.0.0" chalk "^4.0.0" + cjs-module-lexer "^0.6.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.4" - jest-config "^26.4.2" - jest-haste-map "^26.3.0" - jest-message-util "^26.3.0" - jest-mock "^26.3.0" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" jest-regex-util "^26.0.0" - jest-resolve "^26.4.0" - jest-snapshot "^26.4.2" - jest-util "^26.3.0" - jest-validate "^26.4.2" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" slash "^3.0.0" strip-bom "^4.0.0" - yargs "^15.3.1" + yargs "^15.4.1" -jest-serializer@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.3.0.tgz#1c9d5e1b74d6e5f7e7f9627080fa205d976c33ef" - integrity sha512-IDRBQBLPlKa4flg77fqg0n/pH87tcRKwe8zxOVTWISxGpPHYkRZ1dXKyh04JOja7gppc60+soKVZ791mruVdow== +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== dependencies: "@types/node" "*" graceful-fs "^4.2.4" -jest-snapshot@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.4.2.tgz#87d3ac2f2bd87ea8003602fbebd8fcb9e94104f6" - integrity sha512-N6Uub8FccKlf5SBFnL2Ri/xofbaA68Cc3MGjP/NuwgnsvWh+9hLIR/DhrxbSiKXMY9vUW5dI6EW1eHaDHqe9sg== +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" "@types/prettier" "^2.0.0" chalk "^4.0.0" - expect "^26.4.2" + expect "^26.6.2" graceful-fs "^4.2.4" - jest-diff "^26.4.2" + jest-diff "^26.6.2" jest-get-type "^26.3.0" - jest-haste-map "^26.3.0" - jest-matcher-utils "^26.4.2" - jest-message-util "^26.3.0" - jest-resolve "^26.4.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" natural-compare "^1.4.0" - pretty-format "^26.4.2" + pretty-format "^26.6.2" semver "^7.3.2" -jest-util@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.3.0.tgz#a8974b191df30e2bf523ebbfdbaeb8efca535b3e" - integrity sha512-4zpn6bwV0+AMFN0IYhH/wnzIQzRaYVrz1A8sYnRnj4UXDXbOVtWmlaZkO9mipFqZ13okIfN87aDoJWB7VH6hcw== +jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" "@types/node" "*" chalk "^4.0.0" graceful-fs "^4.2.4" is-ci "^2.0.0" micromatch "^4.0.2" -jest-validate@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.4.2.tgz#e871b0dfe97747133014dcf6445ee8018398f39c" - integrity sha512-blft+xDX7XXghfhY0mrsBCYhX365n8K5wNDC4XAcNKqqjEzsRUSXP44m6PL0QJEW2crxQFLLztVnJ4j7oPlQrQ== +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" camelcase "^6.0.0" chalk "^4.0.0" jest-get-type "^26.3.0" leven "^3.1.0" - pretty-format "^26.4.2" + pretty-format "^26.6.2" -jest-watcher@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.3.0.tgz#f8ef3068ddb8af160ef868400318dc4a898eed08" - integrity sha512-XnLdKmyCGJ3VoF6G/p5ohbJ04q/vv5aH9ENI+i6BL0uu9WWB6Z7Z2lhQQk0d2AVZcRGp1yW+/TsoToMhBFPRdQ== +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== dependencies: - "@jest/test-result" "^26.3.0" - "@jest/types" "^26.3.0" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^26.3.0" + jest-util "^26.6.2" string-length "^4.0.1" jest-worker@27.0.0-next.5: @@ -5507,7 +5657,7 @@ jest-worker@27.0.0-next.5: merge-stream "^2.0.0" supports-color "^8.0.0" -jest-worker@^26.3.0, jest-worker@^26.6.2: +jest-worker@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -5516,6 +5666,15 @@ jest-worker@^26.3.0, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" +jest-worker@^27.4.1: + version "27.4.6" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.6.tgz#5d2d93db419566cb680752ca0792780e71b3273e" + integrity sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@26.1.0: version "26.1.0" resolved "https://registry.yarnpkg.com/jest/-/jest-26.1.0.tgz#2f3aa7bcffb9bfd025473f83bbbf46a3af026263" @@ -5526,9 +5685,9 @@ jest@26.1.0: jest-cli "^26.1.0" joycon@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.0.1.tgz#9074c9b08ccf37a6726ff74a18485f85efcaddaf" - integrity sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" + integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -5536,9 +5695,9 @@ joycon@^3.0.1: integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.10.0, js-yaml@^3.13.1, js-yaml@^3.6.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -5555,36 +5714,37 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdom@^16.2.2: - version "16.4.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== +jsdom@^16.4.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== dependencies: - abab "^2.0.3" - acorn "^7.1.1" + abab "^2.0.5" + acorn "^8.2.4" acorn-globals "^6.0.0" cssom "^0.4.4" - cssstyle "^2.2.0" + cssstyle "^2.3.0" data-urls "^2.0.0" - decimal.js "^10.2.0" + decimal.js "^10.2.1" domexception "^2.0.1" - escodegen "^1.14.1" + escodegen "^2.0.0" + form-data "^3.0.0" html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" + parse5 "6.0.1" + saxes "^5.0.1" symbol-tree "^3.2.4" - tough-cookie "^3.0.1" + tough-cookie "^4.0.0" w3c-hr-time "^1.0.2" w3c-xmlserializer "^2.0.0" webidl-conversions "^6.1.0" whatwg-encoding "^1.0.5" whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" + whatwg-url "^8.5.0" + ws "^7.4.6" xml-name-validator "^3.0.0" jsesc@^2.5.1: @@ -5597,7 +5757,7 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== @@ -5612,15 +5772,10 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" @@ -5680,21 +5835,21 @@ jsonwebtoken@^8.4.0: semver "^5.6.0" jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== dependencies: assert-plus "1.0.0" extsprintf "1.3.0" - json-schema "0.2.3" + json-schema "0.4.0" verror "1.10.0" "jsx-ast-utils@^2.4.1 || ^3.0.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" - integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== dependencies: - array-includes "^3.1.2" + array-includes "^3.1.3" object.assign "^4.1.2" jwa@^1.4.1: @@ -5797,29 +5952,9 @@ libnpmconfig@^1.0.0: ini "^1.3.5" lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== load-plugin@^3.0.0: version "3.0.0" @@ -5848,7 +5983,7 @@ loader-utils@1.2.3: emojis-list "^2.0.0" json5 "^1.0.1" -loader-utils@2.0.0, loader-utils@^2.0.0: +loader-utils@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== @@ -5857,6 +5992,15 @@ loader-utils@2.0.0, loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" +loader-utils@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" + integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -5880,11 +6024,6 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - lodash.find@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" @@ -5965,17 +6104,12 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - lodash.uniq@4.5.0, lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@>=4, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20: +lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5985,7 +6119,7 @@ longest-streak@^2.0.0: resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== -loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -5999,10 +6133,15 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lz-string@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" + integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= + macos-release@^2.2.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac" - integrity sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg== + version "2.5.0" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.5.0.tgz#067c2c88b5f3fb3c56a375b2ec93826220fa1ff2" + integrity sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g== magic-string@^0.25.3: version "0.25.7" @@ -6018,12 +6157,12 @@ make-dir@^3.0.0, make-dir@^3.0.2: dependencies: semver "^6.0.0" -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== dependencies: - tmpl "1.0.x" + tmpl "1.0.5" map-cache@^0.2.2: version "0.2.2" @@ -6087,14 +6226,15 @@ mdast-util-find-and-replace@^1.1.0: unist-util-visit-parents "^3.0.0" mdast-util-from-markdown@^0.8.0: - version "0.8.1" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.1.tgz#781371d493cac11212947226190270c15dc97116" - integrity sha512-qJXNcFcuCSPqUF0Tb0uYcFDIq67qwB3sxo9RPdf9vG8T90ViKnksFqdB/Coq2a7sTnxL/Ify2y7aIQXDkQFH0w== + version "0.8.5" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" + integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== dependencies: "@types/mdast" "^3.0.0" - mdast-util-to-string "^1.0.0" - micromark "~2.10.0" + mdast-util-to-string "^2.0.0" + micromark "~2.11.0" parse-entities "^2.0.0" + unist-util-stringify-position "^2.0.0" mdast-util-gfm-autolink-literal@^0.1.0: version "0.1.3" @@ -6166,18 +6306,6 @@ mdast-util-to-hast@^10.2.0: unist-util-position "^3.0.0" unist-util-visit "^2.0.0" -mdast-util-to-markdown@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-0.5.3.tgz#e05c54a3ccd239bab63c48a1e5b5747f0dcd5aca" - integrity sha512-sr8q7fQJ1xoCqZSXW6dO/MYu2Md+a4Hfk9uO+XHCfiBhVM0EgWtfAV7BuN+ff6otUeu2xDyt1o7vhZGwOG3+BA== - dependencies: - "@types/unist" "^2.0.0" - longest-streak "^2.0.0" - mdast-util-to-string "^1.0.0" - parse-entities "^2.0.0" - repeat-string "^1.0.0" - zwitch "^1.0.0" - mdast-util-to-markdown@^0.6.0, mdast-util-to-markdown@^0.6.1, mdast-util-to-markdown@~0.6.0: version "0.6.5" resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz#b33f67ca820d69e6cc527a93d4039249b504bebe" @@ -6217,7 +6345,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -6275,14 +6403,6 @@ micromark@^2.11.3, micromark@~2.11.0, micromark@~2.11.3: debug "^4.0.0" parse-entities "^2.0.0" -micromark@~2.10.0: - version "2.10.1" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.10.1.tgz#cd73f54e0656f10e633073db26b663a221a442a7" - integrity sha512-fUuVF8sC1X7wsCS29SYQ2ZfIZYbTymp0EYr6sab3idFjigFFjGa5UwoniPlV9tAgntjuapW1t9U+S0yDYeGKHQ== - dependencies: - debug "^4.0.0" - parse-entities "^2.0.0" - micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" @@ -6302,13 +6422,13 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== dependencies: braces "^3.0.1" - picomatch "^2.0.5" + picomatch "^2.2.3" miller-rabin@^4.0.0: version "4.0.1" @@ -6318,17 +6438,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.46.0: - version "1.46.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" - integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== +mime-db@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19: - version "2.1.29" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" - integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== dependencies: - mime-db "1.46.0" + mime-db "1.51.0" mime@^1.6.0: version "1.6.0" @@ -6399,15 +6519,20 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.2, ms@^2.1.1: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + nanoid@^3.1.22: - version "3.1.23" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" - integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== + version "3.2.0" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" + integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== nanomatch@^1.2.9: version "1.2.13" @@ -6509,11 +6634,18 @@ node-cleanup@^2.1.2: resolved "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz#7ac19abd297e09a7f72a71545d951b517e4dde2c" integrity sha1-esGavSl+Caf3KnFUXZUbUX5N3iw= -node-fetch@2.6.1, node-fetch@^2.3.0, node-fetch@^2.6.0, node-fetch@^2.6.1: +node-fetch@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +node-fetch@^2.3.0, node-fetch@^2.6.0, node-fetch@^2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-html-parser@1.4.9: version "1.4.9" resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-1.4.9.tgz#3c8f6cac46479fae5800725edb532e9ae8fd816c" @@ -6555,11 +6687,6 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - node-notifier@^8.0.0: version "8.0.2" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" @@ -6573,9 +6700,14 @@ node-notifier@^8.0.0: which "^2.0.2" node-releases@^1.1.71: - version "1.1.73" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" - integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== + version "1.1.77" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" + integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== + +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== nopt@1.0.10: version "1.0.10" @@ -6584,7 +6716,7 @@ nopt@1.0.10: dependencies: abbrev "1" -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: +normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -6649,15 +6781,10 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.10.3: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== - -object-inspect@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== object-is@^1.0.1: version "1.1.5" @@ -6689,60 +6816,47 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" - integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== +object.entries@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - has "^1.0.3" + es-abstract "^1.19.1" -object.entries@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" - integrity sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA== +object.fromentries@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.2" + es-abstract "^1.19.1" -object.fromentries@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" - integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== +object.hasown@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== dependencies: - call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" + es-abstract "^1.19.1" object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.1, object.values@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" - integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" + dependencies: + isobject "^3.0.1" -object.values@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" - integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.2" + es-abstract "^1.19.1" octokit-pagination-methods@^1.1.0: version "1.1.0" @@ -6811,16 +6925,16 @@ override-require@^1.1.1: integrity sha1-auIvresfhQ/7DPTCD/e4fl62UN8= p-each-series@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" - integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -p-limit@3.1.0, p-limit@^3.1.0: +p-limit@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -6926,25 +7040,10 @@ parse-github-url@^1.0.2: resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw== -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - parse-json@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" - integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" @@ -6963,12 +7062,7 @@ parse-passwd@^1.0.0: resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -parse5@^6.0.0: +parse5@6.0.1, parse5@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== @@ -7013,34 +7107,20 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: +path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== pbkdf2@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -7058,20 +7138,15 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pinpoint@^1.1.0: version "1.1.0" @@ -7079,11 +7154,9 @@ pinpoint@^1.1.0: integrity sha1-DPd1eml38b9/ajIge3CeN3OI6HQ= pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" + version "4.0.4" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.4.tgz#07df81e61028e402735cdd49db701e4885b4e6e6" + integrity sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw== pkg-dir@4.2.0, pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" @@ -7092,13 +7165,6 @@ pkg-dir@4.2.0, pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" @@ -7159,11 +7225,11 @@ prettier-linter-helpers@^1.0.0: fast-diff "^1.1.2" prettier@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.1.tgz#76903c3f8c4449bc9ac597acefa24dc5ad4cbea6" - integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA== + version "2.5.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" + integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== -pretty-format@^25.2.1, pretty-format@^25.5.0: +pretty-format@^25.5.0: version "25.5.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== @@ -7173,22 +7239,31 @@ pretty-format@^25.2.1, pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" -pretty-format@^26.4.2: - version "26.4.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.4.2.tgz#d081d032b398e801e2012af2df1214ef75a81237" - integrity sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA== +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== dependencies: - "@jest/types" "^26.3.0" + "@jest/types" "^26.6.2" ansi-regex "^5.0.0" ansi-styles "^4.0.0" - react-is "^16.12.0" + react-is "^17.0.1" + +pretty-format@^27.0.0, pretty-format@^27.4.6: + version "27.4.6" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.4.6.tgz#1b784d2f53c68db31797b2348fa39b49e31846b7" + integrity sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" prettyjson@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.1.tgz#fcffab41d19cab4dfae5e575e64246619b12d289" - integrity sha1-/P+rQdGcq0365eV15kJGYZsS0ok= + version "1.2.5" + resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.5.tgz#ef3cfffcc70505c032abc59785884b4027031835" + integrity sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw== dependencies: - colors "^1.1.2" + colors "1.4.0" minimist "^1.2.0" prism-react-renderer@1.0.2: @@ -7211,20 +7286,15 @@ progress@2.0.1: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31" integrity sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg== -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - prompts@^2.0.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" - integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" - sisteransi "^1.0.4" + sisteransi "^1.0.5" -prop-types@15.7.2, prop-types@^15.7.2: +prop-types@15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -7233,10 +7303,19 @@ prop-types@15.7.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" +prop-types@^15.7.2: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + property-information@^5.0.0, property-information@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.5.0.tgz#4dc075d493061a82e2b7d096f406e076ed859943" - integrity sha512-RgEbCx2HLa1chNgvChcx+rrCWD0ctBmGSE0M7lVm1yyv4UbvbrWoXp/BkVLZefzjrRBGW8/Js6uh/BnlHXFyjA== + version "5.6.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" + integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== dependencies: xtend "^4.0.0" @@ -7252,7 +7331,7 @@ proxy-from-env@1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== -psl@^1.1.28: +psl@^1.1.28, psl@^1.1.33: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== @@ -7293,9 +7372,9 @@ punycode@^2.1.0, punycode@^2.1.1: integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== puppeteer@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-10.2.0.tgz#7d8d7fda91e19a7cfd56986e0275448e6351849e" - integrity sha512-OR2CCHRashF+f30+LBOtAjK6sNtz2HEyTr5FqAvhf8lR/qB3uBRoIZOwQKgwoyZnMBsxX7ZdazlyBgGjpnkiMw== + version "10.4.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-10.4.0.tgz#a6465ff97fda0576c4ac29601406f67e6fea3dc7" + integrity sha512-2cP8mBoqnu5gzAVpbZ0fRaobBWZM8GEUF4I1F6WbgHrKV/rz7SX8PG2wMymZgD0wo0UBlg2FBPNxlF/xlqW6+w== dependencies: debug "4.3.1" devtools-protocol "0.0.901419" @@ -7311,21 +7390,24 @@ puppeteer@^10.2.0: ws "7.4.6" qs@^6.4.0: - version "6.9.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" - integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ== + version "6.10.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" + integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== + dependencies: + side-channel "^1.0.4" qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== query-string@^6.8.2: - version "6.13.2" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.2.tgz#3585aa9412c957cbd358fd5eaca7466f05586dda" - integrity sha512-BMmDaUiLDFU1hlM38jTFcRt7HYiGP/zt1sRzrIWm5zpeEuO1rkbPS0ELI3uehoLuuhHDCS8u8lhFN3fEN4JzPQ== + version "6.14.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" + integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== dependencies: decode-uri-component "^0.2.0" + filter-obj "^1.1.0" split-on-first "^1.0.0" strict-uri-encode "^2.0.0" @@ -7334,11 +7416,16 @@ querystring-es3@0.2.1, querystring-es3@^0.2.0, querystring-es3@^0.2.1: resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= -querystring@0.2.0, querystring@^0.2.0: +querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= +querystring@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -7370,9 +7457,14 @@ raw-body@2.4.1: unpipe "1.0.0" react-diff-view@^2.4.7: - version "2.4.7" - resolved "https://registry.yarnpkg.com/react-diff-view/-/react-diff-view-2.4.7.tgz#b0583ed85d61db300872014b08a289b2f363ac7e" - integrity sha512-M8NrVffIOPLqnQGfbv8VVnUVi80GefATRtneMQKo+uuqTx3IORO1mjrPUe3L0rmW/0xJucINjLWuLhSd1JX/tg== + version "2.4.10" + resolved "https://registry.yarnpkg.com/react-diff-view/-/react-diff-view-2.4.10.tgz#7d38ebd43683f0e506d0d38472c0607e24f30a58" + integrity sha512-H9cyh+a002RyP4BMkSaL4OOBDNhkVpaCA+8oHeb6kS3X9Sj8cZymRHf/CyVkTmm+je/qWMa8Po0VBwSnktQ79w== + dependencies: + classnames "^2.2.6" + diff-match-patch "^1.0.5" + shallow-equal "^1.2.1" + warning "^4.0.2" react-dom@^17.0.2: version "17.0.2" @@ -7383,12 +7475,12 @@ react-dom@^17.0.2: object-assign "^4.1.1" scheduler "^0.20.2" -react-is@16.13.1, react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1: +react-is@16.13.1, react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^17.0.0: +react-is@^17.0.0, react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== @@ -7441,22 +7533,6 @@ react@^17.0.2: loose-envify "^1.1.0" object-assign "^4.1.1" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -7466,24 +7542,6 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" @@ -7523,6 +7581,13 @@ readdirp@~3.5.0: dependencies: picomatch "^2.2.1" +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + readline-sync@^1.4.9: version "1.4.10" resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.10.tgz#41df7fbb4b6312d673011594145705bf56d8873b" @@ -7543,22 +7608,22 @@ reduce@^1.0.1: dependencies: object-keys "^1.1.0" -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== +regenerate-unicode-properties@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" + integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== dependencies: - regenerate "^1.4.0" + regenerate "^1.4.2" -regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" @@ -7569,39 +7634,39 @@ regex-not@^1.0.0, regex-not@^1.0.2: safe-regex "^1.1.0" regexp.prototype.flags@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" + integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== +regexpp@^3.0.0, regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== regexpu-core@^4.5.4: - version "4.7.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" - integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - -regjsgen@^0.5.1: + version "4.8.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" + integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^9.0.0" + regjsgen "^0.5.2" + regjsparser "^0.7.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +regjsgen@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== +regjsparser@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" + integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== dependencies: jsesc "~0.5.0" @@ -7692,11 +7757,11 @@ remark-squeeze-paragraphs@4.0.0: mdast-squeeze-paragraphs "^4.0.0" remark-stringify@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-9.0.0.tgz#8ba0c9e4167c42733832215a81550489759e3793" - integrity sha512-8x29DpTbVzEc6Dwb90qhxCtbZ6hmj3BxWWDpMhA+1WM4dOEGH5U5/GFe3Be5Hns5MvPSFAr1e2KSVtKZkK5nUw== + version "9.0.1" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-9.0.1.tgz#576d06e910548b0a7191a71f27b33f1218862894" + integrity sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg== dependencies: - mdast-util-to-markdown "^0.5.0" + mdast-util-to-markdown "^0.6.0" remark-validate-links@^10.0.4: version "10.0.4" @@ -7726,37 +7791,16 @@ remove-trailing-separator@^1.0.1: integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== repeat-string@^1.0.0, repeat-string@^1.5.0, repeat-string@^1.5.4, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -replace-ext@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.87.0, request@^2.88.2: +request@^2.87.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -7829,20 +7873,14 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.4.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.4.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" resolve@^2.0.0-next.3: version "2.0.0-next.3" @@ -7941,7 +7979,7 @@ sax@^1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -saxes@^5.0.0: +saxes@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== @@ -7956,12 +7994,12 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" -schema-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" - integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== +schema-utils@^3.1.0, schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== dependencies: - "@types/json-schema" "^7.0.6" + "@types/json-schema" "^7.0.8" ajv "^6.12.5" ajv-keywords "^3.5.2" @@ -7975,22 +8013,22 @@ secure-compare@3.0.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.3.0: +semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: +semver@^7.3.2, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" -serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== +serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== dependencies: randombytes "^2.1.0" @@ -8027,6 +8065,11 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallow-equal@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" + integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -8071,23 +8114,23 @@ side-channel@^1.0.4: object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + version "3.0.6" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" + integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== -sisteransi@^1.0.4: +sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== sitemap@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-6.3.0.tgz#c9affa49d654b5bd76a56a8e67cee3c17560a8f3" - integrity sha512-U0jS5b+V/MQOkmkqwq3ow++sE1A+F4Yo/nDU5wksiGFO7ww7VutOXJWdM2wk54Ztvl4UmlX65l2GVz5jeI4rgw== + version "6.4.0" + resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-6.4.0.tgz#b4bc4edf36de742405a7572bc3e467ba484b852e" + integrity sha512-DoPKNc2/apQZTUnfiOONWctwq7s6dZVspxAZe2VPMNtoqNq7HgXRvlRnbIpKjf+8+piQdWncwcy+YhhTGY5USQ== dependencies: - "@types/node" "^14.6.4" + "@types/node" "^14.14.28" "@types/sax" "^1.2.1" - arg "^4.1.3" + arg "^5.0.0" sax "^1.2.4" slash@^3.0.0: @@ -8095,15 +8138,6 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -8150,18 +8184,18 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.6, source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +source-map-support@^0.5.6, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== source-map@0.7.3, source-map@^0.7.3, source-map@~0.7.2: version "0.7.3" @@ -8217,9 +8251,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" - integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== + version "3.0.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== split-on-first@^1.0.0: version "1.1.0" @@ -8239,9 +8273,9 @@ sprintf-js@~1.0.2: integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -8254,14 +8288,16 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== + dependencies: + escape-string-regexp "^2.0.0" stack-utils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" - integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg== + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== dependencies: escape-string-regexp "^2.0.0" @@ -8290,11 +8326,6 @@ static-extend@^0.1.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - stream-browserify@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" @@ -8350,43 +8381,30 @@ string-hash@1.1.3: integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== dependencies: char-regex "^1.0.2" strip-ansi "^6.0.0" string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.matchall@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" - integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has-symbols "^1.0.1" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" - side-channel "^1.0.4" + strip-ansi "^6.0.1" -string.prototype.matchall@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" - integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q== +string.prototype.matchall@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" + integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.2" + es-abstract "^1.19.1" get-intrinsic "^1.1.1" has-symbols "^1.0.2" internal-slot "^1.0.3" @@ -8423,13 +8441,20 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@6.0.0, strip-ansi@^6.0.0: +strip-ansi@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== dependencies: ansi-regex "^5.0.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -8493,10 +8518,10 @@ stylis@3.5.4: resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== -stylis@^4.0.3: - version "4.0.10" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.10.tgz#446512d1097197ab3f02fb3c258358c3f7a14240" - integrity sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg== +stylis@4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91" + integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag== supports-color@^5.0.0, supports-color@^5.3.0: version "5.5.0" @@ -8535,34 +8560,27 @@ supports-hyperlinks@^1.0.1: supports-color "^5.0.0" supports-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -table@^6.0.9: - version "6.7.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" - integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== - dependencies: - ajv "^8.0.1" - lodash.clonedeep "^4.5.0" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" - tapable@^2.1.1, tapable@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" - integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== tar-fs@2.0.0: version "2.0.0" @@ -8575,9 +8593,9 @@ tar-fs@2.0.0: tar-stream "^2.0.0" tar-stream@^2.0.0: - version "2.1.4" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa" - integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw== + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== dependencies: bl "^4.0.3" end-of-stream "^1.4.1" @@ -8593,26 +8611,25 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673" - integrity sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q== +terser-webpack-plugin@^5.1.3: + version "5.3.0" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz#21641326486ecf91d8054161c816e464435bae9f" + integrity sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ== dependencies: - jest-worker "^26.6.2" - p-limit "^3.1.0" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" + jest-worker "^27.4.1" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" source-map "^0.6.1" - terser "^5.5.1" + terser "^5.7.2" -terser@^5.5.1: - version "5.6.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.1.tgz#a48eeac5300c0a09b36854bf90d9c26fb201973c" - integrity sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw== +terser@^5.7.2: + version "5.10.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" + integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== dependencies: commander "^2.20.0" source-map "~0.7.2" - source-map-support "~0.5.19" + source-map-support "~0.5.20" test-exclude@^6.0.0: version "6.0.0" @@ -8651,13 +8668,13 @@ tiny-warning@^1.0.3: integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== tippy.js@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-6.3.1.tgz#3788a007be7015eee0fd589a66b98fb3f8f10181" - integrity sha512-JnFncCq+rF1dTURupoJ4yPie5Cof978inW6/4S6kmWV7LL9YOSEVMifED3KdrVPEG+Z/TFH2CDNJcQEfaeuQww== + version "6.3.7" + resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-6.3.7.tgz#8ccfb651d642010ed9a32ff29b0e9e19c5b8c61c" + integrity sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ== dependencies: - "@popperjs/core" "^2.8.3" + "@popperjs/core" "^2.9.0" -tmpl@1.0.x: +tmpl@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== @@ -8722,20 +8739,20 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== dependencies: - psl "^1.1.28" + psl "^1.1.33" punycode "^2.1.1" + universalify "^0.1.2" -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== dependencies: - ip-regex "^2.1.0" psl "^1.1.28" punycode "^2.1.1" @@ -8746,17 +8763,22 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== dependencies: punycode "^2.1.1" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + trim-trailing-lines@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94" - integrity sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA== + version "1.1.4" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" + integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== trim@0.0.1: version "0.0.1" @@ -8773,32 +8795,25 @@ ts-pnp@^1.1.6: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== +tsconfig-paths@^3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" + integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" minimist "^1.2.0" strip-bom "^3.0.0" -tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== - -tslib@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" - integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== +tslib@^1.8.1, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== - dependencies: - tslib "^1.8.1" +tslib@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== tsutils@^3.21.0: version "3.21.0" @@ -8848,16 +8863,16 @@ type-detect@4.0.8: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" @@ -8873,11 +8888,6 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-fest@^1.0.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.2.1.tgz#232990aa513f3f5223abf54363975dfe3a121a2e" - integrity sha512-SbmIRuXhJs8KTneu77Ecylt9zuqL683tuiLYpTRil4H++eIhqCmx6ko6KAFem9dty8sOdnEiX7j4K1nRE628fQ== - typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -8890,12 +8900,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" - integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== +typescript@^4.5.4: + version "4.5.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" + integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== -unbox-primitive@^1.0.0, unbox-primitive@^1.0.1: +unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== @@ -8921,28 +8931,28 @@ unherit@^1.0.4: inherits "^2.0.0" xtend "^4.0.0" -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== unified-args@^8.0.0: version "8.1.0" @@ -8959,9 +8969,9 @@ unified-args@^8.0.0: unified-engine "^8.0.0" unified-engine@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-8.0.0.tgz#e3996ff6eaecc6ca3408af92b70e25691192d17d" - integrity sha512-vLUezxCnjzz+ya4pYouRQVMT8k82Rk4fIj406UidRnSFJdGXFaQyQklAnalsQHJrLqAlaYPkXPUa1upfVSHGCA== + version "8.2.0" + resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-8.2.0.tgz#217ee94ebaa709395531b9896d0c71e3c3d51350" + integrity sha512-ZlMm62ejrf+tJHdyOjQfljszngQjRor95q2XZMGk6rpJUYi7ZIHY/EXEhOcj9PZkMKKdLIM+dqL4s0ceyk9wbA== dependencies: concat-stream "^2.0.0" debug "^4.0.0" @@ -8994,9 +9004,9 @@ unified@9.2.0: vfile "^4.0.0" unified@^9.0.0, unified@^9.1.0: - version "9.2.1" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.1.tgz#ae18d5674c114021bfdbdf73865ca60f410215a3" - integrity sha512-juWjuI8Z4xFg8pJbnEZ41b5xjGUWGHqXALmBZ3FC3WX0PIx1CZBIIJ6mXbYMcf6Yw4Fi0rFUTA1cdz/BglbOhA== + version "9.2.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" + integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== dependencies: bail "^1.0.0" extend "^3.0.0" @@ -9028,9 +9038,9 @@ unist-builder@2.0.3, unist-builder@^2.0.0: integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== unist-util-generated@^1.0.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.5.tgz#1e903e68467931ebfaea386dae9ea253628acd42" - integrity sha512-1TC+NxQa4N9pNdayCYA1EGUOCAO0Le3fVp7Jzns6lnua/mYgwHo0tz5WUAfrdpNch1RZLHc61VZ1SDgrtNXLSw== + version "1.1.6" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" + integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== unist-util-inspect@^5.0.0: version "5.0.1" @@ -9040,9 +9050,9 @@ unist-util-inspect@^5.0.0: is-empty "^1.0.0" unist-util-is@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.0.2.tgz#c7d1341188aa9ce5b3cff538958de9895f14a5de" - integrity sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ== + version "4.1.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" + integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== unist-util-position@^3.0.0: version "3.1.0" @@ -9057,9 +9067,9 @@ unist-util-remove-position@^2.0.0: unist-util-visit "^2.0.0" unist-util-remove@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.0.0.tgz#32c2ad5578802f2ca62ab808173d505b2c898488" - integrity sha512-HwwWyNHKkeg/eXRnE11IpzY8JT55JNM1YCwwU9YNCnfzk6s8GhPXrVBBZWiwLeATJbI7euvoGSzcy9M29UeW3g== + version "2.1.0" + resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588" + integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== dependencies: unist-util-is "^4.0.0" @@ -9071,9 +9081,9 @@ unist-util-stringify-position@^2.0.0: "@types/unist" "^2.0.2" unist-util-visit-parents@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz#4dd262fb9dcfe44f297d53e882fc6ff3421173d5" - integrity sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw== + version "3.1.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" + integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== dependencies: "@types/unist" "^2.0.0" unist-util-is "^4.0.0" @@ -9107,7 +9117,7 @@ universal-user-agent@^6.0.0: resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== -universalify@^0.1.0: +universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== @@ -9126,9 +9136,9 @@ unset-value@^1.0.0: isobject "^3.0.0" uri-js@^4.2.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" - integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -9174,7 +9184,7 @@ util@0.10.3: dependencies: inherits "2.0.1" -util@0.12.3, util@^0.12.0: +util@0.12.3: version "0.12.3" resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog== @@ -9193,6 +9203,18 @@ util@^0.11.0: dependencies: inherits "2.0.3" +util@^0.12.0: + version "0.12.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" + integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" @@ -9204,14 +9226,14 @@ uuid@^8.3.0: integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== v8-compile-cache@^2.0.3: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== -v8-to-istanbul@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz#0608f5b49a481458625edb058488607f25498ba5" - integrity sha512-mbDNjuDajqYe3TXFk5qxcQy8L1msXNE37WTlLoqqpBfRsimbNcrlhQlDPntmECEcUvdC+AQ8CyMMf6EUx1r74Q== +v8-to-istanbul@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" + integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" @@ -9234,10 +9256,10 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vfile-location@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.1.0.tgz#81cd8a04b0ac935185f4fce16f270503fc2f692f" - integrity sha512-FCZ4AN9xMcjFIG1oGmZKo61PjwJHRVA+0/tPUP2ul4uIwjGGndIxavEMRpWn5p4xwm/ZsdXp9YNygf1ZyE4x8g== +vfile-location@^3.0.0, vfile-location@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" + integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== vfile-message@^2.0.0: version "2.0.4" @@ -9248,9 +9270,9 @@ vfile-message@^2.0.0: unist-util-stringify-position "^2.0.0" vfile-reporter@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-6.0.1.tgz#45d4dc11df2e312196ea2ceb95e42a67fc8ce814" - integrity sha512-0OppK9mo8G2XUpv+hIKLVSDsoxJrXnOy73+vIm0jQUOUFYRduqpFHX+QqAQfvRHyX9B0UFiRuNJnBOjQCIsw1g== + version "6.0.2" + resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-6.0.2.tgz#cbddaea2eec560f27574ce7b7b269822c191a676" + integrity sha512-GN2bH2gs4eLnw/4jPSgfBjo+XCuvnX9elHICJZjVD4+NM0nsUrMTvdjGY5Sc/XG69XVTgLwj7hknQVc6M9FukA== dependencies: repeat-string "^1.5.0" string-width "^4.0.0" @@ -9270,13 +9292,12 @@ vfile-statistics@^1.1.0: integrity sha512-lXhElVO0Rq3frgPvFBwahmed3X03vjPF8OcjKMy8+F1xU/3Q3QU3tKEDp743SFtb74PdF0UWpxPvtOP0GCLheA== vfile@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.0.tgz#26c78ac92eb70816b01d4565e003b7e65a2a0e01" - integrity sha512-a/alcwCvtuc8OX92rqqo7PflxiCgXRFjdyoGVuYV+qbgCb0GgZJRvIgCD4+U/Kl1yhaRsaTwksF88xbPyGsgpw== + version "4.2.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" + integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== dependencies: "@types/unist" "^2.0.0" is-buffer "^2.0.0" - replace-ext "1.0.0" unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" @@ -9300,13 +9321,20 @@ w3c-xmlserializer@^2.0.0: xml-name-validator "^3.0.0" walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +warning@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== dependencies: - makeerror "1.0.x" + loose-envify "^1.0.0" -watchpack@2.1.1, watchpack@^2.0.0: +watchpack@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== @@ -9314,11 +9342,24 @@ watchpack@2.1.1, watchpack@^2.0.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" +watchpack@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" + integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + web-namespaces@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -9334,42 +9375,48 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-sources@^2.1.1, webpack-sources@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" - integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== +webpack-sources@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.1.tgz#570de0af163949fe272233c2cefe1b56f74511fd" + integrity sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA== dependencies: source-list-map "^2.0.1" source-map "^0.6.1" +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + webpack@^5.28.0: - version "5.28.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.28.0.tgz#0de8bcd706186b26da09d4d1e8cbd3e4025a7c2f" - integrity sha512-1xllYVmA4dIvRjHzwELgW4KjIU1fW4PEuEnjsylz7k7H5HgPOctIq7W1jrt3sKH9yG5d72//XWzsHhfoWvsQVg== + version "5.67.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.67.0.tgz#cb43ca2aad5f7cc81c4cd36b626e6b819805dbfd" + integrity sha512-LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw== dependencies: "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.46" - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/wasm-edit" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - acorn "^8.0.4" + "@types/estree" "^0.0.50" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.7.0" - es-module-lexer "^0.4.0" - eslint-scope "^5.1.1" + enhanced-resolve "^5.8.3" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" json-parse-better-errors "^1.0.2" loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.0.0" + schema-utils "^3.1.0" tapable "^2.1.1" - terser-webpack-plugin "^5.1.1" - watchpack "^2.0.0" - webpack-sources "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" whatwg-encoding@^1.0.5: version "1.0.5" @@ -9383,6 +9430,14 @@ whatwg-mimetype@^2.3.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" @@ -9392,13 +9447,13 @@ whatwg-url@^7.0.0: tr46 "^1.0.1" webidl-conversions "^4.0.2" -whatwg-url@^8.0.0: - version "8.2.2" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.2.2.tgz#85e7f9795108b53d554cec640b2e8aee2a0d4bfd" - integrity sha512-PcVnO6NiewhkmzV0qn7A+UZ9Xx4maNTI+O+TShmfE4pqjoCMwUMjkvoNhNHPTvgR7QH9Xt3R13iHuWy2sToFxQ== +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" + lodash "^4.7.0" + tr46 "^2.1.0" webidl-conversions "^6.1.0" which-boxed-primitive@^1.0.2: @@ -9418,17 +9473,16 @@ which-module@^2.0.0: integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which-typed-array@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.4.tgz#8fcb7d3ee5adf2d771066fba7cf37e32fe8711ff" - integrity sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA== + version "1.1.7" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" + integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== dependencies: - available-typed-arrays "^1.0.2" - call-bind "^1.0.0" - es-abstract "^1.18.0-next.1" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.18.5" foreach "^2.0.5" - function-bind "^1.1.1" - has-symbols "^1.0.1" - is-typed-array "^1.1.3" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.7" which@^1.2.9: version "1.3.1" @@ -9485,10 +9539,10 @@ ws@7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== -ws@^7.2.3: - version "7.5.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.0.tgz#0033bafea031fb9df041b2026fc72a571ca44691" - integrity sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw== +ws@^7.4.6: + version "7.5.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" + integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== xml-name-validator@^3.0.0: version "3.0.0" @@ -9516,9 +9570,9 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.7.2: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yargs-parser@^18.1.2: version "18.1.3" @@ -9528,7 +9582,7 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@^15.3.1: +yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 8f3d73dc2ecf54..326ab90b64c54f 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -149,7 +149,7 @@ platform :ios do scan( project: "ios/Pods/#{options[:pod]}.xcodeproj", # This scheme is autogenerated by CocoaPods when a testspec is included in the Podfile - scheme: "#{options[:pod]}-Unit-Tests", + scheme: "#{options[:pod]}-Unit-#{options[:testSpecName]}", clean: false, ) end diff --git a/guides/Developing Expo Go.md b/guides/Developing Expo Go.md index 672268daaa741a..1f00840f497fff 100644 --- a/guides/Developing Expo Go.md +++ b/guides/Developing Expo Go.md @@ -13,35 +13,34 @@ - [iOS](#ios-2) - [Modifying JS Code](#modifying-js-code) - [Tests](#tests) - - [iOS](#ios-3) ## Introduction -This is the source code for the Expo Go app used to view projects published to the Expo service. If you want to build and install Expo Go directly onto a device, you're in the right place. Note that if you just want to install Expo Go on a simulator, you do not need to build it from source. Instead, you should [follow the instructions here](https://docs.expo.io/versions/latest/introduction/installation.html). +This is the source code for the Expo Go app used to view projects published to the Expo service. If you want to build and install Expo Go directly onto a device, you're in the right place. Note that if you just want to install Expo Go on a simulator, you do not need to build it from source. Instead, you should [follow the instructions here](https://docs.expo.dev/versions/latest/introduction/installation.html). -To build Expo Go, follow the instructions in the [Setup](#setup) section below. Use the [Expo CLI](https://docs.expo.io/versions/latest/workflow/expo-cli) to use Expo's infrastructure to build your app. +To build Expo Go, follow the instructions in the [Setup](#configuring-your-environment) section below. Use the [Expo CLI](https://docs.expo.dev/workflow/expo-cli) to use Expo's infrastructure to build your app. -Please ask us on the [forums](https://forums.expo.io/) if you get stuck. +Please ask us on the [forums](https://forums.expo.dev) if you get stuck. ## External Contributions -Please check with us before putting work into a Pull Request! We don't yet have a good guide available that covers the nuances of how to work with Expo Go and the types of PRs that we accept so you will want a direct line of communication with someone on the team to ask us questions. The best place to talk to us is either on Slack at https://slack.expo.io or the forums at https://forums.expo.io. +Please check with us before putting work into a Pull Request! We don't yet have a good guide available that covers the nuances of how to work with Expo Go and the types of PRs that we accept, so you will want a direct line of communication with someone on the team to ask us questions. The best place to talk to us is either on Discord at https://chat.expo.dev or the forums at https://forums.expo.dev. **Disclaimers:** -If you want to build a standalone app that has a custom icon and name, see [our documentation here](https://docs.expo.io/versions/latest/distribution/building-standalone-apps/). You're in the wrong place and you shouldn't need to build Expo Go from source. +If you want to build a standalone app that has a custom icon and name, see [our documentation here](https://docs.expo.dev/classic/building-standalone-apps). You're in the wrong place and you shouldn't need to build Expo Go from source. -If you need to make native code changes to your Expo project, such as adding custom native modules, we can [generate a native project for you](https://docs.expo.io/versions/latest/expokit/eject). You're in the wrong place and you shouldn't need to build Expo Go from source. +If you need to make native code changes to your Expo project, such as adding custom native modules, we can [generate a native project for you](https://docs.expo.dev/expokit/eject). You're in the wrong place and you shouldn't need to build Expo Go from source. ## Configuring your environment -Note: We support building Expo Go only on macOS. +> Note: We support building Expo Go only on macOS. -- Install [direnv](http://direnv.net/) -- Clone this repo; we recommend cloning it to a directory whose full path does not include any spaces (you should clone all the submodules with `git clone --recurse-submodules`) +- Install [direnv](http://direnv.net/). +- Clone this repo; we recommend cloning it to a directory whose full path does not include any spaces (you should clone all the submodules with `git clone --recurse-submodules`). - Run `yarn` in the root directory. -- Run `npm run setup:native` in the root directory. +- Run `yarn setup:native` in the root directory. - Run `yarn build` in the `packages/expo` directory. ### iOS @@ -52,20 +51,20 @@ Note: We support building Expo Go only on macOS. ### Android -- Make sure you have Android Studio 3 installed -- See "Running on a Device" +- Make sure you have Android Studio 3 or newer installed. +- See ["Running on a Device"](#running-on-a-device). ## Running on a Device ### iOS -- In Xcode's menu bar, open the **Xcode** drop-down menu, and select **Preferences**. Then in the **Accounts** tab of the preferences menu, add your personal or team apple developer account. +- In Xcode's menu bar, open the **Xcode** drop-down menu, and select **Preferences**. Then in the **Accounts** tab of the preferences menu, add your personal or team Apple Developer account. - Connect your test device to your computer with a USB cable. - In Xcode's menu bar, open the **Product** drop-down menu, select **Destination**, then in the _Device_ grouping select your device. - In the project navigator, select the **Exponent** project to bring up the project's settings, and then: - In the **General** tab, in the **Identity** section, put in a unique Bundle Identifier. - - Also in the **General** tab, in the **Signing** section, select your personal or team apple developer account as your **Team**, and create a new signing certificate by clicking **Fix Issue**. -- Finally, run the build + - Also in the **General** tab, in the **Signing** section, select your personal or team Apple Developer account as your **Team**, and create a new signing certificate by clicking **Fix Issue**. +- Finally, run the build. ### Android @@ -78,11 +77,11 @@ Note: We support building Expo Go only on macOS. ## Standalone Apps -If you don't need custom native code outside of the Expo SDK, head over to [our documentation on building standalone apps without needing Android Studio and Xcode](https://docs.expo.io/versions/latest/distribution/building-standalone-apps/). +If you don't need custom native code outside of the Expo SDK, head over to [our documentation on building standalone apps without needing Android Studio and Xcode](https://docs.expo.dev/classic/building-standalone-apps). -If you need standalone apps as built by running `expo build:ios` or `expo build:android` for a supported SDK version, check out our docs on [using turtle-cli to build apps locally or on CI](https://docs.expo.io/versions/latest/distribution/turtle-cli/). +If you need standalone apps as built by running `expo build:ios` or `expo build:android` for a supported SDK version, check out our docs on [using turtle-cli to build apps locally or on CI](https://docs.expo.dev/classic/turtle-cli). -If you're still here, you need to build a standalone app with code currently on `master` or another unreleased branch. Make sure to follow the [Configure app.json](https://docs.expo.io/versions/latest/distribution/building-standalone-apps/#2-configure-appjson) section of the docs before continuing. You'll need to add the appropriate fields to your `app.json` before the standalone app scripts can run. Once that's done, continue on to the platform-specific instructions. +If you're still here, you need to build a standalone app with code currently on `master` or another unreleased branch. Make sure to follow the [Configure app.json](https://docs.expo.dev/classic/building-standalone-apps/#2-configure-appjson) section of the docs before continuing. You'll need to add the appropriate fields to your `app.json` before the standalone app scripts can run. Once that's done, continue on to the platform-specific instructions. ### Android @@ -97,7 +96,9 @@ Here are the steps to build a standalone Android app: ### iOS -The iOS standalone app script has two actions, `build` and `configure`. `build` creates an archive or a simulator build of the Expo iOS workspace. `configure` accepts a path to an existing archive and modifies all its configuration files so that it will run as a standalone Expo project rather than in Expo Go. +The iOS standalone app script has two actions, `build` and `configure`: +- `build` creates an archive or a simulator build of the Expo iOS workspace, +- `configure` accepts a path to an existing archive and modifies all its configuration files so that it will run as a standalone Expo project rather than in Expo Go. Here are the steps to build a standalone iOS app: @@ -105,15 +106,15 @@ Here are the steps to build a standalone iOS app: - `et ios-shell-app --action build --type [simulator or archive] --configuration [Debug or Release]` - The resulting archive will be created at `../shellAppBase-[type]`. - `et ios-shell-app --url [the published experience url] --action configure --type [simulator or archive] --archivePath [path to ExpoKitApp.app] --sdkVersion [sdk version of your experience] --output your-app.tar.gz` -- This bundle is not signed and cannot be submitted to iTunes Connect as-is; you'll need to manually sign it if you'd like to submit it to Apple. [Fastlane](https://fastlane.tools/) is a good option for this. Also, [Expo will do this for you](https://docs.expo.io/versions/latest/distribution/building-standalone-apps/) if you don't need to build this project from source. +- This bundle is not signed and cannot be submitted to iTunes Connect as-is; you'll need to manually sign it if you'd like to submit it to Apple. [Fastlane](https://fastlane.tools/) is a good option for this. Also, [Expo will do this for you](https://docs.expo.dev/classic/building-standalone-apps) if you don't need to build this project from source. - If you created a simulator build in the first step, unpack the tar.gz using `tar -xvzf your-app.tar.gz`. Then you can run this on iPhone Simulator using `xcrun simctl install booted ` and `xcrun simctl launch booted `. Another alternative which some people prefer is to install the [ios-sim](https://github.com/phonegap/ios-sim) tool and then use `ios-sim launch `. - There are a few more optional flags you can pass to this script. They are all documented in the block comments inside `xdl/src/detach/IosShellApp.js`. ## Modifying JS Code -The Expo Go apps run a root Expo project in addition to native code. By default this will use a published version of the project, so any changes made in the `home` directory will not show up without some extra work. +The Expo Go apps run a root Expo project in addition to native code. By default, this will use a published version of the project, so any changes made in the `home` directory will not show up without some extra work. -Serve this project locally by running `expo start` from the `home` directory. On iOS, you'll additionally need to set `DEV_KERNEL_SOURCE` to `LOCAL` in `EXBuildConstants.plist` (the default is `PUBLISHED`). +Serve this project locally by running `expo start` from the `home` directory. **On iOS**, you'll additionally need to set `DEV_KERNEL_SOURCE` to `LOCAL` in `EXBuildConstants.plist` (the default is `PUBLISHED`). The native Android Studio and Xcode projects have a build hook which will find this if `expo start` is running. Keep this running and rebuild the app on each platform. @@ -126,4 +127,4 @@ For native XCTest unit tests: - Press Command+U in XCode to build and test the `Tests` unit test target. - Alternatively, run `fastlane ios test` from the parent directory of `ios`. -For JS integration tests, test the `ExponentIntegrationTests` target (not included in the default test scheme). This target requires you to configure `EXTestEnvironment.plist` with a key `testSuiteUrl` whose value is the URL to load some version of Expo's [test-suite](apps/test-suite) app. This will run a bunch of Jasmine tests against the Expo SDK. +For JS integration tests, test the `ExponentIntegrationTests` target (not included in the default test scheme). This target requires you to configure `EXTestEnvironment.plist` with a key `testSuiteUrl` whose value is the URL to load some version of Expo's [test-suite](../apps/test-suite) app. This will run a bunch of Jasmine tests against the Expo SDK. diff --git a/home/package.json b/home/package.json index b81ea392626443..31620024cce4c3 100644 --- a/home/package.json +++ b/home/package.json @@ -50,8 +50,8 @@ "path-to-regexp": "^1.8.0", "prop-types": "^15.7.2", "querystring": "^0.2.0", - "react": "17.0.1", - "react-native": "0.64.3", + "react": "17.0.2", + "react-native": "0.66.4", "react-native-appearance": "~0.3.4", "react-native-fade-in-image": "^1.6.1", "react-native-gesture-handler": "~2.1.0", diff --git a/home/screens/QRCodeScreen.tsx b/home/screens/QRCodeScreen.tsx index 219c88db476af9..1dc6c75b308f13 100644 --- a/home/screens/QRCodeScreen.tsx +++ b/home/screens/QRCodeScreen.tsx @@ -1,6 +1,7 @@ import { StackScreenProps } from '@react-navigation/stack'; import * as BarCodeScanner from 'expo-barcode-scanner'; import { BlurView } from 'expo-blur'; +import { FlashMode } from 'expo-camera'; import { throttle } from 'lodash'; import React from 'react'; import { Linking, Platform, StatusBar, StyleSheet, Text, View } from 'react-native'; @@ -91,7 +92,7 @@ export default function BarCodeScreen( }} onBarCodeScanned={_handleBarCodeScanned} style={StyleSheet.absoluteFill} - flashMode={isLit ? 'torch' : 'off'} + flashMode={isLit ? FlashMode.torch : FlashMode.off} /> ) : null} diff --git a/ios/Client/AppDelegate.swift b/ios/Client/AppDelegate.swift index 089c47046f6525..852a1b735c6bba 100644 --- a/ios/Client/AppDelegate.swift +++ b/ios/Client/AppDelegate.swift @@ -7,8 +7,8 @@ import ExpoModulesCore class AppDelegate: ExpoAppDelegate { var rootViewController: EXRootViewController? - override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { - if (application.applicationState != UIApplication.State.background) { + override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { + if application.applicationState != UIApplication.State.background { // App launched in foreground setUpUserInterfaceForApplication(application, withLaunchOptions: launchOptions) } @@ -23,8 +23,8 @@ class AppDelegate: ExpoAppDelegate { super.applicationWillEnterForeground(application) } - private func setUpUserInterfaceForApplication(_ application: UIApplication, withLaunchOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]?) { - if (self.window != nil) { + private func setUpUserInterfaceForApplication(_ application: UIApplication, withLaunchOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) { + if self.window != nil { return } diff --git a/ios/Client/EXRootViewController.m b/ios/Client/EXRootViewController.m index 9c6a3b5cd47b67..c7b6d493cf974b 100644 --- a/ios/Client/EXRootViewController.m +++ b/ios/Client/EXRootViewController.m @@ -2,6 +2,8 @@ @import UIKit; +#import + #import "EXAppViewController.h" #import "EXHomeAppManager.h" #import "EXKernel.h" @@ -156,72 +158,77 @@ - (void)appDidFinishLoadingSuccessfully:(EXKernelAppRecord *)appRecord - (void)_foregroundAppRecord:(EXKernelAppRecord *)appRecord { + // Some transition is in progress if (_isAnimatingAppTransition) { return; } + EXAppViewController *viewControllerToShow = appRecord.viewController; - EXAppViewController *viewControllerToHide; - if (viewControllerToShow != self.contentViewController) { - _isAnimatingAppTransition = YES; - if (self.contentViewController) { - viewControllerToHide = (EXAppViewController *)self.contentViewController; + + // Tried to foregroung the very same view controller + if (viewControllerToShow == self.contentViewController) { + return; + } + + _isAnimatingAppTransition = YES; + + EXAppViewController *viewControllerToHide = (EXAppViewController *)self.contentViewController; + + if (viewControllerToShow) { + [self.view addSubview:viewControllerToShow.view]; + [self addChildViewController:viewControllerToShow]; + } + + EX_WEAKIFY(self) + void (^finalizeTransition)(void) = ^{ + EX_ENSURE_STRONGIFY(self) + if (viewControllerToHide) { + // backgrounds and then dismisses all modals that are presented by the app + [viewControllerToHide backgroundControllers]; + [viewControllerToHide dismissViewControllerAnimated:NO completion:nil]; + [viewControllerToHide willMoveToParentViewController:nil]; + [viewControllerToHide removeFromParentViewController]; + [viewControllerToHide.view removeFromSuperview]; } + if (viewControllerToShow) { - [viewControllerToShow willMoveToParentViewController:self]; - [self.view addSubview:viewControllerToShow.view]; - [viewControllerToShow foregroundControllers]; + [viewControllerToShow didMoveToParentViewController:self]; + self.contentViewController = viewControllerToShow; } - - __weak typeof(self) weakSelf = self; - void (^transitionFinished)(void) = ^{ - __strong typeof(weakSelf) strongSelf = weakSelf; - if (strongSelf) { - if (viewControllerToHide) { - // backgrounds and then dismisses all modals that are presented by the app - [viewControllerToHide backgroundControllers]; - [viewControllerToHide dismissViewControllerAnimated:NO completion:nil]; - [viewControllerToHide willMoveToParentViewController:nil]; - [viewControllerToHide.view removeFromSuperview]; - [viewControllerToHide didMoveToParentViewController:nil]; - } - if (viewControllerToShow) { - [viewControllerToShow didMoveToParentViewController:strongSelf]; - strongSelf.contentViewController = viewControllerToShow; - } - [strongSelf.view setNeedsLayout]; - strongSelf.isAnimatingAppTransition = NO; - if (strongSelf.delegate) { - [strongSelf.delegate viewController:strongSelf didNavigateAppToVisible:appRecord]; - } - } - }; - - BOOL animated = (viewControllerToHide && viewControllerToShow); - if (animated) { - if (viewControllerToHide.contentView) { - viewControllerToHide.contentView.transform = CGAffineTransformIdentity; - viewControllerToHide.contentView.alpha = 1.0f; - } - if (viewControllerToShow.contentView) { - viewControllerToShow.contentView.transform = CGAffineTransformMakeScale(1.1f, 1.1f); - viewControllerToShow.contentView.alpha = 0; - } - [UIView animateWithDuration:0.3f animations:^{ - if (viewControllerToHide.contentView) { - viewControllerToHide.contentView.transform = CGAffineTransformMakeScale(0.95f, 0.95f); - viewControllerToHide.contentView.alpha = 0.5f; - } - if (viewControllerToShow.contentView) { - viewControllerToShow.contentView.transform = CGAffineTransformIdentity; - viewControllerToShow.contentView.alpha = 1.0f; - } - } completion:^(BOOL finished) { - transitionFinished(); - }]; - } else { - transitionFinished(); + + [self.view setNeedsLayout]; + self.isAnimatingAppTransition = NO; + if (self.delegate) { + [self.delegate viewController:self didNavigateAppToVisible:appRecord]; } + }; + + BOOL animated = (viewControllerToHide && viewControllerToShow); + if (!animated) { + return finalizeTransition(); + } + + if (viewControllerToHide.contentView) { + viewControllerToHide.contentView.transform = CGAffineTransformIdentity; + viewControllerToHide.contentView.alpha = 1.0f; + } + if (viewControllerToShow.contentView) { + viewControllerToShow.contentView.transform = CGAffineTransformMakeScale(1.1f, 1.1f); + viewControllerToShow.contentView.alpha = 0; } + + [UIView animateWithDuration:0.3f animations:^{ + if (viewControllerToHide.contentView) { + viewControllerToHide.contentView.transform = CGAffineTransformMakeScale(0.95f, 0.95f); + viewControllerToHide.contentView.alpha = 0.5f; + } + if (viewControllerToShow.contentView) { + viewControllerToShow.contentView.transform = CGAffineTransformIdentity; + viewControllerToShow.contentView.alpha = 1.0f; + } + } completion:^(BOOL finished) { + finalizeTransition(); + }]; } - (EXHomeAppManager *)_getHomeAppManager diff --git a/ios/ExpoNotificationServiceExtension/NotificationService.swift b/ios/ExpoNotificationServiceExtension/NotificationService.swift index 364cb48eb7afd8..6f345543418c12 100644 --- a/ios/ExpoNotificationServiceExtension/NotificationService.swift +++ b/ios/ExpoNotificationServiceExtension/NotificationService.swift @@ -12,15 +12,13 @@ import UserNotifications class NotificationService: UNNotificationServiceExtension { - override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { if let bestAttemptContent = request.content.mutableCopy() as? UNMutableNotificationContent { // Modify notification content here... - if (!request.content.categoryIdentifier.isEmpty && (request.content.userInfo["experienceId"]) != nil) { + if !request.content.categoryIdentifier.isEmpty && (request.content.userInfo["experienceId"]) != nil { bestAttemptContent.categoryIdentifier = EXScopedNotificationsUtils.scopedIdentifier(fromId: request.content.categoryIdentifier, forExperience: request.content.userInfo["experienceId"] as! String) } contentHandler(bestAttemptContent) } } - } diff --git a/ios/Exponent/ExpoKit/EXViewController.h b/ios/Exponent/ExpoKit/EXViewController.h index 46547170753b8a..c317da68081431 100644 --- a/ios/Exponent/ExpoKit/EXViewController.h +++ b/ios/Exponent/ExpoKit/EXViewController.h @@ -7,7 +7,7 @@ @protocol EXViewControllerDelegate -- (void)viewController:(EXViewController *)vc didNavigateAppToVisible:(EXKernelAppRecord *)appRecord; +- (void)viewController:(EXViewController * _Nonnull)vc didNavigateAppToVisible:(EXKernelAppRecord * _Nonnull)appRecord; @end @@ -18,7 +18,7 @@ */ - (void)createRootAppAndMakeVisible; -@property (nonatomic, strong) UIViewController *contentViewController; -@property (nonatomic, weak) id delegate; +@property (nonatomic, strong, nullable) UIViewController *contentViewController; +@property (nonatomic, weak, nullable) id delegate; @end diff --git a/ios/Exponent/Kernel/Views/Loading/EXAppLoadingProgressWindowViewController.swift b/ios/Exponent/Kernel/Views/Loading/EXAppLoadingProgressWindowViewController.swift index 675eb8fe7bd217..9f6af6ce3a8414 100644 --- a/ios/Exponent/Kernel/Views/Loading/EXAppLoadingProgressWindowViewController.swift +++ b/ios/Exponent/Kernel/Views/Loading/EXAppLoadingProgressWindowViewController.swift @@ -1,7 +1,7 @@ import UIKit @objc -class EXAppLoadingProgressWindowViewController : UIViewController { +class EXAppLoadingProgressWindowViewController: UIViewController { override var supportedInterfaceOrientations: UIInterfaceOrientationMask { let visibleAppSupportedInterfaceOrientations = EXKernel .sharedInstance() diff --git a/ios/Exponent/Supporting/EXBuildConstants.plist.example b/ios/Exponent/Supporting/EXBuildConstants.plist.example index adae4612f6bade..8aa564b415374d 100644 --- a/ios/Exponent/Supporting/EXBuildConstants.plist.example +++ b/ios/Exponent/Supporting/EXBuildConstants.plist.example @@ -9,7 +9,7 @@ DEV_KERNEL_SOURCE DEV_PUBLISHED_KERNEL_MANIFEST - {"android":{"package":"host.exp.exponent"},"description":"","extra":{"amplitudeApiKey":"081e5ec53f869b440b225d5e40ec73f9"},"icon":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png","iconUrl":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png","ios":{"bundleIdentifier":"host.exp.exponent","supportsTablet":true},"loading":{"hideExponentText":false,"icon":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png","iconUrl":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png"},"name":"exponent-home","nodeModulesPath":"..","notification":{"color":"#000000","icon":"https://s3.amazonaws.com/exp-us-standard/placeholder-push-icon-blue-circle.png","iconUrl":"https://s3.amazonaws.com/exp-us-standard/placeholder-push-icon-blue-circle.png"},"orientation":"portrait","packagerOpts":{"config":"rn-cli.config.js","projectRoots":""},"primaryColor":"#cccccc","privacy":"unlisted","rnCliPath":"../../react-native-lab/react-native/local-cli/cli.js","scheme":"exp","sdkVersion":"UNVERSIONED","slug":"exponent-home-dev-59750af646d68b14e6f2f83f7e210996fba8367d","version":"21.0.1","id":"@expo-home-dev/exponent-home-dev-59750af646d68b14e6f2f83f7e210996fba8367d","revisionId":"21.0.1-r.jz8bO0qMP1","publishedTime":"2017-09-27T00:11:57.674Z","bundleUrl":"https://d1wp6m56sqw74a.cloudfront.net/%40expo-home-dev%2Fexponent-home-dev-59750af646d68b14e6f2f83f7e210996fba8367d%2F21.0.1%2F4bd45bcdf50493e345e817c9281bffbf-21.0.0-ios.js"} + {"android":{"package":"host.exp.exponent"},"description":"","extra":{"amplitudeApiKey":"081e5ec53f869b440b225d5e40ec73f9"},"icon":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png","iconUrl":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png","ios":{"bundleIdentifier":"host.exp.exponent","supportsTablet":true},"loading":{"hideExponentText":false,"icon":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png","iconUrl":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png"},"name":"exponent-home","nodeModulesPath":"..","notification":{"color":"#000000","icon":"https://s3.amazonaws.com/exp-us-standard/placeholder-push-icon-blue-circle.png","iconUrl":"https://s3.amazonaws.com/exp-us-standard/placeholder-push-icon-blue-circle.png"},"orientation":"portrait","packagerOpts":{"config":"rn-cli.config.js","projectRoots":""},"primaryColor":"#cccccc","privacy":"unlisted","rnCliPath":"../../react-native-lab/react-native/local-cli/cli.js","scheme":"exp","sdkVersion":"UNVERSIONED","slug":"exponent-home-dev-59750af646d68b14e6f2f83f7e210996fba8367d","version":"21.0.1","id":"@expo-home-dev/exponent-home-dev-59750af646d68b14e6f2f83f7e210996fba8367d","revisionId":"21.0.1-r.jz8bO0qMP1","publishedTime":"2017-09-27T00:11:57.674Z","bundleUrl":"https://classic-assets.eascdn.net/%40expo-home-dev%2Fexponent-home-dev-59750af646d68b14e6f2f83f7e210996fba8367d%2F21.0.1%2F4bd45bcdf50493e345e817c9281bffbf-21.0.0-ios.js"} INITIAL_URL IS_DEV_KERNEL diff --git a/ios/Exponent/Supporting/kernel.ios.bundle b/ios/Exponent/Supporting/kernel.ios.bundle index c72a2445a5e593..faa066963ed993 100644 --- a/ios/Exponent/Supporting/kernel.ios.bundle +++ b/ios/Exponent/Supporting/kernel.ios.bundle @@ -426,7 +426,7 @@ __d(function(g,r,i,a,m,e,d){var t=r(d[0]),s=r(d[1]),o=r(d[2]);s.IS_ENV_WITH_UPDA __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.Asset=void 0;var n=t(r(d[1])),s=t(r(d[2])),h=t(r(d[3])),o=r(d[4]),u=r(d[5]),l=r(d[6]),f=v(r(d[7])),c=v(r(d[8])),y=r(d[9]),p=r(d[10]),w=t(r(d[11]));function b(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,s=new WeakMap;return(b=function(t){return t?s:n})(t)}function v(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var s=b(n);if(s&&s.has(t))return s.get(t);var h={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in t)if("default"!==u&&Object.prototype.hasOwnProperty.call(t,u)){var l=o?Object.getOwnPropertyDescriptor(t,u):null;l&&(l.get||l.set)?Object.defineProperty(h,u,l):h[u]=t[u]}return h.default=t,s&&s.set(t,h),h}var k=(function(){function t(n){var h=n.name,u=n.type,l=n.hash,c=void 0===l?null:l,p=n.uri,w=n.width,b=n.height;(0,s.default)(this,t),this.hash=null,this.localUri=null,this.width=null,this.height=null,this.downloading=!1,this.downloaded=!1,this._downloadCallbacks=[],this.name=h,this.type=u,this.hash=c,this.uri=p,'number'==typeof w&&(this.width=w),'number'==typeof b&&(this.height=b),c&&(this.localUri=(0,y.getLocalAssetUri)(c,u),this.localUri&&(this.downloaded=!0)),'web'===o.Platform.OS&&(h||(this.name=f.getFilename(p)),u||(this.type=f.getFileExtension(p)))}return(0,h.default)(t,[{key:"downloadAsync",value:function(){var t,s,h,u,l=this;return n.default.async(function(y){for(;;)switch(y.prev=y.next){case 0:if(!this.downloaded){y.next=2;break}return y.abrupt("return",this);case 2:if(!this.downloading){y.next=6;break}return y.next=5,n.default.awrap(new Promise(function(t,n){l._downloadCallbacks.push({resolve:t,reject:n})}));case 5:return y.abrupt("return",this);case 6:if(this.downloading=!0,y.prev=7,'web'!==o.Platform.OS){y.next=22;break}if(!c.isImageType(this.type)){y.next=21;break}return y.next=12,n.default.awrap(c.getImageInfoAsync(this.uri));case 12:t=y.sent,s=t.width,h=t.height,u=t.name,this.width=s,this.height=h,this.name=u,y.next=22;break;case 21:this.name=f.getFilename(this.uri);case 22:return y.next=24,n.default.awrap((0,p.downloadAsync)(this.uri,this.hash,this.type,this.name));case 24:this.localUri=y.sent,this.downloaded=!0,this._downloadCallbacks.forEach(function(t){return(0,t.resolve)()}),y.next=33;break;case 29:throw y.prev=29,y.t0=y.catch(7),this._downloadCallbacks.forEach(function(t){return(0,t.reject)(y.t0)}),y.t0;case 33:return y.prev=33,this.downloading=!1,this._downloadCallbacks=[],y.finish(33);case 37:return y.abrupt("return",this);case 38:case"end":return y.stop()}},null,this,[[7,29,33,37]],Promise)}}],[{key:"loadAsync",value:function(n){var s=Array.isArray(n)?n:[n];return Promise.all(s.map(function(n){return t.fromModule(n).downloadAsync()}))}},{key:"fromModule",value:function(n){if('string'==typeof n)return t.fromURI(n);var s=(0,u.getAssetByID)(n);if(!s)throw new Error("Module \""+n+"\" is missing from the asset registry");if(!p.IS_ENV_WITH_UPDATES_ENABLED){var h=(0,w.default)(n).uri,l=new t({name:s.name,type:s.type,hash:s.hash,uri:h,width:s.width,height:s.height});return'android'!==o.Platform.OS||h.includes(':')||!s.width&&!s.height||(l.localUri=l.uri,l.downloaded=!0),t.byHash[s.hash]=l,l}return t.fromMetadata(s)}},{key:"fromMetadata",value:function(n){var s=n.hash;if(t.byHash[s])return t.byHash[s];var h=(0,l.selectAssetSource)(n),o=h.uri,u=h.hash,f=new t({name:n.name,type:n.type,hash:u,uri:o,width:n.width,height:n.height});return t.byHash[s]=f,f}},{key:"fromURI",value:function(n){if(t.byUri[n])return t.byUri[n];var s='';if(n.indexOf(';base64')>-1)s=n.split(';')[0].split('/')[1];else{var h=f.getFileExtension(n);s=h.startsWith('.')?h.substring(1):h}var o=new t({name:'',type:s,hash:null,uri:n});return t.byUri[n]=o,o}}]),t})();e.Asset=k,k.byHash={},k.byUri={}},420,[1,282,14,15,8,421,423,441,442,443,429,444]); __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0});var n=r(d[0]);Object.keys(n).forEach(function(t){"default"!==t&&"__esModule"!==t&&(t in e&&e[t]===n[t]||Object.defineProperty(e,t,{enumerable:!0,get:function(){return n[t]}}))})},421,[422]); __d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},422,[178]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.resolveUri=O,e.selectAssetSource=function(t){v&&v.hasOwnProperty(t.hash)&&(t=p(p({},t),v[t.hash]));var n=u.default.pickScale(t.scales,f.PixelRatio.get()),l=t.scales.findIndex(function(t){return t===n}),b=t.fileHashes?t.fileHashes[l]||t.fileHashes[0]:t.hash,y=t.fileUris?t.fileUris[l]||t.fileUris[0]:t.uri;if(y)return{uri:O(y),hash:b};var j=(0,h.getManifest)().assetUrlOverride;if(j){var U=s.default.join(j,b);return{uri:O(U),hash:b}}var w=1===n?'':"@"+n+"x",P=t.type?"."+encodeURIComponent(t.type):'',S="/"+encodeURIComponent(t.name)+w+P+"?platform="+encodeURIComponent(o.Platform.OS)+"&hash="+encodeURIComponent(t.hash);if(/^https?:\/\//.test(t.httpServerLocation)){var I=t.httpServerLocation+S;return{uri:I,hash:b}}if((0,h.getManifest)().developer){var M=new c.default((0,h.getManifest)().bundleUrl);return M.set('pathname',t.httpServerLocation+S),{uri:M.href,hash:b}}return{uri:"https://d1wp6m56sqw74a.cloudfront.net/~assets/"+encodeURIComponent(b),hash:b}};var n=t(r(d[1])),o=r(d[2]),s=t(r(d[3])),f=r(d[4]),c=t(r(d[5])),u=t(r(d[6])),h=r(d[7]);function l(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);n&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,s)}return o}function p(t){for(var o=1;o2){var u=o.lastIndexOf('/');if(u!==o.length-1){-1===u?(o='',h=0):h=(o=o.slice(0,u)).length-1-o.lastIndexOf('/'),f=s,c=0;continue}}else if(2===o.length||1===o.length){o='',h=0,f=s,c=0;continue}n&&(o.length>0?o+='/..':o='..',h=2)}else o.length>0?o+='/'+t.slice(f+1,s):o=t.slice(f+1,s),h=s-f-1;f=s,c=0}else 46===l&&-1!==c?++c:c=-1}return o}function l(t,n){var l=n.dir||n.root,o=n.base||(n.name||'')+(n.ext||'');return l?l===n.root?l+o:l+t+o:o}var o={resolve:function(){for(var l,o='',h=!1,f=arguments.length-1;f>=-1&&!h;f--){var c;f>=0?c=arguments[f]:(void 0===l&&(l=process.cwd()),c=l),t(c),0!==c.length&&(o=c+'/'+o,h=47===c.charCodeAt(0))}return o=n(o,!h),h?o.length>0?'/'+o:'/':o.length>0?o:'.'},normalize:function(l){if(t(l),0===l.length)return'.';var o=47===l.charCodeAt(0),h=47===l.charCodeAt(l.length-1);return 0!==(l=n(l,!o)).length||o||(l='.'),l.length>0&&h&&(l+='/'),o?'/'+l:l},isAbsolute:function(n){return t(n),n.length>0&&47===n.charCodeAt(0)},join:function(){if(0===arguments.length)return'.';for(var n,l=0;l0&&(void 0===n?n=h:n+='/'+h)}return void 0===n?'.':o.normalize(n)},relative:function(n,l){if(t(n),t(l),n===l)return'';if((n=o.resolve(n))===(l=o.resolve(l)))return'';for(var h=1;hv){if(47===l.charCodeAt(s+C))return l.slice(s+C+1);if(0===C)return l.slice(s+C)}else c>v&&(47===n.charCodeAt(h+C)?A=C:0===C&&(A=0));break}var b=n.charCodeAt(h+C);if(b!==l.charCodeAt(s+C))break;47===b&&(A=C)}var p='';for(C=h+A+1;C<=f;++C)C!==f&&47!==n.charCodeAt(C)||(0===p.length?p+='..':p+='/..');return p.length>0?p+l.slice(s+A):(s+=A,47===l.charCodeAt(s)&&++s,l.slice(s))},_makeLong:function(t){return t},dirname:function(n){if(t(n),0===n.length)return'.';for(var l=n.charCodeAt(0),o=47===l,h=-1,f=!0,c=n.length-1;c>=1;--c)if(47===(l=n.charCodeAt(c))){if(!f){h=c;break}}else f=!1;return-1===h?o?'/':'.':o&&1===h?'//':n.slice(0,h)},basename:function(n,l){if(void 0!==l&&'string'!=typeof l)throw new TypeError('"ext" argument must be a string');t(n);var o,h=0,f=-1,c=!0;if(void 0!==l&&l.length>0&&l.length<=n.length){if(l.length===n.length&&l===n)return'';var s=l.length-1,u=-1;for(o=n.length-1;o>=0;--o){var v=n.charCodeAt(o);if(47===v){if(!c){h=o+1;break}}else-1===u&&(c=!1,u=o+1),s>=0&&(v===l.charCodeAt(s)?-1==--s&&(f=o):(s=-1,f=u))}return h===f?f=u:-1===f&&(f=n.length),n.slice(h,f)}for(o=n.length-1;o>=0;--o)if(47===n.charCodeAt(o)){if(!c){h=o+1;break}}else-1===f&&(c=!1,f=o+1);return-1===f?'':n.slice(h,f)},extname:function(n){t(n);for(var l=-1,o=0,h=-1,f=!0,c=0,s=n.length-1;s>=0;--s){var u=n.charCodeAt(s);if(47!==u)-1===h&&(f=!1,h=s+1),46===u?-1===l?l=s:1!==c&&(c=1):-1!==l&&(c=-1);else if(!f){o=s+1;break}}return-1===l||-1===h||0===c||1===c&&l===h-1&&l===o+1?'':n.slice(l,h)},format:function(t){if(null===t||'object'!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return l('/',t)},parse:function(n){t(n);var l={root:'',dir:'',base:'',ext:'',name:''};if(0===n.length)return l;var o,h=n.charCodeAt(0),f=47===h;f?(l.root='/',o=1):o=0;for(var c=-1,s=0,u=-1,v=!0,A=n.length-1,C=0;A>=o;--A)if(47!==(h=n.charCodeAt(A)))-1===u&&(v=!1,u=A+1),46===h?-1===c?c=A:1!==C&&(C=1):-1!==c&&(C=-1);else if(!v){s=A+1;break}return-1===c||-1===u||0===C||1===C&&c===u-1&&c===s+1?-1!==u&&(l.base=l.name=0===s&&f?n.slice(1,u):n.slice(s,u)):(0===s&&f?(l.name=n.slice(1,c),l.base=n.slice(1,u)):(l.name=n.slice(s,c),l.base=n.slice(s,u)),l.ext=n.slice(c,u)),s>0?l.dir=n.slice(0,s-1):f&&(l.dir='/'),l},sep:'/',delimiter:':',win32:null,posix:null};o.posix=o,m.exports=o},424,[]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),o=r(d[1]),s=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,n=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,l=/^[a-zA-Z]:/,h=new RegExp("^[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+");function p(t){return(t||'').toString().replace(h,'')}var c=[['#','hash'],['?','query'],function(t,o){return y(o.protocol)?t.replace(/\\/g,'/'):t},['/','pathname'],['@','auth',1],[NaN,'host',void 0,1,1],[/:(\d+)$/,'port',void 0,1],[NaN,'hostname',void 0,1,1]],u={hash:1,query:1};function f(t){var o,n=('undefined'!=typeof window?window:void 0!==g?g:'undefined'!=typeof self?self:{}).location||{},l={},h=typeof(t=t||n);if('blob:'===t.protocol)l=new x(unescape(t.pathname),{});else if('string'===h)for(o in l=new x(t,{}),u)delete l[o];else if('object'===h){for(o in t)o in u||(l[o]=t[o]);void 0===l.slashes&&(l.slashes=s.test(t.href))}return l}function y(t){return'file:'===t||'ftp:'===t||'http:'===t||'https:'===t||'ws:'===t||'wss:'===t}function w(t,o){t=p(t),o=o||{};var s,l=n.exec(t),h=l[1]?l[1].toLowerCase():'',c=!!l[2],u=!!l[3],f=0;return c?u?(s=l[2]+l[3]+l[4],f=l[2].length+l[3].length):(s=l[2]+l[4],f=l[2].length):u?(s=l[3]+l[4],f=l[3].length):s=l[4],'file:'===h?f>=2&&(s=s.slice(2)):y(h)?s=l[4]:h?c&&(s=s.slice(2)):f>=2&&y(o.protocol)&&(s=l[4]),{protocol:h,slashes:c||y(h),slashesCount:f,rest:s}}function v(t,o){if(''===t)return o;for(var s=(o||'/').split('/').slice(0,-1).concat(t.split('/')),n=s.length,l=s[n-1],h=!1,p=0;n--;)'.'===s[n]?s.splice(n,1):'..'===s[n]?(s.splice(n,1),p++):p&&(0===n&&(h=!0),s.splice(n,1),p--);return h&&s.unshift(''),'.'!==l&&'..'!==l||s.push(''),s.join('/')}function x(s,n,h){if(s=p(s),!(this instanceof x))return new x(s,n,h);var u,b,A,q,C,k,j=c.slice(),z=typeof n,F=this,L=0;for('object'!==z&&'string'!==z&&(h=n,n=null),h&&'function'!=typeof h&&(h=o.parse),n=f(n),u=!(b=w(s||'',n)).protocol&&!b.slashes,F.slashes=b.slashes||u&&n.slashes,F.protocol=b.protocol||n.protocol||'',s=b.rest,('file:'===b.protocol&&(2!==b.slashesCount||l.test(s))||!b.slashes&&(b.protocol||b.slashesCount<2||!y(F.protocol)))&&(j[3]=[/(.*)/,'pathname']);L 1.8) - EXManifests - ExpoModulesCore - EXStructuredHeaders - EXUpdatesInterface - React-Core - EXUpdates/Tests (0.11.2): + - ASN1Decoder (~> 1.8) - EXManifests - ExpoModulesCore - EXStructuredHeaders @@ -2821,7 +2824,6 @@ DEPENDENCIES: - EXBrightness (from `../packages/expo-brightness/ios`) - EXCalendar (from `../packages/expo-calendar/ios`) - EXCamera (from `../packages/expo-camera/ios`) - - EXClipboard (from `../packages/expo-clipboard/ios`) - EXConstants (from `../packages/expo-constants/ios`) - EXContacts (from `../packages/expo-contacts/ios`) - EXCrypto (from `../packages/expo-crypto/ios`) @@ -2852,6 +2854,7 @@ DEPENDENCIES: - EXPermissions (from `../packages/expo-permissions/ios`) - Expo (from `../packages/expo/ios`) - ExpoCellular (from `../packages/expo-cellular/ios`) + - ExpoClipboard (from `../packages/expo-clipboard/ios`) - ExpoHaptics (from `../packages/expo-haptics/ios`) - ExpoImageManipulator (from `../packages/expo-image-manipulator/ios`) - ExpoKeepAwake (from `../packages/expo-keep-awake/ios`) @@ -2859,9 +2862,9 @@ DEPENDENCIES: - ExpoLocalization (from `../packages/expo-localization/ios`) - ExpoModulesCore (from `../packages/expo-modules-core/ios`) - ExpoModulesCore/Tests (from `../packages/expo-modules-core/ios`) + - ExpoRandom (from `../packages/expo-random/ios`) - ExpoSystemUI (from `../packages/expo-system-ui/ios`) - EXPrint (from `../packages/expo-print/ios`) - - EXRandom (from `../packages/expo-random/ios`) - EXScreenCapture (from `../packages/expo-screen-capture/ios`) - EXScreenOrientation (from `../packages/expo-screen-orientation/ios`) - EXSecureStore (from `../packages/expo-secure-store/ios`) @@ -2934,6 +2937,7 @@ SPEC REPOS: - Amplitude - Analytics - AppAuth + - ASN1Decoder - boost-for-react-native - Branch - CocoaLumberjack @@ -3634,8 +3638,6 @@ EXTERNAL SOURCES: :path: "../packages/expo-calendar/ios" EXCamera: :path: "../packages/expo-camera/ios" - EXClipboard: - :path: "../packages/expo-clipboard/ios" EXConstants: :path: "../packages/expo-constants/ios" EXContacts: @@ -3692,6 +3694,8 @@ EXTERNAL SOURCES: :path: "../packages/expo/ios" ExpoCellular: :path: "../packages/expo-cellular/ios" + ExpoClipboard: + :path: "../packages/expo-clipboard/ios" ExpoHaptics: :path: "../packages/expo-haptics/ios" ExpoImageManipulator: @@ -3704,12 +3708,12 @@ EXTERNAL SOURCES: :path: "../packages/expo-localization/ios" ExpoModulesCore: :path: "../packages/expo-modules-core/ios" + ExpoRandom: + :path: "../packages/expo-random/ios" ExpoSystemUI: :path: "../packages/expo-system-ui/ios" EXPrint: :path: "../packages/expo-print/ios" - EXRandom: - :path: "../packages/expo-random/ios" EXScreenCapture: :path: "../packages/expo-screen-capture/ios" EXScreenOrientation: @@ -4147,6 +4151,7 @@ SPEC CHECKSUMS: Amplitude: cc34fcd8dfffc3470bc2e05f3a4abb0178f6d963 Analytics: 231b01fdaa9704105881dc82def7b7b1d6571edb AppAuth: 31bcec809a638d7bd2f86ea8a52bd45f6e81e7c7 + ASN1Decoder: 6110fdeacfdb41559b1481457a1645be716610aa boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c Branch: 9a37f707974a128c37829033c49018b79c7e7a2d CocoaLumberjack: 2f44e60eb91c176d471fdba43b9e3eae6a721947 @@ -4166,7 +4171,6 @@ SPEC CHECKSUMS: EXBrightness: 29e6e3bb38c3058404d87f65f9cfaab5d5c7cbf0 EXCalendar: b821662d595ef8d5ae20c5285f4cfcc5e58ac68c EXCamera: bbc12f14b807c84f570fd2acd63159a4a9d23381 - EXClipboard: 4d6ee6f9572ef999fc323e4b99c8d180e041ad33 EXConstants: 5d18484e38e8eacef7695a82214b6ac90133dedf EXContacts: 6c1bab5a594d591ab08a992e494e52b7e19cb647 EXCrypto: e3c0853c2a9ef885928f6227b967b9598132f727 @@ -4195,15 +4199,16 @@ SPEC CHECKSUMS: EXPermissions: f4c65fa770489cbf16ea17c3013a670671525014 Expo: dcd13c848d84cf058c81b1a4289ac3a7891f61b4 ExpoCellular: f800f765c3dd91205a2b84cd4e3ea132c397cffe + ExpoClipboard: 49ded0e61313aea57df8c970a488323488dcd3a1 ExpoHaptics: c62a5fc7bba0184d0165d559fc2b0fc46168ef40 ExpoImageManipulator: 05558f43cbfa3525d6a56fc71c8f54b2ca388ea3 ExpoKeepAwake: b063bab565e7640124e37d1700831c4b723a7bc7 ExpoLinearGradient: a7f1672e1727fedc4280d56c27606f8e195b9fcc ExpoLocalization: 83582a967db52987a8479490b056d5eb9fd70552 ExpoModulesCore: 98f874d20b96d4497eb8ff9df686f14384913a30 + ExpoRandom: e1e102c8ab2bd0fe08532c0dfef012ce4b603553 ExpoSystemUI: a6ee69bdbe8bc6caf815117fb5e09330cd820448 EXPrint: 9fb70fda9501c41d4d2421f414f6e38f957d9d44 - EXRandom: 9839c2a2a02d4b594a2c5af22b5faf53b316db05 EXScreenCapture: 0146fdf6ca4c3402a1cf62b2ddb739a840e08c94 EXScreenOrientation: 35776938aaa9b6460b4df72ff96f2b35e9a4e28b EXSecureStore: fa0fdde1c81ceee2a3cb0519e649feae42767969 @@ -4218,7 +4223,7 @@ SPEC CHECKSUMS: EXStructuredHeaders: 31387a5533a33e5b5195c9b90d57eff11c264b18 EXTaskManager: 53bcb908457ff6282ffb1e31c25c0656e3725161 EXTrackingTransparency: 0622e1c7e10f5cae378f6d77dc6fdf433c9a7d81 - EXUpdates: afdd80b4c2811d54bd3cf04e2e4f15239d7cfbce + EXUpdates: be270fbdfcd531a8086504c7edecd1e9e7e29f0d EXUpdatesInterface: f459b515151bd73fff7a35366eace34a6c6a0d3f EXVideoThumbnails: 847d648d6f4bc0c1afad05caa56a487dc543445e EXWebBrowser: 37388663fa51cbfc883de2244931a5182d948e5f @@ -4299,6 +4304,6 @@ SPEC CHECKSUMS: Yoga: e6ecf3fa25af9d4c87e94ad7d5d292eedef49749 ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb -PODFILE CHECKSUM: 1c1a40349b560b1ce4aa426b37df4fe50b9262ba +PODFILE CHECKSUM: fe12df20c65765b89a1ff91df5c8ae644d695e2b COCOAPODS: 1.11.2 diff --git a/ios/Tests/AppLoader/EXAppLoaderConfigurationTestsProdService.m b/ios/Tests/AppLoader/EXAppLoaderConfigurationTestsProdService.m index 4591dbf5c11d37..e3cb5628dd6405 100644 --- a/ios/Tests/AppLoader/EXAppLoaderConfigurationTestsProdService.m +++ b/ios/Tests/AppLoader/EXAppLoaderConfigurationTestsProdService.m @@ -21,7 +21,7 @@ - (void)testIsOnErrorRecoveryRespectedInShellApp @"updates": @{ @"checkAutomatically": @"ON_ERROR_RECOVERY" }, - @"bundleUrl": @"https://d1wp6m56sqw74a.cloudfront.net/%40esamelson%2Ftest-fetch-update%2F1.0.0%2Fddf3e9977eedb14313d242302df6cf70-27.0.0-ios.js", // value doesn't matter + @"bundleUrl": @"https://classic-assets.eascdn.net/%40esamelson%2Ftest-fetch-update%2F1.0.0%2Fddf3e9977eedb14313d242302df6cf70-27.0.0-ios.js", // value doesn't matter }; EXAppLoader *appLoader = [[EXAppLoader alloc] initWithManifestUrl:[NSURL URLWithString:@"exp://exp.host/@esamelson/test-fetch-update"]]; [appLoader _fetchBundleWithManifest:manifest]; diff --git a/ios/Tests/Environment/EXEnvironmentMocks.m b/ios/Tests/Environment/EXEnvironmentMocks.m index db206d06eb0eeb..97e0a38f990d16 100644 --- a/ios/Tests/Environment/EXEnvironmentMocks.m +++ b/ios/Tests/Environment/EXEnvironmentMocks.m @@ -74,7 +74,7 @@ + (NSMutableDictionary *)infoPlist + (NSDictionary *)embeddedManifest { return @{ - @"bundleUrl": @"https://d1wp6m56sqw74a.cloudfront.net/%40community%2Fnative-component-list%2F25.1.0%2Fdbe753ef7122562ed798ee55cfa489ed-25.0.0-ios.js" + @"bundleUrl": @"https://classic-assets.eascdn.net/%40community%2Fnative-component-list%2F25.1.0%2Fdbe753ef7122562ed798ee55cfa489ed-25.0.0-ios.js" }; } diff --git a/ios/versioned-react-native/ABI42_0_0/Expo/EXUpdates/ABI42_0_0EXUpdates/Update/ABI42_0_0EXUpdatesLegacyUpdate.m b/ios/versioned-react-native/ABI42_0_0/Expo/EXUpdates/ABI42_0_0EXUpdates/Update/ABI42_0_0EXUpdatesLegacyUpdate.m index 107f3fb96b61d7..401125ef37c583 100644 --- a/ios/versioned-react-native/ABI42_0_0/Expo/EXUpdates/ABI42_0_0EXUpdates/Update/ABI42_0_0EXUpdatesLegacyUpdate.m +++ b/ios/versioned-react-native/ABI42_0_0/Expo/EXUpdates/ABI42_0_0EXUpdates/Update/ABI42_0_0EXUpdatesLegacyUpdate.m @@ -8,7 +8,7 @@ NS_ASSUME_NONNULL_BEGIN -static NSString * const ABI42_0_0EXUpdatesExpoAssetBaseUrl = @"https://d1wp6m56sqw74a.cloudfront.net/~assets/"; +static NSString * const ABI42_0_0EXUpdatesExpoAssetBaseUrl = @"https://classic-assets.eascdn.net/~assets/"; static NSString * const ABI42_0_0EXUpdatesExpoIoDomain = @"expo.io"; static NSString * const ABI42_0_0EXUpdatesExpHostDomain = @"exp.host"; static NSString * const ABI42_0_0EXUpdatesExpoTestDomain = @"expo.test"; diff --git a/ios/versioned-react-native/ABI42_0_0/Expo/EXUpdates/Tests/ABI42_0_0EXUpdatesLegacyUpdateTests.m b/ios/versioned-react-native/ABI42_0_0/Expo/EXUpdates/Tests/ABI42_0_0EXUpdatesLegacyUpdateTests.m index e9d40b52b5d03e..7c321c583f9b9b 100644 --- a/ios/versioned-react-native/ABI42_0_0/Expo/EXUpdates/Tests/ABI42_0_0EXUpdatesLegacyUpdateTests.m +++ b/ios/versioned-react-native/ABI42_0_0/Expo/EXUpdates/Tests/ABI42_0_0EXUpdatesLegacyUpdateTests.m @@ -40,7 +40,7 @@ - (void)tearDown - (void)testBundledAssetBaseUrl_ExpoDomain { ABI42_0_0EXUpdatesLegacyRawManifest *manifest = [[ABI42_0_0EXUpdatesLegacyRawManifest alloc] initWithRawManifestJSON:@{}]; - NSURL *expected = [NSURL URLWithString:@"https://d1wp6m56sqw74a.cloudfront.net/~assets/"]; + NSURL *expected = [NSURL URLWithString:@"https://classic-assets.eascdn.net/~assets/"]; XCTAssert([expected isEqual:[ABI42_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI42_0_0EXUpdatesConfig configWithDictionary:@{@"ABI42_0_0EXUpdatesURL": @"https://exp.host/@test/test"}]]]); XCTAssert([expected isEqual:[ABI42_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI42_0_0EXUpdatesConfig configWithDictionary:@{@"ABI42_0_0EXUpdatesURL": @"https://expo.io/@test/test"}]]]); XCTAssert([expected isEqual:[ABI42_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI42_0_0EXUpdatesConfig configWithDictionary:@{@"ABI42_0_0EXUpdatesURL": @"https://expo.test/@test/test"}]]]); @@ -49,7 +49,7 @@ - (void)testBundledAssetBaseUrl_ExpoDomain - (void)testBundledAssetBaseUrl_ExpoSubdomain { ABI42_0_0EXUpdatesLegacyRawManifest *manifest = [[ABI42_0_0EXUpdatesLegacyRawManifest alloc] initWithRawManifestJSON:@{}]; - NSURL *expected = [NSURL URLWithString:@"https://d1wp6m56sqw74a.cloudfront.net/~assets/"]; + NSURL *expected = [NSURL URLWithString:@"https://classic-assets.eascdn.net/~assets/"]; XCTAssert([expected isEqual:[ABI42_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI42_0_0EXUpdatesConfig configWithDictionary:@{@"ABI42_0_0EXUpdatesURL": @"https://staging.exp.host/@test/test"}]]]); XCTAssert([expected isEqual:[ABI42_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI42_0_0EXUpdatesConfig configWithDictionary:@{@"ABI42_0_0EXUpdatesURL": @"https://staging.expo.io/@test/test"}]]]); XCTAssert([expected isEqual:[ABI42_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI42_0_0EXUpdatesConfig configWithDictionary:@{@"ABI42_0_0EXUpdatesURL": @"https://staging.expo.test/@test/test"}]]]); diff --git a/ios/versioned/sdk43/EXUpdates/EXUpdates/Update/ABI43_0_0EXUpdatesLegacyUpdate.m b/ios/versioned/sdk43/EXUpdates/EXUpdates/Update/ABI43_0_0EXUpdatesLegacyUpdate.m index cf6f7ea8f25c60..77659e908f58d9 100644 --- a/ios/versioned/sdk43/EXUpdates/EXUpdates/Update/ABI43_0_0EXUpdatesLegacyUpdate.m +++ b/ios/versioned/sdk43/EXUpdates/EXUpdates/Update/ABI43_0_0EXUpdatesLegacyUpdate.m @@ -8,7 +8,7 @@ NS_ASSUME_NONNULL_BEGIN -static NSString * const ABI43_0_0EXUpdatesExpoAssetBaseUrl = @"https://d1wp6m56sqw74a.cloudfront.net/~assets/"; +static NSString * const ABI43_0_0EXUpdatesExpoAssetBaseUrl = @"https://classic-assets.eascdn.net/~assets/"; static NSString * const ABI43_0_0EXUpdatesExpoIoDomain = @"expo.io"; static NSString * const ABI43_0_0EXUpdatesExpHostDomain = @"exp.host"; static NSString * const ABI43_0_0EXUpdatesExpoTestDomain = @"expo.test"; diff --git a/ios/versioned/sdk43/EXUpdates/Tests/ABI43_0_0EXUpdatesLegacyUpdateTests.m b/ios/versioned/sdk43/EXUpdates/Tests/ABI43_0_0EXUpdatesLegacyUpdateTests.m index d5b29ff7f27cdd..582c303d0906c3 100644 --- a/ios/versioned/sdk43/EXUpdates/Tests/ABI43_0_0EXUpdatesLegacyUpdateTests.m +++ b/ios/versioned/sdk43/EXUpdates/Tests/ABI43_0_0EXUpdatesLegacyUpdateTests.m @@ -40,7 +40,7 @@ - (void)tearDown - (void)testBundledAssetBaseUrl_ExpoDomain { ABI43_0_0EXManifestsLegacyManifest *manifest = [[ABI43_0_0EXManifestsLegacyManifest alloc] initWithRawManifestJSON:@{}]; - NSURL *expected = [NSURL URLWithString:@"https://d1wp6m56sqw74a.cloudfront.net/~assets/"]; + NSURL *expected = [NSURL URLWithString:@"https://classic-assets.eascdn.net/~assets/"]; XCTAssert([expected isEqual:[ABI43_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI43_0_0EXUpdatesConfig configWithDictionary:@{@"ABI43_0_0EXUpdatesURL": @"https://exp.host/@test/test"}]]]); XCTAssert([expected isEqual:[ABI43_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI43_0_0EXUpdatesConfig configWithDictionary:@{@"ABI43_0_0EXUpdatesURL": @"https://expo.io/@test/test"}]]]); XCTAssert([expected isEqual:[ABI43_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI43_0_0EXUpdatesConfig configWithDictionary:@{@"ABI43_0_0EXUpdatesURL": @"https://expo.test/@test/test"}]]]); @@ -49,7 +49,7 @@ - (void)testBundledAssetBaseUrl_ExpoDomain - (void)testBundledAssetBaseUrl_ExpoSubdomain { ABI43_0_0EXManifestsLegacyManifest *manifest = [[ABI43_0_0EXManifestsLegacyManifest alloc] initWithRawManifestJSON:@{}]; - NSURL *expected = [NSURL URLWithString:@"https://d1wp6m56sqw74a.cloudfront.net/~assets/"]; + NSURL *expected = [NSURL URLWithString:@"https://classic-assets.eascdn.net/~assets/"]; XCTAssert([expected isEqual:[ABI43_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI43_0_0EXUpdatesConfig configWithDictionary:@{@"ABI43_0_0EXUpdatesURL": @"https://staging.exp.host/@test/test"}]]]); XCTAssert([expected isEqual:[ABI43_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI43_0_0EXUpdatesConfig configWithDictionary:@{@"ABI43_0_0EXUpdatesURL": @"https://staging.expo.io/@test/test"}]]]); XCTAssert([expected isEqual:[ABI43_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI43_0_0EXUpdatesConfig configWithDictionary:@{@"ABI43_0_0EXUpdatesURL": @"https://staging.expo.test/@test/test"}]]]); diff --git a/ios/versioned/sdk44/EXUpdates/EXUpdates/Update/ABI44_0_0EXUpdatesLegacyUpdate.m b/ios/versioned/sdk44/EXUpdates/EXUpdates/Update/ABI44_0_0EXUpdatesLegacyUpdate.m index cc0761814db590..35d2a770446cbf 100644 --- a/ios/versioned/sdk44/EXUpdates/EXUpdates/Update/ABI44_0_0EXUpdatesLegacyUpdate.m +++ b/ios/versioned/sdk44/EXUpdates/EXUpdates/Update/ABI44_0_0EXUpdatesLegacyUpdate.m @@ -8,7 +8,7 @@ NS_ASSUME_NONNULL_BEGIN -static NSString * const ABI44_0_0EXUpdatesExpoAssetBaseUrl = @"https://d1wp6m56sqw74a.cloudfront.net/~assets/"; +static NSString * const ABI44_0_0EXUpdatesExpoAssetBaseUrl = @"https://classic-assets.eascdn.net/~assets/"; static NSString * const ABI44_0_0EXUpdatesExpoIoDomain = @"expo.io"; static NSString * const ABI44_0_0EXUpdatesExpHostDomain = @"exp.host"; static NSString * const ABI44_0_0EXUpdatesExpoTestDomain = @"expo.test"; diff --git a/ios/versioned/sdk44/EXUpdates/Tests/ABI44_0_0EXUpdatesLegacyUpdateTests.m b/ios/versioned/sdk44/EXUpdates/Tests/ABI44_0_0EXUpdatesLegacyUpdateTests.m index b525999edaf5b5..b94720bcffcf46 100644 --- a/ios/versioned/sdk44/EXUpdates/Tests/ABI44_0_0EXUpdatesLegacyUpdateTests.m +++ b/ios/versioned/sdk44/EXUpdates/Tests/ABI44_0_0EXUpdatesLegacyUpdateTests.m @@ -40,7 +40,7 @@ - (void)tearDown - (void)testBundledAssetBaseUrl_ExpoDomain { ABI44_0_0EXManifestsLegacyManifest *manifest = [[ABI44_0_0EXManifestsLegacyManifest alloc] initWithRawManifestJSON:@{}]; - NSURL *expected = [NSURL URLWithString:@"https://d1wp6m56sqw74a.cloudfront.net/~assets/"]; + NSURL *expected = [NSURL URLWithString:@"https://classic-assets.eascdn.net/~assets/"]; XCTAssert([expected isEqual:[ABI44_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI44_0_0EXUpdatesConfig configWithDictionary:@{@"ABI44_0_0EXUpdatesURL": @"https://exp.host/@test/test"}]]]); XCTAssert([expected isEqual:[ABI44_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI44_0_0EXUpdatesConfig configWithDictionary:@{@"ABI44_0_0EXUpdatesURL": @"https://expo.io/@test/test"}]]]); XCTAssert([expected isEqual:[ABI44_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI44_0_0EXUpdatesConfig configWithDictionary:@{@"ABI44_0_0EXUpdatesURL": @"https://expo.test/@test/test"}]]]); @@ -49,7 +49,7 @@ - (void)testBundledAssetBaseUrl_ExpoDomain - (void)testBundledAssetBaseUrl_ExpoSubdomain { ABI44_0_0EXManifestsLegacyManifest *manifest = [[ABI44_0_0EXManifestsLegacyManifest alloc] initWithRawManifestJSON:@{}]; - NSURL *expected = [NSURL URLWithString:@"https://d1wp6m56sqw74a.cloudfront.net/~assets/"]; + NSURL *expected = [NSURL URLWithString:@"https://classic-assets.eascdn.net/~assets/"]; XCTAssert([expected isEqual:[ABI44_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI44_0_0EXUpdatesConfig configWithDictionary:@{@"ABI44_0_0EXUpdatesURL": @"https://staging.exp.host/@test/test"}]]]); XCTAssert([expected isEqual:[ABI44_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI44_0_0EXUpdatesConfig configWithDictionary:@{@"ABI44_0_0EXUpdatesURL": @"https://staging.expo.io/@test/test"}]]]); XCTAssert([expected isEqual:[ABI44_0_0EXUpdatesLegacyUpdate bundledAssetBaseUrlWithManifest:manifest config:[ABI44_0_0EXUpdatesConfig configWithDictionary:@{@"ABI44_0_0EXUpdatesURL": @"https://staging.expo.test/@test/test"}]]]); diff --git a/package.json b/package.json index ea1b576d86d73b..d736c6f9846353 100644 --- a/package.json +++ b/package.json @@ -16,18 +16,16 @@ "apps/*", "apps/test-suite/puppeteer-test", "home", - "packages/*", - "packages/@unimodules/*", - "react-native-lab/react-native" + "packages/*" ] }, "resolutions": { - "react-native": "0.64.3", + "react-native": "0.66.4", "**/util": "~0.12.4" }, "dependencies": { "@expo/config-types": "^43.0.1", - "eslint": "^7.31.0", + "eslint": "^8.6.0", "expo-yarn-workspaces": "*", "jsc-android": "^245459.0.0", "prettier": "^2.4.1", diff --git a/packages/@unimodules/core/.eslintrc.js b/packages/@unimodules/core/.eslintrc.js deleted file mode 100644 index 2720197860feb8..00000000000000 --- a/packages/@unimodules/core/.eslintrc.js +++ /dev/null @@ -1,2 +0,0 @@ -// @generated by expo-module-scripts -module.exports = require('expo-module-scripts/eslintrc.base.js'); diff --git a/packages/@unimodules/core/.npmignore b/packages/@unimodules/core/.npmignore deleted file mode 100644 index 3aab27ea1658ff..00000000000000 --- a/packages/@unimodules/core/.npmignore +++ /dev/null @@ -1,11 +0,0 @@ -# @generated by expo-module-scripts - -# Exclude all top-level hidden directories by convention -/.*/ - -__mocks__ -__tests__ - -/babel.config.js -/android/src/androidTest/ -/android/src/test/ diff --git a/packages/@unimodules/core/CHANGELOG.md b/packages/@unimodules/core/CHANGELOG.md deleted file mode 100644 index 9f3c0934581f80..00000000000000 --- a/packages/@unimodules/core/CHANGELOG.md +++ /dev/null @@ -1,90 +0,0 @@ -# Changelog - -## Unpublished - -### ๐Ÿ›  Breaking changes - -### ๐ŸŽ‰ New features - -### ๐Ÿ› Bug fixes - -### ๐Ÿ’ก Others - -## 7.2.0 โ€” 2021-09-28 - -### ๐Ÿ›  Breaking changes - -- Dropped support for iOS 11.0 ([#14383](https://github.com/expo/expo/pull/14383) by [@cruzach](https://github.com/cruzach)) - -### ๐Ÿ› Bug fixes - -- Fix building errors from use_frameworks! in Podfile. ([#14523](https://github.com/expo/expo/pull/14523) by [@kudo](https://github.com/kudo)) - -## 7.2.0-alpha.0 โ€” 2021-08-17 - -### โš ๏ธ Deprecated - -`@unimodules/core`, `@unimodules/react-native-adapter` and `react-native-unimodules` are now deprecated in favor of `expo`. Follow this guide to migrate your apps: https://expo.fyi/expo-modules-migration - -## 7.1.1 โ€” 2021-05-25 - -### ๐Ÿ’ก Others - -- Replaced clang's `typeof` with `__typeof` that works with both C++ and GNU++. (by [@tsapeta](https://github.com/tsapeta)) - -## 7.1.0 โ€” 2021-03-10 - -### ๐ŸŽ‰ New features - -- Updated Android build configuration to target Android 11 (added support for Android SDK 30). ([#11647](https://github.com/expo/expo/pull/11647) by [@bbarthec](https://github.com/bbarthec)) - -## 7.0.0 โ€” 2020-12-15 - -### โš ๏ธ Notices - -- The package is now shipped with prebuilt binaries on iOS. You can read more about it on [expo.fyi/prebuilt-modules](https://expo.fyi/prebuilt-modules). ([#11224](https://github.com/expo/expo/pull/11224) by [@tsapeta](https://github.com/tsapeta)) - -### ๐Ÿ›  Breaking changes - -- Dropped support for iOS 10.0 ([#11344](https://github.com/expo/expo/pull/11344) by [@tsapeta](https://github.com/tsapeta)) - -## 6.0.0 โ€” 2020-11-17 - -### ๐Ÿ›  Breaking changes - -- Removed `org.unimodules.core.InvalidArgumentException`. Please use its coded version, `org.unimodules.core.errors.InvalidArgumentException`, instead. ([#9961](https://github.com/expo/expo/pull/9961) by [@sjchmiela](https://github.com/sjchmiela)) - -### ๐Ÿ› Bug fixes - -- Fixed the `DoNotStrip` annotation not working with classes. ([#10421](https://github.com/expo/expo/pull/10421) by [@lukmccall](https://github.com/lukmccall)) - -## 5.5.0 โ€” 2020-08-11 - -### ๐ŸŽ‰ New features - -- Expo modules applying `unimodules-core.gradle` now automatically depend on `unimodule-test-core` project in Android test flavors if the `src/test` directory exists in the module project. (In packages published to NPM the directory should not be present, so there's no need to change anything in users' projects.) ([#8881](https://github.com/expo/expo/pull/8881) by [@mczernek](https://github.com/mczernek)) -- App delegates can now handle background URL session events via `application:handleEventsForBackgroundURLSession:completionHandler:` method on iOS. ([#8599](https://github.com/expo/expo/pull/8599) by [@lukmccall](https://github.com/lukmccall)) - -## 5.3.0 โ€” 2020-05-29 - -### ๐Ÿ› Bug fixes - -- Fixed a bug in `UMAppDelegateWrapper` when it's used with Swift. ([#8526](https://github.com/expo/expo/pull/8526) by [@EvanBacon](https://github.com/EvanBacon)) - -## 5.2.0 โ€” 2020-05-27 - -### ๐Ÿ› Bug fixes - -- Fixed error when serializing a `Map` containing a `null` ([#8153](https://github.com/expo/expo/pull/8153) by [@sjchmiela](https://github.com/sjchmiela)) -- Fixed _unused variable_ warnings in `UMAppDelegateWrapper` ([#8467](https://github.com/expo/expo/pull/8467) by [@sjchmiela](https://github.com/sjchmiela)) - -## 5.1.1 - 2020-05-05 - -### ๐Ÿ›  Breaking changes - -### ๐ŸŽ‰ New features - -### ๐Ÿ› Bug fixes - -- Fixed a rare undetermined behavior that may have been a result of misuse of `dispatch_once_t` on iOS ([#7576](https://github.com/expo/expo/pull/7576) by [@sjchmiela](https://github.com/sjchmiela)) -- Fixed error when serializing a `Map` containing a `Bundle` ([#8068](https://github.com/expo/expo/pull/8068) by [@sjchmiela](https://github.com/sjchmiela)) diff --git a/packages/@unimodules/react-native-adapter/.eslintrc.js b/packages/@unimodules/react-native-adapter/.eslintrc.js deleted file mode 100644 index 2720197860feb8..00000000000000 --- a/packages/@unimodules/react-native-adapter/.eslintrc.js +++ /dev/null @@ -1,2 +0,0 @@ -// @generated by expo-module-scripts -module.exports = require('expo-module-scripts/eslintrc.base.js'); diff --git a/packages/@unimodules/react-native-adapter/.npmignore b/packages/@unimodules/react-native-adapter/.npmignore deleted file mode 100644 index 3aab27ea1658ff..00000000000000 --- a/packages/@unimodules/react-native-adapter/.npmignore +++ /dev/null @@ -1,11 +0,0 @@ -# @generated by expo-module-scripts - -# Exclude all top-level hidden directories by convention -/.*/ - -__mocks__ -__tests__ - -/babel.config.js -/android/src/androidTest/ -/android/src/test/ diff --git a/packages/@unimodules/react-native-adapter/CHANGELOG.md b/packages/@unimodules/react-native-adapter/CHANGELOG.md deleted file mode 100644 index 230588685c8382..00000000000000 --- a/packages/@unimodules/react-native-adapter/CHANGELOG.md +++ /dev/null @@ -1,114 +0,0 @@ -# Changelog - -## Unpublished - -### ๐Ÿ›  Breaking changes - -### ๐ŸŽ‰ New features - -### ๐Ÿ› Bug fixes - -### ๐Ÿ’ก Others - -## 6.5.0 โ€” 2021-09-28 - -### ๐Ÿ›  Breaking changes - -- Dropped support for iOS 11.0 ([#14383](https://github.com/expo/expo/pull/14383) by [@cruzach](https://github.com/cruzach)) - -### ๐Ÿ› Bug fixes - -- Fix building errors from use_frameworks! in Podfile. ([#14523](https://github.com/expo/expo/pull/14523) by [@kudo](https://github.com/kudo)) - -## 6.5.0-alpha.0 โ€” 2021-08-17 - -### โš ๏ธ Deprecated - -`@unimodules/core`, `@unimodules/react-native-adapter` and `react-native-unimodules` are now deprecated in favor of `expo`. Follow this guide to migrate your apps: https://expo.fyi/expo-modules-migration - -## 6.4.0 โ€” 2021-07-05 - -### ๐ŸŽ‰ New features - -- Use stable manifest ID where applicable. ([#12964](https://github.com/expo/expo/pull/12964) by [@wschurman](https://github.com/wschurman)) - -### ๐Ÿ› Bug fixes - -- Escape Android autolinking script for Windows. ([#13494](https://github.com/expo/expo/pull/13494) by [@byCedric](https://github.com/byCedric)) - -## 6.3.0 โ€” 2021-05-25 - -- Include missing `UMPermissionsInterface` dependency in the podspec. ([#12862](https://github.com/expo/expo/pull/12862) by [@budiTjendra](https://github.com/budiTjendra)) - -### ๐ŸŽ‰ New features - -- Added CocoaPods & Gradle scripts to use new autolinking implementation (opt-in feature). ([#11593](https://github.com/expo/expo/pull/11593) by [@tsapeta](https://github.com/tsapeta)) - -### ๐Ÿ’ก Others - -- Build Android code using Java 8 to fix Android instrumented test build error. ([#12939](https://github.com/expo/expo/pull/12939) by [@kudo](https://github.com/kudo)) - -## 6.2.2 โ€” 2021-04-13 - -### ๐ŸŽ‰ New features - -- Removed `lodash` ([#12507](https://github.com/expo/expo/pull/12507) by [@EvanBacon](https://github.com/EvanBacon)) - -## 6.2.1 โ€” 2021-03-30 - -_This version does not introduce any user-facing changes._ - -## 6.2.0 โ€” 2021-03-10 - -### ๐ŸŽ‰ New features - -- Updated Android build configuration to target Android 11 (added support for Android SDK 30). ([#11647](https://github.com/expo/expo/pull/11647) by [@bbarthec](https://github.com/bbarthec)) - -## 6.1.0 โ€” 2021-01-15 - -### ๐ŸŽ‰ New features - -- Added `Platform.canUseEventListeners` and `Platform.canUseViewport` methods. ([#11398](https://github.com/expo/expo/pull/11398) by [@cruzach](https://github.com/cruzach)) - -## 6.0.0 โ€” 2020-12-15 - -### โš ๏ธ Notices - -- The package is now shipped with prebuilt binaries on iOS. You can read more about it on [expo.fyi/prebuilt-modules](https://expo.fyi/prebuilt-modules). ([#11224](https://github.com/expo/expo/pull/11224) by [@tsapeta](https://github.com/tsapeta)) - -### ๐Ÿ›  Breaking changes - -- Dropped support for iOS 10.0 ([#11344](https://github.com/expo/expo/pull/11344) by [@tsapeta](https://github.com/tsapeta)) - -## 5.7.0 โ€” 2020-11-17 - -### ๐Ÿ› Bug fixes - -- Fixed invalid numbers of listeners being considered unregistered on iOS, resulting in _Attempted to remove more '{ModuleName}' listeners than added._ errors. ([#10771](https://github.com/expo/expo/pull/10771) by [@sjchmiela](https://github.com/sjchmiela)) - -## 5.6.0 โ€” 2020-08-18 - -_This version does not introduce any user-facing changes._ - -## 5.5.0 โ€” 2020-08-11 - -### ๐Ÿ›  Breaking changes - -- Deprecate `RCTDeviceEventEmitter` in favor of the renamed `DeviceEventEmitter`. ([#8826](https://github.com/expo/expo/pull/8826) by [@EvanBacon](https://github.com/EvanBacon)) - -### ๐ŸŽ‰ New features - -- Remove `prop-types` ([#8681](https://github.com/expo/expo/pull/8681) by [@EvanBacon](https://github.com/EvanBacon)) -- Add `Platform.isDOMAvailable` to detect web browser environments. ([#8645](https://github.com/expo/expo/pull/8645) by [@EvanBacon](https://github.com/EvanBacon)) -- Add `Platform.select()` method to switch values between platforms. ([#8645](https://github.com/expo/expo/pull/8645) by [@EvanBacon](https://github.com/EvanBacon)) -- Upgrade to `react-native-web@~0.12`. ([#9023](https://github.com/expo/expo/pull/9023) by [@EvanBacon](https://github.com/EvanBacon)) - -## 5.4.0 โ€” 2020-05-29 - -### ๐Ÿ› Bug fixes - -- Made it possible for SSR (node) environments that don't bundle using platform extensions to work without resolving native code. ([#8502](https://github.com/expo/expo/pull/8502) by [@EvanBacon](https://github.com/EvanBacon)) - -## 5.3.0 โ€” 2020-05-27 - -_This version does not introduce any user-facing changes._ diff --git a/packages/babel-preset-expo/CHANGELOG.md b/packages/babel-preset-expo/CHANGELOG.md index 3f13504f175614..e69d0eef9ce133 100644 --- a/packages/babel-preset-expo/CHANGELOG.md +++ b/packages/babel-preset-expo/CHANGELOG.md @@ -10,6 +10,10 @@ ### ๐Ÿ’ก Others +### ๐Ÿ“š 3rd party library updates + +- Upgrade to react-native 0.66. ([#15914](https://github.com/expo/expo/pull/15914) by [@kudo](https://github.com/kudo)) + ## 9.0.2 โ€” 2021-12-15 ### ๐Ÿ› Bug fixes diff --git a/packages/babel-preset-expo/package.json b/packages/babel-preset-expo/package.json index f3c9b326e8f793..42984504334d85 100644 --- a/packages/babel-preset-expo/package.json +++ b/packages/babel-preset-expo/package.json @@ -50,7 +50,7 @@ "@babel/preset-env": "^7.12.9", "babel-plugin-module-resolver": "^4.1.0", "babel-plugin-react-native-web": "~0.17.1", - "metro-react-native-babel-preset": "~0.64.0" + "metro-react-native-babel-preset": "~0.66.2" }, "devDependencies": { "@babel/core": "^7.12.9", diff --git a/packages/create-expo-module/build/create-expo-module.js b/packages/create-expo-module/build/create-expo-module.js index ab6bb8aa73d89c..a80cbb9630c8cd 100644 --- a/packages/create-expo-module/build/create-expo-module.js +++ b/packages/create-expo-module/build/create-expo-module.js @@ -26,11 +26,13 @@ async function main(target, options) { const targetDir = target ? path_1.default.join(CWD, target) : CWD; options.target = targetDir; await fs_extra_1.default.ensureDir(targetDir); + const data = await askForSubstitutionDataAsync(targetDir, options); + const packageManager = await selectPackageManagerAsync(); const packagePath = options.source ? path_1.default.join(CWD, options.source) : await downloadPackageAsync(targetDir); const files = await getFilesAsync(packagePath); - const data = await askForSubstitutionDataAsync(targetDir, options); + console.log('๐ŸŽจ Creating Expo module from the template files...'); // Iterate through all template files. for (const file of files) { const renderedRelativePath = ejs_1.default.render(file.replace(/^\$/, ''), data, { @@ -55,10 +57,9 @@ async function main(target, options) { if (!options.withChangelog) { await fs_extra_1.default.remove(path_1.default.join(targetDir, 'CHANGELOG.md')); } - // Build TypeScript files. - await (0, spawn_async_1.default)('npm', ['run', 'build'], { - cwd: targetDir, - }); + // Install dependencies and build + await postActionsAsync(packageManager, targetDir); + console.log('โœ… Successfully created Expo module'); } /** * Recursively scans for the files within the directory. Returned paths are relative to the `root` path. @@ -106,12 +107,43 @@ async function npmWhoamiAsync(targetDir) { */ async function downloadPackageAsync(targetDir) { const tarballUrl = await getNpmTarballUrl('expo-module-template'); + console.log('โฌ‡๏ธ Downloading module template from npm...'); await (0, download_tarball_1.default)({ url: tarballUrl, dir: targetDir, }); return path_1.default.join(targetDir, 'package'); } +/** + * Asks whether to use Yarn or npm as a dependency package manager. + */ +async function selectPackageManagerAsync() { + const { packageManager } = await (0, prompts_1.default)({ + type: 'select', + name: 'packageManager', + message: 'Which package manager do you want to use to install dependencies?', + choices: [ + { title: 'yarn', value: 'yarn' }, + { title: 'npm', value: 'npm' }, + ], + }); + return packageManager; +} +/** + * Installs dependencies and builds TypeScript files. + */ +async function postActionsAsync(packageManager, targetDir) { + async function run(...args) { + await (0, spawn_async_1.default)(packageManager, args, { + cwd: targetDir, + stdio: 'ignore', + }); + } + console.log('๐Ÿ“ฆ Installing dependencies...'); + await run('install'); + console.log('๐Ÿ›  Compiling TypeScript files...'); + await run('run', 'build'); +} /** * Asks the user for some data necessary to render the template. * Some values may already be provided by command options, the prompt is skipped in that case. diff --git a/packages/create-expo-module/build/create-expo-module.js.map b/packages/create-expo-module/build/create-expo-module.js.map index eca03a803041c6..33f8ce1275d37a 100644 --- a/packages/create-expo-module/build/create-expo-module.js.map +++ b/packages/create-expo-module/build/create-expo-module.js.map @@ -1 +1 @@ -{"version":3,"file":"create-expo-module.js","sourceRoot":"","sources":["../src/create-expo-module.ts"],"names":[],"mappings":"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","sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport { Command } from 'commander';\nimport downloadTarball from 'download-tarball';\nimport ejs from 'ejs';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport prompts, { PromptObject } from 'prompts';\n\nconst packageJson = require('../package.json');\n\n// `yarn run` may change the current working dir, then we should use `INIT_CWD` env.\nconst CWD = process.env.INIT_CWD || process.cwd();\n\n// Ignore some paths. Especially `package.json` as it is rendered\n// from `$package.json` file instead of the original one.\nconst IGNORES_PATHS = ['.DS_Store', 'build', 'node_modules', 'package.json'];\n\n/**\n * Possible command options.\n */\ntype CommandOptions = {\n target: string;\n source?: string;\n name?: string;\n description?: string;\n package?: string;\n author?: string;\n license?: string;\n repo?: string;\n withReadme: boolean;\n withChangelog: boolean;\n};\n\n/**\n * Represents an object that is passed to `ejs` when rendering the template.\n */\ntype SubstitutionData = {\n project: {\n slug: string;\n name: string;\n version: string;\n description: string;\n package: string;\n };\n author: string;\n license: string;\n repo: string;\n};\n\ntype CustomPromptObject = PromptObject & {\n name: string;\n resolvedValue?: string | null;\n};\n\n/**\n * The main function of the command.\n *\n * @param target Path to the directory where to create the module. Defaults to current working dir.\n * @param command An object from `commander`.\n */\nasync function main(target: string | undefined, options: CommandOptions) {\n const targetDir = target ? path.join(CWD, target) : CWD;\n\n options.target = targetDir;\n await fs.ensureDir(targetDir);\n\n const packagePath = options.source\n ? path.join(CWD, options.source)\n : await downloadPackageAsync(targetDir);\n const files = await getFilesAsync(packagePath);\n const data = await askForSubstitutionDataAsync(targetDir, options);\n\n // Iterate through all template files.\n for (const file of files) {\n const renderedRelativePath = ejs.render(file.replace(/^\\$/, ''), data, {\n openDelimiter: '{',\n closeDelimiter: '}',\n escape: (value: string) => value.replace('.', path.sep),\n });\n const fromPath = path.join(packagePath, file);\n const toPath = path.join(targetDir, renderedRelativePath);\n const template = await fs.readFile(fromPath, { encoding: 'utf8' });\n const renderedContent = ejs.render(template, data);\n\n await fs.outputFile(toPath, renderedContent, { encoding: 'utf8' });\n }\n\n if (!options.source) {\n // Files in the downloaded tarball are wrapped in `package` dir.\n // We should remove it after all.\n await fs.remove(packagePath);\n }\n if (!options.withReadme) {\n await fs.remove(path.join(targetDir, 'README.md'));\n }\n if (!options.withChangelog) {\n await fs.remove(path.join(targetDir, 'CHANGELOG.md'));\n }\n\n // Build TypeScript files.\n await spawnAsync('npm', ['run', 'build'], {\n cwd: targetDir,\n });\n}\n\n/**\n * Recursively scans for the files within the directory. Returned paths are relative to the `root` path.\n */\nasync function getFilesAsync(root: string, dir: string | null = null): Promise {\n const files: string[] = [];\n const baseDir = dir ? path.join(root, dir) : root;\n\n for (const file of await fs.readdir(baseDir)) {\n const relativePath = dir ? path.join(dir, file) : file;\n\n if (IGNORES_PATHS.includes(relativePath) || IGNORES_PATHS.includes(file)) {\n continue;\n }\n\n const fullPath = path.join(baseDir, file);\n const stat = await fs.lstat(fullPath);\n\n if (stat.isDirectory()) {\n files.push(...(await getFilesAsync(root, relativePath)));\n } else {\n files.push(relativePath);\n }\n }\n return files;\n}\n\n/**\n * Asks NPM registry for the url to the tarball.\n */\nasync function getNpmTarballUrl(packageName: string, version: string = 'latest'): Promise {\n const { stdout } = await spawnAsync('npm', ['view', `${packageName}@${version}`, 'dist.tarball']);\n return stdout.trim();\n}\n\n/**\n * Gets the username of currently logged in user. Used as a default in the prompt asking for the module author.\n */\nasync function npmWhoamiAsync(targetDir: string): Promise {\n try {\n const { stdout } = await spawnAsync('npm', ['whoami'], { cwd: targetDir });\n return stdout.trim();\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Downloads the template from NPM registry.\n */\nasync function downloadPackageAsync(targetDir: string): Promise {\n const tarballUrl = await getNpmTarballUrl('expo-module-template');\n\n await downloadTarball({\n url: tarballUrl,\n dir: targetDir,\n });\n return path.join(targetDir, 'package');\n}\n\n/**\n * Asks the user for some data necessary to render the template.\n * Some values may already be provided by command options, the prompt is skipped in that case.\n */\nasync function askForSubstitutionDataAsync(\n targetDir: string,\n options: CommandOptions\n): Promise {\n const defaultPackageSlug = path.basename(targetDir);\n const defaultProjectName = defaultPackageSlug\n .replace(/^./, (match) => match.toUpperCase())\n .replace(/\\W+(\\w)/g, (_, p1) => p1.toUpperCase());\n\n const promptQueries: CustomPromptObject[] = [\n {\n type: 'text',\n name: 'slug',\n message: 'What is the package slug?',\n initial: defaultPackageSlug,\n resolvedValue: options.target ? defaultPackageSlug : null,\n },\n {\n type: 'text',\n name: 'name',\n message: 'What is the project name?',\n initial: defaultProjectName,\n },\n {\n type: 'text',\n name: 'description',\n message: 'How would you describe the module?',\n },\n {\n type: 'text',\n name: 'package',\n message: 'What is the Android package name?',\n initial: `expo.modules.${defaultPackageSlug.replace(/\\W/g, '').toLowerCase()}`,\n },\n {\n type: 'text',\n name: 'author',\n message: 'Who is the author?',\n initial: (await npmWhoamiAsync(targetDir)) ?? '',\n },\n {\n type: 'text',\n name: 'license',\n message: 'What is the license?',\n initial: 'MIT',\n },\n {\n type: 'text',\n name: 'repo',\n message: 'What is the repository URL?',\n },\n ];\n\n const answers: Record = {};\n for (const query of promptQueries) {\n const { name, resolvedValue } = query;\n answers[name] = resolvedValue ?? options[name] ?? (await prompts(query))[name];\n }\n\n const { slug, name, description, package: projectPackage, author, license, repo } = answers;\n\n return {\n project: {\n slug,\n name,\n version: '0.1.0',\n description,\n package: projectPackage,\n },\n author,\n license,\n repo,\n };\n}\n\nconst program = new Command();\n\nprogram\n .name(packageJson.name)\n .version(packageJson.version)\n .description(packageJson.description)\n .arguments('[target_dir]')\n .option(\n '-s, --source ',\n 'Local path to the template. By default it downloads `expo-module-template` from NPM.'\n )\n .option('-n, --name ', 'Name of the native module.')\n .option('-d, --description ', 'Description of the module.')\n .option('-p, --package ', 'The Android package name.')\n .option('-a, --author ', 'The author name.')\n .option('-l, --license ', 'The license that the module is distributed with.')\n .option('-r, --repo ', 'The URL to the repository.')\n .option('--with-readme', 'Whether to include README.md file.', false)\n .option('--with-changelog', 'Whether to include CHANGELOG.md file.', false)\n .action(main);\n\nprogram.parse(process.argv);\n"]} \ No newline at end of file +{"version":3,"file":"create-expo-module.js","sourceRoot":"","sources":["../src/create-expo-module.ts"],"names":[],"mappings":"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","sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport { Command } from 'commander';\nimport downloadTarball from 'download-tarball';\nimport ejs from 'ejs';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport prompts, { PromptObject } from 'prompts';\n\nconst packageJson = require('../package.json');\n\n// `yarn run` may change the current working dir, then we should use `INIT_CWD` env.\nconst CWD = process.env.INIT_CWD || process.cwd();\n\n// Ignore some paths. Especially `package.json` as it is rendered\n// from `$package.json` file instead of the original one.\nconst IGNORES_PATHS = ['.DS_Store', 'build', 'node_modules', 'package.json'];\n\n/**\n * Possible command options.\n */\ntype CommandOptions = {\n target: string;\n source?: string;\n name?: string;\n description?: string;\n package?: string;\n author?: string;\n license?: string;\n repo?: string;\n withReadme: boolean;\n withChangelog: boolean;\n};\n\n/**\n * Represents an object that is passed to `ejs` when rendering the template.\n */\ntype SubstitutionData = {\n project: {\n slug: string;\n name: string;\n version: string;\n description: string;\n package: string;\n };\n author: string;\n license: string;\n repo: string;\n};\n\ntype CustomPromptObject = PromptObject & {\n name: string;\n resolvedValue?: string | null;\n};\n\ntype PackageManager = 'npm' | 'yarn';\n\n/**\n * The main function of the command.\n *\n * @param target Path to the directory where to create the module. Defaults to current working dir.\n * @param command An object from `commander`.\n */\nasync function main(target: string | undefined, options: CommandOptions) {\n const targetDir = target ? path.join(CWD, target) : CWD;\n\n options.target = targetDir;\n await fs.ensureDir(targetDir);\n\n const data = await askForSubstitutionDataAsync(targetDir, options);\n const packageManager = await selectPackageManagerAsync();\n const packagePath = options.source\n ? path.join(CWD, options.source)\n : await downloadPackageAsync(targetDir);\n const files = await getFilesAsync(packagePath);\n\n console.log('๐ŸŽจ Creating Expo module from the template files...');\n\n // Iterate through all template files.\n for (const file of files) {\n const renderedRelativePath = ejs.render(file.replace(/^\\$/, ''), data, {\n openDelimiter: '{',\n closeDelimiter: '}',\n escape: (value: string) => value.replace('.', path.sep),\n });\n const fromPath = path.join(packagePath, file);\n const toPath = path.join(targetDir, renderedRelativePath);\n const template = await fs.readFile(fromPath, { encoding: 'utf8' });\n const renderedContent = ejs.render(template, data);\n\n await fs.outputFile(toPath, renderedContent, { encoding: 'utf8' });\n }\n\n if (!options.source) {\n // Files in the downloaded tarball are wrapped in `package` dir.\n // We should remove it after all.\n await fs.remove(packagePath);\n }\n if (!options.withReadme) {\n await fs.remove(path.join(targetDir, 'README.md'));\n }\n if (!options.withChangelog) {\n await fs.remove(path.join(targetDir, 'CHANGELOG.md'));\n }\n\n // Install dependencies and build\n await postActionsAsync(packageManager, targetDir);\n\n console.log('โœ… Successfully created Expo module');\n}\n\n/**\n * Recursively scans for the files within the directory. Returned paths are relative to the `root` path.\n */\nasync function getFilesAsync(root: string, dir: string | null = null): Promise {\n const files: string[] = [];\n const baseDir = dir ? path.join(root, dir) : root;\n\n for (const file of await fs.readdir(baseDir)) {\n const relativePath = dir ? path.join(dir, file) : file;\n\n if (IGNORES_PATHS.includes(relativePath) || IGNORES_PATHS.includes(file)) {\n continue;\n }\n\n const fullPath = path.join(baseDir, file);\n const stat = await fs.lstat(fullPath);\n\n if (stat.isDirectory()) {\n files.push(...(await getFilesAsync(root, relativePath)));\n } else {\n files.push(relativePath);\n }\n }\n return files;\n}\n\n/**\n * Asks NPM registry for the url to the tarball.\n */\nasync function getNpmTarballUrl(packageName: string, version: string = 'latest'): Promise {\n const { stdout } = await spawnAsync('npm', ['view', `${packageName}@${version}`, 'dist.tarball']);\n return stdout.trim();\n}\n\n/**\n * Gets the username of currently logged in user. Used as a default in the prompt asking for the module author.\n */\nasync function npmWhoamiAsync(targetDir: string): Promise {\n try {\n const { stdout } = await spawnAsync('npm', ['whoami'], { cwd: targetDir });\n return stdout.trim();\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Downloads the template from NPM registry.\n */\nasync function downloadPackageAsync(targetDir: string): Promise {\n const tarballUrl = await getNpmTarballUrl('expo-module-template');\n\n console.log('โฌ‡๏ธ Downloading module template from npm...');\n\n await downloadTarball({\n url: tarballUrl,\n dir: targetDir,\n });\n return path.join(targetDir, 'package');\n}\n\n/**\n * Asks whether to use Yarn or npm as a dependency package manager.\n */\nasync function selectPackageManagerAsync(): Promise {\n const { packageManager } = await prompts({\n type: 'select',\n name: 'packageManager',\n message: 'Which package manager do you want to use to install dependencies?',\n choices: [\n { title: 'yarn', value: 'yarn' },\n { title: 'npm', value: 'npm' },\n ],\n });\n return packageManager;\n}\n\n/**\n * Installs dependencies and builds TypeScript files.\n */\nasync function postActionsAsync(packageManager: PackageManager, targetDir: string) {\n async function run(...args: string[]) {\n await spawnAsync(packageManager, args, {\n cwd: targetDir,\n stdio: 'ignore',\n });\n }\n\n console.log('๐Ÿ“ฆ Installing dependencies...');\n await run('install');\n\n console.log('๐Ÿ›  Compiling TypeScript files...');\n await run('run', 'build');\n}\n\n/**\n * Asks the user for some data necessary to render the template.\n * Some values may already be provided by command options, the prompt is skipped in that case.\n */\nasync function askForSubstitutionDataAsync(\n targetDir: string,\n options: CommandOptions\n): Promise {\n const defaultPackageSlug = path.basename(targetDir);\n const defaultProjectName = defaultPackageSlug\n .replace(/^./, (match) => match.toUpperCase())\n .replace(/\\W+(\\w)/g, (_, p1) => p1.toUpperCase());\n\n const promptQueries: CustomPromptObject[] = [\n {\n type: 'text',\n name: 'slug',\n message: 'What is the package slug?',\n initial: defaultPackageSlug,\n resolvedValue: options.target ? defaultPackageSlug : null,\n },\n {\n type: 'text',\n name: 'name',\n message: 'What is the project name?',\n initial: defaultProjectName,\n },\n {\n type: 'text',\n name: 'description',\n message: 'How would you describe the module?',\n },\n {\n type: 'text',\n name: 'package',\n message: 'What is the Android package name?',\n initial: `expo.modules.${defaultPackageSlug.replace(/\\W/g, '').toLowerCase()}`,\n },\n {\n type: 'text',\n name: 'author',\n message: 'Who is the author?',\n initial: (await npmWhoamiAsync(targetDir)) ?? '',\n },\n {\n type: 'text',\n name: 'license',\n message: 'What is the license?',\n initial: 'MIT',\n },\n {\n type: 'text',\n name: 'repo',\n message: 'What is the repository URL?',\n },\n ];\n\n const answers: Record = {};\n for (const query of promptQueries) {\n const { name, resolvedValue } = query;\n answers[name] = resolvedValue ?? options[name] ?? (await prompts(query))[name];\n }\n\n const { slug, name, description, package: projectPackage, author, license, repo } = answers;\n\n return {\n project: {\n slug,\n name,\n version: '0.1.0',\n description,\n package: projectPackage,\n },\n author,\n license,\n repo,\n };\n}\n\nconst program = new Command();\n\nprogram\n .name(packageJson.name)\n .version(packageJson.version)\n .description(packageJson.description)\n .arguments('[target_dir]')\n .option(\n '-s, --source ',\n 'Local path to the template. By default it downloads `expo-module-template` from NPM.'\n )\n .option('-n, --name ', 'Name of the native module.')\n .option('-d, --description ', 'Description of the module.')\n .option('-p, --package ', 'The Android package name.')\n .option('-a, --author ', 'The author name.')\n .option('-l, --license ', 'The license that the module is distributed with.')\n .option('-r, --repo ', 'The URL to the repository.')\n .option('--with-readme', 'Whether to include README.md file.', false)\n .option('--with-changelog', 'Whether to include CHANGELOG.md file.', false)\n .action(main);\n\nprogram.parse(process.argv);\n"]} \ No newline at end of file diff --git a/packages/create-expo-module/package.json b/packages/create-expo-module/package.json index 227332924bc466..677385a9183dcb 100644 --- a/packages/create-expo-module/package.json +++ b/packages/create-expo-module/package.json @@ -1,6 +1,6 @@ { "name": "create-expo-module", - "version": "0.1.0", + "version": "0.1.1", "description": "The script to create the Expo module", "main": "build/create-expo-module.js", "types": "build/create-expo-module.d.ts", diff --git a/packages/create-expo-module/src/create-expo-module.ts b/packages/create-expo-module/src/create-expo-module.ts index 8f94dde7b7f7d1..df41966a8f88b4 100644 --- a/packages/create-expo-module/src/create-expo-module.ts +++ b/packages/create-expo-module/src/create-expo-module.ts @@ -52,6 +52,8 @@ type CustomPromptObject = PromptObject & { resolvedValue?: string | null; }; +type PackageManager = 'npm' | 'yarn'; + /** * The main function of the command. * @@ -64,11 +66,14 @@ async function main(target: string | undefined, options: CommandOptions) { options.target = targetDir; await fs.ensureDir(targetDir); + const data = await askForSubstitutionDataAsync(targetDir, options); + const packageManager = await selectPackageManagerAsync(); const packagePath = options.source ? path.join(CWD, options.source) : await downloadPackageAsync(targetDir); const files = await getFilesAsync(packagePath); - const data = await askForSubstitutionDataAsync(targetDir, options); + + console.log('๐ŸŽจ Creating Expo module from the template files...'); // Iterate through all template files. for (const file of files) { @@ -97,10 +102,10 @@ async function main(target: string | undefined, options: CommandOptions) { await fs.remove(path.join(targetDir, 'CHANGELOG.md')); } - // Build TypeScript files. - await spawnAsync('npm', ['run', 'build'], { - cwd: targetDir, - }); + // Install dependencies and build + await postActionsAsync(packageManager, targetDir); + + console.log('โœ… Successfully created Expo module'); } /** @@ -155,6 +160,8 @@ async function npmWhoamiAsync(targetDir: string): Promise { async function downloadPackageAsync(targetDir: string): Promise { const tarballUrl = await getNpmTarballUrl('expo-module-template'); + console.log('โฌ‡๏ธ Downloading module template from npm...'); + await downloadTarball({ url: tarballUrl, dir: targetDir, @@ -162,6 +169,40 @@ async function downloadPackageAsync(targetDir: string): Promise { return path.join(targetDir, 'package'); } +/** + * Asks whether to use Yarn or npm as a dependency package manager. + */ +async function selectPackageManagerAsync(): Promise { + const { packageManager } = await prompts({ + type: 'select', + name: 'packageManager', + message: 'Which package manager do you want to use to install dependencies?', + choices: [ + { title: 'yarn', value: 'yarn' }, + { title: 'npm', value: 'npm' }, + ], + }); + return packageManager; +} + +/** + * Installs dependencies and builds TypeScript files. + */ +async function postActionsAsync(packageManager: PackageManager, targetDir: string) { + async function run(...args: string[]) { + await spawnAsync(packageManager, args, { + cwd: targetDir, + stdio: 'ignore', + }); + } + + console.log('๐Ÿ“ฆ Installing dependencies...'); + await run('install'); + + console.log('๐Ÿ›  Compiling TypeScript files...'); + await run('run', 'build'); +} + /** * Asks the user for some data necessary to render the template. * Some values may already be provided by command options, the prompt is skipped in that case. diff --git a/packages/eslint-config-universe/CHANGELOG.md b/packages/eslint-config-universe/CHANGELOG.md index 2aa37cf086219e..0a65818d939959 100644 --- a/packages/eslint-config-universe/CHANGELOG.md +++ b/packages/eslint-config-universe/CHANGELOG.md @@ -10,6 +10,26 @@ ### ๐Ÿ’ก Others +## 10.0.0 - 2022-01-06 + +### ๐Ÿ›  Breaking changes + +- Dropped support for Node 10 due to dependency upgrades. Also ESlint 7.28.x or newer is required. ([#15810](https://github.com/expo/expo/pull/15810) by [@ide](https://github.com/ide)) +- Bumped `@typescript-eslint/eslint-plugin` from 4.28.5 to 5.9.0 for ESLint 8.x support. Same with `@typescript-eslint/parser`. +- Bumped `"eslint-plugin-prettier` from 3.4.0 to 4.0.0 + +### ๐ŸŽ‰ New features + +- Added support for ESLint 8.x ([#15810](https://github.com/expo/expo/pull/15810) by [@ide](https://github.com/ide)) +- `react/react-in-jsx-scope` no longer reports errors (the rule is off) because React 17 no longer requires `react` to be imported. + +### ๐Ÿ› Bug fixes + +### ๐Ÿ’ก Others + +- Bumped `@babel/eslint-parser` and `@babel/eslint-plugin` from 7.12.x to 7.16.5 +- Bumped `eslint-plugin-react` from 7.24.0 to 7.28.0 and `"eslint-plugin-react-hooks` from 4.2.0 to 4.3.0 + ## 9.0.0 โ€” 2021-12-03 ### ๐Ÿ›  Breaking changes diff --git a/packages/eslint-config-universe/__tests__/__snapshots__/default-test.js.snap b/packages/eslint-config-universe/__tests__/__snapshots__/default-test.js.snap index 9a54d4d33800ff..3e2e680737678b 100644 --- a/packages/eslint-config-universe/__tests__/__snapshots__/default-test.js.snap +++ b/packages/eslint-config-universe/__tests__/__snapshots__/default-test.js.snap @@ -68,6 +68,7 @@ function _fn() {} function* gen() {} ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -78,8 +79,51 @@ Object { "fatalErrorCount": 0, "fixableErrorCount": 0, "fixableWarningCount": 0, - "messages": Array [], - "warningCount": 0, + "messages": Array [ + Object { + "column": 3, + "endColumn": 18, + "endLine": 18, + "line": 18, + "message": "Duplicate name 'm'.", + "messageId": "unexpected", + "nodeType": "PropertyDefinition", + "ruleId": "@typescript-eslint/no-dupe-class-members", + "severity": 1, + }, + ], + "source": "import 'hi'; + +import a from 'a'; +import { b } from 'b'; +import c, { c1 } from 'c'; +import * as d from 'd'; + +import e from './e'; + +@d +export class Example { + static s = { + a, + b, + }; + + m: object = {}; + m: object = {}; + + hi(): void { + _fn(); + } + + async byeAsync(): Promise { + _fn(a, b, c, c1, d, e); + } +} + +function _fn(...args: any): void {} +", + "usedDeprecatedRules": Array [], + "warningCount": 1, } `; @@ -130,6 +174,7 @@ function unused2() { const unused3 = 'hi'; } ", + "usedDeprecatedRules": Array [], "warningCount": 3, } `; @@ -205,6 +250,7 @@ function tsUnused2() { const angleBracketCast = x; } ", + "usedDeprecatedRules": Array [], "warningCount": 5, } `; @@ -220,6 +266,7 @@ Object { return ['1']; }; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -233,6 +280,7 @@ Object { "messages": Array [], "output": "export const blah = 3!; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -251,6 +299,7 @@ export const objectTest: object | null = null; export const stringTest: string | null = null; export const objectShorthandTest: object | null = null; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -272,6 +321,7 @@ const e = require('e'); export default a + b + c + d + e; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; diff --git a/packages/eslint-config-universe/__tests__/__snapshots__/native-test.js.snap b/packages/eslint-config-universe/__tests__/__snapshots__/native-test.js.snap index 3faa37b4aba14a..e97905ac66fd8f 100644 --- a/packages/eslint-config-universe/__tests__/__snapshots__/native-test.js.snap +++ b/packages/eslint-config-universe/__tests__/__snapshots__/native-test.js.snap @@ -68,6 +68,7 @@ function _fn() {} function* gen() {} ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -78,8 +79,51 @@ Object { "fatalErrorCount": 0, "fixableErrorCount": 0, "fixableWarningCount": 0, - "messages": Array [], - "warningCount": 0, + "messages": Array [ + Object { + "column": 3, + "endColumn": 18, + "endLine": 18, + "line": 18, + "message": "Duplicate name 'm'.", + "messageId": "unexpected", + "nodeType": "PropertyDefinition", + "ruleId": "@typescript-eslint/no-dupe-class-members", + "severity": 1, + }, + ], + "source": "import 'hi'; + +import a from 'a'; +import { b } from 'b'; +import c, { c1 } from 'c'; +import * as d from 'd'; + +import e from './e'; + +@d +export class Example { + static s = { + a, + b, + }; + + m: object = {}; + m: object = {}; + + hi(): void { + _fn(); + } + + async byeAsync(): Promise { + _fn(a, b, c, c1, d, e); + } +} + +function _fn(...args: any): void {} +", + "usedDeprecatedRules": Array [], + "warningCount": 1, } `; @@ -130,6 +174,7 @@ function unused2() { const unused3 = 'hi'; } ", + "usedDeprecatedRules": Array [], "warningCount": 3, } `; @@ -205,6 +250,7 @@ function tsUnused2() { const angleBracketCast = x; } ", + "usedDeprecatedRules": Array [], "warningCount": 5, } `; @@ -220,6 +266,7 @@ Object { return ['1']; }; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -233,6 +280,7 @@ Object { "messages": Array [], "output": "export const blah = 3!; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -251,6 +299,7 @@ export const objectTest: object | null = null; export const stringTest: string | null = null; export const objectShorthandTest: object | null = null; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -272,6 +321,7 @@ const e = require('e'); export default a + b + c + d + e; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -283,6 +333,7 @@ Object { "fixableErrorCount": 0, "fixableWarningCount": 0, "messages": Array [], + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -321,6 +372,7 @@ export default class Example extends React.Component { } } ", + "usedDeprecatedRules": Array [], "warningCount": 1, } `; @@ -332,6 +384,7 @@ Object { "fixableErrorCount": 0, "fixableWarningCount": 0, "messages": Array [], + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -350,6 +403,7 @@ export default function Example() { return ; } ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -387,7 +441,7 @@ Object { "endColumn": 12, "endLine": 15, "line": 15, - "message": "React Hook \\"useEffect\\" is called in function \\"notAHook\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter.", + "message": "React Hook \\"useEffect\\" is called in function \\"notAHook\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "nodeType": "Identifier", "ruleId": "react-hooks/rules-of-hooks", "severity": 2, @@ -410,6 +464,7 @@ function notAHook() { useEffect(() => {}); } ", + "usedDeprecatedRules": Array [], "warningCount": 1, } `; diff --git a/packages/eslint-config-universe/__tests__/__snapshots__/node-test.js.snap b/packages/eslint-config-universe/__tests__/__snapshots__/node-test.js.snap index 6e4a6add254f69..d310bd9f7c9db7 100644 --- a/packages/eslint-config-universe/__tests__/__snapshots__/node-test.js.snap +++ b/packages/eslint-config-universe/__tests__/__snapshots__/node-test.js.snap @@ -68,6 +68,12 @@ function _fn() {} function* gen() {} ", + "usedDeprecatedRules": Array [ + Object { + "replacedBy": Array [], + "ruleId": "no-buffer-constructor", + }, + ], "warningCount": 0, } `; @@ -78,8 +84,56 @@ Object { "fatalErrorCount": 0, "fixableErrorCount": 0, "fixableWarningCount": 0, - "messages": Array [], - "warningCount": 0, + "messages": Array [ + Object { + "column": 3, + "endColumn": 18, + "endLine": 18, + "line": 18, + "message": "Duplicate name 'm'.", + "messageId": "unexpected", + "nodeType": "PropertyDefinition", + "ruleId": "@typescript-eslint/no-dupe-class-members", + "severity": 1, + }, + ], + "source": "import 'hi'; + +import a from 'a'; +import { b } from 'b'; +import c, { c1 } from 'c'; +import * as d from 'd'; + +import e from './e'; + +@d +export class Example { + static s = { + a, + b, + }; + + m: object = {}; + m: object = {}; + + hi(): void { + _fn(); + } + + async byeAsync(): Promise { + _fn(a, b, c, c1, d, e); + } +} + +function _fn(...args: any): void {} +", + "usedDeprecatedRules": Array [ + Object { + "replacedBy": Array [], + "ruleId": "no-buffer-constructor", + }, + ], + "warningCount": 1, } `; @@ -130,6 +184,12 @@ function unused2() { const unused3 = 'hi'; } ", + "usedDeprecatedRules": Array [ + Object { + "replacedBy": Array [], + "ruleId": "no-buffer-constructor", + }, + ], "warningCount": 3, } `; @@ -205,6 +265,12 @@ function tsUnused2() { const angleBracketCast = x; } ", + "usedDeprecatedRules": Array [ + Object { + "replacedBy": Array [], + "ruleId": "no-buffer-constructor", + }, + ], "warningCount": 5, } `; @@ -220,6 +286,12 @@ Object { return ['1']; }; ", + "usedDeprecatedRules": Array [ + Object { + "replacedBy": Array [], + "ruleId": "no-buffer-constructor", + }, + ], "warningCount": 0, } `; @@ -233,6 +305,12 @@ Object { "messages": Array [], "output": "export const blah = 3!; ", + "usedDeprecatedRules": Array [ + Object { + "replacedBy": Array [], + "ruleId": "no-buffer-constructor", + }, + ], "warningCount": 0, } `; @@ -251,6 +329,12 @@ export const objectTest: object | null = null; export const stringTest: string | null = null; export const objectShorthandTest: object | null = null; ", + "usedDeprecatedRules": Array [ + Object { + "replacedBy": Array [], + "ruleId": "no-buffer-constructor", + }, + ], "warningCount": 0, } `; @@ -272,6 +356,12 @@ const e = require('e'); export default a + b + c + d + e; ", + "usedDeprecatedRules": Array [ + Object { + "replacedBy": Array [], + "ruleId": "no-buffer-constructor", + }, + ], "warningCount": 0, } `; @@ -308,6 +398,12 @@ Object { ], "source": "const data = new Buffer(16); ", + "usedDeprecatedRules": Array [ + Object { + "replacedBy": Array [], + "ruleId": "no-buffer-constructor", + }, + ], "warningCount": 2, } `; diff --git a/packages/eslint-config-universe/__tests__/__snapshots__/typescript-analysis-test.js.snap b/packages/eslint-config-universe/__tests__/__snapshots__/typescript-analysis-test.js.snap index 89f9b41169bdc5..a3f2ba59f06aa1 100644 --- a/packages/eslint-config-universe/__tests__/__snapshots__/typescript-analysis-test.js.snap +++ b/packages/eslint-config-universe/__tests__/__snapshots__/typescript-analysis-test.js.snap @@ -44,6 +44,7 @@ Object { export function myFunc(foo: T | null) { return foo && foo.a && foo.a.b && foo.a.b.c; }", + "usedDeprecatedRules": Array [], "warningCount": 1, } `; @@ -74,6 +75,7 @@ for (const b in arr) { sum += b; } export { sum };", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -116,6 +118,7 @@ Object { return a || b; } ", + "usedDeprecatedRules": Array [], "warningCount": 1, } `; @@ -142,6 +145,7 @@ Object { "source": "export function wat() { throw 3; }", + "usedDeprecatedRules": Array [], "warningCount": 1, } `; diff --git a/packages/eslint-config-universe/__tests__/__snapshots__/web-test.js.snap b/packages/eslint-config-universe/__tests__/__snapshots__/web-test.js.snap index a729015ee34552..a2239b13c79054 100644 --- a/packages/eslint-config-universe/__tests__/__snapshots__/web-test.js.snap +++ b/packages/eslint-config-universe/__tests__/__snapshots__/web-test.js.snap @@ -68,6 +68,7 @@ function _fn() {} function* gen() {} ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -78,8 +79,51 @@ Object { "fatalErrorCount": 0, "fixableErrorCount": 0, "fixableWarningCount": 0, - "messages": Array [], - "warningCount": 0, + "messages": Array [ + Object { + "column": 3, + "endColumn": 18, + "endLine": 18, + "line": 18, + "message": "Duplicate name 'm'.", + "messageId": "unexpected", + "nodeType": "PropertyDefinition", + "ruleId": "@typescript-eslint/no-dupe-class-members", + "severity": 1, + }, + ], + "source": "import 'hi'; + +import a from 'a'; +import { b } from 'b'; +import c, { c1 } from 'c'; +import * as d from 'd'; + +import e from './e'; + +@d +export class Example { + static s = { + a, + b, + }; + + m: object = {}; + m: object = {}; + + hi(): void { + _fn(); + } + + async byeAsync(): Promise { + _fn(a, b, c, c1, d, e); + } +} + +function _fn(...args: any): void {} +", + "usedDeprecatedRules": Array [], + "warningCount": 1, } `; @@ -130,6 +174,7 @@ function unused2() { const unused3 = 'hi'; } ", + "usedDeprecatedRules": Array [], "warningCount": 3, } `; @@ -205,6 +250,7 @@ function tsUnused2() { const angleBracketCast = x; } ", + "usedDeprecatedRules": Array [], "warningCount": 5, } `; @@ -220,6 +266,7 @@ Object { return ['1']; }; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -233,6 +280,7 @@ Object { "messages": Array [], "output": "export const blah = 3!; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -251,6 +299,7 @@ export const objectTest: object | null = null; export const stringTest: string | null = null; export const objectShorthandTest: object | null = null; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -272,6 +321,7 @@ const e = require('e'); export default a + b + c + d + e; ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -283,6 +333,7 @@ Object { "fixableErrorCount": 0, "fixableWarningCount": 0, "messages": Array [], + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -321,6 +372,7 @@ export default class Example extends React.Component { } } ", + "usedDeprecatedRules": Array [], "warningCount": 1, } `; @@ -332,6 +384,7 @@ Object { "fixableErrorCount": 0, "fixableWarningCount": 0, "messages": Array [], + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -350,6 +403,7 @@ export default function Example() { return ; } ", + "usedDeprecatedRules": Array [], "warningCount": 0, } `; @@ -387,7 +441,7 @@ Object { "endColumn": 12, "endLine": 15, "line": 15, - "message": "React Hook \\"useEffect\\" is called in function \\"notAHook\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter.", + "message": "React Hook \\"useEffect\\" is called in function \\"notAHook\\" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word \\"use\\".", "nodeType": "Identifier", "ruleId": "react-hooks/rules-of-hooks", "severity": 2, @@ -410,6 +464,7 @@ function notAHook() { useEffect(() => {}); } ", + "usedDeprecatedRules": Array [], "warningCount": 1, } `; diff --git a/packages/eslint-config-universe/__tests__/default-test.js b/packages/eslint-config-universe/__tests__/default-test.js index 1b9ca0e67bd1ff..f3861e0ba31159 100644 --- a/packages/eslint-config-universe/__tests__/default-test.js +++ b/packages/eslint-config-universe/__tests__/default-test.js @@ -10,26 +10,25 @@ const configFile = path.resolve(__dirname, '../default.js'); it(`has a default config`, () => { expect( () => - new eslint.CLIEngine({ + new eslint.ESLint({ baseConfig: getBaseConfig(), - configFile, + overrideConfigFile: configFile, useEslintrc: false, }) ).not.toThrow(); }); it(`lints with the default config`, async () => { - const report = await lintAsync( + const results = await lintAsync( { baseConfig: getBaseConfig(), - configFile, + overrideConfigFile: configFile, fix: true, ignore: false, useEslintrc: false, }, ['__tests__/fixtures/*all*'] ); - const { results } = report; for (const result of results) { const relativeFilePath = path.relative(__dirname, result.filePath); delete result.filePath; diff --git a/packages/eslint-config-universe/__tests__/native-test.js b/packages/eslint-config-universe/__tests__/native-test.js index 4d9786204aa17d..7737e922452926 100644 --- a/packages/eslint-config-universe/__tests__/native-test.js +++ b/packages/eslint-config-universe/__tests__/native-test.js @@ -10,26 +10,25 @@ const configFile = path.resolve(__dirname, '../native.js'); it(`has a React Native config`, () => { expect( () => - new eslint.CLIEngine({ + new eslint.ESLint({ baseConfig: getBaseConfig(), - configFile, + overrideConfigFile: configFile, useEslintrc: false, }) ).not.toThrow(); }); it(`lints with the React Native config`, async () => { - const report = await lintAsync( + const results = await lintAsync( { baseConfig: getBaseConfig(), - configFile, + overrideConfigFile: configFile, fix: true, ignore: false, useEslintrc: false, }, ['__tests__/fixtures/*all*', '__tests__/fixtures/*native*'] ); - const { results } = report; for (const result of results) { const relativeFilePath = path.relative(__dirname, result.filePath); delete result.filePath; diff --git a/packages/eslint-config-universe/__tests__/node-test.js b/packages/eslint-config-universe/__tests__/node-test.js index b45042b3f1f496..f4a50cb70e33d0 100644 --- a/packages/eslint-config-universe/__tests__/node-test.js +++ b/packages/eslint-config-universe/__tests__/node-test.js @@ -10,26 +10,25 @@ const configFile = path.resolve(__dirname, '../node.js'); it(`has a Node config`, () => { expect( () => - new eslint.CLIEngine({ + new eslint.ESLint({ baseConfig: getBaseConfig(), - configFile, + overrideConfigFile: configFile, useEslintrc: false, }) ).not.toThrow(); }); it(`lints with the Node config`, async () => { - const report = await lintAsync( + const results = await lintAsync( { baseConfig: getBaseConfig(), - configFile, + overrideConfigFile: configFile, fix: true, ignore: false, useEslintrc: false, }, ['__tests__/fixtures/*all*', '__tests__/fixtures/*node*'] ); - const { results } = report; for (const result of results) { const relativeFilePath = path.relative(__dirname, result.filePath); delete result.filePath; diff --git a/packages/eslint-config-universe/__tests__/tools/__lint__.js b/packages/eslint-config-universe/__tests__/tools/__lint__.js deleted file mode 100644 index 466c1ed069b92d..00000000000000 --- a/packages/eslint-config-universe/__tests__/tools/__lint__.js +++ /dev/null @@ -1,11 +0,0 @@ -const eslint = require('eslint'); -const process = require('process'); - -if (require.main === module) { - const [, , configString, ...filePatterns] = process.argv; - const config = JSON.parse(configString); - - const cli = new eslint.CLIEngine(config); - const report = cli.executeOnFiles(filePatterns); - console.log(JSON.stringify(report)); -} diff --git a/packages/eslint-config-universe/__tests__/tools/__lint__.mjs b/packages/eslint-config-universe/__tests__/tools/__lint__.mjs new file mode 100644 index 00000000000000..d1d8574b2c35b3 --- /dev/null +++ b/packages/eslint-config-universe/__tests__/tools/__lint__.mjs @@ -0,0 +1,12 @@ +import { ESLint } from 'eslint'; +import process from 'process'; + +// const { ESLint } = require('eslint'); +// const process = require('process'); + +const [, , configString, ...filePatterns] = process.argv; +const config = JSON.parse(configString); + +const eslint = new ESLint(config); +const report = await eslint.lintFiles(filePatterns); +console.log(JSON.stringify(report)); diff --git a/packages/eslint-config-universe/__tests__/tools/lintAsync.js b/packages/eslint-config-universe/__tests__/tools/lintAsync.js index fabb716186f449..f450b2bb053686 100644 --- a/packages/eslint-config-universe/__tests__/tools/lintAsync.js +++ b/packages/eslint-config-universe/__tests__/tools/lintAsync.js @@ -1,10 +1,10 @@ const spawnAsync = require('@expo/spawn-async'); const path = require('path'); -module.exports = async function lintAsync(cliOptions, sourceFiles) { +module.exports = async function lintAsync(eslintOptions, sourceFiles) { const lintProcess = spawnAsync( process.execPath, - [path.resolve(__dirname, '__lint__.js'), JSON.stringify(cliOptions), ...sourceFiles], + [path.resolve(__dirname, '__lint__.mjs'), JSON.stringify(eslintOptions), ...sourceFiles], { cwd: path.resolve(__dirname, '../..') } ); const childProcess = lintProcess.child; diff --git a/packages/eslint-config-universe/__tests__/typescript-analysis-test.js b/packages/eslint-config-universe/__tests__/typescript-analysis-test.js index 49565dfc9a0159..8bc18b284cfdfc 100644 --- a/packages/eslint-config-universe/__tests__/typescript-analysis-test.js +++ b/packages/eslint-config-universe/__tests__/typescript-analysis-test.js @@ -13,17 +13,16 @@ const alteredBaseConfig = { }; it(`lints`, async () => { - const report = await lintAsync( + const results = await lintAsync( { baseConfig: alteredBaseConfig, - configFile, + overrideConfigFile: configFile, fix: true, ignore: false, useEslintrc: false, }, ['__tests__/fixtures/*typescript-analysis*'] ); - const { results } = report; for (const result of results) { const relativeFilePath = path.relative(__dirname, result.filePath); delete result.filePath; diff --git a/packages/eslint-config-universe/__tests__/web-test.js b/packages/eslint-config-universe/__tests__/web-test.js index 78186cd438b7df..a4cd60042e7215 100644 --- a/packages/eslint-config-universe/__tests__/web-test.js +++ b/packages/eslint-config-universe/__tests__/web-test.js @@ -10,26 +10,25 @@ const configFile = path.resolve(__dirname, '../web.js'); it(`has a web config`, () => { expect( () => - new eslint.CLIEngine({ + new eslint.ESLint({ baseConfig: getBaseConfig(), - configFile, + overrideConfigFile: configFile, useEslintrc: false, }) ).not.toThrow(); }); it(`lints with the web config`, async () => { - const report = await lintAsync( + const results = await lintAsync( { baseConfig: getBaseConfig(), - configFile, + overrideConfigFile: configFile, fix: true, ignore: false, useEslintrc: false, }, ['__tests__/fixtures/*all*', '__tests__/fixtures/*web*'] ); - const { results } = report; for (const result of results) { const relativeFilePath = path.relative(__dirname, result.filePath); delete result.filePath; diff --git a/packages/eslint-config-universe/node.js b/packages/eslint-config-universe/node.js index 14d37332cbb941..79438b7a92be13 100644 --- a/packages/eslint-config-universe/node.js +++ b/packages/eslint-config-universe/node.js @@ -1,7 +1,9 @@ module.exports = { extends: ['./shared/core.js', './shared/typescript.js', './shared/prettier.js'], + plugins: ['node'], env: { node: true }, rules: { 'no-buffer-constructor': 'warn', + 'node/no-path-concat': 'warn', }, }; diff --git a/packages/eslint-config-universe/package.json b/packages/eslint-config-universe/package.json index b5d32805b4e6a6..80e76ffadecafa 100644 --- a/packages/eslint-config-universe/package.json +++ b/packages/eslint-config-universe/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-universe", - "version": "9.0.0", + "version": "10.0.0", "description": "Shared ESLint configs for universal Expo projects, Node, and web", "main": "default.js", "scripts": { @@ -26,7 +26,6 @@ "shared" ], "jest": { - "testEnvironment": "node", "testMatch": [ "**/__tests__/*-test.js" ] @@ -41,31 +40,35 @@ }, "homepage": "https://github.com/expo/expo/tree/master/packages/eslint-config-universe", "dependencies": { - "@babel/eslint-parser": "^7.12.17", - "@babel/eslint-plugin": "^7.12.13", - "@typescript-eslint/eslint-plugin": "^4.28.5", - "@typescript-eslint/parser": "^4.28.5", + "@babel/eslint-parser": "^7.16.5", + "@babel/eslint-plugin": "^7.16.5", + "@typescript-eslint/eslint-plugin": "^5.9.0", + "@typescript-eslint/parser": "^5.9.0", "eslint-config-prettier": "^8.3.0", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-prettier": "^3.4.0", - "eslint-plugin-react": "^7.24.0", - "eslint-plugin-react-hooks": "^4.2.0" + "eslint-plugin-import": "^2.25.4", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-react": "^7.28.0", + "eslint-plugin-react-hooks": "^4.3.0" }, "peerDependencies": { - "@babel/core": ">=7.12.0", - "eslint": ">= 7", - "prettier": ">= 2.4" + "@babel/core": ">=7.16", + "eslint": ">=7.28", + "prettier": ">=2.4" }, "peerDependenciesMeta": { "@babel/core": { "optional": true + }, + "prettier": { + "optional": true } }, "devDependencies": { - "@babel/core": "^7.12.9", + "@babel/core": "^7.16.7", "@expo/spawn-async": "^1.5.0", - "eslint": "^7.31.0", - "jest": "^26.6.3", - "prettier": "^2.4.1" + "eslint": "^8.6.0", + "jest": "^27.4.7", + "prettier": "^2.5.1" } } diff --git a/packages/eslint-config-universe/shared/core.js b/packages/eslint-config-universe/shared/core.js index 8f073df5d6aad5..75242cffb5f625 100644 --- a/packages/eslint-config-universe/shared/core.js +++ b/packages/eslint-config-universe/shared/core.js @@ -29,7 +29,7 @@ module.exports = { module: false, require: false, }, - plugins: ['@babel', 'import'], + plugins: ['@babel', 'import', 'node'], rules: { 'array-bracket-spacing': ['warn', 'never'], 'arrow-spacing': ['warn', { before: true, after: true }], @@ -46,7 +46,6 @@ module.exports = { 'func-call-spacing': ['warn', 'never'], 'generator-star-spacing': ['warn', 'after'], 'getter-return': 'warn', - 'handle-callback-err': ['warn', '^(e|err|error|.+Error)$'], 'jsx-quotes': ['warn', 'prefer-double'], 'new-parens': 'warn', 'no-alert': 'off', @@ -88,13 +87,11 @@ module.exports = { 'no-new': 'warn', 'no-new-func': 'warn', 'no-new-object': 'warn', - 'no-new-require': 'warn', 'no-new-symbol': 'error', 'no-obj-calls': 'warn', 'no-octal': 'warn', 'no-octal-escape': 'warn', 'no-mixed-spaces-and-tabs': 'warn', - 'no-path-concat': 'warn', 'no-proto': 'warn', 'no-redeclare': 'warn', 'no-return-assign': 'warn', @@ -166,6 +163,9 @@ module.exports = { }, }, ], + + 'node/handle-callback-err': ['warn', '^(e|err|error|.+Error)$'], + 'node/no-new-require': 'warn', }, settings: { 'import/extensions': jsExtensions, diff --git a/packages/eslint-config-universe/shared/react.js b/packages/eslint-config-universe/shared/react.js index 121e2d96a12575..c99f7683a28cf7 100644 --- a/packages/eslint-config-universe/shared/react.js +++ b/packages/eslint-config-universe/shared/react.js @@ -14,7 +14,7 @@ module.exports = { 'react/jsx-fragments': ['warn', 'syntax'], 'react/jsx-indent': ['warn', 2], 'react/jsx-indent-props': ['warn', 2], - 'react/jsx-no-bind': ['warn', { allowArrowFunctions: true }], + 'react/jsx-no-bind': ['warn', { allowArrowFunctions: true, allowFunctions: true }], 'react/jsx-no-duplicate-props': 'error', 'react/jsx-no-undef': 'error', 'react/jsx-props-no-multi-spaces': 'warn', @@ -33,7 +33,6 @@ module.exports = { 'react/no-this-in-sfc': 'warn', 'react/no-unknown-property': 'warn', 'react/no-will-update-set-state': 'warn', - 'react/react-in-jsx-scope': 'error', 'react/require-render-return': 'warn', 'react/self-closing-comp': 'warn', diff --git a/packages/eslint-config-universe/shared/typescript.js b/packages/eslint-config-universe/shared/typescript.js index 2d873232034780..aadfae51e0997b 100644 --- a/packages/eslint-config-universe/shared/typescript.js +++ b/packages/eslint-config-universe/shared/typescript.js @@ -52,7 +52,7 @@ module.exports = { // Overrides 'no-dupe-class-members': 'off', - '@typescript-eslint/no-dupe-class-members': 'error', + '@typescript-eslint/no-dupe-class-members': 'warn', 'no-redeclare': 'off', '@typescript-eslint/no-redeclare': 'warn', diff --git a/packages/expo-ads-admob/build/AdMob.d.ts b/packages/expo-ads-admob/build/AdMob.d.ts index 49993b38861499..b3478c29f635d3 100644 --- a/packages/expo-ads-admob/build/AdMob.d.ts +++ b/packages/expo-ads-admob/build/AdMob.d.ts @@ -19,3 +19,4 @@ export declare const usePermissions: (options?: PermissionHookOptions | */ export declare function isAvailableAsync(): Promise; export declare function setTestDeviceIDAsync(testDeviceID: string | null): Promise; +//# sourceMappingURL=AdMob.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMob.d.ts.map b/packages/expo-ads-admob/build/AdMob.d.ts.map new file mode 100644 index 00000000000000..3a5fadc2c95221 --- /dev/null +++ b/packages/expo-ads-admob/build/AdMob.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdMob.d.ts","sourceRoot":"","sources":["../src/AdMob.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EAGtB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;AAS7F,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAS3E;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CASvE;AAGD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,4JAGzB,CAAC;AAEH;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEzD;AAED,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAKrF"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobBanner.d.ts b/packages/expo-ads-admob/build/AdMobBanner.d.ts index ab61b930e9e579..2b1b843dc2f6d1 100644 --- a/packages/expo-ads-admob/build/AdMobBanner.d.ts +++ b/packages/expo-ads-admob/build/AdMobBanner.d.ts @@ -68,3 +68,4 @@ export default class AdMobBanner extends React.Component { render(): JSX.Element; } export {}; +//# sourceMappingURL=AdMobBanner.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobBanner.d.ts.map b/packages/expo-ads-admob/build/AdMobBanner.d.ts.map new file mode 100644 index 00000000000000..a7533dac9a775b --- /dev/null +++ b/packages/expo-ads-admob/build/AdMobBanner.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdMobBanner.d.ts","sourceRoot":"","sources":["../src/AdMobBanner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/C,aAAK,SAAS,GAAG,SAAS,GAAG;IAC3B;;;;;;;;;;;;OAYG;IACH,UAAU,EACN,QAAQ,GACR,aAAa,GACb,iBAAiB,GACjB,YAAY,GACZ,aAAa,GACb,qBAAqB,GACrB,sBAAsB,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjD;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,6BAA6B,CAAC,EAAE,CAAC,MAAM,KAAA,KAAK,IAAI,CAAC;IACjD,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IACtC,4BAA4B,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3C,CAAC;AAEF,aAAK,SAAS,GAAG;IACf,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5E,MAAM,CAAC,YAAY;;MAAyC;IAE5D,KAAK;;MAAiB;IAEtB,iBAAiB;qBAAoC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE;eAGpF;IAEF,kCAAkC;qBAAoC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;2BAEzB;IAE9D,MAAM;CA+BP"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobBanner.web.d.ts b/packages/expo-ads-admob/build/AdMobBanner.web.d.ts index cd2871ca95e159..8709f365e3bdc8 100644 --- a/packages/expo-ads-admob/build/AdMobBanner.web.d.ts +++ b/packages/expo-ads-admob/build/AdMobBanner.web.d.ts @@ -1,2 +1,3 @@ declare const AdMobBanner: () => JSX.Element; export default AdMobBanner; +//# sourceMappingURL=AdMobBanner.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobBanner.web.d.ts.map b/packages/expo-ads-admob/build/AdMobBanner.web.d.ts.map new file mode 100644 index 00000000000000..9e1dab177e72b5 --- /dev/null +++ b/packages/expo-ads-admob/build/AdMobBanner.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdMobBanner.web.d.ts","sourceRoot":"","sources":["../src/AdMobBanner.web.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,WAAW,mBAIhB,CAAC;AAEF,eAAe,WAAW,CAAC"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobInterstitial.d.ts b/packages/expo-ads-admob/build/AdMobInterstitial.d.ts index f22c7ec6cdb29c..23a09a81d1fbf4 100644 --- a/packages/expo-ads-admob/build/AdMobInterstitial.d.ts +++ b/packages/expo-ads-admob/build/AdMobInterstitial.d.ts @@ -14,3 +14,4 @@ declare const _default: { removeAllListeners(): void; }; export default _default; +//# sourceMappingURL=AdMobInterstitial.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobInterstitial.d.ts.map b/packages/expo-ads-admob/build/AdMobInterstitial.d.ts.map new file mode 100644 index 00000000000000..98b0a3d0ffd38a --- /dev/null +++ b/packages/expo-ads-admob/build/AdMobInterstitial.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdMobInterstitial.d.ts","sourceRoot":"","sources":["../src/AdMobInterstitial.ts"],"names":[],"mappings":"AAcA,aAAK,aAAa,GACd,qBAAqB,GACrB,2BAA2B,GAC3B,qBAAqB,GACrB,sBAAsB,GACtB,kCAAkC,CAAC;AAEvC,aAAK,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;;oBAWtB,MAAM,GAAG,QAAQ,IAAI,CAAC;6BAQjC;QACP,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,uBAAuB,CAAC,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC;KAClD,GACA,QAAQ,IAAI,CAAC;mBAcK,QAAQ,IAAI,CAAC;sBAOV,QAAQ,IAAI,CAAC;uBAOZ,QAAQ,OAAO,CAAC;2BAOlB,aAAa,WAAW,aAAa;8BAOlC,aAAa,WAAW,aAAa;;;AAvDjE,wBAoEE"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobInterstitial.web.d.ts b/packages/expo-ads-admob/build/AdMobInterstitial.web.d.ts index 9ad67ea80d7b43..e4a4ec3e6d0a88 100644 --- a/packages/expo-ads-admob/build/AdMobInterstitial.web.d.ts +++ b/packages/expo-ads-admob/build/AdMobInterstitial.web.d.ts @@ -1,2 +1,3 @@ declare const AdMobInterstitial: () => JSX.Element; export default AdMobInterstitial; +//# sourceMappingURL=AdMobInterstitial.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobInterstitial.web.d.ts.map b/packages/expo-ads-admob/build/AdMobInterstitial.web.d.ts.map new file mode 100644 index 00000000000000..241d80b02cd6d8 --- /dev/null +++ b/packages/expo-ads-admob/build/AdMobInterstitial.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdMobInterstitial.web.d.ts","sourceRoot":"","sources":["../src/AdMobInterstitial.web.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,iBAAiB,mBAItB,CAAC;AAEF,eAAe,iBAAiB,CAAC"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobRewarded.d.ts b/packages/expo-ads-admob/build/AdMobRewarded.d.ts index 2150dd27efb920..491ed28036aaad 100644 --- a/packages/expo-ads-admob/build/AdMobRewarded.d.ts +++ b/packages/expo-ads-admob/build/AdMobRewarded.d.ts @@ -15,3 +15,4 @@ declare const _default: { removeAllListeners(): void; }; export default _default; +//# sourceMappingURL=AdMobRewarded.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobRewarded.d.ts.map b/packages/expo-ads-admob/build/AdMobRewarded.d.ts.map new file mode 100644 index 00000000000000..64ede35702704c --- /dev/null +++ b/packages/expo-ads-admob/build/AdMobRewarded.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdMobRewarded.d.ts","sourceRoot":"","sources":["../src/AdMobRewarded.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,UAAU,0LAON,CAAC;AAEX,aAAK,aAAa,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAI/C,aAAK,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;;oBAStB,MAAM,GAAG,QAAQ,IAAI,CAAC;6BAQjC;QACP,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,uBAAuB,CAAC,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC;KAClD,GACA,QAAQ,IAAI,CAAC;mBAcK,QAAQ,IAAI,CAAC;sBAOV,QAAQ,IAAI,CAAC;uBAOZ,QAAQ,OAAO,CAAC;2BAOlB,aAAa,WAAW,aAAa;8BAOlC,aAAa,WAAW,aAAa;;;AAvDjE,wBAoEE"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobRewarded.web.d.ts b/packages/expo-ads-admob/build/AdMobRewarded.web.d.ts index 0ed66150a4e2dd..c94473f7af5ef4 100644 --- a/packages/expo-ads-admob/build/AdMobRewarded.web.d.ts +++ b/packages/expo-ads-admob/build/AdMobRewarded.web.d.ts @@ -1,2 +1,3 @@ declare const AdMobRewarded: () => JSX.Element; export default AdMobRewarded; +//# sourceMappingURL=AdMobRewarded.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/AdMobRewarded.web.d.ts.map b/packages/expo-ads-admob/build/AdMobRewarded.web.d.ts.map new file mode 100644 index 00000000000000..e4a2b3c3a2a40a --- /dev/null +++ b/packages/expo-ads-admob/build/AdMobRewarded.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdMobRewarded.web.d.ts","sourceRoot":"","sources":["../src/AdMobRewarded.web.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,aAAa,mBAIlB,CAAC;AAEF,eAAe,aAAa,CAAC"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMob.d.ts b/packages/expo-ads-admob/build/ExpoAdsAdMob.d.ts index 1f7a36fde601a4..82c003623d41b5 100644 --- a/packages/expo-ads-admob/build/ExpoAdsAdMob.d.ts +++ b/packages/expo-ads-admob/build/ExpoAdsAdMob.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoAdsAdMob.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMob.d.ts.map b/packages/expo-ads-admob/build/ExpoAdsAdMob.d.ts.map new file mode 100644 index 00000000000000..a2975c28853d41 --- /dev/null +++ b/packages/expo-ads-admob/build/ExpoAdsAdMob.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAdsAdMob.d.ts","sourceRoot":"","sources":["../src/ExpoAdsAdMob.ts"],"names":[],"mappings":";AAEA,wBAAqD"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMob.web.d.ts b/packages/expo-ads-admob/build/ExpoAdsAdMob.web.d.ts index d87c48512f1ad8..fc5a4329399ccb 100644 --- a/packages/expo-ads-admob/build/ExpoAdsAdMob.web.d.ts +++ b/packages/expo-ads-admob/build/ExpoAdsAdMob.web.d.ts @@ -1,2 +1,3 @@ declare const _default: {}; export default _default; +//# sourceMappingURL=ExpoAdsAdMob.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMob.web.d.ts.map b/packages/expo-ads-admob/build/ExpoAdsAdMob.web.d.ts.map new file mode 100644 index 00000000000000..078b9d286eaf50 --- /dev/null +++ b/packages/expo-ads-admob/build/ExpoAdsAdMob.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAdsAdMob.web.d.ts","sourceRoot":"","sources":["../src/ExpoAdsAdMob.web.ts"],"names":[],"mappings":";AAAA,wBAAkB"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.d.ts b/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.d.ts index 1f7a36fde601a4..25a800845cd3a5 100644 --- a/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.d.ts +++ b/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoAdsAdMobInterstitialManager.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.d.ts.map b/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.d.ts.map new file mode 100644 index 00000000000000..51ce03f5a3bc11 --- /dev/null +++ b/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAdsAdMobInterstitialManager.d.ts","sourceRoot":"","sources":["../src/ExpoAdsAdMobInterstitialManager.ts"],"names":[],"mappings":";AAEA,wBAAkE"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.web.d.ts b/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.web.d.ts index 54b8b505006062..0fc8ed64e144c4 100644 --- a/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.web.d.ts +++ b/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.web.d.ts @@ -3,3 +3,4 @@ declare const _default: { getIsReady(): Promise; }; export default _default; +//# sourceMappingURL=ExpoAdsAdMobInterstitialManager.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.web.d.ts.map b/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.web.d.ts.map new file mode 100644 index 00000000000000..046f87aa5594d7 --- /dev/null +++ b/packages/expo-ads-admob/build/ExpoAdsAdMobInterstitialManager.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAdsAdMobInterstitialManager.web.d.ts","sourceRoot":"","sources":["../src/ExpoAdsAdMobInterstitialManager.web.ts"],"names":[],"mappings":";;kBAIsB,QAAQ,OAAO,CAAC;;AAJtC,wBAOE"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.d.ts b/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.d.ts index 1f7a36fde601a4..9681bbf94ed240 100644 --- a/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.d.ts +++ b/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoAdsAdMobRewardedVideoAdManager.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.d.ts.map b/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.d.ts.map new file mode 100644 index 00000000000000..26cfaf11d5f111 --- /dev/null +++ b/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAdsAdMobRewardedVideoAdManager.d.ts","sourceRoot":"","sources":["../src/ExpoAdsAdMobRewardedVideoAdManager.ts"],"names":[],"mappings":";AAEA,wBAAqE"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.web.d.ts b/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.web.d.ts index 54b8b505006062..158ec72f7b3921 100644 --- a/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.web.d.ts +++ b/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.web.d.ts @@ -3,3 +3,4 @@ declare const _default: { getIsReady(): Promise; }; export default _default; +//# sourceMappingURL=ExpoAdsAdMobRewardedVideoAdManager.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.web.d.ts.map b/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.web.d.ts.map new file mode 100644 index 00000000000000..c55465e39e587f --- /dev/null +++ b/packages/expo-ads-admob/build/ExpoAdsAdMobRewardedVideoAdManager.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAdsAdMobRewardedVideoAdManager.web.d.ts","sourceRoot":"","sources":["../src/ExpoAdsAdMobRewardedVideoAdManager.web.ts"],"names":[],"mappings":";;kBAIsB,QAAQ,OAAO,CAAC;;AAJtC,wBAOE"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/PublisherBanner.d.ts b/packages/expo-ads-admob/build/PublisherBanner.d.ts index 2669f7fae0ed82..2bf17ae0c40bad 100644 --- a/packages/expo-ads-admob/build/PublisherBanner.d.ts +++ b/packages/expo-ads-admob/build/PublisherBanner.d.ts @@ -72,3 +72,4 @@ export default class PublisherBanner extends React.Component JSX.Element; export default PublisherBanner; +//# sourceMappingURL=PublisherBanner.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/PublisherBanner.web.d.ts.map b/packages/expo-ads-admob/build/PublisherBanner.web.d.ts.map new file mode 100644 index 00000000000000..8e06d7a3100f06 --- /dev/null +++ b/packages/expo-ads-admob/build/PublisherBanner.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PublisherBanner.web.d.ts","sourceRoot":"","sources":["../src/PublisherBanner.web.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,eAAe,mBAIpB,CAAC;AAEF,eAAe,eAAe,CAAC"} \ No newline at end of file diff --git a/packages/expo-ads-admob/build/index.d.ts b/packages/expo-ads-admob/build/index.d.ts index aa969c27fc9b6d..03eaad378bc667 100644 --- a/packages/expo-ads-admob/build/index.d.ts +++ b/packages/expo-ads-admob/build/index.d.ts @@ -3,3 +3,4 @@ export { default as AdMobInterstitial } from './AdMobInterstitial'; export { default as AdMobRewarded } from './AdMobRewarded'; export { default as PublisherBanner } from './PublisherBanner'; export * from './AdMob'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-admob/build/index.d.ts.map b/packages/expo-ads-admob/build/index.d.ts.map new file mode 100644 index 00000000000000..eeaa11ded8f1e2 --- /dev/null +++ b/packages/expo-ads-admob/build/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,cAAc,SAAS,CAAC"} \ No newline at end of file diff --git a/packages/expo-ads-admob/plugin/src/withAdMob.ts b/packages/expo-ads-admob/plugin/src/withAdMob.ts index a99a5dd4dc2b19..2149a3e8b22a48 100644 --- a/packages/expo-ads-admob/plugin/src/withAdMob.ts +++ b/packages/expo-ads-admob/plugin/src/withAdMob.ts @@ -6,9 +6,11 @@ import { withSKAdNetworkIdentifiers } from './withSKAdNetworkIdentifiers'; const pkg = require('expo-ads-admob/package.json'); -const withAdMob: ConfigPlugin<{ - userTrackingPermission?: string; -} | void> = (config, props) => { +const withAdMob: ConfigPlugin< + { + userTrackingPermission?: string; + } | void +> = (config, props) => { config = withAdMobAndroid(config); config = withAdMobIOS(config); config = withUserTrackingPermission(config, props); diff --git a/packages/expo-ads-admob/plugin/src/withAdMobIOS.ts b/packages/expo-ads-admob/plugin/src/withAdMobIOS.ts index 12735afaa6bce4..de40281a987e56 100644 --- a/packages/expo-ads-admob/plugin/src/withAdMobIOS.ts +++ b/packages/expo-ads-admob/plugin/src/withAdMobIOS.ts @@ -42,9 +42,11 @@ function setAdMobConfig(config: Pick, infoPlist: InfoPlist): const USER_TRACKING = 'This identifier will be used to deliver personalized ads to you.'; -export const withUserTrackingPermission: ConfigPlugin<{ - userTrackingPermission?: string; -} | void> = (config, { userTrackingPermission } = {}) => { +export const withUserTrackingPermission: ConfigPlugin< + { + userTrackingPermission?: string; + } | void +> = (config, { userTrackingPermission } = {}) => { if (!config.ios) config.ios = {}; if (!config.ios.infoPlist) config.ios.infoPlist = {}; config.ios.infoPlist.NSUserTrackingUsageDescription = diff --git a/packages/expo-ads-facebook/build/AdIconView.d.ts b/packages/expo-ads-facebook/build/AdIconView.d.ts index 29364c4a3bdcc6..28de835dc41334 100644 --- a/packages/expo-ads-facebook/build/AdIconView.d.ts +++ b/packages/expo-ads-facebook/build/AdIconView.d.ts @@ -7,3 +7,4 @@ export default class AdIconView extends React.Component { export declare type NativeAdIconView = React.Component; export declare const NativeAdIconView: React.ComponentType; export {}; +//# sourceMappingURL=AdIconView.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdIconView.d.ts.map b/packages/expo-ads-facebook/build/AdIconView.d.ts.map new file mode 100644 index 00000000000000..6119dc3008237c --- /dev/null +++ b/packages/expo-ads-facebook/build/AdIconView.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdIconView.d.ts","sourceRoot":"","sources":["../src/AdIconView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC,aAAK,KAAK,GAAG,KAAK,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAC5D,MAAM;CAUP;AAGD,oBAAY,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEtD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAA0C,CAAC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdIconView.web.d.ts b/packages/expo-ads-facebook/build/AdIconView.web.d.ts index b24b236c0c4282..38c3c29db36beb 100644 --- a/packages/expo-ads-facebook/build/AdIconView.web.d.ts +++ b/packages/expo-ads-facebook/build/AdIconView.web.d.ts @@ -1 +1,2 @@ export default function AdIconView(): void; +//# sourceMappingURL=AdIconView.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdIconView.web.d.ts.map b/packages/expo-ads-facebook/build/AdIconView.web.d.ts.map new file mode 100644 index 00000000000000..6902202585e33c --- /dev/null +++ b/packages/expo-ads-facebook/build/AdIconView.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdIconView.web.d.ts","sourceRoot":"","sources":["../src/AdIconView.web.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,UAAU,SAEjC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdMediaView.d.ts b/packages/expo-ads-facebook/build/AdMediaView.d.ts index df1626c4a8c49a..896b57a8d2cd96 100644 --- a/packages/expo-ads-facebook/build/AdMediaView.d.ts +++ b/packages/expo-ads-facebook/build/AdMediaView.d.ts @@ -7,3 +7,4 @@ export default class AdMediaView extends React.Component { export declare type NativeAdMediaView = React.Component; export declare const NativeAdMediaView: React.ComponentType; export {}; +//# sourceMappingURL=AdMediaView.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdMediaView.d.ts.map b/packages/expo-ads-facebook/build/AdMediaView.d.ts.map new file mode 100644 index 00000000000000..55a80f60809de0 --- /dev/null +++ b/packages/expo-ads-facebook/build/AdMediaView.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdMediaView.d.ts","sourceRoot":"","sources":["../src/AdMediaView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC,aAAK,KAAK,GAAG,KAAK,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAC7D,MAAM;CAUP;AAGD,oBAAY,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEvD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAyC,CAAC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdMediaView.web.d.ts b/packages/expo-ads-facebook/build/AdMediaView.web.d.ts index da6e94d8f3601f..c304d419fa6775 100644 --- a/packages/expo-ads-facebook/build/AdMediaView.web.d.ts +++ b/packages/expo-ads-facebook/build/AdMediaView.web.d.ts @@ -1 +1,2 @@ export default function AdMediaView(): void; +//# sourceMappingURL=AdMediaView.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdMediaView.web.d.ts.map b/packages/expo-ads-facebook/build/AdMediaView.web.d.ts.map new file mode 100644 index 00000000000000..941591c304da83 --- /dev/null +++ b/packages/expo-ads-facebook/build/AdMediaView.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdMediaView.web.d.ts","sourceRoot":"","sources":["../src/AdMediaView.web.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,WAAW,SAElC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdOptionsView.d.ts b/packages/expo-ads-facebook/build/AdOptionsView.d.ts index 170d7d4d9e6df8..70a98a812cd074 100644 --- a/packages/expo-ads-facebook/build/AdOptionsView.d.ts +++ b/packages/expo-ads-facebook/build/AdOptionsView.d.ts @@ -16,3 +16,4 @@ export default class AdOptionsView extends React.Component { export declare type NativeAdOptionsView = React.Component; export declare const NativeAdOptionsView: React.ComponentType; export {}; +//# sourceMappingURL=AdOptionsView.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdOptionsView.d.ts.map b/packages/expo-ads-facebook/build/AdOptionsView.d.ts.map new file mode 100644 index 00000000000000..f5a17aaf31e1d1 --- /dev/null +++ b/packages/expo-ads-facebook/build/AdOptionsView.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdOptionsView.d.ts","sourceRoot":"","sources":["../src/AdOptionsView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAY,IAAI,EAAkB,MAAM,cAAc,CAAC;AAS9D,aAAK,KAAK,GAAG,KAAK,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,GAAG;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;CACxC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAC/D,MAAM,CAAC,YAAY;;;MAGjB;IAEF,qBAAqB,gBAAiD;IAEtE,MAAM;CAsCP;AAGD,oBAAY,mBAAmB,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEzD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CACd,CAAC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdOptionsView.web.d.ts b/packages/expo-ads-facebook/build/AdOptionsView.web.d.ts index b24b236c0c4282..92e4c3c124fd19 100644 --- a/packages/expo-ads-facebook/build/AdOptionsView.web.d.ts +++ b/packages/expo-ads-facebook/build/AdOptionsView.web.d.ts @@ -1 +1,2 @@ export default function AdIconView(): void; +//# sourceMappingURL=AdOptionsView.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdOptionsView.web.d.ts.map b/packages/expo-ads-facebook/build/AdOptionsView.web.d.ts.map new file mode 100644 index 00000000000000..6abf89f6f87f29 --- /dev/null +++ b/packages/expo-ads-facebook/build/AdOptionsView.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdOptionsView.web.d.ts","sourceRoot":"","sources":["../src/AdOptionsView.web.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,UAAU,SAEjC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdSettings.d.ts b/packages/expo-ads-facebook/build/AdSettings.d.ts index ce299fd3caa5be..d370f87ad1725d 100644 --- a/packages/expo-ads-facebook/build/AdSettings.d.ts +++ b/packages/expo-ads-facebook/build/AdSettings.d.ts @@ -41,3 +41,4 @@ declare const _default: { setUrlPrefix(urlPrefix: string): void; }; export default _default; +//# sourceMappingURL=AdSettings.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdSettings.d.ts.map b/packages/expo-ads-facebook/build/AdSettings.d.ts.map new file mode 100644 index 00000000000000..272eb3060d13fc --- /dev/null +++ b/packages/expo-ads-facebook/build/AdSettings.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdSettings.d.ts","sourceRoot":"","sources":["../src/AdSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EAItB,MAAM,mBAAmB,CAAC;AAK3B,oBAAY,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,CAAC;AAE7F,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;AAS7F,iBAAe,uBAAuB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CASpE;AAED,iBAAe,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAShE;;IAmBC;;OAEG;;;;;IAOH;;OAEG;0CACmC,OAAO,GAAG,IAAI;IAYpD;;OAEG;8BACuB,MAAM,GAAG,IAAI;IAGvC;;OAEG;wBACiB,IAAI;IAGxB;;OAEG;0BACmB,UAAU,GAAG,IAAI;IAGvC;;OAEG;mCAC4B,OAAO,GAAG,IAAI;IAG7C;;OAEG;0CACmC,MAAM,GAAG,IAAI;IAGnD;;OAEG;4BACqB,MAAM,GAAG,IAAI;;AA1DvC,wBA6DE"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdSettings.web.d.ts b/packages/expo-ads-facebook/build/AdSettings.web.d.ts index 430049e45a3374..cbb8a70fa039fe 100644 --- a/packages/expo-ads-facebook/build/AdSettings.web.d.ts +++ b/packages/expo-ads-facebook/build/AdSettings.web.d.ts @@ -1 +1,2 @@ export default function AdSettings(): void; +//# sourceMappingURL=AdSettings.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdSettings.web.d.ts.map b/packages/expo-ads-facebook/build/AdSettings.web.d.ts.map new file mode 100644 index 00000000000000..f5aa642712ac55 --- /dev/null +++ b/packages/expo-ads-facebook/build/AdSettings.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdSettings.web.d.ts","sourceRoot":"","sources":["../src/AdSettings.web.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,UAAU,SAEjC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdTriggerView.d.ts b/packages/expo-ads-facebook/build/AdTriggerView.d.ts index 6e8593e684af23..372dada9b9b3bd 100644 --- a/packages/expo-ads-facebook/build/AdTriggerView.d.ts +++ b/packages/expo-ads-facebook/build/AdTriggerView.d.ts @@ -13,3 +13,4 @@ export default class AdTriggerView

; } export {}; +//# sourceMappingURL=AdTriggerView.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdTriggerView.d.ts.map b/packages/expo-ads-facebook/build/AdTriggerView.d.ts.map new file mode 100644 index 00000000000000..6bb4843dc7e51b --- /dev/null +++ b/packages/expo-ads-facebook/build/AdTriggerView.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdTriggerView.d.ts","sourceRoot":"","sources":["../src/AdTriggerView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,aAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACnC,CAAC;AAEF,aAAK,kBAAkB,CAAC,CAAC,IAAI;IAC3B,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAClE,GAAG,CAAC,CAAC;AAEN,MAAM,CAAC,OAAO,OAAO,aAAa,CAChC,CAAC,SAAS,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,CACxE,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAQ;IAE3C,MAAM;IAyCN,kBAAkB,IAAI,CAAC;IAMvB,kCAAkC,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;CAGpE"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdTriggerView.web.d.ts b/packages/expo-ads-facebook/build/AdTriggerView.web.d.ts index 5f2046c902e56c..460c3c2e53143e 100644 --- a/packages/expo-ads-facebook/build/AdTriggerView.web.d.ts +++ b/packages/expo-ads-facebook/build/AdTriggerView.web.d.ts @@ -1 +1,2 @@ export default function AdTriggerView(): void; +//# sourceMappingURL=AdTriggerView.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/AdTriggerView.web.d.ts.map b/packages/expo-ads-facebook/build/AdTriggerView.web.d.ts.map new file mode 100644 index 00000000000000..fb2395583d6968 --- /dev/null +++ b/packages/expo-ads-facebook/build/AdTriggerView.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AdTriggerView.web.d.ts","sourceRoot":"","sources":["../src/AdTriggerView.web.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,aAAa,SAEpC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/BannerAd.d.ts b/packages/expo-ads-facebook/build/BannerAd.d.ts index 9a2c717b68df45..9c156cc1dfd055 100644 --- a/packages/expo-ads-facebook/build/BannerAd.d.ts +++ b/packages/expo-ads-facebook/build/BannerAd.d.ts @@ -11,3 +11,4 @@ export default class BannerAd extends React.Component { render(): JSX.Element; } export {}; +//# sourceMappingURL=BannerAd.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/BannerAd.d.ts.map b/packages/expo-ads-facebook/build/BannerAd.d.ts.map new file mode 100644 index 00000000000000..7522145a458f2c --- /dev/null +++ b/packages/expo-ads-facebook/build/BannerAd.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BannerAd.d.ts","sourceRoot":"","sources":["../src/BannerAd.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,aAAK,KAAK,GAAG;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC;AAEtC,aAAK,YAAY,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAC1D,MAAM;CAcP"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/BannerAd.web.d.ts b/packages/expo-ads-facebook/build/BannerAd.web.d.ts index 8a767ee2c0549b..e8e2c2900909cd 100644 --- a/packages/expo-ads-facebook/build/BannerAd.web.d.ts +++ b/packages/expo-ads-facebook/build/BannerAd.web.d.ts @@ -1 +1,2 @@ export default function BannerAd(): void; +//# sourceMappingURL=BannerAd.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/BannerAd.web.d.ts.map b/packages/expo-ads-facebook/build/BannerAd.web.d.ts.map new file mode 100644 index 00000000000000..0b8aa504ea7746 --- /dev/null +++ b/packages/expo-ads-facebook/build/BannerAd.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BannerAd.web.d.ts","sourceRoot":"","sources":["../src/BannerAd.web.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,QAAQ,SAE/B"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/InterstitialAdManager.d.ts b/packages/expo-ads-facebook/build/InterstitialAdManager.d.ts index 99557b0ef45947..938624001daffa 100644 --- a/packages/expo-ads-facebook/build/InterstitialAdManager.d.ts +++ b/packages/expo-ads-facebook/build/InterstitialAdManager.d.ts @@ -5,3 +5,4 @@ declare const _default: { showAd(placementId: string): Promise; }; export default _default; +//# sourceMappingURL=InterstitialAdManager.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/InterstitialAdManager.d.ts.map b/packages/expo-ads-facebook/build/InterstitialAdManager.d.ts.map new file mode 100644 index 00000000000000..096fccb2d094a5 --- /dev/null +++ b/packages/expo-ads-facebook/build/InterstitialAdManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"InterstitialAdManager.d.ts","sourceRoot":"","sources":["../src/InterstitialAdManager.ts"],"names":[],"mappings":";IAWE;;OAEG;wBACuB,MAAM,GAAG,QAAQ,OAAO,CAAC;;AAJrD,wBAOE"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/NativeAdsManager.d.ts b/packages/expo-ads-facebook/build/NativeAdsManager.d.ts index 966d888c879203..283091c220d167 100644 --- a/packages/expo-ads-facebook/build/NativeAdsManager.d.ts +++ b/packages/expo-ads-facebook/build/NativeAdsManager.d.ts @@ -43,3 +43,4 @@ declare class NativeAdsManager { setMediaCachePolicy(cachePolicy: AdManagerCachePolicy): void; } export default NativeAdsManager; +//# sourceMappingURL=NativeAdsManager.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/NativeAdsManager.d.ts.map b/packages/expo-ads-facebook/build/NativeAdsManager.d.ts.map new file mode 100644 index 00000000000000..1146d4ebbae73c --- /dev/null +++ b/packages/expo-ads-facebook/build/NativeAdsManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"NativeAdsManager.d.ts","sourceRoot":"","sources":["../src/NativeAdsManager.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAS5D,aAAK,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAU9D,cAAM,gBAAgB;IACpB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IAEpB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IAErB,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAS;IAEzB,oDAAoD;IACpD,YAAY,EAAE,YAAY,CAAsB;WAEnC,gCAAgC,CAC3C,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EAAE;IAUrB,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM;IAI3C;;;;;OAKG;gBACS,WAAW,EAAE,MAAM,EAAE,YAAY,GAAE,MAAW;IAS1D;;;OAGG;IACH,sBAAsB;IAsBtB;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,iBAAiB;IAWpD,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,iBAAiB;IAIjE;;OAEG;IACH,kBAAkB;IAIlB;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,EAAE,oBAAoB;CAGtD;AAED,eAAe,gBAAgB,CAAC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/NativeAdsManager.web.d.ts b/packages/expo-ads-facebook/build/NativeAdsManager.web.d.ts index 16d8d1df21e570..cbc2638e5816ff 100644 --- a/packages/expo-ads-facebook/build/NativeAdsManager.web.d.ts +++ b/packages/expo-ads-facebook/build/NativeAdsManager.web.d.ts @@ -1 +1,2 @@ export default function NativeAdsManager(): void; +//# sourceMappingURL=NativeAdsManager.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/NativeAdsManager.web.d.ts.map b/packages/expo-ads-facebook/build/NativeAdsManager.web.d.ts.map new file mode 100644 index 00000000000000..eff26c15569a0f --- /dev/null +++ b/packages/expo-ads-facebook/build/NativeAdsManager.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"NativeAdsManager.web.d.ts","sourceRoot":"","sources":["../src/NativeAdsManager.web.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,gBAAgB,SAEvC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/index.d.ts b/packages/expo-ads-facebook/build/index.d.ts index 3e9f853ff8c20b..500cc15111f469 100644 --- a/packages/expo-ads-facebook/build/index.d.ts +++ b/packages/expo-ads-facebook/build/index.d.ts @@ -7,3 +7,4 @@ export { default as NativeAdsManager } from './NativeAdsManager'; export { default as InterstitialAdManager } from './InterstitialAdManager'; export { default as BannerAd } from './BannerAd'; export { default as AdOptionsView } from './AdOptionsView'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/index.d.ts.map b/packages/expo-ads-facebook/build/index.d.ts.map new file mode 100644 index 00000000000000..6954e87f2e88bb --- /dev/null +++ b/packages/expo-ads-facebook/build/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/withNativeAd.d.ts b/packages/expo-ads-facebook/build/withNativeAd.d.ts index 83db384496ec65..d684aed9dc63df 100644 --- a/packages/expo-ads-facebook/build/withNativeAd.d.ts +++ b/packages/expo-ads-facebook/build/withNativeAd.d.ts @@ -86,3 +86,4 @@ export declare type NativeAd = { sponsoredTranslation?: string; }; export {}; +//# sourceMappingURL=withNativeAd.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/withNativeAd.d.ts.map b/packages/expo-ads-facebook/build/withNativeAd.d.ts.map new file mode 100644 index 00000000000000..fb0d790b0e4fda --- /dev/null +++ b/packages/expo-ads-facebook/build/withNativeAd.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"withNativeAd.d.ts","sourceRoot":"","sources":["../src/withNativeAd.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/withNativeAd.web.d.ts b/packages/expo-ads-facebook/build/withNativeAd.web.d.ts index c6be8e6fcf521f..9a842bdfdd6c0a 100644 --- a/packages/expo-ads-facebook/build/withNativeAd.web.d.ts +++ b/packages/expo-ads-facebook/build/withNativeAd.web.d.ts @@ -1 +1,2 @@ export default function withNativeAd(): void; +//# sourceMappingURL=withNativeAd.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-ads-facebook/build/withNativeAd.web.d.ts.map b/packages/expo-ads-facebook/build/withNativeAd.web.d.ts.map new file mode 100644 index 00000000000000..cd334ebf9ee199 --- /dev/null +++ b/packages/expo-ads-facebook/build/withNativeAd.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"withNativeAd.web.d.ts","sourceRoot":"","sources":["../src/withNativeAd.web.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,YAAY,SAEnC"} \ No newline at end of file diff --git a/packages/expo-ads-facebook/plugin/src/withFacebookAds.ts b/packages/expo-ads-facebook/plugin/src/withFacebookAds.ts index 72716f513dbc56..400fe4053aac97 100644 --- a/packages/expo-ads-facebook/plugin/src/withFacebookAds.ts +++ b/packages/expo-ads-facebook/plugin/src/withFacebookAds.ts @@ -5,9 +5,11 @@ import { withSKAdNetworkIdentifiers } from './withSKAdNetworkIdentifiers'; const pkg = require('expo-ads-facebook/package.json'); -const withFacebookAds: ConfigPlugin<{ - userTrackingPermission?: string; -} | void> = (config, props) => { +const withFacebookAds: ConfigPlugin< + { + userTrackingPermission?: string; + } | void +> = (config, props) => { config = withUserTrackingPermission(config, props); // https://developers.facebook.com/docs/SKAdNetwork config = withSKAdNetworkIdentifiers(config, ['v9wttpbfk9.skadnetwork', 'n38lu8286q.skadnetwork']); diff --git a/packages/expo-ads-facebook/plugin/src/withFacebookAdsIOS.ts b/packages/expo-ads-facebook/plugin/src/withFacebookAdsIOS.ts index d6fc18acfc403c..eda745fd10b468 100644 --- a/packages/expo-ads-facebook/plugin/src/withFacebookAdsIOS.ts +++ b/packages/expo-ads-facebook/plugin/src/withFacebookAdsIOS.ts @@ -2,9 +2,11 @@ import { ConfigPlugin } from '@expo/config-plugins'; const USER_TRACKING = 'This identifier will be used to deliver personalized ads to you.'; -export const withUserTrackingPermission: ConfigPlugin<{ - userTrackingPermission?: string; -} | void> = (config, { userTrackingPermission } = {}) => { +export const withUserTrackingPermission: ConfigPlugin< + { + userTrackingPermission?: string; + } | void +> = (config, { userTrackingPermission } = {}) => { if (!config.ios) config.ios = {}; if (!config.ios.infoPlist) config.ios.infoPlist = {}; config.ios.infoPlist.NSUserTrackingUsageDescription = diff --git a/packages/expo-analytics-amplitude/build/Amplitude.d.ts b/packages/expo-analytics-amplitude/build/Amplitude.d.ts index d17f8e10e7d2f7..bc1061ad708e27 100644 --- a/packages/expo-analytics-amplitude/build/Amplitude.d.ts +++ b/packages/expo-analytics-amplitude/build/Amplitude.d.ts @@ -121,3 +121,4 @@ export declare function setGroupAsync(groupType: string, groupNames: string[]): * passing `disableCarrier: true` disables tracking the device's carrier. */ export declare function setTrackingOptionsAsync(options: AmplitudeTrackingOptions): Promise; +//# sourceMappingURL=Amplitude.d.ts.map \ No newline at end of file diff --git a/packages/expo-analytics-amplitude/build/Amplitude.d.ts.map b/packages/expo-analytics-amplitude/build/Amplitude.d.ts.map new file mode 100644 index 00000000000000..5a13667b3e83d2 --- /dev/null +++ b/packages/expo-analytics-amplitude/build/Amplitude.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Amplitude.d.ts","sourceRoot":"","sources":["../src/Amplitude.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKnE;AAGD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzE;AAGD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAK/F;AAGD;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9D;AAGD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpE;AAGD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAKf;AAGD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1F;AAGD;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9F"} \ No newline at end of file diff --git a/packages/expo-analytics-amplitude/build/ExpoAmplitude.d.ts b/packages/expo-analytics-amplitude/build/ExpoAmplitude.d.ts index 1f7a36fde601a4..7132c811a1dcfa 100644 --- a/packages/expo-analytics-amplitude/build/ExpoAmplitude.d.ts +++ b/packages/expo-analytics-amplitude/build/ExpoAmplitude.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoAmplitude.d.ts.map \ No newline at end of file diff --git a/packages/expo-analytics-amplitude/build/ExpoAmplitude.d.ts.map b/packages/expo-analytics-amplitude/build/ExpoAmplitude.d.ts.map new file mode 100644 index 00000000000000..ee254b1be0a5d1 --- /dev/null +++ b/packages/expo-analytics-amplitude/build/ExpoAmplitude.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAmplitude.d.ts","sourceRoot":"","sources":["../src/ExpoAmplitude.ts"],"names":[],"mappings":";AACA,wBAAsD"} \ No newline at end of file diff --git a/packages/expo-analytics-amplitude/build/ExpoAmplitude.web.d.ts b/packages/expo-analytics-amplitude/build/ExpoAmplitude.web.d.ts index 45dff2eeb36191..e757847af09838 100644 --- a/packages/expo-analytics-amplitude/build/ExpoAmplitude.web.d.ts +++ b/packages/expo-analytics-amplitude/build/ExpoAmplitude.web.d.ts @@ -2,3 +2,4 @@ declare const _default: { readonly name: string; }; export default _default; +//# sourceMappingURL=ExpoAmplitude.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-analytics-amplitude/build/ExpoAmplitude.web.d.ts.map b/packages/expo-analytics-amplitude/build/ExpoAmplitude.web.d.ts.map new file mode 100644 index 00000000000000..97e519846d2121 --- /dev/null +++ b/packages/expo-analytics-amplitude/build/ExpoAmplitude.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAmplitude.web.d.ts","sourceRoot":"","sources":["../src/ExpoAmplitude.web.ts"],"names":[],"mappings":";;;AAAA,wBAIE"} \ No newline at end of file diff --git a/packages/expo-analytics-segment/build/ExponentSegment.d.ts b/packages/expo-analytics-segment/build/ExponentSegment.d.ts index 1f7a36fde601a4..de6e5f24dbbeb3 100644 --- a/packages/expo-analytics-segment/build/ExponentSegment.d.ts +++ b/packages/expo-analytics-segment/build/ExponentSegment.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExponentSegment.d.ts.map \ No newline at end of file diff --git a/packages/expo-analytics-segment/build/ExponentSegment.d.ts.map b/packages/expo-analytics-segment/build/ExponentSegment.d.ts.map new file mode 100644 index 00000000000000..bf9f1a9efc483f --- /dev/null +++ b/packages/expo-analytics-segment/build/ExponentSegment.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentSegment.d.ts","sourceRoot":"","sources":["../src/ExponentSegment.ts"],"names":[],"mappings":";AAEA,wBAAkD"} \ No newline at end of file diff --git a/packages/expo-analytics-segment/build/ExponentSegment.web.d.ts b/packages/expo-analytics-segment/build/ExponentSegment.web.d.ts index 45dff2eeb36191..d72860f7bb8c01 100644 --- a/packages/expo-analytics-segment/build/ExponentSegment.web.d.ts +++ b/packages/expo-analytics-segment/build/ExponentSegment.web.d.ts @@ -2,3 +2,4 @@ declare const _default: { readonly name: string; }; export default _default; +//# sourceMappingURL=ExponentSegment.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-analytics-segment/build/ExponentSegment.web.d.ts.map b/packages/expo-analytics-segment/build/ExponentSegment.web.d.ts.map new file mode 100644 index 00000000000000..911fca66877e3a --- /dev/null +++ b/packages/expo-analytics-segment/build/ExponentSegment.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentSegment.web.d.ts","sourceRoot":"","sources":["../src/ExponentSegment.web.ts"],"names":[],"mappings":";;;AAAA,wBAIE"} \ No newline at end of file diff --git a/packages/expo-analytics-segment/build/Segment.d.ts b/packages/expo-analytics-segment/build/Segment.d.ts index 729c09bd363d96..340426544e77a4 100644 --- a/packages/expo-analytics-segment/build/Segment.d.ts +++ b/packages/expo-analytics-segment/build/Segment.d.ts @@ -107,3 +107,4 @@ export declare function screenWithProperties(screenName: string, properties: Rec export declare function flush(): void; export declare function getEnabledAsync(): Promise; export declare function setEnabledAsync(enabled: boolean): Promise; +//# sourceMappingURL=Segment.d.ts.map \ No newline at end of file diff --git a/packages/expo-analytics-segment/build/Segment.d.ts.map b/packages/expo-analytics-segment/build/Segment.d.ts.map new file mode 100644 index 00000000000000..a6f01ad9af6727 --- /dev/null +++ b/packages/expo-analytics-segment/build/Segment.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Segment.d.ts","sourceRoot":"","sources":["../src/Segment.ts"],"names":[],"mappings":"AAMA,oBAAY,iBAAiB,GAAG;IAC9B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;AAGvD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAa3D;AAGD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAK7C;AAGD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,GAAE,aAAoB,GAC5B,IAAI,CAKN;AAGD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAK3C;AAGD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,GAAE,aAAoB,GAC5B,IAAI,CAKN;AAGD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1F;AAGD;;GAEG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAK5B;AAGD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKzC;AAGD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,OAAO,GAAE,aAAoB,GAC5B,IAAI,CAKN;AAGD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAK/C;AAGD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,OAAO,GAAE,aAAoB,GAC5B,IAAI,CAKN;AAGD;;GAEG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAK5B;AAGD,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAMxD;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAKrE"} \ No newline at end of file diff --git a/packages/expo-app-auth/build/AppAuth.d.ts b/packages/expo-app-auth/build/AppAuth.d.ts index aee38873884bef..afff373a9308e3 100644 --- a/packages/expo-app-auth/build/AppAuth.d.ts +++ b/packages/expo-app-auth/build/AppAuth.d.ts @@ -13,3 +13,4 @@ export declare const OAuthRedirect: any, /** @deprecated `expo-app-auth` has been deprecated in favor of `expo-auth-session`. [Learn more](https://expo.fyi/expo-app-auth-deprecated). */ URLSchemes: any; +//# sourceMappingURL=AppAuth.d.ts.map \ No newline at end of file diff --git a/packages/expo-app-auth/build/AppAuth.d.ts.map b/packages/expo-app-auth/build/AppAuth.d.ts.map new file mode 100644 index 00000000000000..2cd5c7b43d8aac --- /dev/null +++ b/packages/expo-app-auth/build/AppAuth.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AppAuth.d.ts","sourceRoot":"","sources":["../src/AppAuth.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,UAAU,EACV,kBAAkB,EAElB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAGzB,cAAc,iBAAiB,CAAC;AA6ChC,gJAAgJ;AAChJ,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,gJAAgJ;AAChJ,wBAAsB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAKzE;AAED,gJAAgJ;AAChJ,wBAAsB,YAAY,CAChC,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC,CAYxB;AAED,gJAAgJ;AAChJ,wBAAsB,WAAW,CAC/B,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,cAAc,EAC1D,EAAE,KAAK,EAAE,kBAA0B,EAAE,EAAE,kBAAkB,GACxD,OAAO,CAAC,GAAG,CAAC,CAuCd;AAED,eAAO;AACL,gJAAgJ;AAChJ,aAAa;AACb,gJAAgJ;AAChJ,UAAU,KACG,CAAC"} \ No newline at end of file diff --git a/packages/expo-app-auth/build/AppAuth.types.d.ts b/packages/expo-app-auth/build/AppAuth.types.d.ts index 328a0677ce1bcd..4775c9aca83362 100644 --- a/packages/expo-app-auth/build/AppAuth.types.d.ts +++ b/packages/expo-app-auth/build/AppAuth.types.d.ts @@ -51,3 +51,4 @@ export declare type TokenResponse = { tokenType: string | null; refreshToken: string | null; }; +//# sourceMappingURL=AppAuth.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-app-auth/build/AppAuth.types.d.ts.map b/packages/expo-app-auth/build/AppAuth.types.d.ts.map new file mode 100644 index 00000000000000..3e7d83438b394b --- /dev/null +++ b/packages/expo-app-auth/build/AppAuth.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AppAuth.types.d.ts","sourceRoot":"","sources":["../src/AppAuth.types.ts"],"names":[],"mappings":"AAAA,oBAAY,yBAAyB,GAAG;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAGF,oBAAY,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAMvE,oBAAY,oBAAoB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAQnF,oBAAY,mBAAmB,GAAG,MAAM,CAAC;AASzC,oBAAY,uBAAuB,GAAG,MAAM,CAAC;AAoB7C,oBAAY,yBAAyB,GAAG,MAAM,CAAC;AAU/C,oBAAY,oBAAoB,GAAG,MAAM,CAAC;AAa1C,oBAAY,uBAAuB,GAAG,MAAM,CAAC;AAW7C,oBAAY,uBAAuB,GAAG,MAAM,CAAC;AAE7C,oBAAY,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,oBAAY,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;CAClD,CAAC;AAEF,oBAAY,UAAU,GAAG,cAAc,GAAG;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oBAAoB,CAAC,EAAE,eAAe,CAAC;IACvC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,oBAAoB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC"} \ No newline at end of file diff --git a/packages/expo-app-auth/build/ExpoAppAuth.d.ts b/packages/expo-app-auth/build/ExpoAppAuth.d.ts index 1f7a36fde601a4..40a680d3cfbebc 100644 --- a/packages/expo-app-auth/build/ExpoAppAuth.d.ts +++ b/packages/expo-app-auth/build/ExpoAppAuth.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoAppAuth.d.ts.map \ No newline at end of file diff --git a/packages/expo-app-auth/build/ExpoAppAuth.d.ts.map b/packages/expo-app-auth/build/ExpoAppAuth.d.ts.map new file mode 100644 index 00000000000000..2de78753aa8de5 --- /dev/null +++ b/packages/expo-app-auth/build/ExpoAppAuth.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAppAuth.d.ts","sourceRoot":"","sources":["../src/ExpoAppAuth.ts"],"names":[],"mappings":";AAEA,wBAAoD"} \ No newline at end of file diff --git a/packages/expo-app-auth/build/ExpoAppAuth.web.d.ts b/packages/expo-app-auth/build/ExpoAppAuth.web.d.ts index e24ed4d623d0ce..6c1c90d5638351 100644 --- a/packages/expo-app-auth/build/ExpoAppAuth.web.d.ts +++ b/packages/expo-app-auth/build/ExpoAppAuth.web.d.ts @@ -3,3 +3,4 @@ declare const _default: { readonly OAuthRedirect: string; }; export default _default; +//# sourceMappingURL=ExpoAppAuth.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-app-auth/build/ExpoAppAuth.web.d.ts.map b/packages/expo-app-auth/build/ExpoAppAuth.web.d.ts.map new file mode 100644 index 00000000000000..51aaf3d9d8ee65 --- /dev/null +++ b/packages/expo-app-auth/build/ExpoAppAuth.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAppAuth.web.d.ts","sourceRoot":"","sources":["../src/ExpoAppAuth.web.ts"],"names":[],"mappings":";;;;AACA,wBAOE"} \ No newline at end of file diff --git a/packages/expo-app-loading/build/AppLoading.d.ts b/packages/expo-app-loading/build/AppLoading.d.ts index 973d453b357daf..a39d24dd209c0b 100644 --- a/packages/expo-app-loading/build/AppLoading.d.ts +++ b/packages/expo-app-loading/build/AppLoading.d.ts @@ -8,3 +8,4 @@ declare class AppLoading extends React.Component { render(): JSX.Element; } export default AppLoading; +//# sourceMappingURL=AppLoading.d.ts.map \ No newline at end of file diff --git a/packages/expo-app-loading/build/AppLoading.d.ts.map b/packages/expo-app-loading/build/AppLoading.d.ts.map new file mode 100644 index 00000000000000..5cb38f496474f3 --- /dev/null +++ b/packages/expo-app-loading/build/AppLoading.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AppLoading.d.ts","sourceRoot":"","sources":["../src/AppLoading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,cAAM,UAAW,SAAQ,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;IACvD,UAAU,EAAE,OAAO,CAAS;IAE5B,iBAAiB;IAQjB,oBAAoB;YAIN,6BAA6B;IA6B3C,MAAM;CAGP;AAED,eAAe,UAAU,CAAC"} \ No newline at end of file diff --git a/packages/expo-app-loading/build/AppLoading.types.d.ts b/packages/expo-app-loading/build/AppLoading.types.d.ts index dbdda679b0938f..ea8eb676d9f5af 100644 --- a/packages/expo-app-loading/build/AppLoading.types.d.ts +++ b/packages/expo-app-loading/build/AppLoading.types.d.ts @@ -36,3 +36,4 @@ export declare type AppLoadingProps = { */ autoHideSplash?: boolean; }; +//# sourceMappingURL=AppLoading.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-app-loading/build/AppLoading.types.d.ts.map b/packages/expo-app-loading/build/AppLoading.types.d.ts.map new file mode 100644 index 00000000000000..81d1ff2f08d4ab --- /dev/null +++ b/packages/expo-app-loading/build/AppLoading.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AppLoading.types.d.ts","sourceRoot":"","sources":["../src/AppLoading.types.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,oBAAY,eAAe,GACvB;IACE;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;;OAGG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEhC;;;;OAIG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACD;IACE;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC"} \ No newline at end of file diff --git a/packages/expo-app-loading/build/AppLoadingNativeWrapper.d.ts b/packages/expo-app-loading/build/AppLoadingNativeWrapper.d.ts index e7e81f08d5d75e..096e2caceec196 100644 --- a/packages/expo-app-loading/build/AppLoadingNativeWrapper.d.ts +++ b/packages/expo-app-loading/build/AppLoadingNativeWrapper.d.ts @@ -11,3 +11,4 @@ export default class AppLoading extends React.Component { render(): null; } export {}; +//# sourceMappingURL=AppLoadingNativeWrapper.d.ts.map \ No newline at end of file diff --git a/packages/expo-app-loading/build/AppLoadingNativeWrapper.d.ts.map b/packages/expo-app-loading/build/AppLoadingNativeWrapper.d.ts.map new file mode 100644 index 00000000000000..001a9904422a6f --- /dev/null +++ b/packages/expo-app-loading/build/AppLoadingNativeWrapper.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AppLoadingNativeWrapper.d.ts","sourceRoot":"","sources":["../src/AppLoadingNativeWrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,aAAK,KAAK,GAAG;IACX,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAC5D,MAAM,CAAC,YAAY;;MAEjB;gBAEU,KAAK,EAAE,KAAK;IAKxB,oBAAoB;IAapB,MAAM;CAGP"} \ No newline at end of file diff --git a/packages/expo-app-loading/build/index.d.ts b/packages/expo-app-loading/build/index.d.ts index 28b9de2f78d6d4..a265f4956812c1 100644 --- a/packages/expo-app-loading/build/index.d.ts +++ b/packages/expo-app-loading/build/index.d.ts @@ -1,3 +1,4 @@ import AppLoading from './AppLoading'; export { AppLoadingProps } from './AppLoading.types'; export default AppLoading; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/expo-app-loading/build/index.d.ts.map b/packages/expo-app-loading/build/index.d.ts.map new file mode 100644 index 00000000000000..9aabccd7e04de9 --- /dev/null +++ b/packages/expo-app-loading/build/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAe,UAAU,CAAC"} \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/AppleAuthentication.d.ts b/packages/expo-apple-authentication/build/AppleAuthentication.d.ts index 91e77c66485020..59d612a22324f3 100644 --- a/packages/expo-apple-authentication/build/AppleAuthentication.d.ts +++ b/packages/expo-apple-authentication/build/AppleAuthentication.d.ts @@ -61,3 +61,4 @@ export declare function signOutAsync(options: AppleAuthenticationSignOutOptions) export declare function getCredentialStateAsync(user: string): Promise; export declare function addRevokeListener(listener: () => void): Subscription; export { Subscription }; +//# sourceMappingURL=AppleAuthentication.d.ts.map \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/AppleAuthentication.d.ts.map b/packages/expo-apple-authentication/build/AppleAuthentication.d.ts.map new file mode 100644 index 00000000000000..1be61cc065b834 --- /dev/null +++ b/packages/expo-apple-authentication/build/AppleAuthentication.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AppleAuthentication.d.ts","sourceRoot":"","sources":["../src/AppleAuthentication.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AAEhG,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAElC,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,6BAA6B,CAAC;AAIrC;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAKzD;AAGD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAC/B,OAAO,CAAC,EAAE,gCAAgC,GACzC,OAAO,CAAC,6BAA6B,CAAC,CAgBxC;AAGD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,6BAA6B,CAAC,CAgBxC;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,6BAA6B,CAAC,CASxC;AAGD;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,kCAAkC,CAAC,CAK7C;AAKD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,YAAY,CAEpE;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/AppleAuthentication.types.d.ts b/packages/expo-apple-authentication/build/AppleAuthentication.types.d.ts index b7cf9fbf3cb9d1..506550d79cb015 100644 --- a/packages/expo-apple-authentication/build/AppleAuthentication.types.d.ts +++ b/packages/expo-apple-authentication/build/AppleAuthentication.types.d.ts @@ -252,3 +252,4 @@ export declare enum AppleAuthenticationButtonStyle { */ BLACK = 2 } +//# sourceMappingURL=AppleAuthentication.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/AppleAuthentication.types.d.ts.map b/packages/expo-apple-authentication/build/AppleAuthentication.types.d.ts.map new file mode 100644 index 00000000000000..895d86d7f3f6e4 --- /dev/null +++ b/packages/expo-apple-authentication/build/AppleAuthentication.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AppleAuthentication.types.d.ts","sourceRoot":"","sources":["../src/AppleAuthentication.types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/AppleAuthenticationButton.d.ts b/packages/expo-apple-authentication/build/AppleAuthenticationButton.d.ts index 76f16019e67605..1173bb5991f188 100644 --- a/packages/expo-apple-authentication/build/AppleAuthenticationButton.d.ts +++ b/packages/expo-apple-authentication/build/AppleAuthenticationButton.d.ts @@ -25,3 +25,4 @@ import { AppleAuthenticationButtonProps } from './AppleAuthentication.types'; */ declare const AppleAuthenticationButton: React.FC; export default AppleAuthenticationButton; +//# sourceMappingURL=AppleAuthenticationButton.d.ts.map \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/AppleAuthenticationButton.d.ts.map b/packages/expo-apple-authentication/build/AppleAuthenticationButton.d.ts.map new file mode 100644 index 00000000000000..e9b04726c9cbf7 --- /dev/null +++ b/packages/expo-apple-authentication/build/AppleAuthenticationButton.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AppleAuthenticationButton.d.ts","sourceRoot":"","sources":["../src/AppleAuthenticationButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,8BAA8B,EAG/B,MAAM,6BAA6B,CAAC;AAcrC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,QAAA,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAgBvE,CAAC;AA0BF,eAAe,yBAAyB,CAAC"} \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/ExpoAppleAuthentication.d.ts b/packages/expo-apple-authentication/build/ExpoAppleAuthentication.d.ts index 1f7a36fde601a4..256b3aa978c793 100644 --- a/packages/expo-apple-authentication/build/ExpoAppleAuthentication.d.ts +++ b/packages/expo-apple-authentication/build/ExpoAppleAuthentication.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoAppleAuthentication.d.ts.map \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/ExpoAppleAuthentication.d.ts.map b/packages/expo-apple-authentication/build/ExpoAppleAuthentication.d.ts.map new file mode 100644 index 00000000000000..e6f130912d7fc3 --- /dev/null +++ b/packages/expo-apple-authentication/build/ExpoAppleAuthentication.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAppleAuthentication.d.ts","sourceRoot":"","sources":["../src/ExpoAppleAuthentication.ts"],"names":[],"mappings":";AAEA,wBAKY"} \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/ExpoAppleAuthenticationButton.d.ts b/packages/expo-apple-authentication/build/ExpoAppleAuthenticationButton.d.ts index a5b0e89299fe79..46566555a16de8 100644 --- a/packages/expo-apple-authentication/build/ExpoAppleAuthenticationButton.d.ts +++ b/packages/expo-apple-authentication/build/ExpoAppleAuthenticationButton.d.ts @@ -8,3 +8,4 @@ declare let ExpoAppleAuthenticationButtonSignUpWhite: any; declare let ExpoAppleAuthenticationButtonSignUpWhiteOutline: any; declare let ExpoAppleAuthenticationButtonSignUpBlack: any; export { ExpoAppleAuthenticationButtonSignInWhite, ExpoAppleAuthenticationButtonSignInWhiteOutline, ExpoAppleAuthenticationButtonSignInBlack, ExpoAppleAuthenticationButtonContinueWhite, ExpoAppleAuthenticationButtonContinueWhiteOutline, ExpoAppleAuthenticationButtonContinueBlack, ExpoAppleAuthenticationButtonSignUpWhite, ExpoAppleAuthenticationButtonSignUpWhiteOutline, ExpoAppleAuthenticationButtonSignUpBlack, }; +//# sourceMappingURL=ExpoAppleAuthenticationButton.d.ts.map \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/ExpoAppleAuthenticationButton.d.ts.map b/packages/expo-apple-authentication/build/ExpoAppleAuthenticationButton.d.ts.map new file mode 100644 index 00000000000000..8f270e0b1be5ea --- /dev/null +++ b/packages/expo-apple-authentication/build/ExpoAppleAuthenticationButton.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoAppleAuthenticationButton.d.ts","sourceRoot":"","sources":["../src/ExpoAppleAuthenticationButton.ts"],"names":[],"mappings":"AAGA,QAAA,IAAI,wCAAwC,EAAE,GAAG,CAAC;AAClD,QAAA,IAAI,+CAA+C,EAAE,GAAG,CAAC;AACzD,QAAA,IAAI,wCAAwC,EAAE,GAAG,CAAC;AAClD,QAAA,IAAI,0CAA0C,EAAE,GAAG,CAAC;AACpD,QAAA,IAAI,iDAAiD,EAAE,GAAG,CAAC;AAC3D,QAAA,IAAI,0CAA0C,EAAE,GAAG,CAAC;AACpD,QAAA,IAAI,wCAAwC,EAAE,GAAG,CAAC;AAClD,QAAA,IAAI,+CAA+C,EAAE,GAAG,CAAC;AACzD,QAAA,IAAI,wCAAwC,EAAE,GAAG,CAAC;AAgClD,OAAO,EACL,wCAAwC,EACxC,+CAA+C,EAC/C,wCAAwC,EACxC,0CAA0C,EAC1C,iDAAiD,EACjD,0CAA0C,EAC1C,wCAAwC,EACxC,+CAA+C,EAC/C,wCAAwC,GACzC,CAAC"} \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/index.d.ts b/packages/expo-apple-authentication/build/index.d.ts index 3bde72940e1ce8..776e8a39a95bfe 100644 --- a/packages/expo-apple-authentication/build/index.d.ts +++ b/packages/expo-apple-authentication/build/index.d.ts @@ -1,3 +1,4 @@ export * from './AppleAuthentication'; export * from './AppleAuthentication.types'; export { default as AppleAuthenticationButton } from './AppleAuthenticationButton'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/expo-apple-authentication/build/index.d.ts.map b/packages/expo-apple-authentication/build/index.d.ts.map new file mode 100644 index 00000000000000..779bf5419ed1e3 --- /dev/null +++ b/packages/expo-apple-authentication/build/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"} \ No newline at end of file diff --git a/packages/expo-application/build/Application.d.ts b/packages/expo-application/build/Application.d.ts index b50044379f24f6..1a423c2bec7f5d 100644 --- a/packages/expo-application/build/Application.d.ts +++ b/packages/expo-application/build/Application.d.ts @@ -129,3 +129,4 @@ export declare function getInstallationTimeAsync(): Promise; * @platform android */ export declare function getLastUpdateTimeAsync(): Promise; +//# sourceMappingURL=Application.d.ts.map \ No newline at end of file diff --git a/packages/expo-application/build/Application.d.ts.map b/packages/expo-application/build/Application.d.ts.map new file mode 100644 index 00000000000000..c78b65ae51f277 --- /dev/null +++ b/packages/expo-application/build/Application.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,GAAG,IAExC,CAAC;AAGT;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,GAAG,IAElC,CAAC;AAGT;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,GAAG,IAE/B,CAAC;AAGT;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG,IAE7B,CAAC;AAGT;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,GAAG,IAAiE,CAAC;AAGnG;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAK/D;AAGD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKrE;AAGD,oBAAY,sBAAsB;IAChC,OAAO,IAAI;IACX,SAAS,IAAI;IACb,UAAU,IAAI;IACd,WAAW,IAAI;IACf,MAAM,IAAI;IACV,SAAS,IAAI;CACd;AAGD;;;;GAIG;AACH,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAKzF;AAGD;;;;;;GAMG;AACH,wBAAsB,6CAA6C,IAAI,OAAO,CAAC,MAAM,CAAC,CAKrF;AAGD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAM9D;AAGD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAM5D"} \ No newline at end of file diff --git a/packages/expo-application/build/Application.types.d.ts b/packages/expo-application/build/Application.types.d.ts index e69de29bb2d1d6..0dd848cdad1c2e 100644 --- a/packages/expo-application/build/Application.types.d.ts +++ b/packages/expo-application/build/Application.types.d.ts @@ -0,0 +1 @@ +//# sourceMappingURL=Application.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-application/build/Application.types.d.ts.map b/packages/expo-application/build/Application.types.d.ts.map new file mode 100644 index 00000000000000..5c8f3e9a7eb6b9 --- /dev/null +++ b/packages/expo-application/build/Application.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Application.types.d.ts","sourceRoot":"","sources":["../src/Application.types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/expo-application/build/ExpoApplication.d.ts b/packages/expo-application/build/ExpoApplication.d.ts index 1f7a36fde601a4..7fb59aa9e81b64 100644 --- a/packages/expo-application/build/ExpoApplication.d.ts +++ b/packages/expo-application/build/ExpoApplication.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoApplication.d.ts.map \ No newline at end of file diff --git a/packages/expo-application/build/ExpoApplication.d.ts.map b/packages/expo-application/build/ExpoApplication.d.ts.map new file mode 100644 index 00000000000000..9bc69da9049847 --- /dev/null +++ b/packages/expo-application/build/ExpoApplication.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoApplication.d.ts","sourceRoot":"","sources":["../src/ExpoApplication.ts"],"names":[],"mappings":";AACA,wBAAkD"} \ No newline at end of file diff --git a/packages/expo-application/build/ExpoApplication.web.d.ts b/packages/expo-application/build/ExpoApplication.web.d.ts index 8d6743dfdbf42d..a9bd1ad210c011 100644 --- a/packages/expo-application/build/ExpoApplication.web.d.ts +++ b/packages/expo-application/build/ExpoApplication.web.d.ts @@ -8,3 +8,4 @@ declare const _default: { getInstallationTimeAsync(): Promise; }; export default _default; +//# sourceMappingURL=ExpoApplication.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-application/build/ExpoApplication.web.d.ts.map b/packages/expo-application/build/ExpoApplication.web.d.ts.map new file mode 100644 index 00000000000000..70980b9c513918 --- /dev/null +++ b/packages/expo-application/build/ExpoApplication.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoApplication.web.d.ts","sourceRoot":"","sources":["../src/ExpoApplication.web.ts"],"names":[],"mappings":";;;;;;;gCAmBoC,QAAQ,IAAI,CAAC;;AAnBjD,wBAsBE"} \ No newline at end of file diff --git a/packages/expo-asset/CHANGELOG.md b/packages/expo-asset/CHANGELOG.md index 8490ad0d185d84..08ee5249efc2dd 100644 --- a/packages/expo-asset/CHANGELOG.md +++ b/packages/expo-asset/CHANGELOG.md @@ -8,8 +8,12 @@ ### ๐Ÿ› Bug fixes +- Fix missing `getManifest2()` function on web. ([#15891](https://github.com/expo/expo/pull/15891)) by [@jonsamp](https://github.com/jonsamp) + ### ๐Ÿ’ก Others +- Swap out Cloudfront CDN for `classic-assets.eascdn.net`. ([#15781](https://github.com/expo/expo/pull/15781)) by [@quinlanj](https://github.com/quinlanj) + ## 8.4.5 โ€” 2021-12-21 ### ๐Ÿ› Bug fixes diff --git a/packages/expo-asset/build/Asset.d.ts b/packages/expo-asset/build/Asset.d.ts index a9eab9a7cf8275..9b4ead86ab43f8 100644 --- a/packages/expo-asset/build/Asset.d.ts +++ b/packages/expo-asset/build/Asset.d.ts @@ -97,3 +97,4 @@ export declare class Asset { */ downloadAsync(): Promise; } +//# sourceMappingURL=Asset.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/Asset.d.ts.map b/packages/expo-asset/build/Asset.d.ts.map new file mode 100644 index 00000000000000..184960f81aff2f --- /dev/null +++ b/packages/expo-asset/build/Asset.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Asset.d.ts","sourceRoot":"","sources":["../src/Asset.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAqB,MAAM,gBAAgB,CAAC;AAQlE,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,aAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC;AAGzB;;;GAGG;AACH,qBAAa,KAAK;IAChB;;OAEG;IACH,MAAM,CAAC,MAAM,KAAM;IACnB;;OAEG;IACH,MAAM,CAAC,KAAK,KAAM;IAElB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3B;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5B;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7B,WAAW,EAAE,OAAO,CAAS;IAE7B,UAAU,EAAE,OAAO,CAAS;IAE5B;;OAEG;IACH,kBAAkB,EAAE,wBAAwB,EAAE,CAAM;gBAExC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe;IA+B5E;;;;;;;;;;OAUG;IACH,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAMnF;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK;IAwC7D,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK;IAsB/C,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IA2BlC;;;;;;;OAOG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAoCrC"} \ No newline at end of file diff --git a/packages/expo-asset/build/Asset.fx.d.ts b/packages/expo-asset/build/Asset.fx.d.ts index cb0ff5c3b541f6..d15239d4794c2d 100644 --- a/packages/expo-asset/build/Asset.fx.d.ts +++ b/packages/expo-asset/build/Asset.fx.d.ts @@ -1 +1,2 @@ export {}; +//# sourceMappingURL=Asset.fx.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/Asset.fx.d.ts.map b/packages/expo-asset/build/Asset.fx.d.ts.map new file mode 100644 index 00000000000000..a9f131efb7d96e --- /dev/null +++ b/packages/expo-asset/build/Asset.fx.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Asset.fx.d.ts","sourceRoot":"","sources":["../src/Asset.fx.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/expo-asset/build/AssetHooks.d.ts b/packages/expo-asset/build/AssetHooks.d.ts index c57719e33fde11..27787f9e614078 100644 --- a/packages/expo-asset/build/AssetHooks.d.ts +++ b/packages/expo-asset/build/AssetHooks.d.ts @@ -20,3 +20,4 @@ import { Asset } from './Asset'; * ``` */ export declare function useAssets(moduleIds: number | number[]): [Asset[] | undefined, Error | undefined]; +//# sourceMappingURL=AssetHooks.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/AssetHooks.d.ts.map b/packages/expo-asset/build/AssetHooks.d.ts.map new file mode 100644 index 00000000000000..9e0c0a8a2b33d7 --- /dev/null +++ b/packages/expo-asset/build/AssetHooks.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AssetHooks.d.ts","sourceRoot":"","sources":["../src/AssetHooks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAShG"} \ No newline at end of file diff --git a/packages/expo-asset/build/AssetRegistry.d.ts b/packages/expo-asset/build/AssetRegistry.d.ts index ff0a4f696efd9a..8cb255c81b4994 100644 --- a/packages/expo-asset/build/AssetRegistry.d.ts +++ b/packages/expo-asset/build/AssetRegistry.d.ts @@ -1 +1,2 @@ export * from 'react-native/Libraries/Image/AssetRegistry'; +//# sourceMappingURL=AssetRegistry.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/AssetRegistry.d.ts.map b/packages/expo-asset/build/AssetRegistry.d.ts.map new file mode 100644 index 00000000000000..dd3811f92fbeaa --- /dev/null +++ b/packages/expo-asset/build/AssetRegistry.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AssetRegistry.d.ts","sourceRoot":"","sources":["../src/AssetRegistry.ts"],"names":[],"mappings":"AAAA,cAAc,4CAA4C,CAAC"} \ No newline at end of file diff --git a/packages/expo-asset/build/AssetRegistry.web.d.ts b/packages/expo-asset/build/AssetRegistry.web.d.ts index 8daca01e0c1c3d..fcb49bf1ff7e62 100644 --- a/packages/expo-asset/build/AssetRegistry.web.d.ts +++ b/packages/expo-asset/build/AssetRegistry.web.d.ts @@ -1 +1,2 @@ export * from 'react-native-web/dist/modules/AssetRegistry'; +//# sourceMappingURL=AssetRegistry.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/AssetRegistry.web.d.ts.map b/packages/expo-asset/build/AssetRegistry.web.d.ts.map new file mode 100644 index 00000000000000..5f833af929d91e --- /dev/null +++ b/packages/expo-asset/build/AssetRegistry.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AssetRegistry.web.d.ts","sourceRoot":"","sources":["../src/AssetRegistry.web.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC"} \ No newline at end of file diff --git a/packages/expo-asset/build/AssetSourceResolver.d.ts b/packages/expo-asset/build/AssetSourceResolver.d.ts index 76d6cca2bef172..20f73a495d4b4f 100644 --- a/packages/expo-asset/build/AssetSourceResolver.d.ts +++ b/packages/expo-asset/build/AssetSourceResolver.d.ts @@ -1,3 +1,4 @@ import AssetSourceResolver from 'react-native/Libraries/Image/AssetSourceResolver'; export default AssetSourceResolver; export * from 'react-native/Libraries/Image/AssetSourceResolver'; +//# sourceMappingURL=AssetSourceResolver.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/AssetSourceResolver.d.ts.map b/packages/expo-asset/build/AssetSourceResolver.d.ts.map new file mode 100644 index 00000000000000..7ca62285c5ba6f --- /dev/null +++ b/packages/expo-asset/build/AssetSourceResolver.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AssetSourceResolver.d.ts","sourceRoot":"","sources":["../src/AssetSourceResolver.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,kDAAkD,CAAC;AACnF,eAAe,mBAAmB,CAAC;AACnC,cAAc,kDAAkD,CAAC"} \ No newline at end of file diff --git a/packages/expo-asset/build/AssetSourceResolver.web.d.ts b/packages/expo-asset/build/AssetSourceResolver.web.d.ts index df4e99afb43993..7803b295c99104 100644 --- a/packages/expo-asset/build/AssetSourceResolver.web.d.ts +++ b/packages/expo-asset/build/AssetSourceResolver.web.d.ts @@ -33,3 +33,4 @@ export default class AssetSourceResolver { static pickScale(scales: number[], deviceScale: number): number; } export {}; +//# sourceMappingURL=AssetSourceResolver.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/AssetSourceResolver.web.d.ts.map b/packages/expo-asset/build/AssetSourceResolver.web.d.ts.map new file mode 100644 index 00000000000000..e3aa0cf06575bc --- /dev/null +++ b/packages/expo-asset/build/AssetSourceResolver.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AssetSourceResolver.web.d.ts","sourceRoot":"","sources":["../src/AssetSourceResolver.web.ts"],"names":[],"mappings":"AAIA,aAAK,aAAa,GAAG;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AASF,oBAAY,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAaF,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,KAAK,EAAE,aAAa,CAAC;gBAGnB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACpC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACtC,KAAK,EAAE,aAAa;IAMtB,kBAAkB,IAAI,OAAO;IAG7B,sBAAsB,IAAI,OAAO;IAGjC,YAAY,IAAI,mBAAmB;IAOnC,cAAc,IAAI,mBAAmB;IAWrC,eAAe,IAAI,mBAAmB;IAGtC,wBAAwB,IAAI,mBAAmB;IAI/C,8BAA8B,IAAI,mBAAmB;IAGrD,sBAAsB,IAAI,mBAAmB;IAG7C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAU/C,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;CAQhE"} \ No newline at end of file diff --git a/packages/expo-asset/build/AssetSources.d.ts b/packages/expo-asset/build/AssetSources.d.ts index 119942066b841e..19ee42cbbed81f 100644 --- a/packages/expo-asset/build/AssetSources.d.ts +++ b/packages/expo-asset/build/AssetSources.d.ts @@ -27,3 +27,4 @@ export declare function selectAssetSource(meta: AssetMetadata): AssetSource; * base URI. */ export declare function resolveUri(uri: string): string; +//# sourceMappingURL=AssetSources.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/AssetSources.d.ts.map b/packages/expo-asset/build/AssetSources.d.ts.map new file mode 100644 index 00000000000000..25167c6a75efd5 --- /dev/null +++ b/packages/expo-asset/build/AssetSources.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AssetSources.d.ts","sourceRoot":"","sources":["../src/AssetSources.ts"],"names":[],"mappings":"AASA,oBAAY,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAKF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CAiElE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc9C"} \ No newline at end of file diff --git a/packages/expo-asset/build/AssetSources.js b/packages/expo-asset/build/AssetSources.js index e89ed04824a4d0..4c39a6e212ada1 100644 --- a/packages/expo-asset/build/AssetSources.js +++ b/packages/expo-asset/build/AssetSources.js @@ -60,7 +60,7 @@ export function selectAssetSource(meta) { } // Production CDN URIs are based on each asset file hash return { - uri: `https://d1wp6m56sqw74a.cloudfront.net/~assets/${encodeURIComponent(hash)}`, + uri: `https://classic-assets.eascdn.net/~assets/${encodeURIComponent(hash)}`, hash, }; } diff --git a/packages/expo-asset/build/AssetSources.js.map b/packages/expo-asset/build/AssetSources.js.map index d687ca78eb0cc4..8227354603104c 100644 --- a/packages/expo-asset/build/AssetSources.js.map +++ b/packages/expo-asset/build/AssetSources.js.map @@ -1 +1 @@ -{"version":3,"file":"AssetSources.js","sourceRoot":"","sources":["../src/AssetSources.ts"],"names":[],"mappings":"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","sourcesContent":["import { Platform } from 'expo-modules-core';\nimport path from 'path-browserify';\nimport { PixelRatio } from 'react-native';\nimport URL from 'url-parse';\n\nimport AssetSourceResolver from './AssetSourceResolver';\nimport { manifestBaseUrl, getManifest, getManifest2 } from './PlatformUtils';\n\n// @docsMissing\nexport type AssetMetadata = {\n hash: string;\n name: string;\n type: string;\n width?: number;\n height?: number;\n scales: number[];\n httpServerLocation: string;\n uri?: string;\n fileHashes?: string[];\n fileUris?: string[];\n};\n\nexport type AssetSource = {\n uri: string;\n hash: string;\n};\n\n// Fast lookup check if asset map has any overrides in the manifest\nconst assetMapOverride = getManifest().assetMapOverride;\n\n/**\n * Selects the best file for the given asset (ex: choosing the best scale for images) and returns\n * a { uri, hash } pair for the specific asset file.\n *\n * If the asset isn't an image with multiple scales, the first file is selected.\n */\nexport function selectAssetSource(meta: AssetMetadata): AssetSource {\n // Override with the asset map in manifest if available\n if (assetMapOverride && assetMapOverride.hasOwnProperty(meta.hash)) {\n meta = { ...meta, ...assetMapOverride[meta.hash] };\n }\n\n // This logic is based on that of AssetSourceResolver, with additional support for file hashes and\n // explicitly provided URIs\n const scale = AssetSourceResolver.pickScale(meta.scales, PixelRatio.get());\n const index = meta.scales.findIndex((s) => s === scale);\n const hash = meta.fileHashes ? meta.fileHashes[index] || meta.fileHashes[0] : meta.hash;\n\n // Allow asset processors to directly provide the URL to load\n const uri = meta.fileUris ? meta.fileUris[index] || meta.fileUris[0] : meta.uri;\n if (uri) {\n return { uri: resolveUri(uri), hash };\n }\n\n // Check if the assetUrl was overridden in the manifest\n const assetUrlOverride = getManifest().assetUrlOverride;\n if (assetUrlOverride) {\n const uri = path.join(assetUrlOverride, hash);\n return { uri: resolveUri(uri), hash };\n }\n\n const fileScale = scale === 1 ? '' : `@${scale}x`;\n const fileExtension = meta.type ? `.${encodeURIComponent(meta.type)}` : '';\n const suffix = `/${encodeURIComponent(\n meta.name\n )}${fileScale}${fileExtension}?platform=${encodeURIComponent(\n Platform.OS\n )}&hash=${encodeURIComponent(meta.hash)}`;\n\n // For assets with a specified absolute URL, we use the existing origin instead of prepending the\n // development server or production CDN URL origin\n if (/^https?:\\/\\//.test(meta.httpServerLocation)) {\n const uri = meta.httpServerLocation + suffix;\n return { uri, hash };\n }\n\n // For assets during development using manifest2, we use the development server's URL origin\n const manifest2 = getManifest2();\n\n if (manifest2?.extra?.expoGo?.developer) {\n const baseUrl = new URL(`http://${manifest2.extra.expoGo.debuggerHost}`);\n baseUrl.set('pathname', meta.httpServerLocation + suffix);\n\n return {\n uri: baseUrl.href,\n hash,\n };\n }\n\n // For assets during development, we use the development server's URL origin\n if (getManifest().developer) {\n const baseUrl = new URL(getManifest().bundleUrl);\n baseUrl.set('pathname', meta.httpServerLocation + suffix);\n return { uri: baseUrl.href, hash };\n }\n\n // Production CDN URIs are based on each asset file hash\n return {\n uri: `https://d1wp6m56sqw74a.cloudfront.net/~assets/${encodeURIComponent(hash)}`,\n hash,\n };\n}\n\n/**\n * Resolves the given URI to an absolute URI. If the given URI is already an absolute URI, it is\n * simply returned. Otherwise, if it is a relative URI, it is resolved relative to the manifest's\n * base URI.\n */\nexport function resolveUri(uri: string): string {\n if (!manifestBaseUrl) {\n return uri;\n }\n\n const { protocol } = new URL(uri);\n if (protocol !== '') {\n return uri;\n }\n\n const baseUrl = new URL(manifestBaseUrl);\n const resolvedPath = uri.startsWith('/') ? uri : path.join(baseUrl.pathname, uri);\n baseUrl.set('pathname', resolvedPath);\n return baseUrl.href;\n}\n"]} \ No newline at end of file +{"version":3,"file":"AssetSources.js","sourceRoot":"","sources":["../src/AssetSources.ts"],"names":[],"mappings":"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","sourcesContent":["import { Platform } from 'expo-modules-core';\nimport path from 'path-browserify';\nimport { PixelRatio } from 'react-native';\nimport URL from 'url-parse';\n\nimport AssetSourceResolver from './AssetSourceResolver';\nimport { manifestBaseUrl, getManifest, getManifest2 } from './PlatformUtils';\n\n// @docsMissing\nexport type AssetMetadata = {\n hash: string;\n name: string;\n type: string;\n width?: number;\n height?: number;\n scales: number[];\n httpServerLocation: string;\n uri?: string;\n fileHashes?: string[];\n fileUris?: string[];\n};\n\nexport type AssetSource = {\n uri: string;\n hash: string;\n};\n\n// Fast lookup check if asset map has any overrides in the manifest\nconst assetMapOverride = getManifest().assetMapOverride;\n\n/**\n * Selects the best file for the given asset (ex: choosing the best scale for images) and returns\n * a { uri, hash } pair for the specific asset file.\n *\n * If the asset isn't an image with multiple scales, the first file is selected.\n */\nexport function selectAssetSource(meta: AssetMetadata): AssetSource {\n // Override with the asset map in manifest if available\n if (assetMapOverride && assetMapOverride.hasOwnProperty(meta.hash)) {\n meta = { ...meta, ...assetMapOverride[meta.hash] };\n }\n\n // This logic is based on that of AssetSourceResolver, with additional support for file hashes and\n // explicitly provided URIs\n const scale = AssetSourceResolver.pickScale(meta.scales, PixelRatio.get());\n const index = meta.scales.findIndex((s) => s === scale);\n const hash = meta.fileHashes ? meta.fileHashes[index] || meta.fileHashes[0] : meta.hash;\n\n // Allow asset processors to directly provide the URL to load\n const uri = meta.fileUris ? meta.fileUris[index] || meta.fileUris[0] : meta.uri;\n if (uri) {\n return { uri: resolveUri(uri), hash };\n }\n\n // Check if the assetUrl was overridden in the manifest\n const assetUrlOverride = getManifest().assetUrlOverride;\n if (assetUrlOverride) {\n const uri = path.join(assetUrlOverride, hash);\n return { uri: resolveUri(uri), hash };\n }\n\n const fileScale = scale === 1 ? '' : `@${scale}x`;\n const fileExtension = meta.type ? `.${encodeURIComponent(meta.type)}` : '';\n const suffix = `/${encodeURIComponent(\n meta.name\n )}${fileScale}${fileExtension}?platform=${encodeURIComponent(\n Platform.OS\n )}&hash=${encodeURIComponent(meta.hash)}`;\n\n // For assets with a specified absolute URL, we use the existing origin instead of prepending the\n // development server or production CDN URL origin\n if (/^https?:\\/\\//.test(meta.httpServerLocation)) {\n const uri = meta.httpServerLocation + suffix;\n return { uri, hash };\n }\n\n // For assets during development using manifest2, we use the development server's URL origin\n const manifest2 = getManifest2();\n\n if (manifest2?.extra?.expoGo?.developer) {\n const baseUrl = new URL(`http://${manifest2.extra.expoGo.debuggerHost}`);\n baseUrl.set('pathname', meta.httpServerLocation + suffix);\n\n return {\n uri: baseUrl.href,\n hash,\n };\n }\n\n // For assets during development, we use the development server's URL origin\n if (getManifest().developer) {\n const baseUrl = new URL(getManifest().bundleUrl);\n baseUrl.set('pathname', meta.httpServerLocation + suffix);\n return { uri: baseUrl.href, hash };\n }\n\n // Production CDN URIs are based on each asset file hash\n return {\n uri: `https://classic-assets.eascdn.net/~assets/${encodeURIComponent(hash)}`,\n hash,\n };\n}\n\n/**\n * Resolves the given URI to an absolute URI. If the given URI is already an absolute URI, it is\n * simply returned. Otherwise, if it is a relative URI, it is resolved relative to the manifest's\n * base URI.\n */\nexport function resolveUri(uri: string): string {\n if (!manifestBaseUrl) {\n return uri;\n }\n\n const { protocol } = new URL(uri);\n if (protocol !== '') {\n return uri;\n }\n\n const baseUrl = new URL(manifestBaseUrl);\n const resolvedPath = uri.startsWith('/') ? uri : path.join(baseUrl.pathname, uri);\n baseUrl.set('pathname', resolvedPath);\n return baseUrl.href;\n}\n"]} \ No newline at end of file diff --git a/packages/expo-asset/build/AssetUris.d.ts b/packages/expo-asset/build/AssetUris.d.ts index 65b14ead5cc52e..6f1cb2434378ad 100644 --- a/packages/expo-asset/build/AssetUris.d.ts +++ b/packages/expo-asset/build/AssetUris.d.ts @@ -12,3 +12,4 @@ export declare function getFileExtension(url: string): string; * to tell the OS to open the URLs in the the Expo client. */ export declare function getManifestBaseUrl(manifestUrl: string): string; +//# sourceMappingURL=AssetUris.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/AssetUris.d.ts.map b/packages/expo-asset/build/AssetUris.d.ts.map new file mode 100644 index 00000000000000..bd49a73a4c95d2 --- /dev/null +++ b/packages/expo-asset/build/AssetUris.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AssetUris.d.ts","sourceRoot":"","sources":["../src/AssetUris.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAiB9D"} \ No newline at end of file diff --git a/packages/expo-asset/build/ImageAssets.d.ts b/packages/expo-asset/build/ImageAssets.d.ts index 6d2d60961d46d9..e311addfb878a9 100644 --- a/packages/expo-asset/build/ImageAssets.d.ts +++ b/packages/expo-asset/build/ImageAssets.d.ts @@ -6,3 +6,4 @@ declare type ImageInfo = { export declare function isImageType(type: string): boolean; export declare function getImageInfoAsync(url: string): Promise; export {}; +//# sourceMappingURL=ImageAssets.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/ImageAssets.d.ts.map b/packages/expo-asset/build/ImageAssets.d.ts.map new file mode 100644 index 00000000000000..47b4adaba6fdff --- /dev/null +++ b/packages/expo-asset/build/ImageAssets.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ImageAssets.d.ts","sourceRoot":"","sources":["../src/ImageAssets.ts"],"names":[],"mappings":"AAGA,aAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAajE"} \ No newline at end of file diff --git a/packages/expo-asset/build/LocalAssets.d.ts b/packages/expo-asset/build/LocalAssets.d.ts index 44c2c334697e7e..8bd4cae658a92a 100644 --- a/packages/expo-asset/build/LocalAssets.d.ts +++ b/packages/expo-asset/build/LocalAssets.d.ts @@ -2,3 +2,4 @@ * Returns the URI of a local asset from its hash, or null if the asset is not available locally */ export declare function getLocalAssetUri(hash: string, type: string | null): string | null; +//# sourceMappingURL=LocalAssets.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/LocalAssets.d.ts.map b/packages/expo-asset/build/LocalAssets.d.ts.map new file mode 100644 index 00000000000000..4ade25d82f9e86 --- /dev/null +++ b/packages/expo-asset/build/LocalAssets.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LocalAssets.d.ts","sourceRoot":"","sources":["../src/LocalAssets.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAwBjF"} \ No newline at end of file diff --git a/packages/expo-asset/build/LocalAssets.web.d.ts b/packages/expo-asset/build/LocalAssets.web.d.ts index 200c6bc8e91e3a..68dc2ee9c89e65 100644 --- a/packages/expo-asset/build/LocalAssets.web.d.ts +++ b/packages/expo-asset/build/LocalAssets.web.d.ts @@ -1 +1,2 @@ export declare function getLocalAssetUri(hash: string, type: string | null): string | null; +//# sourceMappingURL=LocalAssets.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/LocalAssets.web.d.ts.map b/packages/expo-asset/build/LocalAssets.web.d.ts.map new file mode 100644 index 00000000000000..bfe82bb4c88447 --- /dev/null +++ b/packages/expo-asset/build/LocalAssets.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"LocalAssets.web.d.ts","sourceRoot":"","sources":["../src/LocalAssets.web.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAGjF"} \ No newline at end of file diff --git a/packages/expo-asset/build/PlatformUtils.d.ts b/packages/expo-asset/build/PlatformUtils.d.ts index 9d47dc172eab47..bdb925c44d1d1f 100644 --- a/packages/expo-asset/build/PlatformUtils.d.ts +++ b/packages/expo-asset/build/PlatformUtils.d.ts @@ -10,3 +10,4 @@ export declare function getManifest(): { export declare function getManifest2(): Manifest | undefined; export declare const manifestBaseUrl: string | null; export declare function downloadAsync(uri: any, hash: any, type: any, name: any): Promise; +//# sourceMappingURL=PlatformUtils.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/PlatformUtils.d.ts.map b/packages/expo-asset/build/PlatformUtils.d.ts.map new file mode 100644 index 00000000000000..4c789a206e11a7 --- /dev/null +++ b/packages/expo-asset/build/PlatformUtils.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PlatformUtils.d.ts","sourceRoot":"","sources":["../src/PlatformUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAOhE,eAAO,MAAM,cAAc,SAA2B,CAAC;AAKvD,eAAO,MAAM,wBAAwB,SAKmB,CAAC;AAEzD,eAAO,MAAM,2BAA2B,SAA6C,CAAC;AAGtF,eAAO,MAAM,2BAA2B,SAA+C,CAAC;AAIxF,wBAAgB,cAAc,QAE7B;AAED,wBAAgB,WAAW,IAAI;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAEpD;AAED,wBAAgB,YAAY,IAAI,QAAQ,GAAG,SAAS,CAEnD;AAGD,eAAO,MAAM,eAAe,eAEpB,CAAC;AAGT,wBAAsB,aAAa,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,EAAE,IAAI,KAAA,EAAE,IAAI,KAAA,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1E"} \ No newline at end of file diff --git a/packages/expo-asset/build/PlatformUtils.web.d.ts b/packages/expo-asset/build/PlatformUtils.web.d.ts index ae91c9504a6430..ea6a8f646b2625 100644 --- a/packages/expo-asset/build/PlatformUtils.web.d.ts +++ b/packages/expo-asset/build/PlatformUtils.web.d.ts @@ -4,3 +4,5 @@ export declare const IS_ENV_WITHOUT_UPDATES_ENABLED = false; export declare const manifestBaseUrl: null; export declare function downloadAsync(uri: any, hash: any, type: any, name: any): Promise; export declare function getManifest(): {}; +export declare function getManifest2(): {}; +//# sourceMappingURL=PlatformUtils.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/PlatformUtils.web.d.ts.map b/packages/expo-asset/build/PlatformUtils.web.d.ts.map new file mode 100644 index 00000000000000..48a850bb138e1b --- /dev/null +++ b/packages/expo-asset/build/PlatformUtils.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PlatformUtils.web.d.ts","sourceRoot":"","sources":["../src/PlatformUtils.web.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAQ,CAAC;AACpC,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AACjD,eAAO,MAAM,8BAA8B,QAAQ,CAAC;AAGpD,eAAO,MAAM,eAAe,MAAO,CAAC;AAEpC,wBAAsB,aAAa,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,EAAE,IAAI,KAAA,EAAE,IAAI,KAAA,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1E;AAED,wBAAgB,WAAW,OAE1B;AAED,wBAAgB,YAAY,OAE3B"} \ No newline at end of file diff --git a/packages/expo-asset/build/PlatformUtils.web.js b/packages/expo-asset/build/PlatformUtils.web.js index 60915a614d51b5..53cb85517ee522 100644 --- a/packages/expo-asset/build/PlatformUtils.web.js +++ b/packages/expo-asset/build/PlatformUtils.web.js @@ -9,4 +9,7 @@ export async function downloadAsync(uri, hash, type, name) { export function getManifest() { return {}; } +export function getManifest2() { + return {}; +} //# sourceMappingURL=PlatformUtils.web.js.map \ No newline at end of file diff --git a/packages/expo-asset/build/PlatformUtils.web.js.map b/packages/expo-asset/build/PlatformUtils.web.js.map index 0a1841be05e83c..272c8295a4700a 100644 --- a/packages/expo-asset/build/PlatformUtils.web.js.map +++ b/packages/expo-asset/build/PlatformUtils.web.js.map @@ -1 +1 @@ -{"version":3,"file":"PlatformUtils.web.js","sourceRoot":"","sources":["../src/PlatformUtils.web.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AACpC,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AACjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAEpD,yCAAyC;AACzC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACvD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,EAAE,CAAC;AACZ,CAAC","sourcesContent":["export const IS_MANAGED_ENV = false;\nexport const IS_ENV_WITH_UPDATES_ENABLED = false;\nexport const IS_ENV_WITHOUT_UPDATES_ENABLED = false;\n\n// Compute manifest base URL if available\nexport const manifestBaseUrl = null;\n\nexport async function downloadAsync(uri, hash, type, name): Promise {\n return uri;\n}\n\nexport function getManifest() {\n return {};\n}\n"]} \ No newline at end of file +{"version":3,"file":"PlatformUtils.web.js","sourceRoot":"","sources":["../src/PlatformUtils.web.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AACpC,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AACjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAEpD,yCAAyC;AACzC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACvD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,EAAE,CAAC;AACZ,CAAC","sourcesContent":["export const IS_MANAGED_ENV = false;\nexport const IS_ENV_WITH_UPDATES_ENABLED = false;\nexport const IS_ENV_WITHOUT_UPDATES_ENABLED = false;\n\n// Compute manifest base URL if available\nexport const manifestBaseUrl = null;\n\nexport async function downloadAsync(uri, hash, type, name): Promise {\n return uri;\n}\n\nexport function getManifest() {\n return {};\n}\n\nexport function getManifest2() {\n return {};\n}\n"]} \ No newline at end of file diff --git a/packages/expo-asset/build/index.d.ts b/packages/expo-asset/build/index.d.ts index 77d746a0abf80e..d1ca1e1fbae92a 100644 --- a/packages/expo-asset/build/index.d.ts +++ b/packages/expo-asset/build/index.d.ts @@ -1,3 +1,4 @@ import './Asset.fx'; export * from './Asset'; export * from './AssetHooks'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/index.d.ts.map b/packages/expo-asset/build/index.d.ts.map new file mode 100644 index 00000000000000..51773440cb2eb6 --- /dev/null +++ b/packages/expo-asset/build/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAC;AAEpB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/packages/expo-asset/build/resolveAssetSource.d.ts b/packages/expo-asset/build/resolveAssetSource.d.ts index 96986a0b081db3..f4e9c98747ad8a 100644 --- a/packages/expo-asset/build/resolveAssetSource.d.ts +++ b/packages/expo-asset/build/resolveAssetSource.d.ts @@ -1,3 +1,4 @@ import resolveAssetSource from 'react-native/Libraries/Image/resolveAssetSource'; export default resolveAssetSource; export * from 'react-native/Libraries/Image/resolveAssetSource'; +//# sourceMappingURL=resolveAssetSource.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/resolveAssetSource.d.ts.map b/packages/expo-asset/build/resolveAssetSource.d.ts.map new file mode 100644 index 00000000000000..be27c5f2d00c2c --- /dev/null +++ b/packages/expo-asset/build/resolveAssetSource.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"resolveAssetSource.d.ts","sourceRoot":"","sources":["../src/resolveAssetSource.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,iDAAiD,CAAC;AACjF,eAAe,kBAAkB,CAAC;AAClC,cAAc,iDAAiD,CAAC"} \ No newline at end of file diff --git a/packages/expo-asset/build/resolveAssetSource.web.d.ts b/packages/expo-asset/build/resolveAssetSource.web.d.ts index 18fccb54aecea4..50f4d05ef45a5e 100644 --- a/packages/expo-asset/build/resolveAssetSource.web.d.ts +++ b/packages/expo-asset/build/resolveAssetSource.web.d.ts @@ -6,3 +6,4 @@ export declare function setCustomSourceTransformer(transformer: (resolver: Asset */ export default function resolveAssetSource(source: any): ResolvedAssetSource | undefined; export declare const pickScale: typeof AssetSourceResolver.pickScale; +//# sourceMappingURL=resolveAssetSource.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-asset/build/resolveAssetSource.web.d.ts.map b/packages/expo-asset/build/resolveAssetSource.web.d.ts.map new file mode 100644 index 00000000000000..449e86fc0eeda5 --- /dev/null +++ b/packages/expo-asset/build/resolveAssetSource.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"resolveAssetSource.web.d.ts","sourceRoot":"","sources":["../src/resolveAssetSource.web.ts"],"names":[],"mappings":"AAGA,OAAO,mBAAmB,EAAE,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAoCjF,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,mBAAmB,GAClE,IAAI,CAEN;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,mBAAmB,GAAG,SAAS,CAevF;AAQD,eAAO,MAAQ,SAAS,sCAAwB,CAAC"} \ No newline at end of file diff --git a/packages/expo-asset/src/AssetSources.ts b/packages/expo-asset/src/AssetSources.ts index f6ce4a6ba8088c..65d20e1ba783c6 100644 --- a/packages/expo-asset/src/AssetSources.ts +++ b/packages/expo-asset/src/AssetSources.ts @@ -96,7 +96,7 @@ export function selectAssetSource(meta: AssetMetadata): AssetSource { // Production CDN URIs are based on each asset file hash return { - uri: `https://d1wp6m56sqw74a.cloudfront.net/~assets/${encodeURIComponent(hash)}`, + uri: `https://classic-assets.eascdn.net/~assets/${encodeURIComponent(hash)}`, hash, }; } diff --git a/packages/expo-asset/src/PlatformUtils.web.ts b/packages/expo-asset/src/PlatformUtils.web.ts index fee048c90341ec..9cff59d57f2587 100644 --- a/packages/expo-asset/src/PlatformUtils.web.ts +++ b/packages/expo-asset/src/PlatformUtils.web.ts @@ -12,3 +12,7 @@ export async function downloadAsync(uri, hash, type, name): Promise { export function getManifest() { return {}; } + +export function getManifest2() { + return {}; +} diff --git a/packages/expo-asset/src/__tests__/AssetSources-test.ts b/packages/expo-asset/src/__tests__/AssetSources-test.ts index 858a94eda3e0dd..0f1a0ebb1d9c88 100644 --- a/packages/expo-asset/src/__tests__/AssetSources-test.ts +++ b/packages/expo-asset/src/__tests__/AssetSources-test.ts @@ -29,7 +29,7 @@ describe('selectAssetSource', () => { const source = AssetSources.selectAssetSource(mockFontMetadata); expect(source.uri).toBe( - 'https://d1wp6m56sqw74a.cloudfront.net/~assets/cafecafecafecafecafecafecafecafe' + 'https://classic-assets.eascdn.net/~assets/cafecafecafecafecafecafecafecafe' ); expect(source.hash).toBe('cafecafecafecafecafecafecafecafe'); }); @@ -118,7 +118,7 @@ describe('selectAssetSource', () => { }); expect(source.uri).toBe( - 'https://d1wp6m56sqw74a.cloudfront.net/~assets/c0dec0dec0dec0dec0dec0dec0dec0de' + 'https://classic-assets.eascdn.net/~assets/c0dec0dec0dec0dec0dec0dec0dec0de' ); expect(source.hash).toBe('c0dec0dec0dec0dec0dec0dec0dec0de'); }); diff --git a/packages/expo-asset/src/__tests__/AssetUris-test.ts b/packages/expo-asset/src/__tests__/AssetUris-test.ts index dd8c1da7689da5..cc8095ccdac61e 100644 --- a/packages/expo-asset/src/__tests__/AssetUris-test.ts +++ b/packages/expo-asset/src/__tests__/AssetUris-test.ts @@ -2,8 +2,7 @@ import * as AssetUris from '../AssetUris'; describe('getFilename', () => { it(`gets the filename from a URL`, () => { - const url = - 'https://d1wp6m56sqw74a.cloudfront.net/~assets/4bd45bcdf50493e345e817c9281bffbf.png'; + const url = 'https://classic-assets.eascdn.net/~assets/4bd45bcdf50493e345e817c9281bffbf.png'; expect(AssetUris.getFilename(url)).toBe('4bd45bcdf50493e345e817c9281bffbf.png'); }); @@ -15,8 +14,7 @@ describe('getFilename', () => { describe('getExtension', () => { it(`gets the file extension from a URL`, () => { - const url = - 'https://d1wp6m56sqw74a.cloudfront.net/~assets/4bd45bcdf50493e345e817c9281bffbf.png'; + const url = 'https://classic-assets.eascdn.net/~assets/4bd45bcdf50493e345e817c9281bffbf.png'; expect(AssetUris.getFileExtension(url)).toBe('.png'); }); diff --git a/packages/expo-auth-session/build/AuthRequest.d.ts b/packages/expo-auth-session/build/AuthRequest.d.ts index b516c051e022f5..fc4bcb9b8d73b1 100644 --- a/packages/expo-auth-session/build/AuthRequest.d.ts +++ b/packages/expo-auth-session/build/AuthRequest.d.ts @@ -46,3 +46,4 @@ export declare class AuthRequest implements Omit { private ensureCodeIsSetupAsync; } export {}; +//# sourceMappingURL=AuthRequest.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/AuthRequest.d.ts.map b/packages/expo-auth-session/build/AuthRequest.d.ts.map new file mode 100644 index 00000000000000..b850a55640c069 --- /dev/null +++ b/packages/expo-auth-session/build/AuthRequest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AuthRequest.d.ts","sourceRoot":"","sources":["../src/AuthRequest.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,MAAM,EACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAShD,aAAK,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;AAE9E;;;;GAIG;AACH,qBAAa,WAAY,YAAW,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAClE;;OAEG;IACI,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,OAAO,EAAE,iBAAiB;IA2CtC;;OAEG;IACG,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAoB7D;;;;;OAKG;IACG,WAAW,CACf,SAAS,EAAE,qBAAqB,EAChC,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,GAAE,wBAA6B,GAC/D,OAAO,CAAC,iBAAiB,CAAC;IA2D7B,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;IAgC9C;;;;OAIG;IACG,gBAAgB,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;YA8C3D,sBAAsB;CAWrC"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/AuthRequest.types.d.ts b/packages/expo-auth-session/build/AuthRequest.types.d.ts index 1120e1eaead15a..0c3327d341dd61 100644 --- a/packages/expo-auth-session/build/AuthRequest.types.d.ts +++ b/packages/expo-auth-session/build/AuthRequest.types.d.ts @@ -162,3 +162,4 @@ export interface AuthRequestConfig { */ usePKCE?: boolean; } +//# sourceMappingURL=AuthRequest.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/AuthRequest.types.d.ts.map b/packages/expo-auth-session/build/AuthRequest.types.d.ts.map new file mode 100644 index 00000000000000..c8b6a404f075c9 --- /dev/null +++ b/packages/expo-auth-session/build/AuthRequest.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AuthRequest.types.d.ts","sourceRoot":"","sources":["../src/AuthRequest.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEnF,oBAAY,mBAAmB;IAC7B;;;;;OAKG;IACH,IAAI,SAAS;IACb;;;OAGG;IACH,KAAK,UAAU;CAChB;AAED;;;;;GAKG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,IAAI,SAAS;IACb;;OAEG;IACH,KAAK,UAAU;IACf;;OAEG;IACH,OAAO,aAAa;CACrB;AAED;;;;;GAKG;AACH,oBAAY,MAAM;IAChB;;;;OAIG;IACH,IAAI,SAAS;IACb;;;OAGG;IACH,KAAK,UAAU;IACf;;;OAGG;IACH,OAAO,YAAY;IACnB;;;OAGG;IACH,aAAa,mBAAmB;CACjC;AAED;;;GAGG;AACH,oBAAY,wBAAwB,GAAG,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,GAAG;IACrF;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE;;OAEG;IACH,cAAc,CAAC,EAAE,wBAAwB,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IACrC;;;;;;;;OAQG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/AuthRequestHooks.d.ts b/packages/expo-auth-session/build/AuthRequestHooks.d.ts index e4087d2a017b78..938f7ab3e22ded 100644 --- a/packages/expo-auth-session/build/AuthRequestHooks.d.ts +++ b/packages/expo-auth-session/build/AuthRequestHooks.d.ts @@ -25,3 +25,4 @@ export declare function useAuthRequest(config: AuthRequestConfig, discovery: Dis (options?: AuthRequestPromptOptions) => Promise ]; export {}; +//# sourceMappingURL=AuthRequestHooks.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/AuthRequestHooks.d.ts.map b/packages/expo-auth-session/build/AuthRequestHooks.d.ts.map new file mode 100644 index 00000000000000..fce63f1a6363fd --- /dev/null +++ b/packages/expo-auth-session/build/AuthRequestHooks.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AuthRequestHooks.d.ts","sourceRoot":"","sources":["../src/AuthRequestHooks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAyB,MAAM,aAAa,CAAC;AAE1F;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,IAAI,CAiB/F;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,mBAAmB,EAAE,OAAO,WAAW,GACtC,WAAW,GAAG,IAAI,CAuCpB;AAED,aAAK,YAAY,GAAG,CAAC,OAAO,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,aAAa,GAAE,wBAA6B,GAC3C,CAAC,iBAAiB,GAAG,IAAI,EAAE,YAAY,CAAC,CAyB1C;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAClC;IACD,WAAW,GAAG,IAAI;IAClB,iBAAiB,GAAG,IAAI;IACxB,CAAC,OAAO,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,iBAAiB,CAAC;CACnE,CAIA"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/AuthSession.d.ts b/packages/expo-auth-session/build/AuthSession.d.ts index e78a35284e11cc..d0dfbb905acfc1 100644 --- a/packages/expo-auth-session/build/AuthSession.d.ts +++ b/packages/expo-auth-session/build/AuthSession.d.ts @@ -67,3 +67,4 @@ export { AuthError, TokenError } from './Errors'; export { AuthSessionOptions, AuthSessionRedirectUriOptions, AuthSessionResult, AuthRequest, AuthRequestConfig, AuthRequestPromptOptions, CodeChallengeMethod, DiscoveryDocument, Issuer, IssuerOrDiscovery, Prompt, ProviderMetadata, ResponseType, resolveDiscoveryAsync, fetchDiscoveryAsync, generateHexStringAsync, }; export { TokenResponse, AccessTokenRequest, RefreshTokenRequest, RevokeTokenRequest, revokeAsync, refreshAsync, exchangeCodeAsync, fetchUserInfoAsync, } from './TokenRequest'; export * from './TokenRequest.types'; +//# sourceMappingURL=AuthSession.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/AuthSession.d.ts.map b/packages/expo-auth-session/build/AuthSession.d.ts.map new file mode 100644 index 00000000000000..42feae1e8a1213 --- /dev/null +++ b/packages/expo-auth-session/build/AuthSession.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AuthSession.d.ts","sourceRoot":"","sources":["../src/AuthSession.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAIxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,MAAM,EACN,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAMhD,wBAAsB,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwDxF;AAED,wBAAgB,OAAO,SAEtB;AAED,eAAO,MAAM,mBAAmB,+GAAyC,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,MAAM,EACN,eAAe,EACf,WAAW,EACX,IAAI,EACJ,eAAe,EACf,QAAQ,GACT,GAAE,6BAAkC,GAAG,MAAM,CAiC7C;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,iBAAiB,EACzB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,WAAW,CAAC,CAKtB;AAYD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EACN,iBAAiB,EACjB,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,GACvB,CAAC;AAEF,OAAO,EAEL,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAElB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,cAAc,sBAAsB,CAAC"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/AuthSession.types.d.ts b/packages/expo-auth-session/build/AuthSession.types.d.ts index 6883a3d8d039a5..0c0a13bf4681de 100644 --- a/packages/expo-auth-session/build/AuthSession.types.d.ts +++ b/packages/expo-auth-session/build/AuthSession.types.d.ts @@ -68,3 +68,4 @@ export declare type AuthSessionRedirectUriOptions = { */ native?: string; }; +//# sourceMappingURL=AuthSession.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/AuthSession.types.d.ts.map b/packages/expo-auth-session/build/AuthSession.types.d.ts.map new file mode 100644 index 00000000000000..710def2b683fcc --- /dev/null +++ b/packages/expo-auth-session/build/AuthSession.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AuthSession.types.d.ts","sourceRoot":"","sources":["../src/AuthSession.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,oBAAY,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,oBAAY,iBAAiB,GACzB;IAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;CAAE,GACzC;IACE,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAClC,cAAc,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEN;;GAEG;AACH,oBAAY,6BAA6B,GAAG;IAC1C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/Base64.d.ts b/packages/expo-auth-session/build/Base64.d.ts index 1c72744a134410..c2afbc8b975efa 100644 --- a/packages/expo-auth-session/build/Base64.d.ts +++ b/packages/expo-auth-session/build/Base64.d.ts @@ -1 +1,2 @@ export declare function encodeNoWrap(input: string): string; +//# sourceMappingURL=Base64.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/Base64.d.ts.map b/packages/expo-auth-session/build/Base64.d.ts.map new file mode 100644 index 00000000000000..f191860579a1ab --- /dev/null +++ b/packages/expo-auth-session/build/Base64.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Base64.d.ts","sourceRoot":"","sources":["../src/Base64.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA6BlD"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/Discovery.d.ts b/packages/expo-auth-session/build/Discovery.d.ts index b6f30dc97c25af..27f0d980384373 100644 --- a/packages/expo-auth-session/build/Discovery.d.ts +++ b/packages/expo-auth-session/build/Discovery.d.ts @@ -185,3 +185,4 @@ export declare function fetchDiscoveryAsync(issuer: Issuer): Promise; export {}; +//# sourceMappingURL=Discovery.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/Discovery.d.ts.map b/packages/expo-auth-session/build/Discovery.d.ts.map new file mode 100644 index 00000000000000..c32bf7ca706a30 --- /dev/null +++ b/packages/expo-auth-session/build/Discovery.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Discovery.d.ts","sourceRoot":"","sources":["../src/Discovery.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/Errors.d.ts b/packages/expo-auth-session/build/Errors.d.ts index 13e5a5d1d34c97..364bb368e76ce1 100644 --- a/packages/expo-auth-session/build/Errors.d.ts +++ b/packages/expo-auth-session/build/Errors.d.ts @@ -59,3 +59,4 @@ export declare class AuthError extends ResponseError { export declare class TokenError extends ResponseError { constructor(response: ResponseErrorConfig); } +//# sourceMappingURL=Errors.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/Errors.d.ts.map b/packages/expo-auth-session/build/Errors.d.ts.map new file mode 100644 index 00000000000000..10f87730656dc6 --- /dev/null +++ b/packages/expo-auth-session/build/Errors.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC9D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6CD;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC3C;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEnB,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM;CAgB/D;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAC1C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEH,QAAQ,EAAE,eAAe;CAItC;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,aAAa;gBAC/B,QAAQ,EAAE,mBAAmB;CAG1C"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/Fetch.d.ts b/packages/expo-auth-session/build/Fetch.d.ts index 54a43e3cc46f51..1146a895ec4bee 100644 --- a/packages/expo-auth-session/build/Fetch.d.ts +++ b/packages/expo-auth-session/build/Fetch.d.ts @@ -10,3 +10,4 @@ export declare type FetchRequest = { method?: string; }; export declare function requestAsync(requestUrl: string, fetchRequest: FetchRequest): Promise; +//# sourceMappingURL=Fetch.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/Fetch.d.ts.map b/packages/expo-auth-session/build/Fetch.d.ts.map new file mode 100644 index 00000000000000..d6bf2578dc2cf4 --- /dev/null +++ b/packages/expo-auth-session/build/Fetch.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Fetch.d.ts","sourceRoot":"","sources":["../src/Fetch.ts"],"names":[],"mappings":"AAGA,oBAAY,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AASF,wBAAsB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAiDhG"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/PKCE.d.ts b/packages/expo-auth-session/build/PKCE.d.ts index f6834374ab5dbc..5aaaf46308be9c 100644 --- a/packages/expo-auth-session/build/PKCE.d.ts +++ b/packages/expo-auth-session/build/PKCE.d.ts @@ -12,3 +12,4 @@ export declare function buildCodeAsync(size?: number): Promise<{ * Digest a random string with hex encoding, useful for creating `nonce`s. */ export declare function generateHexStringAsync(size: number): Promise; +//# sourceMappingURL=PKCE.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/PKCE.d.ts.map b/packages/expo-auth-session/build/PKCE.d.ts.map new file mode 100644 index 00000000000000..b2a410f377a9c9 --- /dev/null +++ b/packages/expo-auth-session/build/PKCE.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PKCE.d.ts","sourceRoot":"","sources":["../src/PKCE.ts"],"names":[],"mappings":"AA+BA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQxE;AAED,wBAAsB,cAAc,CAClC,IAAI,GAAE,MAAY,GACjB,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAM1D;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1E"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/QueryParams.d.ts b/packages/expo-auth-session/build/QueryParams.d.ts index aafc83e8b8d158..44c8074120f175 100644 --- a/packages/expo-auth-session/build/QueryParams.d.ts +++ b/packages/expo-auth-session/build/QueryParams.d.ts @@ -5,3 +5,4 @@ export declare function getQueryParams(url: string): { [key: string]: string; }; }; +//# sourceMappingURL=QueryParams.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/QueryParams.d.ts.map b/packages/expo-auth-session/build/QueryParams.d.ts.map new file mode 100644 index 00000000000000..a3af273e739af6 --- /dev/null +++ b/packages/expo-auth-session/build/QueryParams.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"QueryParams.d.ts","sourceRoot":"","sources":["../src/QueryParams.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAEtE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACnC,CAiCA"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/SessionUrlProvider.d.ts b/packages/expo-auth-session/build/SessionUrlProvider.d.ts index a7fb125533ca6e..82c197617e22f9 100644 --- a/packages/expo-auth-session/build/SessionUrlProvider.d.ts +++ b/packages/expo-auth-session/build/SessionUrlProvider.d.ts @@ -12,3 +12,4 @@ export declare class SessionUrlProvider { } declare const _default: SessionUrlProvider; export default _default; +//# sourceMappingURL=SessionUrlProvider.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/SessionUrlProvider.d.ts.map b/packages/expo-auth-session/build/SessionUrlProvider.d.ts.map new file mode 100644 index 00000000000000..50c89800be0b24 --- /dev/null +++ b/packages/expo-auth-session/build/SessionUrlProvider.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SessionUrlProvider.d.ts","sourceRoot":"","sources":["../src/SessionUrlProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKhD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAuB;IAE3D,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG,MAAM;IAe9F,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAavD,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAuCxC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA4BxC,OAAO,CAAC,MAAM,CAAC,eAAe;IAQ9B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAGlC;;AAED,wBAAwC"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/TokenRequest.d.ts b/packages/expo-auth-session/build/TokenRequest.d.ts index 4ed36d2e0490fa..2ba23c2de5eb6b 100644 --- a/packages/expo-auth-session/build/TokenRequest.d.ts +++ b/packages/expo-auth-session/build/TokenRequest.d.ts @@ -161,3 +161,4 @@ export declare function revokeAsync(config: RevokeTokenRequestConfig, discovery: */ export declare function fetchUserInfoAsync(config: Pick, discovery: Pick): Promise>; export {}; +//# sourceMappingURL=TokenRequest.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/TokenRequest.d.ts.map b/packages/expo-auth-session/build/TokenRequest.d.ts.map new file mode 100644 index 00000000000000..d3041abc12acf7 --- /dev/null +++ b/packages/expo-auth-session/build/TokenRequest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TokenRequest.d.ts","sourceRoot":"","sources":["../src/TokenRequest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/TokenRequest.types.d.ts b/packages/expo-auth-session/build/TokenRequest.types.d.ts index ef6838ebd10d34..d8a0bd6dc84836 100644 --- a/packages/expo-auth-session/build/TokenRequest.types.d.ts +++ b/packages/expo-auth-session/build/TokenRequest.types.d.ts @@ -196,3 +196,4 @@ export interface TokenResponseConfig { */ issuedAt?: number; } +//# sourceMappingURL=TokenRequest.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/TokenRequest.types.d.ts.map b/packages/expo-auth-session/build/TokenRequest.types.d.ts.map new file mode 100644 index 00000000000000..f2edd8747272af --- /dev/null +++ b/packages/expo-auth-session/build/TokenRequest.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TokenRequest.types.d.ts","sourceRoot":"","sources":["../src/TokenRequest.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEzC;;;;GAIG;AACH,oBAAY,aAAa;IACvB;;;;OAIG;IACH,WAAW,iBAAiB;IAC5B;;;;OAIG;IACH,YAAY,kBAAkB;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;OAQG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACnE;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,kBAAkB,CAAC;IAC3E;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;;;GAIG;AACH,oBAAY,SAAS;IACnB;;;;OAIG;IACH,iBAAiB,uBAAuB;IACxC;;;;OAIG;IACH,QAAQ,aAAa;IACrB;;;;OAIG;IACH,YAAY,kBAAkB;IAC9B;;;;OAIG;IACH,iBAAiB,uBAAuB;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/providers/Facebook.d.ts b/packages/expo-auth-session/build/providers/Facebook.d.ts index cd18ef7cb728f2..ec422e25ab83c9 100644 --- a/packages/expo-auth-session/build/providers/Facebook.d.ts +++ b/packages/expo-auth-session/build/providers/Facebook.d.ts @@ -32,3 +32,4 @@ export declare function useAuthRequest(config?: Partial Promise ]; export {}; +//# sourceMappingURL=Facebook.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/providers/Facebook.d.ts.map b/packages/expo-auth-session/build/providers/Facebook.d.ts.map new file mode 100644 index 00000000000000..d11a09c6546b36 --- /dev/null +++ b/packages/expo-auth-session/build/providers/Facebook.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Facebook.d.ts","sourceRoot":"","sources":["../../src/providers/Facebook.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,6BAA6B,EAC7B,iBAAiB,EACjB,iBAAiB,EAGlB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAS7D,eAAO,MAAM,SAAS,EAAE,iBAGvB,CAAC;AAEF,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,cAAM,mBAAoB,SAAQ,WAAW;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEH,EACV,QAAQ,EAER,WAAgB,EAChB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,yBAAyB;IA6B5B;;OAEG;IACG,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAa9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,MAAM,GAAE,OAAO,CAAC,yBAAyB,CAAM,EAC/C,kBAAkB,GAAE,OAAO,CAAC,6BAA6B,CAAM,GAC9D;IACD,mBAAmB,GAAG,IAAI;IAC1B,iBAAiB,GAAG,IAAI;IACxB,CAAC,OAAO,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,iBAAiB,CAAC;CACnE,CA4DA"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/providers/Google.d.ts b/packages/expo-auth-session/build/providers/Google.d.ts index df5e3f88c45734..3b2d952bdbedb0 100644 --- a/packages/expo-auth-session/build/providers/Google.d.ts +++ b/packages/expo-auth-session/build/providers/Google.d.ts @@ -119,3 +119,4 @@ export declare function useAuthRequest(config?: Partial (options?: AuthRequestPromptOptions) => Promise ]; export {}; +//# sourceMappingURL=Google.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/providers/Google.d.ts.map b/packages/expo-auth-session/build/providers/Google.d.ts.map new file mode 100644 index 00000000000000..e1ef4752a8a343 --- /dev/null +++ b/packages/expo-auth-session/build/providers/Google.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Google.d.ts","sourceRoot":"","sources":["../../src/providers/Google.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,6BAA6B,EAC7B,iBAAiB,EACjB,iBAAiB,EAKlB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAY7D,eAAO,MAAM,SAAS,EAAE,iBAKvB,CAAC;AAEF,MAAM,WAAW,uBAAwB,SAAQ,yBAAyB;IACxE;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,cAAM,iBAAkB,SAAQ,WAAW;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEH,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,WAAgB,EAChB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,uBAAuB;IA8B1B;;OAEG;IACG,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAa9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACxC,kBAAkB,GAAE,OAAO,CAAC,6BAA6B,CAAM,GAC9D;IACD,iBAAiB,GAAG,IAAI;IACxB,iBAAiB,GAAG,IAAI;IACxB,CAAC,OAAO,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,iBAAiB,CAAC;CACnE,CAkBA;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,MAAM,GAAE,OAAO,CAAC,uBAAuB,CAAM,EAC7C,kBAAkB,GAAE,OAAO,CAAC,6BAA6B,CAAM,GAC9D;IACD,iBAAiB,GAAG,IAAI;IACxB,iBAAiB,GAAG,IAAI;IACxB,CAAC,OAAO,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,iBAAiB,CAAC;CACnE,CA4IA"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/providers/Provider.types.d.ts b/packages/expo-auth-session/build/providers/Provider.types.d.ts index a9ef05852d42a5..1595cf067fd8ed 100644 --- a/packages/expo-auth-session/build/providers/Provider.types.d.ts +++ b/packages/expo-auth-session/build/providers/Provider.types.d.ts @@ -7,3 +7,4 @@ export interface ProviderAuthRequestConfig extends AuthRequestConfig { */ language?: string; } +//# sourceMappingURL=Provider.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/providers/Provider.types.d.ts.map b/packages/expo-auth-session/build/providers/Provider.types.d.ts.map new file mode 100644 index 00000000000000..cfffcd33d24271 --- /dev/null +++ b/packages/expo-auth-session/build/providers/Provider.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Provider.types.d.ts","sourceRoot":"","sources":["../../src/providers/Provider.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"} \ No newline at end of file diff --git a/packages/expo-auth-session/build/providers/ProviderUtils.d.ts b/packages/expo-auth-session/build/providers/ProviderUtils.d.ts index 34f3c11502d5d7..26897aa4261268 100644 --- a/packages/expo-auth-session/build/providers/ProviderUtils.d.ts +++ b/packages/expo-auth-session/build/providers/ProviderUtils.d.ts @@ -3,3 +3,4 @@ export declare function applyRequiredScopes(scopes: string[] | undefined, requir export declare function shouldUseProxy(): boolean; export declare function invariantClientId(idName: string, value: any, providerName: string): void; export declare function useProxyEnabled(redirectUriOptions: Pick): boolean; +//# sourceMappingURL=ProviderUtils.d.ts.map \ No newline at end of file diff --git a/packages/expo-auth-session/build/providers/ProviderUtils.d.ts.map b/packages/expo-auth-session/build/providers/ProviderUtils.d.ts.map new file mode 100644 index 00000000000000..26e31c5cae4705 --- /dev/null +++ b/packages/expo-auth-session/build/providers/ProviderUtils.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProviderUtils.d.ts","sourceRoot":"","sources":["../../src/providers/ProviderUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAE/D,wBAAgB,mBAAmB,CAAC,MAAM,sBAAe,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAI7F;AAGD,wBAAgB,cAAc,IAAI,OAAO,CAMxC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,QAMjF;AAED,wBAAgB,eAAe,CAC7B,kBAAkB,EAAE,IAAI,CAAC,6BAA6B,EAAE,UAAU,CAAC,GAClE,OAAO,CAKT"} \ No newline at end of file diff --git a/packages/expo-av/build/AV.d.ts b/packages/expo-av/build/AV.d.ts index 91502a08bc50c1..136e2c8c69de75 100644 --- a/packages/expo-av/build/AV.d.ts +++ b/packages/expo-av/build/AV.d.ts @@ -56,3 +56,4 @@ export declare const PlaybackMixin: { setProgressUpdateIntervalAsync(progressUpdateIntervalMillis: number): Promise; }; export * from './AV.types'; +//# sourceMappingURL=AV.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/AV.d.ts.map b/packages/expo-av/build/AV.d.ts.map new file mode 100644 index 00000000000000..a21dfd522c3ebe --- /dev/null +++ b/packages/expo-av/build/AV.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AV.d.ts","sourceRoot":"","sources":["../src/AV.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-av/build/AV.types.d.ts b/packages/expo-av/build/AV.types.d.ts index 92fe87618bbd8d..6870aa334624d3 100644 --- a/packages/expo-av/build/AV.types.d.ts +++ b/packages/expo-av/build/AV.types.d.ts @@ -59,3 +59,4 @@ export declare type AVPlaybackStatusToSet = { isLooping?: boolean; pitchCorrectionQuality?: PitchCorrectionQuality; }; +//# sourceMappingURL=AV.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/AV.types.d.ts.map b/packages/expo-av/build/AV.types.d.ts.map new file mode 100644 index 00000000000000..f5ed6acdaf2169 --- /dev/null +++ b/packages/expo-av/build/AV.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AV.types.d.ts","sourceRoot":"","sources":["../src/AV.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,oBAAY,sBAAsB;IAChC,GAAoE;IACpE,MAA0E;IAC1E,IAAsE;CACvE;AAED,oBAAY,gBAAgB,GACxB,MAAM,GACN;IACE,GAAG,EAAE,MAAM,CAAC;IACZ,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,OAAO,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC3C,GACD,KAAK,CAAC;AAEV,oBAAY,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC3C,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,gBAAgB,GACxB;IACE,QAAQ,EAAE,KAAK,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IACE,QAAQ,EAAE,IAAI,CAAC;IACf,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,GAAG,EAAE,MAAM,CAAC;IAEZ,4BAA4B,EAAE,MAAM,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IAErB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,OAAO,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IAEnB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEN,oBAAY,qBAAqB,GAAG;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD,CAAC"} \ No newline at end of file diff --git a/packages/expo-av/build/Audio.d.ts b/packages/expo-av/build/Audio.d.ts index ce9fdfbaf12f37..d031b8cccfc5d0 100644 --- a/packages/expo-av/build/Audio.d.ts +++ b/packages/expo-av/build/Audio.d.ts @@ -17,3 +17,4 @@ export declare const INTERRUPTION_MODE_IOS_DUCK_OTHERS = 2; export declare const INTERRUPTION_MODE_ANDROID_DO_NOT_MIX = 1; export declare const INTERRUPTION_MODE_ANDROID_DUCK_OTHERS = 2; export declare function setAudioModeAsync(partialMode: Partial): Promise; +//# sourceMappingURL=Audio.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/Audio.d.ts.map b/packages/expo-av/build/Audio.d.ts.map new file mode 100644 index 00000000000000..8011eeba221058 --- /dev/null +++ b/packages/expo-av/build/Audio.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../src/Audio.ts"],"names":[],"mappings":"AAEA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,MAAM,CAAC;AAE9C,oBAAY,SAAS,GAAG;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,OAAO,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,0BAA0B,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,qCAAqC,IAAI,CAAC;AACvD,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,eAAO,MAAM,oCAAoC,IAAI,CAAC;AACtD,eAAO,MAAM,qCAAqC,IAAI,CAAC;AAsCvD,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCtF"} \ No newline at end of file diff --git a/packages/expo-av/build/Audio/AudioAvailability.d.ts b/packages/expo-av/build/Audio/AudioAvailability.d.ts index 6670312eb1a4b8..7d3a49c826a603 100644 --- a/packages/expo-av/build/Audio/AudioAvailability.d.ts +++ b/packages/expo-av/build/Audio/AudioAvailability.d.ts @@ -1,3 +1,4 @@ export declare function isAudioEnabled(): boolean; export declare function throwIfAudioIsDisabled(): void; export declare function setIsEnabledAsync(value: boolean): Promise; +//# sourceMappingURL=AudioAvailability.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/Audio/AudioAvailability.d.ts.map b/packages/expo-av/build/Audio/AudioAvailability.d.ts.map new file mode 100644 index 00000000000000..4c9839c25f73e0 --- /dev/null +++ b/packages/expo-av/build/Audio/AudioAvailability.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AudioAvailability.d.ts","sourceRoot":"","sources":["../../src/Audio/AudioAvailability.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrE"} \ No newline at end of file diff --git a/packages/expo-av/build/Audio/Recording.d.ts b/packages/expo-av/build/Audio/Recording.d.ts index 3de48138cc0658..4396fcf8b1c89c 100644 --- a/packages/expo-av/build/Audio/Recording.d.ts +++ b/packages/expo-av/build/Audio/Recording.d.ts @@ -54,3 +54,4 @@ export declare class Recording { } export * from './RecordingConstants'; export { PermissionResponse, PermissionStatus, PermissionHookOptions, RecordingOptions, RecordingStatus, }; +//# sourceMappingURL=Recording.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/Audio/Recording.d.ts.map b/packages/expo-av/build/Audio/Recording.d.ts.map new file mode 100644 index 00000000000000..d095593b8a9e45 --- /dev/null +++ b/packages/expo-av/build/Audio/Recording.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Recording.d.ts","sourceRoot":"","sources":["../../src/Audio/Recording.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EAGrB,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAEvE;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAE3E;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,4JAGzB,CAAC;AAEH,qBAAa,SAAS;IACpB,aAAa,EAAE,YAAY,GAAG,IAAI,CAAQ;IAC1C,UAAU,EAAE,OAAO,CAAS;IAC5B,gBAAgB,EAAE,OAAO,CAAS;IAClC,oBAAoB,EAAE,MAAM,CAAK;IACjC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3B,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC5E,8BAA8B,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrD,6BAA6B,EAAE,MAAM,CAA4C;IACjF,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAIzC,2BAA2B,0EAWzB;IAEF,YAAY,sBAYV;IAEF,eAAe;IAOf,oCAAoC;IAOpC,wCAAwC,CAAC,MAAM,EAAE,eAAe;IAM1D,qCAAqC,CACzC,SAAS,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,GACxC,OAAO,CAAC,eAAe,CAAC;IAa3B,MAAM,CAAC,WAAW,aACP,gBAAgB,sCACU,eAAe,KAAK,IAAI,yCAC7B,MAAM,GAAG,IAAI;mBACrB,SAAS;gBAAU,eAAe;OAiBxD;IAIF,cAAc,QAAa,QAAQ,eAAe,CAAC,CAajD;IAEF,0BAA0B,CAAC,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,IAAI;IAU9F,yBAAyB,CAAC,4BAA4B,EAAE,MAAM;IAOxD,oBAAoB,CACxB,OAAO,GAAE,gBAAuD,GAC/D,OAAO,CAAC,eAAe,CAAC;IAyDrB,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC;IAItC,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC;IAItC,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IA+BpD,MAAM,IAAI,MAAM,GAAG,IAAI;IAIvB,4DAA4D;IACtD,oBAAoB,CACxB,aAAa,GAAE,qBAA0B,EACzC,sBAAsB,GAAE,CAAC,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,IAAW,GACzE,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAOhD,yBAAyB,CAC7B,aAAa,GAAE,qBAA0B,EACzC,sBAAsB,GAAE,CAAC,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,IAAW,GACzE,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAC;CAYvD;AAED,cAAc,sBAAsB,CAAC;AAErC,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,CAAC"} \ No newline at end of file diff --git a/packages/expo-av/build/Audio/Recording.types.d.ts b/packages/expo-av/build/Audio/Recording.types.d.ts index b0e96f3c7612e1..52f7e9db9061d3 100644 --- a/packages/expo-av/build/Audio/Recording.types.d.ts +++ b/packages/expo-av/build/Audio/Recording.types.d.ts @@ -36,3 +36,4 @@ export declare type RecordingOptions = { bitsPerSecond?: number; }; }; +//# sourceMappingURL=Recording.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/Audio/Recording.types.d.ts.map b/packages/expo-av/build/Audio/Recording.types.d.ts.map new file mode 100644 index 00000000000000..2ed015437964b7 --- /dev/null +++ b/packages/expo-av/build/Audio/Recording.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Recording.types.d.ts","sourceRoot":"","sources":["../../src/Audio/Recording.types.ts"],"names":[],"mappings":"AAEA,oBAAY,eAAe,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,GAAG,EAAE;QACH,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC/B,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,GAAG,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH,CAAC"} \ No newline at end of file diff --git a/packages/expo-av/build/Audio/RecordingConstants.d.ts b/packages/expo-av/build/Audio/RecordingConstants.d.ts index e386bf2c10c434..2b16eb1f535d26 100644 --- a/packages/expo-av/build/Audio/RecordingConstants.d.ts +++ b/packages/expo-av/build/Audio/RecordingConstants.d.ts @@ -60,3 +60,4 @@ export declare const RECORDING_OPTION_IOS_BIT_RATE_STRATEGY_VARIABLE_CONSTRAINED export declare const RECORDING_OPTION_IOS_BIT_RATE_STRATEGY_VARIABLE = 3; export declare const RECORDING_OPTIONS_PRESET_HIGH_QUALITY: RecordingOptions; export declare const RECORDING_OPTIONS_PRESET_LOW_QUALITY: RecordingOptions; +//# sourceMappingURL=RecordingConstants.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/Audio/RecordingConstants.d.ts.map b/packages/expo-av/build/Audio/RecordingConstants.d.ts.map new file mode 100644 index 00000000000000..ddaf62ec882518 --- /dev/null +++ b/packages/expo-av/build/Audio/RecordingConstants.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RecordingConstants.d.ts","sourceRoot":"","sources":["../../src/Audio/RecordingConstants.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-av/build/Audio/Sound.d.ts b/packages/expo-av/build/Audio/Sound.d.ts index 8285826af7cc7d..9c2bc08c7d34eb 100644 --- a/packages/expo-av/build/Audio/Sound.d.ts +++ b/packages/expo-av/build/Audio/Sound.d.ts @@ -99,3 +99,4 @@ export declare class Sound implements Playback { setProgressUpdateIntervalAsync: (progressUpdateIntervalMillis: number) => Promise; } export {}; +//# sourceMappingURL=Sound.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/Audio/Sound.d.ts.map b/packages/expo-av/build/Audio/Sound.d.ts.map new file mode 100644 index 00000000000000..8535ccbcb8973e --- /dev/null +++ b/packages/expo-av/build/Audio/Sound.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Sound.d.ts","sourceRoot":"","sources":["../../src/Audio/Sound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiC,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EACL,QAAQ,EAER,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EAItB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAIlD,oBAAY,YAAY,GAAG;IACzB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,oBAAY,WAAW,GAAG;IACxB;;OAEG;IACH,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,aAAK,aAAa,GAAG,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;AACtD,aAAK,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;AAElE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,uCAAuC,EACnC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC,GACtD,SAAS,CAAC;KACf;CACF;AAED,qBAAa,KAAM,YAAW,QAAQ;IACpC,OAAO,EAAE,OAAO,CAAS;IACzB,QAAQ,EAAE,OAAO,CAAS;IAC1B,IAAI,EAAE,aAAa,CAAQ;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxC,qBAAqB,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC1C,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,EAAE,CAAM;IAC9C,aAAa,EAAE,YAAY,CAAgC;IAC3D,8BAA8B,EAAE,MAAM,CAAO;IAC7C,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC5E,iBAAiB,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAClE,sBAAsB,EAAE,mBAAmB,CAAQ;IAEnD,oDAAoD;IACpD,MAAM,CAAC,MAAM,WACH,gBAAgB,kBACT,qBAAqB,qCACF,gBAAgB,KAAK,IAAI,0BAC5C,OAAO,KACrB,QAAQ;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,QAAQ,gBAAgB,CAAA;KAAE,CAAC,CAKpD;IAEF,MAAM,CAAC,WAAW,WACR,gBAAgB,kBACT,qBAAqB,qCACF,gBAAgB,KAAK,IAAI,0BAC5C,OAAO;eACJ,KAAK;gBAAU,gBAAgB;OAKjD;IAIF,uCAAuC,CAAC,MAAM,EAAE,gBAAgB;IAa1D,qCAAqC,CACzC,SAAS,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GACzC,OAAO,CAAC,gBAAgB,CAAC;IAW5B,OAAO,CAAC,kCAAkC;IAyB1C,6BAA6B;aAItB,aAAa;gBACV,gBAAgB;eAKxB;IAEF,+BAA+B;aAIxB,aAAa;kBACR,UAAU;eAKpB;IAEF,sBAAsB;aAA2B,aAAa;eAAS,MAAM;eAI3E;IAGF,wBAAwB;IAgBxB,mBAAmB;IAKnB,cAAc,UAAW,MAAM,UAK7B;IAOF,cAAc,QAAa,QAAQ,gBAAgB,CAAC,CASlD;IAEF,yBAAyB,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,IAAI;IAK7F,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,UAAU,KAAA,KAAK,IAAI;IAI1D;;;OAGG;IACH,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB;IAShD,SAAS,CACb,MAAM,EAAE,gBAAgB,EACxB,aAAa,GAAE,qBAA0B,EACzC,aAAa,GAAE,OAAc,GAC5B,OAAO,CAAC,gBAAgB,CAAC;IAmCtB,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAgBxC,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOxE,WAAW,CAAC,MAAM,GAAE,qBAA0B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAehF,SAAS,EAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5C,qBAAqB,EAAG,CACtB,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE;QAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3E,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B,UAAU,EAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7C,SAAS,EAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5C,gBAAgB,EAAG,CACjB,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE;QAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3E,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B,YAAY,EAAG,CACb,IAAI,EAAE,MAAM,EACZ,kBAAkB,EAAE,OAAO,EAC3B,sBAAsB,CAAC,EAAE,sBAAsB,KAC5C,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B,cAAc,EAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/D,eAAe,EAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAClE,iBAAiB,EAAG,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtE,8BAA8B,EAAG,CAC/B,4BAA4B,EAAE,MAAM,KACjC,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChC"} \ No newline at end of file diff --git a/packages/expo-av/build/ExpoVideoManager.d.ts b/packages/expo-av/build/ExpoVideoManager.d.ts index 1f7a36fde601a4..4c643d9d840212 100644 --- a/packages/expo-av/build/ExpoVideoManager.d.ts +++ b/packages/expo-av/build/ExpoVideoManager.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoVideoManager.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/ExpoVideoManager.d.ts.map b/packages/expo-av/build/ExpoVideoManager.d.ts.map new file mode 100644 index 00000000000000..70f2d8be66866d --- /dev/null +++ b/packages/expo-av/build/ExpoVideoManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoVideoManager.d.ts","sourceRoot":"","sources":["../src/ExpoVideoManager.ts"],"names":[],"mappings":";AAEA,wBAAmD"} \ No newline at end of file diff --git a/packages/expo-av/build/ExpoVideoManager.web.d.ts b/packages/expo-av/build/ExpoVideoManager.web.d.ts index a88abb09235db2..4244496b96dabb 100644 --- a/packages/expo-av/build/ExpoVideoManager.web.d.ts +++ b/packages/expo-av/build/ExpoVideoManager.web.d.ts @@ -8,3 +8,4 @@ declare const _default: { setFullscreen(element: HTMLMediaElement, isFullScreenEnabled: boolean): Promise; }; export default _default; +//# sourceMappingURL=ExpoVideoManager.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/ExpoVideoManager.web.d.ts.map b/packages/expo-av/build/ExpoVideoManager.web.d.ts.map new file mode 100644 index 00000000000000..fec907d3a06e81 --- /dev/null +++ b/packages/expo-av/build/ExpoVideoManager.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoVideoManager.web.d.ts","sourceRoot":"","sources":["../src/ExpoVideoManager.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;;;;;;;2BAsB3B,gBAAgB,uBACJ,OAAO,GAC3B,QAAQ,gBAAgB,CAAC;;AApB9B,wBA4BE"} \ No newline at end of file diff --git a/packages/expo-av/build/ExponentAV.d.ts b/packages/expo-av/build/ExponentAV.d.ts index 1f7a36fde601a4..bda2c7e068a039 100644 --- a/packages/expo-av/build/ExponentAV.d.ts +++ b/packages/expo-av/build/ExponentAV.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExponentAV.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/ExponentAV.d.ts.map b/packages/expo-av/build/ExponentAV.d.ts.map new file mode 100644 index 00000000000000..bd2db94a0b76af --- /dev/null +++ b/packages/expo-av/build/ExponentAV.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentAV.d.ts","sourceRoot":"","sources":["../src/ExponentAV.ts"],"names":[],"mappings":";AAEA,wBAA6C"} \ No newline at end of file diff --git a/packages/expo-av/build/ExponentAV.web.d.ts b/packages/expo-av/build/ExponentAV.web.d.ts index 2cae0df943583e..f8fe6c7cf6d1b5 100644 --- a/packages/expo-av/build/ExponentAV.web.d.ts +++ b/packages/expo-av/build/ExponentAV.web.d.ts @@ -31,3 +31,4 @@ declare const _default: { requestPermissionsAsync(): Promise; }; export default _default; +//# sourceMappingURL=ExponentAV.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/ExponentAV.web.d.ts.map b/packages/expo-av/build/ExponentAV.web.d.ts.map new file mode 100644 index 00000000000000..d88c85880fe508 --- /dev/null +++ b/packages/expo-av/build/ExponentAV.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentAV.web.d.ts","sourceRoot":"","sources":["../src/ExponentAV.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA8C,MAAM,mBAAmB,CAAC;AAEnG,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;;;+BAqJ5B,gBAAgB,GAAG,QAAQ,gBAAgB,CAAC;0BAIlE,gBAAgB,gBACX,sBAAsB,qBACjB,qBAAqB,GACvC,QAAQ,gBAAgB,CAAC;4BAGE,gBAAgB,GAAG,QAAQ,gBAAgB,CAAC;+BAI/D,gBAAgB,UACjB,qBAAqB,GAC5B,QAAQ,gBAAgB,CAAC;yBAIjB,gBAAgB,UACjB,qBAAqB,GAC5B,QAAQ,gBAAgB,CAAC;;;+BAMK,gBAAgB;;;aAIjB,MAAM;0BACjB,qBAAqB,GACvC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;4BAsBlB,gBAAgB;+BAOnC,gBAAgB,UACjB,qBAAqB,GAC5B,QAAQ,gBAAgB,CAAC;yBAIjB,gBAAgB,UACjB,qBAAqB,GAC5B,QAAQ,gBAAgB,CAAC;+BAMK,QAAQ,eAAe,CAAC;;aAUlD,MAAM,GAAG,IAAI;gBAEV,KAAK,eAAe,EAAE,QAAQ,MAAM,eAAe,EAAE,WAAW,CAAC,CAAC;;2BA4C/C,QAAQ,eAAe,CAAC;2BAexB,QAAQ,eAAe,CAAC;0BAYzB,QAAQ,eAAe,CAAC;2BAyBvB,QAAQ,IAAI,CAAC;2BAIb,QAAQ,kBAAkB,CAAC;+BAqBvB,QAAQ,kBAAkB,CAAC;;AAtN9D,wBAyOE"} \ No newline at end of file diff --git a/packages/expo-av/build/ExponentAV.web.js.map b/packages/expo-av/build/ExponentAV.web.js.map index 170f44fc102f00..0b07f593564ff9 100644 --- a/packages/expo-av/build/ExponentAV.web.js.map +++ b/packages/expo-av/build/ExponentAV.web.js.map @@ -1 +1 @@ -{"version":3,"file":"ExponentAV.web.js","sourceRoot":"","sources":["../src/ExponentAV.web.ts"],"names":[],"mappings":"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","sourcesContent":["import { PermissionResponse, PermissionStatus, SyntheticPlatformEmitter } from 'expo-modules-core';\n\nimport type { AVPlaybackNativeSource, AVPlaybackStatus, AVPlaybackStatusToSet } from './AV.types';\nimport type { RecordingStatus } from './Audio/Recording.types';\nimport { RECORDING_OPTIONS_PRESET_HIGH_QUALITY } from './Audio/RecordingConstants';\n\nasync function getPermissionWithQueryAsync(\n name: PermissionNameWithAdditionalValues\n): Promise {\n if (!navigator || !navigator.permissions || !navigator.permissions.query) return null;\n\n try {\n const { state } = await navigator.permissions.query({ name });\n switch (state) {\n case 'granted':\n return PermissionStatus.GRANTED;\n case 'denied':\n return PermissionStatus.DENIED;\n default:\n return PermissionStatus.UNDETERMINED;\n }\n } catch (error) {\n // FireFox - TypeError: 'microphone' (value of 'name' member of PermissionDescriptor) is not a valid value for enumeration PermissionName.\n return PermissionStatus.UNDETERMINED;\n }\n}\n\nfunction getUserMedia(constraints: MediaStreamConstraints): Promise {\n if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {\n return navigator.mediaDevices.getUserMedia(constraints);\n }\n\n // Some browsers partially implement mediaDevices. We can't just assign an object\n // with getUserMedia as it would overwrite existing properties.\n // Here, we will just add the getUserMedia property if it's missing.\n\n // First get ahold of the legacy getUserMedia, if present\n const getUserMedia =\n // TODO: this method is deprecated, migrate to https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia\n navigator.getUserMedia ||\n navigator.webkitGetUserMedia ||\n navigator.mozGetUserMedia ||\n function () {\n const error: any = new Error('Permission unimplemented');\n error.code = 0;\n error.name = 'NotAllowedError';\n throw error;\n };\n\n return new Promise((resolve, reject) => {\n getUserMedia.call(navigator, constraints, resolve, reject);\n });\n}\n\nfunction getStatusFromMedia(media?: HTMLMediaElement): AVPlaybackStatus {\n if (!media) {\n return {\n isLoaded: false,\n error: undefined,\n };\n }\n\n const isPlaying = !!(\n media.currentTime > 0 &&\n !media.paused &&\n !media.ended &&\n media.readyState > 2\n );\n\n const status: AVPlaybackStatus = {\n isLoaded: true,\n uri: media.src,\n progressUpdateIntervalMillis: 100, //TODO: Bacon: Add interval between calls\n durationMillis: media.duration * 1000,\n positionMillis: media.currentTime * 1000,\n // playableDurationMillis: media.buffered * 1000,\n // seekMillisToleranceBefore?: number\n // seekMillisToleranceAfter?: number\n shouldPlay: media.autoplay,\n isPlaying,\n isBuffering: false, //media.waiting,\n rate: media.playbackRate,\n // TODO: Bacon: This seems too complicated right now: https://webaudio.github.io/web-audio-api/#dom-biquadfilternode-frequency\n shouldCorrectPitch: false,\n volume: media.volume,\n isMuted: media.muted,\n isLooping: media.loop,\n didJustFinish: media.ended,\n };\n\n return status;\n}\n\nfunction setStatusForMedia(\n media: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n): AVPlaybackStatus {\n if (status.positionMillis !== undefined) {\n media.currentTime = status.positionMillis / 1000;\n }\n // if (status.progressUpdateIntervalMillis !== undefined) {\n // media.progressUpdateIntervalMillis = status.progressUpdateIntervalMillis;\n // }\n // if (status.seekMillisToleranceBefore !== undefined) {\n // media.seekMillisToleranceBefore = status.seekMillisToleranceBefore;\n // }\n // if (status.seekMillisToleranceAfter !== undefined) {\n // media.seekMillisToleranceAfter = status.seekMillisToleranceAfter;\n // }\n // if (status.shouldCorrectPitch !== undefined) {\n // media.shouldCorrectPitch = status.shouldCorrectPitch;\n // }\n if (status.shouldPlay !== undefined) {\n if (status.shouldPlay) {\n media.play();\n } else {\n media.pause();\n }\n }\n if (status.rate !== undefined) {\n media.playbackRate = status.rate;\n }\n if (status.volume !== undefined) {\n media.volume = status.volume;\n }\n if (status.isMuted !== undefined) {\n media.muted = status.isMuted;\n }\n if (status.isLooping !== undefined) {\n media.loop = status.isLooping;\n }\n\n return getStatusFromMedia(media);\n}\n\nlet mediaRecorder: null | any /*MediaRecorder*/ = null;\nlet mediaRecorderUptimeOfLastStartResume: number = 0;\nlet mediaRecorderDurationAlreadyRecorded: number = 0;\nlet mediaRecorderIsRecording: boolean = false;\n\nfunction getAudioRecorderDurationMillis() {\n let duration = mediaRecorderDurationAlreadyRecorded;\n if (mediaRecorderIsRecording && mediaRecorderUptimeOfLastStartResume > 0) {\n duration += Date.now() - mediaRecorderUptimeOfLastStartResume;\n }\n return duration;\n}\n\nexport default {\n get name(): string {\n return 'ExponentAV';\n },\n async getStatusForVideo(element: HTMLMediaElement): Promise {\n return getStatusFromMedia(element);\n },\n async loadForVideo(\n element: HTMLMediaElement,\n nativeSource: AVPlaybackNativeSource,\n fullInitialStatus: AVPlaybackStatusToSet\n ): Promise {\n return getStatusFromMedia(element);\n },\n async unloadForVideo(element: HTMLMediaElement): Promise {\n return getStatusFromMedia(element);\n },\n async setStatusForVideo(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n async replayVideo(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n /* Audio */\n async setAudioMode() {},\n async setAudioIsEnabled() {},\n async getStatusForSound(element: HTMLMediaElement) {\n return getStatusFromMedia(element);\n },\n async loadForSound(\n nativeSource: string | { uri: string; [key: string]: any },\n fullInitialStatus: AVPlaybackStatusToSet\n ): Promise<[HTMLMediaElement, AVPlaybackStatus]> {\n const source = typeof nativeSource === 'string' ? nativeSource : nativeSource.uri;\n const media = new Audio(source);\n\n media.ontimeupdate = () => {\n SyntheticPlatformEmitter.emit('didUpdatePlaybackStatus', {\n key: media,\n status: getStatusFromMedia(media),\n });\n };\n\n media.onerror = () => {\n SyntheticPlatformEmitter.emit('ExponentAV.onError', {\n key: media,\n error: media.error!.message,\n });\n };\n\n const status = setStatusForMedia(media, fullInitialStatus);\n\n return [media, status];\n },\n async unloadForSound(element: HTMLMediaElement) {\n element.pause();\n element.removeAttribute('src');\n element.load();\n return getStatusFromMedia(element);\n },\n async setStatusForSound(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n async replaySound(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n\n /* Recording */\n // async setUnloadedCallbackForAndroidRecording() {},\n async getAudioRecordingStatus(): Promise {\n return {\n canRecord: mediaRecorder?.state === 'recording' || mediaRecorder?.state === 'inactive',\n isRecording: mediaRecorder?.state === 'recording',\n isDoneRecording: false,\n durationMillis: getAudioRecorderDurationMillis(),\n uri: null,\n };\n },\n async prepareAudioRecorder(options): Promise<{\n uri: string | null;\n // status is of type RecordingStatus, but without the canRecord field populated\n status: Pick>;\n }> {\n if (typeof navigator !== 'undefined' && !navigator.mediaDevices) {\n throw new Error('No media devices available');\n }\n\n mediaRecorderUptimeOfLastStartResume = 0;\n mediaRecorderDurationAlreadyRecorded = 0;\n\n const stream = await getUserMedia({ audio: true });\n\n mediaRecorder = new (window as any).MediaRecorder(\n stream,\n options?.web || RECORDING_OPTIONS_PRESET_HIGH_QUALITY.web\n );\n\n mediaRecorder.addEventListener('pause', () => {\n mediaRecorderDurationAlreadyRecorded = getAudioRecorderDurationMillis();\n mediaRecorderIsRecording = false;\n });\n\n mediaRecorder.addEventListener('resume', () => {\n mediaRecorderUptimeOfLastStartResume = Date.now();\n mediaRecorderIsRecording = true;\n });\n\n mediaRecorder.addEventListener('start', () => {\n mediaRecorderUptimeOfLastStartResume = Date.now();\n mediaRecorderDurationAlreadyRecorded = 0;\n mediaRecorderIsRecording = true;\n });\n\n mediaRecorder.addEventListener('stop', () => {\n mediaRecorderDurationAlreadyRecorded = getAudioRecorderDurationMillis();\n mediaRecorderIsRecording = false;\n\n // Clears recording icon in Chrome tab\n stream.getTracks().forEach((track) => track.stop());\n });\n\n const { uri, ...status } = await this.getAudioRecordingStatus();\n\n return { uri: null, status };\n },\n async startAudioRecording(): Promise {\n if (mediaRecorder === null) {\n throw new Error(\n 'Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.'\n );\n }\n\n if (mediaRecorder.state === 'paused') {\n mediaRecorder.resume();\n } else {\n mediaRecorder.start();\n }\n\n return this.getAudioRecordingStatus();\n },\n async pauseAudioRecording(): Promise {\n if (mediaRecorder === null) {\n throw new Error(\n 'Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.'\n );\n }\n\n // Set status to paused\n mediaRecorder.pause();\n\n return this.getAudioRecordingStatus();\n },\n async stopAudioRecording(): Promise {\n if (mediaRecorder === null) {\n throw new Error(\n 'Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.'\n );\n }\n\n if (mediaRecorder.state === 'inactive') {\n return this.getAudioRecordingStatus();\n }\n\n const dataPromise = new Promise((resolve) =>\n mediaRecorder.addEventListener('dataavailable', (e) => resolve(e.data))\n );\n\n mediaRecorder.stop();\n\n const data = await dataPromise;\n const url = URL.createObjectURL(data);\n\n return {\n ...(await this.getAudioRecordingStatus()),\n uri: url,\n };\n },\n async unloadAudioRecorder(): Promise {\n mediaRecorder = null;\n },\n\n async getPermissionsAsync(): Promise {\n const maybeStatus = await getPermissionWithQueryAsync('microphone');\n switch (maybeStatus) {\n case PermissionStatus.GRANTED:\n return {\n status: PermissionStatus.GRANTED,\n expires: 'never',\n canAskAgain: true,\n granted: true,\n };\n case PermissionStatus.DENIED:\n return {\n status: PermissionStatus.DENIED,\n expires: 'never',\n canAskAgain: true,\n granted: false,\n };\n default:\n return await this.requestPermissionsAsync();\n }\n },\n async requestPermissionsAsync(): Promise {\n try {\n const stream = await getUserMedia({ audio: true });\n stream.getTracks().forEach((track) => track.stop());\n return {\n status: PermissionStatus.GRANTED,\n expires: 'never',\n canAskAgain: true,\n granted: true,\n };\n } catch (e) {\n return {\n status: PermissionStatus.DENIED,\n expires: 'never',\n canAskAgain: true,\n granted: false,\n };\n }\n },\n};\n"]} \ No newline at end of file +{"version":3,"file":"ExponentAV.web.js","sourceRoot":"","sources":["../src/ExponentAV.web.ts"],"names":[],"mappings":"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","sourcesContent":["import { PermissionResponse, PermissionStatus, SyntheticPlatformEmitter } from 'expo-modules-core';\n\nimport type { AVPlaybackNativeSource, AVPlaybackStatus, AVPlaybackStatusToSet } from './AV.types';\nimport type { RecordingStatus } from './Audio/Recording.types';\nimport { RECORDING_OPTIONS_PRESET_HIGH_QUALITY } from './Audio/RecordingConstants';\n\nasync function getPermissionWithQueryAsync(\n name: PermissionNameWithAdditionalValues\n): Promise {\n if (!navigator || !navigator.permissions || !navigator.permissions.query) return null;\n\n try {\n const { state } = await navigator.permissions.query({ name });\n switch (state) {\n case 'granted':\n return PermissionStatus.GRANTED;\n case 'denied':\n return PermissionStatus.DENIED;\n default:\n return PermissionStatus.UNDETERMINED;\n }\n } catch (error) {\n // FireFox - TypeError: 'microphone' (value of 'name' member of PermissionDescriptor) is not a valid value for enumeration PermissionName.\n return PermissionStatus.UNDETERMINED;\n }\n}\n\nfunction getUserMedia(constraints: MediaStreamConstraints): Promise {\n if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {\n return navigator.mediaDevices.getUserMedia(constraints);\n }\n\n // Some browsers partially implement mediaDevices. We can't just assign an object\n // with getUserMedia as it would overwrite existing properties.\n // Here, we will just add the getUserMedia property if it's missing.\n\n // First get ahold of the legacy getUserMedia, if present\n const getUserMedia =\n // TODO: this method is deprecated, migrate to https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia\n navigator.getUserMedia ||\n navigator.webkitGetUserMedia ||\n navigator.mozGetUserMedia ||\n function () {\n const error: any = new Error('Permission unimplemented');\n error.code = 0;\n error.name = 'NotAllowedError';\n throw error;\n };\n\n return new Promise((resolve, reject) => {\n getUserMedia.call(navigator, constraints, resolve, reject);\n });\n}\n\nfunction getStatusFromMedia(media?: HTMLMediaElement): AVPlaybackStatus {\n if (!media) {\n return {\n isLoaded: false,\n error: undefined,\n };\n }\n\n const isPlaying = !!(\n media.currentTime > 0 &&\n !media.paused &&\n !media.ended &&\n media.readyState > 2\n );\n\n const status: AVPlaybackStatus = {\n isLoaded: true,\n uri: media.src,\n progressUpdateIntervalMillis: 100, //TODO: Bacon: Add interval between calls\n durationMillis: media.duration * 1000,\n positionMillis: media.currentTime * 1000,\n // playableDurationMillis: media.buffered * 1000,\n // seekMillisToleranceBefore?: number\n // seekMillisToleranceAfter?: number\n shouldPlay: media.autoplay,\n isPlaying,\n isBuffering: false, //media.waiting,\n rate: media.playbackRate,\n // TODO: Bacon: This seems too complicated right now: https://webaudio.github.io/web-audio-api/#dom-biquadfilternode-frequency\n shouldCorrectPitch: false,\n volume: media.volume,\n isMuted: media.muted,\n isLooping: media.loop,\n didJustFinish: media.ended,\n };\n\n return status;\n}\n\nfunction setStatusForMedia(\n media: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n): AVPlaybackStatus {\n if (status.positionMillis !== undefined) {\n media.currentTime = status.positionMillis / 1000;\n }\n // if (status.progressUpdateIntervalMillis !== undefined) {\n // media.progressUpdateIntervalMillis = status.progressUpdateIntervalMillis;\n // }\n // if (status.seekMillisToleranceBefore !== undefined) {\n // media.seekMillisToleranceBefore = status.seekMillisToleranceBefore;\n // }\n // if (status.seekMillisToleranceAfter !== undefined) {\n // media.seekMillisToleranceAfter = status.seekMillisToleranceAfter;\n // }\n // if (status.shouldCorrectPitch !== undefined) {\n // media.shouldCorrectPitch = status.shouldCorrectPitch;\n // }\n if (status.shouldPlay !== undefined) {\n if (status.shouldPlay) {\n media.play();\n } else {\n media.pause();\n }\n }\n if (status.rate !== undefined) {\n media.playbackRate = status.rate;\n }\n if (status.volume !== undefined) {\n media.volume = status.volume;\n }\n if (status.isMuted !== undefined) {\n media.muted = status.isMuted;\n }\n if (status.isLooping !== undefined) {\n media.loop = status.isLooping;\n }\n\n return getStatusFromMedia(media);\n}\n\nlet mediaRecorder: null | any /*MediaRecorder*/ = null;\nlet mediaRecorderUptimeOfLastStartResume: number = 0;\nlet mediaRecorderDurationAlreadyRecorded: number = 0;\nlet mediaRecorderIsRecording: boolean = false;\n\nfunction getAudioRecorderDurationMillis() {\n let duration = mediaRecorderDurationAlreadyRecorded;\n if (mediaRecorderIsRecording && mediaRecorderUptimeOfLastStartResume > 0) {\n duration += Date.now() - mediaRecorderUptimeOfLastStartResume;\n }\n return duration;\n}\n\nexport default {\n get name(): string {\n return 'ExponentAV';\n },\n async getStatusForVideo(element: HTMLMediaElement): Promise {\n return getStatusFromMedia(element);\n },\n async loadForVideo(\n element: HTMLMediaElement,\n nativeSource: AVPlaybackNativeSource,\n fullInitialStatus: AVPlaybackStatusToSet\n ): Promise {\n return getStatusFromMedia(element);\n },\n async unloadForVideo(element: HTMLMediaElement): Promise {\n return getStatusFromMedia(element);\n },\n async setStatusForVideo(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n async replayVideo(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n /* Audio */\n async setAudioMode() {},\n async setAudioIsEnabled() {},\n async getStatusForSound(element: HTMLMediaElement) {\n return getStatusFromMedia(element);\n },\n async loadForSound(\n nativeSource: string | { uri: string; [key: string]: any },\n fullInitialStatus: AVPlaybackStatusToSet\n ): Promise<[HTMLMediaElement, AVPlaybackStatus]> {\n const source = typeof nativeSource === 'string' ? nativeSource : nativeSource.uri;\n const media = new Audio(source);\n\n media.ontimeupdate = () => {\n SyntheticPlatformEmitter.emit('didUpdatePlaybackStatus', {\n key: media,\n status: getStatusFromMedia(media),\n });\n };\n\n media.onerror = () => {\n SyntheticPlatformEmitter.emit('ExponentAV.onError', {\n key: media,\n error: media.error!.message,\n });\n };\n\n const status = setStatusForMedia(media, fullInitialStatus);\n\n return [media, status];\n },\n async unloadForSound(element: HTMLMediaElement) {\n element.pause();\n element.removeAttribute('src');\n element.load();\n return getStatusFromMedia(element);\n },\n async setStatusForSound(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n async replaySound(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n\n /* Recording */\n // async setUnloadedCallbackForAndroidRecording() {},\n async getAudioRecordingStatus(): Promise {\n return {\n canRecord: mediaRecorder?.state === 'recording' || mediaRecorder?.state === 'inactive',\n isRecording: mediaRecorder?.state === 'recording',\n isDoneRecording: false,\n durationMillis: getAudioRecorderDurationMillis(),\n uri: null,\n };\n },\n async prepareAudioRecorder(options): Promise<{\n uri: string | null;\n // status is of type RecordingStatus, but without the canRecord field populated\n status: Pick>;\n }> {\n if (typeof navigator !== 'undefined' && !navigator.mediaDevices) {\n throw new Error('No media devices available');\n }\n\n mediaRecorderUptimeOfLastStartResume = 0;\n mediaRecorderDurationAlreadyRecorded = 0;\n\n const stream = await getUserMedia({ audio: true });\n\n mediaRecorder = new (window as any).MediaRecorder(\n stream,\n options?.web || RECORDING_OPTIONS_PRESET_HIGH_QUALITY.web\n );\n\n mediaRecorder.addEventListener('pause', () => {\n mediaRecorderDurationAlreadyRecorded = getAudioRecorderDurationMillis();\n mediaRecorderIsRecording = false;\n });\n\n mediaRecorder.addEventListener('resume', () => {\n mediaRecorderUptimeOfLastStartResume = Date.now();\n mediaRecorderIsRecording = true;\n });\n\n mediaRecorder.addEventListener('start', () => {\n mediaRecorderUptimeOfLastStartResume = Date.now();\n mediaRecorderDurationAlreadyRecorded = 0;\n mediaRecorderIsRecording = true;\n });\n\n mediaRecorder.addEventListener('stop', () => {\n mediaRecorderDurationAlreadyRecorded = getAudioRecorderDurationMillis();\n mediaRecorderIsRecording = false;\n\n // Clears recording icon in Chrome tab\n stream.getTracks().forEach((track) => track.stop());\n });\n\n const { uri, ...status } = await this.getAudioRecordingStatus();\n\n return { uri: null, status };\n },\n async startAudioRecording(): Promise {\n if (mediaRecorder === null) {\n throw new Error(\n 'Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.'\n );\n }\n\n if (mediaRecorder.state === 'paused') {\n mediaRecorder.resume();\n } else {\n mediaRecorder.start();\n }\n\n return this.getAudioRecordingStatus();\n },\n async pauseAudioRecording(): Promise {\n if (mediaRecorder === null) {\n throw new Error(\n 'Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.'\n );\n }\n\n // Set status to paused\n mediaRecorder.pause();\n\n return this.getAudioRecordingStatus();\n },\n async stopAudioRecording(): Promise {\n if (mediaRecorder === null) {\n throw new Error(\n 'Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.'\n );\n }\n\n if (mediaRecorder.state === 'inactive') {\n return this.getAudioRecordingStatus();\n }\n\n const dataPromise = new Promise((resolve) =>\n mediaRecorder.addEventListener('dataavailable', (e) => resolve(e.data))\n );\n\n mediaRecorder.stop();\n\n const data = await dataPromise;\n const url = URL.createObjectURL(data);\n\n return {\n ...(await this.getAudioRecordingStatus()),\n uri: url,\n };\n },\n async unloadAudioRecorder(): Promise {\n mediaRecorder = null;\n },\n\n async getPermissionsAsync(): Promise {\n const maybeStatus = await getPermissionWithQueryAsync('microphone');\n switch (maybeStatus) {\n case PermissionStatus.GRANTED:\n return {\n status: PermissionStatus.GRANTED,\n expires: 'never',\n canAskAgain: true,\n granted: true,\n };\n case PermissionStatus.DENIED:\n return {\n status: PermissionStatus.DENIED,\n expires: 'never',\n canAskAgain: true,\n granted: false,\n };\n default:\n return await this.requestPermissionsAsync();\n }\n },\n async requestPermissionsAsync(): Promise {\n try {\n const stream = await getUserMedia({ audio: true });\n stream.getTracks().forEach((track) => track.stop());\n return {\n status: PermissionStatus.GRANTED,\n expires: 'never',\n canAskAgain: true,\n granted: true,\n };\n } catch (e) {\n return {\n status: PermissionStatus.DENIED,\n expires: 'never',\n canAskAgain: true,\n granted: false,\n };\n }\n },\n};\n"]} \ No newline at end of file diff --git a/packages/expo-av/build/ExponentVideo.d.ts b/packages/expo-av/build/ExponentVideo.d.ts index d71f8e95283b51..d9e237834eee4e 100644 --- a/packages/expo-av/build/ExponentVideo.d.ts +++ b/packages/expo-av/build/ExponentVideo.d.ts @@ -1,2 +1,3 @@ declare const _default: import("react").ComponentType; export default _default; +//# sourceMappingURL=ExponentVideo.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/ExponentVideo.d.ts.map b/packages/expo-av/build/ExponentVideo.d.ts.map new file mode 100644 index 00000000000000..50dbf355a37335 --- /dev/null +++ b/packages/expo-av/build/ExponentVideo.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentVideo.d.ts","sourceRoot":"","sources":["../src/ExponentVideo.tsx"],"names":[],"mappings":";AAEA,wBAAyD"} \ No newline at end of file diff --git a/packages/expo-av/build/ExponentVideo.web.d.ts b/packages/expo-av/build/ExponentVideo.web.d.ts index b01c19c70180c2..2215e9a63e82ca 100644 --- a/packages/expo-av/build/ExponentVideo.web.d.ts +++ b/packages/expo-av/build/ExponentVideo.web.d.ts @@ -63,3 +63,4 @@ export default class ExponentVideo extends React.Component { render(): JSX.Element; } export {}; +//# sourceMappingURL=ExponentVideo.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/ExponentVideo.web.d.ts.map b/packages/expo-av/build/ExponentVideo.web.d.ts.map new file mode 100644 index 00000000000000..7b5236f3f5bee2 --- /dev/null +++ b/packages/expo-av/build/ExponentVideo.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentVideo.web.d.ts","sourceRoot":"","sources":["../src/ExponentVideo.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAC;AAGvF,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAEtF,aAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,gBAAgB,CAAA;KAAE,KAAK,IAAI,CAAC;IACpE,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,yBAAyB,CAAA;KAAE,KAAK,IAAI,CAAC;IAChF,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,0BAA0B,CAAA;KAAE,KAAK,IAAI,CAAC;IAClF,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,MAAM,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,gBAAgB,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3D,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAE7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,SAAS,CAAC;AAEd,oBAAY,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,UAAU,GAAG,WAAW,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,qCAAqC,IAAI,CAAC;AACvD,eAAO,MAAM,oCAAoC,IAAI,CAAC;AACtD,eAAO,MAAM,qCAAqC,IAAI,CAAC;AACvD,eAAO,MAAM,oCAAoC,IAAI,CAAC;AAEtD,eAAO,MAAM,yCAAyC,IAAwC,CAAC;AAC/F,eAAO,MAAM,wCAAwC,IAAuC,CAAC;AAC7F,eAAO,MAAM,yCAAyC,IAAwC,CAAC;AAC/F,eAAO,MAAM,wCAAwC,IAAuC,CAAC;AAM7F,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;IAC5E,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,yBAAyB,CAAC,EAAE,MAAM,GAAG,CAAC;IAEtC,oBAAoB;IAIpB,kBAAkB,iBAAkB,OAAO,UAWzC;IAEF,cAAc,sBAMZ;IAEF,WAAW,aAMT;IAEF,YAAY,uBAMV;IAEF,OAAO,uBAML;IAEF,UAAU,aAER;IAEF,SAAS,aAEP;IAEF,OAAO,aAEL;IAEF,gBAAgB,aAEd;IAEF,SAAS,uBAMP;IAEF,SAAS,aAEP;IAEF,KAAK,QAAS,gBAAgB,GAAG,IAAI,UASnC;IAEF,MAAM;CA8BP"} \ No newline at end of file diff --git a/packages/expo-av/build/FullscreenUtils.web.d.ts b/packages/expo-av/build/FullscreenUtils.web.d.ts index bd4e67b4de6418..45f664a397ebda 100644 --- a/packages/expo-av/build/FullscreenUtils.web.d.ts +++ b/packages/expo-av/build/FullscreenUtils.web.d.ts @@ -12,3 +12,4 @@ export declare function exitFullscreen(element: HTMLMediaElement): Promise * fullscreen and `false` when the video is switched out of fullscreen. */ export declare function addFullscreenListener(element: HTMLVideoElement, callback: (isFullscreen: boolean) => void): () => any; +//# sourceMappingURL=FullscreenUtils.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/FullscreenUtils.web.d.ts.map b/packages/expo-av/build/FullscreenUtils.web.d.ts.map new file mode 100644 index 00000000000000..3b8567ec7c42d7 --- /dev/null +++ b/packages/expo-av/build/FullscreenUtils.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FullscreenUtils.web.d.ts","sourceRoot":"","sources":["../src/FullscreenUtils.web.ts"],"names":[],"mappings":"AA0DA;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhF;AAED;;GAEG;AAEH,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,GACxC,MAAM,GAAG,CA+BX"} \ No newline at end of file diff --git a/packages/expo-av/build/Video.d.ts b/packages/expo-av/build/Video.d.ts index 414b2cf23a67c7..bf69a5e9088ac1 100644 --- a/packages/expo-av/build/Video.d.ts +++ b/packages/expo-av/build/Video.d.ts @@ -78,3 +78,4 @@ export default class Video extends React.Component imple _renderPoster: () => JSX.Element | null; render(): JSX.Element; } +//# sourceMappingURL=Video.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/Video.d.ts.map b/packages/expo-av/build/Video.d.ts.map new file mode 100644 index 00000000000000..88586a60c358e5 --- /dev/null +++ b/packages/expo-av/build/Video.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Video.d.ts","sourceRoot":"","sources":["../src/Video.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-av/build/Video.types.d.ts b/packages/expo-av/build/Video.types.d.ts index f51841b53c48b9..4a6684785b52bb 100644 --- a/packages/expo-av/build/Video.types.d.ts +++ b/packages/expo-av/build/Video.types.d.ts @@ -76,3 +76,4 @@ export declare type VideoState = { showPoster: boolean; }; export declare type ExponentVideoComponent = React.ComponentClass; +//# sourceMappingURL=Video.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/Video.types.d.ts.map b/packages/expo-av/build/Video.types.d.ts.map new file mode 100644 index 00000000000000..96702242f017ff --- /dev/null +++ b/packages/expo-av/build/Video.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Video.types.d.ts","sourceRoot":"","sources":["../src/Video.types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-av/build/index.d.ts b/packages/expo-av/build/index.d.ts index 987320d7fc48dd..8cc68df560be77 100644 --- a/packages/expo-av/build/index.d.ts +++ b/packages/expo-av/build/index.d.ts @@ -2,3 +2,4 @@ import * as Audio from './Audio'; export { Audio }; export { default as Video, VideoProps, VideoState, AVPlaybackNativeSource, AVPlaybackStatus, AVPlaybackStatusToSet, VideoNativeProps, VideoNaturalSize, VideoReadyForDisplayEvent, ResizeMode, VideoFullscreenUpdateEvent, } from './Video'; export { AVMetadata } from './AV'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/expo-av/build/index.d.ts.map b/packages/expo-av/build/index.d.ts.map new file mode 100644 index 00000000000000..f1001804123b7b --- /dev/null +++ b/packages/expo-av/build/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,EACL,OAAO,IAAI,KAAK,EAChB,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,UAAU,EACV,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC"} \ No newline at end of file diff --git a/packages/expo-av/src/ExponentAV.web.ts b/packages/expo-av/src/ExponentAV.web.ts index f0ba0db01dd6dc..8abf25c05afd63 100644 --- a/packages/expo-av/src/ExponentAV.web.ts +++ b/packages/expo-av/src/ExponentAV.web.ts @@ -321,7 +321,7 @@ export default { return this.getAudioRecordingStatus(); } - const dataPromise = new Promise((resolve) => + const dataPromise = new Promise((resolve) => mediaRecorder.addEventListener('dataavailable', (e) => resolve(e.data)) ); diff --git a/packages/expo-background-fetch/build/BackgroundFetch.d.ts b/packages/expo-background-fetch/build/BackgroundFetch.d.ts index 917f62cba79e58..887c5d5ac48ced 100644 --- a/packages/expo-background-fetch/build/BackgroundFetch.d.ts +++ b/packages/expo-background-fetch/build/BackgroundFetch.d.ts @@ -45,3 +45,4 @@ export declare function registerTaskAsync(taskName: string, options?: Background */ export declare function unregisterTaskAsync(taskName: string): Promise; export { BackgroundFetchResult, BackgroundFetchStatus, BackgroundFetchOptions }; +//# sourceMappingURL=BackgroundFetch.d.ts.map \ No newline at end of file diff --git a/packages/expo-background-fetch/build/BackgroundFetch.d.ts.map b/packages/expo-background-fetch/build/BackgroundFetch.d.ts.map new file mode 100644 index 00000000000000..8baa23f8851377 --- /dev/null +++ b/packages/expo-background-fetch/build/BackgroundFetch.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BackgroundFetch.d.ts","sourceRoot":"","sources":["../src/BackgroundFetch.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAIjC;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAK5E;AAGD;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpF;AAGD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAUf;AAGD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzE;AAED,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/expo-background-fetch/build/BackgroundFetch.types.d.ts b/packages/expo-background-fetch/build/BackgroundFetch.types.d.ts index b9b051922786b9..235f472daf2dfd 100644 --- a/packages/expo-background-fetch/build/BackgroundFetch.types.d.ts +++ b/packages/expo-background-fetch/build/BackgroundFetch.types.d.ts @@ -56,3 +56,4 @@ export interface BackgroundFetchOptions { */ startOnBoot?: boolean; } +//# sourceMappingURL=BackgroundFetch.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-background-fetch/build/BackgroundFetch.types.d.ts.map b/packages/expo-background-fetch/build/BackgroundFetch.types.d.ts.map new file mode 100644 index 00000000000000..32239381dbbdae --- /dev/null +++ b/packages/expo-background-fetch/build/BackgroundFetch.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BackgroundFetch.types.d.ts","sourceRoot":"","sources":["../src/BackgroundFetch.types.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AACH,oBAAY,qBAAqB;IAC/B;;OAEG;IACH,MAAM,IAAI;IACV;;OAEG;IACH,OAAO,IAAI;IACX;;OAEG;IACH,MAAM,IAAI;CACX;AAGD,oBAAY,qBAAqB;IAC/B;;OAEG;IACH,MAAM,IAAI;IACV;;;OAGG;IACH,UAAU,IAAI;IACd;;OAEG;IACH,SAAS,IAAI;CACd;AAGD,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"} \ No newline at end of file diff --git a/packages/expo-background-fetch/build/ExpoBackgroundFetch.d.ts b/packages/expo-background-fetch/build/ExpoBackgroundFetch.d.ts index 1f7a36fde601a4..abcd4f6865d7e4 100644 --- a/packages/expo-background-fetch/build/ExpoBackgroundFetch.d.ts +++ b/packages/expo-background-fetch/build/ExpoBackgroundFetch.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoBackgroundFetch.d.ts.map \ No newline at end of file diff --git a/packages/expo-background-fetch/build/ExpoBackgroundFetch.d.ts.map b/packages/expo-background-fetch/build/ExpoBackgroundFetch.d.ts.map new file mode 100644 index 00000000000000..d383e74cd0cc99 --- /dev/null +++ b/packages/expo-background-fetch/build/ExpoBackgroundFetch.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoBackgroundFetch.d.ts","sourceRoot":"","sources":["../src/ExpoBackgroundFetch.ts"],"names":[],"mappings":";AAEA,wBAAsD"} \ No newline at end of file diff --git a/packages/expo-background-fetch/build/ExpoBackgroundFetch.web.d.ts b/packages/expo-background-fetch/build/ExpoBackgroundFetch.web.d.ts index 07c12db0f6e20f..f4232474313c79 100644 --- a/packages/expo-background-fetch/build/ExpoBackgroundFetch.web.d.ts +++ b/packages/expo-background-fetch/build/ExpoBackgroundFetch.web.d.ts @@ -4,3 +4,4 @@ declare const _default: { getStatusAsync(): Promise; }; export default _default; +//# sourceMappingURL=ExpoBackgroundFetch.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-background-fetch/build/ExpoBackgroundFetch.web.d.ts.map b/packages/expo-background-fetch/build/ExpoBackgroundFetch.web.d.ts.map new file mode 100644 index 00000000000000..c7ed81197aae02 --- /dev/null +++ b/packages/expo-background-fetch/build/ExpoBackgroundFetch.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoBackgroundFetch.web.d.ts","sourceRoot":"","sources":["../src/ExpoBackgroundFetch.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;;;sBAMtC,QAAQ,qBAAqB,GAAG,IAAI,CAAC;;AAJ/D,wBAOE"} \ No newline at end of file diff --git a/packages/expo-barcode-scanner/build/BarCodeScanner.d.ts b/packages/expo-barcode-scanner/build/BarCodeScanner.d.ts index a183a310d7ad47..a75a1a8423d3d7 100644 --- a/packages/expo-barcode-scanner/build/BarCodeScanner.d.ts +++ b/packages/expo-barcode-scanner/build/BarCodeScanner.d.ts @@ -142,7 +142,13 @@ export declare class BarCodeScanner extends React.Component */ static scanFromURLAsync(url: string, barCodeTypes?: string[]): Promise; render(): JSX.Element; + /** + * @hidden + */ onObjectDetected: (callback?: BarCodeScannedCallback | undefined) => ({ nativeEvent }: BarCodeEventCallbackArguments) => void; + /** + * @hidden + */ convertNativeProps(props: BarCodeScannerProps): BarCodeScannerProps; } export { PermissionResponse, PermissionStatus, PermissionHookOptions }; @@ -150,3 +156,4 @@ export declare const Constants: { BarCodeType: any; Type: any; }, getPermissionsAsync: typeof BarCodeScanner.getPermissionsAsync, requestPermissionsAsync: typeof BarCodeScanner.requestPermissionsAsync, usePermissions: (options?: PermissionHookOptions | undefined) => [PermissionResponse | null, () => Promise, () => Promise], scanFromURLAsync: typeof BarCodeScanner.scanFromURLAsync; +//# sourceMappingURL=BarCodeScanner.d.ts.map \ No newline at end of file diff --git a/packages/expo-barcode-scanner/build/BarCodeScanner.d.ts.map b/packages/expo-barcode-scanner/build/BarCodeScanner.d.ts.map new file mode 100644 index 00000000000000..c934f810b570d8 --- /dev/null +++ b/packages/expo-barcode-scanner/build/BarCodeScanner.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BarCodeScanner.d.ts","sourceRoot":"","sources":["../src/BarCodeScanner.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EAGtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAY,SAAS,EAAE,MAAM,cAAc,CAAC;AAUnD;;;GAGG;AACH,oBAAY,YAAY,GAAG;IACzB;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IACV;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAGF,oBAAY,WAAW,GAAG;IACxB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,oBAAY,aAAa,GAAG;IAC1B;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAGF;;;;GAIG;AACH,oBAAY,oBAAoB,GAAG;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;CAC/B,CAAC;AAGF,oBAAY,YAAY,GAAG,oBAAoB,GAAG;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAGF,oBAAY,6BAA6B,GAAG;IAC1C,WAAW,EAAE,YAAY,CAAC;CAC3B,CAAC;AAGF,oBAAY,sBAAsB,GAAG,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;AAGpE,oBAAY,mBAAmB,GAAG,SAAS,GAAG;IAC5C;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C,CAAC;AAEF,qBAAa,cAAe,SAAQ,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC;IACtE,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;IACxC,eAAe,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;IAE7C,MAAM,CAAC,SAAS;;;MAGd;IAEF,MAAM,CAAC,gBAAgB;;MAErB;IAEF,MAAM,CAAC,YAAY;;;MAGjB;IAGF;;;OAGG;WACU,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAK/D;;;;;OAKG;WACU,uBAAuB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAKnE;;;;;;;;OAQG;IACH,MAAM,CAAC,cAAc,6JAGlB;IAGH;;;;;;;;;OASG;WACU,gBAAgB,CAC3B,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,MAAM,EAA+B,GAClD,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqBlC,MAAM;IAWN;;OAEG;IACH,gBAAgB,uEAEI,6BAA6B,UAgB7C;IAEJ;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,mBAAmB;CAa9C;AAED,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;AACvE,eAAO,MACL,SAAS;;;GACT,mBAAmB,6CACnB,uBAAuB,iDACvB,cAAc,8JACd,gBAAgB,wCACA,CAAC"} \ No newline at end of file diff --git a/packages/expo-barcode-scanner/build/BarCodeScanner.js b/packages/expo-barcode-scanner/build/BarCodeScanner.js index adbdc4708f3659..1aa72def49a4e6 100644 --- a/packages/expo-barcode-scanner/build/BarCodeScanner.js +++ b/packages/expo-barcode-scanner/build/BarCodeScanner.js @@ -85,6 +85,9 @@ export class BarCodeScanner extends React.Component { const { onBarCodeScanned } = this.props; return (React.createElement(ExpoBarCodeScannerView, { ...nativeProps, onBarCodeScanned: this.onObjectDetected(onBarCodeScanned) })); } + /** + * @hidden + */ onObjectDetected = (callback) => ({ nativeEvent }) => { const { type } = nativeEvent; if (this.lastEvents[type] && @@ -99,6 +102,9 @@ export class BarCodeScanner extends React.Component { this.lastEvents[type] = JSON.stringify(nativeEvent); } }; + /** + * @hidden + */ convertNativeProps(props) { const nativeProps = {}; for (const [key, value] of Object.entries(props)) { diff --git a/packages/expo-barcode-scanner/build/BarCodeScanner.js.map b/packages/expo-barcode-scanner/build/BarCodeScanner.js.map index d0ca1f1cd0ceef..b55d0c42b4172e 100644 --- a/packages/expo-barcode-scanner/build/BarCodeScanner.js.map +++ b/packages/expo-barcode-scanner/build/BarCodeScanner.js.map @@ -1 +1 @@ -{"version":3,"file":"BarCodeScanner.js","sourceRoot":"","sources":["../src/BarCodeScanner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAEhB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAa,MAAM,cAAc,CAAC;AAEnD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAE9D,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,wBAAwB,CAAC;AAEvD,MAAM,iBAAiB,GAAG,GAAG,CAAC;AA2G9B,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,SAA8B;IACtE,UAAU,GAA2B,EAAE,CAAC;IACxC,eAAe,GAA2B,EAAE,CAAC;IAE7C,MAAM,CAAC,SAAS,GAAG;QACjB,WAAW;QACX,IAAI;KACL,CAAC;IAEF,MAAM,CAAC,gBAAgB,GAAG;QACxB,IAAI,EAAE,IAAI;KACX,CAAC;IAEF,MAAM,CAAC,YAAY,GAAG;QACpB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;KACzC,CAAC;IAEF,cAAc;IACd;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,mBAAmB;QAC9B,OAAO,wBAAwB,CAAC,mBAAmB,EAAE,CAAC;IACxD,CAAC;IAED,cAAc;IACd;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,uBAAuB;QAClC,OAAO,wBAAwB,CAAC,uBAAuB,EAAE,CAAC;IAC5D,CAAC;IAED,cAAc;IACd;;;;;;;;OAQG;IACH,MAAM,CAAC,cAAc,GAAG,oBAAoB,CAAC;QAC3C,SAAS,EAAE,cAAc,CAAC,mBAAmB;QAC7C,aAAa,EAAE,cAAc,CAAC,uBAAuB;KACtD,CAAC,CAAC;IAEH,cAAc;IACd;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,GAAW,EACX,eAAyB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QAEnD,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE;YAC9C,MAAM,IAAI,mBAAmB,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;SAC3E;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACvD,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;SAC5F;QAED,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;gBACzE,yEAAyE;gBACzE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;aAC3E;YACD,oCAAoC;YACpC,OAAO,MAAM,wBAAwB,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/E;QAED,+EAA+E;QAC/E,OAAO,MAAM,wBAAwB,CAAC,gBAAgB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM;QACJ,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACxC,OAAO,CACL,oBAAC,sBAAsB,OACjB,WAAW,EACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GACzD,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,GACd,CAAC,QAAiC,EAAE,EAAE,CACtC,CAAC,EAAE,WAAW,EAAiC,EAAE,EAAE;QACjD,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;QAC7B,IACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACrD,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,iBAAiB,EAC3D;YACA,OAAO;SACR;QAED,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SACrD;IACH,CAAC,CAAC;IAEJ,kBAAkB,CAAC,KAA0B;QAC3C,MAAM,WAAW,GAAwB,EAAE,CAAC;QAE5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;gBACrE,WAAW,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;aAChE;iBAAM;gBACL,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC1B;SACF;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;;AAGH,OAAO,EAAsB,gBAAgB,EAAyB,CAAC;AACvE,MAAM,CAAC,MAAM,EACX,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,GACjB,GAAG,cAAc,CAAC","sourcesContent":["import {\n PermissionResponse,\n PermissionStatus,\n PermissionHookOptions,\n createPermissionHook,\n UnavailabilityError,\n} from 'expo-modules-core';\nimport * as React from 'react';\nimport { Platform, ViewProps } from 'react-native';\n\nimport ExpoBarCodeScannerModule from './ExpoBarCodeScannerModule';\nimport ExpoBarCodeScannerView from './ExpoBarCodeScannerView';\n\nconst { BarCodeType, Type } = ExpoBarCodeScannerModule;\n\nconst EVENT_THROTTLE_MS = 500;\n\n// @needsAudit\n/**\n * Those coordinates are represented in the coordinate space of the barcode source (e.g. when you\n * are using the barcode scanner view, these values are adjusted to the dimensions of the view).\n */\nexport type BarCodePoint = {\n /**\n * The `x` coordinate value.\n */\n x: number;\n /**\n * The `y` coordinate value.\n */\n y: number;\n};\n\n// @needsAudit\nexport type BarCodeSize = {\n /**\n * The height value.\n */\n height: number;\n /**\n * The width value.\n */\n width: number;\n};\n\n// @needsAudit\nexport type BarCodeBounds = {\n /**\n * The origin point of the bounding box.\n */\n origin: BarCodePoint;\n /**\n * The size of the bounding box.\n */\n size: BarCodeSize;\n};\n\n// @needsAudit\n/**\n * > __Note:__ `bounds` and `cornerPoints` are not always available. On iOS, for `code39` and `pdf417`\n * > you don't get those values. Moreover, on iOS, those values don't have to bounds the whole barcode.\n * > For some types, they will represent the area used by the scanner.\n */\nexport type BarCodeScannerResult = {\n /**\n * The barcode type.\n */\n type: string;\n /**\n * The information encoded in the bar code.\n */\n data: string;\n /**\n * The [BarCodeBounds](#barcodebounds) object.\n */\n bounds?: BarCodeBounds;\n /**\n * Corner points of the bounding box.\n */\n cornerPoints?: BarCodePoint[];\n};\n\n// @docsMissing\nexport type BarCodeEvent = BarCodeScannerResult & {\n target?: number;\n};\n\n// @docsMissing\nexport type BarCodeEventCallbackArguments = {\n nativeEvent: BarCodeEvent;\n};\n\n// @docsMissing\nexport type BarCodeScannedCallback = (params: BarCodeEvent) => void;\n\n// @needsAudit\nexport type BarCodeScannerProps = ViewProps & {\n /**\n * Camera facing. Use one of `BarCodeScanner.Constants.Type`. Use either `Type.front` or `Type.back`.\n * Same as `Camera.Constants.Type`.\n * @default Type.back\n */\n type?: 'front' | 'back' | number;\n /**\n * An array of bar code types. Usage: `BarCodeScanner.Constants.BarCodeType.` where\n * `codeType` is one of these [listed above](#supported-formats). Defaults to all supported bar\n * code types. It is recommended to provide only the bar code formats you expect to scan to\n * minimize battery usage.\n *\n * For example: `barCodeTypes={[BarCodeScanner.Constants.BarCodeType.qr]}`.\n */\n barCodeTypes?: string[];\n /**\n * A callback that is invoked when a bar code has been successfully scanned. The callback is\n * provided with an [BarCodeScannerResult](#barcodescannerresult).\n * > __Note:__ Passing `undefined` to the `onBarCodeScanned` prop will result in no scanning. This\n * > can be used to effectively \"pause\" the scanner so that it doesn't continually scan even after\n * > data has been retrieved.\n */\n onBarCodeScanned?: BarCodeScannedCallback;\n};\n\nexport class BarCodeScanner extends React.Component {\n lastEvents: { [key: string]: any } = {};\n lastEventsTimes: { [key: string]: any } = {};\n\n static Constants = {\n BarCodeType,\n Type,\n };\n\n static ConversionTables = {\n type: Type,\n };\n\n static defaultProps = {\n type: Type.back,\n barCodeTypes: Object.values(BarCodeType),\n };\n\n // @needsAudit\n /**\n * Checks user's permissions for accessing the camera.\n * @return Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n */\n static async getPermissionsAsync(): Promise {\n return ExpoBarCodeScannerModule.getPermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Asks the user to grant permissions for accessing the camera.\n *\n * On iOS this will require apps to specify the `NSCameraUsageDescription` entry in the `Info.plist`.\n * @return Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n */\n static async requestPermissionsAsync(): Promise {\n return ExpoBarCodeScannerModule.requestPermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Check or request permissions for the barcode scanner.\n * This uses both `requestPermissionAsync` and `getPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = BarCodeScanner.usePermissions();\n * ```\n */\n static usePermissions = createPermissionHook({\n getMethod: BarCodeScanner.getPermissionsAsync,\n requestMethod: BarCodeScanner.requestPermissionsAsync,\n });\n\n // @needsAudit\n /**\n * Scan bar codes from the image given by the URL.\n * @param url URL to get the image from.\n * @param barCodeTypes An array of bar code types. Defaults to all supported bar code types on\n * the platform.\n * > __Note:__ Only QR codes are supported on iOS.\n * @return A possibly empty array of objects of the `BarCodeScannerResult` shape, where the type\n * refers to the bar code type that was scanned and the data is the information encoded in the bar\n * code.\n */\n static async scanFromURLAsync(\n url: string,\n barCodeTypes: string[] = Object.values(BarCodeType)\n ): Promise {\n if (!ExpoBarCodeScannerModule.scanFromURLAsync) {\n throw new UnavailabilityError('expo-barcode-scanner', 'scanFromURLAsync');\n }\n if (Array.isArray(barCodeTypes) && !barCodeTypes.length) {\n throw new Error('No barCodeTypes specified; provide at least one barCodeType for scanner');\n }\n\n if (Platform.OS === 'ios') {\n if (Array.isArray(barCodeTypes) && !barCodeTypes.includes(BarCodeType.qr)) {\n // Only QR type is supported on iOS, fail if one tries to use other types\n throw new Error('Only QR type is supported by scanFromURLAsync() on iOS');\n }\n // on iOS use only supported QR type\n return await ExpoBarCodeScannerModule.scanFromURLAsync(url, [BarCodeType.qr]);\n }\n\n // On other platforms, if barCodeTypes is not provided, use all available types\n return await ExpoBarCodeScannerModule.scanFromURLAsync(url, barCodeTypes);\n }\n\n render() {\n const nativeProps = this.convertNativeProps(this.props);\n const { onBarCodeScanned } = this.props;\n return (\n \n );\n }\n\n onObjectDetected =\n (callback?: BarCodeScannedCallback) =>\n ({ nativeEvent }: BarCodeEventCallbackArguments) => {\n const { type } = nativeEvent;\n if (\n this.lastEvents[type] &&\n this.lastEventsTimes[type] &&\n JSON.stringify(nativeEvent) === this.lastEvents[type] &&\n Date.now() - this.lastEventsTimes[type] < EVENT_THROTTLE_MS\n ) {\n return;\n }\n\n if (callback) {\n callback(nativeEvent);\n this.lastEventsTimes[type] = new Date();\n this.lastEvents[type] = JSON.stringify(nativeEvent);\n }\n };\n\n convertNativeProps(props: BarCodeScannerProps) {\n const nativeProps: BarCodeScannerProps = {};\n\n for (const [key, value] of Object.entries(props)) {\n if (typeof value === 'string' && BarCodeScanner.ConversionTables[key]) {\n nativeProps[key] = BarCodeScanner.ConversionTables[key][value];\n } else {\n nativeProps[key] = value;\n }\n }\n\n return nativeProps;\n }\n}\n\nexport { PermissionResponse, PermissionStatus, PermissionHookOptions };\nexport const {\n Constants,\n getPermissionsAsync,\n requestPermissionsAsync,\n usePermissions,\n scanFromURLAsync,\n} = BarCodeScanner;\n"]} \ No newline at end of file +{"version":3,"file":"BarCodeScanner.js","sourceRoot":"","sources":["../src/BarCodeScanner.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n PermissionResponse,\n PermissionStatus,\n PermissionHookOptions,\n createPermissionHook,\n UnavailabilityError,\n} from 'expo-modules-core';\nimport * as React from 'react';\nimport { Platform, ViewProps } from 'react-native';\n\nimport ExpoBarCodeScannerModule from './ExpoBarCodeScannerModule';\nimport ExpoBarCodeScannerView from './ExpoBarCodeScannerView';\n\nconst { BarCodeType, Type } = ExpoBarCodeScannerModule;\n\nconst EVENT_THROTTLE_MS = 500;\n\n// @needsAudit\n/**\n * Those coordinates are represented in the coordinate space of the barcode source (e.g. when you\n * are using the barcode scanner view, these values are adjusted to the dimensions of the view).\n */\nexport type BarCodePoint = {\n /**\n * The `x` coordinate value.\n */\n x: number;\n /**\n * The `y` coordinate value.\n */\n y: number;\n};\n\n// @needsAudit\nexport type BarCodeSize = {\n /**\n * The height value.\n */\n height: number;\n /**\n * The width value.\n */\n width: number;\n};\n\n// @needsAudit\nexport type BarCodeBounds = {\n /**\n * The origin point of the bounding box.\n */\n origin: BarCodePoint;\n /**\n * The size of the bounding box.\n */\n size: BarCodeSize;\n};\n\n// @needsAudit\n/**\n * > __Note:__ `bounds` and `cornerPoints` are not always available. On iOS, for `code39` and `pdf417`\n * > you don't get those values. Moreover, on iOS, those values don't have to bounds the whole barcode.\n * > For some types, they will represent the area used by the scanner.\n */\nexport type BarCodeScannerResult = {\n /**\n * The barcode type.\n */\n type: string;\n /**\n * The information encoded in the bar code.\n */\n data: string;\n /**\n * The [BarCodeBounds](#barcodebounds) object.\n */\n bounds?: BarCodeBounds;\n /**\n * Corner points of the bounding box.\n */\n cornerPoints?: BarCodePoint[];\n};\n\n// @docsMissing\nexport type BarCodeEvent = BarCodeScannerResult & {\n target?: number;\n};\n\n// @docsMissing\nexport type BarCodeEventCallbackArguments = {\n nativeEvent: BarCodeEvent;\n};\n\n// @docsMissing\nexport type BarCodeScannedCallback = (params: BarCodeEvent) => void;\n\n// @needsAudit\nexport type BarCodeScannerProps = ViewProps & {\n /**\n * Camera facing. Use one of `BarCodeScanner.Constants.Type`. Use either `Type.front` or `Type.back`.\n * Same as `Camera.Constants.Type`.\n * @default Type.back\n */\n type?: 'front' | 'back' | number;\n /**\n * An array of bar code types. Usage: `BarCodeScanner.Constants.BarCodeType.` where\n * `codeType` is one of these [listed above](#supported-formats). Defaults to all supported bar\n * code types. It is recommended to provide only the bar code formats you expect to scan to\n * minimize battery usage.\n *\n * For example: `barCodeTypes={[BarCodeScanner.Constants.BarCodeType.qr]}`.\n */\n barCodeTypes?: string[];\n /**\n * A callback that is invoked when a bar code has been successfully scanned. The callback is\n * provided with an [BarCodeScannerResult](#barcodescannerresult).\n * > __Note:__ Passing `undefined` to the `onBarCodeScanned` prop will result in no scanning. This\n * > can be used to effectively \"pause\" the scanner so that it doesn't continually scan even after\n * > data has been retrieved.\n */\n onBarCodeScanned?: BarCodeScannedCallback;\n};\n\nexport class BarCodeScanner extends React.Component {\n lastEvents: { [key: string]: any } = {};\n lastEventsTimes: { [key: string]: any } = {};\n\n static Constants = {\n BarCodeType,\n Type,\n };\n\n static ConversionTables = {\n type: Type,\n };\n\n static defaultProps = {\n type: Type.back,\n barCodeTypes: Object.values(BarCodeType),\n };\n\n // @needsAudit\n /**\n * Checks user's permissions for accessing the camera.\n * @return Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n */\n static async getPermissionsAsync(): Promise {\n return ExpoBarCodeScannerModule.getPermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Asks the user to grant permissions for accessing the camera.\n *\n * On iOS this will require apps to specify the `NSCameraUsageDescription` entry in the `Info.plist`.\n * @return Return a promise that fulfills to an object of type [`PermissionResponse`](#permissionresponse).\n */\n static async requestPermissionsAsync(): Promise {\n return ExpoBarCodeScannerModule.requestPermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Check or request permissions for the barcode scanner.\n * This uses both `requestPermissionAsync` and `getPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = BarCodeScanner.usePermissions();\n * ```\n */\n static usePermissions = createPermissionHook({\n getMethod: BarCodeScanner.getPermissionsAsync,\n requestMethod: BarCodeScanner.requestPermissionsAsync,\n });\n\n // @needsAudit\n /**\n * Scan bar codes from the image given by the URL.\n * @param url URL to get the image from.\n * @param barCodeTypes An array of bar code types. Defaults to all supported bar code types on\n * the platform.\n * > __Note:__ Only QR codes are supported on iOS.\n * @return A possibly empty array of objects of the `BarCodeScannerResult` shape, where the type\n * refers to the bar code type that was scanned and the data is the information encoded in the bar\n * code.\n */\n static async scanFromURLAsync(\n url: string,\n barCodeTypes: string[] = Object.values(BarCodeType)\n ): Promise {\n if (!ExpoBarCodeScannerModule.scanFromURLAsync) {\n throw new UnavailabilityError('expo-barcode-scanner', 'scanFromURLAsync');\n }\n if (Array.isArray(barCodeTypes) && !barCodeTypes.length) {\n throw new Error('No barCodeTypes specified; provide at least one barCodeType for scanner');\n }\n\n if (Platform.OS === 'ios') {\n if (Array.isArray(barCodeTypes) && !barCodeTypes.includes(BarCodeType.qr)) {\n // Only QR type is supported on iOS, fail if one tries to use other types\n throw new Error('Only QR type is supported by scanFromURLAsync() on iOS');\n }\n // on iOS use only supported QR type\n return await ExpoBarCodeScannerModule.scanFromURLAsync(url, [BarCodeType.qr]);\n }\n\n // On other platforms, if barCodeTypes is not provided, use all available types\n return await ExpoBarCodeScannerModule.scanFromURLAsync(url, barCodeTypes);\n }\n\n render() {\n const nativeProps = this.convertNativeProps(this.props);\n const { onBarCodeScanned } = this.props;\n return (\n \n );\n }\n\n /**\n * @hidden\n */\n onObjectDetected =\n (callback?: BarCodeScannedCallback) =>\n ({ nativeEvent }: BarCodeEventCallbackArguments) => {\n const { type } = nativeEvent;\n if (\n this.lastEvents[type] &&\n this.lastEventsTimes[type] &&\n JSON.stringify(nativeEvent) === this.lastEvents[type] &&\n Date.now() - this.lastEventsTimes[type] < EVENT_THROTTLE_MS\n ) {\n return;\n }\n\n if (callback) {\n callback(nativeEvent);\n this.lastEventsTimes[type] = new Date();\n this.lastEvents[type] = JSON.stringify(nativeEvent);\n }\n };\n\n /**\n * @hidden\n */\n convertNativeProps(props: BarCodeScannerProps) {\n const nativeProps: BarCodeScannerProps = {};\n\n for (const [key, value] of Object.entries(props)) {\n if (typeof value === 'string' && BarCodeScanner.ConversionTables[key]) {\n nativeProps[key] = BarCodeScanner.ConversionTables[key][value];\n } else {\n nativeProps[key] = value;\n }\n }\n\n return nativeProps;\n }\n}\n\nexport { PermissionResponse, PermissionStatus, PermissionHookOptions };\nexport const {\n Constants,\n getPermissionsAsync,\n requestPermissionsAsync,\n usePermissions,\n scanFromURLAsync,\n} = BarCodeScanner;\n"]} \ No newline at end of file diff --git a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.d.ts b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.d.ts index 1f7a36fde601a4..71bbf0450adc52 100644 --- a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.d.ts +++ b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoBarCodeScannerModule.d.ts.map \ No newline at end of file diff --git a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.d.ts.map b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.d.ts.map new file mode 100644 index 00000000000000..e0405980f1ba91 --- /dev/null +++ b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoBarCodeScannerModule.d.ts","sourceRoot":"","sources":["../src/ExpoBarCodeScannerModule.ts"],"names":[],"mappings":";AAEA,wBAA2D"} \ No newline at end of file diff --git a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.web.d.ts b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.web.d.ts index 8eaa9d21f756a0..91d3ca6f6f6d13 100644 --- a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.web.d.ts +++ b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.web.d.ts @@ -27,3 +27,4 @@ declare const _default: { getPermissionsAsync(): Promise; }; export default _default; +//# sourceMappingURL=ExpoBarCodeScannerModule.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.web.d.ts.map b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.web.d.ts.map new file mode 100644 index 00000000000000..6fff5f6f478092 --- /dev/null +++ b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerModule.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoBarCodeScannerModule.web.d.ts","sourceRoot":"","sources":["../src/ExpoBarCodeScannerModule.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAyC,MAAM,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;+BA8H3D,QAAQ,kBAAkB,CAAC;2BAG/B,QAAQ,kBAAkB,CAAC;;AA9B1D,wBAiCE"} \ No newline at end of file diff --git a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.d.ts b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.d.ts index 29d3083fc69d36..74f47157cf1c04 100644 --- a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.d.ts +++ b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.d.ts @@ -1,3 +1,4 @@ import React from 'react'; declare const ExpoBarCodeScannerView: React.ComponentType; export default ExpoBarCodeScannerView; +//# sourceMappingURL=ExpoBarCodeScannerView.d.ts.map \ No newline at end of file diff --git a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.d.ts.map b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.d.ts.map new file mode 100644 index 00000000000000..fd2139bce0623f --- /dev/null +++ b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoBarCodeScannerView.d.ts","sourceRoot":"","sources":["../src/ExpoBarCodeScannerView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CACD,CAAC;AAErD,eAAe,sBAAsB,CAAC"} \ No newline at end of file diff --git a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.web.d.ts b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.web.d.ts index d8fb2110f67e66..e71e2ffc61d351 100644 --- a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.web.d.ts +++ b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.web.d.ts @@ -2,3 +2,4 @@ import React from 'react'; export default class ExpoBarCodeScannerView extends React.Component { render(): JSX.Element; } +//# sourceMappingURL=ExpoBarCodeScannerView.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.web.d.ts.map b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.web.d.ts.map new file mode 100644 index 00000000000000..766bedb24bdf74 --- /dev/null +++ b/packages/expo-barcode-scanner/build/ExpoBarCodeScannerView.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoBarCodeScannerView.web.d.ts","sourceRoot":"","sources":["../src/ExpoBarCodeScannerView.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IACzE,MAAM;CAOP"} \ No newline at end of file diff --git a/packages/expo-barcode-scanner/plugin/src/withBarcodeScanner.ts b/packages/expo-barcode-scanner/plugin/src/withBarcodeScanner.ts index 8d468ca1243c1f..91e0339770aad2 100644 --- a/packages/expo-barcode-scanner/plugin/src/withBarcodeScanner.ts +++ b/packages/expo-barcode-scanner/plugin/src/withBarcodeScanner.ts @@ -5,10 +5,12 @@ const pkg = require('expo-barcode-scanner/package.json'); const CAMERA_USAGE = 'Allow $(PRODUCT_NAME) to access your camera'; const MICROPHONE_USAGE = 'Allow $(PRODUCT_NAME) to access your microphone'; -const withBarcodeScanner: ConfigPlugin<{ - microphonePermission?: string; - cameraPermission?: string; -} | void> = (config, { microphonePermission, cameraPermission } = {}) => { +const withBarcodeScanner: ConfigPlugin< + { + microphonePermission?: string; + cameraPermission?: string; + } | void +> = (config, { microphonePermission, cameraPermission } = {}) => { if (!config.ios) config.ios = {}; if (!config.ios.infoPlist) config.ios.infoPlist = {}; config.ios.infoPlist.NSCameraUsageDescription = diff --git a/packages/expo-barcode-scanner/src/BarCodeScanner.tsx b/packages/expo-barcode-scanner/src/BarCodeScanner.tsx index 034e8ac27a208e..1bfbaee3202c3e 100644 --- a/packages/expo-barcode-scanner/src/BarCodeScanner.tsx +++ b/packages/expo-barcode-scanner/src/BarCodeScanner.tsx @@ -219,6 +219,9 @@ export class BarCodeScanner extends React.Component { ); } + /** + * @hidden + */ onObjectDetected = (callback?: BarCodeScannedCallback) => ({ nativeEvent }: BarCodeEventCallbackArguments) => { @@ -239,6 +242,9 @@ export class BarCodeScanner extends React.Component { } }; + /** + * @hidden + */ convertNativeProps(props: BarCodeScannerProps) { const nativeProps: BarCodeScannerProps = {}; diff --git a/packages/expo-battery/build/Battery.d.ts b/packages/expo-battery/build/Battery.d.ts index 9235e198aa565b..1bb4a934bc3761 100644 --- a/packages/expo-battery/build/Battery.d.ts +++ b/packages/expo-battery/build/Battery.d.ts @@ -112,3 +112,4 @@ export declare function addBatteryStateListener(listener: (event: BatteryStateEv */ export declare function addLowPowerModeListener(listener: (event: PowerModeEvent) => void): Subscription; export { BatteryLevelEvent, BatteryState, BatteryStateEvent, PowerModeEvent, PowerState, Subscription, }; +//# sourceMappingURL=Battery.d.ts.map \ No newline at end of file diff --git a/packages/expo-battery/build/Battery.d.ts.map b/packages/expo-battery/build/Battery.d.ts.map new file mode 100644 index 00000000000000..466672c21f2e7d --- /dev/null +++ b/packages/expo-battery/build/Battery.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Battery.d.ts","sourceRoot":"","sources":["../src/Battery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,UAAU,EACX,MAAM,iBAAiB,CAAC;AAMzB;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEzD;AAGD;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAK5D;AAGD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,YAAY,CAAC,CAKlE;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC,CAKnE;AAGD;;;;;;;;;;;GAWG;AACH,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,OAAO,CAAC,CAK1E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CAW9D;AAGD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAC3C,YAAY,CAEd;AAGD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAC3C,YAAY,CAEd;AAGD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,YAAY,CAE/F;AAED,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,YAAY,GACb,CAAC"} \ No newline at end of file diff --git a/packages/expo-battery/build/Battery.types.d.ts b/packages/expo-battery/build/Battery.types.d.ts index d8076d2b67d6f9..ddc50cffc33a5c 100644 --- a/packages/expo-battery/build/Battery.types.d.ts +++ b/packages/expo-battery/build/Battery.types.d.ts @@ -48,3 +48,4 @@ export declare type PowerModeEvent = { */ lowPowerMode: boolean; }; +//# sourceMappingURL=Battery.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-battery/build/Battery.types.d.ts.map b/packages/expo-battery/build/Battery.types.d.ts.map new file mode 100644 index 00000000000000..f7e9e7629f95d4 --- /dev/null +++ b/packages/expo-battery/build/Battery.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Battery.types.d.ts","sourceRoot":"","sources":["../src/Battery.types.ts"],"names":[],"mappings":"AACA,oBAAY,UAAU,GAAG;IACvB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAGF,oBAAY,YAAY;IACtB;;OAEG;IACH,OAAO,IAAI;IACX;;OAEG;IACH,SAAS,IAAA;IACT;;OAEG;IACH,QAAQ,IAAA;IACR;;OAEG;IACH,IAAI,IAAA;CACL;AAGD,oBAAY,iBAAiB,GAAG;IAC9B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,oBAAY,iBAAiB,GAAG;IAC9B;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAGF,oBAAY,cAAc,GAAG;IAC3B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC"} \ No newline at end of file diff --git a/packages/expo-battery/build/ExpoBattery.d.ts b/packages/expo-battery/build/ExpoBattery.d.ts index 1f7a36fde601a4..b85d5376a6e9e6 100644 --- a/packages/expo-battery/build/ExpoBattery.d.ts +++ b/packages/expo-battery/build/ExpoBattery.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoBattery.d.ts.map \ No newline at end of file diff --git a/packages/expo-battery/build/ExpoBattery.d.ts.map b/packages/expo-battery/build/ExpoBattery.d.ts.map new file mode 100644 index 00000000000000..8dc028b2a74863 --- /dev/null +++ b/packages/expo-battery/build/ExpoBattery.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoBattery.d.ts","sourceRoot":"","sources":["../src/ExpoBattery.ts"],"names":[],"mappings":";AACA,wBAA8C"} \ No newline at end of file diff --git a/packages/expo-battery/build/ExpoBattery.web.d.ts b/packages/expo-battery/build/ExpoBattery.web.d.ts index 4c32f767af63ff..2ba5578388ea83 100644 --- a/packages/expo-battery/build/ExpoBattery.web.d.ts +++ b/packages/expo-battery/build/ExpoBattery.web.d.ts @@ -8,3 +8,4 @@ declare const _default: { stopObserving(): Promise; }; export default _default; +//# sourceMappingURL=ExpoBattery.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-battery/build/ExpoBattery.web.d.ts.map b/packages/expo-battery/build/ExpoBattery.web.d.ts.map new file mode 100644 index 00000000000000..e5c4cbe1ee26c7 --- /dev/null +++ b/packages/expo-battery/build/ExpoBattery.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoBattery.web.d.ts","sourceRoot":"","sources":["../src/ExpoBattery.web.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;;;;4BA0Cf,QAAQ,MAAM,CAAC;4BAOf,QAAQ,YAAY,CAAC;;;;AAjBrD,wBAoCE"} \ No newline at end of file diff --git a/packages/expo-blur/build/BlurView.android.d.ts b/packages/expo-blur/build/BlurView.android.d.ts index f85cd36c6b2aca..81ac340d4b52c6 100644 --- a/packages/expo-blur/build/BlurView.android.d.ts +++ b/packages/expo-blur/build/BlurView.android.d.ts @@ -3,3 +3,4 @@ import { BlurViewProps } from './BlurView.types'; export default class BlurView extends React.Component { render(): JSX.Element; } +//# sourceMappingURL=BlurView.android.d.ts.map \ No newline at end of file diff --git a/packages/expo-blur/build/BlurView.android.d.ts.map b/packages/expo-blur/build/BlurView.android.d.ts.map new file mode 100644 index 00000000000000..8a0b93a98c6145 --- /dev/null +++ b/packages/expo-blur/build/BlurView.android.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BlurView.android.d.ts","sourceRoot":"","sources":["../src/BlurView.android.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC;IAClE,MAAM;CAKP"} \ No newline at end of file diff --git a/packages/expo-blur/build/BlurView.d.ts b/packages/expo-blur/build/BlurView.d.ts index 027a12ab9dac91..575f9c08e7608a 100644 --- a/packages/expo-blur/build/BlurView.d.ts +++ b/packages/expo-blur/build/BlurView.d.ts @@ -10,3 +10,4 @@ declare const BlurViewWithForwardedRef: React.ForwardRefExoticComponent<{ intensity?: number | undefined; } & ViewProps & React.RefAttributes>; export default BlurViewWithForwardedRef; +//# sourceMappingURL=BlurView.d.ts.map \ No newline at end of file diff --git a/packages/expo-blur/build/BlurView.d.ts.map b/packages/expo-blur/build/BlurView.d.ts.map new file mode 100644 index 00000000000000..ea79a8b59d5f14 --- /dev/null +++ b/packages/expo-blur/build/BlurView.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BlurView.d.ts","sourceRoot":"","sources":["../src/BlurView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAc,SAAS,EAAkB,MAAM,cAAc,CAAC;AA2E3E;;;;GAIG;AACH,QAAA,MAAM,wBAAwB;;;0CAE5B,CAAC;AAEH,eAAe,wBAAwB,CAAC"} \ No newline at end of file diff --git a/packages/expo-blur/build/BlurView.types.d.ts b/packages/expo-blur/build/BlurView.types.d.ts index 73fb0b1c6b7e1b..9d8cc78a6144c9 100644 --- a/packages/expo-blur/build/BlurView.types.d.ts +++ b/packages/expo-blur/build/BlurView.types.d.ts @@ -16,3 +16,4 @@ export declare type BlurViewProps = { intensity?: number; } & ViewProps; export declare type BlurTint = 'light' | 'dark' | 'default'; +//# sourceMappingURL=BlurView.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-blur/build/BlurView.types.d.ts.map b/packages/expo-blur/build/BlurView.types.d.ts.map new file mode 100644 index 00000000000000..896380f679eab9 --- /dev/null +++ b/packages/expo-blur/build/BlurView.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BlurView.types.d.ts","sourceRoot":"","sources":["../src/BlurView.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,oBAAY,aAAa,GAAG;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,SAAS,CAAC;AAEd,oBAAY,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/packages/expo-blur/build/BlurView.web.d.ts b/packages/expo-blur/build/BlurView.web.d.ts index f85cd36c6b2aca..72162872cc1eee 100644 --- a/packages/expo-blur/build/BlurView.web.d.ts +++ b/packages/expo-blur/build/BlurView.web.d.ts @@ -3,3 +3,4 @@ import { BlurViewProps } from './BlurView.types'; export default class BlurView extends React.Component { render(): JSX.Element; } +//# sourceMappingURL=BlurView.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-blur/build/BlurView.web.d.ts.map b/packages/expo-blur/build/BlurView.web.d.ts.map new file mode 100644 index 00000000000000..dffeca4e0ba12c --- /dev/null +++ b/packages/expo-blur/build/BlurView.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BlurView.web.d.ts","sourceRoot":"","sources":["../src/BlurView.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC;IAClE,MAAM;CAKP"} \ No newline at end of file diff --git a/packages/expo-blur/build/getBackgroundColor.d.ts b/packages/expo-blur/build/getBackgroundColor.d.ts index 818526436916a1..7a2738b8731d31 100644 --- a/packages/expo-blur/build/getBackgroundColor.d.ts +++ b/packages/expo-blur/build/getBackgroundColor.d.ts @@ -1,2 +1,3 @@ import { BlurTint } from './BlurView.types'; export default function getBackgroundColor(intensity: number, tint: BlurTint): string; +//# sourceMappingURL=getBackgroundColor.d.ts.map \ No newline at end of file diff --git a/packages/expo-blur/build/getBackgroundColor.d.ts.map b/packages/expo-blur/build/getBackgroundColor.d.ts.map new file mode 100644 index 00000000000000..fd347addaee366 --- /dev/null +++ b/packages/expo-blur/build/getBackgroundColor.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"getBackgroundColor.d.ts","sourceRoot":"","sources":["../src/getBackgroundColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAcpF"} \ No newline at end of file diff --git a/packages/expo-blur/build/index.d.ts b/packages/expo-blur/build/index.d.ts index 0d6fa486de34d7..dc24423c080a0f 100644 --- a/packages/expo-blur/build/index.d.ts +++ b/packages/expo-blur/build/index.d.ts @@ -1,2 +1,3 @@ export { default as BlurView } from './BlurView'; export { BlurTint, BlurViewProps } from './BlurView.types'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/expo-blur/build/index.d.ts.map b/packages/expo-blur/build/index.d.ts.map new file mode 100644 index 00000000000000..1e25fae79d56b2 --- /dev/null +++ b/packages/expo-blur/build/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"} \ No newline at end of file diff --git a/packages/expo-blur/ios/EXBlur/BlurEffectView.swift b/packages/expo-blur/ios/EXBlur/BlurEffectView.swift index 428a18dabeb16b..823bb66dedae78 100644 --- a/packages/expo-blur/ios/EXBlur/BlurEffectView.swift +++ b/packages/expo-blur/ios/EXBlur/BlurEffectView.swift @@ -49,7 +49,7 @@ final class BlurEffectView: UIVisualEffectView { } private func blurEffectStyleFrom(_ tint: String) -> UIBlurEffect.Style { - switch (tint) { + switch tint { case "light": return .extraLight case "dark": return .dark case "default": return .light diff --git a/packages/expo-blur/ios/EXBlur/BlurView.swift b/packages/expo-blur/ios/EXBlur/BlurView.swift index f16b1cf87104fd..5550003d9d4996 100644 --- a/packages/expo-blur/ios/EXBlur/BlurView.swift +++ b/packages/expo-blur/ios/EXBlur/BlurView.swift @@ -3,7 +3,7 @@ import UIKit @objc(EXBlurView) -public class BlurView : UIView { +public class BlurView: UIView { private var blurEffectView: BlurEffectView override init(frame: CGRect) { @@ -25,6 +25,6 @@ public class BlurView : UIView { @objc public func setIntensity(_ intensity: Double) { - blurEffectView.intensity = intensity; + blurEffectView.intensity = intensity } } diff --git a/packages/expo-branch/build/index.d.ts b/packages/expo-branch/build/index.d.ts index a607abb72917fc..38bd020abbf82f 100644 --- a/packages/expo-branch/build/index.d.ts +++ b/packages/expo-branch/build/index.d.ts @@ -1,2 +1,3 @@ export * from 'react-native-branch'; export { default } from 'react-native-branch'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/expo-branch/build/index.d.ts.map b/packages/expo-branch/build/index.d.ts.map new file mode 100644 index 00000000000000..f64f7c93c807f5 --- /dev/null +++ b/packages/expo-branch/build/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"} \ No newline at end of file diff --git a/packages/expo-brightness/build/Brightness.d.ts b/packages/expo-brightness/build/Brightness.d.ts index 06f64ae14554e7..3d60cc579b7f66 100644 --- a/packages/expo-brightness/build/Brightness.d.ts +++ b/packages/expo-brightness/build/Brightness.d.ts @@ -106,3 +106,4 @@ export declare function requestPermissionsAsync(): Promise; * ``` */ export declare const usePermissions: (options?: PermissionHookOptions | undefined) => [PermissionResponse | null, () => Promise, () => Promise]; +//# sourceMappingURL=Brightness.d.ts.map \ No newline at end of file diff --git a/packages/expo-brightness/build/Brightness.d.ts.map b/packages/expo-brightness/build/Brightness.d.ts.map new file mode 100644 index 00000000000000..17224ed4746e3b --- /dev/null +++ b/packages/expo-brightness/build/Brightness.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Brightness.d.ts","sourceRoot":"","sources":["../src/Brightness.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAM3B,oBAAY,cAAc;IACxB;;OAEG;IACH,OAAO,IAAI;IACX;;;OAGG;IACH,SAAS,IAAI;IACb;;OAEG;IACH,MAAM,IAAI;CACX;AAED,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;AAE7F;;;;;GAKG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEzD;AAGD;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAK1D;AAGD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS/E;AAGD;;;;;GAKG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAKhE;AAGD;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASrF;AAGD;;;;;GAKG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAM9D;AAGD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,OAAO,CAAC,CAKrE;AAGD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,cAAc,CAAC,CAK5E;AAGD;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhG;AAGD;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAEvE;AAGD;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAE3E;AAGD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,4JAGzB,CAAC"} \ No newline at end of file diff --git a/packages/expo-brightness/build/ExpoBrightness.d.ts b/packages/expo-brightness/build/ExpoBrightness.d.ts index 1f7a36fde601a4..f32f920a2e7077 100644 --- a/packages/expo-brightness/build/ExpoBrightness.d.ts +++ b/packages/expo-brightness/build/ExpoBrightness.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoBrightness.d.ts.map \ No newline at end of file diff --git a/packages/expo-brightness/build/ExpoBrightness.d.ts.map b/packages/expo-brightness/build/ExpoBrightness.d.ts.map new file mode 100644 index 00000000000000..46c695c548aad8 --- /dev/null +++ b/packages/expo-brightness/build/ExpoBrightness.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoBrightness.d.ts","sourceRoot":"","sources":["../src/ExpoBrightness.ts"],"names":[],"mappings":";AAEA,wBAAiD"} \ No newline at end of file diff --git a/packages/expo-brightness/build/ExpoBrightness.web.d.ts b/packages/expo-brightness/build/ExpoBrightness.web.d.ts index c3438b3cfd4664..327f269b834f4a 100644 --- a/packages/expo-brightness/build/ExpoBrightness.web.d.ts +++ b/packages/expo-brightness/build/ExpoBrightness.web.d.ts @@ -5,3 +5,4 @@ declare const _default: { requestPermissionsAsync(): Promise; }; export default _default; +//# sourceMappingURL=ExpoBrightness.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-brightness/build/ExpoBrightness.web.d.ts.map b/packages/expo-brightness/build/ExpoBrightness.web.d.ts.map new file mode 100644 index 00000000000000..1582f5855c17bb --- /dev/null +++ b/packages/expo-brightness/build/ExpoBrightness.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoBrightness.web.d.ts","sourceRoot":"","sources":["../src/ExpoBrightness.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;;;2BAa1C,QAAQ,kBAAkB,CAAC;+BAGvB,QAAQ,kBAAkB,CAAC;;AAP9D,wBAUE"} \ No newline at end of file diff --git a/packages/expo-calendar/build/Calendar.d.ts b/packages/expo-calendar/build/Calendar.d.ts index 4ca5955b63bbd7..f4b09e8c44674a 100644 --- a/packages/expo-calendar/build/Calendar.d.ts +++ b/packages/expo-calendar/build/Calendar.d.ts @@ -846,3 +846,4 @@ export declare const ReminderStatus: { COMPLETED: string; INCOMPLETE: string; }; +//# sourceMappingURL=Calendar.d.ts.map \ No newline at end of file diff --git a/packages/expo-calendar/build/Calendar.d.ts.map b/packages/expo-calendar/build/Calendar.d.ts.map new file mode 100644 index 00000000000000..bd630480be81b9 --- /dev/null +++ b/packages/expo-calendar/build/Calendar.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../src/Calendar.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-calendar/build/ExpoCalendar.d.ts b/packages/expo-calendar/build/ExpoCalendar.d.ts index 1f7a36fde601a4..8742412a1f4acc 100644 --- a/packages/expo-calendar/build/ExpoCalendar.d.ts +++ b/packages/expo-calendar/build/ExpoCalendar.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoCalendar.d.ts.map \ No newline at end of file diff --git a/packages/expo-calendar/build/ExpoCalendar.d.ts.map b/packages/expo-calendar/build/ExpoCalendar.d.ts.map new file mode 100644 index 00000000000000..282553eaf8bc2d --- /dev/null +++ b/packages/expo-calendar/build/ExpoCalendar.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoCalendar.d.ts","sourceRoot":"","sources":["../src/ExpoCalendar.ts"],"names":[],"mappings":";AACA,wBAAqD"} \ No newline at end of file diff --git a/packages/expo-calendar/build/ExpoCalendar.web.d.ts b/packages/expo-calendar/build/ExpoCalendar.web.d.ts index 8ba3e17fe7a6cc..62afeb18944368 100644 --- a/packages/expo-calendar/build/ExpoCalendar.web.d.ts +++ b/packages/expo-calendar/build/ExpoCalendar.web.d.ts @@ -7,3 +7,4 @@ declare const _default: { requestRemindersPermissionsAsync(): Promise; }; export default _default; +//# sourceMappingURL=ExpoCalendar.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-calendar/build/ExpoCalendar.web.d.ts.map b/packages/expo-calendar/build/ExpoCalendar.web.d.ts.map new file mode 100644 index 00000000000000..ab6a6be44373e1 --- /dev/null +++ b/packages/expo-calendar/build/ExpoCalendar.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoCalendar.web.d.ts","sourceRoot":"","sources":["../src/ExpoCalendar.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;;;uCAa9B,QAAQ,kBAAkB,CAAC;mCAG/B,QAAQ,kBAAkB,CAAC;oCAG1B,QAAQ,kBAAkB,CAAC;wCAGvB,QAAQ,kBAAkB,CAAC;;AAbvE,wBAgBE"} \ No newline at end of file diff --git a/packages/expo-calendar/plugin/src/withCalendar.ts b/packages/expo-calendar/plugin/src/withCalendar.ts index 03bd5bcb55c978..5e2962be67c2ff 100644 --- a/packages/expo-calendar/plugin/src/withCalendar.ts +++ b/packages/expo-calendar/plugin/src/withCalendar.ts @@ -5,10 +5,12 @@ const pkg = require('expo-calendar/package.json'); const CALENDARS_USAGE = 'Allow $(PRODUCT_NAME) to access your calendars'; const REMINDERS_USAGE = 'Allow $(PRODUCT_NAME) to access your reminders'; -const withCalendar: ConfigPlugin<{ - calendarPermission?: string; - remindersPermission?: string; -} | void> = (config, { calendarPermission, remindersPermission } = {}) => { +const withCalendar: ConfigPlugin< + { + calendarPermission?: string; + remindersPermission?: string; + } | void +> = (config, { calendarPermission, remindersPermission } = {}) => { if (!config.ios) config.ios = {}; if (!config.ios.infoPlist) config.ios.infoPlist = {}; config.ios.infoPlist.NSCalendarsUsageDescription = diff --git a/packages/expo-camera/CHANGELOG.md b/packages/expo-camera/CHANGELOG.md index 28f12774d1d197..40e4f01608555b 100644 --- a/packages/expo-camera/CHANGELOG.md +++ b/packages/expo-camera/CHANGELOG.md @@ -11,6 +11,7 @@ ### ๐Ÿ’ก Others - Updated `@expo/config-plugins` from `4.0.2` to `4.0.14` ([#15621](https://github.com/expo/expo/pull/15621) by [@EvanBacon](https://github.com/EvanBacon)) +- Replace `CapturedPicture` type with `CameraCapturedPicture` in events callback to avoid duplicated types. ([#15936](https://github.com/expo/expo/pull/15936) by [@Simek](https://github.com/Simek)) ## 12.1.0 โ€” 2021-12-03 diff --git a/packages/expo-camera/build/Camera.d.ts b/packages/expo-camera/build/Camera.d.ts index b09486517565de..ac96be03836d84 100644 --- a/packages/expo-camera/build/Camera.d.ts +++ b/packages/expo-camera/build/Camera.d.ts @@ -1,9 +1,24 @@ import * as React from 'react'; -import { BarCodeScanningResult, CameraCapturedPicture, CameraMountError, CameraNativeProps, CameraPictureOptions, CameraProps, CameraRecordingOptions, ConstantsType, FaceDetectionResult, PermissionExpiration, PermissionResponse, PermissionStatus, VideoCodec } from './Camera.types'; +import { CameraCapturedPicture, CameraPictureOptions, CameraProps, CameraRecordingOptions, CameraType, ConstantsType, PermissionResponse, VideoCodec } from './Camera.types'; export default class Camera extends React.Component { + /** + * Check whether the current device has a camera. This is useful for web and simulators cases. + * This isn't influenced by the Permissions API (all platforms), or HTTP usage (in the browser). + * You will still need to check if the native permission has been accepted. + * @platform web + */ static isAvailableAsync(): Promise; - static getAvailableCameraTypesAsync(): Promise<('front' | 'back')[]>; - static getAvailableVideoCodecsAsync(): Promise; + /** + * Returns a list of camera types `['front', 'back']`. This is useful for desktop browsers which only have front-facing cameras. + * @platform web + */ + static getAvailableCameraTypesAsync(): Promise; + /** + * Queries the device for the available video codecs that can be used in video recording. + * @return A promise that resolves to a list of strings that represents available codecs. + * @platform ios + */ + static getAvailableVideoCodecsAsync(): Promise; static Constants: ConstantsType; static ConversionTables: { type: Record<"front" | "back", string | number | undefined>; @@ -13,14 +28,27 @@ export default class Camera extends React.Component { }; static defaultProps: CameraProps; /** - * @deprecated Use `getCameraPermissionsAync` or `getMicrophonePermissionsAsync` instead. + * @deprecated Deprecated. Use `getCameraPermissionsAsync` or `getMicrophonePermissionsAsync` instead. + * Checks user's permissions for accessing camera. */ static getPermissionsAsync(): Promise; /** + * Asks the user to grant permissions for accessing camera. + * On iOS this will require apps to specify both `NSCameraUsageDescription` and `NSMicrophoneUsageDescription` entries in the **Info.plist**. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). * @deprecated Use `requestCameraPermissionsAsync` or `requestMicrophonePermissionsAsync` instead. */ static requestPermissionsAsync(): Promise; + /** + * Checks user's permissions for accessing camera. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static getCameraPermissionsAsync(): Promise; + /** + * Asks the user to grant permissions for accessing camera. + * On iOS this will require apps to specify an `NSCameraUsageDescription` entry in the **Info.plist**. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static requestCameraPermissionsAsync(): Promise; /** * Check or request permissions to access the camera. @@ -32,7 +60,16 @@ export default class Camera extends React.Component { * ``` */ static useCameraPermissions: (options?: import("expo-modules-core").PermissionHookOptions | undefined) => [PermissionResponse | null, () => Promise, () => Promise]; + /** + * Checks user's permissions for accessing microphone. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static getMicrophonePermissionsAsync(): Promise; + /** + * Asks the user to grant permissions for accessing the microphone. + * On iOS this will require apps to specify an `NSMicrophoneUsageDescription` entry in the **Info.plist**. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static requestMicrophonePermissionsAsync(): Promise; /** * Check or request permissions to access the microphone. @@ -52,15 +89,63 @@ export default class Camera extends React.Component { _lastEventsTimes: { [eventName: string]: Date; }; + /** + * Takes a picture and saves it to app's cache directory. Photos are rotated to match device's orientation + * (if `options.skipProcessing` flag is not enabled) and scaled to match the preview. Anyway on Android it is essential + * to set ratio prop to get a picture with correct dimensions. + * > **Note**: Make sure to wait for the [`onCameraReady`](#oncameraready) callback before calling this method. + * @param options An object in form of `CameraPictureOptions` type. + * @return Returns a Promise that resolves to `CameraCapturedPicture` object, where `uri` is a URI to the local image file on iOS, + * Android, and a base64 string on web (usable as the source for an `Image` element). The `width` and `height` properties specify + * the dimensions of the image. `base64` is included if the `base64` option was truthy, and is a string containing the JPEG data + * of the image in Base64--prepend that with `'data:image/jpg;base64,'` to get a data URI, which you can use as the source + * for an `Image` element for example. `exif` is included if the `exif` option was truthy, and is an object containing EXIF + * data for the image--the names of its properties are EXIF tags and their values are the values for those tags. + * + * > On native platforms, the local image URI is temporary. Use [`FileSystem.copyAsync`](filesystem.md#filesystemcopyasyncoptions) + * > to make a permanent copy of the image. + * + * > On web, the `uri` is a base64 representation of the image because file system URLs are not supported in the browser. + * > The `exif` data returned on web is a partial representation of the [`MediaTrackSettings`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings), + * > if available. + */ takePictureAsync(options?: CameraPictureOptions): Promise; + /** + * Get aspect ratios that are supported by the device and can be passed via `ratio` prop. + * @return Returns a Promise that resolves to an array of strings representing ratios, eg. `['4:3', '1:1']`. + * @platform android + */ getSupportedRatiosAsync(): Promise; + /** + * Get picture sizes that are supported by the device for given `ratio`. + * @param ratio A string representing aspect ratio of sizes to be returned. + * @return Returns a Promise that resolves to an array of strings representing picture sizes that can be passed to `pictureSize` prop. + * The list varies across Android devices but is the same for every iOS. + */ getAvailablePictureSizesAsync(ratio?: string): Promise; + /** + * Starts recording a video that will be saved to cache directory. Videos are rotated to match device's orientation. + * Flipping camera during a recording results in stopping it. + * @param options A map of `CameraRecordingOptions` type. + * @return Returns a Promise that resolves to an object containing video file `uri` property and a `codec` property on iOS. + * The Promise is returned if `stopRecording` was invoked, one of `maxDuration` and `maxFileSize` is reached or camera preview is stopped. + * @platform android + * @platform ios + */ recordAsync(options?: CameraRecordingOptions): Promise<{ uri: string; - codec?: VideoCodec; }>; + /** + * Stops recording if any is in progress. + */ stopRecording(): void; + /** + * Pauses the camera preview. It is not recommended to use `takePictureAsync` when preview is paused. + */ pausePreview(): void; + /** + * Resumes the camera preview. + */ resumePreview(): void; _onCameraReady: () => void; _onMountError: ({ nativeEvent }: { @@ -75,4 +160,4 @@ export default class Camera extends React.Component { render(): JSX.Element; } export declare const Constants: ConstantsType, getPermissionsAsync: typeof Camera.getPermissionsAsync, requestPermissionsAsync: typeof Camera.requestPermissionsAsync, getCameraPermissionsAsync: typeof Camera.getCameraPermissionsAsync, requestCameraPermissionsAsync: typeof Camera.requestCameraPermissionsAsync, getMicrophonePermissionsAsync: typeof Camera.getMicrophonePermissionsAsync, requestMicrophonePermissionsAsync: typeof Camera.requestMicrophonePermissionsAsync; -export { CameraCapturedPicture, CameraNativeProps, CameraPictureOptions, CameraProps, CameraRecordingOptions, PermissionResponse, PermissionStatus, PermissionExpiration, BarCodeScanningResult, FaceDetectionResult, CameraMountError, }; +//# sourceMappingURL=Camera.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/Camera.d.ts.map b/packages/expo-camera/build/Camera.d.ts.map new file mode 100644 index 00000000000000..ecff1059e1ffbf --- /dev/null +++ b/packages/expo-camera/build/Camera.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../src/Camera.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,UAAU,EACX,MAAM,gBAAgB,CAAC;AAoDxB,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;IAC9D;;;;;OAKG;WACU,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAQjD;;;OAGG;WACU,4BAA4B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IASlE;;;;OAIG;WACU,4BAA4B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAQlE,MAAM,CAAC,SAAS,EAAE,aAAa,CAQ7B;IAGF,MAAM,CAAC,gBAAgB;;;;;MAAoB;IAE3C,MAAM,CAAC,YAAY,EAAE,WAAW,CAS9B;IAGF;;;OAGG;WACU,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAQ/D;;;;;OAKG;WACU,uBAAuB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAQnE;;;OAGG;WACU,yBAAyB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAKrE;;;;OAIG;WACU,6BAA6B,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAKzE;;;;;;;;OAQG;IACH,MAAM,CAAC,oBAAoB,yLAGxB;IAGH;;;OAGG;WACU,6BAA6B,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAKzE;;;;OAIG;WACU,iCAAiC,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAK7E;;;;;;;;OAQG;IACH,MAAM,CAAC,wBAAwB,yLAG5B;IAEH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAClD,gBAAgB,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAM;IAGrD;;;;;;;;;;;;;;;;;;;OAmBG;IACG,gBAAgB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAMtF;;;;OAIG;IACG,uBAAuB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQlD;;;;;OAKG;IACG,6BAA6B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAOtE;;;;;;;;OAQG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAS7E;;OAEG;IACH,aAAa;IAQb;;OAEG;IACH,YAAY;IAQZ;;OAEG;IACH,aAAa;IAQb,cAAc,aAIZ;IAEF,aAAa;qBAAoC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE;eAIlE;IAEF,iBAAiB;qBAEkB,GAAG;eAgBlC;IAEJ,aAAa,2DAaX;IAEF,MAAM;CAoBP;AAED,eAAO,MACL,SAAS,iBACT,mBAAmB,qCACnB,uBAAuB,yCACvB,yBAAyB,2CACzB,6BAA6B,+CAC7B,6BAA6B,+CAC7B,iCAAiC,iDACzB,CAAC"} \ No newline at end of file diff --git a/packages/expo-camera/build/Camera.js b/packages/expo-camera/build/Camera.js index dea352b8ee5c2b..5da7b6f17ed083 100644 --- a/packages/expo-camera/build/Camera.js +++ b/packages/expo-camera/build/Camera.js @@ -1,7 +1,6 @@ import { createPermissionHook, Platform, UnavailabilityError } from 'expo-modules-core'; import * as React from 'react'; import { findNodeHandle } from 'react-native'; -import { PermissionStatus, } from './Camera.types'; import ExponentCamera from './ExponentCamera'; import CameraManager from './ExponentCameraManager'; import { ConversionTables, ensureNativeProps } from './utils/props'; @@ -40,18 +39,34 @@ function _onPictureSaved({ nativeEvent, }) { } } export default class Camera extends React.Component { + /** + * Check whether the current device has a camera. This is useful for web and simulators cases. + * This isn't influenced by the Permissions API (all platforms), or HTTP usage (in the browser). + * You will still need to check if the native permission has been accepted. + * @platform web + */ static async isAvailableAsync() { if (!CameraManager.isAvailableAsync) { throw new UnavailabilityError('expo-camera', 'isAvailableAsync'); } return await CameraManager.isAvailableAsync(); } + /** + * Returns a list of camera types `['front', 'back']`. This is useful for desktop browsers which only have front-facing cameras. + * @platform web + */ static async getAvailableCameraTypesAsync() { if (!CameraManager.getAvailableCameraTypesAsync) { throw new UnavailabilityError('expo-camera', 'getAvailableCameraTypesAsync'); } return await CameraManager.getAvailableCameraTypesAsync(); } + // @needsAudit + /** + * Queries the device for the available video codecs that can be used in video recording. + * @return A promise that resolves to a list of strings that represents available codecs. + * @platform ios + */ static async getAvailableVideoCodecsAsync() { if (!CameraManager.getAvailableVideoCodecsAsync) { throw new UnavailabilityError('Camera', 'getAvailableVideoCodecsAsync'); @@ -79,23 +94,40 @@ export default class Camera extends React.Component { flashMode: CameraManager.FlashMode.off, whiteBalance: CameraManager.WhiteBalance.auto, }; + // @needsAudit /** - * @deprecated Use `getCameraPermissionsAync` or `getMicrophonePermissionsAsync` instead. + * @deprecated Deprecated. Use `getCameraPermissionsAsync` or `getMicrophonePermissionsAsync` instead. + * Checks user's permissions for accessing camera. */ static async getPermissionsAsync() { console.warn(`"getPermissionsAsync()" is now deprecated. Please use "getCameraPermissionsAsync()" or "getMicrophonePermissionsAsync()" instead.`); return CameraManager.getPermissionsAsync(); } + // @needsAudit /** + * Asks the user to grant permissions for accessing camera. + * On iOS this will require apps to specify both `NSCameraUsageDescription` and `NSMicrophoneUsageDescription` entries in the **Info.plist**. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). * @deprecated Use `requestCameraPermissionsAsync` or `requestMicrophonePermissionsAsync` instead. */ static async requestPermissionsAsync() { console.warn(`"requestPermissionsAsync()" is now deprecated. Please use "requestCameraPermissionsAsync()" or "requestMicrophonePermissionsAsync()" instead.`); return CameraManager.requestPermissionsAsync(); } + // @needsAudit + /** + * Checks user's permissions for accessing camera. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static async getCameraPermissionsAsync() { return CameraManager.getCameraPermissionsAsync(); } + // @needsAudit + /** + * Asks the user to grant permissions for accessing camera. + * On iOS this will require apps to specify an `NSCameraUsageDescription` entry in the **Info.plist**. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static async requestCameraPermissionsAsync() { return CameraManager.requestCameraPermissionsAsync(); } @@ -113,9 +145,20 @@ export default class Camera extends React.Component { getMethod: Camera.getCameraPermissionsAsync, requestMethod: Camera.requestCameraPermissionsAsync, }); + // @needsAudit + /** + * Checks user's permissions for accessing microphone. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static async getMicrophonePermissionsAsync() { return CameraManager.getMicrophonePermissionsAsync(); } + // @needsAudit + /** + * Asks the user to grant permissions for accessing the microphone. + * On iOS this will require apps to specify an `NSMicrophoneUsageDescription` entry in the **Info.plist**. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static async requestMicrophonePermissionsAsync() { return CameraManager.requestMicrophonePermissionsAsync(); } @@ -137,22 +180,63 @@ export default class Camera extends React.Component { _cameraRef; _lastEvents = {}; _lastEventsTimes = {}; + // @needsAudit + /** + * Takes a picture and saves it to app's cache directory. Photos are rotated to match device's orientation + * (if `options.skipProcessing` flag is not enabled) and scaled to match the preview. Anyway on Android it is essential + * to set ratio prop to get a picture with correct dimensions. + * > **Note**: Make sure to wait for the [`onCameraReady`](#oncameraready) callback before calling this method. + * @param options An object in form of `CameraPictureOptions` type. + * @return Returns a Promise that resolves to `CameraCapturedPicture` object, where `uri` is a URI to the local image file on iOS, + * Android, and a base64 string on web (usable as the source for an `Image` element). The `width` and `height` properties specify + * the dimensions of the image. `base64` is included if the `base64` option was truthy, and is a string containing the JPEG data + * of the image in Base64--prepend that with `'data:image/jpg;base64,'` to get a data URI, which you can use as the source + * for an `Image` element for example. `exif` is included if the `exif` option was truthy, and is an object containing EXIF + * data for the image--the names of its properties are EXIF tags and their values are the values for those tags. + * + * > On native platforms, the local image URI is temporary. Use [`FileSystem.copyAsync`](filesystem.md#filesystemcopyasyncoptions) + * > to make a permanent copy of the image. + * + * > On web, the `uri` is a base64 representation of the image because file system URLs are not supported in the browser. + * > The `exif` data returned on web is a partial representation of the [`MediaTrackSettings`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings), + * > if available. + */ async takePictureAsync(options) { const pictureOptions = ensurePictureOptions(options); return await CameraManager.takePicture(pictureOptions, this._cameraHandle); } + /** + * Get aspect ratios that are supported by the device and can be passed via `ratio` prop. + * @return Returns a Promise that resolves to an array of strings representing ratios, eg. `['4:3', '1:1']`. + * @platform android + */ async getSupportedRatiosAsync() { if (!CameraManager.getSupportedRatios) { throw new UnavailabilityError('Camera', 'getSupportedRatiosAsync'); } return await CameraManager.getSupportedRatios(this._cameraHandle); } + /** + * Get picture sizes that are supported by the device for given `ratio`. + * @param ratio A string representing aspect ratio of sizes to be returned. + * @return Returns a Promise that resolves to an array of strings representing picture sizes that can be passed to `pictureSize` prop. + * The list varies across Android devices but is the same for every iOS. + */ async getAvailablePictureSizesAsync(ratio) { if (!CameraManager.getAvailablePictureSizes) { throw new UnavailabilityError('Camera', 'getAvailablePictureSizesAsync'); } return await CameraManager.getAvailablePictureSizes(ratio, this._cameraHandle); } + /** + * Starts recording a video that will be saved to cache directory. Videos are rotated to match device's orientation. + * Flipping camera during a recording results in stopping it. + * @param options A map of `CameraRecordingOptions` type. + * @return Returns a Promise that resolves to an object containing video file `uri` property and a `codec` property on iOS. + * The Promise is returned if `stopRecording` was invoked, one of `maxDuration` and `maxFileSize` is reached or camera preview is stopped. + * @platform android + * @platform ios + */ async recordAsync(options) { if (!CameraManager.record) { throw new UnavailabilityError('Camera', 'recordAsync'); @@ -160,18 +244,27 @@ export default class Camera extends React.Component { const recordingOptions = ensureRecordingOptions(options); return await CameraManager.record(recordingOptions, this._cameraHandle); } + /** + * Stops recording if any is in progress. + */ stopRecording() { if (!CameraManager.stopRecording) { throw new UnavailabilityError('Camera', 'stopRecording'); } CameraManager.stopRecording(this._cameraHandle); } + /** + * Pauses the camera preview. It is not recommended to use `takePictureAsync` when preview is paused. + */ pausePreview() { if (!CameraManager.pausePreview) { throw new UnavailabilityError('Camera', 'pausePreview'); } CameraManager.pausePreview(this._cameraHandle); } + /** + * Resumes the camera preview. + */ resumePreview() { if (!CameraManager.resumePreview) { throw new UnavailabilityError('Camera', 'resumePreview'); @@ -228,5 +321,4 @@ export default class Camera extends React.Component { } } export const { Constants, getPermissionsAsync, requestPermissionsAsync, getCameraPermissionsAsync, requestCameraPermissionsAsync, getMicrophonePermissionsAsync, requestMicrophonePermissionsAsync, } = Camera; -export { PermissionStatus, }; //# sourceMappingURL=Camera.js.map \ No newline at end of file diff --git a/packages/expo-camera/build/Camera.js.map b/packages/expo-camera/build/Camera.js.map index a3c0e76926d5cc..ad71f8204cc441 100644 --- a/packages/expo-camera/build/Camera.js.map +++ b/packages/expo-camera/build/Camera.js.map @@ -1 +1 @@ -{"version":3,"file":"Camera.js","sourceRoot":"","sources":["../src/Camera.tsx"],"names":[],"mappings":"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","sourcesContent":["import { createPermissionHook, Platform, UnavailabilityError } from 'expo-modules-core';\nimport * as React from 'react';\nimport { findNodeHandle } from 'react-native';\n\nimport {\n BarCodeScanningResult,\n CameraCapturedPicture,\n CameraMountError,\n CameraNativeProps,\n CameraPictureOptions,\n CameraProps,\n CameraRecordingOptions,\n ConstantsType,\n FaceDetectionResult,\n PermissionExpiration,\n PermissionResponse,\n PermissionStatus,\n VideoCodec,\n} from './Camera.types';\nimport ExponentCamera from './ExponentCamera';\nimport CameraManager from './ExponentCameraManager';\nimport { ConversionTables, ensureNativeProps } from './utils/props';\n\nconst EventThrottleMs = 500;\n\nconst _PICTURE_SAVED_CALLBACKS = {};\n\nlet _GLOBAL_PICTURE_ID = 1;\n\nfunction ensurePictureOptions(options?: CameraPictureOptions): CameraPictureOptions {\n const pictureOptions: CameraPictureOptions =\n !options || typeof options !== 'object' ? {} : options;\n\n if (!pictureOptions.quality) {\n pictureOptions.quality = 1;\n }\n if (pictureOptions.onPictureSaved) {\n const id = _GLOBAL_PICTURE_ID++;\n _PICTURE_SAVED_CALLBACKS[id] = pictureOptions.onPictureSaved;\n pictureOptions.id = id;\n pictureOptions.fastMode = true;\n }\n return pictureOptions;\n}\n\nfunction ensureRecordingOptions(options?: CameraRecordingOptions): CameraRecordingOptions {\n let recordingOptions = options || {};\n\n if (!recordingOptions || typeof recordingOptions !== 'object') {\n recordingOptions = {};\n } else if (typeof recordingOptions.quality === 'string') {\n recordingOptions.quality = Camera.Constants.VideoQuality[recordingOptions.quality];\n }\n\n return recordingOptions;\n}\n\nfunction _onPictureSaved({\n nativeEvent,\n}: {\n nativeEvent: { data: CameraCapturedPicture; id: number };\n}) {\n const { id, data } = nativeEvent;\n const callback = _PICTURE_SAVED_CALLBACKS[id];\n if (callback) {\n callback(data);\n delete _PICTURE_SAVED_CALLBACKS[id];\n }\n}\n\nexport default class Camera extends React.Component {\n static async isAvailableAsync(): Promise {\n if (!CameraManager.isAvailableAsync) {\n throw new UnavailabilityError('expo-camera', 'isAvailableAsync');\n }\n\n return await CameraManager.isAvailableAsync();\n }\n\n static async getAvailableCameraTypesAsync(): Promise<('front' | 'back')[]> {\n if (!CameraManager.getAvailableCameraTypesAsync) {\n throw new UnavailabilityError('expo-camera', 'getAvailableCameraTypesAsync');\n }\n\n return await CameraManager.getAvailableCameraTypesAsync();\n }\n\n static async getAvailableVideoCodecsAsync(): Promise {\n if (!CameraManager.getAvailableVideoCodecsAsync) {\n throw new UnavailabilityError('Camera', 'getAvailableVideoCodecsAsync');\n }\n\n return await CameraManager.getAvailableVideoCodecsAsync();\n }\n\n static Constants: ConstantsType = {\n Type: CameraManager.Type,\n FlashMode: CameraManager.FlashMode,\n AutoFocus: CameraManager.AutoFocus,\n WhiteBalance: CameraManager.WhiteBalance,\n VideoQuality: CameraManager.VideoQuality,\n VideoStabilization: CameraManager.VideoStabilization || {},\n VideoCodec: CameraManager.VideoCodec,\n };\n\n // Values under keys from this object will be transformed to native options\n static ConversionTables = ConversionTables;\n\n static defaultProps: CameraProps = {\n zoom: 0,\n ratio: '4:3',\n focusDepth: 0,\n faceDetectorSettings: {},\n type: CameraManager.Type.back,\n autoFocus: CameraManager.AutoFocus.on,\n flashMode: CameraManager.FlashMode.off,\n whiteBalance: CameraManager.WhiteBalance.auto,\n };\n\n /**\n * @deprecated Use `getCameraPermissionsAync` or `getMicrophonePermissionsAsync` instead.\n */\n static async getPermissionsAsync(): Promise {\n console.warn(\n `\"getPermissionsAsync()\" is now deprecated. Please use \"getCameraPermissionsAsync()\" or \"getMicrophonePermissionsAsync()\" instead.`\n );\n return CameraManager.getPermissionsAsync();\n }\n\n /**\n * @deprecated Use `requestCameraPermissionsAsync` or `requestMicrophonePermissionsAsync` instead.\n */\n static async requestPermissionsAsync(): Promise {\n console.warn(\n `\"requestPermissionsAsync()\" is now deprecated. Please use \"requestCameraPermissionsAsync()\" or \"requestMicrophonePermissionsAsync()\" instead.`\n );\n return CameraManager.requestPermissionsAsync();\n }\n\n static async getCameraPermissionsAsync(): Promise {\n return CameraManager.getCameraPermissionsAsync();\n }\n\n static async requestCameraPermissionsAsync(): Promise {\n return CameraManager.requestCameraPermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Check or request permissions to access the camera.\n * This uses both `requestCameraPermissionsAsync` and `getCameraPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = Camera.useCameraPermissions();\n * ```\n */\n static useCameraPermissions = createPermissionHook({\n getMethod: Camera.getCameraPermissionsAsync,\n requestMethod: Camera.requestCameraPermissionsAsync,\n });\n\n static async getMicrophonePermissionsAsync(): Promise {\n return CameraManager.getMicrophonePermissionsAsync();\n }\n\n static async requestMicrophonePermissionsAsync(): Promise {\n return CameraManager.requestMicrophonePermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Check or request permissions to access the microphone.\n * This uses both `requestMicrophonePermissionsAsync` and `getMicrophonePermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = Camera.useMicrophonePermissions();\n * ```\n */\n static useMicrophonePermissions = createPermissionHook({\n getMethod: Camera.getMicrophonePermissionsAsync,\n requestMethod: Camera.requestMicrophonePermissionsAsync,\n });\n\n _cameraHandle?: number | null;\n _cameraRef?: React.Component | null;\n _lastEvents: { [eventName: string]: string } = {};\n _lastEventsTimes: { [eventName: string]: Date } = {};\n\n async takePictureAsync(options?: CameraPictureOptions): Promise {\n const pictureOptions = ensurePictureOptions(options);\n\n return await CameraManager.takePicture(pictureOptions, this._cameraHandle);\n }\n\n async getSupportedRatiosAsync(): Promise {\n if (!CameraManager.getSupportedRatios) {\n throw new UnavailabilityError('Camera', 'getSupportedRatiosAsync');\n }\n\n return await CameraManager.getSupportedRatios(this._cameraHandle);\n }\n\n async getAvailablePictureSizesAsync(ratio?: string): Promise {\n if (!CameraManager.getAvailablePictureSizes) {\n throw new UnavailabilityError('Camera', 'getAvailablePictureSizesAsync');\n }\n return await CameraManager.getAvailablePictureSizes(ratio, this._cameraHandle);\n }\n\n async recordAsync(\n options?: CameraRecordingOptions\n ): Promise<{ uri: string; codec?: VideoCodec }> {\n if (!CameraManager.record) {\n throw new UnavailabilityError('Camera', 'recordAsync');\n }\n\n const recordingOptions = ensureRecordingOptions(options);\n return await CameraManager.record(recordingOptions, this._cameraHandle);\n }\n\n stopRecording() {\n if (!CameraManager.stopRecording) {\n throw new UnavailabilityError('Camera', 'stopRecording');\n }\n\n CameraManager.stopRecording(this._cameraHandle);\n }\n\n pausePreview() {\n if (!CameraManager.pausePreview) {\n throw new UnavailabilityError('Camera', 'pausePreview');\n }\n\n CameraManager.pausePreview(this._cameraHandle);\n }\n\n resumePreview() {\n if (!CameraManager.resumePreview) {\n throw new UnavailabilityError('Camera', 'resumePreview');\n }\n\n CameraManager.resumePreview(this._cameraHandle);\n }\n\n _onCameraReady = () => {\n if (this.props.onCameraReady) {\n this.props.onCameraReady();\n }\n };\n\n _onMountError = ({ nativeEvent }: { nativeEvent: { message: string } }) => {\n if (this.props.onMountError) {\n this.props.onMountError(nativeEvent);\n }\n };\n\n _onObjectDetected =\n (callback?: Function) =>\n ({ nativeEvent }: { nativeEvent: any }) => {\n const { type } = nativeEvent;\n if (\n this._lastEvents[type] &&\n this._lastEventsTimes[type] &&\n JSON.stringify(nativeEvent) === this._lastEvents[type] &&\n new Date().getTime() - this._lastEventsTimes[type].getTime() < EventThrottleMs\n ) {\n return;\n }\n\n if (callback) {\n callback(nativeEvent);\n this._lastEventsTimes[type] = new Date();\n this._lastEvents[type] = JSON.stringify(nativeEvent);\n }\n };\n\n _setReference = (ref?: React.Component) => {\n if (ref) {\n this._cameraRef = ref;\n // TODO(Bacon): Unify these - perhaps with hooks?\n if (Platform.OS === 'web') {\n this._cameraHandle = ref as any;\n } else {\n this._cameraHandle = findNodeHandle(ref);\n }\n } else {\n this._cameraRef = null;\n this._cameraHandle = null;\n }\n };\n\n render() {\n const nativeProps = ensureNativeProps(this.props);\n\n const onBarCodeScanned = this.props.onBarCodeScanned\n ? this._onObjectDetected(this.props.onBarCodeScanned)\n : undefined;\n const onFacesDetected = this._onObjectDetected(this.props.onFacesDetected);\n\n return (\n \n );\n }\n}\n\nexport const {\n Constants,\n getPermissionsAsync,\n requestPermissionsAsync,\n getCameraPermissionsAsync,\n requestCameraPermissionsAsync,\n getMicrophonePermissionsAsync,\n requestMicrophonePermissionsAsync,\n} = Camera;\n\nexport {\n CameraCapturedPicture,\n CameraNativeProps,\n CameraPictureOptions,\n CameraProps,\n CameraRecordingOptions,\n PermissionResponse,\n PermissionStatus,\n PermissionExpiration,\n BarCodeScanningResult,\n FaceDetectionResult,\n CameraMountError,\n};\n"]} \ No newline at end of file +{"version":3,"file":"Camera.js","sourceRoot":"","sources":["../src/Camera.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAY9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpE,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAE3B,SAAS,oBAAoB,CAAC,OAA8B;IAC1D,MAAM,cAAc,GAClB,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAEzD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAC3B,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC;KAC5B;IACD,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;QAChC,wBAAwB,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC;QAC7D,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;QACvB,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;KAChC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgC;IAC9D,IAAI,gBAAgB,GAAG,OAAO,IAAI,EAAE,CAAC;IAErC,IAAI,CAAC,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;QAC7D,gBAAgB,GAAG,EAAE,CAAC;KACvB;SAAM,IAAI,OAAO,gBAAgB,CAAC,OAAO,KAAK,QAAQ,EAAE;QACvD,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;KACpF;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,WAAW,GAGZ;IACC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;IACjC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,OAAO,wBAAwB,CAAC,EAAE,CAAC,CAAC;KACrC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,KAAK,CAAC,SAAsB;IAC9D;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB;QAC3B,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE;YACnC,MAAM,IAAI,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;SAClE;QAED,OAAO,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,4BAA4B;QACvC,IAAI,CAAC,aAAa,CAAC,4BAA4B,EAAE;YAC/C,MAAM,IAAI,mBAAmB,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;SAC9E;QAED,OAAO,MAAM,aAAa,CAAC,4BAA4B,EAAE,CAAC;IAC5D,CAAC;IAED,cAAc;IACd;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,4BAA4B;QACvC,IAAI,CAAC,aAAa,CAAC,4BAA4B,EAAE;YAC/C,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;SACzE;QAED,OAAO,MAAM,aAAa,CAAC,4BAA4B,EAAE,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,SAAS,GAAkB;QAChC,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,SAAS,EAAE,aAAa,CAAC,SAAS;QAClC,SAAS,EAAE,aAAa,CAAC,SAAS;QAClC,YAAY,EAAE,aAAa,CAAC,YAAY;QACxC,YAAY,EAAE,aAAa,CAAC,YAAY;QACxC,kBAAkB,EAAE,aAAa,CAAC,kBAAkB,IAAI,EAAE;QAC1D,UAAU,EAAE,aAAa,CAAC,UAAU;KACrC,CAAC;IAEF,2EAA2E;IAC3E,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAE3C,MAAM,CAAC,YAAY,GAAgB;QACjC,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,CAAC;QACb,oBAAoB,EAAE,EAAE;QACxB,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI;QAC7B,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE;QACrC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG;QACtC,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC,IAAI;KAC9C,CAAC;IAEF,cAAc;IACd;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,mBAAmB;QAC9B,OAAO,CAAC,IAAI,CACV,mIAAmI,CACpI,CAAC;QACF,OAAO,aAAa,CAAC,mBAAmB,EAAE,CAAC;IAC7C,CAAC;IAED,cAAc;IACd;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,uBAAuB;QAClC,OAAO,CAAC,IAAI,CACV,+IAA+I,CAChJ,CAAC;QACF,OAAO,aAAa,CAAC,uBAAuB,EAAE,CAAC;IACjD,CAAC;IAED,cAAc;IACd;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,yBAAyB;QACpC,OAAO,aAAa,CAAC,yBAAyB,EAAE,CAAC;IACnD,CAAC;IAED,cAAc;IACd;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,6BAA6B;QACxC,OAAO,aAAa,CAAC,6BAA6B,EAAE,CAAC;IACvD,CAAC;IAED,cAAc;IACd;;;;;;;;OAQG;IACH,MAAM,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,SAAS,EAAE,MAAM,CAAC,yBAAyB;QAC3C,aAAa,EAAE,MAAM,CAAC,6BAA6B;KACpD,CAAC,CAAC;IAEH,cAAc;IACd;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,6BAA6B;QACxC,OAAO,aAAa,CAAC,6BAA6B,EAAE,CAAC;IACvD,CAAC;IAED,cAAc;IACd;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,iCAAiC;QAC5C,OAAO,aAAa,CAAC,iCAAiC,EAAE,CAAC;IAC3D,CAAC;IAED,cAAc;IACd;;;;;;;;OAQG;IACH,MAAM,CAAC,wBAAwB,GAAG,oBAAoB,CAAC;QACrD,SAAS,EAAE,MAAM,CAAC,6BAA6B;QAC/C,aAAa,EAAE,MAAM,CAAC,iCAAiC;KACxD,CAAC,CAAC;IAEH,aAAa,CAAiB;IAC9B,UAAU,CAA0B;IACpC,WAAW,GAAoC,EAAE,CAAC;IAClD,gBAAgB,GAAkC,EAAE,CAAC;IAErD,cAAc;IACd;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAA8B;QACnD,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO,MAAM,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB;QAC3B,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE;YACrC,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;SACpE;QAED,OAAO,MAAM,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,6BAA6B,CAAC,KAAc;QAChD,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE;YAC3C,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;SAC1E;QACD,OAAO,MAAM,aAAa,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CAAC,OAAgC;QAChD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YACzB,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;SACxD;QAED,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;YAChC,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;SAC1D;QAED,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;YAC/B,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;SACzD;QAED,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;YAChC,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;SAC1D;QAED,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,cAAc,GAAG,GAAG,EAAE;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;SAC5B;IACH,CAAC,CAAC;IAEF,aAAa,GAAG,CAAC,EAAE,WAAW,EAAwC,EAAE,EAAE;QACxE,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;SACtC;IACH,CAAC,CAAC;IAEF,iBAAiB,GACf,CAAC,QAAmB,EAAE,EAAE,CACxB,CAAC,EAAE,WAAW,EAAwB,EAAE,EAAE;QACxC,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;QAC7B,IACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACtD,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,eAAe,EAC9E;YACA,OAAO;SACR;QAED,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SACtD;IACH,CAAC,CAAC;IAEJ,aAAa,GAAG,CAAC,GAAqB,EAAE,EAAE;QACxC,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,iDAAiD;YACjD,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;gBACzB,IAAI,CAAC,aAAa,GAAG,GAAU,CAAC;aACjC;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;aAC1C;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC,CAAC;IAEF,MAAM;QACJ,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAClD,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAE3E,OAAO,CACL,oBAAC,cAAc,OACT,WAAW,EACf,GAAG,EAAE,IAAI,CAAC,aAAa,EACvB,aAAa,EAAE,IAAI,CAAC,cAAc,EAClC,YAAY,EAAE,IAAI,CAAC,aAAa,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,eAAe,GAC/B,CACH,CAAC;IACJ,CAAC;;AAGH,MAAM,CAAC,MAAM,EACX,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,GAClC,GAAG,MAAM,CAAC","sourcesContent":["import { createPermissionHook, Platform, UnavailabilityError } from 'expo-modules-core';\nimport * as React from 'react';\nimport { findNodeHandle } from 'react-native';\n\nimport {\n CameraCapturedPicture,\n CameraPictureOptions,\n CameraProps,\n CameraRecordingOptions,\n CameraType,\n ConstantsType,\n PermissionResponse,\n VideoCodec,\n} from './Camera.types';\nimport ExponentCamera from './ExponentCamera';\nimport CameraManager from './ExponentCameraManager';\nimport { ConversionTables, ensureNativeProps } from './utils/props';\n\nconst EventThrottleMs = 500;\n\nconst _PICTURE_SAVED_CALLBACKS = {};\n\nlet _GLOBAL_PICTURE_ID = 1;\n\nfunction ensurePictureOptions(options?: CameraPictureOptions): CameraPictureOptions {\n const pictureOptions: CameraPictureOptions =\n !options || typeof options !== 'object' ? {} : options;\n\n if (!pictureOptions.quality) {\n pictureOptions.quality = 1;\n }\n if (pictureOptions.onPictureSaved) {\n const id = _GLOBAL_PICTURE_ID++;\n _PICTURE_SAVED_CALLBACKS[id] = pictureOptions.onPictureSaved;\n pictureOptions.id = id;\n pictureOptions.fastMode = true;\n }\n return pictureOptions;\n}\n\nfunction ensureRecordingOptions(options?: CameraRecordingOptions): CameraRecordingOptions {\n let recordingOptions = options || {};\n\n if (!recordingOptions || typeof recordingOptions !== 'object') {\n recordingOptions = {};\n } else if (typeof recordingOptions.quality === 'string') {\n recordingOptions.quality = Camera.Constants.VideoQuality[recordingOptions.quality];\n }\n\n return recordingOptions;\n}\n\nfunction _onPictureSaved({\n nativeEvent,\n}: {\n nativeEvent: { data: CameraCapturedPicture; id: number };\n}) {\n const { id, data } = nativeEvent;\n const callback = _PICTURE_SAVED_CALLBACKS[id];\n if (callback) {\n callback(data);\n delete _PICTURE_SAVED_CALLBACKS[id];\n }\n}\n\nexport default class Camera extends React.Component {\n /**\n * Check whether the current device has a camera. This is useful for web and simulators cases.\n * This isn't influenced by the Permissions API (all platforms), or HTTP usage (in the browser).\n * You will still need to check if the native permission has been accepted.\n * @platform web\n */\n static async isAvailableAsync(): Promise {\n if (!CameraManager.isAvailableAsync) {\n throw new UnavailabilityError('expo-camera', 'isAvailableAsync');\n }\n\n return await CameraManager.isAvailableAsync();\n }\n\n /**\n * Returns a list of camera types `['front', 'back']`. This is useful for desktop browsers which only have front-facing cameras.\n * @platform web\n */\n static async getAvailableCameraTypesAsync(): Promise {\n if (!CameraManager.getAvailableCameraTypesAsync) {\n throw new UnavailabilityError('expo-camera', 'getAvailableCameraTypesAsync');\n }\n\n return await CameraManager.getAvailableCameraTypesAsync();\n }\n\n // @needsAudit\n /**\n * Queries the device for the available video codecs that can be used in video recording.\n * @return A promise that resolves to a list of strings that represents available codecs.\n * @platform ios\n */\n static async getAvailableVideoCodecsAsync(): Promise {\n if (!CameraManager.getAvailableVideoCodecsAsync) {\n throw new UnavailabilityError('Camera', 'getAvailableVideoCodecsAsync');\n }\n\n return await CameraManager.getAvailableVideoCodecsAsync();\n }\n\n static Constants: ConstantsType = {\n Type: CameraManager.Type,\n FlashMode: CameraManager.FlashMode,\n AutoFocus: CameraManager.AutoFocus,\n WhiteBalance: CameraManager.WhiteBalance,\n VideoQuality: CameraManager.VideoQuality,\n VideoStabilization: CameraManager.VideoStabilization || {},\n VideoCodec: CameraManager.VideoCodec,\n };\n\n // Values under keys from this object will be transformed to native options\n static ConversionTables = ConversionTables;\n\n static defaultProps: CameraProps = {\n zoom: 0,\n ratio: '4:3',\n focusDepth: 0,\n faceDetectorSettings: {},\n type: CameraManager.Type.back,\n autoFocus: CameraManager.AutoFocus.on,\n flashMode: CameraManager.FlashMode.off,\n whiteBalance: CameraManager.WhiteBalance.auto,\n };\n\n // @needsAudit\n /**\n * @deprecated Deprecated. Use `getCameraPermissionsAsync` or `getMicrophonePermissionsAsync` instead.\n * Checks user's permissions for accessing camera.\n */\n static async getPermissionsAsync(): Promise {\n console.warn(\n `\"getPermissionsAsync()\" is now deprecated. Please use \"getCameraPermissionsAsync()\" or \"getMicrophonePermissionsAsync()\" instead.`\n );\n return CameraManager.getPermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Asks the user to grant permissions for accessing camera.\n * On iOS this will require apps to specify both `NSCameraUsageDescription` and `NSMicrophoneUsageDescription` entries in the **Info.plist**.\n * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n * @deprecated Use `requestCameraPermissionsAsync` or `requestMicrophonePermissionsAsync` instead.\n */\n static async requestPermissionsAsync(): Promise {\n console.warn(\n `\"requestPermissionsAsync()\" is now deprecated. Please use \"requestCameraPermissionsAsync()\" or \"requestMicrophonePermissionsAsync()\" instead.`\n );\n return CameraManager.requestPermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Checks user's permissions for accessing camera.\n * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n */\n static async getCameraPermissionsAsync(): Promise {\n return CameraManager.getCameraPermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Asks the user to grant permissions for accessing camera.\n * On iOS this will require apps to specify an `NSCameraUsageDescription` entry in the **Info.plist**.\n * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n */\n static async requestCameraPermissionsAsync(): Promise {\n return CameraManager.requestCameraPermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Check or request permissions to access the camera.\n * This uses both `requestCameraPermissionsAsync` and `getCameraPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = Camera.useCameraPermissions();\n * ```\n */\n static useCameraPermissions = createPermissionHook({\n getMethod: Camera.getCameraPermissionsAsync,\n requestMethod: Camera.requestCameraPermissionsAsync,\n });\n\n // @needsAudit\n /**\n * Checks user's permissions for accessing microphone.\n * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n */\n static async getMicrophonePermissionsAsync(): Promise {\n return CameraManager.getMicrophonePermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Asks the user to grant permissions for accessing the microphone.\n * On iOS this will require apps to specify an `NSMicrophoneUsageDescription` entry in the **Info.plist**.\n * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse).\n */\n static async requestMicrophonePermissionsAsync(): Promise {\n return CameraManager.requestMicrophonePermissionsAsync();\n }\n\n // @needsAudit\n /**\n * Check or request permissions to access the microphone.\n * This uses both `requestMicrophonePermissionsAsync` and `getMicrophonePermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = Camera.useMicrophonePermissions();\n * ```\n */\n static useMicrophonePermissions = createPermissionHook({\n getMethod: Camera.getMicrophonePermissionsAsync,\n requestMethod: Camera.requestMicrophonePermissionsAsync,\n });\n\n _cameraHandle?: number | null;\n _cameraRef?: React.Component | null;\n _lastEvents: { [eventName: string]: string } = {};\n _lastEventsTimes: { [eventName: string]: Date } = {};\n\n // @needsAudit\n /**\n * Takes a picture and saves it to app's cache directory. Photos are rotated to match device's orientation\n * (if `options.skipProcessing` flag is not enabled) and scaled to match the preview. Anyway on Android it is essential\n * to set ratio prop to get a picture with correct dimensions.\n * > **Note**: Make sure to wait for the [`onCameraReady`](#oncameraready) callback before calling this method.\n * @param options An object in form of `CameraPictureOptions` type.\n * @return Returns a Promise that resolves to `CameraCapturedPicture` object, where `uri` is a URI to the local image file on iOS,\n * Android, and a base64 string on web (usable as the source for an `Image` element). The `width` and `height` properties specify\n * the dimensions of the image. `base64` is included if the `base64` option was truthy, and is a string containing the JPEG data\n * of the image in Base64--prepend that with `'data:image/jpg;base64,'` to get a data URI, which you can use as the source\n * for an `Image` element for example. `exif` is included if the `exif` option was truthy, and is an object containing EXIF\n * data for the image--the names of its properties are EXIF tags and their values are the values for those tags.\n *\n * > On native platforms, the local image URI is temporary. Use [`FileSystem.copyAsync`](filesystem.md#filesystemcopyasyncoptions)\n * > to make a permanent copy of the image.\n *\n * > On web, the `uri` is a base64 representation of the image because file system URLs are not supported in the browser.\n * > The `exif` data returned on web is a partial representation of the [`MediaTrackSettings`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings),\n * > if available.\n */\n async takePictureAsync(options?: CameraPictureOptions): Promise {\n const pictureOptions = ensurePictureOptions(options);\n\n return await CameraManager.takePicture(pictureOptions, this._cameraHandle);\n }\n\n /**\n * Get aspect ratios that are supported by the device and can be passed via `ratio` prop.\n * @return Returns a Promise that resolves to an array of strings representing ratios, eg. `['4:3', '1:1']`.\n * @platform android\n */\n async getSupportedRatiosAsync(): Promise {\n if (!CameraManager.getSupportedRatios) {\n throw new UnavailabilityError('Camera', 'getSupportedRatiosAsync');\n }\n\n return await CameraManager.getSupportedRatios(this._cameraHandle);\n }\n\n /**\n * Get picture sizes that are supported by the device for given `ratio`.\n * @param ratio A string representing aspect ratio of sizes to be returned.\n * @return Returns a Promise that resolves to an array of strings representing picture sizes that can be passed to `pictureSize` prop.\n * The list varies across Android devices but is the same for every iOS.\n */\n async getAvailablePictureSizesAsync(ratio?: string): Promise {\n if (!CameraManager.getAvailablePictureSizes) {\n throw new UnavailabilityError('Camera', 'getAvailablePictureSizesAsync');\n }\n return await CameraManager.getAvailablePictureSizes(ratio, this._cameraHandle);\n }\n\n /**\n * Starts recording a video that will be saved to cache directory. Videos are rotated to match device's orientation.\n * Flipping camera during a recording results in stopping it.\n * @param options A map of `CameraRecordingOptions` type.\n * @return Returns a Promise that resolves to an object containing video file `uri` property and a `codec` property on iOS.\n * The Promise is returned if `stopRecording` was invoked, one of `maxDuration` and `maxFileSize` is reached or camera preview is stopped.\n * @platform android\n * @platform ios\n */\n async recordAsync(options?: CameraRecordingOptions): Promise<{ uri: string }> {\n if (!CameraManager.record) {\n throw new UnavailabilityError('Camera', 'recordAsync');\n }\n\n const recordingOptions = ensureRecordingOptions(options);\n return await CameraManager.record(recordingOptions, this._cameraHandle);\n }\n\n /**\n * Stops recording if any is in progress.\n */\n stopRecording() {\n if (!CameraManager.stopRecording) {\n throw new UnavailabilityError('Camera', 'stopRecording');\n }\n\n CameraManager.stopRecording(this._cameraHandle);\n }\n\n /**\n * Pauses the camera preview. It is not recommended to use `takePictureAsync` when preview is paused.\n */\n pausePreview() {\n if (!CameraManager.pausePreview) {\n throw new UnavailabilityError('Camera', 'pausePreview');\n }\n\n CameraManager.pausePreview(this._cameraHandle);\n }\n\n /**\n * Resumes the camera preview.\n */\n resumePreview() {\n if (!CameraManager.resumePreview) {\n throw new UnavailabilityError('Camera', 'resumePreview');\n }\n\n CameraManager.resumePreview(this._cameraHandle);\n }\n\n _onCameraReady = () => {\n if (this.props.onCameraReady) {\n this.props.onCameraReady();\n }\n };\n\n _onMountError = ({ nativeEvent }: { nativeEvent: { message: string } }) => {\n if (this.props.onMountError) {\n this.props.onMountError(nativeEvent);\n }\n };\n\n _onObjectDetected =\n (callback?: Function) =>\n ({ nativeEvent }: { nativeEvent: any }) => {\n const { type } = nativeEvent;\n if (\n this._lastEvents[type] &&\n this._lastEventsTimes[type] &&\n JSON.stringify(nativeEvent) === this._lastEvents[type] &&\n new Date().getTime() - this._lastEventsTimes[type].getTime() < EventThrottleMs\n ) {\n return;\n }\n\n if (callback) {\n callback(nativeEvent);\n this._lastEventsTimes[type] = new Date();\n this._lastEvents[type] = JSON.stringify(nativeEvent);\n }\n };\n\n _setReference = (ref?: React.Component) => {\n if (ref) {\n this._cameraRef = ref;\n // TODO(Bacon): Unify these - perhaps with hooks?\n if (Platform.OS === 'web') {\n this._cameraHandle = ref as any;\n } else {\n this._cameraHandle = findNodeHandle(ref);\n }\n } else {\n this._cameraRef = null;\n this._cameraHandle = null;\n }\n };\n\n render() {\n const nativeProps = ensureNativeProps(this.props);\n\n const onBarCodeScanned = this.props.onBarCodeScanned\n ? this._onObjectDetected(this.props.onBarCodeScanned)\n : undefined;\n const onFacesDetected = this._onObjectDetected(this.props.onFacesDetected);\n\n return (\n \n );\n }\n}\n\nexport const {\n Constants,\n getPermissionsAsync,\n requestPermissionsAsync,\n getCameraPermissionsAsync,\n requestCameraPermissionsAsync,\n getMicrophonePermissionsAsync,\n requestMicrophonePermissionsAsync,\n} = Camera;\n"]} \ No newline at end of file diff --git a/packages/expo-camera/build/Camera.types.d.ts b/packages/expo-camera/build/Camera.types.d.ts index b1e697134a0352..a388b8dc9c9251 100644 --- a/packages/expo-camera/build/Camera.types.d.ts +++ b/packages/expo-camera/build/Camera.types.d.ts @@ -1,82 +1,60 @@ import { PermissionResponse, PermissionStatus, PermissionExpiration, PermissionHookOptions } from 'expo-modules-core'; import { ViewProps } from 'react-native'; export declare enum CameraType { - /** - * @platforms ios, android, web - */ front = "front", - /** - * @platforms ios, android, web - */ back = "back" } export declare enum FlashMode { - /** - * @platforms ios, android, web - */ on = "on", - /** - * @platforms ios, android, web - */ off = "off", - /** - * @platforms ios, android, web - */ auto = "auto", - /** - * @platforms ios, android, web - */ torch = "torch" } export declare enum AutoFocus { - /** - * @platforms ios, android, web - */ on = "on", - /** - * @platforms ios, android, web - */ off = "off", /** - * @platforms web + * @platform web */ auto = "auto", /** - * @platforms web + * @platform web */ singleShot = "singleShot" } export declare enum WhiteBalance { - /** - * @platforms ios, android, web - */ auto = "auto", /** - * @platforms ios, android + * @platform android + * @platform ios */ sunny = "sunny", /** - * @platforms ios, android + * @platform android + * @platform ios */ cloudy = "cloudy", /** - * @platforms ios, android + * @platform android + * @platform ios */ shadow = "shadow", /** - * @platforms ios, android + * @platform android + * @platform ios */ incandescent = "incandescent", /** - * @platforms ios, android + * @platform android + * @platform ios */ fluorescent = "fluorescent", /** - * @platforms web + * @platform web */ continuous = "continuous", /** - * @platforms web + * @platform web */ manual = "manual" } @@ -86,29 +64,28 @@ export declare enum ImageType { } /** * This option specifies what codec to use when recording a video. + * @platform ios */ export declare enum VideoCodec { - /** - * @platforms ios - */ H264 = "avc1", - /** - * @platforms ios - */ HEVC = "hvc1", - /** - * @platforms ios - */ JPEG = "jpeg", - /** - * @platforms ios - */ AppleProRes422 = "apcn", - /** - * @platforms ios - */ AppleProRes4444 = "ap4h" } +export declare enum VideoStabilization { + off = "off", + standard = "standard", + cinematic = "cinematic", + auto = "auto" +} +export declare enum VideoQuality { + '2160p' = "2160p", + '1080p' = "1080p", + '720p' = "720p", + '480p' = "480p", + '4:3' = "4:3" +} export declare type ImageParameters = { imageType: ImageType; quality: number | null; @@ -131,44 +108,104 @@ export declare type WebCameraSettings = Partial<{ focusDistance: number; zoom: number; }>; -export declare type CapturedPicture = { +export declare type CameraCapturedPicture = { width: number; height: number; uri: string; base64?: string; - exif?: Partial; + exif?: Partial | any; }; export declare type CameraPictureOptions = { + /** + * Specify the quality of compression, from 0 to 1. 0 means compress for small size, 1 means compress for maximum quality. + */ quality?: number; + /** + * Whether to also include the image data in Base64 format. + */ base64?: boolean; + /** + * Whether to also include the EXIF data for the image. + */ exif?: boolean; + /** + * A callback invoked when picture is saved. If set, the promise of this method will resolve immediately with no data after picture is captured. + * The data that it should contain will be passed to this callback. If displaying or processing a captured photo right after taking it + * is not your case, this callback lets you skip waiting for it to be saved. + * @param picture + */ onPictureSaved?: (picture: CameraCapturedPicture) => void; + /** + * If set to `true`, camera skips orientation adjustment and returns an image straight from the device's camera. + * If enabled, `quality` option is discarded (processing pipeline is skipped as a whole). + * Although enabling this option reduces image delivery time significantly, it may cause the image to appear in a wrong orientation + * in the `Image` component (at the time of writing, it does not respect EXIF orientation of the images). + * > **Note**: Enabling `skipProcessing` would cause orientation uncertainty. `Image` component does not respect EXIF + * > stored orientation information, that means obtained image would be displayed wrongly (rotated by 90ยฐ, 180ยฐ or 270ยฐ). + * > Different devices provide different orientations. For example some Sony Xperia or Samsung devices don't provide + * > correctly oriented images by default. To always obtain correctly oriented image disable `skipProcessing` option. + */ skipProcessing?: boolean; + /** + * @platform web + */ scale?: number; + /** + * @platform web + */ imageType?: ImageType; + /** + * @platform web + */ isImageMirror?: boolean; + /** + * @hidden + */ id?: number; + /** + * @hidden + */ fastMode?: boolean; }; export declare type CameraRecordingOptions = { + /** + * Maximum video duration in seconds. + */ maxDuration?: number; + /** + * Maximum video file size in bytes. + */ maxFileSize?: number; + /** + * Specify the quality of recorded video. Usage: `Camera.Constants.VideoQuality.`, + * possible values: for 16:9 resolution `2160p`, `1080p`, `720p`, `480p` : `Android only` and for 4:3 `4:3` (the size is 640x480). + * If the chosen quality is not available for a device, the highest available is chosen. + */ quality?: number | string; + /** + * If present, video will be recorded with no sound. + */ mute?: boolean; + /** + * If `true`, the recorded video will be flipped along the vertical axis. iOS flips videos recorded with the front camera by default, + * but you can reverse that back by setting this to `true`. On Android, this is handled in the user's device settings. + * @platform ios + */ mirror?: boolean; + /** + * Only works if `useCamera2Api` is set to `true`. This option specifies a desired video bitrate. For example, `5*1000*1000` would be 5Mbps. + * @platform android + */ videoBitrate?: number; + /** + * This option specifies what codec to use when recording the video. See [`Camera.Constants.VideoCodec`](#video-codec) for the possible values. + * @platform ios + */ codec?: VideoCodec; }; -export declare type CameraCapturedPicture = { - width: number; - height: number; - uri: string; - base64?: string; - exif?: any; -}; export declare type PictureSavedListener = (event: { nativeEvent: { - data: CapturedPicture; + data: CameraCapturedPicture; id: number; }; }) => void; @@ -179,15 +216,23 @@ export declare type MountErrorListener = (event: { export declare type CameraMountError = { message: string; }; -declare type Point = { +export declare type Point = { x: number; y: number; }; export declare type BarCodePoint = Point; export declare type BarCodeScanningResult = { + /** + * The barcode type. + */ type: string; + /** + * The information encoded in the bar code. + */ data: string; - /** @platform web */ + /** + * Corner points of the bounding box. + */ cornerPoints?: BarCodePoint[]; }; export declare type Face = { @@ -219,31 +264,116 @@ export declare type FaceDetectionResult = { faces: Face[]; }; export declare type ConstantsType = { - Type: typeof CameraType; - FlashMode: typeof FlashMode; - AutoFocus: typeof AutoFocus; - WhiteBalance: typeof WhiteBalance; - VideoQuality: any; - VideoStabilization: any; - VideoCodec: typeof VideoCodec; + Type: CameraType; + FlashMode: FlashMode; + AutoFocus: AutoFocus; + WhiteBalance: WhiteBalance; + VideoQuality: VideoQuality; + VideoStabilization: VideoStabilization; + VideoCodec: VideoCodec; }; export declare type CameraProps = ViewProps & { - type?: number | keyof typeof CameraType; - flashMode?: number | keyof typeof FlashMode; - whiteBalance?: number | keyof typeof WhiteBalance; - autoFocus?: boolean | number | keyof typeof AutoFocus; + /** + * Camera facing. Use one of `Camera.Constants.Type`. When `Type.front`, use the front-facing camera. + * When `Type.back`, use the back-facing camera. + * @default Type.back + */ + type?: number | CameraType; + /** + * Camera flash mode. Use one of `Camera.Constants.FlashMode`. When `on`, the flash on your device will + * turn on when taking a picture, when `off`, it won't. Setting to `auto` will fire flash if required, + * `torch` turns on flash during the preview. + * @default FlashMode.off + */ + flashMode?: number | FlashMode; + /** + * Camera white balance. Use one of [`Camera.Constants.WhiteBalance`](#whitebalance). If a device does not support any of these values previous one is used. + */ + whiteBalance?: number | WhiteBalance; + /** + * State of camera auto focus. Use one of [`Camera.Constants.AutoFocus`](#autofocus). When `on`, + * auto focus will be enabled, when `off`, it won't and focus will lock as it was in the moment of change, + * but it can be adjusted on some devices via `focusDepth` prop. + */ + autoFocus?: boolean | number | AutoFocus; + /** + * A value between `0` and `1` being a percentage of device's max zoom. `0` - not zoomed, `1` - maximum zoom. + * @default 0 + */ zoom?: number; + /** + * A string representing aspect ratio of the preview, eg. `4:3`, `16:9`, `1:1`. To check if a ratio is supported + * by the device use [`getSupportedRatiosAsync`](#getsupportedratiosasync). + * @default 4:3. + * @platform android + */ ratio?: string; + /** + * Distance to plane of the sharpest focus. A value between `0` and `1` where: `0` - infinity focus, `1` - focus as close as possible. + * For Android this is available only for some devices and when `useCamera2Api` is set to `true`. + * @default 0 + */ focusDepth?: number; - onCameraReady?: Function; + /** + * Callback invoked when camera preview has been set. + */ + onCameraReady?: () => void; + /** + * Whether to use Android's Camera2 API. See `Note` at the top of this page. + * @platform android + */ useCamera2Api?: boolean; + /** + * A string representing the size of pictures [`takePictureAsync`](#takepictureasync) will take. + * Available sizes can be fetched with [`getAvailablePictureSizesAsync`](#getavailablepicturesizesasync). + */ pictureSize?: string; + /** + * The video stabilization mode used for a video recording. Use one of [`Camera.Constants.VideoStabilization`](#videostabilization). + * You can read more about each stabilization type in [Apple Documentation](https://developer.apple.com/documentation/avfoundation/avcapturevideostabilizationmode). + * @platform ios + */ videoStabilizationMode?: number; + /** + * Callback invoked when camera preview could not been started. + * @param event Error object that contains a `message`. + */ onMountError?: (event: CameraMountError) => void; + /** + * Settings exposed by [`BarCodeScanner`](bar-code-scanner) module. Supported settings: **barCodeTypes**. + * @example + * ```tsx + * + * ``` + */ barCodeScannerSettings?: object; + /** + * Callback that is invoked when a bar code has been successfully scanned. The callback is provided with + * an object of the [`BarCodeScanningResult`](#barcodescanningresult) shape, where the `type` + * refers to the bar code type that was scanned and the `data` is the information encoded in the bar code + * (in this case of QR codes, this is often a URL). See [`BarCodeScanner.Constants.BarCodeType`](bar-code-scanner#supported-formats) + * for supported values. + * @param scanningResult + */ onBarCodeScanned?: (scanningResult: BarCodeScanningResult) => void; + /** + * A settings object passed directly to an underlying module providing face detection features. + * See [`DetectionOptions`](facedetector/#detectionoptions) in FaceDetector documentation for details. + */ faceDetectorSettings?: object; + /** + * Callback invoked with results of face detection on the preview. See [FaceDetector documentation](facedetector/#detectionresult) for details. + * @param faces + */ onFacesDetected?: (faces: FaceDetectionResult) => void; + /** + * A URL for an image to be shown while the camera is loading. + * @platform web + */ poster?: string; }; export declare type CameraNativeProps = { @@ -282,3 +412,4 @@ export declare type BarCodeSettings = { interval?: number; }; export { PermissionResponse, PermissionStatus, PermissionExpiration, PermissionHookOptions }; +//# sourceMappingURL=Camera.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/Camera.types.d.ts.map b/packages/expo-camera/build/Camera.types.d.ts.map new file mode 100644 index 00000000000000..d30646ffa4a25e --- /dev/null +++ b/packages/expo-camera/build/Camera.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Camera.types.d.ts","sourceRoot":"","sources":["../src/Camera.types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-camera/build/Camera.types.js b/packages/expo-camera/build/Camera.types.js index a9994a56b8bb26..3fec8d848983eb 100644 --- a/packages/expo-camera/build/Camera.types.js +++ b/packages/expo-camera/build/Camera.types.js @@ -1,85 +1,63 @@ import { PermissionStatus, } from 'expo-modules-core'; export var CameraType; (function (CameraType) { - /** - * @platforms ios, android, web - */ CameraType["front"] = "front"; - /** - * @platforms ios, android, web - */ CameraType["back"] = "back"; })(CameraType || (CameraType = {})); export var FlashMode; (function (FlashMode) { - /** - * @platforms ios, android, web - */ FlashMode["on"] = "on"; - /** - * @platforms ios, android, web - */ FlashMode["off"] = "off"; - /** - * @platforms ios, android, web - */ FlashMode["auto"] = "auto"; - /** - * @platforms ios, android, web - */ FlashMode["torch"] = "torch"; })(FlashMode || (FlashMode = {})); export var AutoFocus; (function (AutoFocus) { - /** - * @platforms ios, android, web - */ AutoFocus["on"] = "on"; - /** - * @platforms ios, android, web - */ AutoFocus["off"] = "off"; /** - * @platforms web + * @platform web */ AutoFocus["auto"] = "auto"; /** - * @platforms web + * @platform web */ AutoFocus["singleShot"] = "singleShot"; })(AutoFocus || (AutoFocus = {})); export var WhiteBalance; (function (WhiteBalance) { - /** - * @platforms ios, android, web - */ WhiteBalance["auto"] = "auto"; /** - * @platforms ios, android + * @platform android + * @platform ios */ WhiteBalance["sunny"] = "sunny"; /** - * @platforms ios, android + * @platform android + * @platform ios */ WhiteBalance["cloudy"] = "cloudy"; /** - * @platforms ios, android + * @platform android + * @platform ios */ WhiteBalance["shadow"] = "shadow"; /** - * @platforms ios, android + * @platform android + * @platform ios */ WhiteBalance["incandescent"] = "incandescent"; /** - * @platforms ios, android + * @platform android + * @platform ios */ WhiteBalance["fluorescent"] = "fluorescent"; /** - * @platforms web + * @platform web */ WhiteBalance["continuous"] = "continuous"; /** - * @platforms web + * @platform web */ WhiteBalance["manual"] = "manual"; })(WhiteBalance || (WhiteBalance = {})); @@ -90,29 +68,32 @@ export var ImageType; })(ImageType || (ImageType = {})); /** * This option specifies what codec to use when recording a video. + * @platform ios */ export var VideoCodec; (function (VideoCodec) { - /** - * @platforms ios - */ VideoCodec["H264"] = "avc1"; - /** - * @platforms ios - */ VideoCodec["HEVC"] = "hvc1"; - /** - * @platforms ios - */ VideoCodec["JPEG"] = "jpeg"; - /** - * @platforms ios - */ VideoCodec["AppleProRes422"] = "apcn"; - /** - * @platforms ios - */ VideoCodec["AppleProRes4444"] = "ap4h"; })(VideoCodec || (VideoCodec = {})); +// @needsAudit +export var VideoStabilization; +(function (VideoStabilization) { + VideoStabilization["off"] = "off"; + VideoStabilization["standard"] = "standard"; + VideoStabilization["cinematic"] = "cinematic"; + VideoStabilization["auto"] = "auto"; +})(VideoStabilization || (VideoStabilization = {})); +// @needsAudit +export var VideoQuality; +(function (VideoQuality) { + VideoQuality["2160p"] = "2160p"; + VideoQuality["1080p"] = "1080p"; + VideoQuality["720p"] = "720p"; + VideoQuality["480p"] = "480p"; + VideoQuality["4:3"] = "4:3"; +})(VideoQuality || (VideoQuality = {})); export { PermissionStatus }; //# sourceMappingURL=Camera.types.js.map \ No newline at end of file diff --git a/packages/expo-camera/build/Camera.types.js.map b/packages/expo-camera/build/Camera.types.js.map index f3a3a7711815e8..76860017340be7 100644 --- a/packages/expo-camera/build/Camera.types.js.map +++ b/packages/expo-camera/build/Camera.types.js.map @@ -1 +1 @@ -{"version":3,"file":"Camera.types.js","sourceRoot":"","sources":["../src/Camera.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,GAGjB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IACpB;;OAEG;IACH,6BAAe,CAAA;IACf;;OAEG;IACH,2BAAa,CAAA;AACf,CAAC,EATW,UAAU,KAAV,UAAU,QASrB;AAED,MAAM,CAAN,IAAY,SAiBX;AAjBD,WAAY,SAAS;IACnB;;OAEG;IACH,sBAAS,CAAA;IACT;;OAEG;IACH,wBAAW,CAAA;IACX;;OAEG;IACH,0BAAa,CAAA;IACb;;OAEG;IACH,4BAAe,CAAA;AACjB,CAAC,EAjBW,SAAS,KAAT,SAAS,QAiBpB;AAED,MAAM,CAAN,IAAY,SAiBX;AAjBD,WAAY,SAAS;IACnB;;OAEG;IACH,sBAAS,CAAA;IACT;;OAEG;IACH,wBAAW,CAAA;IACX;;OAEG;IACH,0BAAa,CAAA;IACb;;OAEG;IACH,sCAAyB,CAAA;AAC3B,CAAC,EAjBW,SAAS,KAAT,SAAS,QAiBpB;AAED,MAAM,CAAN,IAAY,YAiCX;AAjCD,WAAY,YAAY;IACtB;;OAEG;IACH,6BAAa,CAAA;IACb;;OAEG;IACH,+BAAe,CAAA;IACf;;OAEG;IACH,iCAAiB,CAAA;IACjB;;OAEG;IACH,iCAAiB,CAAA;IACjB;;OAEG;IACH,6CAA6B,CAAA;IAC7B;;OAEG;IACH,2CAA2B,CAAA;IAC3B;;OAEG;IACH,yCAAyB,CAAA;IACzB;;OAEG;IACH,iCAAiB,CAAA;AACnB,CAAC,EAjCW,YAAY,KAAZ,YAAY,QAiCvB;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,UAqBX;AArBD,WAAY,UAAU;IACpB;;OAEG;IACH,2BAAa,CAAA;IACb;;OAEG;IACH,2BAAa,CAAA;IACb;;OAEG;IACH,2BAAa,CAAA;IACb;;OAEG;IACH,qCAAuB,CAAA;IACvB;;OAEG;IACH,sCAAwB,CAAA;AAC1B,CAAC,EArBW,UAAU,KAAV,UAAU,QAqBrB;AA2LD,OAAO,EAAsB,gBAAgB,EAA+C,CAAC","sourcesContent":["import {\n PermissionResponse,\n PermissionStatus,\n PermissionExpiration,\n PermissionHookOptions,\n} from 'expo-modules-core';\nimport { ViewProps } from 'react-native';\n\nexport enum CameraType {\n /**\n * @platforms ios, android, web\n */\n front = 'front',\n /**\n * @platforms ios, android, web\n */\n back = 'back',\n}\n\nexport enum FlashMode {\n /**\n * @platforms ios, android, web\n */\n on = 'on',\n /**\n * @platforms ios, android, web\n */\n off = 'off',\n /**\n * @platforms ios, android, web\n */\n auto = 'auto',\n /**\n * @platforms ios, android, web\n */\n torch = 'torch',\n}\n\nexport enum AutoFocus {\n /**\n * @platforms ios, android, web\n */\n on = 'on',\n /**\n * @platforms ios, android, web\n */\n off = 'off',\n /**\n * @platforms web\n */\n auto = 'auto',\n /**\n * @platforms web\n */\n singleShot = 'singleShot',\n}\n\nexport enum WhiteBalance {\n /**\n * @platforms ios, android, web\n */\n auto = 'auto',\n /**\n * @platforms ios, android\n */\n sunny = 'sunny',\n /**\n * @platforms ios, android\n */\n cloudy = 'cloudy',\n /**\n * @platforms ios, android\n */\n shadow = 'shadow',\n /**\n * @platforms ios, android\n */\n incandescent = 'incandescent',\n /**\n * @platforms ios, android\n */\n fluorescent = 'fluorescent',\n /**\n * @platforms web\n */\n continuous = 'continuous',\n /**\n * @platforms web\n */\n manual = 'manual',\n}\n\nexport enum ImageType {\n png = 'png',\n jpg = 'jpg',\n}\n\n/**\n * This option specifies what codec to use when recording a video.\n */\nexport enum VideoCodec {\n /**\n * @platforms ios\n */\n H264 = 'avc1',\n /**\n * @platforms ios\n */\n HEVC = 'hvc1',\n /**\n * @platforms ios\n */\n JPEG = 'jpeg',\n /**\n * @platforms ios\n */\n AppleProRes422 = 'apcn',\n /**\n * @platforms ios\n */\n AppleProRes4444 = 'ap4h',\n}\n\nexport type ImageParameters = {\n imageType: ImageType;\n quality: number | null;\n};\n\nexport type ImageSize = {\n width: number;\n height: number;\n};\n\nexport type WebCameraSettings = Partial<{\n autoFocus: string;\n flashMode: string;\n whiteBalance: string;\n exposureCompensation: number;\n colorTemperature: number;\n iso: number;\n brightness: number;\n contrast: number;\n saturation: number;\n sharpness: number;\n focusDistance: number;\n zoom: number;\n}>;\n\nexport type CapturedPicture = {\n width: number;\n height: number;\n uri: string;\n base64?: string;\n // note(bacon): The types are currently only defined for web.\n exif?: Partial;\n};\n\nexport type CameraPictureOptions = {\n quality?: number;\n base64?: boolean;\n exif?: boolean;\n onPictureSaved?: (picture: CameraCapturedPicture) => void;\n // TODO(Bacon): Is it possible to implement this in the browser?\n skipProcessing?: boolean;\n // Web-only\n scale?: number;\n imageType?: ImageType;\n isImageMirror?: boolean;\n // internal\n id?: number;\n fastMode?: boolean;\n};\n\nexport type CameraRecordingOptions = {\n maxDuration?: number;\n maxFileSize?: number;\n quality?: number | string;\n mute?: boolean;\n mirror?: boolean;\n // Android\n videoBitrate?: number;\n // iOS\n codec?: VideoCodec;\n};\n\nexport type CameraCapturedPicture = {\n width: number;\n height: number;\n uri: string;\n base64?: string;\n exif?: any;\n};\n\nexport type PictureSavedListener = (event: {\n nativeEvent: { data: CapturedPicture; id: number };\n}) => void;\n\nexport type CameraReadyListener = () => void;\n\nexport type MountErrorListener = (event: { nativeEvent: CameraMountError }) => void;\n\nexport type CameraMountError = { message: string };\n\ntype Point = {\n x: number;\n y: number;\n};\n\nexport type BarCodePoint = Point;\n\nexport type BarCodeScanningResult = {\n type: string;\n data: string;\n /** @platform web */\n cornerPoints?: BarCodePoint[];\n};\n\nexport type Face = {\n faceID: number;\n bounds: {\n origin: Point;\n size: {\n height: number;\n width: number;\n };\n };\n rollAngle: number;\n yawAngle: number;\n smilingProbability: number;\n leftEarPosition: Point;\n rightEarPosition: Point;\n leftEyePosition: Point;\n leftEyeOpenProbability: number;\n rightEyePosition: Point;\n rightEyeOpenProbability: number;\n leftCheekPosition: Point;\n rightCheekPosition: Point;\n mouthPosition: Point;\n leftMouthPosition: Point;\n rightMouthPosition: Point;\n noseBasePosition: Point;\n};\n\nexport type FaceDetectionResult = { faces: Face[] };\n\nexport type ConstantsType = {\n Type: typeof CameraType;\n FlashMode: typeof FlashMode;\n AutoFocus: typeof AutoFocus;\n WhiteBalance: typeof WhiteBalance;\n VideoQuality: any;\n VideoStabilization: any;\n VideoCodec: typeof VideoCodec;\n};\n\nexport type CameraProps = ViewProps & {\n type?: number | keyof typeof CameraType;\n flashMode?: number | keyof typeof FlashMode;\n whiteBalance?: number | keyof typeof WhiteBalance;\n autoFocus?: boolean | number | keyof typeof AutoFocus;\n zoom?: number;\n ratio?: string;\n focusDepth?: number;\n onCameraReady?: Function;\n useCamera2Api?: boolean;\n pictureSize?: string;\n videoStabilizationMode?: number;\n onMountError?: (event: CameraMountError) => void;\n barCodeScannerSettings?: object;\n onBarCodeScanned?: (scanningResult: BarCodeScanningResult) => void;\n faceDetectorSettings?: object;\n onFacesDetected?: (faces: FaceDetectionResult) => void;\n poster?: string;\n};\n\nexport type CameraNativeProps = {\n pointerEvents?: any;\n style?: any;\n ref?: Function;\n onCameraReady?: CameraReadyListener;\n onMountError?: MountErrorListener;\n onBarCodeScanned?: (event: { nativeEvent: BarCodeScanningResult }) => void;\n onFacesDetected?: (event: { nativeEvent: FaceDetectionResult }) => void;\n onFaceDetectionError?: (event: { nativeEvent: Error }) => void;\n onPictureSaved?: PictureSavedListener;\n type?: number | string;\n flashMode?: number | string;\n autoFocus?: string | boolean | number;\n focusDepth?: number;\n zoom?: number;\n whiteBalance?: number | string;\n pictureSize?: string;\n barCodeScannerSettings?: BarCodeSettings;\n faceDetectorSettings?: object;\n barCodeScannerEnabled?: boolean;\n faceDetectorEnabled?: boolean;\n // Android\n ratio?: string;\n useCamera2Api?: boolean;\n // Web\n poster?: string;\n};\n\nexport type BarCodeSettings = {\n barCodeTypes: string[];\n interval?: number;\n};\n\nexport { PermissionResponse, PermissionStatus, PermissionExpiration, PermissionHookOptions };\n"]} \ No newline at end of file +{"version":3,"file":"Camera.types.js","sourceRoot":"","sources":["../src/Camera.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,GAGjB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,sBAAS,CAAA;IACT,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,4BAAe,CAAA;AACjB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,MAAM,CAAN,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,sBAAS,CAAA;IACT,wBAAW,CAAA;IACX;;OAEG;IACH,0BAAa,CAAA;IACb;;OAEG;IACH,sCAAyB,CAAA;AAC3B,CAAC,EAXW,SAAS,KAAT,SAAS,QAWpB;AAED,MAAM,CAAN,IAAY,YAmCX;AAnCD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb;;;OAGG;IACH,+BAAe,CAAA;IACf;;;OAGG;IACH,iCAAiB,CAAA;IACjB;;;OAGG;IACH,iCAAiB,CAAA;IACjB;;;OAGG;IACH,6CAA6B,CAAA;IAC7B;;;OAGG;IACH,2CAA2B,CAAA;IAC3B;;OAEG;IACH,yCAAyB,CAAA;IACzB;;OAEG;IACH,iCAAiB,CAAA;AACnB,CAAC,EAnCW,YAAY,KAAZ,YAAY,QAmCvB;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,qCAAuB,CAAA;IACvB,sCAAwB,CAAA;AAC1B,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAED,cAAc;AACd,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,iCAAW,CAAA;IACX,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,mCAAa,CAAA;AACf,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,cAAc;AACd,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,6BAAe,CAAA;IACf,2BAAa,CAAA;AACf,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAiVD,OAAO,EAAsB,gBAAgB,EAA+C,CAAC","sourcesContent":["import {\n PermissionResponse,\n PermissionStatus,\n PermissionExpiration,\n PermissionHookOptions,\n} from 'expo-modules-core';\nimport { ViewProps } from 'react-native';\n\nexport enum CameraType {\n front = 'front',\n back = 'back',\n}\n\nexport enum FlashMode {\n on = 'on',\n off = 'off',\n auto = 'auto',\n torch = 'torch',\n}\n\nexport enum AutoFocus {\n on = 'on',\n off = 'off',\n /**\n * @platform web\n */\n auto = 'auto',\n /**\n * @platform web\n */\n singleShot = 'singleShot',\n}\n\nexport enum WhiteBalance {\n auto = 'auto',\n /**\n * @platform android\n * @platform ios\n */\n sunny = 'sunny',\n /**\n * @platform android\n * @platform ios\n */\n cloudy = 'cloudy',\n /**\n * @platform android\n * @platform ios\n */\n shadow = 'shadow',\n /**\n * @platform android\n * @platform ios\n */\n incandescent = 'incandescent',\n /**\n * @platform android\n * @platform ios\n */\n fluorescent = 'fluorescent',\n /**\n * @platform web\n */\n continuous = 'continuous',\n /**\n * @platform web\n */\n manual = 'manual',\n}\n\nexport enum ImageType {\n png = 'png',\n jpg = 'jpg',\n}\n\n/**\n * This option specifies what codec to use when recording a video.\n * @platform ios\n */\nexport enum VideoCodec {\n H264 = 'avc1',\n HEVC = 'hvc1',\n JPEG = 'jpeg',\n AppleProRes422 = 'apcn',\n AppleProRes4444 = 'ap4h',\n}\n\n// @needsAudit\nexport enum VideoStabilization {\n off = 'off',\n standard = 'standard',\n cinematic = 'cinematic',\n auto = 'auto',\n}\n\n// @needsAudit\nexport enum VideoQuality {\n '2160p' = '2160p',\n '1080p' = '1080p',\n '720p' = '720p',\n '480p' = '480p',\n '4:3' = '4:3',\n}\n\n// @needsAudit\nexport type ImageParameters = {\n imageType: ImageType;\n quality: number | null;\n};\n\nexport type ImageSize = {\n width: number;\n height: number;\n};\n\nexport type WebCameraSettings = Partial<{\n autoFocus: string;\n flashMode: string;\n whiteBalance: string;\n exposureCompensation: number;\n colorTemperature: number;\n iso: number;\n brightness: number;\n contrast: number;\n saturation: number;\n sharpness: number;\n focusDistance: number;\n zoom: number;\n}>;\n\nexport type CameraCapturedPicture = {\n width: number;\n height: number;\n uri: string;\n base64?: string;\n exif?: Partial | any;\n};\n\n// @needsAudit @docsMissing\nexport type CameraPictureOptions = {\n /**\n * Specify the quality of compression, from 0 to 1. 0 means compress for small size, 1 means compress for maximum quality.\n */\n quality?: number;\n /**\n * Whether to also include the image data in Base64 format.\n */\n base64?: boolean;\n /**\n * Whether to also include the EXIF data for the image.\n */\n exif?: boolean;\n /**\n * A callback invoked when picture is saved. If set, the promise of this method will resolve immediately with no data after picture is captured.\n * The data that it should contain will be passed to this callback. If displaying or processing a captured photo right after taking it\n * is not your case, this callback lets you skip waiting for it to be saved.\n * @param picture\n */\n onPictureSaved?: (picture: CameraCapturedPicture) => void;\n // TODO(Bacon): Is it possible to implement this in the browser?\n /**\n * If set to `true`, camera skips orientation adjustment and returns an image straight from the device's camera.\n * If enabled, `quality` option is discarded (processing pipeline is skipped as a whole).\n * Although enabling this option reduces image delivery time significantly, it may cause the image to appear in a wrong orientation\n * in the `Image` component (at the time of writing, it does not respect EXIF orientation of the images).\n * > **Note**: Enabling `skipProcessing` would cause orientation uncertainty. `Image` component does not respect EXIF\n * > stored orientation information, that means obtained image would be displayed wrongly (rotated by 90ยฐ, 180ยฐ or 270ยฐ).\n * > Different devices provide different orientations. For example some Sony Xperia or Samsung devices don't provide\n * > correctly oriented images by default. To always obtain correctly oriented image disable `skipProcessing` option.\n */\n skipProcessing?: boolean;\n /**\n * @platform web\n */\n scale?: number;\n /**\n * @platform web\n */\n imageType?: ImageType;\n /**\n * @platform web\n */\n isImageMirror?: boolean;\n /**\n * @hidden\n */\n id?: number;\n /**\n * @hidden\n */\n fastMode?: boolean;\n};\n\n// @needsAudit\nexport type CameraRecordingOptions = {\n /**\n * Maximum video duration in seconds.\n */\n maxDuration?: number;\n /**\n * Maximum video file size in bytes.\n */\n maxFileSize?: number;\n /**\n * Specify the quality of recorded video. Usage: `Camera.Constants.VideoQuality.`,\n * possible values: for 16:9 resolution `2160p`, `1080p`, `720p`, `480p` : `Android only` and for 4:3 `4:3` (the size is 640x480).\n * If the chosen quality is not available for a device, the highest available is chosen.\n */\n quality?: number | string;\n /**\n * If present, video will be recorded with no sound.\n */\n mute?: boolean;\n /**\n * If `true`, the recorded video will be flipped along the vertical axis. iOS flips videos recorded with the front camera by default,\n * but you can reverse that back by setting this to `true`. On Android, this is handled in the user's device settings.\n * @platform ios\n */\n mirror?: boolean;\n /**\n * Only works if `useCamera2Api` is set to `true`. This option specifies a desired video bitrate. For example, `5*1000*1000` would be 5Mbps.\n * @platform android\n */\n videoBitrate?: number;\n /**\n * This option specifies what codec to use when recording the video. See [`Camera.Constants.VideoCodec`](#video-codec) for the possible values.\n * @platform ios\n */\n codec?: VideoCodec;\n};\n\nexport type PictureSavedListener = (event: {\n nativeEvent: { data: CameraCapturedPicture; id: number };\n}) => void;\n\nexport type CameraReadyListener = () => void;\n\nexport type MountErrorListener = (event: { nativeEvent: CameraMountError }) => void;\n\nexport type CameraMountError = { message: string };\n\nexport type Point = {\n x: number;\n y: number;\n};\n\nexport type BarCodePoint = Point;\n\n// @needsAudit\nexport type BarCodeScanningResult = {\n /**\n * The barcode type.\n */\n type: string;\n /**\n * The information encoded in the bar code.\n */\n data: string;\n /**\n * Corner points of the bounding box.\n */\n cornerPoints?: BarCodePoint[];\n};\n\nexport type Face = {\n faceID: number;\n bounds: {\n origin: Point;\n size: {\n height: number;\n width: number;\n };\n };\n rollAngle: number;\n yawAngle: number;\n smilingProbability: number;\n leftEarPosition: Point;\n rightEarPosition: Point;\n leftEyePosition: Point;\n leftEyeOpenProbability: number;\n rightEyePosition: Point;\n rightEyeOpenProbability: number;\n leftCheekPosition: Point;\n rightCheekPosition: Point;\n mouthPosition: Point;\n leftMouthPosition: Point;\n rightMouthPosition: Point;\n noseBasePosition: Point;\n};\n\nexport type FaceDetectionResult = { faces: Face[] };\n\nexport type ConstantsType = {\n Type: CameraType;\n FlashMode: FlashMode;\n AutoFocus: AutoFocus;\n WhiteBalance: WhiteBalance;\n VideoQuality: VideoQuality;\n VideoStabilization: VideoStabilization;\n VideoCodec: VideoCodec;\n};\n\n// @needsAudit\nexport type CameraProps = ViewProps & {\n /**\n * Camera facing. Use one of `Camera.Constants.Type`. When `Type.front`, use the front-facing camera.\n * When `Type.back`, use the back-facing camera.\n * @default Type.back\n */\n type?: number | CameraType;\n /**\n * Camera flash mode. Use one of `Camera.Constants.FlashMode`. When `on`, the flash on your device will\n * turn on when taking a picture, when `off`, it won't. Setting to `auto` will fire flash if required,\n * `torch` turns on flash during the preview.\n * @default FlashMode.off\n */\n flashMode?: number | FlashMode;\n /**\n * Camera white balance. Use one of [`Camera.Constants.WhiteBalance`](#whitebalance). If a device does not support any of these values previous one is used.\n */\n whiteBalance?: number | WhiteBalance;\n /**\n * State of camera auto focus. Use one of [`Camera.Constants.AutoFocus`](#autofocus). When `on`,\n * auto focus will be enabled, when `off`, it won't and focus will lock as it was in the moment of change,\n * but it can be adjusted on some devices via `focusDepth` prop.\n */\n autoFocus?: boolean | number | AutoFocus;\n /**\n * A value between `0` and `1` being a percentage of device's max zoom. `0` - not zoomed, `1` - maximum zoom.\n * @default 0\n */\n zoom?: number;\n /**\n * A string representing aspect ratio of the preview, eg. `4:3`, `16:9`, `1:1`. To check if a ratio is supported\n * by the device use [`getSupportedRatiosAsync`](#getsupportedratiosasync).\n * @default 4:3.\n * @platform android\n */\n ratio?: string;\n /**\n * Distance to plane of the sharpest focus. A value between `0` and `1` where: `0` - infinity focus, `1` - focus as close as possible.\n * For Android this is available only for some devices and when `useCamera2Api` is set to `true`.\n * @default 0\n */\n focusDepth?: number;\n /**\n * Callback invoked when camera preview has been set.\n */\n onCameraReady?: () => void;\n /**\n * Whether to use Android's Camera2 API. See `Note` at the top of this page.\n * @platform android\n */\n useCamera2Api?: boolean;\n /**\n * A string representing the size of pictures [`takePictureAsync`](#takepictureasync) will take.\n * Available sizes can be fetched with [`getAvailablePictureSizesAsync`](#getavailablepicturesizesasync).\n */\n pictureSize?: string;\n /**\n * The video stabilization mode used for a video recording. Use one of [`Camera.Constants.VideoStabilization`](#videostabilization).\n * You can read more about each stabilization type in [Apple Documentation](https://developer.apple.com/documentation/avfoundation/avcapturevideostabilizationmode).\n * @platform ios\n */\n videoStabilizationMode?: number;\n /**\n * Callback invoked when camera preview could not been started.\n * @param event Error object that contains a `message`.\n */\n onMountError?: (event: CameraMountError) => void;\n /**\n * Settings exposed by [`BarCodeScanner`](bar-code-scanner) module. Supported settings: **barCodeTypes**.\n * @example\n * ```tsx\n * \n * ```\n */\n barCodeScannerSettings?: object;\n /**\n * Callback that is invoked when a bar code has been successfully scanned. The callback is provided with\n * an object of the [`BarCodeScanningResult`](#barcodescanningresult) shape, where the `type`\n * refers to the bar code type that was scanned and the `data` is the information encoded in the bar code\n * (in this case of QR codes, this is often a URL). See [`BarCodeScanner.Constants.BarCodeType`](bar-code-scanner#supported-formats)\n * for supported values.\n * @param scanningResult\n */\n onBarCodeScanned?: (scanningResult: BarCodeScanningResult) => void;\n /**\n * A settings object passed directly to an underlying module providing face detection features.\n * See [`DetectionOptions`](facedetector/#detectionoptions) in FaceDetector documentation for details.\n */\n faceDetectorSettings?: object;\n /**\n * Callback invoked with results of face detection on the preview. See [FaceDetector documentation](facedetector/#detectionresult) for details.\n * @param faces\n */\n onFacesDetected?: (faces: FaceDetectionResult) => void;\n /**\n * A URL for an image to be shown while the camera is loading.\n * @platform web\n */\n poster?: string;\n};\n\nexport type CameraNativeProps = {\n pointerEvents?: any;\n style?: any;\n ref?: Function;\n onCameraReady?: CameraReadyListener;\n onMountError?: MountErrorListener;\n onBarCodeScanned?: (event: { nativeEvent: BarCodeScanningResult }) => void;\n onFacesDetected?: (event: { nativeEvent: FaceDetectionResult }) => void;\n onFaceDetectionError?: (event: { nativeEvent: Error }) => void;\n onPictureSaved?: PictureSavedListener;\n type?: number | string;\n flashMode?: number | string;\n autoFocus?: string | boolean | number;\n focusDepth?: number;\n zoom?: number;\n whiteBalance?: number | string;\n pictureSize?: string;\n barCodeScannerSettings?: BarCodeSettings;\n faceDetectorSettings?: object;\n barCodeScannerEnabled?: boolean;\n faceDetectorEnabled?: boolean;\n ratio?: string;\n useCamera2Api?: boolean;\n poster?: string;\n};\n\nexport type BarCodeSettings = {\n barCodeTypes: string[];\n interval?: number;\n};\n\nexport { PermissionResponse, PermissionStatus, PermissionExpiration, PermissionHookOptions };\n"]} \ No newline at end of file diff --git a/packages/expo-camera/build/ExponentCamera.d.ts b/packages/expo-camera/build/ExponentCamera.d.ts index 2a5283661bfc10..b038709ac37a3c 100644 --- a/packages/expo-camera/build/ExponentCamera.d.ts +++ b/packages/expo-camera/build/ExponentCamera.d.ts @@ -2,3 +2,4 @@ import * as React from 'react'; import { CameraNativeProps } from './Camera.types'; declare const ExponentCamera: React.ComponentType; export default ExponentCamera; +//# sourceMappingURL=ExponentCamera.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/ExponentCamera.d.ts.map b/packages/expo-camera/build/ExponentCamera.d.ts.map new file mode 100644 index 00000000000000..f6aff88a687061 --- /dev/null +++ b/packages/expo-camera/build/ExponentCamera.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentCamera.d.ts","sourceRoot":"","sources":["../src/ExponentCamera.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CACf,CAAC;AAE7C,eAAe,cAAc,CAAC"} \ No newline at end of file diff --git a/packages/expo-camera/build/ExponentCamera.web.d.ts b/packages/expo-camera/build/ExponentCamera.web.d.ts index eb09a1ccab2e46..d305d41478b413 100644 --- a/packages/expo-camera/build/ExponentCamera.web.d.ts +++ b/packages/expo-camera/build/ExponentCamera.web.d.ts @@ -8,3 +8,4 @@ export interface ExponentCameraRef { } declare const ExponentCamera: React.ForwardRefExoticComponent & React.RefAttributes>; export default ExponentCamera; +//# sourceMappingURL=ExponentCamera.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/ExponentCamera.web.d.ts.map b/packages/expo-camera/build/ExponentCamera.web.d.ts.map new file mode 100644 index 00000000000000..385a47dd53bd6b --- /dev/null +++ b/packages/expo-camera/build/ExponentCamera.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentCamera.web.d.ts","sourceRoot":"","sources":["../src/ExponentCamera.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EAErB,MAAM,gBAAgB,CAAC;AAOxB,MAAM,WAAW,iBAAiB;IAChC,wBAAwB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,WAAW,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC/E,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,QAAA,MAAM,cAAc,ieAiHnB,CAAC;AAEF,eAAe,cAAc,CAAC"} \ No newline at end of file diff --git a/packages/expo-camera/build/ExponentCameraManager.d.ts b/packages/expo-camera/build/ExponentCameraManager.d.ts index d5b22d966ad992..7433855b186ee8 100644 --- a/packages/expo-camera/build/ExponentCameraManager.d.ts +++ b/packages/expo-camera/build/ExponentCameraManager.d.ts @@ -1,2 +1,3 @@ declare const CameraManager: Record; export default CameraManager; +//# sourceMappingURL=ExponentCameraManager.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/ExponentCameraManager.d.ts.map b/packages/expo-camera/build/ExponentCameraManager.d.ts.map new file mode 100644 index 00000000000000..f07b06d4677910 --- /dev/null +++ b/packages/expo-camera/build/ExponentCameraManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentCameraManager.d.ts","sourceRoot":"","sources":["../src/ExponentCameraManager.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAC8C,CAAC;AAEtF,eAAe,aAAa,CAAC"} \ No newline at end of file diff --git a/packages/expo-camera/build/ExponentCameraManager.web.d.ts b/packages/expo-camera/build/ExponentCameraManager.web.d.ts index 43d66ce5a6d2f2..feb4bc295a533a 100644 --- a/packages/expo-camera/build/ExponentCameraManager.web.d.ts +++ b/packages/expo-camera/build/ExponentCameraManager.web.d.ts @@ -39,3 +39,4 @@ declare const _default: { requestMicrophonePermissionsAsync(): Promise; }; export default _default; +//# sourceMappingURL=ExponentCameraManager.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/ExponentCameraManager.web.d.ts.map b/packages/expo-camera/build/ExponentCameraManager.web.d.ts.map new file mode 100644 index 00000000000000..445d2250d9c522 --- /dev/null +++ b/packages/expo-camera/build/ExponentCameraManager.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentCameraManager.web.d.ts","sourceRoot":"","sources":["../src/ExponentCameraManager.web.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EAEpB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;wBAgJ7B,QAAQ,OAAO,CAAC;yBAI/B,oBAAoB,UACrB,iBAAiB,GACxB,QAAQ,qBAAqB,CAAC;yBAGN,iBAAiB,GAAG,QAAQ,IAAI,CAAC;0BAGhC,iBAAiB,GAAG,QAAQ,IAAI,CAAC;oCAGvB,QAAQ,MAAM,EAAE,CAAC;oCAYjB,MAAM,UAAU,iBAAiB,GAAG,QAAQ,MAAM,EAAE,CAAC;2BAe9D,QAAQ,kBAAkB,CAAC;+BAGvB,QAAQ,kBAAkB,CAAC;iCAGzB,QAAQ,kBAAkB,CAAC;qCAGvB,QAAQ,kBAAkB,CAAC;qCAG3B,QAAQ,kBAAkB,CAAC;yCAGvB,QAAQ,kBAAkB,CAAC;;AAhGxE,wBA+GE"} \ No newline at end of file diff --git a/packages/expo-camera/build/WebCameraUtils.d.ts b/packages/expo-camera/build/WebCameraUtils.d.ts index 37d436ee48f8ff..a4ab62e890f773 100644 --- a/packages/expo-camera/build/WebCameraUtils.d.ts +++ b/packages/expo-camera/build/WebCameraUtils.d.ts @@ -1,4 +1,4 @@ -import { CameraType, CapturedPicture, ImageSize, ImageType, WebCameraSettings, CameraPictureOptions } from './Camera.types'; +import { CameraType, CameraCapturedPicture, ImageSize, ImageType, WebCameraSettings, CameraPictureOptions } from './Camera.types'; interface ConstrainLongRange { max?: number; min?: number; @@ -23,9 +23,10 @@ export declare function getPreferredStreamDevice(preferredCameraType: CameraType export declare function getStreamDevice(preferredCameraType: CameraType, preferredWidth?: number | ConstrainLongRange, preferredHeight?: number | ConstrainLongRange): Promise; export declare function isWebKit(): boolean; export declare function compareStreams(a: MediaStream | null, b: MediaStream | null): boolean; -export declare function capture(video: HTMLVideoElement, settings: MediaTrackSettings, config: CameraPictureOptions): CapturedPicture; +export declare function capture(video: HTMLVideoElement, settings: MediaTrackSettings, config: CameraPictureOptions): CameraCapturedPicture; export declare function syncTrackCapabilities(cameraType: CameraType, stream: MediaStream | null, settings?: WebCameraSettings): Promise; export declare function stopMediaStream(stream: MediaStream | null): void; export declare function setVideoSource(video: HTMLVideoElement, stream: MediaStream | MediaSource | Blob | null): void; export declare function isCapabilityAvailable(video: HTMLVideoElement, keyName: string): boolean; export {}; +//# sourceMappingURL=WebCameraUtils.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/WebCameraUtils.d.ts.map b/packages/expo-camera/build/WebCameraUtils.d.ts.map new file mode 100644 index 00000000000000..e7f71f9280ffb3 --- /dev/null +++ b/packages/expo-camera/build/WebCameraUtils.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"WebCameraUtils.d.ts","sourceRoot":"","sources":["../src/WebCameraUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAKxB,UAAU,kBAAkB;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAS9F;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAkBR;AAED,wBAAgB,mBAAmB,CACjC,mBAAmB,CAAC,EAAE,UAAU,EAChC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,EACnC,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,GACnC,OAAO,CAET;AAmBD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,cAAc,GAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,eAAe,CAAM,GACzE,SAAS,GAAG,IAAI,CAalB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,EACvB,EAAE,KAAS,EAAE,aAAqB,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,eAAe,CAAC,GAC1F,iBAAiB,CAyBnB;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,gBAAgB,EACvB,cAAc,EAAE,oBAAoB,GACnC,MAAM,CAKR;AASD,wBAAgB,mBAAmB,CACjC,mBAAmB,EAAE,UAAU,EAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,EACnC,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,GACnC,sBAAsB,CAoCxB;AAMD;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,mBAAmB,EAAE,UAAU,EAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAC5C,eAAe,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAC5C,OAAO,CAAC,WAAW,CAAC,CAatB;AAED,wBAAsB,eAAe,CACnC,mBAAmB,EAAE,UAAU,EAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAC5C,eAAe,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAC5C,OAAO,CAAC,WAAW,CAAC,CAQtB;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,EAAE,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAOpF;AAED,wBAAgB,OAAO,CACrB,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,oBAAoB,GAC3B,qBAAqB,CAqBvB;AAED,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,QAAQ,GAAE,iBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAMf;AA6ED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,QAazD;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,GAAG,IAAI,GAC9C,IAAI,CAkBN;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CASvF"} \ No newline at end of file diff --git a/packages/expo-camera/build/WebCameraUtils.js.map b/packages/expo-camera/build/WebCameraUtils.js.map index e081116150a0ba..6c18f6932c3e45 100644 --- a/packages/expo-camera/build/WebCameraUtils.js.map +++ b/packages/expo-camera/build/WebCameraUtils.js.map @@ -1 +1 @@ -{"version":3,"file":"WebCameraUtils.js","sourceRoot":"","sources":["../src/WebCameraUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-env browser */\nimport invariant from 'invariant';\n\nimport {\n CameraType,\n CapturedPicture,\n ImageSize,\n ImageType,\n WebCameraSettings,\n CameraPictureOptions,\n} from './Camera.types';\nimport * as CapabilityUtils from './WebCapabilityUtils';\nimport { CameraTypeToFacingMode, ImageTypeFormat, MinimumConstraints } from './WebConstants';\nimport { requestUserMediaAsync } from './WebUserMediaManager';\n\ninterface ConstrainLongRange {\n max?: number;\n min?: number;\n exact?: number;\n ideal?: number;\n}\n\nexport function getImageSize(videoWidth: number, videoHeight: number, scale: number): ImageSize {\n const width = videoWidth * scale;\n const ratio = videoWidth / width;\n const height = videoHeight / ratio;\n\n return {\n width,\n height,\n };\n}\n\nexport function toDataURL(\n canvas: HTMLCanvasElement,\n imageType: ImageType,\n quality: number\n): string {\n invariant(\n Object.values(ImageType).includes(imageType),\n `expo-camera: ${imageType} is not a valid ImageType. Expected a string from: ${Object.values(\n ImageType\n ).join(', ')}`\n );\n\n const format = ImageTypeFormat[imageType];\n if (imageType === ImageType.jpg) {\n invariant(\n quality <= 1 && quality >= 0,\n `expo-camera: ${quality} is not a valid image quality. Expected a number from 0...1`\n );\n return canvas.toDataURL(format, quality);\n } else {\n return canvas.toDataURL(format);\n }\n}\n\nexport function hasValidConstraints(\n preferredCameraType?: CameraType,\n width?: number | ConstrainLongRange,\n height?: number | ConstrainLongRange\n): boolean {\n return preferredCameraType !== undefined && width !== undefined && height !== undefined;\n}\n\nfunction ensureCameraPictureOptions(config: CameraPictureOptions): CameraPictureOptions {\n const captureOptions = {\n scale: 1,\n imageType: ImageType.png,\n isImageMirror: false,\n };\n\n for (const key in config) {\n if (key in config && config[key] !== undefined && key in captureOptions) {\n captureOptions[key] = config[key];\n }\n }\n return captureOptions;\n}\n\nconst DEFAULT_QUALITY = 0.92;\n\nexport function captureImageData(\n video: HTMLVideoElement | null,\n pictureOptions: Pick = {}\n): ImageData | null {\n if (!video || video.readyState !== video.HAVE_ENOUGH_DATA) {\n return null;\n }\n const canvas = captureImageContext(video, pictureOptions);\n\n const context = canvas.getContext('2d', { alpha: false });\n if (!context || !canvas.width || !canvas.height) {\n return null;\n }\n\n const imageData = context.getImageData(0, 0, canvas.width, canvas.height);\n return imageData;\n}\n\nexport function captureImageContext(\n video: HTMLVideoElement,\n { scale = 1, isImageMirror = false }: Pick\n): HTMLCanvasElement {\n const { videoWidth, videoHeight } = video;\n const { width, height } = getImageSize(videoWidth, videoHeight, scale!);\n\n // Build the canvas size and draw the camera image to the context from video\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const context = canvas.getContext('2d', { alpha: false });\n\n if (!context) {\n // Should never be called\n throw new Error('Context is not defined');\n }\n // sharp image details\n // context.imageSmoothingEnabled = false;\n\n // Flip horizontally (as css transform: rotateY(180deg))\n if (isImageMirror) {\n context.setTransform(-1, 0, 0, 1, canvas.width, 0);\n }\n\n context.drawImage(video, 0, 0, width, height);\n\n return canvas;\n}\n\nexport function captureImage(\n video: HTMLVideoElement,\n pictureOptions: CameraPictureOptions\n): string {\n const config = ensureCameraPictureOptions(pictureOptions);\n const canvas = captureImageContext(video, config);\n const { imageType, quality = DEFAULT_QUALITY } = config;\n return toDataURL(canvas, imageType!, quality);\n}\n\nfunction getSupportedConstraints(): MediaTrackSupportedConstraints | null {\n if (navigator.mediaDevices && navigator.mediaDevices.getSupportedConstraints) {\n return navigator.mediaDevices.getSupportedConstraints();\n }\n return null;\n}\n\nexport function getIdealConstraints(\n preferredCameraType: CameraType,\n width?: number | ConstrainLongRange,\n height?: number | ConstrainLongRange\n): MediaStreamConstraints {\n const preferredConstraints: MediaStreamConstraints = {\n audio: false,\n video: {},\n };\n\n if (hasValidConstraints(preferredCameraType, width, height)) {\n return MinimumConstraints;\n }\n\n const supports = getSupportedConstraints();\n // TODO(Bacon): Test this\n if (!supports || !supports.facingMode || !supports.width || !supports.height) {\n return MinimumConstraints;\n }\n\n if (preferredCameraType && Object.values(CameraType).includes(preferredCameraType)) {\n const facingMode = CameraTypeToFacingMode[preferredCameraType];\n if (isWebKit()) {\n const key = facingMode === 'user' ? 'exact' : 'ideal';\n (preferredConstraints.video as MediaTrackConstraints).facingMode = {\n [key]: facingMode,\n };\n } else {\n (preferredConstraints.video as MediaTrackConstraints).facingMode = {\n ideal: CameraTypeToFacingMode[preferredCameraType],\n };\n }\n }\n\n if (isMediaTrackConstraints(preferredConstraints.video)) {\n preferredConstraints.video.width = width;\n preferredConstraints.video.height = height;\n }\n\n return preferredConstraints;\n}\n\nfunction isMediaTrackConstraints(input: any): input is MediaTrackConstraints {\n return input && typeof input.video !== 'boolean';\n}\n\n/**\n * Invoke getStreamDevice a second time with the opposing camera type if the preferred type cannot be retrieved.\n *\n * @param preferredCameraType\n * @param preferredWidth\n * @param preferredHeight\n */\nexport async function getPreferredStreamDevice(\n preferredCameraType: CameraType,\n preferredWidth?: number | ConstrainLongRange,\n preferredHeight?: number | ConstrainLongRange\n): Promise {\n try {\n return await getStreamDevice(preferredCameraType, preferredWidth, preferredHeight);\n } catch (error) {\n // A hack on desktop browsers to ensure any camera is used.\n // eslint-disable-next-line no-undef\n if (error instanceof OverconstrainedError && error.constraint === 'facingMode') {\n const nextCameraType =\n preferredCameraType === CameraType.back ? CameraType.front : CameraType.back;\n return await getStreamDevice(nextCameraType, preferredWidth, preferredHeight);\n }\n throw error;\n }\n}\n\nexport async function getStreamDevice(\n preferredCameraType: CameraType,\n preferredWidth?: number | ConstrainLongRange,\n preferredHeight?: number | ConstrainLongRange\n): Promise {\n const constraints: MediaStreamConstraints = getIdealConstraints(\n preferredCameraType,\n preferredWidth,\n preferredHeight\n );\n const stream: MediaStream = await requestUserMediaAsync(constraints);\n return stream;\n}\n\nexport function isWebKit(): boolean {\n return /WebKit/.test(navigator.userAgent) && !/Edg/.test(navigator.userAgent);\n}\n\nexport function compareStreams(a: MediaStream | null, b: MediaStream | null): boolean {\n if (!a || !b) {\n return false;\n }\n const settingsA = a.getTracks()[0].getSettings();\n const settingsB = b.getTracks()[0].getSettings();\n return settingsA.deviceId === settingsB.deviceId;\n}\n\nexport function capture(\n video: HTMLVideoElement,\n settings: MediaTrackSettings,\n config: CameraPictureOptions\n): CapturedPicture {\n const base64 = captureImage(video, config);\n\n const capturedPicture: CapturedPicture = {\n uri: base64,\n base64,\n width: 0,\n height: 0,\n };\n\n if (settings) {\n const { width = 0, height = 0 } = settings;\n capturedPicture.width = width;\n capturedPicture.height = height;\n capturedPicture.exif = settings;\n }\n\n if (config.onPictureSaved) {\n config.onPictureSaved(capturedPicture);\n }\n return capturedPicture;\n}\n\nexport async function syncTrackCapabilities(\n cameraType: CameraType,\n stream: MediaStream | null,\n settings: WebCameraSettings = {}\n): Promise {\n if (stream?.getVideoTracks) {\n await Promise.all(\n stream.getVideoTracks().map((track) => onCapabilitiesReady(cameraType, track, settings))\n );\n }\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints\nasync function onCapabilitiesReady(\n cameraType: CameraType,\n track: MediaStreamTrack,\n settings: WebCameraSettings = {}\n): Promise {\n const capabilities = track.getCapabilities();\n\n // Create an empty object because if you set a constraint that isn't available an error will be thrown.\n const constraints: MediaTrackConstraintSet = {};\n\n // TODO(Bacon): Add `pointsOfInterest` support\n const clampedValues = [\n 'exposureCompensation',\n 'colorTemperature',\n 'iso',\n 'brightness',\n 'contrast',\n 'saturation',\n 'sharpness',\n 'focusDistance',\n 'zoom',\n ];\n\n for (const property of clampedValues) {\n if (capabilities[property]) {\n constraints[property] = convertNormalizedSetting(capabilities[property], settings[property]);\n }\n }\n\n function validatedInternalConstrainedValue(\n constraintKey: string,\n settingsKey: string,\n converter: (settingValue: any) => IConvertedType\n ) {\n const convertedSetting = converter(settings[settingsKey]);\n return validatedConstrainedValue({\n constraintKey,\n settingsKey,\n convertedSetting,\n capabilities,\n settings,\n cameraType,\n });\n }\n\n if (capabilities.focusMode && settings.autoFocus !== undefined) {\n constraints.focusMode = validatedInternalConstrainedValue(\n 'focusMode',\n 'autoFocus',\n CapabilityUtils.convertAutoFocusJSONToNative\n );\n }\n\n if (capabilities.torch && settings.flashMode !== undefined) {\n constraints.torch = validatedInternalConstrainedValue(\n 'torch',\n 'flashMode',\n CapabilityUtils.convertFlashModeJSONToNative\n );\n }\n\n if (capabilities.whiteBalanceMode && settings.whiteBalance !== undefined) {\n constraints.whiteBalanceMode = validatedInternalConstrainedValue<\n MediaTrackConstraintSet['whiteBalanceMode']\n >('whiteBalanceMode', 'whiteBalance', CapabilityUtils.convertWhiteBalanceJSONToNative);\n }\n\n try {\n await track.applyConstraints({ advanced: [constraints] });\n } catch (error) {\n if (__DEV__) console.warn('Failed to apply constraints', error);\n }\n}\n\nexport function stopMediaStream(stream: MediaStream | null) {\n if (!stream) {\n return;\n }\n if (stream.getAudioTracks) {\n stream.getAudioTracks().forEach((track) => track.stop());\n }\n if (stream.getVideoTracks) {\n stream.getVideoTracks().forEach((track) => track.stop());\n }\n if (isMediaStreamTrack(stream)) {\n stream.stop();\n }\n}\n\nexport function setVideoSource(\n video: HTMLVideoElement,\n stream: MediaStream | MediaSource | Blob | null\n): void {\n const createObjectURL = window.URL.createObjectURL ?? window.webkitURL.createObjectURL;\n\n if (typeof video.srcObject !== 'undefined') {\n video.srcObject = stream;\n } else if (typeof (video as any).mozSrcObject !== 'undefined') {\n (video as any).mozSrcObject = stream;\n } else if (stream && createObjectURL) {\n video.src = createObjectURL(stream);\n }\n\n if (!stream) {\n const revokeObjectURL = window.URL.revokeObjectURL ?? window.webkitURL.revokeObjectURL;\n const source = video.src ?? video.srcObject ?? (video as any).mozSrcObject;\n if (revokeObjectURL && typeof source === 'string') {\n revokeObjectURL(source);\n }\n }\n}\n\nexport function isCapabilityAvailable(video: HTMLVideoElement, keyName: string): boolean {\n const stream = video.srcObject;\n\n if (stream instanceof MediaStream) {\n const videoTrack = stream.getVideoTracks()[0];\n return videoTrack.getCapabilities?.()?.[keyName];\n }\n\n return false;\n}\n\nfunction isMediaStreamTrack(input: any): input is MediaStreamTrack {\n return typeof input.stop === 'function';\n}\n\nfunction convertNormalizedSetting(range: MediaSettingsRange, value?: number): number | undefined {\n if (!value) {\n return;\n }\n // convert the normalized incoming setting to the native camera zoom range\n const converted = convertRange(value, [range.min, range.max]);\n // clamp value so we don't get an error\n return Math.min(range.max, Math.max(range.min, converted));\n}\n\nfunction convertRange(value: number, r2: number[], r1: number[] = [0, 1]): number {\n return ((value - r1[0]) * (r2[1] - r2[0])) / (r1[1] - r1[0]) + r2[0];\n}\n\nfunction validatedConstrainedValue(props: {\n constraintKey: string;\n settingsKey: string;\n convertedSetting: T;\n capabilities: MediaTrackCapabilities;\n settings: WebCameraSettings;\n cameraType: string;\n}): T | undefined {\n const { constraintKey, settingsKey, convertedSetting, capabilities, settings, cameraType } =\n props;\n const setting = settings[settingsKey];\n if (\n Array.isArray(capabilities[constraintKey]) &&\n convertedSetting &&\n !capabilities[constraintKey].includes(convertedSetting)\n ) {\n if (__DEV__) {\n // Only warn in dev mode.\n console.warn(\n ` { ${settingsKey}: \"${setting}\" } (converted to \"${convertedSetting}\" in the browser) is not supported for camera type \"${cameraType}\" in your browser. Using the default value instead.`\n );\n }\n return undefined;\n }\n return convertedSetting;\n}\n"]} \ No newline at end of file +{"version":3,"file":"WebCameraUtils.js","sourceRoot":"","sources":["../src/WebCameraUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-env browser */\nimport invariant from 'invariant';\n\nimport {\n CameraType,\n CameraCapturedPicture,\n ImageSize,\n ImageType,\n WebCameraSettings,\n CameraPictureOptions,\n} from './Camera.types';\nimport * as CapabilityUtils from './WebCapabilityUtils';\nimport { CameraTypeToFacingMode, ImageTypeFormat, MinimumConstraints } from './WebConstants';\nimport { requestUserMediaAsync } from './WebUserMediaManager';\n\ninterface ConstrainLongRange {\n max?: number;\n min?: number;\n exact?: number;\n ideal?: number;\n}\n\nexport function getImageSize(videoWidth: number, videoHeight: number, scale: number): ImageSize {\n const width = videoWidth * scale;\n const ratio = videoWidth / width;\n const height = videoHeight / ratio;\n\n return {\n width,\n height,\n };\n}\n\nexport function toDataURL(\n canvas: HTMLCanvasElement,\n imageType: ImageType,\n quality: number\n): string {\n invariant(\n Object.values(ImageType).includes(imageType),\n `expo-camera: ${imageType} is not a valid ImageType. Expected a string from: ${Object.values(\n ImageType\n ).join(', ')}`\n );\n\n const format = ImageTypeFormat[imageType];\n if (imageType === ImageType.jpg) {\n invariant(\n quality <= 1 && quality >= 0,\n `expo-camera: ${quality} is not a valid image quality. Expected a number from 0...1`\n );\n return canvas.toDataURL(format, quality);\n } else {\n return canvas.toDataURL(format);\n }\n}\n\nexport function hasValidConstraints(\n preferredCameraType?: CameraType,\n width?: number | ConstrainLongRange,\n height?: number | ConstrainLongRange\n): boolean {\n return preferredCameraType !== undefined && width !== undefined && height !== undefined;\n}\n\nfunction ensureCameraPictureOptions(config: CameraPictureOptions): CameraPictureOptions {\n const captureOptions = {\n scale: 1,\n imageType: ImageType.png,\n isImageMirror: false,\n };\n\n for (const key in config) {\n if (key in config && config[key] !== undefined && key in captureOptions) {\n captureOptions[key] = config[key];\n }\n }\n return captureOptions;\n}\n\nconst DEFAULT_QUALITY = 0.92;\n\nexport function captureImageData(\n video: HTMLVideoElement | null,\n pictureOptions: Pick = {}\n): ImageData | null {\n if (!video || video.readyState !== video.HAVE_ENOUGH_DATA) {\n return null;\n }\n const canvas = captureImageContext(video, pictureOptions);\n\n const context = canvas.getContext('2d', { alpha: false });\n if (!context || !canvas.width || !canvas.height) {\n return null;\n }\n\n const imageData = context.getImageData(0, 0, canvas.width, canvas.height);\n return imageData;\n}\n\nexport function captureImageContext(\n video: HTMLVideoElement,\n { scale = 1, isImageMirror = false }: Pick\n): HTMLCanvasElement {\n const { videoWidth, videoHeight } = video;\n const { width, height } = getImageSize(videoWidth, videoHeight, scale!);\n\n // Build the canvas size and draw the camera image to the context from video\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const context = canvas.getContext('2d', { alpha: false });\n\n if (!context) {\n // Should never be called\n throw new Error('Context is not defined');\n }\n // sharp image details\n // context.imageSmoothingEnabled = false;\n\n // Flip horizontally (as css transform: rotateY(180deg))\n if (isImageMirror) {\n context.setTransform(-1, 0, 0, 1, canvas.width, 0);\n }\n\n context.drawImage(video, 0, 0, width, height);\n\n return canvas;\n}\n\nexport function captureImage(\n video: HTMLVideoElement,\n pictureOptions: CameraPictureOptions\n): string {\n const config = ensureCameraPictureOptions(pictureOptions);\n const canvas = captureImageContext(video, config);\n const { imageType, quality = DEFAULT_QUALITY } = config;\n return toDataURL(canvas, imageType!, quality);\n}\n\nfunction getSupportedConstraints(): MediaTrackSupportedConstraints | null {\n if (navigator.mediaDevices && navigator.mediaDevices.getSupportedConstraints) {\n return navigator.mediaDevices.getSupportedConstraints();\n }\n return null;\n}\n\nexport function getIdealConstraints(\n preferredCameraType: CameraType,\n width?: number | ConstrainLongRange,\n height?: number | ConstrainLongRange\n): MediaStreamConstraints {\n const preferredConstraints: MediaStreamConstraints = {\n audio: false,\n video: {},\n };\n\n if (hasValidConstraints(preferredCameraType, width, height)) {\n return MinimumConstraints;\n }\n\n const supports = getSupportedConstraints();\n // TODO(Bacon): Test this\n if (!supports || !supports.facingMode || !supports.width || !supports.height) {\n return MinimumConstraints;\n }\n\n if (preferredCameraType && Object.values(CameraType).includes(preferredCameraType)) {\n const facingMode = CameraTypeToFacingMode[preferredCameraType];\n if (isWebKit()) {\n const key = facingMode === 'user' ? 'exact' : 'ideal';\n (preferredConstraints.video as MediaTrackConstraints).facingMode = {\n [key]: facingMode,\n };\n } else {\n (preferredConstraints.video as MediaTrackConstraints).facingMode = {\n ideal: CameraTypeToFacingMode[preferredCameraType],\n };\n }\n }\n\n if (isMediaTrackConstraints(preferredConstraints.video)) {\n preferredConstraints.video.width = width;\n preferredConstraints.video.height = height;\n }\n\n return preferredConstraints;\n}\n\nfunction isMediaTrackConstraints(input: any): input is MediaTrackConstraints {\n return input && typeof input.video !== 'boolean';\n}\n\n/**\n * Invoke getStreamDevice a second time with the opposing camera type if the preferred type cannot be retrieved.\n *\n * @param preferredCameraType\n * @param preferredWidth\n * @param preferredHeight\n */\nexport async function getPreferredStreamDevice(\n preferredCameraType: CameraType,\n preferredWidth?: number | ConstrainLongRange,\n preferredHeight?: number | ConstrainLongRange\n): Promise {\n try {\n return await getStreamDevice(preferredCameraType, preferredWidth, preferredHeight);\n } catch (error) {\n // A hack on desktop browsers to ensure any camera is used.\n // eslint-disable-next-line no-undef\n if (error instanceof OverconstrainedError && error.constraint === 'facingMode') {\n const nextCameraType =\n preferredCameraType === CameraType.back ? CameraType.front : CameraType.back;\n return await getStreamDevice(nextCameraType, preferredWidth, preferredHeight);\n }\n throw error;\n }\n}\n\nexport async function getStreamDevice(\n preferredCameraType: CameraType,\n preferredWidth?: number | ConstrainLongRange,\n preferredHeight?: number | ConstrainLongRange\n): Promise {\n const constraints: MediaStreamConstraints = getIdealConstraints(\n preferredCameraType,\n preferredWidth,\n preferredHeight\n );\n const stream: MediaStream = await requestUserMediaAsync(constraints);\n return stream;\n}\n\nexport function isWebKit(): boolean {\n return /WebKit/.test(navigator.userAgent) && !/Edg/.test(navigator.userAgent);\n}\n\nexport function compareStreams(a: MediaStream | null, b: MediaStream | null): boolean {\n if (!a || !b) {\n return false;\n }\n const settingsA = a.getTracks()[0].getSettings();\n const settingsB = b.getTracks()[0].getSettings();\n return settingsA.deviceId === settingsB.deviceId;\n}\n\nexport function capture(\n video: HTMLVideoElement,\n settings: MediaTrackSettings,\n config: CameraPictureOptions\n): CameraCapturedPicture {\n const base64 = captureImage(video, config);\n\n const capturedPicture: CameraCapturedPicture = {\n uri: base64,\n base64,\n width: 0,\n height: 0,\n };\n\n if (settings) {\n const { width = 0, height = 0 } = settings;\n capturedPicture.width = width;\n capturedPicture.height = height;\n capturedPicture.exif = settings;\n }\n\n if (config.onPictureSaved) {\n config.onPictureSaved(capturedPicture);\n }\n return capturedPicture;\n}\n\nexport async function syncTrackCapabilities(\n cameraType: CameraType,\n stream: MediaStream | null,\n settings: WebCameraSettings = {}\n): Promise {\n if (stream?.getVideoTracks) {\n await Promise.all(\n stream.getVideoTracks().map((track) => onCapabilitiesReady(cameraType, track, settings))\n );\n }\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints\nasync function onCapabilitiesReady(\n cameraType: CameraType,\n track: MediaStreamTrack,\n settings: WebCameraSettings = {}\n): Promise {\n const capabilities = track.getCapabilities();\n\n // Create an empty object because if you set a constraint that isn't available an error will be thrown.\n const constraints: MediaTrackConstraintSet = {};\n\n // TODO(Bacon): Add `pointsOfInterest` support\n const clampedValues = [\n 'exposureCompensation',\n 'colorTemperature',\n 'iso',\n 'brightness',\n 'contrast',\n 'saturation',\n 'sharpness',\n 'focusDistance',\n 'zoom',\n ];\n\n for (const property of clampedValues) {\n if (capabilities[property]) {\n constraints[property] = convertNormalizedSetting(capabilities[property], settings[property]);\n }\n }\n\n function validatedInternalConstrainedValue(\n constraintKey: string,\n settingsKey: string,\n converter: (settingValue: any) => IConvertedType\n ) {\n const convertedSetting = converter(settings[settingsKey]);\n return validatedConstrainedValue({\n constraintKey,\n settingsKey,\n convertedSetting,\n capabilities,\n settings,\n cameraType,\n });\n }\n\n if (capabilities.focusMode && settings.autoFocus !== undefined) {\n constraints.focusMode = validatedInternalConstrainedValue(\n 'focusMode',\n 'autoFocus',\n CapabilityUtils.convertAutoFocusJSONToNative\n );\n }\n\n if (capabilities.torch && settings.flashMode !== undefined) {\n constraints.torch = validatedInternalConstrainedValue(\n 'torch',\n 'flashMode',\n CapabilityUtils.convertFlashModeJSONToNative\n );\n }\n\n if (capabilities.whiteBalanceMode && settings.whiteBalance !== undefined) {\n constraints.whiteBalanceMode = validatedInternalConstrainedValue<\n MediaTrackConstraintSet['whiteBalanceMode']\n >('whiteBalanceMode', 'whiteBalance', CapabilityUtils.convertWhiteBalanceJSONToNative);\n }\n\n try {\n await track.applyConstraints({ advanced: [constraints] });\n } catch (error) {\n if (__DEV__) console.warn('Failed to apply constraints', error);\n }\n}\n\nexport function stopMediaStream(stream: MediaStream | null) {\n if (!stream) {\n return;\n }\n if (stream.getAudioTracks) {\n stream.getAudioTracks().forEach((track) => track.stop());\n }\n if (stream.getVideoTracks) {\n stream.getVideoTracks().forEach((track) => track.stop());\n }\n if (isMediaStreamTrack(stream)) {\n stream.stop();\n }\n}\n\nexport function setVideoSource(\n video: HTMLVideoElement,\n stream: MediaStream | MediaSource | Blob | null\n): void {\n const createObjectURL = window.URL.createObjectURL ?? window.webkitURL.createObjectURL;\n\n if (typeof video.srcObject !== 'undefined') {\n video.srcObject = stream;\n } else if (typeof (video as any).mozSrcObject !== 'undefined') {\n (video as any).mozSrcObject = stream;\n } else if (stream && createObjectURL) {\n video.src = createObjectURL(stream as MediaSource | Blob);\n }\n\n if (!stream) {\n const revokeObjectURL = window.URL.revokeObjectURL ?? window.webkitURL.revokeObjectURL;\n const source = video.src ?? video.srcObject ?? (video as any).mozSrcObject;\n if (revokeObjectURL && typeof source === 'string') {\n revokeObjectURL(source);\n }\n }\n}\n\nexport function isCapabilityAvailable(video: HTMLVideoElement, keyName: string): boolean {\n const stream = video.srcObject;\n\n if (stream instanceof MediaStream) {\n const videoTrack = stream.getVideoTracks()[0];\n return videoTrack.getCapabilities?.()?.[keyName];\n }\n\n return false;\n}\n\nfunction isMediaStreamTrack(input: any): input is MediaStreamTrack {\n return typeof input.stop === 'function';\n}\n\nfunction convertNormalizedSetting(range: MediaSettingsRange, value?: number): number | undefined {\n if (!value) {\n return;\n }\n // convert the normalized incoming setting to the native camera zoom range\n const converted = convertRange(value, [range.min, range.max]);\n // clamp value so we don't get an error\n return Math.min(range.max, Math.max(range.min, converted));\n}\n\nfunction convertRange(value: number, r2: number[], r1: number[] = [0, 1]): number {\n return ((value - r1[0]) * (r2[1] - r2[0])) / (r1[1] - r1[0]) + r2[0];\n}\n\nfunction validatedConstrainedValue(props: {\n constraintKey: string;\n settingsKey: string;\n convertedSetting: T;\n capabilities: MediaTrackCapabilities;\n settings: WebCameraSettings;\n cameraType: string;\n}): T | undefined {\n const { constraintKey, settingsKey, convertedSetting, capabilities, settings, cameraType } =\n props;\n const setting = settings[settingsKey];\n if (\n Array.isArray(capabilities[constraintKey]) &&\n convertedSetting &&\n !capabilities[constraintKey].includes(convertedSetting)\n ) {\n if (__DEV__) {\n // Only warn in dev mode.\n console.warn(\n ` { ${settingsKey}: \"${setting}\" } (converted to \"${convertedSetting}\" in the browser) is not supported for camera type \"${cameraType}\" in your browser. Using the default value instead.`\n );\n }\n return undefined;\n }\n return convertedSetting;\n}\n"]} \ No newline at end of file diff --git a/packages/expo-camera/build/WebCapabilityUtils.d.ts b/packages/expo-camera/build/WebCapabilityUtils.d.ts index f44a996ed7ce79..31dbb18db158fe 100644 --- a/packages/expo-camera/build/WebCapabilityUtils.d.ts +++ b/packages/expo-camera/build/WebCapabilityUtils.d.ts @@ -1,3 +1,4 @@ export declare function convertFlashModeJSONToNative(input: string): boolean; export declare function convertWhiteBalanceJSONToNative(input: string): MeteringMode | undefined; export declare function convertAutoFocusJSONToNative(input: string): MeteringMode | undefined; +//# sourceMappingURL=WebCapabilityUtils.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/WebCapabilityUtils.d.ts.map b/packages/expo-camera/build/WebCapabilityUtils.d.ts.map new file mode 100644 index 00000000000000..e4c3199a9fdddc --- /dev/null +++ b/packages/expo-camera/build/WebCapabilityUtils.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"WebCapabilityUtils.d.ts","sourceRoot":"","sources":["../src/WebCapabilityUtils.ts"],"names":[],"mappings":"AAGA,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAUnE;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAYvF;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAYpF"} \ No newline at end of file diff --git a/packages/expo-camera/build/WebConstants.d.ts b/packages/expo-camera/build/WebConstants.d.ts index ea955dbe2dc1aa..c0d31e09daff6f 100644 --- a/packages/expo-camera/build/WebConstants.d.ts +++ b/packages/expo-camera/build/WebConstants.d.ts @@ -20,3 +20,4 @@ export declare const FacingModeToCameraType: { user: CameraType; environment: CameraType; }; +//# sourceMappingURL=WebConstants.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/WebConstants.d.ts.map b/packages/expo-camera/build/WebConstants.d.ts.map new file mode 100644 index 00000000000000..d340a5c90a4ead --- /dev/null +++ b/packages/expo-camera/build/WebConstants.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"WebConstants.d.ts","sourceRoot":"","sources":["../src/WebConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,gBAAgB,CAAC;AAGvD,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AAEF,eAAO,MAAM,YAAY,UAAmC,CAAC;AAE7D,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,sBAGhC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;CAGlC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;CAGlC,CAAC"} \ No newline at end of file diff --git a/packages/expo-camera/build/WebUserMediaManager.d.ts b/packages/expo-camera/build/WebUserMediaManager.d.ts index 8705603b0562d5..068d78d35436e4 100644 --- a/packages/expo-camera/build/WebUserMediaManager.d.ts +++ b/packages/expo-camera/build/WebUserMediaManager.d.ts @@ -9,3 +9,4 @@ export declare function getUserMediaAsync(constraints: MediaStreamConstraints): export declare function canGetUserMedia(): boolean; export declare function isFrontCameraAvailableAsync(devices?: MediaDeviceInfo[]): Promise; export declare function isBackCameraAvailableAsync(devices?: MediaDeviceInfo[]): Promise; +//# sourceMappingURL=WebUserMediaManager.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/WebUserMediaManager.d.ts.map b/packages/expo-camera/build/WebUserMediaManager.d.ts.map new file mode 100644 index 00000000000000..2be108f6836f73 --- /dev/null +++ b/packages/expo-camera/build/WebUserMediaManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"WebUserMediaManager.d.ts","sourceRoot":"","sources":["../src/WebUserMediaManager.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,EAAE,OAAe,CAAC;AAEjD,eAAO,MAAM,gBAAgB,EAAE,GAAG,EAAO,CAAC;AAoE1C,wBAAsB,qBAAqB,CACzC,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAE,EACnC,OAAO,GAAE,OAAc,GACtB,OAAO,CAAC,WAAW,CAAC,CAMtB;AAED,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,sBAAsB,EACnC,iBAAiB,GAAE,OAAe,GACjC,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAUjG;AAED,wBAAgB,eAAe,IAAI,OAAO,CAYzC;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,CAAC,EAAE,eAAe,EAAE,GAC1B,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAExB;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,CAAC,EAAE,eAAe,EAAE,GAC1B,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAExB"} \ No newline at end of file diff --git a/packages/expo-camera/build/index.d.ts b/packages/expo-camera/build/index.d.ts index af323761c4d32e..adde01cf41ed6c 100644 --- a/packages/expo-camera/build/index.d.ts +++ b/packages/expo-camera/build/index.d.ts @@ -1,2 +1,4 @@ export { default as Camera } from './Camera'; -export { Constants, getPermissionsAsync, requestPermissionsAsync, getCameraPermissionsAsync, requestCameraPermissionsAsync, getMicrophonePermissionsAsync, requestMicrophonePermissionsAsync, CameraCapturedPicture, CameraNativeProps, CameraPictureOptions, CameraProps, CameraRecordingOptions, PermissionResponse, PermissionStatus, PermissionExpiration, BarCodeScanningResult, FaceDetectionResult, CameraMountError, } from './Camera'; +export { Constants, getPermissionsAsync, requestPermissionsAsync, getCameraPermissionsAsync, requestCameraPermissionsAsync, getMicrophonePermissionsAsync, requestMicrophonePermissionsAsync, } from './Camera'; +export { BarCodePoint, BarCodeScanningResult, CameraCapturedPicture, CameraMountError, CameraNativeProps, CameraPictureOptions, CameraProps, CameraRecordingOptions, ConstantsType, FaceDetectionResult, PermissionResponse, PermissionStatus, PermissionExpiration, Point, AutoFocus, FlashMode, CameraType, VideoCodec, VideoQuality, VideoStabilization, WhiteBalance, } from './Camera.types'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/index.d.ts.map b/packages/expo-camera/build/index.d.ts.map new file mode 100644 index 00000000000000..c9536b0a1684ff --- /dev/null +++ b/packages/expo-camera/build/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,GACb,MAAM,gBAAgB,CAAC"} \ No newline at end of file diff --git a/packages/expo-camera/build/index.js b/packages/expo-camera/build/index.js index 0ecb9a20330807..92d572092a5d6a 100644 --- a/packages/expo-camera/build/index.js +++ b/packages/expo-camera/build/index.js @@ -1,3 +1,4 @@ export { default as Camera } from './Camera'; -export { Constants, getPermissionsAsync, requestPermissionsAsync, getCameraPermissionsAsync, requestCameraPermissionsAsync, getMicrophonePermissionsAsync, requestMicrophonePermissionsAsync, PermissionStatus, } from './Camera'; +export { Constants, getPermissionsAsync, requestPermissionsAsync, getCameraPermissionsAsync, requestCameraPermissionsAsync, getMicrophonePermissionsAsync, requestMicrophonePermissionsAsync, } from './Camera'; +export { PermissionStatus, AutoFocus, FlashMode, CameraType, VideoCodec, VideoQuality, VideoStabilization, WhiteBalance, } from './Camera.types'; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/expo-camera/build/index.js.map b/packages/expo-camera/build/index.js.map index 1460a42fdc6b78..c9a870fb50c6b0 100644 --- a/packages/expo-camera/build/index.js.map +++ b/packages/expo-camera/build/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,EAOjC,gBAAgB,GAKjB,MAAM,UAAU,CAAC","sourcesContent":["export { default as Camera } from './Camera';\nexport {\n Constants,\n getPermissionsAsync,\n requestPermissionsAsync,\n getCameraPermissionsAsync,\n requestCameraPermissionsAsync,\n getMicrophonePermissionsAsync,\n requestMicrophonePermissionsAsync,\n CameraCapturedPicture,\n CameraNativeProps,\n CameraPictureOptions,\n CameraProps,\n CameraRecordingOptions,\n PermissionResponse,\n PermissionStatus,\n PermissionExpiration,\n BarCodeScanningResult,\n FaceDetectionResult,\n CameraMountError,\n} from './Camera';\n"]} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,UAAU,CAAC;AAElB,OAAO,EAYL,gBAAgB,EAGhB,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,GACb,MAAM,gBAAgB,CAAC","sourcesContent":["export { default as Camera } from './Camera';\nexport {\n Constants,\n getPermissionsAsync,\n requestPermissionsAsync,\n getCameraPermissionsAsync,\n requestCameraPermissionsAsync,\n getMicrophonePermissionsAsync,\n requestMicrophonePermissionsAsync,\n} from './Camera';\n\nexport {\n BarCodePoint,\n BarCodeScanningResult,\n CameraCapturedPicture,\n CameraMountError,\n CameraNativeProps,\n CameraPictureOptions,\n CameraProps,\n CameraRecordingOptions,\n ConstantsType,\n FaceDetectionResult,\n PermissionResponse,\n PermissionStatus,\n PermissionExpiration,\n Point,\n AutoFocus,\n FlashMode,\n CameraType,\n VideoCodec,\n VideoQuality,\n VideoStabilization,\n WhiteBalance,\n} from './Camera.types';\n"]} \ No newline at end of file diff --git a/packages/expo-camera/build/useWebCameraStream.d.ts b/packages/expo-camera/build/useWebCameraStream.d.ts index fc7db79c6dbe9b..374d9d664ba6a5 100644 --- a/packages/expo-camera/build/useWebCameraStream.d.ts +++ b/packages/expo-camera/build/useWebCameraStream.d.ts @@ -7,3 +7,4 @@ export declare function useWebCameraStream(video: React.MutableRefObject, { isEnabled, captureOptions, interval, onScanned, onError, }: { isEnabled: boolean; captureOptions: Pick; @@ -10,3 +9,4 @@ export declare function useWebQRScanner(video: React.MutableRefObject void; onError?: MountErrorListener; }): void; +//# sourceMappingURL=useWebQRScanner.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/useWebQRScanner.d.ts.map b/packages/expo-camera/build/useWebQRScanner.d.ts.map new file mode 100644 index 00000000000000..e1a57df42bcbd2 --- /dev/null +++ b/packages/expo-camera/build/useWebQRScanner.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useWebQRScanner.d.ts","sourceRoot":"","sources":["../src/useWebQRScanner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAyCjG,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,EACtD,EACE,SAAS,EACT,cAAc,EACd,QAAQ,EACR,SAAS,EACT,OAAO,GACR,EAAE;IACD,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,eAAe,CAAC,CAAC;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE;QAAE,WAAW,EAAE,qBAAqB,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7E,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,QA8DF"} \ No newline at end of file diff --git a/packages/expo-camera/build/useWebQRScanner.js.map b/packages/expo-camera/build/useWebQRScanner.js.map index e8ce79ab5683a0..15b7a5d946014c 100644 --- a/packages/expo-camera/build/useWebQRScanner.js.map +++ b/packages/expo-camera/build/useWebQRScanner.js.map @@ -1 +1 @@ -{"version":3,"file":"useWebQRScanner.js","sourceRoot":"","sources":["../src/useWebQRScanner.ts"],"names":[],"mappings":"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","sourcesContent":["import { useWorker } from '@koale/useworker';\nimport * as React from 'react';\n\nimport { CameraPictureOptions } from './Camera';\nimport { BarCodeScanningResult, MountErrorListener } from './Camera.types';\nimport { captureImageData } from './WebCameraUtils';\n\nconst qrWorkerMethod = ({ data, width, height }: ImageData): any => {\n // eslint-disable-next-line no-undef\n const decoded = (self as any).jsQR(data, width, height, {\n inversionAttempts: 'dontInvert',\n });\n\n let parsed;\n try {\n parsed = JSON.parse(decoded);\n } catch (err) {\n parsed = decoded;\n }\n\n if (parsed?.data) {\n const nativeEvent: BarCodeScanningResult = {\n type: 'qr',\n data: parsed.data,\n };\n if (parsed.location) {\n nativeEvent.cornerPoints = [\n parsed.location.topLeftCorner,\n parsed.location.bottomLeftCorner,\n parsed.location.topRightCorner,\n parsed.location.bottomRightCorner,\n ];\n }\n return nativeEvent;\n }\n return parsed;\n};\n\nfunction useRemoteJsQR() {\n return useWorker(qrWorkerMethod, {\n remoteDependencies: ['https://cdn.jsdelivr.net/npm/jsqr@1.2.0/dist/jsQR.min.js'],\n timeout: 5000,\n });\n}\n\nexport function useWebQRScanner(\n video: React.MutableRefObject,\n {\n isEnabled,\n captureOptions,\n interval,\n onScanned,\n onError,\n }: {\n isEnabled: boolean;\n captureOptions: Pick;\n interval?: number;\n onScanned?: (scanningResult: { nativeEvent: BarCodeScanningResult }) => void;\n onError?: MountErrorListener;\n }\n) {\n const isRunning = React.useRef(false);\n const timeout = React.useRef(undefined);\n\n const [decode, clearWorker] = useRemoteJsQR();\n\n async function scanAsync() {\n // If interval is 0 then only scan once.\n if (!isRunning.current || !onScanned) {\n stop();\n return;\n }\n try {\n const data = captureImageData(video.current, captureOptions);\n\n if (data) {\n const nativeEvent: BarCodeScanningResult | any = await decode(data);\n if (nativeEvent?.data) {\n onScanned({\n nativeEvent,\n });\n }\n }\n } catch (error) {\n if (onError) {\n onError({ nativeEvent: error });\n }\n } finally {\n // If interval is 0 then only scan once.\n if (interval === 0) {\n stop();\n return;\n }\n const intervalToUse = !interval || interval < 0 ? 16 : interval;\n // @ts-ignore: Type 'Timeout' is not assignable to type 'number'\n timeout.current = setTimeout(() => {\n scanAsync();\n }, intervalToUse);\n }\n }\n\n function stop() {\n isRunning.current = false;\n clearTimeout(timeout.current);\n }\n\n React.useEffect(() => {\n if (isEnabled) {\n isRunning.current = true;\n scanAsync();\n } else {\n stop();\n }\n }, [isEnabled]);\n\n React.useEffect(() => {\n return () => {\n stop();\n clearWorker.kill();\n };\n }, []);\n}\n"]} \ No newline at end of file +{"version":3,"file":"useWebQRScanner.js","sourceRoot":"","sources":["../src/useWebQRScanner.ts"],"names":[],"mappings":"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","sourcesContent":["import { useWorker } from '@koale/useworker';\nimport * as React from 'react';\n\nimport { BarCodeScanningResult, CameraPictureOptions, MountErrorListener } from './Camera.types';\nimport { captureImageData } from './WebCameraUtils';\n\nconst qrWorkerMethod = ({ data, width, height }: ImageData): any => {\n // eslint-disable-next-line no-undef\n const decoded = (self as any).jsQR(data, width, height, {\n inversionAttempts: 'dontInvert',\n });\n\n let parsed;\n try {\n parsed = JSON.parse(decoded);\n } catch (err) {\n parsed = decoded;\n }\n\n if (parsed?.data) {\n const nativeEvent: BarCodeScanningResult = {\n type: 'qr',\n data: parsed.data,\n };\n if (parsed.location) {\n nativeEvent.cornerPoints = [\n parsed.location.topLeftCorner,\n parsed.location.bottomLeftCorner,\n parsed.location.topRightCorner,\n parsed.location.bottomRightCorner,\n ];\n }\n return nativeEvent;\n }\n return parsed;\n};\n\nfunction useRemoteJsQR() {\n return useWorker(qrWorkerMethod, {\n remoteDependencies: ['https://cdn.jsdelivr.net/npm/jsqr@1.2.0/dist/jsQR.min.js'],\n timeout: 5000,\n });\n}\n\nexport function useWebQRScanner(\n video: React.MutableRefObject,\n {\n isEnabled,\n captureOptions,\n interval,\n onScanned,\n onError,\n }: {\n isEnabled: boolean;\n captureOptions: Pick;\n interval?: number;\n onScanned?: (scanningResult: { nativeEvent: BarCodeScanningResult }) => void;\n onError?: MountErrorListener;\n }\n) {\n const isRunning = React.useRef(false);\n const timeout = React.useRef(undefined);\n\n const [decode, clearWorker] = useRemoteJsQR();\n\n async function scanAsync() {\n // If interval is 0 then only scan once.\n if (!isRunning.current || !onScanned) {\n stop();\n return;\n }\n try {\n const data = captureImageData(video.current, captureOptions);\n\n if (data) {\n const nativeEvent: BarCodeScanningResult | any = await decode(data);\n if (nativeEvent?.data) {\n onScanned({\n nativeEvent,\n });\n }\n }\n } catch (error) {\n if (onError) {\n onError({ nativeEvent: error });\n }\n } finally {\n // If interval is 0 then only scan once.\n if (interval === 0) {\n stop();\n return;\n }\n const intervalToUse = !interval || interval < 0 ? 16 : interval;\n // @ts-ignore: Type 'Timeout' is not assignable to type 'number'\n timeout.current = setTimeout(() => {\n scanAsync();\n }, intervalToUse);\n }\n }\n\n function stop() {\n isRunning.current = false;\n clearTimeout(timeout.current);\n }\n\n React.useEffect(() => {\n if (isEnabled) {\n isRunning.current = true;\n scanAsync();\n } else {\n stop();\n }\n }, [isEnabled]);\n\n React.useEffect(() => {\n return () => {\n stop();\n clearWorker.kill();\n };\n }, []);\n}\n"]} \ No newline at end of file diff --git a/packages/expo-camera/build/utils/props.d.ts b/packages/expo-camera/build/utils/props.d.ts index c014eccf5111c7..0e439d77dfe7ac 100644 --- a/packages/expo-camera/build/utils/props.d.ts +++ b/packages/expo-camera/build/utils/props.d.ts @@ -7,3 +7,4 @@ export declare const ConversionTables: { }; export declare function convertNativeProps(props?: CameraProps): CameraNativeProps; export declare function ensureNativeProps(props?: CameraProps): CameraNativeProps; +//# sourceMappingURL=props.d.ts.map \ No newline at end of file diff --git a/packages/expo-camera/build/utils/props.d.ts.map b/packages/expo-camera/build/utils/props.d.ts.map new file mode 100644 index 00000000000000..fd6e55102f92e6 --- /dev/null +++ b/packages/expo-camera/build/utils/props.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/utils/props.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAIzB,eAAO,MAAM,gBAAgB,EAAE;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,OAAO,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,SAAS,EAAE,MAAM,CAAC,MAAM,OAAO,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1E,SAAS,EAAE,MAAM,CAAC,MAAM,OAAO,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1E,YAAY,EAAE,MAAM,CAAC,MAAM,OAAO,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;CAMpF,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAgBzE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAqBxE"} \ No newline at end of file diff --git a/packages/expo-camera/plugin/src/withCamera.ts b/packages/expo-camera/plugin/src/withCamera.ts index 11264b570e214a..bd39c49b720ae2 100644 --- a/packages/expo-camera/plugin/src/withCamera.ts +++ b/packages/expo-camera/plugin/src/withCamera.ts @@ -78,10 +78,12 @@ function appendContents({ return { contents: src, didClear: false, didMerge: false }; } -const withCamera: ConfigPlugin<{ - cameraPermission?: string; - microphonePermission?: string; -} | void> = (config, { cameraPermission, microphonePermission } = {}) => { +const withCamera: ConfigPlugin< + { + cameraPermission?: string; + microphonePermission?: string; + } | void +> = (config, { cameraPermission, microphonePermission } = {}) => { config = withInfoPlist(config, (config) => { config.modResults.NSCameraUsageDescription = cameraPermission || config.modResults.NSCameraUsageDescription || CAMERA_USAGE; diff --git a/packages/expo-camera/src/Camera.tsx b/packages/expo-camera/src/Camera.tsx index da33c274006614..5b122a168ebc04 100644 --- a/packages/expo-camera/src/Camera.tsx +++ b/packages/expo-camera/src/Camera.tsx @@ -3,18 +3,13 @@ import * as React from 'react'; import { findNodeHandle } from 'react-native'; import { - BarCodeScanningResult, CameraCapturedPicture, - CameraMountError, - CameraNativeProps, CameraPictureOptions, CameraProps, CameraRecordingOptions, + CameraType, ConstantsType, - FaceDetectionResult, - PermissionExpiration, PermissionResponse, - PermissionStatus, VideoCodec, } from './Camera.types'; import ExponentCamera from './ExponentCamera'; @@ -69,6 +64,12 @@ function _onPictureSaved({ } export default class Camera extends React.Component { + /** + * Check whether the current device has a camera. This is useful for web and simulators cases. + * This isn't influenced by the Permissions API (all platforms), or HTTP usage (in the browser). + * You will still need to check if the native permission has been accepted. + * @platform web + */ static async isAvailableAsync(): Promise { if (!CameraManager.isAvailableAsync) { throw new UnavailabilityError('expo-camera', 'isAvailableAsync'); @@ -77,7 +78,11 @@ export default class Camera extends React.Component { return await CameraManager.isAvailableAsync(); } - static async getAvailableCameraTypesAsync(): Promise<('front' | 'back')[]> { + /** + * Returns a list of camera types `['front', 'back']`. This is useful for desktop browsers which only have front-facing cameras. + * @platform web + */ + static async getAvailableCameraTypesAsync(): Promise { if (!CameraManager.getAvailableCameraTypesAsync) { throw new UnavailabilityError('expo-camera', 'getAvailableCameraTypesAsync'); } @@ -85,7 +90,13 @@ export default class Camera extends React.Component { return await CameraManager.getAvailableCameraTypesAsync(); } - static async getAvailableVideoCodecsAsync(): Promise { + // @needsAudit + /** + * Queries the device for the available video codecs that can be used in video recording. + * @return A promise that resolves to a list of strings that represents available codecs. + * @platform ios + */ + static async getAvailableVideoCodecsAsync(): Promise { if (!CameraManager.getAvailableVideoCodecsAsync) { throw new UnavailabilityError('Camera', 'getAvailableVideoCodecsAsync'); } @@ -117,8 +128,10 @@ export default class Camera extends React.Component { whiteBalance: CameraManager.WhiteBalance.auto, }; + // @needsAudit /** - * @deprecated Use `getCameraPermissionsAync` or `getMicrophonePermissionsAsync` instead. + * @deprecated Deprecated. Use `getCameraPermissionsAsync` or `getMicrophonePermissionsAsync` instead. + * Checks user's permissions for accessing camera. */ static async getPermissionsAsync(): Promise { console.warn( @@ -127,7 +140,11 @@ export default class Camera extends React.Component { return CameraManager.getPermissionsAsync(); } + // @needsAudit /** + * Asks the user to grant permissions for accessing camera. + * On iOS this will require apps to specify both `NSCameraUsageDescription` and `NSMicrophoneUsageDescription` entries in the **Info.plist**. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). * @deprecated Use `requestCameraPermissionsAsync` or `requestMicrophonePermissionsAsync` instead. */ static async requestPermissionsAsync(): Promise { @@ -137,10 +154,21 @@ export default class Camera extends React.Component { return CameraManager.requestPermissionsAsync(); } + // @needsAudit + /** + * Checks user's permissions for accessing camera. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static async getCameraPermissionsAsync(): Promise { return CameraManager.getCameraPermissionsAsync(); } + // @needsAudit + /** + * Asks the user to grant permissions for accessing camera. + * On iOS this will require apps to specify an `NSCameraUsageDescription` entry in the **Info.plist**. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static async requestCameraPermissionsAsync(): Promise { return CameraManager.requestCameraPermissionsAsync(); } @@ -160,10 +188,21 @@ export default class Camera extends React.Component { requestMethod: Camera.requestCameraPermissionsAsync, }); + // @needsAudit + /** + * Checks user's permissions for accessing microphone. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static async getMicrophonePermissionsAsync(): Promise { return CameraManager.getMicrophonePermissionsAsync(); } + // @needsAudit + /** + * Asks the user to grant permissions for accessing the microphone. + * On iOS this will require apps to specify an `NSMicrophoneUsageDescription` entry in the **Info.plist**. + * @return A promise that resolves to an object of type [PermissionResponse](#permissionresponse). + */ static async requestMicrophonePermissionsAsync(): Promise { return CameraManager.requestMicrophonePermissionsAsync(); } @@ -188,12 +227,38 @@ export default class Camera extends React.Component { _lastEvents: { [eventName: string]: string } = {}; _lastEventsTimes: { [eventName: string]: Date } = {}; + // @needsAudit + /** + * Takes a picture and saves it to app's cache directory. Photos are rotated to match device's orientation + * (if `options.skipProcessing` flag is not enabled) and scaled to match the preview. Anyway on Android it is essential + * to set ratio prop to get a picture with correct dimensions. + * > **Note**: Make sure to wait for the [`onCameraReady`](#oncameraready) callback before calling this method. + * @param options An object in form of `CameraPictureOptions` type. + * @return Returns a Promise that resolves to `CameraCapturedPicture` object, where `uri` is a URI to the local image file on iOS, + * Android, and a base64 string on web (usable as the source for an `Image` element). The `width` and `height` properties specify + * the dimensions of the image. `base64` is included if the `base64` option was truthy, and is a string containing the JPEG data + * of the image in Base64--prepend that with `'data:image/jpg;base64,'` to get a data URI, which you can use as the source + * for an `Image` element for example. `exif` is included if the `exif` option was truthy, and is an object containing EXIF + * data for the image--the names of its properties are EXIF tags and their values are the values for those tags. + * + * > On native platforms, the local image URI is temporary. Use [`FileSystem.copyAsync`](filesystem.md#filesystemcopyasyncoptions) + * > to make a permanent copy of the image. + * + * > On web, the `uri` is a base64 representation of the image because file system URLs are not supported in the browser. + * > The `exif` data returned on web is a partial representation of the [`MediaTrackSettings`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings), + * > if available. + */ async takePictureAsync(options?: CameraPictureOptions): Promise { const pictureOptions = ensurePictureOptions(options); return await CameraManager.takePicture(pictureOptions, this._cameraHandle); } + /** + * Get aspect ratios that are supported by the device and can be passed via `ratio` prop. + * @return Returns a Promise that resolves to an array of strings representing ratios, eg. `['4:3', '1:1']`. + * @platform android + */ async getSupportedRatiosAsync(): Promise { if (!CameraManager.getSupportedRatios) { throw new UnavailabilityError('Camera', 'getSupportedRatiosAsync'); @@ -202,6 +267,12 @@ export default class Camera extends React.Component { return await CameraManager.getSupportedRatios(this._cameraHandle); } + /** + * Get picture sizes that are supported by the device for given `ratio`. + * @param ratio A string representing aspect ratio of sizes to be returned. + * @return Returns a Promise that resolves to an array of strings representing picture sizes that can be passed to `pictureSize` prop. + * The list varies across Android devices but is the same for every iOS. + */ async getAvailablePictureSizesAsync(ratio?: string): Promise { if (!CameraManager.getAvailablePictureSizes) { throw new UnavailabilityError('Camera', 'getAvailablePictureSizesAsync'); @@ -209,9 +280,16 @@ export default class Camera extends React.Component { return await CameraManager.getAvailablePictureSizes(ratio, this._cameraHandle); } - async recordAsync( - options?: CameraRecordingOptions - ): Promise<{ uri: string; codec?: VideoCodec }> { + /** + * Starts recording a video that will be saved to cache directory. Videos are rotated to match device's orientation. + * Flipping camera during a recording results in stopping it. + * @param options A map of `CameraRecordingOptions` type. + * @return Returns a Promise that resolves to an object containing video file `uri` property and a `codec` property on iOS. + * The Promise is returned if `stopRecording` was invoked, one of `maxDuration` and `maxFileSize` is reached or camera preview is stopped. + * @platform android + * @platform ios + */ + async recordAsync(options?: CameraRecordingOptions): Promise<{ uri: string }> { if (!CameraManager.record) { throw new UnavailabilityError('Camera', 'recordAsync'); } @@ -220,6 +298,9 @@ export default class Camera extends React.Component { return await CameraManager.record(recordingOptions, this._cameraHandle); } + /** + * Stops recording if any is in progress. + */ stopRecording() { if (!CameraManager.stopRecording) { throw new UnavailabilityError('Camera', 'stopRecording'); @@ -228,6 +309,9 @@ export default class Camera extends React.Component { CameraManager.stopRecording(this._cameraHandle); } + /** + * Pauses the camera preview. It is not recommended to use `takePictureAsync` when preview is paused. + */ pausePreview() { if (!CameraManager.pausePreview) { throw new UnavailabilityError('Camera', 'pausePreview'); @@ -236,6 +320,9 @@ export default class Camera extends React.Component { CameraManager.pausePreview(this._cameraHandle); } + /** + * Resumes the camera preview. + */ resumePreview() { if (!CameraManager.resumePreview) { throw new UnavailabilityError('Camera', 'resumePreview'); @@ -322,17 +409,3 @@ export const { getMicrophonePermissionsAsync, requestMicrophonePermissionsAsync, } = Camera; - -export { - CameraCapturedPicture, - CameraNativeProps, - CameraPictureOptions, - CameraProps, - CameraRecordingOptions, - PermissionResponse, - PermissionStatus, - PermissionExpiration, - BarCodeScanningResult, - FaceDetectionResult, - CameraMountError, -}; diff --git a/packages/expo-camera/src/Camera.types.ts b/packages/expo-camera/src/Camera.types.ts index a9b202f9fb639c..26984063cb0abc 100644 --- a/packages/expo-camera/src/Camera.types.ts +++ b/packages/expo-camera/src/Camera.types.ts @@ -7,85 +7,63 @@ import { import { ViewProps } from 'react-native'; export enum CameraType { - /** - * @platforms ios, android, web - */ front = 'front', - /** - * @platforms ios, android, web - */ back = 'back', } export enum FlashMode { - /** - * @platforms ios, android, web - */ on = 'on', - /** - * @platforms ios, android, web - */ off = 'off', - /** - * @platforms ios, android, web - */ auto = 'auto', - /** - * @platforms ios, android, web - */ torch = 'torch', } export enum AutoFocus { - /** - * @platforms ios, android, web - */ on = 'on', - /** - * @platforms ios, android, web - */ off = 'off', /** - * @platforms web + * @platform web */ auto = 'auto', /** - * @platforms web + * @platform web */ singleShot = 'singleShot', } export enum WhiteBalance { - /** - * @platforms ios, android, web - */ auto = 'auto', /** - * @platforms ios, android + * @platform android + * @platform ios */ sunny = 'sunny', /** - * @platforms ios, android + * @platform android + * @platform ios */ cloudy = 'cloudy', /** - * @platforms ios, android + * @platform android + * @platform ios */ shadow = 'shadow', /** - * @platforms ios, android + * @platform android + * @platform ios */ incandescent = 'incandescent', /** - * @platforms ios, android + * @platform android + * @platform ios */ fluorescent = 'fluorescent', /** - * @platforms web + * @platform web */ continuous = 'continuous', /** - * @platforms web + * @platform web */ manual = 'manual', } @@ -97,30 +75,34 @@ export enum ImageType { /** * This option specifies what codec to use when recording a video. + * @platform ios */ export enum VideoCodec { - /** - * @platforms ios - */ H264 = 'avc1', - /** - * @platforms ios - */ HEVC = 'hvc1', - /** - * @platforms ios - */ JPEG = 'jpeg', - /** - * @platforms ios - */ AppleProRes422 = 'apcn', - /** - * @platforms ios - */ AppleProRes4444 = 'ap4h', } +// @needsAudit +export enum VideoStabilization { + off = 'off', + standard = 'standard', + cinematic = 'cinematic', + auto = 'auto', +} + +// @needsAudit +export enum VideoQuality { + '2160p' = '2160p', + '1080p' = '1080p', + '720p' = '720p', + '480p' = '480p', + '4:3' = '4:3', +} + +// @needsAudit export type ImageParameters = { imageType: ImageType; quality: number | null; @@ -146,53 +128,109 @@ export type WebCameraSettings = Partial<{ zoom: number; }>; -export type CapturedPicture = { +export type CameraCapturedPicture = { width: number; height: number; uri: string; base64?: string; - // note(bacon): The types are currently only defined for web. - exif?: Partial; + exif?: Partial | any; }; +// @needsAudit @docsMissing export type CameraPictureOptions = { + /** + * Specify the quality of compression, from 0 to 1. 0 means compress for small size, 1 means compress for maximum quality. + */ quality?: number; + /** + * Whether to also include the image data in Base64 format. + */ base64?: boolean; + /** + * Whether to also include the EXIF data for the image. + */ exif?: boolean; + /** + * A callback invoked when picture is saved. If set, the promise of this method will resolve immediately with no data after picture is captured. + * The data that it should contain will be passed to this callback. If displaying or processing a captured photo right after taking it + * is not your case, this callback lets you skip waiting for it to be saved. + * @param picture + */ onPictureSaved?: (picture: CameraCapturedPicture) => void; // TODO(Bacon): Is it possible to implement this in the browser? + /** + * If set to `true`, camera skips orientation adjustment and returns an image straight from the device's camera. + * If enabled, `quality` option is discarded (processing pipeline is skipped as a whole). + * Although enabling this option reduces image delivery time significantly, it may cause the image to appear in a wrong orientation + * in the `Image` component (at the time of writing, it does not respect EXIF orientation of the images). + * > **Note**: Enabling `skipProcessing` would cause orientation uncertainty. `Image` component does not respect EXIF + * > stored orientation information, that means obtained image would be displayed wrongly (rotated by 90ยฐ, 180ยฐ or 270ยฐ). + * > Different devices provide different orientations. For example some Sony Xperia or Samsung devices don't provide + * > correctly oriented images by default. To always obtain correctly oriented image disable `skipProcessing` option. + */ skipProcessing?: boolean; - // Web-only + /** + * @platform web + */ scale?: number; + /** + * @platform web + */ imageType?: ImageType; + /** + * @platform web + */ isImageMirror?: boolean; - // internal + /** + * @hidden + */ id?: number; + /** + * @hidden + */ fastMode?: boolean; }; +// @needsAudit export type CameraRecordingOptions = { + /** + * Maximum video duration in seconds. + */ maxDuration?: number; + /** + * Maximum video file size in bytes. + */ maxFileSize?: number; + /** + * Specify the quality of recorded video. Usage: `Camera.Constants.VideoQuality.`, + * possible values: for 16:9 resolution `2160p`, `1080p`, `720p`, `480p` : `Android only` and for 4:3 `4:3` (the size is 640x480). + * If the chosen quality is not available for a device, the highest available is chosen. + */ quality?: number | string; + /** + * If present, video will be recorded with no sound. + */ mute?: boolean; + /** + * If `true`, the recorded video will be flipped along the vertical axis. iOS flips videos recorded with the front camera by default, + * but you can reverse that back by setting this to `true`. On Android, this is handled in the user's device settings. + * @platform ios + */ mirror?: boolean; - // Android + /** + * Only works if `useCamera2Api` is set to `true`. This option specifies a desired video bitrate. For example, `5*1000*1000` would be 5Mbps. + * @platform android + */ videoBitrate?: number; - // iOS + /** + * This option specifies what codec to use when recording the video. See [`Camera.Constants.VideoCodec`](#video-codec) for the possible values. + * @platform ios + */ codec?: VideoCodec; }; -export type CameraCapturedPicture = { - width: number; - height: number; - uri: string; - base64?: string; - exif?: any; -}; - export type PictureSavedListener = (event: { - nativeEvent: { data: CapturedPicture; id: number }; + nativeEvent: { data: CameraCapturedPicture; id: number }; }) => void; export type CameraReadyListener = () => void; @@ -201,17 +239,26 @@ export type MountErrorListener = (event: { nativeEvent: CameraMountError }) => v export type CameraMountError = { message: string }; -type Point = { +export type Point = { x: number; y: number; }; export type BarCodePoint = Point; +// @needsAudit export type BarCodeScanningResult = { + /** + * The barcode type. + */ type: string; + /** + * The information encoded in the bar code. + */ data: string; - /** @platform web */ + /** + * Corner points of the bounding box. + */ cornerPoints?: BarCodePoint[]; }; @@ -244,32 +291,118 @@ export type Face = { export type FaceDetectionResult = { faces: Face[] }; export type ConstantsType = { - Type: typeof CameraType; - FlashMode: typeof FlashMode; - AutoFocus: typeof AutoFocus; - WhiteBalance: typeof WhiteBalance; - VideoQuality: any; - VideoStabilization: any; - VideoCodec: typeof VideoCodec; + Type: CameraType; + FlashMode: FlashMode; + AutoFocus: AutoFocus; + WhiteBalance: WhiteBalance; + VideoQuality: VideoQuality; + VideoStabilization: VideoStabilization; + VideoCodec: VideoCodec; }; +// @needsAudit export type CameraProps = ViewProps & { - type?: number | keyof typeof CameraType; - flashMode?: number | keyof typeof FlashMode; - whiteBalance?: number | keyof typeof WhiteBalance; - autoFocus?: boolean | number | keyof typeof AutoFocus; + /** + * Camera facing. Use one of `Camera.Constants.Type`. When `Type.front`, use the front-facing camera. + * When `Type.back`, use the back-facing camera. + * @default Type.back + */ + type?: number | CameraType; + /** + * Camera flash mode. Use one of `Camera.Constants.FlashMode`. When `on`, the flash on your device will + * turn on when taking a picture, when `off`, it won't. Setting to `auto` will fire flash if required, + * `torch` turns on flash during the preview. + * @default FlashMode.off + */ + flashMode?: number | FlashMode; + /** + * Camera white balance. Use one of [`Camera.Constants.WhiteBalance`](#whitebalance). If a device does not support any of these values previous one is used. + */ + whiteBalance?: number | WhiteBalance; + /** + * State of camera auto focus. Use one of [`Camera.Constants.AutoFocus`](#autofocus). When `on`, + * auto focus will be enabled, when `off`, it won't and focus will lock as it was in the moment of change, + * but it can be adjusted on some devices via `focusDepth` prop. + */ + autoFocus?: boolean | number | AutoFocus; + /** + * A value between `0` and `1` being a percentage of device's max zoom. `0` - not zoomed, `1` - maximum zoom. + * @default 0 + */ zoom?: number; + /** + * A string representing aspect ratio of the preview, eg. `4:3`, `16:9`, `1:1`. To check if a ratio is supported + * by the device use [`getSupportedRatiosAsync`](#getsupportedratiosasync). + * @default 4:3. + * @platform android + */ ratio?: string; + /** + * Distance to plane of the sharpest focus. A value between `0` and `1` where: `0` - infinity focus, `1` - focus as close as possible. + * For Android this is available only for some devices and when `useCamera2Api` is set to `true`. + * @default 0 + */ focusDepth?: number; - onCameraReady?: Function; + /** + * Callback invoked when camera preview has been set. + */ + onCameraReady?: () => void; + /** + * Whether to use Android's Camera2 API. See `Note` at the top of this page. + * @platform android + */ useCamera2Api?: boolean; + /** + * A string representing the size of pictures [`takePictureAsync`](#takepictureasync) will take. + * Available sizes can be fetched with [`getAvailablePictureSizesAsync`](#getavailablepicturesizesasync). + */ pictureSize?: string; + /** + * The video stabilization mode used for a video recording. Use one of [`Camera.Constants.VideoStabilization`](#videostabilization). + * You can read more about each stabilization type in [Apple Documentation](https://developer.apple.com/documentation/avfoundation/avcapturevideostabilizationmode). + * @platform ios + */ videoStabilizationMode?: number; + /** + * Callback invoked when camera preview could not been started. + * @param event Error object that contains a `message`. + */ onMountError?: (event: CameraMountError) => void; + /** + * Settings exposed by [`BarCodeScanner`](bar-code-scanner) module. Supported settings: **barCodeTypes**. + * @example + * ```tsx + * + * ``` + */ barCodeScannerSettings?: object; + /** + * Callback that is invoked when a bar code has been successfully scanned. The callback is provided with + * an object of the [`BarCodeScanningResult`](#barcodescanningresult) shape, where the `type` + * refers to the bar code type that was scanned and the `data` is the information encoded in the bar code + * (in this case of QR codes, this is often a URL). See [`BarCodeScanner.Constants.BarCodeType`](bar-code-scanner#supported-formats) + * for supported values. + * @param scanningResult + */ onBarCodeScanned?: (scanningResult: BarCodeScanningResult) => void; + /** + * A settings object passed directly to an underlying module providing face detection features. + * See [`DetectionOptions`](facedetector/#detectionoptions) in FaceDetector documentation for details. + */ faceDetectorSettings?: object; + /** + * Callback invoked with results of face detection on the preview. See [FaceDetector documentation](facedetector/#detectionresult) for details. + * @param faces + */ onFacesDetected?: (faces: FaceDetectionResult) => void; + /** + * A URL for an image to be shown while the camera is loading. + * @platform web + */ poster?: string; }; @@ -294,10 +427,8 @@ export type CameraNativeProps = { faceDetectorSettings?: object; barCodeScannerEnabled?: boolean; faceDetectorEnabled?: boolean; - // Android ratio?: string; useCamera2Api?: boolean; - // Web poster?: string; }; diff --git a/packages/expo-camera/src/WebCameraUtils.ts b/packages/expo-camera/src/WebCameraUtils.ts index e505521c8997a9..b8827a877fea7d 100644 --- a/packages/expo-camera/src/WebCameraUtils.ts +++ b/packages/expo-camera/src/WebCameraUtils.ts @@ -3,7 +3,7 @@ import invariant from 'invariant'; import { CameraType, - CapturedPicture, + CameraCapturedPicture, ImageSize, ImageType, WebCameraSettings, @@ -248,10 +248,10 @@ export function capture( video: HTMLVideoElement, settings: MediaTrackSettings, config: CameraPictureOptions -): CapturedPicture { +): CameraCapturedPicture { const base64 = captureImage(video, config); - const capturedPicture: CapturedPicture = { + const capturedPicture: CameraCapturedPicture = { uri: base64, base64, width: 0, @@ -384,7 +384,7 @@ export function setVideoSource( } else if (typeof (video as any).mozSrcObject !== 'undefined') { (video as any).mozSrcObject = stream; } else if (stream && createObjectURL) { - video.src = createObjectURL(stream); + video.src = createObjectURL(stream as MediaSource | Blob); } if (!stream) { diff --git a/packages/expo-camera/src/index.ts b/packages/expo-camera/src/index.ts index 42e4a285324d16..29f54c4f09d9b4 100644 --- a/packages/expo-camera/src/index.ts +++ b/packages/expo-camera/src/index.ts @@ -7,15 +7,28 @@ export { requestCameraPermissionsAsync, getMicrophonePermissionsAsync, requestMicrophonePermissionsAsync, +} from './Camera'; + +export { + BarCodePoint, + BarCodeScanningResult, CameraCapturedPicture, + CameraMountError, CameraNativeProps, CameraPictureOptions, CameraProps, CameraRecordingOptions, + ConstantsType, + FaceDetectionResult, PermissionResponse, PermissionStatus, PermissionExpiration, - BarCodeScanningResult, - FaceDetectionResult, - CameraMountError, -} from './Camera'; + Point, + AutoFocus, + FlashMode, + CameraType, + VideoCodec, + VideoQuality, + VideoStabilization, + WhiteBalance, +} from './Camera.types'; diff --git a/packages/expo-camera/src/useWebQRScanner.ts b/packages/expo-camera/src/useWebQRScanner.ts index 5f4ba9e7245b55..11c00771ef0131 100644 --- a/packages/expo-camera/src/useWebQRScanner.ts +++ b/packages/expo-camera/src/useWebQRScanner.ts @@ -1,8 +1,7 @@ import { useWorker } from '@koale/useworker'; import * as React from 'react'; -import { CameraPictureOptions } from './Camera'; -import { BarCodeScanningResult, MountErrorListener } from './Camera.types'; +import { BarCodeScanningResult, CameraPictureOptions, MountErrorListener } from './Camera.types'; import { captureImageData } from './WebCameraUtils'; const qrWorkerMethod = ({ data, width, height }: ImageData): any => { diff --git a/packages/expo-camera/src/utils/__tests__/props-test.node.ts b/packages/expo-camera/src/utils/__tests__/props-test.node.ts index becb57ddabfcdb..0a91746e76afbb 100644 --- a/packages/expo-camera/src/utils/__tests__/props-test.node.ts +++ b/packages/expo-camera/src/utils/__tests__/props-test.node.ts @@ -1,3 +1,4 @@ +import { AutoFocus, CameraType, FlashMode, WhiteBalance } from '../../Camera.types'; import { convertNativeProps } from '../props'; describe(convertNativeProps, () => { @@ -7,10 +8,10 @@ describe(convertNativeProps, () => { it(`converts known properties to native props`, () => { expect( convertNativeProps({ - type: 'front', - flashMode: 'torch', - autoFocus: 'auto', - whiteBalance: 'continuous', + type: CameraType.front, + flashMode: FlashMode.torch, + autoFocus: AutoFocus.auto, + whiteBalance: WhiteBalance.continuous, }) ).toStrictEqual({ autoFocus: 'auto', diff --git a/packages/expo-camera/src/utils/__tests__/props-test.ts b/packages/expo-camera/src/utils/__tests__/props-test.ts index eb64d1398ed829..366e1c0765df93 100644 --- a/packages/expo-camera/src/utils/__tests__/props-test.ts +++ b/packages/expo-camera/src/utils/__tests__/props-test.ts @@ -1,5 +1,6 @@ import { Platform } from 'react-native'; +import { AutoFocus, CameraType, FlashMode, WhiteBalance } from '../../Camera.types'; import { ensureNativeProps } from '../props'; describe(ensureNativeProps, () => { @@ -9,10 +10,10 @@ describe(ensureNativeProps, () => { expect( ensureNativeProps({ - type: 'front', - flashMode: 'torch', - autoFocus: 'auto', - whiteBalance: 'continuous', + type: CameraType.front, + flashMode: FlashMode.torch, + autoFocus: AutoFocus.auto, + whiteBalance: WhiteBalance.continuous, poster: './image.png', ratio: '1080p', useCamera2Api: true, diff --git a/packages/expo-cellular/build/Cellular.d.ts b/packages/expo-cellular/build/Cellular.d.ts index e3f4e01a11dc45..3146d69d042c8e 100644 --- a/packages/expo-cellular/build/Cellular.d.ts +++ b/packages/expo-cellular/build/Cellular.d.ts @@ -196,3 +196,4 @@ export declare function getMobileCountryCodeAsync(): Promise; * ``` */ export declare function getMobileNetworkCodeAsync(): Promise; +//# sourceMappingURL=Cellular.d.ts.map \ No newline at end of file diff --git a/packages/expo-cellular/build/Cellular.d.ts.map b/packages/expo-cellular/build/Cellular.d.ts.map new file mode 100644 index 00000000000000..055f7ae9fbc347 --- /dev/null +++ b/packages/expo-cellular/build/Cellular.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Cellular.d.ts","sourceRoot":"","sources":["../src/Cellular.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAG9B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU,EAAE,OAAO,GAAG,IAAoD,CAAC;AAGxF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,GAAG,IAAiD,CAAC;AAGjF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG,IAAwD,CAAC;AAG/F;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,GAAG,IAEjC,CAAC;AAGT;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,GAAG,IAEjC,CAAC;AAGT;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAK9E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAK/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKrE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKlE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKxE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKxE"} \ No newline at end of file diff --git a/packages/expo-cellular/build/Cellular.types.d.ts b/packages/expo-cellular/build/Cellular.types.d.ts index 8348f5beeea297..3bfac8e1fef617 100644 --- a/packages/expo-cellular/build/Cellular.types.d.ts +++ b/packages/expo-cellular/build/Cellular.types.d.ts @@ -24,3 +24,4 @@ export declare enum CellularGeneration { */ CELLULAR_5G = 4 } +//# sourceMappingURL=Cellular.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-cellular/build/Cellular.types.d.ts.map b/packages/expo-cellular/build/Cellular.types.d.ts.map new file mode 100644 index 00000000000000..189216f240dac5 --- /dev/null +++ b/packages/expo-cellular/build/Cellular.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Cellular.types.d.ts","sourceRoot":"","sources":["../src/Cellular.types.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B;;OAEG;IACH,OAAO,IAAI;IACX;;OAEG;IACH,WAAW,IAAI;IACf;;OAEG;IACH,WAAW,IAAI;IACf;;OAEG;IACH,WAAW,IAAI;IACf;;OAEG;IACH,WAAW,IAAI;CAChB"} \ No newline at end of file diff --git a/packages/expo-cellular/build/ExpoCellular.d.ts b/packages/expo-cellular/build/ExpoCellular.d.ts index 1f7a36fde601a4..50df826e0bcfab 100644 --- a/packages/expo-cellular/build/ExpoCellular.d.ts +++ b/packages/expo-cellular/build/ExpoCellular.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoCellular.d.ts.map \ No newline at end of file diff --git a/packages/expo-cellular/build/ExpoCellular.d.ts.map b/packages/expo-cellular/build/ExpoCellular.d.ts.map new file mode 100644 index 00000000000000..eef74756125d4d --- /dev/null +++ b/packages/expo-cellular/build/ExpoCellular.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoCellular.d.ts","sourceRoot":"","sources":["../src/ExpoCellular.ts"],"names":[],"mappings":";AACA,wBAA+C"} \ No newline at end of file diff --git a/packages/expo-cellular/build/ExpoCellular.web.d.ts b/packages/expo-cellular/build/ExpoCellular.web.d.ts index e51a0c4880a34b..45484aae694ca9 100644 --- a/packages/expo-cellular/build/ExpoCellular.web.d.ts +++ b/packages/expo-cellular/build/ExpoCellular.web.d.ts @@ -13,3 +13,4 @@ declare const _default: { getMobileNetworkCodeAsync(): Promise; }; export default _default; +//# sourceMappingURL=ExpoCellular.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-cellular/build/ExpoCellular.web.d.ts.map b/packages/expo-cellular/build/ExpoCellular.web.d.ts.map new file mode 100644 index 00000000000000..1d8ec33d2f0170 --- /dev/null +++ b/packages/expo-cellular/build/ExpoCellular.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoCellular.web.d.ts","sourceRoot":"","sources":["../src/ExpoCellular.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;;;;;;;kCAkBhB,QAAQ,kBAAkB,CAAC;uBAoBtC,QAAQ,OAAO,GAAG,IAAI,CAAC;8BAGhB,QAAQ,MAAM,GAAG,IAAI,CAAC;2BAGzB,QAAQ,MAAM,GAAG,IAAI,CAAC;iCAGhB,QAAQ,MAAM,GAAG,IAAI,CAAC;iCAGtB,QAAQ,MAAM,GAAG,IAAI,CAAC;;AAhD3D,wBAmDE"} \ No newline at end of file diff --git a/packages/expo-cellular/ios/CellularModule.swift b/packages/expo-cellular/ios/CellularModule.swift index e5a702262bdfb0..ce229b27290dc4 100644 --- a/packages/expo-cellular/ios/CellularModule.swift +++ b/packages/expo-cellular/ios/CellularModule.swift @@ -67,8 +67,8 @@ public class CellularModule: Module { return .cellular4G default: if #available(iOS 14.1, *) { - if (radioAccessTechnology == CTRadioAccessTechnologyNRNSA || - radioAccessTechnology == CTRadioAccessTechnologyNR) { + if radioAccessTechnology == CTRadioAccessTechnologyNRNSA || + radioAccessTechnology == CTRadioAccessTechnologyNR { return .cellular5G } } @@ -76,7 +76,7 @@ public class CellularModule: Module { } } - static func getCurrentCellularInfo() -> [String : Any?] { + static func getCurrentCellularInfo() -> [String: Any?] { let carrier = Self.currentCarrier() let generation = Self.currentCellularGeneration() @@ -86,7 +86,7 @@ public class CellularModule: Module { "isoCountryCode": carrier?.isoCountryCode, "mobileCountryCode": carrier?.mobileCountryCode, "mobileNetworkCode": carrier?.mobileNetworkCode, - "generation": generation.rawValue, + "generation": generation.rawValue ] } @@ -104,10 +104,8 @@ public class CellularModule: Module { let netinfo = CTTelephonyNetworkInfo() if #available(iOS 12.0, *), let providers = netinfo.serviceSubscriberCellularProviders { - for carrier in providers.values { - if carrier.carrierName != nil { - return carrier - } + for carrier in providers.values where carrier.carrierName != nil { + return carrier } return providers.values.first } diff --git a/packages/expo-cellular/unimodule.json b/packages/expo-cellular/unimodule.json deleted file mode 100644 index 982681503e713c..00000000000000 --- a/packages/expo-cellular/unimodule.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "expo-cellular", - "platforms": ["ios", "android", "web"] -} diff --git a/packages/expo-checkbox/build/Checkbox.d.ts b/packages/expo-checkbox/build/Checkbox.d.ts index 62822e95cf72d1..a939321a353d99 100644 --- a/packages/expo-checkbox/build/Checkbox.d.ts +++ b/packages/expo-checkbox/build/Checkbox.d.ts @@ -1,2 +1,3 @@ export { default } from './ExpoCheckbox'; export * from './Checkbox.types'; +//# sourceMappingURL=Checkbox.d.ts.map \ No newline at end of file diff --git a/packages/expo-checkbox/build/Checkbox.d.ts.map b/packages/expo-checkbox/build/Checkbox.d.ts.map new file mode 100644 index 00000000000000..00071b8aac3fa6 --- /dev/null +++ b/packages/expo-checkbox/build/Checkbox.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../src/Checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,cAAc,kBAAkB,CAAC"} \ No newline at end of file diff --git a/packages/expo-checkbox/build/Checkbox.types.d.ts b/packages/expo-checkbox/build/Checkbox.types.d.ts index b0f4d6689c0d7f..b439cae6718bf1 100644 --- a/packages/expo-checkbox/build/Checkbox.types.d.ts +++ b/packages/expo-checkbox/build/Checkbox.types.d.ts @@ -33,3 +33,4 @@ export declare type CheckboxComponent = React.FC & { */ isAvailableAsync: () => Promise; }; +//# sourceMappingURL=Checkbox.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-checkbox/build/Checkbox.types.d.ts.map b/packages/expo-checkbox/build/Checkbox.types.d.ts.map new file mode 100644 index 00000000000000..1589bad1178fa5 --- /dev/null +++ b/packages/expo-checkbox/build/Checkbox.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Checkbox.types.d.ts","sourceRoot":"","sources":["../src/Checkbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG3E,oBAAY,aAAa,GAAG,oBAAoB,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAGrF,oBAAY,aAAa,GAAG,SAAS,GAAG;IACtC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,CAAC;AAGF,oBAAY,iBAAiB,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG;IACxD;;OAEG;IACH,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C,CAAC"} \ No newline at end of file diff --git a/packages/expo-checkbox/build/ExpoCheckbox.d.ts b/packages/expo-checkbox/build/ExpoCheckbox.d.ts index eb09cb3c9cda1f..f48b06c9aa5ad2 100644 --- a/packages/expo-checkbox/build/ExpoCheckbox.d.ts +++ b/packages/expo-checkbox/build/ExpoCheckbox.d.ts @@ -1,3 +1,4 @@ import { CheckboxComponent } from './Checkbox.types'; declare const ExpoCheckbox: CheckboxComponent; export default ExpoCheckbox; +//# sourceMappingURL=ExpoCheckbox.d.ts.map \ No newline at end of file diff --git a/packages/expo-checkbox/build/ExpoCheckbox.d.ts.map b/packages/expo-checkbox/build/ExpoCheckbox.d.ts.map new file mode 100644 index 00000000000000..928502654df185 --- /dev/null +++ b/packages/expo-checkbox/build/ExpoCheckbox.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoCheckbox.d.ts","sourceRoot":"","sources":["../src/ExpoCheckbox.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,QAAA,MAAM,YAAY,EAAE,iBAiCnB,CAAC;AAIF,eAAe,YAAY,CAAC"} \ No newline at end of file diff --git a/packages/expo-checkbox/build/ExpoCheckbox.web.d.ts b/packages/expo-checkbox/build/ExpoCheckbox.web.d.ts index ebd692435c5fed..10331001984295 100644 --- a/packages/expo-checkbox/build/ExpoCheckbox.web.d.ts +++ b/packages/expo-checkbox/build/ExpoCheckbox.web.d.ts @@ -11,3 +11,4 @@ import { CheckboxComponent } from './Checkbox.types'; declare const ExpoCheckbox: CheckboxComponent; export default ExpoCheckbox; export declare const name = "ExpoCheckbox"; +//# sourceMappingURL=ExpoCheckbox.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-checkbox/build/ExpoCheckbox.web.d.ts.map b/packages/expo-checkbox/build/ExpoCheckbox.web.d.ts.map new file mode 100644 index 00000000000000..737d66f531fce3 --- /dev/null +++ b/packages/expo-checkbox/build/ExpoCheckbox.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoCheckbox.web.d.ts","sourceRoot":"","sources":["../src/ExpoCheckbox.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,iBAAiB,EAAiB,MAAM,kBAAkB,CAAC;AAEpE,QAAA,MAAM,YAAY,EAAE,iBA0CnB,CAAC;AA2DF,eAAe,YAAY,CAAC;AAO5B,eAAO,MAAM,IAAI,iBAAiB,CAAC"} \ No newline at end of file diff --git a/packages/expo-clipboard/build/Clipboard.d.ts b/packages/expo-clipboard/build/Clipboard.d.ts index e65906ff82785c..7d614398ff4407 100644 --- a/packages/expo-clipboard/build/Clipboard.d.ts +++ b/packages/expo-clipboard/build/Clipboard.d.ts @@ -51,3 +51,4 @@ export declare function addClipboardListener(listener: (event: ClipboardEvent) = * ``` */ export declare function removeClipboardListener(subscription: Subscription): void; +//# sourceMappingURL=Clipboard.d.ts.map \ No newline at end of file diff --git a/packages/expo-clipboard/build/Clipboard.d.ts.map b/packages/expo-clipboard/build/Clipboard.d.ts.map new file mode 100644 index 00000000000000..5e30a659aea934 --- /dev/null +++ b/packages/expo-clipboard/build/Clipboard.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Clipboard.d.ts","sourceRoot":"","sources":["../src/Clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AAQpF,aAAK,cAAc,GAAG;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AAEtD;;;;;GAKG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAKtD;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAK5C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,YAAY,CAE5F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,YAAY,QAEjE"} \ No newline at end of file diff --git a/packages/expo-clipboard/build/ExpoClipboard.d.ts b/packages/expo-clipboard/build/ExpoClipboard.d.ts index 1f7a36fde601a4..a8fb9bc070fde4 100644 --- a/packages/expo-clipboard/build/ExpoClipboard.d.ts +++ b/packages/expo-clipboard/build/ExpoClipboard.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoClipboard.d.ts.map \ No newline at end of file diff --git a/packages/expo-clipboard/build/ExpoClipboard.d.ts.map b/packages/expo-clipboard/build/ExpoClipboard.d.ts.map new file mode 100644 index 00000000000000..485d6fbc5986bd --- /dev/null +++ b/packages/expo-clipboard/build/ExpoClipboard.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoClipboard.d.ts","sourceRoot":"","sources":["../src/ExpoClipboard.ts"],"names":[],"mappings":";AAEA,wBAAgD"} \ No newline at end of file diff --git a/packages/expo-clipboard/build/ExpoClipboard.web.d.ts b/packages/expo-clipboard/build/ExpoClipboard.web.d.ts index d4c9e4535b6263..c717f19e5a5ecc 100644 --- a/packages/expo-clipboard/build/ExpoClipboard.web.d.ts +++ b/packages/expo-clipboard/build/ExpoClipboard.web.d.ts @@ -6,3 +6,4 @@ declare const _default: { removeClipboardListener(): void; }; export default _default; +//# sourceMappingURL=ExpoClipboard.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-clipboard/build/ExpoClipboard.web.d.ts.map b/packages/expo-clipboard/build/ExpoClipboard.web.d.ts.map new file mode 100644 index 00000000000000..37fe574970db7c --- /dev/null +++ b/packages/expo-clipboard/build/ExpoClipboard.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoClipboard.web.d.ts","sourceRoot":"","sources":["../src/ExpoClipboard.web.ts"],"names":[],"mappings":";;sBAI0B,QAAQ,MAAM,CAAC;oBAevB,MAAM,GAAG,OAAO;4BAaR,IAAI;+BACD,IAAI;;AAjCjC,wBAkCE"} \ No newline at end of file diff --git a/packages/expo-clipboard/ios/EXClipboard/ClipboardModule.swift b/packages/expo-clipboard/ios/ClipboardModule.swift similarity index 100% rename from packages/expo-clipboard/ios/EXClipboard/ClipboardModule.swift rename to packages/expo-clipboard/ios/ClipboardModule.swift diff --git a/packages/expo-clipboard/ios/EXClipboard/EXClipboardModule.h b/packages/expo-clipboard/ios/EXClipboard/EXClipboardModule.h deleted file mode 100644 index cbf246331a6429..00000000000000 --- a/packages/expo-clipboard/ios/EXClipboard/EXClipboardModule.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright ยฉ 2021 650 Industries. All rights reserved. - -#import -#import -#import - -@interface EXClipboardModule : EXExportedModule -@end diff --git a/packages/expo-clipboard/ios/EXClipboard/EXClipboardModule.m b/packages/expo-clipboard/ios/EXClipboard/EXClipboardModule.m deleted file mode 100644 index cb6f7caad2186a..00000000000000 --- a/packages/expo-clipboard/ios/EXClipboard/EXClipboardModule.m +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2021-present 650 Industries. All rights reserved. - -#import - -#import - -static NSString * const onClipboardEventName = @"onClipboardChanged"; - -@interface EXClipboardModule () - -@property (nonatomic, weak) EXModuleRegistry *moduleRegistry; -@property (nonatomic, assign) BOOL isListening; -@property (nonatomic, assign) BOOL isBeingObserved; -@property (nonatomic, weak) id eventEmitter; - -@end - -@implementation EXClipboardModule - -EX_EXPORT_MODULE(ExpoClipboard); - -# pragma mark - EXModuleRegistryConsumer - -- (void)setModuleRegistry:(EXModuleRegistry *)moduleRegistry -{ - _moduleRegistry = moduleRegistry; - _eventEmitter = [moduleRegistry getModuleImplementingProtocol:@protocol(EXEventEmitterService)]; -} - -# pragma mark - Exported methods - -EX_EXPORT_METHOD_AS(getStringAsync, - getStringAsyncWithResolver:(EXPromiseResolveBlock)resolve - reject:(EXPromiseRejectBlock)reject) -{ - UIPasteboard *clipboard = [UIPasteboard generalPasteboard]; - resolve((clipboard.string ?: @"")); -} - -EX_EXPORT_METHOD_AS(setString, - setStringWithContent:(NSString *)content - resolver:(EXPromiseResolveBlock)resolve - rejecter:(EXPromiseRejectBlock)reject) -{ - UIPasteboard *clipboard = [UIPasteboard generalPasteboard]; - clipboard.string = (content ? : @""); -} - -# pragma mark - EXEventEmitter - -- (NSArray *)supportedEvents -{ - return @[onClipboardEventName]; -} - -- (void)startObserving -{ - [self setIsBeingObserved:YES]; -} - -- (void)stopObserving -{ - [self setIsBeingObserved:NO]; -} - -- (void)setIsBeingObserved:(BOOL)isBeingObserved -{ - _isBeingObserved = isBeingObserved; - BOOL shouldListen = _isBeingObserved; - if (shouldListen && !_isListening) { - // Avoid setting duplicate observers - [[NSNotificationCenter defaultCenter] removeObserver:self name:UIPasteboardChangedNotification object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(listenToClipboard) name:UIPasteboardChangedNotification object:nil]; - _isListening = YES; - } else if (!shouldListen && _isListening) { - [[NSNotificationCenter defaultCenter] removeObserver:self name:UIPasteboardChangedNotification object:nil]; - _isListening = NO; - } -} - -- (void)listenToClipboard -{ - UIPasteboard *clipboard = [UIPasteboard generalPasteboard]; - [_eventEmitter sendEventWithName:onClipboardEventName body:@{ @"content" : clipboard.string ?: @"" }]; -} - -@end diff --git a/packages/expo-clipboard/ios/EXClipboard.podspec b/packages/expo-clipboard/ios/ExpoClipboard.podspec similarity index 88% rename from packages/expo-clipboard/ios/EXClipboard.podspec rename to packages/expo-clipboard/ios/ExpoClipboard.podspec index dfd68b95f384a5..e25e57c02e355e 100644 --- a/packages/expo-clipboard/ios/EXClipboard.podspec +++ b/packages/expo-clipboard/ios/ExpoClipboard.podspec @@ -3,7 +3,7 @@ require 'json' package = JSON.parse(File.read(File.join(__dir__, '..', 'package.json'))) Pod::Spec.new do |s| - s.name = 'EXClipboard' + s.name = 'ExpoClipboard' s.version = package['version'] s.summary = package['description'] s.description = package['description'] @@ -24,9 +24,9 @@ Pod::Spec.new do |s| } if !$ExpoUseSources&.include?(package['name']) && ENV['EXPO_USE_SOURCE'].to_i == 0 && File.exist?("#{s.name}.xcframework") && Gem::Version.new(Pod::VERSION) >= Gem::Version.new('1.10.0') - s.source_files = "#{s.name}/**/*.h" + s.source_files = "**/*.h" s.vendored_frameworks = "#{s.name}.xcframework" else - s.source_files = "#{s.name}/**/*.{h,m,swift}" + s.source_files = "**/*.{h,m,swift}" end end diff --git a/packages/expo-constants/CHANGELOG.md b/packages/expo-constants/CHANGELOG.md index ceafc07dacacd3..3f434e273b1f04 100644 --- a/packages/expo-constants/CHANGELOG.md +++ b/packages/expo-constants/CHANGELOG.md @@ -12,6 +12,12 @@ - Updated `@expo/config` from `6.0.6` to `6.0.14` ([#15621](https://github.com/expo/expo/pull/15621) by [@EvanBacon](https://github.com/EvanBacon)) +## 13.0.1 โ€” 2022-01-20 + +### ๐Ÿ› Bug fixes + +- Fix the `PhaseScriptExecution` build errors when the `source_login_scripts.sh` failed to load. ([#15890](https://github.com/expo/expo/pull/15890) by [@kudo](https://github.com/kudo)) + ## 13.0.0 โ€” 2021-12-03 ### ๐Ÿ›  Breaking changes diff --git a/packages/expo-constants/build/Constants.d.ts b/packages/expo-constants/build/Constants.d.ts index dbe6b9ca845ed0..3bbbd249bfc441 100644 --- a/packages/expo-constants/build/Constants.d.ts +++ b/packages/expo-constants/build/Constants.d.ts @@ -2,3 +2,4 @@ import { AndroidManifest, AppOwnership, Constants, ExecutionEnvironment, IOSMani export { AndroidManifest, AppOwnership, Constants, ExecutionEnvironment, IOSManifest, NativeConstants, PlatformManifest, UserInterfaceIdiom, WebManifest, }; declare const _default: Constants; export default _default; +//# sourceMappingURL=Constants.d.ts.map \ No newline at end of file diff --git a/packages/expo-constants/build/Constants.d.ts.map b/packages/expo-constants/build/Constants.d.ts.map new file mode 100644 index 00000000000000..9bc6006c03f694 --- /dev/null +++ b/packages/expo-constants/build/Constants.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../src/Constants.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,WAAW,EAEX,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,GACZ,CAAC;;AAuLF,wBAAsC"} \ No newline at end of file diff --git a/packages/expo-constants/build/Constants.types.d.ts b/packages/expo-constants/build/Constants.types.d.ts index 7b884a21173bc9..878590ed930acf 100644 --- a/packages/expo-constants/build/Constants.types.d.ts +++ b/packages/expo-constants/build/Constants.types.d.ts @@ -289,3 +289,4 @@ export interface Constants extends NativeConstants { */ __unsafeNoWarnManifest2?: Manifest; } +//# sourceMappingURL=Constants.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-constants/build/Constants.types.d.ts.map b/packages/expo-constants/build/Constants.types.d.ts.map new file mode 100644 index 00000000000000..dc08aaa2810036 --- /dev/null +++ b/packages/expo-constants/build/Constants.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Constants.types.d.ts","sourceRoot":"","sources":["../src/Constants.types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-constants/build/ExponentConstants.d.ts b/packages/expo-constants/build/ExponentConstants.d.ts index 1f7a36fde601a4..aaf0a03908dbf6 100644 --- a/packages/expo-constants/build/ExponentConstants.d.ts +++ b/packages/expo-constants/build/ExponentConstants.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExponentConstants.d.ts.map \ No newline at end of file diff --git a/packages/expo-constants/build/ExponentConstants.d.ts.map b/packages/expo-constants/build/ExponentConstants.d.ts.map new file mode 100644 index 00000000000000..e522431ee402ac --- /dev/null +++ b/packages/expo-constants/build/ExponentConstants.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentConstants.d.ts","sourceRoot":"","sources":["../src/ExponentConstants.ts"],"names":[],"mappings":";AACA,wBAAoD"} \ No newline at end of file diff --git a/packages/expo-constants/build/ExponentConstants.web.d.ts b/packages/expo-constants/build/ExponentConstants.web.d.ts index 30ce9efa12a44c..f179b580a3cb3e 100644 --- a/packages/expo-constants/build/ExponentConstants.web.d.ts +++ b/packages/expo-constants/build/ExponentConstants.web.d.ts @@ -1,3 +1,4 @@ import { NativeConstants } from './Constants.types'; declare const _default: NativeConstants; export default _default; +//# sourceMappingURL=ExponentConstants.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-constants/build/ExponentConstants.web.d.ts.map b/packages/expo-constants/build/ExponentConstants.web.d.ts.map new file mode 100644 index 00000000000000..650993b3873ed0 --- /dev/null +++ b/packages/expo-constants/build/ExponentConstants.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExponentConstants.web.d.ts","sourceRoot":"","sources":["../src/ExponentConstants.web.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,eAAe,EAGhB,MAAM,mBAAmB,CAAC;;AAmC3B,wBAmGqB"} \ No newline at end of file diff --git a/packages/expo-constants/scripts/get-app-config-ios.sh b/packages/expo-constants/scripts/get-app-config-ios.sh index 3373b815363730..64b87fb9558231 100755 --- a/packages/expo-constants/scripts/get-app-config-ios.sh +++ b/packages/expo-constants/scripts/get-app-config-ios.sh @@ -8,7 +8,10 @@ RESOURCE_BUNDLE_NAME="EXConstants.bundle" # Path to expo-constants folder inside node_modules EXPO_CONSTANTS_PACKAGE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +# Suppress environment errors from sourcing the login scripts +set +e source "$EXPO_CONSTANTS_PACKAGE_DIR/scripts/source-login-scripts.sh" +set -e NODE_BINARY=${NODE_BINARY:-node} diff --git a/packages/expo-contacts/build/Contacts.d.ts b/packages/expo-contacts/build/Contacts.d.ts index bf1492441d2f2c..52ed4c29f3de2e 100644 --- a/packages/expo-contacts/build/Contacts.d.ts +++ b/packages/expo-contacts/build/Contacts.d.ts @@ -262,3 +262,4 @@ export declare const ContactTypes: { Person: string; Company: string; }; +//# sourceMappingURL=Contacts.d.ts.map \ No newline at end of file diff --git a/packages/expo-contacts/build/Contacts.d.ts.map b/packages/expo-contacts/build/Contacts.d.ts.map new file mode 100644 index 00000000000000..c7b8eea04b5167 --- /dev/null +++ b/packages/expo-contacts/build/Contacts.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Contacts.d.ts","sourceRoot":"","sources":["../src/Contacts.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/expo-contacts/build/ExpoContacts.d.ts b/packages/expo-contacts/build/ExpoContacts.d.ts index 1f7a36fde601a4..ab9b61cf0eb3c0 100644 --- a/packages/expo-contacts/build/ExpoContacts.d.ts +++ b/packages/expo-contacts/build/ExpoContacts.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoContacts.d.ts.map \ No newline at end of file diff --git a/packages/expo-contacts/build/ExpoContacts.d.ts.map b/packages/expo-contacts/build/ExpoContacts.d.ts.map new file mode 100644 index 00000000000000..d5ba7dcccae881 --- /dev/null +++ b/packages/expo-contacts/build/ExpoContacts.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoContacts.d.ts","sourceRoot":"","sources":["../src/ExpoContacts.ts"],"names":[],"mappings":";AAEA,wBAA+C"} \ No newline at end of file diff --git a/packages/expo-contacts/build/ExpoContacts.web.d.ts b/packages/expo-contacts/build/ExpoContacts.web.d.ts index c3438b3cfd4664..fd66a7faed2e21 100644 --- a/packages/expo-contacts/build/ExpoContacts.web.d.ts +++ b/packages/expo-contacts/build/ExpoContacts.web.d.ts @@ -5,3 +5,4 @@ declare const _default: { requestPermissionsAsync(): Promise; }; export default _default; +//# sourceMappingURL=ExpoContacts.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-contacts/build/ExpoContacts.web.d.ts.map b/packages/expo-contacts/build/ExpoContacts.web.d.ts.map new file mode 100644 index 00000000000000..6dbcb2f767e5cb --- /dev/null +++ b/packages/expo-contacts/build/ExpoContacts.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoContacts.web.d.ts","sourceRoot":"","sources":["../src/ExpoContacts.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;;;2BAa1C,QAAQ,kBAAkB,CAAC;+BAGvB,QAAQ,kBAAkB,CAAC;;AAP9D,wBAUE"} \ No newline at end of file diff --git a/packages/expo-crypto/build/Crypto.d.ts b/packages/expo-crypto/build/Crypto.d.ts index 228711f381d0d2..58882f5122d0b8 100644 --- a/packages/expo-crypto/build/Crypto.d.ts +++ b/packages/expo-crypto/build/Crypto.d.ts @@ -21,3 +21,4 @@ export * from './Crypto.types'; * ``` */ export declare function digestStringAsync(algorithm: CryptoDigestAlgorithm, data: string, options?: CryptoDigestOptions): Promise; +//# sourceMappingURL=Crypto.d.ts.map \ No newline at end of file diff --git a/packages/expo-crypto/build/Crypto.d.ts.map b/packages/expo-crypto/build/Crypto.d.ts.map new file mode 100644 index 00000000000000..7e95d6775059f7 --- /dev/null +++ b/packages/expo-crypto/build/Crypto.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../src/Crypto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAkB,mBAAmB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGpG,cAAc,gBAAgB,CAAC;AAqC/B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,mBAAsD,GAC9D,OAAO,CAAC,MAAM,CAAC,CAUjB"} \ No newline at end of file diff --git a/packages/expo-crypto/build/Crypto.types.d.ts b/packages/expo-crypto/build/Crypto.types.d.ts index 9d5a0f962cedff..58fc69e4e47128 100644 --- a/packages/expo-crypto/build/Crypto.types.d.ts +++ b/packages/expo-crypto/build/Crypto.types.d.ts @@ -53,3 +53,4 @@ export declare type CryptoDigestOptions = { encoding: CryptoEncoding; }; export declare type Digest = string; +//# sourceMappingURL=Crypto.types.d.ts.map \ No newline at end of file diff --git a/packages/expo-crypto/build/Crypto.types.d.ts.map b/packages/expo-crypto/build/Crypto.types.d.ts.map new file mode 100644 index 00000000000000..4f53e7b6c63453 --- /dev/null +++ b/packages/expo-crypto/build/Crypto.types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Crypto.types.d.ts","sourceRoot":"","sources":["../src/Crypto.types.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AACH,oBAAY,qBAAqB;IAC/B;;OAEG;IACH,IAAI,UAAU;IACd;;OAEG;IACH,MAAM,YAAY;IAClB;;OAEG;IACH,MAAM,YAAY;IAClB;;OAEG;IACH,MAAM,YAAY;IAClB;;;OAGG;IACH,GAAG,QAAQ;IACX;;;OAGG;IACH,GAAG,QAAQ;IACX;;;;OAIG;IACH,GAAG,QAAQ;CACZ;AAGD,oBAAY,cAAc;IACxB,GAAG,QAAQ;IACX;;OAEG;IACH,MAAM,WAAW;CAClB;AAGD,oBAAY,mBAAmB,GAAG;IAChC;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAGF,oBAAY,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/packages/expo-crypto/build/ExpoCrypto.d.ts b/packages/expo-crypto/build/ExpoCrypto.d.ts index 1f7a36fde601a4..eb3ebf67c502b3 100644 --- a/packages/expo-crypto/build/ExpoCrypto.d.ts +++ b/packages/expo-crypto/build/ExpoCrypto.d.ts @@ -1,2 +1,3 @@ declare const _default: import("expo-modules-core").ProxyNativeModule; export default _default; +//# sourceMappingURL=ExpoCrypto.d.ts.map \ No newline at end of file diff --git a/packages/expo-crypto/build/ExpoCrypto.d.ts.map b/packages/expo-crypto/build/ExpoCrypto.d.ts.map new file mode 100644 index 00000000000000..e99bbb8fee17da --- /dev/null +++ b/packages/expo-crypto/build/ExpoCrypto.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoCrypto.d.ts","sourceRoot":"","sources":["../src/ExpoCrypto.ts"],"names":[],"mappings":";AACA,wBAA6C"} \ No newline at end of file diff --git a/packages/expo-crypto/build/ExpoCrypto.web.d.ts b/packages/expo-crypto/build/ExpoCrypto.web.d.ts index b9dbb6ada1286f..c71ac6a953b435 100644 --- a/packages/expo-crypto/build/ExpoCrypto.web.d.ts +++ b/packages/expo-crypto/build/ExpoCrypto.web.d.ts @@ -4,3 +4,4 @@ declare const _default: { digestStringAsync(algorithm: CryptoDigestAlgorithm, data: string, options: CryptoDigestOptions): Promise; }; export default _default; +//# sourceMappingURL=ExpoCrypto.web.d.ts.map \ No newline at end of file diff --git a/packages/expo-crypto/build/ExpoCrypto.web.d.ts.map b/packages/expo-crypto/build/ExpoCrypto.web.d.ts.map new file mode 100644 index 00000000000000..90357ebbe4d8ce --- /dev/null +++ b/packages/expo-crypto/build/ExpoCrypto.web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoCrypto.web.d.ts","sourceRoot":"","sources":["../src/ExpoCrypto.web.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAkB,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;;;iCAO7E,qBAAqB,QAC1B,MAAM,WACH,mBAAmB,GAC3B,QAAQ,MAAM,CAAC;;AARpB,wBAyBE"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/assets/clipboard-icon.png b/packages/expo-dev-client-components/assets/clipboard-icon.png new file mode 100644 index 00000000000000..51fbaae8a9e9c6 Binary files /dev/null and b/packages/expo-dev-client-components/assets/clipboard-icon.png differ diff --git a/packages/expo-dev-client-components/assets/clipboard-icon@2x.png b/packages/expo-dev-client-components/assets/clipboard-icon@2x.png new file mode 100644 index 00000000000000..9c991fd5dce531 Binary files /dev/null and b/packages/expo-dev-client-components/assets/clipboard-icon@2x.png differ diff --git a/packages/expo-dev-client-components/assets/clipboard-icon@3x.png b/packages/expo-dev-client-components/assets/clipboard-icon@3x.png new file mode 100644 index 00000000000000..ba4aef7dacf146 Binary files /dev/null and b/packages/expo-dev-client-components/assets/clipboard-icon@3x.png differ diff --git a/packages/expo-dev-client-components/assets/debug-icon.png b/packages/expo-dev-client-components/assets/debug-icon.png new file mode 100644 index 00000000000000..3670542d5cd3c2 Binary files /dev/null and b/packages/expo-dev-client-components/assets/debug-icon.png differ diff --git a/packages/expo-dev-client-components/assets/debug-icon@2x.png b/packages/expo-dev-client-components/assets/debug-icon@2x.png new file mode 100644 index 00000000000000..9ad2d3835a5b64 Binary files /dev/null and b/packages/expo-dev-client-components/assets/debug-icon@2x.png differ diff --git a/packages/expo-dev-client-components/assets/debug-icon@3x.png b/packages/expo-dev-client-components/assets/debug-icon@3x.png new file mode 100644 index 00000000000000..96733c2c3ad1cc Binary files /dev/null and b/packages/expo-dev-client-components/assets/debug-icon@3x.png differ diff --git a/packages/expo-dev-client-components/assets/inspect-element-icon.png b/packages/expo-dev-client-components/assets/inspect-element-icon.png new file mode 100644 index 00000000000000..fb63ff506307e4 Binary files /dev/null and b/packages/expo-dev-client-components/assets/inspect-element-icon.png differ diff --git a/packages/expo-dev-client-components/assets/inspect-element-icon@2x.png b/packages/expo-dev-client-components/assets/inspect-element-icon@2x.png new file mode 100644 index 00000000000000..c45e2f9a1e83e0 Binary files /dev/null and b/packages/expo-dev-client-components/assets/inspect-element-icon@2x.png differ diff --git a/packages/expo-dev-client-components/assets/inspect-element-icon@3x.png b/packages/expo-dev-client-components/assets/inspect-element-icon@3x.png new file mode 100644 index 00000000000000..6ae8a7b8690737 Binary files /dev/null and b/packages/expo-dev-client-components/assets/inspect-element-icon@3x.png differ diff --git a/packages/expo-dev-client-components/assets/performance-icon.png b/packages/expo-dev-client-components/assets/performance-icon.png new file mode 100644 index 00000000000000..13f27dcde7e7aa Binary files /dev/null and b/packages/expo-dev-client-components/assets/performance-icon.png differ diff --git a/packages/expo-dev-client-components/assets/performance-icon@2x.png b/packages/expo-dev-client-components/assets/performance-icon@2x.png new file mode 100644 index 00000000000000..949928947c1314 Binary files /dev/null and b/packages/expo-dev-client-components/assets/performance-icon@2x.png differ diff --git a/packages/expo-dev-client-components/assets/performance-icon@3x.png b/packages/expo-dev-client-components/assets/performance-icon@3x.png new file mode 100644 index 00000000000000..e686fd0a953b3d Binary files /dev/null and b/packages/expo-dev-client-components/assets/performance-icon@3x.png differ diff --git a/packages/expo-dev-client-components/assets/run-icon.png b/packages/expo-dev-client-components/assets/run-icon.png new file mode 100644 index 00000000000000..c0b7311ad6d3b0 Binary files /dev/null and b/packages/expo-dev-client-components/assets/run-icon.png differ diff --git a/packages/expo-dev-client-components/assets/run-icon@2x.png b/packages/expo-dev-client-components/assets/run-icon@2x.png new file mode 100644 index 00000000000000..9e65f6a4195f7a Binary files /dev/null and b/packages/expo-dev-client-components/assets/run-icon@2x.png differ diff --git a/packages/expo-dev-client-components/assets/run-icon@3x.png b/packages/expo-dev-client-components/assets/run-icon@3x.png new file mode 100644 index 00000000000000..88b6cf8c045566 Binary files /dev/null and b/packages/expo-dev-client-components/assets/run-icon@3x.png differ diff --git a/packages/expo-dev-client-components/build/Button.d.ts b/packages/expo-dev-client-components/build/Button.d.ts index a09685050c7b12..2ed9f4f29ac167 100644 --- a/packages/expo-dev-client-components/build/Button.d.ts +++ b/packages/expo-dev-client-components/build/Button.d.ts @@ -50,3 +50,4 @@ declare type ScalingPressableProps = { }; declare function ScaleOnPressContainer({ minScale, ...props }: React.ComponentProps & ScalingPressableProps): JSX.Element; export {}; +//# sourceMappingURL=Button.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/Button.d.ts.map b/packages/expo-dev-client-components/build/Button.d.ts.map new file mode 100644 index 00000000000000..2635d932f4f549 --- /dev/null +++ b/packages/expo-dev-client-components/build/Button.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA4C,QAAQ,EAAkB,MAAM,cAAc,CAAC;AAiDlG,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;6TAgDb,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlB,CAAC;AAEF,aAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAkCF,iBAAS,qBAAqB,CAAC,EAC7B,QAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG,qBAAqB,eAoDhE"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/Image.d.ts b/packages/expo-dev-client-components/build/Image.d.ts index a673dd919eb348..3ec180916493da 100644 --- a/packages/expo-dev-client-components/build/Image.d.ts +++ b/packages/expo-dev-client-components/build/Image.d.ts @@ -5,3 +5,4 @@ export declare const Image: import("react").ForwardRefExoticComponent>; +//# sourceMappingURL=Image.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/Image.d.ts.map b/packages/expo-dev-client-components/build/Image.d.ts.map new file mode 100644 index 00000000000000..aba4f9bb4ba900 --- /dev/null +++ b/packages/expo-dev-client-components/build/Image.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../src/Image.tsx"],"names":[],"mappings":";AAMA,eAAO,MAAM,KAAK;;;;;qEAmChB,CAAC"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/Text.d.ts b/packages/expo-dev-client-components/build/Text.d.ts index 03b73b282f7ed7..07ff984e3d341d 100644 --- a/packages/expo-dev-client-components/build/Text.d.ts +++ b/packages/expo-dev-client-components/build/Text.d.ts @@ -29,3 +29,4 @@ export declare const TextInput: import("react").ForwardRefExoticComponent>; +//# sourceMappingURL=Text.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/Text.d.ts.map b/packages/expo-dev-client-components/build/Text.d.ts.map new file mode 100644 index 00000000000000..61c46b88835055 --- /dev/null +++ b/packages/expo-dev-client-components/build/Text.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../src/Text.tsx"],"names":[],"mappings":";AAMA,eAAO,MAAM,OAAO;;;;;;;;;oEAkClB,CAAC;AAEH,eAAO,MAAM,IAAI;;;;;;;;;oEAkBf,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;yEAepB,CAAC"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/View.d.ts b/packages/expo-dev-client-components/build/View.d.ts index 27906fbd8dfc74..07506d479e016a 100644 --- a/packages/expo-dev-client-components/build/View.d.ts +++ b/packages/expo-dev-client-components/build/View.d.ts @@ -59,3 +59,4 @@ export declare const StatusIndicator: import("react").ForwardRefExoticComponent< status?: "default" | "error" | "warning" | "success" | "info" | undefined; size?: "small" | "medium" | undefined; } & import("react").RefAttributes>; +//# sourceMappingURL=View.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/View.d.ts.map b/packages/expo-dev-client-components/build/View.d.ts.map new file mode 100644 index 00000000000000..2bd22fb33c84d7 --- /dev/null +++ b/packages/expo-dev-client-components/build/View.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../src/View.tsx"],"names":[],"mappings":";AAMA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;oEA4Ef,CAAC;AAEH,eAAO,MAAM,GAAG;;;;;;;;;;;oEAuBd,CAAC;AA8BH,eAAO,MAAM,MAAM;;;;;;;;;;;CAGlB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;oEAqBlB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;oEAoC1B,CAAC"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/CheckIcon.d.ts b/packages/expo-dev-client-components/build/icons/CheckIcon.d.ts index 40c308fbba0592..e7c83a1b52cec0 100644 --- a/packages/expo-dev-client-components/build/icons/CheckIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/CheckIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function CheckIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=CheckIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/CheckIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/CheckIcon.d.ts.map new file mode 100644 index 00000000000000..ec231844bff359 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/CheckIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CheckIcon.d.ts","sourceRoot":"","sources":["../../src/icons/CheckIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAE3E"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ChevronRightIcon.d.ts b/packages/expo-dev-client-components/build/icons/ChevronRightIcon.d.ts index 4a7d2851492914..be777adbafbe71 100644 --- a/packages/expo-dev-client-components/build/icons/ChevronRightIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/ChevronRightIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function ChevronRightIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=ChevronRightIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ChevronRightIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/ChevronRightIcon.d.ts.map new file mode 100644 index 00000000000000..1627c04ce66245 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/ChevronRightIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ChevronRightIcon.d.ts","sourceRoot":"","sources":["../../src/icons/ChevronRightIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAElF"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ClipboardIcon.d.ts b/packages/expo-dev-client-components/build/icons/ClipboardIcon.d.ts new file mode 100644 index 00000000000000..e6d43f115c6a7f --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/ClipboardIcon.d.ts @@ -0,0 +1,4 @@ +import * as React from 'react'; +import { Image } from '../Image'; +export declare function ClipboardIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=ClipboardIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ClipboardIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/ClipboardIcon.d.ts.map new file mode 100644 index 00000000000000..e21d172bf7d996 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/ClipboardIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ClipboardIcon.d.ts","sourceRoot":"","sources":["../../src/icons/ClipboardIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAE/E"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ClipboardIcon.js b/packages/expo-dev-client-components/build/icons/ClipboardIcon.js new file mode 100644 index 00000000000000..b8a0348a149561 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/ClipboardIcon.js @@ -0,0 +1,7 @@ +import * as React from 'react'; +import { Image } from '../Image'; +const icon = require('../../assets/clipboard-icon.png'); +export function ClipboardIcon(props) { + return React.createElement(Image, { source: icon, ...props }); +} +//# sourceMappingURL=ClipboardIcon.js.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ClipboardIcon.js.map b/packages/expo-dev-client-components/build/icons/ClipboardIcon.js.map new file mode 100644 index 00000000000000..601a266ee0c5e9 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/ClipboardIcon.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ClipboardIcon.js","sourceRoot":"","sources":["../../src/icons/ClipboardIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,IAAI,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;AAExD,MAAM,UAAU,aAAa,CAAC,KAAkD;IAC9E,OAAO,oBAAC,KAAK,IAAC,MAAM,EAAE,IAAI,KAAM,KAAK,GAAI,CAAC;AAC5C,CAAC","sourcesContent":["import * as React from 'react';\n\nimport { Image } from '../Image';\n\nconst icon = require('../../assets/clipboard-icon.png');\n\nexport function ClipboardIcon(props: Partial>) {\n return ;\n}\n"]} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/DebugIcon.d.ts b/packages/expo-dev-client-components/build/icons/DebugIcon.d.ts new file mode 100644 index 00000000000000..8188150d3b92a7 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/DebugIcon.d.ts @@ -0,0 +1,4 @@ +import * as React from 'react'; +import { Image } from '../Image'; +export declare function DebugIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=DebugIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/DebugIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/DebugIcon.d.ts.map new file mode 100644 index 00000000000000..daf96b7592f1b0 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/DebugIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DebugIcon.d.ts","sourceRoot":"","sources":["../../src/icons/DebugIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAE3E"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/DebugIcon.js b/packages/expo-dev-client-components/build/icons/DebugIcon.js new file mode 100644 index 00000000000000..61494bf20c1173 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/DebugIcon.js @@ -0,0 +1,7 @@ +import * as React from 'react'; +import { Image } from '../Image'; +const icon = require('../../assets/debug-icon.png'); +export function DebugIcon(props) { + return React.createElement(Image, { source: icon, ...props }); +} +//# sourceMappingURL=DebugIcon.js.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/DebugIcon.js.map b/packages/expo-dev-client-components/build/icons/DebugIcon.js.map new file mode 100644 index 00000000000000..08a5b45b706dc9 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/DebugIcon.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DebugIcon.js","sourceRoot":"","sources":["../../src/icons/DebugIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,IAAI,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAEpD,MAAM,UAAU,SAAS,CAAC,KAAkD;IAC1E,OAAO,oBAAC,KAAK,IAAC,MAAM,EAAE,IAAI,KAAM,KAAK,GAAI,CAAC;AAC5C,CAAC","sourcesContent":["import * as React from 'react';\n\nimport { Image } from '../Image';\n\nconst icon = require('../../assets/debug-icon.png');\n\nexport function DebugIcon(props: Partial>) {\n return ;\n}\n"]} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ExpoLogoIcon.d.ts b/packages/expo-dev-client-components/build/icons/ExpoLogoIcon.d.ts index 6b2fcfd8601d4e..f161c7298a981e 100644 --- a/packages/expo-dev-client-components/build/icons/ExpoLogoIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/ExpoLogoIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function ExpoLogoIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=ExpoLogoIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ExpoLogoIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/ExpoLogoIcon.d.ts.map new file mode 100644 index 00000000000000..e97887fce1fe6b --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/ExpoLogoIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpoLogoIcon.d.ts","sourceRoot":"","sources":["../../src/icons/ExpoLogoIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAE9E"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/HomeFilledIcon.d.ts b/packages/expo-dev-client-components/build/icons/HomeFilledIcon.d.ts index 420f25bf22a4c0..8a48944b0cc031 100644 --- a/packages/expo-dev-client-components/build/icons/HomeFilledIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/HomeFilledIcon.d.ts @@ -5,3 +5,4 @@ declare type TabBarIconProps = Partial> & { }; export declare function HomeFilledIcon(props: TabBarIconProps): JSX.Element; export {}; +//# sourceMappingURL=HomeFilledIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/HomeFilledIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/HomeFilledIcon.d.ts.map new file mode 100644 index 00000000000000..4f89411f4a477e --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/HomeFilledIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"HomeFilledIcon.d.ts","sourceRoot":"","sources":["../../src/icons/HomeFilledIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAKjC,aAAK,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,eAGpD"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/InfoIcon.d.ts b/packages/expo-dev-client-components/build/icons/InfoIcon.d.ts index b0ce30df942cb5..34fab0478a937d 100644 --- a/packages/expo-dev-client-components/build/icons/InfoIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/InfoIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function InfoIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=InfoIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/InfoIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/InfoIcon.d.ts.map new file mode 100644 index 00000000000000..c4119eda56b835 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/InfoIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"InfoIcon.d.ts","sourceRoot":"","sources":["../../src/icons/InfoIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAE1E"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/InspectElementIcon.d.ts b/packages/expo-dev-client-components/build/icons/InspectElementIcon.d.ts new file mode 100644 index 00000000000000..877a61cbaa734c --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/InspectElementIcon.d.ts @@ -0,0 +1,4 @@ +import * as React from 'react'; +import { Image } from '../Image'; +export declare function InspectElementIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=InspectElementIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/InspectElementIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/InspectElementIcon.d.ts.map new file mode 100644 index 00000000000000..18219a039d7dd7 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/InspectElementIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"InspectElementIcon.d.ts","sourceRoot":"","sources":["../../src/icons/InspectElementIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAEpF"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/InspectElementIcon.js b/packages/expo-dev-client-components/build/icons/InspectElementIcon.js new file mode 100644 index 00000000000000..a2671aaba4b959 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/InspectElementIcon.js @@ -0,0 +1,7 @@ +import * as React from 'react'; +import { Image } from '../Image'; +const icon = require('../../assets/inspect-element-icon.png'); +export function InspectElementIcon(props) { + return React.createElement(Image, { source: icon, ...props }); +} +//# sourceMappingURL=InspectElementIcon.js.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/InspectElementIcon.js.map b/packages/expo-dev-client-components/build/icons/InspectElementIcon.js.map new file mode 100644 index 00000000000000..63e0bd1efb2a25 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/InspectElementIcon.js.map @@ -0,0 +1 @@ +{"version":3,"file":"InspectElementIcon.js","sourceRoot":"","sources":["../../src/icons/InspectElementIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,IAAI,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AAE9D,MAAM,UAAU,kBAAkB,CAAC,KAAkD;IACnF,OAAO,oBAAC,KAAK,IAAC,MAAM,EAAE,IAAI,KAAM,KAAK,GAAI,CAAC;AAC5C,CAAC","sourcesContent":["import * as React from 'react';\n\nimport { Image } from '../Image';\n\nconst icon = require('../../assets/inspect-element-icon.png');\n\nexport function InspectElementIcon(props: Partial>) {\n return ;\n}\n"]} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/PerformanceIcon.d.ts b/packages/expo-dev-client-components/build/icons/PerformanceIcon.d.ts new file mode 100644 index 00000000000000..a0ecf0c05eaba1 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/PerformanceIcon.d.ts @@ -0,0 +1,4 @@ +import * as React from 'react'; +import { Image } from '../Image'; +export declare function PerformanceIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=PerformanceIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/PerformanceIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/PerformanceIcon.d.ts.map new file mode 100644 index 00000000000000..e625e031ac4220 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/PerformanceIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceIcon.d.ts","sourceRoot":"","sources":["../../src/icons/PerformanceIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAEjF"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/PerformanceIcon.js b/packages/expo-dev-client-components/build/icons/PerformanceIcon.js new file mode 100644 index 00000000000000..e4a7cda25563ed --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/PerformanceIcon.js @@ -0,0 +1,7 @@ +import * as React from 'react'; +import { Image } from '../Image'; +const icon = require('../../assets/performance-icon.png'); +export function PerformanceIcon(props) { + return React.createElement(Image, { source: icon, ...props }); +} +//# sourceMappingURL=PerformanceIcon.js.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/PerformanceIcon.js.map b/packages/expo-dev-client-components/build/icons/PerformanceIcon.js.map new file mode 100644 index 00000000000000..9ec685a0226dc1 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/PerformanceIcon.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceIcon.js","sourceRoot":"","sources":["../../src/icons/PerformanceIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,IAAI,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAE1D,MAAM,UAAU,eAAe,CAAC,KAAkD;IAChF,OAAO,oBAAC,KAAK,IAAC,MAAM,EAAE,IAAI,KAAM,KAAK,GAAI,CAAC;AAC5C,CAAC","sourcesContent":["import * as React from 'react';\n\nimport { Image } from '../Image';\n\nconst icon = require('../../assets/performance-icon.png');\n\nexport function PerformanceIcon(props: Partial>) {\n return ;\n}\n"]} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/QuestionMarkIcon.d.ts b/packages/expo-dev-client-components/build/icons/QuestionMarkIcon.d.ts index 17a939c06edd10..7ef9c406b6eefe 100644 --- a/packages/expo-dev-client-components/build/icons/QuestionMarkIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/QuestionMarkIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function QuestionMarkIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=QuestionMarkIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/QuestionMarkIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/QuestionMarkIcon.d.ts.map new file mode 100644 index 00000000000000..805065a0c9a60d --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/QuestionMarkIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"QuestionMarkIcon.d.ts","sourceRoot":"","sources":["../../src/icons/QuestionMarkIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAElF"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/RefreshIcon.d.ts b/packages/expo-dev-client-components/build/icons/RefreshIcon.d.ts index a966ae4e21d69f..568b667ffec392 100644 --- a/packages/expo-dev-client-components/build/icons/RefreshIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/RefreshIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function RefreshIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=RefreshIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/RefreshIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/RefreshIcon.d.ts.map new file mode 100644 index 00000000000000..5ac4f413eb2279 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/RefreshIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RefreshIcon.d.ts","sourceRoot":"","sources":["../../src/icons/RefreshIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAE7E"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/RunIcon.d.ts b/packages/expo-dev-client-components/build/icons/RunIcon.d.ts new file mode 100644 index 00000000000000..e7848b35dc685e --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/RunIcon.d.ts @@ -0,0 +1,4 @@ +import * as React from 'react'; +import { Image } from '../Image'; +export declare function RunIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=RunIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/RunIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/RunIcon.d.ts.map new file mode 100644 index 00000000000000..f63d85df1737fc --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/RunIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RunIcon.d.ts","sourceRoot":"","sources":["../../src/icons/RunIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAEzE"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/RunIcon.js b/packages/expo-dev-client-components/build/icons/RunIcon.js new file mode 100644 index 00000000000000..51db1bc35a979d --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/RunIcon.js @@ -0,0 +1,7 @@ +import * as React from 'react'; +import { Image } from '../Image'; +const icon = require('../../assets/run-icon.png'); +export function RunIcon(props) { + return React.createElement(Image, { source: icon, ...props }); +} +//# sourceMappingURL=RunIcon.js.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/RunIcon.js.map b/packages/expo-dev-client-components/build/icons/RunIcon.js.map new file mode 100644 index 00000000000000..5607b25a01eda6 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/RunIcon.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RunIcon.js","sourceRoot":"","sources":["../../src/icons/RunIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,IAAI,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAElD,MAAM,UAAU,OAAO,CAAC,KAAkD;IACxE,OAAO,oBAAC,KAAK,IAAC,MAAM,EAAE,IAAI,KAAM,KAAK,GAAI,CAAC;AAC5C,CAAC","sourcesContent":["import * as React from 'react';\n\nimport { Image } from '../Image';\n\nconst icon = require('../../assets/run-icon.png');\n\nexport function RunIcon(props: Partial>) {\n return ;\n}\n"]} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/SettingsFilledIcon.d.ts b/packages/expo-dev-client-components/build/icons/SettingsFilledIcon.d.ts index 5cd3f13a2cadec..d654dda4a9ec71 100644 --- a/packages/expo-dev-client-components/build/icons/SettingsFilledIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/SettingsFilledIcon.d.ts @@ -5,3 +5,4 @@ declare type TabBarIconProps = Partial> & { }; export declare function SettingsFilledIcon(props: TabBarIconProps): JSX.Element; export {}; +//# sourceMappingURL=SettingsFilledIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/SettingsFilledIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/SettingsFilledIcon.d.ts.map new file mode 100644 index 00000000000000..cbb72f473377ff --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/SettingsFilledIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SettingsFilledIcon.d.ts","sourceRoot":"","sources":["../../src/icons/SettingsFilledIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAKjC,aAAK,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,eAGxD"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ShakeDeviceIcon.d.ts b/packages/expo-dev-client-components/build/icons/ShakeDeviceIcon.d.ts index f151c6c143d24b..6de86dc6de23af 100644 --- a/packages/expo-dev-client-components/build/icons/ShakeDeviceIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/ShakeDeviceIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function ShakeDeviceIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=ShakeDeviceIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ShakeDeviceIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/ShakeDeviceIcon.d.ts.map new file mode 100644 index 00000000000000..3d06373246e04c --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/ShakeDeviceIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ShakeDeviceIcon.d.ts","sourceRoot":"","sources":["../../src/icons/ShakeDeviceIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAEjF"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ShowMenuIcon.d.ts b/packages/expo-dev-client-components/build/icons/ShowMenuIcon.d.ts index b10eee1e878cdc..26eeef53da51c2 100644 --- a/packages/expo-dev-client-components/build/icons/ShowMenuIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/ShowMenuIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function ShowMenuIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=ShowMenuIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ShowMenuIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/ShowMenuIcon.d.ts.map new file mode 100644 index 00000000000000..40c393bcc806d1 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/ShowMenuIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ShowMenuIcon.d.ts","sourceRoot":"","sources":["../../src/icons/ShowMenuIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAE9E"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/TerminalIcon.d.ts b/packages/expo-dev-client-components/build/icons/TerminalIcon.d.ts index 6bb93670d84642..a1a533e0e0fdc4 100644 --- a/packages/expo-dev-client-components/build/icons/TerminalIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/TerminalIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function TerminalIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=TerminalIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/TerminalIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/TerminalIcon.d.ts.map new file mode 100644 index 00000000000000..ee922da8f10cd7 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/TerminalIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TerminalIcon.d.ts","sourceRoot":"","sources":["../../src/icons/TerminalIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAE9E"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ThreeFingerPressIcon.d.ts b/packages/expo-dev-client-components/build/icons/ThreeFingerPressIcon.d.ts index abe2abcac3dbd5..8e5301932f22a5 100644 --- a/packages/expo-dev-client-components/build/icons/ThreeFingerPressIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/ThreeFingerPressIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function ThreeFingerPressIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=ThreeFingerPressIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ThreeFingerPressIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/ThreeFingerPressIcon.d.ts.map new file mode 100644 index 00000000000000..bc5f4d528b6045 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/ThreeFingerPressIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ThreeFingerPressIcon.d.ts","sourceRoot":"","sources":["../../src/icons/ThreeFingerPressIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAEtF"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ToolbarOverlayIcon.d.ts b/packages/expo-dev-client-components/build/icons/ToolbarOverlayIcon.d.ts index b2726f078d92a4..d9c36429ba714e 100644 --- a/packages/expo-dev-client-components/build/icons/ToolbarOverlayIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/ToolbarOverlayIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function ToolbarOverlayIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=ToolbarOverlayIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/ToolbarOverlayIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/ToolbarOverlayIcon.d.ts.map new file mode 100644 index 00000000000000..730d5e624f16f7 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/ToolbarOverlayIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ToolbarOverlayIcon.d.ts","sourceRoot":"","sources":["../../src/icons/ToolbarOverlayIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAEpF"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/UserIcon.d.ts b/packages/expo-dev-client-components/build/icons/UserIcon.d.ts index 41caf9bb72250a..0e9f04634679bc 100644 --- a/packages/expo-dev-client-components/build/icons/UserIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/UserIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function UserIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=UserIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/UserIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/UserIcon.d.ts.map new file mode 100644 index 00000000000000..b315624e491852 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/UserIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"UserIcon.d.ts","sourceRoot":"","sources":["../../src/icons/UserIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAE1E"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/XIcon.d.ts b/packages/expo-dev-client-components/build/icons/XIcon.d.ts index 7bc14193a5b39e..1a932bbcf9189c 100644 --- a/packages/expo-dev-client-components/build/icons/XIcon.d.ts +++ b/packages/expo-dev-client-components/build/icons/XIcon.d.ts @@ -1,3 +1,4 @@ import * as React from 'react'; import { Image } from '../Image'; export declare function XIcon(props: Partial>): JSX.Element; +//# sourceMappingURL=XIcon.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/XIcon.d.ts.map b/packages/expo-dev-client-components/build/icons/XIcon.d.ts.map new file mode 100644 index 00000000000000..c7e8c776f6c0e6 --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/XIcon.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"XIcon.d.ts","sourceRoot":"","sources":["../../src/icons/XIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,eAEvE"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/index.d.ts b/packages/expo-dev-client-components/build/icons/index.d.ts index f7cd832817a684..79e5d445abd617 100644 --- a/packages/expo-dev-client-components/build/icons/index.d.ts +++ b/packages/expo-dev-client-components/build/icons/index.d.ts @@ -1,15 +1,21 @@ export * from './CheckIcon'; export * from './ChevronRightIcon'; +export * from './ClipboardIcon'; +export * from './DebugIcon'; export * from './ExpoLogoIcon'; export * from './HomeFilledIcon'; export * from './InfoIcon'; +export * from './InspectElementIcon'; +export * from './PerformanceIcon'; export * from './QuestionMarkIcon'; export * from './RefreshIcon'; +export * from './RunIcon'; +export * from './SettingsFilledIcon'; export * from './ShakeDeviceIcon'; export * from './ShowMenuIcon'; -export * from './SettingsFilledIcon'; export * from './TerminalIcon'; export * from './ThreeFingerPressIcon'; export * from './ToolbarOverlayIcon'; export * from './UserIcon'; export * from './XIcon'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/index.d.ts.map b/packages/expo-dev-client-components/build/icons/index.d.ts.map new file mode 100644 index 00000000000000..22029e88078b7b --- /dev/null +++ b/packages/expo-dev-client-components/build/icons/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/icons/index.js b/packages/expo-dev-client-components/build/icons/index.js index f157b08a3dcfbb..88bac230714230 100644 --- a/packages/expo-dev-client-components/build/icons/index.js +++ b/packages/expo-dev-client-components/build/icons/index.js @@ -1,13 +1,18 @@ export * from './CheckIcon'; export * from './ChevronRightIcon'; +export * from './ClipboardIcon'; +export * from './DebugIcon'; export * from './ExpoLogoIcon'; export * from './HomeFilledIcon'; export * from './InfoIcon'; +export * from './InspectElementIcon'; +export * from './PerformanceIcon'; export * from './QuestionMarkIcon'; export * from './RefreshIcon'; +export * from './RunIcon'; +export * from './SettingsFilledIcon'; export * from './ShakeDeviceIcon'; export * from './ShowMenuIcon'; -export * from './SettingsFilledIcon'; export * from './TerminalIcon'; export * from './ThreeFingerPressIcon'; export * from './ToolbarOverlayIcon'; diff --git a/packages/expo-dev-client-components/build/icons/index.js.map b/packages/expo-dev-client-components/build/icons/index.js.map index e6a966b4e3b4d6..0203c9a18ad34e 100644 --- a/packages/expo-dev-client-components/build/icons/index.js.map +++ b/packages/expo-dev-client-components/build/icons/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC","sourcesContent":["export * from './CheckIcon';\nexport * from './ChevronRightIcon';\nexport * from './ExpoLogoIcon';\nexport * from './HomeFilledIcon';\nexport * from './InfoIcon';\nexport * from './QuestionMarkIcon';\nexport * from './RefreshIcon';\nexport * from './ShakeDeviceIcon';\nexport * from './ShowMenuIcon';\nexport * from './SettingsFilledIcon';\nexport * from './TerminalIcon';\nexport * from './ThreeFingerPressIcon';\nexport * from './ToolbarOverlayIcon';\nexport * from './UserIcon';\nexport * from './XIcon';\n"]} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC","sourcesContent":["export * from './CheckIcon';\nexport * from './ChevronRightIcon';\nexport * from './ClipboardIcon';\nexport * from './DebugIcon';\nexport * from './ExpoLogoIcon';\nexport * from './HomeFilledIcon';\nexport * from './InfoIcon';\nexport * from './InspectElementIcon';\nexport * from './PerformanceIcon';\nexport * from './QuestionMarkIcon';\nexport * from './RefreshIcon';\nexport * from './RunIcon';\nexport * from './SettingsFilledIcon';\nexport * from './ShakeDeviceIcon';\nexport * from './ShowMenuIcon';\nexport * from './TerminalIcon';\nexport * from './ThreeFingerPressIcon';\nexport * from './ToolbarOverlayIcon';\nexport * from './UserIcon';\nexport * from './XIcon';\n"]} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/index.d.ts b/packages/expo-dev-client-components/build/index.d.ts index d8dacbfd34ef84..bef0996193c70e 100644 --- a/packages/expo-dev-client-components/build/index.d.ts +++ b/packages/expo-dev-client-components/build/index.d.ts @@ -5,3 +5,4 @@ export * from './Text'; export * from './theme'; export * from './View'; export * from './useExpoTheme'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/index.d.ts.map b/packages/expo-dev-client-components/build/index.d.ts.map new file mode 100644 index 00000000000000..a57fae2b97946c --- /dev/null +++ b/packages/expo-dev-client-components/build/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/theme.d.ts b/packages/expo-dev-client-components/build/theme.d.ts index 9b197b6242e957..703f3a2a60a1d3 100644 --- a/packages/expo-dev-client-components/build/theme.d.ts +++ b/packages/expo-dev-client-components/build/theme.d.ts @@ -343,3 +343,4 @@ declare type NavigationTheme = { export declare const lightNavigationTheme: NavigationTheme; export declare const darkNavigationTheme: NavigationTheme; export {}; +//# sourceMappingURL=theme.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/theme.d.ts.map b/packages/expo-dev-client-components/build/theme.d.ts.map new file mode 100644 index 00000000000000..5829f2cd4085ef --- /dev/null +++ b/packages/expo-dev-client-components/build/theme.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK;;;;;;;CAOjB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BnB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCnB,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDhB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;CAapB,CAAC;AAEF,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;CAOd,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;CAMlB,CAAC;AAEF,aAAK,eAAe,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAUlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eAUjC,CAAC"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/useExpoTheme.d.ts b/packages/expo-dev-client-components/build/useExpoTheme.d.ts index eb651c258a9d74..d19675f9fc8cae 100644 --- a/packages/expo-dev-client-components/build/useExpoTheme.d.ts +++ b/packages/expo-dev-client-components/build/useExpoTheme.d.ts @@ -2,3 +2,4 @@ import { lightTheme } from '@expo/styleguide-native'; declare type ExpoTheme = typeof lightTheme; export declare function useExpoTheme(): ExpoTheme; export {}; +//# sourceMappingURL=useExpoTheme.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client-components/build/useExpoTheme.d.ts.map b/packages/expo-dev-client-components/build/useExpoTheme.d.ts.map new file mode 100644 index 00000000000000..ff89369f4e85b5 --- /dev/null +++ b/packages/expo-dev-client-components/build/useExpoTheme.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useExpoTheme.d.ts","sourceRoot":"","sources":["../src/useExpoTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,yBAAyB,CAAC;AAGhE,aAAK,SAAS,GAAG,OAAO,UAAU,CAAC;AAEnC,wBAAgB,YAAY,IAAI,SAAS,CAQxC"} \ No newline at end of file diff --git a/packages/expo-dev-client-components/src/icons/ClipboardIcon.tsx b/packages/expo-dev-client-components/src/icons/ClipboardIcon.tsx new file mode 100644 index 00000000000000..cfd4a06bd0b7a8 --- /dev/null +++ b/packages/expo-dev-client-components/src/icons/ClipboardIcon.tsx @@ -0,0 +1,9 @@ +import * as React from 'react'; + +import { Image } from '../Image'; + +const icon = require('../../assets/clipboard-icon.png'); + +export function ClipboardIcon(props: Partial>) { + return ; +} diff --git a/packages/expo-dev-client-components/src/icons/DebugIcon.tsx b/packages/expo-dev-client-components/src/icons/DebugIcon.tsx new file mode 100644 index 00000000000000..721dd1b4a7d221 --- /dev/null +++ b/packages/expo-dev-client-components/src/icons/DebugIcon.tsx @@ -0,0 +1,9 @@ +import * as React from 'react'; + +import { Image } from '../Image'; + +const icon = require('../../assets/debug-icon.png'); + +export function DebugIcon(props: Partial>) { + return ; +} diff --git a/packages/expo-dev-client-components/src/icons/InspectElementIcon.tsx b/packages/expo-dev-client-components/src/icons/InspectElementIcon.tsx new file mode 100644 index 00000000000000..aed7926de49161 --- /dev/null +++ b/packages/expo-dev-client-components/src/icons/InspectElementIcon.tsx @@ -0,0 +1,9 @@ +import * as React from 'react'; + +import { Image } from '../Image'; + +const icon = require('../../assets/inspect-element-icon.png'); + +export function InspectElementIcon(props: Partial>) { + return ; +} diff --git a/packages/expo-dev-client-components/src/icons/PerformanceIcon.tsx b/packages/expo-dev-client-components/src/icons/PerformanceIcon.tsx new file mode 100644 index 00000000000000..f9a9852555430c --- /dev/null +++ b/packages/expo-dev-client-components/src/icons/PerformanceIcon.tsx @@ -0,0 +1,9 @@ +import * as React from 'react'; + +import { Image } from '../Image'; + +const icon = require('../../assets/performance-icon.png'); + +export function PerformanceIcon(props: Partial>) { + return ; +} diff --git a/packages/expo-dev-client-components/src/icons/RunIcon.tsx b/packages/expo-dev-client-components/src/icons/RunIcon.tsx new file mode 100644 index 00000000000000..4771ae9fb38c69 --- /dev/null +++ b/packages/expo-dev-client-components/src/icons/RunIcon.tsx @@ -0,0 +1,9 @@ +import * as React from 'react'; + +import { Image } from '../Image'; + +const icon = require('../../assets/run-icon.png'); + +export function RunIcon(props: Partial>) { + return ; +} diff --git a/packages/expo-dev-client-components/src/icons/index.ts b/packages/expo-dev-client-components/src/icons/index.ts index f7cd832817a684..bd8d0c27eba5f4 100644 --- a/packages/expo-dev-client-components/src/icons/index.ts +++ b/packages/expo-dev-client-components/src/icons/index.ts @@ -1,13 +1,18 @@ export * from './CheckIcon'; export * from './ChevronRightIcon'; +export * from './ClipboardIcon'; +export * from './DebugIcon'; export * from './ExpoLogoIcon'; export * from './HomeFilledIcon'; export * from './InfoIcon'; +export * from './InspectElementIcon'; +export * from './PerformanceIcon'; export * from './QuestionMarkIcon'; export * from './RefreshIcon'; +export * from './RunIcon'; +export * from './SettingsFilledIcon'; export * from './ShakeDeviceIcon'; export * from './ShowMenuIcon'; -export * from './SettingsFilledIcon'; export * from './TerminalIcon'; export * from './ThreeFingerPressIcon'; export * from './ToolbarOverlayIcon'; diff --git a/packages/expo-dev-client/CHANGELOG.md b/packages/expo-dev-client/CHANGELOG.md index ab1a2f8eebea4b..06ff3cf012ed90 100644 --- a/packages/expo-dev-client/CHANGELOG.md +++ b/packages/expo-dev-client/CHANGELOG.md @@ -10,6 +10,10 @@ ### ๐Ÿ’ก Others +## 0.8.1 โ€” 2022-01-17 + +_This version does not introduce any user-facing changes._ + ## 0.8.0 โ€” 2021-12-22 ### ๐Ÿ’ก Others diff --git a/packages/expo-dev-client/android/build.gradle b/packages/expo-dev-client/android/build.gradle index 54e54d1ec686ca..7d1dab3cbc7af2 100644 --- a/packages/expo-dev-client/android/build.gradle +++ b/packages/expo-dev-client/android/build.gradle @@ -13,7 +13,7 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet('kotlinVersion', '1.4.21')}") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet('kotlinVersion', '1.6.10')}") } } @@ -23,7 +23,7 @@ android { minSdkVersion safeExtGet('minSdkVersion', 21) targetSdkVersion safeExtGet('targetSdkVersion', 30) versionCode 1 - versionName "0.8.0" + versionName "0.8.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/packages/expo-dev-client/android/src/androidTest/java/com/expo/modules/devclient/consts/BundledAppManifest.kt b/packages/expo-dev-client/android/src/androidTest/java/com/expo/modules/devclient/consts/BundledAppManifest.kt index b9b77743e5117b..9f334466dd337d 100644 --- a/packages/expo-dev-client/android/src/androidTest/java/com/expo/modules/devclient/consts/BundledAppManifest.kt +++ b/packages/expo-dev-client/android/src/androidTest/java/com/expo/modules/devclient/consts/BundledAppManifest.kt @@ -15,7 +15,7 @@ val BundledAppManifest = """ "scheme":"myapp", "splash":{ "image":"./assets/images/splash.png", - "imageUrl":"https://d1wp6m56sqw74a.cloudfront.net/~assets/201a91bd1740bb1d6a1dbad049310724", + "imageUrl":"https://classic-assets.eascdn.net/~assets/201a91bd1740bb1d6a1dbad049310724", "resizeMode":"contain", "backgroundColor":"#ffffff" }, @@ -24,10 +24,10 @@ val BundledAppManifest = """ "adaptiveIcon":{ "backgroundColor":"#ffffff", "foregroundImage":"./assets/images/adaptive-icon.png", - "foregroundImageUrl":"https://d1wp6m56sqw74a.cloudfront.net/~assets/97dae5a0e62ad8551d8a31897b425e63" + "foregroundImageUrl":"https://classic-assets.eascdn.net/~assets/97dae5a0e62ad8551d8a31897b425e63" } }, - "iconUrl":"https://d1wp6m56sqw74a.cloudfront.net/~assets/4e3f888fc8475f69fd5fa32f1ad5216a", + "iconUrl":"https://classic-assets.eascdn.net/~assets/4e3f888fc8475f69fd5fa32f1ad5216a", "locales":{ }, diff --git a/packages/expo-dev-client/build/DevClient.d.ts b/packages/expo-dev-client/build/DevClient.d.ts index af6bf7bd2eb10e..111ef963d200cc 100644 --- a/packages/expo-dev-client/build/DevClient.d.ts +++ b/packages/expo-dev-client/build/DevClient.d.ts @@ -2,3 +2,4 @@ import * as DevLauncher from 'expo-dev-launcher'; import * as DevMenu from 'expo-dev-menu'; export { DevMenu, DevLauncher }; export declare const registerErrorHandlers: typeof DevLauncher.registerErrorHandlers; +//# sourceMappingURL=DevClient.d.ts.map \ No newline at end of file diff --git a/packages/expo-dev-client/build/DevClient.d.ts.map b/packages/expo-dev-client/build/DevClient.d.ts.map new file mode 100644 index 00000000000000..4bc74472c6cd12 --- /dev/null +++ b/packages/expo-dev-client/build/DevClient.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DevClient.d.ts","sourceRoot":"","sources":["../src/DevClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAEhC,eAAO,MAAM,qBAAqB,0CAAoC,CAAC"} \ No newline at end of file diff --git a/packages/expo-dev-client/package.json b/packages/expo-dev-client/package.json index 46e6c928af4870..34ddc5d45a39aa 100644 --- a/packages/expo-dev-client/package.json +++ b/packages/expo-dev-client/package.json @@ -1,6 +1,6 @@ { "name": "expo-dev-client", - "version": "0.8.0", + "version": "0.8.1", "description": "Expo Development Client", "main": "build/DevClient.js", "types": "build/DevClient.d.ts", @@ -32,9 +32,9 @@ "homepage": "https://docs.expo.dev/clients/introduction/", "dependencies": { "@expo/config-plugins": "^4.0.14", - "expo-dev-launcher": "0.10.0", - "expo-dev-menu": "0.9.0", - "expo-dev-menu-interface": "0.5.0", + "expo-dev-launcher": "0.10.1", + "expo-dev-menu": "0.9.1", + "expo-dev-menu-interface": "0.5.1", "expo-manifests": "~0.2.2", "expo-updates-interface": "~0.5.0" }, diff --git a/packages/expo-dev-launcher/CHANGELOG.md b/packages/expo-dev-launcher/CHANGELOG.md index deedd955ac98f8..a1d0a65a3ebd4e 100644 --- a/packages/expo-dev-launcher/CHANGELOG.md +++ b/packages/expo-dev-launcher/CHANGELOG.md @@ -8,8 +8,17 @@ ### ๐Ÿ› Bug fixes +- Fix build errors on React Native 0.66 caused by `okio` and `okhttp`. ([#15632](https://github.com/expo/expo/pull/15632) by [@kudo](https://github.com/kudo)) + ### ๐Ÿ’ก Others +## 0.10.1 โ€” 2022-01-17 + +### ๐Ÿ› Bug fixes + +- Fix bug on iOS where all URL schemes, rather than just `exp`, were replaced with `http`. ([#15796](https://github.com/expo/expo/pull/15796) by [@esamelson](https://github.com/esamelson)) +- Fix detecting import when using double quotes. ([#15898](https://github.com/expo/expo/pull/15898) by [@janicduplessis](https://github.com/janicduplessis)) + ## 0.10.0 โ€” 2021-12-22 ### ๐ŸŽ‰ New features diff --git a/packages/expo-dev-launcher/android/build.gradle b/packages/expo-dev-launcher/android/build.gradle index 6986ac514e02c8..6a75177a9235d4 100644 --- a/packages/expo-dev-launcher/android/build.gradle +++ b/packages/expo-dev-launcher/android/build.gradle @@ -15,7 +15,7 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet('kotlinVersion', '1.4.21')}") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet('kotlinVersion', '1.6.10')}") } } @@ -25,7 +25,7 @@ android { minSdkVersion safeExtGet('minSdkVersion', 21) targetSdkVersion safeExtGet('targetSdkVersion', 30) versionCode 9 - versionName "0.10.0" + versionName "0.10.1" } lintOptions { @@ -56,7 +56,7 @@ android { main { java { def rnVersion = getRNVersion() - + if (rnVersion >= versionToNumber(0, 66, 0)) { srcDirs += "src/react-native-66" } else if (rnVersion >= versionToNumber(0, 65, 0)) { @@ -112,10 +112,10 @@ dependencies { api "androidx.appcompat:appcompat:1.1.0" api "androidx.lifecycle:lifecycle-extensions:2.2.0" - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${safeExtGet('kotlinVersion', '1.4.21')}" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${safeExtGet('kotlinVersion', '1.6.10')}" implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1") - implementation "org.jetbrains.kotlin:kotlin-reflect:${safeExtGet('kotlinVersion', '1.4.21')}" + implementation "org.jetbrains.kotlin:kotlin-reflect:${safeExtGet('kotlinVersion', '1.6.10')}" api "io.insert-koin:koin-core:3.1.2" @@ -134,7 +134,7 @@ configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested = details.requested if (requested.group == 'org.jetbrains.kotlin') { - details.useVersion safeExtGet('kotlinVersion', '1.4.21') + details.useVersion safeExtGet('kotlinVersion', '1.6.10') } } } @@ -159,3 +159,30 @@ def getRNVersion() { patch ) } + +// [BEGIN] Workaround okhttp/okio compatibility issue +// Remove when we drop support for SDK 44 +def okhttpPinnedArtifacts = [] +configurations.implementation.getDependencies().removeIf { it -> + if (it.group == 'com.squareup.okhttp3' && it.name == 'okhttp') { + okhttpPinnedArtifacts.add(it) + return true + } + return false +} +okhttpPinnedArtifacts.each { artifact -> + dependencies.add('compileOnly', artifact) + dependencies.add('testImplementation', artifact) + configurations.all { conf -> + resolutionStrategy.eachDependency { DependencyResolveDetails details -> + def requested = details.requested + // Only to pin old okhttp in compile phase because mockwebserver requires okhttp4 + if (conf.name.contains('Compile')) { + if (requested.group == artifact.group && requested.name == artifact.name) { + details.useVersion artifact.version + } + } + } + } +} +// [END] Workaround okhttp/okio compatibility issue diff --git a/packages/expo-dev-launcher/android/src/debug/assets/expo_dev_launcher_android.bundle b/packages/expo-dev-launcher/android/src/debug/assets/expo_dev_launcher_android.bundle index f332b8fdc8afd4..7bb9687d9cb9d5 100644 --- a/packages/expo-dev-launcher/android/src/debug/assets/expo_dev_launcher_android.bundle +++ b/packages/expo-dev-launcher/android/src/debug/assets/expo_dev_launcher_android.bundle @@ -1,5 +1,5 @@ -var __BUNDLE_START_TIME__=this.nativePerformanceNow?nativePerformanceNow():Date.now(),__DEV__=false,process=this.process||{};process.env=process.env||{};process.env.NODE_ENV=process.env.NODE_ENV||"production"; -!(function(r){"use strict";r.__r=o,r.__d=function(r,i,n){if(null!=e[i])return;var o={dependencyMap:n,factory:r,hasError:!1,importedAll:t,importedDefault:t,isInitialized:!1,publicModule:{exports:{}}};e[i]=o},r.__c=n,r.__registerSegment=function(r,e){s[r]=e};var e=n(),t={},i={}.hasOwnProperty;function n(){return e=Object.create(null)}function o(r){var t=r,i=e[t];return i&&i.isInitialized?i.publicModule.exports:d(t,i)}function l(r){var i=r;if(e[i]&&e[i].importedDefault!==t)return e[i].importedDefault;var n=o(i),l=n&&n.__esModule?n.default:n;return e[i].importedDefault=l}function u(r){var n=r;if(e[n]&&e[n].importedAll!==t)return e[n].importedAll;var l,u=o(n);if(u&&u.__esModule)l=u;else{if(l={},u)for(var a in u)i.call(u,a)&&(l[a]=u[a]);l.default=u}return e[n].importedAll=l}o.importDefault=l,o.importAll=u;var a=!1;function d(e,t){if(!a&&r.ErrorUtils){var i;a=!0;try{i=v(e,t)}catch(e){r.ErrorUtils.reportFatalError(e)}return a=!1,i}return v(e,t)}var c=16,f=65535;function p(r){return{segmentId:r>>>c,localId:r&f}}o.unpackModuleId=p,o.packModuleId=function(r){return(r.segmentId<0){var n=p(t),a=n.segmentId,d=n.localId,c=s[a];null!=c&&(c(d),i=e[t])}var f=r.nativeRequire;if(!i&&f){var v=p(t),h=v.segmentId;f(v.localId,h),i=e[t]}if(!i)throw Error('Requiring unknown module "'+t+'".');if(i.hasError)throw m(t,i.error);i.isInitialized=!0;var I=i,g=I.factory,y=I.dependencyMap;try{var _=i.publicModule;return _.id=t,g(r,o,l,u,_,_.exports,y),i.factory=void 0,i.dependencyMap=void 0,_.exports}catch(r){throw i.hasError=!0,i.error=r,i.isInitialized=!1,i.publicModule.exports=void 0,r}}function m(r,e){return Error('Requiring module "'+r+'", which threw an exception: '+e)}})('undefined'!=typeof globalThis?globalThis:'undefined'!=typeof global?global:'undefined'!=typeof window?window:this); +var __BUNDLE_START_TIME__=this.nativePerformanceNow?nativePerformanceNow():Date.now(),__DEV__=false,process=this.process||{},__METRO_GLOBAL_PREFIX__='';process.env=process.env||{};process.env.NODE_ENV=process.env.NODE_ENV||"production"; +!(function(r){"use strict";r.__r=o,r[__METRO_GLOBAL_PREFIX__+"__d"]=function(r,i,n){if(null!=e[i])return;var o={dependencyMap:n,factory:r,hasError:!1,importedAll:t,importedDefault:t,isInitialized:!1,publicModule:{exports:{}}};e[i]=o},r.__c=n,r.__registerSegment=function(r,t,i){s[r]=t,i&&i.forEach(function(t){e[t]||v.has(t)||v.set(t,r)})};var e=n(),t={},i={}.hasOwnProperty;function n(){return e=Object.create(null)}function o(r){var t=r,i=e[t];return i&&i.isInitialized?i.publicModule.exports:d(t,i)}function l(r){var i=r;if(e[i]&&e[i].importedDefault!==t)return e[i].importedDefault;var n=o(i),l=n&&n.__esModule?n.default:n;return e[i].importedDefault=l}function u(r){var n=r;if(e[n]&&e[n].importedAll!==t)return e[n].importedAll;var l,u=o(n);if(u&&u.__esModule)l=u;else{if(l={},u)for(var a in u)i.call(u,a)&&(l[a]=u[a]);l.default=u}return e[n].importedAll=l}o.importDefault=l,o.importAll=u;var a=!1;function d(e,t){if(!a&&r.ErrorUtils){var i;a=!0;try{i=h(e,t)}catch(e){r.ErrorUtils.reportFatalError(e)}return a=!1,i}return h(e,t)}var f=16,c=65535;function p(r){return{segmentId:r>>>f,localId:r&c}}o.unpackModuleId=p,o.packModuleId=function(r){return(r.segmentId<0){var n,a=null!==(n=v.get(t))&&void 0!==n?n:0,d=s[a];null!=d&&(d(t),i=e[t],v.delete(t))}var f=r.nativeRequire;if(!i&&f){var c=p(t),h=c.segmentId;f(c.localId,h),i=e[t]}if(!i)throw Error('Requiring unknown module "'+t+'".');if(i.hasError)throw _(t,i.error);i.isInitialized=!0;var m=i,g=m.factory,I=m.dependencyMap;try{var M=i.publicModule;return M.id=t,g(r,o,l,u,M,M.exports,I),i.factory=void 0,i.dependencyMap=void 0,M.exports}catch(r){throw i.hasError=!0,i.error=r,i.isInitialized=!1,i.publicModule.exports=void 0,r}}function _(r,e){return Error('Requiring module "'+r+'", which threw an exception: '+e)}})('undefined'!=typeof globalThis?globalThis:'undefined'!=typeof global?global:'undefined'!=typeof window?window:this); !(function(n){var e=(function(){function n(n,e){return n}function e(n){var e={};return n.forEach(function(n,r){e[n]=!0}),e}function r(n,r,u){if(n.formatValueCalls++,n.formatValueCalls>200)return"[TOO BIG formatValueCalls "+n.formatValueCalls+" exceeded limit of 200]";var f=t(n,r);if(f)return f;var c=Object.keys(r),s=e(c);if(d(r)&&(c.indexOf('message')>=0||c.indexOf('description')>=0))return o(r);if(0===c.length){if(v(r)){var g=r.name?': '+r.name:'';return n.stylize('[Function'+g+']','special')}if(p(r))return n.stylize(RegExp.prototype.toString.call(r),'regexp');if(y(r))return n.stylize(Date.prototype.toString.call(r),'date');if(d(r))return o(r)}var h,b,m='',j=!1,O=['{','}'];(h=r,Array.isArray(h)&&(j=!0,O=['[',']']),v(r))&&(m=' [Function'+(r.name?': '+r.name:'')+']');return p(r)&&(m=' '+RegExp.prototype.toString.call(r)),y(r)&&(m=' '+Date.prototype.toUTCString.call(r)),d(r)&&(m=' '+o(r)),0!==c.length||j&&0!=r.length?u<0?p(r)?n.stylize(RegExp.prototype.toString.call(r),'regexp'):n.stylize('[Object]','special'):(n.seen.push(r),b=j?i(n,r,u,s,c):c.map(function(e){return l(n,r,u,s,e,j)}),n.seen.pop(),a(b,m,O)):O[0]+m+O[1]}function t(n,e){if(s(e))return n.stylize('undefined','undefined');if('string'==typeof e){var r="'"+JSON.stringify(e).replace(/^"|"$/g,'').replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return n.stylize(r,'string')}return c(e)?n.stylize(''+e,'number'):u(e)?n.stylize(''+e,'boolean'):f(e)?n.stylize('null','null'):void 0}function o(n){return'['+Error.prototype.toString.call(n)+']'}function i(n,e,r,t,o){for(var i=[],a=0,u=e.length;a-1&&(u=l?u.split('\n').map(function(n){return' '+n}).join('\n').substr(2):'\n'+u.split('\n').map(function(n){return' '+n}).join('\n')):u=n.stylize('[Circular]','special')),s(a)){if(l&&i.match(/^\d+$/))return u;(a=JSON.stringify(''+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=n.stylize(a,'name')):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=n.stylize(a,'string'))}return a+': '+u}function a(n,e,r){return n.reduce(function(n,e){return 0,e.indexOf('\n')>=0&&0,n+e.replace(/\u001b\[\d\d?m/g,'').length+1},0)>60?r[0]+(''===e?'':e+'\n ')+' '+n.join(',\n ')+' '+r[1]:r[0]+e+' '+n.join(', ')+' '+r[1]}function u(n){return'boolean'==typeof n}function f(n){return null===n}function c(n){return'number'==typeof n}function s(n){return void 0===n}function p(n){return g(n)&&'[object RegExp]'===h(n)}function g(n){return'object'==typeof n&&null!==n}function y(n){return g(n)&&'[object Date]'===h(n)}function d(n){return g(n)&&('[object Error]'===h(n)||n instanceof Error)}function v(n){return'function'==typeof n}function h(n){return Object.prototype.toString.call(n)}function b(n,e){return Object.prototype.hasOwnProperty.call(n,e)}return function(e,t){return r({seen:[],formatValueCalls:0,stylize:n},e,t.depth)}})(),r='(index)',t={trace:0,info:1,warn:2,error:3},o=[];o[t.trace]='debug',o[t.info]='log',o[t.warn]='warning',o[t.error]='error';var i=1;function l(r){return function(){var l;l=1===arguments.length&&'string'==typeof arguments[0]?arguments[0]:Array.prototype.map.call(arguments,function(n){return e(n,{depth:10})}).join(', ');var a=arguments[0],u=r;'string'==typeof a&&'Warning: '===a.slice(0,9)&&u>=t.error&&(u=t.warn),n.__inspectorLog&&n.__inspectorLog(o[u],l,[].slice.call(arguments),i),s.length&&(l=p('',l)),n.nativeLoggingHook(l,u)}}function a(n,e){return Array.apply(null,Array(e)).map(function(){return n})}var u="\u2502",f="\u2510",c="\u2518",s=[];function p(n,e){return s.join('')+n+' '+(e||'')}if(n.nativeLoggingHook){n.console;n.console={error:l(t.error),info:l(t.info),log:l(t.info),warn:l(t.warn),trace:l(t.trace),debug:l(t.trace),table:function(e){if(!Array.isArray(e)){var o=e;for(var i in e=[],o)if(o.hasOwnProperty(i)){var l=o[i];l[r]=i,e.push(l)}}if(0!==e.length){var u=Object.keys(e[0]).sort(),f=[],c=[];u.forEach(function(n,r){c[r]=n.length;for(var t=0;t';return function(){for(var r=arguments.length,u=new Array(r),e=0;e0?s[s.length-1]:null,h=s.length>1?s[s.length-2]:null,y='function'==typeof v,C='function'==typeof h;C&&u(y,'Cannot have a non-function arg after a function arg.');var M=y?v:null,b=C?h:null,p=y+C,_=s.slice(0,s.length-p);if('sync'===l)return o.callNativeSyncHook(n,t,_,b,M);o.enqueueNativeCall(n,t,_,b,M)}).type=l,f}function c(n,t){return-1!==n.indexOf(t)}function v(t,o){return n(o,t||{})}g.__fbGenNativeModule=l;var h={};if(g.nativeModuleProxy)h=g.nativeModuleProxy;else if(!g.nativeExtensions){var y=g.__fbBatchedBridgeConfig;u(y,'__fbBatchedBridgeConfig is not set, cannot invoke native modules');var C=r(d[4]);(y.remoteModuleConfig||[]).forEach(function(n,t){var o=l(n,t);o&&(o.module?h[o.name]=o.module:C(h,o.name,{get:function(){return f(o.name,t)}}))})}m.exports=h},29,[30,31,37,3,47]); -__d(function(g,r,i,a,m,e,d){function t(){return m.exports=t=Object.assign||function(t){for(var o=1;ot.length)&&(n=t.length);for(var o=0,l=new Array(n);ot.length)&&(n=t.length);for(var o=0,l=new Array(n);o=5){var c=this._queue;this._queue=[[],[],[],this._callID],this._lastFlush=o,g.nativeFlushQueueImmediate(c)}n.counterEvent('pending_js_to_native_queue',this._queue[0].length),this.__spy&&this.__spy({type:1,module:t+'',method:l,args:u})}},{key:"createDebugLookup",value:function(t,l,u){}},{key:"setImmediatesCallback",value:function(t){this._immediatesCallback=t}},{key:"__guard",value:function(t){if(this.__shouldPauseOnThrow())t();else try{t()}catch(t){s.reportFatalError(t)}}},{key:"__shouldPauseOnThrow",value:function(){return'undefined'!=typeof DebuggerInternal&&!0===DebuggerInternal.shouldPauseOnThrow}},{key:"__callImmediates",value:function(){n.beginEvent('JSTimers.callImmediates()'),null!=this._immediatesCallback&&this._immediatesCallback(),n.endEvent()}},{key:"__callFunction",value:function(t,l,u){this._lastFlush=Date.now(),this._eventLoopStartTime=this._lastFlush,this.__spy?n.beginEvent(t+"."+l+"("+o(u)+")"):n.beginEvent(t+"."+l+"(...)"),this.__spy&&this.__spy({type:0,module:t,method:l,args:u});var s=this.getCallableModule(t);h(!!s,"Module "+t+" is not a registered callable module (calling "+l+"). A frequent cause of the error is that the application entry file path is incorrect. \n This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native."),h(!!s[l],"Method "+l+" does not exist on module "+t),s[l].apply(s,u),n.endEvent()}},{key:"__invokeCallback",value:function(l,u){this._lastFlush=Date.now(),this._eventLoopStartTime=this._lastFlush;var s=l>>>1,n=1&l?this._successCallbacks.get(s):this._failureCallbacks.get(s);n&&(this._successCallbacks.delete(s),this._failureCallbacks.delete(s),n.apply(void 0,t(u)))}}],[{key:"spy",value:function(t){c.prototype.__spy=!0===t?function(t){console.log((0===t.type?'N->JS':'JS->N')+" : "+(null!=t.module?t.module+'.':'')+t.method+"("+JSON.stringify(t.args)+")")}:!1===t?null:t}}]),c})());m.exports=c},38,[39,8,9,43,44,45,3,46,4]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]),o=r(d[1]),n=r(d[2]),s=r(d[3]);m.exports=function(u){return t(u)||o(u)||n(u)||s()},m.exports.default=m.exports,m.exports.__esModule=!0},39,[40,41,34,42]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);m.exports=function(o){if(Array.isArray(o))return t(o)},m.exports.default=m.exports,m.exports.__esModule=!0},40,[35]); -__d(function(g,r,i,a,m,e,d){m.exports=function(o){if("undefined"!=typeof Symbol&&null!=o[Symbol.iterator]||null!=o["@@iterator"])return Array.from(o)},m.exports.default=m.exports,m.exports.__esModule=!0},41,[]); -__d(function(g,r,i,a,m,e,d){m.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},m.exports.default=m.exports,m.exports.__esModule=!0},42,[]); +__d(function(g,r,i,a,m,e,d){var t=r(d[0]),o=r(d[1]),n=r(d[2]),s=r(d[3]);m.exports=function(u){return t(u)||o(u)||n(u)||s()},m.exports.__esModule=!0,m.exports.default=m.exports},39,[40,41,34,42]); +__d(function(g,r,i,a,m,e,d){var t=r(d[0]);m.exports=function(o){if(Array.isArray(o))return t(o)},m.exports.__esModule=!0,m.exports.default=m.exports},40,[35]); +__d(function(g,r,i,a,m,e,d){m.exports=function(o){if("undefined"!=typeof Symbol&&null!=o[Symbol.iterator]||null!=o["@@iterator"])return Array.from(o)},m.exports.__esModule=!0,m.exports.default=m.exports},41,[]); +__d(function(g,r,i,a,m,e,d){m.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},m.exports.__esModule=!0,m.exports.default=m.exports},42,[]); __d(function(g,r,i,a,m,e,d){m.exports=g.ErrorUtils},43,[]); __d(function(g,r,i,a,m,e,d){'use strict';r(d[0]);var n=!1,t=0,c={installReactHook:function(){!0},setEnabled:function(t){n!==t&&(n=t)},isEnabled:function(){return n},beginEvent:function(t,c){if(n){var o='function'==typeof t?t():t;g.nativeTraceBeginSection(131072,o,c)}},endEvent:function(){n&&g.nativeTraceEndSection(131072)},beginAsyncEvent:function(c){var o=t;if(n){t++;var f='function'==typeof c?c():c;g.nativeTraceBeginAsyncSection(131072,f,o)}return o},endAsyncEvent:function(t,c){if(n){var o='function'==typeof t?t():t;g.nativeTraceEndAsyncSection(131072,o,c)}},counterEvent:function(t,c){if(n){var o='function'==typeof t?t():t;g.nativeTraceCounter&&g.nativeTraceCounter(131072,o,c)}}};m.exports=c},44,[3]); __d(function(g,r,i,a,m,e,d){'use strict';m.exports=function(t){return t}},45,[]); @@ -55,14 +55,14 @@ __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0])(r(d[1])),n={__constants:n __d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,f=new WeakMap;return(t=function(t){return t?f:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var f=t(o);if(f&&f.has(n))return f.get(n);var u={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(u,l,p):u[l]=n[l]}u.default=n,f&&f.set(n,u);return u})(r(d[0])).getEnforcing('PlatformConstants');e.default=n},49,[28]); __d(function(g,r,i,a,m,e,d){'use strict';m.exports=['clearJSResponder','configureNextLayoutAnimation','createView','dismissPopupMenu','dispatchViewManagerCommand','findSubviewIn','getConstantsForViewManager','getDefaultEventTypes','manageChildren','measure','measureInWindow','measureLayout','measureLayoutRelativeToParent','removeRootView','removeSubviewsFromContainerWithID','replaceExistingNonRootView','sendAccessibilityEvent','setChildren','setJSResponder','setLayoutAnimationEnabledExperimental','showPopupMenu','updateView','viewIsDescendantOf','PopupMenu','LazyViewManagersEnabled','ViewManagerNames','StyleConstants','AccessibilityEventTypes','UIView','getViewManagerConfig','blur','focus','genericBubblingEventTypes','genericDirectEventTypes','lazilyLoadView']},50,[]); __d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).get('AccessibilityInfo');e.default=n},51,[28]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),o=r(d[2]),s=["onLayout","style","size"];function c(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);n&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,s)}return o}function l(t){for(var o=1;oF.length&&F.push(t)}function D(t,n,f,c){var l=typeof t;"undefined"!==l&&"boolean"!==l||(t=null);var s=!1;if(null===t)s=!0;else switch(l){case"string":case"number":s=!0;break;case"object":switch(t.$$typeof){case o:case u:s=!0}}if(s)return f(c,t,""===n?"."+B(t,0):n),1;if(s=0,n=""===n?".":n+":",Array.isArray(t))for(var p=0;p=0||Object.prototype.propertyIsEnumerable.call(o,l)&&(s[l]=o[l])}return s},m.exports.default=m.exports,m.exports.__esModule=!0},58,[59]); -__d(function(g,r,i,a,m,e,d){m.exports=function(t,n){if(null==t)return{};var o,u,f={},s=Object.keys(t);for(u=0;u=0||(f[o]=t[o]);return f},m.exports.default=m.exports,m.exports.__esModule=!0},59,[]); +__d(function(g,r,i,a,m,e,d){'use strict';r(d[0]);var o=r(d[1]),t=60103;if(e.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var n=Symbol.for;t=n("react.element"),e.Fragment=n("react.fragment")}var f=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,_=Object.prototype.hasOwnProperty,l={key:!0,ref:!0,__self:!0,__source:!0};function y(o,n,y){var s,u={},c=null,p=null;for(s in void 0!==y&&(c=""+y),void 0!==n.key&&(c=""+n.key),void 0!==n.ref&&(p=n.ref),n)_.call(n,s)&&!l.hasOwnProperty(s)&&(u[s]=n[s]);if(o&&o.defaultProps)for(s in n=o.defaultProps)void 0===u[s]&&(u[s]=n[s]);return{$$typeof:t,type:o,key:c,ref:p,props:u,_owner:f.current}}e.jsx=y,e.jsxs=y},54,[55,56]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable;function f(t){if(null===t||void 0===t)throw new TypeError('Object.assign cannot be called with null or undefined');return Object(t)}m.exports=(function(){try{if(!Object.assign)return!1;var n=new String('abc');if(n[5]='de','5'===Object.getOwnPropertyNames(n)[0])return!1;for(var o={},c=0;c<10;c++)o['_'+String.fromCharCode(c)]=c;if('0123456789'!==Object.getOwnPropertyNames(o).map(function(t){return o[t]}).join(''))return!1;var f={};return'abcdefghijklmnopqrst'.split('').forEach(function(t){f[t]=t}),'abcdefghijklmnopqrst'===Object.keys(t({},f)).join('')}catch(t){return!1}})()?Object.assign:function(t,u){for(var s,b,l=f(t),p=1;p=0||Object.prototype.propertyIsEnumerable.call(o,l)&&(s[l]=o[l])}return s},m.exports.__esModule=!0,m.exports.default=m.exports},58,[59]); +__d(function(g,r,i,a,m,e,d){m.exports=function(t,n){if(null==t)return{};var o,u,f={},s=Object.keys(t);for(u=0;u=0||(f[o]=t[o]);return f},m.exports.__esModule=!0,m.exports.default=m.exports},59,[]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);function o(t,o){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);o&&(c=c.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,c)}return n}function n(n){for(var c=1;c __d(function(g,r,i,a,m,e,d){'use strict';Object.defineProperty(e,"__esModule",{value:!0}),e.processColorObject=e.normalizeColorObject=e.PlatformColor=void 0;e.PlatformColor=function(){for(var o=arguments.length,t=new Array(o),n=0;n1?u-1:0),c=1;cthis.eventPool.length&&this.eventPool.push(e)}function C(e){e.getPooled=R,e.eventPool=[],e.release=P}u(_.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=T)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=T)},persist:function(){this.isPersistent=T},isPersistent:x,destructor:function(){var e,n=this.constructor.Interface;for(e in n)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=x,this._dispatchInstances=this._dispatchListeners=null}}),_.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},_.extend=function(e){function n(){}function t(){return r.apply(this,arguments)}var r=this;n.prototype=r.prototype;var l=new n;return u(l,t.prototype),t.prototype=l,t.prototype.constructor=t,t.Interface=u({},r.Interface,e),t.extend=r.extend,C(t),t},C(_);var N=_.extend({touchHistory:function(){return null}});function z(e){return"topTouchStart"===e}function I(e){return"topTouchMove"===e}var L=["topTouchStart"],U=["topTouchMove"],M=["topTouchCancel","topTouchEnd"],A=[],D={touchBank:A,numberActiveTouches:0,indexOfSingleActiveTouch:-1,mostRecentTimeStamp:0};function Q(e){return e.timeStamp||e.timestamp}function B(e){if(null==(e=e.identifier))throw Error("Touch object is missing identifier.");return e}function F(e){var n=B(e),t=A[n];t?(t.touchActive=!0,t.startPageX=e.pageX,t.startPageY=e.pageY,t.startTimeStamp=Q(e),t.currentPageX=e.pageX,t.currentPageY=e.pageY,t.currentTimeStamp=Q(e),t.previousPageX=e.pageX,t.previousPageY=e.pageY,t.previousTimeStamp=Q(e)):(t={touchActive:!0,startPageX:e.pageX,startPageY:e.pageY,startTimeStamp:Q(e),currentPageX:e.pageX,currentPageY:e.pageY,currentTimeStamp:Q(e),previousPageX:e.pageX,previousPageY:e.pageY,previousTimeStamp:Q(e)},A[n]=t),D.mostRecentTimeStamp=Q(e)}function j(e){var n=A[B(e)];n&&(n.touchActive=!0,n.previousPageX=n.currentPageX,n.previousPageY=n.currentPageY,n.previousTimeStamp=n.currentTimeStamp,n.currentPageX=e.pageX,n.currentPageY=e.pageY,n.currentTimeStamp=Q(e),D.mostRecentTimeStamp=Q(e))}function O(e){var n=A[B(e)];n&&(n.touchActive=!1,n.previousPageX=n.currentPageX,n.previousPageY=n.currentPageY,n.previousTimeStamp=n.currentTimeStamp,n.currentPageX=e.pageX,n.currentPageY=e.pageY,n.currentTimeStamp=Q(e),D.mostRecentTimeStamp=Q(e))}var H={recordTouchTrack:function(e,n){if(I(e))n.changedTouches.forEach(j);else if(z(e))n.changedTouches.forEach(F),D.numberActiveTouches=n.touches.length,1===D.numberActiveTouches&&(D.indexOfSingleActiveTouch=n.touches[0].identifier);else if(("topTouchEnd"===e||"topTouchCancel"===e)&&(n.changedTouches.forEach(O),D.numberActiveTouches=n.touches.length,1===D.numberActiveTouches))for(e=0;ei||(a=i),ze(a,e,l)}}}),b=function(e){return Ee.get(e._nativeTag)||null},S=Te,w=function(e){var n=(e=e.stateNode)._nativeTag;if(void 0===n&&(n=(e=e.canonical)._nativeTag),!n)throw Error("All native instances should have a tag.");return e},le.injection.injectGlobalResponderHandler({onChange:function(e,n,t){null!==n?o.UIManager.setJSResponder(n.stateNode._nativeTag,t):o.UIManager.clearJSResponder()}});var Ie=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Le=60103,Ue=60106,Me=60107,Ae=60108,De=60114,Qe=60109,Be=60110,Fe=60112,je=60113,Oe=60120,He=60115,Ve=60116,We=60121,Ye=60129,qe=60130,Xe=60131;if("function"==typeof Symbol&&Symbol.for){var $e=Symbol.for;Le=$e("react.element"),Ue=$e("react.portal"),Me=$e("react.fragment"),Ae=$e("react.strict_mode"),De=$e("react.profiler"),Qe=$e("react.provider"),Be=$e("react.context"),Fe=$e("react.forward_ref"),je=$e("react.suspense"),Oe=$e("react.suspense_list"),He=$e("react.memo"),Ve=$e("react.lazy"),We=$e("react.block"),$e("react.scope"),Ye=$e("react.debug_trace_mode"),qe=$e("react.offscreen"),Xe=$e("react.legacy_hidden")}var Ge="function"==typeof Symbol&&Symbol.iterator;function Ke(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=Ge&&e[Ge]||e["@@iterator"])?e:null}function Je(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case Me:return"Fragment";case Ue:return"Portal";case De:return"Profiler";case Ae:return"StrictMode";case je:return"Suspense";case Oe:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case Be:return(e.displayName||"Context")+".Consumer";case Qe:return(e._context.displayName||"Context")+".Provider";case Fe:var n=e.render;return n=n.displayName||n.name||"",e.displayName||(""!==n?"ForwardRef("+n+")":"ForwardRef");case He:return Je(e.type);case We:return Je(e._render);case Ve:n=e._payload,e=e._init;try{return Je(e(n))}catch(e){}}return null}function Ze(e){var n=e,t=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do{0!=(1026&(n=e).flags)&&(t=n.return),e=n.return}while(e)}return 3===n.tag?t:null}function en(e){if(Ze(e)!==e)throw Error("Unable to find node on an unmounted component.")}function nn(e){var n=e.alternate;if(!n){if(null===(n=Ze(e)))throw Error("Unable to find node on an unmounted component.");return n!==e?null:e}for(var t=e,r=n;;){var l=t.return;if(null===l)break;var a=l.alternate;if(null===a){if(null!==(r=l.return)){t=r;continue}break}if(l.child===a.child){for(a=l.child;a;){if(a===t)return en(l),e;if(a===r)return en(l),n;a=a.sibling}throw Error("Unable to find node on an unmounted component.")}if(t.return!==r.return)t=l,r=a;else{for(var i=!1,u=l.child;u;){if(u===t){i=!0,t=l,r=a;break}if(u===r){i=!0,r=l,t=a;break}u=u.sibling}if(!i){for(u=a.child;u;){if(u===t){i=!0,t=a,r=l;break}if(u===r){i=!0,r=a,t=l;break}u=u.sibling}if(!i)throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.")}}if(t.alternate!==r)throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.")}if(3!==t.tag)throw Error("Unable to find node on an unmounted component.");return t.stateNode.current===t?e:n}function tn(e){if(!(e=nn(e)))return null;for(var n=e;;){if(5===n.tag||6===n.tag)return n;if(n.child)n.child.return=n,n=n.child;else{if(n===e)break;for(;!n.sibling;){if(!n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}}return null}function rn(e,n){for(var t=e.alternate;null!==n;){if(n===e||n===t)return!0;n=n.return}return!1}var ln={},an=null,un=0,on={unsafelyIgnoreFunctions:!0};function sn(e,n){return"object"!=typeof n||null===n||o.deepDiffer(e,n,on)}function cn(e,n,t){if(Array.isArray(n))for(var r=n.length;r--&&0Cn||(e.current=Pn[Cn],Pn[Cn]=null,Cn--)}function In(e,n){Pn[++Cn]=e.current,e.current=n}var Ln={},Un=Nn(Ln),Mn=Nn(!1),An=Ln;function Dn(e,n){var t=e.type.contextTypes;if(!t)return Ln;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l,a={};for(l in t)a[l]=n[l];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=a),a}function Qn(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Bn(){zn(Mn),zn(Un)}function Fn(e,n,t){if(Un.current!==Ln)throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");In(Un,n),In(Mn,t)}function jn(e,n,t){var r=e.stateNode;if(e=n.childContextTypes,"function"!=typeof r.getChildContext)return t;for(var l in r=r.getChildContext())if(!(l in e))throw Error((Je(n)||"Unknown")+'.getChildContext(): key "'+l+'" is not defined in childContextTypes.');return u({},t,r)}function On(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ln,An=Un.current,In(Un,e),In(Mn,Mn.current),!0}function Hn(e,n,t){var r=e.stateNode;if(!r)throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");t?(e=jn(e,n,An),r.__reactInternalMemoizedMergedChildContext=e,zn(Mn),zn(Un),In(Un,e)):zn(Mn),In(Mn,t)}var Vn=null,Wn=null;(0,c.unstable_now)();var Yn=8;function qn(e){if(0!=(1&e))return Yn=15,1;if(0!=(2&e))return Yn=14,2;if(0!=(4&e))return Yn=13,4;var n=24&e;return 0!==n?(Yn=12,n):0!=(32&e)?(Yn=11,32):0!==(n=192&e)?(Yn=10,n):0!=(256&e)?(Yn=9,256):0!==(n=3584&e)?(Yn=8,n):0!=(4096&e)?(Yn=7,4096):0!==(n=4186112&e)?(Yn=6,n):0!==(n=62914560&e)?(Yn=5,n):67108864&e?(Yn=4,67108864):0!=(134217728&e)?(Yn=3,134217728):0!==(n=805306368&e)?(Yn=2,n):0!=(1073741824&e)?(Yn=1,1073741824):(Yn=8,e)}function Xn(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function $n(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error("Invalid update priority: "+e+". This is a bug in React.")}}function Gn(e,n){var t=e.pendingLanes;if(0===t)return Yn=0;var r=0,l=0,a=e.expiredLanes,i=e.suspendedLanes,u=e.pingedLanes;if(0!==a)r=a,l=Yn=15;else if(0!==(a=134217727&t)){var o=a&~i;0!==o?(r=qn(o),l=Yn):0!==(u&=a)&&(r=qn(u),l=Yn)}else 0!==(a=t&~i)?(r=qn(a),l=Yn):0!==u&&(r=qn(u),l=Yn);if(0===r)return 0;if(r=t&((0>(r=31-tt(r))?0:1<t;t++)n.push(e);return n}function nt(e,n,t){e.pendingLanes|=n;var r=n-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[n=31-tt(n)]=t}var tt=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(rt(e)/lt|0)|0},rt=Math.log,lt=Math.LN2;var at=c.unstable_runWithPriority,it=c.unstable_scheduleCallback,ut=c.unstable_cancelCallback,ot=c.unstable_shouldYield,st=c.unstable_requestPaint,ct=c.unstable_now,ft=c.unstable_getCurrentPriorityLevel,dt=c.unstable_ImmediatePriority,pt=c.unstable_UserBlockingPriority,ht=c.unstable_NormalPriority,gt=c.unstable_LowPriority,mt=c.unstable_IdlePriority,vt={},yt=void 0!==st?st:function(){},bt=null,St=null,wt=!1,kt=ct(),Et=1e4>kt?ct:function(){return ct()-kt};function Tt(){switch(ft()){case dt:return 99;case pt:return 98;case ht:return 97;case gt:return 96;case mt:return 95;default:throw Error("Unknown priority level.")}}function xt(e){switch(e){case 99:return dt;case 98:return pt;case 97:return ht;case 96:return gt;case 95:return mt;default:throw Error("Unknown priority level.")}}function _t(e,n){return e=xt(e),at(e,n)}function Rt(e,n,t){return e=xt(e),it(e,n,t)}function Pt(){if(null!==St){var e=St;St=null,ut(e)}Ct()}function Ct(){if(!wt&&null!==bt){wt=!0;var e=0;try{var n=bt;_t(99,function(){for(;eg?(m=h,h=null):m=h.sibling;var v=d(l,h,u[g],o);if(null===v){null===h&&(h=m);break}e&&h&&null===v.alternate&&n(l,h),i=a(v,i,g),null===c?s=v:c.sibling=v,c=v,h=m}if(g===u.length)return t(l,h),s;if(null===h){for(;gg?(m=h,h=null):m=h.sibling;var y=d(l,h,v.value,o);if(null===y){null===h&&(h=m);break}e&&h&&null===y.alternate&&n(l,h),i=a(y,i,g),null===c?s=y:c.sibling=y,c=y,h=m}if(v.done)return t(l,h),s;if(null===h){for(;!v.done;g++,v=u.next())null!==(v=f(l,v.value,o))&&(i=a(v,i,g),null===c?s=v:c.sibling=v,c=v);return s}for(h=r(l,h);!v.done;g++,v=u.next())null!==(v=p(h,l,g,v.value,o))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),i=a(v,i,g),null===c?s=v:c.sibling=v,c=v);return e&&h.forEach(function(e){return n(l,e)}),s}return function(e,r,a,u){var o="object"==typeof a&&null!==a&&a.type===Me&&null===a.key;o&&(a=a.props.children);var s="object"==typeof a&&null!==a;if(s)switch(a.$$typeof){case Le:e:{for(s=a.key,o=r;null!==o;){if(o.key===s){switch(o.tag){case 7:if(a.type===Me){t(e,o.sibling),(r=l(o,a.props.children)).return=e,e=r;break e}break;default:if(o.elementType===a.type){t(e,o.sibling),(r=l(o,a.props)).ref=or(e,o,a),r.return=e,e=r;break e}}t(e,o);break}n(e,o),o=o.sibling}a.type===Me?((r=wi(a.props.children,e.mode,u,a.key)).return=e,e=r):((u=Si(a.type,a.key,a.props,null,e.mode,u)).ref=or(e,r,a),u.return=e,e=u)}return i(e);case Ue:e:{for(o=a.key;null!==r;){if(r.key===o){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){t(e,r.sibling),(r=l(r,a.children||[])).return=e,e=r;break e}t(e,r);break}n(e,r),r=r.sibling}(r=Ti(a,e.mode,u)).return=e,e=r}return i(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(t(e,r.sibling),(r=l(r,a)).return=e,e=r):(t(e,r),(r=Ei(a,e.mode,u)).return=e,e=r),i(e);if(ur(a))return h(e,r,a,u);if(Ke(a))return g(e,r,a,u);if(s&&sr(e,a),void 0===a&&!o)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error((Je(e.type)||"Component")+"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.")}return t(e,r)}}var fr=cr(!0),dr=cr(!1),pr={},hr=Nn(pr),gr=Nn(pr),mr=Nn(pr);function vr(e){if(e===pr)throw Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");return e}function yr(e,n){In(mr,n),In(gr,e),In(hr,pr),zn(hr),In(hr,{isInAParentText:!1})}function br(){zn(hr),zn(gr),zn(mr)}function Sr(e){vr(mr.current);var n=vr(hr.current),t=e.type;t="AndroidTextInput"===t||"RCTMultilineTextInputView"===t||"RCTSinglelineTextInputView"===t||"RCTText"===t||"RCTVirtualText"===t,n!==(t=n.isInAParentText!==t?{isInAParentText:t}:n)&&(In(gr,e),In(hr,t))}function wr(e){gr.current===e&&(zn(hr),zn(gr))}var kr=Nn(0);function Er(e){for(var n=e;null!==n;){if(13===n.tag){var t=n.memoizedState;if(null!==t&&(null===t.dehydrated||vn()||vn()))return n}else if(19===n.tag&&void 0!==n.memoizedProps.revealOrder){if(0!=(64&n.flags))return n}else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Tr=[];function xr(){for(var e=0;ea))throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");a+=1,zr=Nr=null,n.updateQueue=null,_r.current=sl,e=t(r,l)}while(Lr)}if(_r.current=il,n=null!==Nr&&null!==Nr.next,Pr=0,zr=Nr=Cr=null,Ir=!1,n)throw Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement.");return e}function Dr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===zr?Cr.memoizedState=zr=e:zr=zr.next=e,zr}function Qr(){if(null===Nr){var e=Cr.alternate;e=null!==e?e.memoizedState:null}else e=Nr.next;var n=null===zr?Cr.memoizedState:zr.next;if(null!==n)zr=n,Nr=e;else{if(null===e)throw Error("Rendered more hooks than during the previous render.");e={memoizedState:(Nr=e).memoizedState,baseState:Nr.baseState,baseQueue:Nr.baseQueue,queue:Nr.queue,next:null},null===zr?Cr.memoizedState=zr=e:zr=zr.next=e}return zr}function Br(e,n){return"function"==typeof n?n(e):n}function Fr(e){var n=Qr(),t=n.queue;if(null===t)throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");t.lastRenderedReducer=e;var r=Nr,l=r.baseQueue,a=t.pending;if(null!==a){if(null!==l){var i=l.next;l.next=a.next,a.next=i}r.baseQueue=l=a,t.pending=null}if(null!==l){l=l.next,r=r.baseState;var u=i=a=null,o=l;do{var s=o.lane;if((Pr&s)===s)null!==u&&(u=u.next={lane:0,action:o.action,eagerReducer:o.eagerReducer,eagerState:o.eagerState,next:null}),r=o.eagerReducer===e?o.eagerState:e(r,o.action);else{var c={lane:s,action:o.action,eagerReducer:o.eagerReducer,eagerState:o.eagerState,next:null};null===u?(i=u=c,a=r):u=u.next=c,Cr.lanes|=s,va|=s}o=o.next}while(null!==o&&o!==l);null===u?a=r:u.next=i,zt(r,n.memoizedState)||(fl=!0),n.memoizedState=r,n.baseState=a,n.baseQueue=u,t.lastRenderedState=r}return[n.memoizedState,t.dispatch]}function jr(e){var n=Qr(),t=n.queue;if(null===t)throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");t.lastRenderedReducer=e;var r=t.dispatch,l=t.pending,a=n.memoizedState;if(null!==l){t.pending=null;var i=l=l.next;do{a=e(a,i.action),i=i.next}while(i!==l);zt(a,n.memoizedState)||(fl=!0),n.memoizedState=a,null===n.baseQueue&&(n.baseState=a),t.lastRenderedState=a}return[a,r]}function Or(e,n,t){var r=n._getVersion;r=r(n._source);var l=n._workInProgressVersionPrimary;if(null!==l?e=l===r:(e=e.mutableReadLanes,(e=(Pr&e)===e)&&(n._workInProgressVersionPrimary=r,Tr.push(n))),e)return t(n._source);throw Tr.push(n),Error("Cannot read from mutable source during the current render without tearing. This is a bug in React. Please file an issue.")}function Hr(e,n,t,r){var l=sa;if(null===l)throw Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");var a=n._getVersion,i=a(n._source),u=_r.current,o=u.useState(function(){return Or(l,n,t)}),s=o[1],c=o[0];o=zr;var f=e.memoizedState,d=f.refs,p=d.getSnapshot,h=f.source;f=f.subscribe;var g=Cr;return e.memoizedState={refs:d,source:n,subscribe:r},u.useEffect(function(){d.getSnapshot=t,d.setSnapshot=s;var e=a(n._source);if(!zt(i,e)){e=t(n._source),zt(c,e)||(s(e),e=ja(g),l.mutableReadLanes|=e&l.pendingLanes),e=l.mutableReadLanes,l.entangledLanes|=e;for(var r=l.entanglements,u=e;0t?98:t,function(){e(!0)}),_t(97 component.");l=wn(),o.UIManager.createView(l,"RCTRawText",e,{text:r}),ke.set(l,n),n.stateNode=l}return null;case 13:return zn(kr),r=n.memoizedState,0!=(64&n.flags)?(n.lanes=t,n):(r=null!==r,l=!1,null!==e&&(l=null!==e.memoizedState),r&&!l&&0!=(2&n.mode)&&(null===e&&!0!==n.memoizedProps.unstable_avoidThisFallback||0!=(1&kr.current)?0===ha&&(ha=3):(0!==ha&&3!==ha||(ha=4),null===sa||0==(134217727&va)&&0==(134217727&ya)||Ya(sa,fa))),(r||l)&&(n.flags|=4),null);case 4:return br(),El(n),null;case 10:return Ot(n),null;case 17:return Qn(n.type)&&Bn(),null;case 19:if(zn(kr),null===(r=n.memoizedState))return null;if(l=0!=(64&n.flags),null===(a=r.rendering))if(l)Ml(r,!1);else{if(0!==ha||null!==e&&0!=(64&e.flags))for(e=n.child;null!==e;){if(null!==(a=Er(e))){for(n.flags|=64,Ml(r,!1),null!==(e=a.updateQueue)&&(n.updateQueue=e,n.flags|=4),null===r.lastEffect&&(n.firstEffect=null),n.lastEffect=r.lastEffect,e=t,r=n.child;null!==r;)t=e,(l=r).flags&=2,l.nextEffect=null,l.firstEffect=null,l.lastEffect=null,null===(a=l.alternate)?(l.childLanes=0,l.lanes=t,l.child=null,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=a.childLanes,l.lanes=a.lanes,l.child=a.child,l.memoizedProps=a.memoizedProps,l.memoizedState=a.memoizedState,l.updateQueue=a.updateQueue,l.type=a.type,t=a.dependencies,l.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext}),r=r.sibling;return In(kr,1&kr.current|2),n.child}e=e.sibling}null!==r.tail&&Et()>ka&&(n.flags|=64,l=!0,Ml(r,!1),n.lanes=33554432)}else{if(!l)if(null!==(e=Er(a))){if(n.flags|=64,l=!0,null!==(e=e.updateQueue)&&(n.updateQueue=e,n.flags|=4),Ml(r,!0),null===r.tail&&"hidden"===r.tailMode&&!a.alternate)return null!==(n=n.lastEffect=r.lastEffect)&&(n.nextEffect=null),null}else 2*Et()-r.renderingStartTime>ka&&1073741824!==t&&(n.flags|=64,l=!0,Ml(r,!1),n.lanes=33554432);r.isBackwards?(a.sibling=n.child,n.child=a):(null!==(e=r.last)?e.sibling=a:n.child=a,r.last=a)}return null!==r.tail?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.lastEffect=n.lastEffect,r.renderingStartTime=Et(),e.sibling=null,n=kr.current,In(kr,l?1&n|2:1&n),e):null;case 23:case 24:return $a(),null!==e&&null!==e.memoizedState!=(null!==n.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(n.flags|=4),null}throw Error("Unknown unit of work tag ("+n.tag+"). This error is likely caused by a bug in React. Please file an issue.")}function Dl(e){switch(e.tag){case 1:Qn(e.type)&&Bn();var n=e.flags;return 8192&n?(e.flags=-8193&n|64,e):null;case 3:if(br(),zn(Mn),zn(Un),xr(),0!=(64&(n=e.flags)))throw Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue.");return e.flags=-8193&n|64,e;case 5:return wr(e),null;case 13:return zn(kr),8192&(n=e.flags)?(e.flags=-8193&n|64,e):null;case 19:return zn(kr),null;case 4:return br(),null;case 10:return Ot(e),null;case 23:case 24:return $a(),null;default:return null}}function Ql(e,n){return{value:e,source:n,stack:Mt(n)}}if(kl=function(e,n){for(var t=n.child;null!==t;){if(5===t.tag||6===t.tag)e._children.push(t.stateNode);else if(4!==t.tag&&null!==t.child){t.child.return=t,t=t.child;continue}if(t===n)break;for(;null===t.sibling;){if(null===t.return||t.return===n)return;t=t.return}t.sibling.return=t.return,t=t.sibling}},El=function(){},Tl=function(e,n,t,r){e.memoizedProps!==r&&(vr(hr.current),n.updateQueue=bn)&&(n.flags|=4)},xl=function(e,n,t,r){t!==r&&(n.flags|=4)},"function"!=typeof o.ReactFiberErrorDialog.showErrorDialog)throw Error("Expected ReactFiberErrorDialog.showErrorDialog to be a function.");function Bl(e,n){try{!1!==o.ReactFiberErrorDialog.showErrorDialog({componentStack:null!==n.stack?n.stack:"",error:n.value,errorBoundary:null!==e&&1===e.tag?e.stateNode:null})&&console.error(n.value)}catch(e){setTimeout(function(){throw e})}}var Fl="function"==typeof WeakMap?WeakMap:Map;function jl(e,n,t){(t=$t(-1,t)).tag=3,t.payload={element:null};var r=n.value;return t.callback=function(){Ta||(Ta=!0,xa=r),Bl(e,n)},t}function Ol(e,n,t){(t=$t(-1,t)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var l=n.value;t.payload=function(){return Bl(e,n),r(l)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(t.callback=function(){"function"!=typeof r&&(null===_a?_a=new Set([this]):_a.add(this),Bl(e,n));var t=n.stack;this.componentDidCatch(n.value,{componentStack:null!==t?t:""})}),t}var Hl="function"==typeof WeakSet?WeakSet:Set;function Vl(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){di(e,n)}else n.current=null}function Wl(e,n){switch(n.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&n.flags&&null!==e){var t=e.memoizedProps,r=e.memoizedState;n=(e=n.stateNode).getSnapshotBeforeUpdate(n.elementType===n.type?t:At(n.type,t),r),e.__reactInternalSnapshotBeforeUpdate=n}return;case 3:return;case 5:case 6:case 4:case 17:return}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}function Yl(e,n,t){switch(t.tag){case 0:case 11:case 15:case 22:if(null!==(n=null!==(n=t.updateQueue)?n.lastEffect:null)){e=n=n.next;do{if(3==(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==n)}if(null!==(n=null!==(n=t.updateQueue)?n.lastEffect:null)){e=n=n.next;do{var l=e;r=l.next,0!=(4&(l=l.tag))&&0!=(1&l)&&(si(t,e),oi(t,e)),e=r}while(e!==n)}return;case 1:return e=t.stateNode,4&t.flags&&(null===n?e.componentDidMount():(r=t.elementType===t.type?n.memoizedProps:At(t.type,n.memoizedProps),e.componentDidUpdate(r,n.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(n=t.updateQueue)&&Zt(t,n,e));case 3:if(null!==(n=t.updateQueue)){if(e=null,null!==t.child)switch(t.child.tag){case 5:e=t.child.stateNode;break;case 1:e=t.child.stateNode}Zt(t,n,e)}return;case 5:case 6:case 4:case 12:case 13:return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}function ql(e,n){for(var t=e;;){if(5===t.tag){var r=t.stateNode;if(n){var l=r.viewConfig,a=hn(null,ln,{style:{display:"none"}},l.validAttributes);o.UIManager.updateView(r._nativeTag,l.uiViewClassName,a)}else{r=t.stateNode,a=t.memoizedProps,l=r.viewConfig,a=hn(null,u({},a,{style:[a.style,{display:"none"}]}),a,l.validAttributes),o.UIManager.updateView(r._nativeTag,l.uiViewClassName,a)}}else{if(6===t.tag)throw Error("Not yet implemented.");if((23!==t.tag&&24!==t.tag||null===t.memoizedState||t===e)&&null!==t.child){t.child.return=t,t=t.child;continue}}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}}function Xl(e,n){if(Wn&&"function"==typeof Wn.onCommitFiberUnmount)try{Wn.onCommitFiberUnmount(Vn,n)}catch(e){}switch(n.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=n.updateQueue)&&null!==(e=e.lastEffect)){var t=e=e.next;do{var r=t,l=r.destroy;if(r=r.tag,void 0!==l)if(0!=(4&r))si(n,t);else{r=n;try{l()}catch(e){di(r,e)}}t=t.next}while(t!==e)}break;case 1:if(Vl(n),"function"==typeof(e=n.stateNode).componentWillUnmount)try{e.props=n.memoizedProps,e.state=n.memoizedState,e.componentWillUnmount()}catch(e){di(n,e)}break;case 5:Vl(n);break;case 4:ea(e,n)}}function $l(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function Gl(e){return 5===e.tag||3===e.tag||4===e.tag}function Kl(e){e:{for(var n=e.return;null!==n;){if(Gl(n))break e;n=n.return}throw Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.")}var t=n;switch(n=t.stateNode,t.tag){case 5:var r=!1;break;case 3:case 4:n=n.containerInfo,r=!0;break;default:throw Error("Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.")}16&t.flags&&(t.flags&=-17);e:n:for(t=e;;){for(;null===t.sibling;){if(null===t.return||Gl(t.return)){t=null;break e}t=t.return}for(t.sibling.return=t.return,t=t.sibling;5!==t.tag&&6!==t.tag&&18!==t.tag;){if(2&t.flags)continue n;if(null===t.child||4===t.tag)continue n;t.child.return=t,t=t.child}if(!(2&t.flags)){t=t.stateNode;break e}}r?Jl(e,t,n):Zl(e,t,n)}function Jl(e,n,t){var r=e.tag,l=5===r||6===r;if(l)if(e=l?e.stateNode:e.stateNode.instance,n){if("number"==typeof t)throw Error("Container does not support insertBefore operation")}else o.UIManager.setChildren(t,["number"==typeof e?e:e._nativeTag]);else if(4!==r&&null!==(e=e.child))for(Jl(e,n,t),e=e.sibling;null!==e;)Jl(e,n,t),e=e.sibling}function Zl(e,n,t){var r=e.tag,l=5===r||6===r;if(l)e=l?e.stateNode:e.stateNode.instance,n?0<=(l=(r=t._children).indexOf(e))?(r.splice(l,1),n=r.indexOf(n),r.splice(n,0,e),o.UIManager.manageChildren(t._nativeTag,[l],[n],[],[],[])):(n=r.indexOf(n),r.splice(n,0,e),o.UIManager.manageChildren(t._nativeTag,[],[],["number"==typeof e?e:e._nativeTag],[n],[])):(n="number"==typeof e?e:e._nativeTag,0<=(l=(r=t._children).indexOf(e))?(r.splice(l,1),r.push(e),o.UIManager.manageChildren(t._nativeTag,[l],[r.length-1],[],[],[])):(r.push(e),o.UIManager.manageChildren(t._nativeTag,[],[],[n],[r.length-1],[])));else if(4!==r&&null!==(e=e.child))for(Zl(e,n,t),e=e.sibling;null!==e;)Zl(e,n,t),e=e.sibling}function ea(e,n){for(var t,r,l=n,a=!1;;){if(!a){a=l.return;e:for(;;){if(null===a)throw Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.");switch(t=a.stateNode,a.tag){case 5:r=!1;break e;case 3:case 4:t=t.containerInfo,r=!0;break e}a=a.return}a=!0}if(5===l.tag||6===l.tag){e:for(var i=e,u=l,s=u;;)if(Xl(i,s),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===u)break e;for(;null===s.sibling;){if(null===s.return||s.return===u)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}r?(i=t,kn(l.stateNode),o.UIManager.manageChildren(i,[],[],[],[],[0])):(i=t,kn(s=l.stateNode),s=(u=i._children).indexOf(s),u.splice(s,1),o.UIManager.manageChildren(i._nativeTag,[],[],[],[],[s]))}else if(4===l.tag){if(null!==l.child){t=l.stateNode.containerInfo,r=!0,l.child.return=l,l=l.child;continue}}else if(Xl(e,l),null!==l.child){l.child.return=l,l=l.child;continue}if(l===n)break;for(;null===l.sibling;){if(null===l.return||l.return===n)return;4===(l=l.return).tag&&(a=!1)}l.sibling.return=l.return,l=l.sibling}}function na(e,n){switch(n.tag){case 0:case 11:case 14:case 15:case 22:var t=n.updateQueue;if(null!==(t=null!==t?t.lastEffect:null)){var r=t=t.next;do{3==(3&r.tag)&&(n=r.destroy,r.destroy=void 0,void 0!==n&&n()),r=r.next}while(r!==t)}return;case 1:return;case 5:if(null!=(t=n.stateNode)){r=n.memoizedProps,e=null!==e?e.memoizedProps:r;var l=n.updateQueue;n.updateQueue=null,null!==l&&(n=t.viewConfig,Ee.set(t._nativeTag,r),null!=(r=hn(null,e,r,n.validAttributes))&&o.UIManager.updateView(t._nativeTag,n.uiViewClassName,r))}return;case 6:if(null===n.stateNode)throw Error("This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.");return void o.UIManager.updateView(n.stateNode,"RCTRawText",{text:n.memoizedProps});case 3:case 12:return;case 13:return null!==n.memoizedState&&(wa=Et(),ql(n.child,!0)),void ta(n);case 19:return void ta(n);case 17:return;case 23:case 24:return void ql(n,null!==n.memoizedState)}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}function ta(e){var n=e.updateQueue;if(null!==n){e.updateQueue=null;var t=e.stateNode;null===t&&(t=e.stateNode=new Hl),n.forEach(function(n){var r=hi.bind(null,e,n);t.has(n)||(t.add(n),n.then(r,r))})}}function ra(e,n){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(n=n.memoizedState)&&null===n.dehydrated)}var la,aa=Math.ceil,ia=Ie.ReactCurrentDispatcher,ua=Ie.ReactCurrentOwner,oa=0,sa=null,ca=null,fa=0,da=0,pa=Nn(0),ha=0,ga=null,ma=0,va=0,ya=0,ba=0,Sa=null,wa=0,ka=1/0,Ea=null,Ta=!1,xa=null,_a=null,Ra=!1,Pa=null,Ca=90,Na=[],za=[],Ia=null,La=0,Ua=null,Ma=-1,Aa=0,Da=0,Qa=null,Ba=!1;function Fa(){return 0!=(48&oa)?Et():-1!==Ma?Ma:Ma=Et()}function ja(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Tt()?1:2;if(0===Aa&&(Aa=ma),0!==Nt.transition){0!==Da&&(Da=null!==Sa?Sa.pendingLanes:0),e=Aa;var n=4186112&~Da;return 0===(n&=-n)&&(0===(n=(e=4186112&~e)&-e)&&(n=8192)),n}return e=Tt(),0!=(4&oa)&&98===e?e=Jn(12,Aa):e=Jn(e=Xn(e),Aa),e}function Oa(e,n,t){if(50l&&(l=i),t&=~a}if(t=l,10<(t=(120>(t=Et()-t)?120:480>t?480:1080>t?1080:1920>t?1920:3e3>t?3e3:4320>t?4320:1960*aa(t/1960))-t)){e.timeoutHandle=Tn(li.bind(null,e),t);break}li(e);break;case 5:li(e);break;default:throw Error("Unknown root exit status.")}}return Va(e,Et()),e.callbackNode===n?Wa.bind(null,e):null}function Ya(e,n){for(n&=~ba,n&=~ya,e.suspendedLanes|=n,e.pingedLanes&=~n,e=e.expirationTimes;0 component higher in the tree to provide a loading indicator or placeholder to display.")}5!==ha&&(ha=2),o=Ql(o,u),d=i;do{switch(d.tag){case 3:a=o,d.flags|=8192,n&=-n,d.lanes|=n,Kt(d,jl(d,a,n));break e;case 1:a=o;var w=d.type,k=d.stateNode;if(0==(64&d.flags)&&("function"==typeof w.getDerivedStateFromError||null!==k&&"function"==typeof k.componentDidCatch&&(null===_a||!_a.has(k)))){d.flags|=8192,n&=-n,d.lanes|=n,Kt(d,Ol(d,a,n));break e}}d=d.return}while(null!==d)}ri(t)}catch(e){n=e,ca===t&&null!==t&&(ca=t=t.return);continue}break}}function Ja(){var e=ia.current;return ia.current=il,null===e?il:e}function Za(e,n){var t=oa;oa|=16;var r=Ja();for(sa===e&&fa===n||Ga(e,n);;)try{ei();break}catch(n){Ka(e,n)}if(jt(),oa=t,ia.current=r,null!==ca)throw Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");return sa=null,fa=0,ha}function ei(){for(;null!==ca;)ti(ca)}function ni(){for(;null!==ca&&!ot();)ti(ca)}function ti(e){var n=la(e.alternate,e,da);e.memoizedProps=e.pendingProps,null===n?ri(e):ca=n,ua.current=null}function ri(e){var n=e;do{var t=n.alternate;if(e=n.return,0==(4096&n.flags)){if(null!==(t=Al(t,n,da)))return void(ca=t);if(24!==(t=n).tag&&23!==t.tag||null===t.memoizedState||0!=(1073741824&da)||0==(4&t.mode)){for(var r=0,l=t.child;null!==l;)r|=l.lanes|l.childLanes,l=l.sibling;t.childLanes=r}null!==e&&0==(4096&e.flags)&&(null===e.firstEffect&&(e.firstEffect=n.firstEffect),null!==n.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=n.firstEffect),e.lastEffect=n.lastEffect),1Et()-wa?Ga(e,0):ba|=t),Va(e,n)}function hi(e,n){var t=e.stateNode;null!==t&&t.delete(n),0===(n=0)&&(0==(2&(n=e.mode))?n=1:0==(4&n)?n=99===Tt()?1:2:(0===Aa&&(Aa=ma),0===(n=Zn(62914560&~Aa))&&(n=4194304))),t=Fa(),null!==(e=Ha(e,n))&&(nt(e,n,t),Va(e,t))}function gi(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function mi(e,n,t,r){return new gi(e,n,t,r)}function vi(e){return!(!(e=e.prototype)||!e.isReactComponent)}function yi(e){if("function"==typeof e)return vi(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===Fe)return 11;if(e===He)return 14}return 2}function bi(e,n){var t=e.alternate;return null===t?((t=mi(e.tag,n,e.key,e.mode)).elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.nextEffect=null,t.firstEffect=null,t.lastEffect=null),t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=null===n?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function Si(e,n,t,r,l,a){var i=2;if(r=e,"function"==typeof e)vi(e)&&(i=1);else if("string"==typeof e)i=5;else e:switch(e){case Me:return wi(t.children,l,a,n);case Ye:i=8,l|=16;break;case Ae:i=8,l|=1;break;case De:return(e=mi(12,t,n,8|l)).elementType=De,e.type=De,e.lanes=a,e;case je:return(e=mi(13,t,n,l)).type=je,e.elementType=je,e.lanes=a,e;case Oe:return(e=mi(19,t,n,l)).elementType=Oe,e.lanes=a,e;case qe:return ki(t,l,a,n);case Xe:return(e=mi(24,t,n,l)).elementType=Xe,e.lanes=a,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case Qe:i=10;break e;case Be:i=9;break e;case Fe:i=11;break e;case He:i=14;break e;case Ve:i=16,r=null;break e;case We:i=22;break e}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+(null==e?e:typeof e)+".")}return(n=mi(i,t,n,l)).elementType=e,n.type=r,n.lanes=a,n}function wi(e,n,t,r){return(e=mi(7,e,r,n)).lanes=t,e}function ki(e,n,t,r){return(e=mi(23,e,r,n)).elementType=qe,e.lanes=t,e}function Ei(e,n,t){return(e=mi(6,e,null,n)).lanes=t,e}function Ti(e,n,t){return(n=mi(4,null!==e.children?e.children:[],e.key,n)).lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function xi(e,n,t){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=t,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=et(0),this.expirationTimes=et(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=et(0)}function _i(e,n,t){var r=3this.eventPool.length&&this.eventPool.push(e)}function C(e){e.getPooled=R,e.eventPool=[],e.release=P}u(_.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=T)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=T)},persist:function(){this.isPersistent=T},isPersistent:x,destructor:function(){var e,n=this.constructor.Interface;for(e in n)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=x,this._dispatchInstances=this._dispatchListeners=null}}),_.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},_.extend=function(e){function n(){}function t(){return r.apply(this,arguments)}var r=this;n.prototype=r.prototype;var l=new n;return u(l,t.prototype),t.prototype=l,t.prototype.constructor=t,t.Interface=u({},r.Interface,e),t.extend=r.extend,C(t),t},C(_);var N=_.extend({touchHistory:function(){return null}});function z(e){return"topTouchStart"===e}function I(e){return"topTouchMove"===e}var L=["topTouchStart"],U=["topTouchMove"],M=["topTouchCancel","topTouchEnd"],A=[],D={touchBank:A,numberActiveTouches:0,indexOfSingleActiveTouch:-1,mostRecentTimeStamp:0};function Q(e){return e.timeStamp||e.timestamp}function B(e){if(null==(e=e.identifier))throw Error("Touch object is missing identifier.");return e}function F(e){var n=B(e),t=A[n];t?(t.touchActive=!0,t.startPageX=e.pageX,t.startPageY=e.pageY,t.startTimeStamp=Q(e),t.currentPageX=e.pageX,t.currentPageY=e.pageY,t.currentTimeStamp=Q(e),t.previousPageX=e.pageX,t.previousPageY=e.pageY,t.previousTimeStamp=Q(e)):(t={touchActive:!0,startPageX:e.pageX,startPageY:e.pageY,startTimeStamp:Q(e),currentPageX:e.pageX,currentPageY:e.pageY,currentTimeStamp:Q(e),previousPageX:e.pageX,previousPageY:e.pageY,previousTimeStamp:Q(e)},A[n]=t),D.mostRecentTimeStamp=Q(e)}function j(e){var n=A[B(e)];n&&(n.touchActive=!0,n.previousPageX=n.currentPageX,n.previousPageY=n.currentPageY,n.previousTimeStamp=n.currentTimeStamp,n.currentPageX=e.pageX,n.currentPageY=e.pageY,n.currentTimeStamp=Q(e),D.mostRecentTimeStamp=Q(e))}function O(e){var n=A[B(e)];n&&(n.touchActive=!1,n.previousPageX=n.currentPageX,n.previousPageY=n.currentPageY,n.previousTimeStamp=n.currentTimeStamp,n.currentPageX=e.pageX,n.currentPageY=e.pageY,n.currentTimeStamp=Q(e),D.mostRecentTimeStamp=Q(e))}var H={recordTouchTrack:function(e,n){if(I(e))n.changedTouches.forEach(j);else if(z(e))n.changedTouches.forEach(F),D.numberActiveTouches=n.touches.length,1===D.numberActiveTouches&&(D.indexOfSingleActiveTouch=n.touches[0].identifier);else if(("topTouchEnd"===e||"topTouchCancel"===e)&&(n.changedTouches.forEach(O),D.numberActiveTouches=n.touches.length,1===D.numberActiveTouches))for(e=0;ei||(a=i),ze(a,e,l)}}}),b=function(e){return Ee.get(e._nativeTag)||null},S=Te,w=function(e){var n=(e=e.stateNode)._nativeTag;if(void 0===n&&(n=(e=e.canonical)._nativeTag),!n)throw Error("All native instances should have a tag.");return e},le.injection.injectGlobalResponderHandler({onChange:function(e,n,t){null!==n?o.UIManager.setJSResponder(n.stateNode._nativeTag,t):o.UIManager.clearJSResponder()}});var Ie=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Le=60103,Ue=60106,Me=60107,Ae=60108,De=60114,Qe=60109,Be=60110,Fe=60112,je=60113,Oe=60120,He=60115,Ve=60116,We=60121,Ye=60129,qe=60130,Xe=60131;if("function"==typeof Symbol&&Symbol.for){var $e=Symbol.for;Le=$e("react.element"),Ue=$e("react.portal"),Me=$e("react.fragment"),Ae=$e("react.strict_mode"),De=$e("react.profiler"),Qe=$e("react.provider"),Be=$e("react.context"),Fe=$e("react.forward_ref"),je=$e("react.suspense"),Oe=$e("react.suspense_list"),He=$e("react.memo"),Ve=$e("react.lazy"),We=$e("react.block"),$e("react.scope"),Ye=$e("react.debug_trace_mode"),qe=$e("react.offscreen"),Xe=$e("react.legacy_hidden")}var Ge="function"==typeof Symbol&&Symbol.iterator;function Ke(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=Ge&&e[Ge]||e["@@iterator"])?e:null}function Je(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case Me:return"Fragment";case Ue:return"Portal";case De:return"Profiler";case Ae:return"StrictMode";case je:return"Suspense";case Oe:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case Be:return(e.displayName||"Context")+".Consumer";case Qe:return(e._context.displayName||"Context")+".Provider";case Fe:var n=e.render;return n=n.displayName||n.name||"",e.displayName||(""!==n?"ForwardRef("+n+")":"ForwardRef");case He:return Je(e.type);case We:return Je(e._render);case Ve:n=e._payload,e=e._init;try{return Je(e(n))}catch(e){}}return null}function Ze(e){var n=e,t=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do{0!=(1026&(n=e).flags)&&(t=n.return),e=n.return}while(e)}return 3===n.tag?t:null}function en(e){if(Ze(e)!==e)throw Error("Unable to find node on an unmounted component.")}function nn(e){var n=e.alternate;if(!n){if(null===(n=Ze(e)))throw Error("Unable to find node on an unmounted component.");return n!==e?null:e}for(var t=e,r=n;;){var l=t.return;if(null===l)break;var a=l.alternate;if(null===a){if(null!==(r=l.return)){t=r;continue}break}if(l.child===a.child){for(a=l.child;a;){if(a===t)return en(l),e;if(a===r)return en(l),n;a=a.sibling}throw Error("Unable to find node on an unmounted component.")}if(t.return!==r.return)t=l,r=a;else{for(var i=!1,u=l.child;u;){if(u===t){i=!0,t=l,r=a;break}if(u===r){i=!0,r=l,t=a;break}u=u.sibling}if(!i){for(u=a.child;u;){if(u===t){i=!0,t=a,r=l;break}if(u===r){i=!0,r=a,t=l;break}u=u.sibling}if(!i)throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.")}}if(t.alternate!==r)throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.")}if(3!==t.tag)throw Error("Unable to find node on an unmounted component.");return t.stateNode.current===t?e:n}function tn(e){if(!(e=nn(e)))return null;for(var n=e;;){if(5===n.tag||6===n.tag)return n;if(n.child)n.child.return=n,n=n.child;else{if(n===e)break;for(;!n.sibling;){if(!n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}}return null}function rn(e,n){for(var t=e.alternate;null!==n;){if(n===e||n===t)return!0;n=n.return}return!1}var ln={},an=null,un=0,on={unsafelyIgnoreFunctions:!0};function sn(e,n){return"object"!=typeof n||null===n||o.deepDiffer(e,n,on)}function cn(e,n,t){if(Array.isArray(n))for(var r=n.length;r--&&0Cn||(e.current=Pn[Cn],Pn[Cn]=null,Cn--)}function In(e,n){Pn[++Cn]=e.current,e.current=n}var Ln={},Un=Nn(Ln),Mn=Nn(!1),An=Ln;function Dn(e,n){var t=e.type.contextTypes;if(!t)return Ln;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l,a={};for(l in t)a[l]=n[l];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=a),a}function Qn(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Bn(){zn(Mn),zn(Un)}function Fn(e,n,t){if(Un.current!==Ln)throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");In(Un,n),In(Mn,t)}function jn(e,n,t){var r=e.stateNode;if(e=n.childContextTypes,"function"!=typeof r.getChildContext)return t;for(var l in r=r.getChildContext())if(!(l in e))throw Error((Je(n)||"Unknown")+'.getChildContext(): key "'+l+'" is not defined in childContextTypes.');return u({},t,r)}function On(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ln,An=Un.current,In(Un,e),In(Mn,Mn.current),!0}function Hn(e,n,t){var r=e.stateNode;if(!r)throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");t?(e=jn(e,n,An),r.__reactInternalMemoizedMergedChildContext=e,zn(Mn),zn(Un),In(Un,e)):zn(Mn),In(Mn,t)}var Vn=null,Wn=null;(0,c.unstable_now)();var Yn=8;function qn(e){if(0!=(1&e))return Yn=15,1;if(0!=(2&e))return Yn=14,2;if(0!=(4&e))return Yn=13,4;var n=24&e;return 0!==n?(Yn=12,n):0!=(32&e)?(Yn=11,32):0!==(n=192&e)?(Yn=10,n):0!=(256&e)?(Yn=9,256):0!==(n=3584&e)?(Yn=8,n):0!=(4096&e)?(Yn=7,4096):0!==(n=4186112&e)?(Yn=6,n):0!==(n=62914560&e)?(Yn=5,n):67108864&e?(Yn=4,67108864):0!=(134217728&e)?(Yn=3,134217728):0!==(n=805306368&e)?(Yn=2,n):0!=(1073741824&e)?(Yn=1,1073741824):(Yn=8,e)}function Xn(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function $n(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error("Invalid update priority: "+e+". This is a bug in React.")}}function Gn(e,n){var t=e.pendingLanes;if(0===t)return Yn=0;var r=0,l=0,a=e.expiredLanes,i=e.suspendedLanes,u=e.pingedLanes;if(0!==a)r=a,l=Yn=15;else if(0!==(a=134217727&t)){var o=a&~i;0!==o?(r=qn(o),l=Yn):0!==(u&=a)&&(r=qn(u),l=Yn)}else 0!==(a=t&~i)?(r=qn(a),l=Yn):0!==u&&(r=qn(u),l=Yn);if(0===r)return 0;if(r=t&((0>(r=31-tt(r))?0:1<t;t++)n.push(e);return n}function nt(e,n,t){e.pendingLanes|=n;var r=n-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[n=31-tt(n)]=t}var tt=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(rt(e)/lt|0)|0},rt=Math.log,lt=Math.LN2;var at=c.unstable_runWithPriority,it=c.unstable_scheduleCallback,ut=c.unstable_cancelCallback,ot=c.unstable_shouldYield,st=c.unstable_requestPaint,ct=c.unstable_now,ft=c.unstable_getCurrentPriorityLevel,dt=c.unstable_ImmediatePriority,pt=c.unstable_UserBlockingPriority,ht=c.unstable_NormalPriority,gt=c.unstable_LowPriority,mt=c.unstable_IdlePriority,vt={},yt=void 0!==st?st:function(){},bt=null,St=null,wt=!1,kt=ct(),Et=1e4>kt?ct:function(){return ct()-kt};function Tt(){switch(ft()){case dt:return 99;case pt:return 98;case ht:return 97;case gt:return 96;case mt:return 95;default:throw Error("Unknown priority level.")}}function xt(e){switch(e){case 99:return dt;case 98:return pt;case 97:return ht;case 96:return gt;case 95:return mt;default:throw Error("Unknown priority level.")}}function _t(e,n){return e=xt(e),at(e,n)}function Rt(e,n,t){return e=xt(e),it(e,n,t)}function Pt(){if(null!==St){var e=St;St=null,ut(e)}Ct()}function Ct(){if(!wt&&null!==bt){wt=!0;var e=0;try{var n=bt;_t(99,function(){for(;eg?(m=h,h=null):m=h.sibling;var v=d(l,h,u[g],o);if(null===v){null===h&&(h=m);break}e&&h&&null===v.alternate&&n(l,h),i=a(v,i,g),null===c?s=v:c.sibling=v,c=v,h=m}if(g===u.length)return t(l,h),s;if(null===h){for(;gg?(m=h,h=null):m=h.sibling;var y=d(l,h,v.value,o);if(null===y){null===h&&(h=m);break}e&&h&&null===y.alternate&&n(l,h),i=a(y,i,g),null===c?s=y:c.sibling=y,c=y,h=m}if(v.done)return t(l,h),s;if(null===h){for(;!v.done;g++,v=u.next())null!==(v=f(l,v.value,o))&&(i=a(v,i,g),null===c?s=v:c.sibling=v,c=v);return s}for(h=r(l,h);!v.done;g++,v=u.next())null!==(v=p(h,l,g,v.value,o))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),i=a(v,i,g),null===c?s=v:c.sibling=v,c=v);return e&&h.forEach(function(e){return n(l,e)}),s}return function(e,r,a,u){var o="object"==typeof a&&null!==a&&a.type===Me&&null===a.key;o&&(a=a.props.children);var s="object"==typeof a&&null!==a;if(s)switch(a.$$typeof){case Le:e:{for(s=a.key,o=r;null!==o;){if(o.key===s){switch(o.tag){case 7:if(a.type===Me){t(e,o.sibling),(r=l(o,a.props.children)).return=e,e=r;break e}break;default:if(o.elementType===a.type){t(e,o.sibling),(r=l(o,a.props)).ref=or(e,o,a),r.return=e,e=r;break e}}t(e,o);break}n(e,o),o=o.sibling}a.type===Me?((r=wi(a.props.children,e.mode,u,a.key)).return=e,e=r):((u=Si(a.type,a.key,a.props,null,e.mode,u)).ref=or(e,r,a),u.return=e,e=u)}return i(e);case Ue:e:{for(o=a.key;null!==r;){if(r.key===o){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){t(e,r.sibling),(r=l(r,a.children||[])).return=e,e=r;break e}t(e,r);break}n(e,r),r=r.sibling}(r=Ti(a,e.mode,u)).return=e,e=r}return i(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(t(e,r.sibling),(r=l(r,a)).return=e,e=r):(t(e,r),(r=Ei(a,e.mode,u)).return=e,e=r),i(e);if(ur(a))return h(e,r,a,u);if(Ke(a))return g(e,r,a,u);if(s&&sr(e,a),void 0===a&&!o)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error((Je(e.type)||"Component")+"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.")}return t(e,r)}}var fr=cr(!0),dr=cr(!1),pr={},hr=Nn(pr),gr=Nn(pr),mr=Nn(pr);function vr(e){if(e===pr)throw Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");return e}function yr(e,n){In(mr,n),In(gr,e),In(hr,pr),zn(hr),In(hr,{isInAParentText:!1})}function br(){zn(hr),zn(gr),zn(mr)}function Sr(e){vr(mr.current);var n=vr(hr.current),t=e.type;t="AndroidTextInput"===t||"RCTMultilineTextInputView"===t||"RCTSinglelineTextInputView"===t||"RCTText"===t||"RCTVirtualText"===t,n!==(t=n.isInAParentText!==t?{isInAParentText:t}:n)&&(In(gr,e),In(hr,t))}function wr(e){gr.current===e&&(zn(hr),zn(gr))}var kr=Nn(0);function Er(e){for(var n=e;null!==n;){if(13===n.tag){var t=n.memoizedState;if(null!==t&&(null===t.dehydrated||vn()||vn()))return n}else if(19===n.tag&&void 0!==n.memoizedProps.revealOrder){if(0!=(64&n.flags))return n}else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Tr=[];function xr(){for(var e=0;ea))throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");a+=1,zr=Nr=null,n.updateQueue=null,_r.current=sl,e=t(r,l)}while(Lr)}if(_r.current=il,n=null!==Nr&&null!==Nr.next,Pr=0,zr=Nr=Cr=null,Ir=!1,n)throw Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement.");return e}function Dr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===zr?Cr.memoizedState=zr=e:zr=zr.next=e,zr}function Qr(){if(null===Nr){var e=Cr.alternate;e=null!==e?e.memoizedState:null}else e=Nr.next;var n=null===zr?Cr.memoizedState:zr.next;if(null!==n)zr=n,Nr=e;else{if(null===e)throw Error("Rendered more hooks than during the previous render.");e={memoizedState:(Nr=e).memoizedState,baseState:Nr.baseState,baseQueue:Nr.baseQueue,queue:Nr.queue,next:null},null===zr?Cr.memoizedState=zr=e:zr=zr.next=e}return zr}function Br(e,n){return"function"==typeof n?n(e):n}function Fr(e){var n=Qr(),t=n.queue;if(null===t)throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");t.lastRenderedReducer=e;var r=Nr,l=r.baseQueue,a=t.pending;if(null!==a){if(null!==l){var i=l.next;l.next=a.next,a.next=i}r.baseQueue=l=a,t.pending=null}if(null!==l){l=l.next,r=r.baseState;var u=i=a=null,o=l;do{var s=o.lane;if((Pr&s)===s)null!==u&&(u=u.next={lane:0,action:o.action,eagerReducer:o.eagerReducer,eagerState:o.eagerState,next:null}),r=o.eagerReducer===e?o.eagerState:e(r,o.action);else{var c={lane:s,action:o.action,eagerReducer:o.eagerReducer,eagerState:o.eagerState,next:null};null===u?(i=u=c,a=r):u=u.next=c,Cr.lanes|=s,va|=s}o=o.next}while(null!==o&&o!==l);null===u?a=r:u.next=i,zt(r,n.memoizedState)||(fl=!0),n.memoizedState=r,n.baseState=a,n.baseQueue=u,t.lastRenderedState=r}return[n.memoizedState,t.dispatch]}function jr(e){var n=Qr(),t=n.queue;if(null===t)throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");t.lastRenderedReducer=e;var r=t.dispatch,l=t.pending,a=n.memoizedState;if(null!==l){t.pending=null;var i=l=l.next;do{a=e(a,i.action),i=i.next}while(i!==l);zt(a,n.memoizedState)||(fl=!0),n.memoizedState=a,null===n.baseQueue&&(n.baseState=a),t.lastRenderedState=a}return[a,r]}function Or(e,n,t){var r=n._getVersion;r=r(n._source);var l=n._workInProgressVersionPrimary;if(null!==l?e=l===r:(e=e.mutableReadLanes,(e=(Pr&e)===e)&&(n._workInProgressVersionPrimary=r,Tr.push(n))),e)return t(n._source);throw Tr.push(n),Error("Cannot read from mutable source during the current render without tearing. This is a bug in React. Please file an issue.")}function Hr(e,n,t,r){var l=sa;if(null===l)throw Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");var a=n._getVersion,i=a(n._source),u=_r.current,o=u.useState(function(){return Or(l,n,t)}),s=o[1],c=o[0];o=zr;var f=e.memoizedState,d=f.refs,p=d.getSnapshot,h=f.source;f=f.subscribe;var g=Cr;return e.memoizedState={refs:d,source:n,subscribe:r},u.useEffect(function(){d.getSnapshot=t,d.setSnapshot=s;var e=a(n._source);if(!zt(i,e)){e=t(n._source),zt(c,e)||(s(e),e=ja(g),l.mutableReadLanes|=e&l.pendingLanes),e=l.mutableReadLanes,l.entangledLanes|=e;for(var r=l.entanglements,u=e;0t?98:t,function(){e(!0)}),_t(97 component.");l=wn(),o.UIManager.createView(l,"RCTRawText",e,{text:r}),ke.set(l,n),n.stateNode=l}return null;case 13:return zn(kr),r=n.memoizedState,0!=(64&n.flags)?(n.lanes=t,n):(r=null!==r,l=!1,null!==e&&(l=null!==e.memoizedState),r&&!l&&0!=(2&n.mode)&&(null===e&&!0!==n.memoizedProps.unstable_avoidThisFallback||0!=(1&kr.current)?0===ha&&(ha=3):(0!==ha&&3!==ha||(ha=4),null===sa||0==(134217727&va)&&0==(134217727&ya)||Ya(sa,fa))),(r||l)&&(n.flags|=4),null);case 4:return br(),El(n),null;case 10:return Ot(n),null;case 17:return Qn(n.type)&&Bn(),null;case 19:if(zn(kr),null===(r=n.memoizedState))return null;if(l=0!=(64&n.flags),null===(a=r.rendering))if(l)Ml(r,!1);else{if(0!==ha||null!==e&&0!=(64&e.flags))for(e=n.child;null!==e;){if(null!==(a=Er(e))){for(n.flags|=64,Ml(r,!1),null!==(e=a.updateQueue)&&(n.updateQueue=e,n.flags|=4),null===r.lastEffect&&(n.firstEffect=null),n.lastEffect=r.lastEffect,e=t,r=n.child;null!==r;)t=e,(l=r).flags&=2,l.nextEffect=null,l.firstEffect=null,l.lastEffect=null,null===(a=l.alternate)?(l.childLanes=0,l.lanes=t,l.child=null,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=a.childLanes,l.lanes=a.lanes,l.child=a.child,l.memoizedProps=a.memoizedProps,l.memoizedState=a.memoizedState,l.updateQueue=a.updateQueue,l.type=a.type,t=a.dependencies,l.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext}),r=r.sibling;return In(kr,1&kr.current|2),n.child}e=e.sibling}null!==r.tail&&Et()>ka&&(n.flags|=64,l=!0,Ml(r,!1),n.lanes=33554432)}else{if(!l)if(null!==(e=Er(a))){if(n.flags|=64,l=!0,null!==(e=e.updateQueue)&&(n.updateQueue=e,n.flags|=4),Ml(r,!0),null===r.tail&&"hidden"===r.tailMode&&!a.alternate)return null!==(n=n.lastEffect=r.lastEffect)&&(n.nextEffect=null),null}else 2*Et()-r.renderingStartTime>ka&&1073741824!==t&&(n.flags|=64,l=!0,Ml(r,!1),n.lanes=33554432);r.isBackwards?(a.sibling=n.child,n.child=a):(null!==(e=r.last)?e.sibling=a:n.child=a,r.last=a)}return null!==r.tail?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.lastEffect=n.lastEffect,r.renderingStartTime=Et(),e.sibling=null,n=kr.current,In(kr,l?1&n|2:1&n),e):null;case 23:case 24:return $a(),null!==e&&null!==e.memoizedState!=(null!==n.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(n.flags|=4),null}throw Error("Unknown unit of work tag ("+n.tag+"). This error is likely caused by a bug in React. Please file an issue.")}function Dl(e){switch(e.tag){case 1:Qn(e.type)&&Bn();var n=e.flags;return 8192&n?(e.flags=-8193&n|64,e):null;case 3:if(br(),zn(Mn),zn(Un),xr(),0!=(64&(n=e.flags)))throw Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue.");return e.flags=-8193&n|64,e;case 5:return wr(e),null;case 13:return zn(kr),8192&(n=e.flags)?(e.flags=-8193&n|64,e):null;case 19:return zn(kr),null;case 4:return br(),null;case 10:return Ot(e),null;case 23:case 24:return $a(),null;default:return null}}function Ql(e,n){return{value:e,source:n,stack:Mt(n)}}if(kl=function(e,n){for(var t=n.child;null!==t;){if(5===t.tag||6===t.tag)e._children.push(t.stateNode);else if(4!==t.tag&&null!==t.child){t.child.return=t,t=t.child;continue}if(t===n)break;for(;null===t.sibling;){if(null===t.return||t.return===n)return;t=t.return}t.sibling.return=t.return,t=t.sibling}},El=function(){},Tl=function(e,n,t,r){e.memoizedProps!==r&&(vr(hr.current),n.updateQueue=bn)&&(n.flags|=4)},xl=function(e,n,t,r){t!==r&&(n.flags|=4)},"function"!=typeof o.ReactFiberErrorDialog.showErrorDialog)throw Error("Expected ReactFiberErrorDialog.showErrorDialog to be a function.");function Bl(e,n){try{!1!==o.ReactFiberErrorDialog.showErrorDialog({componentStack:null!==n.stack?n.stack:"",error:n.value,errorBoundary:null!==e&&1===e.tag?e.stateNode:null})&&console.error(n.value)}catch(e){setTimeout(function(){throw e})}}var Fl="function"==typeof WeakMap?WeakMap:Map;function jl(e,n,t){(t=$t(-1,t)).tag=3,t.payload={element:null};var r=n.value;return t.callback=function(){Ta||(Ta=!0,xa=r),Bl(e,n)},t}function Ol(e,n,t){(t=$t(-1,t)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var l=n.value;t.payload=function(){return Bl(e,n),r(l)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(t.callback=function(){"function"!=typeof r&&(null===_a?_a=new Set([this]):_a.add(this),Bl(e,n));var t=n.stack;this.componentDidCatch(n.value,{componentStack:null!==t?t:""})}),t}var Hl="function"==typeof WeakSet?WeakSet:Set;function Vl(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){di(e,n)}else n.current=null}function Wl(e,n){switch(n.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&n.flags&&null!==e){var t=e.memoizedProps,r=e.memoizedState;n=(e=n.stateNode).getSnapshotBeforeUpdate(n.elementType===n.type?t:At(n.type,t),r),e.__reactInternalSnapshotBeforeUpdate=n}return;case 3:return;case 5:case 6:case 4:case 17:return}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}function Yl(e,n,t){switch(t.tag){case 0:case 11:case 15:case 22:if(null!==(n=null!==(n=t.updateQueue)?n.lastEffect:null)){e=n=n.next;do{if(3==(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==n)}if(null!==(n=null!==(n=t.updateQueue)?n.lastEffect:null)){e=n=n.next;do{var l=e;r=l.next,0!=(4&(l=l.tag))&&0!=(1&l)&&(si(t,e),oi(t,e)),e=r}while(e!==n)}return;case 1:return e=t.stateNode,4&t.flags&&(null===n?e.componentDidMount():(r=t.elementType===t.type?n.memoizedProps:At(t.type,n.memoizedProps),e.componentDidUpdate(r,n.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(n=t.updateQueue)&&Zt(t,n,e));case 3:if(null!==(n=t.updateQueue)){if(e=null,null!==t.child)switch(t.child.tag){case 5:e=t.child.stateNode;break;case 1:e=t.child.stateNode}Zt(t,n,e)}return;case 5:case 6:case 4:case 12:case 13:return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}function ql(e,n){for(var t=e;;){if(5===t.tag){var r=t.stateNode;if(n){var l=r.viewConfig,a=hn(null,ln,{style:{display:"none"}},l.validAttributes);o.UIManager.updateView(r._nativeTag,l.uiViewClassName,a)}else{r=t.stateNode,a=t.memoizedProps,l=r.viewConfig,a=hn(null,u({},a,{style:[a.style,{display:"none"}]}),a,l.validAttributes),o.UIManager.updateView(r._nativeTag,l.uiViewClassName,a)}}else{if(6===t.tag)throw Error("Not yet implemented.");if((23!==t.tag&&24!==t.tag||null===t.memoizedState||t===e)&&null!==t.child){t.child.return=t,t=t.child;continue}}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}}function Xl(e,n){if(Wn&&"function"==typeof Wn.onCommitFiberUnmount)try{Wn.onCommitFiberUnmount(Vn,n)}catch(e){}switch(n.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=n.updateQueue)&&null!==(e=e.lastEffect)){var t=e=e.next;do{var r=t,l=r.destroy;if(r=r.tag,void 0!==l)if(0!=(4&r))si(n,t);else{r=n;try{l()}catch(e){di(r,e)}}t=t.next}while(t!==e)}break;case 1:if(Vl(n),"function"==typeof(e=n.stateNode).componentWillUnmount)try{e.props=n.memoizedProps,e.state=n.memoizedState,e.componentWillUnmount()}catch(e){di(n,e)}break;case 5:Vl(n);break;case 4:ea(e,n)}}function $l(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function Gl(e){return 5===e.tag||3===e.tag||4===e.tag}function Kl(e){e:{for(var n=e.return;null!==n;){if(Gl(n))break e;n=n.return}throw Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.")}var t=n;switch(n=t.stateNode,t.tag){case 5:var r=!1;break;case 3:case 4:n=n.containerInfo,r=!0;break;default:throw Error("Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.")}16&t.flags&&(t.flags&=-17);e:n:for(t=e;;){for(;null===t.sibling;){if(null===t.return||Gl(t.return)){t=null;break e}t=t.return}for(t.sibling.return=t.return,t=t.sibling;5!==t.tag&&6!==t.tag&&18!==t.tag;){if(2&t.flags)continue n;if(null===t.child||4===t.tag)continue n;t.child.return=t,t=t.child}if(!(2&t.flags)){t=t.stateNode;break e}}r?Jl(e,t,n):Zl(e,t,n)}function Jl(e,n,t){var r=e.tag,l=5===r||6===r;if(l)if(e=l?e.stateNode:e.stateNode.instance,n){if("number"==typeof t)throw Error("Container does not support insertBefore operation")}else o.UIManager.setChildren(t,["number"==typeof e?e:e._nativeTag]);else if(4!==r&&null!==(e=e.child))for(Jl(e,n,t),e=e.sibling;null!==e;)Jl(e,n,t),e=e.sibling}function Zl(e,n,t){var r=e.tag,l=5===r||6===r;if(l)e=l?e.stateNode:e.stateNode.instance,n?0<=(l=(r=t._children).indexOf(e))?(r.splice(l,1),n=r.indexOf(n),r.splice(n,0,e),o.UIManager.manageChildren(t._nativeTag,[l],[n],[],[],[])):(n=r.indexOf(n),r.splice(n,0,e),o.UIManager.manageChildren(t._nativeTag,[],[],["number"==typeof e?e:e._nativeTag],[n],[])):(n="number"==typeof e?e:e._nativeTag,0<=(l=(r=t._children).indexOf(e))?(r.splice(l,1),r.push(e),o.UIManager.manageChildren(t._nativeTag,[l],[r.length-1],[],[],[])):(r.push(e),o.UIManager.manageChildren(t._nativeTag,[],[],[n],[r.length-1],[])));else if(4!==r&&null!==(e=e.child))for(Zl(e,n,t),e=e.sibling;null!==e;)Zl(e,n,t),e=e.sibling}function ea(e,n){for(var t,r,l=n,a=!1;;){if(!a){a=l.return;e:for(;;){if(null===a)throw Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.");switch(t=a.stateNode,a.tag){case 5:r=!1;break e;case 3:case 4:t=t.containerInfo,r=!0;break e}a=a.return}a=!0}if(5===l.tag||6===l.tag){e:for(var i=e,u=l,s=u;;)if(Xl(i,s),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===u)break e;for(;null===s.sibling;){if(null===s.return||s.return===u)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}r?(i=t,kn(l.stateNode),o.UIManager.manageChildren(i,[],[],[],[],[0])):(i=t,kn(s=l.stateNode),s=(u=i._children).indexOf(s),u.splice(s,1),o.UIManager.manageChildren(i._nativeTag,[],[],[],[],[s]))}else if(4===l.tag){if(null!==l.child){t=l.stateNode.containerInfo,r=!0,l.child.return=l,l=l.child;continue}}else if(Xl(e,l),null!==l.child){l.child.return=l,l=l.child;continue}if(l===n)break;for(;null===l.sibling;){if(null===l.return||l.return===n)return;4===(l=l.return).tag&&(a=!1)}l.sibling.return=l.return,l=l.sibling}}function na(e,n){switch(n.tag){case 0:case 11:case 14:case 15:case 22:var t=n.updateQueue;if(null!==(t=null!==t?t.lastEffect:null)){var r=t=t.next;do{3==(3&r.tag)&&(n=r.destroy,r.destroy=void 0,void 0!==n&&n()),r=r.next}while(r!==t)}return;case 1:return;case 5:if(null!=(t=n.stateNode)){r=n.memoizedProps,e=null!==e?e.memoizedProps:r;var l=n.updateQueue;n.updateQueue=null,null!==l&&(n=t.viewConfig,Ee.set(t._nativeTag,r),null!=(r=hn(null,e,r,n.validAttributes))&&o.UIManager.updateView(t._nativeTag,n.uiViewClassName,r))}return;case 6:if(null===n.stateNode)throw Error("This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.");return void o.UIManager.updateView(n.stateNode,"RCTRawText",{text:n.memoizedProps});case 3:case 12:return;case 13:return null!==n.memoizedState&&(wa=Et(),ql(n.child,!0)),void ta(n);case 19:return void ta(n);case 17:return;case 23:case 24:return void ql(n,null!==n.memoizedState)}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}function ta(e){var n=e.updateQueue;if(null!==n){e.updateQueue=null;var t=e.stateNode;null===t&&(t=e.stateNode=new Hl),n.forEach(function(n){var r=hi.bind(null,e,n);t.has(n)||(t.add(n),n.then(r,r))})}}function ra(e,n){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(n=n.memoizedState)&&null===n.dehydrated)}var la,aa=Math.ceil,ia=Ie.ReactCurrentDispatcher,ua=Ie.ReactCurrentOwner,oa=0,sa=null,ca=null,fa=0,da=0,pa=Nn(0),ha=0,ga=null,ma=0,va=0,ya=0,ba=0,Sa=null,wa=0,ka=1/0,Ea=null,Ta=!1,xa=null,_a=null,Ra=!1,Pa=null,Ca=90,Na=[],za=[],Ia=null,La=0,Ua=null,Ma=-1,Aa=0,Da=0,Qa=null,Ba=!1;function Fa(){return 0!=(48&oa)?Et():-1!==Ma?Ma:Ma=Et()}function ja(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Tt()?1:2;if(0===Aa&&(Aa=ma),0!==Nt.transition){0!==Da&&(Da=null!==Sa?Sa.pendingLanes:0),e=Aa;var n=4186112&~Da;return 0===(n&=-n)&&(0===(n=(e=4186112&~e)&-e)&&(n=8192)),n}return e=Tt(),0!=(4&oa)&&98===e?e=Jn(12,Aa):e=Jn(e=Xn(e),Aa),e}function Oa(e,n,t){if(50l&&(l=i),t&=~a}if(t=l,10<(t=(120>(t=Et()-t)?120:480>t?480:1080>t?1080:1920>t?1920:3e3>t?3e3:4320>t?4320:1960*aa(t/1960))-t)){e.timeoutHandle=Tn(li.bind(null,e),t);break}li(e);break;case 5:li(e);break;default:throw Error("Unknown root exit status.")}}return Va(e,Et()),e.callbackNode===n?Wa.bind(null,e):null}function Ya(e,n){for(n&=~ba,n&=~ya,e.suspendedLanes|=n,e.pingedLanes&=~n,e=e.expirationTimes;0 component higher in the tree to provide a loading indicator or placeholder to display.")}5!==ha&&(ha=2),o=Ql(o,u),d=i;do{switch(d.tag){case 3:a=o,d.flags|=8192,n&=-n,d.lanes|=n,Kt(d,jl(d,a,n));break e;case 1:a=o;var w=d.type,k=d.stateNode;if(0==(64&d.flags)&&("function"==typeof w.getDerivedStateFromError||null!==k&&"function"==typeof k.componentDidCatch&&(null===_a||!_a.has(k)))){d.flags|=8192,n&=-n,d.lanes|=n,Kt(d,Ol(d,a,n));break e}}d=d.return}while(null!==d)}ri(t)}catch(e){n=e,ca===t&&null!==t&&(ca=t=t.return);continue}break}}function Ja(){var e=ia.current;return ia.current=il,null===e?il:e}function Za(e,n){var t=oa;oa|=16;var r=Ja();for(sa===e&&fa===n||Ga(e,n);;)try{ei();break}catch(n){Ka(e,n)}if(jt(),oa=t,ia.current=r,null!==ca)throw Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");return sa=null,fa=0,ha}function ei(){for(;null!==ca;)ti(ca)}function ni(){for(;null!==ca&&!ot();)ti(ca)}function ti(e){var n=la(e.alternate,e,da);e.memoizedProps=e.pendingProps,null===n?ri(e):ca=n,ua.current=null}function ri(e){var n=e;do{var t=n.alternate;if(e=n.return,0==(4096&n.flags)){if(null!==(t=Al(t,n,da)))return void(ca=t);if(24!==(t=n).tag&&23!==t.tag||null===t.memoizedState||0!=(1073741824&da)||0==(4&t.mode)){for(var r=0,l=t.child;null!==l;)r|=l.lanes|l.childLanes,l=l.sibling;t.childLanes=r}null!==e&&0==(4096&e.flags)&&(null===e.firstEffect&&(e.firstEffect=n.firstEffect),null!==n.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=n.firstEffect),e.lastEffect=n.lastEffect),1Et()-wa?Ga(e,0):ba|=t),Va(e,n)}function hi(e,n){var t=e.stateNode;null!==t&&t.delete(n),0===(n=0)&&(0==(2&(n=e.mode))?n=1:0==(4&n)?n=99===Tt()?1:2:(0===Aa&&(Aa=ma),0===(n=Zn(62914560&~Aa))&&(n=4194304))),t=Fa(),null!==(e=Ha(e,n))&&(nt(e,n,t),Va(e,t))}function gi(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function mi(e,n,t,r){return new gi(e,n,t,r)}function vi(e){return!(!(e=e.prototype)||!e.isReactComponent)}function yi(e){if("function"==typeof e)return vi(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===Fe)return 11;if(e===He)return 14}return 2}function bi(e,n){var t=e.alternate;return null===t?((t=mi(e.tag,n,e.key,e.mode)).elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.nextEffect=null,t.firstEffect=null,t.lastEffect=null),t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=null===n?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function Si(e,n,t,r,l,a){var i=2;if(r=e,"function"==typeof e)vi(e)&&(i=1);else if("string"==typeof e)i=5;else e:switch(e){case Me:return wi(t.children,l,a,n);case Ye:i=8,l|=16;break;case Ae:i=8,l|=1;break;case De:return(e=mi(12,t,n,8|l)).elementType=De,e.type=De,e.lanes=a,e;case je:return(e=mi(13,t,n,l)).type=je,e.elementType=je,e.lanes=a,e;case Oe:return(e=mi(19,t,n,l)).elementType=Oe,e.lanes=a,e;case qe:return ki(t,l,a,n);case Xe:return(e=mi(24,t,n,l)).elementType=Xe,e.lanes=a,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case Qe:i=10;break e;case Be:i=9;break e;case Fe:i=11;break e;case He:i=14;break e;case Ve:i=16,r=null;break e;case We:i=22;break e}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+(null==e?e:typeof e)+".")}return(n=mi(i,t,n,l)).elementType=e,n.type=r,n.lanes=a,n}function wi(e,n,t,r){return(e=mi(7,e,r,n)).lanes=t,e}function ki(e,n,t,r){return(e=mi(23,e,r,n)).elementType=qe,e.lanes=t,e}function Ei(e,n,t){return(e=mi(6,e,null,n)).lanes=t,e}function Ti(e,n,t){return(n=mi(4,null!==e.children?e.children:[],e.key,n)).lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function xi(e,n,t){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=t,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=et(0),this.expirationTimes=et(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=et(0)}function _i(e,n,t){var r=3=t.length?{done:!0}:{done:!1,value:t[u++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function c(t,n){if(t){if("string"==typeof t)return l(t,n);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?l(t,n):void 0}}function l(t,n){(null==n||n>t.length)&&(n=t.length);for(var o=0,u=new Array(n);oI&&console.warn('Tried to call timer with ID %s but no such timer exists.',t);var s=f.indexOf(t);if(-1!==s){var v=c[s],h=u[s];if(h&&v){'setInterval'!==v&&y(s);try{'setTimeout'===v||'setInterval'===v||'setImmediate'===v?h():'requestAnimationFrame'===v?h(g.performance.now()):'requestIdleCallback'===v?h({timeRemaining:function(){return Math.max(0,o-(g.performance.now()-n))},didTimeout:!!l}):console.error('Tried to call a callback with invalid type: '+v)}catch(t){T?T.push(t):T=[t]}}else console.error('No callback found for timerID '+t)}}function x(){if(0===s.length)return!1;var t=s;s=[];for(var n=0;n0}function y(t){f[t]=null,u[t]=null,c[t]=null}function C(t){if(null!=t){var n=f.indexOf(t);if(-1!==n){var l=c[n];y(n),'setImmediate'!==l&&'requestIdleCallback'!==l&&O(t)}}}var q,A={setTimeout:function(t,n){for(var l=arguments.length,o=new Array(l>2?l-2:0),u=2;u2?l-2:0),u=2;u1?n-1:0),o=1;o-1&&(v.splice(t,1),k(o,g.performance.now(),!0)),delete h[o],0===v.length&&F(!1)},l);h[o]=u}return o},cancelIdleCallback:function(t){C(t);var n=v.indexOf(t);-1!==n&&v.splice(n,1);var l=h[t];l&&(A.clearTimeout(l),delete h[t]),0===v.length&&F(!1)},clearTimeout:function(t){C(t)},clearInterval:function(t){C(t)},clearImmediate:function(t){C(t);var n=s.indexOf(t);-1!==n&&s.splice(n,1)},cancelAnimationFrame:function(t){C(t)},callTimers:function(t){l(0!==t.length,'Cannot call `callTimers` with an empty list of IDs.'),T=null;for(var n=0;n1)for(var u=1;u0){var n=v;v=[];for(var l=0;l=0,loaded:s,total:n})}},{key:"__didCompleteResponse",value:function(t,s,n){t===this._requestId&&(s&&(''!==this._responseType&&'text'!==this._responseType||(this._response=s),this._hasError=!0,n&&(this._timedOut=!0)),this._clearSubscriptions(),this._requestId=null,this.setReadyState(this.DONE),s?y._interceptor&&y._interceptor.loadingFailed(t,s):y._interceptor&&y._interceptor.loadingFinished(t,this._response.length))}},{key:"_clearSubscriptions",value:function(){(this._subscriptions||[]).forEach(function(t){t&&t.remove()}),this._subscriptions=[]}},{key:"getAllResponseHeaders",value:function(){if(!this.responseHeaders)return null;var t=this.responseHeaders||{};return Object.keys(t).map(function(s){return s+': '+t[s]}).join('\r\n')}},{key:"getResponseHeader",value:function(t){var s=this._lowerCaseResponseHeaders[t.toLowerCase()];return void 0!==s?s:null}},{key:"setRequestHeader",value:function(t,s){if(this.readyState!==this.OPENED)throw new Error('Request has not been opened');this._headers[t.toLowerCase()]=String(s)}},{key:"setTrackingName",value:function(t){return this._trackingName=t,this}},{key:"setPerformanceLogger",value:function(t){return this._performanceLogger=t,this}},{key:"open",value:function(t,s,n){if(this.readyState!==this.UNSENT)throw new Error('Cannot open, already sending');if(void 0!==n&&!n)throw new Error('Synchronous http requests are not supported');if(!s)throw new Error('Cannot load an empty url');this._method=t.toUpperCase(),this._url=s,this._aborted=!1,this.setReadyState(this.OPENED)}},{key:"send",value:function(s){var n=this;if(this.readyState!==this.OPENED)throw new Error('Request has not been opened');if(this._sent)throw new Error('Request has already been sent');this._sent=!0;var o=this._incrementalEvents||!!this.onreadystatechange||!!this.onprogress;this._subscriptions.push(v.addListener('didSendNetworkData',function(s){return n.__didUploadProgress.apply(n,t(s))})),this._subscriptions.push(v.addListener('didReceiveNetworkResponse',function(s){return n.__didReceiveResponse.apply(n,t(s))})),this._subscriptions.push(v.addListener('didReceiveNetworkData',function(s){return n.__didReceiveData.apply(n,t(s))})),this._subscriptions.push(v.addListener('didReceiveNetworkIncrementalData',function(s){return n.__didReceiveIncrementalData.apply(n,t(s))})),this._subscriptions.push(v.addListener('didReceiveNetworkDataProgress',function(s){return n.__didReceiveDataProgress.apply(n,t(s))})),this._subscriptions.push(v.addListener('didCompleteNetworkResponse',function(s){return n.__didCompleteResponse.apply(n,t(s))}));var h='text';'arraybuffer'===this._responseType&&(h='base64'),'blob'===this._responseType&&(h='blob');var p;p='unknown'!==n._trackingName?n._trackingName:n._url,n._perfKey='network_XMLHttpRequest_'+String(p),n._performanceLogger.startTimespan(n._perfKey),E(n._method,'XMLHttpRequest method needs to be defined (%s).',p),E(n._url,'XMLHttpRequest URL needs to be defined (%s).',p),v.sendRequest(n._method,n._trackingName,n._url,n._headers,s,h,o,n.timeout,n.__didCreateRequest.bind(n),n.withCredentials)}},{key:"abort",value:function(){this._aborted=!0,this._requestId&&v.abortRequest(this._requestId),this.readyState===this.UNSENT||this.readyState===this.OPENED&&!this._sent||this.readyState===this.DONE||(this._reset(),this.setReadyState(this.DONE)),this._reset()}},{key:"setResponseHeaders",value:function(t){this.responseHeaders=t||null;var s=t||{};this._lowerCaseResponseHeaders=Object.keys(s).reduce(function(t,n){return t[n.toLowerCase()]=s[n],t},{})}},{key:"setReadyState",value:function(t){this.readyState=t,this.dispatchEvent({type:'readystatechange'}),t===this.DONE&&(this._aborted?this.dispatchEvent({type:'abort'}):this._hasError?this._timedOut?this.dispatchEvent({type:'timeout'}):this.dispatchEvent({type:'error'}):this.dispatchEvent({type:'load'}),this.dispatchEvent({type:'loadend'}))}},{key:"addEventListener",value:function(t,s){'readystatechange'!==t&&'progress'!==t||(this._incrementalEvents=!0),n(u(y.prototype),"addEventListener",this).call(this,t,s)}}],[{key:"setInterceptor",value:function(t){y._interceptor=t}}]),y})(y.apply(void 0,t(L)));O.UNSENT=b,O.OPENED=k,O.HEADERS_RECEIVED=N,O.LOADING=w,O.DONE=S,O._interceptor=null,m.exports=O},118,[39,9,10,8,13,15,12,119,123,124,127,132,3]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),s=r(d[1]),n=r(d[2]),o=r(d[3]),h=r(d[4]),p=r(d[5]),u=r(d[6]);function c(t){var s=_();return function(){var n,o=u(t);if(s){var h=u(this).constructor;n=Reflect.construct(o,arguments,h)}else n=o.apply(this,arguments);return p(this,n)}}function _(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var l=r(d[7]),y=r(d[8]),f=r(d[9]),v=r(d[10]),R=r(d[11]),E=r(d[12]);l.isAvailable&&l.addNetworkingHandler();var b=0,k=1,N=2,w=3,S=4,D={arraybuffer:'function'==typeof g.ArrayBuffer,blob:'function'==typeof g.Blob,document:!1,json:!0,text:!0,'':!0},T=['abort','error','load','loadstart','progress','timeout','loadend'],L=T.concat('readystatechange'),q=(function(t){h(p,t);var s=c(p);function p(){return o(this,p),s.apply(this,arguments)}return n(p)})(y.apply(void 0,T)),O=(function(p){h(y,p);var _=c(y);function y(){var t;return o(this,y),(t=_.call(this)).UNSENT=b,t.OPENED=k,t.HEADERS_RECEIVED=N,t.LOADING=w,t.DONE=S,t.readyState=b,t.status=0,t.timeout=0,t.withCredentials=!0,t.upload=new q,t._aborted=!1,t._hasError=!1,t._method=null,t._perfKey=null,t._response='',t._url=null,t._timedOut=!1,t._trackingName='unknown',t._incrementalEvents=!1,t._performanceLogger=f,t._reset(),t}return n(y,[{key:"_reset",value:function(){this.readyState=this.UNSENT,this.responseHeaders=void 0,this.status=0,delete this.responseURL,this._requestId=null,this._cachedResponse=void 0,this._hasError=!1,this._headers={},this._response='',this._responseType='',this._sent=!1,this._lowerCaseResponseHeaders={},this._clearSubscriptions(),this._timedOut=!1}},{key:"responseType",get:function(){return this._responseType},set:function(t){if(this._sent)throw new Error("Failed to set the 'responseType' property on 'XMLHttpRequest': The response type cannot be set after the request has been sent.");D.hasOwnProperty(t)?(E(D[t]||'document'===t,"The provided value '"+t+"' is unsupported in this environment."),'blob'===t&&E(l.isAvailable,'Native module BlobModule is required for blob support'),this._responseType=t):console.warn("The provided value '"+t+"' is not a valid 'responseType'.")}},{key:"responseText",get:function(){if(''!==this._responseType&&'text'!==this._responseType)throw new Error("The 'responseText' property is only available if 'responseType' is set to '' or 'text', but it is '"+this._responseType+"'.");return this.readyState=0,loaded:s,total:n})}},{key:"__didCompleteResponse",value:function(t,s,n){t===this._requestId&&(s&&(''!==this._responseType&&'text'!==this._responseType||(this._response=s),this._hasError=!0,n&&(this._timedOut=!0)),this._clearSubscriptions(),this._requestId=null,this.setReadyState(this.DONE),s?y._interceptor&&y._interceptor.loadingFailed(t,s):y._interceptor&&y._interceptor.loadingFinished(t,this._response.length))}},{key:"_clearSubscriptions",value:function(){(this._subscriptions||[]).forEach(function(t){t&&t.remove()}),this._subscriptions=[]}},{key:"getAllResponseHeaders",value:function(){if(!this.responseHeaders)return null;var t=this.responseHeaders||{};return Object.keys(t).map(function(s){return s+': '+t[s]}).join('\r\n')}},{key:"getResponseHeader",value:function(t){var s=this._lowerCaseResponseHeaders[t.toLowerCase()];return void 0!==s?s:null}},{key:"setRequestHeader",value:function(t,s){if(this.readyState!==this.OPENED)throw new Error('Request has not been opened');this._headers[t.toLowerCase()]=String(s)}},{key:"setTrackingName",value:function(t){return this._trackingName=t,this}},{key:"setPerformanceLogger",value:function(t){return this._performanceLogger=t,this}},{key:"open",value:function(t,s,n){if(this.readyState!==this.UNSENT)throw new Error('Cannot open, already sending');if(void 0!==n&&!n)throw new Error('Synchronous http requests are not supported');if(!s)throw new Error('Cannot load an empty url');this._method=t.toUpperCase(),this._url=s,this._aborted=!1,this.setReadyState(this.OPENED)}},{key:"send",value:function(s){var n=this;if(this.readyState!==this.OPENED)throw new Error('Request has not been opened');if(this._sent)throw new Error('Request has already been sent');this._sent=!0;var o=this._incrementalEvents||!!this.onreadystatechange||!!this.onprogress;this._subscriptions.push(v.addListener('didSendNetworkData',function(s){return n.__didUploadProgress.apply(n,t(s))})),this._subscriptions.push(v.addListener('didReceiveNetworkResponse',function(s){return n.__didReceiveResponse.apply(n,t(s))})),this._subscriptions.push(v.addListener('didReceiveNetworkData',function(s){return n.__didReceiveData.apply(n,t(s))})),this._subscriptions.push(v.addListener('didReceiveNetworkIncrementalData',function(s){return n.__didReceiveIncrementalData.apply(n,t(s))})),this._subscriptions.push(v.addListener('didReceiveNetworkDataProgress',function(s){return n.__didReceiveDataProgress.apply(n,t(s))})),this._subscriptions.push(v.addListener('didCompleteNetworkResponse',function(s){return n.__didCompleteResponse.apply(n,t(s))}));var h='text';'arraybuffer'===this._responseType&&(h='base64'),'blob'===this._responseType&&(h='blob');var p;p='unknown'!==n._trackingName?n._trackingName:n._url,n._perfKey='network_XMLHttpRequest_'+String(p),n._performanceLogger.startTimespan(n._perfKey),E(n._method,'XMLHttpRequest method needs to be defined (%s).',p),E(n._url,'XMLHttpRequest URL needs to be defined (%s).',p),v.sendRequest(n._method,n._trackingName,n._url,n._headers,s,h,o,n.timeout,n.__didCreateRequest.bind(n),n.withCredentials)}},{key:"abort",value:function(){this._aborted=!0,this._requestId&&v.abortRequest(this._requestId),this.readyState===this.UNSENT||this.readyState===this.OPENED&&!this._sent||this.readyState===this.DONE||(this._reset(),this.setReadyState(this.DONE)),this._reset()}},{key:"setResponseHeaders",value:function(t){this.responseHeaders=t||null;var s=t||{};this._lowerCaseResponseHeaders=Object.keys(s).reduce(function(t,n){return t[n.toLowerCase()]=s[n],t},{})}},{key:"setReadyState",value:function(t){this.readyState=t,this.dispatchEvent({type:'readystatechange'}),t===this.DONE&&(this._aborted?this.dispatchEvent({type:'abort'}):this._hasError?this._timedOut?this.dispatchEvent({type:'timeout'}):this.dispatchEvent({type:'error'}):this.dispatchEvent({type:'load'}),this.dispatchEvent({type:'loadend'}))}},{key:"addEventListener",value:function(t,n){'readystatechange'!==t&&'progress'!==t||(this._incrementalEvents=!0),s(u(y.prototype),"addEventListener",this).call(this,t,n)}}],[{key:"setInterceptor",value:function(t){y._interceptor=t}}]),y})(y.apply(void 0,t(L)));O.UNSENT=b,O.OPENED=k,O.HEADERS_RECEIVED=N,O.LOADING=w,O.DONE=S,O._interceptor=null,m.exports=O},118,[39,10,9,8,13,15,12,119,123,124,127,132,3]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),l=t(r(d[1])),o=t(r(d[2])),n=t(r(d[3])),u=t(r(d[4])),f=t(r(d[5])),c=t(r(d[6]));function b(t,l){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);l&&(n=n.filter(function(l){return Object.getOwnPropertyDescriptor(t,l).enumerable})),o.push.apply(o,n)}return o}function s(t){for(var o=1;o0&&void 0!==arguments[0]?arguments[0]:[],o=arguments.length>1?arguments[1]:void 0;t(this,s);var u=r(d[2]);this.data=u.createFromParts(n,o).data}return n(s,[{key:"data",get:function(){if(!this._data)throw new Error('Blob has been closed and is no longer available');return this._data},set:function(t){this._data=t}},{key:"slice",value:function(t,n){var s=r(d[2]),o=this.data,u=o.offset,l=o.size;return'number'==typeof t&&(t>l&&(t=l),u+=t,l-=t,'number'==typeof n&&(n<0&&(n=this.size+n),l=n-t)),s.createFromOptions({blobId:this.data.blobId,offset:u,size:l})}},{key:"close",value:function(){r(d[2]).release(this.data.blobId),this.data=null}},{key:"size",get:function(){return this.data.size}},{key:"type",get:function(){return this.data.type||''}}]),s})();m.exports=s},121,[8,9,119]); @@ -141,7 +141,7 @@ __d(function(g,r,i,a,m,e,d){'use strict';r(d[0]),m.exports={fetch:fetch,Headers: __d(function(g,r,i,a,m,e,d){var t,o;t=this,o=function(t){'use strict';var o='undefined'!=typeof globalThis&&globalThis||'undefined'!=typeof self&&self||void 0!==o&&o,n={searchParams:'URLSearchParams'in o,iterable:'Symbol'in o&&'iterator'in Symbol,blob:'FileReader'in o&&'Blob'in o&&(function(){try{return new Blob,!0}catch(t){return!1}})(),formData:'FormData'in o,arrayBuffer:'ArrayBuffer'in o};if(n.arrayBuffer)var s=['[object Int8Array]','[object Uint8Array]','[object Uint8ClampedArray]','[object Int16Array]','[object Uint16Array]','[object Int32Array]','[object Uint32Array]','[object Float32Array]','[object Float64Array]'],h=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function f(t){if('string'!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||''===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function u(t){return'string'!=typeof t&&(t=String(t)),t}function c(t){var o={next:function(){var o=t.shift();return{done:void 0===o,value:o}}};return n.iterable&&(o[Symbol.iterator]=function(){return o}),o}function y(t){this.map={},t instanceof y?t.forEach(function(t,o){this.append(o,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(o){this.append(o,t[o])},this)}function l(t){if(t.bodyUsed)return Promise.reject(new TypeError('Already read'));t.bodyUsed=!0}function p(t){return new Promise(function(o,n){t.onload=function(){o(t.result)},t.onerror=function(){n(t.error)}})}function b(t){var o=new FileReader,n=p(o);return o.readAsArrayBuffer(t),n}function w(t){for(var o=new Uint8Array(t),n=new Array(o.length),s=0;s-1?s:n),this.mode=o.mode||this.mode||null,this.signal=o.signal||this.signal,this.referrer=null,('GET'===this.method||'HEAD'===this.method)&&h)throw new TypeError('Body not allowed for GET or HEAD requests');if(this._initBody(h),!('GET'!==this.method&&'HEAD'!==this.method||'no-store'!==o.cache&&'no-cache'!==o.cache)){var f=/([?&])_=[^&]*/;if(f.test(this.url))this.url=this.url.replace(f,'$1_='+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?'&':'?')+'_='+(new Date).getTime()}}}function A(t){var o=new FormData;return t.trim().split('&').forEach(function(t){if(t){var n=t.split('='),s=n.shift().replace(/\+/g,' '),h=n.join('=').replace(/\+/g,' ');o.append(decodeURIComponent(s),decodeURIComponent(h))}}),o}function B(t,o){if(!(this instanceof B))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');o||(o={}),this.type='default',this.status=void 0===o.status?200:o.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===o.statusText?'':''+o.statusText,this.headers=new y(o.headers),this.url=o.url||'',this._initBody(t)}T.prototype.clone=function(){return new T(this,{body:this._bodyInit})},_.call(T.prototype),_.call(B.prototype),B.prototype.clone=function(){return new B(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new y(this.headers),url:this.url})},B.error=function(){var t=new B(null,{status:0,statusText:''});return t.type='error',t};var x=[301,302,303,307,308];B.redirect=function(t,o){if(-1===x.indexOf(o))throw new RangeError('Invalid status code');return new B(null,{status:o,headers:{location:t}})},t.DOMException=o.DOMException;try{new t.DOMException}catch(o){t.DOMException=function(t,o){this.message=t,this.name=o;var n=Error(t);this.stack=n.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function O(s,h){return new Promise(function(f,c){var l=new T(s,h);if(l.signal&&l.signal.aborted)return c(new t.DOMException('Aborted','AbortError'));var p=new XMLHttpRequest;function b(){p.abort()}p.onload=function(){var t,o,n={status:p.status,statusText:p.statusText,headers:(t=p.getAllResponseHeaders()||'',o=new y,t.replace(/\r?\n[\t ]+/g,' ').split('\r').map(function(t){return 0===t.indexOf('\n')?t.substr(1,t.length):t}).forEach(function(t){var n=t.split(':'),s=n.shift().trim();if(s){var h=n.join(':').trim();o.append(s,h)}}),o)};n.url='responseURL'in p?p.responseURL:n.headers.get('X-Request-URL');var s='response'in p?p.response:p.responseText;setTimeout(function(){f(new B(s,n))},0)},p.onerror=function(){setTimeout(function(){c(new TypeError('Network request failed'))},0)},p.ontimeout=function(){setTimeout(function(){c(new TypeError('Network request failed'))},0)},p.onabort=function(){setTimeout(function(){c(new t.DOMException('Aborted','AbortError'))},0)},p.open(l.method,(function(t){try{return''===t&&o.location.href?o.location.href:t}catch(o){return t}})(l.url),!0),'include'===l.credentials?p.withCredentials=!0:'omit'===l.credentials&&(p.withCredentials=!1),'responseType'in p&&(n.blob?p.responseType='blob':n.arrayBuffer&&l.headers.get('Content-Type')&&-1!==l.headers.get('Content-Type').indexOf('application/octet-stream')&&(p.responseType='arraybuffer')),!h||'object'!=typeof h.headers||h.headers instanceof y?l.headers.forEach(function(t,o){p.setRequestHeader(o,t)}):Object.getOwnPropertyNames(h.headers).forEach(function(t){p.setRequestHeader(t,u(h.headers[t]))}),l.signal&&(l.signal.addEventListener('abort',b),p.onreadystatechange=function(){4===p.readyState&&l.signal.removeEventListener('abort',b)}),p.send(void 0===l._bodyInit?null:l._bodyInit)})}O.polyfill=!0,o.fetch||(o.fetch=O,o.Headers=y,o.Request=T,o.Response=B),t.Headers=y,t.Request=T,t.Response=B,t.fetch=O,Object.defineProperty(t,'__esModule',{value:!0})},'object'==typeof e&&void 0!==m?o(e):'function'==typeof define&&define.amd?define(['exports'],o):o(t.WHATWGFetch={})},135,[]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),s=t(r(d[1])),n=t(r(d[2])),o=t(r(d[3])),c=t(r(d[4])),u=t(r(d[5])),l=t(r(d[6])),f=t(r(d[7])),h=t(r(d[8])),y=t(r(d[9])),b=t(r(d[10])),p=t(r(d[11])),v=t(r(d[12])),_=t(r(d[13])),E=t(r(d[14])),k=t(r(d[15])),I=["headers"];function S(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var N=0,w=1,O=2,C=3,L=0,T=(function(t){(0,c.default)(R,t);var E,T,A=(E=R,T=S(),function(){var t,s=(0,l.default)(E);if(T){var n=(0,l.default)(this).constructor;t=Reflect.construct(s,arguments,n)}else t=s.apply(this,arguments);return(0,u.default)(this,t)});function R(t,o,c){var u;(0,n.default)(this,R),(u=A.call(this)).CONNECTING=N,u.OPEN=w,u.CLOSING=O,u.CLOSED=C,u.readyState=N,'string'==typeof o&&(o=[o]);var l=c||{},f=l.headers,h=void 0===f?{}:f,b=(0,s.default)(l,I);return b&&'string'==typeof b.origin&&(console.warn('Specifying `origin` as a WebSocket connection option is deprecated. Include it under `headers` instead.'),h.origin=b.origin,delete b.origin),Object.keys(b).length>0&&console.warn('Unrecognized WebSocket connection option(s) `'+Object.keys(b).join('`, `')+"`. Did you mean to put these under `headers`?"),Array.isArray(o)||(o=null),u._eventEmitter=new y.default(p.default),u._socketId=L++,u._registerEvents(),p.default.connect(t,o,{headers:h},u._socketId),u}return(0,o.default)(R,[{key:"binaryType",get:function(){return this._binaryType},set:function(t){if('blob'!==t&&'arraybuffer'!==t)throw new Error("binaryType must be either 'blob' or 'arraybuffer'");'blob'!==this._binaryType&&'blob'!==t||((0,k.default)(h.default.isAvailable,'Native module BlobModule is required for blob support'),'blob'===t?h.default.addWebSocketHandler(this._socketId):h.default.removeWebSocketHandler(this._socketId)),this._binaryType=t}},{key:"close",value:function(t,s){this.readyState!==this.CLOSING&&this.readyState!==this.CLOSED&&(this.readyState=this.CLOSING,this._close(t,s))}},{key:"send",value:function(t){if(this.readyState===this.CONNECTING)throw new Error('INVALID_STATE_ERR');if(t instanceof f.default)return(0,k.default)(h.default.isAvailable,'Native module BlobModule is required for blob support'),void h.default.sendOverSocket(t,this._socketId);if('string'!=typeof t){if(!(t instanceof ArrayBuffer||ArrayBuffer.isView(t)))throw new Error('Unsupported data type');p.default.sendBinary((0,b.default)(t),this._socketId)}else p.default.send(t,this._socketId)}},{key:"ping",value:function(){if(this.readyState===this.CONNECTING)throw new Error('INVALID_STATE_ERR');p.default.ping(this._socketId)}},{key:"_close",value:function(t,s){var n='number'==typeof t?t:1e3,o='string'==typeof s?s:'';p.default.close(n,o,this._socketId),h.default.isAvailable&&'blob'===this._binaryType&&h.default.removeWebSocketHandler(this._socketId)}},{key:"_unregisterEvents",value:function(){this._subscriptions.forEach(function(t){return t.remove()}),this._subscriptions=[]}},{key:"_registerEvents",value:function(){var t=this;this._subscriptions=[this._eventEmitter.addListener('websocketMessage',function(s){if(s.id===t._socketId){var n=s.data;switch(s.type){case'binary':n=_.default.toByteArray(s.data).buffer;break;case'blob':n=h.default.createFromOptions(s.data)}t.dispatchEvent(new v.default('message',{data:n}))}}),this._eventEmitter.addListener('websocketOpen',function(s){s.id===t._socketId&&(t.readyState=t.OPEN,t.protocol=s.protocol,t.dispatchEvent(new v.default('open')))}),this._eventEmitter.addListener('websocketClosed',function(s){s.id===t._socketId&&(t.readyState=t.CLOSED,t.dispatchEvent(new v.default('close',{code:s.code,reason:s.reason})),t._unregisterEvents(),t.close())}),this._eventEmitter.addListener('websocketFailed',function(s){s.id===t._socketId&&(t.readyState=t.CLOSED,t.dispatchEvent(new v.default('error',{message:s.message})),t.dispatchEvent(new v.default('close',{message:s.message})),t._unregisterEvents(),t.close())})]}}]),R})(E.default.apply(void 0,['close','error','message','open']));T.CONNECTING=N,T.OPEN=w,T.CLOSING=O,T.CLOSED=C,m.exports=T},136,[6,58,8,9,13,15,12,121,119,128,131,137,138,132,123,3]); __d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).getEnforcing('WebSocketModule');e.default=n},137,[28]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),s=r(d[1]);m.exports=function n(o,c){s(this,n),this.type=o.toString(),t(this,c)}},138,[30,8]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),s=r(d[1]),n=r(d[2]),o=s(function s(o,c){n(this,s),this.type=o.toString(),t(this,c)});m.exports=o},138,[30,9,8]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),u=r(d[2]),c=r(d[3]),o=r(d[4]);function s(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var l=r(d[5]),f=r(d[6]),h=(function(h){u(R,l);var p,v,y=(p=R,v=s(),function(){var t,n=o(p);if(v){var u=o(this).constructor;t=Reflect.construct(n,arguments,u)}else t=n.apply(this,arguments);return c(this,t)});function R(n,u,c){var o;return t(this,R),f(null!=n&&null!=u,'Failed to construct `File`: Must pass both `parts` and `name` arguments.'),(o=y.call(this,n,c)).data.name=u,o}return n(R,[{key:"name",get:function(){return f(null!=this.data.name,'Files must have a name set.'),this.data.name}},{key:"lastModified",get:function(){return this.data.lastModified||0}}]),R})();m.exports=h},139,[8,9,13,15,12,121,3]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),s=t(r(d[3])),u=t(r(d[4])),l=t(r(d[5])),c=t(r(d[6]));function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}r(d[7]);var h=0,y=1,_=2,p=(function(t){(0,s.default)(R,t);var p,v,b=(p=R,v=f(),function(){var t,n=(0,l.default)(p);if(v){var o=(0,l.default)(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return(0,u.default)(this,t)});function R(){var t;return(0,n.default)(this,R),(t=b.call(this)).EMPTY=h,t.LOADING=y,t.DONE=_,t._aborted=!1,t._subscriptions=[],t._reset(),t}return(0,o.default)(R,[{key:"_reset",value:function(){this._readyState=h,this._error=null,this._result=null}},{key:"_clearSubscriptions",value:function(){this._subscriptions.forEach(function(t){return t.remove()}),this._subscriptions=[]}},{key:"_setReadyState",value:function(t){this._readyState=t,this.dispatchEvent({type:'readystatechange'}),t===_&&(this._aborted?this.dispatchEvent({type:'abort'}):this._error?this.dispatchEvent({type:'error'}):this.dispatchEvent({type:'load'}),this.dispatchEvent({type:'loadend'}))}},{key:"readAsArrayBuffer",value:function(){throw new Error('FileReader.readAsArrayBuffer is not implemented')}},{key:"readAsDataURL",value:function(t){var n=this;if(this._aborted=!1,null==t)throw new TypeError("Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'");c.default.readAsDataURL(t.data).then(function(t){n._aborted||(n._result=t,n._setReadyState(_))},function(t){n._aborted||(n._error=t,n._setReadyState(_))})}},{key:"readAsText",value:function(t){var n=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:'UTF-8';if(this._aborted=!1,null==t)throw new TypeError("Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'");c.default.readAsText(t.data,o).then(function(t){n._aborted||(n._result=t,n._setReadyState(_))},function(t){n._aborted||(n._error=t,n._setReadyState(_))})}},{key:"abort",value:function(){this._aborted=!0,this._readyState!==h&&this._readyState!==_&&(this._reset(),this._setReadyState(_)),this._reset()}},{key:"readyState",get:function(){return this._readyState}},{key:"error",get:function(){return this._error}},{key:"result",get:function(){return this._result}}]),R})(r(d[8]).apply(void 0,['abort','error','load','loadstart','loadend','progress']));p.EMPTY=h,p.LOADING=y,p.DONE=_,m.exports=p},140,[6,8,9,13,15,12,141,121,123]); __d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).getEnforcing('FileReaderModule');e.default=n},141,[28]); @@ -167,7 +167,7 @@ __d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof Wea __d(function(g,r,i,a,m,e,d){m.exports={get BatchedBridge(){return r(d[0])},get ExceptionsManager(){return r(d[1])},get Platform(){return r(d[2])},get RCTEventEmitter(){return r(d[3])},get ReactNativeViewConfigRegistry(){return r(d[4])},get TextInputState(){return r(d[5])},get UIManager(){return r(d[6])},get deepDiffer(){return r(d[7])},get deepFreezeAndThrowOnMutationInDev(){return r(d[8])},get flattenStyle(){return r(d[9])},get ReactFiberErrorDialog(){return r(d[10])}}},161,[37,96,48,162,163,164,23,183,45,84,184]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n={register:function(n){t.registerCallableModule('RCTEventEmitter',n)}};m.exports=n},162,[37]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n={},o={};e.customBubblingEventTypes=n,e.customDirectEventTypes=o;var s=new Map,u=new Map;function l(t){var s=t.bubblingEventTypes,u=t.directEventTypes;if(null!=s)for(var l in s)null==n[l]&&(n[l]=s[l]);if(null!=u)for(var c in u)null==o[c]&&(o[c]=u[c])}e.register=function(n,o){return t(!s.has(n),'Tried to register two views with the same name %s',n),t('function'==typeof o,'View config getter callback for component `%s` must be a function (received `%s`)',n,null===o?'null':typeof o),s.set(n,o),n},e.get=function(n){var o;if(u.has(n))o=u.get(n);else{var c=s.get(n);'function'!=typeof c&&t(!1,'View config getter callback for component `%s` must be a function (received `%s`).%s',n,null===c?'null':typeof c,'string'==typeof n[0]&&/[a-z]/.test(n[0])?' Make sure to start component names with a capital letter.':''),l(o=c()),u.set(n,o),s.set(n,null)}return t(o,'View config not found for name %s',n),o}},163,[3]); -__d(function(g,r,i,a,m,e,d){'use strict';var n=r(d[0]),u=(r(d[1]),r(d[2]),r(d[3]),r(d[4]).findNodeHandle),t=null,o=new Set;function l(n){t!==n&&null!=n&&(t=n)}function f(n){t===n&&null!=n&&(t=null)}m.exports={currentlyFocusedInput:function(){return t},focusInput:l,blurInput:f,currentlyFocusedField:function(){return u(t)},focusField:function(n){},blurField:function(n){},focusTextInput:function(u){'number'!=typeof u&&t!==u&&null!=u&&(l(u),n.Commands.focus(u))},blurTextInput:function(u){'number'!=typeof u&&t===u&&null!=u&&(f(u),n.Commands.blur(u))},registerInput:function(n){'number'!=typeof n&&o.add(n)},unregisterInput:function(n){'number'!=typeof n&&o.delete(n)},isTextInput:function(n){return'number'!=typeof n&&o.has(n)}}},164,[165,181,55,48,88]); +__d(function(g,r,i,a,m,e,d){'use strict';var n=r(d[0]),u=(r(d[1]),r(d[2]),r(d[3]),r(d[4]).findNodeHandle),t=null,o=new Set;function l(n){t!==n&&null!=n&&(t=n)}function f(n){t===n&&null!=n&&(t=null)}m.exports={currentlyFocusedInput:function(){return t},focusInput:l,blurInput:f,currentlyFocusedField:function(){return u(t)},focusField:function(n){},blurField:function(n){},focusTextInput:function(u){'number'!=typeof u&&t!==u&&null!=u&&(l(u),n.Commands.focus(u))},blurTextInput:function(u){'number'!=typeof u&&t===u&&null!=u&&(f(u),n.Commands.blur(u))},registerInput:function(n){'number'!=typeof n&&o.add(n)},unregisterInput:function(n){'number'!=typeof n&&o.delete(n)},isTextInput:function(n){return'number'!=typeof n&&o.has(n)}}},164,[165,181,56,48,88]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.Commands=void 0;var n,u=t(r(d[1])),o=t(r(d[2])),s=t(r(d[3])),l=r(d[4]),f=(0,o.default)({supportedCommands:['focus','blur','setTextAndSelection']});e.Commands=f,g.RN$Bridgeless?(l.register('AndroidTextInput',function(){return s.default}),n='AndroidTextInput'):n=(0,u.default)('AndroidTextInput');var c=n;e.default=c},165,[6,166,87,178,163]); __d(function(g,r,i,a,m,e,d){'use strict';var n=r(d[0]),t=r(d[1]);m.exports=function(u){return n(u,function(){return t(u)})}},166,[167,168]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]).ReactNativeViewConfigRegistry.register;m.exports=function(n,s){return t(n,s)}},167,[161]); @@ -192,12 +192,12 @@ __d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},185,[186]); __d(function(g,r,i,a,m,e,d){'use strict';var n,t,o,l;if("object"==typeof performance&&"function"==typeof performance.now){var u=performance;e.unstable_now=function(){return u.now()}}else{var s=Date,c=s.now();e.unstable_now=function(){return s.now()-c}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var f=null,b=null,p=function n(){if(null!==f)try{var t=e.unstable_now();f(!0,t),f=null}catch(t){throw setTimeout(n,0),t}};n=function(t){null!==f?setTimeout(n,0,t):(f=t,setTimeout(p,0))},t=function(n,t){b=setTimeout(n,t)},o=function(){clearTimeout(b)},e.unstable_shouldYield=function(){return!1},l=e.unstable_forceFrameRate=function(){}}else{var v=window.setTimeout,y=window.clearTimeout;if("undefined"!=typeof console){var w=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof w&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var _=!1,h=null,k=-1,T=5,x=0;e.unstable_shouldYield=function(){return e.unstable_now()>=x},l=function(){},e.unstable_forceFrameRate=function(n){0>n||125>>1,u=n[l];if(!(void 0!==u&&0j(c,o))void 0!==b&&0>j(b,c)?(n[l]=b,n[f]=o,l=f):(n[l]=c,n[s]=o,l=s);else{if(!(void 0!==b&&0>j(b,o)))break e;n[l]=b,n[f]=o,l=f}}}return t}return null}function j(n,t){var o=n.sortIndex-t.sortIndex;return 0!==o?o:n.id-t.id}var A=[],L=[],q=1,R=null,Y=3,E=!1,N=!1,B=!1;function D(n){for(var t=M(L);null!==t;){if(null===t.callback)C(L);else{if(!(t.startTime<=n))break;C(L),t.sortIndex=t.expirationTime,I(A,t)}t=M(L)}}function U(o){if(B=!1,D(o),!N)if(null!==M(A))N=!0,n(W);else{var l=M(L);null!==l&&t(U,l.startTime-o)}}function W(n,l){N=!1,B&&(B=!1,o()),E=!0;var u=Y;try{for(D(l),R=M(A);null!==R&&(!(R.expirationTime>l)||n&&!e.unstable_shouldYield());){var s=R.callback;if("function"==typeof s){R.callback=null,Y=R.priorityLevel;var c=s(R.expirationTime<=l);l=e.unstable_now(),"function"==typeof c?R.callback=c:R===M(A)&&C(A),D(l)}else C(A);R=M(A)}if(null!==R)var f=!0;else{var b=M(L);null!==b&&t(U,b.startTime-l),f=!1}return f}finally{R=null,Y=u,E=!1}}var z=l;e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(n){n.callback=null},e.unstable_continueExecution=function(){N||E||(N=!0,n(W))},e.unstable_getCurrentPriorityLevel=function(){return Y},e.unstable_getFirstCallbackNode=function(){return M(A)},e.unstable_next=function(n){switch(Y){case 1:case 2:case 3:var t=3;break;default:t=Y}var o=Y;Y=t;try{return n()}finally{Y=o}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=z,e.unstable_runWithPriority=function(n,t){switch(n){case 1:case 2:case 3:case 4:case 5:break;default:n=3}var o=Y;Y=n;try{return t()}finally{Y=o}},e.unstable_scheduleCallback=function(l,u,s){var c=e.unstable_now();switch("object"==typeof s&&null!==s?s="number"==typeof(s=s.delay)&&0c?(l.sortIndex=s,I(L,l),null===M(A)&&l===M(L)&&(B?o():B=!0,t(U,s-c))):(l.sortIndex=f,I(A,l),N||E||(N=!0,n(W))),l},e.unstable_wrapCallback=function(n){var t=Y;return function(){var o=Y;Y=t;try{return n.apply(this,arguments)}finally{Y=o}}}},186,[]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),c=t(r(d[2]));function o(t,n){var c=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),c.push.apply(c,o)}return c}function s(t){for(var c=1;c1&&(f[o]=c)}else f[o]=n}for(var s in t)o.includes(s)||(n?t.hasOwnProperty(s)&&c(t[s],n[s],s):f[s]={});return f}var c=function(t,n){if(!g.RN$Bridgeless){var o=f(t);['validAttributes','bubblingEventTypes','directEventTypes'].forEach(function(f){var c=Object.keys(u(o[f],n[f]));c.length&&console.error(t+" generated view config for "+f+" does not match native, missing: "+c.join(' '))})}};e.default=c},188,[6,179,168]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);m.exports=t.createContext(!1)},189,[55]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),c=r(d[3]);function f(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);n&&(c=c.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,c)}return o}function u(t){for(var o=1;o4?p-4:0),l=4;l5?O-5:0),v=5;v4?s-4:0),f=4;f0,n=E&&E.length>0;return!s&&n?E[0]:s?o[0]:t}),S='NOT_RESPONDER',T='RESPONDER_INACTIVE_PRESS_IN',P='RESPONDER_INACTIVE_PRESS_OUT',D='RESPONDER_ACTIVE_PRESS_IN',O='RESPONDER_ACTIVE_PRESS_OUT',N='RESPONDER_ACTIVE_LONG_PRESS_IN',b='RESPONDER_ACTIVE_LONG_PRESS_OUT',p='ERROR',A={NOT_RESPONDER:!1,RESPONDER_INACTIVE_PRESS_IN:!1,RESPONDER_INACTIVE_PRESS_OUT:!1,RESPONDER_ACTIVE_PRESS_IN:!1,RESPONDER_ACTIVE_PRESS_OUT:!1,RESPONDER_ACTIVE_LONG_PRESS_IN:!1,RESPONDER_ACTIVE_LONG_PRESS_OUT:!1,ERROR:!1},I=s(s({},A),{},{RESPONDER_ACTIVE_PRESS_OUT:!0,RESPONDER_ACTIVE_PRESS_IN:!0}),f=s(s({},A),{},{RESPONDER_INACTIVE_PRESS_IN:!0,RESPONDER_ACTIVE_PRESS_IN:!0,RESPONDER_ACTIVE_LONG_PRESS_IN:!0}),L=s(s({},A),{},{RESPONDER_ACTIVE_LONG_PRESS_IN:!0}),y='DELAY',v='RESPONDER_GRANT',C='RESPONDER_RELEASE',G='RESPONDER_TERMINATED',H='ENTER_PRESS_RECT',V='LEAVE_PRESS_RECT',M='LONG_PRESS_DETECTED',U={NOT_RESPONDER:{DELAY:p,RESPONDER_GRANT:T,RESPONDER_RELEASE:p,RESPONDER_TERMINATED:p,ENTER_PRESS_RECT:p,LEAVE_PRESS_RECT:p,LONG_PRESS_DETECTED:p},RESPONDER_INACTIVE_PRESS_IN:{DELAY:D,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:T,LEAVE_PRESS_RECT:P,LONG_PRESS_DETECTED:p},RESPONDER_INACTIVE_PRESS_OUT:{DELAY:O,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:T,LEAVE_PRESS_RECT:P,LONG_PRESS_DETECTED:p},RESPONDER_ACTIVE_PRESS_IN:{DELAY:p,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:D,LEAVE_PRESS_RECT:O,LONG_PRESS_DETECTED:N},RESPONDER_ACTIVE_PRESS_OUT:{DELAY:p,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:D,LEAVE_PRESS_RECT:O,LONG_PRESS_DETECTED:p},RESPONDER_ACTIVE_LONG_PRESS_IN:{DELAY:p,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:N,LEAVE_PRESS_RECT:b,LONG_PRESS_DETECTED:N},RESPONDER_ACTIVE_LONG_PRESS_OUT:{DELAY:p,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:N,LEAVE_PRESS_RECT:b,LONG_PRESS_DETECTED:p},error:{DELAY:S,RESPONDER_GRANT:T,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:S,LEAVE_PRESS_RECT:S,LONG_PRESS_DETECTED:S}},w={componentDidMount:function(){l.isTV},componentWillUnmount:function(){this.touchableDelayTimeout&&clearTimeout(this.touchableDelayTimeout),this.longPressDelayTimeout&&clearTimeout(this.longPressDelayTimeout),this.pressOutDelayTimeout&&clearTimeout(this.pressOutDelayTimeout)},touchableGetInitialState:function(){return{touchable:{touchState:void 0,responderID:null}}},touchableHandleResponderTerminationRequest:function(){return!this.props.rejectResponderTermination},touchableHandleStartShouldSetResponder:function(){return!this.props.disabled},touchableLongPressCancelsPress:function(){return!0},touchableHandleResponderGrant:function(t){var o=t.currentTarget;t.persist(),this.pressOutDelayTimeout&&clearTimeout(this.pressOutDelayTimeout),this.pressOutDelayTimeout=null,this.state.touchable.touchState=S,this.state.touchable.responderID=o,this._receiveSignal(v,t);var E=void 0!==this.touchableGetHighlightDelayMS?Math.max(this.touchableGetHighlightDelayMS(),0):130;0!==(E=isNaN(E)?130:E)?this.touchableDelayTimeout=setTimeout(this._handleDelay.bind(this,t),E):this._handleDelay(t);var s=void 0!==this.touchableGetLongPressDelayMS?Math.max(this.touchableGetLongPressDelayMS(),10):370;s=isNaN(s)?370:s,this.longPressDelayTimeout=setTimeout(this._handleLongDelay.bind(this,t),s+E)},touchableHandleResponderRelease:function(t){this.pressInLocation=null,this._receiveSignal(C,t)},touchableHandleResponderTerminate:function(t){this.pressInLocation=null,this._receiveSignal(G,t)},touchableHandleResponderMove:function(t){if(this.state.touchable.positionOnActivate){var o=this.state.touchable.positionOnActivate,E=this.state.touchable.dimensionsOnActivate,s=this.touchableGetPressRectOffset?this.touchableGetPressRectOffset():{left:20,right:20,top:20,bottom:20},n=s.left,l=s.top,h=s.right,R=s.bottom,u=this.touchableGetHitSlop?this.touchableGetHitSlop():null;u&&(n+=u.left||0,l+=u.top||0,h+=u.right||0,R+=u.bottom||0);var c=_(t.nativeEvent),S=c&&c.pageX,P=c&&c.pageY;if(this.pressInLocation)this._getDistanceBetweenPoints(S,P,this.pressInLocation.pageX,this.pressInLocation.pageY)>10&&this._cancelLongPressDelayTimeout();if(S>o.left-n&&P>o.top-l&&S>`");s!==n&&(this._performSideEffectsForTransition(s,n,t,o),this.state.touchable.touchState=n)}},_cancelLongPressDelayTimeout:function(){this.longPressDelayTimeout&&clearTimeout(this.longPressDelayTimeout),this.longPressDelayTimeout=null},_isHighlight:function(t){return t===D||t===N},_savePressInLocation:function(t){var o=_(t.nativeEvent),E=o&&o.pageX,s=o&&o.pageY,n=o&&o.locationX,l=o&&o.locationY;this.pressInLocation={pageX:E,pageY:s,locationX:n,locationY:l}},_getDistanceBetweenPoints:function(t,o,E,s){var n=t-E,l=o-s;return Math.sqrt(n*n+l*l)},_performSideEffectsForTransition:function(t,o,E,s){var n=this._isHighlight(t),l=this._isHighlight(o);(E===G||E===C)&&this._cancelLongPressDelayTimeout();var h=t===S&&o===T,R=!I[t]&&I[o];if((h||R)&&this._remeasureMetricsOnActivation(),f[t]&&E===M&&this.touchableHandleLongPress&&this.touchableHandleLongPress(s),l&&!n?this._startHighlight(s):!l&&n&&this._endHighlight(s),f[t]&&E===C){var u=!!this.props.onLongPress,_=L[t]&&(!u||!this.touchableLongPressCancelsPress());(!L[t]||_)&&this.touchableHandlePress&&(l||n||(this._startHighlight(s),this._endHighlight(s)),this.props.touchSoundDisabled||c.playTouchSound(),this.touchableHandlePress(s))}this.touchableDelayTimeout&&clearTimeout(this.touchableDelayTimeout),this.touchableDelayTimeout=null},_startHighlight:function(t){this._savePressInLocation(t),this.touchableHandleActivePressIn&&this.touchableHandleActivePressIn(t)},_endHighlight:function(t){var o=this;this.touchableHandleActivePressOut&&(this.touchableGetPressOutDelayMS&&this.touchableGetPressOutDelayMS()?this.pressOutDelayTimeout=setTimeout(function(){o.touchableHandleActivePressOut(t)},this.touchableGetPressOutDelayMS()):this.touchableHandleActivePressOut(t))},withoutDefaultFocusAndBlur:{}},Y=(w.touchableHandleFocus,w.touchableHandleBlur,t(w,["touchableHandleFocus","touchableHandleBlur"]));w.withoutDefaultFocusAndBlur=Y;var j={Mixin:w,TOUCH_TARGET_DEBUG:!1,renderDebugView:function(t){t.color,t.hitSlop;if(!j.TOUCH_TARGET_DEBUG)return null;throw Error('Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!')}};R.create({debug:{position:'absolute',borderWidth:1,borderStyle:'dashed'}});m.exports=j},202,[53,58,26,203,48,205,55,60,23,85,206,67]); +__d(function(g,r,i,a,m,e,d){'use strict';r(d[0]);var t=r(d[1]),o=r(d[2]);function E(t,o){var E=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);o&&(s=s.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),E.push.apply(E,s)}return E}function s(t){for(var s=1;s0,n=E&&E.length>0;return!s&&n?E[0]:s?o[0]:t}),S='NOT_RESPONDER',T='RESPONDER_INACTIVE_PRESS_IN',P='RESPONDER_INACTIVE_PRESS_OUT',D='RESPONDER_ACTIVE_PRESS_IN',O='RESPONDER_ACTIVE_PRESS_OUT',N='RESPONDER_ACTIVE_LONG_PRESS_IN',b='RESPONDER_ACTIVE_LONG_PRESS_OUT',p='ERROR',A={NOT_RESPONDER:!1,RESPONDER_INACTIVE_PRESS_IN:!1,RESPONDER_INACTIVE_PRESS_OUT:!1,RESPONDER_ACTIVE_PRESS_IN:!1,RESPONDER_ACTIVE_PRESS_OUT:!1,RESPONDER_ACTIVE_LONG_PRESS_IN:!1,RESPONDER_ACTIVE_LONG_PRESS_OUT:!1,ERROR:!1},I=s(s({},A),{},{RESPONDER_ACTIVE_PRESS_OUT:!0,RESPONDER_ACTIVE_PRESS_IN:!0}),f=s(s({},A),{},{RESPONDER_INACTIVE_PRESS_IN:!0,RESPONDER_ACTIVE_PRESS_IN:!0,RESPONDER_ACTIVE_LONG_PRESS_IN:!0}),L=s(s({},A),{},{RESPONDER_ACTIVE_LONG_PRESS_IN:!0}),y='DELAY',v='RESPONDER_GRANT',C='RESPONDER_RELEASE',G='RESPONDER_TERMINATED',H='ENTER_PRESS_RECT',V='LEAVE_PRESS_RECT',M='LONG_PRESS_DETECTED',U={NOT_RESPONDER:{DELAY:p,RESPONDER_GRANT:T,RESPONDER_RELEASE:p,RESPONDER_TERMINATED:p,ENTER_PRESS_RECT:p,LEAVE_PRESS_RECT:p,LONG_PRESS_DETECTED:p},RESPONDER_INACTIVE_PRESS_IN:{DELAY:D,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:T,LEAVE_PRESS_RECT:P,LONG_PRESS_DETECTED:p},RESPONDER_INACTIVE_PRESS_OUT:{DELAY:O,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:T,LEAVE_PRESS_RECT:P,LONG_PRESS_DETECTED:p},RESPONDER_ACTIVE_PRESS_IN:{DELAY:p,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:D,LEAVE_PRESS_RECT:O,LONG_PRESS_DETECTED:N},RESPONDER_ACTIVE_PRESS_OUT:{DELAY:p,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:D,LEAVE_PRESS_RECT:O,LONG_PRESS_DETECTED:p},RESPONDER_ACTIVE_LONG_PRESS_IN:{DELAY:p,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:N,LEAVE_PRESS_RECT:b,LONG_PRESS_DETECTED:N},RESPONDER_ACTIVE_LONG_PRESS_OUT:{DELAY:p,RESPONDER_GRANT:p,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:N,LEAVE_PRESS_RECT:b,LONG_PRESS_DETECTED:p},error:{DELAY:S,RESPONDER_GRANT:T,RESPONDER_RELEASE:S,RESPONDER_TERMINATED:S,ENTER_PRESS_RECT:S,LEAVE_PRESS_RECT:S,LONG_PRESS_DETECTED:S}},w={componentDidMount:function(){l.isTV},componentWillUnmount:function(){this.touchableDelayTimeout&&clearTimeout(this.touchableDelayTimeout),this.longPressDelayTimeout&&clearTimeout(this.longPressDelayTimeout),this.pressOutDelayTimeout&&clearTimeout(this.pressOutDelayTimeout)},touchableGetInitialState:function(){return{touchable:{touchState:void 0,responderID:null}}},touchableHandleResponderTerminationRequest:function(){return!this.props.rejectResponderTermination},touchableHandleStartShouldSetResponder:function(){return!this.props.disabled},touchableLongPressCancelsPress:function(){return!0},touchableHandleResponderGrant:function(t){var o=t.currentTarget;t.persist(),this.pressOutDelayTimeout&&clearTimeout(this.pressOutDelayTimeout),this.pressOutDelayTimeout=null,this.state.touchable.touchState=S,this.state.touchable.responderID=o,this._receiveSignal(v,t);var E=void 0!==this.touchableGetHighlightDelayMS?Math.max(this.touchableGetHighlightDelayMS(),0):130;0!==(E=isNaN(E)?130:E)?this.touchableDelayTimeout=setTimeout(this._handleDelay.bind(this,t),E):this._handleDelay(t);var s=void 0!==this.touchableGetLongPressDelayMS?Math.max(this.touchableGetLongPressDelayMS(),10):370;s=isNaN(s)?370:s,this.longPressDelayTimeout=setTimeout(this._handleLongDelay.bind(this,t),s+E)},touchableHandleResponderRelease:function(t){this.pressInLocation=null,this._receiveSignal(C,t)},touchableHandleResponderTerminate:function(t){this.pressInLocation=null,this._receiveSignal(G,t)},touchableHandleResponderMove:function(t){if(this.state.touchable.positionOnActivate){var o=this.state.touchable.positionOnActivate,E=this.state.touchable.dimensionsOnActivate,s=this.touchableGetPressRectOffset?this.touchableGetPressRectOffset():{left:20,right:20,top:20,bottom:20},n=s.left,l=s.top,h=s.right,R=s.bottom,u=this.touchableGetHitSlop?this.touchableGetHitSlop():null;u&&(n+=u.left||0,l+=u.top||0,h+=u.right||0,R+=u.bottom||0);var c=_(t.nativeEvent),S=c&&c.pageX,P=c&&c.pageY;if(this.pressInLocation)this._getDistanceBetweenPoints(S,P,this.pressInLocation.pageX,this.pressInLocation.pageY)>10&&this._cancelLongPressDelayTimeout();if(S>o.left-n&&P>o.top-l&&S>`");s!==n&&(this._performSideEffectsForTransition(s,n,t,o),this.state.touchable.touchState=n)}},_cancelLongPressDelayTimeout:function(){this.longPressDelayTimeout&&clearTimeout(this.longPressDelayTimeout),this.longPressDelayTimeout=null},_isHighlight:function(t){return t===D||t===N},_savePressInLocation:function(t){var o=_(t.nativeEvent),E=o&&o.pageX,s=o&&o.pageY,n=o&&o.locationX,l=o&&o.locationY;this.pressInLocation={pageX:E,pageY:s,locationX:n,locationY:l}},_getDistanceBetweenPoints:function(t,o,E,s){var n=t-E,l=o-s;return Math.sqrt(n*n+l*l)},_performSideEffectsForTransition:function(t,o,E,s){var n=this._isHighlight(t),l=this._isHighlight(o);(E===G||E===C)&&this._cancelLongPressDelayTimeout();var h=t===S&&o===T,R=!I[t]&&I[o];if((h||R)&&this._remeasureMetricsOnActivation(),f[t]&&E===M&&this.touchableHandleLongPress&&this.touchableHandleLongPress(s),l&&!n?this._startHighlight(s):!l&&n&&this._endHighlight(s),f[t]&&E===C){var u=!!this.props.onLongPress,_=L[t]&&(!u||!this.touchableLongPressCancelsPress());(!L[t]||_)&&this.touchableHandlePress&&(l||n||(this._startHighlight(s),this._endHighlight(s)),this.props.touchSoundDisabled||c.playTouchSound(),this.touchableHandlePress(s))}this.touchableDelayTimeout&&clearTimeout(this.touchableDelayTimeout),this.touchableDelayTimeout=null},_startHighlight:function(t){this._savePressInLocation(t),this.touchableHandleActivePressIn&&this.touchableHandleActivePressIn(t)},_endHighlight:function(t){var o=this;this.touchableHandleActivePressOut&&(this.touchableGetPressOutDelayMS&&this.touchableGetPressOutDelayMS()?this.pressOutDelayTimeout=setTimeout(function(){o.touchableHandleActivePressOut(t)},this.touchableGetPressOutDelayMS()):this.touchableHandleActivePressOut(t))},withoutDefaultFocusAndBlur:{}},Y=(w.touchableHandleFocus,w.touchableHandleBlur,t(w,["touchableHandleFocus","touchableHandleBlur"]));w.withoutDefaultFocusAndBlur=Y;var j={Mixin:w,TOUCH_TARGET_DEBUG:!1,renderDebugView:function(t){t.color,t.hitSlop;if(!j.TOUCH_TARGET_DEBUG)return null;throw Error('Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!')}};R.create({debug:{position:'absolute',borderWidth:1,borderStyle:'dashed'}});m.exports=j},202,[53,58,26,203,48,205,56,60,23,85,206,67]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),o=t.twoArgumentPooler;function n(t,o){this.width=t,this.height=o}n.prototype.destructor=function(){this.width=null,this.height=null},n.getPooledFromElement=function(t){return n.getPooled(t.offsetWidth,t.offsetHeight)},t.addPoolingTo(n,o),m.exports=n},203,[204]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=function(t){if(this.instancePool.length){var n=this.instancePool.pop();return this.call(n,t),n}return new this(t)},o=function(n){t(n instanceof this,'Trying to release an instance into a pool of a different type.'),n.destructor(),this.instancePool.length=23};var k='android'===y.default.OS?function(t,s){return s&&j.canUseNativeForeground()?{nativeForegroundAndroid:t}:{nativeBackgroundAndroid:t}}:function(t,s){return null};m.exports=j},209,[6,26,58,8,9,13,15,12,210,213,86,88,48,85,79,55,3,53]); -__d(function(g,r,i,a,m,e,d){'use strict';var E=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=E(r(d[1])),n=E(r(d[2])),R=E(r(d[3])),_=r(d[4]),o=E(r(d[5])),l=E(r(d[6])),u=r(d[7]),s=E(r(d[8])),S=E(r(d[9]));!(function(E,t){if(!t&&E&&E.__esModule)return E;if(null===E||"object"!=typeof E&&"function"!=typeof E)return{default:E};var n=c(t);if(n&&n.has(E))return n.get(E);var R={},_=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in E)if("default"!==o&&Object.prototype.hasOwnProperty.call(E,o)){var l=_?Object.getOwnPropertyDescriptor(E,o):null;l&&(l.get||l.set)?Object.defineProperty(R,o,l):R[o]=E[o]}R.default=E,n&&n.set(E,R)})(r(d[10]));function c(E){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(c=function(E){return E?n:t})(E)}function O(E,t){var n=Object.keys(E);if(Object.getOwnPropertySymbols){var R=Object.getOwnPropertySymbols(E);t&&(R=R.filter(function(t){return Object.getOwnPropertyDescriptor(E,t).enumerable})),n.push.apply(n,R)}return n}function P(E){for(var n=1;n0?E._pressDelayTimeout=setTimeout(function(){E._receiveSignal('DELAY',t)},n):E._receiveSignal('DELAY',t);var R=C(E._config.delayLongPress,10,500-n);E._longPressDelayTimeout=setTimeout(function(){E._handleLongPress(t)},R+n)},onResponderMove:function(t){null!=E._config.onPressMove&&E._config.onPressMove(t);var n=E._responderRegion;if(null!=n){var R=L(t);if(null==R)return E._cancelLongPressDelayTimeout(),void E._receiveSignal('LEAVE_PRESS_RECT',t);if(null!=E._touchActivatePosition){var _=E._touchActivatePosition.pageX-R.pageX,o=E._touchActivatePosition.pageY-R.pageY;Math.hypot(_,o)>10&&E._cancelLongPressDelayTimeout()}E._isTouchWithinResponderRegion(R,n)?E._receiveSignal('ENTER_PRESS_RECT',t):(E._cancelLongPressDelayTimeout(),E._receiveSignal('LEAVE_PRESS_RECT',t))}},onResponderRelease:function(t){E._receiveSignal('RESPONDER_RELEASE',t)},onResponderTerminate:function(t){E._receiveSignal('RESPONDER_TERMINATED',t)},onResponderTerminationRequest:function(){var t=E._config.cancelable;if(null==t){var n=E._config.onResponderTerminationRequest_DEPRECATED;return null==n||n()}return t},onClick:function(t){var n=E._config.onPress;null!=n&&n(t)}},R='ios'===s.default.OS||'android'===s.default.OS?null:{onMouseEnter:function(t){if((0,_.isHoverEnabled)()){E._isHovered=!0,E._cancelHoverOutDelayTimeout();var n=E._config.onHoverIn;if(null!=n){var R=C(E._config.delayHoverIn);R>0?(t.persist(),E._hoverInDelayTimeout=setTimeout(function(){n(t)},R)):n(t)}}},onMouseLeave:function(t){if(E._isHovered){E._isHovered=!1,E._cancelHoverInDelayTimeout();var n=E._config.onHoverOut;if(null!=n){var R=C(E._config.delayHoverOut);R>0?(t.persist(),E._hoverInDelayTimeout=setTimeout(function(){n(t)},R)):n(t)}}}};return P(P(P({},t),n),R)}},{key:"_receiveSignal",value:function(E,t){var n,R=this._touchState,_=null==(n=T[R])?void 0:n[E];null==this._responderID&&'RESPONDER_RELEASE'===E||((0,o.default)(null!=_&&'ERROR'!==_,'Pressability: Invalid signal `%s` for state `%s` on responder: %s',E,R,'number'==typeof this._responderID?this._responderID:'<>'),R!==_&&(this._performTransitionSideEffects(R,_,E,t),this._touchState=_))}},{key:"_performTransitionSideEffects",value:function(E,t,n,R){h(n)&&(this._touchActivatePosition=null,this._cancelLongPressDelayTimeout());var _='NOT_RESPONDER'===E&&'RESPONDER_INACTIVE_PRESS_IN'===t,o=!N(E)&&N(t);if((_||o)&&this._measureResponderRegion(),f(E)&&'LONG_PRESS_DETECTED'===n){var u=this._config.onLongPress;null!=u&&u(R)}var S=D(E),c=D(t);if(!S&&c?this._activate(R):S&&!c&&this._deactivate(R),f(E)&&'RESPONDER_RELEASE'===n){c||S||(this._activate(R),this._deactivate(R));var O=this._config,P=O.onLongPress,T=O.onPress,v=O.android_disableSound;if(null!=T)null!=P&&'RESPONDER_ACTIVE_LONG_PRESS_IN'===E&&this._shouldLongPressCancelPress()||('android'===s.default.OS&&!0!==v&&l.default.playTouchSound(),T(R))}this._cancelPressDelayTimeout()}},{key:"_activate",value:function(E){var t=this._config.onPressIn,n=L(E);this._touchActivatePosition={pageX:n.pageX,pageY:n.pageY},this._touchActivateTime=Date.now(),null!=t&&t(E)}},{key:"_deactivate",value:function(E){var t=this._config.onPressOut;if(null!=t){var n,R=C(this._config.minPressDuration,0,130),_=Date.now()-(null!=(n=this._touchActivateTime)?n:0),o=Math.max(R-_,C(this._config.delayPressOut));o>0?(E.persist(),this._pressOutDelayTimeout=setTimeout(function(){t(E)},o)):t(E)}this._touchActivateTime=null}},{key:"_measureResponderRegion",value:function(){null!=this._responderID&&('number'==typeof this._responderID?S.default.measure(this._responderID,this._measureCallback):this._responderID.measure(this._measureCallback))}},{key:"_isTouchWithinResponderRegion",value:function(E,t){var n,R,_,o,l=(0,u.normalizeRect)(this._config.hitSlop),s=(0,u.normalizeRect)(this._config.pressRectOffset),S=t.bottom,c=t.left,O=t.right,P=t.top;return null!=l&&(null!=l.bottom&&(S+=l.bottom),null!=l.left&&(c-=l.left),null!=l.right&&(O+=l.right),null!=l.top&&(P-=l.top)),S+=null!=(n=null==s?void 0:s.bottom)?n:v,c-=null!=(R=null==s?void 0:s.left)?R:I,O+=null!=(_=null==s?void 0:s.right)?_:A,P-=null!=(o=null==s?void 0:s.top)?o:p,E.pageX>c&&E.pageXP&&E.pageY1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Math.max(t,null!=E?E:n)}e.default=y;var L=function(E){var t=E.nativeEvent,n=t.changedTouches,R=t.touches;return null!=R&&R.length>0?R[0]:null!=n&&n.length>0?n[0]:E.nativeEvent}},210,[6,26,8,9,211,3,206,212,48,23,55]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),s=t(r(d[1])),n=t(r(d[2])),o=t(r(d[3])),c=t(r(d[4])),l=t(r(d[5])),p=t(r(d[6])),u=t(r(d[7])),f=t(r(d[8])),h=(r(d[9]),r(d[10])),b=t(r(d[11])),y=t(r(d[12])),v=(t(r(d[13])),t(r(d[14]))),P=(function(t,s){if(!s&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=F(s);if(n&&n.has(t))return n.get(t);var o={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(o,l,p):o[l]=t[l]}o.default=t,n&&n.set(t,o);return o})(r(d[15])),O=t(r(d[16])),S=(r(d[17]),["onBlur","onFocus"]);function F(t){if("function"!=typeof WeakMap)return null;var s=new WeakMap,n=new WeakMap;return(F=function(t){return t?n:s})(t)}function R(t,s){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);s&&(o=o.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,o)}return n}function w(t){for(var n=1;n=23};var k='android'===y.default.OS?function(t,s){return s&&j.canUseNativeForeground()?{nativeForegroundAndroid:t}:{nativeBackgroundAndroid:t}}:function(t,s){return null};m.exports=j},209,[6,26,58,8,9,13,15,12,210,213,86,88,48,85,79,56,3,53]); +__d(function(g,r,i,a,m,e,d){'use strict';var E=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=E(r(d[1])),n=E(r(d[2])),R=E(r(d[3])),_=r(d[4]),o=E(r(d[5])),l=E(r(d[6])),u=r(d[7]),s=E(r(d[8])),S=E(r(d[9]));!(function(E,t){if(!t&&E&&E.__esModule)return E;if(null===E||"object"!=typeof E&&"function"!=typeof E)return{default:E};var n=c(t);if(n&&n.has(E))return n.get(E);var R={},_=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in E)if("default"!==o&&Object.prototype.hasOwnProperty.call(E,o)){var l=_?Object.getOwnPropertyDescriptor(E,o):null;l&&(l.get||l.set)?Object.defineProperty(R,o,l):R[o]=E[o]}R.default=E,n&&n.set(E,R)})(r(d[10]));function c(E){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(c=function(E){return E?n:t})(E)}function O(E,t){var n=Object.keys(E);if(Object.getOwnPropertySymbols){var R=Object.getOwnPropertySymbols(E);t&&(R=R.filter(function(t){return Object.getOwnPropertyDescriptor(E,t).enumerable})),n.push.apply(n,R)}return n}function P(E){for(var n=1;n0?E._pressDelayTimeout=setTimeout(function(){E._receiveSignal('DELAY',t)},n):E._receiveSignal('DELAY',t);var R=C(E._config.delayLongPress,10,500-n);E._longPressDelayTimeout=setTimeout(function(){E._handleLongPress(t)},R+n)},onResponderMove:function(t){null!=E._config.onPressMove&&E._config.onPressMove(t);var n=E._responderRegion;if(null!=n){var R=L(t);if(null==R)return E._cancelLongPressDelayTimeout(),void E._receiveSignal('LEAVE_PRESS_RECT',t);if(null!=E._touchActivatePosition){var _=E._touchActivatePosition.pageX-R.pageX,o=E._touchActivatePosition.pageY-R.pageY;Math.hypot(_,o)>10&&E._cancelLongPressDelayTimeout()}E._isTouchWithinResponderRegion(R,n)?E._receiveSignal('ENTER_PRESS_RECT',t):(E._cancelLongPressDelayTimeout(),E._receiveSignal('LEAVE_PRESS_RECT',t))}},onResponderRelease:function(t){E._receiveSignal('RESPONDER_RELEASE',t)},onResponderTerminate:function(t){E._receiveSignal('RESPONDER_TERMINATED',t)},onResponderTerminationRequest:function(){var t=E._config.cancelable;if(null==t){var n=E._config.onResponderTerminationRequest_DEPRECATED;return null==n||n()}return t},onClick:function(t){var n=E._config.onPress;null!=n&&n(t)}},R='ios'===s.default.OS||'android'===s.default.OS?null:{onMouseEnter:function(t){if((0,_.isHoverEnabled)()){E._isHovered=!0,E._cancelHoverOutDelayTimeout();var n=E._config.onHoverIn;if(null!=n){var R=C(E._config.delayHoverIn);R>0?(t.persist(),E._hoverInDelayTimeout=setTimeout(function(){n(t)},R)):n(t)}}},onMouseLeave:function(t){if(E._isHovered){E._isHovered=!1,E._cancelHoverInDelayTimeout();var n=E._config.onHoverOut;if(null!=n){var R=C(E._config.delayHoverOut);R>0?(t.persist(),E._hoverInDelayTimeout=setTimeout(function(){n(t)},R)):n(t)}}}};return P(P(P({},t),n),R)}},{key:"_receiveSignal",value:function(E,t){var n,R=this._touchState,_=null==(n=T[R])?void 0:n[E];null==this._responderID&&'RESPONDER_RELEASE'===E||((0,o.default)(null!=_&&'ERROR'!==_,'Pressability: Invalid signal `%s` for state `%s` on responder: %s',E,R,'number'==typeof this._responderID?this._responderID:'<>'),R!==_&&(this._performTransitionSideEffects(R,_,E,t),this._touchState=_))}},{key:"_performTransitionSideEffects",value:function(E,t,n,R){h(n)&&(this._touchActivatePosition=null,this._cancelLongPressDelayTimeout());var _='NOT_RESPONDER'===E&&'RESPONDER_INACTIVE_PRESS_IN'===t,o=!N(E)&&N(t);if((_||o)&&this._measureResponderRegion(),f(E)&&'LONG_PRESS_DETECTED'===n){var u=this._config.onLongPress;null!=u&&u(R)}var S=D(E),c=D(t);if(!S&&c?this._activate(R):S&&!c&&this._deactivate(R),f(E)&&'RESPONDER_RELEASE'===n){c||S||(this._activate(R),this._deactivate(R));var O=this._config,P=O.onLongPress,T=O.onPress,v=O.android_disableSound;if(null!=T)null!=P&&'RESPONDER_ACTIVE_LONG_PRESS_IN'===E&&this._shouldLongPressCancelPress()||('android'===s.default.OS&&!0!==v&&l.default.playTouchSound(),T(R))}this._cancelPressDelayTimeout()}},{key:"_activate",value:function(E){var t=this._config.onPressIn,n=L(E);this._touchActivatePosition={pageX:n.pageX,pageY:n.pageY},this._touchActivateTime=Date.now(),null!=t&&t(E)}},{key:"_deactivate",value:function(E){var t=this._config.onPressOut;if(null!=t){var n,R=C(this._config.minPressDuration,0,130),_=Date.now()-(null!=(n=this._touchActivateTime)?n:0),o=Math.max(R-_,C(this._config.delayPressOut));o>0?(E.persist(),this._pressOutDelayTimeout=setTimeout(function(){t(E)},o)):t(E)}this._touchActivateTime=null}},{key:"_measureResponderRegion",value:function(){null!=this._responderID&&('number'==typeof this._responderID?S.default.measure(this._responderID,this._measureCallback):this._responderID.measure(this._measureCallback))}},{key:"_isTouchWithinResponderRegion",value:function(E,t){var n,R,_,o,l=(0,u.normalizeRect)(this._config.hitSlop),s=(0,u.normalizeRect)(this._config.pressRectOffset),S=t.bottom,c=t.left,O=t.right,P=t.top;return null!=l&&(null!=l.bottom&&(S+=l.bottom),null!=l.left&&(c-=l.left),null!=l.right&&(O+=l.right),null!=l.top&&(P-=l.top)),S+=null!=(n=null==s?void 0:s.bottom)?n:v,c-=null!=(R=null==s?void 0:s.left)?R:I,O+=null!=(_=null==s?void 0:s.right)?_:A,P-=null!=(o=null==s?void 0:s.top)?o:p,E.pageX>c&&E.pageXP&&E.pageY1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Math.max(t,null!=E?E:n)}e.default=y;var L=function(E){var t=E.nativeEvent,n=t.changedTouches,R=t.touches;return null!=R&&R.length>0?R[0]:null!=n&&n.length>0?n[0]:E.nativeEvent}},210,[6,26,8,9,211,3,206,212,48,23,56]); __d(function(g,r,i,a,m,e,d){'use strict';var n=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.isHoverEnabled=function(){return t};var t=!1;if('web'===n(r(d[1])).default.OS&&Boolean('undefined'!=typeof window&&window.document&&window.document.createElement)){var o=0,u=function(){o=Date.now(),t&&(t=!1)};document.addEventListener('touchstart',u,!0),document.addEventListener('touchmove',u,!0),document.addEventListener('mousemove',function(){t||Date.now()-o<1e3||(t=!0)},!0)}},211,[6,48]); __d(function(g,r,i,a,m,e,d){'use strict';function t(t){return{bottom:t,left:t,right:t,top:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.createSquare=t,e.normalizeRect=function(n){return'number'==typeof n?t(n):n}},212,[]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.PressabilityDebugView=function(t){t.color,t.hitSlop;return null},e.isEnabled=function(){return!1};t(r(d[1])),t(r(d[2])),t(r(d[3])),(function(t,o){if(!o&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var u=n(o);if(u&&u.has(t))return u.get(t);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=t[l]}f.default=t,u&&u.set(t,f)})(r(d[4])),r(d[5]);function n(t){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(n=function(t){return t?u:o})(t)}},213,[6,67,202,85,55,53]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),s=t(r(d[1])),o=t(r(d[2])),n=t(r(d[3])),c=t(r(d[4])),p=t(r(d[5])),l=t(r(d[6])),u=t(r(d[7])),f=t(r(d[8])),y=(r(d[9]),t(r(d[10]))),h=t(r(d[11])),b=t(r(d[12])),v=t(r(d[13])),O=(function(t,s){if(!s&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=F(s);if(o&&o.has(t))return o.get(t);var n={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var p in t)if("default"!==p&&Object.prototype.hasOwnProperty.call(t,p)){var l=c?Object.getOwnPropertyDescriptor(t,p):null;l&&(l.get||l.set)?Object.defineProperty(n,p,l):n[p]=t[p]}n.default=t,o&&o.set(t,n);return n})(r(d[14])),P=r(d[15]),w=["onBlur","onFocus"];function F(t){if("function"!=typeof WeakMap)return null;var s=new WeakMap,o=new WeakMap;return(F=function(t){return t?o:s})(t)}function j(t,s){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);s&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),o.push.apply(o,n)}return o}function _(t){for(var o=1;o1&&void 0!==arguments[1]?arguments[1]:{}).iterations;return j},event:function(t,n){return null},createAnimatedComponent:y,attachNativeEvent:f,forkEvent:s.forkEvent,unforkEvent:s.unforkEvent,Event:c,__PropsOnlyForTests:v}},216,[26,217,227,219,220,233,218,238,246]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),s=r(d[2]),v=r(d[3]),o=r(d[4]),c=r(d[5]),l=r(d[3]).shouldUseNativeDriver;function u(t,n,l){var u=[];c(l[0]&&l[0].nativeEvent,'Native driven events only support animated values contained inside `nativeEvent`.'),(function t(n,v){if(n instanceof s)n.__makeNative(),u.push({nativeEventPath:v,animatedValueTag:n.__getNativeTag()});else if('object'==typeof n)for(var o in n)t(n[o],v.concat(o))})(l[0].nativeEvent,[]);var h=o.findNodeHandle(t);return null!=h&&u.forEach(function(t){v.API.addAnimatedEventToView(h,n,t)}),{detach:function(){null!=h&&u.forEach(function(t){v.API.removeAnimatedEventFromView(h,n,t.animatedValueTag)})}}}var h=(function(){function v(n,s){t(this,v),this._listeners=[],this._argMapping=n,null==s&&(console.warn('Animated.event now requires a second argument for options'),s={useNativeDriver:!1}),s.listener&&this.__addListener(s.listener),this._callListeners=this._callListeners.bind(this),this._attachedEvent=null,this.__isNative=l(s)}return n(v,[{key:"__addListener",value:function(t){this._listeners.push(t)}},{key:"__removeListener",value:function(t){this._listeners=this._listeners.filter(function(n){return n!==t})}},{key:"__attach",value:function(t,n){c(this.__isNative,'Only native driven events need to be attached.'),this._attachedEvent=u(t,n,this._argMapping)}},{key:"__detach",value:function(t,n){c(this.__isNative,'Only native driven events need to be detached.'),this._attachedEvent&&this._attachedEvent.detach()}},{key:"__getHandler",value:function(){var t=this;if(this.__isNative)return this._callListeners;return function(){for(var n=arguments.length,v=new Array(n),o=0;o=this._startTime+this._duration)return 0===this._duration?this._onUpdate(this._toValue):this._onUpdate(this._fromValue+this._easing(1)*(this._toValue-this._fromValue)),void this.__debouncedOnEnd({finished:!0});this._onUpdate(this._fromValue+this._easing((t-this._startTime)/this._duration)*(this._toValue-this._fromValue)),this.__active&&(this._animationFrame=requestAnimationFrame(this.onUpdate.bind(this)))}},{key:"stop",value:function(){s(_(U.prototype),"stop",this).call(this),this.__active=!1,clearTimeout(this._timeout),g.cancelAnimationFrame(this._animationFrame),this.__debouncedOnEnd({finished:!1})}}]),U})();m.exports=p},243,[8,9,10,13,15,12,218,238,219,240,221,244]); __d(function(g,r,i,a,m,e,d){'use strict';var n,u=r(d[0]),t=r(d[1]),o=(function(){function o(){u(this,o)}return t(o,null,[{key:"step0",value:function(n){return n>0?1:0}},{key:"step1",value:function(n){return n>=1?1:0}},{key:"linear",value:function(n){return n}},{key:"ease",value:function(u){return n||(n=o.bezier(.42,0,1,1)),n(u)}},{key:"quad",value:function(n){return n*n}},{key:"cubic",value:function(n){return n*n*n}},{key:"poly",value:function(n){return function(u){return Math.pow(u,n)}}},{key:"sin",value:function(n){return 1-Math.cos(n*Math.PI/2)}},{key:"circle",value:function(n){return 1-Math.sqrt(1-n*n)}},{key:"exp",value:function(n){return Math.pow(2,10*(n-1))}},{key:"elastic",value:function(){var n=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:1)*Math.PI;return function(u){return 1-Math.pow(Math.cos(u*Math.PI/2),3)*Math.cos(u*n)}}},{key:"back",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1.70158;return function(u){return u*u*((n+1)*u-n)}}},{key:"bounce",value:function(n){if(n<.36363636363636365)return 7.5625*n*n;if(n<.7272727272727273){var u=n-.5454545454545454;return 7.5625*u*u+.75}if(n<.9090909090909091){var t=n-.8181818181818182;return 7.5625*t*t+.9375}var o=n-.9545454545454546;return 7.5625*o*o+.984375}},{key:"bezier",value:function(n,u,t,o){return r(d[2])(n,u,t,o)}},{key:"in",value:function(n){return n}},{key:"out",value:function(n){return function(u){return 1-n(1-u)}}},{key:"inOut",value:function(n){return function(u){return u<.5?n(2*u)/2:1-n(2*(1-u))/2}}}]),o})();m.exports=o},244,[8,9,245]); __d(function(g,r,i,a,m,e,d){'use strict';var n=4,t=.001,u=1e-7,o=10,f=.1,c='function'==typeof Float32Array;function v(n,t){return 1-3*t+3*n}function s(n,t){return 3*t-6*n}function w(n){return 3*n}function l(n,t,u){return((v(t,u)*n+s(t,u))*n+w(t))*n}function y(n,t,u){return 3*v(t,u)*n*n+2*s(t,u)*n+w(t)}function b(n,t,f,c,v){var s,w,y=0,b=t,h=f;do{(s=l(w=b+(h-b)/2,c,v)-n)>0?h=w:b=w}while(Math.abs(s)>u&&++y=0&&n<=1&&o>=0&&o<=1))throw new Error('bezier x values must be in [0, 1] range');var s=c?new Float32Array(11):new Array(11);if(n!==u||o!==v)for(var w=0;w<11;++w)s[w]=l(w*f,n,o);function A(u){for(var c=0,v=1;10!==v&&s[v]<=u;++v)c+=f;var w=c+(u-s[--v])/(s[v+1]-s[v])*f,l=y(w,n,o);return l>=t?h(u,w,n,o):0===l?w:b(u,c,c+f,n,o)}return function(t){return n===u&&o===v?t:0===t?0:1===t?1:l(A(t),u,v)}}},245,[]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),o=r(d[2]),s=r(d[3]),l=r(d[4]),c=r(d[5]),p=r(d[6]),u=r(d[7]),_=["style"],f=["style"];function v(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);n&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,s)}return o}function h(t){for(var o=1;o>'),n})}}),t}return l(O,[{key:"_attachNativeEvents",value:function(){var t,n=this,o=null!=(t=this._component)&&t.getScrollableNode?this._component.getScrollableNode():this._component,s=function(t){var s=n.props[t];s instanceof b&&s.__isNative&&(s.__attach(o,t),n._eventDetachers.push(function(){return s.__detach(o,t)}))};for(var l in this.props)s(l)}},{key:"_detachNativeEvents",value:function(){this._eventDetachers.forEach(function(t){return t()}),this._eventDetachers=[]}},{key:"_attachProps",value:function(t){var n=this._propsAnimated;t!==n&&(this._propsAnimated=new N(t,this._animatedPropsCallback),n&&(n.__restoreDefaultValues(),n.__detach()))}},{key:"render",value:function(){var s,l=this._propsAnimated.__getValue()||{},c=l.style,p=void 0===c?{}:c,u=o(l,_),v=this.props.passthroughAnimatedPropExplicitValues||{},y=v.style,b=void 0===y?{}:y,N=o(v,f),k=h(h({},p),b);return t.jsx(n,h(h(h({},u),N),{},{style:k,ref:this._setComponentRef,nativeID:null!=(s=u.nativeID)?s:this._isFabric()?'animatedComponent':void 0,collapsable:!this._propsAnimated.__isNative&&u.collapsable}))}},{key:"UNSAFE_componentWillMount",value:function(){this._waitForUpdate(),this._attachProps(this.props)}},{key:"componentDidMount",value:function(){this._invokeAnimatedPropsCallbackOnMount&&(this._invokeAnimatedPropsCallbackOnMount=!1,this._animatedPropsCallback()),this._propsAnimated.setNativeView(this._component),this._attachNativeEvents(),this._markUpdateComplete()}},{key:"UNSAFE_componentWillReceiveProps",value:function(t){this._waitForUpdate(),this._attachProps(t)}},{key:"componentDidUpdate",value:function(t){this._component!==this._prevComponent&&this._propsAnimated.setNativeView(this._component),this._component===this._prevComponent&&t===this.props||(this._detachNativeEvents(),this._attachNativeEvents()),this._markUpdateComplete()}},{key:"componentWillUnmount",value:function(){this._propsAnimated&&this._propsAnimated.__detach(),this._detachNativeEvents(),this._markUpdateComplete()}}]),O})(k.Component);return k.forwardRef(function(n,o){return t.jsx(v,h(h({},n),null==o?null:{forwardedRef:o}))})}},246,[53,26,58,8,9,13,15,12,85,217,233,55,221,3,247]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),o=r(d[2]),s=r(d[3]),l=r(d[4]),c=r(d[5]),p=r(d[6]),u=r(d[7]),_=["style"],f=["style"];function v(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);n&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,s)}return o}function h(t){for(var o=1;o>'),n})}}),t}return l(O,[{key:"_attachNativeEvents",value:function(){var t,n=this,o=null!=(t=this._component)&&t.getScrollableNode?this._component.getScrollableNode():this._component,s=function(t){var s=n.props[t];s instanceof b&&s.__isNative&&(s.__attach(o,t),n._eventDetachers.push(function(){return s.__detach(o,t)}))};for(var l in this.props)s(l)}},{key:"_detachNativeEvents",value:function(){this._eventDetachers.forEach(function(t){return t()}),this._eventDetachers=[]}},{key:"_attachProps",value:function(t){var n=this._propsAnimated;t!==n&&(this._propsAnimated=new N(t,this._animatedPropsCallback),n&&(n.__restoreDefaultValues(),n.__detach()))}},{key:"render",value:function(){var s,l=this._propsAnimated.__getValue()||{},c=l.style,p=void 0===c?{}:c,u=o(l,_),v=this.props.passthroughAnimatedPropExplicitValues||{},y=v.style,b=void 0===y?{}:y,N=o(v,f),k=h(h({},p),b);return t.jsx(n,h(h(h({},u),N),{},{style:k,ref:this._setComponentRef,nativeID:null!=(s=u.nativeID)?s:this._isFabric()?'animatedComponent':void 0,collapsable:!this._propsAnimated.__isNative&&u.collapsable}))}},{key:"UNSAFE_componentWillMount",value:function(){this._waitForUpdate(),this._attachProps(this.props)}},{key:"componentDidMount",value:function(){this._invokeAnimatedPropsCallbackOnMount&&(this._invokeAnimatedPropsCallbackOnMount=!1,this._animatedPropsCallback()),this._propsAnimated.setNativeView(this._component),this._attachNativeEvents(),this._markUpdateComplete()}},{key:"UNSAFE_componentWillReceiveProps",value:function(t){this._waitForUpdate(),this._attachProps(t)}},{key:"componentDidUpdate",value:function(t){this._component!==this._prevComponent&&this._propsAnimated.setNativeView(this._component),this._component===this._prevComponent&&t===this.props||(this._detachNativeEvents(),this._attachNativeEvents()),this._markUpdateComplete()}},{key:"componentWillUnmount",value:function(){this._propsAnimated&&this._propsAnimated.__detach(),this._detachNativeEvents(),this._markUpdateComplete()}}]),O})(k.Component);return k.forwardRef(function(n,o){return t.jsx(v,h(h({},n),null==o?null:{forwardedRef:o}))})}},246,[53,26,58,8,9,13,15,12,85,217,233,56,221,3,247]); __d(function(g,r,i,a,m,e,d){'use strict';m.exports=function(t){var n=t.getForwardedRef,o=t.setLocalRef;return function(t){var c=n();o(t),'function'==typeof c?c(t):'object'==typeof c&&null!=c&&(c.current=t)}}},247,[]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0])(r(d[1])),n=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=c(n);if(o&&o.has(t))return o.get(t);var f={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var p in t)if("default"!==p&&Object.prototype.hasOwnProperty.call(t,p)){var O=u?Object.getOwnPropertyDescriptor(t,p):null;O&&(O.get||O.set)?Object.defineProperty(f,p,O):f[p]=t[p]}f.default=t,o&&o.set(t,f);return f})(r(d[2])),o=r(d[3]);function c(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(c=function(t){return t?o:n})(t)}function f(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);n&&(c=c.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,c)}return o}function u(n){for(var o=1;o1){for(var l=[],u=0;u1?Math.ceil(t.length/o):t.length}return 0},n._keyExtractor=function(t,o){var s=n.props,l=s.keyExtractor,u=s.numColumns;return u>1?(R(Array.isArray(t),"FlatList: Encountered internal consistency error, expected each item to consist of an array with 1-%s columns; instead, received a single item.",u),t.map(function(t,n){return l(t,o*u+n)}).join(':')):l(t,o)},n._renderer=function(){var t=n.props,o=t.ListItemComponent,s=t.renderItem,l=t.numColumns,u=t.columnWrapperStyle,c=o?'ListItemComponent':'renderItem',h=function(t){return o?(0,p.jsx)(o,C({},t)):s?s(t):null};return(0,f.default)({},c,function(t){if(l>1){var n=t.item,o=t.index;return R(Array.isArray(n),'Expected array of items with numColumns > 1'),(0,p.jsx)(_,{style:k.compose(x.row,u),children:n.map(function(n,s){var u=h({item:n,index:o*l+s,separators:t.separators});return null!=u?(0,p.jsx)(w.Fragment,{children:u},s):null})})}return h(t)})},n._checkProps(n.props),n.props.viewabilityConfigCallbackPairs?n._virtualizedListPairs=n.props.viewabilityConfigCallbackPairs.map(function(t){return{viewabilityConfig:t.viewabilityConfig,onViewableItemsChanged:n._createOnViewableItemsChanged(t.onViewableItemsChanged)}}):n.props.onViewableItemsChanged&&n._virtualizedListPairs.push({viewabilityConfig:n.props.viewabilityConfig,onViewableItemsChanged:n._createOnViewableItemsChanged(n.props.onViewableItemsChanged)}),n}return(0,s.default)(j,[{key:"scrollToEnd",value:function(t){this._listRef&&this._listRef.scrollToEnd(t)}},{key:"scrollToIndex",value:function(t){this._listRef&&this._listRef.scrollToIndex(t)}},{key:"scrollToItem",value:function(t){this._listRef&&this._listRef.scrollToItem(t)}},{key:"scrollToOffset",value:function(t){this._listRef&&this._listRef.scrollToOffset(t)}},{key:"recordInteraction",value:function(){this._listRef&&this._listRef.recordInteraction()}},{key:"flashScrollIndicators",value:function(){this._listRef&&this._listRef.flashScrollIndicators()}},{key:"getScrollResponder",value:function(){if(this._listRef)return this._listRef.getScrollResponder()}},{key:"getNativeScrollRef",value:function(){if(this._listRef)return this._listRef.getScrollRef()}},{key:"getScrollableNode",value:function(){if(this._listRef)return this._listRef.getScrollableNode()}},{key:"setNativeProps",value:function(t){this._listRef&&this._listRef.setNativeProps(t)}},{key:"componentDidUpdate",value:function(t){R(t.numColumns===this.props.numColumns,"Changing numColumns on the fly is not supported. Change the key prop on FlatList when changing the number of columns to force a fresh render of the component."),R(t.onViewableItemsChanged===this.props.onViewableItemsChanged,'Changing onViewableItemsChanged on the fly is not supported'),R(!b(t.viewabilityConfig,this.props.viewabilityConfig),'Changing viewabilityConfig on the fly is not supported'),R(t.viewabilityConfigCallbackPairs===this.props.viewabilityConfigCallbackPairs,'Changing viewabilityConfigCallbackPairs on the fly is not supported'),this._checkProps(this.props)}},{key:"_checkProps",value:function(t){var n=t.getItem,o=t.getItemCount,s=t.horizontal,l=t.numColumns,u=t.columnWrapperStyle,c=t.onViewableItemsChanged,f=t.viewabilityConfigCallbackPairs;R(!n&&!o,'FlatList does not support custom data formats.'),l>1?R(!s,'numColumns does not support horizontal.'):R(!u,'columnWrapperStyle not supported for single column lists'),R(!(c&&f),"FlatList does not support setting both onViewableItemsChanged and viewabilityConfigCallbackPairs.")}},{key:"_pushMultiColumnViewable",value:function(t,n){var o=this.props,s=o.numColumns,l=o.keyExtractor;n.item.forEach(function(o,u){R(null!=n.index,'Missing index!');var c=n.index*s+u;t.push(C(C({},n),{},{item:o,key:l(o,c),index:c}))})}},{key:"_createOnViewableItemsChanged",value:function(t){var n=this;return function(o){var s=n.props.numColumns;if(t)if(s>1){var l=[],u=[];o.viewableItems.forEach(function(t){return n._pushMultiColumnViewable(u,t)}),o.changed.forEach(function(t){return n._pushMultiColumnViewable(l,t)}),t({viewableItems:u,changed:l})}else t(o)}}},{key:"render",value:function(){var t=this.props,o=(t.numColumns,t.columnWrapperStyle,(0,n.default)(t,h));return(0,p.jsx)(I,C(C({},o),{},{getItem:this._getItem,getItemCount:this._getItemCount,keyExtractor:this._keyExtractor,ref:this._captureRef,viewabilityConfigCallbackPairs:this._virtualizedListPairs},this._renderer()))}}]),j})(w.PureComponent);O.defaultProps=P;var x=k.create({row:{flexDirection:'row'}});m.exports=O},249,[6,58,8,9,13,15,12,26,53,48,183,55,85,250,60,3]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),o=t(r(d[1])),s=t(r(d[2])),n=t(r(d[3])),l=t(r(d[4])),c=t(r(d[5])),h=t(r(d[6])),u=t(r(d[7])),p=(function(t,o){if(!o&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var s=y(o);if(s&&s.has(t))return s.get(t);var n={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var h=l?Object.getOwnPropertyDescriptor(t,c):null;h&&(h.get||h.set)?Object.defineProperty(n,c,h):n[c]=t[c]}n.default=t,s&&s.set(t,n);return n})(r(d[8])),f=r(d[9]),_=r(d[10]);function y(t){if("function"!=typeof WeakMap)return null;var o=new WeakMap,s=new WeakMap;return(y=function(t){return t?s:o})(t)}function v(t,o){var s="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(s)return(s=s.call(t)).next.bind(s);if(Array.isArray(t)||(s=C(t))||o&&t&&"number"==typeof t.length){s&&(t=s);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(t,o){if(t){if("string"==typeof t)return L(t,o);var s=Object.prototype.toString.call(t).slice(8,-1);return"Object"===s&&t.constructor&&(s=t.constructor.name),"Map"===s||"Set"===s?Array.from(t):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?L(t,o):void 0}}function L(t,o){(null==o||o>t.length)&&(o=t.length);for(var s=0,n=new Array(o);s0&&s>0&&null!=o.props.initialScrollIndex&&o.props.initialScrollIndex>0&&!o._hasDoneInitialScroll&&(null==o.props.contentOffset&&o.scrollToIndex({animated:!1,index:o.props.initialScrollIndex}),o._hasDoneInitialScroll=!0),o.props.onContentSizeChange&&o.props.onContentSizeChange(t,s),o._scrollMetrics.contentLength=o._selectLength({height:s,width:t}),o._scheduleCellsToRenderUpdate(),o._maybeCallOnEndReached()},o._convertParentScrollMetrics=function(t){var s=t.offset-o._offsetFromParentVirtualizedList,n=t.visibleLength,l=s-o._scrollMetrics.offset;return{visibleLength:n,contentLength:o._scrollMetrics.contentLength,offset:s,dOffset:l}},o._onScroll=function(t){o._nestedChildLists.forEach(function(o){o.ref&&o.ref._onScroll(t)}),o.props.onScroll&&o.props.onScroll(t);var s=t.timeStamp,n=o._selectLength(t.nativeEvent.layoutMeasurement),l=o._selectLength(t.nativeEvent.contentSize),c=o._selectOffset(t.nativeEvent.contentOffset),h=c-o._scrollMetrics.offset;if(o._isNestedWithSameOrientation()){if(0===o._scrollMetrics.contentLength)return;var u=o._convertParentScrollMetrics({visibleLength:n,offset:c});n=u.visibleLength,l=u.contentLength,c=u.offset,h=u.dOffset}var p=o._scrollMetrics.timestamp?Math.max(1,s-o._scrollMetrics.timestamp):1,f=h/p;p>500&&o._scrollMetrics.dt>500&&l>5*n&&!o._hasWarned.perf&&(z("VirtualizedList: You have a large list that is slow to update - make sure your renderItem function renders components that follow React performance best practices like PureComponent, shouldComponentUpdate, etc.",{dt:p,prevDt:o._scrollMetrics.dt,contentLength:l}),o._hasWarned.perf=!0),o._scrollMetrics={contentLength:l,dt:p,dOffset:h,offset:c,timestamp:s,velocity:f,visibleLength:n},o._updateViewableItems(o.props.data),o.props&&(o._maybeCallOnEndReached(),0!==f&&o._fillRateHelper.activate(),o._computeBlankness(),o._scheduleCellsToRenderUpdate())},o._onScrollBeginDrag=function(t){o._nestedChildLists.forEach(function(o){o.ref&&o.ref._onScrollBeginDrag(t)}),o._viewabilityTuples.forEach(function(t){t.viewabilityHelper.recordInteraction()}),o._hasInteracted=!0,o.props.onScrollBeginDrag&&o.props.onScrollBeginDrag(t)},o._onScrollEndDrag=function(t){var s=t.nativeEvent.velocity;s&&(o._scrollMetrics.velocity=o._selectOffset(s)),o._computeBlankness(),o.props.onScrollEndDrag&&o.props.onScrollEndDrag(t)},o._onMomentumScrollEnd=function(t){o._scrollMetrics.velocity=0,o._computeBlankness(),o.props.onMomentumScrollEnd&&o.props.onMomentumScrollEnd(t)},o._updateCellsToRender=function(){var t=o.props,s=t.data,n=t.getItemCount,l=t.onEndReachedThreshold,c=o._isVirtualizationDisabled();o._updateViewableItems(s),s&&o.setState(function(t){var h,u=o._scrollMetrics,p=u.contentLength,f=u.offset,_=u.visibleLength;if(c){var y=p-_-f0&&p>0&&(o.props.initialScrollIndex&&!o._scrollMetrics.offset||(h=K(o.props,t,o._getFrameMetricsApprox,o._scrollMetrics)));if(h&&o._nestedChildLists.size>0)for(var C=h.first,L=h.last,b=C;b<=L;b++){var x=o._indicesToKeys.get(b),S=x&&o._cellKeysToChildListKeys.get(x);if(S){for(var I,w=!1,R=v(S);!(I=R()).done;){var M=I.value,k=o._nestedChildLists.get(M);if(k&&k.ref&&k.ref.hasMore()){w=!0;break}}if(w){h.last=b;break}}}return null!=h&&h.first===t.first&&h.last===t.last&&(h=null),h})},o._createViewToken=function(t,s){var n=o.props,l=n.data,c=n.getItem,h=n.keyExtractor,u=c(l,t);return{index:t,item:u,key:h(u,t),isViewable:s}},o._getFrameMetricsApprox=function(t){var s=o._getFrameMetrics(t);if(s&&s.index===t)return s;var n=o.props.getItemLayout;return F(!n,'Should not have to estimate frames when a measurement metrics function is provided'),{length:o._averageCellLength,offset:o._averageCellLength*t}},o._getFrameMetrics=function(t){var s=o.props,n=s.data,l=s.getItem,c=s.getItemCount,h=s.getItemLayout,u=s.keyExtractor;F(c(n)>t,'Tried to get frame for out of range index '+t);var p=l(n,t),f=p&&o._frames[u(p,t)];return f&&f.index===t||h&&(f=h(n,t)),f},F(!t.onScroll||!t.onScroll.__isNative,"Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent to support native onScroll events with useNativeDriver"),F(t.windowSize>0,'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.'),o._fillRateHelper=new R(o._getFrameMetrics),o._updateCellsToRenderBatcher=new w(o._updateCellsToRender,o.props.updateCellsBatchingPeriod),o.props.viewabilityConfigCallbackPairs?o._viewabilityTuples=o.props.viewabilityConfigCallbackPairs.map(function(t){return{viewabilityHelper:new E(t.viewabilityConfig),onViewableItemsChanged:t.onViewableItemsChanged}}):o.props.onViewableItemsChanged&&o._viewabilityTuples.push({viewabilityHelper:new E(o.props.viewabilityConfig),onViewableItemsChanged:o.props.onViewableItemsChanged});var n={first:o.props.initialScrollIndex||0,last:Math.min(o.props.getItemCount(o.props.data),(o.props.initialScrollIndex||0)+o.props.initialNumToRender)-1};if(o._isNestedWithSameOrientation()){var c=o.context.getNestedChildState(o._getListKey());c&&(n=c,o.state=c,o._frames=c.frames)}return o.state=n,o}return(0,n.default)(u,[{key:"scrollToEnd",value:function(t){var o=!t||t.animated,s=this.props.getItemCount(this.props.data)-1,n=this._getFrameMetricsApprox(s),l=Math.max(0,n.offset+n.length+this._footerLength-this._scrollMetrics.visibleLength);null!=this._scrollRef&&(null!=this._scrollRef.scrollTo?this._scrollRef.scrollTo(this.props.horizontal?{x:l,animated:o}:{y:l,animated:o}):console.warn("No scrollTo method provided. This may be because you have two nested VirtualizedLists with the same orientation, or because you are using a custom component that does not implement scrollTo."))}},{key:"scrollToIndex",value:function(t){var o=this.props,s=o.data,n=o.horizontal,l=o.getItemCount,c=o.getItemLayout,h=o.onScrollToIndexFailed,u=t.animated,p=t.index,f=t.viewOffset,_=t.viewPosition;if(F(p>=0,"scrollToIndex out of range: requested index "+p+" but minimum is 0"),F(l(s)>=1,"scrollToIndex out of range: item length "+l(s)+" but minimum is 1"),F(pthis._highestMeasuredFrameIndex)return F(!!h,"scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, otherwise there is no way to know the location of offscreen indices or handle failures."),void h({averageItemLength:this._averageCellLength,highestMeasuredFrameIndex:this._highestMeasuredFrameIndex,index:p});var y=this._getFrameMetricsApprox(p),v=Math.max(0,y.offset-(_||0)*(this._scrollMetrics.visibleLength-y.length))-(f||0);null!=this._scrollRef&&(null!=this._scrollRef.scrollTo?this._scrollRef.scrollTo(n?{x:v,animated:u}:{y:v,animated:u}):console.warn("No scrollTo method provided. This may be because you have two nested VirtualizedLists with the same orientation, or because you are using a custom component that does not implement scrollTo."))}},{key:"scrollToItem",value:function(t){for(var o=t.item,s=this.props,n=s.data,l=s.getItem,c=(0,s.getItemCount)(n),h=0;h0){V=!1,j='';var R=y?'width':'height',M=this.props.initialScrollIndex?-1:this.props.initialNumToRender-1,k=this.state,T=k.first,E=k.last;this._pushCells(L,S,b,0,M,C);var z=Math.max(M+1,T);if(!v&&T>M+1){var F=!1;if(b.size>0)for(var K=c?1:0,D=z-1;D>M;D--)if(b.has(D+K)){var N=this._getFrameMetricsApprox(M),A=this._getFrameMetricsApprox(D),H=A.offset-N.offset-(this.props.initialScrollIndex?0:N.length);L.push((0,_.jsx)(P,{style:(0,o.default)({},R,H)},"$sticky_lead")),this._pushCells(L,S,b,D,D,C);var U=this._getFrameMetricsApprox(T).offset-(A.offset+A.length);L.push((0,_.jsx)(P,{style:(0,o.default)({},R,U)},"$sticky_trail")),F=!0;break}if(!F){var W=this._getFrameMetricsApprox(M),$=this._getFrameMetricsApprox(T).offset-(W.offset+W.length);L.push((0,_.jsx)(P,{style:(0,o.default)({},R,$)},"$lead_spacer"))}}if(this._pushCells(L,S,b,z,E,C),!this._hasWarned.keys&&V&&(console.warn("VirtualizedList: missing keys for items, make sure to specify a key or id property on each item or provide a custom keyExtractor.",j),this._hasWarned.keys=!0),!v&&Ef&&(this._sentEndForContentLength=0)}},{key:"_scheduleCellsToRenderUpdate",value:function(){var t=this.state,o=t.first,s=t.last,n=this._scrollMetrics,l=n.offset,c=n.visibleLength,h=n.velocity,u=this.props.getItemCount(this.props.data),p=!1,f=this.props.onEndReachedThreshold*c/2;if(o>0){var _=l-this._getFrameMetricsApprox(o).offset;p=p||_<0||h<-2&&_2&&y1){for(var l=[],u=0;u1?Math.ceil(t.length/o):t.length}return 0},n._keyExtractor=function(t,o){var s=n.props,l=s.keyExtractor,u=s.numColumns;return u>1?(R(Array.isArray(t),"FlatList: Encountered internal consistency error, expected each item to consist of an array with 1-%s columns; instead, received a single item.",u),t.map(function(t,n){return l(t,o*u+n)}).join(':')):l(t,o)},n._renderer=function(){var t=n.props,o=t.ListItemComponent,s=t.renderItem,l=t.numColumns,u=t.columnWrapperStyle,c=o?'ListItemComponent':'renderItem',h=function(t){return o?(0,p.jsx)(o,C({},t)):s?s(t):null};return(0,f.default)({},c,function(t){if(l>1){var n=t.item,o=t.index;return R(Array.isArray(n),'Expected array of items with numColumns > 1'),(0,p.jsx)(_,{style:k.compose(x.row,u),children:n.map(function(n,s){var u=h({item:n,index:o*l+s,separators:t.separators});return null!=u?(0,p.jsx)(w.Fragment,{children:u},s):null})})}return h(t)})},n._checkProps(n.props),n.props.viewabilityConfigCallbackPairs?n._virtualizedListPairs=n.props.viewabilityConfigCallbackPairs.map(function(t){return{viewabilityConfig:t.viewabilityConfig,onViewableItemsChanged:n._createOnViewableItemsChanged(t.onViewableItemsChanged)}}):n.props.onViewableItemsChanged&&n._virtualizedListPairs.push({viewabilityConfig:n.props.viewabilityConfig,onViewableItemsChanged:n._createOnViewableItemsChanged(n.props.onViewableItemsChanged)}),n}return(0,s.default)(j,[{key:"scrollToEnd",value:function(t){this._listRef&&this._listRef.scrollToEnd(t)}},{key:"scrollToIndex",value:function(t){this._listRef&&this._listRef.scrollToIndex(t)}},{key:"scrollToItem",value:function(t){this._listRef&&this._listRef.scrollToItem(t)}},{key:"scrollToOffset",value:function(t){this._listRef&&this._listRef.scrollToOffset(t)}},{key:"recordInteraction",value:function(){this._listRef&&this._listRef.recordInteraction()}},{key:"flashScrollIndicators",value:function(){this._listRef&&this._listRef.flashScrollIndicators()}},{key:"getScrollResponder",value:function(){if(this._listRef)return this._listRef.getScrollResponder()}},{key:"getNativeScrollRef",value:function(){if(this._listRef)return this._listRef.getScrollRef()}},{key:"getScrollableNode",value:function(){if(this._listRef)return this._listRef.getScrollableNode()}},{key:"setNativeProps",value:function(t){this._listRef&&this._listRef.setNativeProps(t)}},{key:"componentDidUpdate",value:function(t){R(t.numColumns===this.props.numColumns,"Changing numColumns on the fly is not supported. Change the key prop on FlatList when changing the number of columns to force a fresh render of the component."),R(t.onViewableItemsChanged===this.props.onViewableItemsChanged,'Changing onViewableItemsChanged on the fly is not supported'),R(!b(t.viewabilityConfig,this.props.viewabilityConfig),'Changing viewabilityConfig on the fly is not supported'),R(t.viewabilityConfigCallbackPairs===this.props.viewabilityConfigCallbackPairs,'Changing viewabilityConfigCallbackPairs on the fly is not supported'),this._checkProps(this.props)}},{key:"_checkProps",value:function(t){var n=t.getItem,o=t.getItemCount,s=t.horizontal,l=t.numColumns,u=t.columnWrapperStyle,c=t.onViewableItemsChanged,f=t.viewabilityConfigCallbackPairs;R(!n&&!o,'FlatList does not support custom data formats.'),l>1?R(!s,'numColumns does not support horizontal.'):R(!u,'columnWrapperStyle not supported for single column lists'),R(!(c&&f),"FlatList does not support setting both onViewableItemsChanged and viewabilityConfigCallbackPairs.")}},{key:"_pushMultiColumnViewable",value:function(t,n){var o=this.props,s=o.numColumns,l=o.keyExtractor;n.item.forEach(function(o,u){R(null!=n.index,'Missing index!');var c=n.index*s+u;t.push(C(C({},n),{},{item:o,key:l(o,c),index:c}))})}},{key:"_createOnViewableItemsChanged",value:function(t){var n=this;return function(o){var s=n.props.numColumns;if(t)if(s>1){var l=[],u=[];o.viewableItems.forEach(function(t){return n._pushMultiColumnViewable(u,t)}),o.changed.forEach(function(t){return n._pushMultiColumnViewable(l,t)}),t({viewableItems:u,changed:l})}else t(o)}}},{key:"render",value:function(){var t=this.props,o=(t.numColumns,t.columnWrapperStyle,(0,n.default)(t,h));return(0,p.jsx)(I,C(C({},o),{},{getItem:this._getItem,getItemCount:this._getItemCount,keyExtractor:this._keyExtractor,ref:this._captureRef,viewabilityConfigCallbackPairs:this._virtualizedListPairs},this._renderer()))}}]),j})(w.PureComponent);O.defaultProps=P;var x=k.create({row:{flexDirection:'row'}});m.exports=O},249,[6,58,8,9,13,15,12,26,53,48,183,56,85,250,60,3]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),o=t(r(d[1])),s=t(r(d[2])),n=t(r(d[3])),l=t(r(d[4])),c=t(r(d[5])),h=t(r(d[6])),u=t(r(d[7])),p=(function(t,o){if(!o&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var s=y(o);if(s&&s.has(t))return s.get(t);var n={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var h=l?Object.getOwnPropertyDescriptor(t,c):null;h&&(h.get||h.set)?Object.defineProperty(n,c,h):n[c]=t[c]}n.default=t,s&&s.set(t,n);return n})(r(d[8])),f=r(d[9]),_=r(d[10]);function y(t){if("function"!=typeof WeakMap)return null;var o=new WeakMap,s=new WeakMap;return(y=function(t){return t?s:o})(t)}function v(t,o){var s="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(s)return(s=s.call(t)).next.bind(s);if(Array.isArray(t)||(s=C(t))||o&&t&&"number"==typeof t.length){s&&(t=s);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(t,o){if(t){if("string"==typeof t)return L(t,o);var s=Object.prototype.toString.call(t).slice(8,-1);return"Object"===s&&t.constructor&&(s=t.constructor.name),"Map"===s||"Set"===s?Array.from(t):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?L(t,o):void 0}}function L(t,o){(null==o||o>t.length)&&(o=t.length);for(var s=0,n=new Array(o);s0&&s>0&&null!=o.props.initialScrollIndex&&o.props.initialScrollIndex>0&&!o._hasDoneInitialScroll&&(null==o.props.contentOffset&&o.scrollToIndex({animated:!1,index:o.props.initialScrollIndex}),o._hasDoneInitialScroll=!0),o.props.onContentSizeChange&&o.props.onContentSizeChange(t,s),o._scrollMetrics.contentLength=o._selectLength({height:s,width:t}),o._scheduleCellsToRenderUpdate(),o._maybeCallOnEndReached()},o._convertParentScrollMetrics=function(t){var s=t.offset-o._offsetFromParentVirtualizedList,n=t.visibleLength,l=s-o._scrollMetrics.offset;return{visibleLength:n,contentLength:o._scrollMetrics.contentLength,offset:s,dOffset:l}},o._onScroll=function(t){o._nestedChildLists.forEach(function(o){o.ref&&o.ref._onScroll(t)}),o.props.onScroll&&o.props.onScroll(t);var s=t.timeStamp,n=o._selectLength(t.nativeEvent.layoutMeasurement),l=o._selectLength(t.nativeEvent.contentSize),c=o._selectOffset(t.nativeEvent.contentOffset),h=c-o._scrollMetrics.offset;if(o._isNestedWithSameOrientation()){if(0===o._scrollMetrics.contentLength)return;var u=o._convertParentScrollMetrics({visibleLength:n,offset:c});n=u.visibleLength,l=u.contentLength,c=u.offset,h=u.dOffset}var p=o._scrollMetrics.timestamp?Math.max(1,s-o._scrollMetrics.timestamp):1,f=h/p;p>500&&o._scrollMetrics.dt>500&&l>5*n&&!o._hasWarned.perf&&(z("VirtualizedList: You have a large list that is slow to update - make sure your renderItem function renders components that follow React performance best practices like PureComponent, shouldComponentUpdate, etc.",{dt:p,prevDt:o._scrollMetrics.dt,contentLength:l}),o._hasWarned.perf=!0),o._scrollMetrics={contentLength:l,dt:p,dOffset:h,offset:c,timestamp:s,velocity:f,visibleLength:n},o._updateViewableItems(o.props.data),o.props&&(o._maybeCallOnEndReached(),0!==f&&o._fillRateHelper.activate(),o._computeBlankness(),o._scheduleCellsToRenderUpdate())},o._onScrollBeginDrag=function(t){o._nestedChildLists.forEach(function(o){o.ref&&o.ref._onScrollBeginDrag(t)}),o._viewabilityTuples.forEach(function(t){t.viewabilityHelper.recordInteraction()}),o._hasInteracted=!0,o.props.onScrollBeginDrag&&o.props.onScrollBeginDrag(t)},o._onScrollEndDrag=function(t){var s=t.nativeEvent.velocity;s&&(o._scrollMetrics.velocity=o._selectOffset(s)),o._computeBlankness(),o.props.onScrollEndDrag&&o.props.onScrollEndDrag(t)},o._onMomentumScrollEnd=function(t){o._scrollMetrics.velocity=0,o._computeBlankness(),o.props.onMomentumScrollEnd&&o.props.onMomentumScrollEnd(t)},o._updateCellsToRender=function(){var t=o.props,s=t.data,n=t.getItemCount,l=t.onEndReachedThreshold,c=o._isVirtualizationDisabled();o._updateViewableItems(s),s&&o.setState(function(t){var h,u=o._scrollMetrics,p=u.contentLength,f=u.offset,_=u.visibleLength;if(c){var y=p-_-f0&&p>0&&(o.props.initialScrollIndex&&!o._scrollMetrics.offset||(h=K(o.props,t,o._getFrameMetricsApprox,o._scrollMetrics)));if(h&&o._nestedChildLists.size>0)for(var C=h.first,L=h.last,b=C;b<=L;b++){var x=o._indicesToKeys.get(b),S=x&&o._cellKeysToChildListKeys.get(x);if(S){for(var I,w=!1,R=v(S);!(I=R()).done;){var M=I.value,k=o._nestedChildLists.get(M);if(k&&k.ref&&k.ref.hasMore()){w=!0;break}}if(w){h.last=b;break}}}return null!=h&&h.first===t.first&&h.last===t.last&&(h=null),h})},o._createViewToken=function(t,s){var n=o.props,l=n.data,c=n.getItem,h=n.keyExtractor,u=c(l,t);return{index:t,item:u,key:h(u,t),isViewable:s}},o._getFrameMetricsApprox=function(t){var s=o._getFrameMetrics(t);if(s&&s.index===t)return s;var n=o.props.getItemLayout;return F(!n,'Should not have to estimate frames when a measurement metrics function is provided'),{length:o._averageCellLength,offset:o._averageCellLength*t}},o._getFrameMetrics=function(t){var s=o.props,n=s.data,l=s.getItem,c=s.getItemCount,h=s.getItemLayout,u=s.keyExtractor;F(c(n)>t,'Tried to get frame for out of range index '+t);var p=l(n,t),f=p&&o._frames[u(p,t)];return f&&f.index===t||h&&(f=h(n,t)),f},F(!t.onScroll||!t.onScroll.__isNative,"Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent to support native onScroll events with useNativeDriver"),F(t.windowSize>0,'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.'),o._fillRateHelper=new R(o._getFrameMetrics),o._updateCellsToRenderBatcher=new w(o._updateCellsToRender,o.props.updateCellsBatchingPeriod),o.props.viewabilityConfigCallbackPairs?o._viewabilityTuples=o.props.viewabilityConfigCallbackPairs.map(function(t){return{viewabilityHelper:new E(t.viewabilityConfig),onViewableItemsChanged:t.onViewableItemsChanged}}):o.props.onViewableItemsChanged&&o._viewabilityTuples.push({viewabilityHelper:new E(o.props.viewabilityConfig),onViewableItemsChanged:o.props.onViewableItemsChanged});var n={first:o.props.initialScrollIndex||0,last:Math.min(o.props.getItemCount(o.props.data),(o.props.initialScrollIndex||0)+o.props.initialNumToRender)-1};if(o._isNestedWithSameOrientation()){var c=o.context.getNestedChildState(o._getListKey());c&&(n=c,o.state=c,o._frames=c.frames)}return o.state=n,o}return(0,n.default)(u,[{key:"scrollToEnd",value:function(t){var o=!t||t.animated,s=this.props.getItemCount(this.props.data)-1,n=this._getFrameMetricsApprox(s),l=Math.max(0,n.offset+n.length+this._footerLength-this._scrollMetrics.visibleLength);null!=this._scrollRef&&(null!=this._scrollRef.scrollTo?this._scrollRef.scrollTo(this.props.horizontal?{x:l,animated:o}:{y:l,animated:o}):console.warn("No scrollTo method provided. This may be because you have two nested VirtualizedLists with the same orientation, or because you are using a custom component that does not implement scrollTo."))}},{key:"scrollToIndex",value:function(t){var o=this.props,s=o.data,n=o.horizontal,l=o.getItemCount,c=o.getItemLayout,h=o.onScrollToIndexFailed,u=t.animated,p=t.index,f=t.viewOffset,_=t.viewPosition;if(F(p>=0,"scrollToIndex out of range: requested index "+p+" but minimum is 0"),F(l(s)>=1,"scrollToIndex out of range: item length "+l(s)+" but minimum is 1"),F(pthis._highestMeasuredFrameIndex)return F(!!h,"scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, otherwise there is no way to know the location of offscreen indices or handle failures."),void h({averageItemLength:this._averageCellLength,highestMeasuredFrameIndex:this._highestMeasuredFrameIndex,index:p});var y=this._getFrameMetricsApprox(p),v=Math.max(0,y.offset-(_||0)*(this._scrollMetrics.visibleLength-y.length))-(f||0);null!=this._scrollRef&&(null!=this._scrollRef.scrollTo?this._scrollRef.scrollTo(n?{x:v,animated:u}:{y:v,animated:u}):console.warn("No scrollTo method provided. This may be because you have two nested VirtualizedLists with the same orientation, or because you are using a custom component that does not implement scrollTo."))}},{key:"scrollToItem",value:function(t){for(var o=t.item,s=this.props,n=s.data,l=s.getItem,c=(0,s.getItemCount)(n),h=0;h0){V=!1,j='';var R=y?'width':'height',M=this.props.initialScrollIndex?-1:this.props.initialNumToRender-1,k=this.state,T=k.first,E=k.last;this._pushCells(L,S,b,0,M,C);var z=Math.max(M+1,T);if(!v&&T>M+1){var F=!1;if(b.size>0)for(var K=c?1:0,D=z-1;D>M;D--)if(b.has(D+K)){var N=this._getFrameMetricsApprox(M),A=this._getFrameMetricsApprox(D),H=A.offset-N.offset-(this.props.initialScrollIndex?0:N.length);L.push((0,_.jsx)(P,{style:(0,o.default)({},R,H)},"$sticky_lead")),this._pushCells(L,S,b,D,D,C);var U=this._getFrameMetricsApprox(T).offset-(A.offset+A.length);L.push((0,_.jsx)(P,{style:(0,o.default)({},R,U)},"$sticky_trail")),F=!0;break}if(!F){var W=this._getFrameMetricsApprox(M),$=this._getFrameMetricsApprox(T).offset-(W.offset+W.length);L.push((0,_.jsx)(P,{style:(0,o.default)({},R,$)},"$lead_spacer"))}}if(this._pushCells(L,S,b,z,E,C),!this._hasWarned.keys&&V&&(console.warn("VirtualizedList: missing keys for items, make sure to specify a key or id property on each item or provide a custom keyExtractor.",j),this._hasWarned.keys=!0),!v&&Ef&&(this._sentEndForContentLength=0)}},{key:"_scheduleCellsToRenderUpdate",value:function(){var t=this.state,o=t.first,s=t.last,n=this._scrollMetrics,l=n.offset,c=n.visibleLength,h=n.velocity,u=this.props.getItemCount(this.props.data),p=!1,f=this.props.onEndReachedThreshold*c/2;if(o>0){var _=l-this._getFrameMetricsApprox(o).offset;p=p||_<0||h<-2&&_2&&y0&&void 0!==arguments[0]?arguments[0]:{abort:!1};this._taskHandle&&(this._taskHandle.cancel(),t.abort||this._callback(),this._taskHandle=null)}},{key:"schedule",value:function(){var t=this;if(!this._taskHandle){var n=setTimeout(function(){t._taskHandle=l.runAfterInteractions(function(){t._taskHandle=null,t._callback()})},this._delay);this._taskHandle={cancel:function(){return clearTimeout(n)}}}}}]),s})();m.exports=s},252,[8,9,225]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),s=r(d[2]);function l(t,n){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);n&&(l=l.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),s.push.apply(s,l)}return s}function o(n){for(var s=1;sMath.random(),this._resetData()}return n(t,[{key:"activate",value:function(){this._enabled&&null==this._samplesStartTime&&(this._samplesStartTime=g.performance.now())}},{key:"deactivateAndFlush",value:function(){if(this._enabled){var t=this._samplesStartTime;if(null!=t)if(this._info.sample_count0&&(c=Math.min(h,Math.max(0,y.offset-o)));for(var b=0,k=n.last,v=this._getFrameMetrics(k);k>=n.first&&(!v||!v.inLayout);)v=this._getFrameMetrics(k),k--;if(v&&k0?(this._anyBlankStartTime=f,this._info.any_blank_speed_sum+=u,this._info.any_blank_count++,this._info.pixels_blank+=M,O>.5&&(this._mostlyBlankStartTime=f,this._info.mostly_blank_count++)):(u<.01||Math.abs(l)<1)&&this.deactivateAndFlush(),O}},{key:"enabled",value:function(){return this._enabled}},{key:"_resetData",value:function(){this._anyBlankStartTime=null,this._info=new _,this._mostlyBlankStartTime=null,this._samplesStartTime=null}}],[{key:"addListener",value:function(t){return null===f&&console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.'),h.push(t),{remove:function(){h=h.filter(function(n){return t!==n})}}}},{key:"setSampleRate",value:function(t){f=t}},{key:"setMinSampleCount",value:function(t){u=t}}]),t})();m.exports=c},253,[26,9,8]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),f=t(r(d[3])),s=t(r(d[4])),c=t(r(d[5])),u=t(r(d[6])),p=t(r(d[7])),l=O(r(d[8])),h=(O(r(d[9])),r(d[10])),v=["tintColor","titleColor","title"];function y(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(y=function(t){return t?o:n})(t)}function O(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=y(n);if(o&&o.has(t))return o.get(t);var f={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var u=s?Object.getOwnPropertyDescriptor(t,c):null;u&&(u.get||u.set)?Object.defineProperty(f,c,u):f[c]=t[c]}return f.default=t,o&&o.set(t,f),f}function R(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(t);n&&(f=f.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,f)}return o}function b(t){for(var o=1;o0&&(this._scrollAnimatedValueAttachment=S.default.attachNativeEvent(this._scrollViewRef,'onScroll',[{nativeEvent:{contentOffset:{y:this._scrollAnimatedValue}}}]))}},{key:"_setStickyHeaderRef",value:function(t,n){n?this._stickyHeaderRefs.set(t,n):this._stickyHeaderRefs.delete(t)}},{key:"_onStickyHeaderLayout",value:function(t,n,o){var l=this.props.stickyHeaderIndices;if(l){var s=w.Children.toArray(this.props.children);if(o===this._getKeyForIndex(t,s)){var c=n.nativeEvent.layout.y;this._headerLayoutYs.set(o,c);var u=l[l.indexOf(t)-1];if(null!=u){var p=this._stickyHeaderRefs.get(this._getKeyForIndex(u,s));p&&p.setNextHeaderY&&p.setNextHeaderY(c)}}}}},{key:"render",value:function(){var c,u,p=this;'android'===_.default.OS?!0===this.props.horizontal?(c=o,u=n):(c=t,u=x.default):(c=l,u=s),(0,A.default)(void 0!==c,'ScrollViewClass must not be undefined'),(0,A.default)(void 0!==u,'ScrollContentContainerViewClass must not be undefined');var f=[!0===this.props.horizontal&&Z.contentContainerHorizontal,this.props.contentContainerStyle],h={};this.props.onContentSizeChange&&(h={onLayout:this._handleContentOnLayout});var y=this.props.stickyHeaderIndices,R=this.props.children;if(null!=y&&y.length>0){var v=w.Children.toArray(this.props.children);R=v.map(function(t,n){var o=t?y.indexOf(n):-1;if(o>-1){var l=t.key,s=y[o+1],c=p.props.StickyHeaderComponent||O.default;return(0,P.jsx)(c,{nativeID:'StickyHeader-'+l,ref:function(t){return p._setStickyHeaderRef(l,t)},nextHeaderLayoutY:p._headerLayoutYs.get(p._getKeyForIndex(s,v)),onLayout:function(t){return p._onStickyHeaderLayout(n,t,l)},scrollAnimatedValue:p._scrollAnimatedValue,inverted:p.props.invertStickyHeaders,scrollViewHeight:p.state.layoutHeight,children:t},l)}return t})}R=(0,P.jsx)(N.default.Provider,{value:!0===this.props.horizontal?N.HORIZONTAL:N.VERTICAL,children:R});var S=Array.isArray(y)&&y.length>0,H=(0,P.jsx)(u,Y(Y({},h),{},{ref:this._setInnerViewRef,style:f,removeClippedSubviews:('android'!==_.default.OS||!S)&&this.props.removeClippedSubviews,collapsable:!1,children:R})),V=void 0!==this.props.alwaysBounceHorizontal?this.props.alwaysBounceHorizontal:this.props.horizontal,b=void 0!==this.props.alwaysBounceVertical?this.props.alwaysBounceVertical:!this.props.horizontal,k=!0===this.props.horizontal?Z.baseHorizontal:Z.baseVertical,M=Y(Y({},this.props),{},{alwaysBounceHorizontal:V,alwaysBounceVertical:b,style:[k,this.props.style],onContentSizeChange:null,onLayout:this._handleLayout,onMomentumScrollBegin:this._scrollResponder.scrollResponderHandleMomentumScrollBegin,onMomentumScrollEnd:this._scrollResponder.scrollResponderHandleMomentumScrollEnd,onResponderGrant:this._scrollResponder.scrollResponderHandleResponderGrant,onResponderReject:this._scrollResponder.scrollResponderHandleResponderReject,onResponderRelease:this._scrollResponder.scrollResponderHandleResponderRelease,onResponderTerminationRequest:this._scrollResponder.scrollResponderHandleTerminationRequest,onScrollBeginDrag:this._scrollResponder.scrollResponderHandleScrollBeginDrag,onScrollEndDrag:this._scrollResponder.scrollResponderHandleScrollEndDrag,onScrollShouldSetResponder:this._scrollResponder.scrollResponderHandleScrollShouldSetResponder,onStartShouldSetResponder:this._scrollResponder.scrollResponderHandleStartShouldSetResponder,onStartShouldSetResponderCapture:this._scrollResponder.scrollResponderHandleStartShouldSetResponderCapture,onTouchEnd:this._scrollResponder.scrollResponderHandleTouchEnd,onTouchMove:this._scrollResponder.scrollResponderHandleTouchMove,onTouchStart:this._scrollResponder.scrollResponderHandleTouchStart,onTouchCancel:this._scrollResponder.scrollResponderHandleTouchCancel,onScroll:this._handleScroll,scrollBarThumbImage:(0,E.default)(this.props.scrollBarThumbImage),scrollEventThrottle:S?1:this.props.scrollEventThrottle,sendMomentumEvents:!(!this.props.onMomentumScrollBegin&&!this.props.onMomentumScrollEnd),snapToStart:!1!==this.props.snapToStart,snapToEnd:!1!==this.props.snapToEnd,pagingEnabled:_.default.select({ios:!0===this.props.pagingEnabled&&null==this.props.snapToInterval&&null==this.props.snapToOffsets,android:!0===this.props.pagingEnabled||null!=this.props.snapToInterval||null!=this.props.snapToOffsets})}),j=this.props.decelerationRate;null!=j&&(M.decelerationRate=(0,I.default)(j));var L=this.props.refreshControl;if(L){if('ios'===_.default.OS)return(0,P.jsxs)(c,Y(Y({},M),{},{ref:this._setNativeRef,children:[L,H]}));if('android'===_.default.OS){var z=(0,C.default)((0,T.default)(M.style)),D=z.outer,B=z.inner;return w.cloneElement(L,{style:[k,D]},(0,P.jsx)(c,Y(Y({},M),{},{style:[k,B],ref:this._setNativeRef,children:H})))}}return(0,P.jsx)(c,Y(Y({},M),{},{ref:this._setNativeRef,children:H}))}}]),L})(w.Component);G.Context=N.default;var Z=b.default.create({baseVertical:{flexGrow:1,flexShrink:1,flexDirection:'column',overflow:'scroll'},baseHorizontal:{flexGrow:1,flexShrink:1,flexDirection:'row',overflow:'scroll'},contentContainerHorizontal:{flexDirection:'row'}});function q(t,n){return(0,P.jsx)(G,Y(Y({},t),{},{scrollViewRef:n}))}q.displayName='ScrollView';var J=w.forwardRef(q);J.Context=N.default,J.displayName='ScrollView',m.exports=J},257,[6,8,9,17,13,15,12,26,227,48,55,88,258,266,60,85,264,84,3,267,173,268,247,269,270,272,273,274,53]); -__d(function(g,r,i,a,m,e,d){'use strict';var o=r(d[0])(r(d[1])),s=r(d[2]),l=r(d[3]),n=r(d[4]),t=(r(d[5]),r(d[6]),r(d[7])),c=r(d[8]),p=r(d[9]),u=r(d[10]),h={Mixin:{_subscriptionKeyboardWillShow:null,_subscriptionKeyboardWillHide:null,_subscriptionKeyboardDidShow:null,_subscriptionKeyboardDidHide:null,scrollResponderMixinGetInitialState:function(){return{isTouching:!1,lastMomentumScrollBeginTime:0,lastMomentumScrollEndTime:0,observedScrollSinceBecomingResponder:!1,becameResponderWhileAnimating:!1}},scrollResponderHandleScrollShouldSetResponder:function(){return!0!==this.props.disableScrollViewPanResponder&&this.state.isTouching},scrollResponderHandleStartShouldSetResponder:function(o){if(!0===this.props.disableScrollViewPanResponder)return!1;var s=c.currentlyFocusedInput();return!('handled'!==this.props.keyboardShouldPersistTaps||!this.scrollResponderKeyboardIsDismissible()||o.target===s)},scrollResponderHandleStartShouldSetResponderCapture:function(o){if(this.scrollResponderIsAnimating())return!0;if(!0===this.props.disableScrollViewPanResponder)return!1;var s=this.props.keyboardShouldPersistTaps,l=!s||'never'===s;return'number'!=typeof o.target&&!(!l||!this.scrollResponderKeyboardIsDismissible()||null==o.target||c.isTextInput(o.target))},scrollResponderKeyboardIsDismissible:function(){var o=c.currentlyFocusedInput(),s=null!=o&&c.isTextInput(o),l=null!=this.keyboardWillOpenTo||!0;return s&&l},scrollResponderHandleResponderReject:function(){},scrollResponderHandleTerminationRequest:function(){return!this.state.observedScrollSinceBecomingResponder},scrollResponderHandleTouchEnd:function(o){var s=o.nativeEvent;this.state.isTouching=0!==s.touches.length,this.props.onTouchEnd&&this.props.onTouchEnd(o)},scrollResponderHandleTouchCancel:function(o){this.state.isTouching=!1,this.props.onTouchCancel&&this.props.onTouchCancel(o)},scrollResponderHandleResponderRelease:function(o){if(this.props.onResponderRelease&&this.props.onResponderRelease(o),'number'!=typeof o.target){var s=c.currentlyFocusedInput();!0===this.props.keyboardShouldPersistTaps||'always'===this.props.keyboardShouldPersistTaps||!this.scrollResponderKeyboardIsDismissible()||o.target===s||this.state.observedScrollSinceBecomingResponder||this.state.becameResponderWhileAnimating||(this.props.onScrollResponderKeyboardDismissed&&this.props.onScrollResponderKeyboardDismissed(o),c.blurTextInput(s))}},scrollResponderHandleScroll:function(o){this.state.observedScrollSinceBecomingResponder=!0,this.props.onScroll&&this.props.onScroll(o)},scrollResponderHandleResponderGrant:function(o){this.state.observedScrollSinceBecomingResponder=!1,this.props.onResponderGrant&&this.props.onResponderGrant(o),this.state.becameResponderWhileAnimating=this.scrollResponderIsAnimating()},scrollResponderHandleScrollBeginDrag:function(o){l.beginScroll(),this.props.onScrollBeginDrag&&this.props.onScrollBeginDrag(o)},scrollResponderHandleScrollEndDrag:function(o){var s=o.nativeEvent.velocity;this.scrollResponderIsAnimating()||s&&(0!==s.x||0!==s.y)||l.endScroll(),this.props.onScrollEndDrag&&this.props.onScrollEndDrag(o)},scrollResponderHandleMomentumScrollBegin:function(o){this.state.lastMomentumScrollBeginTime=g.performance.now(),this.props.onMomentumScrollBegin&&this.props.onMomentumScrollBegin(o)},scrollResponderHandleMomentumScrollEnd:function(o){l.endScroll(),this.state.lastMomentumScrollEndTime=g.performance.now(),this.props.onMomentumScrollEnd&&this.props.onMomentumScrollEnd(o)},scrollResponderHandleTouchStart:function(o){this.state.isTouching=!0,this.props.onTouchStart&&this.props.onTouchStart(o)},scrollResponderHandleTouchMove:function(o){this.props.onTouchMove&&this.props.onTouchMove(o)},scrollResponderIsAnimating:function(){return g.performance.now()-this.state.lastMomentumScrollEndTime<16||this.state.lastMomentumScrollEndTimeMath.random(),this._resetData()}return n(t,[{key:"activate",value:function(){this._enabled&&null==this._samplesStartTime&&(this._samplesStartTime=g.performance.now())}},{key:"deactivateAndFlush",value:function(){if(this._enabled){var t=this._samplesStartTime;if(null!=t)if(this._info.sample_count0&&(c=Math.min(h,Math.max(0,y.offset-o)));for(var b=0,k=n.last,v=this._getFrameMetrics(k);k>=n.first&&(!v||!v.inLayout);)v=this._getFrameMetrics(k),k--;if(v&&k0?(this._anyBlankStartTime=f,this._info.any_blank_speed_sum+=u,this._info.any_blank_count++,this._info.pixels_blank+=M,O>.5&&(this._mostlyBlankStartTime=f,this._info.mostly_blank_count++)):(u<.01||Math.abs(l)<1)&&this.deactivateAndFlush(),O}},{key:"enabled",value:function(){return this._enabled}},{key:"_resetData",value:function(){this._anyBlankStartTime=null,this._info=new _,this._mostlyBlankStartTime=null,this._samplesStartTime=null}}],[{key:"addListener",value:function(t){return null===f&&console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.'),h.push(t),{remove:function(){h=h.filter(function(n){return t!==n})}}}},{key:"setSampleRate",value:function(t){f=t}},{key:"setMinSampleCount",value:function(t){u=t}}]),t})();m.exports=c},253,[26,9,8]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),f=t(r(d[3])),s=t(r(d[4])),c=t(r(d[5])),u=t(r(d[6])),p=t(r(d[7])),l=O(r(d[8])),h=(O(r(d[9])),r(d[10])),v=["tintColor","titleColor","title"];function y(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(y=function(t){return t?o:n})(t)}function O(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=y(n);if(o&&o.has(t))return o.get(t);var f={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var u=s?Object.getOwnPropertyDescriptor(t,c):null;u&&(u.get||u.set)?Object.defineProperty(f,c,u):f[c]=t[c]}return f.default=t,o&&o.set(t,f),f}function R(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(t);n&&(f=f.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,f)}return o}function b(t){for(var o=1;o0&&(this._scrollAnimatedValueAttachment=S.default.attachNativeEvent(this._scrollViewRef,'onScroll',[{nativeEvent:{contentOffset:{y:this._scrollAnimatedValue}}}]))}},{key:"_setStickyHeaderRef",value:function(t,n){n?this._stickyHeaderRefs.set(t,n):this._stickyHeaderRefs.delete(t)}},{key:"_onStickyHeaderLayout",value:function(t,n,o){var l=this.props.stickyHeaderIndices;if(l){var s=w.Children.toArray(this.props.children);if(o===this._getKeyForIndex(t,s)){var c=n.nativeEvent.layout.y;this._headerLayoutYs.set(o,c);var u=l[l.indexOf(t)-1];if(null!=u){var p=this._stickyHeaderRefs.get(this._getKeyForIndex(u,s));p&&p.setNextHeaderY&&p.setNextHeaderY(c)}}}}},{key:"render",value:function(){var c,u,p=this;'android'===_.default.OS?!0===this.props.horizontal?(c=o,u=n):(c=t,u=x.default):(c=l,u=s),(0,A.default)(void 0!==c,'ScrollViewClass must not be undefined'),(0,A.default)(void 0!==u,'ScrollContentContainerViewClass must not be undefined');var f=[!0===this.props.horizontal&&Z.contentContainerHorizontal,this.props.contentContainerStyle],h={};this.props.onContentSizeChange&&(h={onLayout:this._handleContentOnLayout});var y=this.props.stickyHeaderIndices,R=this.props.children;if(null!=y&&y.length>0){var v=w.Children.toArray(this.props.children);R=v.map(function(t,n){var o=t?y.indexOf(n):-1;if(o>-1){var l=t.key,s=y[o+1],c=p.props.StickyHeaderComponent||O.default;return(0,P.jsx)(c,{nativeID:'StickyHeader-'+l,ref:function(t){return p._setStickyHeaderRef(l,t)},nextHeaderLayoutY:p._headerLayoutYs.get(p._getKeyForIndex(s,v)),onLayout:function(t){return p._onStickyHeaderLayout(n,t,l)},scrollAnimatedValue:p._scrollAnimatedValue,inverted:p.props.invertStickyHeaders,scrollViewHeight:p.state.layoutHeight,children:t},l)}return t})}R=(0,P.jsx)(N.default.Provider,{value:!0===this.props.horizontal?N.HORIZONTAL:N.VERTICAL,children:R});var S=Array.isArray(y)&&y.length>0,H=(0,P.jsx)(u,Y(Y({},h),{},{ref:this._setInnerViewRef,style:f,removeClippedSubviews:('android'!==_.default.OS||!S)&&this.props.removeClippedSubviews,collapsable:!1,children:R})),V=void 0!==this.props.alwaysBounceHorizontal?this.props.alwaysBounceHorizontal:this.props.horizontal,b=void 0!==this.props.alwaysBounceVertical?this.props.alwaysBounceVertical:!this.props.horizontal,k=!0===this.props.horizontal?Z.baseHorizontal:Z.baseVertical,M=Y(Y({},this.props),{},{alwaysBounceHorizontal:V,alwaysBounceVertical:b,style:[k,this.props.style],onContentSizeChange:null,onLayout:this._handleLayout,onMomentumScrollBegin:this._scrollResponder.scrollResponderHandleMomentumScrollBegin,onMomentumScrollEnd:this._scrollResponder.scrollResponderHandleMomentumScrollEnd,onResponderGrant:this._scrollResponder.scrollResponderHandleResponderGrant,onResponderReject:this._scrollResponder.scrollResponderHandleResponderReject,onResponderRelease:this._scrollResponder.scrollResponderHandleResponderRelease,onResponderTerminationRequest:this._scrollResponder.scrollResponderHandleTerminationRequest,onScrollBeginDrag:this._scrollResponder.scrollResponderHandleScrollBeginDrag,onScrollEndDrag:this._scrollResponder.scrollResponderHandleScrollEndDrag,onScrollShouldSetResponder:this._scrollResponder.scrollResponderHandleScrollShouldSetResponder,onStartShouldSetResponder:this._scrollResponder.scrollResponderHandleStartShouldSetResponder,onStartShouldSetResponderCapture:this._scrollResponder.scrollResponderHandleStartShouldSetResponderCapture,onTouchEnd:this._scrollResponder.scrollResponderHandleTouchEnd,onTouchMove:this._scrollResponder.scrollResponderHandleTouchMove,onTouchStart:this._scrollResponder.scrollResponderHandleTouchStart,onTouchCancel:this._scrollResponder.scrollResponderHandleTouchCancel,onScroll:this._handleScroll,scrollBarThumbImage:(0,E.default)(this.props.scrollBarThumbImage),scrollEventThrottle:S?1:this.props.scrollEventThrottle,sendMomentumEvents:!(!this.props.onMomentumScrollBegin&&!this.props.onMomentumScrollEnd),snapToStart:!1!==this.props.snapToStart,snapToEnd:!1!==this.props.snapToEnd,pagingEnabled:_.default.select({ios:!0===this.props.pagingEnabled&&null==this.props.snapToInterval&&null==this.props.snapToOffsets,android:!0===this.props.pagingEnabled||null!=this.props.snapToInterval||null!=this.props.snapToOffsets})}),j=this.props.decelerationRate;null!=j&&(M.decelerationRate=(0,I.default)(j));var L=this.props.refreshControl;if(L){if('ios'===_.default.OS)return(0,P.jsxs)(c,Y(Y({},M),{},{ref:this._setNativeRef,children:[L,H]}));if('android'===_.default.OS){var z=(0,C.default)((0,T.default)(M.style)),D=z.outer,B=z.inner;return w.cloneElement(L,{style:[k,D]},(0,P.jsx)(c,Y(Y({},M),{},{style:[k,B],ref:this._setNativeRef,children:H})))}}return(0,P.jsx)(c,Y(Y({},M),{},{ref:this._setNativeRef,children:H}))}}]),L})(w.Component);G.Context=N.default;var Z=b.default.create({baseVertical:{flexGrow:1,flexShrink:1,flexDirection:'column',overflow:'scroll'},baseHorizontal:{flexGrow:1,flexShrink:1,flexDirection:'row',overflow:'scroll'},contentContainerHorizontal:{flexDirection:'row'}});function q(t,n){return(0,P.jsx)(G,Y(Y({},t),{},{scrollViewRef:n}))}q.displayName='ScrollView';var J=w.forwardRef(q);J.Context=N.default,J.displayName='ScrollView',m.exports=J},257,[6,8,9,17,13,15,12,26,227,48,56,88,258,266,60,85,264,84,3,267,173,268,247,269,270,272,273,274,53]); +__d(function(g,r,i,a,m,e,d){'use strict';var o=r(d[0])(r(d[1])),s=r(d[2]),l=r(d[3]),n=r(d[4]),t=(r(d[5]),r(d[6]),r(d[7])),c=r(d[8]),p=r(d[9]),u=r(d[10]),h={Mixin:{_subscriptionKeyboardWillShow:null,_subscriptionKeyboardWillHide:null,_subscriptionKeyboardDidShow:null,_subscriptionKeyboardDidHide:null,scrollResponderMixinGetInitialState:function(){return{isTouching:!1,lastMomentumScrollBeginTime:0,lastMomentumScrollEndTime:0,observedScrollSinceBecomingResponder:!1,becameResponderWhileAnimating:!1}},scrollResponderHandleScrollShouldSetResponder:function(){return!0!==this.props.disableScrollViewPanResponder&&this.state.isTouching},scrollResponderHandleStartShouldSetResponder:function(o){if(!0===this.props.disableScrollViewPanResponder)return!1;var s=c.currentlyFocusedInput();return!('handled'!==this.props.keyboardShouldPersistTaps||!this.scrollResponderKeyboardIsDismissible()||o.target===s)},scrollResponderHandleStartShouldSetResponderCapture:function(o){if(this.scrollResponderIsAnimating())return!0;if(!0===this.props.disableScrollViewPanResponder)return!1;var s=this.props.keyboardShouldPersistTaps,l=!s||'never'===s;return'number'!=typeof o.target&&!(!l||!this.scrollResponderKeyboardIsDismissible()||null==o.target||c.isTextInput(o.target))},scrollResponderKeyboardIsDismissible:function(){var o=c.currentlyFocusedInput(),s=null!=o&&c.isTextInput(o),l=null!=this.keyboardWillOpenTo||!0;return s&&l},scrollResponderHandleResponderReject:function(){},scrollResponderHandleTerminationRequest:function(){return!this.state.observedScrollSinceBecomingResponder},scrollResponderHandleTouchEnd:function(o){var s=o.nativeEvent;this.state.isTouching=0!==s.touches.length,this.props.onTouchEnd&&this.props.onTouchEnd(o)},scrollResponderHandleTouchCancel:function(o){this.state.isTouching=!1,this.props.onTouchCancel&&this.props.onTouchCancel(o)},scrollResponderHandleResponderRelease:function(o){if(this.props.onResponderRelease&&this.props.onResponderRelease(o),'number'!=typeof o.target){var s=c.currentlyFocusedInput();!0===this.props.keyboardShouldPersistTaps||'always'===this.props.keyboardShouldPersistTaps||!this.scrollResponderKeyboardIsDismissible()||o.target===s||this.state.observedScrollSinceBecomingResponder||this.state.becameResponderWhileAnimating||(this.props.onScrollResponderKeyboardDismissed&&this.props.onScrollResponderKeyboardDismissed(o),c.blurTextInput(s))}},scrollResponderHandleScroll:function(o){this.state.observedScrollSinceBecomingResponder=!0,this.props.onScroll&&this.props.onScroll(o)},scrollResponderHandleResponderGrant:function(o){this.state.observedScrollSinceBecomingResponder=!1,this.props.onResponderGrant&&this.props.onResponderGrant(o),this.state.becameResponderWhileAnimating=this.scrollResponderIsAnimating()},scrollResponderHandleScrollBeginDrag:function(o){l.beginScroll(),this.props.onScrollBeginDrag&&this.props.onScrollBeginDrag(o)},scrollResponderHandleScrollEndDrag:function(o){var s=o.nativeEvent.velocity;this.scrollResponderIsAnimating()||s&&(0!==s.x||0!==s.y)||l.endScroll(),this.props.onScrollEndDrag&&this.props.onScrollEndDrag(o)},scrollResponderHandleMomentumScrollBegin:function(o){this.state.lastMomentumScrollBeginTime=g.performance.now(),this.props.onMomentumScrollBegin&&this.props.onMomentumScrollBegin(o)},scrollResponderHandleMomentumScrollEnd:function(o){l.endScroll(),this.state.lastMomentumScrollEndTime=g.performance.now(),this.props.onMomentumScrollEnd&&this.props.onMomentumScrollEnd(o)},scrollResponderHandleTouchStart:function(o){this.state.isTouching=!0,this.props.onTouchStart&&this.props.onTouchStart(o)},scrollResponderHandleTouchMove:function(o){this.props.onTouchMove&&this.props.onTouchMove(o)},scrollResponderIsAnimating:function(){return g.performance.now()-this.state.lastMomentumScrollEndTime<16||this.state.lastMomentumScrollEndTime0){Y.push(H),R.push(0),Y.push(H+1),R.push(1);var V=(_||0)-f-u;V>H&&(Y.push(V,V+1),R.push(V-H,V-H))}}}else{Y.push(v),R.push(0);var x=(_||0)-f;x>=v?(Y.push(x,x+1),R.push(x-v,x-v)):(Y.push(v+1),R.push(1))}this.updateTranslateListener(this.props.scrollAnimatedValue.interpolate({inputRange:Y,outputRange:R}),s)}var I=c.Children.only(this.props.children),O=s&&null!=this.state.translateY?{style:{transform:[{translateY:this.state.translateY}]}}:null;return(0,y.jsx)(L,{collapsable:!1,nativeID:this.props.nativeID,onLayout:this._onLayout,ref:this._setComponentRef,style:[I.props.style,T.header,{transform:[{translateY:this._translateY}]}],passthroughAnimatedPropExplicitValues:O,children:c.cloneElement(I,{style:T.fill,onLayout:void 0})})}}]),_})(c.Component),T=p.default.create({header:{zIndex:10,position:'relative'},fill:{flex:1}});m.exports=R},266,[6,8,9,13,15,12,227,55,60,85,48,53]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),s=t(r(d[2])),l=t(r(d[3])),o=t(r(d[4])),u=t(r(d[5])),h=t(r(d[6])),c=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var s=_(n);if(s&&s.has(t))return s.get(t);var l={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in t)if("default"!==u&&Object.prototype.hasOwnProperty.call(t,u)){var h=o?Object.getOwnPropertyDescriptor(t,u):null;h&&(h.get||h.set)?Object.defineProperty(l,u,h):l[u]=t[u]}l.default=t,s&&s.set(t,l);return l})(r(d[7])),p=t(r(d[8])),f=t(r(d[9])),v=t(r(d[10])),y=r(d[11]);function _(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,s=new WeakMap;return(_=function(t){return t?s:n})(t)}function Y(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var L=h.default.createAnimatedComponent(f.default),R=(function(t){(0,l.default)(_,t);var h,p,f=(h=_,p=Y(),function(){var t,n=(0,u.default)(h);if(p){var s=(0,u.default)(this).constructor;t=Reflect.construct(n,arguments,s)}else t=n.apply(this,arguments);return(0,o.default)(this,t)});function _(){var t;(0,n.default)(this,_);for(var s=arguments.length,l=new Array(s),o=0;o0){Y.push(H),R.push(0),Y.push(H+1),R.push(1);var V=(_||0)-f-u;V>H&&(Y.push(V,V+1),R.push(V-H,V-H))}}}else{Y.push(v),R.push(0);var x=(_||0)-f;x>=v?(Y.push(x,x+1),R.push(x-v,x-v)):(Y.push(v+1),R.push(1))}this.updateTranslateListener(this.props.scrollAnimatedValue.interpolate({inputRange:Y,outputRange:R}),s)}var I=c.Children.only(this.props.children),O=s&&null!=this.state.translateY?{style:{transform:[{translateY:this.state.translateY}]}}:null;return(0,y.jsx)(L,{collapsable:!1,nativeID:this.props.nativeID,onLayout:this._onLayout,ref:this._setComponentRef,style:[I.props.style,T.header,{transform:[{translateY:this._translateY}]}],passthroughAnimatedPropExplicitValues:O,children:c.cloneElement(I,{style:T.fill,onLayout:void 0})})}}]),_})(c.Component),T=p.default.create({header:{zIndex:10,position:'relative'},fill:{flex:1}});m.exports=R},266,[6,8,9,13,15,12,227,56,60,85,48,53]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0])(r(d[1]));m.exports=function(n){return'normal'===n?t.default.select({ios:.998,android:.985}):'fast'===n?t.default.select({ios:.99,android:.9}):n}},267,[6,48]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0])(Object.create(null),{margin:!0,marginHorizontal:!0,marginVertical:!0,marginBottom:!0,marginTop:!0,marginLeft:!0,marginRight:!0,flex:!0,flexGrow:!0,flexShrink:!0,flexBasis:!0,alignSelf:!0,height:!0,minHeight:!0,maxHeight:!0,width:!0,minWidth:!0,maxWidth:!0,position:!0,left:!0,right:!0,bottom:!0,top:!0,transform:!0});m.exports=function(n){var o={},f={};return n&&Object.keys(n).forEach(function(h){var l=n[h];t[h]?f[h]=l:o[h]=l}),{outer:f,inner:o}}},268,[30]); -__d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VERTICAL=e.HORIZONTAL=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).createContext(null);e.default=n;var o=Object.freeze({horizontal:!0});e.HORIZONTAL=o;var u=Object.freeze({horizontal:!1});e.VERTICAL=u},269,[55]); +__d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VERTICAL=e.HORIZONTAL=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).createContext(null);e.default=n;var o=Object.freeze({horizontal:!0});e.HORIZONTAL=o;var u=Object.freeze({horizontal:!1});e.VERTICAL=u},269,[56]); __d(function(g,r,i,a,m,e,d){'use strict';var l=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t,u=l(r(d[1])),f=l(r(d[2])),o=l(r(d[3]));g.RN$Bridgeless?((0,u.default)('RCTScrollView',o.default),t='RCTScrollView'):t=(0,f.default)('RCTScrollView');var c=t;e.default=c},270,[6,187,166,271]); __d(function(g,r,i,a,m,e,d){'use strict';var o={uiViewClassName:'RCTScrollView',bubblingEventTypes:{},directEventTypes:{topScrollToTop:{registrationName:'onScrollToTop'}},validAttributes:{alwaysBounceHorizontal:!0,alwaysBounceVertical:!0,automaticallyAdjustContentInsets:!0,bounces:!0,bouncesZoom:!0,canCancelContentTouches:!0,centerContent:!0,contentInset:{diff:r(d[0])},contentOffset:{diff:r(d[0])},contentInsetAdjustmentBehavior:!0,decelerationRate:!0,directionalLockEnabled:!0,disableIntervalMomentum:!0,endFillColor:{process:r(d[1])},fadingEdgeLength:!0,indicatorStyle:!0,keyboardDismissMode:!0,maintainVisibleContentPosition:!0,maximumZoomScale:!0,minimumZoomScale:!0,nestedScrollEnabled:!0,onMomentumScrollBegin:!0,onMomentumScrollEnd:!0,onScroll:!0,onScrollBeginDrag:!0,onScrollEndDrag:!0,onScrollToTop:!0,overScrollMode:!0,pagingEnabled:!0,persistentScrollbar:!0,pinchGestureEnabled:!0,scrollEnabled:!0,scrollEventThrottle:!0,scrollIndicatorInsets:{diff:r(d[0])},scrollPerfTag:!0,scrollToOverflowEnabled:!0,scrollsToTop:!0,sendMomentumEvents:!0,showsHorizontalScrollIndicator:!0,showsVerticalScrollIndicator:!0,snapToAlignment:!0,snapToEnd:!0,snapToInterval:!0,snapToOffsets:!0,snapToStart:!0,zoomScale:!0}};m.exports=o},271,[171,79]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var l,n=t(r(d[1])),o=t(r(d[2]));g.RN$Bridgeless?((0,n.default)('RCTScrollContentView',{uiViewClassName:'RCTScrollContentView',bubblingEventTypes:{},directEventTypes:{},validAttributes:{}}),l='RCTScrollContentView'):l=(0,o.default)('RCTScrollContentView');var u=l;e.default=u},272,[6,187,166]); @@ -280,63 +280,63 @@ __d(function(g,r,i,a,m,e,d){'use strict';var l=r(d[0]);Object.defineProperty(e," __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o,l=t(r(d[1])),n=t(r(d[2]));g.RN$Bridgeless?((0,l.default)('AndroidHorizontalScrollContentView',{uiViewClassName:'AndroidHorizontalScrollContentView',bubblingEventTypes:{},directEventTypes:{},validAttributes:{}}),o='AndroidHorizontalScrollContentView'):o=(0,n.default)('AndroidHorizontalScrollContentView');var u=o;e.default=u},274,[6,187,166]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),o=r(d[2]),s=r(d[3]);function c(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);n&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,s)}return o}function l(n){for(var o=1;o=t.length?{done:!0}:{done:!1,value:t[s++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(t,n){if(t){if("string"==typeof t)return h(t,n);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?h(t,n):void 0}}function h(t,n){(null==n||n>t.length)&&(n=t.length);for(var o=0,s=new Array(n);o0&&void 0!==arguments[0]?arguments[0]:{viewAreaCoveragePercentThreshold:0};o(this,t),this._hasInteracted=!1,this._timers=new Set,this._viewableIndices=[],this._viewableItems=new Map,this._config=n}return s(t,[{key:"dispose",value:function(){this._timers.forEach(clearTimeout)}},{key:"computeViewableItems",value:function(t,n,o,s,c){var l=this._config,u=l.itemVisiblePercentThreshold,f=l.viewAreaCoveragePercentThreshold,h=null!=f,b=h?f:u;v(null!=b&&null!=u!=(null!=f),'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold');var p=[];if(0===t)return p;var w=-1,_=c||{first:0,last:t-1},I=_.first,O=_.last;if(O>=t)return console.warn('Invalid render range computing viewability '+JSON.stringify({renderRange:c,itemCount:t})),[];for(var j=I;j<=O;j++){var P=s(j);if(P){var S=P.offset-n,A=S+P.length;if(S0)w=j,y(h,b,S,A,o,P.length)&&p.push(j);else if(w>=0)break}}return p}},{key:"onUpdate",value:function(t,n,o,s,c,l,u){var f=this;if((!this._config.waitForInteraction||this._hasInteracted)&&0!==t&&s(0)){var h=[];if(t&&(h=this.computeViewableItems(t,n,o,s,u)),this._viewableIndices.length!==h.length||!this._viewableIndices.every(function(t,n){return t===h[n]}))if(this._viewableIndices=h,this._config.minimumViewTime){var v=setTimeout(function(){f._timers.delete(v),f._onUpdateSync(h,l,c)},this._config.minimumViewTime);this._timers.add(v)}else this._onUpdateSync(h,l,c)}}},{key:"resetViewableIndices",value:function(){this._viewableIndices=[]}},{key:"recordInteraction",value:function(){this._hasInteracted=!0}},{key:"_onUpdateSync",value:function(t,o,s){var c=this;t=t.filter(function(t){return c._viewableIndices.includes(t)});for(var f,h=this._viewableItems,v=new Map(t.map(function(t){var n=s(t,!0);return[n.key,n]})),b=[],y=u(v);!(f=y()).done;){var p=f.value,w=n(p,2),_=w[0],I=w[1];h.has(_)||b.push(I)}for(var O,j=u(h);!(O=j()).done;){var P=O.value,S=n(P,2),A=S[0],T=S[1];v.has(A)||b.push(l(l({},T),{},{isViewable:!1}))}b.length>0&&(this._viewableItems=v,o({viewableItems:Array.from(v.values()),changed:b,viewabilityConfig:this._config}))}}]),t})();function y(t,n,o,s,c,l){if(w(o,s,c))return!0;var u=p(o,s,c);return 100*(t?u/c:u/l)>=n}function p(t,n,o){var s=Math.min(n,o)-Math.max(t,0);return Math.max(0,s)}function w(t,n,o){return t>=0&&n<=o&&n>t}m.exports=b},275,[26,31,8,9,3]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]);function s(t,s,f){for(var l=[],o=0,u=0;u=t[c]&&(l[c]=u,o++,c===t.length-1))return n(o===t.length,'bad offsets input, should be in increasing order: %s',JSON.stringify(t)),l;return l}function f(t,n){return n.last-n.first+1-Math.max(0,1+Math.min(n.last,t.last)-Math.max(n.first,t.first))}var l={computeWindowedRenderLimits:function(n,l,o,u){var h=n.data,v=n.getItemCount,c=n.maxToRenderPerBatch,x=n.windowSize,M=v(h);if(0===M)return l;var w=u.offset,b=u.velocity,p=u.visibleLength,C=Math.max(0,w),O=C+p,y=(x-1)*p,L=b>1?'after':b<-1?'before':'none',R=Math.max(0,C-.5*y),S=Math.max(0,O+.5*y);if(o(M-1).offset=_);){var E=z>=c,F=N<=l.first||N>l.last,P=N>J&&(!E||!F),W=T>=l.last||T=N&&N>=0&&T=J&&T<=_&&N<=k.first&&T>=k.last))throw new Error('Bad window calculation '+JSON.stringify({first:N,last:T,itemCount:M,overscanFirst:J,overscanLast:_,visible:k}));return{first:N,last:T}},elementsThatOverlapOffsets:s,newRangeCount:f};m.exports=l},276,[31,3]); -__d(function(g,r,i,a,m,e,d){'use strict';!(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var f=t(o);if(f&&f.has(n))return f.get(n);var u={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var p in n)if("default"!==p&&Object.prototype.hasOwnProperty.call(n,p)){var l=c?Object.getOwnPropertyDescriptor(n,p):null;l&&(l.get||l.set)?Object.defineProperty(u,p,l):u[p]=n[p]}u.default=n,f&&f.set(n,u)})(r(d[0]));function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,f=new WeakMap;return(t=function(t){return t?f:o})(n)}var n=r(d[1]),o=r(d[2]);m.exports=o(n)},277,[55,278,246]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),u=t(r(d[3])),c=t(r(d[4])),s=r(d[5]);function l(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);n&&(u=u.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,u)}return o}function f(t){for(var n=1;n component requires a `source` property rather than `src`.'),t.children)throw new Error('The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning.');if(t.defaultSource&&t.loadingIndicatorSource)throw new Error('The component cannot have defaultSource and loadingIndicatorSource at the same time. Please use either defaultSource or loadingIndicatorSource.');if(!p||p.uri||Array.isArray(p)||(p=null),null!=(null==(o=p)?void 0:o.uri)){var w=p,O=w.width,E=w.height;l=j([{width:O,height:E},x.base,t.style]),h=[{uri:p.uri}]}else l=j([x.base,t.style]),h=p;var z=t.onLoadStart,T=t.onLoad,L=t.onLoadEnd,D=t.onError,q=f(f({},t),{},{style:l,shouldNotifyLoadEvents:!!(z||T||L||D),src:h,headers:null==(c=p)?void 0:c.headers,defaultSrc:b?b.uri:null,loadingIndicatorSrc:y?y.uri:null,ref:n});return(0,s.jsx)(S.Consumer,{children:function(t){var n=null!==t?f(f({},q),{},{internal_analyticTag:t}):q;return(0,s.jsx)(v.Consumer,{children:function(t){return t?(0,s.jsx)(P,f({},n)):(0,s.jsx)(u.default,f({},n))}})}})};(T=w.forwardRef(T)).displayName='Image',T.getSize=function(t,n,o){return c.default.getSize(t).then(function(t){n(t.width,t.height)}).catch(o||function(){console.warn('Failed to get size for image: '+t)})},T.getSizeWithHeaders=function(t,n,o,u){return c.default.getSizeWithHeaders(t,n).then(function(t){o(t.width,t.height)}).catch(u||function(){console.warn('Failed to get size for image: '+t)})},T.prefetch=function(t,n){var o=E++;return n&&n(o),c.default.prefetchImage(t,o)},T.abortPrefetch=function(t){c.default.abortRequest(t)},T.queryCache=function(t){return n.default.async(function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,n.default.awrap(c.default.queryCache(t));case 2:return o.abrupt("return",o.sent);case 3:case"end":return o.stop()}},null,null,null,Promise)},T.resolveAssetSource=I,T.propTypes=z;var x=O.create({base:{overflow:'hidden'}});m.exports=T},278,[6,279,26,280,282,53,65,200,283,71,55,88,60,189,285,84,173,286]); +__d(function(g,r,i,a,m,e,d){'use strict';!(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var f=t(o);if(f&&f.has(n))return f.get(n);var u={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var p in n)if("default"!==p&&Object.prototype.hasOwnProperty.call(n,p)){var l=c?Object.getOwnPropertyDescriptor(n,p):null;l&&(l.get||l.set)?Object.defineProperty(u,p,l):u[p]=n[p]}u.default=n,f&&f.set(n,u)})(r(d[0]));function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,f=new WeakMap;return(t=function(t){return t?f:o})(n)}var n=r(d[1]),o=r(d[2]);m.exports=o(n)},277,[56,278,246]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),u=t(r(d[3])),c=t(r(d[4])),s=r(d[5]);function l(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);n&&(u=u.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,u)}return o}function f(t){for(var n=1;n component requires a `source` property rather than `src`.'),t.children)throw new Error('The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning.');if(t.defaultSource&&t.loadingIndicatorSource)throw new Error('The component cannot have defaultSource and loadingIndicatorSource at the same time. Please use either defaultSource or loadingIndicatorSource.');if(!p||p.uri||Array.isArray(p)||(p=null),null!=(null==(o=p)?void 0:o.uri)){var w=p,O=w.width,E=w.height;l=j([{width:O,height:E},x.base,t.style]),h=[{uri:p.uri}]}else l=j([x.base,t.style]),h=p;var z=t.onLoadStart,T=t.onLoad,L=t.onLoadEnd,D=t.onError,q=f(f({},t),{},{style:l,shouldNotifyLoadEvents:!!(z||T||L||D),src:h,headers:null==(c=p)?void 0:c.headers,defaultSrc:b?b.uri:null,loadingIndicatorSrc:y?y.uri:null,ref:n});return(0,s.jsx)(S.Consumer,{children:function(t){var n=null!==t?f(f({},q),{},{internal_analyticTag:t}):q;return(0,s.jsx)(v.Consumer,{children:function(t){return t?(0,s.jsx)(P,f({},n)):(0,s.jsx)(u.default,f({},n))}})}})};(T=w.forwardRef(T)).displayName='Image',T.getSize=function(t,n,o){return c.default.getSize(t).then(function(t){n(t.width,t.height)}).catch(o||function(){console.warn('Failed to get size for image: '+t)})},T.getSizeWithHeaders=function(t,n,o,u){return c.default.getSizeWithHeaders(t,n).then(function(t){o(t.width,t.height)}).catch(u||function(){console.warn('Failed to get size for image: '+t)})},T.prefetch=function(t,n){var o=E++;return n&&n(o),c.default.prefetchImage(t,o)},T.abortPrefetch=function(t){c.default.abortRequest(t)},T.queryCache=function(t){return n.default.async(function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,n.default.awrap(c.default.queryCache(t));case 2:return o.abrupt("return",o.sent);case 3:case"end":return o.stop()}},null,null,null,Promise)},T.resolveAssetSource=I,T.propTypes=z;var x=O.create({base:{overflow:'hidden'}});m.exports=T},278,[6,279,26,280,282,53,65,200,283,71,56,88,60,189,285,84,173,286]); __d(function(g,r,i,a,m,e,d){m.exports=r(d[0])},279,[113]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var u,f=t(r(d[1])),l=r(d[2]),n=r(d[3]);g.RN$Bridgeless?(n.register('RCTImageView',function(){return f.default}),u='RCTImageView'):u=l('RCTImageView');var s=u;e.default=s},280,[6,281,166,163]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),o=t(r(d[1]));function n(t,o){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);o&&(s=s.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,s)}return n}function s(t){for(var s=1;s0&&this.props.stickySectionHeadersEnabled&&(s+=this._listRef._getFrameMetricsApprox(n-t.itemIndex).length);var c=v(v({},t),{},{viewOffset:s,index:n});this._listRef.scrollToIndex(c)}},{key:"getListRef",value:function(){return this._listRef}},{key:"UNSAFE_componentWillReceiveProps",value:function(t){this.setState(this._computeState(t))}},{key:"_computeState",value:function(n){var o=this,s=n.ListHeaderComponent?1:0,c=[],p=n.sections?n.sections.reduce(function(t,o){return c.push(t+s),t+n.getItemCount(o.data)+2},0):0;n.SectionSeparatorComponent,n.renderItem,n.renderSectionFooter,n.renderSectionHeader,n.sections,n.stickySectionHeadersEnabled;return{childProps:v(v({},t(n,h)),{},{renderItem:this._renderItem,ItemSeparatorComponent:void 0,data:n.sections,getItemCount:function(){return p},getItem:function(t,s){return o._getItem(n,t,s)},keyExtractor:this._keyExtractor,onViewableItemsChanged:n.onViewableItemsChanged?this._onViewableItemsChanged:void 0,stickyHeaderIndices:n.stickySectionHeadersEnabled?c:void 0})}}},{key:"render",value:function(){return n.jsx(b,v(v({},this.state.childProps),{},{ref:this._captureRef}))}},{key:"_subExtractor",value:function(t){for(var n=t,o=this.props,s=o.getItem,c=o.getItemCount,p=o.keyExtractor,l=o.sections,u=0;u=c(h)+1)n-=c(h)+1;else return-1===n?{section:f,key:S+':header',index:null,header:!0,trailingSection:l[u+1]}:n===c(h)?{section:f,key:S+':footer',index:null,header:!1,trailingSection:l[u+1]}:{section:f,key:S+':'+(f.keyExtractor||p)(s(h,n),n),index:n,leadingItem:s(h,n-1),leadingSection:l[u-1],trailingItem:s(h,n+1),trailingSection:l[u+1]}}}},{key:"_getSeparatorComponent",value:function(t,n){if(!(n=n||this._subExtractor(t)))return null;var o=n.section.ItemSeparatorComponent||this.props.ItemSeparatorComponent,s=this.props.SectionSeparatorComponent,c=t===this.state.childProps.getItemCount()-1,p=n.index===this.props.getItemCount(n.section.data)-1;return s&&p?s:!o||p||c?null:o}}]),f})(x.PureComponent);P.defaultProps=v(v({},b.defaultProps),{},{data:[]});var C=(function(t){l(p,t);var o=I(p);function p(){var t;s(this,p);for(var n=arguments.length,c=new Array(n),l=0;l=21&&null!=this.props.statusBarBackgroundColor,l=(0,k.jsxs)(y.default,{style:[W.drawerSubview,{width:this.props.drawerWidth,backgroundColor:this.props.drawerBackgroundColor}],collapsable:!1,children:[n(),u&&(0,k.jsx)(y.default,{style:W.drawerStatusBar})]}),c=(0,k.jsxs)(y.default,{style:W.mainSubview,collapsable:!1,children:[u&&(0,k.jsx)(h.default,{translucent:!0,backgroundColor:this.props.statusBarBackgroundColor}),u&&(0,k.jsx)(y.default,{style:[W.statusBar,{backgroundColor:this.props.statusBarBackgroundColor}]}),this.props.children]});return(0,k.jsxs)(O.default,P(P({},s),{},{ref:this._nativeRef,drawerWidth:this.props.drawerWidth,drawerPosition:this.props.drawerPosition,drawerLockMode:this.props.drawerLockMode,style:[W.base,this.props.style],onDrawerSlide:this._onDrawerSlide,onDrawerOpen:this._onDrawerOpen,onDrawerClose:this._onDrawerClose,onDrawerStateChanged:this._onDrawerStateChanged,children:[c,l]}))}},{key:"openDrawer",value:function(){O.Commands.openDrawer((0,D.default)(this._nativeRef.current))}},{key:"closeDrawer",value:function(){O.Commands.closeDrawer((0,D.default)(this._nativeRef.current))}},{key:"blur",value:function(){(0,D.default)(this._nativeRef.current).blur()}},{key:"focus",value:function(){(0,D.default)(this._nativeRef.current).focus()}},{key:"measure",value:function(t){(0,D.default)(this._nativeRef.current).measure(t)}},{key:"measureInWindow",value:function(t){(0,D.default)(this._nativeRef.current).measureInWindow(t)}},{key:"measureLayout",value:function(t,n,o){(0,D.default)(this._nativeRef.current).measureLayout(t,n,o)}},{key:"setNativeProps",value:function(t){(0,D.default)(this._nativeRef.current).setNativeProps(t)}}],[{key:"positions",get:function(){return console.warn('Setting DrawerLayoutAndroid drawerPosition using `DrawerLayoutAndroid.positions` is deprecated. Instead pass the string value "left" or "right"'),{Left:'left',Right:'right'}}}]),S})(w.Component);x.defaultProps={drawerBackgroundColor:'white'};var W=v.default.create({base:{flex:1,elevation:16},mainSubview:{position:'absolute',top:0,left:0,right:0,bottom:0},drawerSubview:{position:'absolute',top:0,bottom:0},statusBar:{height:h.default.currentHeight},drawerStatusBar:{position:'absolute',top:0,left:0,right:0,height:h.default.currentHeight,backgroundColor:'rgba(0, 0, 0, 0.251)'}});m.exports=x},294,[6,26,58,8,9,13,15,12,48,55,295,60,85,264,208,298,53]); -__d(function(g,r,i,a,m,e,d){'use strict';var t,n=r(d[0]),u=n(r(d[1])),o=n(r(d[2])),l=n(r(d[3])),c=n(r(d[4])),s=n(r(d[5])),f=n(r(d[6])),p=n(r(d[7]));n(r(d[8]));function k(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}r(d[9]);var v=r(d[10]),y=r(d[11]),_=r(d[12]);function S(t){return{backgroundColor:null!=t.backgroundColor?{value:t.backgroundColor,animated:t.animated}:null,barStyle:null!=t.barStyle?{value:t.barStyle,animated:t.animated}:null,translucent:t.translucent,hidden:null!=t.hidden?{value:t.hidden,animated:t.animated,transition:t.showHideTransition}:null,networkActivityIndicatorVisible:t.networkActivityIndicatorVisible}}var h=(function(t){(0,l.default)(h,t);var n,f,v=(n=h,f=k(),function(){var t,u=(0,s.default)(n);if(f){var o=(0,s.default)(this).constructor;t=Reflect.construct(u,arguments,o)}else t=u.apply(this,arguments);return(0,c.default)(this,t)});function h(){var t;(0,u.default)(this,h);for(var n=arguments.length,o=new Array(n),l=0;l0&&this.props.stickySectionHeadersEnabled&&(s+=this._listRef._getFrameMetricsApprox(n-t.itemIndex).length);var c=v(v({},t),{},{viewOffset:s,index:n});this._listRef.scrollToIndex(c)}},{key:"getListRef",value:function(){return this._listRef}},{key:"UNSAFE_componentWillReceiveProps",value:function(t){this.setState(this._computeState(t))}},{key:"_computeState",value:function(n){var o=this,s=n.ListHeaderComponent?1:0,c=[],p=n.sections?n.sections.reduce(function(t,o){return c.push(t+s),t+n.getItemCount(o.data)+2},0):0;n.SectionSeparatorComponent,n.renderItem,n.renderSectionFooter,n.renderSectionHeader,n.sections,n.stickySectionHeadersEnabled;return{childProps:v(v({},t(n,h)),{},{renderItem:this._renderItem,ItemSeparatorComponent:void 0,data:n.sections,getItemCount:function(){return p},getItem:function(t,s){return o._getItem(n,t,s)},keyExtractor:this._keyExtractor,onViewableItemsChanged:n.onViewableItemsChanged?this._onViewableItemsChanged:void 0,stickyHeaderIndices:n.stickySectionHeadersEnabled?c:void 0})}}},{key:"render",value:function(){return n.jsx(b,v(v({},this.state.childProps),{},{ref:this._captureRef}))}},{key:"_subExtractor",value:function(t){for(var n=t,o=this.props,s=o.getItem,c=o.getItemCount,p=o.keyExtractor,l=o.sections,u=0;u=c(h)+1)n-=c(h)+1;else return-1===n?{section:f,key:S+':header',index:null,header:!0,trailingSection:l[u+1]}:n===c(h)?{section:f,key:S+':footer',index:null,header:!1,trailingSection:l[u+1]}:{section:f,key:S+':'+(f.keyExtractor||p)(s(h,n),n),index:n,leadingItem:s(h,n-1),leadingSection:l[u-1],trailingItem:s(h,n+1),trailingSection:l[u+1]}}}},{key:"_getSeparatorComponent",value:function(t,n){if(!(n=n||this._subExtractor(t)))return null;var o=n.section.ItemSeparatorComponent||this.props.ItemSeparatorComponent,s=this.props.SectionSeparatorComponent,c=t===this.state.childProps.getItemCount()-1,p=n.index===this.props.getItemCount(n.section.data)-1;return s&&p?s:!o||p||c?null:o}}]),f})(x.PureComponent);P.defaultProps=v(v({},b.defaultProps),{},{data:[]});var C=(function(t){l(p,t);var o=I(p);function p(){var t;s(this,p);for(var n=arguments.length,c=new Array(n),l=0;l=21&&null!=this.props.statusBarBackgroundColor,l=(0,k.jsxs)(y.default,{style:[W.drawerSubview,{width:this.props.drawerWidth,backgroundColor:this.props.drawerBackgroundColor}],collapsable:!1,children:[n(),u&&(0,k.jsx)(y.default,{style:W.drawerStatusBar})]}),c=(0,k.jsxs)(y.default,{style:W.mainSubview,collapsable:!1,children:[u&&(0,k.jsx)(h.default,{translucent:!0,backgroundColor:this.props.statusBarBackgroundColor}),u&&(0,k.jsx)(y.default,{style:[W.statusBar,{backgroundColor:this.props.statusBarBackgroundColor}]}),this.props.children]});return(0,k.jsxs)(O.default,P(P({},s),{},{ref:this._nativeRef,drawerWidth:this.props.drawerWidth,drawerPosition:this.props.drawerPosition,drawerLockMode:this.props.drawerLockMode,style:[W.base,this.props.style],onDrawerSlide:this._onDrawerSlide,onDrawerOpen:this._onDrawerOpen,onDrawerClose:this._onDrawerClose,onDrawerStateChanged:this._onDrawerStateChanged,children:[c,l]}))}},{key:"openDrawer",value:function(){O.Commands.openDrawer((0,D.default)(this._nativeRef.current))}},{key:"closeDrawer",value:function(){O.Commands.closeDrawer((0,D.default)(this._nativeRef.current))}},{key:"blur",value:function(){(0,D.default)(this._nativeRef.current).blur()}},{key:"focus",value:function(){(0,D.default)(this._nativeRef.current).focus()}},{key:"measure",value:function(t){(0,D.default)(this._nativeRef.current).measure(t)}},{key:"measureInWindow",value:function(t){(0,D.default)(this._nativeRef.current).measureInWindow(t)}},{key:"measureLayout",value:function(t,n,o){(0,D.default)(this._nativeRef.current).measureLayout(t,n,o)}},{key:"setNativeProps",value:function(t){(0,D.default)(this._nativeRef.current).setNativeProps(t)}}],[{key:"positions",get:function(){return console.warn('Setting DrawerLayoutAndroid drawerPosition using `DrawerLayoutAndroid.positions` is deprecated. Instead pass the string value "left" or "right"'),{Left:'left',Right:'right'}}}]),S})(w.Component);x.defaultProps={drawerBackgroundColor:'white'};var W=v.default.create({base:{flex:1,elevation:16},mainSubview:{position:'absolute',top:0,left:0,right:0,bottom:0},drawerSubview:{position:'absolute',top:0,bottom:0},statusBar:{height:h.default.currentHeight},drawerStatusBar:{position:'absolute',top:0,left:0,right:0,height:h.default.currentHeight,backgroundColor:'rgba(0, 0, 0, 0.251)'}});m.exports=x},294,[6,26,58,8,9,13,15,12,48,56,295,60,85,264,208,298,53]); +__d(function(g,r,i,a,m,e,d){'use strict';var t,n=r(d[0]),u=n(r(d[1])),o=n(r(d[2])),l=n(r(d[3])),c=n(r(d[4])),s=n(r(d[5])),f=n(r(d[6])),p=n(r(d[7]));n(r(d[8]));function k(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}r(d[9]);var v=r(d[10]),y=r(d[11]),_=r(d[12]);function S(t){return{backgroundColor:null!=t.backgroundColor?{value:t.backgroundColor,animated:t.animated}:null,barStyle:null!=t.barStyle?{value:t.barStyle,animated:t.animated}:null,translucent:t.translucent,hidden:null!=t.hidden?{value:t.hidden,animated:t.animated,transition:t.showHideTransition}:null,networkActivityIndicatorVisible:t.networkActivityIndicatorVisible}}var h=(function(t){(0,l.default)(h,t);var n,f,v=(n=h,f=k(),function(){var t,u=(0,s.default)(n);if(f){var o=(0,s.default)(this).constructor;t=Reflect.construct(u,arguments,o)}else t=u.apply(this,arguments);return(0,c.default)(this,t)});function h(){var t;(0,u.default)(this,h);for(var n=arguments.length,o=new Array(n),l=0;l is only supported on iOS.'),0===h.Children.count(this.props.children)?null:(0,f.jsx)(l.default,{style:[this.props.style,R.container],nativeID:this.props.nativeID,backgroundColor:this.props.backgroundColor,children:this.props.children})}}]),b})(h.Component),R=y.create({container:{position:'absolute'}});m.exports=v},300,[6,8,9,13,15,12,301,53,48,55,60]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.Commands=void 0;var n=t(r(d[1])),o=t(r(d[2]));!(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var f={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var p in t)if("default"!==p&&Object.prototype.hasOwnProperty.call(t,p)){var c=l?Object.getOwnPropertyDescriptor(t,p):null;c&&(c.get||c.set)?Object.defineProperty(f,p,c):f[p]=t[p]}f.default=t,o&&o.set(t,f)})(r(d[3]));function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}var f=(0,n.default)({supportedCommands:['openDrawer','closeDrawer']});e.Commands=f;var l=(0,o.default)('AndroidDrawerLayout');e.default=l},298,[6,87,192,56]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),c=r(d[2]),o=r(d[3]),s=r(d[4]),f=r(d[5]),u=r(d[6]),l=r(d[7]),p=["children","style","imageStyle","imageRef"];function y(t,n){var c=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),c.push.apply(c,o)}return c}function h(n){for(var c=1;c is only supported on iOS.'),0===h.Children.count(this.props.children)?null:(0,f.jsx)(l.default,{style:[this.props.style,R.container],nativeID:this.props.nativeID,backgroundColor:this.props.backgroundColor,children:this.props.children})}}]),b})(h.Component),R=y.create({container:{position:'absolute'}});m.exports=v},300,[6,8,9,13,15,12,301,53,48,56,60]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(0,t(r(d[1])).default)('InputAccessory',{interfaceOnly:!0,paperComponentName:'RCTInputAccessoryView',excludedPlatforms:['android']});e.default=n},301,[6,192]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),s=t(r(d[3])),u=t(r(d[4])),c=t(r(d[5])),f=t(r(d[6])),l=t(r(d[7])),y=r(d[8]),h=["behavior","children","contentContainerStyle","enabled","keyboardVerticalOffset","style"];function b(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);n&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,s)}return o}function p(t){for(var o=1;o10?o:10,update:{duration:o>10?o:10,type:O.Types[s]||'keyboard'}}),n.setState({bottom:c}))}else n.setState({bottom:0})},n.state={bottom:0},n.viewRef=j.createRef(),n}return(0,u.default)(R,[{key:"_relativeKeyboardHeight",value:function(t){var n=this._frame;if(!n||!t)return 0;var o=t.screenY-this.props.keyboardVerticalOffset;return Math.max(n.y+n.height-o,0)}},{key:"componentDidMount",value:function(){this._subscriptions=[_.addListener('keyboardDidHide',this._onKeyboardChange),_.addListener('keyboardDidShow',this._onKeyboardChange)]}},{key:"componentWillUnmount",value:function(){this._subscriptions.forEach(function(t){t.remove()})}},{key:"render",value:function(){var t=this.props,n=t.behavior,s=t.children,u=t.contentContainerStyle,c=t.enabled,f=(t.keyboardVerticalOffset,t.style),l=(0,o.default)(t,h),b=c?this.state.bottom:0;switch(n){case'height':var v;return null!=this._frame&&this.state.bottom>0&&(v={height:this._initialFrameHeight-b,flex:0}),(0,y.jsx)(w,p(p({ref:this.viewRef,style:k.compose(f,v),onLayout:this._onLayout},l),{},{children:s}));case'position':return(0,y.jsx)(w,p(p({ref:this.viewRef,style:f,onLayout:this._onLayout},l),{},{children:(0,y.jsx)(w,{style:k.compose(u,{bottom:b}),children:s})}));case'padding':return(0,y.jsx)(w,p(p({ref:this.viewRef,style:k.compose(f,{paddingBottom:b}),onLayout:this._onLayout},l),{},{children:s}));default:return(0,y.jsx)(w,p(p({ref:this.viewRef,onLayout:this._onLayout,style:f},l),{},{children:s}))}}}]),R})(j.Component);L.defaultProps={enabled:!0,keyboardVerticalOffset:0},m.exports=L},302,[6,26,58,8,9,13,15,12,53,262,263,48,55,60,85]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),s=t(r(d[3])),u=t(r(d[4])),c=t(r(d[5])),f=t(r(d[6])),l=t(r(d[7])),y=r(d[8]),h=["behavior","children","contentContainerStyle","enabled","keyboardVerticalOffset","style"];function b(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);n&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,s)}return o}function p(t){for(var o=1;o10?o:10,update:{duration:o>10?o:10,type:O.Types[s]||'keyboard'}}),n.setState({bottom:c}))}else n.setState({bottom:0})},n.state={bottom:0},n.viewRef=j.createRef(),n}return(0,u.default)(R,[{key:"_relativeKeyboardHeight",value:function(t){var n=this._frame;if(!n||!t)return 0;var o=t.screenY-this.props.keyboardVerticalOffset;return Math.max(n.y+n.height-o,0)}},{key:"componentDidMount",value:function(){this._subscriptions=[_.addListener('keyboardDidHide',this._onKeyboardChange),_.addListener('keyboardDidShow',this._onKeyboardChange)]}},{key:"componentWillUnmount",value:function(){this._subscriptions.forEach(function(t){t.remove()})}},{key:"render",value:function(){var t=this.props,n=t.behavior,s=t.children,u=t.contentContainerStyle,c=t.enabled,f=(t.keyboardVerticalOffset,t.style),l=(0,o.default)(t,h),b=c?this.state.bottom:0;switch(n){case'height':var v;return null!=this._frame&&this.state.bottom>0&&(v={height:this._initialFrameHeight-b,flex:0}),(0,y.jsx)(w,p(p({ref:this.viewRef,style:k.compose(f,v),onLayout:this._onLayout},l),{},{children:s}));case'position':return(0,y.jsx)(w,p(p({ref:this.viewRef,style:f,onLayout:this._onLayout},l),{},{children:(0,y.jsx)(w,{style:k.compose(u,{bottom:b}),children:s})}));case'padding':return(0,y.jsx)(w,p(p({ref:this.viewRef,style:k.compose(f,{paddingBottom:b}),onLayout:this._onLayout},l),{},{children:s}));default:return(0,y.jsx)(w,p(p({ref:this.viewRef,onLayout:this._onLayout,style:f},l),{},{children:s}))}}}]),R})(j.Component);L.defaultProps={enabled:!0,keyboardVerticalOffset:0},m.exports=L},302,[6,26,58,8,9,13,15,12,53,262,263,48,56,60,85]); __d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},303,[304]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),c=r(d[2]),o=r(d[3]),u=r(d[4]),s=r(d[5]);function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var l=r(d[6]),p=r(d[7]),h=(function(l){o(R,l);var p,h,v=(p=R,h=f(),function(){var t,n=s(p);if(h){var c=s(this).constructor;t=Reflect.construct(n,arguments,c)}else t=n.apply(this,arguments);return u(this,t)});function R(){return n(this,R),v.apply(this,arguments)}return c(R,[{key:"render",value:function(){var n=r(d[8]);return t.jsx(n,{style:[y.unimplementedView,this.props.style],children:this.props.children})}}]),R})(l.Component),y=p.create({unimplementedView:{}});m.exports=h},304,[53,8,9,13,15,12,55,60,85]); -__d(function(g,r,i,a,m,e,d){'use strict';var t,n=r(d[0]),o=n(r(d[1])),s=n(r(d[2])),l=n(r(d[3])),u=n(r(d[4])),p=n(r(d[5])),c=n(r(d[6])),f=(n(r(d[7])),n(r(d[8])),r(d[9])),h=n(r(d[10])),v=r(d[11]);function y(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}r(d[12]);var S=r(d[13]),R=(r(d[14]),r(d[15])),_=r(d[16]),x=r(d[17]),C=r(d[18]),w=r(d[19]).RootTagContext,b=0,k=(function(t){(0,u.default)(R,t);var n,o,S=(n=R,o=y(),function(){var t,s=(0,c.default)(n);if(o){var l=(0,c.default)(this).constructor;t=Reflect.construct(s,arguments,l)}else t=s.apply(this,arguments);return(0,p.default)(this,t)});function R(t){var n;return(0,s.default)(this,R),n=S.call(this,t),R._confirmProps(t),n._identifier=b++,n}return(0,l.default)(R,[{key:"componentDidMount",value:function(){}},{key:"componentWillUnmount",value:function(){this._eventSubscription&&this._eventSubscription.remove()}},{key:"UNSAFE_componentWillReceiveProps",value:function(t){R._confirmProps(t)}},{key:"render",value:function(){if(!0!==this.props.visible)return null;var t={backgroundColor:!0===this.props.transparent?'transparent':'white'},n=this.props.animationType||'none',o=this.props.presentationStyle;o||(o='fullScreen',!0===this.props.transparent&&(o='overFullScreen'));var s=this.props.children;return(0,v.jsx)(h.default,{animationType:n,presentationStyle:o,transparent:this.props.transparent,hardwareAccelerated:this.props.hardwareAccelerated,onRequestClose:this.props.onRequestClose,onShow:this.props.onShow,statusBarTranslucent:this.props.statusBarTranslucent,identifier:this._identifier,style:T.modal,onStartShouldSetResponder:this._shouldSetResponder,supportedOrientations:this.props.supportedOrientations,onOrientationChange:this.props.onOrientationChange,children:(0,v.jsx)(f.VirtualizedListContextResetter,{children:(0,v.jsx)(_.Context.Provider,{value:null,children:(0,v.jsx)(C,{style:[T.container,t],collapsable:!1,children:s})})})})}},{key:"_shouldSetResponder",value:function(){return!0}}],[{key:"_confirmProps",value:function(t){t.presentationStyle&&'overFullScreen'!==t.presentationStyle&&!0===t.transparent&&console.warn("Modal with '"+t.presentationStyle+"' presentation style and 'transparent' value is not supported.")}}]),R})(R.Component);k.defaultProps={visible:!0,hardwareAccelerated:!1},k.contextType=w;var P=S.getConstants().isRTL?'right':'left',T=x.create({modal:{position:'absolute'},container:(t={},(0,o.default)(t,P,0),(0,o.default)(t,"top",0),(0,o.default)(t,"flex",1),t)});m.exports=k},305,[6,26,8,9,13,15,12,128,306,251,307,53,308,310,48,55,257,60,85,309]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),c=r(d[2]),o=r(d[3]),u=r(d[4]),s=r(d[5]);function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var l=r(d[6]),p=r(d[7]),h=(function(l){o(R,l);var p,h,v=(p=R,h=f(),function(){var t,n=s(p);if(h){var c=s(this).constructor;t=Reflect.construct(n,arguments,c)}else t=n.apply(this,arguments);return u(this,t)});function R(){return n(this,R),v.apply(this,arguments)}return c(R,[{key:"render",value:function(){var n=r(d[8]);return t.jsx(n,{style:[y.unimplementedView,this.props.style],children:this.props.children})}}]),R})(l.Component),y=p.create({unimplementedView:{}});m.exports=h},304,[53,8,9,13,15,12,56,60,85]); +__d(function(g,r,i,a,m,e,d){'use strict';var t,n=r(d[0]),o=n(r(d[1])),s=n(r(d[2])),l=n(r(d[3])),u=n(r(d[4])),p=n(r(d[5])),c=n(r(d[6])),f=(n(r(d[7])),n(r(d[8])),r(d[9])),h=n(r(d[10])),v=r(d[11]);function y(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}r(d[12]);var S=r(d[13]),R=(r(d[14]),r(d[15])),_=r(d[16]),x=r(d[17]),C=r(d[18]),w=r(d[19]).RootTagContext,b=0,k=(function(t){(0,u.default)(R,t);var n,o,S=(n=R,o=y(),function(){var t,s=(0,c.default)(n);if(o){var l=(0,c.default)(this).constructor;t=Reflect.construct(s,arguments,l)}else t=s.apply(this,arguments);return(0,p.default)(this,t)});function R(t){var n;return(0,s.default)(this,R),n=S.call(this,t),R._confirmProps(t),n._identifier=b++,n}return(0,l.default)(R,[{key:"componentDidMount",value:function(){}},{key:"componentWillUnmount",value:function(){this._eventSubscription&&this._eventSubscription.remove()}},{key:"UNSAFE_componentWillReceiveProps",value:function(t){R._confirmProps(t)}},{key:"render",value:function(){if(!0!==this.props.visible)return null;var t={backgroundColor:!0===this.props.transparent?'transparent':'white'},n=this.props.animationType||'none',o=this.props.presentationStyle;o||(o='fullScreen',!0===this.props.transparent&&(o='overFullScreen'));var s=this.props.children;return(0,v.jsx)(h.default,{animationType:n,presentationStyle:o,transparent:this.props.transparent,hardwareAccelerated:this.props.hardwareAccelerated,onRequestClose:this.props.onRequestClose,onShow:this.props.onShow,statusBarTranslucent:this.props.statusBarTranslucent,identifier:this._identifier,style:T.modal,onStartShouldSetResponder:this._shouldSetResponder,supportedOrientations:this.props.supportedOrientations,onOrientationChange:this.props.onOrientationChange,children:(0,v.jsx)(f.VirtualizedListContextResetter,{children:(0,v.jsx)(_.Context.Provider,{value:null,children:(0,v.jsx)(C,{style:[T.container,t],collapsable:!1,children:s})})})})}},{key:"_shouldSetResponder",value:function(){return!0}}],[{key:"_confirmProps",value:function(t){t.presentationStyle&&'overFullScreen'!==t.presentationStyle&&!0===t.transparent&&console.warn("Modal with '"+t.presentationStyle+"' presentation style and 'transparent' value is not supported.")}}]),R})(R.Component);k.defaultProps={visible:!0,hardwareAccelerated:!1},k.contextType=w;var P=S.getConstants().isRTL?'right':'left',T=x.create({modal:{position:'absolute'},container:(t={},(0,o.default)(t,P,0),(0,o.default)(t,"top",0),(0,o.default)(t,"flex",1),t)});m.exports=k},305,[6,26,8,9,13,15,12,128,306,251,307,53,308,310,48,56,257,60,85,309]); __d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).get('ModalManager');e.default=n},306,[28]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o=(0,t(r(d[1])).default)('ModalHostView',{interfaceOnly:!0,paperComponentName:'RCTModalHostView'});e.default=o},307,[6,192]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),u=t(r(d[3])),s=t(r(d[4])),c=t(r(d[5])),l=t(r(d[6])),p=(t(r(d[7])),t(r(d[8]))),f=r(d[9]),h=t(r(d[10])),v=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=b(n);if(o&&o.has(t))return o.get(t);var u={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var l=s?Object.getOwnPropertyDescriptor(t,c):null;l&&(l.get||l.set)?Object.defineProperty(u,c,l):u[c]=t[c]}u.default=t,o&&o.set(t,u);return u})(r(d[11])),y=r(d[12]);function b(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(b=function(t){return t?o:n})(t)}function x(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var j=(function(t){(0,u.default)(b,t);var p,h,v=(p=b,h=x(),function(){var t,n=(0,c.default)(p);if(h){var o=(0,c.default)(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return(0,s.default)(this,t)});function b(){var t;(0,n.default)(this,b);for(var o=arguments.length,u=new Array(o),s=0;s=0){var s=c.Children.toArray(t.children).filter(function(t){return null!=t})[f].props.value;t.selectedValue!==s&&p(s,f)}else p(null,f);var b=n.current;null!=b&&f!==P&&('dropdown'===t.mode?l.Commands:u.Commands).setNativeSelectedPosition(b,f)},[t.children,t.onValueChange,t.selectedValue,t.mode,P]),k={accessibilityLabel:t.accessibilityLabel,enabled:t.enabled,items:v,onSelect:w,prompt:t.prompt,ref:n,selected:P,style:f.default.compose(h.pickerAndroid,t.style),backgroundColor:t.backgroundColor,testID:t.testID};return'dropdown'===t.mode?(0,b.jsx)(l.default,j({},k)):(0,b.jsx)(u.default,j({},k))}},313,[6,26,31,314,315,55,60,3,79,53]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.Commands=void 0;!(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=t[l]}f.default=t,o&&o.set(t,f)})(r(d[1]));var n=t(r(d[2])),o=t(r(d[3]));function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}var f=(0,n.default)({supportedCommands:['setNativeSelectedPosition']});e.Commands=f;var c=(0,o.default)('AndroidDropdownPicker');e.default=c},314,[6,55,87,166]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.Commands=void 0;!(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=l(n);if(o&&o.has(t))return o.get(t);var u={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var p=f?Object.getOwnPropertyDescriptor(t,c):null;p&&(p.get||p.set)?Object.defineProperty(u,c,p):u[c]=t[c]}u.default=t,o&&o.set(t,u)})(r(d[1]));var n=t(r(d[2])),o=t(r(d[3])),u=t(r(d[4])),f=t(r(d[5]));function l(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(l=function(t){return t?o:n})(t)}var c,p=(0,n.default)({supportedCommands:['setNativeSelectedPosition']});e.Commands=p,g.RN$Bridgeless?((0,u.default)('AndroidDialogPicker',f.default),c='AndroidDialogPicker'):c=(0,o.default)('AndroidDialogPicker');var s=c;e.default=s},315,[6,55,87,166,187,316]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),o=r(d[2]),c=r(d[3]),u=r(d[4]),f=r(d[5]),p=r(d[6]);function s(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);n&&(c=c.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,c)}return o}function l(n){for(var o=1;o=0){var s=c.Children.toArray(t.children).filter(function(t){return null!=t})[f].props.value;t.selectedValue!==s&&p(s,f)}else p(null,f);var b=n.current;null!=b&&f!==P&&('dropdown'===t.mode?l.Commands:u.Commands).setNativeSelectedPosition(b,f)},[t.children,t.onValueChange,t.selectedValue,t.mode,P]),k={accessibilityLabel:t.accessibilityLabel,enabled:t.enabled,items:v,onSelect:w,prompt:t.prompt,ref:n,selected:P,style:f.default.compose(h.pickerAndroid,t.style),backgroundColor:t.backgroundColor,testID:t.testID};return'dropdown'===t.mode?(0,b.jsx)(l.default,j({},k)):(0,b.jsx)(u.default,j({},k))}},313,[6,26,31,314,315,56,60,3,79,53]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.Commands=void 0;!(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=t[l]}f.default=t,o&&o.set(t,f)})(r(d[1]));var n=t(r(d[2])),o=t(r(d[3]));function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}var f=(0,n.default)({supportedCommands:['setNativeSelectedPosition']});e.Commands=f;var c=(0,o.default)('AndroidDropdownPicker');e.default=c},314,[6,56,87,166]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.Commands=void 0;!(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=l(n);if(o&&o.has(t))return o.get(t);var u={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var p=f?Object.getOwnPropertyDescriptor(t,c):null;p&&(p.get||p.set)?Object.defineProperty(u,c,p):u[c]=t[c]}u.default=t,o&&o.set(t,u)})(r(d[1]));var n=t(r(d[2])),o=t(r(d[3])),u=t(r(d[4])),f=t(r(d[5]));function l(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(l=function(t){return t?o:n})(t)}var c,p=(0,n.default)({supportedCommands:['setNativeSelectedPosition']});e.Commands=p,g.RN$Bridgeless?((0,u.default)('AndroidDialogPicker',f.default),c='AndroidDialogPicker'):c=(0,o.default)('AndroidDialogPicker');var s=c;e.default=s},315,[6,56,87,166,187,316]); __d(function(g,r,i,a,m,e,d){'use strict';var s={uiViewClassName:'AndroidDialogPicker',bubblingEventTypes:{},directEventTypes:{},validAttributes:{color:{process:r(d[0])},backgroundColor:{process:r(d[0])},enabled:!0,items:!0,prompt:!0,selected:!0,onSelect:!0}};m.exports=s},316,[79]); __d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},317,[304]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=t(r(d[1])),s=t(r(d[2])),o=t(r(d[3])),l=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var s=y(n);if(s&&s.has(t))return s.get(t);var o={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in t)if("default"!==u&&Object.prototype.hasOwnProperty.call(t,u)){var f=l?Object.getOwnPropertyDescriptor(t,u):null;f&&(f.get||f.set)?Object.defineProperty(o,u,f):o[u]=t[u]}o.default=t,s&&s.set(t,o);return o})(r(d[4])),u=t(r(d[5])),f=(r(d[6]),t(r(d[7]))),c=r(d[8]),p=t(r(d[9])),b=r(d[10]),P=["accessible","android_disableSound","android_ripple","children","delayLongPress","disabled","focusable","onLongPress","onPress","onPressIn","onPressOut","pressRetentionOffset","style","testOnly_pressed","unstable_pressDelay"];function y(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,s=new WeakMap;return(y=function(t){return t?s:n})(t)}function O(t,n){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),s.push.apply(s,o)}return s}function v(t){for(var s=1;s=21&&(null!=f||null!=p||null!=v)){var n=(0,l.processColor)(f);return(0,t.default)(null==n||'number'==typeof n,'Unexpected color given for Ripple color'),{viewProps:{nativeBackgroundAndroid:{type:'RippleAndroid',color:n,borderless:!0===p,rippleRadius:v}},onPressIn:function(n){var t,l,u=s.current;null!=u&&(o.Commands.setPressed(u,!0),o.Commands.hotspotUpdate(u,null!=(t=n.nativeEvent.locationX)?t:0,null!=(l=n.nativeEvent.locationY)?l:0))},onPressMove:function(n){var t,l,u=s.current;null!=u&&o.Commands.hotspotUpdate(u,null!=(t=n.nativeEvent.locationX)?t:0,null!=(l=n.nativeEvent.locationY)?l:0)},onPressOut:function(n){var t=s.current;null!=t&&o.Commands.setPressed(t,!1)}}}return null},[f,p,v,s])};var t=n(r(d[1])),o=r(d[2]),l=r(d[3]),u=(function(n,t){if(!t&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var o=s(t);if(o&&o.has(n))return o.get(n);var l={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in n)if("default"!==c&&Object.prototype.hasOwnProperty.call(n,c)){var f=u?Object.getOwnPropertyDescriptor(n,c):null;f&&(f.get||f.set)?Object.defineProperty(l,c,f):l[c]=n[c]}l.default=n,o&&o.set(n,l);return l})(r(d[4]));function s(n){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(s=function(n){return n?o:t})(n)}},319,[6,3,86,2,55]); -__d(function(g,r,i,a,m,e,d){'use strict';var n=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(n){var t=(0,l.useRef)(null);null!=n&&null==t.current&&(t.current=new u.default(n));var f=t.current;return(0,l.useEffect)(function(){null!=n&&null!=f&&f.configure(n)},[n,f]),(0,l.useEffect)(function(){if(null!=f)return function(){f.reset()}},[f]),null==f?null:f.getEventHandlers()};var u=n(r(d[1])),l=r(d[2])},320,[6,210,55]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),o=r(d[2]),c=r(d[3]),u=r(d[4]),s=r(d[5]);function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var l=r(d[6]),h=r(d[7]),p=r(d[8]),y=r(d[9]),v=(function(l){c(R,l);var h,v,b=(h=R,v=f(),function(){var t,n=s(h);if(v){var o=s(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return u(this,t)});function R(){return n(this,R),b.apply(this,arguments)}return o(R,[{key:"render",value:function(){return t.jsx(y,{style:[x.dummy,this.props.style],children:t.jsx(p,{style:x.text,children:"ProgressViewIOS is not supported on this platform!"})})}}]),R})(l.Component),x=h.create({dummy:{width:120,height:20,backgroundColor:'#ffbcbc',borderWidth:1,borderColor:'red',alignItems:'center',justifyContent:'center'},text:{color:'#333333',margin:5,fontSize:10}});m.exports=v},321,[53,8,9,13,15,12,55,60,194,85]); -__d(function(g,r,i,a,m,e,d){var t,n=r(d[0]),o=n(r(d[1])),f=n(r(d[2])),u=n(r(d[3])),c=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=O(n);if(o&&o.has(t))return o.get(t);var f={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var p=u?Object.getOwnPropertyDescriptor(t,c):null;p&&(p.get||p.set)?Object.defineProperty(f,c,p):f[c]=t[c]}f.default=t,o&&o.set(t,f);return f})(r(d[4])),p=n(r(d[5])),l=r(d[6]),s=["emulateUnlessSupported"];function O(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(O=function(t){return t?o:n})(t)}function b(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(t);n&&(f=f.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,f)}return o}function y(t){for(var n=1;n=21&&(null!=f||null!=p||null!=v)){var n=(0,l.processColor)(f);return(0,t.default)(null==n||'number'==typeof n,'Unexpected color given for Ripple color'),{viewProps:{nativeBackgroundAndroid:{type:'RippleAndroid',color:n,borderless:!0===p,rippleRadius:v}},onPressIn:function(n){var t,l,u=s.current;null!=u&&(o.Commands.setPressed(u,!0),o.Commands.hotspotUpdate(u,null!=(t=n.nativeEvent.locationX)?t:0,null!=(l=n.nativeEvent.locationY)?l:0))},onPressMove:function(n){var t,l,u=s.current;null!=u&&o.Commands.hotspotUpdate(u,null!=(t=n.nativeEvent.locationX)?t:0,null!=(l=n.nativeEvent.locationY)?l:0)},onPressOut:function(n){var t=s.current;null!=t&&o.Commands.setPressed(t,!1)}}}return null},[f,p,v,s])};var t=n(r(d[1])),o=r(d[2]),l=r(d[3]),u=(function(n,t){if(!t&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var o=s(t);if(o&&o.has(n))return o.get(n);var l={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in n)if("default"!==c&&Object.prototype.hasOwnProperty.call(n,c)){var f=u?Object.getOwnPropertyDescriptor(n,c):null;f&&(f.get||f.set)?Object.defineProperty(l,c,f):l[c]=n[c]}l.default=n,o&&o.set(n,l);return l})(r(d[4]));function s(n){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(s=function(n){return n?o:t})(n)}},319,[6,3,86,2,56]); +__d(function(g,r,i,a,m,e,d){'use strict';var n=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(n){var t=(0,l.useRef)(null);null!=n&&null==t.current&&(t.current=new u.default(n));var f=t.current;return(0,l.useEffect)(function(){null!=n&&null!=f&&f.configure(n)},[n,f]),(0,l.useEffect)(function(){if(null!=f)return function(){f.reset()}},[f]),null==f?null:f.getEventHandlers()};var u=n(r(d[1])),l=r(d[2])},320,[6,210,56]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),o=r(d[2]),c=r(d[3]),u=r(d[4]),s=r(d[5]);function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var l=r(d[6]),h=r(d[7]),p=r(d[8]),y=r(d[9]),v=(function(l){c(R,l);var h,v,b=(h=R,v=f(),function(){var t,n=s(h);if(v){var o=s(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return u(this,t)});function R(){return n(this,R),b.apply(this,arguments)}return o(R,[{key:"render",value:function(){return t.jsx(y,{style:[x.dummy,this.props.style],children:t.jsx(p,{style:x.text,children:"ProgressViewIOS is not supported on this platform!"})})}}]),R})(l.Component),x=h.create({dummy:{width:120,height:20,backgroundColor:'#ffbcbc',borderWidth:1,borderColor:'red',alignItems:'center',justifyContent:'center'},text:{color:'#333333',margin:5,fontSize:10}});m.exports=v},321,[53,8,9,13,15,12,56,60,194,85]); +__d(function(g,r,i,a,m,e,d){var t,n=r(d[0]),o=n(r(d[1])),f=n(r(d[2])),u=n(r(d[3])),c=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=O(n);if(o&&o.has(t))return o.get(t);var f={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var p=u?Object.getOwnPropertyDescriptor(t,c):null;p&&(p.get||p.set)?Object.defineProperty(f,c,p):f[c]=t[c]}f.default=t,o&&o.set(t,f);return f})(r(d[4])),p=n(r(d[5])),l=r(d[6]),s=["emulateUnlessSupported"];function O(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(O=function(t){return t?o:n})(t)}function b(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(t);n&&(f=f.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,f)}return o}function y(t){for(var n=1;n0&&this._nativeSwitchRef&&this._nativeSwitchRef.setNativeProps&&('android'===p.default.OS?y.Commands.setNativeValue(this._nativeSwitchRef,t.value):b.Commands.setValue(this._nativeSwitchRef,t.value))}}]),w})(h.Component),P=function(){return!1},V=function(){return!0};m.exports=k},327,[6,26,58,8,9,13,15,12,48,55,60,328,329,53]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.Commands=void 0;!(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var f={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var p=l?Object.getOwnPropertyDescriptor(t,c):null;p&&(p.get||p.set)?Object.defineProperty(f,c,p):f[c]=t[c]}f.default=t,o&&o.set(t,f)})(r(d[1]));var n=t(r(d[2])),o=t(r(d[3]));function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}var f=(0,n.default)({supportedCommands:['setNativeValue']});e.Commands=f;var l=(0,o.default)('AndroidSwitch',{interfaceOnly:!0});e.default=l},328,[6,55,87,192]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.Commands=void 0;!(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var u=o(n);if(u&&u.has(t))return u.get(t);var f={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var p in t)if("default"!==p&&Object.prototype.hasOwnProperty.call(t,p)){var c=l?Object.getOwnPropertyDescriptor(t,p):null;c&&(c.get||c.set)?Object.defineProperty(f,p,c):f[p]=t[p]}f.default=t,u&&u.set(t,f)})(r(d[1]));var n=t(r(d[2]));function o(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,u=new WeakMap;return(o=function(t){return t?u:n})(t)}var u=(0,t(r(d[3])).default)({supportedCommands:['setValue']});e.Commands=u;var f=(0,n.default)('Switch',{paperComponentName:'RCTSwitch',excludedPlatforms:['android']});e.default=f},329,[6,55,192,87]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),u=r(d[2]);function l(t,n){var u=Object.keys(t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);n&&(l=l.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),u.push.apply(u,l)}return u}function o(t){for(var u=1;u1&&(ee=t.jsx(O,{children:ee})),Q=t.jsx(c,o(o({ref:W},n),{},{autoCapitalize:$,blurOnSubmit:Y,children:ee,disableFullscreenUI:n.disableFullscreenUI,mostRecentEventCount:L,onBlur:function(t){I.blurInput(w.current),n.onBlur&&n.onBlur(t)},onChange:function(t){var u=t.nativeEvent.text;n.onChange&&n.onChange(t),n.onChangeText&&n.onChangeText(u),null!=w.current&&(z(u),B(t.nativeEvent.eventCount))},onFocus:function(t){I.focusInput(w.current),n.onFocus&&n.onFocus(t)},onScroll:function(t){n.onScroll&&n.onScroll(t)},onSelectionChange:function(t){n.onSelectionChange&&n.onSelectionChange(t),null!=w.current&&q({selection:t.nativeEvent.selection,mostRecentEventCount:L})},selection:E,style:Z,text:H,textBreakStrategy:n.textBreakStrategy})),t.jsx(h.Provider,{value:!0,children:t.jsx(C,o(o({onLayout:n.onLayout,onPress:function(t){(n.editable||void 0===n.editable)&&S(w.current).focus()},onPressIn:n.onPressIn,onPressOut:n.onPressOut,accessible:n.accessible,accessibilityLabel:n.accessibilityLabel,accessibilityRole:n.accessibilityRole,accessibilityState:n.accessibilityState,nativeID:n.nativeID,testID:n.testID},X),{},{children:Q}))})}c=r(d[14]).default,s=r(d[14]).Commands;var E=b.forwardRef(function(n,u){return t.jsx(w,o(o({},n),{},{forwardedRef:u}))});E.defaultProps={allowFontScaling:!0,rejectResponderTermination:!0,underlineColorAndroid:'transparent'},E.propTypes=v,E.State={currentlyFocusedInput:I.currentlyFocusedInput,currentlyFocusedField:I.currentlyFocusedField,focusTextInput:I.focusTextInput,blurTextInput:I.blurTextInput};y.create({multilineInput:{paddingTop:5}});m.exports=E},330,[53,26,31,331,48,55,60,194,189,164,332,3,208,247,165]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),l=t(r(d[3])),u=t(r(d[4])),c=t(r(d[5])),s=t(r(d[6])),f=t(r(d[7])),p=t(r(d[8])),h=w(r(d[9])),v=t(r(d[10])),y=w(r(d[11])),b=w(r(d[12])),C=r(d[13]),O=["disabled","ios_backgroundColor","onChange","onValueChange","style","thumbColor","trackColor","value"];function R(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(R=function(t){return t?o:n})(t)}function w(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=R(n);if(o&&o.has(t))return o.get(t);var l={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var s=u?Object.getOwnPropertyDescriptor(t,c):null;s&&(s.get||s.set)?Object.defineProperty(l,c,s):l[c]=t[c]}return l.default=t,o&&o.set(t,l),l}function j(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);n&&(l=l.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,l)}return o}function _(t){for(var o=1;o0&&this._nativeSwitchRef&&this._nativeSwitchRef.setNativeProps&&('android'===p.default.OS?y.Commands.setNativeValue(this._nativeSwitchRef,t.value):b.Commands.setValue(this._nativeSwitchRef,t.value))}}]),w})(h.Component),P=function(){return!1},V=function(){return!0};m.exports=k},327,[6,26,58,8,9,13,15,12,48,56,60,328,329,53]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.Commands=void 0;!(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var f={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var p=l?Object.getOwnPropertyDescriptor(t,c):null;p&&(p.get||p.set)?Object.defineProperty(f,c,p):f[c]=t[c]}f.default=t,o&&o.set(t,f)})(r(d[1]));var n=t(r(d[2])),o=t(r(d[3]));function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}var f=(0,n.default)({supportedCommands:['setNativeValue']});e.Commands=f;var l=(0,o.default)('AndroidSwitch',{interfaceOnly:!0});e.default=l},328,[6,56,87,192]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.Commands=void 0;!(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var u=o(n);if(u&&u.has(t))return u.get(t);var f={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var p in t)if("default"!==p&&Object.prototype.hasOwnProperty.call(t,p)){var c=l?Object.getOwnPropertyDescriptor(t,p):null;c&&(c.get||c.set)?Object.defineProperty(f,p,c):f[p]=t[p]}f.default=t,u&&u.set(t,f)})(r(d[1]));var n=t(r(d[2]));function o(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,u=new WeakMap;return(o=function(t){return t?u:n})(t)}var u=(0,t(r(d[3])).default)({supportedCommands:['setValue']});e.Commands=u;var f=(0,n.default)('Switch',{paperComponentName:'RCTSwitch',excludedPlatforms:['android']});e.default=f},329,[6,56,192,87]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),u=r(d[2]);function l(t,n){var u=Object.keys(t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);n&&(l=l.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),u.push.apply(u,l)}return u}function o(t){for(var u=1;u1&&(ee=t.jsx(O,{children:ee})),Q=t.jsx(c,o(o({ref:W},n),{},{autoCapitalize:$,blurOnSubmit:Y,children:ee,disableFullscreenUI:n.disableFullscreenUI,mostRecentEventCount:L,onBlur:function(t){I.blurInput(w.current),n.onBlur&&n.onBlur(t)},onChange:function(t){var u=t.nativeEvent.text;n.onChange&&n.onChange(t),n.onChangeText&&n.onChangeText(u),null!=w.current&&(z(u),B(t.nativeEvent.eventCount))},onFocus:function(t){I.focusInput(w.current),n.onFocus&&n.onFocus(t)},onScroll:function(t){n.onScroll&&n.onScroll(t)},onSelectionChange:function(t){n.onSelectionChange&&n.onSelectionChange(t),null!=w.current&&q({selection:t.nativeEvent.selection,mostRecentEventCount:L})},selection:E,style:Z,text:H,textBreakStrategy:n.textBreakStrategy})),t.jsx(h.Provider,{value:!0,children:t.jsx(C,o(o({onLayout:n.onLayout,onPress:function(t){(n.editable||void 0===n.editable)&&S(w.current).focus()},onPressIn:n.onPressIn,onPressOut:n.onPressOut,accessible:n.accessible,accessibilityLabel:n.accessibilityLabel,accessibilityRole:n.accessibilityRole,accessibilityState:n.accessibilityState,nativeID:n.nativeID,testID:n.testID},X),{},{children:Q}))})}c=r(d[14]).default,s=r(d[14]).Commands;var E=b.forwardRef(function(n,u){return t.jsx(w,o(o({},n),{},{forwardedRef:u}))});E.defaultProps={allowFontScaling:!0,rejectResponderTermination:!0,underlineColorAndroid:'transparent'},E.propTypes=v,E.State={currentlyFocusedInput:I.currentlyFocusedInput,currentlyFocusedField:I.currentlyFocusedField,focusTextInput:I.focusTextInput,blurTextInput:I.blurTextInput};y.create({multilineInput:{paddingTop:5}});m.exports=E},330,[53,26,31,331,48,56,60,194,189,164,332,3,208,247,165]); __d(function(g,r,i,a,m,e,d){'use strict';var n=r(d[0]);function o(n,o){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(n);o&&(l=l.filter(function(o){return Object.getOwnPropertyDescriptor(n,o).enumerable})),t.push.apply(t,l)}return t}function t(t){for(var l=1;l=t.length?{done:!0}:{done:!1,value:t[s++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function O(t,n){if(t){if("string"==typeof t)return P(t,n);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?P(t,n):void 0}}function P(t,n){(null==n||n>t.length)&&(n=t.length);for(var o=0,s=new Array(n);o=t.length?{done:!0}:{done:!1,value:t[s++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function O(t,n){if(t){if("string"==typeof t)return P(t,n);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?P(t,n):void 0}}function P(t,n){(null==n||n>t.length)&&(n=t.length);for(var o=0,s=new Array(n);o=t.length?{done:!0}:{done:!1,value:t[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(t,n){if(t){if("string"==typeof t)return b(t,n);var u=Object.prototype.toString.call(t).slice(8,-1);return"Object"===u&&t.constructor&&(u=t.constructor.name),"Map"===u||"Set"===u?Array.from(t):"Arguments"===u||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(u)?b(t,n):void 0}}function b(t,n){(null==n||n>t.length)&&(n=t.length);for(var u=0,o=new Array(n);u=0;n--)if(f[n]())return;u.exitApp()});var u={exitApp:function(){t.default&&t.default.invokeDefaultBackPressHandler()},addEventListener:function(n,t){return-1===f.indexOf(t)&&f.push(t),{remove:function(){return u.removeEventListener(n,t)}}},removeEventListener:function(n,t){-1!==f.indexOf(t)&&f.splice(f.indexOf(t),1)}};m.exports=u},349,[6,350,7]); __d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof WeakMap)return null;var u=new WeakMap,o=new WeakMap;return(t=function(t){return t?o:u})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,u){if(!u&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var o=t(u);if(o&&o.has(n))return o.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,o&&o.set(n,f);return f})(r(d[0])).get('DeviceEventManager');e.default=n},350,[28]); __d(function(g,r,i,a,m,e,d){'use strict';var t,s=r(d[0]);t=r(d[1]),g.RN$Bridgeless?g.RN$stopSurface=t.stopSurface:s.BatchedBridge.registerCallableModule('ReactFabric',t),m.exports=t},351,[161,352]); -__d(function(e,n,t,r,l,a,i){"use strict";var o=n(i[0]);n(i[1]);var u=n(i[2]),s=n(i[3]),c=n(i[4]);function f(e,n,t,r,l,a,i,o,u){var s=Array.prototype.slice.call(arguments,3);try{n.apply(t,s)}catch(e){this.onError(e)}}var d=!1,p=null,h=!1,g=null,m={onError:function(e){d=!0,p=e}};function v(e,n,t,r,l,a,i,o,u){d=!1,p=null,f.apply(m,arguments)}function y(e,n,t,r,l,a,i,o,u){if(v.apply(this,arguments),d){if(!d)throw Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.");var s=p;d=!1,p=null,h||(h=!0,g=s)}}var b=null,S=null,k=null;function w(e,n,t){var r=e.type||"unknown-event";e.currentTarget=k(t),y(r,n,void 0,e),e.currentTarget=null}function E(e){var n=e._dispatchListeners,t=e._dispatchInstances;if(Array.isArray(n))throw Error("executeDirectDispatch(...): Invalid `event`.");return e.currentTarget=n?k(t):null,n=n?n(e):null,e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,n}function x(){return!0}function P(){return!1}function R(e,n,t,r){for(var l in this.dispatchConfig=e,this._targetInst=n,this.nativeEvent=t,this._dispatchInstances=this._dispatchListeners=null,e=this.constructor.Interface)e.hasOwnProperty(l)&&((n=e[l])?this[l]=n(t):"target"===l?this.target=r:this[l]=t[l]);return this.isDefaultPrevented=(null!=t.defaultPrevented?t.defaultPrevented:!1===t.returnValue)?x:P,this.isPropagationStopped=P,this}function T(e,n,t,r){if(this.eventPool.length){var l=this.eventPool.pop();return this.call(l,e,n,t,r),l}return new this(e,n,t,r)}function _(e){if(!(e instanceof this))throw Error("Trying to release an event instance into a pool of a different type.");e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function N(e){e.getPooled=T,e.eventPool=[],e.release=_}o(R.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=x)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=x)},persist:function(){this.isPersistent=x},isPersistent:P,destructor:function(){var e,n=this.constructor.Interface;for(e in n)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=P,this._dispatchInstances=this._dispatchListeners=null}}),R.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},R.extend=function(e){function n(){}function t(){return r.apply(this,arguments)}var r=this;n.prototype=r.prototype;var l=new n;return o(l,t.prototype),t.prototype=l,t.prototype.constructor=t,t.Interface=o({},r.Interface,e),t.extend=r.extend,N(t),t},N(R);var C=R.extend({touchHistory:function(){return null}});function z(e){return"topTouchStart"===e}function I(e){return"topTouchMove"===e}var L=["topTouchStart"],A=["topTouchMove"],U=["topTouchCancel","topTouchEnd"],M=[],D={touchBank:M,numberActiveTouches:0,indexOfSingleActiveTouch:-1,mostRecentTimeStamp:0};function H(e){return e.timeStamp||e.timestamp}function F(e){if(null==(e=e.identifier))throw Error("Touch object is missing identifier.");return e}function Q(e){var n=F(e),t=M[n];t?(t.touchActive=!0,t.startPageX=e.pageX,t.startPageY=e.pageY,t.startTimeStamp=H(e),t.currentPageX=e.pageX,t.currentPageY=e.pageY,t.currentTimeStamp=H(e),t.previousPageX=e.pageX,t.previousPageY=e.pageY,t.previousTimeStamp=H(e)):(t={touchActive:!0,startPageX:e.pageX,startPageY:e.pageY,startTimeStamp:H(e),currentPageX:e.pageX,currentPageY:e.pageY,currentTimeStamp:H(e),previousPageX:e.pageX,previousPageY:e.pageY,previousTimeStamp:H(e)},M[n]=t),D.mostRecentTimeStamp=H(e)}function B(e){var n=M[F(e)];n&&(n.touchActive=!0,n.previousPageX=n.currentPageX,n.previousPageY=n.currentPageY,n.previousTimeStamp=n.currentTimeStamp,n.currentPageX=e.pageX,n.currentPageY=e.pageY,n.currentTimeStamp=H(e),D.mostRecentTimeStamp=H(e))}function j(e){var n=M[F(e)];n&&(n.touchActive=!1,n.previousPageX=n.currentPageX,n.previousPageY=n.currentPageY,n.previousTimeStamp=n.currentTimeStamp,n.currentPageX=e.pageX,n.currentPageY=e.pageY,n.currentTimeStamp=H(e),D.mostRecentTimeStamp=H(e))}var W={recordTouchTrack:function(e,n){if(I(e))n.changedTouches.forEach(B);else if(z(e))n.changedTouches.forEach(Q),D.numberActiveTouches=n.touches.length,1===D.numberActiveTouches&&(D.indexOfSingleActiveTouch=n.touches[0].identifier);else if(("topTouchEnd"===e||"topTouchCancel"===e)&&(n.changedTouches.forEach(j),D.numberActiveTouches=n.touches.length,1===D.numberActiveTouches))for(e=0;e component.");return t=Nn,Nn+=2,{node:gn(t,"RCTRawText",n,{text:e},r)}}var In=setTimeout,Ln=clearTimeout;function An(e){var n=e.node,t=an(null,Ge,{style:{display:"none"}},e.canonical.viewConfig.validAttributes);return{node:bn(n,t),canonical:e.canonical}}function Un(e,n,t){return n="",t&&(n=" (created by "+t+")"),"\n in "+(e||"Unknown")+n}function Mn(e,n){return e?Un(e.displayName||e.name||null,n,null):""}var Dn=[],Hn=-1;function Fn(e){return{current:e}}function Qn(e){0>Hn||(e.current=Dn[Hn],Dn[Hn]=null,Hn--)}function Bn(e,n){Dn[++Hn]=e.current,e.current=n}var jn={},Wn=Fn(jn),On=Fn(!1),Vn=jn;function Yn(e,n){var t=e.type.contextTypes;if(!t)return jn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l,a={};for(l in t)a[l]=n[l];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=a),a}function qn(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Xn(){Qn(On),Qn(Wn)}function $n(e,n,t){if(Wn.current!==jn)throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");Bn(Wn,n),Bn(On,t)}function Gn(e,n,t){var r=e.stateNode;if(e=n.childContextTypes,"function"!=typeof r.getChildContext)return t;for(var l in r=r.getChildContext())if(!(l in e))throw Error((We(n)||"Unknown")+'.getChildContext(): key "'+l+'" is not defined in childContextTypes.');return o({},t,r)}function Kn(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||jn,Vn=Wn.current,Bn(Wn,e),Bn(On,On.current),!0}function Jn(e,n,t){var r=e.stateNode;if(!r)throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");t?(e=Gn(e,n,Vn),r.__reactInternalMemoizedMergedChildContext=e,Qn(On),Qn(Wn),Bn(Wn,e)):Qn(On),Bn(On,t)}var Zn=null,et=null;(0,c.unstable_now)();var nt=8;function tt(e){if(0!=(1&e))return nt=15,1;if(0!=(2&e))return nt=14,2;if(0!=(4&e))return nt=13,4;var n=24&e;return 0!==n?(nt=12,n):0!=(32&e)?(nt=11,32):0!==(n=192&e)?(nt=10,n):0!=(256&e)?(nt=9,256):0!==(n=3584&e)?(nt=8,n):0!=(4096&e)?(nt=7,4096):0!==(n=4186112&e)?(nt=6,n):0!==(n=62914560&e)?(nt=5,n):67108864&e?(nt=4,67108864):0!=(134217728&e)?(nt=3,134217728):0!==(n=805306368&e)?(nt=2,n):0!=(1073741824&e)?(nt=1,1073741824):(nt=8,e)}function rt(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function lt(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error("Invalid update priority: "+e+". This is a bug in React.")}}function at(e,n){var t=e.pendingLanes;if(0===t)return nt=0;var r=0,l=0,a=e.expiredLanes,i=e.suspendedLanes,o=e.pingedLanes;if(0!==a)r=a,l=nt=15;else if(0!==(a=134217727&t)){var u=a&~i;0!==u?(r=tt(u),l=nt):0!==(o&=a)&&(r=tt(o),l=nt)}else 0!==(a=t&~i)?(r=tt(a),l=nt):0!==o&&(r=tt(o),l=nt);if(0===r)return 0;if(r=t&((0>(r=31-ft(r))?0:1<t;t++)n.push(e);return n}function ct(e,n,t){e.pendingLanes|=n;var r=n-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[n=31-ft(n)]=t}var ft=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(dt(e)/pt|0)|0},dt=Math.log,pt=Math.LN2;var ht=c.unstable_runWithPriority,gt=c.unstable_scheduleCallback,mt=c.unstable_cancelCallback,vt=c.unstable_shouldYield,yt=c.unstable_requestPaint,bt=c.unstable_now,St=c.unstable_getCurrentPriorityLevel,kt=c.unstable_ImmediatePriority,wt=c.unstable_UserBlockingPriority,Et=c.unstable_NormalPriority,xt=c.unstable_LowPriority,Pt=c.unstable_IdlePriority,Rt={},Tt=void 0!==yt?yt:function(){},_t=null,Nt=null,Ct=!1,zt=bt(),It=1e4>zt?bt:function(){return bt()-zt};function Lt(){switch(St()){case kt:return 99;case wt:return 98;case Et:return 97;case xt:return 96;case Pt:return 95;default:throw Error("Unknown priority level.")}}function At(e){switch(e){case 99:return kt;case 98:return wt;case 97:return Et;case 96:return xt;case 95:return Pt;default:throw Error("Unknown priority level.")}}function Ut(e,n){return e=At(e),ht(e,n)}function Mt(e,n,t){return e=At(e),gt(e,n,t)}function Dt(){if(null!==Nt){var e=Nt;Nt=null,mt(e)}Ht()}function Ht(){if(!Ct&&null!==_t){Ct=!0;var e=0;try{var n=_t;Ut(99,function(){for(;eg?(m=h,h=null):m=h.sibling;var v=d(l,h,o[g],u);if(null===v){null===h&&(h=m);break}e&&h&&null===v.alternate&&n(l,h),i=a(v,i,g),null===c?s=v:c.sibling=v,c=v,h=m}if(g===o.length)return t(l,h),s;if(null===h){for(;gg?(m=h,h=null):m=h.sibling;var y=d(l,h,v.value,u);if(null===y){null===h&&(h=m);break}e&&h&&null===y.alternate&&n(l,h),i=a(y,i,g),null===c?s=y:c.sibling=y,c=y,h=m}if(v.done)return t(l,h),s;if(null===h){for(;!v.done;g++,v=o.next())null!==(v=f(l,v.value,u))&&(i=a(v,i,g),null===c?s=v:c.sibling=v,c=v);return s}for(h=r(l,h);!v.done;g++,v=o.next())null!==(v=p(h,l,g,v.value,u))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),i=a(v,i,g),null===c?s=v:c.sibling=v,c=v);return e&&h.forEach(function(e){return n(l,e)}),s}return function(e,r,a,o){var u="object"==typeof a&&null!==a&&a.type===Re&&null===a.key;u&&(a=a.props.children);var s="object"==typeof a&&null!==a;if(s)switch(a.$$typeof){case xe:e:{for(s=a.key,u=r;null!==u;){if(u.key===s){switch(u.tag){case 7:if(a.type===Re){t(e,u.sibling),(r=l(u,a.props.children)).return=e,e=r;break e}break;default:if(u.elementType===a.type){t(e,u.sibling),(r=l(u,a.props)).ref=mr(e,u,a),r.return=e,e=r;break e}}t(e,u);break}n(e,u),u=u.sibling}a.type===Re?((r=Ei(a.props.children,e.mode,o,a.key)).return=e,e=r):((o=wi(a.type,a.key,a.props,null,e.mode,o)).ref=mr(e,r,a),o.return=e,e=o)}return i(e);case Pe:e:{for(u=a.key;null!==r;){if(r.key===u){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){t(e,r.sibling),(r=l(r,a.children||[])).return=e,e=r;break e}t(e,r);break}n(e,r),r=r.sibling}(r=Ri(a,e.mode,o)).return=e,e=r}return i(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(t(e,r.sibling),(r=l(r,a)).return=e,e=r):(t(e,r),(r=Pi(a,e.mode,o)).return=e,e=r),i(e);if(gr(a))return h(e,r,a,o);if(je(a))return g(e,r,a,o);if(s&&vr(e,a),void 0===a&&!u)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error((We(e.type)||"Component")+"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.")}return t(e,r)}}var br=yr(!0),Sr=yr(!1),kr={},wr=Fn(kr),Er=Fn(kr),xr=Fn(kr);function Pr(e){if(e===kr)throw Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");return e}function Rr(e,n){Bn(xr,n),Bn(Er,e),Bn(wr,kr),Qn(wr),Bn(wr,{isInAParentText:!1})}function Tr(){Qn(wr),Qn(Er),Qn(xr)}function _r(e){Pr(xr.current);var n=Pr(wr.current),t=e.type;t="AndroidTextInput"===t||"RCTMultilineTextInputView"===t||"RCTSinglelineTextInputView"===t||"RCTText"===t||"RCTVirtualText"===t,n!==(t=n.isInAParentText!==t?{isInAParentText:t}:n)&&(Bn(Er,e),Bn(wr,t))}function Nr(e){Er.current===e&&(Qn(wr),Qn(Er))}var Cr=Fn(0);function zr(e){for(var n=e;null!==n;){if(13===n.tag){var t=n.memoizedState;if(null!==t&&(null===t.dehydrated||pn()||pn()))return n}else if(19===n.tag&&void 0!==n.memoizedProps.revealOrder){if(0!=(64&n.flags))return n}else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Ir=[];function Lr(){for(var e=0;ea))throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");a+=1,Fr=Hr=null,n.updateQueue=null,Ar.current=vl,e=t(r,l)}while(Br)}if(Ar.current=hl,n=null!==Hr&&null!==Hr.next,Mr=0,Fr=Hr=Dr=null,Qr=!1,n)throw Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement.");return e}function Vr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Fr?Dr.memoizedState=Fr=e:Fr=Fr.next=e,Fr}function Yr(){if(null===Hr){var e=Dr.alternate;e=null!==e?e.memoizedState:null}else e=Hr.next;var n=null===Fr?Dr.memoizedState:Fr.next;if(null!==n)Fr=n,Hr=e;else{if(null===e)throw Error("Rendered more hooks than during the previous render.");e={memoizedState:(Hr=e).memoizedState,baseState:Hr.baseState,baseQueue:Hr.baseQueue,queue:Hr.queue,next:null},null===Fr?Dr.memoizedState=Fr=e:Fr=Fr.next=e}return Fr}function qr(e,n){return"function"==typeof n?n(e):n}function Xr(e){var n=Yr(),t=n.queue;if(null===t)throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");t.lastRenderedReducer=e;var r=Hr,l=r.baseQueue,a=t.pending;if(null!==a){if(null!==l){var i=l.next;l.next=a.next,a.next=i}r.baseQueue=l=a,t.pending=null}if(null!==l){l=l.next,r=r.baseState;var o=i=a=null,u=l;do{var s=u.lane;if((Mr&s)===s)null!==o&&(o=o.next={lane:0,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null}),r=u.eagerReducer===e?u.eagerState:e(r,u.action);else{var c={lane:s,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null};null===o?(i=o=c,a=r):o=o.next=c,Dr.lanes|=s,ba|=s}u=u.next}while(null!==u&&u!==l);null===o?a=r:o.next=i,Qt(r,n.memoizedState)||(bl=!0),n.memoizedState=r,n.baseState=a,n.baseQueue=o,t.lastRenderedState=r}return[n.memoizedState,t.dispatch]}function $r(e){var n=Yr(),t=n.queue;if(null===t)throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");t.lastRenderedReducer=e;var r=t.dispatch,l=t.pending,a=n.memoizedState;if(null!==l){t.pending=null;var i=l=l.next;do{a=e(a,i.action),i=i.next}while(i!==l);Qt(a,n.memoizedState)||(bl=!0),n.memoizedState=a,null===n.baseQueue&&(n.baseState=a),t.lastRenderedState=a}return[a,r]}function Gr(e,n,t){var r=n._getVersion;r=r(n._source);var l=n._workInProgressVersionSecondary;if(null!==l?e=l===r:(e=e.mutableReadLanes,(e=(Mr&e)===e)&&(n._workInProgressVersionSecondary=r,Ir.push(n))),e)return t(n._source);throw Ir.push(n),Error("Cannot read from mutable source during the current render without tearing. This is a bug in React. Please file an issue.")}function Kr(e,n,t,r){var l=fa;if(null===l)throw Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");var a=n._getVersion,i=a(n._source),o=Ar.current,u=o.useState(function(){return Gr(l,n,t)}),s=u[1],c=u[0];u=Fr;var f=e.memoizedState,d=f.refs,p=d.getSnapshot,h=f.source;f=f.subscribe;var g=Dr;return e.memoizedState={refs:d,source:n,subscribe:r},o.useEffect(function(){d.getSnapshot=t,d.setSnapshot=s;var e=a(n._source);if(!Qt(i,e)){e=t(n._source),Qt(c,e)||(s(e),e=Wa(g),l.mutableReadLanes|=e&l.pendingLanes),e=l.mutableReadLanes,l.entangledLanes|=e;for(var r=l.entanglements,o=e;0t?98:t,function(){e(!0)}),Ut(97xa&&(n.flags|=64,l=!0,Ol(r,!1),n.lanes=33554432)}else{if(!l)if(null!==(e=zr(a))){if(n.flags|=64,l=!0,null!==(e=e.updateQueue)&&(n.updateQueue=e,n.flags|=4),Ol(r,!0),null===r.tail&&"hidden"===r.tailMode&&!a.alternate)return null!==(n=n.lastEffect=r.lastEffect)&&(n.nextEffect=null),null}else 2*It()-r.renderingStartTime>xa&&1073741824!==t&&(n.flags|=64,l=!0,Ol(r,!1),n.lanes=33554432);r.isBackwards?(a.sibling=n.child,n.child=a):(null!==(e=r.last)?e.sibling=a:n.child=a,r.last=a)}return null!==r.tail?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.lastEffect=n.lastEffect,r.renderingStartTime=It(),e.sibling=null,n=Cr.current,Bn(Cr,l?1&n|2:1&n),e):null;case 23:case 24:return Ka(),null!==e&&null!==e.memoizedState!=(null!==n.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(n.flags|=4),null}throw Error("Unknown unit of work tag ("+n.tag+"). This error is likely caused by a bug in React. Please file an issue.")}function Yl(e){switch(e.tag){case 1:qn(e.type)&&Xn();var n=e.flags;return 8192&n?(e.flags=-8193&n|64,e):null;case 3:if(Tr(),Qn(On),Qn(Wn),Lr(),0!=(64&(n=e.flags)))throw Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue.");return e.flags=-8193&n|64,e;case 5:return Nr(e),null;case 13:return Qn(Cr),8192&(n=e.flags)?(e.flags=-8193&n|64,e):null;case 19:return Qn(Cr),null;case 4:return Tr(),null;case 10:return Gt(e),null;case 23:case 24:return Ka(),null;default:return null}}function ql(e,n){try{var t="",r=n;do{t+=Wt(r),r=r.return}while(r);var l=t}catch(e){l="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:n,stack:l}}if(Cl=function(e,n,t,r){for(var l=n.child;null!==l;){if(5===l.tag){var a=l.stateNode;t&&r&&(a=An(a)),kn(e.node,a.node)}else if(6===l.tag){if(a=l.stateNode,t&&r)throw Error("Not yet implemented.");kn(e.node,a.node)}else if(4!==l.tag){if(13===l.tag&&0!=(4&l.flags)&&(a=null!==l.memoizedState)){var i=l.child;if(null!==i&&(null!==i.child&&(i.child.return=i,Cl(e,i,!0,a)),null!==(a=i.sibling))){a.return=l,l=a;continue}}if(null!==l.child){l.child.return=l,l=l.child;continue}}if(l===n)break;for(;null===l.sibling;){if(null===l.return||l.return===n)return;l=l.return}l.sibling.return=l.return,l=l.sibling}},zl=function(e){var n=e.stateNode;if(null!==e.firstEffect){var t=n.containerInfo,r=Sn(t);Wl(r,e,!1,!1),n.pendingChildren=r,e.flags|=4,En(t,r)}},Il=function(e,n,t,r){t=e.stateNode;var l=e.memoizedProps;if((e=null===n.firstEffect)&&l===r)n.stateNode=t;else{var a=n.stateNode;Pr(wr.current);var i=null;l!==r&&(l=an(null,l,r,a.canonical.viewConfig.validAttributes),a.canonical.currentProps=r,i=l),e&&null===i?n.stateNode=t:(r=i,a=t.node,t={node:e?null!==r?bn(a,r):mn(a):null!==r?yn(a,r):vn(a),canonical:t.canonical},n.stateNode=t,e?n.flags|=4:Cl(t,n,!1,!1))}},Ll=function(e,n,t,r){t!==r?(e=Pr(xr.current),t=Pr(wr.current),n.stateNode=zn(r,e,t,n),n.flags|=4):n.stateNode=e.stateNode},"function"!=typeof u.ReactFiberErrorDialog.showErrorDialog)throw Error("Expected ReactFiberErrorDialog.showErrorDialog to be a function.");function Xl(e,n){try{!1!==u.ReactFiberErrorDialog.showErrorDialog({componentStack:null!==n.stack?n.stack:"",error:n.value,errorBoundary:null!==e&&1===e.tag?e.stateNode:null})&&console.error(n.value)}catch(e){setTimeout(function(){throw e})}}var $l="function"==typeof WeakMap?WeakMap:Map;function Gl(e,n,t){(t=rr(-1,t)).tag=3,t.payload={element:null};var r=n.value;return t.callback=function(){Ra||(Ra=!0,Ta=r),Xl(e,n)},t}function Kl(e,n,t){(t=rr(-1,t)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var l=n.value;t.payload=function(){return Xl(e,n),r(l)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(t.callback=function(){"function"!=typeof r&&(null===_a?_a=new Set([this]):_a.add(this),Xl(e,n));var t=n.stack;this.componentDidCatch(n.value,{componentStack:null!==t?t:""})}),t}var Jl="function"==typeof WeakSet?WeakSet:Set;function Zl(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){hi(e,n)}else n.current=null}function ea(e,n){switch(n.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&n.flags&&null!==e){var t=e.memoizedProps,r=e.memoizedState;n=(e=n.stateNode).getSnapshotBeforeUpdate(n.elementType===n.type?t:Ot(n.type,t),r),e.__reactInternalSnapshotBeforeUpdate=n}return;case 3:return;case 5:case 6:case 4:case 17:return}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}function na(e,n,t){switch(t.tag){case 0:case 11:case 15:case 22:if(null!==(n=null!==(n=t.updateQueue)?n.lastEffect:null)){e=n=n.next;do{if(3==(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==n)}if(null!==(n=null!==(n=t.updateQueue)?n.lastEffect:null)){e=n=n.next;do{var l=e;r=l.next,0!=(4&(l=l.tag))&&0!=(1&l)&&(fi(t,e),ci(t,e)),e=r}while(e!==n)}return;case 1:return e=t.stateNode,4&t.flags&&(null===n?e.componentDidMount():(r=t.elementType===t.type?n.memoizedProps:Ot(t.type,n.memoizedProps),e.componentDidUpdate(r,n.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(n=t.updateQueue)&&or(t,n,e));case 3:if(null!==(n=t.updateQueue)){if(e=null,null!==t.child)switch(t.child.tag){case 5:e=t.child.stateNode.canonical;break;case 1:e=t.child.stateNode}or(t,n,e)}return;case 5:return void(null===n&&4&t.flags&&dn());case 6:case 4:case 12:case 13:return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}function ta(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function ra(e,n){switch(n.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=null!==(e=n.updateQueue)?e.lastEffect:null)){n=e=e.next;do{if(3==(3&n.tag)){var t=n.destroy;n.destroy=void 0,void 0!==t&&t()}n=n.next}while(n!==e)}return;case 12:return;case 13:return null!==n.memoizedState&&(Ea=It()),void la(n);case 19:return void la(n);case 23:case 24:return}e:{switch(n.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:break e}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}function la(e){var n=e.updateQueue;if(null!==n){e.updateQueue=null;var t=e.stateNode;null===t&&(t=e.stateNode=new Jl),n.forEach(function(n){var r=mi.bind(null,e,n);t.has(n)||(t.add(n),n.then(r,r))})}}function aa(e,n){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(n=n.memoizedState)&&null===n.dehydrated)}var ia,oa=Math.ceil,ua=Ee.ReactCurrentDispatcher,sa=Ee.ReactCurrentOwner,ca=0,fa=null,da=null,pa=0,ha=0,ga=Fn(0),ma=0,va=null,ya=0,ba=0,Sa=0,ka=0,wa=null,Ea=0,xa=1/0,Pa=null,Ra=!1,Ta=null,_a=null,Na=!1,Ca=null,za=90,Ia=[],La=[],Aa=null,Ua=0,Ma=null,Da=-1,Ha=0,Fa=0,Qa=null,Ba=!1;function ja(){return 0!=(48&ca)?It():-1!==Da?Da:Da=It()}function Wa(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Lt()?1:2;if(0===Ha&&(Ha=ya),0!==Ft.transition){0!==Fa&&(Fa=null!==wa?wa.pendingLanes:0),e=Ha;var n=4186112&~Fa;return 0===(n&=-n)&&(0===(n=(e=4186112&~e)&-e)&&(n=8192)),n}return e=Lt(),0!=(4&ca)&&98===e?e=ot(12,Ha):e=ot(e=rt(e),Ha),e}function Oa(e,n,t){if(50l&&(l=i),t&=~a}if(t=l,10<(t=(120>(t=It()-t)?120:480>t?480:1080>t?1080:1920>t?1920:3e3>t?3e3:4320>t?4320:1960*oa(t/1960))-t)){e.timeoutHandle=In(ii.bind(null,e),t);break}ii(e);break;case 5:ii(e);break;default:throw Error("Unknown root exit status.")}}return Ya(e,It()),e.callbackNode===n?qa.bind(null,e):null}function Xa(e,n){for(n&=~ka,n&=~Sa,e.suspendedLanes|=n,e.pingedLanes&=~n,e=e.expirationTimes;0 component higher in the tree to provide a loading indicator or placeholder to display.")}5!==ma&&(ma=2),u=ql(u,o),d=i;do{switch(d.tag){case 3:a=u,d.flags|=8192,n&=-n,d.lanes|=n,ar(d,Gl(d,a,n));break e;case 1:a=u;var k=d.type,w=d.stateNode;if(0==(64&d.flags)&&("function"==typeof k.getDerivedStateFromError||null!==w&&"function"==typeof w.componentDidCatch&&(null===_a||!_a.has(w)))){d.flags|=8192,n&=-n,d.lanes|=n,ar(d,Kl(d,a,n));break e}}d=d.return}while(null!==d)}ai(t)}catch(e){n=e,da===t&&null!==t&&(da=t=t.return);continue}break}}function ei(){var e=ua.current;return ua.current=hl,null===e?hl:e}function ni(e,n){var t=ca;ca|=16;var r=ei();for(fa===e&&pa===n||Ja(e,n);;)try{ti();break}catch(n){Za(e,n)}if($t(),ca=t,ua.current=r,null!==da)throw Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");return fa=null,pa=0,ma}function ti(){for(;null!==da;)li(da)}function ri(){for(;null!==da&&!vt();)li(da)}function li(e){var n=ia(e.alternate,e,ha);e.memoizedProps=e.pendingProps,null===n?ai(e):da=n,sa.current=null}function ai(e){var n=e;do{var t=n.alternate;if(e=n.return,0==(4096&n.flags)){if(null!==(t=Vl(t,n,ha)))return void(da=t);if(24!==(t=n).tag&&23!==t.tag||null===t.memoizedState||0!=(1073741824&ha)||0==(4&t.mode)){for(var r=0,l=t.child;null!==l;)r|=l.lanes|l.childLanes,l=l.sibling;t.childLanes=r}null!==e&&0==(4096&e.flags)&&(null===e.firstEffect&&(e.firstEffect=n.firstEffect),null!==n.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=n.firstEffect),e.lastEffect=n.lastEffect),1It()-Ea?Ja(e,0):ka|=t),Ya(e,n)}function mi(e,n){var t=e.stateNode;null!==t&&t.delete(n),0===(n=0)&&(0==(2&(n=e.mode))?n=1:0==(4&n)?n=99===Lt()?1:2:(0===Ha&&(Ha=ya),0===(n=ut(62914560&~Ha))&&(n=4194304))),t=ja(),null!==(e=Va(e,n))&&(ct(e,n,t),Ya(e,t))}function vi(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function yi(e,n,t,r){return new vi(e,n,t,r)}function bi(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Si(e){if("function"==typeof e)return bi(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===ze)return 11;if(e===Ae)return 14}return 2}function ki(e,n){var t=e.alternate;return null===t?((t=yi(e.tag,n,e.key,e.mode)).elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.nextEffect=null,t.firstEffect=null,t.lastEffect=null),t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=null===n?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function wi(e,n,t,r,l,a){var i=2;if(r=e,"function"==typeof e)bi(e)&&(i=1);else if("string"==typeof e)i=5;else e:switch(e){case Re:return Ei(t.children,l,a,n);case De:i=8,l|=16;break;case Te:i=8,l|=1;break;case _e:return(e=yi(12,t,n,8|l)).elementType=_e,e.type=_e,e.lanes=a,e;case Ie:return(e=yi(13,t,n,l)).type=Ie,e.elementType=Ie,e.lanes=a,e;case Le:return(e=yi(19,t,n,l)).elementType=Le,e.lanes=a,e;case He:return xi(t,l,a,n);case Fe:return(e=yi(24,t,n,l)).elementType=Fe,e.lanes=a,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case Ne:i=10;break e;case Ce:i=9;break e;case ze:i=11;break e;case Ae:i=14;break e;case Ue:i=16,r=null;break e;case Me:i=22;break e}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+(null==e?e:typeof e)+".")}return(n=yi(i,t,n,l)).elementType=e,n.type=r,n.lanes=a,n}function Ei(e,n,t,r){return(e=yi(7,e,r,n)).lanes=t,e}function xi(e,n,t,r){return(e=yi(23,e,r,n)).elementType=He,e.lanes=t,e}function Pi(e,n,t){return(e=yi(6,e,null,n)).lanes=t,e}function Ri(e,n,t){return(n=yi(4,null!==e.children?e.children:[],e.key,n)).lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ti(e,n,t){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=t,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=st(0),this.expirationTimes=st(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=st(0)}function _i(e,n,t){var r=3this.eventPool.length&&this.eventPool.push(e)}function N(e){e.getPooled=T,e.eventPool=[],e.release=_}o(R.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=x)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=x)},persist:function(){this.isPersistent=x},isPersistent:P,destructor:function(){var e,n=this.constructor.Interface;for(e in n)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=P,this._dispatchInstances=this._dispatchListeners=null}}),R.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},R.extend=function(e){function n(){}function t(){return r.apply(this,arguments)}var r=this;n.prototype=r.prototype;var l=new n;return o(l,t.prototype),t.prototype=l,t.prototype.constructor=t,t.Interface=o({},r.Interface,e),t.extend=r.extend,N(t),t},N(R);var C=R.extend({touchHistory:function(){return null}});function z(e){return"topTouchStart"===e}function I(e){return"topTouchMove"===e}var L=["topTouchStart"],A=["topTouchMove"],U=["topTouchCancel","topTouchEnd"],M=[],D={touchBank:M,numberActiveTouches:0,indexOfSingleActiveTouch:-1,mostRecentTimeStamp:0};function H(e){return e.timeStamp||e.timestamp}function F(e){if(null==(e=e.identifier))throw Error("Touch object is missing identifier.");return e}function Q(e){var n=F(e),t=M[n];t?(t.touchActive=!0,t.startPageX=e.pageX,t.startPageY=e.pageY,t.startTimeStamp=H(e),t.currentPageX=e.pageX,t.currentPageY=e.pageY,t.currentTimeStamp=H(e),t.previousPageX=e.pageX,t.previousPageY=e.pageY,t.previousTimeStamp=H(e)):(t={touchActive:!0,startPageX:e.pageX,startPageY:e.pageY,startTimeStamp:H(e),currentPageX:e.pageX,currentPageY:e.pageY,currentTimeStamp:H(e),previousPageX:e.pageX,previousPageY:e.pageY,previousTimeStamp:H(e)},M[n]=t),D.mostRecentTimeStamp=H(e)}function B(e){var n=M[F(e)];n&&(n.touchActive=!0,n.previousPageX=n.currentPageX,n.previousPageY=n.currentPageY,n.previousTimeStamp=n.currentTimeStamp,n.currentPageX=e.pageX,n.currentPageY=e.pageY,n.currentTimeStamp=H(e),D.mostRecentTimeStamp=H(e))}function j(e){var n=M[F(e)];n&&(n.touchActive=!1,n.previousPageX=n.currentPageX,n.previousPageY=n.currentPageY,n.previousTimeStamp=n.currentTimeStamp,n.currentPageX=e.pageX,n.currentPageY=e.pageY,n.currentTimeStamp=H(e),D.mostRecentTimeStamp=H(e))}var W={recordTouchTrack:function(e,n){if(I(e))n.changedTouches.forEach(B);else if(z(e))n.changedTouches.forEach(Q),D.numberActiveTouches=n.touches.length,1===D.numberActiveTouches&&(D.indexOfSingleActiveTouch=n.touches[0].identifier);else if(("topTouchEnd"===e||"topTouchCancel"===e)&&(n.changedTouches.forEach(j),D.numberActiveTouches=n.touches.length,1===D.numberActiveTouches))for(e=0;e component.");return t=Nn,Nn+=2,{node:gn(t,"RCTRawText",n,{text:e},r)}}var In=setTimeout,Ln=clearTimeout;function An(e){var n=e.node,t=an(null,Ge,{style:{display:"none"}},e.canonical.viewConfig.validAttributes);return{node:bn(n,t),canonical:e.canonical}}function Un(e,n,t){return n="",t&&(n=" (created by "+t+")"),"\n in "+(e||"Unknown")+n}function Mn(e,n){return e?Un(e.displayName||e.name||null,n,null):""}var Dn=[],Hn=-1;function Fn(e){return{current:e}}function Qn(e){0>Hn||(e.current=Dn[Hn],Dn[Hn]=null,Hn--)}function Bn(e,n){Dn[++Hn]=e.current,e.current=n}var jn={},Wn=Fn(jn),On=Fn(!1),Vn=jn;function Yn(e,n){var t=e.type.contextTypes;if(!t)return jn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l,a={};for(l in t)a[l]=n[l];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=a),a}function qn(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Xn(){Qn(On),Qn(Wn)}function $n(e,n,t){if(Wn.current!==jn)throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");Bn(Wn,n),Bn(On,t)}function Gn(e,n,t){var r=e.stateNode;if(e=n.childContextTypes,"function"!=typeof r.getChildContext)return t;for(var l in r=r.getChildContext())if(!(l in e))throw Error((We(n)||"Unknown")+'.getChildContext(): key "'+l+'" is not defined in childContextTypes.');return o({},t,r)}function Kn(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||jn,Vn=Wn.current,Bn(Wn,e),Bn(On,On.current),!0}function Jn(e,n,t){var r=e.stateNode;if(!r)throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");t?(e=Gn(e,n,Vn),r.__reactInternalMemoizedMergedChildContext=e,Qn(On),Qn(Wn),Bn(Wn,e)):Qn(On),Bn(On,t)}var Zn=null,et=null;(0,c.unstable_now)();var nt=8;function tt(e){if(0!=(1&e))return nt=15,1;if(0!=(2&e))return nt=14,2;if(0!=(4&e))return nt=13,4;var n=24&e;return 0!==n?(nt=12,n):0!=(32&e)?(nt=11,32):0!==(n=192&e)?(nt=10,n):0!=(256&e)?(nt=9,256):0!==(n=3584&e)?(nt=8,n):0!=(4096&e)?(nt=7,4096):0!==(n=4186112&e)?(nt=6,n):0!==(n=62914560&e)?(nt=5,n):67108864&e?(nt=4,67108864):0!=(134217728&e)?(nt=3,134217728):0!==(n=805306368&e)?(nt=2,n):0!=(1073741824&e)?(nt=1,1073741824):(nt=8,e)}function rt(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function lt(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error("Invalid update priority: "+e+". This is a bug in React.")}}function at(e,n){var t=e.pendingLanes;if(0===t)return nt=0;var r=0,l=0,a=e.expiredLanes,i=e.suspendedLanes,o=e.pingedLanes;if(0!==a)r=a,l=nt=15;else if(0!==(a=134217727&t)){var u=a&~i;0!==u?(r=tt(u),l=nt):0!==(o&=a)&&(r=tt(o),l=nt)}else 0!==(a=t&~i)?(r=tt(a),l=nt):0!==o&&(r=tt(o),l=nt);if(0===r)return 0;if(r=t&((0>(r=31-ft(r))?0:1<t;t++)n.push(e);return n}function ct(e,n,t){e.pendingLanes|=n;var r=n-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[n=31-ft(n)]=t}var ft=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(dt(e)/pt|0)|0},dt=Math.log,pt=Math.LN2;var ht=c.unstable_runWithPriority,gt=c.unstable_scheduleCallback,mt=c.unstable_cancelCallback,vt=c.unstable_shouldYield,yt=c.unstable_requestPaint,bt=c.unstable_now,St=c.unstable_getCurrentPriorityLevel,kt=c.unstable_ImmediatePriority,wt=c.unstable_UserBlockingPriority,Et=c.unstable_NormalPriority,xt=c.unstable_LowPriority,Pt=c.unstable_IdlePriority,Rt={},Tt=void 0!==yt?yt:function(){},_t=null,Nt=null,Ct=!1,zt=bt(),It=1e4>zt?bt:function(){return bt()-zt};function Lt(){switch(St()){case kt:return 99;case wt:return 98;case Et:return 97;case xt:return 96;case Pt:return 95;default:throw Error("Unknown priority level.")}}function At(e){switch(e){case 99:return kt;case 98:return wt;case 97:return Et;case 96:return xt;case 95:return Pt;default:throw Error("Unknown priority level.")}}function Ut(e,n){return e=At(e),ht(e,n)}function Mt(e,n,t){return e=At(e),gt(e,n,t)}function Dt(){if(null!==Nt){var e=Nt;Nt=null,mt(e)}Ht()}function Ht(){if(!Ct&&null!==_t){Ct=!0;var e=0;try{var n=_t;Ut(99,function(){for(;eg?(m=h,h=null):m=h.sibling;var v=d(l,h,o[g],u);if(null===v){null===h&&(h=m);break}e&&h&&null===v.alternate&&n(l,h),i=a(v,i,g),null===c?s=v:c.sibling=v,c=v,h=m}if(g===o.length)return t(l,h),s;if(null===h){for(;gg?(m=h,h=null):m=h.sibling;var y=d(l,h,v.value,u);if(null===y){null===h&&(h=m);break}e&&h&&null===y.alternate&&n(l,h),i=a(y,i,g),null===c?s=y:c.sibling=y,c=y,h=m}if(v.done)return t(l,h),s;if(null===h){for(;!v.done;g++,v=o.next())null!==(v=f(l,v.value,u))&&(i=a(v,i,g),null===c?s=v:c.sibling=v,c=v);return s}for(h=r(l,h);!v.done;g++,v=o.next())null!==(v=p(h,l,g,v.value,u))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),i=a(v,i,g),null===c?s=v:c.sibling=v,c=v);return e&&h.forEach(function(e){return n(l,e)}),s}return function(e,r,a,o){var u="object"==typeof a&&null!==a&&a.type===Re&&null===a.key;u&&(a=a.props.children);var s="object"==typeof a&&null!==a;if(s)switch(a.$$typeof){case xe:e:{for(s=a.key,u=r;null!==u;){if(u.key===s){switch(u.tag){case 7:if(a.type===Re){t(e,u.sibling),(r=l(u,a.props.children)).return=e,e=r;break e}break;default:if(u.elementType===a.type){t(e,u.sibling),(r=l(u,a.props)).ref=mr(e,u,a),r.return=e,e=r;break e}}t(e,u);break}n(e,u),u=u.sibling}a.type===Re?((r=Ei(a.props.children,e.mode,o,a.key)).return=e,e=r):((o=wi(a.type,a.key,a.props,null,e.mode,o)).ref=mr(e,r,a),o.return=e,e=o)}return i(e);case Pe:e:{for(u=a.key;null!==r;){if(r.key===u){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){t(e,r.sibling),(r=l(r,a.children||[])).return=e,e=r;break e}t(e,r);break}n(e,r),r=r.sibling}(r=Ri(a,e.mode,o)).return=e,e=r}return i(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(t(e,r.sibling),(r=l(r,a)).return=e,e=r):(t(e,r),(r=Pi(a,e.mode,o)).return=e,e=r),i(e);if(gr(a))return h(e,r,a,o);if(je(a))return g(e,r,a,o);if(s&&vr(e,a),void 0===a&&!u)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error((We(e.type)||"Component")+"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.")}return t(e,r)}}var br=yr(!0),Sr=yr(!1),kr={},wr=Fn(kr),Er=Fn(kr),xr=Fn(kr);function Pr(e){if(e===kr)throw Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");return e}function Rr(e,n){Bn(xr,n),Bn(Er,e),Bn(wr,kr),Qn(wr),Bn(wr,{isInAParentText:!1})}function Tr(){Qn(wr),Qn(Er),Qn(xr)}function _r(e){Pr(xr.current);var n=Pr(wr.current),t=e.type;t="AndroidTextInput"===t||"RCTMultilineTextInputView"===t||"RCTSinglelineTextInputView"===t||"RCTText"===t||"RCTVirtualText"===t,n!==(t=n.isInAParentText!==t?{isInAParentText:t}:n)&&(Bn(Er,e),Bn(wr,t))}function Nr(e){Er.current===e&&(Qn(wr),Qn(Er))}var Cr=Fn(0);function zr(e){for(var n=e;null!==n;){if(13===n.tag){var t=n.memoizedState;if(null!==t&&(null===t.dehydrated||pn()||pn()))return n}else if(19===n.tag&&void 0!==n.memoizedProps.revealOrder){if(0!=(64&n.flags))return n}else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Ir=[];function Lr(){for(var e=0;ea))throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");a+=1,Fr=Hr=null,n.updateQueue=null,Ar.current=vl,e=t(r,l)}while(Br)}if(Ar.current=hl,n=null!==Hr&&null!==Hr.next,Mr=0,Fr=Hr=Dr=null,Qr=!1,n)throw Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement.");return e}function Vr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Fr?Dr.memoizedState=Fr=e:Fr=Fr.next=e,Fr}function Yr(){if(null===Hr){var e=Dr.alternate;e=null!==e?e.memoizedState:null}else e=Hr.next;var n=null===Fr?Dr.memoizedState:Fr.next;if(null!==n)Fr=n,Hr=e;else{if(null===e)throw Error("Rendered more hooks than during the previous render.");e={memoizedState:(Hr=e).memoizedState,baseState:Hr.baseState,baseQueue:Hr.baseQueue,queue:Hr.queue,next:null},null===Fr?Dr.memoizedState=Fr=e:Fr=Fr.next=e}return Fr}function qr(e,n){return"function"==typeof n?n(e):n}function Xr(e){var n=Yr(),t=n.queue;if(null===t)throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");t.lastRenderedReducer=e;var r=Hr,l=r.baseQueue,a=t.pending;if(null!==a){if(null!==l){var i=l.next;l.next=a.next,a.next=i}r.baseQueue=l=a,t.pending=null}if(null!==l){l=l.next,r=r.baseState;var o=i=a=null,u=l;do{var s=u.lane;if((Mr&s)===s)null!==o&&(o=o.next={lane:0,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null}),r=u.eagerReducer===e?u.eagerState:e(r,u.action);else{var c={lane:s,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null};null===o?(i=o=c,a=r):o=o.next=c,Dr.lanes|=s,ba|=s}u=u.next}while(null!==u&&u!==l);null===o?a=r:o.next=i,Qt(r,n.memoizedState)||(bl=!0),n.memoizedState=r,n.baseState=a,n.baseQueue=o,t.lastRenderedState=r}return[n.memoizedState,t.dispatch]}function $r(e){var n=Yr(),t=n.queue;if(null===t)throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");t.lastRenderedReducer=e;var r=t.dispatch,l=t.pending,a=n.memoizedState;if(null!==l){t.pending=null;var i=l=l.next;do{a=e(a,i.action),i=i.next}while(i!==l);Qt(a,n.memoizedState)||(bl=!0),n.memoizedState=a,null===n.baseQueue&&(n.baseState=a),t.lastRenderedState=a}return[a,r]}function Gr(e,n,t){var r=n._getVersion;r=r(n._source);var l=n._workInProgressVersionSecondary;if(null!==l?e=l===r:(e=e.mutableReadLanes,(e=(Mr&e)===e)&&(n._workInProgressVersionSecondary=r,Ir.push(n))),e)return t(n._source);throw Ir.push(n),Error("Cannot read from mutable source during the current render without tearing. This is a bug in React. Please file an issue.")}function Kr(e,n,t,r){var l=fa;if(null===l)throw Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");var a=n._getVersion,i=a(n._source),o=Ar.current,u=o.useState(function(){return Gr(l,n,t)}),s=u[1],c=u[0];u=Fr;var f=e.memoizedState,d=f.refs,p=d.getSnapshot,h=f.source;f=f.subscribe;var g=Dr;return e.memoizedState={refs:d,source:n,subscribe:r},o.useEffect(function(){d.getSnapshot=t,d.setSnapshot=s;var e=a(n._source);if(!Qt(i,e)){e=t(n._source),Qt(c,e)||(s(e),e=Wa(g),l.mutableReadLanes|=e&l.pendingLanes),e=l.mutableReadLanes,l.entangledLanes|=e;for(var r=l.entanglements,o=e;0t?98:t,function(){e(!0)}),Ut(97xa&&(n.flags|=64,l=!0,Ol(r,!1),n.lanes=33554432)}else{if(!l)if(null!==(e=zr(a))){if(n.flags|=64,l=!0,null!==(e=e.updateQueue)&&(n.updateQueue=e,n.flags|=4),Ol(r,!0),null===r.tail&&"hidden"===r.tailMode&&!a.alternate)return null!==(n=n.lastEffect=r.lastEffect)&&(n.nextEffect=null),null}else 2*It()-r.renderingStartTime>xa&&1073741824!==t&&(n.flags|=64,l=!0,Ol(r,!1),n.lanes=33554432);r.isBackwards?(a.sibling=n.child,n.child=a):(null!==(e=r.last)?e.sibling=a:n.child=a,r.last=a)}return null!==r.tail?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.lastEffect=n.lastEffect,r.renderingStartTime=It(),e.sibling=null,n=Cr.current,Bn(Cr,l?1&n|2:1&n),e):null;case 23:case 24:return Ka(),null!==e&&null!==e.memoizedState!=(null!==n.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(n.flags|=4),null}throw Error("Unknown unit of work tag ("+n.tag+"). This error is likely caused by a bug in React. Please file an issue.")}function Yl(e){switch(e.tag){case 1:qn(e.type)&&Xn();var n=e.flags;return 8192&n?(e.flags=-8193&n|64,e):null;case 3:if(Tr(),Qn(On),Qn(Wn),Lr(),0!=(64&(n=e.flags)))throw Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue.");return e.flags=-8193&n|64,e;case 5:return Nr(e),null;case 13:return Qn(Cr),8192&(n=e.flags)?(e.flags=-8193&n|64,e):null;case 19:return Qn(Cr),null;case 4:return Tr(),null;case 10:return Gt(e),null;case 23:case 24:return Ka(),null;default:return null}}function ql(e,n){try{var t="",r=n;do{t+=Wt(r),r=r.return}while(r);var l=t}catch(e){l="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:n,stack:l}}if(Cl=function(e,n,t,r){for(var l=n.child;null!==l;){if(5===l.tag){var a=l.stateNode;t&&r&&(a=An(a)),kn(e.node,a.node)}else if(6===l.tag){if(a=l.stateNode,t&&r)throw Error("Not yet implemented.");kn(e.node,a.node)}else if(4!==l.tag){if(13===l.tag&&0!=(4&l.flags)&&(a=null!==l.memoizedState)){var i=l.child;if(null!==i&&(null!==i.child&&(i.child.return=i,Cl(e,i,!0,a)),null!==(a=i.sibling))){a.return=l,l=a;continue}}if(null!==l.child){l.child.return=l,l=l.child;continue}}if(l===n)break;for(;null===l.sibling;){if(null===l.return||l.return===n)return;l=l.return}l.sibling.return=l.return,l=l.sibling}},zl=function(e){var n=e.stateNode;if(null!==e.firstEffect){var t=n.containerInfo,r=Sn(t);Wl(r,e,!1,!1),n.pendingChildren=r,e.flags|=4,En(t,r)}},Il=function(e,n,t,r){t=e.stateNode;var l=e.memoizedProps;if((e=null===n.firstEffect)&&l===r)n.stateNode=t;else{var a=n.stateNode;Pr(wr.current);var i=null;l!==r&&(l=an(null,l,r,a.canonical.viewConfig.validAttributes),a.canonical.currentProps=r,i=l),e&&null===i?n.stateNode=t:(r=i,a=t.node,t={node:e?null!==r?bn(a,r):mn(a):null!==r?yn(a,r):vn(a),canonical:t.canonical},n.stateNode=t,e?n.flags|=4:Cl(t,n,!1,!1))}},Ll=function(e,n,t,r){t!==r?(e=Pr(xr.current),t=Pr(wr.current),n.stateNode=zn(r,e,t,n),n.flags|=4):n.stateNode=e.stateNode},"function"!=typeof u.ReactFiberErrorDialog.showErrorDialog)throw Error("Expected ReactFiberErrorDialog.showErrorDialog to be a function.");function Xl(e,n){try{!1!==u.ReactFiberErrorDialog.showErrorDialog({componentStack:null!==n.stack?n.stack:"",error:n.value,errorBoundary:null!==e&&1===e.tag?e.stateNode:null})&&console.error(n.value)}catch(e){setTimeout(function(){throw e})}}var $l="function"==typeof WeakMap?WeakMap:Map;function Gl(e,n,t){(t=rr(-1,t)).tag=3,t.payload={element:null};var r=n.value;return t.callback=function(){Ra||(Ra=!0,Ta=r),Xl(e,n)},t}function Kl(e,n,t){(t=rr(-1,t)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var l=n.value;t.payload=function(){return Xl(e,n),r(l)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(t.callback=function(){"function"!=typeof r&&(null===_a?_a=new Set([this]):_a.add(this),Xl(e,n));var t=n.stack;this.componentDidCatch(n.value,{componentStack:null!==t?t:""})}),t}var Jl="function"==typeof WeakSet?WeakSet:Set;function Zl(e){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){hi(e,n)}else n.current=null}function ea(e,n){switch(n.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&n.flags&&null!==e){var t=e.memoizedProps,r=e.memoizedState;n=(e=n.stateNode).getSnapshotBeforeUpdate(n.elementType===n.type?t:Ot(n.type,t),r),e.__reactInternalSnapshotBeforeUpdate=n}return;case 3:return;case 5:case 6:case 4:case 17:return}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}function na(e,n,t){switch(t.tag){case 0:case 11:case 15:case 22:if(null!==(n=null!==(n=t.updateQueue)?n.lastEffect:null)){e=n=n.next;do{if(3==(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==n)}if(null!==(n=null!==(n=t.updateQueue)?n.lastEffect:null)){e=n=n.next;do{var l=e;r=l.next,0!=(4&(l=l.tag))&&0!=(1&l)&&(fi(t,e),ci(t,e)),e=r}while(e!==n)}return;case 1:return e=t.stateNode,4&t.flags&&(null===n?e.componentDidMount():(r=t.elementType===t.type?n.memoizedProps:Ot(t.type,n.memoizedProps),e.componentDidUpdate(r,n.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(n=t.updateQueue)&&or(t,n,e));case 3:if(null!==(n=t.updateQueue)){if(e=null,null!==t.child)switch(t.child.tag){case 5:e=t.child.stateNode.canonical;break;case 1:e=t.child.stateNode}or(t,n,e)}return;case 5:return void(null===n&&4&t.flags&&dn());case 6:case 4:case 12:case 13:return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}function ta(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function ra(e,n){switch(n.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=null!==(e=n.updateQueue)?e.lastEffect:null)){n=e=e.next;do{if(3==(3&n.tag)){var t=n.destroy;n.destroy=void 0,void 0!==t&&t()}n=n.next}while(n!==e)}return;case 12:return;case 13:return null!==n.memoizedState&&(Ea=It()),void la(n);case 19:return void la(n);case 23:case 24:return}e:{switch(n.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:break e}throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}function la(e){var n=e.updateQueue;if(null!==n){e.updateQueue=null;var t=e.stateNode;null===t&&(t=e.stateNode=new Jl),n.forEach(function(n){var r=mi.bind(null,e,n);t.has(n)||(t.add(n),n.then(r,r))})}}function aa(e,n){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(n=n.memoizedState)&&null===n.dehydrated)}var ia,oa=Math.ceil,ua=Ee.ReactCurrentDispatcher,sa=Ee.ReactCurrentOwner,ca=0,fa=null,da=null,pa=0,ha=0,ga=Fn(0),ma=0,va=null,ya=0,ba=0,Sa=0,ka=0,wa=null,Ea=0,xa=1/0,Pa=null,Ra=!1,Ta=null,_a=null,Na=!1,Ca=null,za=90,Ia=[],La=[],Aa=null,Ua=0,Ma=null,Da=-1,Ha=0,Fa=0,Qa=null,Ba=!1;function ja(){return 0!=(48&ca)?It():-1!==Da?Da:Da=It()}function Wa(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Lt()?1:2;if(0===Ha&&(Ha=ya),0!==Ft.transition){0!==Fa&&(Fa=null!==wa?wa.pendingLanes:0),e=Ha;var n=4186112&~Fa;return 0===(n&=-n)&&(0===(n=(e=4186112&~e)&-e)&&(n=8192)),n}return e=Lt(),0!=(4&ca)&&98===e?e=ot(12,Ha):e=ot(e=rt(e),Ha),e}function Oa(e,n,t){if(50l&&(l=i),t&=~a}if(t=l,10<(t=(120>(t=It()-t)?120:480>t?480:1080>t?1080:1920>t?1920:3e3>t?3e3:4320>t?4320:1960*oa(t/1960))-t)){e.timeoutHandle=In(ii.bind(null,e),t);break}ii(e);break;case 5:ii(e);break;default:throw Error("Unknown root exit status.")}}return Ya(e,It()),e.callbackNode===n?qa.bind(null,e):null}function Xa(e,n){for(n&=~ka,n&=~Sa,e.suspendedLanes|=n,e.pingedLanes&=~n,e=e.expirationTimes;0 component higher in the tree to provide a loading indicator or placeholder to display.")}5!==ma&&(ma=2),u=ql(u,o),d=i;do{switch(d.tag){case 3:a=u,d.flags|=8192,n&=-n,d.lanes|=n,ar(d,Gl(d,a,n));break e;case 1:a=u;var k=d.type,w=d.stateNode;if(0==(64&d.flags)&&("function"==typeof k.getDerivedStateFromError||null!==w&&"function"==typeof w.componentDidCatch&&(null===_a||!_a.has(w)))){d.flags|=8192,n&=-n,d.lanes|=n,ar(d,Kl(d,a,n));break e}}d=d.return}while(null!==d)}ai(t)}catch(e){n=e,da===t&&null!==t&&(da=t=t.return);continue}break}}function ei(){var e=ua.current;return ua.current=hl,null===e?hl:e}function ni(e,n){var t=ca;ca|=16;var r=ei();for(fa===e&&pa===n||Ja(e,n);;)try{ti();break}catch(n){Za(e,n)}if($t(),ca=t,ua.current=r,null!==da)throw Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");return fa=null,pa=0,ma}function ti(){for(;null!==da;)li(da)}function ri(){for(;null!==da&&!vt();)li(da)}function li(e){var n=ia(e.alternate,e,ha);e.memoizedProps=e.pendingProps,null===n?ai(e):da=n,sa.current=null}function ai(e){var n=e;do{var t=n.alternate;if(e=n.return,0==(4096&n.flags)){if(null!==(t=Vl(t,n,ha)))return void(da=t);if(24!==(t=n).tag&&23!==t.tag||null===t.memoizedState||0!=(1073741824&ha)||0==(4&t.mode)){for(var r=0,l=t.child;null!==l;)r|=l.lanes|l.childLanes,l=l.sibling;t.childLanes=r}null!==e&&0==(4096&e.flags)&&(null===e.firstEffect&&(e.firstEffect=n.firstEffect),null!==n.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=n.firstEffect),e.lastEffect=n.lastEffect),1It()-Ea?Ja(e,0):ka|=t),Ya(e,n)}function mi(e,n){var t=e.stateNode;null!==t&&t.delete(n),0===(n=0)&&(0==(2&(n=e.mode))?n=1:0==(4&n)?n=99===Lt()?1:2:(0===Ha&&(Ha=ya),0===(n=ut(62914560&~Ha))&&(n=4194304))),t=ja(),null!==(e=Va(e,n))&&(ct(e,n,t),Ya(e,t))}function vi(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function yi(e,n,t,r){return new vi(e,n,t,r)}function bi(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Si(e){if("function"==typeof e)return bi(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===ze)return 11;if(e===Ae)return 14}return 2}function ki(e,n){var t=e.alternate;return null===t?((t=yi(e.tag,n,e.key,e.mode)).elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.nextEffect=null,t.firstEffect=null,t.lastEffect=null),t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=null===n?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function wi(e,n,t,r,l,a){var i=2;if(r=e,"function"==typeof e)bi(e)&&(i=1);else if("string"==typeof e)i=5;else e:switch(e){case Re:return Ei(t.children,l,a,n);case De:i=8,l|=16;break;case Te:i=8,l|=1;break;case _e:return(e=yi(12,t,n,8|l)).elementType=_e,e.type=_e,e.lanes=a,e;case Ie:return(e=yi(13,t,n,l)).type=Ie,e.elementType=Ie,e.lanes=a,e;case Le:return(e=yi(19,t,n,l)).elementType=Le,e.lanes=a,e;case He:return xi(t,l,a,n);case Fe:return(e=yi(24,t,n,l)).elementType=Fe,e.lanes=a,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case Ne:i=10;break e;case Ce:i=9;break e;case ze:i=11;break e;case Ae:i=14;break e;case Ue:i=16,r=null;break e;case Me:i=22;break e}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+(null==e?e:typeof e)+".")}return(n=yi(i,t,n,l)).elementType=e,n.type=r,n.lanes=a,n}function Ei(e,n,t,r){return(e=yi(7,e,r,n)).lanes=t,e}function xi(e,n,t,r){return(e=yi(23,e,r,n)).elementType=He,e.lanes=t,e}function Pi(e,n,t){return(e=yi(6,e,null,n)).lanes=t,e}function Ri(e,n,t){return(n=yi(4,null!==e.children?e.children:[],e.key,n)).lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ti(e,n,t){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=t,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=st(0),this.expirationTimes=st(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=st(0)}function _i(e,n,t){var r=31&&void 0!==arguments[1]?arguments[1]:{};f('object'==typeof t&&null!==t,'Content to share must be a valid object'),f('string'==typeof t.url||'string'==typeof t.message,'At least one of URL and message is required'),f('object'==typeof n&&null!==n,'Options must be a valid object'),f(l.default,'ShareModule should be registered on Android.'),f(null==t.title||'string'==typeof t.title,'Invalid title: title should be a string.');var o={title:t.title,message:'string'==typeof t.message?t.message:void 0};return l.default.share(o,n.dialogTitle).then(function(t){return c({activityType:null},t)})}}]),t})());p.sharedAction='sharedAction',p.dismissedAction='dismissedAction',m.exports=p},379,[6,26,8,9,335,380,48,3,79]); __d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof WeakMap)return null;var u=new WeakMap,o=new WeakMap;return(t=function(t){return t?o:u})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,u){if(!u&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var o=t(u);if(o&&o.has(n))return o.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,o&&o.set(n,f);return f})(r(d[0])).get('ShareModule');e.default=n},380,[28]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),u=t(r(d[2])),f=t(r(d[3])),c=t(r(d[4])),o=t(r(d[5])),l=t(r(d[6]));function s(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var p=(function(t){(0,u.default)(h,t);var o,l,p=(o=h,l=s(),function(){var t,n=(0,c.default)(o);if(l){var u=(0,c.default)(this).constructor;t=Reflect.construct(n,arguments,u)}else t=n.apply(this,arguments);return(0,f.default)(this,t)});function h(){return(0,n.default)(this,h),p.apply(this,arguments)}return h})(o.default);m.exports=new p(l.default)},381,[6,8,13,15,12,128,297]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=t(r(d[1])),u=t(r(d[2])),f=t(r(d[3])),c=t(r(d[4])),o=t(r(d[5])),l=t(r(d[6])),s=t(r(d[7]));function p(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var h=(function(t){(0,f.default)(y,t);var l,s,h=(l=y,s=p(),function(){var t,n=(0,o.default)(l);if(s){var u=(0,o.default)(this).constructor;t=Reflect.construct(n,arguments,u)}else t=n.apply(this,arguments);return(0,c.default)(this,t)});function y(){return(0,u.default)(this,y),h.apply(this,arguments)}return(0,n.default)(y)})(l.default);m.exports=new h(s.default)},381,[6,9,8,13,15,12,128,297]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0])(r(d[1])),s=t.default.getConstants(),f={SHORT:s.SHORT,LONG:s.LONG,TOP:s.TOP,BOTTOM:s.BOTTOM,CENTER:s.CENTER,show:function(s,f){t.default.show(s,f)},showWithGravity:function(s,f,n){t.default.showWithGravity(s,f,n)},showWithGravityAndOffset:function(s,f,n,o,O){t.default.showWithGravityAndOffset(s,f,n,o,O)}};m.exports=f},382,[6,383]); __d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).getEnforcing('ToastAndroid');e.default=n},383,[28]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=(0,n.useMemo)(function(){return{getCurrentValue:function(){return o.default.getColorScheme()},subscribe:function(t){return o.default.addChangeListener(t),function(){return o.default.removeChangeListener(t)}}}},[]);return(0,u.useSubscription)(t)};var n=r(d[1]),u=r(d[2]),o=t(r(d[3]))},384,[6,55,385,336]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=(0,n.useMemo)(function(){return{getCurrentValue:function(){return o.default.getColorScheme()},subscribe:function(t){return o.default.addChangeListener(t),function(){return o.default.removeChangeListener(t)}}}},[]);return(0,u.useSubscription)(t)};var n=r(d[1]),u=r(d[2]),o=t(r(d[3]))},384,[6,56,385,336]); __d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},385,[386]); -__d(function(g,r,i,a,m,e,d){'use strict';var u=r(d[0]),t=r(d[1]);e.useSubscription=function(n){var s=n.getCurrentValue,c=n.subscribe,b=t.useState(function(){return{getCurrentValue:s,subscribe:c,value:s()}});n=b[0];var l=b[1];return b=n.value,n.getCurrentValue===s&&n.subscribe===c||(b=s(),l({getCurrentValue:s,subscribe:c,value:b})),t.useDebugValue(b),t.useEffect(function(){function t(){if(!n){var t=s();l(function(n){return n.getCurrentValue!==s||n.subscribe!==c||n.value===t?n:u({},n,{value:t})})}}var n=!1,b=c(t);return t(),function(){n=!0,b()}},[s,c]),b}},386,[57,55]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=(0,f.useState)(function(){return u.default.get('window')}),c=(0,n.default)(t,2),o=c[0],l=c[1];return(0,f.useEffect)(function(){function t(t){var n=t.window;o.width===n.width&&o.height===n.height&&o.scale===n.scale&&o.fontScale===n.fontScale||l(n)}return u.default.addEventListener('change',t),t({window:u.default.get('window')}),function(){u.default.removeEventListener('change',t)}},[o]),o};var n=t(r(d[1])),u=t(r(d[2])),f=r(d[3])},387,[6,31,62,55]); +__d(function(g,r,i,a,m,e,d){'use strict';var u=r(d[0]),t=r(d[1]);e.useSubscription=function(n){var s=n.getCurrentValue,c=n.subscribe,b=t.useState(function(){return{getCurrentValue:s,subscribe:c,value:s()}});n=b[0];var l=b[1];return b=n.value,n.getCurrentValue===s&&n.subscribe===c||(b=s(),l({getCurrentValue:s,subscribe:c,value:b})),t.useDebugValue(b),t.useEffect(function(){function t(){if(!n){var t=s();l(function(n){return n.getCurrentValue!==s||n.subscribe!==c||n.value===t?n:u({},n,{value:t})})}}var n=!1,b=c(t);return t(),function(){n=!0,b()}},[s,c]),b}},386,[55,56]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=(0,f.useState)(function(){return u.default.get('window')}),c=(0,n.default)(t,2),o=c[0],l=c[1];return(0,f.useEffect)(function(){function t(t){var n=t.window;o.width===n.width&&o.height===n.height&&o.scale===n.scale&&o.fontScale===n.fontScale||l(n)}return u.default.addEventListener('change',t),t({window:u.default.get('window')}),function(){u.default.removeEventListener('change',t)}},[o]),o};var n=t(r(d[1])),u=t(r(d[2])),f=r(d[3])},387,[6,31,62,56]); __d(function(g,r,i,a,m,e,d){'use strict';var A=r(d[0])({BOM:"\ufeff",BULLET:"\u2022",BULLET_SP:"\xa0\u2022\xa0",MIDDOT:"\xb7",MIDDOT_SP:"\xa0\xb7\xa0",MIDDOT_KATAKANA:"\u30fb",MDASH:"\u2014",MDASH_SP:"\xa0\u2014\xa0",NDASH:"\u2013",NDASH_SP:"\xa0\u2013\xa0",NBSP:"\xa0",PIZZA:"\ud83c\udf55",TRIANGLE_LEFT:"\u25c0",TRIANGLE_RIGHT:"\u25b6"});m.exports=A},388,[45]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0])(r(d[1])),n=(r(d[2]),400);var o={vibrate:function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,u=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if('number'==typeof o)t.default.vibrate(o);else{if(!Array.isArray(o))throw new Error('Vibration pattern should be a number or array');t.default.vibrateByPattern(o,u?0:-1)}},cancel:function(){t.default.cancel()}};m.exports=o},389,[6,390,48]); __d(function(g,r,i,a,m,e,d){'use strict';function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).getEnforcing('Vibration');e.default=n},390,[28]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),u=r(d[2]),c=r(d[3]),o=r(d[4]);function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var l,s=r(d[5]);r(d[6]);l=(function(l){u(v,l);var s,y,p=(s=v,y=f(),function(){var t,n=o(s);if(y){var u=o(this).constructor;t=Reflect.construct(n,arguments,u)}else t=n.apply(this,arguments);return c(this,t)});function v(){return t(this,v),p.apply(this,arguments)}return n(v,[{key:"render",value:function(){return null}}],[{key:"ignoreWarnings",value:function(t){}},{key:"install",value:function(){}},{key:"uninstall",value:function(){}}]),v})(s.Component),m.exports=l},391,[8,9,13,15,12,55,371]); +__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),u=r(d[2]),c=r(d[3]),o=r(d[4]);function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var l,s=r(d[5]);r(d[6]);l=(function(l){u(v,l);var s,y,p=(s=v,y=f(),function(){var t,n=o(s);if(y){var u=o(this).constructor;t=Reflect.construct(n,arguments,u)}else t=n.apply(this,arguments);return c(this,t)});function v(){return t(this,v),p.apply(this,arguments)}return n(v,[{key:"render",value:function(){return null}}],[{key:"ignoreWarnings",value:function(t){}},{key:"install",value:function(){}},{key:"uninstall",value:function(){}}]),v})(s.Component),m.exports=l},391,[8,9,13,15,12,56,371]); __d(function(g,r,i,a,m,e,d){'use strict';Object.defineProperty(e,"__esModule",{value:!0}),e.DynamicColorIOS=void 0;e.DynamicColorIOS=function(o){throw new Error('DynamicColorIOS is not available on this platform.')}},392,[]); __d(function(g,r,i,a,m,e,d){'use strict';var n=r(d[0]),s=n.shape({x:n.number,y:n.number});m.exports=s},393,[71]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),c=t(r(d[3])),l=t(r(d[4])),u=t(r(d[5])),s=t(r(d[6])),v=t(r(d[7])),S=t(r(d[8])),f=t(r(d[9])),h=r(d[10]),p=r(d[11]),y=t(r(d[12])),w=r(d[13]),N=t(r(d[14])),b=t(r(d[15])),C=r(d[16]),k=r(d[17]),j=["children"],O=["enabled"],x=["active","activityState","children","isNativeStack","statusBarColor"],P=["active","activityState","style","onComponentRef"],R=["enabled","hasTwoStates"];function B(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}function H(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);n&&(c=c.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,c)}return o}function A(t){for(var n=1;n1,children:t})});return(0,k.jsx)(L.NativeScreenStack,A(A({},o),{},{children:l}))}return(0,k.jsx)(L.NativeScreenStack,A({},t))},get NativeScreen(){return L.NativeScreen},get NativeScreenContainer(){return L.NativeScreenContainer},get NativeScreenNavigationContainer(){return L.NativeScreenNavigationContainer},get ScreenStackHeaderConfig(){return L.NativeScreenStackHeaderConfig},get ScreenStackHeaderSubview(){return L.NativeScreenStackHeaderSubview},get SearchBar(){return C.isSearchBarAvailableForCurrentPlatform?L.NativeSearchBar:(console.warn('Importing SearchBar is only valid on iOS and Android devices.'),h.View)},get FullWindowOverlay(){return'ios'!==h.Platform.OS?(console.warn('Importing FullWindowOverlay is only valid on iOS devices.'),h.View):L.NativeFullWindowOverlay},ScreenStackHeaderBackButtonImage:function(t){return(0,k.jsx)(L.NativeScreenStackHeaderSubview,{type:"back",style:Q.headerSubview,children:(0,k.jsx)(h.Image,A({resizeMode:"center",fadeDuration:0},t))})},ScreenStackHeaderRightView:function(t){return(0,k.jsx)(L.NativeScreenStackHeaderSubview,A(A({},t),{},{type:"right",style:Q.headerSubview}))},ScreenStackHeaderLeftView:function(t){return(0,k.jsx)(L.NativeScreenStackHeaderSubview,A(A({},t),{},{type:"left",style:Q.headerSubview}))},ScreenStackHeaderCenterView:function(t){return(0,k.jsx)(L.NativeScreenStackHeaderSubview,A(A({},t),{},{type:"center",style:Q.headerSubview}))},ScreenStackHeaderSearchBarView:function(t){return(0,k.jsx)(L.NativeScreenStackHeaderSubview,A(A({},t),{},{type:"searchBar",style:Q.headerSubview}))},enableScreens:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];(V=F&&t)&&!h.UIManager.getViewManagerConfig('RNSScreen')&&console.error("Screen native module hasn't been linked. Please check the react-native-screens README for more details")},enableFreeze:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=parseInt(w.version.split('.')[1]);0===n||n>=64||!t||console.warn('react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.'),z=t},screensEnabled:function(){return V},shouldUseActivityState:!0,useTransitionProgress:b.default,isSearchBarAvailableForCurrentPlatform:C.isSearchBarAvailableForCurrentPlatform,executeNativeBackPress:C.executeNativeBackPress}},394,[6,8,9,13,15,12,26,58,31,55,2,395,79,396,397,398,399,53]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.Freeze=function(o){var u=o.freeze,c=o.children,l=o.placeholder,p=void 0===l?null:l;return(0,n.jsx)(t.Suspense,{fallback:p,children:(0,n.jsx)(f,{freeze:u,children:c})})};var t=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var f=o(n);if(f&&f.has(t))return f.get(t);var u={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(u,l,p):u[l]=t[l]}u.default=t,f&&f.set(t,u);return u})(r(d[0])),n=r(d[1]);function o(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,f=new WeakMap;return(o=function(t){return t?f:n})(t)}function f(o){var f=o.freeze,u=o.children,c=(0,t.useRef)({}).current;if(f&&!c.promise)throw c.promise=new Promise(function(t){c.resolve=t}),c.promise;if(f)throw c.promise;return c.promise&&(c.resolve(),c.promise=void 0),(0,n.jsx)(t.Fragment,{children:u})}},395,[55,53]); +__d(function(g,r,i,a,m,e,d){var t=r(d[0]),n=t(r(d[1])),o=t(r(d[2])),c=t(r(d[3])),l=t(r(d[4])),u=t(r(d[5])),s=t(r(d[6])),v=t(r(d[7])),S=t(r(d[8])),f=t(r(d[9])),h=r(d[10]),p=r(d[11]),y=t(r(d[12])),w=r(d[13]),N=t(r(d[14])),b=t(r(d[15])),C=r(d[16]),k=r(d[17]),j=["children"],O=["enabled"],x=["active","activityState","children","isNativeStack","statusBarColor"],P=["active","activityState","style","onComponentRef"],R=["enabled","hasTwoStates"];function B(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}function H(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);n&&(c=c.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,c)}return o}function A(t){for(var n=1;n1,children:t})});return(0,k.jsx)(L.NativeScreenStack,A(A({},o),{},{children:l}))}return(0,k.jsx)(L.NativeScreenStack,A({},t))},get NativeScreen(){return L.NativeScreen},get NativeScreenContainer(){return L.NativeScreenContainer},get NativeScreenNavigationContainer(){return L.NativeScreenNavigationContainer},get ScreenStackHeaderConfig(){return L.NativeScreenStackHeaderConfig},get ScreenStackHeaderSubview(){return L.NativeScreenStackHeaderSubview},get SearchBar(){return C.isSearchBarAvailableForCurrentPlatform?L.NativeSearchBar:(console.warn('Importing SearchBar is only valid on iOS and Android devices.'),h.View)},get FullWindowOverlay(){return'ios'!==h.Platform.OS?(console.warn('Importing FullWindowOverlay is only valid on iOS devices.'),h.View):L.NativeFullWindowOverlay},ScreenStackHeaderBackButtonImage:function(t){return(0,k.jsx)(L.NativeScreenStackHeaderSubview,{type:"back",style:Q.headerSubview,children:(0,k.jsx)(h.Image,A({resizeMode:"center",fadeDuration:0},t))})},ScreenStackHeaderRightView:function(t){return(0,k.jsx)(L.NativeScreenStackHeaderSubview,A(A({},t),{},{type:"right",style:Q.headerSubview}))},ScreenStackHeaderLeftView:function(t){return(0,k.jsx)(L.NativeScreenStackHeaderSubview,A(A({},t),{},{type:"left",style:Q.headerSubview}))},ScreenStackHeaderCenterView:function(t){return(0,k.jsx)(L.NativeScreenStackHeaderSubview,A(A({},t),{},{type:"center",style:Q.headerSubview}))},ScreenStackHeaderSearchBarView:function(t){return(0,k.jsx)(L.NativeScreenStackHeaderSubview,A(A({},t),{},{type:"searchBar",style:Q.headerSubview}))},enableScreens:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];(V=F&&t)&&!h.UIManager.getViewManagerConfig('RNSScreen')&&console.error("Screen native module hasn't been linked. Please check the react-native-screens README for more details")},enableFreeze:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=parseInt(w.version.split('.')[1]);0===n||n>=64||!t||console.warn('react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.'),z=t},screensEnabled:function(){return V},shouldUseActivityState:!0,useTransitionProgress:b.default,isSearchBarAvailableForCurrentPlatform:C.isSearchBarAvailableForCurrentPlatform,executeNativeBackPress:C.executeNativeBackPress}},394,[6,8,9,13,15,12,26,58,31,56,2,395,79,396,397,398,399,53]); +__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.Freeze=function(o){var u=o.freeze,c=o.children,l=o.placeholder,p=void 0===l?null:l;return(0,n.jsx)(t.Suspense,{fallback:p,children:(0,n.jsx)(f,{freeze:u,children:c})})};var t=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var f=o(n);if(f&&f.has(t))return f.get(t);var u={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(u,l,p):u[l]=t[l]}u.default=t,f&&f.set(t,u);return u})(r(d[0])),n=r(d[1]);function o(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,f=new WeakMap;return(o=function(t){return t?f:n})(t)}function f(o){var f=o.freeze,u=o.children,c=(0,t.useRef)({}).current;if(f&&!c.promise)throw c.promise=new Promise(function(t){c.resolve=t}),c.promise;if(f)throw c.promise;return c.promise&&(c.resolve(),c.promise=void 0),(0,n.jsx)(t.Fragment,{children:u})}},395,[56,53]); __d(function(e,r,t,a,s,i,n){s.exports={name:"react-native",version:"0.64.3",bin:"./cli.js",description:"A framework for building native apps using React",license:"MIT",repository:"github:facebook/react-native",engines:{node:">=12"},"jest-junit":{outputDirectory:"reports/junit",outputName:"js-test-results.xml"},files:["!template/node_modules","!template/package-lock.json","!template/yarn.lock","android","cli.js","flow","flow-typed","index.js","interface.js","jest-preset.js","jest","Libraries","LICENSE","local-cli","React-Core.podspec","react-native.config.js","react.gradle","React.podspec","React","ReactAndroid","ReactCommon","README.md","rn-get-polyfills.js","scripts/compose-source-maps.js","scripts/generate-specs.sh","scripts/generate-specs-cli.js","scripts/ios-configure-glog.sh","scripts/launchPackager.bat","scripts/launchPackager.command","scripts/node-binary.sh","scripts/packager.sh","scripts/react_native_pods.rb","scripts/react-native-xcode.sh","scripts/find-node.sh","template.config.js","template","third-party-podspecs"],scripts:{start:"react-native start",test:"jest","test-ci":"jest --maxWorkers=2 --ci --reporters=\"default\" --reporters=\"jest-junit\"",flow:"flow","flow-check-ios":"flow check","flow-check-android":"flow check --flowconfig-name .flowconfig.android",lint:"eslint .","lint-ci":"./scripts/circleci/analyze_code.sh && yarn shellcheck",shellcheck:"./scripts/circleci/analyze_scripts.sh","clang-format":"clang-format -i --glob=*/**/*.{h,cpp,m,mm}",format:"npm run prettier && npm run clang-format",prettier:"prettier --write \"./**/*.{js,md,yml}\"","format-check":"prettier --list-different \"./**/*.{js,md,yml}\"","update-lock":"npx yarn-deduplicate","docker-setup-android":"docker pull reactnativecommunity/react-native-android:2.1","docker-build-android":"docker build -t reactnativeci/android -f .circleci/Dockerfiles/Dockerfile.android .","test-android-run-instrumentation":"docker run --cap-add=SYS_ADMIN -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-android-docker-instrumentation-tests.sh","test-android-run-unit":"docker run --cap-add=SYS_ADMIN -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-android-docker-unit-tests.sh","test-android-run-e2e":"docker run --privileged -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-ci-e2e-tests.sh --android --js","test-android-all":"yarn run docker-build-android && yarn run test-android-run-unit && yarn run test-android-run-instrumentation && yarn run test-android-run-e2e","test-android-instrumentation":"yarn run docker-build-android && yarn run test-android-run-instrumentation","test-android-unit":"yarn run docker-build-android && yarn run test-android-run-unit","test-android-e2e":"yarn run docker-build-android && yarn run test-android-run-e2e","build-ios-e2e":"detox build -c ios.sim.release","test-ios-e2e":"detox test -c ios.sim.release packages/rn-tester/e2e","test-ios":"./scripts/objc-test.sh test"},peerDependencies:{react:"17.0.1"},dependencies:{"@jest/create-cache-key-function":"^26.5.0","@react-native-community/cli":"^5.0.1-alpha.1","@react-native-community/cli-platform-android":"^5.0.1-alpha.1","@react-native-community/cli-platform-ios":"^5.0.1-alpha.1","@react-native/assets":"1.0.0","@react-native/normalize-color":"1.0.0","@react-native/polyfills":"1.0.0","abort-controller":"^3.0.0",anser:"^1.4.9","base64-js":"^1.1.2","event-target-shim":"^5.0.1","hermes-engine":"~0.7.0",invariant:"^2.2.4","jsc-android":"^245459.0.0","metro-babel-register":"0.64.0","metro-react-native-babel-transformer":"0.64.0","metro-runtime":"0.64.0","metro-source-map":"0.64.0",nullthrows:"^1.1.1","pretty-format":"^26.5.2",promise:"^8.0.3","prop-types":"^15.7.2","react-devtools-core":"^4.6.0","react-native-codegen":"^0.0.6","react-refresh":"^0.4.0","regenerator-runtime":"^0.13.2",scheduler:"^0.20.1",shelljs:"^0.8.4","stacktrace-parser":"^0.1.3","use-subscription":"^1.0.0","whatwg-fetch":"^3.0.0",ws:"^6.1.4"},devDependencies:{"flow-bin":"^0.137.0",react:"17.0.1"},detox:{"test-runner":"jest","runner-config":"packages/rn-tester/e2e/config.json",specs:"",configurations:{"android.emu.release":{binaryPath:"packages/rn-tester/android/app/build/outputs/apk/hermes/release/app-hermes-x86-release.apk",testBinaryPath:"packages/rn-tester/android/app/build/outputs/apk/androidTest/hermes/release/app-hermes-release-androidTest.apk",build:"./gradlew :packages:rn-tester:android:app:assembleRelease :packages:rn-tester:android:app:assembleAndroidTest -DtestBuildType=release",type:"android.emulator",device:{avdName:"Nexus_6_API_29"}},"android.emu.debug":{binaryPath:"packages/rn-tester/android/app/build/outputs/apk/hermes/debug/app-hermes-x86-debug.apk",testBinaryPath:"packages/rn-tester/android/app/build/outputs/apk/androidTest/hermes/debug/app-hermes-debug-androidTest.apk",build:"./gradlew :packages:rn-tester:android:app:assembleDebug :packages:rn-tester:android:app:assembleAndroidTest -DtestBuildType=debug",type:"android.emulator",device:{avdName:"Nexus_6_API_29"}},"ios.sim.release":{binaryPath:"packages/rn-tester/build/Build/Products/Release-iphonesimulator/RNTester.app/",build:"xcodebuild -workspace packages/rn-tester/RNTesterPods.xcworkspace -scheme RNTester -configuration Release -sdk iphonesimulator -derivedDataPath packages/rn-tester/build -UseModernBuildSystem=NO -quiet",type:"ios.simulator",name:"iPhone 8"},"ios.sim.debug":{binaryPath:"packages/rn-tester/build/Build/Products/Debug-iphonesimulator/RNTester.app/",build:"xcodebuild -workspace packages/rn-tester/RNTesterPods.xcworkspace -scheme RNTester -configuration Debug -sdk iphonesimulator -derivedDataPath packages/rn-tester/build -UseModernBuildSystem=NO -quiet",type:"ios.simulator",name:"iPhone 8"}}}}},396,[]); -__d(function(g,r,i,a,m,e,d){function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).createContext(void 0);e.default=n},397,[55]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=n.useContext(o.default);if(void 0===t)throw new Error("Couldn't find values for transition progress. Are you inside a screen in Native Stack?");return t};var n=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=t[l]}f.default=t,o&&o.set(t,f);return f})(r(d[1])),o=t(r(d[2]));function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}},398,[6,55,397]); +__d(function(g,r,i,a,m,e,d){function t(n){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(t=function(t){return t?u:o})(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=(function(n,o){if(!o&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var u=t(o);if(u&&u.has(n))return u.get(n);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if("default"!==l&&Object.prototype.hasOwnProperty.call(n,l)){var p=c?Object.getOwnPropertyDescriptor(n,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=n[l]}f.default=n,u&&u.set(n,f);return f})(r(d[0])).createContext(void 0);e.default=n},397,[56]); +__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=n.useContext(o.default);if(void 0===t)throw new Error("Couldn't find values for transition progress. Are you inside a screen in Native Stack?");return t};var n=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=t[l]}f.default=t,o&&o.set(t,f);return f})(r(d[1])),o=t(r(d[2]));function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}},398,[6,56,397]); __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.executeNativeBackPress=function(){return t.BackHandler.exitApp(),!0},e.isSearchBarAvailableForCurrentPlatform=void 0;var t=r(d[0]),o=['ios','android'].includes(t.Platform.OS);e.isSearchBarAvailableForCurrentPlatform=o},399,[2]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.App=function(n){return(0,j.jsx)(u.LoadInitialData,{loader:(0,j.jsx)(s.Splash,{}),children:(0,j.jsx)(c.AppProviders,{children:(0,j.jsxs)(S.Navigator,{initialRouteName:"Main",mode:"modal",children:[(0,j.jsx)(S.Screen,{name:"Main",component:h,options:{header:function(){return null}}}),(0,j.jsx)(S.Screen,{name:"User Profile",component:p.UserProfileScreen,options:{header:function(){return null}}})]})})})};var n=r(d[0]),t=r(d[1]),o=r(d[2]),c=((function(n,t){if(!t&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var o=v(t);if(o&&o.has(n))return o.get(n);var c={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if("default"!==s&&Object.prototype.hasOwnProperty.call(n,s)){var l=u?Object.getOwnPropertyDescriptor(n,s):null;l&&(l.get||l.set)?Object.defineProperty(c,s,l):c[s]=n[s]}c.default=n,o&&o.set(n,c)})(r(d[3])),r(d[4])),u=r(d[5]),s=r(d[6]),l=r(d[7]),f=r(d[8]),p=r(d[9]),j=r(d[10]);function v(n){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(v=function(n){return n?o:t})(n)}var b=(0,n.createBottomTabNavigator)(),S=(0,t.createStackNavigator)();var h=function(){return(0,j.jsxs)(b.Navigator,{screenOptions:{tabBarHideOnKeyboard:!0},children:[(0,j.jsx)(b.Screen,{name:"Home",component:l.HomeScreen,options:{header:function(){return null},tabBarIcon:function(n){var t=n.focused;return(0,j.jsx)(o.HomeFilledIcon,{focused:t})}}}),(0,j.jsx)(b.Screen,{name:"Settings",component:f.SettingsScreen,options:{header:function(){return null},tabBarIcon:function(n){var t=n.focused;return(0,j.jsx)(o.SettingsFilledIcon,{focused:t})}}})]})}},400,[401,539,606,55,932,977,979,980,985,986,53]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"BottomTabBar",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"BottomTabBarHeightContext",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"BottomTabView",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"createBottomTabNavigator",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"useBottomTabBarHeight",{enumerable:!0,get:function(){return b.default}});var n=t(r(d[1])),o=t(r(d[2])),u=t(r(d[3])),f=t(r(d[4])),b=t(r(d[5]))},401,[6,402,523,488,522,538]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=t(r(d[1])),o=t(r(d[2])),l=t(r(d[3])),c=r(d[4]),s=((function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=y(n);if(o&&o.has(t))return o.get(t);var l={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var b=c?Object.getOwnPropertyDescriptor(t,s):null;b&&(b.get||b.set)?Object.defineProperty(l,s,b):l[s]=t[s]}l.default=t,o&&o.set(t,l)})(r(d[5])),t(r(d[6]))),b=t(r(d[7])),u=r(d[8]),p=["initialRouteName","backBehavior","children","screenListeners","screenOptions","sceneContainerStyle"],f=["lazy","tabBarOptions"];function y(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(y=function(t){return t?o:n})(t)}function v(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);n&&(l=l.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,l)}return o}function O(t){for(var o=1;o0;c--)y.unshift({type:"route",key:t[c-1].key});break;case'firstRoute':0!==n&&y.unshift({type:"route",key:t[0].key});break;case'initialRoute':n!==(s=-1===(s=t.findIndex(function(t){return t.name===u}))?0:s)&&y.unshift({type:"route",key:t[s].key})}return y},p=function(t,n,o,u){var s;if('history'===o){var c=t.routes[n].key;s=t.history.filter(function(t){return'route'===t.type&&t.key!==c}).concat({type:"route",key:c})}else s=f(t.routes,n,o,u);return y(y({},t),{},{index:n,history:s})}},410,[6,26,408,407]); __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.DrawerActions=void 0,e.default=function(t){var o=t.openByDefault,u=(0,n.default)(t,s),p=(0,f.default)(u);return l(l({},p),{},{type:'drawer',getInitialState:function(t){var n=t.routeNames,u=t.routeParamList,f=t.routeGetIdList,s=p.getInitialState({routeNames:n,routeParamList:u,routeGetIdList:f});return o&&(s=b(s)),l(l({},s),{},{stale:!1,type:'drawer',key:"drawer-"+(0,c.nanoid)()})},getRehydratedState:function(t,n){var u=n.routeNames,f=n.routeParamList,s=n.routeGetIdList;if(!1===t.stale)return t;var y=p.getRehydratedState(t,{routeNames:u,routeParamList:f,routeGetIdList:s});return(t.history?w(t):o)&&(y=b(y)),l(l({},y),{},{type:'drawer',key:"drawer-"+(0,c.nanoid)()})},getStateForRouteFocus:function(t,n){var u=p.getStateForRouteFocus(t,n);return o?b(u):v(u)},getStateForAction:function(t,n,u){switch(n.type){case'OPEN_DRAWER':return b(t);case'CLOSE_DRAWER':return v(t);case'TOGGLE_DRAWER':return w(t)?v(t):b(t);case'GO_BACK':if(o){if(!w(t))return b(t)}else if(w(t))return v(t);return p.getStateForAction(t,n,u);default:return p.getStateForAction(t,n,u)}},actionCreators:O})};var n=t(r(d[1])),o=t(r(d[2])),u=t(r(d[3])),c=r(d[4]),f=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=p(n);if(o&&o.has(t))return o.get(t);var u={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in t)if("default"!==f&&Object.prototype.hasOwnProperty.call(t,f)){var s=c?Object.getOwnPropertyDescriptor(t,f):null;s&&(s.get||s.set)?Object.defineProperty(u,f,s):u[f]=t[f]}u.default=t,o&&o.set(t,u);return u})(r(d[5])),s=["openByDefault"];function p(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(p=function(t){return t?o:n})(t)}function y(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);n&&(u=u.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,u)}return o}function l(t){for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:new Set,o=c();if(n.has(o.key))return!1;if(n.add(o.key),'string'!=typeof t.target||t.target===o.key){var y=f.getStateForAction(o,t,w.current);if(null!==(y=null===y&&t.target===o.key?o:y)){if(P(t,o===y),o!==y){var O=(0,u.shouldPreventRemove)(b,p,o.routes,y.routes,t);if(O)return!0;s(y)}if(void 0!==k){var j=f.shouldActionChangeFocus(t);j&&void 0!==l&&k(l)}return!0}}if(void 0!==h&&h(t,n))return!0;for(var _=v.length-1;_>=0;_--){var M=v[_];if(M(t,n))return!0}return!1},[v,p,b,c,l,h,P,k,f,s]);return(0,u.default)({getState:c,emitter:b,beforeRemoveListeners:p}),n.useEffect(function(){return null==j?void 0:j('action',_)},[j,_]),_};var n=c(r(d[1])),o=t(r(d[2])),u=c(r(d[3]));function f(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(f=function(t){return t?o:n})(t)}function c(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=f(n);if(o&&o.has(t))return o.get(t);var u={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var l=c?Object.getOwnPropertyDescriptor(t,s):null;l&&(l.get||l.set)?Object.defineProperty(u,s,l):u[s]=t[s]}return u.default=t,o&&o.set(t,u),u}},443,[6,55,416,444]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var n=t.getState,c=t.emitter,l=t.beforeRemoveListeners,y=o.useContext(u.default).addKeyedListener,p=o.useContext(f.default),s=null==p?void 0:p.key;o.useEffect(function(){if(s)return null==y?void 0:y('beforeRemove',s,function(t){var o=n();return O(c,l,o.routes,[],t)})},[y,l,c,n,s])},e.shouldPreventRemove=void 0;var n=t(r(d[1])),o=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=c(n);if(o&&o.has(t))return o.get(t);var u={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var y=f?Object.getOwnPropertyDescriptor(t,l):null;y&&(y.get||y.set)?Object.defineProperty(u,l,y):u[l]=t[l]}u.default=t,o&&o.set(t,u);return u})(r(d[2])),u=t(r(d[3])),f=t(r(d[4]));function c(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(c=function(t){return t?o:n})(t)}function l(t,n){var o="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(o)return(o=o.call(t)).next.bind(o);if(Array.isArray(t)||(o=y(t))||n&&t&&"number"==typeof t.length){o&&(t=o);var u=0;return function(){return u>=t.length?{done:!0}:{done:!1,value:t[u++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(t,n){if(t){if("string"==typeof t)return p(t,n);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?p(t,n):void 0}}function p(t,n){(null==n||n>t.length)&&(n=t.length);for(var o=0,u=new Array(n);o=t.length?{done:!0}:{done:!1,value:t[u++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(t,n){if(t){if("string"==typeof t)return c(t,n);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?c(t,n):void 0}}function c(t,n){(null==n||n>t.length)&&(n=t.length);for(var o=0,u=new Array(n);o {\n // Your code here\n }, [depA, depB])\n);\n\nSee usage guide: https://reactnavigation.org/docs/5.x/use-focus-effect")}n.useEffect(function(){var n,o=!1,c=function(){var n=t();if(void 0===n||'function'==typeof n)return n};u.isFocused()&&(n=c(),o=!0);var f=u.addListener('focus',function(){o||(void 0!==n&&n(),n=c(),o=!0)}),s=u.addListener('blur',function(){void 0!==n&&n(),n=void 0,o=!1});return function(){void 0!==n&&n(),f(),s()}},[t,u])};var n=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var c={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var p=f?Object.getOwnPropertyDescriptor(t,s):null;p&&(p.get||p.set)?Object.defineProperty(c,s,p):c[s]=t[s]}c.default=t,o&&o.set(t,c);return c})(r(d[1])),o=t(r(d[2]));function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}},453,[6,55,451]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=(0,f.default)(),o=(0,u.useState)(t.isFocused),c=(0,n.default)(o,2),l=c[0],s=c[1],p=t.isFocused();l!==p&&s(p);return u.useEffect(function(){var n=t.addListener('focus',function(){return s(!0)}),u=t.addListener('blur',function(){return s(!1)});return function(){n(),u()}},[t]),u.useDebugValue(p),p};var n=t(r(d[1])),u=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var u=o(n);if(u&&u.has(t))return u.get(t);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var s=c?Object.getOwnPropertyDescriptor(t,l):null;s&&(s.get||s.set)?Object.defineProperty(f,l,s):f[l]=t[l]}f.default=t,u&&u.set(t,f);return f})(r(d[2])),f=t(r(d[3]));function o(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,u=new WeakMap;return(o=function(t){return t?u:n})(t)}},454,[6,31,55,451]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var o=(0,f.default)(),c=u.useState(function(){return t(o.getState())}),l=(0,n.default)(c,2)[1],p=u.useRef(t);return u.useEffect(function(){p.current=t}),u.useEffect(function(){return o.addListener('state',function(t){l(p.current(t.data.state))})},[o]),t(o.getState())};var n=t(r(d[1])),u=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var u=o(n);if(u&&u.has(t))return u.get(t);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=t[l]}f.default=t,u&&u.set(t,f);return f})(r(d[2])),f=t(r(d[3]));function o(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,u=new WeakMap;return(o=function(t){return t?u:n})(t)}},455,[6,31,55,451]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,l){var f,p=(0,c.default)(l),v=(0,s.default)(p,2),h=v[0],y=v[1],b=[];null!=y&&y.initialRouteName&&b.push({initialRouteName:y.initialRouteName,parentScreens:[]});var O=null==y?void 0:y.screens,P=t.replace(/\/+/g,'/').replace(/^\//,'').replace(/\?.*$/,'');if(P=P.endsWith('/')?P:P+"/",void 0===O){var k=P.split('/').filter(Boolean).map(function(n,o,u){var s=decodeURIComponent(n);return o===u.length-1?{name:s,params:W(t)}:{name:s}});return k.length?S(k,b):void 0}var R,A,D=(f=[]).concat.apply(f,(0,u.default)(Object.keys(O).map(function(t){return x(h,t,O,[],b,[])}))).sort(function(t,n){if(t.pattern===n.pattern)return n.routeNames.join('>').localeCompare(t.routeNames.join('>'));if(t.pattern.startsWith(n.pattern))return-1;if(n.pattern.startsWith(t.pattern))return 1;var o=t.pattern.split('/'),u=n.pattern.split('/'),s=o.indexOf('*'),l=u.indexOf('*');return-1===s&&-1!==l?-1:-1!==s&&-1===l?1:s===l?u.length-o.length:l-s});if(D.reduce(function(t,u){if(t[u.pattern]){var s=t[u.pattern].routeNames,l=u.routeNames;if(!(s.length>l.length?l.every(function(t,n){return s[n]===t}):s.every(function(t,n){return l[n]===t})))throw new Error("Found conflicting screens with the same pattern. The pattern '"+u.pattern+"' resolves to both '"+s.join(' > ')+"' and '"+l.join(' > ')+"'. Patterns must be unique and cannot resolve to more than one screen.")}return(0,o.default)(t,(0,n.default)({},u.pattern,u))},{}),'/'===P){var I=D.find(function(t){return''===t.path&&t.routeNames.every(function(t){var n;return!(null!=(n=D.find(function(n){return n.screen===t}))&&n.path)})});return I?S(I.routeNames.map(function(n,o,u){return o===u.length-1?{name:n,params:W(t,I.parse)}:{name:n}}),b):void 0}if(!1===h){var M=w(P,D.map(function(t){return j(j({},t),{},{regex:t.regex?new RegExp(t.regex.source+'$'):void 0})})),_=M.routes,C=M.remainingPath;void 0!==_&&(A=S(_,b),P=C,R=A)}else for(;P;){var U=w(P,D),$=U.routes,B=U.remainingPath;if(P=B,void 0===$){var T=P.split('/');$=[{name:decodeURIComponent(T[0])}],T.shift(),P=T.join('/')}var q=S($,b);if(A){for(var F;null!=(L=A)&&L.routes[A.index||0].state;){var L;A=A.routes[A.index||0].state}A.routes[(null==(F=A)?void 0:F.index)||0].state=q}else R=q;A=q}if(null==A||null==R)return;var z=E(A),G=W(t,N(z.name,D));G&&(z.params=j(j({},z.params),G));return R};var n=t(r(d[1])),o=t(r(d[2])),u=t(r(d[3])),s=t(r(d[4])),l=t(r(d[5])),f=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=p(n);if(o&&o.has(t))return o.get(t);var u={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var f=s?Object.getOwnPropertyDescriptor(t,l):null;f&&(f.get||f.set)?Object.defineProperty(u,l,f):u[l]=t[l]}u.default=t,o&&o.set(t,u);return u})(r(d[6])),c=t(r(d[7]));function p(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(p=function(t){return t?o:n})(t)}function v(t,n){var o="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(o)return(o=o.call(t)).next.bind(o);if(Array.isArray(t)||(o=h(t))||n&&t&&"number"==typeof t.length){o&&(t=o);var u=0;return function(){return u>=t.length?{done:!0}:{done:!1,value:t[u++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function h(t,n){if(t){if("string"==typeof t)return y(t,n);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?y(t,n):void 0}}function y(t,n){(null==n||n>t.length)&&(n=t.length);for(var o=0,u=new Array(n);o3&&void 0!==arguments[3]?arguments[3]:[],f=arguments.length>4?arguments[4]:void 0,c=arguments.length>5?arguments[5]:void 0,p=arguments.length>6?arguments[6]:void 0,v=[];l.push(o),c.push(o);var h=s[o];if('string'==typeof h){var y=p?O(p,h):h;v.push(P(n,o,l,y,h))}else if('object'==typeof h){var b;if('string'==typeof h.path){if(n)b=!0!==h.exact&&p?O(p,h.path):h.path;else{if(h.exact&&void 0===h.path)throw new Error("A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.");b=!0!==h.exact?O(p||'',h.path||''):h.path||''}v.push(P(n,o,l,b,h.path,h.parse))}h.screens&&(h.initialRouteName&&f.push({initialRouteName:h.initialRouteName,parentScreens:c}),Object.keys(h.screens).forEach(function(o){var s,y=t(n,o,h.screens,l,f,(0,u.default)(c),null!=(s=b)?s:p);v.push.apply(v,(0,u.default)(y))}))}return l.pop(),v},P=function(t,n,o,s,f,c){return{screen:n,regex:(s=s.split('/').filter(Boolean).join('/'))?new RegExp("^("+s.split('/').map(function(n){if(t&&'*'===n)throw new Error("Please update your config to the new format to use wildcard pattern ('*'). https://reactnavigation.org/docs/5.x/configuring-links/#updating-config");return n.startsWith(':')?"(([^/]+\\/)"+(n.endsWith('?')?'?':'')+")":('*'===n?'.*':(0,l.default)(n))+"\\/"}).join('')+")"):void 0,pattern:s,path:f,routeNames:(0,u.default)(o),parse:c}},N=function(t,n){for(var o,u=v(n);!(o=u()).done;){var s=o.value;if(t===s.routeNames[s.routeNames.length-1])return s.parse}},k=function(t,n,o){for(var u,s=v(o);!(u=s()).done;){var l=u.value;if(n.length===l.parentScreens.length){for(var f=!0,c=0;c0)for(var f=o;u=t.shift();){l=k(u.name,s,n);var c=f.index||f.routes.length-1;f.routes[c].state=R(l,u,0===t.length),t.length>0&&(f=f.routes[c].state),s.push(u.name)}return o},E=function(t){for(var n,o=t;null!=(u=o)&&u.routes[o.index||0].state;){var u;o=o.routes[o.index||0].state}return o.routes[(null==(n=o)?void 0:n.index)||0]},W=function(t,n){var o=t.split('?')[1],u=f.parse(o);return n&&Object.keys(u).forEach(function(t){n[t]&&'string'==typeof u[t]&&(u[t]=n[t](u[t]))}),Object.keys(u).length?u:void 0}},456,[6,26,30,39,31,457,458,463]); -__d(function(g,r,i,a,m,e,d){'use strict';m.exports=function(t){if('string'!=typeof t)throw new TypeError('Expected a string');return t.replace(/[|\\{}()[\]^$+*?.]/g,'\\$&').replace(/-/g,'\\x2d')}},457,[]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),o=r(d[2]);function u(t,n){var o="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(o)return(o=o.call(t)).next.bind(o);if(Array.isArray(t)||(o=c(t))||n&&t&&"number"==typeof t.length){o&&(t=o);var u=0;return function(){return u>=t.length?{done:!0}:{done:!1,value:t[u++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function c(t,n){if(t){if("string"==typeof t)return s(t,n);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?s(t,n):void 0}}function s(t,n){(null==n||n>t.length)&&(n=t.length);for(var o=0,u=new Array(n);o0}).join('&')},e.parseUrl=function(o,u){u=n({decode:!0},u);var c=p(o,'#'),s=t(c,2),l=s[0],f=s[1];return n({url:l.split('?')[0]||'',query:x(O(o),u)},u&&u.parseFragmentIdentifier&&f?{fragmentIdentifier:k(f,u)}:{})},e.stringifyUrl=function(t,o){o=n({encode:!0,strict:!0},o);var u=F(t.url).split('?')[0]||'',c=e.extract(t.url),s=e.parse(c,{sort:!1}),l=n(s,t.query),f=e.stringify(l,o);f&&(f="?"+f);var p=A(t.url);return t.fragmentIdentifier&&(p="#"+h(t.fragmentIdentifier,o)),""+u+f+p},e.pick=function(t,o,u){u=n({parseFragmentIdentifier:!0},u);var c=e.parseUrl(t,u),s=c.url,l=c.query,f=c.fragmentIdentifier;return e.stringifyUrl({url:s,query:y(l,o),fragmentIdentifier:f},u)},e.exclude=function(t,n,o){var u=Array.isArray(n)?function(t){return!n.includes(t)}:function(t,o){return!n(t,o)};return e.pick(t,u,o)}},458,[31,30,39,459,460,461,462]); -__d(function(g,r,i,a,m,e,d){'use strict';m.exports=function(t){return encodeURIComponent(t).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}},459,[]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=new RegExp('%[a-f0-9]{2}','gi'),n=new RegExp("(%[a-f0-9]{2})+",'gi');function o(t,n){try{return decodeURIComponent(t.join(''))}catch(t){}if(1===t.length)return t;n=n||1;var c=t.slice(0,n),p=t.slice(n);return Array.prototype.concat.call([],o(c),o(p))}function c(n){try{return decodeURIComponent(n)}catch(f){for(var c=n.match(t),p=1;p1?P.replace(/\/$/,''):P};var n=t(r(d[1])),o=t(r(d[2])),u=t(r(d[3])),f=t(r(d[4])),s=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=p(n);if(o&&o.has(t))return o.get(t);var u={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var c=f?Object.getOwnPropertyDescriptor(t,s):null;c&&(c.get||c.set)?Object.defineProperty(u,s,c):u[s]=t[s]}u.default=t,o&&o.set(t,u);return u})(r(d[5])),c=t(r(d[6]));function p(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(p=function(t){return t?o:n})(t)}function l(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);n&&(u=u.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,u)}return o}function v(t){for(var n=1;n' section of the 'AndroidManifest.xml' file to avoid launching multiple instances":''].join('\n').trim());return s=!1!==v,function(){s=!1}});var j=t.useRef(v),M=t.useRef(h),S=t.useRef(p),E=t.useRef(y),_=t.useRef(L),T=t.useRef(O);t.useEffect(function(){j.current=v,M.current=h,S.current=p,E.current=y,_.current=L,T.current=O});var A=t.useCallback(function(){var n;if(j.current){var t=E.current();if(null!=t&&'string'!=typeof t)return t.then(function(n){var t=n?(0,c.default)(M.current,n):null;return t?_.current(t,S.current):void 0});var o=t?(0,c.default)(M.current,t):null;n=o?_.current(o,S.current):void 0}var u={then:function(t){return Promise.resolve(t?t(n):n)},catch:function(){return u}};return u},[]);return t.useEffect(function(){return w(function(t){if(v){var o=(0,c.default)(M.current,t),u=n.current;if(u&&o){var f=_.current(o,S.current);if(f){var s=u.getRootState();if(f.routes.some(function(n){return!(null!=s&&s.routeNames.includes(n.name))}))return void console.warn("The navigation state parsed from the URL contains routes not present in the root navigator. This usually means that the linking configuration doesn't match the navigation structure. See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.");var l=T.current(f,S.current);if(void 0!==l)try{u.dispatch(l)}catch(n){console.warn("An error occurred when trying to handle the link '"+o+"': "+n.message)}else u.resetRoot(f)}}}})},[v,n,w]),{getInitialState:A}};var t=(function(n,t){if(!t&&n&&n.__esModule)return n;if(null===n||"object"!=typeof n&&"function"!=typeof n)return{default:n};var o=f(t);if(o&&o.has(n))return o.get(n);var u={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if("default"!==s&&Object.prototype.hasOwnProperty.call(n,s)){var l=c?Object.getOwnPropertyDescriptor(n,s):null;l&&(l.get||l.set)?Object.defineProperty(u,s,l):u[s]=n[s]}u.default=n,o&&o.set(n,u);return u})(r(d[1])),o=r(d[2]),u=r(d[3]),c=n(r(d[4]));function f(n){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(f=function(n){return n?o:t})(n)}var s=!1},473,[6,55,2,404,474]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,l){for(var u,c=o(t);!(u=c()).done;){var f,p,v=u.value,y=null!=(f=null==(p=v.match(/^[^:]+:/))?void 0:p[0])?f:'',s=v.replace(new RegExp("^"+(0,n.default)(y)),'').replace(/\/+/g,'/').replace(/^\//,''),b=new RegExp("^"+(0,n.default)(y)+"(/)*"+s.split('.').map(function(t){return'*'===t?'[^/]+':(0,n.default)(t)}).join('\\.')),h=l.replace(/\/+/g,'/');if(b.test(h))return h.replace(b,'')}return};var n=t(r(d[1]));function o(t,n){var o="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(o)return(o=o.call(t)).next.bind(o);if(Array.isArray(t)||(o=l(t))||n&&t&&"number"==typeof t.length){o&&(t=o);var u=0;return function(){return u>=t.length?{done:!0}:{done:!1,value:t[u++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(t,n){if(t){if("string"==typeof t)return u(t,n);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?u(t,n):void 0}}function u(t,n){(null==n||n>t.length)&&(n=t.length);for(var o=0,l=new Array(n);oo.height;l='ios'===t.Platform.OS?t.Platform.isPad?f?56:50:u?32:f?56:44:'android'===t.Platform.OS?56:64;return l+n};var t=r(d[0])},491,[2]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,l){return'string'==typeof t.headerTitle?t.headerTitle:void 0!==t.title?t.title:l}},492,[]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var o=(0,h.useSafeAreaInsets)(),R=(0,h.useSafeAreaFrame)(),C=l.useContext(f.default),O=t.layout,x=void 0===O?R:O,v=t.modal,j=void 0!==v&&v,W=t.title,T=t.headerTitle,B=t.headerTitleAlign,E=void 0===B?s.Platform.select({ios:'center',default:'left'}):B,P=t.headerLeft,L=t.headerLeftLabelVisible,V=t.headerTransparent,k=t.headerTintColor,A=t.headerBackground,H=t.headerRight,D=t.headerTitleAllowFontScaling,M=t.headerTitleStyle,_=t.headerLeftContainerStyle,F=t.headerRightContainerStyle,I=t.headerTitleContainerStyle,z=t.headerBackgroundContainerStyle,G=t.headerStyle,q=t.headerShadowVisible,J=t.headerPressColor,K=t.headerPressOpacity,N=t.headerStatusBarHeight,Q=void 0===N?C?0:o.top:N,U=(0,b.default)(x,j,Q),X=s.StyleSheet.flatten(G||{}),Y=X.height,Z=void 0===Y?U:Y,$=X.minHeight,ee=X.maxHeight,te=X.backgroundColor,re=X.borderBottomColor,oe=X.borderBottomEndRadius,de=X.borderBottomLeftRadius,ie=X.borderBottomRightRadius,ae=X.borderBottomStartRadius,ne=X.borderBottomWidth,le=X.borderColor,se=X.borderEndColor,he=X.borderEndWidth,be=X.borderLeftColor,ue=X.borderLeftWidth,fe=X.borderRadius,ce=X.borderRightColor,pe=X.borderRightWidth,ye=X.borderStartColor,ge=X.borderStartWidth,me=X.borderStyle,Re=X.borderTopColor,Ce=X.borderTopEndRadius,we=X.borderTopLeftRadius,Se=X.borderTopRightRadius,Oe=X.borderTopStartRadius,xe=X.borderTopWidth,ve=X.borderWidth,je=X.boxShadow,We=X.elevation,Te=X.shadowColor,Be=X.shadowOffset,Ee=X.shadowOpacity,Pe=X.shadowRadius,Le=X.opacity,Ve=X.transform,ke=((0,n.default)(X,y),{backgroundColor:te,borderBottomColor:re,borderBottomEndRadius:oe,borderBottomLeftRadius:de,borderBottomRightRadius:ie,borderBottomStartRadius:ae,borderBottomWidth:ne,borderColor:le,borderEndColor:se,borderEndWidth:he,borderLeftColor:be,borderLeftWidth:ue,borderRadius:fe,borderRightColor:ce,borderRightWidth:pe,borderStartColor:ye,borderStartWidth:ge,borderStyle:me,borderTopColor:Re,borderTopEndRadius:Ce,borderTopLeftRadius:we,borderTopRightRadius:Se,borderTopStartRadius:Oe,borderTopWidth:xe,borderWidth:ve,boxShadow:je,elevation:We,shadowColor:Te,shadowOffset:Be,shadowOpacity:Ee,shadowRadius:Pe,opacity:Le,transform:Ve});for(var Ae in ke)void 0===ke[Ae]&&delete ke[Ae];var He=[ke,!1===q&&{elevation:0,shadowOpacity:0,borderBottomWidth:0}],De=P?P({tintColor:k,pressColor:J,pressOpacity:K,labelVisible:L}):null,Me=H?H({tintColor:k,pressColor:J,pressOpacity:K}):null,_e='function'!=typeof T?function(t){return(0,p.jsx)(c.default,w({},t))}:T;return(0,p.jsxs)(l.Fragment,{children:[(0,p.jsx)(s.Animated.View,{pointerEvents:"box-none",style:[s.StyleSheet.absoluteFill,{zIndex:0},z],children:A?A({style:He}):V?null:(0,p.jsx)(u.default,{style:He})}),(0,p.jsxs)(s.Animated.View,{pointerEvents:"box-none",style:[{height:Z,minHeight:$,maxHeight:ee,opacity:Le,transform:Ve}],children:[(0,p.jsx)(s.View,{pointerEvents:"none",style:{height:Q}}),(0,p.jsxs)(s.View,{pointerEvents:"box-none",style:S.content,children:[(0,p.jsx)(s.Animated.View,{pointerEvents:"box-none",style:[S.left,'center'===E&&S.expand,{marginStart:o.left},_],children:De}),(0,p.jsx)(s.Animated.View,{pointerEvents:"box-none",style:[S.title,{maxWidth:'center'===E?x.width-2*((De?!1!==L?80:32:16)+Math.max(o.left,o.right)):x.width-((De?72:16)+(Me?72:16)+o.left-o.right)},I],children:_e({children:W,allowFontScaling:D,tintColor:k,style:M})}),(0,p.jsx)(s.Animated.View,{pointerEvents:"box-none",style:[S.right,S.expand,{marginEnd:o.right},F],children:Me})]})]})]})};var o=t(r(d[1])),n=t(r(d[2])),l=(function(t,o){if(!o&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=R(o);if(n&&n.has(t))return n.get(t);var l={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var h in t)if("default"!==h&&Object.prototype.hasOwnProperty.call(t,h)){var b=s?Object.getOwnPropertyDescriptor(t,h):null;b&&(b.get||b.set)?Object.defineProperty(l,h,b):l[h]=t[h]}l.default=t,n&&n.set(t,l);return l})(r(d[3])),s=r(d[4]),h=r(d[5]),b=t(r(d[6])),u=t(r(d[7])),f=t(r(d[8])),c=t(r(d[9])),p=r(d[10]),y=["height","minHeight","maxHeight","backgroundColor","borderBottomColor","borderBottomEndRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStartRadius","borderBottomWidth","borderColor","borderEndColor","borderEndWidth","borderLeftColor","borderLeftWidth","borderRadius","borderRightColor","borderRightWidth","borderStartColor","borderStartWidth","borderStyle","borderTopColor","borderTopEndRadius","borderTopLeftRadius","borderTopRightRadius","borderTopStartRadius","borderTopWidth","borderWidth","boxShadow","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","opacity","transform"];function R(t){if("function"!=typeof WeakMap)return null;var o=new WeakMap,n=new WeakMap;return(R=function(t){return t?n:o})(t)}function C(t,o){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);o&&(l=l.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,l)}return n}function w(t){for(var n=1;n` at the top of your app.');return t},e.useSafeAreaInsets=O,e.withSafeAreaInsets=function(t){return u.forwardRef(function(n,o){return(0,s.jsx)(w,{children:function(u){return(0,s.jsx)(t,v(v({},n),{},{insets:u,ref:o}))}})})};var n=t(r(d[1])),o=t(r(d[2])),u=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=c(n);if(o&&o.has(t))return o.get(t);var u={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in t)if("default"!==f&&Object.prototype.hasOwnProperty.call(t,f)){var s=l?Object.getOwnPropertyDescriptor(t,f):null;s&&(s.get||s.set)?Object.defineProperty(u,f,s):u[f]=t[f]}u.default=t,o&&o.set(t,u);return u})(r(d[3])),l=r(d[4]),f=t(r(d[5])),s=r(d[6]);function c(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(c=function(t){return t?o:n})(t)}function p(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);n&&(u=u.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,u)}return o}function v(t){for(var o=1;o` at the top of your app.');return t}var w=y.Consumer;e.SafeAreaConsumer=w;var S=y;e.SafeAreaContext=S},495,[6,26,31,55,2,496,53]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o=(0,r(d[0]).requireNativeComponent)('RNCSafeAreaProvider');e.default=o},496,[2]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.SafeAreaView=void 0;var o=(0,r(d[0]).requireNativeComponent)('RNCSafeAreaView');e.SafeAreaView=o},497,[2]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.initialWindowSafeAreaInsets=e.initialWindowMetrics=void 0;var n=r(d[0]).UIManager.getViewManagerConfig('RNCSafeAreaProvider'),t=null!=n&&null!=n.Constants?n.Constants.initialWindowMetrics:null;e.initialWindowMetrics=t;var l=null==t?void 0:t.insets;e.initialWindowSafeAreaInsets=l},498,[2]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0})},499,[]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var o=t.style,s=(0,n.default)(t,u),p=(0,c.useTheme)().colors;return(0,l.jsx)(f.Animated.View,y({style:[O.container,{backgroundColor:p.card,borderBottomColor:p.border,shadowColor:p.border},o]},s))};var o=t(r(d[1])),n=t(r(d[2])),c=r(d[3]),f=((function(t,o){if(!o&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=s(o);if(n&&n.has(t))return n.get(t);var c={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var u=f?Object.getOwnPropertyDescriptor(t,l):null;u&&(u.get||u.set)?Object.defineProperty(c,l,u):c[l]=t[l]}c.default=t,n&&n.set(t,c)})(r(d[4])),r(d[5])),l=r(d[6]),u=["style"];function s(t){if("function"!=typeof WeakMap)return null;var o=new WeakMap,n=new WeakMap;return(s=function(t){return t?n:o})(t)}function p(t,o){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);o&&(c=c.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,c)}return n}function y(t){for(var n=1;n=21},509,[6,26,31,58,403,55,2,53]); -__d(function(g,r,i,a,m,e,d){m.exports=r(d[0]).registerAsset({__packager_asset:!0,httpServerLocation:"/assets/node_modules/@react-navigation/elements/src/assets",width:24,height:24,scales:[1,1.5,2,3,4],hash:"a364dc7a784101f7c8f6791c7b4514ce",name:"back-icon",type:"png",fileHashes:["778ffc9fe8773a878e9c30a6304784de","376d6a4c7f622917c39feb23671ef71d","c79c3606a1cf168006ad3979763c7e0c","02bc1fa7c0313217bde2d65ccbff40c9","35ba0eaec5a4f5ed12ca16fabeae451d"]})},510,[511]); -__d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},511,[174]); -__d(function(g,r,i,a,m,e,d){m.exports=r(d[0]).registerAsset({__packager_asset:!0,httpServerLocation:"/assets/node_modules/@react-navigation/elements/src/assets",width:50,height:85,scales:[1],hash:"5223c8d9b0d08b82a5670fb5f71faf78",name:"back-icon-mask",type:"png",fileHashes:["5223c8d9b0d08b82a5670fb5f71faf78"]})},512,[511]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o=(0,t(r(d[1])).default)('HeaderBackContext',void 0);e.default=o},513,[6,502]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o=(0,t(r(d[1])).default)('HeaderHeightContext',void 0);e.default=o},514,[6,502]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=n.useContext(o.default);if(void 0===t)throw new Error("Couldn't find the header height. Are you inside a screen in a navigator with a header?");return t};var n=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var f={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=c?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(f,l,p):f[l]=t[l]}f.default=t,o&&o.set(t,f);return f})(r(d[1])),o=t(r(d[2]));function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}},515,[6,55,514]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(o){var c=o.color,f=o.size,l=o.style;return(0,n.jsx)(t.Text,{style:[u.icon,{color:c,fontSize:f},l],children:"\u23f7"})};!(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var u=o(n);if(u&&u.has(t))return u.get(t);var c={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=f?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(c,l,p):c[l]=t[l]}c.default=t,u&&u.set(t,c)})(r(d[0]));var t=r(d[1]),n=r(d[2]);function o(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,u=new WeakMap;return(o=function(t){return t?u:n})(t)}var u=t.StyleSheet.create({icon:{backgroundColor:'transparent'}})},516,[55,2,53]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var n=t.visible,u=t.children,p=t.style,y=(0,o.default)(t,f);if('web'===c.Platform.OS)return(0,l.jsx)(c.View,s(s({hidden:!n,style:[{display:n?'flex':'none'},O.container,p],pointerEvents:n?'auto':'none'},y),{},{children:u}));return(0,l.jsx)(c.View,{style:[O.container,p],pointerEvents:n?'auto':'none',children:(0,l.jsx)(c.View,{collapsable:!1,removeClippedSubviews:'ios'!==c.Platform.OS&&'macos'!==c.Platform.OS||!n,pointerEvents:n?'auto':'none',style:n?O.attached:O.detached,children:u})})};var n=t(r(d[1])),o=t(r(d[2])),c=((function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var c={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in t)if("default"!==f&&Object.prototype.hasOwnProperty.call(t,f)){var p=l?Object.getOwnPropertyDescriptor(t,f):null;p&&(p.get||p.set)?Object.defineProperty(c,f,p):c[f]=t[f]}c.default=t,o&&o.set(t,c)})(r(d[3])),r(d[4])),l=r(d[5]),f=["visible","children","style"];function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}function p(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);n&&(c=c.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,c)}return o}function s(t){for(var o=1;o=768?n.routes.reduce(function(t,n){var l=o[n.key].options.tabBarItemStyle,s=f.StyleSheet.flatten(l);if(s){if('number'==typeof s.width)return t+s.width;if('number'==typeof s.maxWidth)return t+s.maxWidth}return t+125},0)<=l.width:s.width>s.height},j=function(t){return Math.max(t.bottom-f.Platform.select({ios:4,default:0}),0)},x=function(t){var n,o=t.state,s=t.descriptors,u=t.dimensions,c=t.insets,b=t.style,h=(0,l.default)(t,B),v=null==(n=f.StyleSheet.flatten(b))?void 0:n.height;if('number'==typeof v)return v;var y=u.width>u.height,p=O(w({state:o,descriptors:s,dimensions:u},h)),S=j(c);return'ios'===f.Platform.OS&&!f.Platform.isPad&&y&&p?32+S:49+S};e.getTabBarHeight=x;var k=f.StyleSheet.create({tabBar:{left:0,right:0,bottom:0,borderTopWidth:f.StyleSheet.hairlineWidth,elevation:8},content:{flex:1,flexDirection:'row'}})},523,[6,31,26,58,489,403,55,2,494,521,524,525,53]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=o.useState(!1),f=(0,n.default)(t,2),c=f[0],l=f[1];return o.useEffect(function(){var t,n=function(){return l(!0)},o=function(){return l(!1)};return t='ios'===u.Platform.OS?[u.Keyboard.addListener('keyboardWillShow',n),u.Keyboard.addListener('keyboardWillHide',o)]:[u.Keyboard.addListener('keyboardDidShow',n),u.Keyboard.addListener('keyboardDidHide',o)],function(){t.forEach(function(t){return t.remove()})}},[]),c};var n=t(r(d[1])),o=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=f(n);if(o&&o.has(t))return o.get(t);var u={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var y=c?Object.getOwnPropertyDescriptor(t,l):null;y&&(y.get||y.set)?Object.defineProperty(u,l,y):u[l]=t[l]}u.default=t,o&&o.set(t,u);return u})(r(d[2])),u=r(d[3]);function f(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(f=function(t){return t?o:n})(t)}},524,[6,31,55,2]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var n=t.focused,v=t.route,P=t.label,h=t.icon,j=t.badge,x=t.badgeStyle,S=t.to,w=t.button,C=void 0===w?function(t){var n=t.children,c=t.style,s=t.onPress,b=t.to,v=t.accessibilityRole,P=(0,o.default)(t,y);return'web'===u.Platform.OS&&b?(0,f.jsx)(l.Link,p(p({},P),{},{to:b,style:[O.button,c],onPress:function(t){t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||null!=t.button&&0!==t.button||(t.preventDefault(),null==s||s(t))},children:n})):(0,f.jsx)(u.Pressable,p(p({},P),{},{accessibilityRole:v,onPress:s,style:c,children:n}))}:w,L=t.accessibilityLabel,D=t.testID,T=t.onPress,k=t.onLongPress,B=t.horizontal,z=t.activeTintColor,I=t.inactiveTintColor,K=t.activeBackgroundColor,R=void 0===K?'transparent':K,_=t.inactiveBackgroundColor,F=void 0===_?'transparent':_,E=t.showLabel,A=void 0===E||E,M=t.allowFontScaling,q=t.labelStyle,G=t.iconStyle,H=t.style,J=(0,l.useTheme)().colors,N=void 0===z?J.primary:z,Q=void 0===I?(0,c.default)(J.text).mix((0,c.default)(J.card),.5).hex():I,U={route:v,focused:n},V=n?R:F;return C({to:S,onPress:T,onLongPress:k,testID:D,accessibilityLabel:L,accessibilityRole:u.Platform.select({ios:'button',default:'tab'}),accessibilityState:{selected:n},accessibilityStates:n?['selected']:[],style:[O.tab,{backgroundColor:V},B?O.tabLandscape:O.tabPortrait,H],children:(0,f.jsxs)(s.default.Fragment,{children:[(function(t){var n=t.focused;if(void 0===h)return null;var o=n?1:0,l=n?0:1;return(0,f.jsx)(b.default,{route:v,horizontal:B,badge:j,badgeStyle:x,activeOpacity:o,inactiveOpacity:l,activeTintColor:N,inactiveTintColor:Q,renderIcon:h,style:G})})(U),(function(t){var n=t.focused;if(!1===A)return null;var o=n?N:Q;if('string'==typeof P)return(0,f.jsx)(u.Text,{numberOfLines:1,style:[O.label,{color:o},B?O.labelBeside:O.labelBeneath,q],allowFontScaling:M,children:P});return P({focused:n,color:o,position:B?'beside-icon':'below-icon'})})(U)]})})};var n=t(r(d[1])),o=t(r(d[2])),l=r(d[3]),c=t(r(d[4])),s=t(r(d[5])),u=r(d[6]),b=t(r(d[7])),f=r(d[8]),y=["children","style","onPress","to","accessibilityRole"];function v(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);n&&(l=l.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,l)}return o}function p(t){for(var o=1;o>16&255,u>>8&255,255&u],this.valpha=1;else{this.valpha=1;var k=Object.keys(u);'alpha'in u&&(k.splice(k.indexOf('alpha'),1),this.valpha='number'==typeof u.alpha?u.alpha:0);var x=k.sort().join('');if(!(x in l))throw new Error('Unable to parse color from object: '+JSON.stringify(u));this.model=l[x];var j=o[this.model].labels,A=[];for(v=0;vn?(o+.05)/(n+.05):(n+.05)/(o+.05)},level:function(t){var o=this.contrast(t);return o>=7.1?'AAA':o>=4.5?'AA':''},isDark:function(){var t=this.rgb().color;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},isLight:function(){return!this.isDark()},negate:function(){for(var t=this.rgb(),o=0;o<3;o++)t.color[o]=255-t.color[o];return t},lighten:function(t){var o=this.hsl();return o.color[2]+=o.color[2]*t,o},darken:function(t){var o=this.hsl();return o.color[2]-=o.color[2]*t,o},saturate:function(t){var o=this.hsl();return o.color[1]+=o.color[1]*t,o},desaturate:function(t){var o=this.hsl();return o.color[1]-=o.color[1]*t,o},whiten:function(t){var o=this.hwb();return o.color[1]+=o.color[1]*t,o},blacken:function(t){var o=this.hwb();return o.color[2]+=o.color[2]*t,o},grayscale:function(){var t=this.rgb().color,o=.3*t[0]+.59*t[1]+.11*t[2];return c.rgb(o,o,o)},fade:function(t){return this.alpha(this.valpha-this.valpha*t)},opaquer:function(t){return this.alpha(this.valpha+this.valpha*t)},rotate:function(t){var o=this.hsl(),n=o.color[0];return n=(n=(n+t)%360)<0?360+n:n,o.color[0]=n,o},mix:function(t,o){if(!t||!t.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof t);var n=t.rgb(),h=this.rgb(),l=void 0===o?.5:o,s=2*l-1,u=n.alpha()-h.alpha(),f=((s*u==-1?s:(s+u)/(1+s*u))+1)/2,v=1-f;return c.rgb(f*n.red()+v*h.red(),f*n.green()+v*h.green(),f*n.blue()+v*h.blue(),n.alpha()*l+h.alpha()*(1-l))}},Object.keys(o).forEach(function(t){if(-1===h.indexOf(t)){var l=o[t].channels;c.prototype[t]=function(){if(this.model===t)return new c(this);if(arguments.length)return new c(arguments,t);var n,h='number'==typeof arguments[l]?l:this.valpha;return new c((n=o[this.model][t].raw(this.color),Array.isArray(n)?n:[n]).concat(h),t)},c[t]=function(o){return'number'==typeof o&&(o=b(n.call(arguments),l)),new c(o,t)}}}),m.exports=c},526,[527,531]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]),n=r(d[1]),s={};for(var o in t)t.hasOwnProperty(o)&&(s[t[o]]=o);var u=m.exports={to:{},get:{}};function l(t,n,s){return Math.min(Math.max(n,t),s)}function h(t){var n=t.toString(16).toUpperCase();return n.length<2?'0'+n:n}u.get=function(t){var n,s;switch(t.substring(0,3).toLowerCase()){case'hsl':n=u.get.hsl(t),s='hsl';break;case'hwb':n=u.get.hwb(t),s='hwb';break;default:n=u.get.rgb(t),s='rgb'}return n?{model:s,value:n}:null},u.get.rgb=function(n){if(!n)return null;var s,o,u,h=[0,0,0,1];if(s=n.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(u=s[2],s=s[1],o=0;o<3;o++){var f=2*o;h[o]=parseInt(s.slice(f,f+2),16)}u&&(h[3]=parseInt(u,16)/255)}else if(s=n.match(/^#([a-f0-9]{3,4})$/i)){for(u=(s=s[1])[3],o=0;o<3;o++)h[o]=parseInt(s[o]+s[o],16);u&&(h[3]=parseInt(u+u,16)/255)}else if(s=n.match(/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/)){for(o=0;o<3;o++)h[o]=parseInt(s[o+1],0);s[4]&&(h[3]=parseFloat(s[4]))}else{if(!(s=n.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/)))return(s=n.match(/(\D+)/))?'transparent'===s[1]?[0,0,0,0]:(h=t[s[1]])?(h[3]=1,h):null:null;for(o=0;o<3;o++)h[o]=Math.round(2.55*parseFloat(s[o+1]));s[4]&&(h[3]=parseFloat(s[4]))}for(o=0;o<3;o++)h[o]=l(h[o],0,255);return h[3]=l(h[3],0,1),h},u.get.hsl=function(t){if(!t)return null;var n=t.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?[\d\.]+)\s*)?\)$/);if(n){var s=parseFloat(n[4]);return[(parseFloat(n[1])+360)%360,l(parseFloat(n[2]),0,100),l(parseFloat(n[3]),0,100),l(isNaN(s)?1:s,0,1)]}return null},u.get.hwb=function(t){if(!t)return null;var n=t.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/);if(n){var s=parseFloat(n[4]);return[(parseFloat(n[1])%360+360)%360,l(parseFloat(n[2]),0,100),l(parseFloat(n[3]),0,100),l(isNaN(s)?1:s,0,1)]}return null},u.to.hex=function(){var t=n(arguments);return'#'+h(t[0])+h(t[1])+h(t[2])+(t[3]<1?h(Math.round(255*t[3])):'')},u.to.rgb=function(){var t=n(arguments);return t.length<4||1===t[3]?'rgb('+Math.round(t[0])+', '+Math.round(t[1])+', '+Math.round(t[2])+')':'rgba('+Math.round(t[0])+', '+Math.round(t[1])+', '+Math.round(t[2])+', '+t[3]+')'},u.to.rgb.percent=function(){var t=n(arguments),s=Math.round(t[0]/255*100),o=Math.round(t[1]/255*100),u=Math.round(t[2]/255*100);return t.length<4||1===t[3]?'rgb('+s+'%, '+o+'%, '+u+'%)':'rgba('+s+'%, '+o+'%, '+u+'%, '+t[3]+')'},u.to.hsl=function(){var t=n(arguments);return t.length<4||1===t[3]?'hsl('+t[0]+', '+t[1]+'%, '+t[2]+'%)':'hsla('+t[0]+', '+t[1]+'%, '+t[2]+'%, '+t[3]+')'},u.to.hwb=function(){var t=n(arguments),s='';return t.length>=4&&1!==t[3]&&(s=', '+t[3]),'hwb('+t[0]+', '+t[1]+'%, '+t[2]+'%'+s+')'},u.to.keyword=function(t){return s[t.slice(0,3)]}},527,[528,529]); -__d(function(g,r,i,a,m,e,d){'use strict';m.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},528,[]); -__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=Array.prototype.concat,o=Array.prototype.slice,c=m.exports=function(c){for(var u=[],p=0,l=c.length;p=0&&(n.splice instanceof Function||Object.getOwnPropertyDescriptor(n,n.length-1)&&'String'!==n.constructor.name))}},530,[]); -__d(function(g,r,i,a,m,e,d){var n=r(d[0]),o=r(d[1]),t={};function c(n){var o=function(o){return void 0===o||null===o?o:(arguments.length>1&&(o=Array.prototype.slice.call(arguments)),n(o))};return'conversion'in n&&(o.conversion=n.conversion),o}function l(n){var o=function(o){if(void 0===o||null===o)return o;arguments.length>1&&(o=Array.prototype.slice.call(arguments));var t=n(o);if('object'==typeof t)for(var c=t.length,l=0;l1&&(o-=1)),[360*o,100*s,100*f]},u.rgb.hwb=function(n){var t=n[0],h=n[1],o=n[2];return[u.rgb.hsl(n)[0],100*(.00392156862745098*Math.min(t,Math.min(h,o))),100*(o=1-.00392156862745098*Math.max(t,Math.max(h,o)))]},u.rgb.cmyk=function(n){var t,h=n[0]/255,u=n[1]/255,o=n[2]/255;return[100*((1-h-(t=Math.min(1-h,1-u,1-o)))/(1-t)||0),100*((1-u-t)/(1-t)||0),100*((1-o-t)/(1-t)||0),100*t]},u.rgb.keyword=function(h){var u=t[h];if(u)return u;var o,s,c,l=1/0;for(var b in n)if(n.hasOwnProperty(b)){var f=n[b],M=(s=h,c=f,Math.pow(s[0]-c[0],2)+Math.pow(s[1]-c[1],2)+Math.pow(s[2]-c[2],2));M.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(h=h>.04045?Math.pow((h+.055)/1.055,2.4):h/12.92)+.1805*(u=u>.04045?Math.pow((u+.055)/1.055,2.4):u/12.92)),100*(.2126*t+.7152*h+.0722*u),100*(.0193*t+.1192*h+.9505*u)]},u.rgb.lab=function(n){var t=u.rgb.xyz(n),h=t[0],o=t[1],s=t[2];return o/=100,s/=108.883,h=(h/=95.047)>.008856?Math.pow(h,.3333333333333333):7.787*h+.13793103448275862,[116*(o=o>.008856?Math.pow(o,.3333333333333333):7.787*o+.13793103448275862)-16,500*(h-o),200*(o-(s=s>.008856?Math.pow(s,.3333333333333333):7.787*s+.13793103448275862))]},u.hsl.rgb=function(n){var t,h,u,o,s,c=n[0]/360,l=n[1]/100,b=n[2]/100;if(0===l)return[s=255*b,s,s];t=2*b-(h=b<.5?b*(1+l):b+l-b*l),o=[0,0,0];for(var f=0;f<3;f++)(u=c+.3333333333333333*-(f-1))<0&&u++,u>1&&u--,s=6*u<1?t+6*(h-t)*u:2*u<1?h:3*u<2?t+(h-t)*(.6666666666666666-u)*6:t,o[f]=255*s;return o},u.hsl.hsv=function(n){var t=n[0],h=n[1]/100,u=n[2]/100,o=h,s=Math.max(u,.01);return h*=(u*=2)<=1?u:2-u,o*=s<=1?s:2-s,[t,100*(0===u?2*o/(s+o):2*h/(u+h)),100*((u+h)/2)]},u.hsv.rgb=function(n){var t=n[0]/60,h=n[1]/100,u=n[2]/100,o=Math.floor(t)%6,s=t-Math.floor(t),c=255*u*(1-h),l=255*u*(1-h*s),b=255*u*(1-h*(1-s));switch(u*=255,o){case 0:return[u,b,c];case 1:return[l,u,c];case 2:return[c,u,b];case 3:return[c,l,u];case 4:return[b,c,u];case 5:return[u,c,l]}},u.hsv.hsl=function(n){var t,h,u,o=n[0],s=n[1]/100,c=n[2]/100,l=Math.max(c,.01);return u=(2-s)*c,h=s*l,[o,100*(h=(h/=(t=(2-s)*l)<=1?t:2-t)||0),100*(u/=2)]},u.hwb.rgb=function(n){var t,h,u,o,s,c,l,b=n[0]/360,f=n[1]/100,M=n[2]/100,v=f+M;switch(v>1&&(f/=v,M/=v),h=1-M,u=6*b-(t=Math.floor(6*b)),0!=(1&t)&&(u=1-u),o=f+u*(h-f),t){default:case 6:case 0:s=h,c=o,l=f;break;case 1:s=o,c=h,l=f;break;case 2:s=f,c=h,l=o;break;case 3:s=f,c=o,l=h;break;case 4:s=o,c=f,l=h;break;case 5:s=h,c=f,l=o}return[255*s,255*c,255*l]},u.cmyk.rgb=function(n){var t=n[0]/100,h=n[1]/100,u=n[2]/100,o=n[3]/100;return[255*(1-Math.min(1,t*(1-o)+o)),255*(1-Math.min(1,h*(1-o)+o)),255*(1-Math.min(1,u*(1-o)+o))]},u.xyz.rgb=function(n){var t,h,u,o=n[0]/100,s=n[1]/100,c=n[2]/100;return h=-.9689*o+1.8758*s+.0415*c,u=.0557*o+-.204*s+1.057*c,t=(t=3.2406*o+-1.5372*s+-.4986*c)>.0031308?1.055*Math.pow(t,.4166666666666667)-.055:12.92*t,h=h>.0031308?1.055*Math.pow(h,.4166666666666667)-.055:12.92*h,u=u>.0031308?1.055*Math.pow(u,.4166666666666667)-.055:12.92*u,[255*(t=Math.min(Math.max(0,t),1)),255*(h=Math.min(Math.max(0,h),1)),255*(u=Math.min(Math.max(0,u),1))]},u.xyz.lab=function(n){var t=n[0],h=n[1],u=n[2];return h/=100,u/=108.883,t=(t/=95.047)>.008856?Math.pow(t,.3333333333333333):7.787*t+.13793103448275862,[116*(h=h>.008856?Math.pow(h,.3333333333333333):7.787*h+.13793103448275862)-16,500*(t-h),200*(h-(u=u>.008856?Math.pow(u,.3333333333333333):7.787*u+.13793103448275862))]},u.lab.xyz=function(n){var t,h,u,o=n[0],s=n[1],c=n[2];t=s/500+(h=(o+16)/116),u=h-c/200;var l=Math.pow(h,3),b=Math.pow(t,3),f=Math.pow(u,3);return h=l>.008856?l:(h-.13793103448275862)/7.787,t=b>.008856?b:(t-.13793103448275862)/7.787,u=f>.008856?f:(u-.13793103448275862)/7.787,[t*=95.047,h*=100,u*=108.883]},u.lab.lch=function(n){var t,h=n[0],u=n[1],o=n[2];return(t=360*Math.atan2(o,u)/2/Math.PI)<0&&(t+=360),[h,Math.sqrt(u*u+o*o),t]},u.lch.lab=function(n){var t,h=n[0],u=n[1];return t=n[2]/360*2*Math.PI,[h,u*Math.cos(t),u*Math.sin(t)]},u.rgb.ansi16=function(n){var t=n[0],h=n[1],o=n[2],s=1 in arguments?arguments[1]:u.rgb.hsv(n)[2];if(0===(s=Math.round(s/50)))return 30;var c=30+(Math.round(o/255)<<2|Math.round(h/255)<<1|Math.round(t/255));return 2===s&&(c+=60),c},u.hsv.ansi16=function(n){return u.rgb.ansi16(u.hsv.rgb(n),n[2])},u.rgb.ansi256=function(n){var t=n[0],h=n[1],u=n[2];return t===h&&h===u?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(h/255*5)+Math.round(u/255*5)},u.ansi16.rgb=function(n){var t=n%10;if(0===t||7===t)return n>50&&(t+=3.5),[t=t/10.5*255,t,t];var h=.5*(1+~~(n>50));return[(1&t)*h*255,(t>>1&1)*h*255,(t>>2&1)*h*255]},u.ansi256.rgb=function(n){if(n>=232){var t=10*(n-232)+8;return[t,t,t]}var h;return n-=16,[Math.floor(n/36)/5*255,Math.floor((h=n%36)/6)/5*255,h%6/5*255]},u.rgb.hex=function(n){var t=(((255&Math.round(n[0]))<<16)+((255&Math.round(n[1]))<<8)+(255&Math.round(n[2]))).toString(16).toUpperCase();return'000000'.substring(t.length)+t},u.hex.rgb=function(n){var t=n.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var h=t[0];3===t[0].length&&(h=h.split('').map(function(n){return n+n}).join(''));var u=parseInt(h,16);return[u>>16&255,u>>8&255,255&u]},u.rgb.hcg=function(n){var t,h,u=n[0]/255,o=n[1]/255,s=n[2]/255,c=Math.max(Math.max(u,o),s),l=Math.min(Math.min(u,o),s),b=c-l;return t=b<1?l/(1-b):0,h=b<=0?0:c===u?(o-s)/b%6:c===o?2+(s-u)/b:4+(u-o)/b+4,h/=6,[360*(h%=1),100*b,100*t]},u.hsl.hcg=function(n){var t=n[1]/100,h=n[2]/100,u=1,o=0;return(u=h<.5?2*t*h:2*t*(1-h))<1&&(o=(h-.5*u)/(1-u)),[n[0],100*u,100*o]},u.hsv.hcg=function(n){var t=n[1]/100,h=n[2]/100,u=t*h,o=0;return u<1&&(o=(h-u)/(1-u)),[n[0],100*u,100*o]},u.hcg.rgb=function(n){var t=n[0]/360,h=n[1]/100,u=n[2]/100;if(0===h)return[255*u,255*u,255*u];var o,s=[0,0,0],c=t%1*6,l=c%1,b=1-l;switch(Math.floor(c)){case 0:s[0]=1,s[1]=l,s[2]=0;break;case 1:s[0]=b,s[1]=1,s[2]=0;break;case 2:s[0]=0,s[1]=1,s[2]=l;break;case 3:s[0]=0,s[1]=b,s[2]=1;break;case 4:s[0]=l,s[1]=0,s[2]=1;break;default:s[0]=1,s[1]=0,s[2]=b}return o=(1-h)*u,[255*(h*s[0]+o),255*(h*s[1]+o),255*(h*s[2]+o)]},u.hcg.hsv=function(n){var t=n[1]/100,h=t+n[2]/100*(1-t),u=0;return h>0&&(u=t/h),[n[0],100*u,100*h]},u.hcg.hsl=function(n){var t=n[1]/100,h=n[2]/100*(1-t)+.5*t,u=0;return h>0&&h<.5?u=t/(2*h):h>=.5&&h<1&&(u=t/(2*(1-h))),[n[0],100*u,100*h]},u.hcg.hwb=function(n){var t=n[1]/100,h=t+n[2]/100*(1-t);return[n[0],100*(h-t),100*(1-h)]},u.hwb.hcg=function(n){var t=n[1]/100,h=1-n[2]/100,u=h-t,o=0;return u<1&&(o=(h-u)/(1-u)),[n[0],100*u,100*o]},u.apple.rgb=function(n){return[n[0]/65535*255,n[1]/65535*255,n[2]/65535*255]},u.rgb.apple=function(n){return[n[0]/255*65535,n[1]/255*65535,n[2]/255*65535]},u.gray.rgb=function(n){return[n[0]/100*255,n[0]/100*255,n[0]/100*255]},u.gray.hsl=u.gray.hsv=function(n){return[0,0,n[0]]},u.gray.hwb=function(n){return[0,100,n[0]]},u.gray.cmyk=function(n){return[0,0,0,n[0]]},u.gray.lab=function(n){return[n[0],0,0]},u.gray.hex=function(n){var t=255&Math.round(n[0]/100*255),h=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return'000000'.substring(h.length)+h},u.rgb.gray=function(n){return[(n[0]+n[1]+n[2])/3/255*100]}},532,[533]); -__d(function(g,r,i,a,m,e,d){'use strict';m.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},533,[]); -__d(function(g,r,i,a,m,e,d){var n=r(d[0]);function t(){for(var t={},u=Object.keys(n),c=u.length,o=0;oR.height,y=h?0:10,v=f.top,x=R.height/R.width,S=u(p.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}),s?s.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}):0),w=l(S.interpolate({inputRange:[0,1,2],outputRange:[R.height,0===n?0:y,(0===n?v:0)-y*x]}),c),A=S.interpolate({inputRange:[0,1,1.0001,2],outputRange:[0,.3,1,1]}),Y=h?1:S.interpolate({inputRange:[0,1,2],outputRange:[1,1,R.width?1-2*y/R.width:1]}),O=h?0:0===n?S.interpolate({inputRange:[0,1,1.0001,2],outputRange:[0,0,(0,o.isIphoneX)()?38:0,10]}):10;return{cardStyle:{overflow:'hidden',borderTopLeftRadius:O,borderTopRightRadius:O,marginTop:0===n?0:v,marginBottom:0===n?0:y,transform:[{translateY:w},{scale:Y}]},overlayStyle:{opacity:A}}},e.forNoAnimation=function(){return{}},e.forRevealFromBottomAndroid=function(t){var n=t.current,o=t.next,p=t.inverted,u=t.layouts.screen,s=l(n.progress.interpolate({inputRange:[0,1],outputRange:[u.height,0],extrapolate:'clamp'}),p),c=l(n.progress.interpolate({inputRange:[0,1],outputRange:[.9590000000000001*u.height*-1,0],extrapolate:'clamp'}),p),R=o?l(o.progress.interpolate({inputRange:[0,1],outputRange:[0,.02*u.height*-1],extrapolate:'clamp'}),p):0,f=n.progress.interpolate({inputRange:[0,.36,1],outputRange:[0,.1,.1],extrapolate:'clamp'});return{containerStyle:{overflow:'hidden',transform:[{translateY:s}]},cardStyle:{transform:[{translateY:c},{translateY:R}]},overlayStyle:{opacity:f}}},e.forScaleFromCenterAndroid=function(t){var n=t.current,o=t.next,l=t.closing,s=u(n.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}),o?o.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}):0),c=s.interpolate({inputRange:[0,.75,.875,1,1.0825,1.2075,2],outputRange:[0,0,1,1,1,1,0]}),R=(0,p.default)(l,n.progress.interpolate({inputRange:[0,1],outputRange:[.9,1],extrapolate:'clamp'}),s.interpolate({inputRange:[0,1,2],outputRange:[.85,1,1.1]}));return{containerStyle:{opacity:c,transform:[{scale:R}]}}},e.forVerticalIOS=function(t){var n=t.current,o=t.inverted,p=t.layouts.screen;return{cardStyle:{transform:[{translateY:l(n.progress.interpolate({inputRange:[0,1],outputRange:[p.height,0],extrapolate:'clamp'}),o)}]}}};var n=r(d[1]),o=r(d[2]),p=t(r(d[3])),u=n.Animated.add,l=n.Animated.multiply},540,[6,2,541,542]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.getBottomSpace=function(){return n()?34:0},e.getStatusBarHeight=function(n){return t.Platform.select({ios:o(n?44:30,20),android:t.StatusBar.currentHeight,default:0})},e.ifIphoneX=o,e.isIphoneX=n;var t=r(d[0]);function n(){var n=t.Dimensions.get('window');return!('ios'!==t.Platform.OS||t.Platform.isPad||t.Platform.isTVOS||780!==n.height&&780!==n.width&&812!==n.height&&812!==n.width&&844!==n.height&&844!==n.width&&896!==n.height&&896!==n.width&&926!==n.height&&926!==n.width)}function o(t,o){return n()?t:o}},541,[2]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,l,o){return n(u(t,l),u(t.interpolate({inputRange:[0,1],outputRange:[1,0]}),o))};var t=r(d[0]),n=t.Animated.add,u=t.Animated.multiply},542,[2]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.forFade=function(t){var o=t.current,p=t.next,u=n(o.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}),p?p.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}):0),l=u.interpolate({inputRange:[0,1,2],outputRange:[0,1,0]});return{leftButtonStyle:{opacity:l},rightButtonStyle:{opacity:l},titleStyle:{opacity:l},backgroundStyle:{opacity:u.interpolate({inputRange:[0,1,1.9,2],outputRange:[0,1,1,0]})}}},e.forNoAnimation=function(){return{}},e.forSlideLeft=function(o){var p=o.current,u=o.next,l=o.layouts.screen,s=[{translateX:n(p.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}),u?u.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}):0).interpolate({inputRange:[0,1,2],outputRange:t.I18nManager.isRTL?[-l.width,0,l.width]:[l.width,0,-l.width]})}];return{leftButtonStyle:{transform:s},rightButtonStyle:{transform:s},titleStyle:{transform:s},backgroundStyle:{transform:s}}},e.forSlideRight=function(o){var p=o.current,u=o.next,l=o.layouts.screen,s=[{translateX:n(p.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}),u?u.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}):0).interpolate({inputRange:[0,1,2],outputRange:t.I18nManager.isRTL?[l.width,0,-l.width]:[-l.width,0,l.width]})}];return{leftButtonStyle:{transform:s},rightButtonStyle:{transform:s},titleStyle:{transform:s},backgroundStyle:{transform:s}}},e.forSlideUp=function(t){var o=t.current,p=t.next,u=t.layouts.header,l=[{translateY:n(o.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}),p?p.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}):0).interpolate({inputRange:[0,1,2],outputRange:[-u.height,0,-u.height]})}];return{leftButtonStyle:{transform:l},rightButtonStyle:{transform:l},titleStyle:{transform:l},backgroundStyle:{transform:l}}},e.forUIKit=function(o){var p=o.current,u=o.next,l=o.layouts,s=l.leftLabel?(l.screen.width-l.leftLabel.width)/2-27:100,R=l.title?(l.screen.width-l.title.width)/2-27:100,c=l.screen.width/4,f=n(p.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}),u?u.progress.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}):0);return{leftButtonStyle:{opacity:f.interpolate({inputRange:[.3,1,1.5],outputRange:[0,1,0]})},leftLabelStyle:{transform:[{translateX:f.interpolate({inputRange:[0,1,2],outputRange:t.I18nManager.isRTL?[-c,0,s]:[s,0,-c]})}]},rightButtonStyle:{opacity:f.interpolate({inputRange:[.3,1,1.5],outputRange:[0,1,0]})},titleStyle:{opacity:f.interpolate({inputRange:[0,.4,1,1.5],outputRange:[0,.1,1,0]}),transform:[{translateX:f.interpolate({inputRange:[.5,1,2],outputRange:t.I18nManager.isRTL?[-R,0,c]:[c,0,-R]})}]},backgroundStyle:{transform:[{translateX:f.interpolate({inputRange:[0,1,2],outputRange:t.I18nManager.isRTL?[-l.screen.width,0,l.screen.width]:[l.screen.width,0,-l.screen.width]})}]}}};var t=r(d[0]),n=t.Animated.add},543,[2]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.TransitionIOSSpec=e.ScaleFromCenterAndroidSpec=e.RevealFromBottomAndroidSpec=e.FadeOutToBottomAndroidSpec=e.FadeInFromBottomAndroidSpec=void 0;var n=r(d[0]);e.TransitionIOSSpec={animation:'spring',config:{stiffness:1e3,damping:500,mass:3,overshootClamping:!0,restDisplacementThreshold:10,restSpeedThreshold:10}};var o={animation:'timing',config:{duration:350,easing:n.Easing.out(n.Easing.poly(5))}};e.FadeInFromBottomAndroidSpec=o;var t={animation:'timing',config:{duration:150,easing:n.Easing.in(n.Easing.linear)}};e.FadeOutToBottomAndroidSpec=t;var s={animation:'timing',config:{duration:425,easing:n.Easing.bezier(.35,.45,0,1)}};e.RevealFromBottomAndroidSpec=s;var c={animation:'timing',config:{duration:400,easing:n.Easing.bezier(.35,.45,0,1)}};e.ScaleFromCenterAndroidSpec=c},544,[2]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.SlideFromRightIOS=e.ScaleFromCenterAndroid=e.RevealFromBottomAndroid=e.ModalTransition=e.ModalSlideFromBottomIOS=e.ModalPresentationIOS=e.FadeFromBottomAndroid=e.DefaultTransition=void 0;var o=r(d[0]),t=r(d[1]),n=r(d[2]),l=r(d[3]),S={gestureDirection:'horizontal',transitionSpec:{open:l.TransitionIOSSpec,close:l.TransitionIOSSpec},cardStyleInterpolator:t.forHorizontalIOS,headerStyleInterpolator:n.forFade};e.SlideFromRightIOS=S;var c={gestureDirection:'vertical',transitionSpec:{open:l.TransitionIOSSpec,close:l.TransitionIOSSpec},cardStyleInterpolator:t.forVerticalIOS,headerStyleInterpolator:n.forFade};e.ModalSlideFromBottomIOS=c;var s={gestureDirection:'vertical',transitionSpec:{open:l.TransitionIOSSpec,close:l.TransitionIOSSpec},cardStyleInterpolator:t.forModalPresentationIOS,headerStyleInterpolator:n.forFade};e.ModalPresentationIOS=s;var p={gestureDirection:'vertical',transitionSpec:{open:l.FadeInFromBottomAndroidSpec,close:l.FadeOutToBottomAndroidSpec},cardStyleInterpolator:t.forFadeFromBottomAndroid,headerStyleInterpolator:n.forFade};e.FadeFromBottomAndroid=p;var F={gestureDirection:'vertical',transitionSpec:{open:l.RevealFromBottomAndroidSpec,close:l.RevealFromBottomAndroidSpec},cardStyleInterpolator:t.forRevealFromBottomAndroid,headerStyleInterpolator:n.forFade};e.RevealFromBottomAndroid=F;var I={gestureDirection:'horizontal',transitionSpec:{open:l.ScaleFromCenterAndroidSpec,close:l.ScaleFromCenterAndroidSpec},cardStyleInterpolator:t.forScaleFromCenterAndroid,headerStyleInterpolator:n.forFade};e.ScaleFromCenterAndroid=I;var f=o.Platform.select({ios:S,android:o.Platform.Version>=29?I:o.Platform.Version>=28?F:p,default:I});e.DefaultTransition=f;var v=o.Platform.select({ios:c,default:f});e.ModalTransition=v},545,[2,540,543,544]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=t(r(d[1])),o=t(r(d[2])),c=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=O(n);if(o&&o.has(t))return o.get(t);var c={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in t)if("default"!==f&&Object.prototype.hasOwnProperty.call(t,f)){var s=u?Object.getOwnPropertyDescriptor(t,f):null;s&&(s.get||s.set)?Object.defineProperty(c,f,s):c[f]=t[f]}c.default=t,o&&o.set(t,c);return c})(r(d[3])),u=r(d[4]),f=r(d[5]),s=t(r(d[6])),l=r(d[7]),p=["initialRouteName","children","screenOptions"];function O(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(O=function(t){return t?o:n})(t)}function y(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);n&&(c=c.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,c)}return o}function b(t){for(var o=1;o0&&n&&!t.defaultPrevented&&k.dispatch(b(b({},f.StackActions.popToTop()),{},{target:w.key}))})})},[k,w.index,w.key]),(0,l.jsx)(s.default,b(b({},v),{},{state:w,descriptors:h,navigation:k}))});e.default=v},546,[6,26,58,55,2,403,547,53]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=t(r(d[1])),o=t(r(d[2])),u=t(r(d[3])),s=t(r(d[4])),c=t(r(d[5])),l=t(r(d[6])),f=t(r(d[7])),p=t(r(d[8])),y=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=E(n);if(o&&o.has(t))return o.get(t);var u={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var l=s?Object.getOwnPropertyDescriptor(t,c):null;l&&(l.get||l.set)?Object.defineProperty(u,c,l):u[c]=t[c]}u.default=t,o&&o.set(t,u);return u})(r(d[9])),v=r(d[10]),k=r(d[11]),h=r(d[12]),R=r(d[13]),b=t(r(d[14])),O=t(r(d[15])),K=t(r(d[16])),j=t(r(d[17])),P=t(r(d[18])),S=r(d[19]),w=["state","navigation","keyboardHandlingEnabled","mode","headerMode","descriptors"];function E(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(E=function(t){return t?o:n})(t)}function x(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);n&&(u=u.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,u)}return o}function G(t){for(var n=1;n0:b,R=t.overshootRight,A=void 0===R?S>0:R,j=c.Animated.add(u,p.interpolate({inputRange:[0,s],outputRange:[0,1]})).interpolate({inputRange:[-S-(A?1:l),-S,h,h+(_?1:l)],outputRange:[-S-(A||l>1?1:0),-S,h,h+(_||l>1?1:0)]});n._transX=j,n._showLeftAction=h>0?j.interpolate({inputRange:[-1,0,h],outputRange:[0,0,1]}):new c.Animated.Value(0),n._leftActionTranslate=n._showLeftAction.interpolate({inputRange:[0,Number.MIN_VALUE],outputRange:[-1e4,0],extrapolate:'clamp'}),n._showRightAction=S>0?j.interpolate({inputRange:[-S,0,1],outputRange:[1,0,0]}):new c.Animated.Value(0),n._rightActionTranslate=n._showRightAction.interpolate({inputRange:[0,Number.MIN_VALUE],outputRange:[-1e4,0],extrapolate:'clamp'})},n._onTapHandlerStateChange=function(t){t.nativeEvent.oldState===h.State.ACTIVE&&n.close()},n._onHandlerStateChange=function(t){var o=t.nativeEvent;o.oldState===h.State.ACTIVE&&n._handleRelease(o)},n._handleRelease=function(t){var o=t.velocityX,s=t.translationX,l=n.state,p=l.leftWidth,u=void 0===p?0:p,f=l.rowWidth,c=void 0===f?0:f,h=l.rowState,v=n.state.rightOffset,w=c-(void 0===v?c:v),O=n.props,y=O.friction,S=O.leftThreshold,_=void 0===S?u/2:S,R=O.rightThreshold,A=void 0===R?w/2:R,j=n._currentOffset()+s/y,W=(s+b*o)/y,L=0;0===h?W>_?L=u:W<-A&&(L=-w):1===h?W>-_&&(L=u):W0&&n.props.onSwipeableLeftOpen?n.props.onSwipeableLeftOpen():o<0&&n.props.onSwipeableRightOpen&&n.props.onSwipeableRightOpen(),0===o?n.props.onSwipeableClose&&n.props.onSwipeableClose():n.props.onSwipeableOpen&&n.props.onSwipeableOpen())}),o>0&&n.props.onSwipeableLeftWillOpen?n.props.onSwipeableLeftWillOpen():o<0&&n.props.onSwipeableRightWillOpen&&n.props.onSwipeableRightWillOpen(),0===o?n.props.onSwipeableWillClose&&n.props.onSwipeableWillClose():n.props.onSwipeableWillOpen&&n.props.onSwipeableWillOpen()},n._onRowLayout=function(t){var o=t.nativeEvent;n.setState({rowWidth:o.layout.width})},n._currentOffset=function(){var t=n.state,o=t.leftWidth,s=void 0===o?0:o,l=t.rowWidth,p=void 0===l?0:l,u=t.rowState,f=n.state.rightOffset;return 1===u?s:-1===u?-(p-(void 0===f?p:f)):0},n.close=function(){n._animateRow(n._currentOffset(),0)},n.openLeft=function(){var t=n.state.leftWidth,o=void 0===t?0:t;n._animateRow(n._currentOffset(),o)},n.openRight=function(){var t=n.state.rowWidth,o=void 0===t?0:t,s=n.state.rightOffset,l=o-(void 0===s?o:s);n._animateRow(n._currentOffset(),-l)};var s=new c.Animated.Value(0);return n.state={dragX:s,rowTranslation:new c.Animated.Value(0),rowState:0,leftWidth:void 0,rightOffset:void 0,rowWidth:void 0},n._updateAnimatedEvent(t,n.state),n._onGestureEvent=c.Animated.event([{nativeEvent:{translationX:s}}],{useNativeDriver:t.useNativeAnimations}),n}return(0,s.default)(O,[{key:"UNSAFE_componentWillUpdate",value:function(t,n){this.props.friction===t.friction&&this.props.overshootLeft===t.overshootLeft&&this.props.overshootRight===t.overshootRight&&this.props.overshootFriction===t.overshootFriction&&this.state.leftWidth===n.leftWidth&&this.state.rightOffset===n.rightOffset&&this.state.rowWidth===n.rowWidth||this._updateAnimatedEvent(t,n)}},{key:"render",value:function(){var t=this,n=this.state.rowState,o=this.props,s=o.children,l=o.renderLeftActions,p=o.renderRightActions,u=l&&(0,v.jsxs)(c.Animated.View,{style:[R.leftActions,{transform:[{translateX:this._leftActionTranslate}]}],children:[l(this._showLeftAction,this._transX),(0,v.jsx)(c.View,{onLayout:function(n){var o=n.nativeEvent;return t.setState({leftWidth:o.layout.x})}})]}),f=p&&(0,v.jsxs)(c.Animated.View,{style:[R.rightActions,{transform:[{translateX:this._rightActionTranslate}]}],children:[p(this._showRightAction,this._transX),(0,v.jsx)(c.View,{onLayout:function(n){var o=n.nativeEvent;return t.setState({rightOffset:o.layout.x})}})]});return(0,v.jsx)(h.PanGestureHandler,y(y({activeOffsetX:[-10,10]},this.props),{},{onGestureEvent:this._onGestureEvent,onHandlerStateChange:this._onHandlerStateChange,children:(0,v.jsxs)(c.Animated.View,{onLayout:this._onRowLayout,style:[R.container,this.props.containerStyle],children:[u,f,(0,v.jsx)(h.TapGestureHandler,{enabled:0!==n,onHandlerStateChange:this._onTapHandlerStateChange,children:(0,v.jsx)(c.Animated.View,{pointerEvents:0===n?'auto':'box-only',style:[{transform:[{translateX:this._transX}]},this.props.childrenContainerStyle],children:s})})]})}))}}]),O})(f.Component);e.default=_,_.defaultProps={friction:1,overshootFriction:1,useNativeAnimations:!0};var R=c.StyleSheet.create({container:{overflow:'hidden'},leftActions:y(y({},c.StyleSheet.absoluteFillObject),{},{flexDirection:c.I18nManager.isRTL?'row-reverse':'row'}),rightActions:y(y({},c.StyleSheet.absoluteFillObject),{},{flexDirection:c.I18nManager.isRTL?'row':'row-reverse'})})},551,[6,26,8,9,13,15,12,55,2,552,53]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0});var n={createNativeWrapper:!0,Directions:!0,gestureHandlerRootHOC:!0,GestureHandlerRootView:!0,NativeViewGestureHandler:!0,State:!0};Object.defineProperty(e,"Directions",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"GestureHandlerRootView",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"NativeViewGestureHandler",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"State",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(e,"createNativeWrapper",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"gestureHandlerRootHOC",{enumerable:!0,get:function(){return c.default}});var u=t(r(d[1])),o=t(r(d[2])),c=t(r(d[3])),f=t(r(d[4])),l=t(r(d[5])),b=t(r(d[6])),p=r(d[7]);Object.keys(p).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(n,t)||t in e&&e[t]===p[t]||Object.defineProperty(e,t,{enumerable:!0,get:function(){return p[t]}}))});var O=r(d[8]);Object.keys(O).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(n,t)||t in e&&e[t]===O[t]||Object.defineProperty(e,t,{enumerable:!0,get:function(){return O[t]}}))});var y=r(d[9]);Object.keys(y).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(n,t)||t in e&&e[t]===y[t]||Object.defineProperty(e,t,{enumerable:!0,get:function(){return y[t]}}))})},552,[6,553,560,561,563,554,558,564,566,567]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=o.default.forwardRef(function(o,l){var f=Object.keys(o).reduce(function(t,n){return-1!==p.indexOf(n)&&(t[n]=o[n]),t},s({},n));return(0,u.jsx)(c.default,s(s({},f),{},{children:(0,u.jsx)(t,s(s({},o),{},{ref:l}))}))});return l.propTypes=s({},t.propTypes),l.displayName=t.displayName||'ComponentWrapper',l};var n=t(r(d[1])),o=t(r(d[2])),c=t(r(d[3])),u=r(d[4]);function l(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);n&&(c=c.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,c)}return o}function s(t){for(var o=1;o1&&void 0!==arguments[1]?arguments[1]:{},c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},_=arguments.length>3?arguments[3]:void 0,H=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},T=(function(n){(0,s.default)(b,n);var T,S,C=(T=b,S=E(),function(){var t,n=(0,p.default)(T);if(S){var o=(0,p.default)(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return(0,l.default)(this,t)});function b(n){var u;if((0,o.default)(this,b),(u=C.call(this,n))._onGestureHandlerEvent=function(t){t.nativeEvent.handlerTag===u._handlerTag?u.props.onGestureEvent&&u.props.onGestureEvent(t):u.props.onGestureHandlerEvent&&u.props.onGestureHandlerEvent(t)},u._onGestureHandlerStateChange=function(t){if(t.nativeEvent.handlerTag===u._handlerTag){u.props.onHandlerStateChange&&u.props.onHandlerStateChange(t);var n=k[t.nativeEvent.state];'function'==typeof u.props[n]&&u.props[n](t)}else u.props.onGestureHandlerStateChange&&u.props.onGestureHandlerStateChange(t)},u._refHandler=function(t){u._viewNode=t;var n=f.default.Children.only(u.props.children),o=n.ref;null!==o&&('function'==typeof o?o(t):o.current=t)},u._createGestureHandler=function(n){u._config=n,y.default.createGestureHandler(t,u._handlerTag,n)},u._attachGestureHandler=function(t){u._viewTag=t,y.default.attachGestureHandler(u._handlerTag,t)},u._updateGestureHandler=function(t){u._config=t,y.default.updateGestureHandler(u._handlerTag,t)},u._handlerTag=j++,u._config={},n.id){if(void 0!==P[n.id])throw new Error("Handler with ID \""+n.id+"\" already registered");P[n.id]=u._handlerTag}return u}return(0,u.default)(b,[{key:"componentWillUnmount",value:function(){y.default.dropGestureHandler(this._handlerTag),this._updateEnqueued&&clearImmediate(this._updateEnqueued),this.props.id&&delete P[this.props.id]}},{key:"componentDidMount",value:function(){var t,n,o=this;t=this.props,((n=function(t){return Array.isArray(t)?t.some(function(t){return t&&null===t.current}):t&&null===t.current})(t.simultaneousHandlers)||n(t.waitFor))&&(this._updateEnqueued=setTimeout(function(){o._updateEnqueued=null,o._update()},0)),this._createGestureHandler(R(_?_(this.props):this.props,G(G({},this.constructor.propTypes),H),c)),this._attachGestureHandler(w(this._viewNode))}},{key:"componentDidUpdate",value:function(){var t=w(this._viewNode);this._viewTag!==t&&this._attachGestureHandler(t),this._update()}},{key:"_update",value:function(){var t=R(_?_(this.props):this.props,G(G({},this.constructor.propTypes),H),c);(0,v.default)(this._config,t)||this._updateGestureHandler(t)}},{key:"setNativeProps",value:function(t){var n=G(G({},this.props),t),o=R(_?_(n):n,G(G({},this.constructor.propTypes),H),c);this._updateGestureHandler(o)}},{key:"render",value:function(){var t=this._onGestureHandlerEvent,n=this.props,o=n.onGestureEvent,u=n.onGestureHandlerEvent;if(o&&'function'!=typeof o){if(u)throw new Error('Nesting touch handlers with native animated driver is not supported yet');t=this.props.onGestureEvent}else if(u&&'function'!=typeof u)throw new Error('Nesting touch handlers with native animated driver is not supported yet');var s=this._onGestureHandlerStateChange,l=this.props,p=l.onHandlerStateChange,c=l.onGestureHandlerStateChange;if(p&&'function'!=typeof p){if(c)throw new Error('Nesting touch handlers with native animated driver is not supported yet');s=this.props.onHandlerStateChange}else if(c&&'function'!=typeof c)throw new Error('Nesting touch handlers with native animated driver is not supported yet');var v=f.default.Children.only(this.props.children),y=v.props.children;return h.Touchable.TOUCH_TARGET_DEBUG&&v.type&&('RNGestureHandlerButton'===v.type||'View'===v.type.name||'View'===v.type.displayName)&&(y=f.default.Children.toArray(y)).push(h.Touchable.renderDebugView({color:'mediumspringgreen',hitSlop:v.props.hitSlop})),f.default.cloneElement(v,{ref:this._refHandler,collapsable:!1,onGestureHandlerEvent:t,onGestureHandlerStateChange:s},y)}}]),b})(f.default.Component);return T.displayName=t,T.propTypes=n,T};var n,o=t(r(d[1])),u=t(r(d[2])),s=t(r(d[3])),l=t(r(d[4])),p=t(r(d[5])),c=t(r(d[6])),f=t(r(d[7])),h=r(d[8]),v=t(r(d[9])),y=t(r(d[10])),_=t(r(d[11]));function E(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}function H(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);n&&(u=u.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,u)}return o}function G(t){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:{});return Object.keys(n).forEach(function(n){var u,s,l=t[n];if(s=n,!(void 0===(u=l)||u===Object(u)&&'__isNative'in u||'onHandlerStateChange'===s||'onGestureEvent'===s)){var p=t[n];'simultaneousHandlers'===n||'waitFor'===n?p=A(t[n]):'hitSlop'===n&&'object'!=typeof p&&(p={top:p,left:p,bottom:p,right:p}),o[n]=p}}),o}function A(t){return Array.isArray(t)||(t=[t]),'web'===h.Platform.OS?t.map(function(t){return t.current}).filter(function(t){return t}):t.map(function(t){return P[t]||t.current&&t.current._handlerTag||-1}).filter(function(t){return t>0})}var k=(n={},(0,c.default)(n,_.default.BEGAN,'onBegan'),(0,c.default)(n,_.default.FAILED,'onFailed'),(0,c.default)(n,_.default.CANCELLED,'onCancelled'),(0,c.default)(n,_.default.ACTIVE,'onActivated'),(0,c.default)(n,_.default.END,'onEnded'),n)},555,[6,8,9,13,15,12,26,55,2,556,557,558]); -__d(function(g,r,i,a,m,e,d){"use strict";var t=[],n=[];function u(t,n,o,l){if(t===n)return 0!==t||1/t==1/n;if(null==t||null==n)return!1;if('object'!=typeof t||'object'!=typeof n)return!1;var c=Object.prototype.toString,s=c.call(t);if(s!=c.call(n))return!1;switch(s){case'[object String]':return t==String(n);case'[object Number]':return!isNaN(t)&&!isNaN(n)&&t==Number(n);case'[object Date]':case'[object Boolean]':return+t==+n;case'[object RegExp]':return t.source==n.source&&t.global==n.global&&t.multiline==n.multiline&&t.ignoreCase==n.ignoreCase}for(var f=o.length;f--;)if(o[f]==t)return l[f]==n;o.push(t),l.push(n);var p=0;if('[object Array]'===s){if((p=t.length)!==n.length)return!1;for(;p--;)if(!u(t[p],n[p],o,l))return!1}else{if(t.constructor!==n.constructor)return!1;if(t.hasOwnProperty('valueOf')&&n.hasOwnProperty('valueOf'))return t.valueOf()==n.valueOf();var h=Object.keys(t);if(h.length!=Object.keys(n).length)return!1;for(var b=0;b1&&void 0!==arguments[1]?arguments[1]:void 0;function o(o){return(0,l.jsx)(u.default,{style:[p.container,n],children:(0,l.jsx)(t,O({},o))})}return o.displayName="gestureHandlerRootHOC("+(t.displayName||t.name)+")",(0,c.default)(o,t),o};var n=t(r(d[1])),o=(t(r(d[2])),r(d[3])),c=t(r(d[4])),u=t(r(d[5])),l=r(d[6]);function f(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);n&&(c=c.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,c)}return o}function O(t){for(var o=1;oo?h-o:0);var y=c+v+(s._drawerShown?o:0);y+O*f>o/2?s._animateDrawer(y,o,f):s._animateDrawer(y,0,f)},s._updateShowing=function(t){s._drawerShown=t,s._accessibilityIsModalView.current&&s._accessibilityIsModalView.current.setNativeProps({accessibilityViewIsModal:t}),s._pointerEventsView.current&&s._pointerEventsView.current.setNativeProps({pointerEvents:t?'auto':'none'});var n=s.props,o=n.drawerPosition,l=n.minSwipeDistance,u=n.edgeWidth,p='left'===o,c=(p?1:-1)*(s._drawerShown?-1:1),f=p?{left:0,width:t?void 0:u}:{right:0,width:t?void 0:u};s._panGestureHandler.current&&s._panGestureHandler.current.setNativeProps({hitSlop:f,activeOffsetX:c*l})},s._animateDrawer=function(t,n,o){if(s.state.dragX.setValue(0),s.state.touchX.setValue('left'===s.props.drawerPosition?0:s.state.containerWidth),null!=t){var l=t;s.props.useNativeAnimations&&(t0?l=Math.min(t+o/60,n):t>n&&o<0&&(l=Math.max(t+o/60,n))),s.state.drawerTranslation.setValue(l)}var u=0!==n;s._updateShowing(u),s._emitStateChanged(D,u),s.props.hideStatusBar&&w.StatusBar.setHidden(u,s.props.statusBarAnimation||'slide'),w.Animated.spring(s.state.drawerTranslation,{velocity:o,bounciness:0,toValue:n,useNativeDriver:s.props.useNativeAnimations}).start(function(t){t.finished&&(s._emitStateChanged(V,u),u?s.props.onDrawerOpen&&s.props.onDrawerOpen():s.props.onDrawerClose&&s.props.onDrawerClose())})},s.openDrawer=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};s._animateDrawer(void 0,s.props.drawerWidth,t.velocity?t.velocity:0),s.forceUpdate()},s.closeDrawer=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};s._animateDrawer(void 0,0,t.velocity?t.velocity:0),s.forceUpdate()},s._renderOverlay=function(){(0,f.default)(s._openValue,'should be set');var t={opacity:s._openValue.interpolate({inputRange:[0,1],outputRange:[0,1],extrapolate:'clamp'}),backgroundColor:s.props.overlayColor};return(0,v.jsx)(h.TapGestureHandler,{onHandlerStateChange:s._onTapHandlerStateChange,children:(0,v.jsx)(w.Animated.View,{pointerEvents:s._drawerShown?'auto':'none',ref:s._pointerEventsView,style:[j.overlay,t]})})},s._renderDrawer=function(){var t,n=s.props,o=n.drawerBackgroundColor,l=n.drawerWidth,u=n.drawerPosition,p=n.drawerType,c=n.drawerContainerStyle,h=n.contentContainerStyle,y='left'===u,_='back'!==p,S='front'!==p,b=w.I18nManager.isRTL?y:!y,O={backgroundColor:o,width:l},V=s._openValue;((0,f.default)(V,'should be set'),S)&&(t={transform:[{translateX:V.interpolate({inputRange:[0,1],outputRange:y?[0,l]:[0,-l],extrapolate:'clamp'})}]});var A=0;if(_){var D=y?-l:l;A=V.interpolate({inputRange:[0,1],outputRange:[D,0],extrapolate:'clamp'})}var P={transform:[{translateX:A}],flexDirection:b?'row-reverse':'row'};return(0,v.jsxs)(w.Animated.View,{style:j.main,onLayout:s._handleContainerLayout,children:[(0,v.jsxs)(w.Animated.View,{style:['front'===p?j.containerOnBack:j.containerInFront,t,h],importantForAccessibility:s._drawerShown?'no-hide-descendants':'yes',children:['function'==typeof s.props.children?s.props.children(s._openValue):s.props.children,s._renderOverlay()]}),(0,v.jsx)(w.Animated.View,{pointerEvents:"box-none",ref:s._accessibilityIsModalView,accessibilityViewIsModal:s._drawerShown,style:[j.drawerContainer,P,c],children:(0,v.jsx)(w.View,{style:O,children:s.props.renderNavigationView(s._openValue)})})]})},s._setPanGestureRef=function(t){s._panGestureHandler.current=t,s.props.onGestureRef&&s.props.onGestureRef(t)};var l=new w.Animated.Value(0),u=new w.Animated.Value(0),p=new w.Animated.Value(0);return s.state={dragX:l,touchX:u,drawerTranslation:p,containerWidth:0},s._updateAnimatedEvent(t,s.state),s}return(0,s.default)(S,[{key:"UNSAFE_componentWillUpdate",value:function(t,n){this.props.drawerPosition===t.drawerPosition&&this.props.drawerWidth===t.drawerWidth&&this.props.drawerType===t.drawerType&&this.state.containerWidth===n.containerWidth||this._updateAnimatedEvent(t,n)}},{key:"render",value:function(){var t=this.props,n=t.drawerPosition,o=t.drawerLockMode,s=t.edgeWidth,l=t.minSwipeDistance,u='left'===n,p=(u?1:-1)*(this._drawerShown?-1:1),c=u?{left:0,width:this._drawerShown?void 0:s}:{right:0,width:this._drawerShown?void 0:s};return(0,v.jsx)(h.PanGestureHandler,{ref:this._setPanGestureRef,hitSlop:c,activeOffsetX:p*l,failOffsetY:[-15,15],onGestureEvent:this._onGestureEvent,onHandlerStateChange:this._openingHandlerStateChange,enabled:'locked-closed'!==o&&'locked-open'!==o,children:this._renderDrawer()})}}]),S})(c.Component);e.default=P,P.defaultProps={drawerWidth:200,drawerPosition:'left',useNativeAnimations:!0,drawerType:'front',edgeWidth:20,minSwipeDistance:3,overlayColor:'rgba(0, 0, 0, 0.7)',drawerLockMode:'unlocked'},P.positions={Left:'left',Right:'right'};var j=w.StyleSheet.create({drawerContainer:S(S({},w.StyleSheet.absoluteFillObject),{},{zIndex:1001,flexDirection:'row'}),containerInFront:S(S({},w.StyleSheet.absoluteFillObject),{},{zIndex:1002}),containerOnBack:S({},w.StyleSheet.absoluteFillObject),main:{flex:1,zIndex:0,overflow:'hidden'},overlay:S(S({},w.StyleSheet.absoluteFillObject),{},{zIndex:1e3})})},569,[6,26,8,9,13,15,12,55,3,2,552,53]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"TouchableHighlight",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"TouchableNativeFeedback",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"TouchableOpacity",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"TouchableWithoutFeedback",{enumerable:!0,get:function(){return n.default}});var u=t(r(d[1])),n=t(r(d[2])),c=t(r(d[3])),o=t(r(d[4]))},570,[6,571,573,574,575]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o=t(r(d[1])),n=t(r(d[2])),u=t(r(d[3])),l=t(r(d[4])),p=t(r(d[5])),c=t(r(d[6])),f=t(r(d[7])),s=r(d[8]),y=(function(t,o){if(!o&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=j(o);if(n&&n.has(t))return n.get(t);var u={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var p in t)if("default"!==p&&Object.prototype.hasOwnProperty.call(t,p)){var c=l?Object.getOwnPropertyDescriptor(t,p):null;c&&(c.get||c.set)?Object.defineProperty(u,p,c):u[p]=t[p]}u.default=t,n&&n.set(t,u);return u})(r(d[9])),b=t(r(d[10])),O=t(r(d[11])),v=r(d[12]),P=["style"];function j(t){if("function"!=typeof WeakMap)return null;var o=new WeakMap,n=new WeakMap;return(j=function(t){return t?n:o})(t)}function h(t,o){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);o&&(u=u.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,u)}return n}function R(t){for(var n=1;n=23},k.defaultProps=R(R({},O.default.defaultProps),{},{useForeground:!0,extraButtonProps:{rippleColor:null}}),k.propTypes=R(R({},O.default.publicPropTypes),{},{useForeground:b.default.bool,background:b.default.object,style:b.default.any})},571,[6,26,58,8,9,13,15,12,2,55,71,572,53]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.TOUCHABLE_STATE=void 0;var s=t(r(d[1])),o=t(r(d[2])),n=t(r(d[3])),u=t(r(d[4])),l=t(r(d[5])),p=t(r(d[6])),c=(function(t,s){if(!s&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=E(s);if(o&&o.has(t))return o.get(t);var n={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var p=u?Object.getOwnPropertyDescriptor(t,l):null;p&&(p.get||p.set)?Object.defineProperty(n,l,p):n[l]=t[l]}n.default=t,o&&o.set(t,n);return n})(r(d[7])),f=r(d[8]),h=r(d[9]),T=t(r(d[10])),y=r(d[11]);function E(t){if("function"!=typeof WeakMap)return null;var s=new WeakMap,o=new WeakMap;return(E=function(t){return t?o:s})(t)}function v(t,s){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);s&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),o.push.apply(o,n)}return o}function O(t){for(var o=1;o0?o.interpolate({inputRange:[0,u],outputRange:[1,0]}):o.interpolate({inputRange:[u,0],outputRange:[0,1]})},E=(function(t){(0,s.default)(R,t);var y,k,w=(y=R,k=I(),function(){var t,o=(0,l.default)(y);if(k){var n=(0,l.default)(this).constructor;t=Reflect.construct(o,arguments,n)}else t=o.apply(this,arguments);return(0,u.default)(this,t)});function R(t){var n;(0,o.default)(this,R),(n=w.call(this,t)).handleLayout=function(t){var o=t.nativeEvent.layout,s=o.height,u=o.width,l={width:u,height:s};n.setState(function(t,o){return s===t.layout.height&&u===t.layout.width?null:{layout:l,headerHeights:j(o.routes,o.insets,o.isParentHeaderShown,t.descriptors,l,t.headerHeights)}})},n.handleHeaderLayout=function(t){var o=t.route,s=t.height;n.setState(function(t){var n=t.headerHeights;return n[o.key]===s?null:{headerHeights:D(D({},n),{},(0,c.default)({},o.key,s))}})},n.getFocusedRoute=function(){var t=n.props.state;return t.routes[t.index]},n.getPreviousScene=function(t){var o=t.route,s=n.props.getPreviousRoute,u=n.state.scenes,l=s({route:o});if(l)return u.find(function(t){return t.route.key===l.key})};var s=h.Dimensions.get('window'),u=s.height,l=void 0===u?0:u,p=s.width,f=void 0===p?0:p;return n.state={routes:[],scenes:[],gestures:{},layout:{height:l,width:f},descriptors:n.props.descriptors,headerHeights:{}},n}return(0,n.default)(R,[{key:"render",value:function(){var t=this,o=this.props,n=o.mode,s=o.insets,u=o.descriptors,l=o.state,c=o.routes,y=o.closingRouteKeys,k=o.onOpenRoute,w=o.onCloseRoute,I=o.getGesturesEnabled,R=o.renderHeader,H=o.renderScene,j=o.headerMode,x=o.isParentHeaderShown,C=o.onTransitionStart,E=o.onTransitionEnd,M=o.onPageChangeStart,_=o.onPageChangeConfirm,T=o.onPageChangeCancel,F=o.onGestureStart,G=o.onGestureEnd,L=o.onGestureCancel,B=o.detachInactiveScreens,N=void 0===B?'web'===h.Platform.OS||f.shouldUseActivityState:B,V=this.state,W=V.scenes,z=V.layout,K=V.gestures,U=V.headerHeights,q=l.routes[l.index],J=u[q.key],Q=J?J.options:{},X=U[q.key],Y='modal'===n?S.ModalTransition:S.DefaultTransition;'screen'===j&&(Y=D(D({},Y),{},{headerStyleInterpolator:b.forNoAnimation}));for(var Z=Q.safeAreaInsets||{},$=Z.top,ee=void 0===$?s.top:$,te=Z.right,re=void 0===te?s.right:te,oe=Z.bottom,ne=void 0===oe?s.bottom:oe,ae=Z.left,ie=void 0===ae?s.left:ae,se=1,ue=W.length-1;ue>=0;ue--){var le=W[ue].descriptor.options.detachPreviousScreen;if(!1!==(void 0===le?'modal'!==n||ue!==W.length-1:le))break;se++}var de='float'===j&&this.state.scenes.slice(-2).some(function(t){var o=t.descriptor,n=o?o.options:{},s=n.headerTransparent,u=n.headerShown;return!(!s&&!1!==(void 0===u||u))}),ce='float'===j?(0,P.jsx)(p.Fragment,{children:R({mode:'float',layout:z,insets:{top:ee,right:re,bottom:ne,left:ie},scenes:W,getPreviousScene:this.getPreviousScene,getFocusedRoute:this.getFocusedRoute,onContentHeightChange:this.handleHeaderLayout,gestureDirection:void 0!==Q.gestureDirection?Q.gestureDirection:Y.gestureDirection,styleInterpolator:void 0!==Q.headerStyleInterpolator?Q.headerStyleInterpolator:Y.headerStyleInterpolator,style:[A.floating,de&&[{height:X},A.absolute]]})},"header"):null;return(0,P.jsxs)(p.Fragment,{children:[de?null:ce,(0,P.jsx)(f.MaybeScreenContainer,{enabled:N,style:A.container,onLayout:this.handleLayout,children:c.map(function(o,u,l){var c=q.key===o.key,p=K[o.key],S=W[u],b=1;if(f.shouldUseActivityState||'web'===h.Platform.OS)if(u=l.length-se?1:0;b=A?A.progress.current.interpolate({inputRange:[0,.99,1],outputRange:[1,1,B],extrapolate:'clamp'}):1}else b=S.progress.next?S.progress.next.interpolate({inputRange:[0,.99,1],outputRange:[1,1,0],extrapolate:'clamp'}):1;var V=S.descriptor?S.descriptor.options:{},J=V.safeAreaInsets,Q=V.headerShown,X=void 0===Q||Q,Z=V.headerTransparent,$=V.cardShadowEnabled,ee=V.cardOverlayEnabled,te=V.cardOverlay,re=V.cardStyle,oe=V.animationEnabled,ne=V.gestureResponseDistance,ae=V.gestureVelocityImpact,ie=V.gestureDirection,ue=void 0===ie?Y.gestureDirection:ie,le=V.transitionSpec,ce=void 0===le?Y.transitionSpec:le,pe=V.cardStyleInterpolator,he=void 0===pe?!1===oe?O.forNoAnimation:Y.cardStyleInterpolator:pe,fe=V.headerStyleInterpolator,ge={gestureDirection:ue,transitionSpec:ce,cardStyleInterpolator:he,headerStyleInterpolator:void 0===fe?Y.headerStyleInterpolator:fe};if(u!==l.length-1){var ye=W[u+1];if(ye){var ve=ye.descriptor?ye.descriptor.options:{},Se=ve.animationEnabled,me=ve.gestureDirection,be=void 0===me?Y.gestureDirection:me,Oe=ve.transitionSpec,ke=void 0===Oe?Y.transitionSpec:Oe,Pe=ve.cardStyleInterpolator,we=void 0===Pe?!1===Se?O.forNoAnimation:Y.cardStyleInterpolator:Pe,Ie=ve.headerStyleInterpolator;ge={gestureDirection:be,transitionSpec:ke,cardStyleInterpolator:we,headerStyleInterpolator:void 0===Ie?Y.headerStyleInterpolator:Ie}}}var Re=J||{},De=Re.top,He=void 0===De?s.top:De,je=Re.right,xe=void 0===je?s.right:je,Ce=Re.bottom,Ee=void 0===Ce?s.bottom:Ce,Ae=Re.left,Me=void 0===Ae?s.left:Ae,_e='none'!==j&&!1!==X?U[o.key]:0;return(0,P.jsx)(f.MaybeScreen,{style:h.StyleSheet.absoluteFill,enabled:N,active:b,pointerEvents:"box-none",children:(0,P.jsx)(v.default,D({index:u,active:u===l.length-1,focused:c,closing:y.includes(o.key),layout:z,gesture:p,scene:S,safeAreaInsetTop:He,safeAreaInsetRight:xe,safeAreaInsetBottom:Ee,safeAreaInsetLeft:Me,cardOverlay:te,cardOverlayEnabled:ee,cardShadowEnabled:$,cardStyle:re,onPageChangeStart:M,onPageChangeConfirm:_,onPageChangeCancel:T,onGestureStart:F,onGestureCancel:L,onGestureEnd:G,gestureResponseDistance:ne,headerHeight:_e,isParentHeaderShown:x,onHeaderHeightChange:t.handleHeaderLayout,getPreviousScene:t.getPreviousScene,getFocusedRoute:t.getFocusedRoute,mode:n,headerMode:j,headerShown:X,hasAbsoluteHeader:de&&!Z,renderHeader:R,renderScene:H,onOpenRoute:k,onCloseRoute:w,onTransitionStart:C,onTransitionEnd:E,gestureEnabled:0!==u&&I({route:o}),gestureVelocityImpact:ae},ge))},o.key)})}),de?ce:null]})}}],[{key:"getDerivedStateFromProps",value:function(t,o){if(t.routes===o.routes&&t.descriptors===o.descriptors)return null;var n=t.routes.reduce(function(n,s){var u=t.descriptors[s.key],l=((null==u?void 0:u.options)||{}).animationEnabled;return n[s.key]=o.gestures[s.key]||new h.Animated.Value(t.openingRouteKeys.includes(s.key)&&!1!==l?x(t.mode,o.layout,u):0),n},{});return{routes:t.routes,scenes:t.routes.map(function(s,u,l){var c=l[u-1],p=l[u+1],h=o.scenes[u],f=n[s.key],y=c?n[c.key]:void 0,v=p?n[p.key]:void 0,S=t.descriptors[s.key]||o.descriptors[s.key]||(h?h.descriptor:H),b=t.descriptors[null==p?void 0:p.key]||o.descriptors[null==p?void 0:p.key],O=t.descriptors[null==c?void 0:c.key]||o.descriptors[null==c?void 0:c.key],k={route:s,descriptor:S,progress:{current:C(t.mode,f,o.layout,S),next:v?C(t.mode,v,o.layout,b):void 0,previous:y?C(t.mode,y,o.layout,O):void 0},__memo:[s,o.layout,S,b,O,f,v,y]};return h&&k.__memo.every(function(t,o){return h.__memo[o]===t})?h:k}),gestures:n,descriptors:t.descriptors,headerHeights:j(t.routes,t.insets,t.isParentHeaderShown,o.descriptors,o.layout,o.headerHeights)}}}]),R})(p.Component);e.default=E;var A=h.StyleSheet.create({container:{flex:1},absolute:{position:'absolute',top:0,left:0,right:0},floating:{zIndex:1}})},577,[6,8,9,13,15,12,26,55,2,578,579,589,545,543,540,593,53]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.shouldUseActivityState=e.MaybeScreenContainer=e.MaybeScreen=void 0;var n,c,o=t(r(d[1])),u=t(r(d[2])),l=t(r(d[3])),f=t(r(d[4])),s=t(r(d[5])),p=t(r(d[6])),y=t(r(d[7])),b=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var c=w(n);if(c&&c.has(t))return c.get(t);var o={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in t)if("default"!==l&&Object.prototype.hasOwnProperty.call(t,l)){var f=u?Object.getOwnPropertyDescriptor(t,l):null;f&&(f.get||f.set)?Object.defineProperty(o,l,f):o[l]=t[l]}o.default=t,c&&c.set(t,o);return o})(r(d[8])),v=r(d[9]),O=r(d[10]),j=["active","style"],h=["enabled"],P=["enabled","active"];function w(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,c=new WeakMap;return(w=function(t){return t?c:n})(t)}function S(t,n){var c=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),c.push.apply(c,o)}return c}function x(t){for(var n=1;nt.height;return('ios'===h.Platform.OS?n&&!h.Platform.isPad?32:44:'android'===h.Platform.OS?56:64)+o};e.getDefaultHeaderHeight=R;var C=h.StyleSheet.create({content:{flex:1,flexDirection:'row',alignItems:'center',justifyContent:'center'},left:{position:'absolute',left:0,top:0,bottom:0,justifyContent:'center',alignItems:'flex-start'},right:{position:'absolute',right:0,top:0,bottom:0,justifyContent:'center',alignItems:'flex-end'}})},579,[6,58,26,31,55,2,580,586,587,588,53]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var n=t.disabled,y=t.allowFontScaling,p=t.backImage,v=t.label,O=t.labelStyle,j=t.labelVisible,w=void 0===j?'ios'===c.Platform.OS:j,P=t.onLabelLayout,k=t.onPress,x=t.pressColorAndroid,M=t.screenLayout,L=t.tintColor,S=t.titleLayout,D=t.truncatedLabel,C=void 0===D?'Back':D,I=t.accessibilityLabel,R=void 0===I?v&&'Back'!==v?v+", back":'Go back':I,W=t.style,T=(0,s.useTheme)(),V=T.dark,F=T.colors,_=l.useState(void 0),z=(0,o.default)(_,2),E=z[0],B=z[1],A=void 0!==L?L:c.Platform.select({ios:F.primary,default:F.text}),X=void 0!==x?x:V?'rgba(255, 255, 255, .32)':'rgba(0, 0, 0, .32)',q=function(t){null==P||P(t),B(t.nativeEvent.layout.x+t.nativeEvent.layout.width)},G=function(){return!v||E&&S&&M&&(M.width-S.width)/2=O?(0,u.jsx)(l.TouchableNativeFeedback,b(b({},h),{},{useForeground:l.TouchableNativeFeedback.canUseNativeForeground(),background:l.TouchableNativeFeedback.Ripple(y,s),children:(0,u.jsx)(l.View,{style:j,children:c.Children.only(v)})})):(0,u.jsx)(l.TouchableOpacity,b(b({style:j},h),{},{children:v}))};var n=t(r(d[1])),o=t(r(d[2])),c=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=s(n);if(o&&o.has(t))return o.get(t);var c={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in t)if("default"!==u&&Object.prototype.hasOwnProperty.call(t,u)){var f=l?Object.getOwnPropertyDescriptor(t,u):null;f&&(f.get||f.set)?Object.defineProperty(c,u,f):c[u]=t[u]}c.default=t,o&&o.set(t,c);return c})(r(d[3])),l=r(d[4]),u=r(d[5]),f=["borderless","pressColor","style","children"];function s(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(s=function(t){return t?o:n})(t)}function p(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);n&&(c=c.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,c)}return o}function b(t){for(var o=1;ob/2?0!==E||0!==S:t.props.closing;t.animate({closing:x,velocity:E}),x&&(t.pendingGestureCallback=setTimeout(function(){c(),t.forceUpdate()},32)),null==f||f()}},t.getInterpolatedStyle=(0,E.default)(function(n,o,l,s,c,u,h,f,p){return n({index:o,current:{progress:l},next:s&&{progress:s},closing:t.isClosing,swiping:t.isSwiping,inverted:t.inverted,layouts:{screen:c},insets:{top:u,right:h,bottom:f,left:p}})}),t.getCardAnimationContext=(0,E.default)(function(n,o,l,s,c,u,h,f){return{index:n,current:{progress:o},next:l&&{progress:l},closing:t.isClosing,swiping:t.isSwiping,inverted:t.inverted,layouts:{screen:s},insets:{top:c,right:u,bottom:h,left:f}}}),t.contentRef=f.createRef(),t}return(0,s.default)(G,[{key:"componentDidMount",value:function(){this.animate({closing:this.props.closing}),this.isCurrentlyMounted=!0}},{key:"componentDidUpdate",value:function(t){var n=this.props,o=n.layout,l=n.gestureDirection,s=n.closing,c=o.width,u=o.height;c!==t.layout.width&&this.layout.width.setValue(c),u!==t.layout.height&&this.layout.height.setValue(u),l!==t.gestureDirection&&this.inverted.setValue((0,O.default)(l));var h=this.getAnimateToValue(this.props);this.getAnimateToValue(t)===h&&this.lastToValue===h||this.animate({closing:s})}},{key:"componentWillUnmount",value:function(){this.isCurrentlyMounted=!1,this.handleEndInteraction()}},{key:"gestureActivationCriteria",value:function(){var t=this.props,n=t.layout,o=t.gestureDirection,l=t.gestureResponseDistance,s='vertical'===o||'vertical-inverted'===o?void 0!==(null==l?void 0:l.vertical)?l.vertical:135:void 0!==(null==l?void 0:l.horizontal)?l.horizontal:50;if('vertical'===o)return{maxDeltaX:15,minOffsetY:5,hitSlop:{bottom:-n.height+s}};if('vertical-inverted'===o)return{maxDeltaX:15,minOffsetY:-5,hitSlop:{top:-n.height+s}};var c=-n.width+s;return 1===(0,O.default)(o)?{minOffsetX:5,maxDeltaY:20,hitSlop:{right:c}}:{minOffsetX:-5,maxDeltaY:20,hitSlop:{left:c}}}},{key:"render",value:function(){var t,o=this.props,l=o.styleInterpolator,s=o.index,c=o.current,u=o.gesture,h=o.next,f=o.layout,S=o.insets,O=o.overlay,E=o.overlayEnabled,V=o.shadowEnabled,j=o.gestureEnabled,D=o.gestureDirection,P=o.pageOverflowEnabled,I=o.children,G=o.containerStyle,H=o.contentStyle,M=(0,n.default)(o,C),T=this.getInterpolatedStyle(l,s,c,h,f,S.top,S.right,S.bottom,S.left),X=this.getCardAnimationContext(s,c,h,f,S.top,S.right,S.bottom,S.left),Y=T.containerStyle,z=T.cardStyle,B=T.overlayStyle,N=T.shadowStyle,_=j?p.Animated.event([{nativeEvent:'vertical'===D||'vertical-inverted'===D?{translationY:u}:{translationX:u}}],{useNativeDriver:k}):void 0,L=p.StyleSheet.flatten(H||{}).backgroundColor,U='string'==typeof L&&0===(0,v.default)(L).alpha();return(0,x.jsxs)(b.default.Provider,{value:X,children:[(0,x.jsx)(p.Animated.View,{style:{opacity:c},collapsable:!1}),(0,x.jsxs)(p.View,A(A({pointerEvents:"box-none"},M),{},{children:[E?(0,x.jsx)(p.View,{pointerEvents:"box-none",style:p.StyleSheet.absoluteFill,children:O({style:B})}):null,(0,x.jsx)(p.Animated.View,{needsOffscreenAlphaCompositing:(t=Y,!!t&&null!=p.StyleSheet.flatten(t).opacity),style:[R.container,Y,G],pointerEvents:"box-none",children:(0,x.jsx)(w.PanGestureHandler,A(A({enabled:0!==f.width&&j,onGestureEvent:_,onHandlerStateChange:this.handleGestureStateChange},this.gestureActivationCriteria()),{},{children:(0,x.jsxs)(p.Animated.View,{style:[R.container,z],children:[V&&N&&!U?(0,x.jsx)(p.Animated.View,{style:[R.shadow,'horizontal'===D?[R.shadowHorizontal,R.shadowLeft]:'horizontal-inverted'===D?[R.shadowHorizontal,R.shadowRight]:'vertical'===D?[R.shadowVertical,R.shadowTop]:[R.shadowVertical,R.shadowBottom],{backgroundColor:L},N],pointerEvents:"none"}):null,(0,x.jsx)(y.default,{ref:this.contentRef,enabled:P,layout:f,style:H,children:I})]})}))})]}))]})}}]),G})(f.Component);e.default=G,G.defaultProps={overlayEnabled:'ios'!==p.Platform.OS,shadowEnabled:!0,gestureEnabled:!0,gestureVelocityImpact:.3,overlay:function(t){var n=t.style;return n?(0,x.jsx)(p.Animated.View,{pointerEvents:"none",style:[R.overlay,n]}):null}};var R=p.StyleSheet.create({container:{flex:1},overlay:{flex:1,backgroundColor:'#000'},shadow:{position:'absolute',shadowRadius:5,shadowColor:'#000',shadowOpacity:.3},shadowHorizontal:{top:0,bottom:0,width:3,shadowOffset:{width:-1,height:1}},shadowLeft:{left:0},shadowRight:{right:0},shadowVertical:{left:0,right:0,height:3,shadowOffset:{width:1,height:-1}},shadowTop:{top:0},shadowBottom:{bottom:0}})},590,[6,58,26,8,9,13,15,12,55,2,526,591,548,592,593,594,588,53]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=t(r(d[1])),o=t(r(d[2])),c=t(r(d[3])),f=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=y(n);if(o&&o.has(t))return o.get(t);var c={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in t)if("default"!==u&&Object.prototype.hasOwnProperty.call(t,u)){var l=f?Object.getOwnPropertyDescriptor(t,u):null;l&&(l.get||l.set)?Object.defineProperty(c,u,l):c[u]=t[u]}c.default=t,o&&o.set(t,c);return c})(r(d[4])),u=r(d[5]),l=r(d[6]),p=["enabled","layout","style"];function y(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(y=function(t){return t?o:n})(t)}function b(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);n&&(c=c.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,c)}return o}function O(t){for(var o=1;o>>0===n&&n>=0&&n<=4294967295)return(0,t.integerColor)(n);if(!n||'none'===n)return null;if('currentColor'===n)return u;if('context-fill'===n)return f;if('context-stroke'===n)return l;var c='string'==typeof n&&n.match(o);if(c)return[1,c[1]];var p=(0,t.default)(n);if('number'==typeof p)return p;return console.warn("\""+n+"\" is not a valid color or brush"),null};var t=(function(t,o){if(!o&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var u=n(o);if(u&&u.has(t))return u.get(t);var f={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var p=l?Object.getOwnPropertyDescriptor(t,c):null;p&&(p.get||p.set)?Object.defineProperty(f,c,p):f[c]=t[c]}f.default=t,u&&u.set(t,f);return f})(r(d[0]));function n(t){if("function"!=typeof WeakMap)return null;var o=new WeakMap,u=new WeakMap;return(n=function(t){return t?u:o})(t)}var o=/^url\(#(.+)\)$/,u=[2],f=[3],l=[4]},625,[626]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.colors=e.colorNames=void 0,e.default=function(l){if('number'==typeof l)return l>>>0===l&&l>=0&&l<=4294967295?_(l):null;var n='string'==typeof l?O(l):l;if(!Array.isArray(n))return n;var t=n[0],o=n[1],s=n[2],u=n[3],c=((void 0===u?4278190080:Math.round(255*u)<<24)|Math.round(255*t)<<16|Math.round(255*o)<<8|Math.round(255*s))>>>0;return _(c)},e.integerColor=void 0;var l=r(d[0]),n={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};e.colors=n;var t={};for(var o in e.colorNames=t,n)if(n.hasOwnProperty(o)){var s=n[o],u=s[0],c=s[1],h=s[2];t[o]=(4278190080|u<<16|c<<8|h)>>>0}function f(l,n,t,o){var s,u,c,h,f,b=l/360,p=n/100,y=t/100;if(0===p)return[f=y,f,f,o];s=2*y-(u=y<.5?y*(1+p):y+p-y*p),h=[0,0,0,o];for(var k=0;k<3;k++)(c=b+.3333333333333333*-(k-1))<0&&c++,c>1&&c--,f=6*c<1?s+6*(u-s)*c:2*c<1?u:3*c<2?s+(u-s)*(.6666666666666666-c)*6:s,h[k]=f;return h}function b(l,n,t,o){var s,u,c,h,f,b,p,y=l/360,k=n/100,v=t/100,w=k+v;switch(w>1&&(k/=w,v/=w),u=1-v,c=6*y-(s=Math.floor(6*y)),0!=(1&s)&&(c=1-c),h=k+c*(u-k),s){default:case 6:case 0:f=u,b=h,p=k;break;case 1:f=h,b=u,p=k;break;case 2:f=k,b=u,p=h;break;case 3:f=k,b=h,p=u;break;case 4:f=h,b=k,p=u;break;case 5:f=u,b=k,p=h}return[f,b,p,o]}function p(l,n,t){return Math.min(Math.max(n,l),t)}Object.freeze(t);var y=/^#([a-f0-9]{3,4})$/i,k=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,v=/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d.]+)\s*)?\)$/,w=/^rgba?\(\s*([+-]?[\d.]+)%\s*,\s*([+-]?[\d.]+)%\s*,\s*([+-]?[\d.]+)%\s*(?:,\s*([+-]?[\d.]+)\s*)?\)$/,F=/(\D+)/;function M(l){var n,o,s,u=[0,0,0,1];if(n=l.match(k)){for(s=n[2],n=n[1],o=0;o<3;o++){var c=2*o;u[o]=parseInt(n.slice(c,c+2),16)/255}s&&(u[3]=Math.round(parseInt(s,16)/255*100)/100)}else if(n=l.match(y)){for(s=(n=n[1])[3],o=0;o<3;o++)u[o]=parseInt(n[o]+n[o],16)/255;s&&(u[3]=Math.round(parseInt(s+s,16)/255*100)/100)}else if(n=l.match(v)){for(o=0;o<3;o++)u[o]=parseInt(n[o+1],0)/255;n[4]&&(u[3]=parseFloat(n[4]))}else{if(!(n=l.match(w))){if(n=l.match(F)){if('transparent'===n[1])return[0,0,0,0];var h=t[n[1]];return'number'!=typeof h?null:_(h)}return null}for(o=0;o<3;o++)u[o]=parseFloat(n[o+1])/100;n[4]&&(u[3]=parseFloat(n[4]))}for(o=0;o<4;o++)u[o]=p(u[o],0,1);return u}var q=/^hsla?\(\s*([+-]?(?:\d*\.)?\d+)(?:deg)?\s*,\s*([+-]?[\d.]+)%\s*,\s*([+-]?[\d.]+)%\s*(?:,\s*([+-]?[\d.]+)\s*)?\)$/;function N(l){var n=l.match(q);if(!n)return null;var t=parseFloat(n[4]);return f((parseFloat(n[1])+360)%360,p(parseFloat(n[2]),0,100),p(parseFloat(n[3]),0,100),isNaN(t)?1:p(t,0,1))}var $=/^hwb\(\s*([+-]?\d*[.]?\d+)(?:deg)?\s*,\s*([+-]?[\d.]+)%\s*,\s*([+-]?[\d.]+)%\s*(?:,\s*([+-]?[\d.]+)\s*)?\)$/;function I(l){var n=l.match($);if(!n)return null;var t=parseFloat(n[4]);return b((parseFloat(n[1])%360+360)%360,p(parseFloat(n[2]),0,100),p(parseFloat(n[3]),0,100),isNaN(t)?1:p(t,0,1))}function O(l){switch(l.substring(0,3).toLowerCase()){case'hsl':return N(l);case'hwb':return I(l);default:return M(l)}}var _='android'===l.Platform.OS?function(l){return 0|l}:function(l){return l};e.integerColor=_},626,[2]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(n){var t=+n;return isNaN(t)?1:t}},627,[]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,f,h){var c=f.stroke,p=f.strokeOpacity,v=f.strokeLinecap,y=f.strokeLinejoin,D=f.strokeDasharray,L=f.strokeWidth,b=f.strokeDashoffset,j=f.strokeMiterlimit,M=f.vectorEffect;null!=c&&(h.push('stroke'),t.stroke=(0,o.default)(c));null!=L&&(h.push('strokeWidth'),t.strokeWidth=L);null!=p&&(h.push('strokeOpacity'),t.strokeOpacity=(0,s.default)(p));if(null!=D){h.push('strokeDasharray');var O=D&&'none'!==D?(0,n.default)(D):null;t.strokeDasharray=O&&O.length%2==1?O.concat(O):O}null!=b&&(h.push('strokeDashoffset'),t.strokeDashoffset=D&&b?+b||0:null);null!=v&&(h.push('strokeLinecap'),t.strokeLinecap=v&&l[v]||0);null!=y&&(h.push('strokeLinejoin'),t.strokeLinejoin=y&&u[y]||0);null!=j&&(h.push('strokeMiterlimit'),t.strokeMiterlimit=(j&&'number'!=typeof j?parseFloat(j):j)||4);null!=M&&(t.vectorEffect=M&&k[M]||0)};var o=t(r(d[1])),s=t(r(d[2])),n=t(r(d[3])),l={butt:0,square:2,round:1},u={miter:0,bevel:2,round:1},k={none:0,default:0,nonScalingStroke:1,'non-scaling-stroke':1,inherit:2,uri:3}},628,[6,625,627,629]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(u){return Array.isArray(u)?u:'number'==typeof u?[u]:'string'==typeof u?u.trim().replace(n,' ').split(t):[]};var t=/\s+/,n=/,/g},629,[]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(l){if(Array.isArray(l))return l;if('string'==typeof l)try{var s=(0,t.parse)(l);return[s[0],s[3],s[1],s[4],s[2],s[5]]}catch(t){return console.error(t),n.identity}return u(o(l),l.transform)},e.props2transform=o,e.transformToMatrix=u;var n=r(d[0]),t=r(d[1]);function l(t){var l=t.x,s=t.y,o=t.originX,u=t.originY,y=t.scaleX,f=t.scaleY,c=t.rotation,p=t.skewX,A=t.skewY;(0,n.appendTransform)(l+o,s+u,y,f,c,p,A,o,u)}function s(n,t,l,s){var o,u;if('number'==typeof n)o=u=n;else if('string'==typeof n){var y=n.split(/\s*,\s*/);2===y.length?(o=+y[0],u=+y[1]):1===y.length&&(o=u=+y[0])}else Array.isArray(n)&&(2===n.length?(o=+n[0],u=+n[1]):1===n.length&&(o=u=+n[0]));return t=+t,isNaN(t)||(o=t),l=+l,isNaN(l)||(u=l),[o||s||0,u||s||0]}function o(n){var t=n.rotation,l=n.translate,o=n.translateX,u=n.translateY,y=n.origin,f=n.originX,c=n.originY,p=n.scale,A=n.scaleX,v=n.scaleY,X=n.skew,Y=n.skewX,h=n.skewY,w=n.x,k=n.y;if(null==t&&null==l&&null==o&&null==u&&null==y&&null==f&&null==c&&null==p&&null==A&&null==v&&null==X&&null==Y&&null==h&&null==w&&null==k)return null;(Array.isArray(w)||Array.isArray(k))&&console.warn('Passing SvgLengthList to x or y attribute where SvgLength expected');var x=s(l,o||(Array.isArray(w)?w[0]:w),u||(Array.isArray(k)?k[0]:k)),b=s(y,f,c),N=s(p,A,v,1),_=s(X,Y,h);return{rotation:null==t?0:+t||0,originX:b[0],originY:b[1],scaleX:N[0],scaleY:N[1],skewX:_[0],skewY:_[1],x:x[0],y:x[1]}}function u(s,u){if(!s&&!u)return null;if((0,n.reset)(),s&&l(s),u)if(Array.isArray(u))'number'==typeof u[0]&&(0,n.append)(u[0],u[1],u[2],u[3],u[4],u[5]);else if('string'==typeof u)try{var y=(0,t.parse)(u);(0,n.append)(y[0],y[3],y[1],y[4],y[2],y[5])}catch(n){console.error(n)}else{var f=o(u);f&&l(f)}return(0,n.toArray)()}},630,[631,632]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.append=h,e.appendTransform=function(n,p,l,y,_,P,b,j,A){if(0===n&&0===p&&1===l&&1===y&&0===_&&0===P&&0===b&&0===j&&0===A)return;var I,O;if(_%360){var T=_*t;I=Math.cos(T),O=Math.sin(T)}else I=1,O=0;var k=I*l,q=O*l,w=-O*y,x=I*y;if(P||b){var z=Math.tan(b*t),B=Math.tan(P*t);h(k+B*q,z*k+q,w+B*x,z*w+x,n,p)}else h(k,q,w,x,n,p);(j||A)&&(c-=j*f+A*u,s-=j*o+A*v,M=!1)},e.identity=void 0,e.reset=function(){if(M)return;f=v=1,o=u=c=s=0,M=!0},e.toArray=function(){if(M)return n;return[f,o,u,v,c,s]};var t=Math.PI/180,n=[1,0,0,1,0,0];e.identity=n;var f=1,o=0,u=0,v=1,c=0,s=0,M=!0;function h(t,n,h,p,l,y){var _=1!==t||0!==n||0!==h||1!==p,P=0!==l||0!==y;if(_||P){if(M)return M=!1,f=t,o=n,u=h,v=p,c=l,void(s=y);var b=f,j=o,A=u,I=v;_&&(f=b*t+A*n,o=j*t+I*n,u=b*h+A*p,v=j*h+I*p),P&&(c=b*l+A*y+c,s=j*l+I*y+s)}}},631,[]); -__d(function(g,r,i,a,m,e,d){"use strict";function n(t,u,o,f){this.message=t,this.expected=u,this.found=o,this.location=f,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,n)}!(function(n,t){function u(){this.constructor=n}u.prototype=t.prototype,n.prototype=new u})(n,Error),n.buildMessage=function(n,t){var u={literal:function(n){return"\""+f(n.text)+"\""},class:function(n){var t,u="";for(t=0;t0){for(t=1,o=1;tse&&(se=ie,le=[]),le.push(n))}function ve(){var n,t,u,o,s;for(n=ie,t=[],u=Pe();u!==f;)t.push(u),u=Pe();if(t!==f)if((u=Ae())===f&&(u=null),u!==f){for(o=[],s=Pe();s!==f;)o.push(s),s=Pe();o!==f?n=t=c(u):(ie=n,n=f)}else ie=n,n=f;else ie=n,n=f;return n}function Ae(){var n,t,u,o;if(n=ie,(t=xe())!==f){for(u=[],o=ke();o!==f;)u.push(o),o=ke();u!==f&&(o=Ae())!==f?n=t=h(t,o):(ie=n,n=f)}else ie=n,n=f;return n===f&&(n=xe()),n}function xe(){var n;return(n=Ce())===f&&(n=me())===f&&(n=ye())===f&&(n=je())===f&&(n=we())===f&&(n=be()),n}function Ce(){var n,u,o,s,l,c,h,w,b,E,F,M,k;if(n=ie,t.substr(ie,6)===p?(u=p,ie+=6):(u=f,0===ae&&de(v)),u!==f){for(o=[],s=Pe();s!==f;)o.push(s),s=Pe();if(o!==f)if(40===t.charCodeAt(ie)?(s=A,ie++):(s=f,0===ae&&de(x)),s!==f){for(l=[],c=Pe();c!==f;)l.push(c),c=Pe();if(l!==f)if((c=Ee())!==f)if(ke()!==f)if((h=Ee())!==f)if(ke()!==f)if((w=Ee())!==f)if(ke()!==f)if((b=Ee())!==f)if(ke()!==f)if((E=Ee())!==f)if(ke()!==f)if((F=Ee())!==f){for(M=[],k=Pe();k!==f;)M.push(k),k=Pe();M!==f?(41===t.charCodeAt(ie)?(k=C,ie++):(k=f,0===ae&&de(y)),k!==f?n=u=j(c,h,w,b,E,F):(ie=n,n=f)):(ie=n,n=f)}else ie=n,n=f;else ie=n,n=f;else ie=n,n=f;else ie=n,n=f;else ie=n,n=f;else ie=n,n=f;else ie=n,n=f;else ie=n,n=f;else ie=n,n=f;else ie=n,n=f;else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;return n}function me(){var n,u,o,s,l,c,h,p,v;if(n=ie,t.substr(ie,9)===w?(u=w,ie+=9):(u=f,0===ae&&de(b)),u!==f){for(o=[],s=Pe();s!==f;)o.push(s),s=Pe();if(o!==f)if(40===t.charCodeAt(ie)?(s=A,ie++):(s=f,0===ae&&de(x)),s!==f){for(l=[],c=Pe();c!==f;)l.push(c),c=Pe();if(l!==f)if((c=Ee())!==f)if((h=Fe())===f&&(h=null),h!==f){for(p=[],v=Pe();v!==f;)p.push(v),v=Pe();p!==f?(41===t.charCodeAt(ie)?(v=C,ie++):(v=f,0===ae&&de(y)),v!==f?n=u=E(c,h):(ie=n,n=f)):(ie=n,n=f)}else ie=n,n=f;else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;return n}function ye(){var n,u,o,s,l,c,h,p,v;if(n=ie,t.substr(ie,5)===F?(u=F,ie+=5):(u=f,0===ae&&de(M)),u!==f){for(o=[],s=Pe();s!==f;)o.push(s),s=Pe();if(o!==f)if(40===t.charCodeAt(ie)?(s=A,ie++):(s=f,0===ae&&de(x)),s!==f){for(l=[],c=Pe();c!==f;)l.push(c),c=Pe();if(l!==f)if((c=Ee())!==f)if((h=Fe())===f&&(h=null),h!==f){for(p=[],v=Pe();v!==f;)p.push(v),v=Pe();p!==f?(41===t.charCodeAt(ie)?(v=C,ie++):(v=f,0===ae&&de(y)),v!==f?n=u=k(c,h):(ie=n,n=f)):(ie=n,n=f)}else ie=n,n=f;else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;return n}function je(){var n,u,o,s,l,c,h,p,v;if(n=ie,t.substr(ie,6)===S?(u=S,ie+=6):(u=f,0===ae&&de(R)),u!==f){for(o=[],s=Pe();s!==f;)o.push(s),s=Pe();if(o!==f)if(40===t.charCodeAt(ie)?(s=A,ie++):(s=f,0===ae&&de(x)),s!==f){for(l=[],c=Pe();c!==f;)l.push(c),c=Pe();if(l!==f)if((c=Ee())!==f)if((h=Me())===f&&(h=null),h!==f){for(p=[],v=Pe();v!==f;)p.push(v),v=Pe();p!==f?(41===t.charCodeAt(ie)?(v=C,ie++):(v=f,0===ae&&de(y)),v!==f?n=u=I(c,h):(ie=n,n=f)):(ie=n,n=f)}else ie=n,n=f;else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;return n}function we(){var n,u,o,s,l,c,h,p;if(n=ie,t.substr(ie,5)===T?(u=T,ie+=5):(u=f,0===ae&&de(X)),u!==f){for(o=[],s=Pe();s!==f;)o.push(s),s=Pe();if(o!==f)if(40===t.charCodeAt(ie)?(s=A,ie++):(s=f,0===ae&&de(x)),s!==f){for(l=[],c=Pe();c!==f;)l.push(c),c=Pe();if(l!==f)if((c=Ee())!==f){for(h=[],p=Pe();p!==f;)h.push(p),p=Pe();h!==f?(41===t.charCodeAt(ie)?(p=C,ie++):(p=f,0===ae&&de(y)),p!==f?n=u=Y(c):(ie=n,n=f)):(ie=n,n=f)}else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;return n}function be(){var n,u,o,s,l,c,h,p;if(n=ie,t.substr(ie,5)===_?(u=_,ie+=5):(u=f,0===ae&&de(L)),u!==f){for(o=[],s=Pe();s!==f;)o.push(s),s=Pe();if(o!==f)if(40===t.charCodeAt(ie)?(s=A,ie++):(s=f,0===ae&&de(x)),s!==f){for(l=[],c=Pe();c!==f;)l.push(c),c=Pe();if(l!==f)if((c=Ee())!==f){for(h=[],p=Pe();p!==f;)h.push(p),p=Pe();h!==f?(41===t.charCodeAt(ie)?(p=C,ie++):(p=f,0===ae&&de(y)),p!==f?n=u=P(c):(ie=n,n=f)):(ie=n,n=f)}else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;else ie=n,n=f}else ie=n,n=f;return n}function Ee(){var n,t,u,o;return n=ie,t=ie,(u=Ye())===f&&(u=null),u!==f&&(o=Ie())!==f?t=u=[u,o]:(ie=t,t=f),t!==f&&(t=U(t)),(n=t)===f&&(n=ie,t=ie,(u=Ye())===f&&(u=null),u!==f&&(o=Re())!==f?t=u=[u,o]:(ie=t,t=f),t!==f&&(t=q(t)),n=t),n}function Fe(){var n,t;return n=ie,ke()!==f&&(t=Ee())!==f?n=z(t):(ie=n,n=f),n}function Me(){var n,t,u;return n=ie,ke()!==f&&(t=Ee())!==f&&ke()!==f&&(u=Ee())!==f?n=B(t,u):(ie=n,n=f),n}function ke(){var n,t,u,o,s;if(n=ie,t=[],(u=Pe())!==f)for(;u!==f;)t.push(u),u=Pe();else t=f;if(t!==f)if((u=Se())===f&&(u=null),u!==f){for(o=[],s=Pe();s!==f;)o.push(s),s=Pe();o!==f?n=t=[t,u,o]:(ie=n,n=f)}else ie=n,n=f;else ie=n,n=f;if(n===f)if(n=ie,(t=Se())!==f){for(u=[],o=Pe();o!==f;)u.push(o),o=Pe();u!==f?n=t=[t,u]:(ie=n,n=f)}else ie=n,n=f;return n}function Se(){var n;return 44===t.charCodeAt(ie)?(n=D,ie++):(n=f,0===ae&&de(G)),n}function Re(){var n;return ie,(n=_e())!==f&&(n=H(n)),n}function Ie(){var n,t,u,o;return n=ie,t=ie,(u=Te())!==f?((o=Xe())===f&&(o=null),o!==f?t=u=[u,o]:(ie=t,t=f)):(ie=t,t=f),t!==f&&(t=J(t)),(n=t)===f&&(n=ie,t=ie,(u=_e())!==f&&(o=Xe())!==f?t=u=[u,o]:(ie=t,t=f),t!==f&&(t=K(t)),n=t),n}function Te(){var n,u,o,s;return ae++,n=ie,(u=_e())===f&&(u=null),u!==f?(46===t.charCodeAt(ie)?(o=O,ie++):(o=f,0===ae&&de(Q)),o!==f&&(s=_e())!==f?n=u=V(u,s):(ie=n,n=f)):(ie=n,n=f),n===f&&(n=ie,(u=_e())!==f?(46===t.charCodeAt(ie)?(o=O,ie++):(o=f,0===ae&&de(Q)),o!==f?n=u=K(u):(ie=n,n=f)):(ie=n,n=f)),ae--,n===f&&(u=f,0===ae&&de(N)),n}function Xe(){var n,u,o,s;return ie,n=ie,W.test(t.charAt(ie))?(u=t.charAt(ie),ie++):(u=f,0===ae&&de(Z)),u!==f?((o=Ye())===f&&(o=null),o!==f&&(s=_e())!==f?n=u=[u,o,s]:(ie=n,n=f)):(ie=n,n=f),n!==f&&(n=$(n)),n}function Ye(){var n;return ee.test(t.charAt(ie))?(n=t.charAt(ie),ie++):(n=f,0===ae&&de(re)),n}function _e(){var n,t;if(n=[],(t=Le())!==f)for(;t!==f;)n.push(t),t=Le();else n=f;return n}function Le(){var n;return ne.test(t.charAt(ie))?(n=t.charAt(ie),ie++):(n=f,0===ae&&de(te)),n}function Pe(){var n;return ue.test(t.charAt(ie))?(n=t.charAt(ie),ie++):(n=f,0===ae&&de(oe)),n}var Ue,qe,ze,Be=Math.PI/180;if((o=l())!==f&&ie===t.length)return o;throw o!==f&&ie1?z:x,null!=P&&(q.bbWidth=P),null!=D&&(q.bbHeight=D),(0,y.default)(q,q,this);var $=(0,O.default)(k);return null!=$&&(q.color=$,q.tintColor=$),null!=f&&(q.onLayout=f),(0,N.jsx)(w.RNSVGSvg,L(L(L({},q),{},{ref:this.refMethod},(0,b.default)({viewBox:u,preserveAspectRatio:p})),{},{children:(0,N.jsx)(j.default,{children:c,style:n,font:M,transform:A,fill:W,fillOpacity:B,fillRule:I,stroke:_,strokeWidth:H,strokeOpacity:V,strokeDasharray:C,strokeDashoffset:E,strokeLinecap:G,strokeLinejoin:U,strokeMiterlimit:Y})}))}}]),M})(k.default);e.default=M,M.displayName='Svg',M.defaultProps={preserveAspectRatio:'xMidYMid meet'}},643,[6,39,26,58,8,9,17,13,15,12,55,2,633,644,626,620,645,635,53]); -__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.alignEnum=void 0,e.default=function(l){var x=l.viewBox,o=l.preserveAspectRatio;if(!x)return null;var u=(Array.isArray(x)?x:x.trim().split(M)).map(Number);if(4!==u.length||u.some(isNaN))return console.warn('Invalid `viewBox` prop:'+x),null;var v=o?o.trim().split(M):[],s=v[0],c=v[1];return{minX:u[0],minY:u[1],vbWidth:u[2],vbHeight:u[3],align:t[s]||'xMidYMid',meetOrSlice:n[c]||0}},e.meetOrSliceTypes=void 0;var n={meet:0,slice:1,none:2};e.meetOrSliceTypes=n;var t=['xMinYMin','xMidYMin','xMaxYMin','xMinYMid','xMidYMid','xMaxYMid','xMinYMax','xMidYMax','xMaxYMax','none'].reduce(function(n,t){return n[t]=t,n},{});e.alignEnum=t;var M=/\s+/},644,[]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=t(r(d[1])),o=t(r(d[2])),u=t(r(d[3])),f=t(r(d[4])),c=t(r(d[5])),l=t(r(d[6])),p=(t(r(d[7])),(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=h(n);if(o&&o.has(t))return o.get(t);var u={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var l=f?Object.getOwnPropertyDescriptor(t,c):null;l&&(l.get||l.set)?Object.defineProperty(u,c,l):u[c]=t[c]}u.default=t,o&&o.set(t,u);return u})(r(d[8]))),s=r(d[9]),y=t(r(d[10])),v=t(r(d[11])),O=r(d[12]),b=r(d[13]);function h(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(h=function(t){return t?o:n})(t)}function j(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);n&&(u=u.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,u)}return o}function P(t){for(var o=1;o1||Array.isArray(O)?o.Children.map(O,w):O;return{content:null===x?String(O):null,children:x,inlineSize:S,baselineShift:h,verticalAlign:j,alignmentBaseline:v,font:P(t),x:(0,f.default)(l),y:(0,f.default)(u),dx:(0,f.default)(p),dy:(0,f.default)(s),rotate:(0,f.default)(b)}},e.extractFont=P,e.setTSpan=function(t){y=t};var n=t(r(d[1])),o=(function(t,n){if(!n&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=u(n);if(o&&o.has(t))return o.get(t);var f={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in t)if("default"!==c&&Object.prototype.hasOwnProperty.call(t,c)){var p=l?Object.getOwnPropertyDescriptor(t,c):null;p&&(p.get||p.set)?Object.defineProperty(f,c,p):f[c]=t[c]}f.default=t,o&&o.set(t,f);return f})(r(d[2])),f=t(r(d[3])),l=r(d[4]),c=r(d[5]);function u(t){if("function"!=typeof WeakMap)return null;var n=new WeakMap,o=new WeakMap;return(u=function(t){return t?o:n})(t)}function p(t,n){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(t);n&&(f=f.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,f)}return o}function s(t){for(var o=1;o=f))break;l-=f}var s=t.slice(0,n).replace(/^\t+/,ue),p=/(^|\n).*$/.exec(s),v=p&&p[0]||'',h=t.slice(n),y=/.*(\n|$)/.exec(h);return{line:c,column:l,snippet:""+v+(y&&y[0])+"\n"+ae(' ',v.length)+"^"}}var ie=/[a-zA-Z0-9:_-]/,le=/[\s\t\r\n]/,ce=/['"]/;function fe(t,n){var u,o=t.length,l=null,c=function(){for(;S+1'!==t[S]&&p('Expected >'),D||(l=P,f=P.children,s.push(P)),v}function y(){var n=t.indexOf('--\x3e',S);return~n||p('expected --\x3e'),S=n+2,v}function x(){var n=t.indexOf(']]>',S);return~n||p('expected ]]>'),f.push(t.slice(S+7,n)),S=n+2,v}function b(){var n=O();(n||p('Expected tag name'),l&&n!==l.tag&&p("Expected closing tag to match opening tag <"+l.tag+">"),'>'!==t[S]&&p('Expected >'),s.pop(),l=s[s.length-1])&&(f=l.children);return v}function O(){for(var n,u='';S'===u||'/'===u)return n;n+=u,S+=1}while(S=t.length?{done:!0}:{done:!1,value:t[u++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function P(t,n){if(t){if("string"==typeof t)return A(t,n);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?A(t,n):void 0}}function A(t,n){(null==n||n>t.length)&&(n=t.length);for(var o=0,u=new Array(n);o-1;){for(n=o=t[l],delete t[l],u=!0;o;){if(t.includes(o)){u=!1,t.splice(l,1);break}o='object'==typeof o&&o.parent||null}u&&(t[l]=n)}return t},existsOne:function t(n,o){return o.some(function(o){return'object'==typeof o&&(n(o)||t(n,o.children))})},getSiblings:function(t){var n='object'==typeof t&&t.parent;return n&&n.children||[]},hasAttrib:function(t,n){return t.props.hasOwnProperty(n)},findOne:function t(n,o){for(var u,l=0,s=o.length;l2&&void 0!==arguments[2]?arguments[2]:[],l=0,s=o.length;ln[o])return 1}return 0}function L(t){return{selector:t,specificity:U(t.item.data)}}function I(t,n,o,u){var l,s,c,f,p,v,h,y=2*o,b=0;for(l=0;ln&&(s=n),c>n&&(c=n),f=l,p=s;;)if(f element, skipped. Error details: '+t)}}var p=T(E(u));R(p);for(var y,b=j(B(p).reverse());!(y=b()).done;){var S=y.value,w=S.rule,k=S.item;if(null!==w){var x=h.default.generate(k.data);try{if("continue"===(function(){var n=O(x,t).map($);if(0===n.length)return"continue";h.default.walk(w,{visit:'Declaration',enter:function(t){for(var o,u=t,l=u.property,s=u.value,c=u.important,f=l.trim(),p=(0,v.camelCase)(f),y=h.default.generate(s).trim(),b=j(n);!(o=b()).done;){var S=o.value,w=S.style,k=S.priority,x=k.get(f);(void 0===x||xt&&(x=h-o+3,h=58);for(var M=p;M<=v;M++)M>=0&&M0&&c[M].length>x?"\u2026":'')+c[M].substr(x,98)+(c[M].length>x+t-1?"\u2026":''));return[s(p,f),new Array(h+j+2).join('-')+'^',s(f,v)].filter(Boolean).join('\n')}m.exports=function(t,o,u,s,c){var f=n('SyntaxError',t);return f.source=o,f.offset=u,f.line=s,f.column=c,f.sourceFragment=function(n){return l(f,isNaN(n)?0:n)},Object.defineProperty(f,'formattedMessage',{get:function(){return'Parse error: '+f.message+'\n'+l(f,2)}}),f.parseError={offset:u,line:s,column:c},f}},670,[671]); -__d(function(g,r,i,a,m,e,d){m.exports=function(t,n){var c=Object.create(SyntaxError.prototype),o=new Error;return c.name=t,c.message=n,Object.defineProperty(c,'stack',{get:function(){return(o.stack||'').replace(/^(.+\n){1,3}/,t+': '+n+'\n')}}),c}},671,[]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]),n=t.TYPE,s=t.NAME,o=r(d[1]).cmpStr,h=n.EOF,f=n.WhiteSpace,u=n.Comment,k=function(){this.offsetAndType=null,this.balance=null,this.reset()};k.prototype={reset:function(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset},lookupType:function(t){return(t+=this.tokenIndex)>24:h},lookupOffset:function(t){return(t+=this.tokenIndex)0?t>24,this.source,h)){case 1:break t;case 2:o++;break t;default:this.balance[s]===o&&(o=s),h=16777215&this.offsetAndType[o]}return o-this.tokenIndex},isBalanceEdge:function(t){return this.balance[this.tokenIndex]>24===f;t++,n++);n>0&&this.skip(n)},skipSC:function(){for(;this.tokenType===f||this.tokenType===u;)this.next()},skip:function(t){var n=this.tokenIndex+t;n>24,this.tokenEnd=16777215&n):(this.tokenIndex=this.tokenCount,this.next())},next:function(){var t=this.tokenIndex+1;t>24,this.tokenEnd=16777215&t):(this.tokenIndex=this.tokenCount,this.eof=!0,this.tokenType=h,this.tokenStart=this.tokenEnd=this.source.length)},forEachToken:function(t){for(var n=0,s=this.firstCharOffset;n>24,o,f,n)}},dump:function(){var t=this,n=new Array(this.tokenCount);return this.forEachToken(function(o,h,f,u){n[u]={idx:u,type:s[o],chunk:t.source.substring(h,f),balance:t.balance[u]}}),n}},m.exports=k},672,[673,674]); -__d(function(g,r,i,a,m,e,d){var t={EOF:0,Ident:1,Function:2,AtKeyword:3,Hash:4,String:5,BadString:6,Url:7,BadUrl:8,Delim:9,Number:10,Percentage:11,Dimension:12,WhiteSpace:13,CDO:14,CDC:15,Colon:16,Semicolon:17,Comma:18,LeftSquareBracket:19,RightSquareBracket:20,LeftParenthesis:21,RightParenthesis:22,LeftCurlyBracket:23,RightCurlyBracket:24,Comment:25},n=Object.keys(t).reduce(function(n,c){return n[t[c]]=c,n},{});m.exports={TYPE:t,NAME:n}},673,[]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]),n=t.isDigit,c=t.isHexDigit,o=t.isUppercaseLetter,u=t.isName,h=t.isWhiteSpace,f=t.isValidEscape;function C(t,n){return nt.length)return!1;for(var h=n;h=0&&h(t.charCodeAt(n));n--);return n+1},findWhiteSpaceEnd:function(t,n){for(;n=48&&t<=57}function u(t){return t>=65&&t<=90}function c(t){return t>=97&&t<=122}function o(t){return u(t)||c(t)}function s(t){return t>=128}function f(t){return o(t)||s(t)||95===t}function N(t){return t>=0&&t<=8||11===t||t>=14&&t<=31||127===t}function S(t){return 10===t||13===t||12===t}function b(t){return S(t)||32===t||9===t}function l(n,u){return 92===n&&(!S(u)&&u!==t)}var p=new Array(128);k.Eof=128,k.WhiteSpace=130,k.Digit=131,k.NameStart=132,k.NonPrintable=133;for(var h=0;h=65&&t<=70||t>=97&&t<=102},isUppercaseLetter:u,isLowercaseLetter:c,isLetter:o,isNonAscii:s,isNameStart:f,isName:function(t){return f(t)||n(t)||45===t},isNonPrintable:N,isNewline:S,isWhiteSpace:b,isValidEscape:l,isIdentifierStart:function(t,n,u){return 45===t?f(n)||45===n||l(n,u):!!f(t)||92===t&&l(t,n)},isNumberStart:function(t,u,c){return 43===t||45===t?n(u)?2:46===u&&n(c)?3:0:46===t?n(u)?2:0:n(t)?1:0},isBOM:function(t){return 65279===t?1:65534===t?1:0},charCodeCategory:k}},675,[]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]),n=r(d[1]).SyntaxReferenceError,s=r(d[1]).SyntaxMatchError,o=r(d[2]),u=r(d[3]),c=r(d[4]),p=r(d[5]),l=r(d[6]),h=r(d[7]),y=r(d[8]).buildMatchGraph,f=r(d[9]).matchAsTree,v=r(d[10]),w=r(d[11]),x=r(d[12]).getStructureFromConfig,A=y('inherit | initial | unset'),P=y('inherit | initial | unset | <-ms-legacy-expression>');function k(t,n,s){var o={};for(var u in t)t[u].syntax&&(o[u]=s?t[u].syntax:p(t[u].syntax,{compact:n}));return o}function D(n,s,o){for(var u={},c=0,l=Object.entries(n);c3&&void 0!==arguments[3]?arguments[3]:null,syntax:null,match:null};return'function'==typeof t?u.match=y(t,o):('string'==typeof t?Object.defineProperty(u,'syntax',{get:function(){return Object.defineProperty(u,'syntax',{value:c(t)}),u.syntax}}):u.syntax=t,Object.defineProperty(u,'match',{get:function(){return Object.defineProperty(u,'match',{value:y(u.syntax,o)}),u.match}})),u},addAtrule_:function(t,n){var s=this;n&&(this.atrules[t]={type:'Atrule',name:t,prelude:n.prelude?this.createDescriptor(n.prelude,'AtrulePrelude',t):null,descriptors:n.descriptors?Object.keys(n.descriptors).reduce(function(o,u){return o[u]=s.createDescriptor(n.descriptors[u],'AtruleDescriptor',u,t),o},{}):null})},addProperty_:function(t,n){n&&(this.properties[t]=this.createDescriptor(n,'Property',t))},addType_:function(t,n){n&&(this.types[t]=this.createDescriptor(n,'Type',t),n===u['-ms-legacy-expression']&&(this.valueCommonSyntax=P))},checkAtruleName:function(t){if(!this.getAtrule(t))return new n('Unknown at-rule','@'+t)},checkAtrulePrelude:function(t,n){var s=this.checkAtruleName(t);if(s)return s;var o=this.getAtrule(t);return!o.prelude&&n?new SyntaxError('At-rule `@'+t+'` should not contain a prelude'):o.prelude&&!n?new SyntaxError('At-rule `@'+t+'` should contain a prelude'):void 0},checkAtruleDescriptorName:function(t,s){var u=this.checkAtruleName(t);if(u)return u;var c=this.getAtrule(t),p=o.keyword(s);return c.descriptors?c.descriptors[p.name]||c.descriptors[p.basename]?void 0:new n('Unknown at-rule descriptor',s):new SyntaxError('At-rule `@'+t+'` has no known descriptors')},checkPropertyName:function(t){return o.property(t).custom?new Error('Lexer matching doesn\'t applicable for custom properties'):this.getProperty(t)?void 0:new n('Unknown property',t)},matchAtrulePrelude:function(t,n){var s=this.checkAtrulePrelude(t,n);return s?b(null,s):n?O(this,this.getAtrule(t).prelude,n,!1):b(null,null)},matchAtruleDescriptor:function(t,n,s){var u=this.checkAtruleDescriptorName(t,n);if(u)return b(null,u);var c=this.getAtrule(t),p=o.keyword(n);return O(this,c.descriptors[p.name]||c.descriptors[p.basename],s,!1)},matchDeclaration:function(t){return'Declaration'!==t.type?b(null,new Error('Not a Declaration node')):this.matchProperty(t.property,t.value)},matchProperty:function(t,n){var s=this.checkPropertyName(t);return s?b(null,s):O(this,this.getProperty(t),n,!0)},matchType:function(t,s){var o=this.getType(t);return o?O(this,o,s,!1):b(null,new n('Unknown type',t))},match:function(t,s){return'string'==typeof t||t&&t.type?('string'!=typeof t&&t.match||(t=this.createDescriptor(t,'Type','anonymous')),O(this,t,s,!1)):b(null,new n('Bad syntax'))},findValueFragments:function(t,n,s,o){return w.matchFragments(this,n,this.matchProperty(t,n),s,o)},findDeclarationValueFragments:function(t,n,s){return w.matchFragments(this,t.value,this.matchDeclaration(t),n,s)},findAllFragments:function(t,n,s){var o=[];return this.syntax.walk(t,{visit:'Declaration',enter:function(t){o.push.apply(o,this.findDeclarationValueFragments(t,n,s))}.bind(this)}),o},getAtrule:function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=o.keyword(t);return(s.vendor&&n?this.atrules[s.name]||this.atrules[s.basename]:this.atrules[s.name])||null},getAtrulePrelude:function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=this.getAtrule(t,n);return s&&s.prelude||null},getAtruleDescriptor:function(t,n){return this.atrules.hasOwnProperty(t)&&this.atrules.declarators&&this.atrules[t].declarators[n]||null},getProperty:function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=o.property(t);return(s.vendor&&n?this.properties[s.name]||this.properties[s.basename]:this.properties[s.name])||null},getType:function(t){return this.types.hasOwnProperty(t)?this.types[t]:null},validate:function(){function t(o,u,c,p){if(c.hasOwnProperty(u))return c[u];c[u]=!1,null!==p.syntax&&l(p.syntax,function(p){if('Type'===p.type||'Property'===p.type){var l='Type'===p.type?o.types:o.properties,h='Type'===p.type?n:s;l.hasOwnProperty(p.name)&&!t(o,p.name,h,l[p.name])||(c[u]=!0)}},this)}var n={},s={};for(var o in this.types)t(this,o,n,this.types[o]);for(var o in this.properties)t(this,o,s,this.properties[o]);return n=Object.keys(n).filter(function(t){return n[t]}),s=Object.keys(s).filter(function(t){return s[t]}),n.length||s.length?{types:n,properties:s}:null},dump:function(t,n){return{generic:this.generic,types:k(this.types,!n,t),properties:k(this.properties,!n,t),atrules:D(this.atrules,!n,t)}},toString:function(){return JSON.stringify(this.dump())}},m.exports=S},676,[31,677,679,680,685,678,688,689,690,691,692,693,694]); -__d(function(g,r,i,a,m,e,d){var n=r(d[0]),t=r(d[1]),s=r(d[2]),l={offset:0,line:1,column:1};function c(n,t){for(var s,c,u=n.tokens,h=n.longestMatch,v=h1?c=f(s=o(y||t,'end')||f(l,M)):(s=o(y,'start')||f(o(t,'start')||l,M.slice(0,x)),c=o(y,'end')||f(s,M.substr(x,p))),{css:M,mismatchOffset:x,mismatchLength:p,start:s,end:c}}function o(n,t){var s=n&&n.loc&&n.loc[t];return s?'line'in s?f(s):s:null}function f(n,t){var s={offset:n.offset,line:n.line,column:n.column};if(t){var l=t.split(/\n|\r\n?|\f/);s.offset+=t.length,s.line+=l.length-1,s.column=1===l.length?s.column+t.length:l.pop().length+1}return s}m.exports={SyntaxReferenceError:function(n,s){var l=t('SyntaxReferenceError',n+(s?' `'+s+'`':''));return l.reference=s,l},SyntaxMatchError:function(l,o,f,u){var h=t('SyntaxMatchError',l),v=c(u,f),y=v.css,x=v.mismatchOffset,p=v.mismatchLength,E=v.start,M=v.end;return h.rawMessage=l,h.syntax=o?s(o):'',h.css=y,h.mismatchOffset=x,h.mismatchLength=p,h.message=l+"\n syntax: "+h.syntax+"\n value: "+(y||'')+"\n --------"+new Array(h.mismatchOffset+1).join('-')+'^',n(h,E),h.loc={source:f&&f.loc&&f.loc.source||'',start:E,end:M},h}}},677,[30,671,678]); -__d(function(g,r,i,a,m,e,d){function n(n){return n}function t(n){switch(n.type){case'Range':return' ['+(null===n.min?'-\u221e':n.min)+','+(null===n.max?'\u221e':n.max)+']';default:throw new Error('Unknown node type `'+n.type+'`')}}function o(n,t,o,u){var p=' '===n.combinator||u?n.combinator:' '+n.combinator+' ',s=n.terms.map(function(n){return c(n,t,o,u)}).join(p);return(n.explicit||o)&&(s=(u||','===s[0]?'[':'[ ')+s+(u?']':' ]')),s}function c(n,u,p,s){var f,l;switch(n.type){case'Group':f=o(n,u,p,s)+(n.disallowEmpty?'!':'');break;case'Multiplier':return c(n.term,u,p,s)+u(0===(l=n).min&&0===l.max?'*':0===l.min&&1===l.max?'?':1===l.min&&0===l.max?l.comma?'#':'+':1===l.min&&1===l.max?'':(l.comma?'#':'')+(l.min===l.max?'{'+l.min+'}':'{'+l.min+','+(0!==l.max?l.max:'')+'}'),n);case'Type':f='<'+n.name+(n.opts?u(t(n.opts),n.opts):'')+'>';break;case'Property':f='<\''+n.name+'\'>';break;case'Keyword':f=n.name;break;case'AtKeyword':f='@'+n.name;break;case'Function':f=n.name+'(';break;case'String':case'Token':f=n.value;break;case'Comma':f=',';break;default:throw new Error('Unknown node type `'+n.type+'`')}return u(f,n)}m.exports=function(t,o){var u=n,p=!1,s=!1;return'function'==typeof o?u=o:o&&(p=Boolean(o.forceBraces),s=Boolean(o.compact),'function'==typeof o.decorate&&(u=o.decorate)),c(t,u,p,s)}},678,[]); -__d(function(g,r,i,a,m,e,d){var t=Object.prototype.hasOwnProperty,n=Object.create(null),o=Object.create(null),u=45;function c(t,n){return n=n||0,t.length-n>=2&&t.charCodeAt(n)===u&&t.charCodeAt(n+1)===u}function l(t,n){if(n=n||0,t.length-n>=3&&t.charCodeAt(n)===u&&t.charCodeAt(n+1)!==u){var o=t.indexOf('-',n+2);if(-1!==o)return t.substring(n,o+1)}return''}m.exports={keyword:function(o){if(t.call(n,o))return n[o];var u=o.toLowerCase();if(t.call(n,u))return n[o]=n[u];var s=c(u,0),f=s?'':l(u,0);return n[o]=Object.freeze({basename:u.substr(f.length),name:u,vendor:f,prefix:f,custom:s})},property:function(n){if(t.call(o,n))return o[n];var u=n,s=n[0];'/'===s?s='/'===n[1]?'//':'/':'_'!==s&&'*'!==s&&'$'!==s&&'#'!==s&&'+'!==s&&'&'!==s&&(s='');var f=c(u,s.length);if(!f&&(u=u.toLowerCase(),t.call(o,u)))return o[n]=o[u];var h=f?'':l(u,s.length),b=u.substr(0,s.length+h.length);return o[n]=Object.freeze({basename:u.substr(b.length),name:u.substr(s.length),hack:s,vendor:h,prefix:b,custom:f})},isCustomProperty:c,vendorPrefix:l}},679,[]); -__d(function(g,r,i,a,m,e,d){var n,t=r(d[0]),u=t.isIdentifierStart,l=t.isHexDigit,o=t.isDigit,c=t.cmpStr,s=t.consumeNumber,f=t.TYPE,h=r(d[1]),v=r(d[2]),k=['unset','initial','inherit'],b=['calc(','-moz-calc(','-webkit-calc('];function p(n,t){return tn.max)return!0}return!1}function S(n,t){var u=n.index,l=0;do{if(l++,n.balance<=u)break}while(n=t(l));return l}function w(n){return function(t,u,l){return null===t?0:t.type===f.Function&&C(t.value,b)?S(t,u):n(t,u,l)}}function D(n){return function(t){return null===t||t.type!==n?0:1}}function R(n){return function(t,u,l){if(null===t||t.type!==f.Dimension)return 0;var o=s(t.value,0);if(null!==n){var c=t.value.indexOf('\\',o),h=-1!==c&&x(t.value,c)?t.value.substring(o,c):t.value.substr(o);if(!1===n.hasOwnProperty(h.toLowerCase()))return 0}return B(l,t.value,o)?0:1}}function P(n){return'function'!=typeof n&&(n=function(){return 0}),function(t,u,l){return null!==t&&t.type===f.Number&&0===Number(t.value)?1:n(t,u,l)}}m.exports={'ident-token':D(f.Ident),'function-token':D(f.Function),'at-keyword-token':D(f.AtKeyword),'hash-token':D(f.Hash),'string-token':D(f.String),'bad-string-token':D(f.BadString),'url-token':D(f.Url),'bad-url-token':D(f.BadUrl),'delim-token':D(f.Delim),'number-token':D(f.Number),'percentage-token':D(f.Percentage),'dimension-token':D(f.Dimension),'whitespace-token':D(f.WhiteSpace),'CDO-token':D(f.CDO),'CDC-token':D(f.CDC),'colon-token':D(f.Colon),'semicolon-token':D(f.Semicolon),'comma-token':D(f.Comma),'[-token':D(f.LeftSquareBracket),']-token':D(f.RightSquareBracket),'(-token':D(f.LeftParenthesis),')-token':D(f.RightParenthesis),'{-token':D(f.LeftCurlyBracket),'}-token':D(f.RightCurlyBracket),string:D(f.String),ident:D(f.Ident),'custom-ident':function(n){if(null===n||n.type!==f.Ident)return 0;var t=n.value.toLowerCase();return C(t,k)?0:y(t,'default')?0:1},'custom-property-name':function(n){return null===n||n.type!==f.Ident?0:45!==p(n.value,0)||45!==p(n.value,1)?0:1},'hex-color':function(n){if(null===n||n.type!==f.Hash)return 0;var t=n.value.length;if(4!==t&&5!==t&&7!==t&&9!==t)return 0;for(var u=1;un.index||n.balancen.index||n.balance=n.length?void(x>O,q[F]=_,q[_++]=F;_0?6:0;if(!n(c))return 0;if(++o>6)return 0}return o}function s(n,t,u){if(!n)return 0;for(;y(u(t),p);){if(++n>6)return 0;t++}return t}m.exports=function(n,u){var l=0;if(null===n||n.type!==f||!t(n.value,0,117))return 0;if(null===(n=u(++l)))return 0;if(y(n,43))return null===(n=u(++l))?0:n.type===f?s(C(n,0,!0),++l,u):y(n,p)?s(1,++l,u):0;if(n.type===o){if(!h(n,43))return 0;var A=C(n,1,!0);return 0===A?0:null===(n=u(++l))?l:n.type===c||n.type===o?h(n,v)&&C(n,1,!1)?l+1:0:s(A,l,u)}return n.type===c&&h(n,43)?s(C(n,1,!0),++l,u):0}},684,[681]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]),n=9,o=10,s=12,u=13,c=32,p=33,l=35,f=38,h=39,y=40,C=41,b=42,v=43,x=44,k=45,w=60,A=62,E=63,T=64,P=91,U=93,N=123,S=124,G=125,K=8734,O=(function(t){for(var n='function'==typeof Uint32Array?new Uint32Array(128):new Array(128),o=0;o<128;o++)n[o]=t(String.fromCharCode(o))?1:0;return n})(function(t){return/[a-zA-Z0-9\-]/.test(t)}),W={' ':1,'&&':2,'||':3,'|':4};function _(t){return t.substringToPos(t.findWsEnd(t.pos))}function j(t){for(var n=t.pos;n=128||0===O[o])break}return t.pos===n&&t.error('Expect a keyword'),t.substringToPos(n)}function z(t){for(var n=t.pos;n57)break}return t.pos===n&&t.error('Expect a number'),t.substringToPos(n)}function F(t){var n=t.str.indexOf('\'',t.pos+1);return-1===n&&(t.pos=t.str.length,t.error('Expect an apostrophe')),t.substringToPos(n+1)}function M(t){var n,o=null;return t.eat(N),n=z(t),t.charCode()===x?(t.pos++,t.charCode()!==G&&(o=z(t))):o=n,t.eat(G),{min:Number(n),max:o?Number(o):0}}function R(t){var n=null,o=!1;switch(t.charCode()){case b:t.pos++,n={min:0,max:0};break;case v:t.pos++,n={min:1,max:0};break;case E:t.pos++,n={min:0,max:1};break;case l:t.pos++,o=!0,n=t.charCode()===N?M(t):{min:1,max:0};break;case N:n=M(t);break;default:return null}return{type:'Multiplier',comma:o,min:n.min,max:n.max,term:null}}function Z(t,n){var o=R(t);return null!==o?(o.term=n,o):n}function q(t){var n=t.peek();return''===n?null:{type:'Token',value:n}}function B(t){var n;return t.eat(w),t.eat(h),n=j(t),t.eat(h),t.eat(A),Z(t,{type:'Property',name:n})}function D(t){var n=null,o=null,s=1;return t.eat(P),t.charCode()===k&&(t.peek(),s=-1),-1==s&&t.charCode()===K?t.peek():n=s*Number(z(t)),_(t),t.eat(x),_(t),t.charCode()===K?t.peek():(s=1,t.charCode()===k&&(t.peek(),s=-1),o=s*Number(z(t))),t.eat(U),null===n&&null===o?null:{type:'Range',min:n,max:o}}function H(t){var n,o=null;return t.eat(w),n=j(t),t.charCode()===y&&t.nextCharCode()===C&&(t.pos+=2,n+='()'),t.charCodeAt(t.findWsEnd(t.pos))===P&&(_(t),o=D(t)),t.eat(A),Z(t,{type:'Type',name:n,opts:o})}function I(t){var n;return n=j(t),t.charCode()===y?(t.pos++,{type:'Function',name:n}):Z(t,{type:'Keyword',name:n})}function J(t,n){function o(t,n){return{type:'Group',terms:t,combinator:n,disallowEmpty:!1,explicit:!1}}for(n=Object.keys(n).sort(function(t,n){return W[t]-W[n]});n.length>0;){for(var s=n.shift(),u=0,c=0;u1&&(t.splice(c,u-c,o(t.slice(c,u),s)),u=c+1),c=-1))}-1!==c&&n.length&&t.splice(c,u-c,o(t.slice(c,u),s))}return s}function L(t){for(var n,o=[],s={},u=null,c=t.pos;n=V(t);)'Spaces'!==n.type&&('Combinator'===n.type?(null!==u&&'Combinator'!==u.type||(t.pos=c,t.error('Unexpected combinator')),s[n.value]=!0):null!==u&&'Combinator'!==u.type&&(s[' ']=!0,o.push({type:'Combinator',value:' '})),o.push(n),u=n,c=t.pos);return null!==u&&'Combinator'===u.type&&(t.pos-=c,t.error('Unexpected combinator')),{type:'Group',terms:o,combinator:J(o,s)||' ',disallowEmpty:!1,explicit:!1}}function Q(t){var n;return t.eat(P),n=L(t),t.eat(U),n.explicit=!0,t.charCode()===p&&(t.pos++,n.disallowEmpty=!0),n}function V(t){var y=t.charCode();if(y<128&&1===O[y])return I(t);switch(y){case U:break;case P:return Z(t,Q(t));case w:return t.nextCharCode()===h?B(t):H(t);case S:return{type:'Combinator',value:t.substringToPos(t.nextCharCode()===S?t.pos+2:t.pos+1)};case f:return t.pos++,t.eat(f),{type:'Combinator',value:'&&'};case x:return t.pos++,{type:'Comma'};case h:return Z(t,{type:'String',value:F(t)});case c:case n:case o:case u:case s:return{type:'Spaces',value:_(t)};case T:return(y=t.nextCharCode())<128&&1===O[y]?(t.pos++,{type:'AtKeyword',name:j(t)}):q(t);case b:case v:case E:case l:case p:break;case N:if((y=t.nextCharCode())<48||y>57)return q(t);break;default:return q(t)}}function X(n){var o=new t(n),s=L(o);return o.pos!==n.length&&o.error('Unexpected input'),1===s.terms.length&&'Group'===s.terms[0].type&&(s=s.terms[0]),s}X('[a&&#|<\'c\'>*||e() f{2} /,(% g#{1,2} h{2,})]!'),m.exports=X},685,[686]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]),s=function(t){this.str=t,this.pos=0};s.prototype={charCodeAt:function(t){return t2&&t.charCodeAt(t.length-2)===o&&t.charCodeAt(t.length-1)===l}function s(t){return'Keyword'===t.type||'AtKeyword'===t.type||'Function'===t.type||'Type'===t.type&&p(t.name)}function h(t,y,o){switch(t){case' ':for(var l=n,f=y.length-1;f>=0;f--){l=c(x=y[f],l,u)}return l;case'|':l=u;var v=null;for(f=y.length-1;f>=0;f--){if(s(x=y[f])&&(null===v&&f>0&&s(y[f-1])&&(l=c({type:'Enum',map:v=Object.create(null)},n,l)),null!==v)){var w=(p(x.name)?x.name.slice(0,-1):x.name).toLowerCase();if(w in v==!1){v[w]=x;continue}}v=null,l=c(x,n,l)}return l;case'&&':if(y.length>5)return{type:'MatchOnce',terms:y,all:!0};for(l=u,f=y.length-1;f>=0;f--){var x=y[f];C=y.length>1?h(t,y.filter(function(t){return t!==x}),!1):n,l=c(x,C,l)}return l;case'||':if(y.length>5)return{type:'MatchOnce',terms:y,all:!1};for(l=o?n:u,f=y.length-1;f>=0;f--){var C;x=y[f];C=y.length>1?h(t,y.filter(function(t){return t!==x}),!0):n,l=c(x,C,l)}return l}}function f(t){var o=n,l=v(t.term);if(0===t.max)(o=c(l=c(l,y,u),null,u)).then=c(n,n,o),t.comma&&(o.then.else=c({type:'Comma',syntax:t},o,u));else for(var p=t.min||1;p<=t.max;p++)t.comma&&o!==n&&(o=c({type:'Comma',syntax:t},o,u)),o=c(l,c(n,n,o),u);if(0===t.min)o=c(n,n,o);else for(p=0;p=65&&c<=90&&(c|=32),c!==u)return!1}return!0}function w(t){return t.type===s.Delim&&'?'!==t.value}function C(t){return null===t||(t.type===s.Comma||t.type===s.Function||t.type===s.LeftParenthesis||t.type===s.LeftSquareBracket||t.type===s.LeftCurlyBracket||w(t))}function A(t){return null===t||(t.type===s.RightParenthesis||t.type===s.RightSquareBracket||t.type===s.RightCurlyBracket||t.type===s.Delim)}function O(n,S,w){function O(){do{G=++HN&&(N=H)}function P(){W=W.type===p?W.prev:{type:k,syntax:R.syntax,token:W.token,prev:W},R=R.prev}var R=null,D=null,K=null,_=null,q=0,F=null,G=null,H=-1,N=0,W={type:o,syntax:null,token:null,prev:null};for(O();null===F&&++qK.tokenIndex)&&(K=_,_=!1);else if(null===K){F=y;break}S=K.nextState,D=K.thenStack,R=K.syntaxStack,W=K.matchStack,H=K.tokenIndex,G=HH){for(;H':'<\''+S.name+'\'>'));if(!1!==_&&null!==G&&'Type'===S.type)if('custom-ident'===S.name&&G.type===s.Ident||'length'===S.name&&'0'===G.value){null===_&&(_=B(S,K)),S=c;break}R={syntax:S.syntax,opts:S.syntax.opts||null!==R&&R.opts||null,prev:R},W={type:p,syntax:S.syntax,token:W.token,prev:W},S=J.match;break;case'Keyword':var Q=S.name;if(null!==G){var V=G.value;if(-1!==V.indexOf('\\')&&(V=V.replace(/\\[09].*$/,'')),M(V,Q)){E(),S=l;break}}S=c;break;case'AtKeyword':case'Function':if(null!==G&&M(G.value,S.name)){E(),S=l;break}S=c;break;case'Token':if(null!==G&&G.value===S.value){E(),S=l;break}S=c;break;case'Comma':null!==G&&G.type===s.Comma?C(W.token)?S=c:(E(),S=A(G)?c:l):S=C(W.token)||A(G)?l:c;break;case'String':var X='';for(U=H;U=0}function l(n){return Boolean(n)&&o(n.offset)&&o(n.line)&&o(n.column)}function f(o,f){return function(c,s){if(!c||c.constructor!==Object)return s(c,'Type of node should be an Object');for(var u in c){var p=!0;if(!1!==t.call(c,u)){if('type'===u)c.type!==o&&s(c,'Wrong node type `'+c.type+'`, expected `'+o+'`');else if('loc'===u){if(null===c.loc)continue;if(c.loc&&c.loc.constructor===Object)if('string'!=typeof c.loc.source)u+='.source';else if(l(c.loc.start)){if(l(c.loc.end))continue;u+='.end'}else u+='.start';p=!1}else if(f.hasOwnProperty(u)){var y=0;for(p=!1;!p&&y');else{if(!Array.isArray(h))throw new Error('Wrong value `'+h+'` in `'+n+'.'+u+'` structure definition');p.push('List')}}s[u]=p.join(' | ')}return{docs:s,check:f(n,c)}}m.exports={getStructureFromConfig:function(n){var o={};if(n.node)for(var l in n.node)if(t.call(n.node,l)){var f=n.node[l];if(!f.structure)throw new Error('Missed `structure` field in `'+l+'` node type definition');o[l]=c(l,f)}return o}}},694,[669]); -__d(function(g,r,i,a,m,e,d){m.exports={SyntaxError:r(d[0]),parse:r(d[1]),generate:r(d[2]),walk:r(d[3])}},695,[687,685,678,688]); -__d(function(g,r,i,a,m,e,d){var n=r(d[0]),t=r(d[1]),o=r(d[2]),s=r(d[3]),c=r(d[4]),u=r(d[5]),l=r(d[6]),p=l.findWhiteSpaceStart,f=l.cmpStr,h=r(d[7]),P=function(){},k=u.TYPE,v=u.NAME,x=k.WhiteSpace,w=k.Comment,E=k.Ident,L=k.Function,y=k.Url,S=k.Hash,T=k.Percentage,C=k.Number;function M(n){return function(){return this[n]()}}function N(n){var t={context:{},scope:{},atrule:{},pseudo:{}};if(n.parseContext)for(var o in n.parseContext)switch(typeof n.parseContext[o]){case'function':t.context[o]=n.parseContext[o];break;case'string':t.context[o]=M(n.parseContext[o])}if(n.scope)for(var o in n.scope)t.scope[o]=n.scope[o];if(n.atrule)for(var o in n.atrule){var s=n.atrule[o];s.parse&&(t.atrule[o]=s.parse)}if(n.pseudo)for(var o in n.pseudo){var c=n.pseudo[o];c.parse&&(t.pseudo[o]=c.parse)}if(n.node)for(var o in n.node)t[o]=n.node[o].parse;return t}m.exports=function(u){var l={scanner:new o,locationMap:new n,filename:'',needPositions:!1,onParseError:P,onParseErrorThrow:!1,parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:h,createList:function(){return new s},createSingleNodeList:function(n){return(new s).appendData(n)},getFirstListNode:function(n){return n&&n.first()},getLastListNode:function(n){return n.last()},parseWithFallback:function(n,t){var o=this.scanner.tokenIndex;try{return n.call(this)}catch(n){if(this.onParseErrorThrow)throw n;var s=t.call(this,o);return this.onParseErrorThrow=!0,this.onParseError(n,s),this.onParseErrorThrow=!1,s}},lookupNonWSType:function(n){do{var t=this.scanner.lookupType(n++);if(t!==x)return t}while(0!==t);return 0},eat:function(n){if(this.scanner.tokenType!==n){var t=this.scanner.tokenStart,o=v[n]+' is expected';switch(n){case E:this.scanner.tokenType===L||this.scanner.tokenType===y?(t=this.scanner.tokenEnd-1,o='Identifier is expected but function found'):o='Identifier is expected';break;case S:this.scanner.isDelim(35)&&(this.scanner.next(),t++,o='Name is expected');break;case T:this.scanner.tokenType===C&&(t=this.scanner.tokenEnd,o='Percent sign is expected');break;default:this.scanner.source.charCodeAt(this.scanner.tokenStart)===n&&(t+=1)}this.error(o,t)}this.scanner.next()},consume:function(n){var t=this.scanner.getTokenValue();return this.eat(n),t},consumeFunctionName:function(){var n=this.scanner.source.substring(this.scanner.tokenStart,this.scanner.tokenEnd-1);return this.eat(L),n},getLocation:function(n,t){return this.needPositions?this.locationMap.getLocationRange(n,t,this.filename):null},getLocationFromList:function(n){if(this.needPositions){var t=this.getFirstListNode(n),o=this.getLastListNode(n);return this.locationMap.getLocationRange(null!==t?t.loc.start.offset-this.locationMap.startOffset:this.scanner.tokenStart,null!==o?o.loc.end.offset-this.locationMap.startOffset:this.scanner.tokenStart,this.filename)}return null},error:function(n,o){var s=void 0!==o&&o',l.needPositions=Boolean(t.positions),l.onParseError='function'==typeof t.onParseError?t.onParseError:P,l.onParseErrorThrow=!1,l.parseAtrulePrelude=!('parseAtrulePrelude'in t)||Boolean(t.parseAtrulePrelude),l.parseRulePrelude=!('parseRulePrelude'in t)||Boolean(t.parseRulePrelude),l.parseValue=!('parseValue'in t)||Boolean(t.parseValue),l.parseCustomProperty='parseCustomProperty'in t&&Boolean(t.parseCustomProperty),!l.context.hasOwnProperty(s))throw new Error('Unknown context `'+s+'`');return'function'==typeof u&&l.scanner.forEachToken(function(t,o,s){if(t===w){var c=l.getLocation(o,s),p=f(n,s-2,s,'*/')?n.slice(o+2,s-2):n.slice(o+2,s);u(p,c)}}),o=l.context[s].call(l,t),l.scanner.eof||l.error(),o}}},696,[697,670,672,669,681,673,674,698]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]),s=r(d[1]).isBOM,n=10,o=12,u=13;function l(l,h){for(var c=h.length,f=t(l.lines,c),C=l.startLine,p=t(l.columns,c),A=l.startColumn,v=h.length>0?s(h.charCodeAt(0)):0;v0&&n.column>=0)||o||t||s)&&!(n&&'line'in n&&'column'in n&&o&&'line'in o&&'column'in o&&n.line>0&&n.column>=0&&o.line>0&&o.column>=0&&t))throw new Error('Invalid mapping: '+JSON.stringify({generated:n,source:t,original:o,name:s}))},l.prototype._serializeMappings=function(){for(var t,s,l,u,c=0,p=1,h=0,f=0,_=0,v=0,y='',C=this._mappings.toArray(),S=0,w=C.length;S0){if(!o.compareByGeneratedPositionsInflated(s,C[S-1]))continue;t+=','}t+=n.encode(s.generatedColumn-c),c=s.generatedColumn,null!=s.source&&(u=this._sources.indexOf(s.source),t+=n.encode(u-v),v=u,t+=n.encode(s.originalLine-1-f),f=s.originalLine-1,t+=n.encode(s.originalColumn-h),h=s.originalColumn,null!=s.name&&(l=this._names.indexOf(s.name),t+=n.encode(l-_),_=l)),y+=t}return y},l.prototype._generateSourcesContent=function(n,t){return n.map(function(n){if(!this._sourcesContents)return null;null!=t&&(n=o.relative(t,n));var s=o.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,s)?this._sourcesContents[s]:null},this)},l.prototype.toJSON=function(){var n={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(n.file=this._file),null!=this._sourceRoot&&(n.sourceRoot=this._sourceRoot),this._sourcesContents&&(n.sourcesContent=this._generateSourcesContent(n.sources,n.sourceRoot)),n},l.prototype.toString=function(){return JSON.stringify(this.toJSON())},e.SourceMapGenerator=l},701,[702,704,705,706]); -__d(function(g,r,i,a,m,e,d){var n=r(d[0]);function o(n){return n<0?1+(-n<<1):0+(n<<1)}e.encode=function(t){var c,u="",h=o(t);do{c=31&h,(h>>>=5)>0&&(c|=32),u+=n.encode(c)}while(h>0);return u},e.decode=function(o,t,c){var u,h,f,l,v=o.length,w=0,s=0;do{if(t>=v)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(h=n.decode(o.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+o.charAt(t-1));u=!!(32&h),w+=(h&=31)<>1,1==(1&f)?-l:l),c.rest=t}},702,[703]); -__d(function(g,r,i,a,m,e,d){var n='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');e.encode=function(t){if(0<=t&&t=0;p--)'.'===(l=s[p])?s.splice(p,1):'..'===l?f++:f>0&&(''===l?(s.splice(p+1,f),f=0):(s.splice(p,2),f--));return''===(t=s.join('/'))&&(t=h?'/':'.'),c?(c.path=t,u(c)):t}function l(n,l){""===n&&(n="."),""===l&&(l=".");var h=o(l),s=o(n);if(s&&(n=s.path||'/'),h&&!h.scheme)return s&&(h.scheme=s.scheme),u(h);if(h||l.match(t))return l;if(s&&!s.host&&!s.path)return s.host=l,u(s);var f='/'===l.charAt(0)?l:c(n.replace(/\/+$/,'')+'/'+l);return s?(s.path=f,u(s)):f}e.urlParse=o,e.urlGenerate=u,e.normalize=c,e.join=l,e.isAbsolute=function(t){return'/'===t.charAt(0)||n.test(t)},e.relative=function(n,t){""===n&&(n="."),n=n.replace(/\/$/,'');for(var o=0;0!==t.indexOf(n+'/');){var u=n.lastIndexOf("/");if(u<0)return t;if((n=n.slice(0,u)).match(/^([^\/]+:\/)?\/*$/))return t;++o}return Array(o+1).join("../")+t.substr(n.length+1)};var h=!('__proto__'in Object.create(null));function s(n){return n}function f(n){if(!n)return!1;var t=n.length;if(t<9)return!1;if(95!==n.charCodeAt(t-1)||95!==n.charCodeAt(t-2)||111!==n.charCodeAt(t-3)||116!==n.charCodeAt(t-4)||111!==n.charCodeAt(t-5)||114!==n.charCodeAt(t-6)||112!==n.charCodeAt(t-7)||95!==n.charCodeAt(t-8)||95!==n.charCodeAt(t-9))return!1;for(var o=t-10;o>=0;o--)if(36!==n.charCodeAt(o))return!1;return!0}function p(n,t){return n===t?0:null===n?1:null===t?-1:n>t?1:-1}e.toSetString=h?s:function(n){return f(n)?'$'+n:n},e.fromSetString=h?s:function(n){return f(n)?n.slice(1):n},e.compareByOriginalPositions=function(n,t,o){var u=p(n.source,t.source);return 0!==u?u:0!=(u=n.originalLine-t.originalLine)?u:0!=(u=n.originalColumn-t.originalColumn)||o?u:0!=(u=n.generatedColumn-t.generatedColumn)?u:0!=(u=n.generatedLine-t.generatedLine)?u:p(n.name,t.name)},e.compareByGeneratedPositionsDeflated=function(n,t,o){var u=n.generatedLine-t.generatedLine;return 0!==u?u:0!=(u=n.generatedColumn-t.generatedColumn)||o?u:0!==(u=p(n.source,t.source))?u:0!=(u=n.originalLine-t.originalLine)?u:0!=(u=n.originalColumn-t.originalColumn)?u:p(n.name,t.name)},e.compareByGeneratedPositionsInflated=function(n,t){var o=n.generatedLine-t.generatedLine;return 0!==o?o:0!=(o=n.generatedColumn-t.generatedColumn)?o:0!==(o=p(n.source,t.source))?o:0!=(o=n.originalLine-t.originalLine)?o:0!=(o=n.originalColumn-t.originalColumn)?o:p(n.name,t.name)},e.parseSourceMapInput=function(n){return JSON.parse(n.replace(/^\)]}'[^\n]*\n/,''))},e.computeSourceURL=function(n,t,h){if(t=t||'',n&&('/'!==n[n.length-1]&&'/'!==t[0]&&(n+='/'),t=n+t),h){var s=o(h);if(!s)throw new Error("sourceMapURL could not be parsed");if(s.path){var f=s.path.lastIndexOf('/');f>=0&&(s.path=s.path.substring(0,f+1))}t=l(u(s),t)}return c(t)}},704,[]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]),n=Object.prototype.hasOwnProperty,s="undefined"!=typeof Map;function o(){this._array=[],this._set=s?new Map:Object.create(null)}o.fromArray=function(t,n){for(var s=new o,h=0,p=t.length;h=0)return h}else{var p=t.toSetString(o);if(n.call(this._set,p))return this._set[p]}throw new Error('"'+o+'" is not in the set.')},o.prototype.at=function(t){if(t>=0&&th||_==h&&u>=p||t.compareByGeneratedPositionsInflated(o,s)<=0?(this._last=n,this._array.push(n)):(this._sorted=!1,this._array.push(n))},n.prototype.toArray=function(){return this._sorted||(this._array.sort(t.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},e.MappingList=n},706,[704]); -__d(function(g,r,i,a,m,e,d){var n=r(d[0]);m.exports=function(c){return{fromPlainObject:function(t){return c(t,{enter:function(c){c.children&&c.children instanceof n==!1&&(c.children=(new n).fromArray(c.children))}}),t},toPlainObject:function(t){return c(t,{leave:function(c){c.children&&c.children instanceof n&&(c.children=c.children.toArray())}}),t}}}},707,[669]); -__d(function(g,r,i,a,m,e,d){var t=Object.prototype.hasOwnProperty,n=function(){};function l(t){return'function'==typeof t?t:n}function u(t,n){return function(l,u,o){l.type===n&&t.call(this,l,u,o)}}function o(n,l){var u=l.structure,o=[];for(var c in u)if(!1!==t.call(u,c)){var f=u[c],s={name:c,type:!1,nullable:!1};Array.isArray(u[c])||(f=[u[c]]);for(var v=0;v\";",groups:["CSS Charsets"],status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@charset"},"@counter-style":{syntax:"@counter-style {\n [ system: ; ] ||\n [ symbols: ; ] ||\n [ additive-symbols: ; ] ||\n [ negative: ; ] ||\n [ prefix: ; ] ||\n [ suffix: ; ] ||\n [ range: ; ] ||\n [ pad: ; ] ||\n [ speak-as: ; ] ||\n [ fallback: ; ]\n}",interfaces:["CSSCounterStyleRule"],groups:["CSS Counter Styles"],descriptors:{"additive-symbols":{syntax:"[ && ]#",media:"all",initial:"n/a (required)",percentages:"no",computed:"asSpecified",order:"orderOfAppearance",status:"standard"},fallback:{syntax:"",media:"all",initial:"decimal",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"},negative:{syntax:" ?",media:"all",initial:"\"-\" hyphen-minus",percentages:"no",computed:"asSpecified",order:"orderOfAppearance",status:"standard"},pad:{syntax:" && ",media:"all",initial:"0 \"\"",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"},prefix:{syntax:"",media:"all",initial:"\"\"",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"},range:{syntax:"[ [ | infinite ]{2} ]# | auto",media:"all",initial:"auto",percentages:"no",computed:"asSpecified",order:"orderOfAppearance",status:"standard"},"speak-as":{syntax:"auto | bullets | numbers | words | spell-out | ",media:"all",initial:"auto",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"},suffix:{syntax:"",media:"all",initial:"\". \"",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"},symbols:{syntax:"+",media:"all",initial:"n/a (required)",percentages:"no",computed:"asSpecified",order:"orderOfAppearance",status:"standard"},system:{syntax:"cyclic | numeric | alphabetic | symbolic | additive | [ fixed ? ] | [ extends ]",media:"all",initial:"symbolic",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"}},status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@counter-style"},"@document":{syntax:"@document [ | url-prefix() | domain() | media-document() | regexp() ]# {\n \n}",interfaces:["CSSGroupingRule","CSSConditionRule"],groups:["CSS Conditional Rules"],status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@document"},"@font-face":{syntax:"@font-face {\n [ font-family: ; ] ||\n [ src: ; ] ||\n [ unicode-range: ; ] ||\n [ font-variant: ; ] ||\n [ font-feature-settings: ; ] ||\n [ font-variation-settings: ; ] ||\n [ font-stretch: ; ] ||\n [ font-weight: ; ] ||\n [ font-style: ; ]\n}",interfaces:["CSSFontFaceRule"],groups:["CSS Fonts"],descriptors:{"font-display":{syntax:"[ auto | block | swap | fallback | optional ]",media:"visual",percentages:"no",initial:"auto",computed:"asSpecified",order:"uniqueOrder",status:"experimental"},"font-family":{syntax:"",media:"all",initial:"n/a (required)",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"},"font-feature-settings":{syntax:"normal | #",media:"all",initial:"normal",percentages:"no",computed:"asSpecified",order:"orderOfAppearance",status:"standard"},"font-variation-settings":{syntax:"normal | [ ]#",media:"all",initial:"normal",percentages:"no",computed:"asSpecified",order:"orderOfAppearance",status:"standard"},"font-stretch":{syntax:"{1,2}",media:"all",initial:"normal",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"},"font-style":{syntax:"normal | italic | oblique {0,2}",media:"all",initial:"normal",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"},"font-weight":{syntax:"{1,2}",media:"all",initial:"normal",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"},"font-variant":{syntax:"normal | none | [ || || || || stylistic() || historical-forms || styleset(#) || character-variant(#) || swash() || ornaments() || annotation() || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || || || || ordinal || slashed-zero || || || ruby ]",media:"all",initial:"normal",percentages:"no",computed:"asSpecified",order:"orderOfAppearance",status:"standard"},src:{syntax:"[ [ format( # ) ]? | local( ) ]#",media:"all",initial:"n/a (required)",percentages:"no",computed:"asSpecified",order:"orderOfAppearance",status:"standard"},"unicode-range":{syntax:"#",media:"all",initial:"U+0-10FFFF",percentages:"no",computed:"asSpecified",order:"orderOfAppearance",status:"standard"}},status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@font-face"},"@font-feature-values":{syntax:"@font-feature-values # {\n \n}",interfaces:["CSSFontFeatureValuesRule"],groups:["CSS Fonts"],status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@font-feature-values"},"@import":{syntax:"@import [ | ] [ ]?;",groups:["Media Queries"],status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@import"},"@keyframes":{syntax:"@keyframes {\n \n}",interfaces:["CSSKeyframeRule","CSSKeyframesRule"],groups:["CSS Animations"],status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@keyframes"},"@media":{syntax:"@media {\n \n}",interfaces:["CSSGroupingRule","CSSConditionRule","CSSMediaRule","CSSCustomMediaRule"],groups:["CSS Conditional Rules","Media Queries"],status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@media"},"@namespace":{syntax:"@namespace ? [ | ];",groups:["CSS Namespaces"],status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@namespace"},"@page":{syntax:"@page {\n \n}",interfaces:["CSSPageRule"],groups:["CSS Pages"],descriptors:{bleed:{syntax:"auto | ",media:["visual","paged"],initial:"auto",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"},marks:{syntax:"none | [ crop || cross ]",media:["visual","paged"],initial:"none",percentages:"no",computed:"asSpecified",order:"orderOfAppearance",status:"standard"},size:{syntax:"{1,2} | auto | [ || [ portrait | landscape ] ]",media:["visual","paged"],initial:"auto",percentages:"no",computed:"asSpecifiedRelativeToAbsoluteLengths",order:"orderOfAppearance",status:"standard"}},status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@page"},"@property":{syntax:"@property {\n \n}",interfaces:["CSS","CSSPropertyRule"],groups:["CSS Houdini"],descriptors:{syntax:{syntax:"",media:"all",percentages:"no",initial:"n/a (required)",computed:"asSpecified",order:"uniqueOrder",status:"experimental"},inherits:{syntax:"true | false",media:"all",percentages:"no",initial:"auto",computed:"asSpecified",order:"uniqueOrder",status:"experimental"},"initial-value":{syntax:"",media:"all",initial:"n/a (required)",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"experimental"}},status:"experimental",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@property"},"@supports":{syntax:"@supports {\n \n}",interfaces:["CSSGroupingRule","CSSConditionRule","CSSSupportsRule"],groups:["CSS Conditional Rules"],status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@supports"},"@viewport":{syntax:"@viewport {\n \n}",interfaces:["CSSViewportRule"],groups:["CSS Device Adaptation"],descriptors:{height:{syntax:"{1,2}",media:["visual","continuous"],initial:["min-height","max-height"],percentages:["min-height","max-height"],computed:["min-height","max-height"],order:"orderOfAppearance",status:"standard"},"max-height":{syntax:"",media:["visual","continuous"],initial:"auto",percentages:"referToHeightOfInitialViewport",computed:"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",order:"uniqueOrder",status:"standard"},"max-width":{syntax:"",media:["visual","continuous"],initial:"auto",percentages:"referToWidthOfInitialViewport",computed:"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",order:"uniqueOrder",status:"standard"},"max-zoom":{syntax:"auto | | ",media:["visual","continuous"],initial:"auto",percentages:"the zoom factor itself",computed:"autoNonNegativeOrPercentage",order:"uniqueOrder",status:"standard"},"min-height":{syntax:"",media:["visual","continuous"],initial:"auto",percentages:"referToHeightOfInitialViewport",computed:"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",order:"uniqueOrder",status:"standard"},"min-width":{syntax:"",media:["visual","continuous"],initial:"auto",percentages:"referToWidthOfInitialViewport",computed:"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",order:"uniqueOrder",status:"standard"},"min-zoom":{syntax:"auto | | ",media:["visual","continuous"],initial:"auto",percentages:"the zoom factor itself",computed:"autoNonNegativeOrPercentage",order:"uniqueOrder",status:"standard"},orientation:{syntax:"auto | portrait | landscape",media:["visual","continuous"],initial:"auto",percentages:"referToSizeOfBoundingBox",computed:"asSpecified",order:"uniqueOrder",status:"standard"},"user-zoom":{syntax:"zoom | fixed",media:["visual","continuous"],initial:"zoom",percentages:"referToSizeOfBoundingBox",computed:"asSpecified",order:"uniqueOrder",status:"standard"},"viewport-fit":{syntax:"auto | contain | cover",media:["visual","continuous"],initial:"auto",percentages:"no",computed:"asSpecified",order:"uniqueOrder",status:"standard"},width:{syntax:"{1,2}",media:["visual","continuous"],initial:["min-width","max-width"],percentages:["min-width","max-width"],computed:["min-width","max-width"],order:"orderOfAppearance",status:"standard"},zoom:{syntax:"auto | | ",media:["visual","continuous"],initial:"auto",percentages:"the zoom factor itself",computed:"autoNonNegativeOrPercentage",order:"uniqueOrder",status:"standard"}},status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/@viewport"}}},713,[]); -__d(function(e,t,i,o,r,a,n){r.exports={"--*":{syntax:"",media:"all",inherited:!0,animationType:"discrete",percentages:"no",groups:["CSS Variables"],initial:"seeProse",appliesto:"allElements",computed:"asSpecifiedWithVarsSubstituted",order:"perGrammar",status:"experimental",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/--*"},"-ms-accelerator":{syntax:"false | true",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"false",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-accelerator"},"-ms-block-progression":{syntax:"tb | rl | bt | lr",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"tb",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-block-progression"},"-ms-content-zoom-chaining":{syntax:"none | chained",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"none",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-chaining"},"-ms-content-zooming":{syntax:"none | zoom",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"zoomForTheTopLevelNoneForTheRest",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zooming"},"-ms-content-zoom-limit":{syntax:"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>",media:"interactive",inherited:!1,animationType:"discrete",percentages:["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],groups:["Microsoft Extensions"],initial:["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],appliesto:"nonReplacedBlockAndInlineBlockElements",computed:["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit"},"-ms-content-zoom-limit-max":{syntax:"",media:"interactive",inherited:!1,animationType:"discrete",percentages:"maxZoomFactor",groups:["Microsoft Extensions"],initial:"400%",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-max"},"-ms-content-zoom-limit-min":{syntax:"",media:"interactive",inherited:!1,animationType:"discrete",percentages:"minZoomFactor",groups:["Microsoft Extensions"],initial:"100%",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-min"},"-ms-content-zoom-snap":{syntax:"<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:["-ms-content-zoom-snap-type","-ms-content-zoom-snap-points"],appliesto:"nonReplacedBlockAndInlineBlockElements",computed:["-ms-content-zoom-snap-type","-ms-content-zoom-snap-points"],order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap"},"-ms-content-zoom-snap-points":{syntax:"snapInterval( , ) | snapList( # )",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"snapInterval(0%, 100%)",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-points"},"-ms-content-zoom-snap-type":{syntax:"none | proximity | mandatory",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"none",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-type"},"-ms-filter":{syntax:"",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"\"\"",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-filter"},"-ms-flow-from":{syntax:"[ none | ]#",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"none",appliesto:"nonReplacedElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-from"},"-ms-flow-into":{syntax:"[ none | ]#",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"none",appliesto:"iframeElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-into"},"-ms-grid-columns":{syntax:"none | | ",media:"visual",inherited:!1,animationType:"simpleListOfLpcDifferenceLpc",percentages:"referToDimensionOfContentArea",groups:["CSS Grid Layout"],initial:"none",appliesto:"gridContainers",computed:"asSpecifiedRelativeToAbsoluteLengths",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-grid-columns"},"-ms-grid-rows":{syntax:"none | | ",media:"visual",inherited:!1,animationType:"simpleListOfLpcDifferenceLpc",percentages:"referToDimensionOfContentArea",groups:["CSS Grid Layout"],initial:"none",appliesto:"gridContainers",computed:"asSpecifiedRelativeToAbsoluteLengths",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-grid-rows"},"-ms-high-contrast-adjust":{syntax:"auto | none",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"auto",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-high-contrast-adjust"},"-ms-hyphenate-limit-chars":{syntax:"auto | {1,3}",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"auto",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-chars"},"-ms-hyphenate-limit-lines":{syntax:"no-limit | ",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"no-limit",appliesto:"blockContainerElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-lines"},"-ms-hyphenate-limit-zone":{syntax:" | ",media:"visual",inherited:!0,animationType:"discrete",percentages:"referToLineBoxWidth",groups:["Microsoft Extensions"],initial:"0",appliesto:"blockContainerElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-zone"},"-ms-ime-align":{syntax:"auto | after",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"auto",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-ime-align"},"-ms-overflow-style":{syntax:"auto | none | scrollbar | -ms-autohiding-scrollbar",media:"interactive",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"auto",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-overflow-style"},"-ms-scrollbar-3dlight-color":{syntax:"",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"dependsOnUserAgent",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-3dlight-color"},"-ms-scrollbar-arrow-color":{syntax:"",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"ButtonText",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-arrow-color"},"-ms-scrollbar-base-color":{syntax:"",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"dependsOnUserAgent",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-base-color"},"-ms-scrollbar-darkshadow-color":{syntax:"",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"ThreeDDarkShadow",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-darkshadow-color"},"-ms-scrollbar-face-color":{syntax:"",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"ThreeDFace",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-face-color"},"-ms-scrollbar-highlight-color":{syntax:"",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"ThreeDHighlight",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-highlight-color"},"-ms-scrollbar-shadow-color":{syntax:"",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"ThreeDDarkShadow",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-shadow-color"},"-ms-scrollbar-track-color":{syntax:"",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"Scrollbar",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-track-color"},"-ms-scroll-chaining":{syntax:"chained | none",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"chained",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-chaining"},"-ms-scroll-limit":{syntax:"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:["-ms-scroll-limit-x-min","-ms-scroll-limit-y-min","-ms-scroll-limit-x-max","-ms-scroll-limit-y-max"],appliesto:"nonReplacedBlockAndInlineBlockElements",computed:["-ms-scroll-limit-x-min","-ms-scroll-limit-y-min","-ms-scroll-limit-x-max","-ms-scroll-limit-y-max"],order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit"},"-ms-scroll-limit-x-max":{syntax:"auto | ",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"auto",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-max"},"-ms-scroll-limit-x-min":{syntax:"",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"0",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-min"},"-ms-scroll-limit-y-max":{syntax:"auto | ",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"auto",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-max"},"-ms-scroll-limit-y-min":{syntax:"",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"0",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-min"},"-ms-scroll-rails":{syntax:"none | railed",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"railed",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-rails"},"-ms-scroll-snap-points-x":{syntax:"snapInterval( , ) | snapList( # )",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"snapInterval(0px, 100%)",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-x"},"-ms-scroll-snap-points-y":{syntax:"snapInterval( , ) | snapList( # )",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"snapInterval(0px, 100%)",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-y"},"-ms-scroll-snap-type":{syntax:"none | proximity | mandatory",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"none",appliesto:"nonReplacedBlockAndInlineBlockElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-type"},"-ms-scroll-snap-x":{syntax:"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:["-ms-scroll-snap-type","-ms-scroll-snap-points-x"],appliesto:"nonReplacedBlockAndInlineBlockElements",computed:["-ms-scroll-snap-type","-ms-scroll-snap-points-x"],order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-x"},"-ms-scroll-snap-y":{syntax:"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:["-ms-scroll-snap-type","-ms-scroll-snap-points-y"],appliesto:"nonReplacedBlockAndInlineBlockElements",computed:["-ms-scroll-snap-type","-ms-scroll-snap-points-y"],order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-y"},"-ms-scroll-translation":{syntax:"none | vertical-to-horizontal",media:"interactive",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"none",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-translation"},"-ms-text-autospace":{syntax:"none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"none",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-text-autospace"},"-ms-touch-select":{syntax:"grippers | none",media:"interactive",inherited:!0,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"grippers",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-touch-select"},"-ms-user-select":{syntax:"none | element | text",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"text",appliesto:"nonReplacedElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-user-select"},"-ms-wrap-flow":{syntax:"auto | both | start | end | maximum | clear",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"auto",appliesto:"blockLevelElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-flow"},"-ms-wrap-margin":{syntax:"",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"0",appliesto:"exclusionElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-margin"},"-ms-wrap-through":{syntax:"wrap | none",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Microsoft Extensions"],initial:"wrap",appliesto:"blockLevelElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-through"},"-moz-appearance":{syntax:"none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions","WebKit Extensions"],initial:"noneButOverriddenInUserAgentCSS",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/appearance"},"-moz-binding":{syntax:" | none",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"none",appliesto:"allElementsExceptGeneratedContentOrPseudoElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-binding"},"-moz-border-bottom-colors":{syntax:"+ | none",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"none",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-border-bottom-colors"},"-moz-border-left-colors":{syntax:"+ | none",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"none",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-border-left-colors"},"-moz-border-right-colors":{syntax:"+ | none",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"none",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-border-right-colors"},"-moz-border-top-colors":{syntax:"+ | none",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"none",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-border-top-colors"},"-moz-context-properties":{syntax:"none | [ fill | fill-opacity | stroke | stroke-opacity ]#",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"none",appliesto:"allElementsThatCanReferenceImages",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-context-properties"},"-moz-float-edge":{syntax:"border-box | content-box | margin-box | padding-box",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"content-box",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge"},"-moz-force-broken-image-icon":{syntax:"",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"0",appliesto:"images",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon"},"-moz-image-region":{syntax:" | auto",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"auto",appliesto:"xulImageElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region"},"-moz-orient":{syntax:"inline | block | horizontal | vertical",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"inline",appliesto:"anyElementEffectOnProgressAndMeter",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-orient"},"-moz-outline-radius":{syntax:"{1,4} [ / {1,4} ]?",media:"visual",inherited:!1,animationType:["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],percentages:["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],groups:["Mozilla Extensions"],initial:["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],appliesto:"allElements",computed:["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius"},"-moz-outline-radius-bottomleft":{syntax:"",media:"visual",inherited:!1,animationType:"lpc",percentages:"referToDimensionOfBorderBox",groups:["Mozilla Extensions"],initial:"0",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft"},"-moz-outline-radius-bottomright":{syntax:"",media:"visual",inherited:!1,animationType:"lpc",percentages:"referToDimensionOfBorderBox",groups:["Mozilla Extensions"],initial:"0",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright"},"-moz-outline-radius-topleft":{syntax:"",media:"visual",inherited:!1,animationType:"lpc",percentages:"referToDimensionOfBorderBox",groups:["Mozilla Extensions"],initial:"0",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft"},"-moz-outline-radius-topright":{syntax:"",media:"visual",inherited:!1,animationType:"lpc",percentages:"referToDimensionOfBorderBox",groups:["Mozilla Extensions"],initial:"0",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright"},"-moz-stack-sizing":{syntax:"ignore | stretch-to-fit",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"stretch-to-fit",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-stack-sizing"},"-moz-text-blink":{syntax:"none | blink",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"none",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-text-blink"},"-moz-user-focus":{syntax:"ignore | normal | select-after | select-before | select-menu | select-same | select-all | none",media:"interactive",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"none",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus"},"-moz-user-input":{syntax:"auto | none | enabled | disabled",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"auto",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-user-input"},"-moz-user-modify":{syntax:"read-only | read-write | write-only",media:"interactive",inherited:!0,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"read-only",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-user-modify"},"-moz-window-dragging":{syntax:"drag | no-drag",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"drag",appliesto:"allElementsCreatingNativeWindows",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-window-dragging"},"-moz-window-shadow":{syntax:"default | menu | tooltip | sheet | none",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["Mozilla Extensions"],initial:"default",appliesto:"allElementsCreatingNativeWindows",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-moz-window-shadow"},"-webkit-appearance":{syntax:"none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"noneButOverriddenInUserAgentCSS",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/appearance"},"-webkit-border-before":{syntax:"<'border-width'> || <'border-style'> || <'color'>",media:"visual",inherited:!0,animationType:"discrete",percentages:["-webkit-border-before-width"],groups:["WebKit Extensions"],initial:["border-width","border-style","color"],appliesto:"allElements",computed:["border-width","border-style","color"],order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before"},"-webkit-border-before-color":{syntax:"<'color'>",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"currentcolor",appliesto:"allElements",computed:"computedColor",order:"uniqueOrder",status:"nonstandard"},"-webkit-border-before-style":{syntax:"<'border-style'>",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"none",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard"},"-webkit-border-before-width":{syntax:"<'border-width'>",media:"visual",inherited:!0,animationType:"discrete",percentages:"logicalWidthOfContainingBlock",groups:["WebKit Extensions"],initial:"medium",appliesto:"allElements",computed:"absoluteLengthZeroIfBorderStyleNoneOrHidden",order:"uniqueOrder",status:"nonstandard"},"-webkit-box-reflect":{syntax:"[ above | below | right | left ]? ? ?",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"none",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect"},"-webkit-line-clamp":{syntax:"none | ",media:"visual",inherited:!1,animationType:"byComputedValueType",percentages:"no",groups:["WebKit Extensions","CSS Overflow"],initial:"none",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp"},"-webkit-mask":{syntax:"[ || [ / ]? || || [ | border | padding | content | text ] || [ | border | padding | content ] ]#",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:["-webkit-mask-image","-webkit-mask-repeat","-webkit-mask-attachment","-webkit-mask-position","-webkit-mask-origin","-webkit-mask-clip"],appliesto:"allElements",computed:["-webkit-mask-image","-webkit-mask-repeat","-webkit-mask-attachment","-webkit-mask-position","-webkit-mask-origin","-webkit-mask-clip"],order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/mask"},"-webkit-mask-attachment":{syntax:"#",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"scroll",appliesto:"allElements",computed:"asSpecified",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment"},"-webkit-mask-clip":{syntax:"[ | border | padding | content | text ]#",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"border",appliesto:"allElements",computed:"asSpecified",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/mask-clip"},"-webkit-mask-composite":{syntax:"#",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"source-over",appliesto:"allElements",computed:"asSpecified",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite"},"-webkit-mask-image":{syntax:"#",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"none",appliesto:"allElements",computed:"absoluteURIOrNone",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/mask-image"},"-webkit-mask-origin":{syntax:"[ | border | padding | content ]#",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"padding",appliesto:"allElements",computed:"asSpecified",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/mask-origin"},"-webkit-mask-position":{syntax:"#",media:"visual",inherited:!1,animationType:"discrete",percentages:"referToSizeOfElement",groups:["WebKit Extensions"],initial:"0% 0%",appliesto:"allElements",computed:"absoluteLengthOrPercentage",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/mask-position"},"-webkit-mask-position-x":{syntax:"[ | left | center | right ]#",media:"visual",inherited:!1,animationType:"discrete",percentages:"referToSizeOfElement",groups:["WebKit Extensions"],initial:"0%",appliesto:"allElements",computed:"absoluteLengthOrPercentage",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x"},"-webkit-mask-position-y":{syntax:"[ | top | center | bottom ]#",media:"visual",inherited:!1,animationType:"discrete",percentages:"referToSizeOfElement",groups:["WebKit Extensions"],initial:"0%",appliesto:"allElements",computed:"absoluteLengthOrPercentage",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y"},"-webkit-mask-repeat":{syntax:"#",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"repeat",appliesto:"allElements",computed:"asSpecified",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/mask-repeat"},"-webkit-mask-repeat-x":{syntax:"repeat | no-repeat | space | round",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"repeat",appliesto:"allElements",computed:"asSpecified",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x"},"-webkit-mask-repeat-y":{syntax:"repeat | no-repeat | space | round",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"repeat",appliesto:"allElements",computed:"absoluteLengthOrPercentage",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y"},"-webkit-mask-size":{syntax:"#",media:"visual",inherited:!1,animationType:"discrete",percentages:"relativeToBackgroundPositioningArea",groups:["WebKit Extensions"],initial:"auto auto",appliesto:"allElements",computed:"asSpecified",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/mask-size"},"-webkit-overflow-scrolling":{syntax:"auto | touch",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"auto",appliesto:"scrollingBoxes",computed:"asSpecified",order:"orderOfAppearance",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling"},"-webkit-tap-highlight-color":{syntax:"",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"black",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color"},"-webkit-text-fill-color":{syntax:"",media:"visual",inherited:!0,animationType:"color",percentages:"no",groups:["WebKit Extensions"],initial:"currentcolor",appliesto:"allElements",computed:"computedColor",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color"},"-webkit-text-stroke":{syntax:" || ",media:"visual",inherited:!0,animationType:["-webkit-text-stroke-width","-webkit-text-stroke-color"],percentages:"no",groups:["WebKit Extensions"],initial:["-webkit-text-stroke-width","-webkit-text-stroke-color"],appliesto:"allElements",computed:["-webkit-text-stroke-width","-webkit-text-stroke-color"],order:"canonicalOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke"},"-webkit-text-stroke-color":{syntax:"",media:"visual",inherited:!0,animationType:"color",percentages:"no",groups:["WebKit Extensions"],initial:"currentcolor",appliesto:"allElements",computed:"computedColor",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color"},"-webkit-text-stroke-width":{syntax:"",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"0",appliesto:"allElements",computed:"absoluteLength",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width"},"-webkit-touch-callout":{syntax:"default | none",media:"visual",inherited:!0,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"default",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout"},"-webkit-user-modify":{syntax:"read-only | read-write | read-write-plaintext-only",media:"interactive",inherited:!0,animationType:"discrete",percentages:"no",groups:["WebKit Extensions"],initial:"read-only",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"nonstandard"},"align-content":{syntax:"normal | | | ? ",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["CSS Box Alignment"],initial:"normal",appliesto:"multilineFlexContainers",computed:"asSpecified",order:"uniqueOrder",status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/align-content"},"align-items":{syntax:"normal | stretch | | [ ? ]",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["CSS Box Alignment"],initial:"normal",appliesto:"allElements",computed:"asSpecified",order:"uniqueOrder",status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/align-items"},"align-self":{syntax:"auto | normal | stretch | | ? ",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["CSS Box Alignment"],initial:"auto",appliesto:"flexItemsGridItemsAndAbsolutelyPositionedBoxes",computed:"autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent",order:"uniqueOrder",status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/align-self"},"align-tracks":{syntax:"[ normal | | | ? ]#",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["CSS Grid Layout"],initial:"normal",appliesto:"gridContainersWithMasonryLayoutInTheirBlockAxis",computed:"asSpecified",order:"uniqueOrder",status:"experimental",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/align-tracks"},all:{syntax:"initial | inherit | unset | revert",media:"noPracticalMedia",inherited:!1,animationType:"eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection",percentages:"no",groups:["CSS Miscellaneous"],initial:"noPracticalInitialValue",appliesto:"allElements",computed:"asSpecifiedAppliesToEachProperty",order:"uniqueOrder",status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/all"},animation:{syntax:"#",media:"visual",inherited:!1,animationType:"discrete",percentages:"no",groups:["CSS Animations"],initial:["animation-name","animation-duration","animation-timing-function","animation-delay","animation-iteration-count","animation-direction","animation-fill-mode","animation-play-state"],appliesto:"allElementsAndPseudos",computed:["animation-name","animation-duration","animation-timing-function","animation-delay","animation-direction","animation-iteration-count","animation-fill-mode","animation-play-state"],order:"orderOfAppearance",status:"standard",mdn_url:"https://developer.mozilla.org/docs/Web/CSS/animation"},"animation-delay":{syntax:"