@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.
Files changed (42) hide show
  1. package/README.md +55 -18
  2. package/dist/auction-base.css +116 -0
  3. package/dist/auction-catalog.css +355 -0
  4. package/dist/auction-checkout.css +266 -0
  5. package/dist/auction-data.d.ts +16 -0
  6. package/dist/auction-data.d.ts.map +1 -0
  7. package/dist/auction-data.js +2 -0
  8. package/dist/auction-data.js.map +1 -0
  9. package/dist/auction-gallery.css +298 -0
  10. package/dist/auction-item-layout.css +298 -0
  11. package/dist/auction-item.css +4 -0
  12. package/dist/auction-item.d.ts +6 -0
  13. package/dist/auction-item.d.ts.map +1 -1
  14. package/dist/auction-item.js +1 -1
  15. package/dist/auction-item.js.map +1 -1
  16. package/dist/auction.css +2 -0
  17. package/dist/auction.d.ts +3 -0
  18. package/dist/auction.js +1 -0
  19. package/dist/auctions.css +5 -221
  20. package/dist/auctions.d.ts +6 -19
  21. package/dist/auctions.d.ts.map +1 -1
  22. package/dist/auctions.js +1 -1
  23. package/dist/auctions.js.map +1 -1
  24. package/dist/immutable-resource-identity.js.map +1 -1
  25. package/dist/lockerverse-auction-item-card.d.ts +47 -0
  26. package/dist/lockerverse-auction-item-card.d.ts.map +1 -0
  27. package/dist/lockerverse-auction.js +2 -0
  28. package/dist/lockerverse-auction.js.map +1 -0
  29. package/dist/lockerverse-payment.js +1 -1
  30. package/dist/lockerverse-payment.js.map +1 -1
  31. package/dist/phone.js +1 -1
  32. package/dist/signup.js +1 -1
  33. package/dist/signup.js.map +1 -1
  34. package/dist/use-auction-boundary.js +2 -0
  35. package/dist/use-auction-boundary.js.map +1 -0
  36. package/dist/use-lockerverse-auctions.d.ts +13 -0
  37. package/dist/use-lockerverse-auctions.d.ts.map +1 -0
  38. package/dist/use-lockerverse-auctions.js +2 -0
  39. package/dist/use-lockerverse-auctions.js.map +1 -0
  40. package/package.json +34 -3
  41. package/dist/format-money.js +0 -2
  42. package/dist/format-money.js.map +0 -1
