@use-glyph/sdk-react 0.0.1

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.
Files changed (117) hide show
  1. package/LICENSE +17 -0
  2. package/README.md +152 -0
  3. package/dist/EIP1193Strategy.js +116 -0
  4. package/dist/PrivyStrategy.js +92 -0
  5. package/dist/assets/sdk-react.css +1 -0
  6. package/dist/index.js +17858 -0
  7. package/dist/sdk-react.es.js +28 -0
  8. package/dist/sdk-react.umd.js +151 -0
  9. package/dist/types/assets/svg/APEIcon.d.ts +2 -0
  10. package/dist/types/assets/svg/APE_ETH.d.ts +1 -0
  11. package/dist/types/assets/svg/APE_USD.d.ts +1 -0
  12. package/dist/types/assets/svg/APE_WAPE.d.ts +1 -0
  13. package/dist/types/assets/svg/ActivityIcon.d.ts +5 -0
  14. package/dist/types/assets/svg/ApechainIcon.d.ts +1 -0
  15. package/dist/types/assets/svg/ApecoinIcon.d.ts +2 -0
  16. package/dist/types/assets/svg/BackIcon.d.ts +2 -0
  17. package/dist/types/assets/svg/CaretDownIcon.d.ts +1 -0
  18. package/dist/types/assets/svg/CopyIcon.d.ts +5 -0
  19. package/dist/types/assets/svg/EditIcon.d.ts +2 -0
  20. package/dist/types/assets/svg/FailureIcon.d.ts +1 -0
  21. package/dist/types/assets/svg/GlyphIcon.d.ts +2 -0
  22. package/dist/types/assets/svg/HelpIcon.d.ts +1 -0
  23. package/dist/types/assets/svg/HomeIcon.d.ts +2 -0
  24. package/dist/types/assets/svg/InfoIcon.d.ts +1 -0
  25. package/dist/types/assets/svg/LinkIcon.d.ts +1 -0
  26. package/dist/types/assets/svg/LoadingCircleIcon..d.ts +2 -0
  27. package/dist/types/assets/svg/NetworkIcon.d.ts +1 -0
  28. package/dist/types/assets/svg/NoTokenIcon.d.ts +1 -0
  29. package/dist/types/assets/svg/PlusSign.d.ts +1 -0
  30. package/dist/types/assets/svg/ProfileViewPattern.d.ts +2 -0
  31. package/dist/types/assets/svg/QRIcon.d.ts +1 -0
  32. package/dist/types/assets/svg/SuccessIcon.d.ts +1 -0
  33. package/dist/types/assets/svg/SuccessViewPattern.d.ts +2 -0
  34. package/dist/types/assets/svg/TokensIcon.d.ts +2 -0
  35. package/dist/types/assets/svg/TxReceiveIcon.d.ts +1 -0
  36. package/dist/types/assets/svg/TxSendIcon.d.ts +1 -0
  37. package/dist/types/assets/svg/WalletIcon.d.ts +1 -0
  38. package/dist/types/assets/svg/WalletsTabFilledIcon.d.ts +2 -0
  39. package/dist/types/assets/svg/WalletsTabOutlinedIcon.d.ts +2 -0
  40. package/dist/types/components/GlyphWidget.d.ts +3 -0
  41. package/dist/types/components/GlyphWidgetButton.d.ts +3 -0
  42. package/dist/types/components/LoginButton.d.ts +2 -0
  43. package/dist/types/components/LogoutButton.d.ts +2 -0
  44. package/dist/types/components/SignUpButton.d.ts +2 -0
  45. package/dist/types/components/shared/ActivityRow.d.ts +10 -0
  46. package/dist/types/components/shared/CopyButton.d.ts +10 -0
  47. package/dist/types/components/shared/LinkWithIcon.d.ts +4 -0
  48. package/dist/types/components/shared/UserAvatar.d.ts +8 -0
  49. package/dist/types/components/shared/WalletViewFooterNav.d.ts +8 -0
  50. package/dist/types/components/shared/WalletViewHeader.d.ts +11 -0
  51. package/dist/types/components/shared/WalletViewTemplate.d.ts +10 -0
  52. package/dist/types/components/shared/skeletons/ActivityRowSkeleton.d.ts +1 -0
  53. package/dist/types/components/ui/accordion.d.ts +7 -0
  54. package/dist/types/components/ui/button.d.ts +15 -0
  55. package/dist/types/components/ui/drawer.d.ts +27 -0
  56. package/dist/types/components/ui/input-helper.d.ts +8 -0
  57. package/dist/types/components/ui/input.d.ts +26 -0
  58. package/dist/types/components/ui/popover.d.ts +6 -0
  59. package/dist/types/components/ui/select.d.ts +13 -0
  60. package/dist/types/components/ui/skeleton.d.ts +2 -0
  61. package/dist/types/components/ui/sonner.d.ts +4 -0
  62. package/dist/types/components/ui/tooltip-element.d.ts +14 -0
  63. package/dist/types/components/ui/tooltip.d.ts +8 -0
  64. package/dist/types/components/widget/UnsupportedChainOverlay.d.ts +5 -0
  65. package/dist/types/components/widget/Wallet.d.ts +4 -0
  66. package/dist/types/components/widget/WalletActivityTab.d.ts +4 -0
  67. package/dist/types/components/widget/WalletFundFailedView.d.ts +8 -0
  68. package/dist/types/components/widget/WalletFundPendingView.d.ts +8 -0
  69. package/dist/types/components/widget/WalletFundSuccessView.d.ts +8 -0
  70. package/dist/types/components/widget/WalletFundView.d.ts +8 -0
  71. package/dist/types/components/widget/WalletHomeTab.d.ts +6 -0
  72. package/dist/types/components/widget/WalletLinkedAccountsTab.d.ts +1 -0
  73. package/dist/types/components/widget/WalletMainView.d.ts +12 -0
  74. package/dist/types/components/widget/WalletProfileView.d.ts +4 -0
  75. package/dist/types/components/widget/WalletReceiveView.d.ts +4 -0
  76. package/dist/types/components/widget/WalletSendFundEnterAddressView.d.ts +12 -0
  77. package/dist/types/components/widget/WalletSendFundFailedView.d.ts +10 -0
  78. package/dist/types/components/widget/WalletSendFundPendingView.d.ts +13 -0
  79. package/dist/types/components/widget/WalletSendFundSuccessView.d.ts +10 -0
  80. package/dist/types/components/widget/WalletSendFundView.d.ts +23 -0
  81. package/dist/types/components/widget/WalletTokensTab.d.ts +1 -0
  82. package/dist/types/components/widget/WidgetGradient.d.ts +4 -0
  83. package/dist/types/context/GlyphContext.d.ts +18 -0
  84. package/dist/types/context/GlyphProvider.d.ts +3 -0
  85. package/dist/types/context/GlyphUserDataContext.d.ts +9 -0
  86. package/dist/types/context/GlyphUserDataProvider.d.ts +5 -0
  87. package/dist/types/context/GlyphViewContext.d.ts +12 -0
  88. package/dist/types/context/GlyphViewProvider.d.ts +4 -0
  89. package/dist/types/context/strategies/EIP1193Strategy.d.ts +4 -0
  90. package/dist/types/context/strategies/LoadingStrategy.d.ts +5 -0
  91. package/dist/types/context/strategies/PrivyStrategy.d.ts +3 -0
  92. package/dist/types/hooks/useActivity.d.ts +30 -0
  93. package/dist/types/hooks/useBalances.d.ts +4 -0
  94. package/dist/types/hooks/useGlyph.d.ts +49 -0
  95. package/dist/types/hooks/useGlyphApi.d.ts +3 -0
  96. package/dist/types/hooks/useGlyphFunding.d.ts +17 -0
  97. package/dist/types/hooks/useGlyphFundingApi.d.ts +45 -0
  98. package/dist/types/hooks/useGlyphView.d.ts +3 -0
  99. package/dist/types/hooks/useMediaQuery.d.ts +2 -0
  100. package/dist/types/hooks/useNativeGlyphConnection.d.ts +11 -0
  101. package/dist/types/index.d.ts +20 -0
  102. package/dist/types/lib/constants.d.ts +45 -0
  103. package/dist/types/lib/eip1193/GlyphWalletProvider.d.ts +40 -0
  104. package/dist/types/lib/eip1193/glyphWalletConnector.d.ts +35 -0
  105. package/dist/types/lib/eip1193/glyphWalletRK.d.ts +18 -0
  106. package/dist/types/lib/intl.d.ts +2 -0
  107. package/dist/types/lib/numericInputs.d.ts +2 -0
  108. package/dist/types/lib/popup.d.ts +11 -0
  109. package/dist/types/lib/privy/GlyphPrivyProvider.d.ts +25 -0
  110. package/dist/types/lib/privy/InjectWagmiConnector.d.ts +5 -0
  111. package/dist/types/lib/privy/usePrivyCrossAppProvider.d.ts +15 -0
  112. package/dist/types/lib/providers.d.ts +6889 -0
  113. package/dist/types/lib/svg.d.ts +4 -0
  114. package/dist/types/lib/utils.d.ts +128 -0
  115. package/dist/types/types/GlyphWidgetTypes.d.ts +90 -0
  116. package/dist/types/types/index.d.ts +1 -0
  117. package/package.json +98 -0
