@caprionlinesrl/puck-plugin-media 0.1.4

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/index.css ADDED
@@ -0,0 +1,2288 @@
1
+ /* src/components/Modal/Modal.module.css */
2
+ .Modal_backdrop {
3
+ position: fixed;
4
+ inset: 0;
5
+ z-index: 9999;
6
+ background: rgba(0, 0, 0, 0.5);
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ padding: 24px;
11
+ animation: Modal_fadeIn 0.15s ease;
12
+ }
13
+ @keyframes Modal_fadeIn {
14
+ from {
15
+ opacity: 0;
16
+ }
17
+ to {
18
+ opacity: 1;
19
+ }
20
+ }
21
+ .Modal_modal {
22
+ position: relative;
23
+ width: 100%;
24
+ max-width: 900px;
25
+ max-height: calc(100vh - 48px);
26
+ background: white;
27
+ border-radius: 12px;
28
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
29
+ display: flex;
30
+ flex-direction: column;
31
+ overflow: hidden;
32
+ animation: Modal_slideUp 0.2s ease;
33
+ }
34
+ .Modal_modal.Modal_small {
35
+ max-width: 700px;
36
+ }
37
+ @keyframes Modal_slideUp {
38
+ from {
39
+ opacity: 0;
40
+ transform: translateY(16px);
41
+ }
42
+ to {
43
+ opacity: 1;
44
+ transform: translateY(0);
45
+ }
46
+ }
47
+ .Modal_header {
48
+ display: flex;
49
+ align-items: center;
50
+ gap: 12px;
51
+ padding: 16px 20px;
52
+ border-bottom: 1px solid #e5e5e5;
53
+ flex-shrink: 0;
54
+ }
55
+ .Modal_title {
56
+ flex: 1;
57
+ margin: 0;
58
+ font-size: 18px;
59
+ font-weight: 600;
60
+ color: #171717;
61
+ }
62
+ .Modal_headerActions {
63
+ display: flex;
64
+ align-items: center;
65
+ gap: 8px;
66
+ }
67
+ .Modal_closeButton {
68
+ padding: 8px;
69
+ background: transparent;
70
+ border: none;
71
+ border-radius: 6px;
72
+ cursor: pointer;
73
+ color: #737373;
74
+ display: flex;
75
+ align-items: center;
76
+ justify-content: center;
77
+ transition: background 0.15s, color 0.15s;
78
+ }
79
+ .Modal_closeButton:hover {
80
+ background: #f5f5f5;
81
+ color: #171717;
82
+ }
83
+ .Modal_toolbar {
84
+ padding: 16px 20px;
85
+ border-bottom: 1px solid #e5e5e5;
86
+ flex-shrink: 0;
87
+ }
88
+ .Modal_content {
89
+ flex: 1;
90
+ overflow-y: scroll;
91
+ padding: 20px;
92
+ min-height: 200px;
93
+ }
94
+ .Modal_loading {
95
+ display: flex;
96
+ flex-direction: column;
97
+ align-items: center;
98
+ justify-content: center;
99
+ gap: 12px;
100
+ height: 200px;
101
+ color: #737373;
102
+ font-size: 14px;
103
+ }
104
+ .Modal_spinner {
105
+ animation: Modal_spin 1s linear infinite;
106
+ }
107
+ @keyframes Modal_spin {
108
+ from {
109
+ transform: rotate(0deg);
110
+ }
111
+ to {
112
+ transform: rotate(360deg);
113
+ }
114
+ }
115
+ .Modal_empty {
116
+ display: flex;
117
+ align-items: center;
118
+ justify-content: center;
119
+ height: 200px;
120
+ color: #737373;
121
+ font-size: 14px;
122
+ text-align: center;
123
+ }
124
+ .Modal_footer {
125
+ flex-shrink: 0;
126
+ padding: 12px 20px;
127
+ border-top: 1px solid #e5e5e5;
128
+ background: #fafafa;
129
+ display: flex;
130
+ align-items: center;
131
+ justify-content: space-between;
132
+ gap: 16px;
133
+ }
134
+ @media (max-width: 640px) {
135
+ .Modal_backdrop {
136
+ padding: 0;
137
+ align-items: flex-end;
138
+ }
139
+ .Modal_modal {
140
+ width: 100%;
141
+ max-width: 100%;
142
+ max-height: 90vh;
143
+ min-height: 400px;
144
+ border-radius: 12px 12px 0 0;
145
+ }
146
+ .Modal_header {
147
+ flex-wrap: wrap;
148
+ gap: 8px;
149
+ }
150
+ .Modal_headerActions {
151
+ flex-wrap: wrap;
152
+ }
153
+ .Modal_footer {
154
+ flex-direction: column;
155
+ gap: 12px;
156
+ }
157
+ }
158
+
159
+ /* src/components/SearchBar/SearchBar.module.css */
160
+ .SearchBar_container {
161
+ position: relative;
162
+ flex: 1;
163
+ }
164
+ .SearchBar_icon {
165
+ position: absolute;
166
+ left: 12px;
167
+ top: 50%;
168
+ transform: translateY(-50%);
169
+ color: #a3a3a3;
170
+ pointer-events: none;
171
+ }
172
+ .SearchBar_input {
173
+ width: 100%;
174
+ padding: 10px 40px 10px 44px;
175
+ border: 1px solid #e5e5e5;
176
+ border-radius: 8px;
177
+ font-size: 14px;
178
+ background: #fafafa;
179
+ transition:
180
+ border-color 0.15s,
181
+ background 0.15s,
182
+ box-shadow 0.15s;
183
+ }
184
+ .SearchBar_input:focus {
185
+ outline: none;
186
+ border-color: #3b82f6;
187
+ background: white;
188
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
189
+ }
190
+ .SearchBar_input::placeholder {
191
+ color: #a3a3a3;
192
+ }
193
+ .SearchBar_input::-webkit-search-cancel-button {
194
+ display: none;
195
+ }
196
+ .SearchBar_clearButton {
197
+ position: absolute;
198
+ right: 12px;
199
+ top: 50%;
200
+ transform: translateY(-50%);
201
+ padding: 4px;
202
+ background: transparent;
203
+ border: none;
204
+ border-radius: 4px;
205
+ cursor: pointer;
206
+ color: #737373;
207
+ display: flex;
208
+ align-items: center;
209
+ justify-content: center;
210
+ }
211
+ .SearchBar_clearButton:hover {
212
+ background: #e5e5e5;
213
+ color: #171717;
214
+ }
215
+
216
+ /* src/components/LoadMoreButton/LoadMoreButton.module.css */
217
+ .LoadMoreButton_container {
218
+ display: flex;
219
+ justify-content: center;
220
+ margin-top: 20px;
221
+ }
222
+ .LoadMoreButton_button {
223
+ display: flex;
224
+ align-items: center;
225
+ gap: 8px;
226
+ padding: 10px 20px;
227
+ background: #f5f5f5;
228
+ border: 1px solid #e5e5e5;
229
+ border-radius: 6px;
230
+ font-size: 14px;
231
+ font-weight: 500;
232
+ color: #171717;
233
+ cursor: pointer;
234
+ transition: background 0.15s, border-color 0.15s;
235
+ }
236
+ .LoadMoreButton_button:hover:not(:disabled) {
237
+ background: #ebebeb;
238
+ border-color: #d4d4d4;
239
+ }
240
+ .LoadMoreButton_button:disabled {
241
+ opacity: 0.6;
242
+ cursor: not-allowed;
243
+ }
244
+ .LoadMoreButton_spinner {
245
+ animation: LoadMoreButton_spin 1s linear infinite;
246
+ }
247
+ @keyframes LoadMoreButton_spin {
248
+ from {
249
+ transform: rotate(0deg);
250
+ }
251
+ to {
252
+ transform: rotate(360deg);
253
+ }
254
+ }
255
+
256
+ /* src/components/ConfirmDialog/ConfirmDialog.module.css */
257
+ .ConfirmDialog_overlay {
258
+ position: absolute;
259
+ inset: 0;
260
+ background: rgba(0, 0, 0, 0.5);
261
+ display: flex;
262
+ align-items: center;
263
+ justify-content: center;
264
+ z-index: 10;
265
+ animation: ConfirmDialog_fadeIn 0.15s ease;
266
+ }
267
+ @keyframes ConfirmDialog_fadeIn {
268
+ from {
269
+ opacity: 0;
270
+ }
271
+ to {
272
+ opacity: 1;
273
+ }
274
+ }
275
+ .ConfirmDialog_dialog {
276
+ background: white;
277
+ border-radius: 12px;
278
+ padding: 24px;
279
+ max-width: 400px;
280
+ width: 90%;
281
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
282
+ animation: ConfirmDialog_slideUp 0.2s ease;
283
+ }
284
+ @keyframes ConfirmDialog_slideUp {
285
+ from {
286
+ opacity: 0;
287
+ transform: translateY(16px);
288
+ }
289
+ to {
290
+ opacity: 1;
291
+ transform: translateY(0);
292
+ }
293
+ }
294
+ .ConfirmDialog_title {
295
+ margin: 0 0 12px 0;
296
+ font-size: 18px;
297
+ font-weight: 600;
298
+ color: #171717;
299
+ }
300
+ .ConfirmDialog_message {
301
+ margin: 0 0 20px 0;
302
+ font-size: 14px;
303
+ color: #525252;
304
+ line-height: 1.5;
305
+ }
306
+ .ConfirmDialog_actions {
307
+ display: flex;
308
+ gap: 12px;
309
+ justify-content: flex-end;
310
+ }
311
+ .ConfirmDialog_cancelButton {
312
+ padding: 10px 16px;
313
+ background: #f5f5f5;
314
+ border: 1px solid #e5e5e5;
315
+ border-radius: 6px;
316
+ font-size: 14px;
317
+ font-weight: 500;
318
+ color: #171717;
319
+ cursor: pointer;
320
+ transition: background 0.15s;
321
+ }
322
+ .ConfirmDialog_cancelButton:hover:not(:disabled) {
323
+ background: #ebebeb;
324
+ }
325
+ .ConfirmDialog_cancelButton:disabled {
326
+ opacity: 0.6;
327
+ cursor: not-allowed;
328
+ }
329
+ .ConfirmDialog_confirmButton {
330
+ display: flex;
331
+ align-items: center;
332
+ gap: 8px;
333
+ padding: 10px 16px;
334
+ background: #3b82f6;
335
+ border: none;
336
+ border-radius: 6px;
337
+ font-size: 14px;
338
+ font-weight: 500;
339
+ color: white;
340
+ cursor: pointer;
341
+ transition: background 0.15s;
342
+ }
343
+ .ConfirmDialog_confirmButton:hover:not(:disabled) {
344
+ background: #2563eb;
345
+ }
346
+ .ConfirmDialog_confirmButton.ConfirmDialog_danger {
347
+ background: #dc2626;
348
+ }
349
+ .ConfirmDialog_confirmButton.ConfirmDialog_danger:hover:not(:disabled) {
350
+ background: #b91c1c;
351
+ }
352
+ .ConfirmDialog_confirmButton:disabled {
353
+ opacity: 0.6;
354
+ cursor: not-allowed;
355
+ }
356
+ .ConfirmDialog_spinner {
357
+ animation: ConfirmDialog_spin 1s linear infinite;
358
+ }
359
+ @keyframes ConfirmDialog_spin {
360
+ from {
361
+ transform: rotate(0deg);
362
+ }
363
+ to {
364
+ transform: rotate(360deg);
365
+ }
366
+ }
367
+ @media (max-width: 640px) {
368
+ .ConfirmDialog_actions {
369
+ flex-direction: column;
370
+ }
371
+ .ConfirmDialog_cancelButton,
372
+ .ConfirmDialog_confirmButton {
373
+ width: 100%;
374
+ justify-content: center;
375
+ }
376
+ }
377
+
378
+ /* src/components/SelectionToolbar/SelectionToolbar.module.css */
379
+ .SelectionToolbar_toolbar {
380
+ display: flex;
381
+ align-items: center;
382
+ justify-content: space-between;
383
+ width: 100%;
384
+ gap: 16px;
385
+ }
386
+ .SelectionToolbar_selectAllButton {
387
+ display: flex;
388
+ align-items: center;
389
+ gap: 8px;
390
+ padding: 8px 12px;
391
+ background: transparent;
392
+ border: none;
393
+ border-radius: 6px;
394
+ cursor: pointer;
395
+ font-size: 14px;
396
+ font-weight: 500;
397
+ color: #525252;
398
+ transition: background 0.15s;
399
+ }
400
+ .SelectionToolbar_selectAllButton:hover {
401
+ background: rgba(0, 0, 0, 0.05);
402
+ }
403
+ .SelectionToolbar_checkbox {
404
+ width: 20px;
405
+ height: 20px;
406
+ border: 2px solid #d4d4d4;
407
+ border-radius: 4px;
408
+ display: flex;
409
+ align-items: center;
410
+ justify-content: center;
411
+ transition: background 0.15s, border-color 0.15s;
412
+ background: white;
413
+ }
414
+ .SelectionToolbar_checked .SelectionToolbar_checkbox {
415
+ background: #3b82f6;
416
+ border-color: #3b82f6;
417
+ color: white;
418
+ }
419
+ .SelectionToolbar_indeterminate .SelectionToolbar_checkbox {
420
+ background: #3b82f6;
421
+ border-color: #3b82f6;
422
+ }
423
+ .SelectionToolbar_indeterminateLine {
424
+ width: 10px;
425
+ height: 2px;
426
+ background: white;
427
+ border-radius: 1px;
428
+ }
429
+ .SelectionToolbar_actions {
430
+ display: flex;
431
+ align-items: center;
432
+ gap: 8px;
433
+ }
434
+ .SelectionToolbar_cancelButton {
435
+ padding: 8px 16px;
436
+ background: transparent;
437
+ border: 1px solid #e5e5e5;
438
+ border-radius: 6px;
439
+ font-size: 14px;
440
+ font-weight: 500;
441
+ color: #525252;
442
+ cursor: pointer;
443
+ transition: background 0.15s, border-color 0.15s;
444
+ }
445
+ .SelectionToolbar_cancelButton:hover {
446
+ background: #f5f5f5;
447
+ border-color: #d4d4d4;
448
+ }
449
+ .SelectionToolbar_deleteButton {
450
+ padding: 8px 16px;
451
+ background: #dc2626;
452
+ border: none;
453
+ border-radius: 6px;
454
+ font-size: 14px;
455
+ font-weight: 500;
456
+ color: white;
457
+ cursor: pointer;
458
+ transition: background 0.15s, opacity 0.15s;
459
+ }
460
+ .SelectionToolbar_deleteButton:hover:not(:disabled) {
461
+ background: #b91c1c;
462
+ }
463
+ .SelectionToolbar_deleteButton:disabled {
464
+ opacity: 0.5;
465
+ cursor: not-allowed;
466
+ }
467
+ @media (max-width: 640px) {
468
+ .SelectionToolbar_toolbar {
469
+ flex-wrap: wrap;
470
+ gap: 12px;
471
+ }
472
+ .SelectionToolbar_selectAllButton {
473
+ order: 1;
474
+ }
475
+ .SelectionToolbar_actions {
476
+ order: 2;
477
+ width: 100%;
478
+ justify-content: stretch;
479
+ }
480
+ .SelectionToolbar_cancelButton,
481
+ .SelectionToolbar_deleteButton {
482
+ flex: 1;
483
+ }
484
+ }
485
+
486
+ /* src/components/ImageGrid/ImageGrid.module.css */
487
+ .ImageGrid_grid {
488
+ display: grid;
489
+ grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
490
+ gap: 12px;
491
+ }
492
+ @media (min-width: 640px) {
493
+ .ImageGrid_grid {
494
+ grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
495
+ }
496
+ }
497
+ .ImageGrid_itemContainer {
498
+ display: flex;
499
+ flex-direction: column;
500
+ background: white;
501
+ border: 2px solid #e5e5e5;
502
+ border-radius: 8px;
503
+ overflow: hidden;
504
+ transition: border-color 0.15s, box-shadow 0.15s;
505
+ }
506
+ .ImageGrid_itemContainer:hover {
507
+ border-color: #3b82f6;
508
+ box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
509
+ }
510
+ .ImageGrid_itemContainer:has(.ImageGrid_item:focus) {
511
+ border-color: #3b82f6;
512
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
513
+ }
514
+ .ImageGrid_itemContainer:has(.ImageGrid_selected) {
515
+ border-color: #3b82f6;
516
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
517
+ }
518
+ .ImageGrid_item {
519
+ display: block;
520
+ background: transparent;
521
+ border: none;
522
+ cursor: pointer;
523
+ text-align: left;
524
+ padding: 0;
525
+ transition: transform 0.15s;
526
+ }
527
+ .ImageGrid_item:focus {
528
+ outline: none;
529
+ }
530
+ .ImageGrid_item:active {
531
+ transform: scale(0.98);
532
+ }
533
+ .ImageGrid_imageWrapper {
534
+ position: relative;
535
+ aspect-ratio: 1;
536
+ background: #f5f5f5;
537
+ overflow: hidden;
538
+ }
539
+ .ImageGrid_image {
540
+ width: 100%;
541
+ height: 100%;
542
+ object-fit: cover;
543
+ display: block;
544
+ transition: transform 0.2s;
545
+ }
546
+ .ImageGrid_itemContainer:hover .ImageGrid_image {
547
+ transform: scale(1.05);
548
+ }
549
+ .ImageGrid_checkmark {
550
+ position: absolute;
551
+ top: 8px;
552
+ right: 8px;
553
+ width: 24px;
554
+ height: 24px;
555
+ background: #3b82f6;
556
+ border-radius: 50%;
557
+ display: flex;
558
+ align-items: center;
559
+ justify-content: center;
560
+ color: white;
561
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
562
+ }
563
+ .ImageGrid_checkbox {
564
+ position: absolute;
565
+ top: 8px;
566
+ left: 8px;
567
+ width: 22px;
568
+ height: 22px;
569
+ background: white;
570
+ border: 2px solid #d4d4d4;
571
+ border-radius: 4px;
572
+ display: flex;
573
+ align-items: center;
574
+ justify-content: center;
575
+ color: white;
576
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
577
+ transition: background 0.15s, border-color 0.15s;
578
+ }
579
+ .ImageGrid_checkbox:hover {
580
+ border-color: #3b82f6;
581
+ }
582
+ .ImageGrid_checkboxChecked {
583
+ background: #3b82f6;
584
+ border-color: #3b82f6;
585
+ }
586
+ .ImageGrid_info {
587
+ padding: 8px 10px;
588
+ min-height: 48px;
589
+ }
590
+ .ImageGrid_infoRow {
591
+ display: flex;
592
+ align-items: flex-start;
593
+ justify-content: space-between;
594
+ gap: 4px;
595
+ }
596
+ .ImageGrid_infoText {
597
+ flex: 1;
598
+ min-width: 0;
599
+ display: flex;
600
+ flex-direction: column;
601
+ gap: 2px;
602
+ }
603
+ .ImageGrid_filename {
604
+ font-size: 12px;
605
+ font-weight: 500;
606
+ color: #171717;
607
+ white-space: nowrap;
608
+ overflow: hidden;
609
+ text-overflow: ellipsis;
610
+ line-height: 1.4;
611
+ }
612
+ .ImageGrid_meta {
613
+ display: flex;
614
+ gap: 8px;
615
+ font-size: 11px;
616
+ color: #737373;
617
+ }
618
+ .ImageGrid_meta span {
619
+ white-space: nowrap;
620
+ }
621
+ .ImageGrid_editButton {
622
+ display: flex;
623
+ align-items: center;
624
+ justify-content: center;
625
+ width: 28px;
626
+ height: 28px;
627
+ padding: 0;
628
+ background: transparent;
629
+ border: none;
630
+ border-radius: 6px;
631
+ cursor: pointer;
632
+ color: #a3a3a3;
633
+ transition: background 0.15s, color 0.15s;
634
+ flex-shrink: 0;
635
+ }
636
+ .ImageGrid_editButton:hover {
637
+ background: #f5f5f5;
638
+ color: #3b82f6;
639
+ }
640
+ .ImageGrid_editButton:focus {
641
+ outline: none;
642
+ background: #f5f5f5;
643
+ color: #3b82f6;
644
+ }
645
+
646
+ /* src/components/UploadDropzone/UploadDropzone.module.css */
647
+ .UploadDropzone_dropzone {
648
+ display: flex;
649
+ flex-direction: column;
650
+ align-items: center;
651
+ justify-content: center;
652
+ gap: 8px;
653
+ padding: 20px 16px;
654
+ border: 2px dashed #d4d4d4;
655
+ border-radius: 8px;
656
+ background: #fafafa;
657
+ cursor: pointer;
658
+ transition: border-color 0.15s, background 0.15s;
659
+ user-select: none;
660
+ }
661
+ .UploadDropzone_dropzone:hover:not(.UploadDropzone_disabled) {
662
+ border-color: #3b82f6;
663
+ background: #eff6ff;
664
+ }
665
+ .UploadDropzone_dropzone:focus {
666
+ outline: none;
667
+ border-color: #3b82f6;
668
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
669
+ }
670
+ .UploadDropzone_dropzone.UploadDropzone_dragging {
671
+ border-color: #3b82f6;
672
+ background: #dbeafe;
673
+ border-style: solid;
674
+ }
675
+ .UploadDropzone_dropzone.UploadDropzone_disabled {
676
+ opacity: 0.5;
677
+ cursor: not-allowed;
678
+ }
679
+ .UploadDropzone_input {
680
+ display: none;
681
+ }
682
+ .UploadDropzone_icon {
683
+ color: #737373;
684
+ transition: color 0.15s;
685
+ }
686
+ .UploadDropzone_dropzone:hover:not(.UploadDropzone_disabled) .UploadDropzone_icon,
687
+ .UploadDropzone_dropzone.UploadDropzone_dragging .UploadDropzone_icon {
688
+ color: #3b82f6;
689
+ }
690
+ .UploadDropzone_text {
691
+ font-size: 14px;
692
+ font-weight: 500;
693
+ color: #525252;
694
+ text-align: center;
695
+ }
696
+ .UploadDropzone_dropzone:hover:not(.UploadDropzone_disabled) .UploadDropzone_text,
697
+ .UploadDropzone_dropzone.UploadDropzone_dragging .UploadDropzone_text {
698
+ color: #3b82f6;
699
+ }
700
+ .UploadDropzone_hint {
701
+ font-size: 12px;
702
+ color: #a3a3a3;
703
+ text-align: center;
704
+ }
705
+
706
+ /* src/components/UploadQueue/UploadQueue.module.css */
707
+ .UploadQueue_container {
708
+ border: 1px solid #e5e5e5;
709
+ border-radius: 8px;
710
+ background: white;
711
+ overflow: hidden;
712
+ }
713
+ .UploadQueue_header {
714
+ display: flex;
715
+ align-items: center;
716
+ justify-content: space-between;
717
+ padding: 10px 12px;
718
+ background: #f5f5f5;
719
+ border-bottom: 1px solid #e5e5e5;
720
+ }
721
+ .UploadQueue_title {
722
+ font-size: 13px;
723
+ font-weight: 500;
724
+ color: #171717;
725
+ }
726
+ .UploadQueue_clearButton {
727
+ padding: 4px 8px;
728
+ background: transparent;
729
+ border: none;
730
+ border-radius: 4px;
731
+ font-size: 12px;
732
+ color: #3b82f6;
733
+ cursor: pointer;
734
+ transition: background 0.15s;
735
+ }
736
+ .UploadQueue_clearButton:hover {
737
+ background: #eff6ff;
738
+ }
739
+ .UploadQueue_list {
740
+ max-height: 200px;
741
+ overflow-y: auto;
742
+ }
743
+ .UploadQueue_item {
744
+ display: flex;
745
+ align-items: center;
746
+ gap: 10px;
747
+ padding: 8px 12px;
748
+ border-bottom: 1px solid #f0f0f0;
749
+ }
750
+ .UploadQueue_item:last-child {
751
+ border-bottom: none;
752
+ }
753
+ .UploadQueue_preview {
754
+ position: relative;
755
+ width: 40px;
756
+ height: 40px;
757
+ border-radius: 4px;
758
+ overflow: hidden;
759
+ flex-shrink: 0;
760
+ background: #f5f5f5;
761
+ }
762
+ .UploadQueue_previewImage {
763
+ width: 100%;
764
+ height: 100%;
765
+ object-fit: cover;
766
+ }
767
+ .UploadQueue_previewPlaceholder {
768
+ width: 100%;
769
+ height: 100%;
770
+ background:
771
+ linear-gradient(
772
+ 135deg,
773
+ #e5e5e5 0%,
774
+ #f5f5f5 100%);
775
+ }
776
+ .UploadQueue_progressOverlay {
777
+ position: absolute;
778
+ inset: 0;
779
+ display: flex;
780
+ align-items: center;
781
+ justify-content: center;
782
+ background: rgba(0, 0, 0, 0.3);
783
+ }
784
+ .UploadQueue_progressBar {
785
+ position: absolute;
786
+ bottom: 0;
787
+ left: 0;
788
+ right: 0;
789
+ background: rgba(0, 0, 0, 0.5);
790
+ transition: height 0.2s ease;
791
+ }
792
+ .UploadQueue_progressText {
793
+ position: relative;
794
+ z-index: 1;
795
+ font-size: 10px;
796
+ font-weight: 600;
797
+ color: white;
798
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
799
+ }
800
+ .UploadQueue_info {
801
+ flex: 1;
802
+ min-width: 0;
803
+ display: flex;
804
+ flex-direction: column;
805
+ gap: 2px;
806
+ }
807
+ .UploadQueue_filename {
808
+ font-size: 13px;
809
+ color: #171717;
810
+ white-space: nowrap;
811
+ overflow: hidden;
812
+ text-overflow: ellipsis;
813
+ }
814
+ .UploadQueue_size {
815
+ font-size: 11px;
816
+ color: #737373;
817
+ }
818
+ .UploadQueue_error {
819
+ font-size: 11px;
820
+ color: #dc2626;
821
+ }
822
+ .UploadQueue_actions {
823
+ flex-shrink: 0;
824
+ display: flex;
825
+ align-items: center;
826
+ }
827
+ .UploadQueue_cancelButton {
828
+ padding: 4px;
829
+ background: transparent;
830
+ border: none;
831
+ border-radius: 4px;
832
+ cursor: pointer;
833
+ color: #737373;
834
+ display: flex;
835
+ align-items: center;
836
+ justify-content: center;
837
+ transition: background 0.15s, color 0.15s;
838
+ }
839
+ .UploadQueue_cancelButton:hover {
840
+ background: #fee2e2;
841
+ color: #dc2626;
842
+ }
843
+ .UploadQueue_spinner {
844
+ color: #3b82f6;
845
+ animation: UploadQueue_spin 1s linear infinite;
846
+ }
847
+ @keyframes UploadQueue_spin {
848
+ from {
849
+ transform: rotate(0deg);
850
+ }
851
+ to {
852
+ transform: rotate(360deg);
853
+ }
854
+ }
855
+ .UploadQueue_successIcon {
856
+ color: #16a34a;
857
+ }
858
+ .UploadQueue_errorIcon {
859
+ color: #dc2626;
860
+ }
861
+ .UploadQueue_item.UploadQueue_completed {
862
+ background: #f0fdf4;
863
+ }
864
+ .UploadQueue_item.UploadQueue_error {
865
+ background: #fef2f2;
866
+ }
867
+
868
+ /* src/components/ImagePickerModal/ImagePickerModal.module.css */
869
+ .ImagePickerModal_backButton {
870
+ padding: 8px;
871
+ background: transparent;
872
+ border: none;
873
+ border-radius: 6px;
874
+ cursor: pointer;
875
+ color: #737373;
876
+ display: flex;
877
+ align-items: center;
878
+ justify-content: center;
879
+ transition: background 0.15s, color 0.15s;
880
+ }
881
+ .ImagePickerModal_backButton:hover {
882
+ background: #f5f5f5;
883
+ color: #171717;
884
+ }
885
+ .ImagePickerModal_selectModeButton {
886
+ padding: 8px 14px;
887
+ background: #f5f5f5;
888
+ border: 1px solid #e5e5e5;
889
+ border-radius: 6px;
890
+ font-size: 13px;
891
+ font-weight: 500;
892
+ color: #525252;
893
+ cursor: pointer;
894
+ transition: background 0.15s, border-color 0.15s;
895
+ }
896
+ .ImagePickerModal_selectModeButton:hover {
897
+ background: #ebebeb;
898
+ border-color: #d4d4d4;
899
+ }
900
+ .ImagePickerModal_toolbar {
901
+ display: flex;
902
+ gap: 12px;
903
+ }
904
+ .ImagePickerModal_uploadSection {
905
+ margin-bottom: 16px;
906
+ display: flex;
907
+ flex-direction: column;
908
+ gap: 12px;
909
+ }
910
+ .ImagePickerModal_footer {
911
+ display: flex;
912
+ align-items: center;
913
+ justify-content: space-between;
914
+ gap: 16px;
915
+ width: 100%;
916
+ }
917
+ .ImagePickerModal_footerInfo {
918
+ display: flex;
919
+ align-items: center;
920
+ gap: 10px;
921
+ min-width: 0;
922
+ flex: 1;
923
+ }
924
+ .ImagePickerModal_footerImage {
925
+ width: 36px;
926
+ height: 36px;
927
+ object-fit: cover;
928
+ border-radius: 4px;
929
+ border: 1px solid #e5e5e5;
930
+ flex-shrink: 0;
931
+ }
932
+ .ImagePickerModal_footerFilename {
933
+ font-size: 13px;
934
+ font-weight: 500;
935
+ color: #171717;
936
+ white-space: nowrap;
937
+ overflow: hidden;
938
+ text-overflow: ellipsis;
939
+ }
940
+ .ImagePickerModal_footerMeta {
941
+ font-size: 12px;
942
+ color: #737373;
943
+ white-space: nowrap;
944
+ flex-shrink: 0;
945
+ }
946
+ .ImagePickerModal_selectButton {
947
+ padding: 10px 20px;
948
+ background: #3b82f6;
949
+ border: none;
950
+ border-radius: 6px;
951
+ font-size: 14px;
952
+ font-weight: 500;
953
+ color: white;
954
+ cursor: pointer;
955
+ transition: background 0.15s;
956
+ flex-shrink: 0;
957
+ }
958
+ .ImagePickerModal_selectButton:hover {
959
+ background: #2563eb;
960
+ }
961
+ .ImagePickerModal_editContent {
962
+ display: flex;
963
+ flex-direction: column;
964
+ gap: 24px;
965
+ }
966
+ .ImagePickerModal_editPreview {
967
+ display: flex;
968
+ justify-content: center;
969
+ align-items: center;
970
+ background: #f5f5f5;
971
+ border-radius: 8px;
972
+ padding: 20px;
973
+ min-height: 200px;
974
+ max-height: 300px;
975
+ }
976
+ .ImagePickerModal_editImage {
977
+ max-width: 100%;
978
+ max-height: 260px;
979
+ object-fit: contain;
980
+ border-radius: 4px;
981
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
982
+ }
983
+ .ImagePickerModal_editInfo {
984
+ display: flex;
985
+ flex-direction: column;
986
+ gap: 8px;
987
+ padding: 16px;
988
+ background: #fafafa;
989
+ border-radius: 8px;
990
+ }
991
+ .ImagePickerModal_editInfoRow {
992
+ display: flex;
993
+ align-items: center;
994
+ gap: 12px;
995
+ }
996
+ .ImagePickerModal_editInfoLabel {
997
+ font-size: 13px;
998
+ font-weight: 500;
999
+ color: #737373;
1000
+ min-width: 100px;
1001
+ }
1002
+ .ImagePickerModal_editInfoValue {
1003
+ font-size: 13px;
1004
+ color: #171717;
1005
+ }
1006
+ .ImagePickerModal_editField {
1007
+ display: flex;
1008
+ flex-direction: column;
1009
+ gap: 8px;
1010
+ }
1011
+ .ImagePickerModal_editFieldHeader {
1012
+ display: flex;
1013
+ align-items: center;
1014
+ justify-content: space-between;
1015
+ }
1016
+ .ImagePickerModal_editFieldLabel {
1017
+ font-size: 14px;
1018
+ font-weight: 600;
1019
+ color: #171717;
1020
+ margin: 0;
1021
+ }
1022
+ .ImagePickerModal_langTabs {
1023
+ display: flex;
1024
+ gap: 2px;
1025
+ background: #e5e5e5;
1026
+ border-radius: 6px;
1027
+ padding: 3px;
1028
+ }
1029
+ .ImagePickerModal_langTab {
1030
+ padding: 6px 12px;
1031
+ font-size: 12px;
1032
+ font-weight: 600;
1033
+ color: #737373;
1034
+ background: transparent;
1035
+ border: none;
1036
+ border-radius: 4px;
1037
+ cursor: pointer;
1038
+ transition: background 0.15s, color 0.15s;
1039
+ }
1040
+ .ImagePickerModal_langTab:hover {
1041
+ color: #525252;
1042
+ }
1043
+ .ImagePickerModal_langTabActive {
1044
+ background: white;
1045
+ color: #171717;
1046
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
1047
+ }
1048
+ .ImagePickerModal_editInput {
1049
+ padding: 12px 14px;
1050
+ border: 1px solid #e5e5e5;
1051
+ border-radius: 8px;
1052
+ font-size: 14px;
1053
+ background: white;
1054
+ transition: border-color 0.15s, box-shadow 0.15s;
1055
+ }
1056
+ .ImagePickerModal_editInput:focus {
1057
+ outline: none;
1058
+ border-color: #3b82f6;
1059
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1060
+ }
1061
+ .ImagePickerModal_editInput::placeholder {
1062
+ color: #a3a3a3;
1063
+ }
1064
+ .ImagePickerModal_editFooter {
1065
+ display: flex;
1066
+ align-items: center;
1067
+ justify-content: space-between;
1068
+ width: 100%;
1069
+ }
1070
+ .ImagePickerModal_saveButton {
1071
+ display: flex;
1072
+ align-items: center;
1073
+ gap: 8px;
1074
+ padding: 10px 20px;
1075
+ background: #10b981;
1076
+ border: none;
1077
+ border-radius: 6px;
1078
+ font-size: 14px;
1079
+ font-weight: 500;
1080
+ color: white;
1081
+ cursor: pointer;
1082
+ transition: background 0.15s;
1083
+ }
1084
+ .ImagePickerModal_saveButton:hover:not(:disabled) {
1085
+ background: #059669;
1086
+ }
1087
+ .ImagePickerModal_saveButton:disabled {
1088
+ opacity: 0.6;
1089
+ cursor: not-allowed;
1090
+ }
1091
+ .ImagePickerModal_spinner {
1092
+ animation: ImagePickerModal_spin 1s linear infinite;
1093
+ }
1094
+ @keyframes ImagePickerModal_spin {
1095
+ from {
1096
+ transform: rotate(0deg);
1097
+ }
1098
+ to {
1099
+ transform: rotate(360deg);
1100
+ }
1101
+ }
1102
+ @media (max-width: 640px) {
1103
+ .ImagePickerModal_footer {
1104
+ flex-direction: column;
1105
+ gap: 12px;
1106
+ }
1107
+ .ImagePickerModal_footerInfo {
1108
+ width: 100%;
1109
+ }
1110
+ .ImagePickerModal_selectButton {
1111
+ width: 100%;
1112
+ }
1113
+ .ImagePickerModal_editPreview {
1114
+ min-height: 150px;
1115
+ max-height: 200px;
1116
+ }
1117
+ .ImagePickerModal_editImage {
1118
+ max-height: 160px;
1119
+ }
1120
+ .ImagePickerModal_editInfoRow {
1121
+ flex-direction: column;
1122
+ align-items: flex-start;
1123
+ gap: 4px;
1124
+ }
1125
+ .ImagePickerModal_editInfoLabel {
1126
+ min-width: auto;
1127
+ }
1128
+ }
1129
+
1130
+ /* src/components/ImageField/ImageField.module.css */
1131
+ .ImageField_container {
1132
+ margin-top: 8px;
1133
+ }
1134
+ .ImageField_preview {
1135
+ position: relative;
1136
+ border-radius: 6px;
1137
+ overflow: hidden;
1138
+ border: 1px solid #e5e5e5;
1139
+ background: #f5f5f5;
1140
+ }
1141
+ .ImageField_image {
1142
+ width: 100%;
1143
+ height: 128px;
1144
+ object-fit: cover;
1145
+ display: block;
1146
+ }
1147
+ .ImageField_overlay {
1148
+ position: absolute;
1149
+ inset: 0;
1150
+ background: rgba(0, 0, 0, 0.4);
1151
+ display: flex;
1152
+ align-items: center;
1153
+ justify-content: center;
1154
+ gap: 8px;
1155
+ opacity: 0;
1156
+ transition: opacity 0.15s ease;
1157
+ }
1158
+ .ImageField_preview:hover .ImageField_overlay {
1159
+ opacity: 1;
1160
+ }
1161
+ .ImageField_changeButton {
1162
+ padding: 8px 16px;
1163
+ background: white;
1164
+ border: none;
1165
+ border-radius: 4px;
1166
+ font-size: 13px;
1167
+ font-weight: 500;
1168
+ cursor: pointer;
1169
+ transition: background 0.15s;
1170
+ }
1171
+ .ImageField_changeButton:hover {
1172
+ background: #f0f0f0;
1173
+ }
1174
+ .ImageField_removeButton {
1175
+ padding: 8px;
1176
+ background: white;
1177
+ border: none;
1178
+ border-radius: 4px;
1179
+ cursor: pointer;
1180
+ display: flex;
1181
+ align-items: center;
1182
+ justify-content: center;
1183
+ color: #dc2626;
1184
+ transition: background 0.15s;
1185
+ }
1186
+ .ImageField_removeButton:hover {
1187
+ background: #fee2e2;
1188
+ }
1189
+ .ImageField_selectButton {
1190
+ width: 100%;
1191
+ padding: 24px 16px;
1192
+ border: 2px dashed #d4d4d4;
1193
+ border-radius: 6px;
1194
+ background: transparent;
1195
+ cursor: pointer;
1196
+ display: flex;
1197
+ flex-direction: column;
1198
+ align-items: center;
1199
+ gap: 8px;
1200
+ color: #737373;
1201
+ font-size: 13px;
1202
+ transition:
1203
+ border-color 0.15s,
1204
+ color 0.15s,
1205
+ background 0.15s;
1206
+ }
1207
+ .ImageField_selectButton:hover {
1208
+ border-color: #3b82f6;
1209
+ color: #3b82f6;
1210
+ background: #eff6ff;
1211
+ }
1212
+ .ImageField_selectButton:focus {
1213
+ outline: none;
1214
+ border-color: #3b82f6;
1215
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
1216
+ }
1217
+
1218
+ /* src/components/GalleryPickerModal/GalleryPickerModal.module.css */
1219
+ .GalleryPickerModal_backButton {
1220
+ padding: 8px;
1221
+ background: transparent;
1222
+ border: none;
1223
+ border-radius: 6px;
1224
+ cursor: pointer;
1225
+ color: #737373;
1226
+ display: flex;
1227
+ align-items: center;
1228
+ justify-content: center;
1229
+ transition: background 0.15s, color 0.15s;
1230
+ }
1231
+ .GalleryPickerModal_backButton:hover {
1232
+ background: #f5f5f5;
1233
+ color: #171717;
1234
+ }
1235
+ .GalleryPickerModal_selectModeButton {
1236
+ padding: 8px 16px;
1237
+ background: #f5f5f5;
1238
+ border: 1px solid #e5e5e5;
1239
+ border-radius: 6px;
1240
+ font-size: 14px;
1241
+ font-weight: 500;
1242
+ color: #525252;
1243
+ cursor: pointer;
1244
+ transition: background 0.15s, border-color 0.15s;
1245
+ }
1246
+ .GalleryPickerModal_selectModeButton:hover {
1247
+ background: #ebebeb;
1248
+ border-color: #d4d4d4;
1249
+ }
1250
+ .GalleryPickerModal_toolbar {
1251
+ display: flex;
1252
+ gap: 12px;
1253
+ }
1254
+ .GalleryPickerModal_createButton {
1255
+ display: flex;
1256
+ align-items: center;
1257
+ gap: 6px;
1258
+ padding: 10px 16px;
1259
+ background: #3b82f6;
1260
+ border: none;
1261
+ border-radius: 8px;
1262
+ font-size: 14px;
1263
+ font-weight: 500;
1264
+ color: white;
1265
+ cursor: pointer;
1266
+ white-space: nowrap;
1267
+ transition: background 0.15s;
1268
+ }
1269
+ .GalleryPickerModal_createButton:hover {
1270
+ background: #2563eb;
1271
+ }
1272
+ .GalleryPickerModal_createForm {
1273
+ display: flex;
1274
+ gap: 8px;
1275
+ padding: 12px;
1276
+ background: #f5f5f5;
1277
+ border-radius: 8px;
1278
+ margin-bottom: 16px;
1279
+ }
1280
+ .GalleryPickerModal_createInput {
1281
+ flex: 1;
1282
+ padding: 8px 12px;
1283
+ border: 1px solid #e5e5e5;
1284
+ border-radius: 6px;
1285
+ font-size: 14px;
1286
+ background: white;
1287
+ }
1288
+ .GalleryPickerModal_createInput:focus {
1289
+ outline: none;
1290
+ border-color: #3b82f6;
1291
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1292
+ }
1293
+ .GalleryPickerModal_createSubmitButton {
1294
+ display: flex;
1295
+ align-items: center;
1296
+ gap: 6px;
1297
+ padding: 8px 16px;
1298
+ background: #3b82f6;
1299
+ border: none;
1300
+ border-radius: 6px;
1301
+ font-size: 14px;
1302
+ font-weight: 500;
1303
+ color: white;
1304
+ cursor: pointer;
1305
+ transition: background 0.15s;
1306
+ }
1307
+ .GalleryPickerModal_createSubmitButton:hover:not(:disabled) {
1308
+ background: #2563eb;
1309
+ }
1310
+ .GalleryPickerModal_createSubmitButton:disabled {
1311
+ opacity: 0.6;
1312
+ cursor: not-allowed;
1313
+ }
1314
+ .GalleryPickerModal_createCancelButton {
1315
+ padding: 8px 12px;
1316
+ background: white;
1317
+ border: 1px solid #e5e5e5;
1318
+ border-radius: 6px;
1319
+ font-size: 14px;
1320
+ color: #525252;
1321
+ cursor: pointer;
1322
+ transition: background 0.15s;
1323
+ }
1324
+ .GalleryPickerModal_createCancelButton:hover {
1325
+ background: #f5f5f5;
1326
+ }
1327
+ .GalleryPickerModal_uploadSection {
1328
+ display: flex;
1329
+ flex-direction: column;
1330
+ gap: 12px;
1331
+ }
1332
+ .GalleryPickerModal_galleryGrid {
1333
+ display: grid;
1334
+ grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
1335
+ gap: 16px;
1336
+ }
1337
+ .GalleryPickerModal_galleryCard {
1338
+ position: relative;
1339
+ border-radius: 8px;
1340
+ overflow: hidden;
1341
+ }
1342
+ .GalleryPickerModal_galleryCardButton {
1343
+ display: block;
1344
+ width: 100%;
1345
+ padding: 0;
1346
+ background: white;
1347
+ border: 2px solid #e5e5e5;
1348
+ border-radius: 8px;
1349
+ cursor: pointer;
1350
+ text-align: left;
1351
+ transition: border-color 0.15s, box-shadow 0.15s;
1352
+ overflow: hidden;
1353
+ }
1354
+ .GalleryPickerModal_galleryCardButton:hover {
1355
+ border-color: #3b82f6;
1356
+ box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
1357
+ }
1358
+ .GalleryPickerModal_galleryCardButton.GalleryPickerModal_selected {
1359
+ border-color: #3b82f6;
1360
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
1361
+ }
1362
+ .GalleryPickerModal_checkbox {
1363
+ position: absolute;
1364
+ top: 8px;
1365
+ left: 8px;
1366
+ width: 22px;
1367
+ height: 22px;
1368
+ background: white;
1369
+ border: 2px solid #d4d4d4;
1370
+ border-radius: 4px;
1371
+ display: flex;
1372
+ align-items: center;
1373
+ justify-content: center;
1374
+ z-index: 1;
1375
+ transition: background 0.15s, border-color 0.15s;
1376
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
1377
+ }
1378
+ .GalleryPickerModal_checkboxChecked {
1379
+ background: #3b82f6;
1380
+ border-color: #3b82f6;
1381
+ color: white;
1382
+ }
1383
+ .GalleryPickerModal_galleryCover {
1384
+ aspect-ratio: 4/3;
1385
+ background: #f5f5f5;
1386
+ overflow: hidden;
1387
+ }
1388
+ .GalleryPickerModal_galleryCover img {
1389
+ width: 100%;
1390
+ height: 100%;
1391
+ object-fit: cover;
1392
+ transition: transform 0.2s;
1393
+ }
1394
+ .GalleryPickerModal_galleryCardButton:hover .GalleryPickerModal_galleryCover img {
1395
+ transform: scale(1.05);
1396
+ }
1397
+ .GalleryPickerModal_galleryCoverPlaceholder {
1398
+ width: 100%;
1399
+ height: 100%;
1400
+ background:
1401
+ linear-gradient(
1402
+ 135deg,
1403
+ #e5e5e5 0%,
1404
+ #f5f5f5 100%);
1405
+ }
1406
+ .GalleryPickerModal_galleryInfo {
1407
+ padding: 12px;
1408
+ display: flex;
1409
+ flex-direction: column;
1410
+ gap: 4px;
1411
+ }
1412
+ .GalleryPickerModal_galleryName {
1413
+ font-size: 14px;
1414
+ font-weight: 500;
1415
+ color: #171717;
1416
+ white-space: nowrap;
1417
+ overflow: hidden;
1418
+ text-overflow: ellipsis;
1419
+ }
1420
+ .GalleryPickerModal_galleryCount {
1421
+ font-size: 12px;
1422
+ color: #737373;
1423
+ }
1424
+ .GalleryPickerModal_footer {
1425
+ display: flex;
1426
+ align-items: center;
1427
+ justify-content: space-between;
1428
+ gap: 16px;
1429
+ width: 100%;
1430
+ }
1431
+ .GalleryPickerModal_footerInfo {
1432
+ display: flex;
1433
+ align-items: center;
1434
+ gap: 10px;
1435
+ flex: 1;
1436
+ }
1437
+ .GalleryPickerModal_footerText {
1438
+ font-size: 13px;
1439
+ color: #737373;
1440
+ }
1441
+ .GalleryPickerModal_selectButton {
1442
+ padding: 10px 20px;
1443
+ background: #3b82f6;
1444
+ border: none;
1445
+ border-radius: 6px;
1446
+ font-size: 14px;
1447
+ font-weight: 500;
1448
+ color: white;
1449
+ cursor: pointer;
1450
+ transition: background 0.15s;
1451
+ flex-shrink: 0;
1452
+ }
1453
+ .GalleryPickerModal_selectButton:hover {
1454
+ background: #2563eb;
1455
+ }
1456
+ .GalleryPickerModal_editContent {
1457
+ display: flex;
1458
+ flex-direction: column;
1459
+ gap: 24px;
1460
+ }
1461
+ .GalleryPickerModal_editPreview {
1462
+ display: flex;
1463
+ justify-content: center;
1464
+ align-items: center;
1465
+ background: #f5f5f5;
1466
+ border-radius: 8px;
1467
+ padding: 20px;
1468
+ min-height: 200px;
1469
+ max-height: 300px;
1470
+ }
1471
+ .GalleryPickerModal_editImage {
1472
+ max-width: 100%;
1473
+ max-height: 260px;
1474
+ object-fit: contain;
1475
+ border-radius: 4px;
1476
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
1477
+ }
1478
+ .GalleryPickerModal_editInfo {
1479
+ display: flex;
1480
+ flex-direction: column;
1481
+ gap: 8px;
1482
+ padding: 16px;
1483
+ background: #fafafa;
1484
+ border-radius: 8px;
1485
+ }
1486
+ .GalleryPickerModal_editInfoRow {
1487
+ display: flex;
1488
+ align-items: center;
1489
+ gap: 12px;
1490
+ }
1491
+ .GalleryPickerModal_editInfoLabel {
1492
+ font-size: 13px;
1493
+ font-weight: 500;
1494
+ color: #737373;
1495
+ min-width: 100px;
1496
+ }
1497
+ .GalleryPickerModal_editInfoValue {
1498
+ font-size: 13px;
1499
+ color: #171717;
1500
+ }
1501
+ .GalleryPickerModal_editField {
1502
+ display: flex;
1503
+ flex-direction: column;
1504
+ gap: 8px;
1505
+ }
1506
+ .GalleryPickerModal_editFieldHeader {
1507
+ display: flex;
1508
+ align-items: center;
1509
+ justify-content: space-between;
1510
+ }
1511
+ .GalleryPickerModal_editFieldLabel {
1512
+ font-size: 14px;
1513
+ font-weight: 600;
1514
+ color: #171717;
1515
+ margin: 0;
1516
+ }
1517
+ .GalleryPickerModal_langTabs {
1518
+ display: flex;
1519
+ gap: 2px;
1520
+ background: #e5e5e5;
1521
+ border-radius: 6px;
1522
+ padding: 3px;
1523
+ }
1524
+ .GalleryPickerModal_langTab {
1525
+ padding: 6px 12px;
1526
+ font-size: 12px;
1527
+ font-weight: 600;
1528
+ color: #737373;
1529
+ background: transparent;
1530
+ border: none;
1531
+ border-radius: 4px;
1532
+ cursor: pointer;
1533
+ transition: background 0.15s, color 0.15s;
1534
+ }
1535
+ .GalleryPickerModal_langTab:hover {
1536
+ color: #525252;
1537
+ }
1538
+ .GalleryPickerModal_langTabActive {
1539
+ background: white;
1540
+ color: #171717;
1541
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
1542
+ }
1543
+ .GalleryPickerModal_editInput {
1544
+ padding: 12px 14px;
1545
+ border: 1px solid #e5e5e5;
1546
+ border-radius: 8px;
1547
+ font-size: 14px;
1548
+ background: white;
1549
+ transition: border-color 0.15s, box-shadow 0.15s;
1550
+ }
1551
+ .GalleryPickerModal_editInput:focus {
1552
+ outline: none;
1553
+ border-color: #3b82f6;
1554
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1555
+ }
1556
+ .GalleryPickerModal_editInput::placeholder {
1557
+ color: #a3a3a3;
1558
+ }
1559
+ .GalleryPickerModal_editFooter {
1560
+ display: flex;
1561
+ align-items: center;
1562
+ justify-content: space-between;
1563
+ width: 100%;
1564
+ }
1565
+ .GalleryPickerModal_saveButton {
1566
+ display: flex;
1567
+ align-items: center;
1568
+ gap: 8px;
1569
+ padding: 10px 20px;
1570
+ background: #10b981;
1571
+ border: none;
1572
+ border-radius: 6px;
1573
+ font-size: 14px;
1574
+ font-weight: 500;
1575
+ color: white;
1576
+ cursor: pointer;
1577
+ transition: background 0.15s;
1578
+ }
1579
+ .GalleryPickerModal_saveButton:hover:not(:disabled) {
1580
+ background: #059669;
1581
+ }
1582
+ .GalleryPickerModal_saveButton:disabled {
1583
+ opacity: 0.6;
1584
+ cursor: not-allowed;
1585
+ }
1586
+ .GalleryPickerModal_spinner {
1587
+ animation: GalleryPickerModal_spin 1s linear infinite;
1588
+ }
1589
+ @keyframes GalleryPickerModal_spin {
1590
+ from {
1591
+ transform: rotate(0deg);
1592
+ }
1593
+ to {
1594
+ transform: rotate(360deg);
1595
+ }
1596
+ }
1597
+ @media (max-width: 640px) {
1598
+ .GalleryPickerModal_toolbar {
1599
+ flex-direction: column;
1600
+ }
1601
+ .GalleryPickerModal_createButton {
1602
+ width: 100%;
1603
+ justify-content: center;
1604
+ }
1605
+ .GalleryPickerModal_footer {
1606
+ flex-direction: column;
1607
+ gap: 12px;
1608
+ }
1609
+ .GalleryPickerModal_footerInfo {
1610
+ width: 100%;
1611
+ }
1612
+ .GalleryPickerModal_selectButton {
1613
+ width: 100%;
1614
+ }
1615
+ .GalleryPickerModal_editPreview {
1616
+ min-height: 150px;
1617
+ max-height: 200px;
1618
+ }
1619
+ .GalleryPickerModal_editImage {
1620
+ max-height: 160px;
1621
+ }
1622
+ .GalleryPickerModal_editInfoRow {
1623
+ flex-direction: column;
1624
+ align-items: flex-start;
1625
+ gap: 4px;
1626
+ }
1627
+ .GalleryPickerModal_editInfoLabel {
1628
+ min-width: auto;
1629
+ }
1630
+ }
1631
+
1632
+ /* src/components/GalleryField/GalleryField.module.css */
1633
+ .GalleryField_container {
1634
+ margin-top: 8px;
1635
+ }
1636
+ .GalleryField_preview {
1637
+ border-radius: 6px;
1638
+ border: 1px solid #e5e5e5;
1639
+ background: #fafafa;
1640
+ padding: 12px;
1641
+ }
1642
+ .GalleryField_header {
1643
+ display: flex;
1644
+ align-items: center;
1645
+ justify-content: space-between;
1646
+ margin-bottom: 12px;
1647
+ }
1648
+ .GalleryField_name {
1649
+ font-size: 14px;
1650
+ font-weight: 500;
1651
+ color: #171717;
1652
+ }
1653
+ .GalleryField_count {
1654
+ font-size: 12px;
1655
+ color: #737373;
1656
+ }
1657
+ .GalleryField_thumbnails {
1658
+ display: flex;
1659
+ gap: 6px;
1660
+ margin-bottom: 12px;
1661
+ }
1662
+ .GalleryField_thumbnail {
1663
+ width: 48px;
1664
+ height: 48px;
1665
+ border-radius: 4px;
1666
+ overflow: hidden;
1667
+ border: 1px solid #e5e5e5;
1668
+ background: #f5f5f5;
1669
+ }
1670
+ .GalleryField_thumbnail img {
1671
+ width: 100%;
1672
+ height: 100%;
1673
+ object-fit: cover;
1674
+ }
1675
+ .GalleryField_more {
1676
+ width: 48px;
1677
+ height: 48px;
1678
+ border-radius: 4px;
1679
+ border: 1px solid #e5e5e5;
1680
+ background: #f5f5f5;
1681
+ display: flex;
1682
+ align-items: center;
1683
+ justify-content: center;
1684
+ font-size: 12px;
1685
+ font-weight: 500;
1686
+ color: #737373;
1687
+ }
1688
+ .GalleryField_actions {
1689
+ display: flex;
1690
+ gap: 8px;
1691
+ }
1692
+ .GalleryField_changeButton {
1693
+ flex: 1;
1694
+ padding: 8px 12px;
1695
+ background: white;
1696
+ border: 1px solid #e5e5e5;
1697
+ border-radius: 4px;
1698
+ font-size: 13px;
1699
+ font-weight: 500;
1700
+ color: #525252;
1701
+ cursor: pointer;
1702
+ transition: background 0.15s, border-color 0.15s;
1703
+ }
1704
+ .GalleryField_changeButton:hover {
1705
+ background: #f5f5f5;
1706
+ border-color: #d4d4d4;
1707
+ }
1708
+ .GalleryField_removeButton {
1709
+ padding: 8px;
1710
+ background: white;
1711
+ border: 1px solid #e5e5e5;
1712
+ border-radius: 4px;
1713
+ cursor: pointer;
1714
+ display: flex;
1715
+ align-items: center;
1716
+ justify-content: center;
1717
+ color: #dc2626;
1718
+ transition: background 0.15s, border-color 0.15s;
1719
+ }
1720
+ .GalleryField_removeButton:hover {
1721
+ background: #fee2e2;
1722
+ border-color: #fecaca;
1723
+ }
1724
+ .GalleryField_selectButton {
1725
+ width: 100%;
1726
+ padding: 24px 16px;
1727
+ border: 2px dashed #d4d4d4;
1728
+ border-radius: 6px;
1729
+ background: transparent;
1730
+ cursor: pointer;
1731
+ display: flex;
1732
+ flex-direction: column;
1733
+ align-items: center;
1734
+ gap: 8px;
1735
+ color: #737373;
1736
+ font-size: 13px;
1737
+ transition:
1738
+ border-color 0.15s,
1739
+ color 0.15s,
1740
+ background 0.15s;
1741
+ }
1742
+ .GalleryField_selectButton:hover {
1743
+ border-color: #3b82f6;
1744
+ color: #3b82f6;
1745
+ background: #eff6ff;
1746
+ }
1747
+ .GalleryField_selectButton:focus {
1748
+ outline: none;
1749
+ border-color: #3b82f6;
1750
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
1751
+ }
1752
+
1753
+ /* src/components/DocumentPickerModal/DocumentPickerModal.module.css */
1754
+ .DocumentPickerModal_backButton {
1755
+ padding: 8px;
1756
+ background: transparent;
1757
+ border: none;
1758
+ border-radius: 6px;
1759
+ cursor: pointer;
1760
+ color: #737373;
1761
+ display: flex;
1762
+ align-items: center;
1763
+ justify-content: center;
1764
+ transition: background 0.15s, color 0.15s;
1765
+ }
1766
+ .DocumentPickerModal_backButton:hover {
1767
+ background: #f5f5f5;
1768
+ color: #171717;
1769
+ }
1770
+ .DocumentPickerModal_selectModeButton {
1771
+ padding: 8px 16px;
1772
+ background: #f5f5f5;
1773
+ border: 1px solid #e5e5e5;
1774
+ border-radius: 6px;
1775
+ font-size: 14px;
1776
+ font-weight: 500;
1777
+ color: #525252;
1778
+ cursor: pointer;
1779
+ transition: background 0.15s, border-color 0.15s;
1780
+ }
1781
+ .DocumentPickerModal_selectModeButton:hover {
1782
+ background: #ebebeb;
1783
+ border-color: #d4d4d4;
1784
+ }
1785
+ .DocumentPickerModal_toolbar {
1786
+ display: flex;
1787
+ gap: 12px;
1788
+ }
1789
+ .DocumentPickerModal_uploadSection {
1790
+ margin-bottom: 16px;
1791
+ display: flex;
1792
+ flex-direction: column;
1793
+ gap: 12px;
1794
+ }
1795
+ .DocumentPickerModal_documentList {
1796
+ display: flex;
1797
+ flex-direction: column;
1798
+ gap: 4px;
1799
+ }
1800
+ .DocumentPickerModal_documentItemContainer {
1801
+ position: relative;
1802
+ display: flex;
1803
+ align-items: center;
1804
+ }
1805
+ .DocumentPickerModal_documentItem {
1806
+ flex: 1;
1807
+ display: flex;
1808
+ align-items: center;
1809
+ gap: 12px;
1810
+ padding: 12px;
1811
+ background: white;
1812
+ border: 1px solid #e5e5e5;
1813
+ border-radius: 8px;
1814
+ cursor: pointer;
1815
+ text-align: left;
1816
+ transition: border-color 0.15s, background 0.15s;
1817
+ }
1818
+ .DocumentPickerModal_documentItem:hover {
1819
+ border-color: #3b82f6;
1820
+ background: #f9fafb;
1821
+ }
1822
+ .DocumentPickerModal_documentItem.DocumentPickerModal_selected {
1823
+ border-color: #3b82f6;
1824
+ background: #eff6ff;
1825
+ }
1826
+ .DocumentPickerModal_checkbox {
1827
+ width: 20px;
1828
+ height: 20px;
1829
+ border: 2px solid #d4d4d4;
1830
+ border-radius: 4px;
1831
+ display: flex;
1832
+ align-items: center;
1833
+ justify-content: center;
1834
+ flex-shrink: 0;
1835
+ transition: background 0.15s, border-color 0.15s;
1836
+ }
1837
+ .DocumentPickerModal_checkboxChecked {
1838
+ background: #3b82f6;
1839
+ border-color: #3b82f6;
1840
+ color: white;
1841
+ }
1842
+ .DocumentPickerModal_documentIcon {
1843
+ flex-shrink: 0;
1844
+ width: 40px;
1845
+ height: 40px;
1846
+ display: flex;
1847
+ align-items: center;
1848
+ justify-content: center;
1849
+ background: #f5f5f5;
1850
+ border-radius: 6px;
1851
+ }
1852
+ .DocumentPickerModal_pdfIcon {
1853
+ color: #dc2626;
1854
+ }
1855
+ .DocumentPickerModal_fileIcon {
1856
+ color: #737373;
1857
+ }
1858
+ .DocumentPickerModal_documentInfo {
1859
+ flex: 1;
1860
+ min-width: 0;
1861
+ display: flex;
1862
+ flex-direction: column;
1863
+ gap: 2px;
1864
+ }
1865
+ .DocumentPickerModal_documentName {
1866
+ font-size: 14px;
1867
+ font-weight: 500;
1868
+ color: #171717;
1869
+ white-space: nowrap;
1870
+ overflow: hidden;
1871
+ text-overflow: ellipsis;
1872
+ }
1873
+ .DocumentPickerModal_documentMeta {
1874
+ font-size: 12px;
1875
+ color: #737373;
1876
+ }
1877
+ .DocumentPickerModal_checkmark {
1878
+ flex-shrink: 0;
1879
+ width: 24px;
1880
+ height: 24px;
1881
+ background: #3b82f6;
1882
+ border-radius: 50%;
1883
+ display: flex;
1884
+ align-items: center;
1885
+ justify-content: center;
1886
+ color: white;
1887
+ }
1888
+ .DocumentPickerModal_editButton {
1889
+ position: absolute;
1890
+ right: 8px;
1891
+ top: 50%;
1892
+ transform: translateY(-50%);
1893
+ padding: 8px;
1894
+ background: white;
1895
+ border: 1px solid #e5e5e5;
1896
+ border-radius: 6px;
1897
+ cursor: pointer;
1898
+ color: #737373;
1899
+ display: flex;
1900
+ align-items: center;
1901
+ justify-content: center;
1902
+ opacity: 0;
1903
+ transition:
1904
+ opacity 0.15s,
1905
+ background 0.15s,
1906
+ color 0.15s;
1907
+ }
1908
+ .DocumentPickerModal_documentItemContainer:hover .DocumentPickerModal_editButton {
1909
+ opacity: 1;
1910
+ }
1911
+ .DocumentPickerModal_editButton:hover {
1912
+ background: #f5f5f5;
1913
+ color: #171717;
1914
+ }
1915
+ .DocumentPickerModal_footer {
1916
+ display: flex;
1917
+ align-items: center;
1918
+ justify-content: space-between;
1919
+ gap: 16px;
1920
+ width: 100%;
1921
+ }
1922
+ .DocumentPickerModal_footerInfo {
1923
+ display: flex;
1924
+ align-items: center;
1925
+ gap: 10px;
1926
+ min-width: 0;
1927
+ flex: 1;
1928
+ }
1929
+ .DocumentPickerModal_footerIcon {
1930
+ width: 36px;
1931
+ height: 36px;
1932
+ display: flex;
1933
+ align-items: center;
1934
+ justify-content: center;
1935
+ background: white;
1936
+ border-radius: 6px;
1937
+ border: 1px solid #e5e5e5;
1938
+ flex-shrink: 0;
1939
+ }
1940
+ .DocumentPickerModal_footerFilename {
1941
+ font-size: 13px;
1942
+ font-weight: 500;
1943
+ color: #171717;
1944
+ white-space: nowrap;
1945
+ overflow: hidden;
1946
+ text-overflow: ellipsis;
1947
+ }
1948
+ .DocumentPickerModal_footerMeta {
1949
+ font-size: 12px;
1950
+ color: #737373;
1951
+ white-space: nowrap;
1952
+ flex-shrink: 0;
1953
+ }
1954
+ .DocumentPickerModal_selectButton {
1955
+ padding: 10px 20px;
1956
+ background: #3b82f6;
1957
+ border: none;
1958
+ border-radius: 6px;
1959
+ font-size: 14px;
1960
+ font-weight: 500;
1961
+ color: white;
1962
+ cursor: pointer;
1963
+ transition: background 0.15s;
1964
+ flex-shrink: 0;
1965
+ }
1966
+ .DocumentPickerModal_selectButton:hover {
1967
+ background: #2563eb;
1968
+ }
1969
+ .DocumentPickerModal_editContent {
1970
+ display: flex;
1971
+ flex-direction: column;
1972
+ gap: 24px;
1973
+ }
1974
+ .DocumentPickerModal_editPreview {
1975
+ display: flex;
1976
+ justify-content: center;
1977
+ align-items: center;
1978
+ background: #f5f5f5;
1979
+ border-radius: 8px;
1980
+ padding: 40px;
1981
+ }
1982
+ .DocumentPickerModal_editIcon {
1983
+ width: 80px;
1984
+ height: 80px;
1985
+ display: flex;
1986
+ align-items: center;
1987
+ justify-content: center;
1988
+ background: white;
1989
+ border-radius: 12px;
1990
+ border: 1px solid #e5e5e5;
1991
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
1992
+ }
1993
+ .DocumentPickerModal_editIcon svg {
1994
+ width: 40px;
1995
+ height: 40px;
1996
+ }
1997
+ .DocumentPickerModal_editInfo {
1998
+ display: flex;
1999
+ flex-direction: column;
2000
+ gap: 8px;
2001
+ padding: 16px;
2002
+ background: #fafafa;
2003
+ border-radius: 8px;
2004
+ }
2005
+ .DocumentPickerModal_editInfoRow {
2006
+ display: flex;
2007
+ align-items: center;
2008
+ gap: 12px;
2009
+ }
2010
+ .DocumentPickerModal_editInfoLabel {
2011
+ font-size: 13px;
2012
+ font-weight: 500;
2013
+ color: #737373;
2014
+ min-width: 80px;
2015
+ }
2016
+ .DocumentPickerModal_editInfoValue {
2017
+ font-size: 13px;
2018
+ color: #171717;
2019
+ }
2020
+ .DocumentPickerModal_editField {
2021
+ display: flex;
2022
+ flex-direction: column;
2023
+ gap: 8px;
2024
+ }
2025
+ .DocumentPickerModal_editFieldHeader {
2026
+ display: flex;
2027
+ align-items: center;
2028
+ justify-content: space-between;
2029
+ }
2030
+ .DocumentPickerModal_editFieldLabel {
2031
+ font-size: 14px;
2032
+ font-weight: 600;
2033
+ color: #171717;
2034
+ margin: 0;
2035
+ }
2036
+ .DocumentPickerModal_langTabs {
2037
+ display: flex;
2038
+ gap: 2px;
2039
+ background: #e5e5e5;
2040
+ border-radius: 6px;
2041
+ padding: 3px;
2042
+ }
2043
+ .DocumentPickerModal_langTab {
2044
+ padding: 6px 12px;
2045
+ font-size: 12px;
2046
+ font-weight: 600;
2047
+ color: #737373;
2048
+ background: transparent;
2049
+ border: none;
2050
+ border-radius: 4px;
2051
+ cursor: pointer;
2052
+ transition: background 0.15s, color 0.15s;
2053
+ }
2054
+ .DocumentPickerModal_langTab:hover {
2055
+ color: #525252;
2056
+ }
2057
+ .DocumentPickerModal_langTabActive {
2058
+ background: white;
2059
+ color: #171717;
2060
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
2061
+ }
2062
+ .DocumentPickerModal_editInput {
2063
+ padding: 12px 14px;
2064
+ border: 1px solid #e5e5e5;
2065
+ border-radius: 8px;
2066
+ font-size: 14px;
2067
+ background: white;
2068
+ transition: border-color 0.15s, box-shadow 0.15s;
2069
+ }
2070
+ .DocumentPickerModal_editInput:focus {
2071
+ outline: none;
2072
+ border-color: #3b82f6;
2073
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
2074
+ }
2075
+ .DocumentPickerModal_editInput::placeholder {
2076
+ color: #a3a3a3;
2077
+ }
2078
+ .DocumentPickerModal_editFooter {
2079
+ display: flex;
2080
+ align-items: center;
2081
+ justify-content: space-between;
2082
+ width: 100%;
2083
+ }
2084
+ .DocumentPickerModal_saveButton {
2085
+ display: flex;
2086
+ align-items: center;
2087
+ gap: 8px;
2088
+ padding: 10px 20px;
2089
+ background: #10b981;
2090
+ border: none;
2091
+ border-radius: 6px;
2092
+ font-size: 14px;
2093
+ font-weight: 500;
2094
+ color: white;
2095
+ cursor: pointer;
2096
+ transition: background 0.15s;
2097
+ }
2098
+ .DocumentPickerModal_saveButton:hover:not(:disabled) {
2099
+ background: #059669;
2100
+ }
2101
+ .DocumentPickerModal_saveButton:disabled {
2102
+ opacity: 0.6;
2103
+ cursor: not-allowed;
2104
+ }
2105
+ .DocumentPickerModal_spinner {
2106
+ animation: DocumentPickerModal_spin 1s linear infinite;
2107
+ }
2108
+ @keyframes DocumentPickerModal_spin {
2109
+ from {
2110
+ transform: rotate(0deg);
2111
+ }
2112
+ to {
2113
+ transform: rotate(360deg);
2114
+ }
2115
+ }
2116
+ @media (max-width: 640px) {
2117
+ .DocumentPickerModal_footer {
2118
+ flex-direction: column;
2119
+ gap: 12px;
2120
+ }
2121
+ .DocumentPickerModal_footerInfo {
2122
+ width: 100%;
2123
+ }
2124
+ .DocumentPickerModal_selectButton {
2125
+ width: 100%;
2126
+ }
2127
+ .DocumentPickerModal_editInfoRow {
2128
+ flex-direction: column;
2129
+ align-items: flex-start;
2130
+ gap: 4px;
2131
+ }
2132
+ .DocumentPickerModal_editInfoLabel {
2133
+ min-width: auto;
2134
+ }
2135
+ }
2136
+
2137
+ /* src/components/DocumentField/DocumentField.module.css */
2138
+ .DocumentField_container {
2139
+ margin-top: 8px;
2140
+ }
2141
+ .DocumentField_preview {
2142
+ display: flex;
2143
+ align-items: center;
2144
+ gap: 12px;
2145
+ padding: 12px;
2146
+ border-radius: 6px;
2147
+ border: 1px solid #e5e5e5;
2148
+ background: #fafafa;
2149
+ }
2150
+ .DocumentField_iconWrapper {
2151
+ flex-shrink: 0;
2152
+ width: 40px;
2153
+ height: 40px;
2154
+ display: flex;
2155
+ align-items: center;
2156
+ justify-content: center;
2157
+ background: white;
2158
+ border-radius: 6px;
2159
+ border: 1px solid #e5e5e5;
2160
+ }
2161
+ .DocumentField_pdfIcon {
2162
+ color: #dc2626;
2163
+ }
2164
+ .DocumentField_fileIcon {
2165
+ color: #737373;
2166
+ }
2167
+ .DocumentField_info {
2168
+ flex: 1;
2169
+ min-width: 0;
2170
+ display: flex;
2171
+ flex-direction: column;
2172
+ gap: 2px;
2173
+ }
2174
+ .DocumentField_title {
2175
+ font-size: 13px;
2176
+ font-weight: 500;
2177
+ color: #171717;
2178
+ white-space: nowrap;
2179
+ overflow: hidden;
2180
+ text-overflow: ellipsis;
2181
+ }
2182
+ .DocumentField_meta {
2183
+ font-size: 11px;
2184
+ color: #737373;
2185
+ }
2186
+ .DocumentField_actions {
2187
+ flex-shrink: 0;
2188
+ display: flex;
2189
+ gap: 6px;
2190
+ }
2191
+ .DocumentField_changeButton {
2192
+ padding: 6px 12px;
2193
+ background: white;
2194
+ border: 1px solid #e5e5e5;
2195
+ border-radius: 4px;
2196
+ font-size: 12px;
2197
+ font-weight: 500;
2198
+ color: #525252;
2199
+ cursor: pointer;
2200
+ transition: background 0.15s, border-color 0.15s;
2201
+ }
2202
+ .DocumentField_changeButton:hover {
2203
+ background: #f5f5f5;
2204
+ border-color: #d4d4d4;
2205
+ }
2206
+ .DocumentField_removeButton {
2207
+ padding: 6px;
2208
+ background: white;
2209
+ border: 1px solid #e5e5e5;
2210
+ border-radius: 4px;
2211
+ cursor: pointer;
2212
+ display: flex;
2213
+ align-items: center;
2214
+ justify-content: center;
2215
+ color: #dc2626;
2216
+ transition: background 0.15s, border-color 0.15s;
2217
+ }
2218
+ .DocumentField_removeButton:hover {
2219
+ background: #fee2e2;
2220
+ border-color: #fecaca;
2221
+ }
2222
+ .DocumentField_selectButton {
2223
+ width: 100%;
2224
+ padding: 24px 16px;
2225
+ border: 2px dashed #d4d4d4;
2226
+ border-radius: 6px;
2227
+ background: transparent;
2228
+ cursor: pointer;
2229
+ display: flex;
2230
+ flex-direction: column;
2231
+ align-items: center;
2232
+ gap: 8px;
2233
+ color: #737373;
2234
+ font-size: 13px;
2235
+ transition:
2236
+ border-color 0.15s,
2237
+ color 0.15s,
2238
+ background 0.15s;
2239
+ }
2240
+ .DocumentField_selectButton:hover {
2241
+ border-color: #3b82f6;
2242
+ color: #3b82f6;
2243
+ background: #eff6ff;
2244
+ }
2245
+ .DocumentField_selectButton:focus {
2246
+ outline: none;
2247
+ border-color: #3b82f6;
2248
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
2249
+ }
2250
+
2251
+ /* src/components/MediaPanel/MediaPanel.module.css */
2252
+ .MediaPanel_panel {
2253
+ padding: 16px;
2254
+ display: flex;
2255
+ flex-direction: column;
2256
+ gap: 8px;
2257
+ }
2258
+ .MediaPanel_item {
2259
+ display: flex;
2260
+ align-items: center;
2261
+ gap: 12px;
2262
+ padding: 12px 16px;
2263
+ background: var(--puck-color-grey-12, #f5f5f5);
2264
+ border: 1px solid var(--puck-color-grey-09, #e5e5e5);
2265
+ border-radius: 8px;
2266
+ cursor: pointer;
2267
+ font-size: 14px;
2268
+ font-weight: 500;
2269
+ color: var(--puck-color-grey-02, #171717);
2270
+ transition: background 0.15s, border-color 0.15s;
2271
+ text-align: left;
2272
+ width: 100%;
2273
+ }
2274
+ .MediaPanel_item:hover {
2275
+ background: var(--puck-color-grey-11, #ebebeb);
2276
+ border-color: var(--puck-color-grey-08, #d4d4d4);
2277
+ }
2278
+ .MediaPanel_item:active {
2279
+ background: var(--puck-color-grey-10, #e0e0e0);
2280
+ }
2281
+ .MediaPanel_item svg {
2282
+ flex-shrink: 0;
2283
+ color: var(--puck-color-grey-05, #737373);
2284
+ }
2285
+ .MediaPanel_item:hover svg {
2286
+ color: var(--puck-color-grey-03, #525252);
2287
+ }
2288
+ /*# sourceMappingURL=index.css.map */