@lockerverse/react 0.2.20 → 0.2.22

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/dist/styles.css CHANGED
@@ -1,24 +1,21 @@
1
1
  .lockerverse-payment {
2
2
  --lockerverse-accent: #38d77a;
3
- --lockerverse-accent-contrast: #000;
3
+ --lockerverse-accent-contrast: #08110c;
4
4
  --lockerverse-bg: #080808;
5
- --lockerverse-border: rgb(255 255 255 / 12%);
6
- --lockerverse-control: #121212;
5
+ --lockerverse-border: rgb(255 255 255 / 14%);
6
+ --lockerverse-control: #151515;
7
7
  --lockerverse-danger: #f08a98;
8
- --lockerverse-danger-border: #8f3542;
9
8
  --lockerverse-font-family:
10
9
  ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
11
10
  sans-serif;
12
11
  --lockerverse-muted: rgb(255 255 255 / 64%);
13
- --lockerverse-placeholder: rgb(255 255 255 / 34%);
12
+ --lockerverse-placeholder: rgb(255 255 255 / 38%);
14
13
  --lockerverse-radius: 10px;
15
- --lockerverse-subtle: rgb(255 255 255 / 8%);
16
14
  --lockerverse-text: #fff;
17
15
  box-sizing: border-box;
18
16
  width: 100%;
19
17
  max-width: 480px;
20
- padding: clamp(16px, 4.2%, 20px);
21
- container-type: inline-size;
18
+ padding: 20px;
22
19
  font-family: var(--lockerverse-font-family);
23
20
  font-size: 15px;
24
21
  line-height: 1.4;
@@ -29,13 +26,11 @@
29
26
 
30
27
  .lockerverse-payment[data-lockerverse-theme="light"] {
31
28
  --lockerverse-bg: #fff;
32
- --lockerverse-border: rgb(18 20 22 / 14%);
33
- --lockerverse-control: #f5f6f7;
29
+ --lockerverse-border: rgb(18 20 22 / 15%);
30
+ --lockerverse-control: #f4f5f6;
34
31
  --lockerverse-danger: #c52b3e;
35
- --lockerverse-danger-border: #b64656;
36
32
  --lockerverse-muted: rgb(18 20 22 / 64%);
37
- --lockerverse-placeholder: rgb(18 20 22 / 38%);
38
- --lockerverse-subtle: rgb(18 20 22 / 8%);
33
+ --lockerverse-placeholder: rgb(18 20 22 / 40%);
39
34
  --lockerverse-text: #121416;
40
35
  box-shadow: 0 18px 55px rgb(20 25 32 / 10%);
41
36
  }
@@ -53,24 +48,31 @@
53
48
  }
54
49
 
55
50
  .lockerverse-payment header {
56
- margin-bottom: 20px;
51
+ margin-bottom: 4px;
57
52
  }
58
53
 
59
54
  .lockerverse-payment h1 {
60
55
  font-size: 24px;
61
56
  font-weight: 600;
62
- line-height: 1.333;
63
- letter-spacing: 0;
57
+ line-height: 1.33;
64
58
  }
65
59
 
66
60
  .lockerverse-payment header p {
67
- margin-top: 12px;
61
+ margin-top: 10px;
68
62
  font-size: 14px;
69
63
  line-height: 1.55;
70
64
  color: var(--lockerverse-muted);
71
65
  white-space: pre-line;
72
66
  }
73
67
 
68
+ .lockerverse-payment h2,
69
+ .lockerverse-payment label > span {
70
+ font-size: 14px;
71
+ font-weight: 600;
72
+ line-height: 1.45;
73
+ color: var(--lockerverse-text);
74
+ }
75
+
74
76
  .lockerverse-payment__branding {
75
77
  display: flex;
76
78
  gap: 12px;
@@ -78,131 +80,55 @@
78
80
  min-width: 0;
79
81
  margin-bottom: 16px;
80
82
  font-size: 18px;
81
- line-height: 1.25;
82
83
  }
83
84
 
84
85
  .lockerverse-payment__branding img {
85
86
  width: 48px;
86
87
  height: 48px;
87
88
  object-fit: cover;
88
- border: 1px solid var(--lockerverse-subtle);
89
+ border: 1px solid var(--lockerverse-border);
89
90
  border-radius: var(--lockerverse-radius);
90
91
  }
91
92
 
92
93
  .lockerverse-payment__branding strong {
93
94
  overflow: hidden;
94
95
  text-overflow: ellipsis;
95
- font-weight: 600;
96
96
  white-space: nowrap;
97
97
  }
98
98
 
99
99
  .lockerverse-payment__form,
100
100
  .lockerverse-payment__contact,
101
101
  .lockerverse-payment__additional-fields,
102
+ .lockerverse-payment__custom-fields,
102
103
  .lockerverse-payment__address,
