@lockerverse/react 0.2.100 → 0.2.102
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/README.md +55 -18
- package/dist/auction-base.css +116 -0
- package/dist/auction-catalog.css +355 -0
- package/dist/auction-checkout.css +266 -0
- package/dist/auction-data.d.ts +16 -0
- package/dist/auction-data.d.ts.map +1 -0
- package/dist/auction-data.js +2 -0
- package/dist/auction-data.js.map +1 -0
- package/dist/auction-gallery.css +298 -0
- package/dist/auction-item-layout.css +298 -0
- package/dist/auction-item.css +4 -0
- package/dist/auction-item.d.ts +6 -0
- package/dist/auction-item.d.ts.map +1 -1
- package/dist/auction-item.js +1 -1
- package/dist/auction-item.js.map +1 -1
- package/dist/auction.css +2 -0
- package/dist/auction.d.ts +3 -0
- package/dist/auction.js +1 -0
- package/dist/auctions.css +5 -221
- package/dist/auctions.d.ts +6 -19
- package/dist/auctions.d.ts.map +1 -1
- package/dist/auctions.js +1 -1
- package/dist/auctions.js.map +1 -1
- package/dist/immutable-resource-identity.js.map +1 -1
- package/dist/lockerverse-auction-item-card.d.ts +47 -0
- package/dist/lockerverse-auction-item-card.d.ts.map +1 -0
- package/dist/lockerverse-auction.js +2 -0
- package/dist/lockerverse-auction.js.map +1 -0
- package/dist/lockerverse-payment.js +1 -1
- package/dist/lockerverse-payment.js.map +1 -1
- package/dist/phone.js +1 -1
- package/dist/signup.js +1 -1
- package/dist/signup.js.map +1 -1
- package/dist/use-auction-boundary.js +2 -0
- package/dist/use-auction-boundary.js.map +1 -0
- package/dist/use-lockerverse-auctions.d.ts +13 -0
- package/dist/use-lockerverse-auctions.d.ts.map +1 -0
- package/dist/use-lockerverse-auctions.js +2 -0
- package/dist/use-lockerverse-auctions.js.map +1 -0
- package/package.json +34 -3
- package/dist/format-money.js +0 -2
- package/dist/format-money.js.map +0 -1
package/README.md
CHANGED
|
@@ -328,6 +328,14 @@ Malformed host selections and invalid custom tips render customer-safe validatio
|
|
|
328
328
|
|
|
329
329
|
## Auctions
|
|
330
330
|
|
|
331
|
+
For a page containing one auction, use `LockerverseAuction` from
|
|
332
|
+
`@lockerverse/react/auction` and `@lockerverse/react/auction.css`. Its header,
|
|
333
|
+
filters, and lineup can be hidden independently; `renderItem` can keep the
|
|
334
|
+
built-in card or supply a custom card. See the [auction composition reference](https://sdk.lockerverse.com/react/auctions)
|
|
335
|
+
and [complete example](https://sdk.lockerverse.com/examples/auctions).
|
|
336
|
+
The [State Lab](https://sdk.lockerverse.com/examples/state-lab) provides visibly
|
|
337
|
+
labelled local simulations of bid uncertainty and purchase recovery.
|
|
338
|
+
|
|
331
339
|
Browse auctions and open the built-in item checkout. The catalog entry does not
|
|
332
340
|
load Stripe. The checkout entry uses the optional Stripe peers listed above.
|
|
333
341
|
Import `auctions.css` for both components. Built-in auction checkout accepts
|
|
@@ -347,27 +355,33 @@ export function AuctionPage() {
|
|
|
347
355
|
auction: LockerverseAuction;
|
|
348
356
|
itemId: string;
|
|
349
357
|
} | null>(null);
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
358
|
+
const [locked, setLocked] = useState(false);
|
|
359
|
+
const [message, setMessage] = useState("");
|
|
360
|
+
|
|
361
|
+
return <>
|
|
362
|
+
<div hidden={Boolean(selected)}>
|
|
363
|
+
<LockerverseAuctions
|
|
364
|
+
auctions={auctions}
|
|
365
|
+
onSelectItem={(auction, item) => {
|
|
366
|
+
if (!locked) setSelected({ auction, itemId: item.id });
|
|
367
|
+
}}
|
|
368
|
+
theme="light"
|
|
369
|
+
/>
|
|
370
|
+
</div>
|
|
371
|
+
{selected && <LockerverseAuctionItem
|
|
372
|
+
key={`${selected.auction.id}:${selected.itemId}`}
|
|
353
373
|
auction={selected.auction}
|
|
354
374
|
client={auctions.client}
|
|
355
375
|
itemId={selected.itemId}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
}}
|
|
362
|
-
theme="light"
|
|
363
|
-
/>
|
|
364
|
-
) : (
|
|
365
|
-
<LockerverseAuctions
|
|
366
|
-
auctions={auctions}
|
|
367
|
-
onSelectItem={(auction, item) => setSelected({ auction, itemId: item.id })}
|
|
376
|
+
onBack={locked ? undefined : () => setSelected(null)}
|
|
377
|
+
onInteractionLockChange={setLocked}
|
|
378
|
+
onBidSubmitted={() => { setMessage("Bid submitted; this is not a winning bid."); auctions.refresh(); }}
|
|
379
|
+
onPurchaseComplete={() => { setMessage("Payment complete."); auctions.refresh(); }}
|
|
380
|
+
onUncertain={(kind) => setMessage(`The ${kind} result is unknown. Keep this page open; do not submit another bid.`)}
|
|
368
381
|
theme="light"
|
|
369
|
-
/>
|
|
370
|
-
|
|
382
|
+
/>}
|
|
383
|
+
<p role="status">{message}</p>
|
|
384
|
+
</>;
|
|
371
385
|
}
|
|
372
386
|
```
|
|
373
387
|
|
|
@@ -389,7 +403,12 @@ the backend can reconcile Stripe status and send the purchase notification.
|
|
|
389
403
|
A `null` status lookup is not proof that an original in-flight request ended.
|
|
390
404
|
Any retry must keep the original `clientRequestId` and purchase details.
|
|
391
405
|
If a bid result is unknown, block a new bid and keep the support message visible.
|
|
392
|
-
|
|
406
|
+
Connect `onInteractionLockChange` to all host navigation, resource selectors, and
|
|
407
|
+
reset controls. A true lock covers submission and unresolved outcomes. Keep host
|
|
408
|
+
callback state above checkout. If checkout is unexpectedly removed after send,
|
|
409
|
+
known completion or uncertainty is still reported once for that operation;
|
|
410
|
+
no new Stripe action starts after unmount. Full page reload or browser shutdown
|
|
411
|
+
cannot guarantee callback delivery.
|
|
393
412
|
Never automatically retry a bid: the backend has no public bid recovery API.
|
|
394
413
|
|
|
395
414
|
For a host that needs recovery after navigation, connect
|
|
@@ -414,3 +433,21 @@ recovery in memory only and asks the customer to keep the page open.
|
|
|
414
433
|
|
|
415
434
|
The raw receipt endpoint returns amounts, not payment status. Do not use a
|
|
416
435
|
receipt response alone to show a payment as complete.
|
|
436
|
+
|
|
437
|
+
### Direct auction pages
|
|
438
|
+
|
|
439
|
+
Import `useLockerverseAuction` from `@lockerverse/react/auction-data` and call
|
|
440
|
+
`useLockerverseAuction({ communitySlug }, auctionSlug)` to load one auction.
|
|
441
|
+
This uses the detail endpoint; it never fetches the full community list.
|
|
442
|
+
Render `LockerverseAuction` from `@lockerverse/react/auction` with the result,
|
|
443
|
+
and import `@lockerverse/react/auction.css`. Use `auction-item` and its stylesheet
|
|
444
|
+
when opening built-in item details and checkout.
|
|
445
|
+
|
|
446
|
+
The singular hook returns `client`, `auction`, `loading`, `error`, and `refresh`.
|
|
447
|
+
Refresh retains the last good data. Keep checkout mounted across refresh and
|
|
448
|
+
errors. The item component applies new same-ID data while idle and preserves
|
|
449
|
+
its payment snapshot while payment is open. Connect `onInteractionLockChange`
|
|
450
|
+
to host navigation. Resource identity changes require a new React key.
|
|
451
|
+
|
|
452
|
+
[Complete direct-auction example](https://sdk.lockerverse.com/examples/auctions?community=lckrvrs-internal&auction=auction).
|
|
453
|
+
Built-in styled UI is the default for Lovable. There is no automatic headless switch.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/* Reference: lockerverse-web-app-next auction pages at 8ead019. */
|
|
2
|
+
.lockerverse-auctions {
|
|
3
|
+
--lockerverse-accent: #6f8f6d;
|
|
4
|
+
--lockerverse-bg: #050505;
|
|
5
|
+
--lockerverse-border: rgb(255 255 255 / 10%);
|
|
6
|
+
--lockerverse-control: #111216;
|
|
7
|
+
--lockerverse-muted: #bbb7c2;
|
|
8
|
+
--lockerverse-radius: 24px;
|
|
9
|
+
--lockerverse-text: #fff;
|
|
10
|
+
--lockerverse-font-family: ui-sans-serif, system-ui, sans-serif;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
width: 100%;
|
|
13
|
+
max-width: 1520px;
|
|
14
|
+
padding: 40px 32px;
|
|
15
|
+
margin-inline: auto;
|
|
16
|
+
container-type: inline-size;
|
|
17
|
+
font: 14px / 1.5 var(--lockerverse-font-family);
|
|
18
|
+
color: var(--lockerverse-text);
|
|
19
|
+
background: var(--lockerverse-bg);
|
|
20
|
+
border-radius: 0;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.lockerverse-auctions[data-lockerverse-theme="light"] {
|
|
24
|
+
--lockerverse-bg: #fff;
|
|
25
|
+
--lockerverse-border: rgb(18 20 22 / 14%);
|
|
26
|
+
--lockerverse-control: #f5f6f7;
|
|
27
|
+
--lockerverse-muted: rgb(18 20 22 / 64%);
|
|
28
|
+
--lockerverse-text: #121416;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.lockerverse-auctions * {
|
|
32
|
+
box-sizing: border-box;
|
|
33
|
+
}
|
|
34
|
+
.lockerverse-auctions h2 {
|
|
35
|
+
margin: 0;
|
|
36
|
+
font-size: 24px;
|
|
37
|
+
line-height: 1.25;
|
|
38
|
+
text-wrap: balance;
|
|
39
|
+
}
|
|
40
|
+
.lockerverse-auctions h3 {
|
|
41
|
+
margin: 0;
|
|
42
|
+
font-size: 19px;
|
|
43
|
+
line-height: 1.3;
|
|
44
|
+
overflow-wrap: anywhere;
|
|
45
|
+
}
|
|
46
|
+
.lockerverse-auctions p {
|
|
47
|
+
margin: 8px 0;
|
|
48
|
+
color: var(--lockerverse-muted);
|
|
49
|
+
overflow-wrap: anywhere;
|
|
50
|
+
white-space: pre-line;
|
|
51
|
+
}
|
|
52
|
+
.lockerverse-auctions button {
|
|
53
|
+
font-family: inherit;
|
|
54
|
+
touch-action: manipulation;
|
|
55
|
+
cursor: pointer;
|
|
56
|
+
}
|
|
57
|
+
.lockerverse-auctions button:hover {
|
|
58
|
+
border-color: var(--lockerverse-text);
|
|
59
|
+
}
|
|
60
|
+
.lockerverse-auctions button:focus-visible,
|
|
61
|
+
.lockerverse-auctions h2:focus-visible {
|
|
62
|
+
outline: 2px solid var(--lockerverse-accent);
|
|
63
|
+
outline-offset: 3px;
|
|
64
|
+
}
|
|
65
|
+
.lockerverse-auctions__description {
|
|
66
|
+
line-height: 2;
|
|
67
|
+
overflow-wrap: anywhere;
|
|
68
|
+
}
|
|
69
|
+
.lockerverse-auctions__description p {
|
|
70
|
+
color: inherit;
|
|
71
|
+
}
|
|
72
|
+
.lockerverse-auctions__description ul {
|
|
73
|
+
padding-left: 20px;
|
|
74
|
+
list-style: disc;
|
|
75
|
+
}
|
|
76
|
+
.lockerverse-auctions__description ol {
|
|
77
|
+
padding-left: 20px;
|
|
78
|
+
list-style: decimal;
|
|
79
|
+
}
|
|
80
|
+
.lockerverse-auctions__description li {
|
|
81
|
+
margin-block: 4px;
|
|
82
|
+
}
|
|
83
|
+
.lockerverse-auctions__description a {
|
|
84
|
+
color: inherit;
|
|
85
|
+
text-decoration: underline;
|
|
86
|
+
}
|
|
87
|
+
.lockerverse-auctions__description blockquote {
|
|
88
|
+
padding-left: 16px;
|
|
89
|
+
margin-inline: 0;
|
|
90
|
+
border-left: 2px solid currentColor;
|
|
91
|
+
}
|
|
92
|
+
.lockerverse-auctions__description pre {
|
|
93
|
+
overflow-x: auto;
|
|
94
|
+
}
|
|
95
|
+
.lockerverse-auctions__description-clamped {
|
|
96
|
+
display: -webkit-box;
|
|
97
|
+
-webkit-box-orient: vertical;
|
|
98
|
+
overflow: hidden;
|
|
99
|
+
-webkit-line-clamp: 4;
|
|
100
|
+
}
|
|
101
|
+
.lockerverse-auctions .lockerverse-auctions__description-toggle {
|
|
102
|
+
display: inline-flex;
|
|
103
|
+
gap: 8px;
|
|
104
|
+
align-items: center;
|
|
105
|
+
min-height: 32px;
|
|
106
|
+
padding: 6px 12px;
|
|
107
|
+
margin-top: 12px;
|
|
108
|
+
font-size: 10px;
|
|
109
|
+
font-weight: 500;
|
|
110
|
+
color: var(--lockerverse-text);
|
|
111
|
+
text-transform: uppercase;
|
|
112
|
+
letter-spacing: 0.14em;
|
|
113
|
+
background: var(--lockerverse-control);
|
|
114
|
+
border: 1px solid var(--lockerverse-border);
|
|
115
|
+
border-radius: 999px;
|
|
116
|
+
}
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
.lockerverse-auctions--catalog {
|
|
2
|
+
max-width: 1600px;
|
|
3
|
+
padding: 48px 24px;
|
|
4
|
+
margin-inline: auto;
|
|
5
|
+
container-type: inline-size;
|
|
6
|
+
background: var(--lockerverse-bg, #050505);
|
|
7
|
+
border-radius: 0;
|
|
8
|
+
}
|
|
9
|
+
.lockerverse-auctions__catalog-header {
|
|
10
|
+
margin-bottom: 32px;
|
|
11
|
+
}
|
|
12
|
+
.lockerverse-auctions__catalog-header h2 {
|
|
13
|
+
font-size: 36px;
|
|
14
|
+
font-weight: 600;
|
|
15
|
+
letter-spacing: -0.04em;
|
|
16
|
+
}
|
|
17
|
+
.lockerverse-auctions__catalog-header > div {
|
|
18
|
+
max-width: 672px;
|
|
19
|
+
margin-top: 12px;
|
|
20
|
+
font-size: 14px;
|
|
21
|
+
line-height: 24px;
|
|
22
|
+
color: var(--lockerverse-muted, #b5b1bc);
|
|
23
|
+
}
|
|
24
|
+
.lockerverse-auctions button.lockerverse-auctions__catalog-back {
|
|
25
|
+
display: inline-flex;
|
|
26
|
+
gap: 8px;
|
|
27
|
+
align-items: center;
|
|
28
|
+
min-height: 38px;
|
|
29
|
+
padding: 8px 12px;
|
|
30
|
+
margin-bottom: 28px;
|
|
31
|
+
font-size: 14px;
|
|
32
|
+
font-weight: 500;
|
|
33
|
+
background: rgb(255 255 255 / 4%);
|
|
34
|
+
border-radius: 999px;
|
|
35
|
+
}
|
|
36
|
+
.lockerverse-auctions__catalog-lineup {
|
|
37
|
+
display: flex;
|
|
38
|
+
gap: 8px;
|
|
39
|
+
align-items: flex-end;
|
|
40
|
+
justify-content: space-between;
|
|
41
|
+
margin-bottom: 20px;
|
|
42
|
+
}
|
|
43
|
+
.lockerverse-auctions__catalog-lineup h3 {
|
|
44
|
+
font-size: 24px;
|
|
45
|
+
font-weight: 600;
|
|
46
|
+
}
|
|
47
|
+
.lockerverse-auctions__catalog-lineup p {
|
|
48
|
+
margin: 4px 0 0;
|
|
49
|
+
font-size: 14px;
|
|
50
|
+
line-height: 24px;
|
|
51
|
+
}
|
|
52
|
+
.lockerverse-auctions__catalog-lineup > span {
|
|
53
|
+
font-size: 14px;
|
|
54
|
+
color: var(--lockerverse-muted);
|
|
55
|
+
white-space: nowrap;
|
|
56
|
+
}
|
|
57
|
+
.lockerverse-auctions__catalog-filters {
|
|
58
|
+
display: flex;
|
|
59
|
+
flex-wrap: wrap;
|
|
60
|
+
gap: 8px;
|
|
61
|
+
min-width: 0;
|
|
62
|
+
padding: 0;
|
|
63
|
+
margin-bottom: 20px;
|
|
64
|
+
border: 0;
|
|
65
|
+
}
|
|
66
|
+
.lockerverse-auctions__catalog-filters button {
|
|
67
|
+
display: inline-flex;
|
|
68
|
+
gap: 8px;
|
|
69
|
+
align-items: center;
|
|
70
|
+
min-height: 40px;
|
|
71
|
+
padding: 8px 16px;
|
|
72
|
+
font-size: 14px;
|
|
73
|
+
font-weight: 500;
|
|
74
|
+
background: rgb(255 255 255 / 4%);
|
|
75
|
+
border-radius: 999px;
|
|
76
|
+
}
|
|
77
|
+
.lockerverse-auctions__catalog-filters button[aria-pressed="true"] {
|
|
78
|
+
color: var(--lockerverse-bg);
|
|
79
|
+
background: var(--lockerverse-text);
|
|
80
|
+
}
|
|
81
|
+
.lockerverse-auctions__catalog-filters button span {
|
|
82
|
+
padding: 2px 8px;
|
|
83
|
+
font-size: 12px;
|
|
84
|
+
background: rgb(127 127 127 / 16%);
|
|
85
|
+
border-radius: 999px;
|
|
86
|
+
}
|
|
87
|
+
.lockerverse-auctions__catalog-grid {
|
|
88
|
+
display: grid;
|
|
89
|
+
grid-template-columns: minmax(0, 1fr);
|
|
90
|
+
gap: 24px;
|
|
91
|
+
padding: 0;
|
|
92
|
+
margin: 0;
|
|
93
|
+
list-style: none;
|
|
94
|
+
}
|
|
95
|
+
.lockerverse-auctions__catalog-grid > li {
|
|
96
|
+
min-width: 0;
|
|
97
|
+
}
|
|
98
|
+
.lockerverse-auctions__catalog-card {
|
|
99
|
+
position: relative;
|
|
100
|
+
display: flex;
|
|
101
|
+
flex-direction: column;
|
|
102
|
+
height: 100%;
|
|
103
|
+
overflow: hidden;
|
|
104
|
+
background: var(--lockerverse-control, #0a0a0c);
|
|
105
|
+
border: 1px solid var(--lockerverse-border);
|
|
106
|
+
border-radius: 30px;
|
|
107
|
+
box-shadow: 0 28px 80px rgb(0 0 0 / 42%);
|
|
108
|
+
transition:
|
|
109
|
+
transform 0.3s,
|
|
110
|
+
border-color 0.3s;
|
|
111
|
+
}
|
|
112
|
+
.lockerverse-auctions__catalog-card:hover {
|
|
113
|
+
border-color: rgb(255 255 255 / 20%);
|
|
114
|
+
transform: translateY(-4px);
|
|
115
|
+
}
|
|
116
|
+
.lockerverse-auctions button.lockerverse-auctions__catalog-select {
|
|
117
|
+
position: absolute;
|
|
118
|
+
inset: 0;
|
|
119
|
+
z-index: 3;
|
|
120
|
+
width: 100%;
|
|
121
|
+
height: 100%;
|
|
122
|
+
padding: 0;
|
|
123
|
+
background: transparent;
|
|
124
|
+
border: 0;
|
|
125
|
+
border-radius: 30px;
|
|
126
|
+
}
|
|
127
|
+
.lockerverse-auctions
|
|
128
|
+
button.lockerverse-auctions__catalog-select:focus-visible {
|
|
129
|
+
outline-offset: -3px;
|
|
130
|
+
}
|
|
131
|
+
.lockerverse-auctions__catalog-media {
|
|
132
|
+
position: relative;
|
|
133
|
+
aspect-ratio: 1.28;
|
|
134
|
+
overflow: hidden;
|
|
135
|
+
color: #fff;
|
|
136
|
+
background: #131316;
|
|
137
|
+
}
|
|
138
|
+
.lockerverse-auctions__catalog-media::after {
|
|
139
|
+
position: absolute;
|
|
140
|
+
inset: 0;
|
|
141
|
+
pointer-events: none;
|
|
142
|
+
content: "";
|
|
143
|
+
background:
|
|
144
|
+
linear-gradient(to top, #000, rgb(0 0 0 / 35%), transparent),
|
|
145
|
+
linear-gradient(to bottom, rgb(0 0 0 / 60%), transparent 50%);
|
|
146
|
+
}
|
|
147
|
+
.lockerverse-auctions__catalog-images {
|
|
148
|
+
position: absolute;
|
|
149
|
+
inset: 0;
|
|
150
|
+
}
|
|
151
|
+
.lockerverse-auctions__catalog-photo {
|
|
152
|
+
position: absolute;
|
|
153
|
+
inset: 0;
|
|
154
|
+
width: 100%;
|
|
155
|
+
height: 100%;
|
|
156
|
+
object-fit: cover;
|
|
157
|
+
opacity: 0;
|
|
158
|
+
transition:
|
|
159
|
+
opacity 0.5s,
|
|
160
|
+
transform 0.5s;
|
|
161
|
+
}
|
|
162
|
+
.lockerverse-auctions__catalog-photo[data-visible="true"] {
|
|
163
|
+
opacity: 1;
|
|
164
|
+
}
|
|
165
|
+
.lockerverse-auctions__catalog-card:hover .lockerverse-auctions__catalog-photo {
|
|
166
|
+
transform: scale(1.03);
|
|
167
|
+
}
|
|
168
|
+
.lockerverse-auctions__catalog-chips {
|
|
169
|
+
position: absolute;
|
|
170
|
+
top: 16px;
|
|
171
|
+
right: 16px;
|
|
172
|
+
left: 16px;
|
|
173
|
+
z-index: 1;
|
|
174
|
+
display: flex;
|
|
175
|
+
gap: 12px;
|
|
176
|
+
align-items: flex-start;
|
|
177
|
+
justify-content: space-between;
|
|
178
|
+
}
|
|
179
|
+
.lockerverse-auctions__catalog-chip,
|
|
180
|
+
.lockerverse-auctions__catalog-timing {
|
|
181
|
+
padding: 6px 12px;
|
|
182
|
+
font-size: 11px;
|
|
183
|
+
line-height: 16px;
|
|
184
|
+
text-transform: uppercase;
|
|
185
|
+
letter-spacing: 0.24em;
|
|
186
|
+
background: rgb(0 0 0 / 55%);
|
|
187
|
+
border: 1px solid rgb(255 255 255 / 15%);
|
|
188
|
+
border-radius: 999px;
|
|
189
|
+
backdrop-filter: blur(8px);
|
|
190
|
+
}
|
|
191
|
+
.lockerverse-auctions__catalog-timing {
|
|
192
|
+
color: rgb(255 255 255 / 72%);
|
|
193
|
+
text-align: right;
|
|
194
|
+
background: rgb(255 255 255 / 8%);
|
|
195
|
+
}
|
|
196
|
+
.lockerverse-auctions__catalog-chip[data-live="true"] {
|
|
197
|
+
color: #d1fae5;
|
|
198
|
+
background: rgb(52 211 153 / 12%);
|
|
199
|
+
border-color: rgb(110 231 183 / 20%);
|
|
200
|
+
}
|
|
201
|
+
.lockerverse-auctions__catalog-metrics {
|
|
202
|
+
position: absolute;
|
|
203
|
+
inset: auto 16px 16px;
|
|
204
|
+
z-index: 1;
|
|
205
|
+
display: grid;
|
|
206
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
207
|
+
gap: 12px;
|
|
208
|
+
margin: 0;
|
|
209
|
+
}
|
|
210
|
+
.lockerverse-auctions__catalog-metric {
|
|
211
|
+
min-width: 0;
|
|
212
|
+
padding: 12px 16px;
|
|
213
|
+
background: rgb(0 0 0 / 55%);
|
|
214
|
+
border: 1px solid rgb(255 255 255 / 12%);
|
|
215
|
+
border-radius: 20px;
|
|
216
|
+
backdrop-filter: blur(8px);
|
|
217
|
+
}
|
|
218
|
+
.lockerverse-auctions__catalog-metric dt {
|
|
219
|
+
display: flex;
|
|
220
|
+
gap: 8px;
|
|
221
|
+
align-items: center;
|
|
222
|
+
font-size: 11px;
|
|
223
|
+
color: rgb(255 255 255 / 55%);
|
|
224
|
+
text-transform: uppercase;
|
|
225
|
+
letter-spacing: 0.22em;
|
|
226
|
+
}
|
|
227
|
+
.lockerverse-auctions__catalog-metric dt svg {
|
|
228
|
+
flex-shrink: 0;
|
|
229
|
+
}
|
|
230
|
+
.lockerverse-auctions__catalog-metric dd {
|
|
231
|
+
margin: 8px 0 0;
|
|
232
|
+
overflow: hidden;
|
|
233
|
+
text-overflow: ellipsis;
|
|
234
|
+
font-size: 16px;
|
|
235
|
+
font-weight: 600;
|
|
236
|
+
letter-spacing: -0.02em;
|
|
237
|
+
white-space: nowrap;
|
|
238
|
+
}
|
|
239
|
+
.lockerverse-auctions__catalog-body {
|
|
240
|
+
display: flex;
|
|
241
|
+
flex: 1;
|
|
242
|
+
flex-direction: column;
|
|
243
|
+
gap: 10px;
|
|
244
|
+
padding: 16px 20px 20px;
|
|
245
|
+
}
|
|
246
|
+
.lockerverse-auctions__catalog-body h3 {
|
|
247
|
+
display: -webkit-box;
|
|
248
|
+
-webkit-box-orient: vertical;
|
|
249
|
+
overflow: hidden;
|
|
250
|
+
-webkit-line-clamp: 2;
|
|
251
|
+
font-size: 22px;
|
|
252
|
+
font-weight: 600;
|
|
253
|
+
line-height: 1.25;
|
|
254
|
+
letter-spacing: -0.03em;
|
|
255
|
+
}
|
|
256
|
+
.lockerverse-auctions__catalog-description {
|
|
257
|
+
display: -webkit-box;
|
|
258
|
+
-webkit-box-orient: vertical;
|
|
259
|
+
overflow: hidden;
|
|
260
|
+
-webkit-line-clamp: 2;
|
|
261
|
+
font-size: 14px;
|
|
262
|
+
line-height: 24px;
|
|
263
|
+
color: var(--lockerverse-muted, #b5b1bc);
|
|
264
|
+
}
|
|
265
|
+
.lockerverse-auctions__catalog-description p {
|
|
266
|
+
margin: 0;
|
|
267
|
+
}
|
|
268
|
+
.lockerverse-auctions__catalog-footer {
|
|
269
|
+
display: flex;
|
|
270
|
+
gap: 16px;
|
|
271
|
+
align-items: center;
|
|
272
|
+
justify-content: space-between;
|
|
273
|
+
padding-top: 6px;
|
|
274
|
+
margin-top: auto;
|
|
275
|
+
}
|
|
276
|
+
.lockerverse-auctions__catalog-footer--item {
|
|
277
|
+
justify-content: flex-end;
|
|
278
|
+
}
|
|
279
|
+
.lockerverse-auctions__catalog-cta {
|
|
280
|
+
display: inline-flex;
|
|
281
|
+
gap: 8px;
|
|
282
|
+
align-items: center;
|
|
283
|
+
padding: 10px 20px;
|
|
284
|
+
font-size: 14px;
|
|
285
|
+
font-weight: 600;
|
|
286
|
+
text-transform: uppercase;
|
|
287
|
+
letter-spacing: 0.12em;
|
|
288
|
+
background: rgb(255 255 255 / 6%);
|
|
289
|
+
border: 1px solid var(--lockerverse-border);
|
|
290
|
+
border-radius: 999px;
|
|
291
|
+
transition:
|
|
292
|
+
background 0.2s,
|
|
293
|
+
color 0.2s;
|
|
294
|
+
}
|
|
295
|
+
.lockerverse-auctions__catalog-card:hover .lockerverse-auctions__catalog-cta {
|
|
296
|
+
color: var(--lockerverse-bg);
|
|
297
|
+
background: var(--lockerverse-text);
|
|
298
|
+
}
|
|
299
|
+
.lockerverse-auctions__catalog-arrow {
|
|
300
|
+
display: flex;
|
|
301
|
+
align-items: center;
|
|
302
|
+
justify-content: center;
|
|
303
|
+
width: 44px;
|
|
304
|
+
height: 44px;
|
|
305
|
+
border: 1px solid var(--lockerverse-border);
|
|
306
|
+
border-radius: 999px;
|
|
307
|
+
}
|
|
308
|
+
.lockerverse-auctions__catalog-empty {
|
|
309
|
+
padding: 32px;
|
|
310
|
+
text-align: center;
|
|
311
|
+
background: var(--lockerverse-control);
|
|
312
|
+
border: 1px solid var(--lockerverse-border);
|
|
313
|
+
border-radius: 8px;
|
|
314
|
+
}
|
|
315
|
+
@container (min-width: 720px) {
|
|
316
|
+
.lockerverse-auctions__catalog-grid {
|
|
317
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
@container (min-width: 1232px) {
|
|
321
|
+
.lockerverse-auctions__catalog-grid {
|
|
322
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
@container (max-width: 500px) {
|
|
326
|
+
.lockerverse-auctions__catalog-header h2 {
|
|
327
|
+
font-size: 30px;
|
|
328
|
+
}
|
|
329
|
+
.lockerverse-auctions__catalog-lineup {
|
|
330
|
+
flex-direction: column;
|
|
331
|
+
align-items: flex-start;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
@media (max-width: 639px) {
|
|
335
|
+
.lockerverse-auctions--catalog {
|
|
336
|
+
padding: 48px 16px;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
@media (prefers-reduced-motion: reduce) {
|
|
340
|
+
.lockerverse-auctions__catalog-card,
|
|
341
|
+
.lockerverse-auctions__catalog-photo,
|
|
342
|
+
.lockerverse-auctions__catalog-cta {
|
|
343
|
+
transition: none;
|
|
344
|
+
}
|
|
345
|
+
.lockerverse-auctions__catalog-card:hover {
|
|
346
|
+
transform: none;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
.lockerverse-auctions.lockerverse-auctions--card {
|
|
351
|
+
width: 100%;
|
|
352
|
+
max-width: none;
|
|
353
|
+
padding: 0;
|
|
354
|
+
background: transparent;
|
|
355
|
+
}
|