@jjlmoya/utils-social 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -230,562 +230,4 @@ const t = (ui ?? {}) as YoutubeThumbnailPreviewerUI;
230
230
  init();
231
231
  </script>
232
232
 
233
- <style>
234
- .ytt-root {
235
- --yt-red: #f00;
236
233
 
237
- max-width: 1400px;
238
- margin: 0 auto;
239
- }
240
-
241
- .premium-card {
242
- background: rgba(255, 255, 255, 0.8);
243
- backdrop-filter: blur(20px);
244
- -webkit-backdrop-filter: blur(20px);
245
- border: 1px solid rgba(255, 255, 255, 0.4);
246
- border-radius: 32px;
247
- padding: 2rem;
248
- box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
249
- }
250
-
251
- @media (max-width: 768px) {
252
- .premium-card {
253
- padding: 1rem;
254
- border-radius: 20px;
255
- }
256
- }
257
-
258
- :global(.theme-dark) .ytt-root .premium-card {
259
- background: rgba(15, 23, 42, 0.7);
260
- border-color: rgba(255, 255, 255, 0.05);
261
- }
262
-
263
- .main-layout {
264
- display: grid;
265
- grid-template-columns: 320px 1fr;
266
- gap: 2rem;
267
- align-items: start;
268
- }
269
-
270
- @media (max-width: 1100px) { .main-layout { grid-template-columns: 1fr; } }
271
-
272
- @media (max-width: 768px) { .main-layout { gap: 1rem; } }
273
-
274
- .sidebar {
275
- display: flex;
276
- flex-direction: column;
277
- gap: 1.5rem;
278
- position: sticky;
279
- top: 2rem;
280
- }
281
-
282
- @media (max-width: 1100px) { .sidebar { position: static; } }
283
-
284
- @media (max-width: 768px) { .sidebar { gap: 1rem; } }
285
-
286
- .upload-group {
287
- display: grid;
288
- grid-template-columns: 1fr 1fr;
289
- gap: 0.75rem;
290
- }
291
-
292
- @media (max-width: 768px) {
293
- .upload-group {
294
- grid-template-columns: 1fr;
295
- gap: 0.5rem;
296
- }
297
- }
298
-
299
- .drop-zone {
300
- width: 100%;
301
- height: 100px;
302
- border: 2px dashed rgba(239, 68, 68, 0.15);
303
- border-radius: 20px;
304
- display: flex;
305
- flex-direction: column;
306
- align-items: center;
307
- justify-content: center;
308
- gap: 0.4rem;
309
- cursor: pointer;
310
- background: rgba(239, 68, 68, 0.02);
311
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
312
- text-align: center;
313
- padding: 0.5rem;
314
- color: inherit;
315
- }
316
-
317
- @media (max-width: 768px) {
318
- .drop-zone {
319
- height: 80px;
320
- border-radius: 16px;
321
- }
322
- }
323
-
324
- .drop-zone:hover, .drop-zone.hover {
325
- border-color: var(--yt-red);
326
- background: rgba(239, 68, 68, 0.06);
327
- transform: translateY(-2px);
328
- }
329
-
330
- .drop-icon {
331
- font-size: 1.6rem;
332
- color: var(--yt-red);
333
- }
334
-
335
- .drop-text h3 {
336
- margin: 0;
337
- font-size: 0.8rem;
338
- font-weight: 800;
339
- }
340
-
341
- .drop-text p {
342
- margin: 0;
343
- font-size: 0.6rem;
344
- color: #94a3b8;
345
- }
346
-
347
- @media (max-width: 768px) {
348
- .drop-text h3 { font-size: 0.7rem; }
349
- .drop-text p { font-size: 0.55rem; }
350
- .drop-icon { font-size: 1.2rem; }
351
- }
352
-
353
- .gallery-preview {
354
- display: flex;
355
- flex-wrap: wrap;
356
- gap: 8px;
357
- padding: 12px;
358
- background: rgba(0, 0, 0, 0.03);
359
- border: 1px solid rgba(0, 0, 0, 0.05);
360
- border-radius: 16px;
361
- min-height: 50px;
362
- }
363
-
364
- @media (max-width: 768px) {
365
- .gallery-preview {
366
- gap: 6px;
367
- padding: 8px;
368
- border-radius: 12px;
369
- }
370
- }
371
-
372
- :global(.theme-dark) .ytt-root .gallery-preview {
373
- background: rgba(255, 255, 255, 0.03);
374
- border-color: rgba(255, 255, 255, 0.06);
375
- }
376
-
377
- .custom-settings {
378
- display: flex;
379
- flex-direction: column;
380
- gap: 1rem;
381
- padding: 1.25rem;
382
- background: rgba(0, 0, 0, 0.03);
383
- border-radius: 20px;
384
- border: 1px solid rgba(0, 0, 0, 0.05);
385
- }
386
-
387
- @media (max-width: 768px) {
388
- .custom-settings {
389
- padding: 1rem;
390
- gap: 0.75rem;
391
- border-radius: 16px;
392
- }
393
- }
394
-
395
- :global(.theme-dark) .ytt-root .custom-settings {
396
- background: rgba(255, 255, 255, 0.03);
397
- border-color: rgba(255, 255, 255, 0.06);
398
- }
399
-
400
- .settings-group label {
401
- display: block;
402
- font-size: 0.7rem;
403
- font-weight: 800;
404
- color: #94a3b8;
405
- text-transform: uppercase;
406
- letter-spacing: 0.05em;
407
- margin-bottom: 0.3rem;
408
- }
409
-
410
- .settings-group input {
411
- width: 100%;
412
- padding: 0.8rem;
413
- border-radius: 12px;
414
- border: 1px solid rgba(0, 0, 0, 0.1);
415
- font-size: 0.9rem;
416
- background: white;
417
- color: #1e293b;
418
- outline: none;
419
- transition: all 0.2s;
420
- box-sizing: border-box;
421
- }
422
-
423
- @media (max-width: 768px) {
424
- .settings-group label {
425
- font-size: 0.65rem;
426
- }
427
-
428
- .settings-group input {
429
- padding: 0.7rem;
430
- font-size: 0.85rem;
431
- border-radius: 10px;
432
- }
433
- }
434
-
435
- :global(.theme-dark) .ytt-root .settings-group input {
436
- background: rgba(15, 23, 42, 0.5);
437
- border-color: rgba(255, 255, 255, 0.1);
438
- color: #f1f5f9;
439
- }
440
-
441
- .settings-group input:focus {
442
- border-color: var(--yt-red);
443
- box-shadow: 0 0 0 4px rgba(255, 0, 0, 0.05);
444
- }
445
-
446
- .tester-controls {
447
- display: grid;
448
- grid-template-columns: repeat(2, 1fr);
449
- gap: 0.75rem;
450
- }
451
-
452
- @media (max-width: 768px) {
453
- .tester-controls {
454
- grid-template-columns: 1fr;
455
- gap: 0.5rem;
456
- }
457
- }
458
-
459
- .control-btn {
460
- border: none;
461
- background: rgba(0, 0, 0, 0.05);
462
- padding: 1rem;
463
- border-radius: 14px;
464
- cursor: pointer;
465
- font-weight: 700;
466
- font-size: 0.8rem;
467
- display: flex;
468
- align-items: center;
469
- justify-content: center;
470
- gap: 0.5rem;
471
- color: #64748b;
472
- transition: all 0.2s;
473
- }
474
-
475
- @media (max-width: 768px) {
476
- .control-btn {
477
- padding: 0.8rem;
478
- font-size: 0.75rem;
479
- border-radius: 12px;
480
- }
481
- }
482
-
483
- .control-btn:hover {
484
- background: rgba(0, 0, 0, 0.08);
485
- color: #1e293b;
486
- }
487
-
488
- :global(.theme-dark) .ytt-root .control-btn {
489
- background: rgba(255, 255, 255, 0.05);
490
- color: #94a3b8;
491
- }
492
- :global(.theme-dark) .ytt-root .control-btn:hover { color: #f1f5f9; }
493
-
494
- .control-btn.active {
495
- background: var(--yt-red);
496
- color: white;
497
- box-shadow: 0 8px 20px rgba(255, 0, 0, 0.15);
498
- }
499
-
500
- .control-btn--reset {
501
- grid-column: span 2;
502
- color: #ef4444;
503
- border: 1px solid rgba(239, 68, 68, 0.2);
504
- }
505
-
506
- @media (max-width: 768px) {
507
- .control-btn--reset {
508
- grid-column: span 1;
509
- }
510
- }
511
-
512
- .preview-area {
513
- min-width: 0;
514
- }
515
- </style>
516
-
517
- <style>
518
- :global(.comparison-container) {
519
- display: grid;
520
- grid-template-columns: 1fr 1fr;
521
- gap: 4px;
522
- background: #e2e8f0;
523
- border-radius: 32px;
524
- overflow: hidden;
525
- box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
526
- }
527
-
528
- :global(.theme-dark) :global(.comparison-container) {
529
- background: rgba(255, 255, 255, 0.05);
530
- }
531
-
532
- @media (max-width: 768px) {
533
- :global(.comparison-container) {
534
- grid-template-columns: 1fr;
535
- border-radius: 20px;
536
- gap: 8px;
537
- }
538
- }
539
-
540
- :global(.comparison-side) {
541
- position: relative;
542
- padding: 3rem 2rem;
543
- display: flex;
544
- flex-direction: column;
545
- align-items: center;
546
- min-height: 600px;
547
- transition: background 0.3s ease;
548
- }
549
-
550
- @media (max-width: 768px) {
551
- :global(.comparison-side) {
552
- padding: 2rem 1rem;
553
- min-height: auto;
554
- }
555
- }
556
-
557
- :global(.comparison-label) {
558
- position: absolute;
559
- top: 1.25rem;
560
- left: 1.25rem;
561
- background: rgba(0, 0, 0, 0.6);
562
- color: white;
563
- padding: 6px 12px;
564
- border-radius: 8px;
565
- font-size: 11px;
566
- font-weight: 900;
567
- z-index: 20;
568
- backdrop-filter: blur(8px);
569
- border: 1px solid rgba(255, 255, 255, 0.1);
570
- }
571
-
572
- @media (max-width: 768px) {
573
- :global(.comparison-label) {
574
- font-size: 10px;
575
- padding: 4px 8px;
576
- top: 0.75rem;
577
- left: 0.75rem;
578
- }
579
- }
580
-
581
- :global(.mockup-grid) {
582
- display: grid;
583
- gap: 3rem;
584
- width: 100%;
585
- }
586
-
587
- :global(.mockup-desktop .mockup-grid) {
588
- max-width: 520px;
589
- }
590
-
591
- :global(.mockup-mobile .mockup-grid) {
592
- max-width: 320px;
593
- }
594
-
595
- @media (max-width: 768px) {
596
- :global(.mockup-grid) { gap: 2rem; }
597
- :global(.mockup-desktop .mockup-grid),
598
- :global(.mockup-mobile .mockup-grid) { max-width: 100%; }
599
- }
600
-
601
- :global(.yt-card) {
602
- width: 100%;
603
- display: flex;
604
- flex-direction: column;
605
- gap: 1rem;
606
- animation: ytt-slide-up 0.4s ease-out backwards;
607
- }
608
-
609
- @media (max-width: 768px) {
610
- :global(.yt-card) {
611
- gap: 0.75rem;
612
- }
613
- }
614
-
615
- @keyframes ytt-slide-up {
616
- from {
617
- opacity: 0;
618
- transform: translateY(20px);
619
- }
620
-
621
- to {
622
- opacity: 1;
623
- transform: translateY(0);
624
- }
625
- }
626
-
627
- :global(.yt-thumbnail-wrapper) {
628
- position: relative;
629
- width: 100%;
630
- aspect-ratio: 16 / 9;
631
- border-radius: 16px;
632
- overflow: hidden;
633
- background: #e2e8f0;
634
- box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
635
- }
636
-
637
- :global(.yt-thumbnail-wrapper img) {
638
- width: 100%;
639
- height: 100%;
640
- object-fit: cover;
641
- }
642
-
643
- :global(.yt-duration) {
644
- position: absolute;
645
- bottom: 10px;
646
- right: 10px;
647
- background: rgba(0, 0, 0, 0.9);
648
- color: white;
649
- padding: 3px 6px;
650
- border-radius: 5px;
651
- font-size: 12px;
652
- font-weight: 600;
653
- }
654
-
655
- @media (max-width: 768px) {
656
- :global(.yt-duration) {
657
- font-size: 10px;
658
- padding: 2px 4px;
659
- bottom: 6px;
660
- right: 6px;
661
- }
662
- }
663
-
664
- :global(.yt-info-row) {
665
- display: flex;
666
- gap: 14px;
667
- }
668
-
669
- @media (max-width: 768px) {
670
- :global(.yt-info-row) {
671
- gap: 10px;
672
- }
673
- }
674
-
675
- :global(.yt-avatar) {
676
- width: 44px;
677
- height: 44px;
678
- border-radius: 50%;
679
- flex-shrink: 0;
680
- overflow: hidden;
681
- background: #e5e7eb;
682
- border: 1px solid rgba(0, 0, 0, 0.05);
683
- display: flex;
684
- align-items: center;
685
- justify-content: center;
686
- color: #94a3b8;
687
- }
688
-
689
- :global(.mockup-mobile .yt-avatar) {
690
- width: 36px;
691
- height: 36px;
692
- }
693
-
694
- :global(.yt-avatar img) {
695
- width: 100%;
696
- height: 100%;
697
- object-fit: cover;
698
- }
699
-
700
- :global(.yt-avatar svg) {
701
- width: 60%;
702
- height: 60%;
703
- }
704
-
705
- :global(.yt-text-meta) {
706
- display: flex;
707
- flex-direction: column;
708
- gap: 4px;
709
- min-width: 0;
710
- }
711
-
712
- :global(.yt-title) {
713
- font-weight: 700;
714
- margin: 0;
715
- line-height: 1.4;
716
- display: -webkit-box;
717
- -webkit-line-clamp: 2;
718
- -webkit-box-orient: vertical;
719
- overflow: hidden;
720
- color: inherit;
721
- }
722
-
723
- :global(.mockup-desktop .yt-title) { font-size: 1.1rem; }
724
- :global(.mockup-mobile .yt-title) { font-size: 0.9rem; }
725
-
726
- :global(.yt-channel), :global(.yt-views) {
727
- font-size: 0.85rem;
728
- margin: 0;
729
- font-weight: 500;
730
- }
731
-
732
- :global(.mockup-mobile .yt-channel), :global(.mockup-mobile .yt-views) {
733
- font-size: 0.75rem;
734
- }
735
-
736
- @media (max-width: 768px) {
737
- :global(.yt-channel), :global(.yt-views) { font-size: 0.75rem; }
738
- :global(.mockup-mobile .yt-channel), :global(.mockup-mobile .yt-views) { font-size: 0.65rem; }
739
- }
740
-
741
- :global(.light .yt-channel), :global(.light .yt-views) { color: #606060; }
742
- :global(.dark .yt-channel), :global(.dark .yt-views) { color: #aaa; }
743
-
744
- :global(.yt-mockup.light) {
745
- background: #f9f9f9;
746
- color: #030303;
747
- }
748
-
749
- :global(.yt-mockup.dark) {
750
- background: #0f0f0f;
751
- color: #f1f1f1;
752
- }
753
-
754
- :global(.gallery-item) {
755
- width: 60px;
756
- aspect-ratio: 16/9;
757
- border-radius: 6px;
758
- overflow: hidden;
759
- position: relative;
760
- border: 1px solid rgba(0, 0, 0, 0.1);
761
- box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
762
- }
763
-
764
- :global(.gallery-item img) {
765
- width: 100%;
766
- height: 100%;
767
- object-fit: cover;
768
- }
769
-
770
- :global(.btn-remove-thumb) {
771
- position: absolute;
772
- top: -4px;
773
- right: -4px;
774
- background: #ef4444;
775
- color: white;
776
- border: none;
777
- border-radius: 50%;
778
- width: 18px;
779
- height: 18px;
780
- display: flex;
781
- align-items: center;
782
- justify-content: center;
783
- font-size: 11px;
784
- cursor: pointer;
785
- box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
786
- opacity: 0;
787
- transition: opacity 0.2s;
788
- }
789
-
790
- :global(.gallery-item:hover .btn-remove-thumb) { opacity: 1; }
791
- </style>