@@ -0,0 +1,266 @@
1
+ .lockerverse-auctions .lockerverse-auctions__checkout {
2
+ display: block;
3
+ padding: 0;
4
+ margin: 0;
5
+ overflow: hidden;
6
+ background: var(--lockerverse-control, #111216);
7
+ border: 1px solid var(--lockerverse-border);
8
+ border-radius: 32px;
9
+ box-shadow: 0 30px 90px rgb(0 0 0 / 45%);
10
+ }
11
+ .lockerverse-auctions__checkout-header,
12
+ .lockerverse-auctions__checkout-body {
13
+ padding: 28px;
14
+ }
15
+ .lockerverse-auctions__checkout-header {
16
+ border-bottom: 1px solid var(--lockerverse-border);
17
+ }
18
+ .lockerverse-auctions__checkout-navigation {
19
+ display: flex;
20
+ gap: 16px;
21
+ align-items: center;
22
+ justify-content: space-between;
23
+ margin-bottom: 24px;
24
+ }
25
+ .lockerverse-auctions__checkout-navigation > div {
26
+ text-align: right;
27
+ }
28
+ .lockerverse-auctions .lockerverse-auctions__checkout-eyebrow {
29
+ margin: 0;
30
+ font-size: 11px;
31
+ color: var(--lockerverse-muted);
32
+ text-transform: uppercase;
33
+ letter-spacing: 0.32em;
34
+ }
35
+ .lockerverse-auctions__checkout-navigation p + p {
36
+ margin: 8px 0 0;
37
+ font-size: 14px;
38
+ }
39
+ .lockerverse-auctions__checkout-back {
40
+ display: inline-flex;
41
+ flex: 0 0 44px;
42
+ align-items: center;
43
+ justify-content: center;
44
+ width: 44px;
45
+ height: 44px;
46
+ padding: 0;
47
+ font: inherit;
48
+ font-size: 30px;
49
+ color: var(--lockerverse-text);
50
+ cursor: pointer;
51
+ background: rgb(255 255 255 / 4%);
52
+ border: 1px solid var(--lockerverse-border);
53
+ border-radius: 50%;
54
+ }
55
+ .lockerverse-auctions__checkout-back:disabled {
56
+ cursor: not-allowed;
57
+ opacity: 0.4;
58
+ }
59
+ .lockerverse-auctions .lockerverse-auctions__checkout-header h2 {
60
+ margin-top: 12px;
61
+ font-size: 30px;
62
+ font-weight: 600;
63
+ letter-spacing: -0.04em;
64
+ }
65
+ .lockerverse-auctions .lockerverse-auctions__checkout-summary {
66
+ margin-top: 12px;
67
+ }
68
+ .lockerverse-auctions__checkout strong {
69
+ font-weight: 600;
70
+ color: var(--lockerverse-text);
71
+ }
72
+ .lockerverse-auctions .lockerverse-auctions__checkout p {
73
+ font-size: 14px;
74
+ line-height: 2;
75
+ }
76
+ .lockerverse-auctions
77
+ .lockerverse-auctions__checkout
78
+ p.lockerverse-auctions__checkout-eyebrow {
79
+ font-size: 11px;
80
+ }
81
+ .lockerverse-auctions__checkout-physical {
82
+ padding: 20px;
83
+ margin-top: 20px;
84
+ background: linear-gradient(
85
+ 135deg,
86
+ rgb(255 255 255 / 5%),
87
+ rgb(255 255 255 / 2%)
88
+ );
89
+ border: 1px solid var(--lockerverse-border);
90
+ border-radius: 24px;
91
+ }
92
+ .lockerverse-auctions .lockerverse-auctions__checkout fieldset {
93
+ display: block;
94
+ min-width: 0;
95
+ padding: 0;
96
+ margin: 0;
97
+ border: 0;
98
+ }
99
+ .lockerverse-auctions__checkout-contact {
100
+ display: grid;
101
+ grid-template-columns: repeat(2, minmax(0, 1fr));
102
+ gap: 16px;
103
+ }
104
+ .lockerverse-auctions__checkout .lockerverse-auctions__field {
105
+ display: flex;
106
+ flex-direction: column;
107
+ gap: 8px;
108
+ font-size: 14px;
109
+ }
110
+ .lockerverse-auctions__checkout .lockerverse-auctions__field input {
111
+ width: 100%;
112
+ min-width: 0;
113
+ height: 48px;
114
+ padding: 0 16px;
115
+ font: inherit;
116
+ color: var(--lockerverse-text);
117
+ background: var(--lockerverse-bg);
118
+ border: 1px solid #3a3944;
119
+ border-radius: 18px;
120
+ }
121
+ .lockerverse-auctions__checkout-phone-help {
122
+ font-size: 12px;
123
+ color: var(--lockerverse-muted);
124
+ }
125
+ .lockerverse-auctions__checkout-section {
126
+ display: grid;
127
+ gap: 12px;
128
+ padding-top: 20px;
129
+ margin-top: 24px;
130
+ border-top: 1px solid var(--lockerverse-border);
131
+ }
132
+ .lockerverse-auctions .lockerverse-auctions__checkout-section h3 {
133
+ margin: 0;
134
+ font-size: 14px;
135
+ font-weight: 500;
136
+ line-height: 1.5;
137
+ }
138
+ .lockerverse-auctions__checkout-section-heading {
139
+ display: flex;
140
+ flex-wrap: wrap;
141
+ column-gap: 16px;
142
+ align-items: baseline;
143
+ justify-content: space-between;
144
+ }
145
+ .lockerverse-auctions .lockerverse-auctions__checkout-section p {
146
+ margin: 0;
147
+ }
148
+ .lockerverse-auctions__checkout-checkbox {
149
+ display: flex;
150
+ gap: 16px;
151
+ align-items: flex-start;
152
+ cursor: pointer;
153
+ }
154
+ .lockerverse-auctions__checkout
155
+ .lockerverse-auctions__checkout-checkbox
156
+ > input {
157
+ flex: 0 0 16px;
158
+ width: 16px;
159
+ height: 16px;
160
+ margin: 4px 0 0;
161
+ accent-color: var(--lockerverse-accent);
162
+ }
163
+ .lockerverse-auctions__checkout-checkbox > span {
164
+ display: grid;
165
+ gap: 6px;
166
+ font-size: 14px;
167
+ }
168
+ .lockerverse-auctions__checkout-checkbox > span > span {
169
+ line-height: 2;
170
+ color: var(--lockerverse-muted);
171
+ }
172
+ .lockerverse-auctions__checkout-delivery {
173
+ padding: 20px;
174
+ background: rgb(255 255 255 / 3%);
175
+ border: 1px solid var(--lockerverse-border);
176
+ border-radius: 24px;
177
+ }
178
+ .lockerverse-auctions__checkout-footer {
179
+ display: flex;
180
+ gap: 16px;
181
+ align-items: center;
182
+ justify-content: space-between;
183
+ padding-top: 20px;
184
+ margin-top: 24px;
185
+ border-top: 1px solid var(--lockerverse-border);
186
+ }
187
+ .lockerverse-auctions .lockerverse-auctions__checkout-footer p {
188
+ max-width: 576px;
189
+ margin: 0;
190
+ }
191
+ .lockerverse-auctions .lockerverse-auctions__checkout-submit {
192
+ flex-shrink: 0;
193
+ min-height: 48px;
194
+ padding: 12px 24px;
195
+ font-size: 14px;
196
+ font-weight: 600;
197
+ text-transform: uppercase;
198
+ letter-spacing: 0.14em;
199
+ border-radius: 999px;
200
+ box-shadow: 0 18px 40px rgb(0 0 0 / 32%);
201
+ }
202
+ @media (max-width: 639px) {
203
+ .lockerverse-auctions__checkout-header,
204
+ .lockerverse-auctions__checkout-body {
205
+ padding: 24px;
206
+ }
207
+
208
+ .lockerverse-auctions__checkout-footer {
209
+ flex-direction: column;
210
+ align-items: stretch;
211
+ }
212
+ .lockerverse-auctions__checkout-delivery,
213
+ .lockerverse-auctions__checkout-physical {
214
+ padding: 16px;
215
+ }
216
+ }
217
+
218
+ @media (max-width: 767px) {
219
+ .lockerverse-auctions__checkout-contact {
220
+ grid-template-columns: minmax(0, 1fr);
221
+ }
222
+ }
223
+
224
+ .lockerverse-auctions__phone {
225
+ display: flex;
226
+ width: 100%;
227
+ min-width: 0;
228
+ }
229
+ .lockerverse-auctions__phone-country {
230
+ position: relative;
231
+ display: inline-flex;
232
+ flex-shrink: 0;
233
+ align-items: center;
234
+ padding: 0 10px;
235
+ color: var(--lockerverse-muted);
236
+ background: var(--lockerverse-bg);
237
+ border: 1px solid #3a3944;
238
+ border-radius: 18px 0 0 18px;
239
+ }
240
+ .lockerverse-auctions__phone-country > span {
241
+ display: inline-flex;
242
+ gap: 5px;
243
+ align-items: center;
244
+ white-space: nowrap;
245
+ }
246
+ .lockerverse-auctions__phone-country select {
247
+ position: absolute;
248
+ inset: 0;
249
+ width: 100%;
250
+ cursor: pointer;
251
+ opacity: 0;
252
+ }
253
+ .lockerverse-auctions__phone-country:focus-within {
254
+ z-index: 1;
255
+ outline: 2px solid var(--lockerverse-accent);
256
+ outline-offset: 2px;
257
+ }
258
+ .lockerverse-auctions__phone-flag {
259
+ width: 20px;
260
+ overflow: hidden;
261
+ font-size: 17px;
262
+ }
263
+ .lockerverse-auctions__checkout .lockerverse-auctions__phone input {
264
+ margin-left: -1px;
265
+ border-radius: 0 18px 18px 0;
266
+ }
@@ -0,0 +1,16 @@
1
+ import { n as useLockerverseAuctions, t as UseLockerverseAuctionsResult } from "./use-lockerverse-auctions.js";
2
+ import { CreateLockerverseAuctionOptions, LockerverseAuction, LockerverseAuctionClient, LockerverseSdkError } from "@lockerverse/sdk/auctions";
3
+ //#region src/use-lockerverse-auction.d.ts
4
+ type UseLockerverseAuctionResult = {
5
+ client: LockerverseAuctionClient;
6
+ /** Last successful snapshot, retained during refresh and refresh errors. */
7
+ auction: LockerverseAuction | null;
8
+ loading: boolean;
9
+ error: LockerverseSdkError | null;
10
+ refresh: () => void;
11
+ };
12
+ /** Load one auction by slug without requesting the community auction list. */
13
+ declare function useLockerverseAuction(options: CreateLockerverseAuctionOptions, auctionSlug: string): UseLockerverseAuctionResult;
14
+ //#endregion
15
+ export { type UseLockerverseAuctionResult, type UseLockerverseAuctionsResult, useLockerverseAuction, useLockerverseAuctions };
16
+ //# sourceMappingURL=auction-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auction-data.d.ts","names":[],"sources":["../src/use-lockerverse-auction.ts"],"mappings":";;;KAUY;EACV,QAAQ;;EAER,SAAS;EACT;EACA,OAAO;EACP;;;iBAIc,sBACd,SAAS,iCACT,sBACC"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./immutable-resource-identity.js";import{t}from"./use-lockerverse-auctions.js";import{useCallback as n,useEffect as r,useRef as i,useState as a}from"react";import{createLockerverseAuctionClient as o}from"@lockerverse/sdk/auctions";function s(t,s){e(`auction`,{apiBaseUrl:t.apiBaseUrl,communitySlug:t.communitySlug,environment:t.environment,slug:s});let c=i(t.onError);c.current=t.onError;let[l]=a(()=>o({...t,onError:e=>c.current?.(e)})),u=i(0),[d,f]=a(0),[p,m]=a({auction:null,error:null,loading:!0});r(()=>{let e=!0,t=u.current;return l.load(s).then(n=>{e&&t===u.current&&m({auction:n,error:null,loading:!1})},n=>{e&&t===u.current&&m(e=>({...e,error:n,loading:!1}))}),()=>{e=!1}},[l,s,d]);let h=n(()=>{u.current+=1,m(e=>({...e,error:null,loading:!0})),f(e=>e+1)},[]);return{...p,client:l,refresh:h}}export{s as useLockerverseAuction,t as useLockerverseAuctions};
2
+ //# sourceMappingURL=auction-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auction-data.js","names":[],"sources":["../src/use-lockerverse-auction.ts"],"sourcesContent":["import {\n type CreateLockerverseAuctionOptions,\n createLockerverseAuctionClient,\n type LockerverseAuction,\n type LockerverseAuctionClient,\n type LockerverseSdkError,\n} from \"@lockerverse/sdk/auctions\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useImmutableResourceIdentity } from \"./immutable-resource-identity.ts\";\n\nexport type UseLockerverseAuctionResult = {\n client: LockerverseAuctionClient;\n /** Last successful snapshot, retained during refresh and refresh errors. */\n auction: LockerverseAuction | null;\n loading: boolean;\n error: LockerverseSdkError | null;\n refresh: () => void;\n};\n\n/** Load one auction by slug without requesting the community auction list. */\nexport function useLockerverseAuction(\n options: CreateLockerverseAuctionOptions,\n auctionSlug: string\n): UseLockerverseAuctionResult {\n useImmutableResourceIdentity(\"auction\", {\n apiBaseUrl: options.apiBaseUrl,\n communitySlug: options.communitySlug,\n environment: options.environment,\n slug: auctionSlug,\n });\n const onErrorRef = useRef(options.onError);\n onErrorRef.current = options.onError;\n const [client] = useState(() =>\n createLockerverseAuctionClient({\n ...options,\n onError: (error) => onErrorRef.current?.(error),\n })\n );\n const generation = useRef(0);\n const [revision, setRevision] = useState(0);\n const [state, setState] = useState<\n Pick<UseLockerverseAuctionResult, \"auction\" | \"loading\" | \"error\">\n >({ auction: null, error: null, loading: true });\n\n useEffect(() => {\n let active = true;\n const requestGeneration = generation.current;\n client.load(auctionSlug).then(\n (auction) => {\n if (active && requestGeneration === generation.current) {\n setState({ auction, error: null, loading: false });\n }\n },\n (error: LockerverseSdkError) => {\n if (active && requestGeneration === generation.current) {\n setState((current) => ({ ...current, error, loading: false }));\n }\n }\n );\n return () => {\n active = false;\n };\n }, [client, auctionSlug, revision]);\n\n const refresh = useCallback(() => {\n generation.current += 1;\n setState((current) => ({ ...current, error: null, loading: true }));\n setRevision((current) => current + 1);\n }, []);\n\n return { ...state, client, refresh };\n}\n"],"mappings":"0PAoBA,SAAgB,EACd,EACA,EAC6B,CAC7B,EAA6B,UAAW,CACtC,WAAY,EAAQ,WACpB,cAAe,EAAQ,cACvB,YAAa,EAAQ,YACrB,KAAM,CACR,CAAC,EACD,IAAM,EAAa,EAAO,EAAQ,OAAO,EACzC,EAAW,QAAU,EAAQ,QAC7B,GAAM,CAAC,GAAU,MACf,EAA+B,CAC7B,GAAG,EACH,QAAU,GAAU,EAAW,UAAU,CAAK,CAChD,CAAC,CACH,EACM,EAAa,EAAO,CAAC,EACrB,CAAC,EAAU,GAAe,EAAS,CAAC,EACpC,CAAC,EAAO,GAAY,EAExB,CAAE,QAAS,KAAM,MAAO,KAAM,QAAS,EAAK,CAAC,EAE/C,MAAgB,CACd,IAAI,EAAS,GACP,EAAoB,EAAW,QAarC,OAZA,EAAO,KAAK,CAAW,CAAC,CAAC,KACtB,GAAY,CACP,GAAU,IAAsB,EAAW,SAC7C,EAAS,CAAE,UAAS,MAAO,KAAM,QAAS,EAAM,CAAC,CAErD,EACC,GAA+B,CAC1B,GAAU,IAAsB,EAAW,SAC7C,EAAU,IAAa,CAAE,GAAG,EAAS,QAAO,QAAS,EAAM,EAAE,CAEjE,CACF,MACa,CACX,EAAS,EACX,CACF,EAAG,CAAC,EAAQ,EAAa,CAAQ,CAAC,EAElC,IAAM,EAAU,MAAkB,CAChC,EAAW,SAAW,EACtB,EAAU,IAAa,CAAE,GAAG,EAAS,MAAO,KAAM,QAAS,EAAK,EAAE,EAClE,EAAa,GAAY,EAAU,CAAC,CACtC,EAAG,CAAC,CAAC,EAEL,MAAO,CAAE,GAAG,EAAO,SAAQ,SAAQ,CACrC"}
@@ -0,0 +1,298 @@
1
+ .lockerverse-auction-gallery {
2
+ min-width: 0;
3
+ background: var(--lockerverse-control, #101114);
4
+ }
5
+ .lockerverse-auction-gallery button,
6
+ .lockerverse-auction-gallery__viewer button {
7
+ box-sizing: border-box;
8
+ padding: 0;
9
+ font: inherit;
10
+ cursor: pointer;
11
+ border: 0;
12
+ }
13
+ .lockerverse-auction-gallery button:focus-visible,
14
+ .lockerverse-auction-gallery__viewer button:focus-visible {
15
+ outline: 2px solid #fff;
16
+ outline-offset: 2px;
17
+ }
18
+ .lockerverse-auction-gallery__stage {
19
+ position: relative;
20
+ }
21
+ .lockerverse-auction-gallery__viewport {
22
+ aspect-ratio: 4 / 3;
23
+ overflow: hidden;
24
+ background: #000;
25
+ }
26
+ .lockerverse-auction-gallery__track {
27
+ display: flex;
28
+ height: 100%;
29
+ touch-action: pan-y pinch-zoom;
30
+ }
31
+ .lockerverse-auction-gallery__slide {
32
+ position: relative;
33
+ flex: 0 0 100%;
34
+ min-width: 0;
35
+ height: 100%;
36
+ }
37
+ .lockerverse-auction-gallery .lockerverse-auction-gallery__photo {
38
+ position: relative;
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ width: 100%;
43
+ height: 100%;
44
+ overflow: hidden;
45
+ cursor: zoom-in;
46
+ background: transparent;
47
+ border-radius: 0;
48
+ }
49
+ .lockerverse-auction-gallery .lockerverse-auction-gallery__photo:focus-visible {
50
+ outline-offset: -2px;
51
+ }
52
+ .lockerverse-auction-gallery__image {
53
+ position: absolute;
54
+ inset: 0;
55
+ display: block;
56
+ width: 100%;
57
+ height: 100%;
58
+ object-fit: cover;
59
+ }
60
+ .lockerverse-auction-gallery__rotation {
61
+ position: absolute;
62
+ inset: auto 12px 8px;
63
+ display: flex;
64
+ gap: 8px;
65
+ align-items: center;
66
+ height: 32px;
67
+ pointer-events: none;
68
+ }
69
+ .lockerverse-auction-gallery__progress-track {
70
+ flex: 1;
71
+ height: 2px;
72
+ overflow: hidden;
73
+ background: #ffffff40;
74
+ border-radius: 999px;
75
+ }
76
+ .lockerverse-auction-gallery__progress {
77
+ width: 100%;
78
+ height: 100%;
79
+ background: #ffffffe6;
80
+ border-radius: 999px;
81
+ transform-origin: left;
82
+ }
83
+ .lockerverse-auction-gallery__control {
84
+ display: flex;
85
+ align-items: center;
86
+ justify-content: center;
87
+ color: #ffffffd9;
88
+ pointer-events: none;
89
+ border-radius: 999px;
90
+ opacity: 0;
91
+ }
92
+ .lockerverse-auction-gallery__control.is-visible {
93
+ pointer-events: auto;
94
+ opacity: 0.7;
95
+ }
96
+ .lockerverse-auction-gallery__control:focus-visible,
97
+ .lockerverse-auction-gallery__control:hover {
98
+ color: #fff;
99
+ pointer-events: auto;
100
+ opacity: 1;
101
+ }
102
+ .lockerverse-auction-gallery__play {
103
+ position: relative;
104
+ flex-shrink: 0;
105
+ width: 28px;
106
+ height: 28px;
107
+ background: #0006;
108
+ }
109
+ .lockerverse-auction-gallery__play::before {
110
+ position: absolute;
111
+ inset: -8px;
112
+ content: "";
113
+ }
114
+ .lockerverse-auction-gallery__play:hover {
115
+ background: #0009;
116
+ }
117
+ .lockerverse-auction-gallery__previous,
118
+ .lockerverse-auction-gallery__next {
119
+ position: absolute;
120
+ top: 50%;
121
+ width: 44px;
122
+ height: 44px;
123
+ background: #0000004d;
124
+ transform: translateY(-50%);
125
+ }
126
+ .lockerverse-auction-gallery__previous {
127
+ left: 8px;
128
+ }
129
+ .lockerverse-auction-gallery__next {
130
+ right: 8px;
131
+ }
132
+ .lockerverse-auction-gallery__previous:hover,
133
+ .lockerverse-auction-gallery__next:hover {
134
+ background: #0000008c;
135
+ }
136
+ .lockerverse-auction-gallery__chevron {
137
+ width: 20px;
138
+ height: 20px;
139
+ }
140
+ .lockerverse-auction-gallery__empty {
141
+ display: flex;
142
+ align-items: center;
143
+ justify-content: center;
144
+ min-height: 224px;
145
+ font-size: 14px;
146
+ color: var(--lockerverse-muted, #ffffff80);
147
+ }
148
+ .lockerverse-auction-gallery__strip {
149
+ padding: 12px;
150
+ overflow-x: auto;
151
+ scrollbar-width: none;
152
+ }
153
+ .lockerverse-auction-gallery__strip::-webkit-scrollbar {
154
+ display: none;
155
+ }
156
+ .lockerverse-auction-gallery__thumbnails {
157
+ display: flex;
158
+ gap: 10px;
159
+ width: max-content;
160
+ margin-inline: auto;
161
+ }
162
+ .lockerverse-auction-gallery .lockerverse-auction-gallery__thumbnail {
163
+ display: flex;
164
+ flex-shrink: 0;
165
+ align-items: center;
166
+ justify-content: center;
167
+ width: 80px;
168
+ height: 60px;
169
+ padding: 2px;
170
+ background: transparent;
171
+ border: 1px solid transparent;
172
+ border-radius: 8px;
173
+ opacity: 0.55;
174
+ }
175
+ .lockerverse-auction-gallery
176
+ .lockerverse-auction-gallery__thumbnail.is-selected {
177
+ border-color: var(--lockerverse-text, #ffffffe6);
178
+ opacity: 1;
179
+ }
180
+ .lockerverse-auction-gallery__thumbnail:hover,
181
+ .lockerverse-auction-gallery__thumbnail:focus-visible {
182
+ opacity: 1;
183
+ }
184
+ .lockerverse-auction-gallery__thumbnail-image {
185
+ display: block;
186
+ width: 100%;
187
+ height: 100%;
188
+ object-fit: cover;
189
+ border-radius: 5px;
190
+ }
191
+ .lockerverse-auction-gallery__backdrop {
192
+ position: fixed;
193
+ inset: 0;
194
+ z-index: 2147483645;
195
+ background: #000;
196
+ }
197
+ .lockerverse-auction-gallery__viewer {
198
+ position: fixed;
199
+ inset: 0;
200
+ z-index: 2147483646;
201
+ display: block;
202
+ width: 100vw;
203
+ max-width: none;
204
+ height: 100dvh;
205
+ padding: 0;
206
+ margin: 0;
207
+ overflow: hidden;
208
+ color: #fff;
209
+ outline: none;
210
+ background: #000;
211
+ border: 0;
212
+ border-radius: 0;
213
+ }
214
+ .lockerverse-auction-gallery__full-image {
215
+ position: relative;
216
+ width: 100%;
217
+ height: 100%;
218
+ touch-action: pan-y pinch-zoom;
219
+ }
220
+ .lockerverse-auction-gallery__full-image img {
221
+ position: absolute;
222
+ inset: 0;
223
+ width: 100%;
224
+ height: 100%;
225
+ object-fit: contain;
226
+ }
227
+ .lockerverse-auction-gallery__preload {
228
+ visibility: hidden;
229
+ pointer-events: none;
230
+ }
231
+ .lockerverse-auction-gallery__viewer-close,
232
+ .lockerverse-auction-gallery__viewer-previous,
233
+ .lockerverse-auction-gallery__viewer-next {
234
+ position: absolute;
235
+ z-index: 1;
236
+ display: flex;
237
+ align-items: center;
238
+ justify-content: center;
239
+ width: 44px;
240
+ height: 44px;
241
+ color: #fffc;
242
+ background: #0000008c;
243
+ border-radius: 999px;
244
+ }
245
+ .lockerverse-auction-gallery__viewer-close {
246
+ top: 16px;
247
+ right: 16px;
248
+ }
249
+ .lockerverse-auction-gallery__viewer-previous,
250
+ .lockerverse-auction-gallery__viewer-next {
251
+ top: 50%;
252
+ transform: translateY(-50%);
253
+ }
254
+ .lockerverse-auction-gallery__viewer-previous {
255
+ left: 12px;
256
+ }
257
+ .lockerverse-auction-gallery__viewer-next {
258
+ right: 12px;
259
+ }
260
+ .lockerverse-auction-gallery__viewer-close:hover,
261
+ .lockerverse-auction-gallery__viewer-previous:hover,
262
+ .lockerverse-auction-gallery__viewer-next:hover {
263
+ color: #fff;
264
+ background: #000c;
265
+ }
266
+ .lockerverse-auction-gallery__sr-only {
267
+ position: absolute;
268
+ width: 1px;
269
+ height: 1px;
270
+ padding: 0;
271
+ margin: -1px;
272
+ overflow: hidden;
273
+ white-space: nowrap;
274
+ border: 0;
275
+ clip: rect(0, 0, 0, 0);
276
+ }
277
+ @media (min-width: 640px) {
278
+ .lockerverse-auction-gallery .lockerverse-auction-gallery__thumbnail {
279
+ width: 88px;
280
+ height: 66px;
281
+ }
282
+ .lockerverse-auction-gallery__viewer-previous {
283
+ left: 24px;
284
+ }
285
+ .lockerverse-auction-gallery__viewer-next {
286
+ right: 24px;
287
+ }
288
+ }
289
+ @media (prefers-reduced-motion: no-preference) {
290
+ .lockerverse-auction-gallery__control {
291
+ transition: opacity 200ms;
292
+ }
293
+ .lockerverse-auction-gallery .lockerverse-auction-gallery__thumbnail {
294
+ transition:
295
+ opacity 150ms,
296
+ border-color 150ms;
297
+ }
298
+ }