@0xsequence/marketplace-sdk 0.8.9 → 0.8.10

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 (108) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/{chunk-FMEEJFAF.js → chunk-5C6ZZ6WX.js} +1 -1
  3. package/dist/{chunk-YEGD7PWE.js → chunk-5O44EPXZ.js} +2 -2
  4. package/dist/chunk-6CTFVBKU.js +1 -0
  5. package/dist/{chunk-KGM2WLSP.js → chunk-7F27CJZW.js} +14 -2
  6. package/dist/{chunk-KGM2WLSP.js.map → chunk-7F27CJZW.js.map} +1 -1
  7. package/dist/{chunk-MAD64DLJ.js → chunk-A7BVFBWB.js} +2 -2
  8. package/dist/{chunk-YBOFRP65.js → chunk-FGM57QUU.js} +2 -2
  9. package/dist/{chunk-HHYNOPPI.js → chunk-KTST7ORH.js} +2 -2
  10. package/dist/{chunk-35WWD5V6.js → chunk-M6NJ73Y5.js} +3 -3
  11. package/dist/chunk-Q3ECVC4F.js +811 -0
  12. package/dist/chunk-Q3ECVC4F.js.map +1 -0
  13. package/dist/{chunk-EODKQL6Y.js → chunk-RVIUUJTP.js} +2 -2
  14. package/dist/{chunk-G3447GIP.js → chunk-SXVUTSMT.js} +24 -9
  15. package/dist/chunk-SXVUTSMT.js.map +1 -0
  16. package/dist/{chunk-I2BYHDFE.js → chunk-UJSF7PSC.js} +159 -106
  17. package/dist/chunk-UJSF7PSC.js.map +1 -0
  18. package/dist/{chunk-YALXP2PW.js → chunk-WH5BZC7W.js} +2 -2
  19. package/dist/{chunk-4XLXOEXQ.js → chunk-Y2HJO2VY.js} +25 -4
  20. package/dist/chunk-Y2HJO2VY.js.map +1 -0
  21. package/dist/{create-config-DwrnzwpM.d.ts → create-config-CAQcvjl6.d.ts} +2 -2
  22. package/dist/{index-DGsVBflk.d.ts → index-MlUK9AQE.d.ts} +2 -2
  23. package/dist/index.css +7 -7
  24. package/dist/index.css.map +1 -1
  25. package/dist/index.d.ts +4 -3
  26. package/dist/index.js +10 -4
  27. package/dist/{lowestListing-BQHIuvNF.d.ts → listTokenMetadata-DO4ChDjn.d.ts} +20 -2
  28. package/dist/{marketplaceConfig-B4Fdsmxu.d.ts → marketplaceConfig-D0MXemEl.d.ts} +1 -1
  29. package/dist/react/_internal/api/index.d.ts +3 -2
  30. package/dist/react/_internal/api/index.js +5 -1
  31. package/dist/react/_internal/databeat/index.js +11 -10
  32. package/dist/react/_internal/index.d.ts +6 -5
  33. package/dist/react/_internal/index.js +5 -1
  34. package/dist/react/_internal/wagmi/index.d.ts +3 -3
  35. package/dist/react/hooks/index.d.ts +11 -8
  36. package/dist/react/hooks/index.js +12 -9
  37. package/dist/react/hooks/options/index.d.ts +3 -3
  38. package/dist/react/hooks/options/index.js +3 -3
  39. package/dist/react/index.css +7 -7
  40. package/dist/react/index.css.map +1 -1
  41. package/dist/react/index.d.ts +11 -10
  42. package/dist/react/index.js +18 -15
  43. package/dist/react/queries/index.d.ts +3 -2
  44. package/dist/react/queries/index.js +6 -4
  45. package/dist/react/ssr/index.d.ts +2 -2
  46. package/dist/react/ssr/index.js +2 -2
  47. package/dist/react/ui/components/collectible-card/index.css +7 -7
  48. package/dist/react/ui/components/collectible-card/index.css.map +1 -1
  49. package/dist/react/ui/components/collectible-card/index.d.ts +7 -5
  50. package/dist/react/ui/components/collectible-card/index.js +18 -17
  51. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  52. package/dist/react/ui/icons/index.js +7 -6
  53. package/dist/react/ui/index.css +7 -7
  54. package/dist/react/ui/index.css.map +1 -1
  55. package/dist/react/ui/index.d.ts +1 -1
  56. package/dist/react/ui/index.js +16 -15
  57. package/dist/react/ui/modals/_internal/components/actionModal/index.js +11 -10
  58. package/dist/{sdk-config-txlivEKe.d.ts → sdk-config-onSPBxJj.d.ts} +1 -0
  59. package/dist/{services-BI_w8Eq4.d.ts → services-CMSb9ipU.d.ts} +5 -2
  60. package/dist/types/index.d.ts +2 -2
  61. package/dist/types/index.js +1 -1
  62. package/dist/{types-isjvwapz.d.ts → types-B8xzPEKX.d.ts} +2 -2
  63. package/dist/utils/abi/index.d.ts +1 -0
  64. package/dist/utils/abi/index.js +7 -1
  65. package/dist/utils/abi/primary-sale/index.d.ts +1054 -0
  66. package/dist/utils/abi/primary-sale/index.js +9 -0
  67. package/dist/utils/abi/primary-sale/index.js.map +1 -0
  68. package/dist/utils/index.d.ts +1 -0
  69. package/dist/utils/index.js +10 -4
  70. package/package.json +30 -30
  71. package/src/react/_internal/api/services.ts +12 -1
  72. package/src/react/hooks/index.ts +1 -0
  73. package/src/react/hooks/useList1155SaleSupplies.tsx +62 -0
  74. package/src/react/hooks/useListTokenMetadata.ts +19 -0
  75. package/src/react/queries/index.ts +1 -0
  76. package/src/react/queries/listTokenMetadata.ts +38 -0
  77. package/src/react/ui/components/collectible-card/CollectibleCard.tsx +2 -2
  78. package/src/react/ui/components/collectible-card/__tests__/{CollectibleAsset.test.tsx → Media.test.tsx} +7 -13
  79. package/src/react/ui/components/collectible-card/index.ts +1 -1
  80. package/src/react/ui/components/collectible-card/media/Media.tsx +206 -0
  81. package/src/react/ui/components/collectible-card/{collectible-asset/CollectibleAssetSkeleton.tsx → media/MediaSkeleton.tsx} +1 -1
  82. package/src/react/ui/components/collectible-card/media/types.ts +17 -0
  83. package/src/react/ui/components/collectible-card/{collectible-asset → media}/utils.ts +8 -3
  84. package/src/react/ui/index.ts +1 -1
  85. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +28 -3
  86. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/WalletAddressInput.tsx +1 -1
  87. package/src/types/sdk-config.ts +1 -0
  88. package/src/utils/abi/index.ts +1 -0
  89. package/src/utils/abi/primary-sale/index.ts +2 -0
  90. package/src/utils/abi/primary-sale/sequence-1155-sales-contract.ts +450 -0
  91. package/src/utils/abi/primary-sale/sequence-721-sales-contract.ts +352 -0
  92. package/src/utils/abi/token/sequence-erc1155-items.ts +454 -0
  93. package/src/utils/fetchContentType.ts +5 -1
  94. package/tsconfig.tsbuildinfo +1 -1
  95. package/dist/chunk-4XLXOEXQ.js.map +0 -1
  96. package/dist/chunk-G3447GIP.js.map +0 -1
  97. package/dist/chunk-I2BYHDFE.js.map +0 -1
  98. package/dist/chunk-UISBTKFF.js +0 -1
  99. package/src/react/ui/components/collectible-card/collectible-asset/CollectibleAsset.tsx +0 -174
  100. /package/dist/{chunk-FMEEJFAF.js.map → chunk-5C6ZZ6WX.js.map} +0 -0
  101. /package/dist/{chunk-YEGD7PWE.js.map → chunk-5O44EPXZ.js.map} +0 -0
  102. /package/dist/{chunk-UISBTKFF.js.map → chunk-6CTFVBKU.js.map} +0 -0
  103. /package/dist/{chunk-MAD64DLJ.js.map → chunk-A7BVFBWB.js.map} +0 -0
  104. /package/dist/{chunk-YBOFRP65.js.map → chunk-FGM57QUU.js.map} +0 -0
  105. /package/dist/{chunk-HHYNOPPI.js.map → chunk-KTST7ORH.js.map} +0 -0
  106. /package/dist/{chunk-35WWD5V6.js.map → chunk-M6NJ73Y5.js.map} +0 -0
  107. /package/dist/{chunk-EODKQL6Y.js.map → chunk-RVIUUJTP.js.map} +0 -0
  108. /package/dist/{chunk-YALXP2PW.js.map → chunk-WH5BZC7W.js.map} +0 -0
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-UISBTKFF.js.map
@@ -1,174 +0,0 @@
1
- 'use client';
2
-
3
- import { useEffect, useRef, useState } from 'react';
4
- import { cn } from '../../../../../utils';
5
- import { fetchContentType } from '../../../../../utils/fetchContentType';
6
- import ChessTileImage from '../../../images/chess-tile.png';
7
- import ModelViewer from '../../ModelViewer';
8
- import CollectibleAssetSkeleton from './CollectibleAssetSkeleton';
9
- import { getContentType } from './utils';
10
-
11
- type CollectibleImageProps = {
12
- name?: string;
13
- assets?: (string | undefined)[];
14
- assetSrcPrefixUrl?: string;
15
- className?: string;
16
- };
17
-
18
- /**
19
- * @description This component is used to display a collectible asset.
20
- * It will display the first valid asset from the assets array.
21
- * If no valid asset is found, it will display the placeholder image.
22
- *
23
- * @example
24
- * <CollectibleAsset
25
- * name="Collectible"
26
- * assets={[undefined, "some-image-url", undefined]} // undefined assets will be ignored, "some-image-url" will be rendered
27
- * assetSrcPrefixUrl="https://example.com/"
28
- * className="w-full h-full"
29
- * />
30
- */
31
- export function CollectibleAsset({
32
- name,
33
- assets,
34
- assetSrcPrefixUrl,
35
- className,
36
- }: CollectibleImageProps) {
37
- const [assetLoadFailed, setAssetLoadFailed] = useState(false);
38
- const [assetLoading, setAssetLoading] = useState(true);
39
- const [contentType, setContentType] = useState<{
40
- type: 'image' | 'video' | 'html' | '3d-model' | null;
41
- loading: boolean;
42
- failed: boolean;
43
- }>({ type: null, loading: true, failed: false });
44
- const videoRef = useRef<HTMLVideoElement>(null);
45
- const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
46
-
47
- const placeholderImage = ChessTileImage;
48
- const assetUrl = assets?.find((asset) => asset) || placeholderImage;
49
- const proxiedAssetUrl = assetSrcPrefixUrl
50
- ? `${assetSrcPrefixUrl}${assetUrl}` // assetSrcPrefixUrl must have a trailing slash at the end
51
- : assetUrl;
52
-
53
- useEffect(() => {
54
- getContentType(proxiedAssetUrl)
55
- .then((contentType) => {
56
- setContentType({ type: contentType, loading: false, failed: false });
57
- })
58
- .catch(() => {
59
- fetchContentType(proxiedAssetUrl)
60
- .then((contentType) => {
61
- setContentType({
62
- type: contentType,
63
- loading: false,
64
- failed: false,
65
- });
66
- })
67
- .catch(() => {
68
- setContentType({ type: null, loading: false, failed: true });
69
- });
70
- });
71
- }, [proxiedAssetUrl]);
72
-
73
- if (contentType.type === 'html' && !assetLoadFailed) {
74
- return (
75
- <div
76
- className={cn(
77
- 'flex aspect-square w-full items-center justify-center overflow-hidden rounded-lg bg-background-secondary',
78
- className,
79
- )}
80
- >
81
- {(assetLoading || contentType.loading) && <CollectibleAssetSkeleton />}
82
-
83
- <iframe
84
- title={name || 'Collectible'}
85
- className="aspect-square w-full"
86
- src={proxiedAssetUrl}
87
- allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
88
- sandbox="allow-scripts"
89
- style={{
90
- border: '0px',
91
- }}
92
- onError={() => setAssetLoadFailed(true)}
93
- onLoad={() => setAssetLoading(false)}
94
- />
95
- </div>
96
- );
97
- }
98
-
99
- if (contentType.type === '3d-model' && !assetLoadFailed) {
100
- return (
101
- <div className="h-full w-full">
102
- <ModelViewer
103
- src={proxiedAssetUrl}
104
- posterSrc={placeholderImage}
105
- onLoad={() => setAssetLoading(false)}
106
- onError={() => setAssetLoadFailed(true)}
107
- />
108
- </div>
109
- );
110
- }
111
- if (contentType.type === 'video' && !assetLoadFailed) {
112
- return (
113
- <div
114
- className={cn(
115
- 'relative flex aspect-square w-full items-center justify-center overflow-hidden rounded-lg bg-background-secondary',
116
- className,
117
- )}
118
- >
119
- {(assetLoading || contentType.loading) && <CollectibleAssetSkeleton />}
120
-
121
- <video
122
- ref={videoRef}
123
- className={cn(
124
- `absolute inset-0 h-full w-full object-cover transition-transform duration-200 ease-in-out group-hover:scale-hover ${
125
- assetLoading ? 'invisible' : 'visible'
126
- }`,
127
- // 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
128
- isSafari && 'pointer-events-none',
129
- )}
130
- autoPlay
131
- loop
132
- controls
133
- playsInline
134
- muted
135
- controlsList="nodownload noremoteplayback nofullscreen "
136
- onError={() => {
137
- setAssetLoadFailed(true);
138
- }}
139
- onLoadedMetadata={() => {
140
- setAssetLoading(false);
141
- }}
142
- data-testid="collectible-asset-video"
143
- >
144
- <source src={proxiedAssetUrl} />
145
- </video>
146
- </div>
147
- );
148
- }
149
-
150
- return (
151
- <div
152
- className={cn(
153
- 'relative aspect-square overflow-hidden bg-background-secondary',
154
- className,
155
- )}
156
- >
157
- {(assetLoading || contentType.loading) && <CollectibleAssetSkeleton />}
158
-
159
- <img
160
- src={
161
- assetLoadFailed || contentType.failed
162
- ? placeholderImage
163
- : proxiedAssetUrl
164
- }
165
- alt={name || 'Collectible'}
166
- className={`absolute inset-0 h-full w-full object-cover transition-transform duration-200 ease-in-out group-hover:scale-hover ${
167
- assetLoading || contentType.loading ? 'invisible' : 'visible'
168
- }`}
169
- onError={() => setAssetLoadFailed(true)}
170
- onLoad={() => setAssetLoading(false)}
171
- />
172
- </div>
173
- );
174
- }