@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.
- package/CHANGELOG.md +30 -0
- package/dist/{chunk-FMEEJFAF.js → chunk-5C6ZZ6WX.js} +1 -1
- package/dist/{chunk-YEGD7PWE.js → chunk-5O44EPXZ.js} +2 -2
- package/dist/chunk-6CTFVBKU.js +1 -0
- package/dist/{chunk-KGM2WLSP.js → chunk-7F27CJZW.js} +14 -2
- package/dist/{chunk-KGM2WLSP.js.map → chunk-7F27CJZW.js.map} +1 -1
- package/dist/{chunk-MAD64DLJ.js → chunk-A7BVFBWB.js} +2 -2
- package/dist/{chunk-YBOFRP65.js → chunk-FGM57QUU.js} +2 -2
- package/dist/{chunk-HHYNOPPI.js → chunk-KTST7ORH.js} +2 -2
- package/dist/{chunk-35WWD5V6.js → chunk-M6NJ73Y5.js} +3 -3
- package/dist/chunk-Q3ECVC4F.js +811 -0
- package/dist/chunk-Q3ECVC4F.js.map +1 -0
- package/dist/{chunk-EODKQL6Y.js → chunk-RVIUUJTP.js} +2 -2
- package/dist/{chunk-G3447GIP.js → chunk-SXVUTSMT.js} +24 -9
- package/dist/chunk-SXVUTSMT.js.map +1 -0
- package/dist/{chunk-I2BYHDFE.js → chunk-UJSF7PSC.js} +159 -106
- package/dist/chunk-UJSF7PSC.js.map +1 -0
- package/dist/{chunk-YALXP2PW.js → chunk-WH5BZC7W.js} +2 -2
- package/dist/{chunk-4XLXOEXQ.js → chunk-Y2HJO2VY.js} +25 -4
- package/dist/chunk-Y2HJO2VY.js.map +1 -0
- package/dist/{create-config-DwrnzwpM.d.ts → create-config-CAQcvjl6.d.ts} +2 -2
- package/dist/{index-DGsVBflk.d.ts → index-MlUK9AQE.d.ts} +2 -2
- package/dist/index.css +7 -7
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +10 -4
- package/dist/{lowestListing-BQHIuvNF.d.ts → listTokenMetadata-DO4ChDjn.d.ts} +20 -2
- package/dist/{marketplaceConfig-B4Fdsmxu.d.ts → marketplaceConfig-D0MXemEl.d.ts} +1 -1
- package/dist/react/_internal/api/index.d.ts +3 -2
- package/dist/react/_internal/api/index.js +5 -1
- package/dist/react/_internal/databeat/index.js +11 -10
- package/dist/react/_internal/index.d.ts +6 -5
- package/dist/react/_internal/index.js +5 -1
- package/dist/react/_internal/wagmi/index.d.ts +3 -3
- package/dist/react/hooks/index.d.ts +11 -8
- package/dist/react/hooks/index.js +12 -9
- package/dist/react/hooks/options/index.d.ts +3 -3
- package/dist/react/hooks/options/index.js +3 -3
- package/dist/react/index.css +7 -7
- package/dist/react/index.css.map +1 -1
- package/dist/react/index.d.ts +11 -10
- package/dist/react/index.js +18 -15
- package/dist/react/queries/index.d.ts +3 -2
- package/dist/react/queries/index.js +6 -4
- package/dist/react/ssr/index.d.ts +2 -2
- package/dist/react/ssr/index.js +2 -2
- package/dist/react/ui/components/collectible-card/index.css +7 -7
- package/dist/react/ui/components/collectible-card/index.css.map +1 -1
- package/dist/react/ui/components/collectible-card/index.d.ts +7 -5
- package/dist/react/ui/components/collectible-card/index.js +18 -17
- package/dist/react/ui/components/marketplace-logos/index.js +1 -1
- package/dist/react/ui/icons/index.js +7 -6
- package/dist/react/ui/index.css +7 -7
- package/dist/react/ui/index.css.map +1 -1
- package/dist/react/ui/index.d.ts +1 -1
- package/dist/react/ui/index.js +16 -15
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +11 -10
- package/dist/{sdk-config-txlivEKe.d.ts → sdk-config-onSPBxJj.d.ts} +1 -0
- package/dist/{services-BI_w8Eq4.d.ts → services-CMSb9ipU.d.ts} +5 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +1 -1
- package/dist/{types-isjvwapz.d.ts → types-B8xzPEKX.d.ts} +2 -2
- package/dist/utils/abi/index.d.ts +1 -0
- package/dist/utils/abi/index.js +7 -1
- package/dist/utils/abi/primary-sale/index.d.ts +1054 -0
- package/dist/utils/abi/primary-sale/index.js +9 -0
- package/dist/utils/abi/primary-sale/index.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +10 -4
- package/package.json +30 -30
- package/src/react/_internal/api/services.ts +12 -1
- package/src/react/hooks/index.ts +1 -0
- package/src/react/hooks/useList1155SaleSupplies.tsx +62 -0
- package/src/react/hooks/useListTokenMetadata.ts +19 -0
- package/src/react/queries/index.ts +1 -0
- package/src/react/queries/listTokenMetadata.ts +38 -0
- package/src/react/ui/components/collectible-card/CollectibleCard.tsx +2 -2
- package/src/react/ui/components/collectible-card/__tests__/{CollectibleAsset.test.tsx → Media.test.tsx} +7 -13
- package/src/react/ui/components/collectible-card/index.ts +1 -1
- package/src/react/ui/components/collectible-card/media/Media.tsx +206 -0
- package/src/react/ui/components/collectible-card/{collectible-asset/CollectibleAssetSkeleton.tsx → media/MediaSkeleton.tsx} +1 -1
- package/src/react/ui/components/collectible-card/media/types.ts +17 -0
- package/src/react/ui/components/collectible-card/{collectible-asset → media}/utils.ts +8 -3
- package/src/react/ui/index.ts +1 -1
- package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +28 -3
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/WalletAddressInput.tsx +1 -1
- package/src/types/sdk-config.ts +1 -0
- package/src/utils/abi/index.ts +1 -0
- package/src/utils/abi/primary-sale/index.ts +2 -0
- package/src/utils/abi/primary-sale/sequence-1155-sales-contract.ts +450 -0
- package/src/utils/abi/primary-sale/sequence-721-sales-contract.ts +352 -0
- package/src/utils/abi/token/sequence-erc1155-items.ts +454 -0
- package/src/utils/fetchContentType.ts +5 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/chunk-4XLXOEXQ.js.map +0 -1
- package/dist/chunk-G3447GIP.js.map +0 -1
- package/dist/chunk-I2BYHDFE.js.map +0 -1
- package/dist/chunk-UISBTKFF.js +0 -1
- package/src/react/ui/components/collectible-card/collectible-asset/CollectibleAsset.tsx +0 -174
- /package/dist/{chunk-FMEEJFAF.js.map → chunk-5C6ZZ6WX.js.map} +0 -0
- /package/dist/{chunk-YEGD7PWE.js.map → chunk-5O44EPXZ.js.map} +0 -0
- /package/dist/{chunk-UISBTKFF.js.map → chunk-6CTFVBKU.js.map} +0 -0
- /package/dist/{chunk-MAD64DLJ.js.map → chunk-A7BVFBWB.js.map} +0 -0
- /package/dist/{chunk-YBOFRP65.js.map → chunk-FGM57QUU.js.map} +0 -0
- /package/dist/{chunk-HHYNOPPI.js.map → chunk-KTST7ORH.js.map} +0 -0
- /package/dist/{chunk-35WWD5V6.js.map → chunk-M6NJ73Y5.js.map} +0 -0
- /package/dist/{chunk-EODKQL6Y.js.map → chunk-RVIUUJTP.js.map} +0 -0
- /package/dist/{chunk-YALXP2PW.js.map → chunk-WH5BZC7W.js.map} +0 -0
package/dist/chunk-UISBTKFF.js
DELETED
|
@@ -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
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|