decentraland-ui2 3.12.0 → 3.13.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 (27) hide show
  1. package/dist/components/AssetPreviewPlayer/AssetPreviewPlayer.d.ts +12 -0
  2. package/dist/components/AssetPreviewPlayer/AssetPreviewPlayer.js +165 -0
  3. package/dist/components/AssetPreviewPlayer/AssetPreviewPlayer.js.map +1 -0
  4. package/dist/components/AssetPreviewPlayer/AssetPreviewPlayer.styled.d.ts +17 -0
  5. package/dist/components/AssetPreviewPlayer/AssetPreviewPlayer.styled.js +29 -0
  6. package/dist/components/AssetPreviewPlayer/AssetPreviewPlayer.styled.js.map +1 -0
  7. package/dist/components/AssetPreviewPlayer/AssetPreviewPlayer.types.d.ts +36 -0
  8. package/dist/components/AssetPreviewPlayer/AssetPreviewPlayer.types.js +2 -0
  9. package/dist/components/AssetPreviewPlayer/AssetPreviewPlayer.types.js.map +1 -0
  10. package/dist/components/AssetPreviewPlayer/index.d.ts +2 -0
  11. package/dist/components/AssetPreviewPlayer/index.js +2 -0
  12. package/dist/components/AssetPreviewPlayer/index.js.map +1 -0
  13. package/dist/components/CatalogCard/CatalogCard.js +33 -4
  14. package/dist/components/CatalogCard/CatalogCard.js.map +1 -1
  15. package/dist/components/CatalogCard/CatalogCard.stories.d.ts +9 -1
  16. package/dist/components/CatalogCard/CatalogCard.stories.js +147 -4
  17. package/dist/components/CatalogCard/CatalogCard.stories.js.map +1 -1
  18. package/dist/components/CatalogCard/CatalogCard.styled.d.ts +56 -11
  19. package/dist/components/CatalogCard/CatalogCard.styled.js +187 -52
  20. package/dist/components/CatalogCard/CatalogCard.styled.js.map +1 -1
  21. package/dist/components/CatalogCard/CatalogCard.types.d.ts +16 -0
  22. package/dist/components/CatalogCard/CatalogCardPrice.js +2 -3
  23. package/dist/components/CatalogCard/CatalogCardPrice.js.map +1 -1
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.js +1 -0
  26. package/dist/index.js.map +1 -1
  27. package/package.json +2 -2