@@ -0,0 +1,4 @@
1
+ export type SVGProps = {
2
+ active: boolean;
3
+ };
4
+ export declare function footerMenuFill(active: boolean): "#FF4500" | "#ACB2B8";
@@ -0,0 +1,128 @@
1
+ import { ClassValue } from 'clsx';
2
+ import { EIP1193Provider } from 'viem';
3
+ export declare function cn(...inputs: ClassValue[]): string;
4
+ export declare function copyToClipboard(text: string): boolean;
5
+ export declare const generateNonce: () => number;
6
+ export declare const ethereumAvatar: (address: string | undefined) => string;
7
+ export declare function resolveUserIP(): Promise<string>;
8
+ export declare function isEthereumAddress(address?: string): boolean;
9
+ export declare const createLogger: (namespace: string) => {
10
+ debug: (...args: any[]) => void;
11
+ log: (...args: any[]) => void;
12
+ warn: (...args: any[]) => void;
13
+ error: (...args: any[]) => void;
14
+ };
15
+ export declare function tokenToBigIntWei(balance: number, decimals: number): bigint;
16
+ export declare const displayNumberPrecision: (value: number | null | undefined, precision?: number) => number;
17
+ export declare const wagmiCrossAppConnector: (provider: EIP1193Provider, useStagingTenant?: boolean) => import('wagmi').CreateConnectorFn<{
18
+ on: <event extends keyof import('viem').EIP1193EventMap>(event: event, listener: import('viem').EIP1193EventMap[event]) => void;
19
+ removeListener: <event extends keyof import('viem').EIP1193EventMap>(event: event, listener: import('viem').EIP1193EventMap[event]) => void;
20
+ request: import('viem').EIP1193RequestFn<import('viem').EIP1474Methods>;
21
+ isApexWallet?: true | undefined;
22
+ isAvalanche?: true | undefined;
23
+ isBackpack?: true | undefined;
24
+ isBifrost?: true | undefined;
25
+ isBitKeep?: true | undefined;
26
+ isBitski?: true | undefined;
27
+ isBlockWallet?: true | undefined;
28
+ isBraveWallet?: true | undefined;
29
+ isCoinbaseWallet?: true | undefined;
30
+ isDawn?: true | undefined;
31
+ isEnkrypt?: true | undefined;
32
+ isExodus?: true | undefined;
33
+ isFrame?: true | undefined;
34
+ isFrontier?: true | undefined;
35
+ isGamestop?: true | undefined;
36
+ isHyperPay?: true | undefined;
37
+ isImToken?: true | undefined;
38
+ isKuCoinWallet?: true | undefined;
39
+ isMathWallet?: true | undefined;
40
+ isMetaMask?: true | undefined;
41
+ isOkxWallet?: true | undefined;
42
+ isOKExWallet?: true | undefined;
43
+ isOneInchAndroidWallet?: true | undefined;
44
+ isOneInchIOSWallet?: true | undefined;
45
+ isOpera?: true | undefined;
46
+ isPhantom?: true | undefined;
47
+ isPortal?: true | undefined;
48
+ isRabby?: true | undefined;
49
+ isRainbow?: true | undefined;
50
+ isStatus?: true | undefined;
51
+ isTally?: true | undefined;
52
+ isTokenPocket?: true | undefined;
53
+ isTokenary?: true | undefined;
54
+ isTrust?: true | undefined;
55
+ isTrustWallet?: true | undefined;
56
+ isUniswapWallet?: true | undefined;
57
+ isXDEFI?: true | undefined;
58
+ isZerion?: true | undefined;
59
+ providers?: {
60
+ on: <event extends keyof import('viem').EIP1193EventMap>(event: event, listener: import('viem').EIP1193EventMap[event]) => void;
61
+ removeListener: <event extends keyof import('viem').EIP1193EventMap>(event: event, listener: import('viem').EIP1193EventMap[event]) => void;
62
+ request: import('viem').EIP1193RequestFn<import('viem').EIP1474Methods>;
63
+ isApexWallet?: true | undefined;
64
+ isAvalanche?: true | undefined;
65
+ isBackpack?: true | undefined;
66
+ isBifrost?: true | undefined;
67
+ isBitKeep?: true | undefined;
68
+ isBitski?: true | undefined;
69
+ isBlockWallet?: true | undefined;
70
+ isBraveWallet?: true | undefined;
71
+ isCoinbaseWallet?: true | undefined;
72
+ isDawn?: true | undefined;
73
+ isEnkrypt?: true | undefined;
74
+ isExodus?: true | undefined;
75
+ isFrame?: true | undefined;
76
+ isFrontier?: true | undefined;
77
+ isGamestop?: true | undefined;
78
+ isHyperPay?: true | undefined;
79
+ isImToken?: true | undefined;
80
+ isKuCoinWallet?: true | undefined;
81
+ isMathWallet?: true | undefined;
82
+ isMetaMask?: true | undefined;
83
+ isOkxWallet?: true | undefined;
84
+ isOKExWallet?: true | undefined;
85
+ isOneInchAndroidWallet?: true | undefined;
86
+ isOneInchIOSWallet?: true | undefined;
87
+ isOpera?: true | undefined;
88
+ isPhantom?: true | undefined;
89
+ isPortal?: true | undefined;
90
+ isRabby?: true | undefined;
91
+ isRainbow?: true | undefined;
92
+ isStatus?: true | undefined;
93
+ isTally?: true | undefined;
94
+ isTokenPocket?: true | undefined;
95
+ isTokenary?: true | undefined;
96
+ isTrust?: true | undefined;
97
+ isTrustWallet?: true | undefined;
98
+ isUniswapWallet?: true | undefined;
99
+ isXDEFI?: true | undefined;
100
+ isZerion?: true | undefined;
101
+ providers?: /*elided*/ any[] | undefined | undefined;
102
+ _events?: {
103
+ connect?: (() => void) | undefined;
104
+ } | undefined | undefined;
105
+ _state?: {
106
+ accounts?: string[];
107
+ initialized?: boolean;
108
+ isConnected?: boolean;
109
+ isPermanentlyDisconnected?: boolean;
110
+ isUnlocked?: boolean;
111
+ } | undefined | undefined;
112
+ }[] | undefined;
113
+ _events?: {
114
+ connect?: (() => void) | undefined;
115
+ } | undefined;
116
+ _state?: {
117
+ accounts?: string[];
118
+ initialized?: boolean;
119
+ isConnected?: boolean;
120
+ isPermanentlyDisconnected?: boolean;
121
+ isUnlocked?: boolean;
122
+ } | undefined;
123
+ } | undefined, {
124
+ onConnect(connectInfo: import('viem').ProviderConnectInfo): void;
125
+ }, {
126
+ [x: `${string}.disconnected`]: true;
127
+ "injected.connected": true;
128
+ }>;
@@ -0,0 +1,90 @@
1
+ import { Hex } from 'viem';
2
+ import { WalletView, WalletMainViewTab } from '../lib/constants';
3
+ export declare enum StrategyType {
4
+ PRIVY = "privy",
5
+ EIP1193 = "eip1193"
6
+ }
7
+ export declare const DEFAULT_STRATEGY = StrategyType.PRIVY;
8
+ export declare const GlyphViewType: {
9
+ readonly HOME: WalletMainViewTab.HOME;
10
+ readonly ACTIVITY: WalletMainViewTab.ACTIVITY;
11
+ readonly TOKENS: WalletMainViewTab.TOKENS;
12
+ readonly LINKED_ACCOUNTS: WalletMainViewTab.LINKED_ACCOUNTS;
13
+ readonly MAIN: WalletView.MAIN;
14
+ readonly FUND: WalletView.FUND;
15
+ readonly SEND: WalletView.SEND;
16
+ readonly RECEIVE: WalletView.RECEIVE;
17
+ readonly PROFILE: WalletView.PROFILE;
18
+ readonly CLOSED: "closed";
19
+ readonly OPEN: "open";
20
+ };
21
+ export type GlyphViewType = (typeof GlyphViewType)[keyof typeof GlyphViewType];
22
+ export interface GlyphProviderOptions {
23
+ strategy?: StrategyType;
24
+ glyphUrl?: string;
25
+ useStagingTenant?: boolean;
26
+ onLogin?: () => void;
27
+ onLogout?: () => void;
28
+ children: React.ReactNode;
29
+ }
30
+ export type GlyphWidgetTokenBalancesItem = {
31
+ name: string;
32
+ symbol: string;
33
+ value: string;
34
+ valueInWei: string;
35
+ amount: string;
36
+ currency: string;
37
+ native: boolean;
38
+ hide?: boolean;
39
+ address: Hex;
40
+ rateInCurrency: string;
41
+ decimals: number;
42
+ displayDecimals: number;
43
+ priceChangePct: number;
44
+ };
45
+ export type GlyphWidgetNFTBalancesItem = GlyphWidgetTokenBalancesItem & {
46
+ image: string;
47
+ };
48
+ export type GlyphWidgetBalances = {
49
+ tokens: GlyphWidgetTokenBalancesItem[];
50
+ nfts: GlyphWidgetNFTBalancesItem[];
51
+ };
52
+ export type GlyphWidgetButtonProps = {
53
+ showAvatar?: boolean;
54
+ showBalance?: boolean;
55
+ showUsername?: boolean;
56
+ };
57
+ export type GlyphWidgetProps = {
58
+ buttonProps?: GlyphWidgetButtonProps;
59
+ };
60
+ export type GlyphWidgetUser = {
61
+ hasProfile: boolean;
62
+ id: string;
63
+ name: string;
64
+ picture: string;
65
+ evmWallet: string;
66
+ smartWallet?: string;
67
+ solanaWallet?: string;
68
+ linkedWallets?: {
69
+ address: string;
70
+ walletClientType?: string;
71
+ }[];
72
+ currency: string;
73
+ minFundingAmount: number;
74
+ maxFundingAmount: number;
75
+ country: string;
76
+ subdivision?: string;
77
+ cb_chain: string;
78
+ cb_token: string;
79
+ hasGoogle?: boolean;
80
+ hasApple?: boolean;
81
+ hasEmail?: boolean;
82
+ hasTwitter?: boolean;
83
+ isOnrampEnabled?: boolean;
84
+ blockExplorerUrl?: string;
85
+ } | null;
86
+ export type GlyphWidgetSession = {
87
+ id: string;
88
+ status: "new" | "active";
89
+ username: string | null;
90
+ };
@@ -0,0 +1 @@
1
+ export * from './GlyphWidgetTypes';
package/package.json ADDED
@@ -0,0 +1,98 @@
1
+ {
2
+ "name": "@use-glyph/sdk-react",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "license": "GLYPH-1.0",
6
+ "sideEffects": false,
7
+ "main": "dist/sdk-react.umd.js",
8
+ "module": "dist/sdk-react.es.js",
9
+ "types": "dist/types/index.d.ts",
10
+ "exports": {
11
+ ".": [
12
+ {
13
+ "types": "./dist/types/index.d.ts",
14
+ "require": "./dist/sdk-react.umd.js",
15
+ "import": "./dist/sdk-react.es.js"
16
+ }
17
+ ],
18
+ "./*": [
19
+ "./src/*.ts",
20
+ "./src/*.tsx"
21
+ ],
22
+ "./style.css": {
23
+ "import": "./dist/assets/sdk-react.css",
24
+ "require": "./dist/assets/sdk-react.css"
25
+ }
26
+ },
27
+ "files": [
28
+ "dist",
29
+ "README.md"
30
+ ],
31
+ "devDependencies": {
32
+ "@eslint/js": "^9.19.0",
33
+ "@types/node": "^22.13.1",
34
+ "@types/react": "^18.3.18",
35
+ "@types/react-dom": "^18.3.5",
36
+ "react": "^18.3.1",
37
+ "react-dom": "^18.3.1",
38
+ "@vitejs/plugin-react": "^4.3.4",
39
+ "autoprefixer": "^10.4.20",
40
+ "dotenv": "^16.4.7",
41
+ "eslint": "^9.19.0",
42
+ "eslint-plugin-react-hooks": "^5.1.0",
43
+ "eslint-plugin-react-refresh": "^0.4.18",
44
+ "globals": "^15.14.0",
45
+ "path": "^0.12.7",
46
+ "postcss": "^8.5.1",
47
+ "prettier": "^3.4.2",
48
+ "rimraf": "^6.0.1",
49
+ "tailwind-scrollbar": "3.1.0",
50
+ "tailwindcss": "^3.4.17",
51
+ "typescript": "~5.7.3",
52
+ "typescript-eslint": "^8.23.0",
53
+ "vite": "6.1.0",
54
+ "vite-plugin-dts": "^4.5.0"
55
+ },
56
+ "peerDependencies": {
57
+ "@privy-io/cross-app-connect": "^0.2.0",
58
+ "@privy-io/react-auth": "^2.8.3",
59
+ "@privy-io/wagmi": "^1.0.3",
60
+ "@rainbow-me/rainbowkit": "^2.2.4",
61
+ "@tanstack/react-query": "^5.71.10",
62
+ "react": ">=18.3.0",
63
+ "react-dom": ">=18.3.0",
64
+ "@types/react": ">=18.3.0",
65
+ "@types/react-dom": ">=18.3.0",
66
+ "viem": "^2.23.13",
67
+ "wagmi": "^2.14.11"
68
+ },
69
+ "dependencies": {
70
+ "@radix-ui/react-accordion": "^1.2.3",
71
+ "@radix-ui/react-dialog": "1.1.6",
72
+ "@radix-ui/react-popover": "^1.1.6",
73
+ "@radix-ui/react-select": "2.1.6",
74
+ "@radix-ui/react-slot": "^1.1.2",
75
+ "@radix-ui/react-tooltip": "1.1.8",
76
+ "@types/throttle-debounce": "5.0.2",
77
+ "class-variance-authority": "^0.7.1",
78
+ "clsx": "^2.1.1",
79
+ "lucide-react": "^0.474.0",
80
+ "qrcode.react": "^4.2.0",
81
+ "sonner": "1.7.4",
82
+ "tailwind-merge": "^2.6.0",
83
+ "tailwindcss-animate": "^1.0.7",
84
+ "throttle-debounce": "5.0.2",
85
+ "truncate-eth-address": "1.0.2",
86
+ "vaul": "1.1.2"
87
+ },
88
+ "scripts": {
89
+ "watch:unix": "test -f .env && export $(cat .env | xargs) || true && vite build --watch",
90
+ "watch:windows": "if exist .env (set /p env=<.env && vite build --watch) else (vite build --watch)",
91
+ "watch": "node -e \"process.platform === 'win32' ? require('child_process').execSync('npm run watch:windows', {stdio: 'inherit'}) : require('child_process').execSync('npm run watch:unix', {stdio: 'inherit'})\"",
92
+ "build:unix": "test -f .env && export $(cat .env | xargs) || true && vite build",
93
+ "build:windows": "if exist .env (set /p env=<.env && vite build) else (vite build)",
94
+ "build": "node -e \"process.platform === 'win32' ? require('child_process').execSync('npm run build:windows', {stdio: 'inherit'}) : require('child_process').execSync('npm run build:unix', {stdio: 'inherit'})\"",
95
+ "prebuild": "rimraf dist",
96
+ "lint": "eslint ."
97
+ }
98
+ }