@getpara/react-common 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/classes/ParaInternal.d.ts +25 -0
- package/dist/classes/ParaInternal.js +20 -0
- package/dist/classes/index.d.ts +1 -0
- package/dist/classes/index.js +1 -0
- package/dist/components/HeroSpinner.d.ts +9 -0
- package/dist/components/HeroSpinner.js +37 -0
- package/dist/components/KnownDevices.d.ts +8 -0
- package/dist/components/KnownDevices.js +39 -0
- package/dist/components/MoonPayEmbed.d.ts +3 -0
- package/dist/components/MoonPayEmbed.js +142 -0
- package/dist/components/QRCode.d.ts +10 -0
- package/dist/components/QRCode.js +65 -0
- package/dist/components/RampEmbed.d.ts +4 -0
- package/dist/components/RampEmbed.js +95 -0
- package/dist/components/StripeEmbed.d.ts +4 -0
- package/dist/components/StripeEmbed.js +128 -0
- package/dist/components/UserIdentifier.d.ts +2 -0
- package/dist/components/UserIdentifier.js +65 -0
- package/dist/components/common.d.ts +9 -0
- package/dist/components/common.js +44 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.js +8 -0
- package/dist/constants/aaguiMetadata.d.ts +140 -0
- package/dist/constants/aaguiMetadata.js +140 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useCopyToClipboard.d.ts +3 -0
- package/dist/hooks/useCopyToClipboard.js +37 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/index.js +1 -0
- package/dist/utils/formatBiometricHints.d.ts +15 -0
- package/dist/utils/formatBiometricHints.js +49 -0
- package/dist/utils/formatPhoneNumber.d.ts +1 -0
- package/dist/utils/formatPhoneNumber.js +9 -0
- package/dist/utils/getBrowserName.d.ts +1 -0
- package/dist/utils/getBrowserName.js +2 -0
- package/dist/utils/getDeviceLogo.d.ts +2 -0
- package/dist/utils/getDeviceLogo.js +31 -0
- package/dist/utils/getDeviceModelName.d.ts +1 -0
- package/dist/utils/getDeviceModelName.js +13 -0
- package/dist/utils/index.d.ts +35 -0
- package/dist/utils/index.js +92 -0
- package/dist/utils/offRampSend.d.ts +7 -0
- package/dist/utils/offRampSend.js +67 -0
- package/package.json +44 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import UAParser from 'ua-parser-js';
|
|
2
|
+
import { aaguidMetadata } from '../constants/aaguiMetadata.js';
|
|
3
|
+
const formatStringToUUID = (str) => {
|
|
4
|
+
// Check if the string has a valid length
|
|
5
|
+
if (str.length !== 32) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
// Insert hyphens
|
|
9
|
+
return `${str.slice(0, 8)}-${str.slice(8, 12)}-${str.slice(12, 16)}-${str.slice(16, 20)}-${str.slice(20)}`;
|
|
10
|
+
};
|
|
11
|
+
export const formatBiometricHints = (hints) => {
|
|
12
|
+
let hasMobileDevice = false, isOnKnownDevice = false;
|
|
13
|
+
const deviceParsedUA = new UAParser().getResult();
|
|
14
|
+
const formattedHintsByKey = {};
|
|
15
|
+
hints === null || hints === void 0 ? void 0 : hints.forEach(hint => {
|
|
16
|
+
var _a;
|
|
17
|
+
let isMobile = false, isKnownDevice = false, passwordManager, parsedUA, key = '';
|
|
18
|
+
if (hint.useragent) {
|
|
19
|
+
parsedUA = new UAParser(hint.useragent).getResult();
|
|
20
|
+
if (parsedUA.device.type === 'mobile' || parsedUA.device.type === 'tablet') {
|
|
21
|
+
isMobile = true;
|
|
22
|
+
hasMobileDevice = true;
|
|
23
|
+
}
|
|
24
|
+
if (deviceParsedUA) {
|
|
25
|
+
if (deviceParsedUA.browser.name === parsedUA.browser.name &&
|
|
26
|
+
deviceParsedUA.device.type === parsedUA.device.type &&
|
|
27
|
+
deviceParsedUA.device.vendor === parsedUA.device.vendor &&
|
|
28
|
+
deviceParsedUA.device.model === parsedUA.device.model) {
|
|
29
|
+
isOnKnownDevice = true;
|
|
30
|
+
isKnownDevice = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
key = `${parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.browser.name}-${parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.device.type}-${parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.device.vendor}-${parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.device.model}`;
|
|
34
|
+
}
|
|
35
|
+
if (hint.aaguid) {
|
|
36
|
+
const formattedAaguid = formatStringToUUID(hint.aaguid);
|
|
37
|
+
if (formattedAaguid) {
|
|
38
|
+
passwordManager = (_a = aaguidMetadata[formattedAaguid]) === null || _a === void 0 ? void 0 : _a.name;
|
|
39
|
+
}
|
|
40
|
+
key = `${key}${key ? '-' : ''}${passwordManager}`;
|
|
41
|
+
}
|
|
42
|
+
formattedHintsByKey[key] = Object.assign({ passwordManager, isMobile, isKnownDevice, key }, parsedUA);
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
hasMobileDevice,
|
|
46
|
+
isOnKnownDevice,
|
|
47
|
+
formattedHints: Object.values(formattedHintsByKey),
|
|
48
|
+
};
|
|
49
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const formatPhoneNumber: (phone: string, countryCode?: string) => string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { parsePhoneNumber } from 'libphonenumber-js';
|
|
2
|
+
export const formatPhoneNumber = (phone, countryCode) => {
|
|
3
|
+
let _countryCode = countryCode;
|
|
4
|
+
if (_countryCode === null || _countryCode === void 0 ? void 0 : _countryCode.startsWith('+')) {
|
|
5
|
+
_countryCode = _countryCode.split('+')[1];
|
|
6
|
+
}
|
|
7
|
+
const parsed = parsePhoneNumber(phone, { defaultCallingCode: _countryCode });
|
|
8
|
+
return parsed.formatNational();
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getBrowserName: () => string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export const getDeviceLogo = (vendor, isMobile) => {
|
|
2
|
+
switch (vendor === null || vendor === void 0 ? void 0 : vendor.toLowerCase()) {
|
|
3
|
+
case 'apple': {
|
|
4
|
+
return 'apple';
|
|
5
|
+
}
|
|
6
|
+
case 'samsung': {
|
|
7
|
+
return 'samsung';
|
|
8
|
+
}
|
|
9
|
+
case 'lenovo': {
|
|
10
|
+
return 'lenovo';
|
|
11
|
+
}
|
|
12
|
+
case 'lg': {
|
|
13
|
+
return 'lg';
|
|
14
|
+
}
|
|
15
|
+
case 'motorola': {
|
|
16
|
+
return 'motorola';
|
|
17
|
+
}
|
|
18
|
+
case 'dell': {
|
|
19
|
+
return 'dell';
|
|
20
|
+
}
|
|
21
|
+
case 'hp': {
|
|
22
|
+
return 'hp';
|
|
23
|
+
}
|
|
24
|
+
default: {
|
|
25
|
+
if (isMobile) {
|
|
26
|
+
return 'phone';
|
|
27
|
+
}
|
|
28
|
+
return 'laptop';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getDeviceModelName: (model?: string) => string;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { OnRampAsset, OnRampAssetInfo, OnRampProvider, Network, OnRampPurchaseType, OnRampConfig, WalletType } from '@getpara/web-sdk';
|
|
2
|
+
export declare function getCurrencyCodes({ assetInfo, allowedAssets, defaultOnRampNetwork, defaultOnRampAsset }: OnRampConfig, { provider, purchaseType, walletType, }: {
|
|
3
|
+
provider: OnRampProvider;
|
|
4
|
+
purchaseType: OnRampPurchaseType;
|
|
5
|
+
walletType: WalletType;
|
|
6
|
+
}): {
|
|
7
|
+
currencyCodes: string[];
|
|
8
|
+
defaultCurrencyCode?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function reverseCurrencyLookup(data: OnRampAssetInfo, provider: OnRampProvider, code: string): [Network, OnRampAsset];
|
|
11
|
+
export declare const TestNetworks: {
|
|
12
|
+
main: Network;
|
|
13
|
+
test: Network;
|
|
14
|
+
}[];
|
|
15
|
+
export declare function getNetworkTestEquivalent(network: Network): Network | undefined;
|
|
16
|
+
export declare function getNetworkOrMainNetEquivalent(network: Network, testMode?: boolean): Network;
|
|
17
|
+
export declare const NetworkChainIds: {
|
|
18
|
+
chainId: string;
|
|
19
|
+
network: Network;
|
|
20
|
+
}[];
|
|
21
|
+
export declare function getChainId(network: Network): string | undefined;
|
|
22
|
+
export declare function getNetworkFromChainId(chainId?: string | undefined): Network | undefined;
|
|
23
|
+
export declare const NetworkAssetAddresses: {
|
|
24
|
+
network: Network;
|
|
25
|
+
asset: OnRampAsset;
|
|
26
|
+
address: string;
|
|
27
|
+
}[];
|
|
28
|
+
export declare function getAssetFromContractAddress(network: Network, contractAddress: string): OnRampAsset | undefined;
|
|
29
|
+
export declare function getContractAddressFromAsset(network: Network, asset: OnRampAsset): string | undefined;
|
|
30
|
+
export * from './offRampSend.js';
|
|
31
|
+
export * from './getDeviceLogo.js';
|
|
32
|
+
export * from './getDeviceModelName.js';
|
|
33
|
+
export * from './getBrowserName.js';
|
|
34
|
+
export * from './formatBiometricHints.js';
|
|
35
|
+
export * from './formatPhoneNumber.js';
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { OnRampAsset, Network, getOnRampNetworks, getOnRampAssets, toAssetInfoArray, } from '@getpara/web-sdk';
|
|
2
|
+
export function getCurrencyCodes({ assetInfo, allowedAssets, defaultOnRampNetwork, defaultOnRampAsset }, { provider, purchaseType, walletType, }) {
|
|
3
|
+
let defaultCurrencyCode;
|
|
4
|
+
const currencyCodes = getOnRampNetworks(assetInfo, {
|
|
5
|
+
walletType,
|
|
6
|
+
allowed: allowedAssets ? Object.keys(allowedAssets) : undefined,
|
|
7
|
+
})
|
|
8
|
+
.sort((a, b) => (a === defaultOnRampNetwork ? -1 : b === defaultOnRampNetwork ? 1 : 0))
|
|
9
|
+
.reduce((acc, network) => {
|
|
10
|
+
const allowed = Array.isArray(allowedAssets === null || allowedAssets === void 0 ? void 0 : allowedAssets[network]) ? allowedAssets[network] : undefined;
|
|
11
|
+
return [
|
|
12
|
+
...acc,
|
|
13
|
+
...getOnRampAssets(assetInfo, { walletType, network, allowed })
|
|
14
|
+
.sort((a, b) => (a === defaultOnRampAsset ? -1 : b === defaultOnRampAsset ? 1 : 0))
|
|
15
|
+
.map(asset => {
|
|
16
|
+
var _a, _b, _c, _d, _e, _f;
|
|
17
|
+
if (network === defaultOnRampNetwork && asset === defaultOnRampAsset) {
|
|
18
|
+
defaultCurrencyCode = (_c = (_b = (_a = assetInfo[walletType]) === null || _a === void 0 ? void 0 : _a[network]) === null || _b === void 0 ? void 0 : _b[asset]) === null || _c === void 0 ? void 0 : _c[provider][0];
|
|
19
|
+
}
|
|
20
|
+
return (_f = (_e = (_d = assetInfo[walletType]) === null || _d === void 0 ? void 0 : _d[network]) === null || _e === void 0 ? void 0 : _e[asset]) === null || _f === void 0 ? void 0 : _f[provider];
|
|
21
|
+
})
|
|
22
|
+
.filter((entry) => !!entry && !!entry[1][purchaseType])
|
|
23
|
+
.map(([code]) => code),
|
|
24
|
+
];
|
|
25
|
+
}, [])
|
|
26
|
+
.filter((code) => !!code);
|
|
27
|
+
return { currencyCodes, defaultCurrencyCode: defaultCurrencyCode || currencyCodes[0] };
|
|
28
|
+
}
|
|
29
|
+
export function reverseCurrencyLookup(data, provider, code) {
|
|
30
|
+
const row = toAssetInfoArray(data).find(([_, __, ___, providers]) => [code.toUpperCase(), code.toLowerCase()].includes(providers[provider][0]));
|
|
31
|
+
return [row === null || row === void 0 ? void 0 : row[1], row === null || row === void 0 ? void 0 : row[2]];
|
|
32
|
+
}
|
|
33
|
+
export const TestNetworks = [{ main: Network.ETHEREUM, test: Network.SEPOLIA }];
|
|
34
|
+
export function getNetworkTestEquivalent(network) {
|
|
35
|
+
var _a;
|
|
36
|
+
return (_a = TestNetworks.find(({ main }) => main === network)) === null || _a === void 0 ? void 0 : _a.test;
|
|
37
|
+
}
|
|
38
|
+
export function getNetworkOrMainNetEquivalent(network, testMode) {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
return testMode ? ((_b = (_a = TestNetworks.find(({ test }) => test === network)) === null || _a === void 0 ? void 0 : _a.main) !== null && _b !== void 0 ? _b : network) : network;
|
|
41
|
+
}
|
|
42
|
+
export const NetworkChainIds = [
|
|
43
|
+
{ chainId: '11155111', network: Network.SEPOLIA },
|
|
44
|
+
{ chainId: '1', network: Network.ETHEREUM },
|
|
45
|
+
{ chainId: '137', network: Network.POLYGON },
|
|
46
|
+
{ chainId: '42220', network: Network.CELO },
|
|
47
|
+
{ chainId: '8453', network: Network.BASE },
|
|
48
|
+
{ chainId: '42161', network: Network.ARBITRUM },
|
|
49
|
+
{ chainId: '10', network: Network.OPTIMISM },
|
|
50
|
+
];
|
|
51
|
+
export function getChainId(network) {
|
|
52
|
+
var _a, _b;
|
|
53
|
+
return (_b = (_a = NetworkChainIds.find(({ network: n }) => n === network)) === null || _a === void 0 ? void 0 : _a.chainId) !== null && _b !== void 0 ? _b : undefined;
|
|
54
|
+
}
|
|
55
|
+
export function getNetworkFromChainId(chainId) {
|
|
56
|
+
var _a;
|
|
57
|
+
return chainId ? (_a = NetworkChainIds.find(({ chainId: c }) => c === chainId)) === null || _a === void 0 ? void 0 : _a.network : undefined;
|
|
58
|
+
}
|
|
59
|
+
const ETH_CONTRACT_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
60
|
+
export const NetworkAssetAddresses = [
|
|
61
|
+
{ network: Network.ETHEREUM, asset: OnRampAsset.USDC, address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' },
|
|
62
|
+
{ network: Network.POLYGON, asset: OnRampAsset.USDC, address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359' },
|
|
63
|
+
{ network: Network.CELO, asset: OnRampAsset.USDC, address: '0xcebA9300f2b948710d2653dD7B07f33A8B32118C' },
|
|
64
|
+
{ network: Network.BASE, asset: OnRampAsset.USDC, address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' },
|
|
65
|
+
{ network: Network.ARBITRUM, asset: OnRampAsset.USDC, address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831' },
|
|
66
|
+
{ network: Network.OPTIMISM, asset: OnRampAsset.USDC, address: '0x0b2c639c533813f4aa9d7837caf62653d097ff85' },
|
|
67
|
+
{ network: Network.SOLANA, asset: OnRampAsset.USDC, address: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v' },
|
|
68
|
+
{ network: Network.SEPOLIA, asset: OnRampAsset.USDC, address: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238' },
|
|
69
|
+
];
|
|
70
|
+
export function getAssetFromContractAddress(network, contractAddress) {
|
|
71
|
+
var _a, _b;
|
|
72
|
+
if (contractAddress === ETH_CONTRACT_ADDRESS) {
|
|
73
|
+
return OnRampAsset.ETHEREUM;
|
|
74
|
+
}
|
|
75
|
+
const checkNetworks = [network, (_a = getNetworkOrMainNetEquivalent(network)) !== null && _a !== void 0 ? _a : undefined]
|
|
76
|
+
.filter((n) => !!n)
|
|
77
|
+
.map(n => Network[n]);
|
|
78
|
+
return (_b = NetworkAssetAddresses.find(row => checkNetworks.includes(row.network) && row.asset.toLowerCase() === contractAddress.toLowerCase())) === null || _b === void 0 ? void 0 : _b.asset;
|
|
79
|
+
}
|
|
80
|
+
export function getContractAddressFromAsset(network, asset) {
|
|
81
|
+
var _a;
|
|
82
|
+
if (asset === OnRampAsset.ETHEREUM) {
|
|
83
|
+
return ETH_CONTRACT_ADDRESS;
|
|
84
|
+
}
|
|
85
|
+
return (_a = NetworkAssetAddresses.find(row => row.network === network && row.asset === asset)) === null || _a === void 0 ? void 0 : _a.address;
|
|
86
|
+
}
|
|
87
|
+
export * from './offRampSend.js';
|
|
88
|
+
export * from './getDeviceLogo.js';
|
|
89
|
+
export * from './getDeviceModelName.js';
|
|
90
|
+
export * from './getBrowserName.js';
|
|
91
|
+
export * from './formatBiometricHints.js';
|
|
92
|
+
export * from './formatPhoneNumber.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OnRampPurchaseUpdateParams } from '@getpara/user-management-client';
|
|
2
|
+
import Para, { OnRampPurchase } from '@getpara/web-sdk';
|
|
3
|
+
export declare function offRampSend(para: Para, { id: purchaseId, provider, walletId, walletType, address, testMode }: Partial<OnRampPurchase>, setOnRampPurchase: (_: OnRampPurchase) => void, { assetQuantity, fiat, fiatQuantity, chainId, destinationAddress, contractAddress, }: OnRampPurchaseUpdateParams & {
|
|
4
|
+
chainId?: string;
|
|
5
|
+
destinationAddress: string;
|
|
6
|
+
contractAddress?: string | null;
|
|
7
|
+
}): Promise<string | undefined>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { hexStringToBase64, WalletType } from '@getpara/web-sdk';
|
|
11
|
+
export function offRampSend(para_1, _a, setOnRampPurchase_1, _b) {
|
|
12
|
+
return __awaiter(this, arguments, void 0, function* (para, { id: purchaseId, provider, walletId, walletType, address, testMode = false }, setOnRampPurchase, { assetQuantity, fiat, fiatQuantity, chainId, destinationAddress, contractAddress, }) {
|
|
13
|
+
var _c, _d;
|
|
14
|
+
if (!purchaseId || !walletId || !walletType || !provider) {
|
|
15
|
+
throw new Error('Missing required fields');
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const { tx, network, asset } = yield para.ctx.client.generateOffRampTx(para.getUserId(), {
|
|
19
|
+
walletId,
|
|
20
|
+
walletType,
|
|
21
|
+
provider,
|
|
22
|
+
chainId,
|
|
23
|
+
destinationAddress,
|
|
24
|
+
sourceAddress: address,
|
|
25
|
+
contractAddress,
|
|
26
|
+
testMode,
|
|
27
|
+
assetQuantity,
|
|
28
|
+
});
|
|
29
|
+
let signature;
|
|
30
|
+
switch (walletType) {
|
|
31
|
+
case WalletType.EVM:
|
|
32
|
+
signature = (_c = ((yield para.signTransaction({
|
|
33
|
+
walletId,
|
|
34
|
+
rlpEncodedTxBase64: hexStringToBase64(tx),
|
|
35
|
+
chainId,
|
|
36
|
+
})))) === null || _c === void 0 ? void 0 : _c.signature;
|
|
37
|
+
break;
|
|
38
|
+
default:
|
|
39
|
+
throw new Error(`Unsupported wallet type: ${walletType}`);
|
|
40
|
+
}
|
|
41
|
+
const { txHash } = yield para.ctx.client.sendOffRampTx(para.getUserId(), {
|
|
42
|
+
tx,
|
|
43
|
+
signature: walletType === 'EVM' ? `0x${signature}` : signature,
|
|
44
|
+
network,
|
|
45
|
+
walletId,
|
|
46
|
+
walletType,
|
|
47
|
+
});
|
|
48
|
+
const updated = yield para.ctx.client.updateOnRampPurchase({
|
|
49
|
+
userId: para.getUserId(),
|
|
50
|
+
walletId,
|
|
51
|
+
purchaseId,
|
|
52
|
+
updates: {
|
|
53
|
+
fiat,
|
|
54
|
+
fiatQuantity,
|
|
55
|
+
assetQuantity,
|
|
56
|
+
network,
|
|
57
|
+
asset,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
setOnRampPurchase(updated);
|
|
61
|
+
return txHash;
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
throw new Error(((_d = e.response) === null || _d === void 0 ? void 0 : _d.data) || e.message);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@getpara/react-common",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"sideEffects": [
|
|
11
|
+
"*.css"
|
|
12
|
+
],
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@getpara/react-components": "0.1.0",
|
|
15
|
+
"@getpara/web-sdk": "0.1.0",
|
|
16
|
+
"@moonpay/moonpay-react": "^1.8.3",
|
|
17
|
+
"@ramp-network/ramp-instant-sdk": "^4.0.5",
|
|
18
|
+
"@stripe/crypto": "^0.0.4",
|
|
19
|
+
"@stripe/stripe-js": "^3.4.0",
|
|
20
|
+
"libphonenumber-js": "^1.11.1",
|
|
21
|
+
"styled-components": "^6.1.8"
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "rm -rf dist && tsc"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/react": "^18.0.31",
|
|
28
|
+
"@types/react-dom": "^18.2.7",
|
|
29
|
+
"typescript": "^5.4.3"
|
|
30
|
+
},
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"react": "*",
|
|
33
|
+
"react-dom": "*"
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist",
|
|
37
|
+
"package.json",
|
|
38
|
+
"styles.css"
|
|
39
|
+
],
|
|
40
|
+
"resolutions": {
|
|
41
|
+
"styled-components": "^6"
|
|
42
|
+
},
|
|
43
|
+
"gitHead": "625aaa94001a5461dcde8d6775c3b73f3862c76c"
|
|
44
|
+
}
|