@@ -0,0 +1,12 @@
1
+ import { AssetPreviewPlayerContextValue, AssetPreviewPlayerProviderProps } from './AssetPreviewPlayer.types';
2
+ declare const PREVIEW_IFRAME_ID = "asset-preview-player-iframe";
3
+ /** Returns the player controls, or `null` when no enabled provider is mounted above. */
4
+ declare function useAssetPreviewPlayer(): AssetPreviewPlayerContextValue | null;
5
+ /**
6
+ * Single pre-warmed `WearablePreview` iframe shared by every card: it boots hidden,
7
+ * gets repositioned over the hovered card image and receives each asset via
8
+ * `postMessage(UPDATE)` — never one iframe per card (marketplace PRs #2640/#2648).
9
+ * Emotes are played by the avatar; wearables are rendered worn by the avatar.
10
+ */
11
+ declare function AssetPreviewPlayerProvider({ enabled, peerUrl, marketplaceServerUrl, profile, dev, children }: AssetPreviewPlayerProviderProps): import("react/jsx-runtime").JSX.Element;
12
+ export { AssetPreviewPlayerProvider, useAssetPreviewPlayer, PREVIEW_IFRAME_ID };
@@ -0,0 +1,165 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ import { Network, PreviewMessageType, Rarity, sendMessage } from '@dcl/schemas';
5
+ import { CircularProgress } from '@mui/material';
6
+ import { WearablePreview } from '../WearablePreview';
7
+ import { PlayerOverlay, SpinnerContainer } from './AssetPreviewPlayer.styled';
8
+ const PREVIEW_IFRAME_ID = 'asset-preview-player-iframe';
9
+ const DEFAULT_PEER_URL = 'https://peer.decentraland.org';
10
+ const DEFAULT_MARKETPLACE_SERVER_URL = 'https://marketplace-api.decentraland.org';
11
+ const AssetPreviewPlayerContext = createContext(null);
12
+ /** Returns the player controls, or `null` when no enabled provider is mounted above. */
13
+ function useAssetPreviewPlayer() {
14
+ return useContext(AssetPreviewPlayerContext);
15
+ }
16
+ const sourceToOptions = (src, env) => {
17
+ const base = {
18
+ profile: env.profile,
19
+ peerUrl: env.peerUrl,
20
+ marketplaceServerUrl: env.marketplaceServerUrl,
21
+ background: Rarity.getColor(src.rarity ?? Rarity.COMMON)
22
+ };
23
+ if (src.urn) {
24
+ return { ...base, urns: [src.urn] };
25
+ }
26
+ return {
27
+ ...base,
28
+ contractAddress: src.contractAddress ?? null,
29
+ itemId: src.itemId ?? null,
30
+ tokenId: src.tokenId ?? null
31
+ };
32
+ };
33
+ /**
34
+ * The iframe only rebuilds (and therefore only emits LOAD) when the asset identity
35
+ * changes — tracking it by key keeps the spinner honest on re-hovers of an
36
+ * already-rendered asset (marketplace PR #2648).
37
+ */
38
+ const keyOf = (src) => {
39
+ if (src.urn) {
40
+ return `urn:${src.urn}`;
41
+ }
42
+ if (src.network === Network.ETHEREUM) {
43
+ return `eth:${src.contractAddress ?? ''}:${src.tokenId ?? ''}`;
44
+ }
45
+ return `${src.contractAddress ?? ''}:${src.itemId ?? src.tokenId ?? ''}`;
46
+ };
47
+ /**
48
+ * Single pre-warmed `WearablePreview` iframe shared by every card: it boots hidden,
49
+ * gets repositioned over the hovered card image and receives each asset via
50
+ * `postMessage(UPDATE)` — never one iframe per card (marketplace PRs #2640/#2648).
51
+ * Emotes are played by the avatar; wearables are rendered worn by the avatar.
52
+ */
53
+ function AssetPreviewPlayerProvider({ enabled, peerUrl = DEFAULT_PEER_URL, marketplaceServerUrl = DEFAULT_MARKETPLACE_SERVER_URL, profile = 'default', dev = false, children }) {
54
+ const [isVisible, setIsVisible] = useState(false);
55
+ const [isControllable, setIsControllable] = useState(false);
56
+ const [isAssetLoading, setIsAssetLoading] = useState(false);
57
+ const [rect, setRect] = useState(null);
58
+ const [overlayRarity, setOverlayRarity] = useState(Rarity.COMMON);
59
+ const targetRef = useRef(null);
60
+ const hasInitiallyLoadedRef = useRef(false);
61
+ const pendingSourceRef = useRef(null);
62
+ const currentKeyRef = useRef(null);
63
+ const loadedKeyRef = useRef(null);
64
+ const envConfig = useMemo(() => ({ profile, peerUrl, marketplaceServerUrl }), [profile, peerUrl, marketplaceServerUrl]);
65
+ const dispatchUpdate = useCallback((src) => {
66
+ const iframe = document.getElementById(PREVIEW_IFRAME_ID);
67
+ if (!iframe?.contentWindow) {
68
+ return false;
69
+ }
70
+ sendMessage(iframe.contentWindow, PreviewMessageType.UPDATE, { options: sourceToOptions(src, envConfig) });
71
+ return true;
72
+ }, [envConfig]);
73
+ const show = useCallback((target, source) => {
74
+ targetRef.current = target;
75
+ setOverlayRarity(source.rarity ?? Rarity.COMMON);
76
+ setIsVisible(true);
77
+ const key = keyOf(source);
78
+ currentKeyRef.current = key;
79
+ // If this asset is already rendered in the iframe the UPDATE won't trigger a
80
+ // rebuild (no LOAD will follow), so don't show a spinner that would never clear.
81
+ setIsAssetLoading(key !== loadedKeyRef.current);
82
+ if (!isControllable || !dispatchUpdate(source)) {
83
+ pendingSourceRef.current = source;
84
+ }
85
+ }, [isControllable, dispatchUpdate]);
86
+ const hide = useCallback(() => {
87
+ // Keep loadedKeyRef so re-hovering the same asset stays instant.
88
+ targetRef.current = null;
89
+ setIsVisible(false);
90
+ setRect(null);
91
+ }, []);
92
+ // Follow the hovered image rect (cards animate/scroll under the fixed overlay).
93
+ useEffect(() => {
94
+ if (!isVisible) {
95
+ return undefined;
96
+ }
97
+ let rafId = 0;
98
+ const tick = () => {
99
+ const el = targetRef.current;
100
+ if (el) {
101
+ const r = el.getBoundingClientRect();
102
+ setRect(prev => {
103
+ if (prev && prev.top === r.top && prev.left === r.left && prev.width === r.width && prev.height === r.height) {
104
+ return prev;
105
+ }
106
+ return { top: r.top, left: r.left, width: r.width, height: r.height };
107
+ });
108
+ }
109
+ rafId = requestAnimationFrame(tick);
110
+ };
111
+ rafId = requestAnimationFrame(tick);
112
+ return () => cancelAnimationFrame(rafId);
113
+ }, [isVisible]);
114
+ const handlePreviewLoad = useCallback(() => {
115
+ if (!hasInitiallyLoadedRef.current) {
116
+ // First LOAD is the iframe boot — it becomes controllable now.
117
+ hasInitiallyLoadedRef.current = true;
118
+ setIsControllable(true);
119
+ return;
120
+ }
121
+ loadedKeyRef.current = currentKeyRef.current;
122
+ setIsAssetLoading(false);
123
+ }, []);
124
+ const handlePreviewError = useCallback(() => {
125
+ setIsAssetLoading(false);
126
+ }, []);
127
+ // A hover that raced the iframe boot is flushed as soon as it becomes controllable.
128
+ useEffect(() => {
129
+ if (isControllable && pendingSourceRef.current) {
130
+ const pending = pendingSourceRef.current;
131
+ pendingSourceRef.current = null;
132
+ dispatchUpdate(pending);
133
+ }
134
+ }, [isControllable, dispatchUpdate]);
135
+ // Disabling tears the iframe down — reset every ref so the next boot is treated as such.
136
+ useEffect(() => {
137
+ if (!enabled) {
138
+ hasInitiallyLoadedRef.current = false;
139
+ pendingSourceRef.current = null;
140
+ currentKeyRef.current = null;
141
+ loadedKeyRef.current = null;
142
+ targetRef.current = null;
143
+ setIsControllable(false);
144
+ setIsVisible(false);
145
+ setIsAssetLoading(false);
146
+ setRect(null);
147
+ }
148
+ }, [enabled]);
149
+ const contextValue = useMemo(() => (enabled ? { show, hide } : null), [enabled, show, hide]);
150
+ const [lightColor, regularColor] = Rarity.getGradient(overlayRarity);
151
+ const overlayStyle = isVisible && rect
152
+ ? {
153
+ top: rect.top,
154
+ left: rect.left,
155
+ width: rect.width,
156
+ height: rect.height,
157
+ backgroundImage: `radial-gradient(${lightColor}, ${regularColor})`
158
+ }
159
+ : undefined;
160
+ return (_jsxs(AssetPreviewPlayerContext.Provider, { value: contextValue, children: [children, enabled
161
+ ? createPortal(_jsxs(PlayerOverlay, { visible: Boolean(isVisible && rect), style: overlayStyle, "aria-hidden": true, children: [_jsx(WearablePreview, { id: PREVIEW_IFRAME_ID, profile: profile, peerUrl: peerUrl, marketplaceServerUrl: marketplaceServerUrl, background: Rarity.getColor(Rarity.COMMON), disableAutoRotate: true, disableFadeEffect: true, dev: dev, onLoad: handlePreviewLoad, onError: handlePreviewError }), isAssetLoading ? (_jsx(SpinnerContainer, { children: _jsx(CircularProgress, { size: 28 }) })) : null] }), document.body)
162
+ : null] }));
163
+ }
164
+ export { AssetPreviewPlayerProvider, useAssetPreviewPlayer, PREVIEW_IFRAME_ID };
165
+ //# sourceMappingURL=AssetPreviewPlayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetPreviewPlayer.js","sourceRoot":"","sources":["../../../src/components/AssetPreviewPlayer/AssetPreviewPlayer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Fixed overlay that floats the shared preview iframe over the hovered card image.
3
+ * While "warming" (iframe booting, nothing hovered) it stays parked at the viewport
4
+ * origin hidden via `clip-path` — NOT `visibility: hidden`, which can pause the
5
+ * iframe's render loop and defeat the pre-warming.
6
+ */
7
+ declare const PlayerOverlay: import("@emotion/styled").StyledComponent<{
8
+ theme?: import("@emotion/react").Theme;
9
+ as?: React.ElementType;
10
+ } & {
11
+ visible: boolean;
12
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
13
+ declare const SpinnerContainer: import("@emotion/styled").StyledComponent<{
14
+ theme?: import("@emotion/react").Theme;
15
+ as?: React.ElementType;
16
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
17
+ export { PlayerOverlay, SpinnerContainer };
@@ -0,0 +1,29 @@
1
+ import styled from '@emotion/styled';
2
+ /**
3
+ * Fixed overlay that floats the shared preview iframe over the hovered card image.
4
+ * While "warming" (iframe booting, nothing hovered) it stays parked at the viewport
5
+ * origin hidden via `clip-path` — NOT `visibility: hidden`, which can pause the
6
+ * iframe's render loop and defeat the pre-warming.
7
+ */
8
+ const PlayerOverlay = styled('div')(({ visible }) => ({
9
+ position: 'fixed',
10
+ // Above MUI dialogs (zIndex.modal = 1300) so cards hovered inside a profile/event
11
+ // modal still get their preview; pointer-events stays none so nothing is blocked.
12
+ zIndex: 1600,
13
+ borderRadius: 10,
14
+ overflow: 'hidden',
15
+ // Clicks fall through to the card underneath (navigation keeps working).
16
+ pointerEvents: 'none',
17
+ transition: 'opacity 120ms ease-out',
18
+ contain: 'layout paint',
19
+ ...(visible ? { opacity: 1, clipPath: 'none' } : { top: 0, left: 0, width: 320, height: 320, opacity: 0, clipPath: 'inset(50%)' })
20
+ }));
21
+ const SpinnerContainer = styled('div')({
22
+ position: 'absolute',
23
+ inset: 0,
24
+ display: 'flex',
25
+ alignItems: 'center',
26
+ justifyContent: 'center'
27
+ });
28
+ export { PlayerOverlay, SpinnerContainer };
29
+ //# sourceMappingURL=AssetPreviewPlayer.styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetPreviewPlayer.styled.js","sourceRoot":"","sources":["../../../src/components/AssetPreviewPlayer/AssetPreviewPlayer.styled.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,QAAQ,EAAE,OAAO;IACjB,kFAAkF;IAClF,kFAAkF;IAClF,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE,QAAQ;IAClB,yEAAyE;IACzE,aAAa,EAAE,MAAM;IACrB,UAAU,EAAE,wBAAwB;IACpC,OAAO,EAAE,cAAc;IACvB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;CACnI,CAAC,CAAC,CAAA;AAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;CACzB,CAAC,CAAA;AAEF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { Network, Rarity } from '@dcl/schemas';
2
+ /** Identifies the asset to render in the shared preview iframe. */
3
+ type AssetPreviewSource = {
4
+ /** Preferred identifier — resolves any collections item (wearable or emote). */
5
+ urn?: string | null;
6
+ /** Legacy identifier pair, used when no `urn` is available. */
7
+ contractAddress?: string;
8
+ itemId?: string | null;
9
+ tokenId?: string | null;
10
+ network?: Network;
11
+ /** Drives the overlay/iframe background color while the asset loads. */
12
+ rarity?: Rarity;
13
+ };
14
+ type AssetPreviewPlayerContextValue = {
15
+ /**
16
+ * Shows the preview overlay on top of `target`, rendering `source`: the avatar
17
+ * plays the asset when it is an emote and wears it when it is a wearable.
18
+ */
19
+ show: (target: HTMLElement, source: AssetPreviewSource) => void;
20
+ /** Hides the overlay (the iframe stays warm for the next hover). */
21
+ hide: () => void;
22
+ };
23
+ type AssetPreviewPlayerProviderProps = {
24
+ /** Master switch — when false no iframe is mounted and `useAssetPreviewPlayer()` returns null. */
25
+ enabled: boolean;
26
+ /** Catalyst peer used by the preview to resolve profiles/content. Defaults to prod. */
27
+ peerUrl?: string;
28
+ /** Marketplace API used by the preview to resolve items. Defaults to prod. */
29
+ marketplaceServerUrl?: string;
30
+ /** Avatar profile rendered wearing/playing the asset. Defaults to `"default"`. */
31
+ profile?: string;
32
+ /** Forwarded to the preview iframe (zone assets). */
33
+ dev?: boolean;
34
+ children: React.ReactNode;
35
+ };
36
+ export type { AssetPreviewPlayerContextValue, AssetPreviewPlayerProviderProps, AssetPreviewSource };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AssetPreviewPlayer.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetPreviewPlayer.types.js","sourceRoot":"","sources":["../../../src/components/AssetPreviewPlayer/AssetPreviewPlayer.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { AssetPreviewPlayerProvider, useAssetPreviewPlayer, PREVIEW_IFRAME_ID } from './AssetPreviewPlayer';
2
+ export type { AssetPreviewPlayerContextValue, AssetPreviewPlayerProviderProps, AssetPreviewSource } from './AssetPreviewPlayer.types';
@@ -0,0 +1,2 @@
1
+ export { AssetPreviewPlayerProvider, useAssetPreviewPlayer, PREVIEW_IFRAME_ID } from './AssetPreviewPlayer';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/AssetPreviewPlayer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1,13 +1,42 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from 'react';
2
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
3
3
  import { Network } from '@dcl/schemas';
4
4
  import { Typography } from '@mui/material';
5
5
  import { CatalogCardPrice } from './CatalogCardPrice';
6
+ import { useAssetPreviewPlayer } from '../../components/AssetPreviewPlayer';
6
7
  import { RarityBadge } from '../../components/RarityBadge';
7
- import { AssetAddress, AssetHeaderContainer, AssetImageContainer, AssetTitle, CardContentContainer, CatalogCardContainer, CatalogItemInformationContainer, ExtraInformationContainer } from './CatalogCard.styled';
8
+ import { i18n as rarityBadgeI18nDefault } from '../../components/RarityBadge/RarityBadge.i18n';
9
+ import { AssetAddress, AssetHeaderContainer, AssetImageContainer, AssetTitle, BadgeRow, BottomActionContainer, CardContentContainer, CatalogCardContainer, CatalogItemInformationContainer, CatalogItemInformationContent, CatalogRarityChip, ExtraInformationContainer, ExtraInformationContent, InfoBadgesContainer, RarityBadgeSlot } from './CatalogCard.styled';
8
10
  const CatalogCard = React.memo((props) => {
9
- const { asset, imageSrc, price, owners, extraInformation, action, actionIcon, withShadow, i18n } = props;
10
- return (_jsxs(CatalogCardContainer, { withShadow: withShadow, children: [_jsx(AssetImageContainer, { className: "AssetImageContainer", name: asset.name, rarity: asset.rarity, src: imageSrc }), _jsxs(CardContentContainer, { children: [_jsxs(AssetHeaderContainer, { children: [_jsx(AssetTitle, { variant: "body1", children: asset.name }), asset.network === Network.MATIC && _jsx(AssetAddress, { value: asset.creator })] }), _jsxs(CatalogItemInformationContainer, { className: "CatalogItemInformationContainer", children: [_jsx(Typography, { variant: "body2", children: action }), actionIcon] }), price ? _jsx(CatalogCardPrice, { price: price, asset: asset }) : owners, extraInformation && (_jsx(ExtraInformationContainer, { className: "ExtraInformationContainer", children: extraInformation })), _jsx(RarityBadge, { square: true, rarity: asset.rarity, i18n: i18n })] })] }));
11
+ const { asset, imageSrc, price, owners, extraInformation, action, actionIcon, withShadow, i18n, creatorSlot, hideRarityOnHover, hoverShadow, bottomAction, infoBadges, disableInfoExpansion, subduedRarity, hoverPreviewUrn } = props;
12
+ const showDefaultCreator = creatorSlot === undefined && asset.network === Network.MATIC;
13
+ // Live asset preview on hover (marketplace PRs #2640/#2648): emotes are played by the
14
+ // avatar, wearables are shown worn by it. Only when the consumer provided the urn, an
15
+ // enabled AssetPreviewPlayerProvider is mounted above, and the pointer actually hovers
16
+ // (touch taps would race the card's navigation click).
17
+ const containerRef = useRef(null);
18
+ const assetPreviewPlayer = useAssetPreviewPlayer();
19
+ const [supportsHover, setSupportsHover] = useState(() => typeof window !== 'undefined' && window.matchMedia('(hover: hover) and (pointer: fine)').matches);
20
+ // Pointer capability can change at runtime (tablet keyboard detach, external mouse).
21
+ useEffect(() => {
22
+ const mql = window.matchMedia('(hover: hover) and (pointer: fine)');
23
+ const handler = (event) => setSupportsHover(event.matches);
24
+ mql.addEventListener('change', handler);
25
+ return () => mql.removeEventListener('change', handler);
26
+ }, []);
27
+ const canPreviewAsset = Boolean(hoverPreviewUrn && assetPreviewPlayer && supportsHover);
28
+ const handlePreviewHoverEnter = useCallback(() => {
29
+ if (!assetPreviewPlayer || !hoverPreviewUrn)
30
+ return;
31
+ const imageEl = containerRef.current?.querySelector('[data-role="catalog-card-image"]');
32
+ if (!imageEl)
33
+ return;
34
+ assetPreviewPlayer.show(imageEl, { urn: hoverPreviewUrn, network: asset.network, rarity: asset.rarity });
35
+ }, [assetPreviewPlayer, hoverPreviewUrn, asset.network, asset.rarity]);
36
+ const handlePreviewHoverLeave = useCallback(() => {
37
+ assetPreviewPlayer?.hide();
38
+ }, [assetPreviewPlayer]);
39
+ return (_jsxs(CatalogCardContainer, { ref: containerRef, withShadow: withShadow, hideRarityOnHover: hideRarityOnHover, hoverShadow: hoverShadow, disableInfoExpansion: disableInfoExpansion, onMouseEnter: canPreviewAsset ? handlePreviewHoverEnter : undefined, onMouseLeave: canPreviewAsset ? handlePreviewHoverLeave : undefined, children: [_jsx(AssetImageContainer, { "data-role": "catalog-card-image", name: asset.name, rarity: asset.rarity, src: imageSrc }), _jsxs(CardContentContainer, { children: [_jsxs(AssetHeaderContainer, { children: [_jsx(AssetTitle, { variant: "body1", children: asset.name }), showDefaultCreator ? _jsx(AssetAddress, { value: asset.creator }) : creatorSlot] }), action || actionIcon ? (_jsx(CatalogItemInformationContainer, { className: "CatalogItemInformationContainer", "data-role": "catalog-card-reveal", children: _jsxs(CatalogItemInformationContent, { children: [_jsx(Typography, { variant: "body2", children: action }), actionIcon] }) })) : null, price ? _jsx(CatalogCardPrice, { price: price, asset: asset }) : owners, extraInformation ? (_jsx(ExtraInformationContainer, { className: "ExtraInformationContainer", "data-role": "catalog-card-reveal", children: _jsx(ExtraInformationContent, { children: extraInformation }) })) : null, _jsxs(BadgeRow, { "data-role": bottomAction ? 'catalog-card-badge-row' : undefined, children: [_jsx(RarityBadgeSlot, { "data-role": "catalog-card-rarity", children: subduedRarity ? (_jsx(CatalogRarityChip, { rarity: asset.rarity, children: (i18n ?? rarityBadgeI18nDefault).rarities[asset.rarity] })) : (_jsx(RarityBadge, { square: true, rarity: asset.rarity, i18n: i18n })) }), infoBadges ? _jsx(InfoBadgesContainer, { children: infoBadges }) : null] })] }), bottomAction ? _jsx(BottomActionContainer, { "data-role": "catalog-card-bottom-action", children: bottomAction }) : null] }));
11
40
  });
12
41
  export { CatalogCard };
13
42
  //# sourceMappingURL=CatalogCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogCard.js","sourceRoot":"","sources":["../../../src/components/CatalogCard/CatalogCard.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACpB,oBAAoB,EACpB,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,sBAAsB,CAAA;AAE7B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAuB,EAAE,EAAE;IACzD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IACxG,OAAO,CACL,MAAC,oBAAoB,IAAC,UAAU,EAAE,UAAU,aAC1C,KAAC,mBAAmB,IAAC,SAAS,EAAC,qBAAqB,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAI,EAC9G,MAAC,oBAAoB,eACnB,MAAC,oBAAoB,eACnB,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,YAAE,KAAK,CAAC,IAAI,GAAc,EACpD,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,GAAI,IACrD,EACvB,MAAC,+BAA+B,IAAC,SAAS,EAAC,iCAAiC,aAC1E,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,YAAE,MAAM,GAAc,EAChD,UAAU,IACqB,EACjC,KAAK,CAAC,CAAC,CAAC,KAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,MAAM,EACjE,gBAAgB,IAAI,CACnB,KAAC,yBAAyB,IAAC,SAAS,EAAC,2BAA2B,YAAE,gBAAgB,GAA6B,CAChH,EACD,KAAC,WAAW,IAAC,MAAM,QAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAI,IACnC,IACF,CACxB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"CatalogCard.js","sourceRoot":"","sources":["../../../src/components/CatalogCard/CatalogCard.tsx"],"names":[],"mappings":"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"}
@@ -3,5 +3,13 @@ import type { Meta, StoryObj } from '@storybook/react';
3
3
  declare const meta: Meta<CatalogCardProps>;
4
4
  type Story = StoryObj<CatalogCardProps>;
5
5
  declare const Default: Story;
6
+ declare const WithInfoBadges: Story;
7
+ declare const WithInfoBadgesBaseMale: Story;
8
+ declare const WithInfoBadgesBaseFemale: Story;
9
+ declare const WithBottomActionAndInfoBadges: Story;
10
+ declare const StaticHoverNoExpansion: Story;
11
+ declare const SubduedRarityNoPrice: Story;
12
+ declare const EmotePlayOnHover: Story;
13
+ declare const WearableTryOnHover: Story;
6
14
  export default meta;
7
- export { Default };
15
+ export { Default, EmotePlayOnHover, StaticHoverNoExpansion, SubduedRarityNoPrice, WearableTryOnHover, WithBottomActionAndInfoBadges, WithInfoBadges, WithInfoBadgesBaseFemale, WithInfoBadgesBaseMale };
@@ -1,8 +1,10 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Typography } from '@mui/material';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Network, Rarity } from '@dcl/schemas';
3
+ import { Box, Button, Typography } from '@mui/material';
3
4
  import { CatalogCard } from './CatalogCard';
