@xrpl-wallet-kit/browser 0.1.7 → 0.1.8
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 +8 -3
- package/dist/xrpl-wallet-kit-legacy-bridge.js +11 -4
- package/dist/xrpl-wallet-kit.iife.js +444 -89
- package/dist/xrpl-wallet-kit.iife.min.js +48 -48
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @xrpl-wallet-kit/browser v0.1.
|
|
1
|
+
/*! @xrpl-wallet-kit/browser v0.1.8 | MIT | https://github.com/XRPDomains/xrpl-wallet-kit */
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __typeError = (msg) => {
|
|
4
4
|
throw TypeError(msg);
|
|
@@ -4402,7 +4402,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
4402
4402
|
async connect(options) {
|
|
4403
4403
|
var _a2;
|
|
4404
4404
|
const signInAndWait = this.requireMethod("signInAndWait");
|
|
4405
|
-
const result = await signInAndWait(this.randomHex());
|
|
4405
|
+
const result = await this.withAbort(signInAndWait(this.randomHex()), options.signal);
|
|
4406
4406
|
const address = this.pickString(result, ["response.data.address", "response.address", "address"]);
|
|
4407
4407
|
if (!address)
|
|
4408
4408
|
throw new Error("Crossmark did not return an XRPL address");
|
|
@@ -4511,6 +4511,37 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
4511
4511
|
const value = pickPath(source, paths);
|
|
4512
4512
|
return typeof value === "string" && value.trim() ? value : void 0;
|
|
4513
4513
|
}
|
|
4514
|
+
withAbort(promise, signal) {
|
|
4515
|
+
if (!signal)
|
|
4516
|
+
return promise;
|
|
4517
|
+
if (signal.aborted)
|
|
4518
|
+
return Promise.reject(createWalletError.connectionRejected(this.metadata.name, new Error("Connection was cancelled")));
|
|
4519
|
+
return new Promise((resolve, reject) => {
|
|
4520
|
+
let settled = false;
|
|
4521
|
+
const cleanup = () => signal.removeEventListener("abort", abort);
|
|
4522
|
+
const abort = () => {
|
|
4523
|
+
if (settled)
|
|
4524
|
+
return;
|
|
4525
|
+
settled = true;
|
|
4526
|
+
cleanup();
|
|
4527
|
+
reject(createWalletError.connectionRejected(this.metadata.name, new Error("Connection was cancelled")));
|
|
4528
|
+
};
|
|
4529
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
4530
|
+
promise.then((value) => {
|
|
4531
|
+
if (settled)
|
|
4532
|
+
return;
|
|
4533
|
+
settled = true;
|
|
4534
|
+
cleanup();
|
|
4535
|
+
resolve(value);
|
|
4536
|
+
}, (error) => {
|
|
4537
|
+
if (settled)
|
|
4538
|
+
return;
|
|
4539
|
+
settled = true;
|
|
4540
|
+
cleanup();
|
|
4541
|
+
reject(error);
|
|
4542
|
+
});
|
|
4543
|
+
});
|
|
4544
|
+
}
|
|
4514
4545
|
}
|
|
4515
4546
|
function createCrossmarkAdapter(options) {
|
|
4516
4547
|
return new CrossmarkAdapter(options);
|
|
@@ -4537,14 +4568,14 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
4537
4568
|
async connect(options) {
|
|
4538
4569
|
var _a2;
|
|
4539
4570
|
const provider = this.provider();
|
|
4540
|
-
const state2 = await this.initialize(provider);
|
|
4541
|
-
const connected = await this.resolveConnected(provider, state2);
|
|
4571
|
+
const state2 = await this.withAbort(this.initialize(provider), options.signal);
|
|
4572
|
+
const connected = await this.withAbort(this.resolveConnected(provider, state2), options.signal);
|
|
4542
4573
|
if (!connected)
|
|
4543
4574
|
throw new Error("DropFi connection was rejected");
|
|
4544
|
-
const address = await this.resolveAddress(provider, connected, state2);
|
|
4575
|
+
const address = await this.withAbort(this.resolveAddress(provider, connected, state2), options.signal);
|
|
4545
4576
|
if (!address)
|
|
4546
4577
|
throw new Error("DropFi did not return an XRPL address");
|
|
4547
|
-
const publicKey = await this.resolvePublicKey(provider, connected, state2);
|
|
4578
|
+
const publicKey = await this.withAbort(this.resolvePublicKey(provider, connected, state2), options.signal);
|
|
4548
4579
|
this.activeAddress = address;
|
|
4549
4580
|
return { account: { address, publicKey, network: options.network, networkType: (_a2 = options.network) == null ? void 0 : _a2.networkType }, raw: { connected, address, publicKey } };
|
|
4550
4581
|
}
|
|
@@ -4639,6 +4670,37 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
4639
4670
|
clearTimeout(timer);
|
|
4640
4671
|
}
|
|
4641
4672
|
}
|
|
4673
|
+
withAbort(promise, signal) {
|
|
4674
|
+
if (!signal)
|
|
4675
|
+
return promise;
|
|
4676
|
+
if (signal.aborted)
|
|
4677
|
+
return Promise.reject(createWalletError.connectionRejected(this.metadata.name, new Error("Connection was cancelled")));
|
|
4678
|
+
return new Promise((resolve, reject) => {
|
|
4679
|
+
let settled = false;
|
|
4680
|
+
const cleanup = () => signal.removeEventListener("abort", abort);
|
|
4681
|
+
const abort = () => {
|
|
4682
|
+
if (settled)
|
|
4683
|
+
return;
|
|
4684
|
+
settled = true;
|
|
4685
|
+
cleanup();
|
|
4686
|
+
reject(createWalletError.connectionRejected(this.metadata.name, new Error("Connection was cancelled")));
|
|
4687
|
+
};
|
|
4688
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
4689
|
+
promise.then((value) => {
|
|
4690
|
+
if (settled)
|
|
4691
|
+
return;
|
|
4692
|
+
settled = true;
|
|
4693
|
+
cleanup();
|
|
4694
|
+
resolve(value);
|
|
4695
|
+
}, (error) => {
|
|
4696
|
+
if (settled)
|
|
4697
|
+
return;
|
|
4698
|
+
settled = true;
|
|
4699
|
+
cleanup();
|
|
4700
|
+
reject(error);
|
|
4701
|
+
});
|
|
4702
|
+
});
|
|
4703
|
+
}
|
|
4642
4704
|
provider(required = true) {
|
|
4643
4705
|
const host = globalThis;
|
|
4644
4706
|
const provider = this.options.provider ?? host.__xwk_dropfi ?? host.dropfi ?? this.resolveLegacyXrplProvider(host.xrpl);
|
|
@@ -8855,7 +8917,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
8855
8917
|
throw new Error("Please install GemWallet Extension");
|
|
8856
8918
|
if (!provider.getAddress)
|
|
8857
8919
|
throw new Error("GemWallet provider is missing getAddress()");
|
|
8858
|
-
const [address, publicKey, network] = await Promise.all([provider.getAddress(), this.getPublicKey(provider), (_a2 = provider.getNetwork) == null ? void 0 : _a2.call(provider)]);
|
|
8920
|
+
const [address, publicKey, network] = await this.withAbort(Promise.all([provider.getAddress(), this.getPublicKey(provider), (_a2 = provider.getNetwork) == null ? void 0 : _a2.call(provider)]), options.signal);
|
|
8859
8921
|
const accountAddress = (_b = address.result) == null ? void 0 : _b.address;
|
|
8860
8922
|
if (!accountAddress)
|
|
8861
8923
|
throw new Error("GemWallet did not return an XRPL address");
|
|
@@ -9031,6 +9093,37 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
9031
9093
|
networkName(network) {
|
|
9032
9094
|
return typeof network === "string" ? network : network == null ? void 0 : network.name;
|
|
9033
9095
|
}
|
|
9096
|
+
withAbort(promise, signal) {
|
|
9097
|
+
if (!signal)
|
|
9098
|
+
return promise;
|
|
9099
|
+
if (signal.aborted)
|
|
9100
|
+
return Promise.reject(createWalletError.connectionRejected(this.metadata.name, new Error("Connection was cancelled")));
|
|
9101
|
+
return new Promise((resolve, reject) => {
|
|
9102
|
+
let settled = false;
|
|
9103
|
+
const cleanup = () => signal.removeEventListener("abort", abort);
|
|
9104
|
+
const abort = () => {
|
|
9105
|
+
if (settled)
|
|
9106
|
+
return;
|
|
9107
|
+
settled = true;
|
|
9108
|
+
cleanup();
|
|
9109
|
+
reject(createWalletError.connectionRejected(this.metadata.name, new Error("Connection was cancelled")));
|
|
9110
|
+
};
|
|
9111
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
9112
|
+
promise.then((value) => {
|
|
9113
|
+
if (settled)
|
|
9114
|
+
return;
|
|
9115
|
+
settled = true;
|
|
9116
|
+
cleanup();
|
|
9117
|
+
resolve(value);
|
|
9118
|
+
}, (error) => {
|
|
9119
|
+
if (settled)
|
|
9120
|
+
return;
|
|
9121
|
+
settled = true;
|
|
9122
|
+
cleanup();
|
|
9123
|
+
reject(error);
|
|
9124
|
+
});
|
|
9125
|
+
});
|
|
9126
|
+
}
|
|
9034
9127
|
}
|
|
9035
9128
|
function createGemWalletAdapter(options) {
|
|
9036
9129
|
return new GemWalletAdapter(options);
|
|
@@ -10546,9 +10639,10 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
10546
10639
|
}
|
|
10547
10640
|
}
|
|
10548
10641
|
function createWalletConnectMetadata(metadata2) {
|
|
10642
|
+
var _a2;
|
|
10549
10643
|
return {
|
|
10550
10644
|
...metadata2,
|
|
10551
|
-
icons: [WALLETCONNECT_ICON]
|
|
10645
|
+
icons: ((_a2 = metadata2.icons) == null ? void 0 : _a2.length) ? metadata2.icons : [WALLETCONNECT_ICON]
|
|
10552
10646
|
};
|
|
10553
10647
|
}
|
|
10554
10648
|
function createWalletConnectAdapter(options) {
|
|
@@ -15525,6 +15619,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
15525
15619
|
var distExports = requireDist$4();
|
|
15526
15620
|
const XAMAN_ICON = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAADAFBMVEUAAAABEEYCJaAABBQCCScAMNAHMs8ALcIDMtUCLsUEHnsACzMABRgEJJYAKrcBFlwML70BJ6kAIpEAGnIDFFMAMtcEIo8AFVsFJqAaNr8PJYktUP8bQvQSJogiROoiQucKFlAAMM////8AMNAAL80AL8wkSP8kSf8AL84AMM4AMNEjSP8AMNIBMM8AL88AMdQfRfsCMdIFM9UDMtQgRv0CMdEiR/4cQ/cGNNkdRPkiR/8INdsAJc0KL74aQvUFMc8ZQfMMOOEGL8EAKs4CMM0bN8UZNLkAMdMAMNMaNb0WLqUTPesPOuUKN98FLb0UKZMXQPEbOMgAKM4RO+cJNt0VPu4eP+AdO9UcOs4bNsEgQ+8cPNgGM9IePt0AI8wcOcsWLaAYMrMILroQIn0UPuwcO9MEL8QXMKsTKI8FM9cVMroXL6gfP+MQMb0fQOUePdoKM9AHMcwTJ4ogQusALc8CL8ghRPIYQO8NOeIUOdMONtEcOtAALc4DMMoTOdgVK5gPIHYSPOkMNdQGMMgYMa4SJYUiRvoAMtsQIHIgQegHLLUYMbAWLJ0OIXns8P0iRfYXO9sYMrUOHmsNNtgQNMcKKKASJIEOOuMONM0TNssKM8sGKrAIKaYVK5sOG2ASPOgVPOMYPOAAM98NN9wYN8oLMsgOLbEOHWba4fiBmegAMdkPMsMMKJs4XNoYOM8TN88VNcUUKpYPH24XPv/3+f7O2PcaP+YQOd4ALssXNMAOLrULIoOMoeojS9YQMLkIKaxMav7m6/zg5fjG0vahs+0AMdYXP9MQKp8KI4hNbN4NLKsNJpD7/P+Vp+trheJceeAAJMoQKJYNJYscQ//f5f7y9f25xvJDZNwdRtULJpS0wvGquu8YP+otUtcAK8+Zre0DKbkSLaaXqP+tu/7CzfN3kOYzVtkUPP0ON/M6WvDT2O6YrOsEMuZTcuQCL+SjreAoT9cCK9UvRbV7kv9lfv8WP/icr+wIMus+XeMoSM9sh/KltPEvS8gAJ8JBUJYJG3H8amTuAAAAIXRSTlMAN6IHFvbl0e/ediYMmMRbzbiPaEb1h07HomX66MzLxpgV7MnoAAAY2ElEQVR42pRXy27aUBClSWn6Squ+1YdaIe6dsRlFGGMwtiULVl2AJSTwrks2+QLYZsUnsIzEMv/RL+hvdNt9L9d3/ACapJONfbF9z51z5sykdjxOH3z6+O1LvZGFjPrgda3GvcLahBA6c1ms1B+dnTx9+7B273j+4fysHiNFgr85BZzwzd0I5gGSNxJ2sdRst388+vjpfhievX+yvWl1PfD5dTEn8C8a9w7ZHQLBNSNgXGP88vHB3dufvFt31DdGAFecRTtGSmTj/iEaYyBML0R1dYH469XtEE7fP75p6oenGEaCEwAQ243/CVus+oTDXgWB1fQB0p8ntxDx4OsfK/vAdweCJiMfHkuAbQkV/8Ql556C3WEErGXqD34+evmv/T99xrnI9kwIx9LsPwgPFCCk3XGjKLrsqktxHMHAIfC7VQQzVLlsbc9Pj+7/+hc6XTt7MgUyWBpSUbeRle2twWzo9MOQQs9fbi4b0jqGwA0AggoC+8KH3bfWr47RcPK7D0PDQC8Ap2Ne6jjq2i5RKebDEAFVwO4P+vHEFeKIFLsBoF9hQURE6pD2+uwQwcnNCHAm+TlccgJWAGNZ/uwSVHhxOr6+SodOqO+WA0scRQBxr5wemaLm9ucBgtdbucitR84ARtJkYAjhQJSEFCBRvOraQqqweoPJsI8AtBwI6wCBGyBML8rp63rkuerBmxdVHbxZNxo+cqrtGPRTKsRlv1yDct4nCBI7Z13hsNxZAARh6spDBA7hQlR1iIvdc+uTSv29a1mukoDIYLqe3tQkAyeyXEgw7e5tZMneyAdCb9IQB7XgEb/PkqLscNs3Jf85a6vKw1wCI8Br89KFb5LBB4KFfci2LZsbBwmGl3IfQULUj2Q1BVpTrXfPcgBPt+qHMXLlldQgBqTzwnpAnFpMyB6Ezjgk8DashHLtO6VitLsOeLrab17l/v+upe5j1OsqmkFeePIaccX45QTBr4i6SkQUA8GS/ZdDLAGn+Zo+qSFl+8EAOF9reTLv4jIs3vD1IMDSUE4qb+lBzSsi9PdosDoBQOZkLGvTaNtnp1kC6i3dcvFK5pU/kWzDGQNsiYUjHOdh7gB4idxrC0TZKbi3AGWFvc26wvu1oSoxvKf8gEp6ZsOcAM3MbSHdGIk2jLlI+pKXdKs3B2m/0PPPk+8ZrL5rsQSCXq46vcoJmBkwt9Gg4ONMMFB2di1wlqHHrXa9mw4+rHeXPQf8JksAjAQsMxfx9e0J4FYxI8Umb8dnhrgEcsrmun6tJZiRjakwEtAq5WRdSS4nvr4r5EYhGBsEnEn2dv7sTLIMT8++7+2aFj0hBXXJjsQc3Y1gRATX+12wmCm06dqabfdZ7UG9WfWeJveEiiGIOVfzfRGwAbPysVQcPpjJY/2m9qatl2Je4p5geOFNZQqYiCrZchdHpzK5IiqNcVmVm2Gjctyf57XzdiZMZBtKAGbSFKGeX/KxpFc+kugms/F4Nhr09mYyVgx5mdB4stbC4wwhTLgQX7Qyjkxpck/g0ZgNITG1y004WnrZUETBImrIgzSIxc627VJO2MVY8vqm9aT2iF1+JA1UNLZl94rRWBhl8oA9JgCgMCRQQfGoWYDj8S8G3fjLxa8AcUNi339cq2cM81nVbxgzTsKUGciwsLvHSOBfJ9FgPlk6oMJPrP0epIwTWAbFnMsqRIOmXsuKI1e+iEJcFBJYyVwYY5kbW4zgrZpSqJCik0wJAJau3C8F4DOXJ30ml7tDzbgcDm3eFXjXKfZZAosMPtMBwWVOuy1FNCXC0r+jvAtbF6fWL8pAZ5wBVDSYIneiXpClnQ2hkDA51eMKkQSg+GqKPRL0NMXEZd2GxwyWVI2T/Zcwq2ltIoqi8z9cJXmTTJSGRk3ShiGmzEIhBsJUN7PIyk1AREhpVLJxE8mmWXTRpZFuaqGrpB8LhWi1UKg20NaKVgS/WlGLYkXRjbfz3nkvyaT0rkJmmnvm3XPPPXdKHFTFwCguQRD4eAAu76amxzJ0CCngUmaIlxNJoSSUELNXwwkPMfjRtIEaQs2oSdy64HOunyvMEhsH4VdAXXEEIMFdHU0pZ4PGdRCPTYrF13LIFaoZLxioBtki1tcKJMiMwH9CjpDTlVilqyOS35pqPSUIEGxChV05obgNc9EbLJYOwgGrNWRY6meUsxC/MqUAsCHZeswVBMz/dBizjK6DSjgXb7CBXEgJMCiN7gG9oMU4ASnN6rHl+MjoIBM4ahTioUT4SE94iAAeHBW90t38EOZODui3Cad6bKO3GIwbM2AB1r4IaOymOpZBKCjktmB4uoAfK5G1RxBYiW5nILOUkBSw9A8jmlDqo+YZxhx9BjtRGs0ldkjA1KfkHkJfDsZAAZwjK8DLHBWMlkHxdgmPClLTQdMVjxJyC5KTF6QgxENp1qkC+Hh0BZASkw5HKgEEk7Kv5UFqXTtJGPsZvlSdIdlQOMaYhVMgDyeVbP6l342N2bY5JoUHAPQpCHFYtmqkvd9IjiiTGMNAITaU7bwd4SPAF/AxHZRQD+1SBsKNX8yv/H2//OLB6jnbZRUJjwSQwdGwgjDnlv3m70HoB31EhVRrts9tr89Z9mG5M6nhROnGmR4ILN3Z/Ck++cvW80d+N5bnTGpmV83AgRwZUqPTD5orT9b8/s1vZllkJT0FjWa35+lXXr3Js4uHr2ZCwdDg3TPdMygbch8DwnXodsesL35Ec72dPSV8Z/i05gsHUsEUNYFaEPNzj/mtD6wyvhTlTe5+JGgUE6v7tIsPJoaTQYKQ7bICMbh5qT5j5gO/iuanr/hJltXoiCvxklxLaejkV7dw61tCQIJAX3JGDTbe4dLaz0ZyNBoODN0+S0gyAyiDGmMKQDl/398ZLy4nRROwjEakqcRHxe3p4HDUnGvSPQrBoUpAECi/ioP9JYP8sX7mcB3NxYxOM0ZyqUpwPv/c3x2tjeGAUBsCsFipZIXkJYI5a4WfPxDYF+QUXfpK+VVsPbTFhjJyltaOgPI+wnWDhOa6vyd+Ni4z4XQIQL1Sg/hU4pn2s+57v9zZEIKAQsp4bUfUe+FQCQDcNUe9cw3trTZ7AbxrTOmCdMSBndq4aILpSmXk5kTPze83NkZ0Nz8KKWnw0PIpBPzUkTUhhajRkpRSAHbFmEmdojYs1RxeEHajUpn9Lu9SCGYN5O+ObbvzBaZyXwEJgGjTUk+kSrCH4Z7UwlGntiOMx91K7emtR14EF6y++bdeuicAoSfRlwCghfp+a9Obf601igokNeP0+HhdtPlOzYnmP3r/4Illqfwqnpk8C2wbjRGYUay6pkP5vU/UEF1K7xw0Njk+vihEv1Tb8ZXPfeiDwO6Tf+ZmWWSPjEVI0KVeKftp31ruk//RiV8BTI20xhYdZ1LYIWd8wfDZL2e8fzPv/Wrijcmz22Z5IGK2L8EBq0lqXX/VJ/9Eq0FX+TYQHNFY3XE4e4yC4xbDfEgIjo2JOZ7fsrefLc/M/1ufbKD5seeUrdd+bzRbDfIc8l8hmlF3imInmHacaeYDguPy591k9gqSzLcaOWU3qM3G7C/98n/bJcMC+5XRtcCCsyC6kIpBou8i2Dwuf4s/f2e9mge/dekaBtA3vbH+Ve4kRMEhpkUXinXOWKNeLPJihH983jwm/x5zxXHsQ9fD5YXppyeLoJ2647mNf0HpxBQyfdrpanFRCEi9uBDjUKZvA8ER+Xf5+OpR+S23LiwdpGGIAdQd99sXQy5B+W1ZAjBZrU5zAIGFal0I6GJx9PvM0fn/7NVcskSsF15msKE46WB+dc3fTzlODvN9lTu3AXJE09eqkxxA9Gr1nsEB3Ktesz1MVFlmRa3KKxO91z7lyVSEptrbTX8/QVuitVgMwhI37Np/xszsp4koCuPzr0xGEzphSlDrFrAJLVsfIG1Ma2mnRZHFUtpSSk2xVFKhYVFbF5BFoxjBHZfEDRUiLohxj1FEQUnURH1wSdzienvPvaUyRZynoZ3O+c39zv3O13LG4SC70OxwUDG6HXZupr1w6aglYren4i14UVLm0viH0MIlaa8QmeQYU6q4RQvhy+OcNQuW4h+nGVQrFR47aHeQteC67d3RvYDsR+p/4xY24IxwGGBUOuiGXn8K7b0oHSgojdao0P+0F66GBVi9EL5sMHp7NwcA2+z2IAAo9PpIEuux3EpwmycWj9BX7MPXecwJFunB6y8SL8U+4dPJUpeFQmuScBIJhSCIMqgW6byAXm/GAHKzqA8kSfcxzUj+fdZj8BkLiihSgq+XE63cqI6dsyMU2g22vxZiGADIKIBIdqFZFLf5E9aHnHjOuJ1joQlAg9mPS+/TkEN5w+H5sAXCobUCthwGPSzpvIgY4Ug3OJ1mqJ/w+DxgO8yRJbg9e23qEChvhMMw+YW14fDyOdg1GVEknSeYRCKGPOg0wfyd4XjXm86TSxNySgfASLT+Gq+3QCHDph+GEISYGKdIO8/kDJC7+gxBEHdGgrwJFg7PfxGARz/1erF/RUOYF/di0uIwg1Ybsq3S5PSRlFtTI+l/iaX4KcFdCat0AFjwsPV6T8PU24NDGGQwxmQyw53MBlMNAPiVtP7sBHxt7413s1z70iKPql2Fggf2oHkF3oJUGWFCABysu8tgCGIAj4rWn50guXZSM9z17J9XXsA/CSSh4EOi3+kCIoWiCgEYDAIA1BQXu+S4r2BNZyfwsDklw+vXT55Vff7Hdd8n/NjmqvCshdwTJwVj8LExAGX0JNEc3zxyOdGTpeTdKysbnsv7/U9mrP9wngpPOkdTE/Td/CoYZSi7FqAwFgNgj61bFwXQHb2ZKH9dSzAXRgbd7obhucnIkJRjM9R/EVGR+dp0JonEHiKFcDoaAZniGjkBWNEnkBEvnX+sbsUbyetv2oqKWmXYESY64WOSAWCfgDnjcNgVLJWCi5OCWUcB+jCAalQ6YV9ZkEv8/Cgl+PV7J4/rc5UDuS8S1B8an5DhXw/tDge2G1lUCiIAlgIBuABA2GftwO5+M1F9ls9olRL86krh8F5U27L6My9Ll+5rDpgcChBg+CAFCYA4CzIrXOS7FQDIPdPuM4SmCAYoPGI8Ne2t9hwW6m9ZubJC55tOsPnRBwGWHU08gUrRzUHsrGo6LbBRACUAKLXaDpwzR/4u8gPyd3L6xo3Pp3XiHXiLU/fX1w/IOJ3v1LQBEFSQ4QqDHp0hKebBWRORgrESgMpMbTtmAxug9T8+VwBA3vr1q3R/EVzRyaF+b3l5i5qLfkmJDyI377jMcEGEDjyhG0lBzmgWZvYBAFeZmdnJgRFemUoRHwcreAKQn9+cqrs2tcxjLj+sf69GU1rLY/ZvQ3EDwAXtLQ84xQBJHPZ4KQQWAAQA6KQArL+Cmvupb4Ol6TGAst4c9JC02Z+4VFD/RmHhJNTneip+jNGlu9N+jM52p4lIoY+XAs7mMR0EoMdoJACygf7bm3EN38/ScgqQUea+gXpO57qF9T3ox/WT1ZO7dmmqecyyITe3ovrR51NDB8Zuf2vvEyDemUwmkEIhivoglcJBRWE6WADYbjRWcqCpbcvz0YMPrzzSTZSUUwC+xN2wMzu6PmlH3z68MI4GDMyiEyeGq5NBxKysrB4uLY2tMZ/t2WdVQgMUx4ZsQBQDciKFPUJEcTDbCcDh3HMEYO6WlRUTFlWaTs5naDQUoNrd0IoLsbo09B4+y6nelZ9P69fasrJwUvN41FqttRPu6zMYfCTniSjMwxmSQgECOBxMZwwgV83BndCm5lg5XvfCwnSoytXeb7vHsXAQ70zJyC8rO0Lqq234Y2ApWm17bMIVUymcTiy7XCHqiRQc2hVxAOfULAFooa2fPgXA3i+6D4Tk4FKa3W73kVqoLxtoabEJHNb1eGYmEda1Dk04aABUP0ilgBwMUlAA9lxWrgxuvKGlHgOA++Qls3D+uK6tBF6Gv/nBhoaGYTXUFwbq61eSFdyemXlcAHPrW0GN1mcyxaQQ46VgKskNbVk2lgDUw94j7kMAUlob65qzY/VTqo8UtbXt5Hio319a2lLL0242KmEpUP1jRAqDwaAAKZxO0SyfkoICyGxbCAC/oTQhQFdjY2sKKc+nNDdsKirqyoZn5vrLy+upF+QaSTezHVZrn0DjXrFruhQRfVQKRsaSHqItxMPeA4AT+c1UgpK6k+c5GH7o8evq6s7nIR6or9GUb4h5QW4P3KhdayU2q0StSPei00lscRtIwaBzuvcoAOw94r8UgM2+vn9r1yGOz746d2fRycbGx9WkPt9fqNGUkL2IvQCsVavVQn0BhS1qi8iW6IQSsRQAAK1PADLiAP4Ubi6vTURRGI+vqvVVH6gbwXApmGHiJQuXUhhap3YxoRtbqdKYwTRQu2ggCxXtgAkdksyiowlqkoJRE9AgJqtowK6Kwazsrjv9TzzJvWfu6Ix6oNBCy3fu4/t9Z0omOeAvnkGjYfwIdbSiZdu2taXKqF+IxRT0IrCA6U9MIdth1nqIWJybQyxCQsFRuBvAqw/JP8O8h/xlRSK9TWjBsBuNhg3LJ3z/69WC0N/YWGH6IfDiM8K8OD/PM//K3bk511HAd64G8hmv+aVEMgX85RVJdzeHZfc1GuG3MfxtrVrl+iFgkcOCm1OcsROgzy5gGLEoEgoaOCC8J8yPDaSTjL+8g1Cla1m9SoJiU1LoW7SF+mFg0cYkQS8iC94sLj6/jFi8/2dCHQiMCO/5NtCU3PBT4YtGHBiNf41G15RpdhYDFj3i+teBq2wrwIsv2KpdWJxbWGBeDB8KHCRss0XwxqvVuMzN2S/tAoVdRcRPkEVfk8nvCdQHFj3hLAAvIgtmZ9/wrQB9PgCLo3g6EthL0fwu+mgyV9vVdzok6F/Tie+pFNcPSl+Wl5aeyJwF167/7kXE4mXEIibU7bHAKPV4r9VC/KlNnQWAtwiNJyGL0lz/6vLyUkJCFqAXV8GLq9yLoC+wiAl1Y2/gzC1sQBH0cfhbsXRN9dOX1HIqm212+GWJAwu9LFgVLHgOWBZYxKNYuDcKH6qVhzcPdkD24I+WDWOL+uhHSKWULRXDeG1m4M99WHDzJrJgcRHGb+ZFwDJPqIWFV3sGbzZw8ytOA8kcp4+qWWbTpwGa3oUs3JLZnsvxGEMHsiCELPjNi0wVsCwSauHw0UDgRE00gPwt8waktG72xMV3svBHVtdLOUq4fsHRD6+AvmDBJ4alCTEiARYf8qMALL4evGSw/5A0NH/Mh79E3mkbLGdEqeGirls7CuW/8rlaKMSZPlnJ5Dd8WABPXWGBxaCDxfUz7O0SpI/gr5NARbuNlwCXr+0YltHsqFw/t+ZwQ1oBFnlYQF5MTb0JOSOSmBbvq4f3BaD2rA/p48JfyuGvqrXtXoS4zDdeNEzT2pqWeBbW12BoQS8uZTI4F1y77rAAvQi5LLAIXpiojQaGdXwbGlirIn2Qv0yg27Bz1JGXyjAKtHsK5dEtQRa0hP4SsmDVlwXPQZ9dwCEWp0fgVRu2BXCRBP4m+9nvhLimAH0c9Iik0sly127bRiWoOlkYjaK+rAALFcnDAhgR36K+MyJ9eAj/GGEbwG6BHHfwR4LfS/1JIrZgs9HViBrpaE3LhurD8rn+pZ/JaFTj61eWgeYuFgT/ZMEqYHk1KLBIwYOswAg0LvAnNUuptMNfVWlvbjasXhcmEaheTsUwlDuQRagvKzMIcxIGfR8WzDpefD4/D1isnUH9AQvc/C3qWUVYj2rWJi+7l5OpyELIoqji0o9LHha8By/yVt7MsscVHJHgo/2uOvbIxd+KXoqrLuxNVrptu20MJhFKRF9JyMK00I994cZYyd/xYcEzGNH4ViwOsLg9BhYUte9k1Rk/aRkmfvqb9eV0Ih3ik4h4Lss2H6E+sPizRBgL8nkPC9jjUogRaIhlOoJvGeE1uBAtOwGgW0VsAK+iLBF3S/Lguaw4KTv6BdS/msnkkQWuGV148cXAi+ohSKE/O6iLADD6cvAfpU4WIQsrkpjhCnVCWC+ZTMY7F7wEL2Iuw4gUol596OD8epD7sGd0x8nf9WmiXyply9OEXUatWl2r8/UrS/9hwXBE2h4BfW8d3VuT2AJ3TUvz3QJ8LtT1lEa5GYChqC8nlnC2hVy+5swFn5AFZMiC9bEjAf86fegds4FpuhLILwv7CZ6FoL/WEvrAItQHFjksuO6wYGrqQe0UAshbR07WKGhoZnvXvwFClR3LsoqhCGZhq9XKyVwfWPjlnyz4ODX7+OA5f21E0tg6JeN623ok+S1f3tINQy+rEtevR6NR1H+yPDPzmTBR0N9w6XOyP5t9ODLqu3w3EU4cf1dr2u0y9Vt+3zTMHVcWJj36zIv5Ow4LriEL1AfzY6OQf/+vPWfPm2Z/W/KYr2KZplEMYxaGKqAfn2aaoB+rB7m+YBFjAaHb6+uHj50R8PvfNuw5cfH84UMH3Pok122bZvcH5Y2RztdUEvTxnwqxWD3MNl3J5PNuFkwcGDm+d3SP/97/AhJojZpbharQAAAAAElFTkSuQmCC";
|
|
15527
15621
|
const XAMAN_PENDING_RECOVERY_TTL_MS = 18e4;
|
|
15622
|
+
const XAMAN_RESTORE_READY_TIMEOUT_MS = 2500;
|
|
15528
15623
|
class XamanAdapter extends BaseWalletAdapter {
|
|
15529
15624
|
constructor(options) {
|
|
15530
15625
|
super();
|
|
@@ -15548,7 +15643,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
15548
15643
|
async connect(options) {
|
|
15549
15644
|
await this.setPendingRecoveryMarker();
|
|
15550
15645
|
try {
|
|
15551
|
-
const result = await this.authorize();
|
|
15646
|
+
const result = await this.withAbort(this.authorize(), options.signal);
|
|
15552
15647
|
if (result instanceof Error)
|
|
15553
15648
|
throw result;
|
|
15554
15649
|
const connectResult = await this.createConnectResultFromAuth(result, options);
|
|
@@ -15578,7 +15673,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
15578
15673
|
if (!await this.hasPendingRecoveryMarker())
|
|
15579
15674
|
return null;
|
|
15580
15675
|
try {
|
|
15581
|
-
const result = await this.authorize();
|
|
15676
|
+
const result = await this.withAbort(this.authorize(), options.signal);
|
|
15582
15677
|
if (!result || result instanceof Error) {
|
|
15583
15678
|
this.clearPendingRecoveryMarker();
|
|
15584
15679
|
return null;
|
|
@@ -15642,19 +15737,24 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
15642
15737
|
});
|
|
15643
15738
|
}
|
|
15644
15739
|
async checkXamanState(options = {}) {
|
|
15645
|
-
var _a2, _b, _c, _d
|
|
15646
|
-
if (!
|
|
15740
|
+
var _a2, _b, _c, _d;
|
|
15741
|
+
if (!this.sdk)
|
|
15647
15742
|
return null;
|
|
15648
|
-
|
|
15743
|
+
await this.waitForSdkReady(this.sdk);
|
|
15744
|
+
const openid = await this.resolveSdkValue((_a2 = this.sdk.environment) == null ? void 0 : _a2.openid);
|
|
15745
|
+
const accountAddress = await this.resolveSdkValue((_b = this.sdk.user) == null ? void 0 : _b.account) ?? ((_c = this.sdk.state) == null ? void 0 : _c.account) ?? (openid == null ? void 0 : openid.account) ?? (openid == null ? void 0 : openid.sub);
|
|
15649
15746
|
if (!accountAddress)
|
|
15650
15747
|
return null;
|
|
15651
15748
|
return {
|
|
15652
15749
|
account: {
|
|
15653
15750
|
address: accountAddress,
|
|
15654
15751
|
network: options.network,
|
|
15655
|
-
networkType: await this.resolveSdkValue((
|
|
15752
|
+
networkType: await this.resolveSdkValue((_d = this.sdk.user) == null ? void 0 : _d.networkType) ?? (openid == null ? void 0 : openid.networkType)
|
|
15656
15753
|
},
|
|
15657
|
-
raw:
|
|
15754
|
+
raw: {
|
|
15755
|
+
state: this.sdk.state,
|
|
15756
|
+
openid
|
|
15757
|
+
}
|
|
15658
15758
|
};
|
|
15659
15759
|
}
|
|
15660
15760
|
requireSdk() {
|
|
@@ -15730,6 +15830,20 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
15730
15830
|
async resolveSdkValue(value) {
|
|
15731
15831
|
return value instanceof Promise ? value : value;
|
|
15732
15832
|
}
|
|
15833
|
+
async waitForSdkReady(sdk) {
|
|
15834
|
+
var _a2, _b, _c;
|
|
15835
|
+
const readySignals = [
|
|
15836
|
+
(_a2 = sdk.environment) == null ? void 0 : _a2.ready,
|
|
15837
|
+
(_b = sdk.environment) == null ? void 0 : _b.retrieved,
|
|
15838
|
+
(_c = sdk.environment) == null ? void 0 : _c.success
|
|
15839
|
+
].filter((signal) => Boolean(signal));
|
|
15840
|
+
if (!readySignals.length)
|
|
15841
|
+
return;
|
|
15842
|
+
await Promise.race([
|
|
15843
|
+
Promise.race(readySignals).then(() => void 0),
|
|
15844
|
+
new Promise((resolve) => setTimeout(resolve, XAMAN_RESTORE_READY_TIMEOUT_MS))
|
|
15845
|
+
]);
|
|
15846
|
+
}
|
|
15733
15847
|
clearPkceStorage() {
|
|
15734
15848
|
var _a2;
|
|
15735
15849
|
if (typeof window === "undefined")
|
|
@@ -15739,6 +15853,37 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
15739
15853
|
} catch {
|
|
15740
15854
|
}
|
|
15741
15855
|
}
|
|
15856
|
+
withAbort(promise, signal) {
|
|
15857
|
+
if (!signal)
|
|
15858
|
+
return promise;
|
|
15859
|
+
if (signal.aborted)
|
|
15860
|
+
return Promise.reject(createWalletError.connectionRejected(this.metadata.name, new Error("Connection was cancelled")));
|
|
15861
|
+
return new Promise((resolve, reject) => {
|
|
15862
|
+
let settled = false;
|
|
15863
|
+
const cleanup = () => signal.removeEventListener("abort", abort);
|
|
15864
|
+
const abort = () => {
|
|
15865
|
+
if (settled)
|
|
15866
|
+
return;
|
|
15867
|
+
settled = true;
|
|
15868
|
+
cleanup();
|
|
15869
|
+
reject(createWalletError.connectionRejected(this.metadata.name, new Error("Connection was cancelled")));
|
|
15870
|
+
};
|
|
15871
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
15872
|
+
promise.then((value) => {
|
|
15873
|
+
if (settled)
|
|
15874
|
+
return;
|
|
15875
|
+
settled = true;
|
|
15876
|
+
cleanup();
|
|
15877
|
+
resolve(value);
|
|
15878
|
+
}, (error) => {
|
|
15879
|
+
if (settled)
|
|
15880
|
+
return;
|
|
15881
|
+
settled = true;
|
|
15882
|
+
cleanup();
|
|
15883
|
+
reject(error);
|
|
15884
|
+
});
|
|
15885
|
+
});
|
|
15886
|
+
}
|
|
15742
15887
|
getPendingRecoveryKey() {
|
|
15743
15888
|
return `xwk.xaman.pending.${this.options.apiKey ?? "injected"}`;
|
|
15744
15889
|
}
|
|
@@ -15795,8 +15940,8 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
15795
15940
|
async connect(options) {
|
|
15796
15941
|
var _a2;
|
|
15797
15942
|
const ethereum = this.ethereum();
|
|
15798
|
-
await ethereum.request({ method: "wallet_requestSnaps", params: { [this.snapId]: {} } });
|
|
15799
|
-
const snap = await ethereum.request({ method: "wallet_invokeSnap", params: { snapId: this.snapId, request: { method: "xrpl_getAccount" } } });
|
|
15943
|
+
await this.withAbort(ethereum.request({ method: "wallet_requestSnaps", params: { [this.snapId]: {} } }), options.signal);
|
|
15944
|
+
const snap = await this.withAbort(ethereum.request({ method: "wallet_invokeSnap", params: { snapId: this.snapId, request: { method: "xrpl_getAccount" } } }), options.signal);
|
|
15800
15945
|
const address = snap.account;
|
|
15801
15946
|
if (!address)
|
|
15802
15947
|
throw new Error("XRPL Snap did not return an XRPL address");
|
|
@@ -15938,6 +16083,37 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
15938
16083
|
throw new Error("No MetaMask provider installed");
|
|
15939
16084
|
return ethereum;
|
|
15940
16085
|
}
|
|
16086
|
+
withAbort(promise, signal) {
|
|
16087
|
+
if (!signal)
|
|
16088
|
+
return promise;
|
|
16089
|
+
if (signal.aborted)
|
|
16090
|
+
return Promise.reject(createWalletError.connectionRejected(this.metadata.name, new Error("Connection was cancelled")));
|
|
16091
|
+
return new Promise((resolve, reject) => {
|
|
16092
|
+
let settled = false;
|
|
16093
|
+
const cleanup = () => signal.removeEventListener("abort", abort);
|
|
16094
|
+
const abort = () => {
|
|
16095
|
+
if (settled)
|
|
16096
|
+
return;
|
|
16097
|
+
settled = true;
|
|
16098
|
+
cleanup();
|
|
16099
|
+
reject(createWalletError.connectionRejected(this.metadata.name, new Error("Connection was cancelled")));
|
|
16100
|
+
};
|
|
16101
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
16102
|
+
promise.then((value) => {
|
|
16103
|
+
if (settled)
|
|
16104
|
+
return;
|
|
16105
|
+
settled = true;
|
|
16106
|
+
cleanup();
|
|
16107
|
+
resolve(value);
|
|
16108
|
+
}, (error) => {
|
|
16109
|
+
if (settled)
|
|
16110
|
+
return;
|
|
16111
|
+
settled = true;
|
|
16112
|
+
cleanup();
|
|
16113
|
+
reject(error);
|
|
16114
|
+
});
|
|
16115
|
+
});
|
|
16116
|
+
}
|
|
15941
16117
|
}
|
|
15942
16118
|
function createXrplSnapAdapter(options) {
|
|
15943
16119
|
return new XrplSnapAdapter(options);
|
|
@@ -15951,11 +16127,11 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
15951
16127
|
error: "#b45309",
|
|
15952
16128
|
success: "#059669",
|
|
15953
16129
|
muted: "#64748b",
|
|
15954
|
-
border: "
|
|
16130
|
+
border: "rgba(17,24,39,.08)",
|
|
15955
16131
|
overlay: "rgba(15,23,42,.46)",
|
|
15956
16132
|
overlayBlur: 0,
|
|
15957
16133
|
surface: "#f8fafc",
|
|
15958
|
-
surfaceHover: "
|
|
16134
|
+
surfaceHover: "rgba(17,24,39,.04)",
|
|
15959
16135
|
fallbackIconBackground: "rgba(15,23,42,.06)",
|
|
15960
16136
|
fallbackIconColor: "#111827",
|
|
15961
16137
|
shadow: "0 8px 40px rgba(15,23,42,.12), 0 0 0 1px rgba(15,23,42,.04)",
|
|
@@ -15973,7 +16149,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
15973
16149
|
error: "#fbbf24",
|
|
15974
16150
|
success: "#34d399",
|
|
15975
16151
|
muted: "#94a3b8",
|
|
15976
|
-
border: "
|
|
16152
|
+
border: "rgba(248,250,252,.10)",
|
|
15977
16153
|
overlay: "rgba(2,6,23,.72)",
|
|
15978
16154
|
overlayBlur: 0,
|
|
15979
16155
|
surface: "#1f2937",
|
|
@@ -16036,12 +16212,12 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
16036
16212
|
muted: "#64748b",
|
|
16037
16213
|
border: "rgba(255,255,255,.50)",
|
|
16038
16214
|
overlay: "rgba(15,23,42,.30)",
|
|
16039
|
-
overlayBlur:
|
|
16215
|
+
overlayBlur: 24,
|
|
16040
16216
|
surface: "rgba(255,255,255,.52)",
|
|
16041
16217
|
surfaceHover: "rgba(255,255,255,.66)",
|
|
16042
16218
|
fallbackIconBackground: "rgba(99,102,241,.15)",
|
|
16043
16219
|
fallbackIconColor: "#6366f1",
|
|
16044
|
-
shadow: "0
|
|
16220
|
+
shadow: "0 0 0 1px rgba(255,255,255,.08), 0 12px 40px rgba(15,23,42,.24)",
|
|
16045
16221
|
radius: "20px",
|
|
16046
16222
|
walletRadius: "14px",
|
|
16047
16223
|
spinnerTrail: "rgba(99,102,241,.15)",
|
|
@@ -16268,15 +16444,18 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
16268
16444
|
const accountPanel = ui.accountPanel ?? {};
|
|
16269
16445
|
const identity2 = ui.identity ?? {};
|
|
16270
16446
|
const { accountPanelMode: overrideAccountPanelMode, ...restOverrides } = overrides;
|
|
16447
|
+
const themeMode = ui.mode ?? ui.themeMode ?? overrides.themeMode ?? "light";
|
|
16271
16448
|
const theme = {
|
|
16272
|
-
...resolveWalletTheme({ mode:
|
|
16449
|
+
...resolveWalletTheme({ mode: themeMode, themeName: ui.themeName }),
|
|
16450
|
+
...ui.theme ?? {},
|
|
16273
16451
|
...ui.customTheme ?? {},
|
|
16274
16452
|
...overrides.theme ?? {}
|
|
16275
16453
|
};
|
|
16276
|
-
return createDefaultWalletButtonConfig({
|
|
16454
|
+
return createDefaultWalletButtonConfig(compactWalletButtonConfig({
|
|
16277
16455
|
language: ui.language,
|
|
16278
16456
|
messages: resolveWalletUiMessages(ui.language, ui.messages),
|
|
16279
16457
|
label: connectButton.label,
|
|
16458
|
+
icon: connectButton.icon,
|
|
16280
16459
|
showAdapterIcon: connectButton.showAdapterIcon,
|
|
16281
16460
|
showChevron: connectButton.showChevron,
|
|
16282
16461
|
showBalance: connectButton.showBalance,
|
|
@@ -16291,18 +16470,19 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
16291
16470
|
showWeb3Name: identity2.enabled ?? true,
|
|
16292
16471
|
fallbackToAddress: identity2.fallbackToAddress,
|
|
16293
16472
|
identityResolver: identity2.resolver,
|
|
16294
|
-
themeMode
|
|
16473
|
+
themeMode,
|
|
16295
16474
|
themeName: ui.themeName,
|
|
16296
16475
|
...restOverrides,
|
|
16297
16476
|
accountPanelMode: overrideAccountPanelMode ?? accountPanel.mode ?? "modal",
|
|
16298
16477
|
theme
|
|
16299
|
-
});
|
|
16478
|
+
}));
|
|
16300
16479
|
}
|
|
16301
16480
|
function createDefaultWalletButtonConfig(overrides = {}) {
|
|
16302
16481
|
const { theme, ...rest } = overrides;
|
|
16303
16482
|
const messages = resolveWalletUiMessages(overrides.language, overrides.messages);
|
|
16304
|
-
return {
|
|
16483
|
+
return compactWalletButtonConfig({
|
|
16305
16484
|
showWeb3Name: true,
|
|
16485
|
+
icon: { type: "default" },
|
|
16306
16486
|
showAdapterIcon: true,
|
|
16307
16487
|
showChevron: true,
|
|
16308
16488
|
showBalance: false,
|
|
@@ -16324,7 +16504,10 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
16324
16504
|
...resolveWalletTheme({ mode: rest.themeMode ?? "light", themeName: rest.themeName }),
|
|
16325
16505
|
...theme ?? {}
|
|
16326
16506
|
}
|
|
16327
|
-
};
|
|
16507
|
+
});
|
|
16508
|
+
}
|
|
16509
|
+
function compactWalletButtonConfig(config) {
|
|
16510
|
+
return Object.fromEntries(Object.entries(config).filter(([, value]) => value !== void 0));
|
|
16328
16511
|
}
|
|
16329
16512
|
var qrCodeStyling$1 = { exports: {} };
|
|
16330
16513
|
var qrCodeStyling = qrCodeStyling$1.exports;
|
|
@@ -19620,13 +19803,6 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
19620
19803
|
window.scrollTo(0, savedScrollY);
|
|
19621
19804
|
savedScrollY = 0;
|
|
19622
19805
|
}
|
|
19623
|
-
function getWalletStyleId(prefix, styles2) {
|
|
19624
|
-
let hash2 = 5381;
|
|
19625
|
-
for (let index2 = 0; index2 < styles2.length; index2 += 1) {
|
|
19626
|
-
hash2 = (hash2 << 5) + hash2 ^ styles2.charCodeAt(index2);
|
|
19627
|
-
}
|
|
19628
|
-
return `${prefix}-${(hash2 >>> 0).toString(36)}`;
|
|
19629
|
-
}
|
|
19630
19806
|
function ensureWalletStyle(id2, styles2) {
|
|
19631
19807
|
if (typeof document === "undefined")
|
|
19632
19808
|
return;
|
|
@@ -19636,6 +19812,8 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
19636
19812
|
element = document.createElement("style");
|
|
19637
19813
|
element.dataset.xwkStyle = id2;
|
|
19638
19814
|
document.head.appendChild(element);
|
|
19815
|
+
} else if (element.nextSibling) {
|
|
19816
|
+
document.head.appendChild(element);
|
|
19639
19817
|
}
|
|
19640
19818
|
if (element.textContent !== styles2)
|
|
19641
19819
|
element.textContent = styles2;
|
|
@@ -19654,6 +19832,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
19654
19832
|
this.qrCopied = false;
|
|
19655
19833
|
this.qrLightMode = false;
|
|
19656
19834
|
this.availability = {};
|
|
19835
|
+
this.availabilityLoading = false;
|
|
19657
19836
|
this.offEvents = [];
|
|
19658
19837
|
this.openHandlers = /* @__PURE__ */ new Set();
|
|
19659
19838
|
this.closeHandlers = /* @__PURE__ */ new Set();
|
|
@@ -19672,6 +19851,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
19672
19851
|
}
|
|
19673
19852
|
open() {
|
|
19674
19853
|
this.activeGroupId = void 0;
|
|
19854
|
+
this.availabilityLoading = true;
|
|
19675
19855
|
this.lastFocusedElement = document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
19676
19856
|
this.renderView("list");
|
|
19677
19857
|
this.openHandlers.forEach((handler) => handler());
|
|
@@ -20073,7 +20253,11 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20073
20253
|
}
|
|
20074
20254
|
async refreshAvailability() {
|
|
20075
20255
|
var _a2;
|
|
20076
|
-
|
|
20256
|
+
try {
|
|
20257
|
+
this.availability = await this.options.manager.getWalletAvailability();
|
|
20258
|
+
} finally {
|
|
20259
|
+
this.availabilityLoading = false;
|
|
20260
|
+
}
|
|
20077
20261
|
if (((_a2 = this.root) == null ? void 0 : _a2.dataset.xwkView) !== "list")
|
|
20078
20262
|
return;
|
|
20079
20263
|
const grid = this.root.querySelector(".xwk-grid");
|
|
@@ -20403,7 +20587,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20403
20587
|
this.bindChrome();
|
|
20404
20588
|
}
|
|
20405
20589
|
renderQrLoading() {
|
|
20406
|
-
return `<span class="xwk-qr-loading" role="status" aria-live="polite"><span class="xwk-qr-
|
|
20590
|
+
return `<span class="xwk-qr-loading xwk-qr-loading-skeleton" role="status" aria-live="polite"><span class="xwk-skeleton xwk-skeleton-qr xwk-qr-skeleton" aria-hidden="true"></span><span class="xwk-sr-only">${this.escapeHtml(this.messages().generatingQr)}</span></span>`;
|
|
20407
20591
|
}
|
|
20408
20592
|
renderQrCopyButtonContent() {
|
|
20409
20593
|
const messages = this.messages();
|
|
@@ -20479,11 +20663,12 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20479
20663
|
}
|
|
20480
20664
|
ensureStyles(theme, layout, size2, textSize) {
|
|
20481
20665
|
const styles2 = `${this.renderStyles(theme, layout, size2, textSize)}${this.renderMobileSheetOverrides(theme)}`;
|
|
20482
|
-
ensureWalletStyle(
|
|
20666
|
+
ensureWalletStyle("xwk-modal", styles2);
|
|
20483
20667
|
}
|
|
20484
20668
|
renderMobileSheetOverrides(theme) {
|
|
20485
20669
|
const inlineOverrides = `.xwk-inline{background:transparent!important;display:block!important;inset:auto!important;opacity:1!important;overflow:visible!important;padding:0!important;place-items:initial!important;position:relative!important;z-index:auto!important}.xwk-inline .xwk-modal{border:1px solid ${theme.border}!important;border-radius:${theme.radius}!important;box-shadow:none!important;max-height:none!important;max-width:none!important;opacity:1!important;transform:none!important;transition:none!important;width:100%!important}.xwk-inline .xwk-body{max-height:none!important}.xwk-inline .xwk-header-spacer{display:block;height:44px;width:44px}.xwk-inline[data-xwk-state="closing"] .xwk-modal{opacity:1!important;transform:none!important}`;
|
|
20486
|
-
|
|
20670
|
+
const skeletonOverrides = `.xwk-skeleton{animation:xwk-qr-skeleton-pulse 1.4s ease-in-out infinite;background:linear-gradient(90deg,${theme.surface} 25%,${theme.surfaceHover} 50%,${theme.surface} 75%);background-size:200% 100%;display:inline-block}.xwk-skeleton-circle{border-radius:999px}.xwk-skeleton-line{height:14px;border-radius:4px}.xwk-skeleton-pill{border-radius:999px}.xwk-skeleton-card,.xwk-skeleton-button{border-radius:${theme.walletRadius}}.xwk-skeleton-row{align-items:center;display:flex;gap:12px;width:100%}.xwk-qr-loading-skeleton{display:grid;height:100%;place-items:center;width:100%}.xwk-qr-skeleton{border-radius:12px;box-sizing:border-box;display:block;height:calc(100% - 16px);overflow:hidden;position:relative;width:calc(100% - 16px)}.xwk-qr-skeleton:before{background-image:radial-gradient(circle,${theme.muted} 0 2px,transparent 2.8px);background-size:14px 14px;content:"";inset:24px;opacity:.26;position:absolute}.xwk-wallet-badge-loading{color:transparent;min-width:72px;visibility:visible}.xwk-wallet-badge-loading:before{display:none}@keyframes xwk-qr-skeleton-pulse{0%{background-position:200% 0}100%{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.xwk-skeleton,.xwk-qr-skeleton{animation:none!important;background:${theme.surfaceHover}!important}}`;
|
|
20671
|
+
return `${skeletonOverrides}.xwk-modal:focus{outline:none}.xwk-sr-only{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.xwk-error-text,.xwk-connect-status.xwk-error-text,.xwk-qr-loading.xwk-error-text{color:${theme.error}!important}.xwk-close,.xwk-back{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;appearance:none;background:transparent!important;border:0!important;box-shadow:none!important;margin:0;outline:none!important}.xwk-close:focus-visible,.xwk-back:focus-visible{outline:2px solid ${theme.accent}!important;outline-offset:0}@media(max-width:640px){.xwk-overlay{padding:max(12px,env(safe-area-inset-top)) 0 0!important;place-items:end center!important}.xwk-modal{align-self:end!important;border-bottom:0!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;border-left:0!important;border-right:0!important;border-top-left-radius:${theme.radius}!important;border-top-right-radius:${theme.radius}!important;height:auto!important;max-height:calc(100dvh - env(safe-area-inset-top))!important;max-width:none!important;width:100vw!important}.xwk-header{border-top-left-radius:${theme.radius};border-top-right-radius:${theme.radius}}.xwk-body{padding-bottom:max(6px,calc(6px + env(safe-area-inset-bottom)))!important}.xwk-overlay[data-xwk-view="list"] .xwk-body{padding-bottom:max(2px,calc(2px + env(safe-area-inset-bottom)))!important}.xwk-network-row{margin:-4px 0 8px!important}.xwk-overlay[data-xwk-view="list"] .xwk-footer{padding-top:6px!important}}${inlineOverrides}`;
|
|
20487
20672
|
}
|
|
20488
20673
|
renderWalletList(layout) {
|
|
20489
20674
|
const groups = this.getGroups();
|
|
@@ -20521,8 +20706,12 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20521
20706
|
if (wallet.recommended)
|
|
20522
20707
|
badges.push(`<span class="xwk-wallet-badge xwk-recommended">${this.escapeHtml(messages.recommended || "Recommended")}</span>`);
|
|
20523
20708
|
if (isExtensionLike) {
|
|
20524
|
-
|
|
20525
|
-
|
|
20709
|
+
if (this.availabilityLoading) {
|
|
20710
|
+
badges.push(`<span class="xwk-wallet-badge xwk-wallet-badge-loading xwk-skeleton xwk-skeleton-pill" aria-hidden="true"></span>`);
|
|
20711
|
+
} else {
|
|
20712
|
+
const className = this.availability[wallet.id] ? "xwk-wallet-badge xwk-installed" : "xwk-wallet-badge";
|
|
20713
|
+
badges.push(`<span class="${className}">${this.escapeHtml(messages.installed || "Installed")}</span>`);
|
|
20714
|
+
}
|
|
20526
20715
|
}
|
|
20527
20716
|
if (!badges.length)
|
|
20528
20717
|
return "";
|
|
@@ -20821,10 +21010,11 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20821
21010
|
this.balanceLoading = false;
|
|
20822
21011
|
this.activationStatus = "unknown";
|
|
20823
21012
|
this.balanceRequest = 0;
|
|
21013
|
+
this.balanceDebounceSession = null;
|
|
20824
21014
|
this.balanceRefreshTimers = /* @__PURE__ */ new Set();
|
|
20825
21015
|
this.panelOpen = false;
|
|
20826
21016
|
this.addressQrOpen = false;
|
|
20827
|
-
this.
|
|
21017
|
+
this.historyOpen = false;
|
|
20828
21018
|
this.panelScrollLocked = false;
|
|
20829
21019
|
this.connecting = false;
|
|
20830
21020
|
this.copied = false;
|
|
@@ -20839,6 +21029,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20839
21029
|
language: options.language,
|
|
20840
21030
|
messages,
|
|
20841
21031
|
label: messages.connectWallet,
|
|
21032
|
+
icon: { type: "default" },
|
|
20842
21033
|
showAdapterIcon: true,
|
|
20843
21034
|
showChevron: true,
|
|
20844
21035
|
showWeb3Name: true,
|
|
@@ -20860,7 +21051,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20860
21051
|
balanceResolver: options.balanceResolver ?? createXrpBalanceResolver(),
|
|
20861
21052
|
explorerUrl: options.explorerUrl,
|
|
20862
21053
|
formatAddress: options.formatAddress,
|
|
20863
|
-
...options
|
|
21054
|
+
...compactButtonOptions(options)
|
|
20864
21055
|
};
|
|
20865
21056
|
this.offEvents.push(options.manager.on("connecting", () => {
|
|
20866
21057
|
this.connecting = true;
|
|
@@ -20870,6 +21061,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20870
21061
|
this.connecting = false;
|
|
20871
21062
|
this.panelOpen = false;
|
|
20872
21063
|
this.addressQrOpen = false;
|
|
21064
|
+
this.historyOpen = false;
|
|
20873
21065
|
this.renderConnectedState(session ?? options.manager.getSession());
|
|
20874
21066
|
void this.resolveBalance(session ?? options.manager.getSession());
|
|
20875
21067
|
}));
|
|
@@ -20890,12 +21082,14 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20890
21082
|
this.connecting = false;
|
|
20891
21083
|
this.panelOpen = false;
|
|
20892
21084
|
this.addressQrOpen = false;
|
|
21085
|
+
this.historyOpen = false;
|
|
20893
21086
|
this.identityName = null;
|
|
20894
21087
|
this.identityAvatar = null;
|
|
20895
21088
|
this.identityRequest += 1;
|
|
20896
21089
|
this.identityResolvingKey = void 0;
|
|
20897
21090
|
this.clearIdentitySettleTimer();
|
|
20898
21091
|
this.clearBalanceRefreshTimers();
|
|
21092
|
+
this.clearBalanceDebounce();
|
|
20899
21093
|
this.balanceRequest += 1;
|
|
20900
21094
|
this.balance = null;
|
|
20901
21095
|
this.balanceLoading = false;
|
|
@@ -20908,7 +21102,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20908
21102
|
}));
|
|
20909
21103
|
this.offEvents.push(options.manager.on("tx_confirmed", () => {
|
|
20910
21104
|
this.clearBalanceRefreshTimers();
|
|
20911
|
-
|
|
21105
|
+
this.queueBalanceRefresh(options.manager.getSession());
|
|
20912
21106
|
this.render();
|
|
20913
21107
|
}));
|
|
20914
21108
|
this.offEvents.push(options.manager.on("tx_failed", () => {
|
|
@@ -20918,13 +21112,13 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20918
21112
|
this.clearBalanceRefreshTimers();
|
|
20919
21113
|
const session = options.manager.getSession();
|
|
20920
21114
|
this.renderConnectedState(session);
|
|
20921
|
-
|
|
21115
|
+
this.queueBalanceRefresh(session);
|
|
20922
21116
|
}));
|
|
20923
21117
|
this.offEvents.push(options.manager.on("networkChanged", () => {
|
|
20924
21118
|
this.clearBalanceRefreshTimers();
|
|
20925
21119
|
const session = options.manager.getSession();
|
|
20926
21120
|
this.renderConnectedState(session);
|
|
20927
|
-
|
|
21121
|
+
this.queueBalanceRefresh(session);
|
|
20928
21122
|
}));
|
|
20929
21123
|
this.offEvents.push(options.manager.on("error", () => {
|
|
20930
21124
|
this.connecting = false;
|
|
@@ -20975,6 +21169,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20975
21169
|
this.identityRequest += 1;
|
|
20976
21170
|
this.identityResolvingKey = void 0;
|
|
20977
21171
|
this.clearBalanceRefreshTimers();
|
|
21172
|
+
this.clearBalanceDebounce();
|
|
20978
21173
|
if (this.copyResetTimer)
|
|
20979
21174
|
window.clearTimeout(this.copyResetTimer);
|
|
20980
21175
|
if (this.identitySettleTimer)
|
|
@@ -20988,9 +21183,15 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
20988
21183
|
if (!this.target)
|
|
20989
21184
|
return;
|
|
20990
21185
|
this.target.innerHTML = "";
|
|
20991
|
-
|
|
20992
|
-
|
|
20993
|
-
|
|
21186
|
+
try {
|
|
21187
|
+
this.target.appendChild(this.createRoot());
|
|
21188
|
+
this.syncAccountPanelPortal();
|
|
21189
|
+
this.syncPanelListeners();
|
|
21190
|
+
} catch (error) {
|
|
21191
|
+
this.removeAccountPanelPortal();
|
|
21192
|
+
this.syncPanelScrollLock(false);
|
|
21193
|
+
this.target.appendChild(this.createRenderFallback(error));
|
|
21194
|
+
}
|
|
20994
21195
|
}
|
|
20995
21196
|
createRoot() {
|
|
20996
21197
|
var _a2;
|
|
@@ -21008,6 +21209,25 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21008
21209
|
this.renderAddressQrIfNeeded(root);
|
|
21009
21210
|
return root;
|
|
21010
21211
|
}
|
|
21212
|
+
createRenderFallback(_error) {
|
|
21213
|
+
var _a2;
|
|
21214
|
+
const root = document.createElement("div");
|
|
21215
|
+
root.className = "xwk-button-root";
|
|
21216
|
+
try {
|
|
21217
|
+
this.ensureStyles();
|
|
21218
|
+
} catch {
|
|
21219
|
+
}
|
|
21220
|
+
root.innerHTML = `<button class="xwk-account-button" data-xwk-wallet-reset type="button"><span class="xwk-button-label">${this.escapeHtml("Reset wallet")}</span></button>`;
|
|
21221
|
+
(_a2 = root.querySelector("[data-xwk-wallet-reset]")) == null ? void 0 : _a2.addEventListener("click", (event) => {
|
|
21222
|
+
event.stopPropagation();
|
|
21223
|
+
this.connecting = false;
|
|
21224
|
+
this.panelOpen = false;
|
|
21225
|
+
this.addressQrOpen = false;
|
|
21226
|
+
this.historyOpen = false;
|
|
21227
|
+
void this.options.manager.disconnect();
|
|
21228
|
+
});
|
|
21229
|
+
return root;
|
|
21230
|
+
}
|
|
21011
21231
|
onButtonClick() {
|
|
21012
21232
|
const session = this.options.manager.getSession();
|
|
21013
21233
|
if (!session) {
|
|
@@ -21022,6 +21242,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21022
21242
|
closePanel() {
|
|
21023
21243
|
this.panelOpen = false;
|
|
21024
21244
|
this.addressQrOpen = false;
|
|
21245
|
+
this.historyOpen = false;
|
|
21025
21246
|
this.render();
|
|
21026
21247
|
}
|
|
21027
21248
|
handleDocumentPointerDown(event) {
|
|
@@ -21034,6 +21255,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21034
21255
|
return;
|
|
21035
21256
|
this.panelOpen = false;
|
|
21036
21257
|
this.addressQrOpen = false;
|
|
21258
|
+
this.historyOpen = false;
|
|
21037
21259
|
this.render();
|
|
21038
21260
|
}
|
|
21039
21261
|
handleDocumentKeyDown(event) {
|
|
@@ -21042,6 +21264,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21042
21264
|
if (event.key === "Escape") {
|
|
21043
21265
|
this.panelOpen = false;
|
|
21044
21266
|
this.addressQrOpen = false;
|
|
21267
|
+
this.historyOpen = false;
|
|
21045
21268
|
this.render();
|
|
21046
21269
|
return;
|
|
21047
21270
|
}
|
|
@@ -21106,7 +21329,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21106
21329
|
(_a2 = root.querySelector("[data-xwk-account-close]")) == null ? void 0 : _a2.addEventListener("click", () => this.closePanel());
|
|
21107
21330
|
(_b = root.querySelector("[data-xwk-account-back]")) == null ? void 0 : _b.addEventListener("click", (event) => {
|
|
21108
21331
|
event.stopPropagation();
|
|
21109
|
-
this.
|
|
21332
|
+
this.closeSubView();
|
|
21110
21333
|
});
|
|
21111
21334
|
(_c = root.querySelector("[data-xwk-account-overlay]")) == null ? void 0 : _c.addEventListener("click", (event) => {
|
|
21112
21335
|
if (event.target === event.currentTarget)
|
|
@@ -21120,10 +21343,9 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21120
21343
|
event.stopPropagation();
|
|
21121
21344
|
this.openAddressQr();
|
|
21122
21345
|
});
|
|
21123
|
-
(_f = root.querySelector("[data-xwk-tx-
|
|
21346
|
+
(_f = root.querySelector("[data-xwk-tx-history]")) == null ? void 0 : _f.addEventListener("click", (event) => {
|
|
21124
21347
|
event.stopPropagation();
|
|
21125
|
-
this.
|
|
21126
|
-
this.render();
|
|
21348
|
+
this.openTransactionHistory();
|
|
21127
21349
|
});
|
|
21128
21350
|
(_g = root.querySelector("[data-xwk-disconnect]")) == null ? void 0 : _g.addEventListener("click", () => void this.disconnect());
|
|
21129
21351
|
}
|
|
@@ -21132,10 +21354,20 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21132
21354
|
return;
|
|
21133
21355
|
this.panelOpen = true;
|
|
21134
21356
|
this.addressQrOpen = true;
|
|
21357
|
+
this.historyOpen = false;
|
|
21358
|
+
this.render();
|
|
21359
|
+
}
|
|
21360
|
+
openTransactionHistory() {
|
|
21361
|
+
if (!this.options.manager.getSession())
|
|
21362
|
+
return;
|
|
21363
|
+
this.panelOpen = true;
|
|
21364
|
+
this.addressQrOpen = false;
|
|
21365
|
+
this.historyOpen = true;
|
|
21135
21366
|
this.render();
|
|
21136
21367
|
}
|
|
21137
|
-
|
|
21368
|
+
closeSubView() {
|
|
21138
21369
|
this.addressQrOpen = false;
|
|
21370
|
+
this.historyOpen = false;
|
|
21139
21371
|
this.panelOpen = true;
|
|
21140
21372
|
this.render();
|
|
21141
21373
|
}
|
|
@@ -21357,9 +21589,13 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21357
21589
|
const messages = this.messages();
|
|
21358
21590
|
const session = this.options.manager.getSession();
|
|
21359
21591
|
const connected = Boolean(session);
|
|
21592
|
+
if (this.connecting && !session) {
|
|
21593
|
+
const icon2 = this.options.showAdapterIcon ? `<span class="xwk-button-icon xwk-button-icon-loading" aria-hidden="true"><span class="xwk-skeleton xwk-skeleton-circle xwk-skeleton-button-icon"></span></span>` : "";
|
|
21594
|
+
return `<button class="xwk-account-button xwk-account-button-loading" data-xwk-wallet-button type="button" aria-busy="true" aria-label="${this.escapeHtml(messages.connecting)}">${icon2}<span class="xwk-button-label xwk-button-label-loading" aria-hidden="true"><span class="xwk-skeleton xwk-skeleton-line xwk-skeleton-button-label"></span></span></button>`;
|
|
21595
|
+
}
|
|
21360
21596
|
const label = this.connecting ? messages.connecting : session ? this.getAccountLabel(session) : this.options.label;
|
|
21361
|
-
const balance = session && this.options.showBalance && this.balanceLoading ? `<span class="xwk-button-balance xwk-button-balance-loading"
|
|
21362
|
-
const icon = this.options.showAdapterIcon ? this.renderWalletIcon(
|
|
21597
|
+
const balance = session && this.options.showBalance && this.balanceLoading ? `<span class="xwk-button-balance xwk-button-balance-loading" aria-hidden="true"><span class="xwk-skeleton xwk-skeleton-button-balance"></span></span>` : session && this.options.showBalance && this.activationStatus === "unfunded" ? `<span class="xwk-button-balance">(${this.escapeHtml(messages.notActivated)})</span>` : session && this.options.showBalance && ((_a2 = this.balance) == null ? void 0 : _a2.formatted) ? `<span class="xwk-button-balance">(${this.escapeHtml(this.balance.formatted)})</span>` : "";
|
|
21598
|
+
const icon = this.options.showAdapterIcon ? connected ? this.renderWalletIcon(session == null ? void 0 : session.wallet) : this.renderPreConnectIcon() : "";
|
|
21363
21599
|
const pendingDot = connected && this.options.showRecentTransactions && this.getPendingTransactionCount() > 0 ? `<span class="xwk-button-pending-dot" aria-hidden="true"></span>` : "";
|
|
21364
21600
|
const chevron = connected && this.options.showChevron && this.options.accountPanel ? `<span class="xwk-button-chevron" aria-hidden="true">${this.chevronIcon()}</span>` : "";
|
|
21365
21601
|
return `<button class="xwk-account-button" data-xwk-wallet-button type="button">${icon}${pendingDot}<span class="xwk-button-label">${this.escapeHtml(label)}${balance}</span>${chevron}</button>`;
|
|
@@ -21369,15 +21605,15 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21369
21605
|
const session = this.options.manager.getSession();
|
|
21370
21606
|
if (!session)
|
|
21371
21607
|
return "";
|
|
21372
|
-
const content = this.addressQrOpen ? this.renderAddressQrPanelContent(session) : this.renderPanelContent(session);
|
|
21373
|
-
const title = this.addressQrOpen ? messages.addressQr : messages.connected;
|
|
21374
|
-
const hasTransactions = !this.addressQrOpen && this.options.showRecentTransactions && this.getVisibleTransactions(session).length > 0;
|
|
21375
|
-
const panelStateClass = `${this.addressQrOpen ? " xwk-account-panel-address-qr" : ""}${hasTransactions ? " xwk-account-panel-with-transactions" : ""}`;
|
|
21376
|
-
const leading = this.addressQrOpen ? `<button class="xwk-account-back" type="button" data-xwk-account-back aria-label="${this.escapeHtml(messages.back)}">${this.backIcon()}</button>` : `<span></span>`;
|
|
21608
|
+
const content = this.addressQrOpen ? this.renderAddressQrPanelContent(session) : this.historyOpen ? this.renderTransactionHistoryPanelContent(session) : this.renderPanelContent(session);
|
|
21609
|
+
const title = this.addressQrOpen ? messages.addressQr : this.historyOpen ? messages.recentTransactions : messages.connected;
|
|
21610
|
+
const hasTransactions = !this.addressQrOpen && !this.historyOpen && this.options.showRecentTransactions && this.getVisibleTransactions(session).length > 0;
|
|
21611
|
+
const panelStateClass = `${this.addressQrOpen ? " xwk-account-panel-address-qr" : ""}${this.historyOpen ? " xwk-account-panel-history" : ""}${hasTransactions ? " xwk-account-panel-with-transactions" : ""}`;
|
|
21612
|
+
const leading = this.addressQrOpen || this.historyOpen ? `<button class="xwk-account-back" type="button" data-xwk-account-back aria-label="${this.escapeHtml(messages.back)}">${this.backIcon()}</button>` : `<span></span>`;
|
|
21377
21613
|
if (this.options.accountPanelMode === "modal") {
|
|
21378
21614
|
return `<div class="xwk-account-overlay" data-xwk-account-overlay role="presentation"><section class="xwk-account-panel xwk-account-panel-modal${panelStateClass}" role="dialog" aria-modal="true" aria-label="${this.escapeHtml(title)}" tabindex="-1"><div class="xwk-account-modal-header">${leading}<h2>${this.escapeHtml(title)}</h2><button class="xwk-account-close" type="button" data-xwk-account-close aria-label="${this.escapeHtml(messages.close)}">×</button></div><div class="xwk-account-modal-body">${content}</div></section></div>`;
|
|
21379
21615
|
}
|
|
21380
|
-
const dropdownBack = this.addressQrOpen ? `<div class="xwk-account-dropdown-header"><button class="xwk-account-back" type="button" data-xwk-account-back aria-label="${this.escapeHtml(messages.back)}">${this.backIcon()}</button><strong>${this.escapeHtml(title)}</strong></div>` : "";
|
|
21616
|
+
const dropdownBack = this.addressQrOpen || this.historyOpen ? `<div class="xwk-account-dropdown-header"><button class="xwk-account-back" type="button" data-xwk-account-back aria-label="${this.escapeHtml(messages.back)}">${this.backIcon()}</button><strong>${this.escapeHtml(title)}</strong></div>` : "";
|
|
21381
21617
|
return `<div class="xwk-account-panel xwk-account-panel-dropdown${panelStateClass}" role="dialog" aria-label="${this.escapeHtml(title)}">${dropdownBack}${content}</div>`;
|
|
21382
21618
|
}
|
|
21383
21619
|
renderPanelContent(session) {
|
|
@@ -21394,15 +21630,17 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21394
21630
|
const disconnect = this.options.disconnect ? `<button type="button" data-xwk-disconnect${this.copyInProgress || disconnectBusy ? " disabled" : ""}>${disconnectIcon}<span>${disconnectBusy ? this.escapeHtml(messages.disconnecting) : this.escapeHtml(messages.disconnect)}</span></button>` : "";
|
|
21395
21631
|
const nativeAsset = getNativeAsset(session.account.network);
|
|
21396
21632
|
const notActivated = this.options.showBalance && this.activationStatus === "unfunded" ? `<div class="xwk-account-warning">${this.escapeHtml(messages.accountNotActivated(nativeAsset))}</div>` : "";
|
|
21397
|
-
const balance = this.options.showBalance && this.balanceLoading ? `<
|
|
21398
|
-
const metaRow = balance ? `<div class="xwk-account-meta-row">${balance}</div>` : "";
|
|
21633
|
+
const balance = this.options.showBalance && this.balanceLoading ? `<span class="xwk-pill-balance xwk-account-balance-loading" role="status" aria-label="${this.escapeHtml(messages.connecting)}"><span class="xwk-skeleton xwk-skeleton-balance"></span></span>` : this.options.showBalance && this.activationStatus !== "unfunded" && ((_a2 = this.balance) == null ? void 0 : _a2.formatted) ? `<span class="xwk-pill-balance">${this.escapeHtml(this.balance.formatted)}</span>` : "";
|
|
21399
21634
|
const addressQrButton = this.renderAddressQrButton(address);
|
|
21635
|
+
const identityResolving = this.isIdentityResolving(session);
|
|
21400
21636
|
const hasIdentity = this.shouldShowWeb3Name() && this.identityName;
|
|
21401
|
-
const addressLabel =
|
|
21637
|
+
const addressLabel = address ? `<span class="xwk-pill-address">${this.escapeHtml(this.formatAddress(address))}</span>` : "";
|
|
21638
|
+
const divider = addressLabel && balance ? `<span class="xwk-pill-divider" aria-hidden="true"></span>` : "";
|
|
21639
|
+
const metaPill = addressLabel || balance || addressQrButton ? `<div class="xwk-account-meta-pill">${addressLabel}${divider}${balance}${addressQrButton}</div>` : "";
|
|
21402
21640
|
const actions = `<div class="xwk-account-panel-actions">${copy}${explorer}${disconnect}</div>`;
|
|
21403
|
-
const accountName =
|
|
21641
|
+
const accountName = identityResolving ? `<div class="xwk-account-name xwk-account-name-skeleton" role="status" aria-label="${this.escapeHtml(messages.connecting)}"><span class="xwk-skeleton xwk-skeleton-name"></span></div>` : hasIdentity ? `<div class="xwk-account-name">${this.escapeHtml(label)}</div>` : "";
|
|
21404
21642
|
const transactions2 = this.renderTransactionHistory(session);
|
|
21405
|
-
return `<div class="xwk-account-hero">${this.renderAccountAvatar(session)}</div>${accountName}${
|
|
21643
|
+
return `<div class="xwk-account-hero">${this.renderAccountAvatar(session, identityResolving)}</div>${accountName}${metaPill}${notActivated}${transactions2}${actions}`;
|
|
21406
21644
|
}
|
|
21407
21645
|
renderAddressQrPanelContent(session) {
|
|
21408
21646
|
const messages = this.messages();
|
|
@@ -21422,15 +21660,22 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21422
21660
|
renderTransactionHistory(session) {
|
|
21423
21661
|
if (!this.options.showRecentTransactions)
|
|
21424
21662
|
return "";
|
|
21425
|
-
const
|
|
21426
|
-
if (!
|
|
21663
|
+
const allTransactions = this.getVisibleTransactions(session);
|
|
21664
|
+
if (!allTransactions.length)
|
|
21427
21665
|
return "";
|
|
21666
|
+
const transactions2 = allTransactions.slice(0, Math.min(3, allTransactions.length));
|
|
21667
|
+
const messages = this.messages();
|
|
21668
|
+
const count = allTransactions.length > 9 ? "9+" : String(allTransactions.length);
|
|
21669
|
+
const historyAction = allTransactions.length > transactions2.length ? `<button class="xwk-tx-header-link" type="button" data-xwk-tx-history>${this.escapeHtml(messages.view)}${this.chevronRightIcon()}</button>` : "";
|
|
21670
|
+
const list = `<div class="xwk-tx-list" role="list"><div class="xwk-tx-list-inner">${transactions2.map((transaction2) => this.renderTransactionRow(transaction2)).join("")}</div></div>`;
|
|
21671
|
+
return `<section class="xwk-tx-section" aria-label="${this.escapeHtml(messages.recentTransactions)}"><div class="xwk-tx-header"><span>${this.escapeHtml(messages.recentTransactions)}</span><span class="xwk-tx-count">${this.escapeHtml(count)}</span>${historyAction}</div>${list}</section>`;
|
|
21672
|
+
}
|
|
21673
|
+
renderTransactionHistoryPanelContent(session) {
|
|
21428
21674
|
const messages = this.messages();
|
|
21429
|
-
const
|
|
21430
|
-
|
|
21431
|
-
|
|
21432
|
-
|
|
21433
|
-
return `<section class="xwk-tx-section" aria-label="${this.escapeHtml(messages.recentTransactions)}"><button class="xwk-tx-header" type="button" data-xwk-tx-toggle aria-expanded="${this.txSectionOpen ? "true" : "false"}"><span>${this.escapeHtml(messages.recentTransactions)}</span><span class="xwk-tx-count">${this.escapeHtml(count)}</span><span class="xwk-tx-chevron ${chevronClass}" aria-hidden="true">${this.chevronUpIcon()}</span></button>${list}</section>`;
|
|
21675
|
+
const transactions2 = this.getVisibleTransactions(session, Math.max(10, this.options.maxVisibleTransactions));
|
|
21676
|
+
if (!transactions2.length)
|
|
21677
|
+
return `<div class="xwk-tx-empty">${this.escapeHtml(messages.noRecentTransactions)}</div>`;
|
|
21678
|
+
return `<section class="xwk-tx-history-view" aria-label="${this.escapeHtml(messages.recentTransactions)}"><div class="xwk-tx-list" role="list"><div class="xwk-tx-list-inner">${transactions2.map((transaction2) => this.renderTransactionRow(transaction2)).join("")}</div></div></section>`;
|
|
21434
21679
|
}
|
|
21435
21680
|
renderTransactionRow(transaction2) {
|
|
21436
21681
|
const messages = this.messages();
|
|
@@ -21458,9 +21703,9 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21458
21703
|
return this.questionIcon();
|
|
21459
21704
|
return `<span class="xwk-tx-spinner" aria-hidden="true"></span>`;
|
|
21460
21705
|
}
|
|
21461
|
-
getVisibleTransactions(session) {
|
|
21706
|
+
getVisibleTransactions(session, limit = this.options.maxVisibleTransactions) {
|
|
21462
21707
|
const address = this.getSessionAddress(session);
|
|
21463
|
-
const max = Math.max(1, Math.floor(
|
|
21708
|
+
const max = Math.max(1, Math.floor(limit));
|
|
21464
21709
|
return this.getRecentTransactions(session).filter((transaction2) => {
|
|
21465
21710
|
var _a2;
|
|
21466
21711
|
return !address || !((_a2 = transaction2.account) == null ? void 0 : _a2.address) || transaction2.account.address === address;
|
|
@@ -21517,7 +21762,10 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21517
21762
|
const address = this.getSessionAddress(session);
|
|
21518
21763
|
return address ? (this.options.formatAddress ?? this.formatAddress)(address) : ((_b = session.wallet) == null ? void 0 : _b.name) ?? session.adapterId;
|
|
21519
21764
|
}
|
|
21520
|
-
renderAccountAvatar(session) {
|
|
21765
|
+
renderAccountAvatar(session, identityResolving = false) {
|
|
21766
|
+
if (identityResolving) {
|
|
21767
|
+
return `<div class="xwk-account-art xwk-account-avatar-skeleton" role="status" aria-label="${this.escapeHtml(this.messages().connecting)}"><span class="xwk-skeleton xwk-skeleton-circle"></span></div>`;
|
|
21768
|
+
}
|
|
21521
21769
|
if (this.identityAvatar) {
|
|
21522
21770
|
return `<img class="xwk-account-avatar" src="${this.escapeHtml(this.identityAvatar)}" alt="">`;
|
|
21523
21771
|
}
|
|
@@ -21548,6 +21796,14 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21548
21796
|
return address;
|
|
21549
21797
|
return typeof (account == null ? void 0 : account.classicAddress) === "string" ? account.classicAddress : "";
|
|
21550
21798
|
}
|
|
21799
|
+
isIdentityResolving(session) {
|
|
21800
|
+
if (!session || !this.shouldShowWeb3Name() || this.identityName)
|
|
21801
|
+
return false;
|
|
21802
|
+
const address = this.getSessionAddress(session);
|
|
21803
|
+
if (!address || !this.options.identityResolver)
|
|
21804
|
+
return false;
|
|
21805
|
+
return this.identityResolvingKey === this.identityCacheKey(session);
|
|
21806
|
+
}
|
|
21551
21807
|
shouldShowWeb3Name() {
|
|
21552
21808
|
return this.options.showWeb3Name ?? true;
|
|
21553
21809
|
}
|
|
@@ -21563,6 +21819,20 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21563
21819
|
const label = wallet.name.slice(0, 1).toUpperCase();
|
|
21564
21820
|
return `<span class="xwk-button-icon xwk-button-icon-fallback xwk-button-icon-initial" aria-hidden="true">${this.escapeHtml(label)}</span>`;
|
|
21565
21821
|
}
|
|
21822
|
+
renderPreConnectIcon() {
|
|
21823
|
+
const icon = this.options.icon;
|
|
21824
|
+
if (!icon || icon.type === "default")
|
|
21825
|
+
return this.renderWalletIcon(void 0);
|
|
21826
|
+
if (icon.type === "image") {
|
|
21827
|
+
const aria = icon.alt ? ` role="img" aria-label="${this.escapeHtml(icon.alt)}"` : ` aria-hidden="true"`;
|
|
21828
|
+
return `<span class="xwk-button-icon xwk-button-icon-custom xwk-button-icon-custom-image"${aria}><img src="${this.escapeHtml(icon.src)}" alt="" decoding="async"></span>`;
|
|
21829
|
+
}
|
|
21830
|
+
return this.renderCustomHtmlIcon(icon);
|
|
21831
|
+
}
|
|
21832
|
+
renderCustomHtmlIcon(icon) {
|
|
21833
|
+
const aria = icon.ariaLabel ? ` role="img" aria-label="${this.escapeHtml(icon.ariaLabel)}"` : ` aria-hidden="true"`;
|
|
21834
|
+
return `<span class="xwk-button-icon xwk-button-icon-custom xwk-button-icon-custom-html"${aria}>${icon.html}</span>`;
|
|
21835
|
+
}
|
|
21566
21836
|
repairFallbackIcon(root) {
|
|
21567
21837
|
root.querySelectorAll(".xwk-button-icon-svg-fallback").forEach((icon) => {
|
|
21568
21838
|
if (icon.querySelector("svg"))
|
|
@@ -21665,7 +21935,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21665
21935
|
let timer = 0;
|
|
21666
21936
|
timer = window.setTimeout(() => {
|
|
21667
21937
|
this.balanceRefreshTimers.delete(timer);
|
|
21668
|
-
|
|
21938
|
+
this.queueBalanceRefresh(this.options.manager.getSession(), 0);
|
|
21669
21939
|
}, delay2);
|
|
21670
21940
|
this.balanceRefreshTimers.add(timer);
|
|
21671
21941
|
});
|
|
@@ -21674,11 +21944,33 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21674
21944
|
this.balanceRefreshTimers.forEach((timer) => window.clearTimeout(timer));
|
|
21675
21945
|
this.balanceRefreshTimers.clear();
|
|
21676
21946
|
}
|
|
21947
|
+
queueBalanceRefresh(session, delay2 = 300) {
|
|
21948
|
+
if (!this.options.showBalance || !this.options.balanceResolver)
|
|
21949
|
+
return;
|
|
21950
|
+
this.balanceDebounceSession = session;
|
|
21951
|
+
this.clearBalanceDebounce();
|
|
21952
|
+
if (typeof window === "undefined") {
|
|
21953
|
+
void this.resolveBalance(this.balanceDebounceSession);
|
|
21954
|
+
return;
|
|
21955
|
+
}
|
|
21956
|
+
this.balanceDebounceTimer = window.setTimeout(() => {
|
|
21957
|
+
this.balanceDebounceTimer = void 0;
|
|
21958
|
+
const nextSession = this.balanceDebounceSession;
|
|
21959
|
+
this.balanceDebounceSession = null;
|
|
21960
|
+
void this.resolveBalance(nextSession);
|
|
21961
|
+
}, delay2);
|
|
21962
|
+
}
|
|
21963
|
+
clearBalanceDebounce() {
|
|
21964
|
+
if (this.balanceDebounceTimer && typeof window !== "undefined") {
|
|
21965
|
+
window.clearTimeout(this.balanceDebounceTimer);
|
|
21966
|
+
}
|
|
21967
|
+
this.balanceDebounceTimer = void 0;
|
|
21968
|
+
}
|
|
21677
21969
|
chevronIcon() {
|
|
21678
21970
|
return `<svg width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="m6 9 6 6 6-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg>`;
|
|
21679
21971
|
}
|
|
21680
|
-
|
|
21681
|
-
return `<svg width="
|
|
21972
|
+
chevronRightIcon() {
|
|
21973
|
+
return `<svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m9 6 6 6-6 6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg>`;
|
|
21682
21974
|
}
|
|
21683
21975
|
checkIcon() {
|
|
21684
21976
|
return `<svg width="15" height="15" viewBox="0 0 24 24" fill="none"><path d="m5 12.5 4.2 4.2L19 7" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg>`;
|
|
@@ -21709,7 +22001,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21709
22001
|
}
|
|
21710
22002
|
ensureStyles() {
|
|
21711
22003
|
const styles2 = this.renderStyles();
|
|
21712
|
-
ensureWalletStyle(
|
|
22004
|
+
ensureWalletStyle("xwk-button", styles2);
|
|
21713
22005
|
}
|
|
21714
22006
|
renderStyles() {
|
|
21715
22007
|
const theme = this.resolveTheme();
|
|
@@ -21724,7 +22016,11 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21724
22016
|
const fallbackIconBackground = theme.fallbackIconBackground;
|
|
21725
22017
|
const fallbackIconColor = theme.fallbackIconColor;
|
|
21726
22018
|
const overlayBlur = theme.overlayBlur > 0 ? `blur(${theme.overlayBlur}px)` : "none";
|
|
21727
|
-
return `.xwk-button-root{display:inline-block;max-width:100%;position:relative;font-family:${theme.fontFamily};font-size:14px}.xwk-account-button{align-items:center;background:${background};border:1px solid ${border};border-radius:${radius};box-shadow:none;box-sizing:border-box;color:${theme.foreground};cursor:pointer;display:inline-flex;gap:8px;font:inherit;font-weight:560;max-width:100%;min-height:${height};overflow:hidden;padding:0 12px 0 10px;touch-action:manipulation;transition:background-color .16s ease,border-color .16s ease;white-space:nowrap;-webkit-tap-highlight-color:transparent;transform:none}.xwk-account-button:hover{background:${hoverBackground};box-shadow:none;opacity:1;transform:none}.xwk-account-button:active{background:${hoverBackground};opacity:1;transform:none}.xwk-account-button:focus-visible,.xwk-button-chevron:focus-visible,.xwk-account-panel-actions button:focus-visible,.xwk-account-panel-actions a:focus-visible,.xwk-address-qr-trigger:focus-visible,.xwk-tx-header:focus-visible,.xwk-tx-link:focus-visible{outline:2px solid ${theme.accent};outline-offset:2px;text-decoration:none}.xwk-button-icon{background:${theme.background};border:1px solid ${iconBorder};border-radius:10px;box-sizing:border-box;display:inline-flex;flex:0 0 28px;height:28px;isolation:isolate;line-height:0;max-width:28px;min-width:28px;object-fit:contain;overflow:hidden;position:relative;width:28px}.xwk-button-icon-fallback{align-items:center;background:${fallbackIconBackground};color:${fallbackIconColor};justify-content:center}.xwk-button-icon-initial{font-size:12px;line-height:1}.xwk-button-icon-svg-fallback{font-size:0}.xwk-button-icon-svg-fallback svg{display:block;flex:0 0 17px;height:17px;max-height:17px;max-width:17px;min-height:17px;min-width:17px;width:17px}.xwk-button-pending-dot{background:${theme.accent};border:2px solid ${background};border-radius:999px;box-sizing:border-box;flex:0 0 9px;height:9px;margin-left:-13px;margin-right:4px;position:relative;width:9px;z-index:1}.xwk-button-label{display:inline-block;flex:1 1 0;font-size:13px;font-weight:560;line-height:1.1;max-width:220px;min-width:0;overflow:hidden;padding-right:2px;text-overflow:ellipsis;white-space:nowrap}.xwk-button-balance{color:${theme.muted};font-weight:500;margin-left:4px}.xwk-button-balance-loading{display:inline-flex;vertical-align:-2px}.xwk-balance-spinner{animation:xwk-action-spin .8s linear infinite;border:2px solid ${theme.spinnerTrail};border-top-color:${theme.muted};border-radius:999px;box-sizing:border-box;display:inline-block;flex:0 0 13px;height:13px;width:13px}.xwk-button-chevron{align-items:center;background:${theme.background};border:1px solid ${iconBorder};border-radius:999px;color:${theme.muted};display:inline-flex;flex:0 0 26px;height:26px;justify-content:center;line-height:1;touch-action:manipulation;width:26px}.xwk-button-chevron:hover{background:${theme.surfaceHover};color:${theme.foreground}}.xwk-account-overlay{align-items:center;background:${theme.overlay};-webkit-backdrop-filter:${overlayBlur};backdrop-filter:${overlayBlur};display:flex;inset:0;justify-content:center;overscroll-behavior:contain;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));position:fixed;z-index:2147483647}.xwk-account-portal[data-xwk-entering="true"] .xwk-account-overlay{animation:xwk-account-overlay-in .18s ease-out}.xwk-account-panel{background:${theme.background};border:1px solid ${theme.border};border-radius:${theme.radius};box-shadow:${theme.shadow};box-sizing:border-box;color:${theme.foreground};display:grid;gap:12px;overflow:hidden;z-index:2147483647}.xwk-account-panel:focus{outline:none}.xwk-account-panel-dropdown{box-shadow:none;justify-items:center;margin-top:10px;min-width:320px;padding:18px;position:absolute;right:0;top:100%;width:min(360px,calc(100vw - 32px))}.xwk-account-dropdown-header{align-items:center;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;margin:-4px 0 0;width:100%}.xwk-account-dropdown-header strong{font-size:14px;font-weight:600;line-height:1.2;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.xwk-account-panel-modal{gap:0;grid-template-rows:auto minmax(0,1fr);height:min(527px,calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));max-width:520px;position:relative;transform-origin:center bottom;width:min(520px,100%)}.xwk-account-panel-modal.xwk-account-panel-with-transactions{height:min(650px,calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.xwk-account-portal[data-xwk-entering="true"] .xwk-account-panel-modal{animation:xwk-account-panel-in .22s cubic-bezier(.22,1,.36,1)}.xwk-account-modal-header{align-items:center;background:${theme.headerBackground};border-bottom:1px solid ${theme.border};display:grid;grid-template-columns:44px minmax(0,1fr) 44px;column-gap:8px;padding:8px 18px}.xwk-account-modal-header h2{color:${theme.foreground};font-size:16px;font-weight:500;line-height:1.2;margin:0;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.xwk-account-modal-body{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden;overscroll-behavior:contain;padding:22px 28px 28px}.xwk-account-panel-with-transactions .xwk-account-modal-body{overflow:auto;padding-top:14px}.xwk-account-modal-body>.xwk-account-hero,.xwk-account-modal-body>.xwk-account-name,.xwk-account-modal-body>.xwk-account-address,.xwk-account-modal-body>.xwk-account-meta-row,.xwk-account-modal-body>.xwk-account-warning,.xwk-account-modal-body>.xwk-tx-section,.xwk-account-modal-body>.xwk-account-panel-actions{flex-shrink:0}.xwk-account-close,.xwk-account-back{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;align-items:center;appearance:none;background:transparent!important;border:0!important;border-radius:999px;box-shadow:none!important;color:${theme.muted};cursor:pointer;display:inline-flex;font:inherit;font-size:26px;font-weight:500;height:44px;justify-content:center;line-height:1;margin:0;min-height:0;outline:none!important;padding:0;touch-action:manipulation;transform:none;width:44px}.xwk-account-back{font-size:0;justify-self:start}.xwk-account-close{justify-self:end}.xwk-account-close:hover,.xwk-account-back:hover{background:${theme.surfaceHover}!important;box-shadow:none!important;color:${theme.foreground};transform:none}.xwk-account-close:focus-visible,.xwk-account-back:focus-visible{outline:2px solid ${theme.accent}!important;outline-offset:0}.xwk-account-hero{height:154px;margin-top:4px;position:relative;width:180px}.xwk-account-panel-with-transactions .xwk-account-hero{height:126px;margin-bottom:0}.xwk-account-panel-with-transactions .xwk-account-art,.xwk-account-panel-with-transactions .xwk-account-avatar{top:0}.xwk-account-panel-dropdown .xwk-account-hero{height:132px;width:160px}.xwk-account-art,.xwk-account-avatar{border-radius:999px;height:118px;left:31px;position:absolute;top:8px;width:118px}.xwk-account-panel-dropdown .xwk-account-art,.xwk-account-panel-dropdown .xwk-account-avatar{height:104px;left:28px;width:104px}.xwk-account-art{align-items:center;background:radial-gradient(circle at 58% 38%,var(--xwk-avatar-spot),transparent 0 22%,transparent 23%),linear-gradient(160deg,var(--xwk-avatar-from),var(--xwk-avatar-to));display:flex;justify-content:center}.xwk-account-art span{background:rgba(255,255,255,.18);border-radius:999px;height:50px;width:50px}.xwk-account-panel-dropdown .xwk-account-art span{height:42px;width:42px}.xwk-account-avatar{background:${theme.surface};border:1px solid ${iconBorder};box-sizing:border-box;display:block;object-fit:cover;overflow:hidden}.xwk-account-panel-with-transactions .xwk-account-name{position:relative;z-index:1}.xwk-account-name{color:${theme.foreground};font-size:21px;font-weight:650;line-height:1.2;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.xwk-account-panel-dropdown .xwk-account-name{font-size:18px}.xwk-account-name-with-qr,.xwk-account-address{align-items:center;display:inline-flex;gap:6px;justify-content:center}.xwk-account-name-with-qr span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xwk-account-name-address{background:${theme.surface};border:1px solid ${theme.border};border-radius:14px;color:${theme.muted};font-size:16px;font-weight:600;line-height:1.2;max-width:min(260px,100%);padding:7px 6px 7px 14px}.xwk-account-address{background:${theme.surface};border:1px solid ${theme.border};border-radius:12px;color:${theme.muted};font-size:14px;font-weight:520;line-height:1.25;max-width:100%;overflow:hidden;padding:8px 8px 8px 12px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.xwk-address-qr-trigger{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;align-items:center;appearance:none;background:transparent;border:0;border-radius:10px;box-shadow:none;color:currentColor;cursor:pointer;display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;margin:-7px -6px -7px 0;min-height:40px;outline:none;overflow:visible;padding:0;touch-action:manipulation;transform:none;width:40px}.xwk-address-qr-trigger svg{display:block;height:17px;overflow:visible;width:17px}.xwk-address-qr-trigger:hover{background:${theme.surfaceHover};box-shadow:none;transform:none}.xwk-account-meta-row{align-items:center;display:flex;gap:8px;justify-content:center;max-width:100%;min-height:42px}.xwk-account-balance{align-items:center;background:${theme.surface};border:1px solid ${actionBorder};border-radius:999px;box-sizing:border-box;color:${theme.muted};display:inline-flex;font-size:13px;font-weight:560;height:42px;justify-content:center;letter-spacing:0;line-height:1;padding:0 14px;text-align:center}.xwk-account-balance-loading{align-items:center;display:inline-flex;gap:6px}.xwk-account-warning{align-items:center;background:${theme.surface};border:1px solid ${actionBorder};border-radius:12px;box-sizing:border-box;color:${theme.muted};display:flex;font-size:13px;font-weight:520;justify-content:center;line-height:1.25;min-height:54px;padding:0 14px;text-align:center;width:100%}.xwk-address-qr-content{align-content:center;display:grid;gap:14px;justify-items:center;min-height:100%;width:100%}.xwk-address-qr-code{aspect-ratio:1/1;background:${theme.surface};border:1px solid ${theme.border};border-radius:14px;box-sizing:border-box;display:grid;max-width:304px;padding:12px;place-items:center;width:min(304px,100%)}.xwk-address-qr-code svg,.xwk-address-qr-code canvas,.xwk-address-qr-code img{aspect-ratio:1/1;display:block;height:auto;max-width:100%;width:100%}.xwk-address-qr-chip{background:${theme.surface};border:1px solid ${theme.border};border-radius:12px;box-sizing:border-box;color:${theme.muted};font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:520;line-height:1.45;max-width:100%;overflow-wrap:anywhere;padding:9px 11px;text-align:center;width:100%}.xwk-address-qr-fallback{color:${theme.muted};font-size:12px;line-height:1.45;overflow-wrap:anywhere}.xwk-tx-section{background:${theme.surface};border:1px solid ${actionBorder};border-radius:${theme.walletRadius};box-sizing:border-box;display:grid;overflow:hidden;width:100%}.xwk-tx-header{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;align-items:center;appearance:none;background:${theme.surface}!important;border:0!important;box-shadow:none!important;color:${theme.muted};cursor:pointer;display:flex;font:inherit;font-size:10px;font-weight:650;gap:6px;letter-spacing:.07em;line-height:1.2;margin:0;min-height:34px;outline:none;padding:0 12px;text-align:left;text-transform:uppercase;touch-action:manipulation;transform:none;transition:background-color .16s ease,color .16s ease;width:100%}.xwk-tx-header:hover,.xwk-tx-header:active{background:${theme.surfaceHover}!important;border:0!important;box-shadow:none!important;color:${theme.foreground};opacity:1;text-decoration:none;transform:none}.xwk-tx-count{align-items:center;background:${theme.background};border:1px solid ${actionBorder};border-radius:999px;box-sizing:border-box;color:${theme.muted};display:inline-flex;font-size:10px;font-weight:650;height:16px;justify-content:center;letter-spacing:0;line-height:1;min-width:18px;padding:0 5px;text-transform:none}.xwk-tx-chevron{align-items:center;color:${theme.muted};display:inline-flex;flex:0 0 16px;height:16px;justify-content:center;margin-left:auto;transition:transform .18s ease;width:16px}.xwk-tx-chevron.closed{transform:rotate(-90deg)}.xwk-tx-chevron svg{display:block;height:12px;width:12px}.xwk-tx-list{display:grid;grid-template-rows:1fr;overflow:hidden;transition:grid-template-rows .18s ease}.xwk-tx-list.closed{grid-template-rows:0fr}.xwk-tx-list-inner{min-height:0;overflow:hidden}.xwk-tx-row{align-items:center;background:${theme.surface};border-top:1px solid ${actionBorder};box-sizing:border-box;display:grid;gap:8px;grid-template-columns:24px minmax(0,1fr) auto;min-height:42px;padding:7px 10px;transition:background-color .16s ease}.xwk-tx-row:hover{background:${theme.surface};box-shadow:none;transform:none}.xwk-tx-row:first-child{border-top:0}.xwk-tx-status{align-items:center;background:${theme.background};border-radius:999px;color:${theme.accent};display:inline-flex;height:24px;justify-content:center;width:24px}.xwk-tx-row-confirmed .xwk-tx-status{color:${theme.success}}.xwk-tx-row-failed .xwk-tx-status{color:${theme.error}}.xwk-tx-row-unknown .xwk-tx-status{color:${theme.muted}}.xwk-tx-main{display:grid;gap:2px;min-width:0}.xwk-tx-label{color:${theme.foreground};font-size:12px;font-weight:600;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xwk-tx-hash{color:${theme.muted};font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xwk-tx-link{align-items:center;border-radius:9px;color:${theme.accent};display:inline-flex;font:inherit;font-size:12px;font-weight:650;gap:3px;line-height:1.2;min-height:28px;padding:0 6px;text-decoration:none}.xwk-tx-link:hover{background:${theme.surfaceHover};box-shadow:none;text-decoration:none;transform:none}.xwk-tx-link svg{height:12px;width:12px}.xwk-tx-empty{background:${theme.surface};border:1px solid ${actionBorder};border-radius:${theme.walletRadius};box-sizing:border-box;color:${theme.muted};font-size:13px;line-height:1.35;padding:14px;text-align:center;width:100%}.xwk-tx-spinner{animation:xwk-action-spin .8s linear infinite;border:2px solid ${theme.spinnerTrail};border-top-color:${theme.accent};border-radius:999px;box-sizing:border-box;display:block;height:14px;width:14px}.xwk-account-panel-actions{display:grid;gap:10px;grid-template-columns:1fr;width:100%}.xwk-account-modal-body .xwk-account-panel-actions{margin-top:auto}.xwk-account-panel-with-transactions .xwk-account-modal-body .xwk-account-panel-actions{margin-top:0}.xwk-account-panel-actions button,.xwk-account-panel-actions a{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;align-items:center;appearance:none;background:${theme.surface};border:1px solid ${actionBorder};border-radius:${theme.walletRadius};box-shadow:none;box-sizing:border-box;color:${theme.foreground};cursor:pointer;display:flex;font:inherit;font-size:14px;font-weight:560;gap:8px;justify-content:center;line-height:1.2;min-height:46px;min-width:0;outline:none;overflow:hidden;padding:0 12px;text-decoration:none;touch-action:manipulation;transform:none;transition:background-color .16s ease,border-color .16s ease;width:100%}.xwk-account-panel-actions button:disabled{cursor:wait;opacity:1}.xwk-account-panel-actions svg{flex:0 0 auto;opacity:.58}.xwk-account-panel-actions span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xwk-account-panel-actions button:hover,.xwk-account-panel-actions a:hover{background:${theme.surfaceHover};border-color:${actionBorder};box-shadow:none;text-decoration:none;transform:none}.xwk-account-panel-actions button:active,.xwk-account-panel-actions a:active{background:${theme.surfaceHover};opacity:1;text-decoration:none;transform:none}.xwk-copied-icon{color:${theme.success};opacity:1!important}.xwk-action-spinner{animation:xwk-action-spin .8s linear infinite;border:2px solid ${theme.spinnerTrail};border-top-color:${theme.muted};border-radius:999px;box-sizing:border-box;display:inline-block;height:17px;width:17px}@keyframes xwk-action-spin{to{transform:rotate(360deg)}}@keyframes xwk-account-overlay-in{from{opacity:0}to{opacity:1}}@keyframes xwk-account-panel-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.xwk-account-button,.xwk-tx-list,.xwk-tx-chevron,.xwk-account-panel-actions button,.xwk-account-panel-actions a{transition:none}.xwk-account-portal[data-xwk-entering="true"] .xwk-account-overlay,.xwk-account-portal[data-xwk-entering="true"] .xwk-account-panel-modal{animation-duration:1ms!important}.xwk-action-spinner,.xwk-balance-spinner,.xwk-tx-spinner{animation:none}}@media(max-width:520px){.xwk-account-panel-dropdown{bottom:0;left:0;margin-top:0;min-width:0;position:fixed;right:0;top:auto;width:100vw}.xwk-account-overlay{align-items:flex-end;padding:max(12px,env(safe-area-inset-top)) 0 0}.xwk-account-panel-modal{align-self:flex-end;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;border-left:0;border-right:0;border-top-left-radius:${theme.radius};border-top-right-radius:${theme.radius};height:min(527px,calc(100dvh - env(safe-area-inset-top)));max-width:none;width:100vw}.xwk-account-panel-modal.xwk-account-panel-with-transactions{height:min(650px,calc(100dvh - env(safe-area-inset-top)))}.xwk-account-portal[data-xwk-entering="true"] .xwk-account-panel-modal{animation:xwk-account-sheet-in .28s cubic-bezier(.32,.72,0,1)}.xwk-account-modal-header{border-top-left-radius:${theme.radius};border-top-right-radius:${theme.radius};grid-template-columns:44px minmax(0,1fr) 44px;padding:10px 16px}.xwk-account-modal-body{min-height:0;padding:18px 20px max(22px,calc(22px + env(safe-area-inset-bottom)))}.xwk-button-label{max-width:min(150px,calc(100vw - 140px))}}@keyframes xwk-account-sheet-in{from{opacity:1;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}`;
|
|
22019
|
+
const baseStyles = `.xwk-button-root{display:inline-block;max-width:100%;position:relative;font-family:${theme.fontFamily};font-size:14px}.xwk-account-button{align-items:center;background:${background};border:1px solid ${border};border-radius:${radius};box-shadow:none;box-sizing:border-box;color:${theme.foreground};cursor:pointer;display:inline-flex;gap:8px;font:inherit;font-weight:560;max-width:100%;min-height:${height};overflow:hidden;padding:0 12px 0 10px;touch-action:manipulation;transition:background-color .16s ease,border-color .16s ease;white-space:nowrap;-webkit-tap-highlight-color:transparent;transform:none}.xwk-account-button:hover{background:${hoverBackground};box-shadow:none;opacity:1;transform:none}.xwk-account-button:active{background:${hoverBackground};opacity:1;transform:none}.xwk-account-button:focus-visible,.xwk-button-chevron:focus-visible,.xwk-account-panel-actions button:focus-visible,.xwk-account-panel-actions a:focus-visible,.xwk-address-qr-trigger:focus-visible,.xwk-tx-header-link:focus-visible,.xwk-tx-link:focus-visible{outline:2px solid ${theme.accent};outline-offset:2px;text-decoration:none}.xwk-button-icon{background:${theme.background};border:1px solid ${iconBorder};border-radius:10px;box-sizing:border-box;display:inline-flex;flex:0 0 28px;height:28px;isolation:isolate;line-height:0;max-width:28px;min-width:28px;object-fit:contain;overflow:hidden;position:relative;width:28px}.xwk-button-icon-fallback{align-items:center;background:${fallbackIconBackground};color:${fallbackIconColor};justify-content:center}.xwk-button-icon-initial{font-size:12px;line-height:1}.xwk-button-icon-svg-fallback{font-size:0}.xwk-button-icon-svg-fallback svg{display:block;flex:0 0 17px;height:17px;max-height:17px;max-width:17px;min-height:17px;min-width:17px;width:17px}.xwk-button-icon-custom{align-items:center;justify-content:center}.xwk-button-icon-custom img,.xwk-button-icon-custom svg{display:block;max-height:18px;max-width:18px}.xwk-button-icon-custom img{height:18px;object-fit:contain;width:18px}.xwk-button-icon-custom-html>*{max-height:18px;max-width:18px}.xwk-skeleton{animation:xwk-skeleton-pulse 1.4s ease-in-out infinite;background:linear-gradient(90deg,${theme.surface} 25%,${theme.surfaceHover} 50%,${theme.surface} 75%);background-size:200% 100%;border-radius:999px;display:inline-block}.xwk-skeleton-button-balance{height:12px;width:44px}.xwk-skeleton-balance{height:14px;width:70px}.xwk-skeleton-name{height:24px;width:132px}.xwk-account-name-skeleton{align-items:center;display:flex;justify-content:center;min-height:26px}.xwk-button-pending-dot{background:${theme.accent};border:2px solid ${background};border-radius:999px;box-sizing:border-box;flex:0 0 9px;height:9px;margin-left:-13px;margin-right:4px;position:relative;width:9px;z-index:1}.xwk-button-label{display:inline-block;flex:1 1 0;font-size:13px;font-weight:560;line-height:1.1;max-width:220px;min-width:0;overflow:hidden;padding-right:2px;text-overflow:ellipsis;white-space:nowrap}.xwk-button-balance{color:${theme.muted};font-weight:500;margin-left:4px}.xwk-button-balance-loading{display:inline-flex;vertical-align:-2px}.xwk-balance-spinner{animation:xwk-action-spin .8s linear infinite;border:2px solid ${theme.spinnerTrail};border-top-color:${theme.muted};border-radius:999px;box-sizing:border-box;display:inline-block;flex:0 0 13px;height:13px;width:13px}.xwk-button-chevron{align-items:center;background:${theme.background};border:1px solid ${iconBorder};border-radius:999px;color:${theme.muted};display:inline-flex;flex:0 0 26px;height:26px;justify-content:center;line-height:1;touch-action:manipulation;width:26px}.xwk-button-chevron:hover{background:${theme.surfaceHover};color:${theme.foreground}}.xwk-account-overlay{align-items:center;background:${theme.overlay};-webkit-backdrop-filter:${overlayBlur};backdrop-filter:${overlayBlur};display:flex;inset:0;justify-content:center;overscroll-behavior:contain;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));position:fixed;z-index:2147483647}.xwk-account-portal[data-xwk-entering="true"] .xwk-account-overlay{animation:xwk-account-overlay-in .18s ease-out}.xwk-account-panel{background:${theme.background};border:1px solid ${theme.border};border-radius:${theme.radius};box-shadow:${theme.shadow};box-sizing:border-box;color:${theme.foreground};display:grid;gap:12px;overflow:hidden;z-index:2147483647}.xwk-account-panel:focus{outline:none}.xwk-account-panel-dropdown{box-shadow:none;justify-items:center;margin-top:10px;min-width:320px;padding:18px;position:absolute;right:0;top:100%;width:min(360px,calc(100vw - 32px))}.xwk-account-dropdown-header{align-items:center;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;margin:-4px 0 0;width:100%}.xwk-account-dropdown-header strong{font-size:14px;font-weight:600;line-height:1.2;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.xwk-account-panel-modal{gap:0;grid-template-rows:auto minmax(0,1fr);height:min(527px,calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));max-width:520px;position:relative;transform-origin:center bottom;width:min(520px,100%)}.xwk-account-panel-modal.xwk-account-panel-with-transactions,.xwk-account-panel-modal.xwk-account-panel-history{height:min(650px,calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.xwk-account-portal[data-xwk-entering="true"] .xwk-account-panel-modal{animation:xwk-account-panel-in .22s cubic-bezier(.22,1,.36,1)}.xwk-account-modal-header{align-items:center;background:${theme.headerBackground};border-bottom:1px solid ${theme.border};display:grid;grid-template-columns:44px minmax(0,1fr) 44px;column-gap:8px;padding:8px 18px}.xwk-account-modal-header h2{color:${theme.foreground};font-size:16px;font-weight:500;line-height:1.2;margin:0;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.xwk-account-modal-body{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden;overscroll-behavior:contain;padding:22px 28px 28px}.xwk-account-panel-with-transactions .xwk-account-modal-body,.xwk-account-panel-history .xwk-account-modal-body{overflow:auto;padding-top:14px}.xwk-account-modal-body>.xwk-account-hero,.xwk-account-modal-body>.xwk-account-name,.xwk-account-modal-body>.xwk-account-meta-pill,.xwk-account-modal-body>.xwk-account-warning,.xwk-account-modal-body>.xwk-tx-section,.xwk-account-modal-body>.xwk-tx-history-view,.xwk-account-modal-body>.xwk-account-panel-actions{flex-shrink:0}.xwk-account-close,.xwk-account-back{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;align-items:center;appearance:none;background:transparent!important;border:0!important;border-radius:999px;box-shadow:none!important;color:${theme.muted};cursor:pointer;display:inline-flex;font:inherit;font-size:26px;font-weight:500;height:44px;justify-content:center;line-height:1;margin:0;min-height:0;outline:none!important;padding:0;touch-action:manipulation;transform:none;width:44px}.xwk-account-back{font-size:0;justify-self:start}.xwk-account-close{justify-self:end}.xwk-account-close:hover,.xwk-account-back:hover{background:${theme.surfaceHover}!important;box-shadow:none!important;color:${theme.foreground};transform:none}.xwk-account-close:focus-visible,.xwk-account-back:focus-visible{outline:2px solid ${theme.accent}!important;outline-offset:0}.xwk-account-hero{height:154px;margin-top:4px;position:relative;width:180px}.xwk-account-panel-with-transactions .xwk-account-hero{height:126px;margin-bottom:0}.xwk-account-panel-with-transactions .xwk-account-art,.xwk-account-panel-with-transactions .xwk-account-avatar{top:0}.xwk-account-panel-dropdown .xwk-account-hero{height:132px;width:160px}.xwk-account-art,.xwk-account-avatar{border-radius:999px;height:118px;left:31px;position:absolute;top:8px;width:118px}.xwk-account-panel-dropdown .xwk-account-art,.xwk-account-panel-dropdown .xwk-account-avatar{height:104px;left:28px;width:104px}.xwk-account-art{align-items:center;background:radial-gradient(circle at 58% 38%,var(--xwk-avatar-spot),transparent 0 22%,transparent 23%),linear-gradient(160deg,var(--xwk-avatar-from),var(--xwk-avatar-to));display:flex;justify-content:center}.xwk-account-art span{background:rgba(255,255,255,.18);border-radius:999px;height:50px;width:50px}.xwk-account-panel-dropdown .xwk-account-art span{height:42px;width:42px}.xwk-account-avatar{background:${theme.surface};border:1px solid ${iconBorder};box-sizing:border-box;display:block;object-fit:cover;overflow:hidden}.xwk-account-panel-with-transactions .xwk-account-name{position:relative;z-index:1}.xwk-account-name{color:${theme.foreground};font-size:21px;font-weight:650;line-height:1.2;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.xwk-account-panel-dropdown .xwk-account-name{font-size:18px}.xwk-account-meta-pill{align-items:center;background:${theme.surface};border:1px solid ${actionBorder};border-radius:14px;box-sizing:border-box;color:${theme.muted};display:inline-flex;font-size:13px;font-weight:560;gap:8px;justify-content:center;line-height:1.2;max-width:100%;min-height:44px;overflow:hidden;padding:2px 4px 2px 12px}.xwk-pill-address{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xwk-pill-divider{background:${actionBorder};display:inline-block;flex:0 0 1px;height:18px;opacity:.8}.xwk-pill-balance{color:${theme.foreground};white-space:nowrap}.xwk-account-name-with-qr,.xwk-account-address{align-items:center;display:inline-flex;gap:6px;justify-content:center}.xwk-account-name-with-qr span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xwk-account-name-address{background:${theme.surface};border:1px solid ${theme.border};border-radius:14px;color:${theme.muted};font-size:16px;font-weight:600;line-height:1.2;max-width:min(260px,100%);padding:7px 6px 7px 14px}.xwk-account-address{background:${theme.surface};border:1px solid ${theme.border};border-radius:12px;color:${theme.muted};font-size:14px;font-weight:520;line-height:1.25;max-width:100%;overflow:hidden;padding:8px 8px 8px 12px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.xwk-address-qr-trigger{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;align-items:center;appearance:none;background:transparent;border:0;border-radius:10px;box-shadow:none;color:currentColor;cursor:pointer;display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;margin:0 -2px 0 0;min-height:40px;outline:none;overflow:visible;padding:0;touch-action:manipulation;transform:none;width:40px}.xwk-address-qr-trigger svg{display:block;height:17px;overflow:visible;width:17px}.xwk-address-qr-trigger:hover{background:${theme.surfaceHover};box-shadow:none;transform:none}.xwk-account-meta-row{align-items:center;display:flex;gap:8px;justify-content:center;max-width:100%;min-height:42px}.xwk-account-balance{align-items:center;background:${theme.surface};border:1px solid ${actionBorder};border-radius:999px;box-sizing:border-box;color:${theme.muted};display:inline-flex;font-size:13px;font-weight:560;height:42px;justify-content:center;letter-spacing:0;line-height:1;padding:0 14px;text-align:center}.xwk-account-balance-loading{align-items:center;display:inline-flex;gap:6px}.xwk-account-warning{align-items:center;background:${theme.surface};border:1px solid ${actionBorder};border-radius:12px;box-sizing:border-box;color:${theme.muted};display:flex;font-size:13px;font-weight:520;justify-content:center;line-height:1.25;min-height:54px;padding:0 14px;text-align:center;width:100%}.xwk-address-qr-content{align-content:center;display:grid;gap:14px;justify-items:center;min-height:100%;width:100%}.xwk-address-qr-code{aspect-ratio:1/1;background:${theme.surface};border:1px solid ${theme.border};border-radius:14px;box-sizing:border-box;display:grid;max-width:304px;padding:12px;place-items:center;width:min(304px,100%)}.xwk-address-qr-code svg,.xwk-address-qr-code canvas,.xwk-address-qr-code img{aspect-ratio:1/1;display:block;height:auto;max-width:100%;width:100%}.xwk-address-qr-chip{background:${theme.surface};border:1px solid ${theme.border};border-radius:12px;box-sizing:border-box;color:${theme.muted};font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:520;line-height:1.45;max-width:100%;overflow-wrap:anywhere;padding:9px 11px;text-align:center;width:100%}.xwk-address-qr-fallback{color:${theme.muted};font-size:12px;line-height:1.45;overflow-wrap:anywhere}.xwk-tx-section{background:${theme.surface};border:1px solid ${actionBorder};border-radius:${theme.walletRadius};box-sizing:border-box;display:grid;overflow:hidden;width:100%}.xwk-tx-header{-webkit-tap-highlight-color:transparent;align-items:center;background:${theme.surface};border:0;box-shadow:none;color:${theme.muted};display:flex;font:inherit;font-size:10px;font-weight:650;gap:6px;letter-spacing:.07em;line-height:1.2;margin:0;min-height:34px;outline:none;padding:0 12px;text-align:left;text-transform:uppercase;transform:none;width:100%}.xwk-tx-header-link{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;align-items:center;appearance:none;background:transparent;border:0;border-radius:9px;box-shadow:none;color:${theme.accent};cursor:pointer;display:inline-flex;font:inherit;font-size:11px;font-weight:650;gap:2px;line-height:1;margin-left:auto;min-height:28px;padding:0 6px;text-decoration:none;text-transform:none;touch-action:manipulation;transform:none}.xwk-tx-header-link:hover,.xwk-tx-header-link:active{background:${theme.surfaceHover};box-shadow:none;color:${theme.accent};opacity:1;text-decoration:none;transform:none}.xwk-tx-header-link svg{display:block;height:13px;width:13px}.xwk-tx-count{align-items:center;background:${theme.background};border:1px solid ${actionBorder};border-radius:999px;box-sizing:border-box;color:${theme.muted};display:inline-flex;font-size:10px;font-weight:650;height:16px;justify-content:center;letter-spacing:0;line-height:1;min-width:18px;padding:0 5px;text-transform:none}.xwk-tx-list{display:grid;overflow:hidden}.xwk-tx-list-inner{min-height:0;overflow:hidden}.xwk-tx-history-view{background:${theme.surface};border:1px solid ${actionBorder};border-radius:${theme.walletRadius};box-sizing:border-box;display:grid;overflow:hidden;width:100%}.xwk-tx-history-view .xwk-tx-list-inner{max-height:468px;overflow:auto}.xwk-tx-row{align-items:center;background:${theme.surface};border-top:1px solid ${actionBorder};box-sizing:border-box;display:grid;gap:8px;grid-template-columns:24px minmax(0,1fr) auto;min-height:42px;padding:7px 10px;transition:background-color .16s ease}.xwk-tx-row:hover{background:${theme.surface};box-shadow:none;transform:none}.xwk-tx-row:first-child{border-top:0}.xwk-tx-status{align-items:center;background:${theme.background};border-radius:999px;color:${theme.accent};display:inline-flex;height:24px;justify-content:center;position:relative;width:24px}.xwk-tx-row-submitted .xwk-tx-status:before{animation:xwk-pulse-ring 1.4s ease-out infinite;border:1px solid currentColor;border-radius:999px;content:"";inset:2px;opacity:.42;position:absolute}.xwk-tx-row-confirmed .xwk-tx-status{color:${theme.success}}.xwk-tx-row-failed .xwk-tx-status{color:${theme.error}}.xwk-tx-row-unknown .xwk-tx-status{color:${theme.muted}}.xwk-tx-main{display:grid;gap:2px;min-width:0}.xwk-tx-label{color:${theme.foreground};font-size:12px;font-weight:600;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xwk-tx-hash{color:${theme.muted};font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xwk-tx-link{align-items:center;border-radius:9px;color:${theme.accent};display:inline-flex;font:inherit;font-size:12px;font-weight:650;gap:3px;line-height:1.2;min-height:28px;padding:0 6px;text-decoration:none}.xwk-tx-link:hover{background:${theme.surfaceHover};box-shadow:none;text-decoration:none;transform:none}.xwk-tx-link svg{height:12px;width:12px}.xwk-tx-empty{background:${theme.surface};border:1px solid ${actionBorder};border-radius:${theme.walletRadius};box-sizing:border-box;color:${theme.muted};font-size:13px;line-height:1.35;padding:14px;text-align:center;width:100%}.xwk-tx-spinner{animation:xwk-action-spin .8s linear infinite;border:2px solid ${theme.spinnerTrail};border-top-color:${theme.accent};border-radius:999px;box-sizing:border-box;display:block;height:14px;width:14px}.xwk-account-panel-actions{display:grid;gap:10px;grid-template-columns:1fr;width:100%}.xwk-account-modal-body .xwk-account-panel-actions{margin-top:auto}.xwk-account-panel-with-transactions .xwk-account-modal-body .xwk-account-panel-actions{margin-top:0}.xwk-account-panel-actions button,.xwk-account-panel-actions a{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;align-items:center;appearance:none;background:${theme.surface};border:1px solid ${actionBorder};border-radius:${theme.walletRadius};box-shadow:none;box-sizing:border-box;color:${theme.foreground};cursor:pointer;display:flex;font:inherit;font-size:14px;font-weight:560;gap:8px;justify-content:center;line-height:1.2;min-height:46px;min-width:0;outline:none;overflow:hidden;padding:0 12px;text-decoration:none;touch-action:manipulation;transform:none;transition:background-color .16s ease,border-color .16s ease;width:100%}.xwk-account-panel-actions button:disabled{cursor:wait;opacity:1}.xwk-account-panel-actions svg{flex:0 0 auto;opacity:.58}.xwk-account-panel-actions span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xwk-account-panel-actions button:hover,.xwk-account-panel-actions a:hover{background:${theme.surfaceHover};border-color:${actionBorder};box-shadow:none;text-decoration:none;transform:none}.xwk-account-panel-actions button:active,.xwk-account-panel-actions a:active{background:${theme.surfaceHover};opacity:1;text-decoration:none;transform:none}.xwk-copied-icon{color:${theme.success};opacity:1!important}.xwk-action-spinner{animation:xwk-action-spin .8s linear infinite;border:2px solid ${theme.spinnerTrail};border-top-color:${theme.muted};border-radius:999px;box-sizing:border-box;display:inline-block;height:17px;width:17px}@keyframes xwk-action-spin{to{transform:rotate(360deg)}}@keyframes xwk-skeleton-pulse{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes xwk-pulse-ring{0%{opacity:.42;transform:scale(.8)}80%,100%{opacity:0;transform:scale(1.45)}}@keyframes xwk-account-overlay-in{from{opacity:0}to{opacity:1}}@keyframes xwk-account-panel-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.xwk-account-button,.xwk-tx-header-link,.xwk-account-panel-actions button,.xwk-account-panel-actions a{transition:none}.xwk-account-portal[data-xwk-entering="true"] .xwk-account-overlay,.xwk-account-portal[data-xwk-entering="true"] .xwk-account-panel-modal{animation-duration:1ms!important}.xwk-action-spinner,.xwk-balance-spinner,.xwk-tx-spinner,.xwk-skeleton,.xwk-tx-row-submitted .xwk-tx-status:before{animation:none}}@media(max-width:520px){.xwk-account-panel-dropdown{bottom:0;left:0;margin-top:0;min-width:0;position:fixed;right:0;top:auto;width:100vw}.xwk-account-overlay{align-items:flex-end;padding:max(12px,env(safe-area-inset-top)) 0 0}.xwk-account-panel-modal{align-self:flex-end;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;border-left:0;border-right:0;border-top-left-radius:${theme.radius};border-top-right-radius:${theme.radius};height:min(527px,calc(100dvh - env(safe-area-inset-top)));max-width:none;width:100vw}.xwk-account-panel-modal.xwk-account-panel-with-transactions,.xwk-account-panel-modal.xwk-account-panel-history{height:min(650px,calc(100dvh - env(safe-area-inset-top)))}.xwk-account-portal[data-xwk-entering="true"] .xwk-account-panel-modal{animation:xwk-account-sheet-in .28s cubic-bezier(.32,.72,0,1)}.xwk-account-modal-header{border-top-left-radius:${theme.radius};border-top-right-radius:${theme.radius};grid-template-columns:44px minmax(0,1fr) 44px;padding:10px 16px}.xwk-account-modal-body{min-height:0;padding:18px 20px max(22px,calc(22px + env(safe-area-inset-bottom)))}.xwk-button-label{max-width:min(150px,calc(100vw - 140px))}}@keyframes xwk-account-sheet-in{from{opacity:1;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}`;
|
|
22020
|
+
return `${baseStyles}${this.renderSkeletonPrimitiveStyles(theme, iconBorder)}`;
|
|
22021
|
+
}
|
|
22022
|
+
renderSkeletonPrimitiveStyles(theme, iconBorder) {
|
|
22023
|
+
return `.xwk-skeleton-circle{border-radius:999px}.xwk-skeleton-line{height:14px;border-radius:4px}.xwk-skeleton-pill{border-radius:999px}.xwk-skeleton-card,.xwk-skeleton-button{border-radius:${theme.walletRadius}}.xwk-skeleton-row{align-items:center;display:flex;gap:12px;width:100%}.xwk-skeleton-button-icon{height:28px;width:28px}.xwk-skeleton-button-label{height:14px;width:92px}.xwk-account-button-loading .xwk-button-label{align-items:center;display:inline-flex}.xwk-button-icon-loading{background:transparent;border-color:${iconBorder};padding:0}.xwk-account-avatar-skeleton{background:${theme.surface};border:1px solid ${iconBorder};box-sizing:border-box;overflow:hidden}.xwk-account-avatar-skeleton>span{height:100%;width:100%}.xwk-tx-skeleton-row{grid-template-columns:24px minmax(0,1fr) auto}.xwk-tx-skeleton-main{display:grid;gap:6px;min-width:0}.xwk-tx-skeleton-label{height:13px;width:86px}.xwk-tx-skeleton-hash{height:11px;width:132px}@media(prefers-reduced-motion:reduce){.xwk-skeleton{animation:none!important;background:${theme.surfaceHover}!important}}`;
|
|
21728
22024
|
}
|
|
21729
22025
|
resolveTheme() {
|
|
21730
22026
|
return resolveWalletTheme({
|
|
@@ -21869,6 +22165,9 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
21869
22165
|
return value;
|
|
21870
22166
|
}
|
|
21871
22167
|
}
|
|
22168
|
+
function compactButtonOptions(options) {
|
|
22169
|
+
return Object.fromEntries(Object.entries(options).filter(([, value]) => value !== void 0));
|
|
22170
|
+
}
|
|
21872
22171
|
function createWalletButton(options) {
|
|
21873
22172
|
const button = new WalletButtonController(options);
|
|
21874
22173
|
if (options.target)
|
|
@@ -22003,7 +22302,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
22003
22302
|
}
|
|
22004
22303
|
ensureStyles() {
|
|
22005
22304
|
const styles2 = this.renderStyles();
|
|
22006
|
-
ensureWalletStyle(
|
|
22305
|
+
ensureWalletStyle("xwk-toast", styles2);
|
|
22007
22306
|
}
|
|
22008
22307
|
getExplorerUrl(hash2, network) {
|
|
22009
22308
|
var _a2, _b;
|
|
@@ -22100,6 +22399,7 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
22100
22399
|
if (modal && modalOptions.autoOpen) {
|
|
22101
22400
|
modal.autoOpen();
|
|
22102
22401
|
}
|
|
22402
|
+
const subscribe2 = createKitSubscriber(manager);
|
|
22103
22403
|
return {
|
|
22104
22404
|
manager,
|
|
22105
22405
|
modal,
|
|
@@ -22112,11 +22412,52 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
22112
22412
|
refreshBalance: () => button == null ? void 0 : button.refreshBalance(),
|
|
22113
22413
|
refreshAccount: () => button == null ? void 0 : button.refreshAccount(),
|
|
22114
22414
|
getSession: () => manager.getSession(),
|
|
22415
|
+
on: manager.on.bind(manager),
|
|
22416
|
+
off: manager.off.bind(manager),
|
|
22417
|
+
once: manager.once.bind(manager),
|
|
22418
|
+
subscribe: subscribe2,
|
|
22115
22419
|
signAndSubmit: manager.signAndSubmit.bind(manager),
|
|
22116
22420
|
signTransaction: manager.signTransaction.bind(manager),
|
|
22117
22421
|
signMessage: manager.signMessage.bind(manager)
|
|
22118
22422
|
};
|
|
22119
22423
|
}
|
|
22424
|
+
function createKitSubscriber(manager) {
|
|
22425
|
+
function snapshot2(eventName, event) {
|
|
22426
|
+
const status = eventName === "connecting" ? "connecting" : manager.getSession() ? "connected" : "disconnected";
|
|
22427
|
+
return {
|
|
22428
|
+
status,
|
|
22429
|
+
session: manager.getSession(),
|
|
22430
|
+
account: manager.getAccount(),
|
|
22431
|
+
eventName,
|
|
22432
|
+
event
|
|
22433
|
+
};
|
|
22434
|
+
}
|
|
22435
|
+
function subscribe2(eventNameOrHandler, maybeHandler) {
|
|
22436
|
+
if (typeof eventNameOrHandler === "function") {
|
|
22437
|
+
const handler = eventNameOrHandler;
|
|
22438
|
+
const eventNames = [
|
|
22439
|
+
"connecting",
|
|
22440
|
+
"connected",
|
|
22441
|
+
"disconnected",
|
|
22442
|
+
"session_restored",
|
|
22443
|
+
"session_stale",
|
|
22444
|
+
"session_expired",
|
|
22445
|
+
"accountChanged",
|
|
22446
|
+
"networkChanged"
|
|
22447
|
+
];
|
|
22448
|
+
const unsubs = eventNames.map((eventName) => manager.on(eventName, (event) => {
|
|
22449
|
+
handler(snapshot2(eventName, event));
|
|
22450
|
+
}));
|
|
22451
|
+
handler(snapshot2());
|
|
22452
|
+
return () => unsubs.forEach((unsubscribe) => unsubscribe());
|
|
22453
|
+
}
|
|
22454
|
+
if (!maybeHandler) {
|
|
22455
|
+
throw new TypeError("kit.subscribe(eventName, handler) requires a handler.");
|
|
22456
|
+
}
|
|
22457
|
+
return manager.on(eventNameOrHandler, maybeHandler);
|
|
22458
|
+
}
|
|
22459
|
+
return subscribe2;
|
|
22460
|
+
}
|
|
22120
22461
|
function scheduleAutoReconnect(manager) {
|
|
22121
22462
|
const run = () => {
|
|
22122
22463
|
const requestFrame = typeof globalThis.requestAnimationFrame === "function" ? globalThis.requestAnimationFrame.bind(globalThis) : (callback) => globalThis.setTimeout(() => callback(Date.now()), 16);
|
|
@@ -22163,16 +22504,12 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
22163
22504
|
adapters.push(createXrplSnapAdapter());
|
|
22164
22505
|
if (options.walletConnectProjectId && shouldIncludeWalletConnect(ids)) {
|
|
22165
22506
|
const walletConnectUiMode = getWalletConnectUiMode(options);
|
|
22507
|
+
const appMetadata = resolveAppMetadata(options);
|
|
22166
22508
|
adapters.push(...createWalletConnectAdapters({
|
|
22167
22509
|
projectId: options.walletConnectProjectId,
|
|
22168
22510
|
mode: walletConnectUiMode === "default" ? "default" : "details",
|
|
22169
22511
|
wallets: resolveWalletConnectWallets(ids),
|
|
22170
|
-
metadata: createWalletConnectMetadata(
|
|
22171
|
-
name: options.appName,
|
|
22172
|
-
description: options.appDescription ?? `${options.appName} XRPL wallet connection`,
|
|
22173
|
-
url: options.appUrl ?? getCurrentOrigin(),
|
|
22174
|
-
icons: options.appIcons ?? []
|
|
22175
|
-
}),
|
|
22512
|
+
metadata: createWalletConnectMetadata(appMetadata),
|
|
22176
22513
|
onQr,
|
|
22177
22514
|
signMessageDestination: options.walletConnectSignMessageDestination,
|
|
22178
22515
|
useModal: walletConnectUiMode === "default" ? true : void 0,
|
|
@@ -22289,6 +22626,24 @@ ${new this._window.XMLSerializer().serializeToString(e4)}`;
|
|
|
22289
22626
|
function getCurrentOrigin() {
|
|
22290
22627
|
return typeof window !== "undefined" ? window.location.origin : "https://xrpl.org";
|
|
22291
22628
|
}
|
|
22629
|
+
function resolveAppMetadata(options) {
|
|
22630
|
+
var _a2, _b, _c, _d;
|
|
22631
|
+
const name = nonEmptyString((_a2 = options.metadata) == null ? void 0 : _a2.name) ?? nonEmptyString(options.appName) ?? "XRPL dApp";
|
|
22632
|
+
return {
|
|
22633
|
+
name,
|
|
22634
|
+
description: nonEmptyString((_b = options.metadata) == null ? void 0 : _b.description) ?? nonEmptyString(options.appDescription) ?? `${name} XRPL wallet connection`,
|
|
22635
|
+
url: nonEmptyString((_c = options.metadata) == null ? void 0 : _c.url) ?? nonEmptyString(options.appUrl) ?? getCurrentOrigin(),
|
|
22636
|
+
icons: normalizeIcons(((_d = options.metadata) == null ? void 0 : _d.icons) ?? options.appIcons)
|
|
22637
|
+
};
|
|
22638
|
+
}
|
|
22639
|
+
function nonEmptyString(value) {
|
|
22640
|
+
return typeof value === "string" && value.trim() ? value.trim() : void 0;
|
|
22641
|
+
}
|
|
22642
|
+
function normalizeIcons(icons) {
|
|
22643
|
+
if (!Array.isArray(icons))
|
|
22644
|
+
return [];
|
|
22645
|
+
return icons.filter((icon) => typeof icon === "string" && icon.trim().length > 0);
|
|
22646
|
+
}
|
|
22292
22647
|
function withoutKitOnlyOptions(options) {
|
|
22293
22648
|
const { adapters: _adapters, storage: _storage, walletConnectProjectId: _walletConnectProjectId, walletConnectSignMessageDestination: _walletConnectSignMessageDestination, xamanClientId: _xamanClientId, wallets: _wallets, ui: _ui, ...managerConfig } = options;
|
|
22294
22649
|
return managerConfig;
|