cppay-sdk 0.0.2-beta.9 → 0.0.3
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/README.md +630 -2
- package/dist/cppay-Db8t1Cra.js +216 -0
- package/dist/cppay-DuOJqlpA.cjs +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +159 -8
- package/dist/index.js +1 -1
- package/dist/locales-CEspC4rh.js +128 -0
- package/dist/locales-Cl9v6tre.cjs +1 -0
- package/dist/react.cjs +1 -1
- package/dist/react.d.ts +232 -3
- package/dist/react.js +868 -193
- package/dist/vue.cjs +1 -1
- package/dist/vue.d.ts +183 -10
- package/dist/vue.js +687 -122
- package/package.json +46 -18
- package/dist/cppay-D9NSpEr9.cjs +0 -1
- package/dist/cppay-DdPjlf2b.js +0 -107
- package/dist/cppay-sdk.css +0 -2
- package/dist/inject-style-Dz7JsQxo.cjs +0 -1
- package/dist/inject-style-qX_0AjjE.js +0 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cppay-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "vite",
|
|
@@ -33,42 +33,70 @@
|
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"
|
|
36
|
+
"qrcode": "^1.5.4",
|
|
37
37
|
"react": ">=16.8.0",
|
|
38
|
-
"react-dom": ">=16.8.0"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"vue": {
|
|
42
|
-
"optional": true
|
|
43
|
-
},
|
|
44
|
-
"react": {
|
|
45
|
-
"optional": true
|
|
46
|
-
},
|
|
47
|
-
"react-dom": {
|
|
48
|
-
"optional": true
|
|
49
|
-
}
|
|
38
|
+
"react-dom": ">=16.8.0",
|
|
39
|
+
"viem": "^2.0.0",
|
|
40
|
+
"vue": "^3.0.0"
|
|
50
41
|
},
|
|
51
42
|
"devDependencies": {
|
|
52
43
|
"@types/node": "^25.0.8",
|
|
44
|
+
"@types/qrcode": "^1",
|
|
53
45
|
"@types/react": "^19",
|
|
54
46
|
"@types/react-dom": "^19",
|
|
55
47
|
"@vitejs/plugin-react": "^5.1.2",
|
|
56
48
|
"@vitejs/plugin-vue": "^6.0.3",
|
|
49
|
+
"ethers": "^6.16.0",
|
|
50
|
+
"qrcode": "^1.5.4",
|
|
57
51
|
"react": "^19.2.3",
|
|
58
52
|
"react-dom": "^19.2.3",
|
|
59
53
|
"typescript": "~5.9.3",
|
|
54
|
+
"viem": "^2.0.0",
|
|
60
55
|
"vite": "npm:rolldown-vite@7.2.5",
|
|
61
56
|
"vite-plugin-dts": "^4.5.4",
|
|
62
57
|
"vitest": "^4.0.17",
|
|
63
58
|
"vue": "^3.5.26"
|
|
64
59
|
},
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"@reown/appkit": "^1.8.16",
|
|
62
|
+
"@reown/appkit-adapter-ethers": "^1.8.16",
|
|
63
|
+
"cppay-sdk": "0.0.2-beta.28",
|
|
64
|
+
"rxjs": "^7.8.2"
|
|
65
|
+
},
|
|
66
|
+
"peerDependenciesMeta": {
|
|
67
|
+
"react": {
|
|
68
|
+
"optional": true
|
|
69
|
+
},
|
|
70
|
+
"react-dom": {
|
|
71
|
+
"optional": true
|
|
72
|
+
},
|
|
73
|
+
"viem": {
|
|
74
|
+
"optional": false
|
|
75
|
+
},
|
|
76
|
+
"vue": {
|
|
77
|
+
"optional": true
|
|
78
|
+
}
|
|
79
|
+
},
|
|
65
80
|
"resolutions": {
|
|
66
81
|
"vite": "npm:rolldown-vite@7.2.5"
|
|
67
82
|
},
|
|
68
83
|
"packageManager": "yarn@4.12.0",
|
|
69
|
-
"description": "",
|
|
70
|
-
"author": "",
|
|
84
|
+
"description": "Cppay SDK for cryptocurrency payments - supports React and Vue",
|
|
85
|
+
"author": "Cppay Team",
|
|
71
86
|
"license": "MIT",
|
|
72
|
-
"repository":
|
|
73
|
-
|
|
87
|
+
"repository": {
|
|
88
|
+
"type": "git",
|
|
89
|
+
"url": "https://github.com/cppay/cppay-sdk"
|
|
90
|
+
},
|
|
91
|
+
"keywords": [
|
|
92
|
+
"cppay",
|
|
93
|
+
"crypto",
|
|
94
|
+
"payment",
|
|
95
|
+
"wallet",
|
|
96
|
+
"web3",
|
|
97
|
+
"blockchain",
|
|
98
|
+
"ethereum",
|
|
99
|
+
"react",
|
|
100
|
+
"vue"
|
|
101
|
+
]
|
|
74
102
|
}
|
package/dist/cppay-D9NSpEr9.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={Ethereum:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png`,BSC:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png`,"bsc-testnet":`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png`,Tron:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/info/logo.png`,Polygon:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/polygon/info/logo.png`,Solana:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/solana/info/logo.png`},t={USDT:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png`,USDC:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png`,ETH:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png`,BNB:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png`,tBNB:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png`,TRX:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/info/logo.png`,SOL:`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/solana/info/logo.png`};var n=`http://192.168.0.162:8000`,r=async(e,t,r)=>{let i=Object.assign({timeout:15e3},r),a=new AbortController,o=setTimeout(()=>a.abort(),i.timeout);try{let r=await fetch(new URL(e,n),{signal:a.signal,...t});clearTimeout(o);let i=r.headers.get(`Content-Type`)??``;if(i.includes(`json`))return await r.json();try{return await r.json()}catch{throw Error(`URL: ${e}, Unsupport Content Type: ${i}`)}}catch(t){throw clearTimeout(o),t instanceof DOMException&&t.name===`AbortError`?Error(`URL: ${e}, Request timeout after ${i.timeout}ms`):t}},i=0;const a=async(e,t)=>{let n=new URLSearchParams(t.params),a=await r(`${t.url}${n.size?`?${n.toString()}`:``}`,{method:t.method??`get`,headers:{Authorization:e,...t.headers},body:t.data?JSON.stringify(t.data):void 0});if(a.code!==i)throw Error(`Request ${t.url} Failed. ${a.message}`);return a.data};var o=class{apikey;constructor(e){this.apikey=e}async getSupportedChains(){let n=(await a(this.apikey,{url:`/api/payment/token`})).reduce((n,r)=>{let i=n[r.chain]??{chain:r.chain,tokens:[],icon:e[r.chain]};return i.tokens.push({symbol:r.token_symbol,decimals:r.token_decimals,address:r.token_address,receiveAddresses:r.receive_addresses,icon:t[r.token_symbol]}),n[r.chain]=i,n},{});return Object.values(n)}async createPayment(e){let t={chain:e.paymentChain,token:e.paymentToken,order_no:e.orderId,amount:e.amount},n=await a(this.apikey,{url:`/api/payment/create`,method:`post`,data:t});return{orderId:e.orderId,paymentId:n.payment_id,paymentAmount:n.pay_amount,paymentChain:e.paymentChain,paymentToken:e.paymentToken}}async checkPaymentStatus(e){let t={payment_id:e},n=await a(this.apikey,{url:`/api/payment/query`,params:t});return{orderId:n.order_no,paymentId:n.payment_id,chain:n.chain,token:n.token,baseAmount:n.base_amount,payAmount:n.pay_amount,receiveAddress:n.receive_address,expireAt:n.expire_at,status:n.status}}},s=o;Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
package/dist/cppay-DdPjlf2b.js
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
const CHAIN_ICONS = {
|
|
2
|
-
Ethereum: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png",
|
|
3
|
-
BSC: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png",
|
|
4
|
-
"bsc-testnet": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png",
|
|
5
|
-
Tron: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/info/logo.png",
|
|
6
|
-
Polygon: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/polygon/info/logo.png",
|
|
7
|
-
Solana: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/solana/info/logo.png"
|
|
8
|
-
}, TOKEN_ICONS = {
|
|
9
|
-
USDT: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",
|
|
10
|
-
USDC: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png",
|
|
11
|
-
ETH: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png",
|
|
12
|
-
BNB: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png",
|
|
13
|
-
tBNB: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png",
|
|
14
|
-
TRX: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/info/logo.png",
|
|
15
|
-
SOL: "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/solana/info/logo.png"
|
|
16
|
-
};
|
|
17
|
-
var BASE_URL = "http://192.168.0.162:8000", request = async (e, t, r) => {
|
|
18
|
-
let i = Object.assign({ timeout: 15e3 }, r), a = new AbortController(), o = setTimeout(() => a.abort(), i.timeout);
|
|
19
|
-
try {
|
|
20
|
-
let r = await fetch(new URL(e, BASE_URL), {
|
|
21
|
-
signal: a.signal,
|
|
22
|
-
...t
|
|
23
|
-
});
|
|
24
|
-
clearTimeout(o);
|
|
25
|
-
let i = r.headers.get("Content-Type") ?? "";
|
|
26
|
-
if (i.includes("json")) return await r.json();
|
|
27
|
-
try {
|
|
28
|
-
return await r.json();
|
|
29
|
-
} catch {
|
|
30
|
-
throw Error(`URL: ${e}, Unsupport Content Type: ${i}`);
|
|
31
|
-
}
|
|
32
|
-
} catch (t) {
|
|
33
|
-
throw clearTimeout(o), t instanceof DOMException && t.name === "AbortError" ? Error(`URL: ${e}, Request timeout after ${i.timeout}ms`) : t;
|
|
34
|
-
}
|
|
35
|
-
}, SUCCESS_CODE = 0;
|
|
36
|
-
const cppayRequest = async (e, t) => {
|
|
37
|
-
let n = new URLSearchParams(t.params), a = await request(`${t.url}${n.size ? `?${n.toString()}` : ""}`, {
|
|
38
|
-
method: t.method ?? "get",
|
|
39
|
-
headers: {
|
|
40
|
-
Authorization: e,
|
|
41
|
-
...t.headers
|
|
42
|
-
},
|
|
43
|
-
body: t.data ? JSON.stringify(t.data) : void 0
|
|
44
|
-
});
|
|
45
|
-
if (a.code !== SUCCESS_CODE) throw Error(`Request ${t.url} Failed. ${a.message}`);
|
|
46
|
-
return a.data;
|
|
47
|
-
};
|
|
48
|
-
var cppay_default = class {
|
|
49
|
-
apikey;
|
|
50
|
-
constructor(e) {
|
|
51
|
-
this.apikey = e;
|
|
52
|
-
}
|
|
53
|
-
async getSupportedChains() {
|
|
54
|
-
let n = (await cppayRequest(this.apikey, { url: "/api/payment/token" })).reduce((n, r) => {
|
|
55
|
-
let i = n[r.chain] ?? {
|
|
56
|
-
chain: r.chain,
|
|
57
|
-
tokens: [],
|
|
58
|
-
icon: CHAIN_ICONS[r.chain]
|
|
59
|
-
};
|
|
60
|
-
return i.tokens.push({
|
|
61
|
-
symbol: r.token_symbol,
|
|
62
|
-
decimals: r.token_decimals,
|
|
63
|
-
address: r.token_address,
|
|
64
|
-
receiveAddresses: r.receive_addresses,
|
|
65
|
-
icon: TOKEN_ICONS[r.token_symbol]
|
|
66
|
-
}), n[r.chain] = i, n;
|
|
67
|
-
}, {});
|
|
68
|
-
return Object.values(n);
|
|
69
|
-
}
|
|
70
|
-
async createPayment(e) {
|
|
71
|
-
let t = {
|
|
72
|
-
chain: e.paymentChain,
|
|
73
|
-
token: e.paymentToken,
|
|
74
|
-
order_no: e.orderId,
|
|
75
|
-
amount: e.amount
|
|
76
|
-
}, n = await cppayRequest(this.apikey, {
|
|
77
|
-
url: "/api/payment/create",
|
|
78
|
-
method: "post",
|
|
79
|
-
data: t
|
|
80
|
-
});
|
|
81
|
-
return {
|
|
82
|
-
orderId: e.orderId,
|
|
83
|
-
paymentId: n.payment_id,
|
|
84
|
-
paymentAmount: n.pay_amount,
|
|
85
|
-
paymentChain: e.paymentChain,
|
|
86
|
-
paymentToken: e.paymentToken
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
async checkPaymentStatus(e) {
|
|
90
|
-
let t = { payment_id: e }, n = await cppayRequest(this.apikey, {
|
|
91
|
-
url: "/api/payment/query",
|
|
92
|
-
params: t
|
|
93
|
-
});
|
|
94
|
-
return {
|
|
95
|
-
orderId: n.order_no,
|
|
96
|
-
paymentId: n.payment_id,
|
|
97
|
-
chain: n.chain,
|
|
98
|
-
token: n.token,
|
|
99
|
-
baseAmount: n.base_amount,
|
|
100
|
-
payAmount: n.pay_amount,
|
|
101
|
-
receiveAddress: n.receive_address,
|
|
102
|
-
expireAt: n.expire_at,
|
|
103
|
-
status: n.status
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
export { CHAIN_ICONS as n, TOKEN_ICONS as r, cppay_default as t };
|
package/dist/cppay-sdk.css
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
._cppay-fade-enter-active[data-v-de37a8de],._cppay-fade-leave-active[data-v-de37a8de]{transition:opacity .3s}._cppay-fade-enter-from[data-v-de37a8de],._cppay-fade-leave-to[data-v-de37a8de]{opacity:0}._cppay-fade-enter-active ._cppay-dialog[data-v-de37a8de]{animation:.3s _cppay-slideUp}
|
|
2
|
-
/*$vite$:1*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`._cppay-overlay{z-index:9999;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}._cppay-dialog{background-color:#fff;border-radius:1.5rem;width:100%;max-width:28rem;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}._cppay-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}._cppay-title{color:#111827;margin:0;font-size:1.25rem;font-weight:600}._cppay-close-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:.25rem;transition:color .2s}._cppay-close-btn:hover:not(:disabled){color:#4b5563}._cppay-close-btn:disabled{opacity:.5;cursor:not-allowed}._cppay-close-btn svg{width:1.5rem;height:1.5rem}._cppay-content{padding:1.5rem}._cppay-section{margin-bottom:1.5rem}._cppay-section:last-child{margin-bottom:0}._cppay-label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}._cppay-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}._cppay-select-btn{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;align-items:center;gap:.5rem;padding:.75rem;font-family:inherit;font-size:.875rem;transition:all .2s;display:flex}._cppay-select-btn:hover{border-color:#d1d5db}._cppay-select-btn._cppay-selected{background-color:#eff6ff;border-color:#2563eb}._cppay-select-btn img{border-radius:9999px;width:1.5rem;height:1.5rem}._cppay-select-btn span{font-weight:500}._cppay-price-box{background-color:#f9fafb;border-radius:1rem;padding:1rem}._cppay-price-row{justify-content:space-between;align-items:center;display:flex}._cppay-price-label{color:#4b5563;font-size:.875rem}._cppay-price-amount{text-align:right}._cppay-price-main{color:#111827;margin:0;font-size:1.25rem;font-weight:700}._cppay-price-sub{color:#6b7280;margin-top:.25rem;font-size:.875rem}._cppay-btn{cursor:pointer;border:none;border-radius:.75rem;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s}._cppay-btn-primary{color:#fff;background-color:#2563eb}._cppay-btn-primary:hover:not(:disabled){background-color:#1d4ed8}._cppay-btn-primary:disabled{opacity:.5;cursor:not-allowed}._cppay-btn-secondary{color:#374151;background-color:#fff;border:1px solid #d1d5db}._cppay-btn-secondary:hover:not(:disabled){background-color:#f9fafb}._cppay-btn-secondary:disabled{opacity:.5;cursor:not-allowed}._cppay-qr-container{justify-content:center;margin-bottom:1.5rem;display:flex}._cppay-qr-placeholder{background-color:#f3f4f6;border-radius:1rem;justify-content:center;align-items:center;width:12rem;height:12rem;display:flex}._cppay-qr-placeholder span{color:#9ca3af;font-size:.875rem}._cppay-info-box{background-color:#f9fafb;border-radius:.75rem;margin-bottom:.75rem;padding:1rem}._cppay-info-box:last-child{margin-bottom:0}._cppay-info-label{color:#4b5563;margin-bottom:.25rem;font-size:.875rem}._cppay-info-value{color:#111827;font-size:1.25rem;font-weight:700}._cppay-address-row{align-items:center;gap:.5rem;display:flex}._cppay-address-row code{text-overflow:ellipsis;white-space:nowrap;color:#111827;background:0 0;flex:1;font-family:monospace;font-size:.75rem;overflow:hidden}._cppay-copy-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .2s;display:flex}._cppay-copy-btn:hover{color:#1d4ed8}._cppay-copy-btn svg{width:1.25rem;height:1.25rem}@keyframes _cppay-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes _cppay-slideUp{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}._cppay-overlay{animation:.3s _cppay-fadeIn}._cppay-dialog{animation:.3s _cppay-slideUp}@media (max-width:640px){._cppay-dialog{margin:.5rem}._cppay-header,._cppay-content{padding:1rem}}`;function t(e){if(typeof document>`u`||document.getElementById(`_cppay-payment-dialog-style`))return;let t=document.createElement(`style`);t.id=`_cppay-payment-dialog-style`,t.textContent=e,document.head.appendChild(t)}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
var payment_dialog_default = "._cppay-overlay{z-index:9999;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}._cppay-dialog{background-color:#fff;border-radius:1.5rem;width:100%;max-width:28rem;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}._cppay-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}._cppay-title{color:#111827;margin:0;font-size:1.25rem;font-weight:600}._cppay-close-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:.25rem;transition:color .2s}._cppay-close-btn:hover:not(:disabled){color:#4b5563}._cppay-close-btn:disabled{opacity:.5;cursor:not-allowed}._cppay-close-btn svg{width:1.5rem;height:1.5rem}._cppay-content{padding:1.5rem}._cppay-section{margin-bottom:1.5rem}._cppay-section:last-child{margin-bottom:0}._cppay-label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}._cppay-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}._cppay-select-btn{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;align-items:center;gap:.5rem;padding:.75rem;font-family:inherit;font-size:.875rem;transition:all .2s;display:flex}._cppay-select-btn:hover{border-color:#d1d5db}._cppay-select-btn._cppay-selected{background-color:#eff6ff;border-color:#2563eb}._cppay-select-btn img{border-radius:9999px;width:1.5rem;height:1.5rem}._cppay-select-btn span{font-weight:500}._cppay-price-box{background-color:#f9fafb;border-radius:1rem;padding:1rem}._cppay-price-row{justify-content:space-between;align-items:center;display:flex}._cppay-price-label{color:#4b5563;font-size:.875rem}._cppay-price-amount{text-align:right}._cppay-price-main{color:#111827;margin:0;font-size:1.25rem;font-weight:700}._cppay-price-sub{color:#6b7280;margin-top:.25rem;font-size:.875rem}._cppay-btn{cursor:pointer;border:none;border-radius:.75rem;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s}._cppay-btn-primary{color:#fff;background-color:#2563eb}._cppay-btn-primary:hover:not(:disabled){background-color:#1d4ed8}._cppay-btn-primary:disabled{opacity:.5;cursor:not-allowed}._cppay-btn-secondary{color:#374151;background-color:#fff;border:1px solid #d1d5db}._cppay-btn-secondary:hover:not(:disabled){background-color:#f9fafb}._cppay-btn-secondary:disabled{opacity:.5;cursor:not-allowed}._cppay-qr-container{justify-content:center;margin-bottom:1.5rem;display:flex}._cppay-qr-placeholder{background-color:#f3f4f6;border-radius:1rem;justify-content:center;align-items:center;width:12rem;height:12rem;display:flex}._cppay-qr-placeholder span{color:#9ca3af;font-size:.875rem}._cppay-info-box{background-color:#f9fafb;border-radius:.75rem;margin-bottom:.75rem;padding:1rem}._cppay-info-box:last-child{margin-bottom:0}._cppay-info-label{color:#4b5563;margin-bottom:.25rem;font-size:.875rem}._cppay-info-value{color:#111827;font-size:1.25rem;font-weight:700}._cppay-address-row{align-items:center;gap:.5rem;display:flex}._cppay-address-row code{text-overflow:ellipsis;white-space:nowrap;color:#111827;background:0 0;flex:1;font-family:monospace;font-size:.75rem;overflow:hidden}._cppay-copy-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .2s;display:flex}._cppay-copy-btn:hover{color:#1d4ed8}._cppay-copy-btn svg{width:1.25rem;height:1.25rem}@keyframes _cppay-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes _cppay-slideUp{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}._cppay-overlay{animation:.3s _cppay-fadeIn}._cppay-dialog{animation:.3s _cppay-slideUp}@media (max-width:640px){._cppay-dialog{margin:.5rem}._cppay-header,._cppay-content{padding:1rem}}";
|
|
2
|
-
function injectStyle(e) {
|
|
3
|
-
if (typeof document > "u" || document.getElementById("_cppay-payment-dialog-style")) return;
|
|
4
|
-
let t = document.createElement("style");
|
|
5
|
-
t.id = "_cppay-payment-dialog-style", t.textContent = e, document.head.appendChild(t);
|
|
6
|
-
}
|
|
7
|
-
export { payment_dialog_default as n, injectStyle as t };
|