4
5
  import { item } from '../../data/item';
5
- import { MintIcon } from '../Icon';
6
+ import { AssetPreviewPlayerProvider } from '../AssetPreviewPlayer';
7
+ import { BaseFemaleIcon, BaseMaleIcon, MintIcon, UnisexIcon, UpperBodyIcon } from '../Icon';
6
8
  import { i18n as rarityBadgeI18n } from '../RarityBadge/RarityBadge.i18n';
7
9
  const meta = {
8
10
  component: CatalogCard,
@@ -74,7 +76,148 @@ const Default = {
74
76
  i18n: rarityBadgeI18n
75
77
  }
76
78
  };
79
+ const WithInfoBadges = {
80
+ name: 'With info badges (category + body shape)',
81
+ args: {
82
+ withShadow: false,
83
+ price: '10',
84
+ imageSrc: item.thumbnail,
85
+ asset: item,
86
+ action: null,
87
+ extraInformation: null,
88
+ i18n: rarityBadgeI18n,
89
+ infoBadges: (_jsxs(_Fragment, { children: [_jsx(UpperBodyIcon, { fontSize: "small", titleAccess: "upper_body" }), _jsx(UnisexIcon, { fontSize: "small", titleAccess: "unisex" })] }))
90
+ }
91
+ };
92
+ const WithInfoBadgesBaseMale = {
93
+ name: 'With info badges (base male only)',
94
+ args: {
95
+ withShadow: false,
96
+ price: '10',
97
+ imageSrc: item.thumbnail,
98
+ asset: item,
99
+ action: null,
100
+ extraInformation: null,
101
+ i18n: rarityBadgeI18n,
102
+ infoBadges: (_jsxs(_Fragment, { children: [_jsx(UpperBodyIcon, { fontSize: "small", titleAccess: "upper_body" }), _jsx(BaseMaleIcon, { fontSize: "small", titleAccess: "BaseMale" })] }))
103
+ }
104
+ };
105
+ const WithInfoBadgesBaseFemale = {
106
+ name: 'With info badges (base female only)',
107
+ args: {
108
+ withShadow: false,
109
+ price: '10',
110
+ imageSrc: item.thumbnail,
111
+ asset: item,
112
+ action: null,
113
+ extraInformation: null,
114
+ i18n: rarityBadgeI18n,
115
+ infoBadges: (_jsxs(_Fragment, { children: [_jsx(UpperBodyIcon, { fontSize: "small", titleAccess: "upper_body" }), _jsx(BaseFemaleIcon, { fontSize: "small", titleAccess: "BaseFemale" })] }))
116
+ }
117
+ };
118
+ const WithBottomActionAndInfoBadges = {
119
+ name: 'Hover: bottom action + info badges',
120
+ args: {
121
+ withShadow: false,
122
+ price: '10',
123
+ imageSrc: item.thumbnail,
124
+ asset: item,
125
+ action: null,
126
+ extraInformation: null,
127
+ i18n: rarityBadgeI18n,
128
+ hoverShadow: 'glow',
129
+ infoBadges: (_jsxs(_Fragment, { children: [_jsx(UpperBodyIcon, { fontSize: "small", titleAccess: "upper_body" }), _jsx(UnisexIcon, { fontSize: "small", titleAccess: "unisex" })] })),
130
+ bottomAction: (_jsx(Button, { variant: "contained", color: "primary", fullWidth: true, children: "BUY" }))
131
+ }
132
+ };
133
+ const StaticHoverNoExpansion = {
134
+ name: 'Static hover (disableInfoExpansion)',
135
+ args: {
136
+ withShadow: false,
137
+ price: '10',
138
+ imageSrc: item.thumbnail,
139
+ asset: item,
140
+ action: null,
141
+ extraInformation: null,
142
+ i18n: rarityBadgeI18n,
143
+ hoverShadow: 'glow',
144
+ disableInfoExpansion: true,
145
+ infoBadges: (_jsxs(_Fragment, { children: [_jsx(UpperBodyIcon, { fontSize: "small", titleAccess: "upper_body" }), _jsx(UnisexIcon, { fontSize: "small", titleAccess: "unisex" })] }))
146
+ }
147
+ };
148
+ const SubduedRarityNoPrice = {
149
+ name: 'Subdued rarity (no price)',
150
+ args: {
151
+ withShadow: false,
152
+ imageSrc: item.thumbnail,
153
+ asset: item,
154
+ action: null,
155
+ extraInformation: null,
156
+ i18n: rarityBadgeI18n,
157
+ subduedRarity: true,
158
+ hoverShadow: 'glow',
159
+ disableInfoExpansion: true,
160
+ infoBadges: (_jsxs(_Fragment, { children: [_jsx(UpperBodyIcon, { fontSize: "small", titleAccess: "upper_body" }), _jsx(UnisexIcon, { fontSize: "small", titleAccess: "unisex" })] }))
161
+ }
162
+ };
163
+ const peerThumbnail = (urn) => `https://peer.decentraland.org/lambdas/collections/contents/${urn}/thumbnail`;
164
+ const EMOTE_FIXTURES = [
165
+ {
166
+ name: 'Building Castles in the Sky',
167
+ urn: 'urn:decentraland:matic:collections-v2:0xedabe0283a5f87c2ca3d9a6326781c9125d6e556:0',
168
+ rarity: Rarity.MYTHIC,
169
+ creator: '0x4a6767c70796be741453cc6b74f0567eb886614d'
170
+ },
171
+ {
172
+ name: 'Jack Frost Sad Boi',
173
+ urn: 'urn:decentraland:matic:collections-v2:0x1d30377fe076d67f573179a6800d5cff1d5b3187:0',
174
+ rarity: Rarity.LEGENDARY,
175
+ creator: '0xb5658530f22c1009e1b920fa657f6ce21564f974'
176
+ },
177
+ {
178
+ name: 'Say Hello, Friend',
179
+ urn: 'urn:decentraland:matic:collections-v2:0x145d8f54194283a6ae71ad4316040d4c13633194:1',
180
+ rarity: Rarity.EPIC,
181
+ creator: '0x9990a41efb8a6176199ee2676cf08f5424adf0fd'
182
+ }
183
+ ];
184
+ const WEARABLE_FIXTURES = [
185
+ {
186
+ name: 'Grill Angel',
187
+ urn: 'urn:decentraland:matic:collections-v2:0x7dd2c14796d6a411439f3ed465071fb1626084a8:0',
188
+ rarity: Rarity.LEGENDARY,
189
+ creator: '0xdb760099f0f3359131e08716848f23c014d35b9e'
190
+ },
191
+ {
192
+ name: 'Calaca Headphones',
193
+ urn: 'urn:decentraland:matic:collections-v2:0x6bcc21bc566ca5359fc79bdea1b41c9aacc75bbe:1',
194
+ rarity: Rarity.EPIC,
195
+ creator: '0x8b4221b34efeb8f4ba874cf07d7f6c456c5cc347'
196
+ },
197
+ {
198
+ name: 'Sneakers Viva La Calaca',
199
+ urn: 'urn:decentraland:matic:collections-v2:0x4fde0297c458e7a0bc35f07c015f322ca31b459e:1',
200
+ rarity: Rarity.RARE,
201
+ creator: '0x8b4221b34efeb8f4ba874cf07d7f6c456c5cc347'
202
+ }
203
+ ];
204
+ const renderHoverPreviewGrid = (fixtures) => (_jsx(AssetPreviewPlayerProvider, { enabled: true, children: _jsx(Box, { display: "flex", gap: 2, children: fixtures.map(fixture => (_jsx(CatalogCard, { asset: {
205
+ id: fixture.urn,
206
+ url: '/',
207
+ name: fixture.name,
208
+ rarity: fixture.rarity,
209
+ network: Network.MATIC,
210
+ creator: fixture.creator
211
+ }, imageSrc: peerThumbnail(fixture.urn), action: null, extraInformation: null, notForSale: false, withShadow: false, price: "10", i18n: rarityBadgeI18n, subduedRarity: true, hoverShadow: "glow", hoverPreviewUrn: fixture.urn }, fixture.urn))) }) }));
212
+ const EmotePlayOnHover = {
213
+ name: 'Emotes: avatar plays them on hover',
214
+ render: () => renderHoverPreviewGrid(EMOTE_FIXTURES)
215
+ };
216
+ const WearableTryOnHover = {
217
+ name: 'Wearables: avatar wears them on hover',
218
+ render: () => renderHoverPreviewGrid(WEARABLE_FIXTURES)
219
+ };
77
220
  // eslint-disable-next-line import/no-default-export