103
104
  .lockerverse-payment__shipping,
104
105
  .lockerverse-payment__actions,
105
- .lockerverse-payment__stripe-element {
106
+ .lockerverse-payment__stripe-element,
107
+ .lockerverse-payment label {
106
108
  display: grid;
107
109
  }
108
110
 
109
111
  .lockerverse-payment__form {
110
- gap: 16px;
111
- }
112
-
113
- .lockerverse-payment__input-fieldset {
114
- display: grid;
115
- gap: 16px;
116
- min-width: 0;
117
- padding: 0;
118
- margin: 0;
119
- border: 0;
120
- }
121
-
122
- .lockerverse-payment [data-lockerverse-input-region][inert] {
123
- opacity: 0.72;
124
- }
125
-
126
- .lockerverse-payment__payment-status {
127
- margin: 0;
128
- font-size: 14px;
129
- color: var(--lockerverse-muted);
130
- outline: none;
131
- }
132
-
133
- .lockerverse-payment__contact {
134
- gap: 8px;
135
- padding-top: 14px;
136
- border-top: 1px solid var(--lockerverse-subtle);
137
- }
138
-
139
- .lockerverse-payment__contact label:not(:first-child) {
140
- margin-top: 4px;
112
+ gap: 18px;
141
113
  }
142
114
 
115
+ .lockerverse-payment__contact,
143
116
  .lockerverse-payment__additional-fields,
117
+ .lockerverse-payment__custom-fields,
144
118
  .lockerverse-payment__shipping,
145
119
  .lockerverse-payment__actions {
146
- gap: 16px;
120
+ gap: 14px;
147
121
  }
148
122
 
149
123
  .lockerverse-payment__address,
150
- .lockerverse-payment__stripe-element {
151
- gap: 12px;
152
- }
153
-
154
- .lockerverse-payment__stripe-mount {
155
- visibility: visible;
156
- min-width: 0;
157
- opacity: 1;
158
- transition: opacity 120ms ease;
159
- }
160
-
161
- .lockerverse-payment__stripe-element[data-ready="false"] {
162
- position: relative;
163
- }
164
-
165
- .lockerverse-payment__stripe-element[data-ready="false"]
166
- > .lockerverse-payment__stripe-mount {
167
- position: absolute;
168
- inset: 0;
169
- z-index: -1;
170
- visibility: hidden;
171
- pointer-events: none;
172
- opacity: 0;
173
- }
174
-
175
- .lockerverse-payment__actions {
176
- padding: 4px 0;
177
- margin-top: 4px;
178
- }
179
-
180
- .lockerverse-payment label:not(.lockerverse-payment__check-row),
181
- .lockerverse-payment__field,
182
- .lockerverse-payment fieldset {
183
- display: grid;
124
+ .lockerverse-payment__stripe-element,
125
+ .lockerverse-payment label {
184
126
  gap: 8px;
185
127
  }
186
128
 
187
- .lockerverse-payment label > span,
188
- .lockerverse-payment .lockerverse-payment__field > span,
189
- .lockerverse-payment legend,
190
- .lockerverse-payment h2 {
191
- font-size: 14px;
192
- font-weight: 500;
193
- line-height: 1.45;
194
- color: color-mix(in srgb, var(--lockerverse-text) 82%, transparent);
195
- }
196
-
197
- .lockerverse-payment h2 {
198
- font-weight: 600;
199
- color: var(--lockerverse-text);
200
- }
201
-
202
- .lockerverse-payment fieldset {
203
- padding: 0;
204
- margin: 0;
205
- border: 0;
129
+ .lockerverse-payment__contact {
130
+ padding-top: 16px;
131
+ border-top: 1px solid var(--lockerverse-border);
206
132
  }
207
133
 
208
134
  .lockerverse-payment input:not([type="checkbox"]):not([type="radio"]),
@@ -215,705 +141,196 @@
215
141
  font-size: 16px;
216
142
  line-height: 1.5;
217
143
  color: var(--lockerverse-text);
218
- appearance: none;
219
144
  outline: none;
220
- background-color: var(--lockerverse-control);
145
+ background: var(--lockerverse-control);
221
146
  border: 1px solid var(--lockerverse-border);
222
147
  border-radius: var(--lockerverse-radius);
223
- box-shadow: inset 0 1px 0 rgb(255 255 255 / 4%);
224
148
  transition:
225
- border-color 140ms ease,
226
- box-shadow 140ms ease;
227
- }
228
-
229
- .lockerverse-payment select {
230
- padding-right: 38px;
231
- background-image:
232
- linear-gradient(45deg, transparent 50%, currentcolor 50%),
233
- linear-gradient(135deg, currentcolor 50%, transparent 50%);
234
- background-repeat: no-repeat;
235
- background-position:
236
- calc(100% - 17px) calc(50% - 2px),
237
- calc(100% - 12px) calc(50% - 2px);
238
- background-size:
239
- 5px 5px,
240
- 5px 5px;
149
+ border-color 120ms ease,
150
+ box-shadow 120ms ease;
241
151
  }
242
152
 
243
153
  .lockerverse-payment textarea {
244
154
  min-height: 112px;
245
- padding-top: 12px;
246
155
  resize: vertical;
247
156
  }
248
157
 
249
- .lockerverse-payment input::placeholder,
250
- .lockerverse-payment textarea::placeholder {
251
- color: var(--lockerverse-placeholder);
252
- opacity: 1;
253
- }
254
-
255
- .lockerverse-payment input:not([type="checkbox"]):not([type="radio"]):focus,
256
- .lockerverse-payment__check-row input:focus,
257
- .lockerverse-payment select:focus,
258
- .lockerverse-payment textarea:focus,
259
- .lockerverse-payment button:focus {
260
- outline: none;
261
- border-color: var(--lockerverse-accent);
262
- }
263
-
264
- .lockerverse-payment input:not([type="checkbox"]):not([type="radio"]):focus,
265
- .lockerverse-payment select:focus,
266
- .lockerverse-payment textarea:focus,
267
- .lockerverse-payment__select-trigger:focus {
268
- box-shadow: 0 0 0 1px var(--lockerverse-accent);
269
- }
270
-
271
- .lockerverse-payment
272
- input:not([type="checkbox"]):not([type="radio"]):focus-visible,
273
- .lockerverse-payment__check-row input:focus-visible,
274
- .lockerverse-payment select:focus-visible,
275
- .lockerverse-payment textarea:focus-visible,
276
- .lockerverse-payment button:focus-visible {
277
- box-shadow: 0 0 0 2px
278
- color-mix(in srgb, var(--lockerverse-accent) 24%, transparent);
279
- }
280
-
281
- .lockerverse-payment [aria-invalid="true"] {
282
- border-color: var(--lockerverse-danger-border) !important;
283
- }
284
-
285
- .lockerverse-payment__phone-control {
158
+ .lockerverse-payment fieldset {
286
159
  display: grid;
287
- grid-template-columns: 84px minmax(0, 1fr);
288
- overflow: visible;
289
- background: var(--lockerverse-control);
290
- border: 1px solid var(--lockerverse-border);
291
- border-radius: var(--lockerverse-radius);
292
- box-shadow: inset 0 1px 0 rgb(255 255 255 / 4%);
293
- transition:
294
- border-color 140ms ease,
295
- box-shadow 140ms ease;
296
- }
297
-
298
- .lockerverse-payment__phone-control:focus-within {
299
- border-color: var(--lockerverse-accent);
300
- box-shadow:
301
- inset 0 1px 0 rgb(255 255 255 / 4%),
302
- 0 0 0 1px var(--lockerverse-accent);
303
- }
304
-
305
- .lockerverse-payment__phone-control:has(:focus-visible) {
306
- box-shadow: 0 0 0 2px
307
- color-mix(in srgb, var(--lockerverse-accent) 24%, transparent);
308
- }
309
-
310
- .lockerverse-payment__phone-control:has([aria-invalid="true"]) {
311
- border-color: var(--lockerverse-danger-border) !important;
312
- }
313
-
314
- .lockerverse-payment__select {
315
- min-width: 0;
316
- }
317
-
318
- .lockerverse-payment__select-trigger {
319
- display: flex;
320
160
  gap: 8px;
321
- align-items: center;
322
- justify-content: space-between;
323
- width: 100%;
324
- min-height: 48px;
325
- padding: 8px 12px;
326
- font: inherit;
327
- font-size: 16px;
328
- line-height: 1.5;
329
- color: var(--lockerverse-text);
330
- text-align: left;
331
- cursor: pointer;
332
- background: var(--lockerverse-control);
333
- border: 1px solid var(--lockerverse-border);
334
- border-radius: var(--lockerverse-radius);
335
- box-shadow: inset 0 1px 0 rgb(255 255 255 / 4%);
336
- transition:
337
- border-color 140ms ease,
338
- box-shadow 140ms ease,
339
- background-color 140ms ease;
340
- }
341
-
342
- .lockerverse-payment__select-trigger:hover,
343
- .lockerverse-payment__select-trigger[data-popup-open] {
344
- background: color-mix(
345
- in srgb,
346
- var(--lockerverse-control) 94%,
347
- var(--lockerverse-text)
348
- );
349
- }
350
-
351
- .lockerverse-payment__select-trigger:focus-visible {
352
- outline: none;
353
- border-color: var(--lockerverse-accent);
354
- box-shadow: 0 0 0 2px
355
- color-mix(in srgb, var(--lockerverse-accent) 24%, transparent);
356
- }
357
-
358
- .lockerverse-payment__select-trigger:focus {
359
- border-color: var(--lockerverse-accent);
360
- }
361
-
362
- .lockerverse-payment__select-icon {
363
- display: grid;
364
- flex: 0 0 auto;
365
- place-items: center;
366
- width: 16px;
367
- height: 16px;
368
- color: var(--lockerverse-muted);
369
- transition: transform 140ms ease;
370
- }
371
-
372
- .lockerverse-payment__select-icon svg,
373
- .lockerverse-payment__select-item-indicator svg {
374
- width: 16px;
375
- height: 16px;
376
- stroke: currentcolor;
377
- stroke-width: 1.8;
378
- stroke-linecap: round;
379
- stroke-linejoin: round;
380
- }
381
-
382
- .lockerverse-payment__select-trigger[data-popup-open]
383
- .lockerverse-payment__select-icon {
384
- transform: rotate(180deg);
385
- }
386
-
387
- .lockerverse-payment__select--phone-country {
388
- position: relative;
389
- z-index: 1;
390
- }
391
-
392
- .lockerverse-payment__select--phone-country
393
- .lockerverse-payment__select-trigger {
394
- padding-right: 9px;
395
- padding-left: 11px;
396
- background: transparent;
397
- border: 0;
398
- border-right: 1px solid var(--lockerverse-border);
399
- border-radius: var(--lockerverse-radius) 0 0 var(--lockerverse-radius);
400
- box-shadow: none;
401
- }
402
-
403
- .lockerverse-payment__phone-control
404
- input:not([type="checkbox"]):not([type="radio"]) {
405
- background: transparent;
406
- border: 0;
407
- border-radius: 0 var(--lockerverse-radius) var(--lockerverse-radius) 0;
408
- box-shadow: none;
409
- }
410
-
411
- .lockerverse-payment__phone-control
412
- input:not([type="checkbox"]):not([type="radio"]):focus,
413
- .lockerverse-payment__phone-control .lockerverse-payment__select-trigger:focus {
414
- border-color: transparent;
415
- box-shadow: none;
416
- }
417
-
418
- .lockerverse-payment__phone-control .lockerverse-payment__select-trigger:focus {
419
- border-right-color: var(--lockerverse-accent);
420
- }
421
-
422
- .lockerverse-payment__phone-control:focus-within
423
- .lockerverse-payment__select-trigger {
424
- border-right-color: var(--lockerverse-accent);
425
- }
426
-
427
- .lockerverse-payment__phone-control [aria-invalid="true"] {
428
- border-color: transparent !important;
429
- }
430
-
431
- .lockerverse-payment__select-positioner {
432
- z-index: 100;
433
- user-select: none;
434
- outline: none;
435
- }
436
-
437
- .lockerverse-payment__select-popup {
438
- min-width: var(--anchor-width);
439
- max-width: min(320px, var(--available-width));
440
- overflow: hidden;
441
- color: var(--lockerverse-text);
442
- background: color-mix(
443
- in srgb,
444
- var(--lockerverse-control) 96%,
445
- var(--lockerverse-bg)
446
- );
447
- background-clip: padding-box;
448
- border: 1px solid color-mix(in srgb, var(--lockerverse-text) 16%, transparent);
449
- border-radius: var(--lockerverse-radius);
450
- box-shadow: 0 18px 48px rgb(0 0 0 / 48%);
451
- opacity: 1;
452
- transform: scale(1);
453
- transform-origin: var(--transform-origin);
454
- transition:
455
- transform 100ms ease-out,
456
- opacity 100ms ease-out;
457
- }
458
-
459
- .lockerverse-payment__select-popup[data-starting-style],
460
- .lockerverse-payment__select-popup[data-ending-style] {
461
- opacity: 0;
462
- transform: scale(0.98);
463
- }
464
-
465
- .lockerverse-payment__select-list {
466
- position: relative;
467
- max-height: min(320px, var(--available-height));
468
- padding: 4px;
469
- overflow-y: auto;
470
- overscroll-behavior: contain;
471
- outline: none;
472
- scroll-padding-block: 4px;
473
- }
474
-
475
- .lockerverse-payment__select-item {
476
- display: grid;
477
- grid-template-columns: minmax(0, 1fr) 16px;
478
- gap: 10px;
479
- align-items: center;
480
- min-height: 38px;
481
- padding: 8px 10px;
482
- font-size: 15px;
483
- line-height: 1.35;
484
- cursor: default;
485
- outline: none;
486
- border-radius: 6px;
487
- }
488
-
489
- .lockerverse-payment__select-item[data-highlighted] {
490
- background: var(--lockerverse-subtle);
491
- }
492
-
493
- .lockerverse-payment__select-item[data-selected] {
494
- font-weight: 600;
495
- }
496
-
497
- .lockerverse-payment__select-item-indicator {
498
- display: grid;
499
- grid-column: 2;
500
- place-items: center;
501
- color: var(--lockerverse-accent);
502
- }
503
-
504
- .lockerverse-payment__check-row {
505
- display: flex;
506
- gap: 12px;
507
- align-items: center;
508
- min-height: 28px;
509
- padding: 4px 2px;
510
- font-size: 15px;
511
- font-weight: 500;
512
- line-height: 1.35;
513
- color: color-mix(in srgb, var(--lockerverse-text) 86%, transparent);
514
- }
515
-
516
- .lockerverse-payment__check-row input {
517
- display: grid;
518
- flex: 0 0 auto;
519
- place-content: center;
520
- width: 20px;
521
- height: 20px;
522
161
  padding: 0;
523
162
  margin: 0;
524
- color: var(--lockerverse-accent-contrast);
525
- appearance: none;
526
- cursor: pointer;
527
- background: transparent;
528
- border: 1px solid color-mix(in srgb, var(--lockerverse-text) 25%, transparent);
529
- border-radius: calc(var(--lockerverse-radius) / 2);
530
- }
531
-
532
- .lockerverse-payment__check-row input::before {
533
- width: 11px;
534
- height: 7px;
535
- content: "";
536
- border-bottom: 2.5px solid currentcolor;
537
- border-left: 2.5px solid currentcolor;
538
- opacity: 0;
539
- transform: translateY(-1px) rotate(-45deg) scale(0.7);
540
- transition:
541
- opacity 100ms ease,
542
- transform 100ms ease;
543
- }
544
-
545
- .lockerverse-payment__check-row input:checked {
546
- background: var(--lockerverse-accent);
547
- border-color: var(--lockerverse-accent);
548
- }
549
-
550
- .lockerverse-payment__check-row input:checked::before {
551
- opacity: 1;
552
- transform: translateY(-1px) rotate(-45deg) scale(1);
553
- }
554
-
555
- .lockerverse-payment__check-row input[type="radio"] {
556
- border-radius: 50%;
557
- }
558
-
559
- .lockerverse-payment__check-row input[type="radio"]::before {
560
- width: 10px;
561
- height: 10px;
562
- background: currentcolor;
563
163
  border: 0;
564
- border-radius: 50%;
565
- transform: scale(0.6);
566
- }
567
-
568
- .lockerverse-payment__check-row input[type="radio"]:checked::before {
569
- transform: scale(1);
570
- }
571
-
572
- .lockerverse-payment__tip-box {
573
- display: grid;
574
- gap: 10px;
575
- padding: 12px;
576
- background: var(--lockerverse-subtle);
577
- border: 1px solid var(--lockerverse-subtle);
578
- border-radius: var(--lockerverse-radius);
579
- }
580
-
581
- .lockerverse-payment__tip-box > p {
582
- padding-bottom: 8px;
583
- font-size: 14px;
584
- font-weight: 600;
585
- }
586
-
587
- .lockerverse-payment__tip-box [role="radiogroup"] {
588
- display: grid;
589
- grid-template-columns: repeat(5, minmax(0, 1fr));
590
- gap: 6px;
591
- }
592
-
593
- .lockerverse-payment__tip-choice {
594
- position: relative;
595
- min-width: 0;
596
- }
597
-
598
- .lockerverse-payment__tip-choice input {
599
- position: absolute;
600
- width: 1px;
601
- height: 1px;
602
- opacity: 0;
603
164
  }
604
165
 
605
- .lockerverse-payment .lockerverse-payment__tip-choice > span {
606
- display: grid;
607
- place-items: center;
608
- min-height: 40px;
609
- padding: 8px 4px;
610
- font: inherit;
166
+ .lockerverse-payment legend {
167
+ margin-bottom: 8px;
611
168
  font-size: 14px;
612
169
  font-weight: 600;
613
- color: var(--lockerverse-muted);
614
- cursor: pointer;
615
- background: color-mix(in srgb, var(--lockerverse-bg) 28%, transparent);
616
- border: 1px solid color-mix(in srgb, var(--lockerverse-text) 9%, transparent);
617
- border-radius: var(--lockerverse-radius);
618
- transition:
619
- background-color 140ms ease,
620
- border-color 140ms ease,
621
- color 140ms ease,
622
- transform 140ms ease;
623
170
  }
624
171
 
625
- .lockerverse-payment__tip-choice:hover span {
626
- color: var(--lockerverse-text);
627
- background: var(--lockerverse-control);
628
- }
629
-
630
- .lockerverse-payment__tip-choice:active span {
631
- transform: translateY(1px);
172
+ .lockerverse-payment__choice {
173
+ display: flex;
174
+ grid-template-columns: none;
175
+ gap: 9px;
176
+ align-items: center;
632
177
  }
633
178
 
634
- .lockerverse-payment__tip-choice input:checked + span {
635
- color: var(--lockerverse-accent-contrast);
636
- background: var(--lockerverse-accent);
637
- border-color: var(--lockerverse-accent);
179
+ .lockerverse-payment input::placeholder {
180
+ color: var(--lockerverse-placeholder);
638
181
  }
639
182
 
640
- .lockerverse-payment__tip-choice input:focus-visible + span {
641
- outline: none;
183
+ .lockerverse-payment input:focus-visible,
184
+ .lockerverse-payment select:focus-visible,
185
+ .lockerverse-payment textarea:focus-visible {
642
186
  border-color: var(--lockerverse-accent);
643
- box-shadow: 0 0 0 1px var(--lockerverse-accent);
187
+ box-shadow: 0 0 0 2px
188
+ color-mix(in srgb, var(--lockerverse-accent) 28%, transparent);
644
189
  }
645
190
 
646
- .lockerverse-payment__tip-box
647
- [role="radiogroup"]
648
- .lockerverse-payment__tip-choice:hover
649
- input:checked
650
- + span {
191
+ .lockerverse-payment button {
192
+ min-height: 44px;
193
+ padding: 10px 16px;
194
+ font: inherit;
195
+ font-weight: 650;
651
196
  color: var(--lockerverse-accent-contrast);
197
+ cursor: pointer;
652
198
  background: var(--lockerverse-accent);
199
+ border: 1px solid transparent;
200
+ border-radius: var(--lockerverse-radius);
653
201
  }
654
202
 
655
- .lockerverse-payment__money-input {
656
- position: relative;
657
- display: block;
658
- }
659
-
660
- .lockerverse-payment .lockerverse-payment__money-input > span {
661
- position: absolute;
662
- top: 50%;
663
- left: 13px;
664
- z-index: 1;
665
- color: var(--lockerverse-muted);
666
- pointer-events: none;
667
- transform: translateY(-50%);
203
+ .lockerverse-payment button:focus-visible {
204
+ outline: 2px solid var(--lockerverse-accent);
205
+ outline-offset: 2px;
668
206
  }
669
207
 
670
- .lockerverse-payment__money-input input {
671
- padding-left: 28px !important;
208
+ .lockerverse-payment button:disabled {
209
+ cursor: wait;
210
+ opacity: 0.58;
672
211
  }
673
212
 
674
- .lockerverse-payment__stripe-loader {
675
- padding: 12px;
676
- background: color-mix(in srgb, var(--lockerverse-text) 2.5%, transparent);
677
- border: 1px solid var(--lockerverse-subtle);
678
- border-radius: var(--lockerverse-radius);
213
+ .lockerverse-payment__additional-fields button {
214
+ color: var(--lockerverse-text);
215
+ background: transparent;
216
+ border-color: var(--lockerverse-border);
679
217
  }
680
218
 
681
- .lockerverse-payment__stripe-loader > p {
219
+ .lockerverse-payment__payment-status,
220
+ .lockerverse-payment [role="alert"] {
682
221
  font-size: 14px;
683
- font-weight: 500;
684
- color: color-mix(in srgb, var(--lockerverse-text) 72%, transparent);
222
+ color: var(--lockerverse-danger);
685
223
  }
686
224
 
687
- .lockerverse-payment__stripe-loader > div {
688
- display: grid;
689
- grid-template-columns: repeat(2, minmax(0, 1fr));
690
- gap: 8px;
225
+ .lockerverse-payment__payment-status button {
691
226
  margin-top: 12px;
692
227
  }
693
228
 
694
- .lockerverse-payment .lockerverse-payment__stripe-loader span {
695
- height: 36px;
696
- background: color-mix(in srgb, var(--lockerverse-text) 4.5%, transparent);
697
- border-radius: 6px;
698
- animation: lockerverse-pulse 1.5s ease-in-out infinite;
699
- }
700
-
701
- .lockerverse-payment__stripe-loader span:first-child {
702
- grid-column: 1 / -1;
703
- background: color-mix(in srgb, var(--lockerverse-text) 6%, transparent);
704
- }
705
-
706
- .lockerverse-payment__sr-only {
229
+ .lockerverse-payment__stripe-element[hidden] {
707
230
  position: absolute;
708
231
  width: 1px;
709
232
  height: 1px;
710
- padding: 0;
711
- margin: -1px;
712
233
  overflow: hidden;
713
- white-space: nowrap;
714
- border: 0;
715
- clip: rect(0, 0, 0, 0);
234
+ clip-path: inset(50%);
235
+ }
236
+
237
+ .lockerverse-payment__loading {
238
+ min-height: 344px;
716
239
  }
717
240
 
718
241
  .lockerverse-payment__skeleton {
719
242
  display: grid;
720
- gap: 16px;
243
+ gap: 22px;
721
244
  }
722
245
 
723
- .lockerverse-payment__skeleton-branding {
724
- display: flex;
725
- gap: 14px;
726
- align-items: center;
246
+ .lockerverse-payment__skeleton-contact,
247
+ .lockerverse-payment__skeleton-field,
248
+ .lockerverse-payment__skeleton-loader-block,
249
+ .lockerverse-payment__skeleton-actions {
250
+ display: grid;
251
+ gap: 9px;
252
+ }
253
+
254
+ .lockerverse-payment__skeleton-contact {
255
+ padding-top: 16px;
256
+ border-top: 1px solid var(--lockerverse-border);
727
257
  }
728
258
 
729
- .lockerverse-payment__skeleton-avatar,
730
- .lockerverse-payment__skeleton-community,
731
259
  .lockerverse-payment__skeleton-label,
732
260
  .lockerverse-payment__skeleton-input,
733
261
  .lockerverse-payment__skeleton-loader-label,
734
262
  .lockerverse-payment__skeleton-loader-full,
735
- .lockerverse-payment__skeleton-loader-half,
736
- .lockerverse-payment__skeleton-check-line,
737
263
  .lockerverse-payment__skeleton-button {
738
264
  display: block;
739
- background: color-mix(in srgb, var(--lockerverse-text) 8%, transparent);
740
- animation: lockerverse-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
741
- }
742
-
743
- .lockerverse-payment__skeleton-avatar {
744
- flex: none;
745
- width: 48px;
746
- height: 48px;
747
- border-radius: var(--lockerverse-radius);
748
- }
749
-
750
- .lockerverse-payment__skeleton-community {
751
- width: 176px;
752
- height: 20px;
753
- border-radius: 4px;
754
- }
755
-
756
- .lockerverse-payment__skeleton-contact {
757
- display: grid;
758
- gap: 12px;
759
- padding-top: 14px;
760
- border-top: 1px solid var(--lockerverse-subtle);
761
- }
762
-
763
- .lockerverse-payment__skeleton-field {
764
- display: grid;
765
- gap: 8px;
766
- }
767
-
768
- .lockerverse-payment__skeleton-label {
769
- width: 48px;
770
- height: 16px;
771
- border-radius: 4px;
772
- }
773
-
774
- .lockerverse-payment__skeleton-input {
775
- width: 100%;
776
- height: 48px;
777
- background: var(--lockerverse-control);
778
- border: 1px solid var(--lockerverse-subtle);
779
- border-radius: var(--lockerverse-radius);
780
- }
781
-
782
- .lockerverse-payment__skeleton-loader-block {
783
- padding: 12px;
784
- background: color-mix(in srgb, var(--lockerverse-text) 2.5%, transparent);
785
- border: 1px solid var(--lockerverse-subtle);
786
- border-radius: var(--lockerverse-radius);
265
+ overflow: hidden;
266
+ background: color-mix(in srgb, var(--lockerverse-text) 9%, transparent);
787
267
  }
788
268
 
269
+ .lockerverse-payment__skeleton-label,
789
270
  .lockerverse-payment__skeleton-loader-label {
790
- width: 144px;
791
- height: 16px;
792
- border-radius: 4px;
793
- }
794
-
795
- .lockerverse-payment__skeleton-loader-content {
796
- display: grid;
797
- gap: 8px;
798
- margin-top: 12px;
271
+ width: 31%;
272
+ height: 14px;
273
+ border-radius: 5px;
799
274
  }
800
275
 
276
+ .lockerverse-payment__skeleton-input,
801
277
  .lockerverse-payment__skeleton-loader-full,
802
- .lockerverse-payment__skeleton-loader-half {
803
- height: 36px;
804
- border-radius: 6px;
805
- }
806
-
807
- .lockerverse-payment__skeleton-loader-full {
808
- background: color-mix(in srgb, var(--lockerverse-text) 6%, transparent);
809
- }
810
-
811
- .lockerverse-payment__skeleton-loader-grid {
812
- display: grid;
813
- grid-template-columns: repeat(2, minmax(0, 1fr));
814
- gap: 8px;
815
- }
816
-
817
- .lockerverse-payment__skeleton-loader-half {
818
- background: color-mix(in srgb, var(--lockerverse-text) 4.5%, transparent);
819
- }
820
-
821
- .lockerverse-payment__skeleton-actions {
822
- display: grid;
823
- gap: 16px;
824
- padding: 20px 0 4px;
825
- }
826
-
827
- .lockerverse-payment__skeleton-check-line {
828
- width: min(256px, 70%);
829
- height: 20px;
830
- border-radius: 4px;
831
- }
832
-
833
278
  .lockerverse-payment__skeleton-button {
834
- width: 100%;
835
279
  height: 48px;
836
- background: color-mix(in srgb, var(--lockerverse-text) 12%, transparent);
837
- border-radius: var(--lockerverse-radius);
838
- }
839
-
840
- .lockerverse-payment button[type="submit"] {
841
- width: 100%;
842
- min-height: 48px;
843
- padding: 12px;
844
- font: inherit;
845
- font-size: 14px;
846
- font-weight: 600;
847
- line-height: 1.25;
848
- color: var(--lockerverse-accent-contrast);
849
- cursor: pointer;
850
- background: var(--lockerverse-accent);
851
- border: 0;
852
280
  border-radius: var(--lockerverse-radius);
853
- box-shadow: 0 14px 34px rgb(0 0 0 / 34%);
854
- transition:
855
- filter 140ms ease,
856
- transform 140ms ease;
857
- }
858
-
859
- .lockerverse-payment button[type="submit"]:hover {
860
- filter: brightness(1.06);
861
- }
862
-
863
- .lockerverse-payment button[type="submit"]:active {
864
- transform: translateY(1px);
865
281
  }
866
282
 
867
- .lockerverse-payment button:disabled {
868
- cursor: wait;
869
- opacity: 0.72;
283
+ .lockerverse-payment__skeleton-loader-full {
284
+ height: 128px;
870
285
  }
871
286
 
872
- .lockerverse-payment [role="alert"],
873
- .lockerverse-payment [id$="-error"] {
874
- font-size: 12px;
875
- font-weight: 500;
876
- line-height: 1.35;
877
- color: var(--lockerverse-danger);
287
+ .lockerverse-payment__skeleton-button {
288
+ margin-top: 8px;
878
289
  }
879
290
 
880
- .lockerverse-payment__field-message:empty {
881
- display: none;
291
+ .lockerverse-payment__skeleton-label::after,
292
+ .lockerverse-payment__skeleton-input::after,
293
+ .lockerverse-payment__skeleton-loader-label::after,
294
+ .lockerverse-payment__skeleton-loader-full::after,
295
+ .lockerverse-payment__skeleton-button::after {
296
+ display: block;
297
+ width: 100%;
298
+ height: 100%;
299
+ content: "";
300
+ background: linear-gradient(
301
+ 90deg,
302
+ transparent,
303
+ color-mix(in srgb, var(--lockerverse-text) 13%, transparent),
304
+ transparent
305
+ );
306
+ transform: translateX(-100%);
307
+ animation: lockerverse-skeleton-shimmer 1.25s ease-in-out infinite;
882
308
  }
883
309
 
884
- @keyframes lockerverse-pulse {
885
- 50% {
886
- opacity: 0.55;
887
- }
310
+ .lockerverse-payment__sr-only {
311
+ position: absolute;
312
+ width: 1px;
313
+ height: 1px;
314
+ padding: 0;
315
+ margin: -1px;
316
+ overflow: hidden;
317
+ white-space: nowrap;
318
+ border: 0;
319
+ clip: rect(0, 0, 0, 0);
888
320
  }
889
321
 
890
- @container (max-width: 360px) {
891
- .lockerverse-payment__phone-control {
892
- grid-template-columns: 78px minmax(0, 1fr);
893
- }
894
-
895
- .lockerverse-payment__tip-box [role="radiogroup"] {
896
- grid-template-columns: repeat(6, minmax(0, 1fr));
897
- }
898
-
899
- .lockerverse-payment__tip-choice {
900
- grid-column: span 2;
901
- }
902
-
903
- .lockerverse-payment__tip-box
904
- [role="radiogroup"]
905
- .lockerverse-payment__tip-choice:nth-last-child(-n + 2) {
906
- grid-column: span 3;
322
+ @keyframes lockerverse-skeleton-shimmer {
323
+ to {
324
+ transform: translateX(100%);
907
325
  }
908
326
  }
909
327
 
910
328
  @media (prefers-reduced-motion: reduce) {
911
- .lockerverse-payment *,
912
- .lockerverse-payment *::before,
913
- .lockerverse-payment *::after {
914
- scroll-behavior: auto !important;
915
- animation-duration: 0.01ms !important;
916
- animation-iteration-count: 1 !important;
917
- transition-duration: 0.01ms !important;
329
+ .lockerverse-payment__skeleton-label::after,
330
+ .lockerverse-payment__skeleton-input::after,
331
+ .lockerverse-payment__skeleton-loader-label::after,
332
+ .lockerverse-payment__skeleton-loader-full::after,
333
+ .lockerverse-payment__skeleton-button::after {
334
+ animation: none;
918
335
  }
919
336
  }