@0xsequence/marketplace-sdk 0.5.7 → 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.
Files changed (199) hide show
  1. package/dist/chunk-2J7JIOW5.js +2 -0
  2. package/dist/{chunk-3OU7BADC.js → chunk-6MYDUGVO.js} +21 -4
  3. package/dist/chunk-6MYDUGVO.js.map +1 -0
  4. package/dist/chunk-6WMO5YM5.js +94 -0
  5. package/dist/chunk-6WMO5YM5.js.map +1 -0
  6. package/dist/{chunk-YA3DWLDC.js → chunk-A5ICXOCZ.js} +156 -227
  7. package/dist/chunk-A5ICXOCZ.js.map +1 -0
  8. package/dist/{chunk-G2T7HCWE.js → chunk-C42WHQRT.js} +3 -3
  9. package/dist/{chunk-G2T7HCWE.js.map → chunk-C42WHQRT.js.map} +1 -1
  10. package/dist/{chunk-ZBLU3Q22.js → chunk-DLB2EQRX.js} +2 -2
  11. package/dist/{chunk-ZBLU3Q22.js.map → chunk-DLB2EQRX.js.map} +1 -1
  12. package/dist/{chunk-YOKGP2EQ.js → chunk-FG2BBP3P.js} +1 -1
  13. package/dist/{chunk-YOKGP2EQ.js.map → chunk-FG2BBP3P.js.map} +1 -1
  14. package/dist/{chunk-Y56IIYDF.js → chunk-GMWUIMX4.js} +5 -5
  15. package/dist/{chunk-Y56IIYDF.js.map → chunk-GMWUIMX4.js.map} +1 -1
  16. package/dist/{chunk-OMCWTRBR.js → chunk-NKHM2AIS.js} +21 -4
  17. package/dist/chunk-NKHM2AIS.js.map +1 -0
  18. package/dist/{chunk-YYBU45PK.js → chunk-NXORBVUS.js} +2 -2
  19. package/dist/{chunk-L2K4DBH2.js → chunk-UZ3GJXBR.js} +3003 -3124
  20. package/dist/chunk-UZ3GJXBR.js.map +1 -0
  21. package/dist/{chunk-6YHHCGGY.js → chunk-VPJHNXZ2.js} +50 -74
  22. package/dist/chunk-VPJHNXZ2.js.map +1 -0
  23. package/dist/index-BwDj_3at.d.ts +72 -0
  24. package/dist/index.d.ts +4 -4
  25. package/dist/index.js +175 -88
  26. package/dist/react/_internal/databeat/index.js +7 -6
  27. package/dist/react/_internal/index.d.ts +2 -2
  28. package/dist/react/_internal/index.js +1 -1
  29. package/dist/react/hooks/index.d.ts +3 -65
  30. package/dist/react/hooks/index.js +8 -8
  31. package/dist/react/hooks/options/index.d.ts +8 -0
  32. package/dist/react/hooks/options/index.js +17 -0
  33. package/dist/react/hooks/options/index.js.map +1 -0
  34. package/dist/react/index.css +40 -29
  35. package/dist/react/index.css.map +1 -1
  36. package/dist/react/index.d.ts +3 -2
  37. package/dist/react/index.js +17 -13
  38. package/dist/react/ssr/index.js.map +1 -1
  39. package/dist/react/ui/components/collectible-card/index.css +40 -29
  40. package/dist/react/ui/components/collectible-card/index.css.map +1 -1
  41. package/dist/react/ui/components/collectible-card/index.d.ts +3 -2
  42. package/dist/react/ui/components/collectible-card/index.js +12 -11
  43. package/dist/react/ui/components/marketplace-logos/index.d.ts +1 -1
  44. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  45. package/dist/react/ui/icons/index.js +1 -1
  46. package/dist/react/ui/index.css +40 -29
  47. package/dist/react/ui/index.css.map +1 -1
  48. package/dist/react/ui/index.d.ts +1 -1
  49. package/dist/react/ui/index.js +12 -11
  50. package/dist/react/ui/modals/_internal/components/actionModal/index.css +48 -48
  51. package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +1 -1
  52. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +1 -1
  53. package/dist/react/ui/modals/_internal/components/actionModal/index.js +7 -6
  54. package/dist/styles/index.js +2 -2
  55. package/dist/types/index.js +1 -1
  56. package/dist/utils/index.d.ts +9 -7
  57. package/dist/utils/index.js +5 -3
  58. package/package.json +9 -5
  59. package/src/react/__tests__/provider.test.tsx +4 -4
  60. package/src/react/_internal/api/__mocks__/indexer.msw.ts +5 -5
  61. package/src/react/_internal/api/__mocks__/metadata.msw.ts +2 -2
  62. package/src/react/_internal/api/zod-schema.ts +2 -2
  63. package/src/react/_internal/types.ts +2 -2
  64. package/src/react/_internal/wagmi/__tests__/create-config.test.ts +6 -6
  65. package/src/react/_internal/wallet/__tests__/wallet.test.ts +1 -1
  66. package/src/react/_internal/wallet/wallet.ts +6 -2
  67. package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +8 -12
  68. package/src/react/hooks/__tests__/useBalanceOfCollectible.test.tsx +5 -4
  69. package/src/react/hooks/__tests__/useCancelOrder.test.tsx +13 -6
  70. package/src/react/hooks/__tests__/useCancelTransactionSteps.test.tsx +6 -7
  71. package/src/react/hooks/__tests__/useCollectible.test.tsx +6 -7
  72. package/src/react/hooks/__tests__/useCollection.test.tsx +5 -6
  73. package/src/react/hooks/__tests__/useCollectionBalanceDetails.test.tsx +5 -4
  74. package/src/react/hooks/__tests__/useCollectionDetails.test.tsx +7 -6
  75. package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +5 -4
  76. package/src/react/hooks/__tests__/useComparePrices.test.tsx +1 -2
  77. package/src/react/hooks/__tests__/useConvertPriceToUSD.test.tsx +2 -3
  78. package/src/react/hooks/__tests__/useCountListingsForCollectible.test.tsx +4 -5
  79. package/src/react/hooks/__tests__/useCountOfCollectables.test.tsx +6 -7
  80. package/src/react/hooks/__tests__/useCountOffersForCollectible.test.tsx +4 -5
  81. package/src/react/hooks/__tests__/useCurrencies.test.tsx +3 -4
  82. package/src/react/hooks/__tests__/useCurrency.test.tsx +4 -6
  83. package/src/react/hooks/__tests__/useCurrencyBalance.test.tsx +12 -7
  84. package/src/react/hooks/__tests__/useFilters.test.tsx +5 -6
  85. package/src/react/hooks/__tests__/useFloorOrder.test.tsx +5 -6
  86. package/src/react/hooks/__tests__/useGenerateBuyTransaction.test.tsx +6 -7
  87. package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +1 -2
  88. package/src/react/hooks/__tests__/useGenerateListingTransaction.test.tsx +2 -3
  89. package/src/react/hooks/__tests__/useGenerateOfferTransaction.test.tsx +1 -2
  90. package/src/react/hooks/__tests__/useGenerateSellTransaction.test.tsx +1 -2
  91. package/src/react/hooks/__tests__/useHighestOffer.test.tsx +6 -7
  92. package/src/react/hooks/__tests__/useListBalances.test.tsx +1 -1
  93. package/src/react/hooks/__tests__/useListCollectibleActivities.test.tsx +2 -3
  94. package/src/react/hooks/__tests__/useListCollectibles.test.tsx +6 -7
  95. package/src/react/hooks/__tests__/useListCollectiblesPaginated.test.tsx +2 -3
  96. package/src/react/hooks/__tests__/useListCollectionActivities.test.tsx +3 -4
  97. package/src/react/hooks/__tests__/useListCollections.test.tsx +1 -2
  98. package/src/react/hooks/__tests__/useListListingsForCollectible.test.tsx +6 -7
  99. package/src/react/hooks/__tests__/useListOffersForCollectible.test.tsx +6 -7
  100. package/src/react/hooks/__tests__/useLowestListing.test.tsx +6 -7
  101. package/src/react/hooks/__tests__/useMarketplaceConfig.test.tsx +1 -2
  102. package/src/react/hooks/__tests__/useRoyaltyPercentage.test.tsx +1 -1
  103. package/src/react/hooks/options/__tests__/marketplaceConfigOptions.test.tsx +3 -4
  104. package/src/react/hooks/options/collectionOptions.ts +42 -0
  105. package/src/react/hooks/options/index.ts +2 -0
  106. package/src/react/hooks/useCancelOrder.tsx +3 -3
  107. package/src/react/hooks/useCancelTransactionSteps.tsx +11 -11
  108. package/src/react/hooks/useCollection.tsx +6 -37
  109. package/src/react/hooks/useCollectionBalanceDetails.tsx +3 -3
  110. package/src/react/hooks/useCollectionDetailsPolling.tsx +1 -1
  111. package/src/react/hooks/useCurrencies.tsx +1 -1
  112. package/src/react/hooks/useGenerateListingTransaction.tsx +1 -1
  113. package/src/react/hooks/useGenerateOfferTransaction.tsx +1 -1
  114. package/src/react/hooks/useGetReceiptFromHash.tsx +1 -1
  115. package/src/react/hooks/useListCollectibleActivities.tsx +1 -1
  116. package/src/react/hooks/useListCollectionActivities.tsx +1 -1
  117. package/src/react/index.ts +1 -0
  118. package/src/react/provider.tsx +2 -2
  119. package/src/react/ssr/__tests__/create-ssr-client.test.ts +1 -22
  120. package/src/react/ssr/create-ssr-client.ts +1 -1
  121. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +3 -3
  122. package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +2 -2
  123. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +4 -4
  124. package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +2 -2
  125. package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +1 -1
  126. package/src/react/ui/components/_internals/custom-select/__tests__/CustomSelect.test.tsx +2 -7
  127. package/src/react/ui/components/collectible-card/CollectibleCard.tsx +9 -2
  128. package/src/react/ui/components/collectible-card/Footer.tsx +1 -1
  129. package/src/react/ui/components/marketplace-logos/marketplace-logos.tsx +1 -1
  130. package/src/react/ui/icons/index.ts +2 -5
  131. package/src/react/ui/{icons/DiamondEye.tsx → images/marketplaces/LooksRare.tsx} +1 -1
  132. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx +10 -11
  133. package/src/react/ui/modals/BuyModal/hooks/__tests__/useBuyCollectable.test.tsx +343 -0
  134. package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +2 -7
  135. package/src/react/ui/modals/BuyModal/hooks/__tests__/useFees.test.tsx +4 -4
  136. package/src/react/ui/modals/BuyModal/hooks/__tests__/useLoadData.test.tsx +1 -1
  137. package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +3 -3
  138. package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +1 -1
  139. package/src/react/ui/modals/BuyModal/modals/Modal1155.tsx +23 -24
  140. package/src/react/ui/modals/BuyModal/modals/__tests__/CheckoutModal.test.tsx +2 -2
  141. package/src/react/ui/modals/BuyModal/modals/__tests__/Modal1155.test.tsx +209 -242
  142. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +5 -11
  143. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +1 -1
  144. package/src/react/ui/modals/CreateListingModal/index.tsx +1 -1
  145. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +1 -1
  146. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +46 -49
  147. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +9 -28
  148. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +2 -2
  149. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +3 -3
  150. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +4 -4
  151. package/src/react/ui/modals/_internal/components/actionModal/store.ts +1 -1
  152. package/src/react/ui/modals/_internal/components/alertMessage/index.tsx +2 -3
  153. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +4 -4
  154. package/src/react/ui/modals/_internal/components/expirationDateSelect/index.tsx +1 -1
  155. package/src/react/ui/modals/_internal/components/priceInput/__tests__/index.test.tsx +1 -8
  156. package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +9 -5
  157. package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +4 -10
  158. package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +2 -2
  159. package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +1 -1
  160. package/src/react/ui/modals/_internal/components/transaction-footer/index.tsx +9 -3
  161. package/src/react/ui/modals/_internal/components/transaction-footer/transactionFooter.css.ts +11 -0
  162. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/TransactionStatusModal.test.tsx +4 -9
  163. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/utils.test.ts +3 -3
  164. package/src/react/ui/modals/_internal/components/transactionStatusModal/hooks/useTransactionStatus.ts +4 -4
  165. package/src/react/ui/modals/_internal/components/transactionStatusModal/index.tsx +1 -1
  166. package/src/react/ui/modals/modal-provider.tsx +2 -2
  167. package/src/utils/__tests__/address.test.ts +1 -1
  168. package/src/utils/__tests__/getMarketplaceDetails.test.ts +4 -4
  169. package/src/utils/getMarketplaceDetails.ts +7 -7
  170. package/src/utils/index.ts +1 -0
  171. package/src/utils/networkconfigToWagmiChain.ts +17 -0
  172. package/src/utils/price.ts +2 -5
  173. package/test/const.ts +35 -0
  174. package/test/globalSetup.ts +15 -0
  175. package/test/index.ts +1 -0
  176. package/{src/react/_internal/test → test}/mocks/wallet.ts +5 -5
  177. package/test/setup.ts +20 -0
  178. package/test/test-utils.tsx +157 -0
  179. package/tsconfig.json +7 -1
  180. package/tsconfig.tsbuildinfo +1 -1
  181. package/vitest.config.js +5 -3
  182. package/dist/chunk-3OU7BADC.js.map +0 -1
  183. package/dist/chunk-6YHHCGGY.js.map +0 -1
  184. package/dist/chunk-GFADBQPX.js +0 -2
  185. package/dist/chunk-L2K4DBH2.js.map +0 -1
  186. package/dist/chunk-OMCWTRBR.js.map +0 -1
  187. package/dist/chunk-YA3DWLDC.js.map +0 -1
  188. package/src/react/_internal/test/setup.ts +0 -28
  189. package/src/react/_internal/test-utils.tsx +0 -97
  190. package/src/react/ui/icons/ArrowUp.tsx +0 -32
  191. package/src/react/ui/icons/InventoryIcon.tsx +0 -44
  192. package/src/react/ui/icons/MinusIcon.tsx +0 -34
  193. package/src/react/ui/icons/PlusIcon.tsx +0 -32
  194. package/src/react/ui/icons/PositiveCircleIcon.tsx +0 -38
  195. package/src/react/ui/modals/BuyModal/hooks/__tests__/useBuyCollectable.test.tsx.bak +0 -379
  196. package/dist/{chunk-GFADBQPX.js.map → chunk-2J7JIOW5.js.map} +0 -0
  197. package/dist/{chunk-YYBU45PK.js.map → chunk-NXORBVUS.js.map} +0 -0
  198. package/dist/{types-BVD42zE_.d.ts → types-CPl0DH-A.d.ts} +1 -1
  199. /package/src/react/ui/icons/{Bell.tsx → BellIcon.tsx} +0 -0