78
221
  export default meta;
79
- export { Default };
222
+ export { Default, EmotePlayOnHover, StaticHoverNoExpansion, SubduedRarityNoPrice, WearableTryOnHover, WithBottomActionAndInfoBadges, WithInfoBadges, WithInfoBadgesBaseFemale, WithInfoBadgesBaseMale };
80
223
  //# sourceMappingURL=CatalogCard.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogCard.stories.js","sourceRoot":"","sources":["../../../src/components/CatalogCard/CatalogCard.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAIzE,MAAM,IAAI,GAA2B;IACnC,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,oCAAoC;IAC3C,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;KACnB;IACD,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,WAAW,EAAE,oCAAoC;YACjD,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,IAAI;SACnB;QACD,KAAK,EAAE;YACL,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,IAAI;SACnB;QACD,MAAM,EAAE;YACN,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,UAAU;SACzB;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,IAAI,CAAC,SAAS;SAC7B;QACD,KAAK,EAAE;YACL,WAAW,EAAE,0DAA0D;YACvE,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,IAAI;SACnB;QACD,MAAM,EAAE;YACN,WAAW,EAAE,0CAA0C;YACvD,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,2BAA2B;SAC1C;QACD,UAAU,EAAE;YACV,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SACzB;QACD,gBAAgB,EAAE;YAChB,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SACzB;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,6BAA6B;YAC1C,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,eAAe;SAC9B;KACF;IACD,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,KAAC,WAAW,OAAK,IAAI,GAAI;CAC1C,CAAA;AAID,MAAM,OAAO,GAAU;IACrB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE;QACJ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,2BAA2B;QACnC,UAAU,EAAE,KAAC,QAAQ,IAAC,QAAQ,EAAC,OAAO,GAAG;QACzC,gBAAgB,EAAE,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,0BAAuB;QACpE,IAAI,EAAE,eAAe;KACtB;CACF,CAAA;AAED,oDAAoD;AACpD,eAAe,IAAI,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"CatalogCard.stories.js","sourceRoot":"","sources":["../../../src/components/CatalogCard/CatalogCard.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC3F,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAIzE,MAAM,IAAI,GAA2B;IACnC,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,oCAAoC;IAC3C,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;KACnB;IACD,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,WAAW,EAAE,oCAAoC;YACjD,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,IAAI;SACnB;QACD,KAAK,EAAE;YACL,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,IAAI;SACnB;QACD,MAAM,EAAE;YACN,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,UAAU;SACzB;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,IAAI,CAAC,SAAS;SAC7B;QACD,KAAK,EAAE;YACL,WAAW,EAAE,0DAA0D;YACvE,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,IAAI;SACnB;QACD,MAAM,EAAE;YACN,WAAW,EAAE,0CAA0C;YACvD,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,2BAA2B;SAC1C;QACD,UAAU,EAAE;YACV,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SACzB;QACD,gBAAgB,EAAE;YAChB,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SACzB;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,6BAA6B;YAC1C,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,eAAe;SAC9B;KACF;IACD,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,KAAC,WAAW,OAAK,IAAI,GAAI;CAC1C,CAAA;AAID,MAAM,OAAO,GAAU;IACrB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE;QACJ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,2BAA2B;QACnC,UAAU,EAAE,KAAC,QAAQ,IAAC,QAAQ,EAAC,OAAO,GAAG;QACzC,gBAAgB,EAAE,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,0BAAuB;QACpE,IAAI,EAAE,eAAe;KACtB;CACF,CAAA;AAED,MAAM,cAAc,GAAU;IAC5B,IAAI,EAAE,0CAA0C;IAChD,IAAI,EAAE;QACJ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,CACV,8BACE,KAAC,aAAa,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,YAAY,GAAG,EAC3D,KAAC,UAAU,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,QAAQ,GAAG,IACnD,CACJ;KACF;CACF,CAAA;AAED,MAAM,sBAAsB,GAAU;IACpC,IAAI,EAAE,mCAAmC;IACzC,IAAI,EAAE;QACJ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,CACV,8BACE,KAAC,aAAa,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,YAAY,GAAG,EAC3D,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,UAAU,GAAG,IACvD,CACJ;KACF;CACF,CAAA;AAED,MAAM,wBAAwB,GAAU;IACtC,IAAI,EAAE,qCAAqC;IAC3C,IAAI,EAAE;QACJ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,CACV,8BACE,KAAC,aAAa,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,YAAY,GAAG,EAC3D,KAAC,cAAc,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,YAAY,GAAG,IAC3D,CACJ;KACF;CACF,CAAA;AAED,MAAM,6BAA6B,GAAU;IAC3C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE;QACJ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,CACV,8BACE,KAAC,aAAa,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,YAAY,GAAG,EAC3D,KAAC,UAAU,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,QAAQ,GAAG,IACnD,CACJ;QACD,YAAY,EAAE,CACZ,KAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,0BAE5C,CACV;KACF;CACF,CAAA;AAED,MAAM,sBAAsB,GAAU;IACpC,IAAI,EAAE,qCAAqC;IAC3C,IAAI,EAAE;QACJ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,MAAM;QACnB,oBAAoB,EAAE,IAAI;QAC1B,UAAU,EAAE,CACV,8BACE,KAAC,aAAa,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,YAAY,GAAG,EAC3D,KAAC,UAAU,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,QAAQ,GAAG,IACnD,CACJ;KACF;CACF,CAAA;AAED,MAAM,oBAAoB,GAAU;IAClC,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE;QACJ,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,eAAe;QACrB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,MAAM;QACnB,oBAAoB,EAAE,IAAI;QAC1B,UAAU,EAAE,CACV,8BACE,KAAC,aAAa,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,YAAY,GAAG,EAC3D,KAAC,UAAU,IAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,QAAQ,GAAG,IACnD,CACJ;KACF;CACF,CAAA;AAYD,MAAM,aAAa,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,8DAA8D,GAAG,YAAY,CAAA;AAE5H,MAAM,cAAc,GAAqB;IACvC;QACE,IAAI,EAAE,6BAA6B;QACnC,GAAG,EAAE,oFAAoF;QACzF,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,4CAA4C;KACtD;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,GAAG,EAAE,oFAAoF;QACzF,MAAM,EAAE,MAAM,CAAC,SAAS;QACxB,OAAO,EAAE,4CAA4C;KACtD;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,GAAG,EAAE,oFAAoF;QACzF,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,OAAO,EAAE,4CAA4C;KACtD;CACF,CAAA;AAED,MAAM,iBAAiB,GAAqB;IAC1C;QACE,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,oFAAoF;QACzF,MAAM,EAAE,MAAM,CAAC,SAAS;QACxB,OAAO,EAAE,4CAA4C;KACtD;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,GAAG,EAAE,oFAAoF;QACzF,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,OAAO,EAAE,4CAA4C;KACtD;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,GAAG,EAAE,oFAAoF;QACzF,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,OAAO,EAAE,4CAA4C;KACtD;CACF,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,QAA0B,EAAE,EAAE,CAAC,CAC7D,KAAC,0BAA0B,IAAC,OAAO,kBACjC,KAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,GAAG,EAAE,CAAC,YACvB,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CACvB,KAAC,WAAW,IAEV,KAAK,EAAE;gBACL,EAAE,EAAE,OAAO,CAAC,GAAG;gBACf,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,KAAK;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,EACD,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EACpC,MAAM,EAAE,IAAI,EACZ,gBAAgB,EAAE,IAAI,EACtB,UAAU,EAAE,KAAK,EACjB,UAAU,EAAE,KAAK,EACjB,KAAK,EAAC,IAAI,EACV,IAAI,EAAE,eAAe,EACrB,aAAa,QACb,WAAW,EAAC,MAAM,EAClB,eAAe,EAAE,OAAO,CAAC,GAAG,IAlBvB,OAAO,CAAC,GAAG,CAmBhB,CACH,CAAC,GACE,GACqB,CAC9B,CAAA;AAED,MAAM,gBAAgB,GAAU;IAC9B,IAAI,EAAE,oCAAoC;IAC1C,MAAM,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,cAAc,CAAC;CACrD,CAAA;AAED,MAAM,kBAAkB,GAAU;IAChC,IAAI,EAAE,uCAAuC;IAC7C,MAAM,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,iBAAiB,CAAC;CACxD,CAAA;AAED,oDAAoD;AACpD,eAAe,IAAI,CAAA;AACnB,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACvB,CAAA"}
