@0xsequence/marketplace-sdk 0.8.8 → 0.8.9

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 (36) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{chunk-7IYKUVC3.js → chunk-I2BYHDFE.js} +184 -93
  3. package/dist/chunk-I2BYHDFE.js.map +1 -0
  4. package/dist/index.css +76 -30
  5. package/dist/index.css.map +1 -1
  6. package/dist/react/index.css +76 -30
  7. package/dist/react/index.css.map +1 -1
  8. package/dist/react/index.d.ts +1 -1
  9. package/dist/react/index.js +3 -1
  10. package/dist/react/ui/components/collectible-card/index.css +76 -30
  11. package/dist/react/ui/components/collectible-card/index.css.map +1 -1
  12. package/dist/react/ui/components/collectible-card/index.d.ts +22 -1
  13. package/dist/react/ui/components/collectible-card/index.js +3 -1
  14. package/dist/react/ui/index.css +76 -30
  15. package/dist/react/ui/index.css.map +1 -1
  16. package/dist/react/ui/index.d.ts +1 -1
  17. package/dist/react/ui/index.js +3 -1
  18. package/package.json +4 -3
  19. package/src/react/ui/components/ModelViewer.tsx +54 -0
  20. package/src/react/ui/components/_internals/custom-select/CustomSelect.tsx +0 -1
  21. package/src/react/ui/components/collectible-card/CollectibleCard.tsx +5 -1
  22. package/src/react/ui/components/collectible-card/__tests__/CollectibleAsset.test.tsx +4 -4
  23. package/src/react/ui/components/collectible-card/collectible-asset/CollectibleAsset.tsx +50 -15
  24. package/src/react/ui/components/collectible-card/collectible-asset/utils.ts +8 -4
  25. package/src/react/ui/components/collectible-card/index.ts +1 -0
  26. package/src/react/ui/index.ts +1 -0
  27. package/src/react/ui/modals/SuccessfulPurchaseModal/index.tsx +9 -7
  28. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TokenQuantityInput.tsx +1 -1
  29. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/WalletAddressInput.tsx +1 -1
  30. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +0 -1
  31. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +1 -1
  32. package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +1 -2
  33. package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +0 -1
  34. package/src/utils/fetchContentType.ts +6 -3
  35. package/tsconfig.tsbuildinfo +1 -1
  36. package/dist/chunk-7IYKUVC3.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @0xsequence/marketplace-sdk
2
2
 
3
+ ## 0.8.9
4
+
5
+ ### Patch Changes
6
+
7
+ - Fixed issues with input components while using sequence-design-system v2.1.12
8
+
3
9
  ## 0.8.8
4
10
 
5
11
  ### Patch Changes
@@ -231,7 +231,7 @@ var quantityInput_default = observer(function QuantityInput({
231
231
  "div",
232
232
  {
233
233
  className: cn(
234
- "flex w-full flex-col [&>label>div>div:has(:disabled):hover]:opacity-100 [&>label>div>div:has(:disabled)]:opacity-100 [&>label>div>div>input]:text-xs [&>label>div>div]:h-9 [&>label>div>div]:rounded [&>label>div>div]:pr-0 [&>label>div>div]:pl-3 [&>label>div>div]:text-xs [&>label]:gap-[2px]",
234
+ "flex w-full flex-col [&>label>div>div>div:has(:disabled):hover]:opacity-100 [&>label>div>div>div:has(:disabled)]:opacity-100 [&>label>div>div>div>input]:text-xs [&>label>div>div>div]:h-9 [&>label>div>div>div]:rounded [&>label>div>div>div]:pr-0 [&>label>div>div>div]:pl-3 [&>label>div>div>div]:text-xs [&>label]:gap-[2px]",
235
235
  className,
236
236
  disabled && "pointer-events-none opacity-50"
237
237
  ),
@@ -264,7 +264,6 @@ var quantityInput_default = observer(function QuantityInput({
264
264
  }
265
265
  )
266
266
  ] }),
267
- numeric: true,
268
267
  value: localQuantity,
269
268
  onChange: (e) => handleChangeQuantity(e.target.value),
270
269
  width: "full"
@@ -1208,7 +1207,6 @@ var CustomSelect = ({
1208
1207
  /* @__PURE__ */ jsx11(ChevronDownIcon, { size: "xs" })
1209
1208
  ] }),
1210
1209
  shape: "circle",
1211
- opacity: "100",
1212
1210
  className: `bg-overlay-light py-1.5 pl-3 ${className || ""}`,
1213
1211
  "data-testid": `${testId}-trigger`
1214
1212
  }
