mirror of
https://github.com/selfxyz/self.git
synced 2026-01-09 06:38:09 -05:00
Fix lazy loading, web build; revert tree shaking for now (#815)
* Revert "fix yarn web (#814)" This reverts commitbf158fd977. * Revert "add hermes ios engine" This reverts commitf6defcfb12. * Revert "codex feedback" This reverts commitdf35a47f72. * Revert "merge with dev" This reverts commit47a8d9d2f1. * Revert "update Gemfile.lock and remove lock when reinstalling" This reverts commit5f25752f77. * Revert "test package update" This reverts commit19dcba0e42. * Revert "revert install cmd changes" This reverts commit5427bd12a1. * Revert "Fix CI build by excluding nokogiri in GitHub Actions/Act environments" This reverts commitdbff69a13e. * Revert "prettier" This reverts commit87f421456f. * Revert "fix building" This reverts commitfbbefd2a3d. * Revert "optimize path resolving" This reverts commit23b1118b8e. * Revert "fix loading" This reverts commitf0c884b43b. * Revert "clean up dupe bundle install" This reverts commit5428567bbe. * Revert "fix metro loading" This reverts commit3a766001dc. * Revert "remove passport provider lazy loading" This reverts commit5f793a54b3. * Revert "allow cursor to edit Gemfile and update lock file" This reverts commitb6f7158e8e. * Revert "Update Gemfile.lock to exclude nokogiri in CI environments" This reverts commit243640152d. * Revert "fix install commands" This reverts commit2dc7d7c1c9. * Revert "fix imports and test" This reverts commit83d6308029. * Revert "fix import" This reverts commitfa42b07ce4. * Revert "update build checks" This reverts commitb281f15a16. * Revert "save updated imports" This reverts commit215bca4bee. * Revert "fix build command" This reverts commit37f95bc8fb. * Revert "build dependencies before linting" This reverts commit9e57e017ca. * Revert "lint suggestions" This reverts commitff9b9d2c7c. * Revert "fix type. more opportunities" This reverts commit7ad82d5817. * Revert "add typing to crypto loader" This reverts commitd55eec8f44. * Revert "yarn nice" This reverts commitdf1c2dbd9b. * Revert "update lock" This reverts commit04692ba3b5. * Revert "cm feedback" This reverts commit848071f315. * fix file name * fix web loading * fix border width styling * fix package commands * fix import and update lock * fixes from reverted commits * more fixes for web building * fix yarn web:build * add yarn web:build workflow * cm feedback * final fixes * fix for and vitge * fix loading
This commit is contained in:
1
.github/workflows/general-checks.yml
vendored
1
.github/workflows/general-checks.yml
vendored
@@ -24,6 +24,7 @@ jobs:
|
||||
- name: Yarn types
|
||||
shell: bash
|
||||
run: yarn types
|
||||
|
||||
test-common:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
21
.github/workflows/web.yml
vendored
Normal file
21
.github/workflows/web.yml
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
name: Web CI
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- "app/**"
|
||||
- ".github/workflows/web.yml"
|
||||
- ".github/actions/**"
|
||||
|
||||
jobs:
|
||||
web-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Dependencies
|
||||
uses: ./.github/actions/yarn-install
|
||||
- name: Build dependencies
|
||||
shell: bash
|
||||
run: yarn workspace @selfxyz/common build
|
||||
- name: Build web app
|
||||
run: yarn web:build
|
||||
34
app/App.tsx
34
app/App.tsx
@@ -1,10 +1,10 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
// CI/CD Pipeline Test - July 29, 2025 - With Permissions Fix
|
||||
import 'react-native-get-random-values';
|
||||
|
||||
import { Buffer } from 'buffer';
|
||||
import React from 'react';
|
||||
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
||||
import { YStack } from 'tamagui';
|
||||
|
||||
import ErrorBoundary from './src/components/ErrorBoundary';
|
||||
@@ -22,23 +22,21 @@ global.Buffer = Buffer;
|
||||
|
||||
function App(): React.JSX.Element {
|
||||
return (
|
||||
<SafeAreaProvider>
|
||||
<ErrorBoundary>
|
||||
<YStack flex={1} height="100%" width="100%">
|
||||
<RemoteConfigProvider>
|
||||
<AuthProvider>
|
||||
<PassportProvider>
|
||||
<DatabaseProvider>
|
||||
<NotificationTrackingProvider>
|
||||
<AppNavigation />
|
||||
</NotificationTrackingProvider>
|
||||
</DatabaseProvider>
|
||||
</PassportProvider>
|
||||
</AuthProvider>
|
||||
</RemoteConfigProvider>
|
||||
</YStack>
|
||||
</ErrorBoundary>
|
||||
</SafeAreaProvider>
|
||||
<ErrorBoundary>
|
||||
<YStack flex={1} height="100%" width="100%">
|
||||
<RemoteConfigProvider>
|
||||
<AuthProvider>
|
||||
<PassportProvider>
|
||||
<DatabaseProvider>
|
||||
<NotificationTrackingProvider>
|
||||
<AppNavigation />
|
||||
</NotificationTrackingProvider>
|
||||
</DatabaseProvider>
|
||||
</PassportProvider>
|
||||
</AuthProvider>
|
||||
</RemoteConfigProvider>
|
||||
</YStack>
|
||||
</ErrorBoundary>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -12,8 +12,7 @@ gem "fastlane", "~> 2.228.0"
|
||||
|
||||
group :development do
|
||||
gem "dotenv"
|
||||
# Exclude nokogiri for GitHub Actions and Act
|
||||
gem "nokogiri", "~> 1.18.9", platform: :ruby
|
||||
gem "nokogiri", "~> 1.18", platform: :ruby
|
||||
end
|
||||
|
||||
plugins_path = File.join(File.dirname(__FILE__), "fastlane", "Pluginfile")
|
||||
|
||||
@@ -24,28 +24,28 @@ GEM
|
||||
json (>= 1.5.1)
|
||||
artifactory (3.0.17)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.4.0)
|
||||
aws-partitions (1.1137.0)
|
||||
aws-sdk-core (3.227.0)
|
||||
aws-eventstream (1.3.2)
|
||||
aws-partitions (1.1088.0)
|
||||
aws-sdk-core (3.222.2)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.992.0)
|
||||
aws-sigv4 (~> 1.9)
|
||||
base64
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
logger
|
||||
aws-sdk-kms (1.108.0)
|
||||
aws-sdk-core (~> 3, >= 3.227.0)
|
||||
aws-sdk-kms (1.99.0)
|
||||
aws-sdk-core (~> 3, >= 3.216.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sdk-s3 (1.194.0)
|
||||
aws-sdk-core (~> 3, >= 3.227.0)
|
||||
aws-sdk-s3 (1.183.0)
|
||||
aws-sdk-core (~> 3, >= 3.216.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (1.12.1)
|
||||
aws-sigv4 (1.11.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
base64 (0.3.0)
|
||||
benchmark (0.4.1)
|
||||
bigdecimal (3.2.2)
|
||||
base64 (0.2.0)
|
||||
benchmark (0.4.0)
|
||||
bigdecimal (3.1.9)
|
||||
claide (1.1.0)
|
||||
cocoapods (1.16.2)
|
||||
addressable (~> 2.8)
|
||||
@@ -89,13 +89,13 @@ GEM
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
concurrent-ruby (1.3.5)
|
||||
connection_pool (2.5.3)
|
||||
connection_pool (2.5.0)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.7.0)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.6.20240107)
|
||||
dotenv (2.8.1)
|
||||
drb (2.2.3)
|
||||
drb (2.2.1)
|
||||
emoji_regex (3.2.3)
|
||||
escape (0.0.4)
|
||||
ethon (0.16.0)
|
||||
@@ -117,10 +117,10 @@ GEM
|
||||
faraday (>= 0.8.0)
|
||||
http-cookie (~> 1.0.0)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.1)
|
||||
faraday-em_synchrony (1.0.0)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-multipart (1.1.1)
|
||||
faraday-multipart (1.1.0)
|
||||
multipart-post (~> 2.0)
|
||||
faraday-net_http (1.0.2)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
@@ -176,7 +176,7 @@ GEM
|
||||
fastlane-plugin-versioning_android (0.1.1)
|
||||
fastlane-sirp (1.0.0)
|
||||
sysrandom (~> 1.0)
|
||||
ffi (1.17.2)
|
||||
ffi (1.17.1)
|
||||
fourflusher (2.3.1)
|
||||
fuzzy_match (2.0.4)
|
||||
gh_inspector (1.1.3)
|
||||
@@ -224,21 +224,21 @@ GEM
|
||||
i18n (1.14.7)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jmespath (1.6.2)
|
||||
json (2.13.2)
|
||||
jwt (2.10.2)
|
||||
json (2.10.2)
|
||||
jwt (2.10.1)
|
||||
base64
|
||||
logger (1.7.0)
|
||||
logger (1.6.6)
|
||||
mini_magick (4.13.2)
|
||||
mini_mime (1.1.5)
|
||||
mini_portile2 (2.8.9)
|
||||
minitest (5.25.5)
|
||||
molinillo (0.8.0)
|
||||
multi_json (1.17.0)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.4.1)
|
||||
mutex_m (0.3.0)
|
||||
nanaimo (0.4.0)
|
||||
nap (1.1.0)
|
||||
naturally (2.3.0)
|
||||
naturally (2.2.1)
|
||||
netrc (0.11.0)
|
||||
nkf (0.2.0)
|
||||
nokogiri (1.18.9)
|
||||
@@ -249,7 +249,7 @@ GEM
|
||||
plist (3.7.2)
|
||||
public_suffix (4.0.7)
|
||||
racc (1.8.1)
|
||||
rake (13.3.0)
|
||||
rake (13.2.1)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
@@ -262,7 +262,7 @@ GEM
|
||||
rubyzip (2.4.1)
|
||||
securerandom (0.4.1)
|
||||
security (0.1.5)
|
||||
signet (0.20.0)
|
||||
signet (0.19.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
@@ -308,10 +308,10 @@ DEPENDENCIES
|
||||
fastlane (~> 2.228.0)
|
||||
fastlane-plugin-increment_version_code
|
||||
fastlane-plugin-versioning_android
|
||||
nokogiri (~> 1.18.9)
|
||||
nokogiri (~> 1.18)
|
||||
|
||||
RUBY VERSION
|
||||
ruby 3.2.7p253
|
||||
|
||||
BUNDLED WITH
|
||||
2.6.9
|
||||
2.4.19
|
||||
|
||||
@@ -116,6 +116,7 @@ android {
|
||||
javaMaxHeapSize "4g"
|
||||
preDexLibraries false
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.proofofpassportapp"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
@@ -154,8 +155,7 @@ android {
|
||||
signingConfig signingConfigs.debug
|
||||
}
|
||||
release {
|
||||
// Only use release signing config if the properties are available, otherwise fall back to debug
|
||||
signingConfig project.hasProperty('MYAPP_UPLOAD_STORE_FILE') ? signingConfigs.release : signingConfigs.debug
|
||||
signingConfig signingConfigs.release
|
||||
minifyEnabled enableProguardInReleaseBuilds
|
||||
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
# Specifies the JVM arguments used for the daemon process.
|
||||
# The setting is particularly useful for tweaking memory settings.
|
||||
# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m
|
||||
org.gradle.jvmargs=-Xmx6144m -XX:MaxMetaspaceSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:+UseStringDeduplication
|
||||
org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:+UseStringDeduplication
|
||||
android.defaults.buildfeatures.buildconfig=true
|
||||
|
||||
# When configured, Gradle will run in incubating parallel mode.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
module.exports = {
|
||||
presets: ['module:@react-native/babel-preset'],
|
||||
plugins: [
|
||||
['@tamagui/babel-plugin', { platform: 'native' }],
|
||||
['@babel/plugin-transform-private-methods', { loose: true }],
|
||||
[
|
||||
'module:react-native-dotenv',
|
||||
|
||||
@@ -128,6 +128,9 @@ target "Self" do
|
||||
installer.pods_project.targets.each do |target|
|
||||
target.build_configurations.each do |config|
|
||||
config.build_settings["CODE_SIGNING_ALLOWED"] = "NO"
|
||||
|
||||
# Fix for Rosetta emulator builds - exclude arm64 for simulator
|
||||
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2319,6 +2319,6 @@ SPEC CHECKSUMS:
|
||||
SwiftyTesseract: 1f3d96668ae92dc2208d9842c8a59bea9fad2cbb
|
||||
Yoga: b05994d1933f507b0a28ceaa4fdb968dc18da178
|
||||
|
||||
PODFILE CHECKSUM: 99a2fe1b63850931eea0c4a535d1fb74860e14b3
|
||||
PODFILE CHECKSUM: b81ba34191ee5d356ad68dc704f09d3e47b416b4
|
||||
|
||||
COCOAPODS: 1.16.2
|
||||
|
||||
@@ -12,7 +12,6 @@ const extraNodeModules = {
|
||||
util: require.resolve('util'),
|
||||
assert: require.resolve('assert'),
|
||||
'@babel/runtime': path.join(trueMonorepoNodeModules, '@babel/runtime'),
|
||||
'@selfxyz/common': path.resolve(commonPath, 'src'),
|
||||
};
|
||||
const watchFolders = [
|
||||
path.resolve(commonPath),
|
||||
@@ -31,8 +30,6 @@ const config = {
|
||||
babelTransformerPath: require.resolve(
|
||||
'react-native-svg-transformer/react-native',
|
||||
),
|
||||
disableImportExportTransform: true,
|
||||
inlineRequires: true,
|
||||
},
|
||||
resolver: {
|
||||
extraNodeModules,
|
||||
@@ -44,34 +41,6 @@ const config = {
|
||||
],
|
||||
assetExts: assetExts.filter(ext => ext !== 'svg'),
|
||||
sourceExts: [...sourceExts, 'svg'],
|
||||
resolverMainFields: ['react-native', 'browser', 'main'],
|
||||
platforms: ['ios', 'android', 'native', 'web'],
|
||||
// Custom resolver to handle .js imports that should resolve to .ts files
|
||||
resolveRequest: (context, moduleName, platform) => {
|
||||
// Only process .js imports from the common package source
|
||||
const isFromCommonSrc = context.originModulePath.includes(
|
||||
path.join('common', 'src'),
|
||||
);
|
||||
if (moduleName.endsWith('.js') && isFromCommonSrc) {
|
||||
const tsModuleName = moduleName.replace(/\.js$/, '.ts');
|
||||
const tsxModuleName = moduleName.replace(/\.js$/, '.tsx');
|
||||
|
||||
// Try to resolve as .ts first, then .tsx
|
||||
try {
|
||||
return context.resolveRequest(context, tsModuleName, platform);
|
||||
} catch (tsError) {
|
||||
try {
|
||||
return context.resolveRequest(context, tsxModuleName, platform);
|
||||
} catch (tsxError) {
|
||||
// Fall back to default resolution
|
||||
return context.resolveRequest(context, moduleName, platform);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Default resolution for everything else
|
||||
return context.resolveRequest(context, moduleName, platform);
|
||||
},
|
||||
},
|
||||
watchFolders,
|
||||
};
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"clean": "yarn clean:watchman && yarn clean:build && yarn clean:ios && yarn clean:android && yarn clean:xcode && yarn clean:pod-cache && yarn clean:node",
|
||||
"clean:android": "rm -rf android/app/build android/build",
|
||||
"clean:build": "rm -rf ios/build android/app/build android/build",
|
||||
"clean:ios": "rm -rf ios/Pods ios/Podfile.lock && rm -rf Gemfile.lock",
|
||||
"clean:ios": "rm -rf ios/Pods ios/Podfile.lock",
|
||||
"clean:node": "rm -rf ../node_modules app/node_modules",
|
||||
"clean:pod-cache": "cd ios && pod cache clean --all && cd ..",
|
||||
"clean:watchman": "watchman watch-del-all",
|
||||
@@ -143,7 +143,6 @@
|
||||
"@react-native/gradle-plugin": "^0.79.2",
|
||||
"@react-native/metro-config": "0.75.4",
|
||||
"@react-native/typescript-config": "0.75.4",
|
||||
"@tamagui/babel-plugin": "^1.132.15",
|
||||
"@tamagui/types": "1.126.14",
|
||||
"@testing-library/react-hooks": "^8.0.1",
|
||||
"@testing-library/react-native": "^13.2.0",
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import type { Country3LetterCode } from '@selfxyz/common/constants/constants';
|
||||
import { countryCodes } from '@selfxyz/common/constants/constants';
|
||||
import type { SelfAppDisclosureConfig } from '@selfxyz/common/utils/appType';
|
||||
import type { SelfAppDisclosureConfig } from '@selfxyz/common';
|
||||
import { Country3LetterCode, countryCodes } from '@selfxyz/common';
|
||||
import React from 'react';
|
||||
import { XStack, YStack } from 'tamagui';
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ export interface ButtonProps extends ViewProps {
|
||||
interface AbstractButtonProps extends ButtonProps {
|
||||
bgColor: string;
|
||||
borderColor?: string;
|
||||
borderWidth?: number;
|
||||
color: string;
|
||||
onPress?: ((e: any) => void) | null | undefined;
|
||||
}
|
||||
@@ -35,6 +36,7 @@ export default function AbstractButton({
|
||||
bgColor,
|
||||
color,
|
||||
borderColor,
|
||||
borderWidth = 4,
|
||||
style,
|
||||
animatedComponent,
|
||||
trackEvent,
|
||||
@@ -64,9 +66,13 @@ export default function AbstractButton({
|
||||
onPress={handlePress}
|
||||
style={[
|
||||
styles.container,
|
||||
{ backgroundColor: bgColor, borderColor: borderColor },
|
||||
{ backgroundColor: bgColor },
|
||||
hasBorder
|
||||
? styles.withBorder
|
||||
? {
|
||||
borderWidth: borderWidth,
|
||||
borderColor: borderColor,
|
||||
padding: 20 - borderWidth, // Adjust padding to maintain total size
|
||||
}
|
||||
: Platform.select({ web: { borderWidth: 0 }, default: {} }),
|
||||
style as ViewStyle,
|
||||
]}
|
||||
@@ -92,10 +98,6 @@ const styles = StyleSheet.create({
|
||||
padding: 20,
|
||||
borderRadius: 5,
|
||||
},
|
||||
withBorder: {
|
||||
borderWidth: 4,
|
||||
padding: 16, // plus 4 of border = 20
|
||||
},
|
||||
text: {
|
||||
fontFamily: dinot,
|
||||
textAlign: 'center',
|
||||
|
||||
@@ -3,16 +3,22 @@
|
||||
import React from 'react';
|
||||
|
||||
import { amber50, black, slate300, white } from '../../utils/colors';
|
||||
import { normalizeBorderWidth } from '../../utils/styleUtils';
|
||||
import AbstractButton, { ButtonProps } from './AbstractButton';
|
||||
|
||||
export function PrimaryButton({ children, ...props }: ButtonProps) {
|
||||
const isDisabled = props.disabled;
|
||||
const { borderWidth, ...restProps } = props;
|
||||
const isDisabled = restProps.disabled;
|
||||
const bgColor = isDisabled ? white : black;
|
||||
const color = isDisabled ? slate300 : amber50;
|
||||
const borderColor = isDisabled ? slate300 : undefined;
|
||||
|
||||
const numericBorderWidth = normalizeBorderWidth(borderWidth);
|
||||
|
||||
return (
|
||||
<AbstractButton
|
||||
{...props}
|
||||
{...restProps}
|
||||
borderWidth={numericBorderWidth}
|
||||
borderColor={borderColor}
|
||||
bgColor={bgColor}
|
||||
color={color}
|
||||
|
||||
@@ -3,16 +3,22 @@
|
||||
import React from 'react';
|
||||
|
||||
import { slate200, slate300, slate500, white } from '../../utils/colors';
|
||||
import { normalizeBorderWidth } from '../../utils/styleUtils';
|
||||
import AbstractButton, { ButtonProps } from './AbstractButton';
|
||||
|
||||
export function SecondaryButton({ children, ...props }: ButtonProps) {
|
||||
const isDisabled = props.disabled;
|
||||
const { borderWidth, ...restProps } = props;
|
||||
const isDisabled = restProps.disabled;
|
||||
const bgColor = isDisabled ? white : slate200;
|
||||
const color = isDisabled ? slate300 : slate500;
|
||||
const borderColor = isDisabled ? slate200 : undefined;
|
||||
|
||||
const numericBorderWidth = normalizeBorderWidth(borderWidth);
|
||||
|
||||
return (
|
||||
<AbstractButton
|
||||
{...props}
|
||||
{...restProps}
|
||||
borderWidth={numericBorderWidth}
|
||||
bgColor={bgColor}
|
||||
color={color}
|
||||
borderColor={borderColor}
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
import { lazy } from 'react';
|
||||
|
||||
import { ProgressNavBar } from '../components/NavBar';
|
||||
import { shouldShowAesopRedesign } from '../hooks/useAesopRedesign';
|
||||
import PassportOnboardingScreen from '../screens/aesop/PassportOnboardingScreen';
|
||||
|
||||
const PassportOnboardingScreen = lazy(
|
||||
() => import('../screens/aesop/PassportOnboardingScreen'),
|
||||
);
|
||||
import { white } from '../utils/colors';
|
||||
|
||||
const aesopScreens = {
|
||||
|
||||
@@ -1,12 +1,21 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
import { lazy } from 'react';
|
||||
|
||||
import DevFeatureFlagsScreen from '../screens/dev/DevFeatureFlagsScreen';
|
||||
import DevHapticFeedbackScreen from '../screens/dev/DevHapticFeedback';
|
||||
import DevSettingsScreen from '../screens/dev/DevSettingsScreen';
|
||||
import MockDataScreen from '../screens/dev/MockDataScreen';
|
||||
import MockDataScreenDeepLink from '../screens/dev/MockDataScreenDeepLink';
|
||||
const DevFeatureFlagsScreen = lazy(
|
||||
() => import('../screens/dev/DevFeatureFlagsScreen'),
|
||||
);
|
||||
const DevHapticFeedbackScreen = lazy(
|
||||
() => import('../screens/dev/DevHapticFeedback'),
|
||||
);
|
||||
const DevSettingsScreen = lazy(
|
||||
() => import('../screens/dev/DevSettingsScreen'),
|
||||
);
|
||||
const MockDataScreen = lazy(() => import('../screens/dev/MockDataScreen'));
|
||||
const MockDataScreenDeepLink = lazy(
|
||||
() => import('../screens/dev/MockDataScreenDeepLink'),
|
||||
);
|
||||
import { white } from '../utils/colors';
|
||||
|
||||
const devScreens = {
|
||||
|
||||
@@ -1,12 +1,17 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
import { lazy } from 'react';
|
||||
|
||||
import { HomeNavBar } from '../components/NavBar';
|
||||
import DisclaimerScreen from '../screens/home/DisclaimerScreen';
|
||||
import HomeScreen from '../screens/home/HomeScreen';
|
||||
import ProofHistoryDetailScreen from '../screens/home/ProofHistoryDetailScreen';
|
||||
import ProofHistoryScreen from '../screens/home/ProofHistoryScreen';
|
||||
const DisclaimerScreen = lazy(() => import('../screens/home/DisclaimerScreen'));
|
||||
const HomeScreen = lazy(() => import('../screens/home/HomeScreen'));
|
||||
const ProofHistoryDetailScreen = lazy(
|
||||
() => import('../screens/home/ProofHistoryDetailScreen'),
|
||||
);
|
||||
const ProofHistoryScreen = lazy(
|
||||
() => import('../screens/home/ProofHistoryScreen'),
|
||||
);
|
||||
import { black } from '../utils/colors';
|
||||
const homeScreens = {
|
||||
Disclaimer: {
|
||||
|
||||
@@ -9,10 +9,10 @@ import { createNativeStackNavigator } from '@react-navigation/native-stack';
|
||||
import React, { Suspense, useEffect } from 'react';
|
||||
import { Platform, View } from 'react-native';
|
||||
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
||||
import { Text } from 'tamagui';
|
||||
|
||||
import { DefaultNavBar } from '../components/NavBar';
|
||||
import AppLayout from '../layouts/AppLayout';
|
||||
const SuspenseFallback = () => <View>Loading...</View>;
|
||||
import analytics from '../utils/analytics';
|
||||
import { white } from '../utils/colors';
|
||||
import { setupUniversalLinkListenerInNavigation } from '../utils/deeplinks';
|
||||
@@ -60,8 +60,19 @@ declare global {
|
||||
export const navigationRef = createNavigationContainerRef();
|
||||
|
||||
const { trackScreenView } = analytics();
|
||||
|
||||
const Navigation = createStaticNavigation(AppNavigation);
|
||||
|
||||
const SuspenseFallback = () => {
|
||||
if (Platform.OS === 'web') {
|
||||
return <div>Loading...</div>;
|
||||
}
|
||||
return (
|
||||
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
|
||||
<Text>Loading...</Text>
|
||||
</View>
|
||||
);
|
||||
};
|
||||
|
||||
const NavigationWithTracking = () => {
|
||||
const trackScreen = () => {
|
||||
const currentRoute = navigationRef.getCurrentRoute();
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
import React from 'react';
|
||||
import React, { lazy } from 'react';
|
||||
import { StatusBar } from 'react-native';
|
||||
|
||||
import LaunchScreen from '../screens/misc/LaunchScreen';
|
||||
import LoadingScreen from '../screens/misc/LoadingScreen';
|
||||
import ModalScreen from '../screens/misc/ModalScreen';
|
||||
// Important: SplashScreen is imported directly and not lazy-loaded.
|
||||
// This is because it's used as a fallback for the Suspense boundary in the root navigator,
|
||||
// ensuring it's immediately available at startup.
|
||||
import SplashScreen from '../screens/misc/SplashScreen';
|
||||
import { black } from '../utils/colors';
|
||||
|
||||
const LaunchScreen = lazy(() => import('../screens/misc/LaunchScreen'));
|
||||
const LoadingScreen = lazy(() => import('../screens/misc/LoadingScreen'));
|
||||
const ModalScreen = lazy(() => import('../screens/misc/ModalScreen'));
|
||||
|
||||
const miscScreens = {
|
||||
Launch: {
|
||||
screen: LaunchScreen,
|
||||
|
||||
@@ -1,14 +1,29 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
import { lazy } from 'react';
|
||||
|
||||
import NFCMethodSelectionScreen from '../screens/passport/NFCMethodSelectionScreen';
|
||||
import PassportCameraScreen from '../screens/passport/PassportCameraScreen';
|
||||
import PassportCameraTrouble from '../screens/passport/PassportCameraTroubleScreen';
|
||||
import PassportNFCScanScreen from '../screens/passport/PassportNFCScanScreen';
|
||||
import PassportNFCTrouble from '../screens/passport/PassportNFCTroubleScreen';
|
||||
import PassportOnboardingScreen from '../screens/passport/PassportOnboardingScreen';
|
||||
import UnsupportedPassportScreen from '../screens/passport/UnsupportedPassportScreen';
|
||||
const PassportCameraScreen = lazy(
|
||||
() => import('../screens/passport/PassportCameraScreen'),
|
||||
);
|
||||
const PassportCameraTrouble = lazy(
|
||||
() => import('../screens/passport/PassportCameraTroubleScreen'),
|
||||
);
|
||||
const PassportNFCScanScreen = lazy(
|
||||
() => import('../screens/passport/PassportNFCScanScreen'),
|
||||
);
|
||||
const PassportNFCTrouble = lazy(
|
||||
() => import('../screens/passport/PassportNFCTroubleScreen'),
|
||||
);
|
||||
const PassportOnboardingScreen = lazy(
|
||||
() => import('../screens/passport/PassportOnboardingScreen'),
|
||||
);
|
||||
const UnsupportedPassportScreen = lazy(
|
||||
() => import('../screens/passport/UnsupportedPassportScreen'),
|
||||
);
|
||||
const NFCMethodSelectionScreen = lazy(
|
||||
() => import('../screens/passport/NFCMethodSelectionScreen'),
|
||||
);
|
||||
|
||||
const passportScreens = {
|
||||
PassportCamera: {
|
||||
|
||||
@@ -1,12 +1,21 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
import { lazy } from 'react';
|
||||
|
||||
import ConfirmBelongingScreen from '../screens/prove/ConfirmBelongingScreen';
|
||||
import ProofRequestStatusScreen from '../screens/prove/ProofRequestStatusScreen';
|
||||
import ProveScreen from '../screens/prove/ProveScreen';
|
||||
import QRCodeTroubleScreen from '../screens/prove/QRCodeTroubleScreen';
|
||||
import QRCodeViewFinderScreen from '../screens/prove/ViewFinderScreen';
|
||||
const ConfirmBelongingScreen = lazy(
|
||||
() => import('../screens/prove/ConfirmBelongingScreen'),
|
||||
);
|
||||
const ProofRequestStatusScreen = lazy(
|
||||
() => import('../screens/prove/ProofRequestStatusScreen'),
|
||||
);
|
||||
const ProveScreen = lazy(() => import('../screens/prove/ProveScreen'));
|
||||
const QRCodeTroubleScreen = lazy(
|
||||
() => import('../screens/prove/QRCodeTroubleScreen'),
|
||||
);
|
||||
const QRCodeViewFinderScreen = lazy(
|
||||
() => import('../screens/prove/ViewFinderScreen'),
|
||||
);
|
||||
import { black, white } from '../utils/colors';
|
||||
|
||||
const proveScreens = {
|
||||
|
||||
@@ -1,13 +1,26 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
import { lazy } from 'react';
|
||||
|
||||
import AccountRecoveryChoiceScreen from '../screens/recovery/AccountRecoveryChoiceScreen';
|
||||
import AccountRecoveryScreen from '../screens/recovery/AccountRecoveryScreen';
|
||||
import AccountVerifiedSuccessScreen from '../screens/recovery/AccountVerifiedSuccessScreen';
|
||||
import PassportDataNotFound from '../screens/recovery/PassportDataNotFoundScreen';
|
||||
import RecoverWithPhraseScreen from '../screens/recovery/RecoverWithPhraseScreen';
|
||||
import SaveRecoveryPhraseScreen from '../screens/recovery/SaveRecoveryPhraseScreen';
|
||||
const AccountRecoveryChoiceScreen = lazy(
|
||||
() => import('../screens/recovery/AccountRecoveryChoiceScreen'),
|
||||
);
|
||||
const AccountRecoveryScreen = lazy(
|
||||
() => import('../screens/recovery/AccountRecoveryScreen'),
|
||||
);
|
||||
const AccountVerifiedSuccessScreen = lazy(
|
||||
() => import('../screens/recovery/AccountVerifiedSuccessScreen'),
|
||||
);
|
||||
const PassportDataNotFound = lazy(
|
||||
() => import('../screens/recovery/PassportDataNotFoundScreen'),
|
||||
);
|
||||
const RecoverWithPhraseScreen = lazy(
|
||||
() => import('../screens/recovery/RecoverWithPhraseScreen'),
|
||||
);
|
||||
const SaveRecoveryPhraseScreen = lazy(
|
||||
() => import('../screens/recovery/SaveRecoveryPhraseScreen'),
|
||||
);
|
||||
import { black, slate300 } from '../utils/colors';
|
||||
|
||||
const recoveryScreens = {
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
import { lazy } from 'react';
|
||||
|
||||
import PassportDataNotFound from '../screens/recovery/PassportDataNotFoundScreen';
|
||||
const PassportDataNotFound = lazy(
|
||||
() => import('../screens/recovery/PassportDataNotFoundScreen'),
|
||||
);
|
||||
|
||||
const recoveryScreens = {
|
||||
PassportDataNotFound: {
|
||||
|
||||
@@ -1,12 +1,21 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
import { lazy } from 'react';
|
||||
|
||||
import CloudBackupScreen from '../screens/settings/CloudBackupScreen';
|
||||
import ManageDocumentsScreen from '../screens/settings/ManageDocumentsScreen';
|
||||
import PassportDataInfoScreen from '../screens/settings/PassportDataInfoScreen';
|
||||
import SettingsScreen from '../screens/settings/SettingsScreen';
|
||||
import ShowRecoveryPhraseScreen from '../screens/settings/ShowRecoveryPhraseScreen';
|
||||
const CloudBackupScreen = lazy(
|
||||
() => import('../screens/settings/CloudBackupScreen'),
|
||||
);
|
||||
const ManageDocumentsScreen = lazy(
|
||||
() => import('../screens/settings/ManageDocumentsScreen'),
|
||||
);
|
||||
const PassportDataInfoScreen = lazy(
|
||||
() => import('../screens/settings/PassportDataInfoScreen'),
|
||||
);
|
||||
const SettingsScreen = lazy(() => import('../screens/settings/SettingsScreen'));
|
||||
const ShowRecoveryPhraseScreen = lazy(
|
||||
() => import('../screens/settings/ShowRecoveryPhraseScreen'),
|
||||
);
|
||||
import { black, slate300, white } from '../utils/colors';
|
||||
|
||||
const settingsScreens = {
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
import { lazy } from 'react';
|
||||
|
||||
import ManageDocumentsScreen from '../screens/settings/ManageDocumentsScreen';
|
||||
import PassportDataInfoScreen from '../screens/settings/PassportDataInfoScreen';
|
||||
import SettingsScreen from '../screens/settings/SettingsScreen';
|
||||
const ManageDocumentsScreen = lazy(
|
||||
() => import('../screens/settings/ManageDocumentsScreen'),
|
||||
);
|
||||
const PassportDataInfoScreen = lazy(
|
||||
() => import('../screens/settings/PassportDataInfoScreen'),
|
||||
);
|
||||
const SettingsScreen = lazy(() => import('../screens/settings/SettingsScreen'));
|
||||
import { black, white } from '../utils/colors';
|
||||
|
||||
const settingsScreens = {
|
||||
|
||||
@@ -38,16 +38,14 @@
|
||||
* - Display format determined by documentCategory
|
||||
*/
|
||||
|
||||
import type {
|
||||
import {
|
||||
brutforceSignatureAlgorithmDsc,
|
||||
DocumentCategory,
|
||||
parseCertificateSimple,
|
||||
PassportData,
|
||||
PublicKeyDetailsECDSA,
|
||||
PublicKeyDetailsRSA,
|
||||
} from '@selfxyz/common/utils/certificate_parsing/dataStructure';
|
||||
import { parseCertificateSimple } from '@selfxyz/common/utils/certificate_parsing/parseCertificateSimple';
|
||||
import { brutforceSignatureAlgorithmDsc } from '@selfxyz/common/utils/passports/passport_parsing/brutForceDscSignature';
|
||||
import type {
|
||||
DocumentCategory,
|
||||
PassportData,
|
||||
} from '@selfxyz/common/utils/types';
|
||||
} from '@selfxyz/common';
|
||||
import { sha256 } from 'js-sha256';
|
||||
import React, {
|
||||
createContext,
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { useNavigation } from '@react-navigation/native';
|
||||
import { countryCodes } from '@selfxyz/common/constants/constants';
|
||||
import { getSKIPEM } from '@selfxyz/common/utils/csca';
|
||||
import type { IdDocInput } from '@selfxyz/common/utils/passports/genMockIdDoc';
|
||||
import {
|
||||
countryCodes,
|
||||
generateMockDSC,
|
||||
genMockIdDoc,
|
||||
} from '@selfxyz/common/utils/passports/genMockIdDoc';
|
||||
import { initPassportDataParsing } from '@selfxyz/common/utils/passports/passport';
|
||||
getSKIPEM,
|
||||
IdDocInput,
|
||||
initPassportDataParsing,
|
||||
} from '@selfxyz/common';
|
||||
import { ChevronDown, Minus, Plus, X } from '@tamagui/lucide-icons';
|
||||
import { flag } from 'country-emoji';
|
||||
import getCountryISO2 from 'country-iso-3-to-2';
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { useNavigation } from '@react-navigation/native';
|
||||
import { countryCodes } from '@selfxyz/common/constants/constants';
|
||||
import type { IdDocInput } from '@selfxyz/common/utils/passports/genMockIdDoc';
|
||||
import { genMockIdDocAndInitDataParsing } from '@selfxyz/common/utils/passports/genMockIdDoc';
|
||||
import {
|
||||
countryCodes,
|
||||
genMockIdDocAndInitDataParsing,
|
||||
IdDocInput,
|
||||
} from '@selfxyz/common';
|
||||
import { flag } from 'country-emoji';
|
||||
import getCountryISO2 from 'country-iso-3-to-2';
|
||||
import React, { useCallback, useEffect, useState } from 'react';
|
||||
|
||||
@@ -65,8 +65,8 @@ const LaunchScreen: React.FC = () => {
|
||||
<AbstractButton
|
||||
bgColor={black}
|
||||
borderColor={zinc800}
|
||||
color={white}
|
||||
borderWidth={1}
|
||||
color={white}
|
||||
trackEvent={AppEvents.SUPPORTED_BIOMETRIC_IDS}
|
||||
onPress={async () => {
|
||||
try {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { StaticScreenProps, useIsFocused } from '@react-navigation/native';
|
||||
import type { PassportData } from '@selfxyz/common/utils/types';
|
||||
import { PassportData } from '@selfxyz/common';
|
||||
import LottieView from 'lottie-react-native';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { StyleSheet, View } from 'react-native';
|
||||
|
||||
@@ -5,9 +5,11 @@ import {
|
||||
useNavigation,
|
||||
useRoute,
|
||||
} from '@react-navigation/native';
|
||||
import { getSKIPEM } from '@selfxyz/common/utils/csca';
|
||||
import { initPassportDataParsing } from '@selfxyz/common/utils/passports/passport';
|
||||
import type { PassportData } from '@selfxyz/common/utils/types';
|
||||
import {
|
||||
getSKIPEM,
|
||||
initPassportDataParsing,
|
||||
PassportData,
|
||||
} from '@selfxyz/common';
|
||||
import { CircleHelp } from '@tamagui/lucide-icons';
|
||||
import LottieView from 'lottie-react-native';
|
||||
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
import { useIsFocused } from '@react-navigation/native';
|
||||
import LottieView from 'lottie-react-native';
|
||||
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { Linking, StatusBar, StyleSheet, View } from 'react-native';
|
||||
import { ScrollView, Spinner } from 'tamagui';
|
||||
|
||||
@@ -48,15 +48,15 @@ const SuccessScreen: React.FC = () => {
|
||||
const [animationSource, setAnimationSource] = useState<any>(loadingAnimation);
|
||||
const [countdown, setCountdown] = useState<number | null>(null);
|
||||
const [countdownStarted, setCountdownStarted] = useState(false);
|
||||
const timerRef = useRef<NodeJS.Timeout | null>(null);
|
||||
const timerRef = React.useRef<NodeJS.Timeout | null>(null);
|
||||
|
||||
const onOkPress = useCallback(() => {
|
||||
function onOkPress() {
|
||||
buttonTap();
|
||||
goHome();
|
||||
setTimeout(() => {
|
||||
cleanSelfApp();
|
||||
}, 2000); // Wait 2 seconds to user coming back to the home screen. If we don't wait the appname will change and user will see it.
|
||||
}, [goHome, cleanSelfApp]);
|
||||
}
|
||||
|
||||
function cancelDeeplinkCallbackRedirect() {
|
||||
setCountdown(null);
|
||||
@@ -132,9 +132,8 @@ const SuccessScreen: React.FC = () => {
|
||||
errorCode,
|
||||
reason,
|
||||
updateProofStatus,
|
||||
selfApp,
|
||||
selfApp?.deeplinkCallback,
|
||||
countdownStarted,
|
||||
countdown,
|
||||
]);
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { useIsFocused, useNavigation } from '@react-navigation/native';
|
||||
import type { SelfAppDisclosureConfig } from '@selfxyz/common/utils/appType';
|
||||
import { formatEndpoint } from '@selfxyz/common/utils/scope';
|
||||
import type { SelfAppDisclosureConfig } from '@selfxyz/common';
|
||||
import { formatEndpoint } from '@selfxyz/common';
|
||||
import { Eye, EyeOff } from '@tamagui/lucide-icons';
|
||||
import LottieView from 'lottie-react-native';
|
||||
import React, {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { useFocusEffect } from '@react-navigation/native';
|
||||
import type { PassportMetadata } from '@selfxyz/common/utils/passports/passport_parsing/parsePassportData';
|
||||
import { PassportMetadata } from '@selfxyz/common';
|
||||
import React, { useCallback, useState } from 'react';
|
||||
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
||||
import { ScrollView, Separator, XStack, YStack } from 'tamagui';
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import type { EndpointType } from '@selfxyz/common/utils/appType';
|
||||
import type { UserIdType } from '@selfxyz/common/utils/circuits/uuid';
|
||||
import type { EndpointType, UserIdType } from '@selfxyz/common';
|
||||
|
||||
export interface ProofHistory {
|
||||
id: string;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { WS_DB_RELAYER } from '@selfxyz/common/constants/constants';
|
||||
import { WS_DB_RELAYER } from '@selfxyz/common';
|
||||
import { io } from 'socket.io-client';
|
||||
import { create } from 'zustand';
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ import {
|
||||
IDENTITY_TREE_URL_ID_CARD,
|
||||
IDENTITY_TREE_URL_STAGING,
|
||||
IDENTITY_TREE_URL_STAGING_ID_CARD,
|
||||
} from '@selfxyz/common/constants/constants';
|
||||
} from '@selfxyz/common';
|
||||
import { create } from 'zustand';
|
||||
|
||||
import { fetchOfacTrees } from '../utils/ofac';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { WS_DB_RELAYER } from '@selfxyz/common/constants/constants';
|
||||
import type { SelfApp } from '@selfxyz/common/utils/appType';
|
||||
import type { SelfApp } from '@selfxyz/common';
|
||||
import { WS_DB_RELAYER } from '@selfxyz/common';
|
||||
import socketIo, { Socket } from 'socket.io-client';
|
||||
import { create } from 'zustand';
|
||||
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
interface CryptoUtils {
|
||||
elliptic: typeof import('elliptic');
|
||||
forge: typeof import('node-forge');
|
||||
ethers: typeof import('ethers');
|
||||
}
|
||||
|
||||
export const loadCryptoUtils = async (): Promise<CryptoUtils> => {
|
||||
export const loadCryptoUtils = async () => {
|
||||
const [elliptic, forge, ethers] = await Promise.all([
|
||||
import('elliptic'),
|
||||
import('node-forge'),
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars */
|
||||
import { ENABLE_DEBUG_LOGS, MIXPANEL_NFC_PROJECT_TOKEN } from '@env';
|
||||
import type { PassportData } from '@selfxyz/common/utils/types';
|
||||
import { PassportData } from '@selfxyz/common';
|
||||
import { Buffer } from 'buffer';
|
||||
import { NativeModules, Platform } from 'react-native';
|
||||
import PassportReader from 'react-native-passport-reader';
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import {
|
||||
TREE_URL,
|
||||
TREE_URL_STAGING,
|
||||
} from '@selfxyz/common/constants/constants';
|
||||
import { TREE_URL, TREE_URL_STAGING } from '@selfxyz/common';
|
||||
|
||||
export type OfacVariant = 'passport' | 'id_card';
|
||||
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import { X509Certificate } from '@peculiar/x509';
|
||||
import {
|
||||
PCR0_MANAGER_ADDRESS,
|
||||
RPC_URL,
|
||||
} from '@selfxyz/common/constants/constants';
|
||||
import { PCR0_MANAGER_ADDRESS, RPC_URL } from '@selfxyz/common';
|
||||
import { decode } from '@stablelib/cbor';
|
||||
import { fromBER } from 'asn1js';
|
||||
import { Buffer } from 'buffer';
|
||||
|
||||
22
app/src/utils/proving/index.ts
Normal file
22
app/src/utils/proving/index.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
// Only export what's actually used elsewhere to enable proper tree shaking
|
||||
|
||||
// From provingMachine - used in screens and tests
|
||||
export { type ProvingStateType, useProvingStore } from './provingMachine';
|
||||
|
||||
// From validateDocument - used in recovery and splash screens
|
||||
export {
|
||||
hasAnyValidRegisteredDocument,
|
||||
isUserRegisteredWithAlternativeCSCA,
|
||||
} from './validateDocument';
|
||||
|
||||
// From loadingScreenStateText - used in loading screen
|
||||
export { getLoadingScreenText } from './loadingScreenStateText';
|
||||
|
||||
// From provingUtils - used in tests (keeping these for testing purposes)
|
||||
export {
|
||||
encryptAES256GCM,
|
||||
getPayload,
|
||||
getWSDbRelayerUrl,
|
||||
} from './provingUtils';
|
||||
@@ -2,29 +2,25 @@
|
||||
|
||||
import { LeanIMT } from '@openpassport/zk-kit-lean-imt';
|
||||
import { SMT } from '@openpassport/zk-kit-smt';
|
||||
import {
|
||||
attributeToPosition,
|
||||
attributeToPosition_ID,
|
||||
DEFAULT_MAJORITY,
|
||||
ID_CARD_ATTESTATION_ID,
|
||||
PASSPORT_ATTESTATION_ID,
|
||||
} from '@selfxyz/common/constants/constants';
|
||||
import type {
|
||||
SelfApp,
|
||||
SelfAppDisclosureConfig,
|
||||
} from '@selfxyz/common/utils/appType';
|
||||
import { getCircuitNameFromPassportData } from '@selfxyz/common/utils/circuits/circuitsName';
|
||||
import {
|
||||
generateCircuitInputsDSC,
|
||||
generateCircuitInputsRegister,
|
||||
generateCircuitInputsVCandDisclose,
|
||||
} from '@selfxyz/common/utils/circuits/generateInputs';
|
||||
import { calculateUserIdentifierHash } from '@selfxyz/common/utils/hash';
|
||||
import { hashEndpointWithScope } from '@selfxyz/common/utils/scope';
|
||||
import type {
|
||||
DocumentCategory,
|
||||
PassportData,
|
||||
} from '@selfxyz/common/utils/types';
|
||||
SelfApp,
|
||||
SelfAppDisclosureConfig,
|
||||
} from '@selfxyz/common';
|
||||
import {
|
||||
attributeToPosition,
|
||||
attributeToPosition_ID,
|
||||
calculateUserIdentifierHash,
|
||||
DEFAULT_MAJORITY,
|
||||
generateCircuitInputsDSC,
|
||||
generateCircuitInputsRegister,
|
||||
generateCircuitInputsVCandDisclose,
|
||||
getCircuitNameFromPassportData,
|
||||
hashEndpointWithScope,
|
||||
ID_CARD_ATTESTATION_ID,
|
||||
PASSPORT_ATTESTATION_ID,
|
||||
} from '@selfxyz/common';
|
||||
import { poseidon2 } from 'poseidon-lite';
|
||||
|
||||
import { useProtocolStore } from '../../stores/protocolStore';
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import type { EndpointType, SelfApp } from '@selfxyz/common/utils/appType';
|
||||
import { getCircuitNameFromPassportData } from '@selfxyz/common/utils/circuits/circuitsName';
|
||||
import { getSolidityPackedUserContextData } from '@selfxyz/common/utils/hash';
|
||||
import type {
|
||||
DocumentCategory,
|
||||
EndpointType,
|
||||
PassportData,
|
||||
} from '@selfxyz/common/utils/types';
|
||||
SelfApp,
|
||||
} from '@selfxyz/common';
|
||||
import {
|
||||
getCircuitNameFromPassportData,
|
||||
getSolidityPackedUserContextData,
|
||||
} from '@selfxyz/common';
|
||||
import forge from 'node-forge';
|
||||
import socketIo, { Socket } from 'socket.io-client';
|
||||
import { v4 } from 'uuid';
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
import type { EndpointType } from '@selfxyz/common';
|
||||
import {
|
||||
initElliptic,
|
||||
WS_DB_RELAYER,
|
||||
WS_DB_RELAYER_STAGING,
|
||||
} from '@selfxyz/common/constants/constants';
|
||||
import type { EndpointType } from '@selfxyz/common/utils/appType';
|
||||
import { initElliptic } from '@selfxyz/common/utils/certificate_parsing/elliptic';
|
||||
} from '@selfxyz/common';
|
||||
import forge from 'node-forge';
|
||||
|
||||
const elliptic = initElliptic();
|
||||
|
||||
@@ -4,22 +4,18 @@ import { LeanIMT } from '@openpassport/zk-kit-lean-imt';
|
||||
import {
|
||||
API_URL,
|
||||
API_URL_STAGING,
|
||||
ID_CARD_ATTESTATION_ID,
|
||||
PASSPORT_ATTESTATION_ID,
|
||||
} from '@selfxyz/common/constants/constants';
|
||||
import { parseCertificateSimple } from '@selfxyz/common/utils/certificate_parsing/parseCertificateSimple';
|
||||
import { getCircuitNameFromPassportData } from '@selfxyz/common/utils/circuits/circuitsName';
|
||||
import * as Hash from '@selfxyz/common/utils/hash';
|
||||
import { formatMrz } from '@selfxyz/common/utils/passports/format';
|
||||
import {
|
||||
DocumentCategory,
|
||||
formatMrz,
|
||||
generateCommitment,
|
||||
generateNullifier,
|
||||
} from '@selfxyz/common/utils/passports/passport';
|
||||
import { getLeafDscTree } from '@selfxyz/common/utils/trees';
|
||||
import type {
|
||||
DocumentCategory,
|
||||
getCircuitNameFromPassportData,
|
||||
getLeafDscTree,
|
||||
Hash,
|
||||
ID_CARD_ATTESTATION_ID,
|
||||
parseCertificateSimple,
|
||||
PASSPORT_ATTESTATION_ID,
|
||||
PassportData,
|
||||
} from '@selfxyz/common/utils/types';
|
||||
} from '@selfxyz/common';
|
||||
import { poseidon2, poseidon5 } from 'poseidon-lite';
|
||||
|
||||
import { DocumentEvents } from '../../consts/analytics';
|
||||
|
||||
18
app/src/utils/styleUtils.ts
Normal file
18
app/src/utils/styleUtils.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1; Copyright (c) 2025 Social Connect Labs, Inc.; Licensed under BUSL-1.1 (see LICENSE); Apache-2.0 from 2029-06-11
|
||||
|
||||
/**
|
||||
* Utility functions for style, design, and layout operations.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Normalizes borderWidth value.
|
||||
* Validates and converts borderWidth to a non-negative number or undefined.
|
||||
* @param borderWidth - The borderWidth value to normalize
|
||||
* @returns Normalized borderWidth (non-negative number) or undefined
|
||||
*/
|
||||
export function normalizeBorderWidth(borderWidth: unknown): number | undefined {
|
||||
if (typeof borderWidth === 'number' && borderWidth >= 0) {
|
||||
return borderWidth;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
@@ -16,8 +16,8 @@ jest.mock('../../../src/utils/analytics', () => () => ({
|
||||
trackEvent: jest.fn(),
|
||||
}));
|
||||
|
||||
jest.mock('@selfxyz/common/utils/hash', () => {
|
||||
const actual = jest.requireActual('@selfxyz/common/utils/hash') as any;
|
||||
jest.mock('@selfxyz/common', () => {
|
||||
const actual = jest.requireActual('@selfxyz/common') as any;
|
||||
return {
|
||||
...actual,
|
||||
getSolidityPackedUserContextData: jest.fn(() => '0x1234'),
|
||||
|
||||
@@ -99,14 +99,14 @@ export default defineConfig({
|
||||
'react-native-cloud-storage',
|
||||
],
|
||||
'screens-passport': [
|
||||
'./src/screens/passport',
|
||||
'./src/utils/nfcScanner',
|
||||
'./src/navigation/passport.ts',
|
||||
'./src/utils/nfcScanner.ts',
|
||||
],
|
||||
'screens-prove': ['./src/screens/prove', './src/utils/proving'],
|
||||
'screens-settings': ['./src/screens/settings'],
|
||||
'screens-recovery': ['./src/screens/recovery'],
|
||||
'screens-dev': ['./src/screens/dev'],
|
||||
'screens-aesop': ['./src/screens/aesop'],
|
||||
'screens-prove': ['./src/navigation/prove.ts', './src/utils/proving'],
|
||||
'screens-settings': ['./src/navigation/settings.ts'],
|
||||
'screens-recovery': ['./src/navigation/recovery.ts'],
|
||||
'screens-dev': ['./src/navigation/dev.ts'],
|
||||
'screens-aesop': ['./src/navigation/aesop.ts'],
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
407
yarn.lock
407
yarn.lock
@@ -4636,7 +4636,6 @@ __metadata:
|
||||
"@stablelib/cbor": "npm:^2.0.1"
|
||||
"@tamagui/animations-css": "npm:^1.129.3"
|
||||
"@tamagui/animations-react-native": "npm:^1.129.3"
|
||||
"@tamagui/babel-plugin": "npm:^1.132.15"
|
||||
"@tamagui/config": "npm:1.126.14"
|
||||
"@tamagui/lucide-icons": "npm:1.126.14"
|
||||
"@tamagui/toast": "npm:^1.127.2"
|
||||
@@ -6933,21 +6932,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/animations-css@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/animations-css@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/constants": "npm:1.132.15"
|
||||
"@tamagui/cubic-bezier-animator": "npm:1.132.15"
|
||||
"@tamagui/use-presence": "npm:1.132.15"
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
react-dom: "*"
|
||||
checksum: 10c0/5dd2d2b8bbf095301febd454a5b16d6db787bdf6cc8e140ee7652cc1b34123fbb2a479bce579673b0d7419fb693ae5f0986b4dc717b884616bc4e4f9ac944821
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/animations-css@npm:^1.129.3":
|
||||
version: 1.129.3
|
||||
resolution: "@tamagui/animations-css@npm:1.129.3"
|
||||
@@ -6989,20 +6973,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/animations-react-native@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/animations-react-native@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/constants": "npm:1.132.15"
|
||||
"@tamagui/use-presence": "npm:1.132.15"
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
react-native: "*"
|
||||
checksum: 10c0/f72e794ad0b2ab691e9d48e24f95fb17248170b174b85a7d4f5b376132322f607d9c5132a36f87ec0e87402f5903068dc66d7c54141e5fe7d45164881869cfa7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/animations-react-native@npm:^1.129.3":
|
||||
version: 1.129.3
|
||||
resolution: "@tamagui/animations-react-native@npm:1.129.3"
|
||||
@@ -7051,20 +7021,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/babel-plugin@npm:^1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/babel-plugin@npm:1.132.15"
|
||||
dependencies:
|
||||
"@babel/core": "npm:^7.25.2"
|
||||
"@babel/generator": "npm:^7.25.5"
|
||||
"@babel/helper-plugin-utils": "npm:^7.24.8"
|
||||
"@babel/template": "npm:^7.25.0"
|
||||
"@babel/traverse": "npm:^7.25.4"
|
||||
"@tamagui/static": "npm:1.132.15"
|
||||
checksum: 10c0/ded194f046b2851c5eafff6291cddd40c3a1d27c400c92c5f8b956d2a32037752916a4d2dd1c3b3e77b8eb03251578a9441ff43a5137e732ab1fd080e61746db
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/build@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/build@npm:1.126.14"
|
||||
@@ -7170,13 +7126,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/cli-color@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/cli-color@npm:1.132.15"
|
||||
checksum: 10c0/7faf46d63e93ad3d1ad524590c2523292a6814c5794af519790886fccde7fff78982ccf3f94b5ad6cf0ac71a5abb4c604b658fdb006ffa90c36e96436bfc2273
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/collapsible@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/collapsible@npm:1.126.14"
|
||||
@@ -7246,15 +7195,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/compose-refs@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/compose-refs@npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
checksum: 10c0/a2c0c8f7fb74892113070017558a9dd608beaaa3745d004be149e05f0e564321b40dc7c340ab2962ff16a583713897a1fe2135150730234e42ccc5bae97c83e1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/config-default@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/config-default@npm:1.126.14"
|
||||
@@ -7266,19 +7206,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/config-default@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/config-default@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/animations-css": "npm:1.132.15"
|
||||
"@tamagui/animations-react-native": "npm:1.132.15"
|
||||
"@tamagui/core": "npm:1.132.15"
|
||||
"@tamagui/shorthands": "npm:1.132.15"
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
checksum: 10c0/5cbe6683abcdf906c1a9e61b168a945297256302fc2d50b55230858957fa418115c2df133844e19f01df64438971c3d7ec648f580190f4b1ed75b86e6804afe1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/config@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/config@npm:1.126.14"
|
||||
@@ -7324,16 +7251,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/constants@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/constants@npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
react-native: ^0.79.2
|
||||
checksum: 10c0/a18e3dc0e2fb65aed5df4467b3e8447afde53be06055cea0964a474757008a1c5c5f8689cc54c41de6374d9b4aaf7587be469a31528394eb65db8ed271fd0bb8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/core@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/core@npm:1.126.14"
|
||||
@@ -7360,24 +7277,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/core@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/core@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/helpers": "npm:1.132.15"
|
||||
"@tamagui/react-native-media-driver": "npm:1.132.15"
|
||||
"@tamagui/react-native-use-pressable": "npm:1.132.15"
|
||||
"@tamagui/react-native-use-responder-events": "npm:1.132.15"
|
||||
"@tamagui/use-element-layout": "npm:1.132.15"
|
||||
"@tamagui/use-event": "npm:1.132.15"
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
react-native: "*"
|
||||
checksum: 10c0/c0e0c3c4abaeb81a467d851b26db563cd36516fb2dc179123acc9c3a2e633d401a3cf5bb8d32c9c3afc5a65f4212f6aab64e643b479351402525fc2b1e847f04
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/create-context@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/create-context@npm:1.126.14"
|
||||
@@ -7405,15 +7304,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/create-theme@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/create-theme@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
checksum: 10c0/16476d110dadbf97e41d23cfca409eb5886053e456560637a02e6a03632a25b5f4d3d6250bcb0adac2018187378ca5be946a49ebd1e117fb2f5b7a486fcfac30
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/cubic-bezier-animator@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/cubic-bezier-animator@npm:1.126.14"
|
||||
@@ -7428,13 +7318,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/cubic-bezier-animator@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/cubic-bezier-animator@npm:1.132.15"
|
||||
checksum: 10c0/8c58aedb193073dd78c6ceb3e0d3fb8f11d46ab6d70af47e3ce2de0c4ab969e679b85ca76ca84c3af513f7dbd7e32d2e5bef1e539c00aaac672a2bf604c3a11e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/dialog@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/dialog@npm:1.126.14"
|
||||
@@ -7512,13 +7395,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/fake-react-native@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/fake-react-native@npm:1.132.15"
|
||||
checksum: 10c0/61c3f2f7afa375f42adbfbbd5fcdd5019566262d05b6869e190db612bf55a5f9bbe5725faff23aa046916728515be9509570803c8a0a96508a351caee87beac6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/floating@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/floating@npm:1.126.14"
|
||||
@@ -7616,19 +7492,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/generate-themes@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/generate-themes@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/create-theme": "npm:1.132.15"
|
||||
"@tamagui/theme-builder": "npm:1.132.15"
|
||||
"@tamagui/types": "npm:1.132.15"
|
||||
esbuild-register: "npm:^3.6.0"
|
||||
fs-extra: "npm:^11.2.0"
|
||||
checksum: 10c0/dcaf96fe9ae056603f13484f3d73a45c8453fe55372f3696a43705d2cbb4012b39dd766f3af2b2768b1a3a12997ac6a05747f431244c8b9809e8ad5e797a9981
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/get-button-sized@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/get-button-sized@npm:1.126.14"
|
||||
@@ -7712,15 +7575,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/helpers-node@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/helpers-node@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/types": "npm:1.132.15"
|
||||
checksum: 10c0/3d7f8696ee8304b15a979a76a2214c6eec946fca1138ef2183fa9e3b8d62235d73e9682a42f54f3825c4747a2bf9b0af8e355a55267616ceb3c1a38860e604f5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/helpers-tamagui@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/helpers-tamagui@npm:1.126.14"
|
||||
@@ -7775,18 +7629,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/helpers@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/helpers@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/constants": "npm:1.132.15"
|
||||
"@tamagui/simple-hash": "npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
checksum: 10c0/d488ac52fffa10e30fe3a43e86c70950ecf184e597766ee9df874b47bc1634d7dc1fe4e877bb5c0349af3bc1c89c9cbb11183e97aec1e4c7ef1ddcc6afaf4559
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/image@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/image@npm:1.126.14"
|
||||
@@ -7799,15 +7641,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/is-equal-shallow@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/is-equal-shallow@npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
checksum: 10c0/8cf54bc19f889e96c9be47436b09ece6895c0f61dadbf3dce43ba525aa44b50d4c4af5de5747237d74a4bcfceb2632fe4861d0ed26f32726b83f44d1794165d2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/label@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/label@npm:1.126.14"
|
||||
@@ -7897,15 +7730,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/normalize-css-color@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/normalize-css-color@npm:1.132.15"
|
||||
dependencies:
|
||||
"@react-native/normalize-color": "npm:^2.1.0"
|
||||
checksum: 10c0/63fe76c424fbdabaf5f973d1b319e212f91edf97c4a87b786a74f2761329a503b6dbfbb842785175d805d8cc659e40866a506608025bcfe909724e2a49efc7aa
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/polyfill-dev@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/polyfill-dev@npm:1.126.14"
|
||||
@@ -8021,13 +7845,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/proxy-worm@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/proxy-worm@npm:1.132.15"
|
||||
checksum: 10c0/0f544ea74d6fca2e416b806b21aa7e51f5236fd0ad1488ff450440c10942c55f7313ec0fb4745499ee8d876ed34b383250d382b7d9a1e6fe03b1c11027db2a01
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/radio-group@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/radio-group@npm:1.126.14"
|
||||
@@ -8091,17 +7908,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/react-native-media-driver@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/react-native-media-driver@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
peerDependencies:
|
||||
react-native: "*"
|
||||
checksum: 10c0/f80d251713f987ecbd804a025b95c1439608190e70d3efcddf4e555fde7696efd8246c7f51e2a73ab1132fd68c96ebb21f647fb70e7e70df8f9fd565996e4ca2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/react-native-svg@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/react-native-svg@npm:1.126.14"
|
||||
@@ -8127,15 +7933,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/react-native-use-pressable@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/react-native-use-pressable@npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
checksum: 10c0/296916cf29b25ba923e667bf6ff7fd30f92adc662a3ea6ea9c051ee01f145279c0354efbb23bb85206542862a0b611aac1246058baf1f4afffa4e74e1550e259
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/react-native-use-responder-events@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/react-native-use-responder-events@npm:1.126.14"
|
||||
@@ -8154,15 +7951,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/react-native-use-responder-events@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/react-native-use-responder-events@npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
checksum: 10c0/824987ab9dea059cbd020f977abe435eb621eafee472734509efc5b949a2caafe76404951b8c48eb115e234624ff86ec504c5d5fc414bf6f2c289038ce323158
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/react-native-web-internals@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/react-native-web-internals@npm:1.126.14"
|
||||
@@ -8177,23 +7965,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/react-native-web-internals@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/react-native-web-internals@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/normalize-css-color": "npm:1.132.15"
|
||||
"@tamagui/react-native-use-pressable": "npm:1.132.15"
|
||||
"@tamagui/react-native-use-responder-events": "npm:1.132.15"
|
||||
"@tamagui/simple-hash": "npm:1.132.15"
|
||||
"@tamagui/use-element-layout": "npm:1.132.15"
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
react-dom: "*"
|
||||
checksum: 10c0/28b78e183326914de87ad283c1ffcd1ef5d75b89646aaa9c3c5f5913f084ea2a08927a6bb39726834d62fce4fce8b9e086c447686b29cc71935bfbd73fe93be1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/react-native-web-lite@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/react-native-web-lite@npm:1.126.14"
|
||||
@@ -8209,24 +7980,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/react-native-web-lite@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/react-native-web-lite@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/normalize-css-color": "npm:1.132.15"
|
||||
"@tamagui/react-native-use-pressable": "npm:1.132.15"
|
||||
"@tamagui/react-native-use-responder-events": "npm:1.132.15"
|
||||
"@tamagui/react-native-web-internals": "npm:1.132.15"
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
invariant: "npm:^2.2.4"
|
||||
memoize-one: "npm:^6.0.0"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
react-dom: "*"
|
||||
checksum: 10c0/0d8e6fe271d10ec480c63eb3202ba33c3cee35da2b05f902e106784829172c4977d478c0289c431927ec2323f521f29fa05b9af34af8edd10f5d9057eefe9a83
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/remove-scroll@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/remove-scroll@npm:1.126.14"
|
||||
@@ -8363,15 +8116,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/shorthands@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/shorthands@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
checksum: 10c0/f89f1768bb67d0c0f61add69cf79f8e0274e00837e0b66eef71715cb5c8e3e2b2bada6debb75f78674f00f716b379405e90c3e1fbeb80fb113cafdfb864ac7f9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/simple-hash@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/simple-hash@npm:1.126.14"
|
||||
@@ -8393,13 +8137,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/simple-hash@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/simple-hash@npm:1.132.15"
|
||||
checksum: 10c0/9205253e058f2479bdd24b49909d9c5f296248e706732869fb797e174c98b40f5954a24852c032bbe23c97450f099d6807ab479acbe12bc8f58b760942e46041
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/slider@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/slider@npm:1.126.14"
|
||||
@@ -8500,51 +8237,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/static@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/static@npm:1.132.15"
|
||||
dependencies:
|
||||
"@babel/core": "npm:^7.25.2"
|
||||
"@babel/generator": "npm:^7.25.5"
|
||||
"@babel/helper-plugin-utils": "npm:^7.24.8"
|
||||
"@babel/parser": "npm:^7.25.4"
|
||||
"@babel/plugin-transform-react-jsx": "npm:^7.25.2"
|
||||
"@babel/runtime": "npm:^7.25.4"
|
||||
"@babel/template": "npm:^7.25.0"
|
||||
"@babel/traverse": "npm:^7.25.4"
|
||||
"@babel/types": "npm:^7.25.4"
|
||||
"@tamagui/cli-color": "npm:1.132.15"
|
||||
"@tamagui/config-default": "npm:1.132.15"
|
||||
"@tamagui/core": "npm:1.132.15"
|
||||
"@tamagui/fake-react-native": "npm:1.132.15"
|
||||
"@tamagui/generate-themes": "npm:1.132.15"
|
||||
"@tamagui/helpers": "npm:1.132.15"
|
||||
"@tamagui/helpers-node": "npm:1.132.15"
|
||||
"@tamagui/proxy-worm": "npm:1.132.15"
|
||||
"@tamagui/react-native-web-internals": "npm:1.132.15"
|
||||
"@tamagui/react-native-web-lite": "npm:1.132.15"
|
||||
"@tamagui/shorthands": "npm:1.132.15"
|
||||
"@tamagui/types": "npm:1.132.15"
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
babel-literal-to-ast: "npm:^2.1.0"
|
||||
browserslist: "npm:^4.22.2"
|
||||
check-dependency-version-consistency: "npm:^4.1.0"
|
||||
esbuild: "npm:^0.25.0"
|
||||
esbuild-register: "npm:^3.6.0"
|
||||
fast-glob: "npm:^3.2.11"
|
||||
find-cache-dir: "npm:^3.3.2"
|
||||
find-root: "npm:^1.1.0"
|
||||
fs-extra: "npm:^11.2.0"
|
||||
invariant: "npm:^2.2.4"
|
||||
js-yaml: "npm:^4.1.0"
|
||||
react-native-web: "npm:^0.20.0"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
react-native: ^0.79.2
|
||||
checksum: 10c0/84e37da36f8bf53567d07019f354394ed752239af4f7316056539ddc0217370fd7e7bc0d3fe8ea450740ddefeb981f0d03dd481757ac95723cd3728ce8b0785b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/switch-headless@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/switch-headless@npm:1.126.14"
|
||||
@@ -8638,17 +8330,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/theme-builder@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/theme-builder@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/create-theme": "npm:1.132.15"
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
color2k: "npm:^2.0.2"
|
||||
checksum: 10c0/50847a9c7eaec324f9374eb57fd385191379034f550a7631ca283dbb69bfe18788b19457f4c66efa9c043c89980176274f0fab9f61527dcf907e36f7b9f91770
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/theme@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/theme@npm:1.126.14"
|
||||
@@ -8695,13 +8376,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/timer@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/timer@npm:1.132.15"
|
||||
checksum: 10c0/0ee4539e6ec3f06fc4899e1a0bcb6c7a68dc1d9a64cbceb311aad10051e47bb9b7fe1169fdf461c33767c747359824f8a2e82cf6b18d30b70a9aff8be7befc27
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/toast@npm:^1.127.2":
|
||||
version: 1.127.2
|
||||
resolution: "@tamagui/toast@npm:1.127.2"
|
||||
@@ -8793,13 +8467,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/types@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/types@npm:1.132.15"
|
||||
checksum: 10c0/1b953991981d7a980b4c2130dedcb578fccc440e2c7ff762f03fb49667ae2ed14eaaf266f01eaf256dbc20a23028845c77ee7deb6af1cafe36708332347398ee
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/use-callback-ref@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/use-callback-ref@npm:1.126.14"
|
||||
@@ -8892,15 +8559,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/use-did-finish-ssr@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/use-did-finish-ssr@npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
checksum: 10c0/8cd0b97e5948a743a6d7517f731a65104fdb2443f5c159521e07a8924ed6eb449423ac0dd4a140b6593a9545014751b7b66f9b4c0349f7c81be67fc2b967b927
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/use-direction@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/use-direction@npm:1.126.14"
|
||||
@@ -8910,18 +8568,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/use-element-layout@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/use-element-layout@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/constants": "npm:1.132.15"
|
||||
"@tamagui/is-equal-shallow": "npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
checksum: 10c0/1faefa505a930649c6a69775af4d936b877c579d7f1307fcc252c734b35f5eee0a8dbb437da6697a905aeb9cc2d3e07206ab57e95e389fce3f0ee908c6d5b3d0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/use-escape-keydown@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/use-escape-keydown@npm:1.126.14"
|
||||
@@ -8973,17 +8619,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/use-event@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/use-event@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/constants": "npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
checksum: 10c0/6de3648cc71a088aa3b65a2423b25d58880cc20dc589ff96948a27834721dc961d8c3b2742b3da050ccfc2aca01c0ea147def6fa7e5f9fc9919837a2f26c03cc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/use-force-update@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/use-force-update@npm:1.126.14"
|
||||
@@ -9011,15 +8646,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/use-force-update@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/use-force-update@npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
checksum: 10c0/4d71fd46d33281a1b04c77809c6cfef15a385a1bcdc4195979b417a4a42828157bca7cf14e9b658d7aee08b44a6b8abcbfb48b7badc09e6a725bd78cd6d77e7d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/use-keyboard-visible@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/use-keyboard-visible@npm:1.126.14"
|
||||
@@ -9062,17 +8688,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/use-presence@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/use-presence@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/web": "npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
checksum: 10c0/178602715af06f5215a2afc7d7a16ba1f2a5591bd7b067adb6a272fefd9340bad087156381c0b440cbb3a00ff22ce191191849ff27033f3c315640987b557356
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/use-previous@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/use-previous@npm:1.126.14"
|
||||
@@ -9192,28 +8807,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/web@npm:1.132.15":
|
||||
version: 1.132.15
|
||||
resolution: "@tamagui/web@npm:1.132.15"
|
||||
dependencies:
|
||||
"@tamagui/compose-refs": "npm:1.132.15"
|
||||
"@tamagui/constants": "npm:1.132.15"
|
||||
"@tamagui/helpers": "npm:1.132.15"
|
||||
"@tamagui/is-equal-shallow": "npm:1.132.15"
|
||||
"@tamagui/normalize-css-color": "npm:1.132.15"
|
||||
"@tamagui/timer": "npm:1.132.15"
|
||||
"@tamagui/types": "npm:1.132.15"
|
||||
"@tamagui/use-did-finish-ssr": "npm:1.132.15"
|
||||
"@tamagui/use-event": "npm:1.132.15"
|
||||
"@tamagui/use-force-update": "npm:1.132.15"
|
||||
peerDependencies:
|
||||
react: "*"
|
||||
react-dom: "*"
|
||||
react-native: "*"
|
||||
checksum: 10c0/f43ed3989dfedf34e40070fbd78641ccd1198a93ed4bf87b75af59be94d5fa0e0035804dfbbaa6acaf3c89b00a0e27eb1e2eb6e4bc70f77a6851b9a1bbb46f90
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tamagui/z-index-stack@npm:1.126.14":
|
||||
version: 1.126.14
|
||||
resolution: "@tamagui/z-index-stack@npm:1.126.14"
|
||||
|
||||
Reference in New Issue
Block a user