@@ -1,7 +1,9 @@
1
+ import { Rarity } from '@dcl/schemas';
2
+ import { Theme } from '@mui/material';
1
3
  import { CatalogCardProps } from './CatalogCard.types';
2
4
  declare const AssetImageContainer: import("@emotion/styled").StyledComponent<{
3
5
  name: string;
4
- rarity: import("@dcl/schemas").Rarity;
6
+ rarity: Rarity;
5
7
  src: string;
6
8
  } & import("react").HTMLAttributes<HTMLDivElement> & {
7
9
  theme?: import("@emotion/react").Theme;
@@ -11,9 +13,9 @@ declare const CardContentContainer: import("@emotion/styled").StyledComponent<im
11
13
  }, "className" | "style" | "classes" | "children" | "sx"> & {
12
14
  theme?: import("@emotion/react").Theme;
13
15
  }, {}, {}>;
14
- declare const AssetHeaderContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
16
+ declare const AssetHeaderContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
15
17
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
16
- }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
18
+ }, keyof import("@mui/system").BoxOwnProps<Theme>> & {
17
19
  theme?: import("@emotion/react").Theme;
18
20
  }, {}, {}>;
19
21
  declare const AssetTitle: import("@emotion/styled").StyledComponent<import("@mui/material").TypographyOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