@@ -0,0 +1,2 @@
1
+ "use client"
2
+ //# sourceMappingURL=chunk-2J7JIOW5.js.map
@@ -38,7 +38,7 @@ var calculatePriceDifferencePercentage = ({
38
38
  return percentageDifference.toFixed(2);
39
39
  };
40
40
  var formatPrice = (amount, decimals) => {
41
- const formattedUnits = Number(formatUnits(BigInt(amount), decimals));
41
+ const formattedUnits = Number(formatUnits(amount, decimals));
42
42
  return formattedUnits.toLocaleString("en-US", {
43
43
  minimumFractionDigits: 0,
44
44
  maximumFractionDigits: decimals
@@ -46,8 +46,8 @@ var formatPrice = (amount, decimals) => {
46
46
  };
47
47
 
48
48
  // src/react/ui/components/marketplace-logos/marketplace-logos.tsx
49
- import { lazy, Suspense } from "react";
50
49
  import { Image } from "@0xsequence/design-system";
50
+ import { Suspense, lazy } from "react";
51
51
  import { jsx } from "react/jsx-runtime";
52
52
  var createMarketplaceLogo = (importFn, alt) => {
53
53
  const LazyLogo = lazy(async () => {
@@ -224,6 +224,22 @@ function getRootDomain(url) {
224
224
  return parts[parts.length - 2] || parts[0];
225
225
  }
226
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
+
227
243
  export {
228
244
  truncateMiddle,
229
245
  truncateEnd,
@@ -231,6 +247,7 @@ export {
231
247
  getPresentableChainName,
232
248
  calculatePriceDifferencePercentage,
233
249
  formatPrice,
234
- getMarketplaceDetails
250
+ getMarketplaceDetails,
251
+ networkToWagmiChain
235
252
  };
236
- //# sourceMappingURL=chunk-3OU7BADC.js.map
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":";AAAO,IAAM,iBAAiB,CAC7B,SACA,YAAY,IACZ,YAAY,MACA;AACZ,MAAI,YAAY,aAAa,IAAI;AAChC,WAAO;AAAA,EACR;AACA,SAAO,GAAG,QAAQ,UAAU,GAAG,IAAI,SAAS,CAAC,SAAI,QAAQ,UAAU,QAAQ,SAAS,SAAS,CAAC;AAC/F;AAEO,IAAM,cAAc,CAAC,MAA0B,eAAuB;AAC5E,MAAI,CAAC,KAAM,QAAO;AAElB,MAAI,YAAY;AAEhB,MAAI,KAAK,UAAU,YAAY;AAC9B,gBAAY,GAAG,KAAK,MAAM,GAAG,UAAU,CAAC;AAAA,EACzC;AAEA,SAAO;AACR;AAEO,IAAM,iBAAiB,CAAC,IAAI,IAAI,IAAI,OAAO;AACjD,SAAO,EAAE,YAAY,MAAM,EAAE,YAAY;AAC1C;;;ACzBA,SAAS,gBAAiD;AAGnD,IAAM,0BAA0B,CAAC,YAAqB;AAC5D,QAAM,KAAK,OAAO,OAAO;AACzB,SAAO,SAAS,EAAE,GAAG;AACtB;;;ACNA,SAAS,mBAAmB;AAQrB,IAAM,qCAAqC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AACD,MAA8C;AAC7C,QAAM,aAAa,OAAO,YAAY,eAAe,QAAQ,CAAC;AAC9D,QAAM,YAAY,OAAO,YAAY,cAAc,QAAQ,CAAC;AAC5D,QAAM,aAAa,aAAa;AAChC,QAAM,uBAAwB,aAAa,YAAa;AAExD,SAAO,qBAAqB,QAAQ,CAAC;AACtC;AAEO,IAAM,cAAc,CAAC,QAAgB,aAA6B;AACxE,QAAM,iBAAiB,OAAO,YAAY,QAAQ,QAAQ,CAAC;AAC3D,SAAO,eAAe,eAAe,SAAS;AAAA,IAC7C,uBAAuB;AAAA,IACvB,uBAAuB;AAAA,EACxB,CAAC;AACF;;;AC3BA,SAAS,aAAa;AACtB,SAA8B,UAAU,YAAY;AAczC;AAXX,IAAM,wBAAwB,CAC7B,UACA,QACI;AACJ,QAAM,WAAW,KAAK,YAAY;AACjC,UAAM,MAAM,MAAM,SAAS;AAC3B,WAAO;AAAA,MACN,SAAS,SAAS,gBAAgB;AAAA,QACjC,KAAK;AAAA,QACL,GAAG;AAAA,MACJ,GAAiC;AAChC,eAAO,oBAAC,SAAM,KAAK,IAAI,SAAS,KAAK,WAAW,KAAM,GAAG,OAAO;AAAA,MACjE;AAAA,IACD;AAAA,EACD,CAAC;AAED,SAAO,SAAS,gBAAgB,OAAqC;AACpE,WACC;AAAA,MAAC;AAAA;AAAA,QACA,UAAU,oBAAC,SAAI,OAAO,EAAE,OAAO,MAAM,OAAO,QAAQ,MAAM,OAAO,GAAG;AAAA,QAEpE,8BAAC,YAAU,GAAG,OAAO;AAAA;AAAA,IACtB;AAAA,EAEF;AACD;AAEO,IAAM,gBAAgB;AAAA,EAC5B,MAAM,OAAO,0BAA0C;AAAA,EACvD;AACD;AACO,IAAM,cAAc;AAAA,EAC1B,MAAM,OAAO,wBAAwC;AAAA,EACrD;AACD;AACO,IAAM,WAAW;AAAA,EACvB,MAAM,OAAO,oBAAoC;AAAA,EACjD;AACD;AACO,IAAM,WAAW;AAAA,EACvB,MAAM,OAAO,oBAAoC;AAAA,EACjD;AACD;AACO,IAAM,eAAe;AAAA,EAC3B,MAAM,OAAO,wBAAwC;AAAA,EACrD;AACD;AACO,IAAM,cAAc;AAAA,EAC1B,MAAM,OAAO,uBAAuC;AAAA,EACpD;AACD;AACO,IAAM,iBAAiB;AAAA,EAC7B,MAAM,OAAO,0BAA0C;AAAA,EACvD;AACD;AACO,IAAM,gBAAgB;AAAA,EAC5B,MAAM,OAAO,0BAA0C;AAAA,EACvD;AACD;AACO,IAAM,gBAAgB;AAAA,EAC5B,MAAM,OAAO,0BAA0C;AAAA,EACvD;AACD;AACO,IAAM,eAAe;AAAA,EAC3B,MAAM,OAAO,wBAAwC;AAAA,EACrD;AACD;AACO,IAAM,cAAc;AAAA,EAC1B,MAAM,OAAO,uBAAuC;AAAA,EACpD;AACD;AACO,IAAM,WAAW;AAAA,EACvB,MAAM,OAAO,oBAAoC;AAAA,EACjD;AACD;AACO,IAAM,UAAU;AAAA,EACtB,MAAM,OAAO,mBAAmC;AAAA,EAChD;AACD;AACO,IAAM,cAAc;AAAA,EAC1B,MAAM,OAAO,wBAAwC;AAAA,EACrD;AACD;AACO,IAAM,cAAc;AAAA,EAC1B,MAAM,OAAO,uBAAuC;AAAA,EACpD;AACD;AACO,IAAM,eAAe;AAAA,EAC3B,MAAM,OAAO,wBAAwC;AAAA,EACrD;AACD;AACO,IAAM,eAAe;AAAA,EAC3B,MAAM,OAAO,yBAAyC;AAAA,EACtD;AACD;AACO,IAAM,gBAAgB;AAAA,EAC5B,MAAM,OAAO,0BAA0C;AAAA,EACvD;AACD;AACO,IAAM,WAAW;AAAA,EACvB,MAAM,OAAO,oBAAoC;AAAA,EACjD;AACD;AACO,IAAM,WAAW;AAAA,EACvB,MAAM,OAAO,oBAAoC;AAAA,EACjD;AACD;;;AC3FA,IAAM,eAA4C;AAAA,EACjD,UAAU;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,EACd;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,EACd;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,EACd;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACd;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACd;AAAA,EACA,WAAW;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,EACd;AACD;AAEA,IAAM,sBAEF;AAAA,EACH,wDAAwC,GAAG;AAAA,EAC3C,wDAAwC,GAAG;AAAA,EAC3C,wBAAwB,GAAG;AAAA,EAC3B,wBAAwB,GAAG;AAAA,EAC3B,8BAA2B,GAAG;AAAA,EAC9B,kBAAqB,GAAG;AAAA,EACxB,kBAAqB,GAAG;AACzB;AAQO,SAAS,sBAAsB;AAAA,EACrC;AAAA,EACA;AACD,GAA2B;AAC1B,MACC,oEACA,kEACC;AACD,WAAO,aAAa;AAAA,EACrB;AAEA,MAAI,OAAO,WAAW,YAAY;AAElC,MAAI;AAEH,QAAI,IAAI,IAAI;AAEZ,WAAO,cAAc,IAAI,KAAK;AAAA,EAC/B,QAAQ;AAAA,EAAC;AAET,SAAO,KAAK,QAAQ,MAAM,EAAE;AAE5B,QAAM,UAAU,aAAa,IAAI;AAEjC,MAAI,SAAS;AACZ,WAAO;AAAA,EACR;AAEA,MAAI,oBAAoB,IAAI,GAAG;AAC9B,WAAO,aAAa,oBAAoB,IAAI,CAAC;AAAA,EAC9C;AACD;AAEA,SAAS,cAAc,KAAa;AACnC,QAAM,SAAS,IAAI,QAAQ,2BAA2B,EAAE;AACxD,QAAM,QAAQ,OAAO,MAAM,GAAG;AAC9B,SAAO,MAAM,MAAM,SAAS,CAAC,KAAK,MAAM,CAAC;AAC1C;;;AC1GO,IAAM,sBAAsB,CAAC,aAAmC;AAAA,EACtE,GAAG;AAAA,EACH,IAAI,OAAO,QAAQ,OAAO;AAAA,EAC1B,MAAM,QAAQ;AAAA,EACd,gBAAgB,EAAE,GAAG,QAAQ,YAAY;AAAA,EACzC,SAAS;AAAA,IACR,SAAS;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,IACtB;AAAA,IACA,QAAQ;AAAA,MACP,MAAM,CAAC,QAAQ,MAAM;AAAA,IACtB;AAAA,EACD;AACD;","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"]}