@@ -1378,7 +1376,7 @@ function PriceInput({
1378
1376
  ),
1379
1377
  children: [
1380
1378
  /* @__PURE__ */ jsx13("div", { className: "absolute top-8 left-2 flex items-center", children: /* @__PURE__ */ jsx13(currencyImage_default, { price$: $price }) }),
1381
- /* @__PURE__ */ jsx13("div", { className: "[&>label>div>.rounded-xl]:h-9 [&>label>div>.rounded-xl]:rounded-sm [&>label>div>.rounded-xl]:px-2 [&>label]:gap-1", children: /* @__PURE__ */ jsx13(
1379
+ /* @__PURE__ */ jsx13("div", { className: "[&>label>div>div>.rounded-xl]:h-9 [&>label>div>div>.rounded-xl]:rounded-sm [&>label>div>div>.rounded-xl]:px-2 [&>label]:gap-1", children: /* @__PURE__ */ jsx13(
1382
1380
  NumericInput2,
1383
1381
  {
1384
1382
  ref: inputRef,
@@ -1450,7 +1448,6 @@ var WaasFeeOptionsSelect = observer4(
1450
1448
  return /* @__PURE__ */ jsx14(
1451
1449
  Select,
1452
1450
  {
1453
- items: feeOptions,
1454
1451
  name: "fee-option",
1455
1452
  options: feeOptions.map((option) => ({
1456
1453
  label: option.content,
@@ -4272,16 +4269,20 @@ function SuccessfulPurchaseActions() {
4272
4269
  }
4273
4270
  ),
4274
4271
  /* @__PURE__ */ jsx28(
4275
- Button5,
4272
+ "a",
4276
4273
  {
4277
- className: "w-full",
4278
- as: "a",
4279
4274
  href: successfulPurchaseModal$.state.explorerUrl.get(),
4280
4275
  target: "_blank",
4281
4276
  rel: "noopener noreferrer",
4282
- shape: "square",
4283
- leftIcon: ExternalLinkIcon,
4284
- label: `View on ${successfulPurchaseModal$.state.explorerName.get()}`
4277
+ className: "w-full",
4278
+ children: /* @__PURE__ */ jsx28(
4279
+ Button5,
4280
+ {
4281
+ shape: "square",
4282
+ leftIcon: ExternalLinkIcon,
4283
+ label: `View on ${successfulPurchaseModal$.state.explorerName.get()}`
4284
+ }
4285
+ )
4285
4286
  }
4286
4287
  )
4287
4288
  ] });
@@ -4424,7 +4425,7 @@ var TokenQuantityInput = observer11(
4424
4425
  $invalidQuantity,
4425
4426
  decimals: collection?.decimals || 0,
4426
4427
  maxQuantity: balanceAmount ? String(balanceAmount) : "0",
4427
- className: "[&>label>div>div]:h-13 [&>label>div>div]:rounded-xl [&>label>div>span]:text-sm [&>label>div>span]:text-text-80 [&>label]:gap-1"
4428
+ className: "[&>label>div>div>div>input]:text-sm [&>label>div>div>div]:h-13 [&>label>div>div>div]:rounded-xl [&>label>div>div>span]:text-sm [&>label>div>div>span]:text-text-80 [&>label]:gap-1"
4428
4429
  }
4429
4430
  ),
4430
4431
  /* @__PURE__ */ jsx29(
@@ -4500,7 +4501,7 @@ var WalletAddressInput = observer13(() => {
4500
4501
  const handleChangeWalletAddress = (event) => {
4501
4502
  transferModal$.state.receiverAddress.set(event.target.value);
4502
4503
  };
4503
- return /* @__PURE__ */ jsxs24("div", { className: "[&>label>div>span]:text-sm [&>label>div>span]:text-text-80 [&>label]:gap-1", children: [
4504
+ return /* @__PURE__ */ jsxs24("div", { className: "[&>label>div>>span]:text-sm [&>label>div>span]:text-text-80 [&>label]:gap-1", children: [
4504
4505
  /* @__PURE__ */ jsx31(
4505
4506
  TextInput,
4506
4507
  {
@@ -4847,7 +4848,7 @@ var useSellModal = (callbacks) => {
4847
4848
  };
4848
4849
 
4849
4850
  // src/react/ui/components/collectible-card/CollectibleCard.tsx
4850
- import { Skeleton as Skeleton11 } from "@0xsequence/design-system";
4851
+ import { Skeleton as Skeleton12 } from "@0xsequence/design-system";
4851
4852
 
4852
4853
  // src/react/ui/components/_internals/action-button/ActionButton.tsx
4853
4854
  import { observer as observer18 } from "@legendapp/state/react";
@@ -5301,6 +5302,9 @@ function fetchContentType(url) {
5301
5302
  result = "html";
5302
5303
  }
5303
5304
  break;
5305
+ case "model":
5306
+ result = "3d-model";
5307
+ break;
5304
5308
  }
5305
5309
  settle(result);
5306
5310
  return;
@@ -5330,12 +5334,49 @@ function fetchContentType(url) {
5330
5334
  });
5331
5335
  }
5332
5336
 
5333
- // src/react/ui/components/collectible-card/collectible-asset/CollectibleAssetSkeleton.tsx
5337
+ // src/react/ui/components/ModelViewer.tsx
5334
5338
  import { Skeleton as Skeleton10 } from "@0xsequence/design-system";
5339
+ import { Suspense, lazy } from "react";
5335
5340
  import { jsx as jsx41 } from "react/jsx-runtime";
5341
+ var ModelViewerComponent = lazy(
5342
+ () => import("@google/model-viewer").then(() => ({
5343
+ default: ({
5344
+ posterSrc,
5345
+ src,
5346
+ onLoad,
5347
+ onError
5348
+ }) => /* @__PURE__ */ jsx41("div", { className: "h-full w-full bg-background-raised", children: /* @__PURE__ */ jsx41(
5349
+ "model-viewer",
5350
+ {
5351
+ alt: "3d model",
5352
+ "auto-rotate": true,
5353
+ autoplay: true,
5354
+ "camera-controls": true,
5355
+ class: "h-full w-full",
5356
+ error: onError,
5357
+ load: onLoad,
5358
+ loading: "eager",
5359
+ poster: posterSrc,
5360
+ reveal: "auto",
5361
+ "shadow-intensity": "1",
5362
+ src,
5363
+ "touch-action": "pan-y"
5364
+ }
5365
+ ) })
5366
+ }))
5367
+ );
5368
+ var ModelViewerLoading = () => /* @__PURE__ */ jsx41(Skeleton10, { className: "h-full w-full" });
5369
+ var ModelViewer = (props) => {
5370
+ return /* @__PURE__ */ jsx41(Suspense, { fallback: /* @__PURE__ */ jsx41(ModelViewerLoading, {}), children: /* @__PURE__ */ jsx41(ModelViewerComponent, { ...props }) });
5371
+ };
5372
+ var ModelViewer_default = ModelViewer;
5373
+
5374
+ // src/react/ui/components/collectible-card/collectible-asset/CollectibleAssetSkeleton.tsx
5375
+ import { Skeleton as Skeleton11 } from "@0xsequence/design-system";
5376
+ import { jsx as jsx42 } from "react/jsx-runtime";
5336
5377
  function CollectibleAssetSkeleton() {
5337
- return /* @__PURE__ */ jsx41(
5338
- Skeleton10,
5378
+ return /* @__PURE__ */ jsx42(
5379
+ Skeleton11,
5339
5380
  {
5340
5381
  "data-testid": "collectible-asset-skeleton",
5341
5382
  size: "lg",
@@ -5362,19 +5403,26 @@ var isVideo = (fileName) => {
5362
5403
  const isVideo2 = /.*\.(mp4|ogg|webm)$/.test(fileName?.toLowerCase() || "");
5363
5404
  return isVideo2;
5364
5405
  };
5406
+ var is3dModel = (fileName) => {
5407
+ const is3dFile = /.*\.(gltf|glb|obj|fbx|stl|usdz)$/.test(
5408
+ fileName?.toLowerCase() || ""
5409
+ );
5410
+ return is3dFile;
5411
+ };
5365
5412
  var getContentType = (url) => {
5366
5413
  return new Promise((resolve) => {
5367
- const type = isHtml(url) ? "html" : isVideo(url) ? "video" : isImage(url) ? "image" : null;
5414
+ const type = isHtml(url) ? "html" : isVideo(url) ? "video" : isImage(url) ? "image" : is3dModel(url) ? "3d-model" : null;
5368
5415
  resolve(type);
5369
5416
  });
5370
5417
  };
5371
5418
 
5372
5419
  // src/react/ui/components/collectible-card/collectible-asset/CollectibleAsset.tsx
5373
- import { jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
5420
+ import { jsx as jsx43, jsxs as jsxs30 } from "react/jsx-runtime";
5374
5421
  function CollectibleAsset({
5375
5422
  name,
5376
- collectibleMetadata,
5377
- assetSrcPrefixUrl
5423
+ assets,
5424
+ assetSrcPrefixUrl,
5425
+ className
5378
5426
  }) {
5379
5427
  const [assetLoadFailed, setAssetLoadFailed] = useState10(false);
5380
5428
  const [assetLoading, setAssetLoading] = useState10(true);
@@ -5382,7 +5430,7 @@ function CollectibleAsset({
5382
5430
  const videoRef = useRef3(null);
5383
5431
  const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
5384
5432
  const placeholderImage = chess_tile_default;
5385
- const assetUrl = collectibleMetadata?.image || collectibleMetadata?.video || collectibleMetadata?.animation_url || collectibleMetadata?.assets?.[0]?.url || placeholderImage;
5433
+ const assetUrl = assets?.find((asset) => asset) || placeholderImage;
5386
5434
  const proxiedAssetUrl = assetSrcPrefixUrl ? `${assetSrcPrefixUrl}${assetUrl}` : assetUrl;
5387
5435
  useEffect12(() => {
5388
5436
  getContentType(proxiedAssetUrl).then((contentType2) => {
@@ -5400,72 +5448,110 @@ function CollectibleAsset({
5400
5448
  });
5401
5449
  }, [proxiedAssetUrl]);
5402
5450
  if (contentType.type === "html" && !assetLoadFailed) {
5403
- return /* @__PURE__ */ jsxs30("div", { className: "flex aspect-square w-full items-center justify-center overflow-hidden rounded-lg bg-background-secondary", children: [
5404
- (assetLoading || contentType.loading) && /* @__PURE__ */ jsx42(CollectibleAssetSkeleton, {}),
5405
- /* @__PURE__ */ jsx42(
5406
- "iframe",
5407
- {
5408
- title: name || "Collectible",
5409
- className: "aspect-square w-full",
5410
- src: proxiedAssetUrl,
5411
- allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",
5412
- sandbox: "allow-scripts",
5413
- style: {
5414
- border: "0px"
5415
- },
5416
- onError: () => setAssetLoadFailed(true),
5417
- onLoad: () => setAssetLoading(false)
5418
- }
5419
- )
5420
- ] });
5451
+ return /* @__PURE__ */ jsxs30(
5452
+ "div",
5453
+ {
5454
+ className: cn(
5455
+ "flex aspect-square w-full items-center justify-center overflow-hidden rounded-lg bg-background-secondary",
5456
+ className
5457
+ ),
5458
+ children: [
5459
+ (assetLoading || contentType.loading) && /* @__PURE__ */ jsx43(CollectibleAssetSkeleton, {}),
5460
+ /* @__PURE__ */ jsx43(
5461
+ "iframe",
5462
+ {
5463
+ title: name || "Collectible",
5464
+ className: "aspect-square w-full",
5465
+ src: proxiedAssetUrl,
5466
+ allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",
5467
+ sandbox: "allow-scripts",
5468
+ style: {
5469
+ border: "0px"
5470
+ },
5471
+ onError: () => setAssetLoadFailed(true),
5472
+ onLoad: () => setAssetLoading(false)
5473
+ }
5474
+ )
5475
+ ]
5476
+ }
5477
+ );
5421
5478
  }
5422
- if (contentType.type === "video" && !assetLoadFailed) {
5423
- return /* @__PURE__ */ jsxs30("div", { className: "relative flex aspect-square w-full items-center justify-center overflow-hidden rounded-lg bg-background-secondary", children: [
5424
- (assetLoading || contentType.loading) && /* @__PURE__ */ jsx42(CollectibleAssetSkeleton, {}),
5425
- /* @__PURE__ */ jsx42(
5426
- "video",
5427
- {
5428
- ref: videoRef,
5429
- className: cn(
5430
- `absolute inset-0 h-full w-full object-cover transition-transform duration-200 ease-in-out group-hover:scale-hover ${assetLoading ? "invisible" : "visible"}`,
5431
- // we can't hide the video controls in safari, when user hovers over the video they show up. `pointer-events-none` is the only way to hide them on hover
5432
- isSafari && "pointer-events-none"
5433
- ),
5434
- autoPlay: true,
5435
- loop: true,
5436
- controls: true,
5437
- playsInline: true,
5438
- muted: true,
5439
- controlsList: "nodownload noremoteplayback nofullscreen ",
5440
- onError: () => {
5441
- setAssetLoadFailed(true);
5442
- },
5443
- onLoadedMetadata: () => {
5444
- setAssetLoading(false);
5445
- },
5446
- "data-testid": "collectible-asset-video",
5447
- children: /* @__PURE__ */ jsx42("source", { src: proxiedAssetUrl })
5448
- }
5449
- )
5450
- ] });
5479
+ if (contentType.type === "3d-model" && !assetLoadFailed) {
5480
+ return /* @__PURE__ */ jsx43("div", { className: "h-full w-full", children: /* @__PURE__ */ jsx43(
5481
+ ModelViewer_default,
5482
+ {
5483
+ src: proxiedAssetUrl,
5484
+ posterSrc: placeholderImage,
5485
+ onLoad: () => setAssetLoading(false),
5486
+ onError: () => setAssetLoadFailed(true)
5487
+ }
5488
+ ) });
5451
5489
  }
5452
- return /* @__PURE__ */ jsxs30("div", { className: "relative aspect-square overflow-hidden bg-background-secondary", children: [
5453
- (assetLoading || contentType.loading) && /* @__PURE__ */ jsx42(CollectibleAssetSkeleton, {}),
5454
- /* @__PURE__ */ jsx42(
5455
- "img",
5490
+ if (contentType.type === "video" && !assetLoadFailed) {
5491
+ return /* @__PURE__ */ jsxs30(
5492
+ "div",
5456
5493
  {
5457
- src: assetLoadFailed || contentType.failed ? placeholderImage : proxiedAssetUrl,
5458
- alt: name || "Collectible",
5459
- className: `absolute inset-0 h-full w-full object-cover transition-transform duration-200 ease-in-out group-hover:scale-hover ${assetLoading || contentType.loading ? "invisible" : "visible"}`,
5460
- onError: () => setAssetLoadFailed(true),
5461
- onLoad: () => setAssetLoading(false)
5494
+ className: cn(
5495
+ "relative flex aspect-square w-full items-center justify-center overflow-hidden rounded-lg bg-background-secondary",
5496
+ className
5497
+ ),
5498
+ children: [
5499
+ (assetLoading || contentType.loading) && /* @__PURE__ */ jsx43(CollectibleAssetSkeleton, {}),
5500
+ /* @__PURE__ */ jsx43(
5501
+ "video",
5502
+ {
5503
+ ref: videoRef,
5504
+ className: cn(
5505
+ `absolute inset-0 h-full w-full object-cover transition-transform duration-200 ease-in-out group-hover:scale-hover ${assetLoading ? "invisible" : "visible"}`,
5506
+ // we can't hide the video controls in safari, when user hovers over the video they show up. `pointer-events-none` is the only way to hide them on hover
5507
+ isSafari && "pointer-events-none"
5508
+ ),
5509
+ autoPlay: true,
5510
+ loop: true,
5511
+ controls: true,
5512
+ playsInline: true,
5513
+ muted: true,
5514
+ controlsList: "nodownload noremoteplayback nofullscreen ",
5515
+ onError: () => {
5516
+ setAssetLoadFailed(true);
5517
+ },
5518
+ onLoadedMetadata: () => {
5519
+ setAssetLoading(false);
5520
+ },
5521
+ "data-testid": "collectible-asset-video",
5522
+ children: /* @__PURE__ */ jsx43("source", { src: proxiedAssetUrl })
5523
+ }
5524
+ )
5525
+ ]
5462
5526
  }
5463
- )
5464
- ] });
5527
+ );
5528
+ }
5529
+ return /* @__PURE__ */ jsxs30(
5530
+ "div",
5531
+ {
5532
+ className: cn(
5533
+ "relative aspect-square overflow-hidden bg-background-secondary",
5534
+ className
5535
+ ),
5536
+ children: [
5537
+ (assetLoading || contentType.loading) && /* @__PURE__ */ jsx43(CollectibleAssetSkeleton, {}),
5538
+ /* @__PURE__ */ jsx43(
5539
+ "img",
5540
+ {
5541
+ src: assetLoadFailed || contentType.failed ? placeholderImage : proxiedAssetUrl,
5542
+ alt: name || "Collectible",
5543
+ className: `absolute inset-0 h-full w-full object-cover transition-transform duration-200 ease-in-out group-hover:scale-hover ${assetLoading || contentType.loading ? "invisible" : "visible"}`,
5544
+ onError: () => setAssetLoadFailed(true),
5545
+ onLoad: () => setAssetLoading(false)
5546
+ }
5547
+ )
5548
+ ]
5549
+ }
5550
+ );
5465
5551
  }
5466
5552
 
5467
5553
  // src/react/ui/components/collectible-card/CollectibleCard.tsx
5468
- import { jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
5554
+ import { jsx as jsx44, jsxs as jsxs31 } from "react/jsx-runtime";
5469
5555
  function CollectibleSkeleton() {
5470
5556
  return /* @__PURE__ */ jsxs31(
5471
5557
  "div",
@@ -5473,8 +5559,8 @@ function CollectibleSkeleton() {
5473
5559
  "data-testid": "collectible-card-skeleton",
5474
5560
  className: "w-card-width overflow-hidden rounded-xl border border-border-base focus-visible:border-border-focus focus-visible:shadow-none focus-visible:outline-focus active:border-border-focus active:shadow-none",
5475
5561
  children: [
5476
- /* @__PURE__ */ jsx43("div", { className: "relative aspect-square overflow-hidden bg-background-secondary", children: /* @__PURE__ */ jsx43(
5477
- Skeleton11,
5562
+ /* @__PURE__ */ jsx44("div", { className: "relative aspect-square overflow-hidden bg-background-secondary", children: /* @__PURE__ */ jsx44(
5563
+ Skeleton12,
5478
5564
  {
5479
5565
  size: "lg",
5480
5566
  className: "absolute inset-0 h-full w-full animate-shimmer",
@@ -5484,8 +5570,8 @@ function CollectibleSkeleton() {
5484
5570
  }
5485
5571
  ) }),
5486
5572
  /* @__PURE__ */ jsxs31("div", { className: "mt-2 flex flex-col gap-2 px-4 pb-4", children: [
5487
- /* @__PURE__ */ jsx43(Skeleton11, { size: "lg", className: "animate-shimmer" }),
5488
- /* @__PURE__ */ jsx43(Skeleton11, { size: "sm", className: "animate-shimmer" })
5573
+ /* @__PURE__ */ jsx44(Skeleton12, { size: "lg", className: "animate-shimmer" }),
5574
+ /* @__PURE__ */ jsx44(Skeleton12, { size: "sm", className: "animate-shimmer" })
5489
5575
  ] })
5490
5576
  ]
5491
5577
  }
@@ -5516,10 +5602,10 @@ function CollectibleCard({
5516
5602
  }
5517
5603
  });
5518
5604
  if (cardLoading) {
5519
- return /* @__PURE__ */ jsx43(CollectibleSkeleton, {});
5605
+ return /* @__PURE__ */ jsx44(CollectibleSkeleton, {});
5520
5606
  }
5521
5607
  const action = balance ? highestOffer && "Sell" /* SELL */ || !collectible?.listing && "Create listing" /* LIST */ || "Transfer" /* TRANSFER */ : collectible?.listing && "Buy" /* BUY */ || "Make an offer" /* OFFER */;
5522
- return /* @__PURE__ */ jsx43(
5608
+ return /* @__PURE__ */ jsx44(
5523
5609
  "div",
5524
5610
  {
5525
5611
  "data-testid": "collectible-card",
@@ -5530,16 +5616,20 @@ function CollectibleCard({
5530
5616
  onCollectibleClick?.(collectibleId);
5531
5617
  }
5532
5618
  },
5533
- children: /* @__PURE__ */ jsx43("div", { className: "group relative z-10 flex h-full w-full cursor-pointer flex-col items-start overflow-hidden rounded-xl border-none bg-none p-0 focus:outline-none [&:focus]:rounded-[10px] [&:focus]:outline-[3px] [&:focus]:outline-black [&:focus]:outline-offset-[-3px]", children: /* @__PURE__ */ jsxs31("article", { className: "w-full rounded-xl", children: [
5534
- /* @__PURE__ */ jsx43(
5619
+ children: /* @__PURE__ */ jsx44("div", { className: "group relative z-10 flex h-full w-full cursor-pointer flex-col items-start overflow-hidden rounded-xl border-none bg-none p-0 focus:outline-none [&:focus]:rounded-[10px] [&:focus]:outline-[3px] [&:focus]:outline-black [&:focus]:outline-offset-[-3px]", children: /* @__PURE__ */ jsxs31("article", { className: "w-full rounded-xl", children: [
5620
+ /* @__PURE__ */ jsx44(
5535
5621
  CollectibleAsset,
5536
5622
  {
5537
5623
  name: collectibleMetadata?.name || "",
5538
- collectibleMetadata,
5624
+ assets: [
5625
+ collectibleMetadata?.image,
5626
+ collectibleMetadata?.video,
5627
+ collectibleMetadata?.animation_url
5628
+ ],
5539
5629
  assetSrcPrefixUrl
5540
5630
  }
5541
5631
  ),
5542
- /* @__PURE__ */ jsx43(
5632
+ /* @__PURE__ */ jsx44(
5543
5633
  Footer,
5544
5634
  {
5545
5635
  name: collectibleMetadata?.name || "",
@@ -5552,7 +5642,7 @@ function CollectibleCard({
5552
5642
  decimals: collectibleMetadata?.decimals
5553
5643
  }
5554
5644
  ),
5555
- (highestOffer || collectible) && !balanceIsLoading && /* @__PURE__ */ jsx43("div", { className: "-bottom-16 absolute flex w-full origin-bottom items-center justify-center bg-overlay-light p-2 backdrop-blur transition-transform duration-200 ease-in-out group-hover:translate-y-[-64px]", children: /* @__PURE__ */ jsx43(
5645
+ (highestOffer || collectible) && !balanceIsLoading && /* @__PURE__ */ jsx44("div", { className: "-bottom-16 absolute flex w-full origin-bottom items-center justify-center bg-overlay-light p-2 backdrop-blur transition-transform duration-200 ease-in-out group-hover:translate-y-[-64px]", children: /* @__PURE__ */ jsx44(
5556
5646
  ActionButton,
5557
5647
  {
5558
5648
  chainId,
@@ -5579,6 +5669,7 @@ export {
5579
5669
  useCreateListingModal,
5580
5670
  useMakeOfferModal,
5581
5671
  useSellModal,
5672
+ CollectibleAsset,
5582
5673
  CollectibleCard
5583
5674
  };
5584
- //# sourceMappingURL=chunk-7IYKUVC3.js.map
5675
+ //# sourceMappingURL=chunk-I2BYHDFE.js.map