@@ -24,24 +26,67 @@ declare const AssetTitle: import("@emotion/styled").StyledComponent<import("@mui
24
26
  declare const AssetAddress: import("@emotion/styled").StyledComponent<import("../Address/Address.types").AddressProps & {
25
27
  theme?: import("@emotion/react").Theme;
26
28
  }, {}, {}>;
27
- declare const CatalogItemInformationContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
29
+ declare const CatalogItemInformationContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
28
30
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
29
- }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
31
+ }, keyof import("@mui/system").BoxOwnProps<Theme>> & {
30
32
  theme?: import("@emotion/react").Theme;
31
33
  }, {}, {}>;
32
- declare const CatalogCardPriceContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
34
+ declare const CatalogItemInformationContent: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
33
35
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
34
- }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
36
+ }, keyof import("@mui/system").BoxOwnProps<Theme>> & {
35
37
  theme?: import("@emotion/react").Theme;
36
38
  }, {}, {}>;
37
- declare const ExtraInformationContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
39
+ declare const CatalogCardPriceContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
38
40
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
39
- }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
41
+ }, keyof import("@mui/system").BoxOwnProps<Theme>> & {
40
42
  theme?: import("@emotion/react").Theme;
41
43
  }, {}, {}>;
44
+ declare const PriceText: import("@emotion/styled").StyledComponent<import("@mui/material").TypographyOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
45
+ ref?: ((instance: HTMLSpanElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLSpanElement> | null | undefined;
46
+ }, "typography" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxShadow" | "boxSizing" | "color" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "visibility" | "whiteSpace" | "width" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "className" | "style" | "classes" | "children" | "sx" | "variant" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "displayPrint" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & {
47
+ theme?: import("@emotion/react").Theme;
48
+ }, {}, {}>;
49
+ declare const ExtraInformationContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
50
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
51
+ }, keyof import("@mui/system").BoxOwnProps<Theme>> & {
52
+ theme?: import("@emotion/react").Theme;
53
+ }, {}, {}>;
54
+ declare const ExtraInformationContent: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
55
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
56
+ }, keyof import("@mui/system").BoxOwnProps<Theme>> & {
57
+ theme?: import("@emotion/react").Theme;
58
+ }, {}, {}>;
59
+ declare const BottomActionContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
60
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
61
+ }, keyof import("@mui/system").BoxOwnProps<Theme>> & {
62
+ theme?: import("@emotion/react").Theme;
63
+ }, {}, {}>;
64
+ declare const RarityBadgeSlot: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
65
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
66
+ }, keyof import("@mui/system").BoxOwnProps<Theme>> & {
67
+ theme?: import("@emotion/react").Theme;
68
+ }, {}, {}>;
69
+ declare const CatalogRarityChip: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
70
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
71
+ }, keyof import("@mui/system").BoxOwnProps<Theme>> & {
72
+ theme?: import("@emotion/react").Theme;
73
+ } & {
74
+ rarity: Rarity;
75
+ }, {}, {}>;
76
+ declare const BadgeRow: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
77
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
78
+ }, keyof import("@mui/system").BoxOwnProps<Theme>> & {
79
+ theme?: import("@emotion/react").Theme;
80
+ }, {}, {}>;
81
+ declare const InfoBadgesContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
82
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
83
+ }, keyof import("@mui/system").BoxOwnProps<Theme>> & {
84
+ theme?: import("@emotion/react").Theme;
85
+ }, {}, {}>;
86
+ type ContainerProps = Pick<CatalogCardProps, 'withShadow' | 'hideRarityOnHover' | 'hoverShadow' | 'disableInfoExpansion'>;
42
87
  declare const CatalogCardContainer: import("@emotion/styled").StyledComponent<import("@mui/material").CardOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
43
88
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
44
89
  }, "elevation" | "className" | "style" | "classes" | "children" | "square" | "sx" | "variant" | "raised"> & {
45
90
  theme?: import("@emotion/react").Theme;
46
- } & Pick<CatalogCardProps, "withShadow">, {}, {}>;
47
- export { CatalogCardContainer, AssetImageContainer, CatalogCardPriceContainer, AssetHeaderContainer, CardContentContainer, AssetAddress, AssetTitle, ExtraInformationContainer, CatalogItemInformationContainer };
91
+ } & ContainerProps, {}, {}>;
92
+ export { CatalogCardContainer, AssetImageContainer, CatalogCardPriceContainer, PriceText, AssetHeaderContainer, CardContentContainer, AssetAddress, AssetTitle, BadgeRow, BottomActionContainer, CatalogRarityChip, ExtraInformationContainer, ExtraInformationContent, CatalogItemInformationContainer, CatalogItemInformationContent, InfoBadgesContainer, RarityBadgeSlot };
@@ -1,22 +1,46 @@
1
+ import { Rarity } from '@dcl/schemas';
1
2
  import styled from '@emotion/styled';
2
3
  import { Box, Card, CardContent, Typography } from '@mui/material';
3
4
  import { Address } from '../../components/Address';
5
+ import { neutral } from '../../theme/colors';
4
6
  import { hexToRgba } from '../../utils/colors';
5
7
  import { AssetImage } from '../AssetImage';
