@0xsequence/marketplace-sdk 0.5.6 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-2J7JIOW5.js +2 -0
- package/dist/chunk-2J7JIOW5.js.map +1 -0
- package/dist/{chunk-Y75XGZOB.js → chunk-5O3ZAEEX.js} +4 -2
- package/dist/chunk-5O3ZAEEX.js.map +1 -0
- package/dist/{chunk-J6F5QOW5.js → chunk-6MYDUGVO.js} +28 -77
- package/dist/chunk-6MYDUGVO.js.map +1 -0
- package/dist/chunk-6WMO5YM5.js +94 -0
- package/dist/chunk-6WMO5YM5.js.map +1 -0
- package/dist/{chunk-AIGFG26L.js → chunk-A5ICXOCZ.js} +183 -250
- package/dist/chunk-A5ICXOCZ.js.map +1 -0
- package/dist/{chunk-4YR6AIXG.js → chunk-C42WHQRT.js} +6 -8
- package/dist/chunk-C42WHQRT.js.map +1 -0
- package/dist/{chunk-ZBLU3Q22.js → chunk-DLB2EQRX.js} +2 -2
- package/dist/{chunk-ZBLU3Q22.js.map → chunk-DLB2EQRX.js.map} +1 -1
- package/dist/{chunk-YOKGP2EQ.js → chunk-FG2BBP3P.js} +1 -1
- package/dist/{chunk-YOKGP2EQ.js.map → chunk-FG2BBP3P.js.map} +1 -1
- package/dist/{chunk-UZIAX32Y.js → chunk-GMWUIMX4.js} +10 -8
- package/dist/{chunk-UZIAX32Y.js.map → chunk-GMWUIMX4.js.map} +1 -1
- package/dist/{chunk-7C7ADZ2H.js → chunk-NKHM2AIS.js} +28 -44
- package/dist/chunk-NKHM2AIS.js.map +1 -0
- package/dist/{chunk-RIGIV5XT.js → chunk-NXORBVUS.js} +10 -4
- package/dist/chunk-NXORBVUS.js.map +1 -0
- package/dist/{chunk-7FN62HOP.js → chunk-UMYRZJVY.js} +11 -3
- package/dist/chunk-UMYRZJVY.js.map +1 -0
- package/dist/{chunk-E2V2BMF6.js → chunk-UZ3GJXBR.js} +2979 -3037
- package/dist/chunk-UZ3GJXBR.js.map +1 -0
- package/dist/{chunk-6YHHCGGY.js → chunk-VPJHNXZ2.js} +50 -74
- package/dist/chunk-VPJHNXZ2.js.map +1 -0
- package/dist/{create-config-CtFGrwXc.d.ts → create-config-CILyA_Hy.d.ts} +1 -1
- package/dist/index-BwDj_3at.d.ts +72 -0
- package/dist/index.css +12 -6
- package/dist/index.d.ts +7 -6
- package/dist/index.js +175 -85
- package/dist/react/_internal/api/index.d.ts +2 -2
- package/dist/react/_internal/databeat/index.css.map +1 -1
- package/dist/react/_internal/databeat/index.js +9 -8
- package/dist/react/_internal/index.d.ts +5 -5
- package/dist/react/_internal/index.js +2 -2
- package/dist/react/_internal/wagmi/index.d.ts +2 -2
- package/dist/react/_internal/wagmi/index.js +1 -1
- package/dist/react/hooks/index.css.map +1 -1
- package/dist/react/hooks/index.d.ts +10 -79
- package/dist/react/hooks/index.js +10 -10
- package/dist/react/hooks/options/index.d.ts +8 -0
- package/dist/react/hooks/options/index.js +17 -0
- package/dist/react/hooks/options/index.js.map +1 -0
- package/dist/react/index.css +52 -35
- package/dist/react/index.css.map +1 -1
- package/dist/react/index.d.ts +6 -5
- package/dist/react/index.js +19 -14
- package/dist/react/ssr/index.d.ts +1 -0
- package/dist/react/ssr/index.js +10 -2
- package/dist/react/ssr/index.js.map +1 -1
- package/dist/react/ui/components/collectible-card/index.css +52 -35
- package/dist/react/ui/components/collectible-card/index.css.map +1 -1
- package/dist/react/ui/components/collectible-card/index.d.ts +4 -3
- package/dist/react/ui/components/collectible-card/index.js +14 -12
- package/dist/react/ui/components/marketplace-logos/index.d.ts +1 -1
- package/dist/react/ui/components/marketplace-logos/index.js +1 -1
- package/dist/react/ui/icons/index.css.map +1 -1
- package/dist/react/ui/icons/index.js +1 -1
- package/dist/react/ui/index.css +52 -35
- package/dist/react/ui/index.css.map +1 -1
- package/dist/react/ui/index.d.ts +2 -2
- package/dist/react/ui/index.js +14 -12
- package/dist/react/ui/modals/_internal/components/actionModal/index.css +48 -48
- package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +1 -1
- package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +9 -8
- package/dist/react/ui/styles/index.css.map +1 -1
- package/dist/{sdk-config-xWkdBdrL.d.ts → sdk-config-Bs3H_le_.d.ts} +1 -0
- package/dist/{services-Cled3TJr.d.ts → services-C3lzi1sL.d.ts} +1 -1
- package/dist/styles/index.css +12 -6
- package/dist/styles/index.css.map +1 -1
- package/dist/styles/index.d.ts +3 -2
- package/dist/styles/index.js +3 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.js +2 -2
- package/dist/{types-C4oGsbnK.d.ts → types-CPl0DH-A.d.ts} +2 -2
- package/dist/utils/abi/index.js +5 -5
- package/dist/utils/index.d.ts +10 -9
- package/dist/utils/index.js +13 -11
- package/package.json +19 -15
- package/src/consts.ts +2 -0
- package/src/react/__tests__/provider.test.tsx +4 -4
- package/src/react/_internal/api/__mocks__/indexer.msw.ts +5 -5
- package/src/react/_internal/api/__mocks__/metadata.msw.ts +2 -2
- package/src/react/_internal/api/zod-schema.ts +2 -2
- package/src/react/_internal/databeat/index.ts +11 -3
- package/src/react/_internal/types.ts +2 -2
- package/src/react/_internal/wagmi/__tests__/create-config.test.ts +6 -6
- package/src/react/_internal/wagmi/create-config.ts +11 -2
- package/src/react/_internal/wallet/__tests__/wallet.test.ts +343 -0
- package/src/react/_internal/wallet/useWallet.ts +22 -15
- package/src/react/_internal/wallet/wallet.ts +17 -11
- package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +8 -12
- package/src/react/hooks/__tests__/useBalanceOfCollectible.test.tsx +6 -13
- package/src/react/hooks/__tests__/useCancelOrder.test.tsx +59 -155
- package/src/react/hooks/__tests__/useCancelTransactionSteps.test.tsx +21 -20
- package/src/react/hooks/__tests__/useCollectible.test.tsx +6 -7
- package/src/react/hooks/__tests__/useCollection.test.tsx +5 -6
- package/src/react/hooks/__tests__/useCollectionBalanceDetails.test.tsx +8 -16
- package/src/react/hooks/__tests__/useCollectionDetails.test.tsx +7 -6
- package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +8 -12
- package/src/react/hooks/__tests__/useComparePrices.test.tsx +1 -2
- package/src/react/hooks/__tests__/useConvertPriceToUSD.test.tsx +2 -3
- package/src/react/hooks/__tests__/useCountListingsForCollectible.test.tsx +4 -5
- package/src/react/hooks/__tests__/useCountOfCollectables.test.tsx +6 -7
- package/src/react/hooks/__tests__/useCountOffersForCollectible.test.tsx +4 -5
- package/src/react/hooks/__tests__/useCurrencies.test.tsx +3 -4
- package/src/react/hooks/__tests__/useCurrency.test.tsx +4 -6
- package/src/react/hooks/__tests__/useCurrencyBalance.test.tsx +78 -84
- package/src/react/hooks/__tests__/useFilters.test.tsx +5 -6
- package/src/react/hooks/__tests__/useFloorOrder.test.tsx +5 -6
- package/src/react/hooks/__tests__/useGenerateBuyTransaction.test.tsx +6 -7
- package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +11 -67
- package/src/react/hooks/__tests__/useGenerateListingTransaction.test.tsx +6 -17
- package/src/react/hooks/__tests__/useGenerateOfferTransaction.test.tsx +6 -16
- package/src/react/hooks/__tests__/useGenerateSellTransaction.test.tsx +7 -17
- package/src/react/hooks/__tests__/useHighestOffer.test.tsx +6 -7
- package/src/react/hooks/__tests__/useListBalances.test.tsx +4 -9
- package/src/react/hooks/__tests__/useListCollectibleActivities.test.tsx +5 -11
- package/src/react/hooks/__tests__/useListCollectibles.test.tsx +6 -7
- package/src/react/hooks/__tests__/useListCollectiblesPaginated.test.tsx +2 -3
- package/src/react/hooks/__tests__/useListCollectionActivities.test.tsx +6 -12
- package/src/react/hooks/__tests__/useListCollections.test.tsx +5 -14
- package/src/react/hooks/__tests__/useListListingsForCollectible.test.tsx +6 -7
- package/src/react/hooks/__tests__/useListOffersForCollectible.test.tsx +6 -7
- package/src/react/hooks/__tests__/useLowestListing.test.tsx +6 -7
- package/src/react/hooks/__tests__/useMarketplaceConfig.test.tsx +5 -14
- package/src/react/hooks/__tests__/useRoyaltyPercentage.test.tsx +46 -78
- package/src/react/hooks/options/__mocks__/marketplaceConfig.msw.ts +9 -4
- package/src/react/hooks/options/__tests__/marketplaceConfigOptions.test.tsx +3 -4
- package/src/react/hooks/options/collectionOptions.ts +42 -0
- package/src/react/hooks/options/index.ts +2 -0
- package/src/react/hooks/useCancelOrder.tsx +3 -3
- package/src/react/hooks/useCancelTransactionSteps.tsx +11 -11
- package/src/react/hooks/useCollection.tsx +6 -37
- package/src/react/hooks/useCollectionBalanceDetails.tsx +3 -3
- package/src/react/hooks/useCollectionDetailsPolling.tsx +1 -1
- package/src/react/hooks/useCurrencies.tsx +1 -1
- package/src/react/hooks/useCurrencyBalance.tsx +4 -5
- package/src/react/hooks/useGenerateListingTransaction.tsx +1 -1
- package/src/react/hooks/useGenerateOfferTransaction.tsx +1 -1
- package/src/react/hooks/useGetReceiptFromHash.tsx +1 -1
- package/src/react/hooks/useListCollectibleActivities.tsx +1 -1
- package/src/react/hooks/useListCollectionActivities.tsx +1 -1
- package/src/react/hooks/useRoyaltyPercentage.tsx +16 -8
- package/src/react/index.ts +1 -0
- package/src/react/provider.tsx +2 -2
- package/src/react/ssr/__tests__/create-ssr-client.test.ts +97 -0
- package/src/react/ssr/create-ssr-client.ts +1 -1
- package/src/react/ui/components/_internals/action-button/ActionButton.tsx +3 -3
- package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +2 -2
- package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +4 -4
- package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +2 -2
- package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +1 -1
- package/src/react/ui/components/_internals/custom-select/__tests__/CustomSelect.test.tsx +2 -7
- package/src/react/ui/components/collectible-card/CollectibleCard.tsx +33 -7
- package/src/react/ui/components/collectible-card/Footer.tsx +47 -8
- package/src/react/ui/components/collectible-card/styles.css.ts +26 -2
- package/src/react/ui/components/marketplace-logos/marketplace-logos.tsx +1 -1
- package/src/react/ui/icons/index.ts +2 -5
- package/src/react/ui/{icons/DiamondEye.tsx → images/marketplaces/LooksRare.tsx} +1 -1
- package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx +10 -11
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useBuyCollectable.test.tsx +343 -0
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +8 -31
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useFees.test.tsx +4 -4
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useLoadData.test.tsx +9 -36
- package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +3 -3
- package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +1 -1
- package/src/react/ui/modals/BuyModal/modals/Modal1155.tsx +25 -15
- package/src/react/ui/modals/BuyModal/modals/__tests__/CheckoutModal.test.tsx +2 -2
- package/src/react/ui/modals/BuyModal/modals/__tests__/Modal1155.test.tsx +209 -242
- package/src/react/ui/modals/CreateListingModal/Modal.tsx +3 -2
- package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +5 -11
- package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +1 -1
- package/src/react/ui/modals/CreateListingModal/index.tsx +1 -1
- package/src/react/ui/modals/MakeOfferModal/Modal.tsx +1 -1
- package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +46 -49
- package/src/react/ui/modals/SellModal/Modal.tsx +1 -0
- package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +9 -28
- package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +2 -2
- package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +3 -3
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +4 -4
- package/src/react/ui/modals/_internal/components/actionModal/store.ts +1 -1
- package/src/react/ui/modals/_internal/components/alertMessage/index.tsx +2 -3
- package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +4 -4
- package/src/react/ui/modals/_internal/components/expirationDateSelect/index.tsx +1 -1
- package/src/react/ui/modals/_internal/components/priceInput/__tests__/index.test.tsx +1 -8
- package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +9 -5
- package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +4 -10
- package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +2 -2
- package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +1 -1
- package/src/react/ui/modals/_internal/components/transaction-footer/index.tsx +9 -3
- package/src/react/ui/modals/_internal/components/transaction-footer/transactionFooter.css.ts +11 -0
- package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +8 -7
- package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/TransactionStatusModal.test.tsx +4 -9
- package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/utils.test.ts +3 -3
- package/src/react/ui/modals/_internal/components/transactionStatusModal/hooks/useTransactionStatus.ts +4 -4
- package/src/react/ui/modals/_internal/components/transactionStatusModal/index.tsx +1 -1
- package/src/react/ui/modals/modal-provider.tsx +2 -2
- package/src/types/sdk-config.ts +1 -0
- package/src/utils/__tests__/address.test.ts +1 -1
- package/src/utils/__tests__/getMarketplaceDetails.test.ts +4 -4
- package/src/utils/getMarketplaceDetails.ts +7 -7
- package/src/utils/index.ts +1 -1
- package/src/utils/networkconfigToWagmiChain.ts +17 -0
- package/src/utils/price.ts +8 -0
- package/test/const.ts +35 -0
- package/test/globalSetup.ts +15 -0
- package/test/index.ts +1 -0
- package/{src/react/_internal/test → test}/mocks/wallet.ts +5 -5
- package/test/setup.ts +20 -0
- package/test/test-utils.tsx +157 -0
- package/tsconfig.json +7 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/vitest.config.js +5 -3
- package/dist/chunk-4YR6AIXG.js.map +0 -1
- package/dist/chunk-6YHHCGGY.js.map +0 -1
- package/dist/chunk-7C7ADZ2H.js.map +0 -1
- package/dist/chunk-7FN62HOP.js.map +0 -1
- package/dist/chunk-AIGFG26L.js.map +0 -1
- package/dist/chunk-E2V2BMF6.js.map +0 -1
- package/dist/chunk-J6F5QOW5.js.map +0 -1
- package/dist/chunk-RIGIV5XT.js.map +0 -1
- package/dist/chunk-Y75XGZOB.js.map +0 -1
- package/src/react/_internal/test/mocks/publicClient.ts +0 -39
- package/src/react/_internal/test/mocks/wagmi.ts +0 -61
- package/src/react/_internal/test/setup.ts +0 -28
- package/src/react/_internal/test-utils.tsx +0 -97
- package/src/react/ui/icons/ArrowUp.tsx +0 -32
- package/src/react/ui/icons/InventoryIcon.tsx +0 -44
- package/src/react/ui/icons/MinusIcon.tsx +0 -34
- package/src/react/ui/icons/PlusIcon.tsx +0 -32
- package/src/react/ui/icons/PositiveCircleIcon.tsx +0 -38
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useBuyCollectable.test.tsx.bak +0 -379
- package/src/utils/__tests__/get-public-rpc-client.test.ts +0 -111
- package/src/utils/get-public-rpc-client.ts +0 -41
- /package/src/react/ui/icons/{Bell.tsx → BellIcon.tsx} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
// src/consts.ts
|
|
4
4
|
var SEQUENCE_MARKET_V1_ADDRESS = "0xB537a160472183f2150d42EB1c3DD6684A55f74c";
|
|
5
5
|
var SEQUENCE_MARKET_V2_ADDRESS = "0xfdb42A198a932C8D3B506Ffa5e855bC4b348a712";
|
|
6
|
+
var DEFAULT_MARKETPLACE_FEE_PERCENTAGE = 2.5;
|
|
6
7
|
|
|
7
8
|
export {
|
|
8
9
|
SEQUENCE_MARKET_V1_ADDRESS,
|
|
9
|
-
SEQUENCE_MARKET_V2_ADDRESS
|
|
10
|
+
SEQUENCE_MARKET_V2_ADDRESS,
|
|
11
|
+
DEFAULT_MARKETPLACE_FEE_PERCENTAGE
|
|
10
12
|
};
|
|
11
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-5O3ZAEEX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/consts.ts"],"sourcesContent":["export const SEQUENCE_MARKET_V1_ADDRESS =\n\t'0xB537a160472183f2150d42EB1c3DD6684A55f74c';\n\nexport const SEQUENCE_MARKET_V2_ADDRESS =\n\t'0xfdb42A198a932C8D3B506Ffa5e855bC4b348a712';\n\nexport const DEFAULT_MARKETPLACE_FEE_PERCENTAGE = 2.5;\n"],"mappings":";;;AAAO,IAAM,6BACZ;AAEM,IAAM,6BACZ;AAEM,IAAM,qCAAqC;","names":[]}
|
|
@@ -17,79 +17,6 @@ var compareAddress = (a = "", b = "") => {
|
|
|
17
17
|
return a.toLowerCase() === b.toLowerCase();
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
// src/utils/get-public-rpc-client.ts
|
|
21
|
-
import { allNetworks, findNetworkConfig } from "@0xsequence/network";
|
|
22
|
-
import { http, createPublicClient } from "viem";
|
|
23
|
-
|
|
24
|
-
// src/utils/_internal/error/base.ts
|
|
25
|
-
var BaseError = class extends Error {
|
|
26
|
-
details;
|
|
27
|
-
shortMessage;
|
|
28
|
-
name = "MarketplaceSdkBaseError";
|
|
29
|
-
constructor(shortMessage, options = {}) {
|
|
30
|
-
super();
|
|
31
|
-
const details = "details" in options ? options.details : "";
|
|
32
|
-
this.message = [
|
|
33
|
-
shortMessage || "An error occurred.",
|
|
34
|
-
"",
|
|
35
|
-
...details ? [`Details: ${details}`] : []
|
|
36
|
-
].join("\n");
|
|
37
|
-
if ("cause" in options && options.cause) {
|
|
38
|
-
this.cause = options.cause;
|
|
39
|
-
}
|
|
40
|
-
this.details = details || "";
|
|
41
|
-
this.shortMessage = shortMessage;
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
// src/utils/_internal/error/transaction.ts
|
|
46
|
-
var TransactionError = class extends BaseError {
|
|
47
|
-
name = "TransactionError";
|
|
48
|
-
};
|
|
49
|
-
var MissingConfigError = class extends TransactionError {
|
|
50
|
-
name = "MissingConfigError";
|
|
51
|
-
constructor(configName) {
|
|
52
|
-
super(`Missing required config: ${configName}`, {
|
|
53
|
-
details: "A required configuration parameter is missing."
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
// src/utils/get-public-rpc-client.ts
|
|
59
|
-
var getPublicRpcClient = (chainId) => {
|
|
60
|
-
if (chainId === void 0) {
|
|
61
|
-
throw new MissingConfigError(
|
|
62
|
-
`Network configuration for chainId: ${chainId}`
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
const network = findNetworkConfig(allNetworks, chainId);
|
|
66
|
-
if (!network) {
|
|
67
|
-
throw new MissingConfigError(
|
|
68
|
-
`Network configuration for chainId: ${chainId}`
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
return createPublicClient({
|
|
72
|
-
chain: {
|
|
73
|
-
...network,
|
|
74
|
-
id: Number(chainId),
|
|
75
|
-
name: network.name,
|
|
76
|
-
nativeCurrency: { ...network.nativeToken },
|
|
77
|
-
rpcUrls: {
|
|
78
|
-
default: {
|
|
79
|
-
http: [network.rpcUrl]
|
|
80
|
-
},
|
|
81
|
-
public: {
|
|
82
|
-
http: [network.rpcUrl]
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
batch: {
|
|
87
|
-
multicall: true
|
|
88
|
-
},
|
|
89
|
-
transport: http()
|
|
90
|
-
});
|
|
91
|
-
};
|
|
92
|
-
|
|
93
20
|
// src/utils/network.ts
|
|
94
21
|
import { networks } from "@0xsequence/network";
|
|
95
22
|
var getPresentableChainName = (chainId) => {
|
|
@@ -110,10 +37,17 @@ var calculatePriceDifferencePercentage = ({
|
|
|
110
37
|
const percentageDifference = difference / basePrice * 100;
|
|
111
38
|
return percentageDifference.toFixed(2);
|
|
112
39
|
};
|
|
40
|
+
var formatPrice = (amount, decimals) => {
|
|
41
|
+
const formattedUnits = Number(formatUnits(amount, decimals));
|
|
42
|
+
return formattedUnits.toLocaleString("en-US", {
|
|
43
|
+
minimumFractionDigits: 0,
|
|
44
|
+
maximumFractionDigits: decimals
|
|
45
|
+
});
|
|
46
|
+
};
|
|
113
47
|
|
|
114
48
|
// src/react/ui/components/marketplace-logos/marketplace-logos.tsx
|
|
115
|
-
import { lazy, Suspense } from "react";
|
|
116
49
|
import { Image } from "@0xsequence/design-system";
|
|
50
|
+
import { Suspense, lazy } from "react";
|
|
117
51
|
import { jsx } from "react/jsx-runtime";
|
|
118
52
|
var createMarketplaceLogo = (importFn, alt) => {
|
|
119
53
|
const LazyLogo = lazy(async () => {
|
|
@@ -290,13 +224,30 @@ function getRootDomain(url) {
|
|
|
290
224
|
return parts[parts.length - 2] || parts[0];
|
|
291
225
|
}
|
|
292
226
|
|
|
227
|
+
// src/utils/networkconfigToWagmiChain.ts
|
|
228
|
+
var networkToWagmiChain = (network) => ({
|
|
229
|
+
...network,
|
|
230
|
+
id: Number(network.chainId),
|
|
231
|
+
name: network.name,
|
|
232
|
+
nativeCurrency: { ...network.nativeToken },
|
|
233
|
+
rpcUrls: {
|
|
234
|
+
default: {
|
|
235
|
+
http: [network.rpcUrl]
|
|
236
|
+
},
|
|
237
|
+
public: {
|
|
238
|
+
http: [network.rpcUrl]
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
|
|
293
243
|
export {
|
|
294
244
|
truncateMiddle,
|
|
295
245
|
truncateEnd,
|
|
296
246
|
compareAddress,
|
|
297
|
-
getPublicRpcClient,
|
|
298
247
|
getPresentableChainName,
|
|
299
248
|
calculatePriceDifferencePercentage,
|
|
300
|
-
|
|
249
|
+
formatPrice,
|
|
250
|
+
getMarketplaceDetails,
|
|
251
|
+
networkToWagmiChain
|
|
301
252
|
};
|
|
302
|
-
//# sourceMappingURL=chunk-
|
|
253
|
+
//# sourceMappingURL=chunk-6MYDUGVO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/address.ts","../src/utils/network.ts","../src/utils/price.ts","../src/react/ui/components/marketplace-logos/marketplace-logos.tsx","../src/utils/getMarketplaceDetails.ts","../src/utils/networkconfigToWagmiChain.ts"],"sourcesContent":["export const truncateMiddle = (\n\taddress: string,\n\tminPrefix = 20,\n\tminSuffix = 3,\n): string => {\n\tif (minPrefix + minSuffix >= 40) {\n\t\treturn address;\n\t}\n\treturn `${address.substring(0, 2 + minPrefix)}…${address.substring(address.length - minSuffix)}`;\n};\n\nexport const truncateEnd = (text: string | undefined, truncateAt: number) => {\n\tif (!text) return '';\n\n\tlet finalText = text;\n\n\tif (text.length >= truncateAt) {\n\t\tfinalText = `${text.slice(0, truncateAt)}...`;\n\t}\n\n\treturn finalText;\n};\n\nexport const compareAddress = (a = '', b = '') => {\n\treturn a.toLowerCase() === b.toLowerCase();\n};\n","import { networks, type ChainId as sequenceChainId } from '@0xsequence/network';\nimport type { ChainId } from '../react/_internal';\n\nexport const getPresentableChainName = (chainId: ChainId) => {\n\tconst id = Number(chainId) as sequenceChainId;\n\treturn networks[id]?.name;\n};\n","import { formatUnits } from 'viem';\n\ntype CalculatePriceDifferencePercentageArgs = {\n\tinputPriceRaw: bigint;\n\tbasePriceRaw: bigint;\n\tdecimals: number;\n};\n\nexport const calculatePriceDifferencePercentage = ({\n\tinputPriceRaw,\n\tbasePriceRaw,\n\tdecimals,\n}: CalculatePriceDifferencePercentageArgs) => {\n\tconst inputPrice = Number(formatUnits(inputPriceRaw, decimals));\n\tconst basePrice = Number(formatUnits(basePriceRaw, decimals));\n\tconst difference = inputPrice - basePrice;\n\tconst percentageDifference = (difference / basePrice) * 100;\n\n\treturn percentageDifference.toFixed(2);\n};\n\nexport const formatPrice = (amount: bigint, decimals: number): string => {\n\tconst formattedUnits = Number(formatUnits(amount, decimals));\n\treturn formattedUnits.toLocaleString('en-US', {\n\t\tminimumFractionDigits: 0,\n\t\tmaximumFractionDigits: decimals,\n\t});\n};\n","import { Image } from '@0xsequence/design-system';\nimport { type ComponentProps, Suspense, lazy } from 'react';\n\n/* @__PURE__ */\nconst createMarketplaceLogo = (\n\timportFn: () => Promise<{ default: string }>,\n\talt: string,\n) => {\n\tconst LazyLogo = lazy(async () => {\n\t\tconst src = await importFn();\n\t\treturn {\n\t\t\tdefault: function MarketplaceLogo({\n\t\t\t\talt: altProp,\n\t\t\t\t...props\n\t\t\t}: ComponentProps<typeof Image>) {\n\t\t\t\treturn <Image src={src.default} alt={altProp || alt} {...props} />;\n\t\t\t},\n\t\t};\n\t});\n\n\treturn function MarketplaceLogo(props: ComponentProps<typeof Image>) {\n\t\treturn (\n\t\t\t<Suspense\n\t\t\t\tfallback={<div style={{ width: props.width, height: props.height }} />}\n\t\t\t>\n\t\t\t\t<LazyLogo {...props} />\n\t\t\t</Suspense>\n\t\t);\n\t};\n};\n\nexport const AlienSwapLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/alien_swap.png'),\n\t'AlienSwap Logo',\n);\nexport const AquaXyzLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/aqua-xyz.png'),\n\t'AquaXyz Logo',\n);\nexport const AuraLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/aura.png'),\n\t'Aura Logo',\n);\nexport const BlurLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/blur.png'),\n\t'Blur Logo',\n);\nexport const CoinbaseLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/coinbase.png'),\n\t'Coinbase Logo',\n);\nexport const ElementLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/element.png'),\n\t'Element Logo',\n);\nexport const FoundationLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/foundation.png'),\n\t'Foundation Logo',\n);\nexport const LooksRareLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/looks-rare.png'),\n\t'LooksRare Logo',\n);\nexport const MagicEdenLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/magic-eden.png'),\n\t'MagicEden Logo',\n);\nexport const ManifoldLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/manifold.png'),\n\t'Manifold Logo',\n);\nexport const MintifyLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/mintify.png'),\n\t'Mintify Logo',\n);\nexport const NftxLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/nftx.png'),\n\t'NFTX Logo',\n);\nexport const OkxLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/okx.png'),\n\t'OKX Logo',\n);\nexport const OpenSeaLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/open-sea.png'),\n\t'OpenSea Logo',\n);\nexport const RaribleLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/rarible.png'),\n\t'Rarible Logo',\n);\nexport const SequenceLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/sequence.png'),\n\t'Sequence Logo',\n);\nexport const SudoSwapLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/sudo-swap.png'),\n\t'SudoSwap Logo',\n);\nexport const SuperRareLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/super-rare.png'),\n\t'SuperRare Logo',\n);\nexport const X2y2Logo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/x2y2.png'),\n\t'X2Y2 Logo',\n);\nexport const ZoraLogo = createMarketplaceLogo(\n\t() => import('../../images/marketplaces/zora.png'),\n\t'Zora Logo',\n);\n","import type { Image } from '@0xsequence/design-system';\nimport type { ComponentType } from 'react';\nimport {\n\tAlienSwapLogo,\n\tBlurLogo,\n\tLooksRareLogo,\n\tMagicEdenLogo,\n\tMintifyLogo,\n\tOpenSeaLogo,\n\tSequenceLogo,\n\tX2y2Logo,\n} from '../react/ui/components/marketplace-logos';\nimport { MarketplaceKind } from '../types';\n\ninterface Marketplace {\n\tlogo: ComponentType<React.ComponentProps<typeof Image>>;\n\tdisplayName: string;\n}\n\nconst MARKETPLACES: Record<string, Marketplace> = {\n\tsequence: {\n\t\tlogo: SequenceLogo,\n\t\tdisplayName: 'Sequence',\n\t},\n\topensea: {\n\t\tlogo: OpenSeaLogo,\n\t\tdisplayName: 'OpenSea',\n\t},\n\tmagiceden: {\n\t\tlogo: MagicEdenLogo,\n\t\tdisplayName: 'Magic Eden',\n\t},\n\tmintify: {\n\t\tlogo: MintifyLogo,\n\t\tdisplayName: 'Mintify',\n\t},\n\tlooksrare: {\n\t\tlogo: LooksRareLogo,\n\t\tdisplayName: 'Looks Rare',\n\t},\n\tx2y2: {\n\t\tlogo: X2y2Logo,\n\t\tdisplayName: 'X2Y2',\n\t},\n\tblur: {\n\t\tlogo: BlurLogo,\n\t\tdisplayName: 'Blur',\n\t},\n\talienswap: {\n\t\tlogo: AlienSwapLogo,\n\t\tdisplayName: 'AlienSwap',\n\t},\n} as const;\n\nconst KIND_TO_MARKETPLACE: Partial<\n\tRecord<MarketplaceKind, keyof typeof MARKETPLACES>\n> = {\n\t[MarketplaceKind.sequence_marketplace_v1]: 'sequence',\n\t[MarketplaceKind.sequence_marketplace_v2]: 'sequence',\n\t[MarketplaceKind.opensea]: 'opensea',\n\t[MarketplaceKind.mintify]: 'mintify',\n\t[MarketplaceKind.looks_rare]: 'looksrare',\n\t[MarketplaceKind.x2y2]: 'x2y2',\n\t[MarketplaceKind.blur]: 'blur',\n};\n\ntype MarketplaceDetailsProp = {\n\toriginName: string;\n\tkind: MarketplaceKind;\n};\n\n// TODO: add suport for more marketplaces and improve detection of marketplace\nexport function getMarketplaceDetails({\n\toriginName,\n\tkind,\n}: MarketplaceDetailsProp) {\n\tif (\n\t\tkind === MarketplaceKind.sequence_marketplace_v1 ||\n\t\tkind === MarketplaceKind.sequence_marketplace_v2\n\t) {\n\t\treturn MARKETPLACES.sequence;\n\t}\n\n\tlet name = originName.toLowerCase();\n\n\ttry {\n\t\t//Check if the name can be parsed as a url\n\t\tnew URL(name);\n\t\t// if it can we are naively trying to extract the root domain\n\t\tname = getRootDomain(name) || name;\n\t} catch {}\n\n\tname = name.replace(/ /g, '');\n\n\tconst details = MARKETPLACES[name];\n\n\tif (details) {\n\t\treturn details;\n\t}\n\n\tif (KIND_TO_MARKETPLACE[kind]) {\n\t\treturn MARKETPLACES[KIND_TO_MARKETPLACE[kind]];\n\t}\n}\n\nfunction getRootDomain(url: string) {\n\tconst domain = url.replace(/^(https?:\\/\\/)?(www\\.)?/, '');\n\tconst parts = domain.split('.');\n\treturn parts[parts.length - 2] || parts[0];\n}\n","import type { NetworkConfig } from '@0xsequence/network';\nimport type { Chain } from 'viem';\n\nexport const networkToWagmiChain = (network: NetworkConfig): Chain => ({\n\t...network,\n\tid: Number(network.chainId),\n\tname: network.name,\n\tnativeCurrency: { ...network.nativeToken },\n\trpcUrls: {\n\t\tdefault: {\n\t\t\thttp: [network.rpcUrl],\n\t\t},\n\t\tpublic: {\n\t\t\thttp: [network.rpcUrl],\n\t\t},\n\t},\n});\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
AddressSchema,
|
|
4
|
+
ChainIdSchema,
|
|
5
|
+
QueryArgSchema
|
|
6
|
+
} from "./chunk-FG2BBP3P.js";
|
|
7
|
+
import {
|
|
8
|
+
builderMarketplaceApi,
|
|
9
|
+
collectionKeys,
|
|
10
|
+
configKeys,
|
|
11
|
+
getMetadataClient
|
|
12
|
+
} from "./chunk-LNMMWV77.js";
|
|
13
|
+
import {
|
|
14
|
+
MarketplaceConfigFetchError,
|
|
15
|
+
ProjectNotFoundError
|
|
16
|
+
} from "./chunk-WM4RGBFQ.js";
|
|
17
|
+
|
|
18
|
+
// src/react/hooks/options/collectionOptions.ts
|
|
19
|
+
import { queryOptions } from "@tanstack/react-query";
|
|
20
|
+
import { z } from "zod";
|
|
21
|
+
var UseCollectionSchema = z.object({
|
|
22
|
+
chainId: ChainIdSchema.pipe(z.coerce.string()),
|
|
23
|
+
collectionAddress: AddressSchema,
|
|
24
|
+
query: QueryArgSchema
|
|
25
|
+
});
|
|
26
|
+
var fetchCollection = async (args, config) => {
|
|
27
|
+
const parsedArgs = UseCollectionSchema.parse(args);
|
|
28
|
+
const metadataClient = getMetadataClient(config);
|
|
29
|
+
return metadataClient.getContractInfo({
|
|
30
|
+
chainID: parsedArgs.chainId,
|
|
31
|
+
contractAddress: parsedArgs.collectionAddress
|
|
32
|
+
}).then((resp) => resp.contractInfo);
|
|
33
|
+
};
|
|
34
|
+
var collectionOptions = (args, config) => {
|
|
35
|
+
return queryOptions({
|
|
36
|
+
...args.query,
|
|
37
|
+
queryKey: [...collectionKeys.detail, args, config],
|
|
38
|
+
queryFn: () => fetchCollection(args, config)
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// src/react/hooks/options/marketplaceConfigOptions.ts
|
|
43
|
+
import { queryOptions as queryOptions2 } from "@tanstack/react-query";
|
|
44
|
+
var fetchBuilderConfig = async (projectId, env) => {
|
|
45
|
+
const url = `${builderMarketplaceApi(projectId, env)}`;
|
|
46
|
+
const response = await fetch(`${url}/settings.json`);
|
|
47
|
+
const json = await response.json();
|
|
48
|
+
if (!response.ok) {
|
|
49
|
+
console.error("Failed to fetch marketplace config:", response.status, json);
|
|
50
|
+
switch (json.code) {
|
|
51
|
+
case 3e3:
|
|
52
|
+
throw new ProjectNotFoundError(projectId, url);
|
|
53
|
+
default:
|
|
54
|
+
throw new MarketplaceConfigFetchError(json.msg);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return json;
|
|
58
|
+
};
|
|
59
|
+
var fetchStyles = async (projectId, env) => {
|
|
60
|
+
const response = await fetch(
|
|
61
|
+
`${builderMarketplaceApi(projectId, env)}/styles.css`
|
|
62
|
+
);
|
|
63
|
+
const styles = await response.text();
|
|
64
|
+
return styles.replaceAll(/['"]/g, "");
|
|
65
|
+
};
|
|
66
|
+
var fetchMarketplaceConfig = async (env, projectId) => {
|
|
67
|
+
const [marketplaceConfig, cssString] = await Promise.all([
|
|
68
|
+
fetchBuilderConfig(projectId, env),
|
|
69
|
+
fetchStyles(projectId, env)
|
|
70
|
+
]);
|
|
71
|
+
return {
|
|
72
|
+
...marketplaceConfig,
|
|
73
|
+
cssString,
|
|
74
|
+
manifestUrl: `${builderMarketplaceApi(projectId, env)}/manifest.json`
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
var marketplaceConfigOptions = (config) => {
|
|
78
|
+
let env = "production";
|
|
79
|
+
if ("_internal" in config && config._internal !== void 0) {
|
|
80
|
+
env = config._internal.builderEnv ?? env;
|
|
81
|
+
}
|
|
82
|
+
const projectId = config.projectId;
|
|
83
|
+
return queryOptions2({
|
|
84
|
+
queryKey: [...configKeys.marketplace, env, projectId],
|
|
85
|
+
queryFn: () => fetchMarketplaceConfig(env, projectId)
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export {
|
|
90
|
+
fetchCollection,
|
|
91
|
+
collectionOptions,
|
|
92
|
+
marketplaceConfigOptions
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=chunk-6WMO5YM5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/hooks/options/collectionOptions.ts","../src/react/hooks/options/marketplaceConfigOptions.ts"],"sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectionKeys,\n\tgetMetadataClient,\n} from '../../_internal';\nimport type { UseCollectionArgs } from '../useCollection';\n\nexport const UseCollectionSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tquery: QueryArgSchema,\n});\n\nexport const fetchCollection = async (\n\targs: UseCollectionArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseCollectionSchema.parse(args);\n\tconst metadataClient = getMetadataClient(config);\n\treturn metadataClient\n\t\t.getContractInfo({\n\t\t\tchainID: parsedArgs.chainId,\n\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t})\n\t\t.then((resp) => resp.contractInfo);\n};\n\nexport const collectionOptions = (\n\targs: UseCollectionArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectionKeys.detail, args, config],\n\t\tqueryFn: () => fetchCollection(args, config),\n\t});\n};\n","import { queryOptions } from '@tanstack/react-query';\nimport type {\n\tEnv,\n\tMarketplaceConfig,\n\tMarketplaceSettings,\n\tSdkConfig,\n} from '../../../types';\nimport {\n\tMarketplaceConfigFetchError,\n\tProjectNotFoundError,\n} from '../../../utils/_internal/error/transaction';\nimport { builderMarketplaceApi, configKeys } from '../../_internal';\n\nconst fetchBuilderConfig = async (projectId: string, env: Env) => {\n\tconst url = `${builderMarketplaceApi(projectId, env)}`;\n\tconst response = await fetch(`${url}/settings.json`);\n\n\tconst json = await response.json();\n\tif (!response.ok) {\n\t\tconsole.error('Failed to fetch marketplace config:', response.status, json);\n\t\t//@ts-ignore\n\t\tswitch (json.code) {\n\t\t\tcase 3000: // Throws 3000 if the project is not found\n\t\t\t\tthrow new ProjectNotFoundError(projectId, url);\n\t\t\tdefault:\n\t\t\t\t//@ts-ignore\n\t\t\t\tthrow new MarketplaceConfigFetchError(json.msg);\n\t\t}\n\t}\n\treturn json as MarketplaceSettings;\n};\n\nconst fetchStyles = async (projectId: string, env: Env) => {\n\tconst response = await fetch(\n\t\t`${builderMarketplaceApi(projectId, env)}/styles.css`,\n\t);\n\tconst styles = await response.text();\n\t// React sanitizes this string, so we need to remove all quotes, they are not needed anyway\n\treturn styles.replaceAll(/['\"]/g, '');\n};\n\nconst fetchMarketplaceConfig = async (\n\tenv: Env,\n\tprojectId: string,\n): Promise<MarketplaceConfig> => {\n\tconst [marketplaceConfig, cssString] = await Promise.all([\n\t\tfetchBuilderConfig(projectId, env),\n\t\tfetchStyles(projectId, env),\n\t]);\n\n\treturn {\n\t\t...marketplaceConfig,\n\t\tcssString,\n\t\tmanifestUrl: `${builderMarketplaceApi(projectId, env)}/manifest.json`,\n\t};\n};\n\nexport const marketplaceConfigOptions = (\n\tconfig: Pick<SdkConfig, 'projectId'> | SdkConfig,\n) => {\n\tlet env: Env = 'production';\n\tif ('_internal' in config && config._internal !== undefined) {\n\t\tenv = config._internal.builderEnv ?? env;\n\t}\n\n\tconst projectId = config.projectId;\n\treturn queryOptions({\n\t\tqueryKey: [...configKeys.marketplace, env, projectId],\n\t\tqueryFn: () => fetchMarketplaceConfig(env, projectId),\n\t});\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,SAAS,oBAAoB;AAC7B,SAAS,SAAS;AAWX,IAAM,sBAAsB,EAAE,OAAO;AAAA,EAC3C,SAAS,cAAc,KAAK,EAAE,OAAO,OAAO,CAAC;AAAA,EAC7C,mBAAmB;AAAA,EACnB,OAAO;AACR,CAAC;AAEM,IAAM,kBAAkB,OAC9B,MACA,WACI;AACJ,QAAM,aAAa,oBAAoB,MAAM,IAAI;AACjD,QAAM,iBAAiB,kBAAkB,MAAM;AAC/C,SAAO,eACL,gBAAgB;AAAA,IAChB,SAAS,WAAW;AAAA,IACpB,iBAAiB,WAAW;AAAA,EAC7B,CAAC,EACA,KAAK,CAAC,SAAS,KAAK,YAAY;AACnC;AAEO,IAAM,oBAAoB,CAChC,MACA,WACI;AACJ,SAAO,aAAa;AAAA,IACnB,GAAG,KAAK;AAAA,IACR,UAAU,CAAC,GAAG,eAAe,QAAQ,MAAM,MAAM;AAAA,IACjD,SAAS,MAAM,gBAAgB,MAAM,MAAM;AAAA,EAC5C,CAAC;AACF;;;ACzCA,SAAS,gBAAAA,qBAAoB;AAa7B,IAAM,qBAAqB,OAAO,WAAmB,QAAa;AACjE,QAAM,MAAM,GAAG,sBAAsB,WAAW,GAAG,CAAC;AACpD,QAAM,WAAW,MAAM,MAAM,GAAG,GAAG,gBAAgB;AAEnD,QAAM,OAAO,MAAM,SAAS,KAAK;AACjC,MAAI,CAAC,SAAS,IAAI;AACjB,YAAQ,MAAM,uCAAuC,SAAS,QAAQ,IAAI;AAE1E,YAAQ,KAAK,MAAM;AAAA,MAClB,KAAK;AACJ,cAAM,IAAI,qBAAqB,WAAW,GAAG;AAAA,MAC9C;AAEC,cAAM,IAAI,4BAA4B,KAAK,GAAG;AAAA,IAChD;AAAA,EACD;AACA,SAAO;AACR;AAEA,IAAM,cAAc,OAAO,WAAmB,QAAa;AAC1D,QAAM,WAAW,MAAM;AAAA,IACtB,GAAG,sBAAsB,WAAW,GAAG,CAAC;AAAA,EACzC;AACA,QAAM,SAAS,MAAM,SAAS,KAAK;AAEnC,SAAO,OAAO,WAAW,SAAS,EAAE;AACrC;AAEA,IAAM,yBAAyB,OAC9B,KACA,cACgC;AAChC,QAAM,CAAC,mBAAmB,SAAS,IAAI,MAAM,QAAQ,IAAI;AAAA,IACxD,mBAAmB,WAAW,GAAG;AAAA,IACjC,YAAY,WAAW,GAAG;AAAA,EAC3B,CAAC;AAED,SAAO;AAAA,IACN,GAAG;AAAA,IACH;AAAA,IACA,aAAa,GAAG,sBAAsB,WAAW,GAAG,CAAC;AAAA,EACtD;AACD;AAEO,IAAM,2BAA2B,CACvC,WACI;AACJ,MAAI,MAAW;AACf,MAAI,eAAe,UAAU,OAAO,cAAc,QAAW;AAC5D,UAAM,OAAO,UAAU,cAAc;AAAA,EACtC;AAEA,QAAM,YAAY,OAAO;AACzB,SAAOC,cAAa;AAAA,IACnB,UAAU,CAAC,GAAG,WAAW,aAAa,KAAK,SAAS;AAAA,IACpD,SAAS,MAAM,uBAAuB,KAAK,SAAS;AAAA,EACrD,CAAC;AACF;","names":["queryOptions","queryOptions"]}
|