6
- const AssetImageContainer = styled(AssetImage)(({ theme }) => ({
7
- borderRadius: `${theme.spacing(1)} ${theme.spacing(1)} 0 0`,
8
- height: theme.spacing(26),
9
- transition: 'height 0.3s ease-in-out',
10
- [theme.breakpoints.down('sm')]: {
11
- height: theme.spacing(15)
8
+ // Figma 94:36542 (MarketplaceCards) flat rarity surface (replaces the legacy radial
9
+ // gradient) with the thumbnail rendered as a fixed centered square and a soft drop shadow.
10
+ // The image area flexes inside the fixed-height card: it absorbs whatever vertical space
11
+ // the info section below doesn't need, so hover-revealed rows (bottomAction / action /
12
+ // extraInformation) shrink the image by EXACTLY their own height — no fixed jump, and no
13
+ // shrink at all when the card has nothing to reveal.
14
+ const AssetImageContainer = styled(AssetImage)(({ rarity }) => ({
15
+ borderRadius: '12px 12px 0 0',
16
+ backgroundImage: 'none',
17
+ backgroundColor: Rarity.getColor(rarity),
18
+ flex: '1 1 auto',
19
+ minHeight: 0,
20
+ height: 'auto',
21
+ '& img': {
22
+ width: '68%',
23
+ height: '68%',
24
+ objectFit: 'contain',
25
+ filter: 'drop-shadow(1px 4px 5px rgba(0, 0, 0, 0.10))'
12
26
  }
13
27
  }));
14
28
  const CardContentContainer = styled(CardContent)(({ theme }) => ({
15
29
  display: 'flex',
16
- flex: 1,
30
+ // Natural height: the section grows only when hover reveals extra rows, and the
31
+ // flexing image above gives up exactly that space (the card keeps its fixed height).
32
+ flex: '0 0 auto',
17
33
  flexDirection: 'column',
18
34
  flexFlow: 'column nowrap',
19
35
  alignItems: 'flex-start',
36
+ // Figma 94:36542 Info section — translucent black over the page bg, hairline gray-2
37
+ // border on the three open sides and 12px bottom rounding.
38
+ backgroundColor: 'rgba(0, 0, 0, 0.4)',
39
+ border: `1px solid ${neutral.gray2}`,
40
+ borderTop: 'none',
41
+ borderRadius: '0 0 12px 12px',
42
+ // Keep gap tight — specific separations (e.g. price→rarity) are applied as margins
43
+ // on the target element rather than via the container gap.
20
44
  gap: theme.spacing(0.25),
21
45
  minHeight: theme.spacing(20)
22
46
  }));
@@ -29,29 +53,46 @@ const AssetHeaderContainer = styled(Box)({
29
53
  textOverflow: 'ellipsis',
30
54
  maxWidth: '100%'
31
55
  });
56
+ // Figma 94:36542 — Inter SemiBold 14, line 1.57, soft white
32
57
  const AssetTitle = styled(Typography)({
33
58
  fontWeight: 600,
59
+ fontSize: 14,
60
+ lineHeight: 1.57,
61
+ color: neutral.softWhite,
34
62
  textOverflow: 'ellipsis',
35
63
  overflow: 'hidden',
36
64
  whiteSpace: 'nowrap',
37
65
  maxWidth: '100%'
38
66
  });
39
- const AssetAddress = styled(Address)(({ theme }) => ({
40
- fontSize: theme.typography.body2.fontSize,
41
- fontWeight: theme.typography.body2.fontWeight,
42
- lineHeight: theme.typography.body2.lineHeight,
43
- color: theme.palette.text.secondary
44
- }));
45
- const CatalogItemInformationContainer = styled(Box)(({ theme }) => ({
46
- flex: 1,
67
+ // Figma 94:36542 "By <creator>" row: Inter Regular 12, gray-2
68
+ const AssetAddress = styled(Address)({
69
+ fontSize: 12,
70
+ fontWeight: 400,
71
+ lineHeight: 1.43,
72
+ color: neutral.gray2
73
+ });
74
+ // Hover-revealed rows share one mechanic: a grid track animating 0fr → 1fr. The track
75
+ // height IS the row's natural height, so the image shrink always matches the revealed
76
+ // content — and the reveal animates smoothly without hardcoding any height.
77
+ // Below `sm` (touch) the action/extra rows are always visible, as before.
78
+ const hoverRevealRowStyles = (theme) => ({
79
+ width: '100%',
80
+ [theme.breakpoints.up('sm')]: {
81
+ display: 'grid',
82
+ gridTemplateRows: '0fr',
83
+ opacity: 0,
84
+ pointerEvents: 'none',
85
+ transition: 'grid-template-rows 0.3s ease-in-out, opacity 0.3s ease-in-out'
86
+ }
87
+ });
88
+ const CatalogItemInformationContainer = styled(Box)(({ theme }) => hoverRevealRowStyles(theme));
89
+ const CatalogItemInformationContent = styled(Box)(({ theme }) => ({
47
90
  display: 'flex',
48
91
  alignItems: 'center',
49
92
  gap: theme.spacing(0.5),
50
93
  [theme.breakpoints.up('sm')]: {
51
- height: theme.spacing(0),
52
- opacity: 0,
53
94
  overflow: 'hidden',
54
- transition: 'height 0.1s ease-in-out, opacity 0.6s ease-in-out'
95
+ minHeight: 0
55
96
  }
56
97
  }));
57
98
  const CatalogCardPriceContainer = styled(Box)({
@@ -59,44 +100,138 @@ const CatalogCardPriceContainer = styled(Box)({
59
100
  display: 'flex',
60
101
  alignItems: 'center'
61
102
  });
62
- const ExtraInformationContainer = styled(Box)(({ theme }) => ({
63
- flex: 1,
103
+ // Figma 94:36542 price value: Inter SemiBold ~21, white
104
+ const PriceText = styled(Typography)({
105
+ fontSize: 20,
106
+ fontWeight: 600,
107
+ lineHeight: 'normal'
108
+ });
109
+ const ExtraInformationContainer = styled(Box)(({ theme }) => hoverRevealRowStyles(theme));
110
+ const ExtraInformationContent = styled(Box)(({ theme }) => ({
64
111
  [theme.breakpoints.up('sm')]: {
65
- height: theme.spacing(0),
66
- opacity: 0,
67
112
  overflow: 'hidden',
68
- transition: 'height 0.1s ease-in-out, opacity 0.6s ease-in-out'
113
+ minHeight: 0
69
114
  }
70
115
  }));
71
- const CatalogCardContainer = styled(Card)(({ theme, withShadow }) => ({
72
- height: theme.spacing(45),
73
- transition: 'transform 0.1s ease-in-out, box-shadow 0.3s ease-in-out, height 0.1s ease-in-out',
74
- borderRadius: theme.spacing(1),
75
- width: theme.spacing(36),
76
- maxWidth: '100%',
77
- position: 'relative',
116
+ // Slides in from the card's bottom edge on hover and rests over the badge-row slot —
117
+ // the badge row fades out underneath, so the action never ADDS height (the image above
118
+ // stays put). Hidden at every breakpoint when not hovered — touch devices simply never
119
+ // show it.
120
+ const BottomActionContainer = styled(Box)(({ theme }) => ({
121
+ position: 'absolute',
122
+ bottom: 0,
123
+ left: 0,
124
+ right: 0,
125
+ // Side gutters match the CardContent 16px padding; the bottom one sets where the
126
+ // slide-in rests (over the badge row slot).
127
+ padding: theme.spacing(0, 2, 2),
128
+ opacity: 0,
129
+ transform: 'translateY(100%)',
130
+ transition: 'opacity 0.3s ease-in-out, transform 0.3s ease-in-out',
131
+ pointerEvents: 'none'
132
+ }));
133
+ const RarityBadgeSlot = styled(Box)({
78
134
  display: 'flex',
79
- flexDirection: 'column',
80
- padding: 0,
81
- overflow: 'hidden',
82
- '&:hover': {
83
- transition: 'transform 0.1s ease-in-out, box-shadow 0.3s ease-in-out, height 0.3s ease-in-out',
84
- height: theme.spacing(46),
85
- padding: theme.spacing(0),
86
- borderRadius: theme.spacing(1),
87
- boxShadow: withShadow
88
- ? `0px 0px 20px 6px ${hexToRgba(theme.palette.mode === 'dark' ? theme.palette.common.white : theme.palette.common.black, 0.37)}`
89
- : 'none',
90
- [`${ExtraInformationContainer}, ${CatalogItemInformationContainer}`]: {
91
- height: 'auto',
92
- opacity: 1,
93
- transition: 'height 0.3s ease-in-out, opacity 0.6s ease-in-out'
94
- },
95
- [`${AssetImageContainer}`]: {
96
- height: theme.spacing(20),
97
- transition: 'height 0.1s ease-in-out'
98
- }
99
- }
135
+ transition: 'opacity 0.2s ease-in-out'
136
+ });
137
+ // Figma marketplace-card spec — subdued rarity chip rendered on the dark info area
138
+ // (canonical rarity hue at 30% alpha, light hue text). The canonical hex per rarity is
139
+ // owned by `@dcl/schemas.Rarity.getColor` / `getGradient`; we derive the chip surface
140
+ // from those so the ui2 palette stays in sync with the schemas source of truth.
141
+ const CatalogRarityChip = styled(Box)(({ rarity }) => {
142
+ const baseHex = Rarity.getColor(rarity);
143
+ const [lightHex] = Rarity.getGradient(rarity);
144
+ return {
145
+ display: 'inline-flex',
146
+ alignItems: 'center',
147
+ borderRadius: 4,
148
+ padding: '2px 6px',
149
+ textTransform: 'uppercase',
150
+ fontFamily: '"Inter", sans-serif',
151
+ fontWeight: 400,
152
+ fontSize: 10.55,
153
+ lineHeight: '14.6px',
154
+ letterSpacing: 0,
155
+ whiteSpace: 'nowrap',
156
+ backgroundColor: hexToRgba(baseHex, 0.3),
157
+ color: lightHex
158
+ };
159
+ });
160
+ const BadgeRow = styled(Box)(({ theme }) => ({
161
+ display: 'flex',
162
+ alignItems: 'center',
163
+ gap: theme.spacing(1),
164
+ flexWrap: 'wrap',
165
+ // Anchor the badges to the bottom of the info area: when the card has no price the
166
+ // auto margin absorbs the free space, so the title block keeps its position instead
167
+ // of everything cramming together at the top. The padding keeps an 8px minimum
168
+ // separation from whatever sits above (price row / title).
169
+ marginTop: 'auto',
170
+ paddingTop: theme.spacing(1),
171
+ transition: 'opacity 0.2s ease-in-out'
100
172
  }));
101
- export { CatalogCardContainer, AssetImageContainer, CatalogCardPriceContainer, AssetHeaderContainer, CardContentContainer, AssetAddress, AssetTitle, ExtraInformationContainer, CatalogItemInformationContainer };
173
+ const InfoBadgesContainer = styled(Box)(({ theme }) => ({
174
+ display: 'flex',
175
+ alignItems: 'center',
176
+ gap: theme.spacing(0.75),
177
+ color: theme.palette.text.secondary
178
+ }));
179
+ const CatalogCardContainer = styled(Card, {
180
+ shouldForwardProp: prop => prop !== 'withShadow' && prop !== 'hideRarityOnHover' && prop !== 'hoverShadow' && prop !== 'disableInfoExpansion'
181
+ })(({ theme, withShadow, hideRarityOnHover, hoverShadow, disableInfoExpansion }) => {
182
+ const glow = hoverShadow === 'glow';
183
+ // data-role selectors don't depend on `@emotion/babel-plugin` running on this file,
184
+ // so they survive any consumer bundler setup (see ui2 CLAUDE.md §4).
185
+ const revealOnHover = disableInfoExpansion
186
+ ? {}
187
+ : {
188
+ '& [data-role="catalog-card-reveal"]': {
189
+ gridTemplateRows: '1fr',
190
+ opacity: 1
191
+ },
192
+ // The action slides up from the card's bottom edge and covers the badge-row
193
+ // slot; the badge row fades out underneath (the attribute is only present on
194
+ // cards that actually carry a bottomAction).
195
+ '& [data-role="catalog-card-bottom-action"]': {
196
+ opacity: 1,
197
+ transform: 'translateY(0)',
198
+ pointerEvents: 'auto'
199
+ },
200
+ '& [data-role="catalog-card-badge-row"]': {
201
+ opacity: 0
202
+ }
203
+ };
204
+ return {
205
+ // The card height never changes — hover redistributes space between the flexing
206
+ // image and the growing info section instead of growing the card.
207
+ height: theme.spacing(45),
208
+ transition: 'transform 0.2s ease-in-out, box-shadow 0.3s ease-in-out',
209
+ // Figma 94:36542 — 12px rounding and a transparent card body: the image section paints
210
+ // the flat rarity color and the info section its own translucent black, so the page
211
+ // background shows through the hairline border corners.
212
+ borderRadius: 12,
213
+ backgroundColor: 'transparent',
214
+ backgroundImage: 'none',
215
+ boxShadow: 'none',
216
+ width: theme.spacing(36),
217
+ maxWidth: '100%',
218
+ position: 'relative',
219
+ display: 'flex',
220
+ flexDirection: 'column',
221
+ padding: 0,
222
+ overflow: 'hidden',
223
+ '&:hover': {
224
+ transform: glow ? 'translateY(-4px)' : 'none',
225
+ backgroundColor: glow ? 'rgba(255, 255, 255, 0.02)' : 'transparent',
226
+ boxShadow: glow
227
+ ? '0px 2px 12px 12px rgba(255, 255, 255, 0.3)'
228
+ : withShadow
229
+ ? `0px 0px 20px 6px ${hexToRgba(theme.palette.mode === 'dark' ? theme.palette.common.white : theme.palette.common.black, 0.37)}`
230
+ : 'none',
231
+ ...revealOnHover,
232
+ '& [data-role="catalog-card-rarity"]': hideRarityOnHover ? { opacity: 0 } : {}
233
+ }
234
+ };
235
+ });
236
+ export { CatalogCardContainer, AssetImageContainer, CatalogCardPriceContainer, PriceText, AssetHeaderContainer, CardContentContainer, AssetAddress, AssetTitle, BadgeRow, BottomActionContainer, CatalogRarityChip, ExtraInformationContainer, ExtraInformationContent, CatalogItemInformationContainer, CatalogItemInformationContent, InfoBadgesContainer, RarityBadgeSlot };
102
237
  //# sourceMappingURL=CatalogCard.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogCard.styled.js","sourceRoot":"","sources":["../../../src/components/CatalogCard/CatalogCard.styled.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CatalogCard.styled.js","sourceRoot":"","sources":["../../../src/components/CatalogCard/CatalogCard.styled.ts"],"names":[],"mappings":"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"}
@@ -11,5 +11,21 @@ type CatalogCardProps = {
11
11
  price?: string;
12
12
  owners?: string;
13
13
  i18n?: RarityBadgeI18N;
14
+ /** Replaces the default `<AssetAddress>` below the title. Pass `null` to hide it entirely. */
15
+ creatorSlot?: React.ReactNode;
16
+ /** Fade out the RarityBadge while the card is hovered (lets `bottomAction` take its visual slot). */
17
+ hideRarityOnHover?: boolean;
18
+ /** Shadow style on hover. `'glow'` uses the whats-on Live/Upcoming spotlight; `'default'` keeps the legacy depth shadow. */
19
+ hoverShadow?: 'default' | 'glow';
20
+ /** Full-width block revealed at the bottom of the card on hover (e.g. a "BUY" button). */
21
+ bottomAction?: React.ReactNode;
22
+ /** Always-visible badges rendered next to the RarityBadge (e.g. wearable category + body shape icons). */
23
+ infoBadges?: React.ReactNode;
24
+ /** When true, skips the hover reveal of `ExtraInformationContainer` / `CatalogItemInformationContainer` / `bottomAction` so the card visuals stay static. Useful when the card itself is the action target and no `bottomAction` needs room. */
25
+ disableInfoExpansion?: boolean;
26
+ /** When true, renders the rarity tag as a subdued pastel chip (rgba bg + light text) instead of the default solid `<RarityBadge>`. Matches the Figma marketplace-card spec for profile/equipped contexts. Opt-in to avoid touching every existing consumer. */
27
+ subduedRarity?: boolean;
28
+ /** URN of the asset to preview on hover: emotes are played by the avatar, wearables are shown worn by it. Requires an `<AssetPreviewPlayerProvider enabled>` above; without one (or on touch devices) the card stays static. */
29
+ hoverPreviewUrn?: string;
14
30
  };
15
31
  export { CatalogCardProps };
@@ -1,11 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { Typography } from '@mui/material';
4
3
  import { Mana } from '../../components/Mana';
5
- import { CatalogCardPriceContainer } from './CatalogCard.styled';
4
+ import { CatalogCardPriceContainer, PriceText } from './CatalogCard.styled';
6
5
  const CatalogCardPrice = React.memo((props) => {
7
6
  const { price, asset } = props;
8
- return (_jsxs(CatalogCardPriceContainer, { children: [_jsx(Mana, { size: "large", network: asset.network }), _jsx(Typography, { variant: "h4", children: price })] }));
7
+ return (_jsxs(CatalogCardPriceContainer, { children: [_jsx(Mana, { size: "large", network: asset.network }), _jsx(PriceText, { variant: "h4", children: price })] }));
9
8
  });
10
9
  export { CatalogCardPrice };
11
10
  //# sourceMappingURL=CatalogCardPrice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogCardPrice.js","sourceRoot":"","sources":["../../../src/components/CatalogCard/CatalogCardPrice.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAEhE,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAgD,EAAE,EAAE;IACvF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAC9B,OAAO,CACL,MAAC,yBAAyB,eACxB,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,EAC7C,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,YAAE,KAAK,GAAc,IACnB,CAC7B,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"CatalogCardPrice.js","sourceRoot":"","sources":["../../../src/components/CatalogCard/CatalogCardPrice.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAE3E,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAgD,EAAE,EAAE;IACvF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAC9B,OAAO,CACL,MAAC,yBAAyB,eACxB,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,EAC7C,KAAC,SAAS,IAAC,OAAO,EAAC,IAAI,YAAE,KAAK,GAAa,IACjB,CAC7B,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
package/dist/index.d.ts CHANGED
@@ -39,6 +39,7 @@ export * from './components/Footer';
39
39
  export * from './components/FooterLanding';
40
40
  export * from './components/LanguageDropdown';
41
41
  export * from './components/RarityBadge';
42
+ export * from './components/AssetPreviewPlayer';
42
43
  export * from './components/CatalogCard';
43
44
  export * from './components/CreditsToggle';
44
45
  export * from './components/SceneCard';
package/dist/index.js CHANGED
@@ -39,6 +39,7 @@ export * from './components/Footer';
39
39
  export * from './components/FooterLanding';
40
40
  export * from './components/LanguageDropdown';
41
41
  export * from './components/RarityBadge';
42
+ export * from './components/AssetPreviewPlayer';
42
43
  export * from './components/CatalogCard';
43
44
  export * from './components/CreditsToggle';
44
45
  export * from './components/SceneCard';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decentraland-ui2",
3
- "version": "3.12.0",
3
+ "version": "3.13.0",
4
4
  "description": "Decentraland's UI components and styles",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -117,5 +117,5 @@
117
117
  "url": "https://github.com/decentraland/ui2/issues"
118
118
  },
119
119
  "homepage": "https://github.com/decentraland/ui2#readme",
120
- "commit": "36fb039b96687c0482bce5a2a0aa53b1479ac0d5"
120
+ "commit": "0745c2a1c2dc06c2c8498e057b635c076203d8bf"
121
121
  }