@repobit/dex-system-design 0.18.0 → 0.19.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.
@@ -9,6 +9,62 @@ export default css`
9
9
  font-size: var(--typography-body-small-fontSize);
10
10
  line-height: var(--typography-lineHeight-normal);
11
11
  }
12
+ /* Stiluri de accesibilitate pentru toate link-urile din footer */
13
+ .footer-nav-main a:focus,
14
+ .footer-links a:focus,
15
+ .footer-countries-container a:focus,
16
+ .country-toggle:focus,
17
+ .close-countries-button:focus,
18
+ .social-icons a:focus {
19
+ outline: none;
20
+ border: 2px solid var(--color-blue-500);
21
+ box-shadow: var(--focus-outline-primary, 0 0 0 2px rgba(0, 109, 255, 0.3));
22
+ border-radius: 4px;
23
+ }
24
+
25
+ /* Stiluri specifice pentru butoane */
26
+ .country-toggle:focus,
27
+ .close-countries-button:focus {
28
+ border-color: var(--color-blue-500);
29
+ box-shadow: var(--focus-outline-primary, 0 0 0 2px rgba(0, 109, 255, 0.3));
30
+ }
31
+
32
+ /* Stiluri pentru link-urile din containerul de țări */
33
+ .footer-countries-container a:focus {
34
+ border-color: var(--color-blue-500);
35
+ box-shadow: var(--focus-outline-primary, 0 0 0 2px rgba(0, 109, 255, 0.3));
36
+ border-radius: 4px;
37
+ padding: 2px 6px;
38
+ }
39
+
40
+ // /* Stiluri pentru link-urile din social icons */
41
+ // .social-icons a:focus {
42
+ // border-radius: 50%;
43
+ // padding: 4px;
44
+ // }
45
+
46
+ /* Stiluri pentru link-urile din navigația principală */
47
+ .footer-nav-main a:focus {
48
+ padding: 2px 6px;
49
+ margin: -2px -6px;
50
+ }
51
+ .footer-secondary-nav {
52
+ padding-top: var(--spacing-24);
53
+ padding-bottom: var(--spacing-24);
54
+ }
55
+ .footer-nav-main-container {
56
+ padding-top: var(--spacing-12);
57
+ padding-bottom: var(--spacing-12);
58
+ }
59
+ /* Stiluri pentru link-urile din grupurile de link-uri */
60
+ bd-footer-links-group a:focus {
61
+ padding: 2px 6px;
62
+ margin: -2px -6px;
63
+ display: inline-block;
64
+ }
65
+
66
+
67
+
12
68
 
13
69
  bd-divider-vertical {
14
70
  display: inline-block;
@@ -57,15 +113,17 @@ export default css`
57
113
  justify-content: space-between;
58
114
  align-items: flex-start;
59
115
  gap: var(--spacing-32);
60
- margin-bottom: var(--spacing-24);
116
+ // margin-bottom: var(--spacing-24);
61
117
  flex-wrap: nowrap;
118
+ padding-top: var(--spacing-24);
119
+ padding-bottom: var(--spacing-24);
62
120
  }
63
121
 
64
122
  .footer-middle-line {
65
123
  display: flex;
66
124
  justify-content: space-between;
67
- align-items: baseline;
68
- gap: (--spacing-16);
125
+ align-items: center;
126
+ gap: var(--spacing-16);
69
127
  padding-top: var(--spacing-24);
70
128
  padding-bottom: var(--spacing-24);
71
129
 
@@ -75,7 +133,7 @@ export default css`
75
133
  flex: 1;
76
134
  display: flex;
77
135
  justify-content: flex-end;
78
- align-items: baseline;
136
+ align-items: center;
79
137
  margin: 0;
80
138
  font-size: var(--typography-body-small-fontSize);
81
139
  font-family: var(--typography-fontFamily-sans, 'IBM Plex Sans');
@@ -383,6 +441,7 @@ export default css`
383
441
  .footer-countries-container a.selected {
384
442
  font-weight: var(--typography-fontWeight-bold);
385
443
  color: var(--color-primary);
444
+ right: 12px;
386
445
  }
387
446
  .footer-countries-container {
388
447
  margin-top: var(--spacing-16);
@@ -412,214 +471,225 @@ export default css`
412
471
  height: var(--dimension-20px);
413
472
  display: block;
414
473
  }
415
-
416
- @media (max-width: 768px) {
417
- :host {
418
- // background-color: var(--color-neutral-0) !important;
419
- // color: #151719 !important;
420
- // --nav-link-color: #151719 !important;
421
- }
422
-
423
- .footer-nav-main {
424
- flex-direction: column;
425
- align-items: flex-start;
426
- gap: var(--spacing-8);
427
- }
428
-
429
- .footer-nav-main bd-divider-vertical {
430
- display: none !important;
431
- }
432
-
433
- // .footer-nav-main a {
434
- // color: #151719 !important;
435
- // padding: 0.25rem 0;
436
- // }
437
-
438
- // bd-footer a[slot="nav"] svg {
439
- // fill: #151719 !important;
440
- // }
441
-
442
- // * {
443
- // color: #151719 !important;
444
- // }
445
-
446
- // bd-divider-vertical,
447
- // bd-divider-horizontal {
448
- // background-color: #151719 !important;
449
- // }
450
-
451
- // a {
452
- // color: #151719 !important;
453
- // }
454
-
455
- // a:hover {
456
- // color: #151719 !important;
457
- // }
458
-
459
- // ::slotted(a[slot="social-top"] svg) {
460
- // fill: #151719 !important;
461
- // color: #151719 !important;
462
- // }
463
-
464
- // nav.footer-nav-main ::slotted(a[slot="nav"]) {
465
- // color: #151719 !important;
466
- // }
467
-
468
- // .country-toggle {
469
- // color: #151719 !important;
470
- // border-color: #151719 !important;
471
- // }
472
-
473
- // .footer-top {
474
- // flex-direction: row;
475
- // align-items: flex-start;
476
- // gap: var(--spacing-16);
477
- // background-color: var(--color-neutral-0) !important;
478
- // padding: var(--spacing-32) 0 0;
479
- // }
480
-
481
- .footer-links {
482
- flex-direction: column;
483
- gap: var(--spacing-32);
484
- }
485
-
486
- .footer-middle-line {
487
- flex-direction: column;
488
- align-items: flex-start;
489
- gap: var(--spacing-16);
490
- }
491
-
492
- .footer-middle-line > :last-child {
493
- justify-content: flex-start;
494
- text-align: left;
495
- }
496
-
497
- .footer-social-legal,
498
- .footer-bottom {
499
- flex-direction: column;
500
- align-items: flex-start;
501
- gap: var(--spacing-16);
502
- }
503
-
504
- .footer-address {
505
- text-align: left;
506
- }
507
-
508
- .footer-extra {
509
- flex-direction: column;
510
- align-items: flex-start;
511
- }
512
-
513
- .footer-anpc,
514
- .footer-locale,
515
- .footer-countries {
516
- text-align: left;
517
- width: 100%;
518
- }
519
-
520
- .footer-nav-main a[slot="nav"] {
521
- color: #151719 !important;
522
- }
523
-
524
- bd-footer-links-group {
525
- margin-bottom: 10px;
526
- }
527
-
528
- .second-nav .footer-nav-main {
529
- flex-direction: column;
530
- align-items: flex-start;
531
- gap: var(--spacing-14);
532
- }
533
-
534
- .second-nav .footer-nav-main bd-divider-vertical {
535
- display: none !important;
536
- }
537
-
538
- .second-nav .footer-nav-main a {
539
- color: #151719 !important;
540
- padding: var(--spacing-4) 0;
541
- display: block;
542
- }
543
-
544
- .footer-links-right.social-icons a svg {
545
- fill: #151719 !important;
546
- color: #151719 !important;
547
- }
548
- // .footer-top-bleed {
549
- // background: transparent;
550
- // }
474
+ @media (max-width: 768px) {
475
+ :host {
476
+ font-size: var(--typography-body-small-fontSize);
477
+ }
478
+
479
+ .footer-nav-main {
480
+ flex-direction: column;
481
+ align-items: flex-start;
482
+ gap: var(--spacing-8);
483
+ }
484
+
485
+ .footer-nav-main bd-divider-vertical {
486
+ display: none !important;
487
+ }
488
+
489
+ .footer-middle-line {
490
+ flex-direction: column;
491
+ align-items: flex-start;
492
+ gap: var(--spacing-16);
493
+ }
494
+
495
+ .footer-middle-line > :last-child {
496
+ justify-content: flex-start;
497
+ text-align: left;
498
+ }
499
+
500
+ .footer-social-legal,
501
+ .footer-bottom {
502
+ flex-direction: column;
503
+ align-items: flex-start;
504
+ gap: var(--spacing-16);
505
+ }
506
+
507
+ .footer-address {
508
+ text-align: left;
509
+ }
510
+
511
+ .footer-extra {
512
+ flex-direction: column;
513
+ align-items: flex-start;
514
+ }
515
+
516
+ .footer-anpc,
517
+ .footer-locale,
518
+ .footer-countries {
519
+ text-align: left;
520
+ width: 100%;
521
+ }
522
+
523
+ .footer-nav-main a[slot="nav"] {
524
+ color: #151719 !important;
525
+ }
526
+
527
+ bd-footer-links-group {
528
+ margin-bottom: 10px;
529
+ }
530
+
531
+ .second-nav .footer-nav-main {
532
+ flex-direction: column;
533
+ align-items: flex-start;
534
+ gap: var(--spacing-14);
535
+ }
536
+
537
+ .second-nav .footer-nav-main bd-divider-vertical {
538
+ display: none !important;
539
+ }
540
+
541
+ .second-nav .footer-nav-main a {
542
+ color: #151719 !important;
543
+ padding: var(--spacing-4) 0;
544
+ display: block;
545
+ }
546
+
547
+ .footer-links-right.social-icons a svg {
548
+ fill: #151719 !important;
549
+ color: #151719 !important;
550
+ }
551
+
551
552
  .social-icons {
552
553
  gap: var(--spacing-40);
553
554
  align-items: center;
554
- margin:auto;
555
- }
556
- .second-nav {
557
- flex-direction: column;
558
- align-items: flex-start;
559
- gap: var(--spacing-8);
560
- }
561
- .second-nav.footer-nav-main{
562
- display: inline-grid;}
563
- .second-nav bd-divider-vertical {
564
- display: none !important;
565
- }
555
+ margin: auto;
556
+ }
566
557
 
567
- .second-nav a {
568
- color: #151719 !important;
569
- padding: var(--spacing-4) 0;
570
- display: block;
571
- }
572
- .footer-countries-toggle{
558
+ .second-nav {
559
+ flex-direction: column;
560
+ align-items: flex-start;
561
+ gap: var(--spacing-8);
562
+ }
563
+
564
+ .second-nav.footer-nav-main {
565
+ display: inline-grid;
566
+ }
567
+
568
+ .second-nav bd-divider-vertical {
569
+ display: none !important;
570
+ }
571
+
572
+ .second-nav a {
573
+ color: #151719 !important;
574
+ padding: var(--spacing-4) 0;
575
+ display: block;
576
+ }
577
+
578
+ .footer-countries-toggle {
573
579
  display: flex;
574
580
  justify-content: center;
575
581
  align-items: center;
576
582
  width: 100%;
577
583
  margin: var(--spacing-16) 0;
578
- }
579
- .country-toggle{
580
- width: 270px;
581
- height: 40px;
582
- display: flex;
583
- align-items: center;
584
- justify-content: center;
585
- margin: 0 auto;
586
- }
587
- .footer-countries-container {
588
- display: block !important;
589
- }
590
- }
591
-
592
- .footer-countries-container {
593
- display: flex;
594
- gap: var(--spacing-32);
595
- flex-wrap: wrap;
596
- justify-content: space-between;
597
- }
598
-
599
- /* Pentru desktop - 3 coloane */
600
- .footer-countries-container bd-footer-links-group {
601
- flex: 1;
602
- min-width: calc(33.33% - var(--spacing-32));
603
- }
584
+ }
604
585
 
605
- /* Pentru tableta - 2 coloane */
606
- @media (max-width: 1024px) and (min-width: 769px) {
607
- .footer-countries-container bd-footer-links-group {
608
- flex: 0 0 calc(50% - var(--spacing-16));
609
- min-width: calc(50% - var(--spacing-16));
586
+ .country-toggle {
587
+ width: 270px;
588
+ height: 40px;
589
+ display: flex;
590
+ align-items: center;
591
+ justify-content: center;
592
+ margin: 0 auto;
610
593
  }
611
- }
612
594
 
613
- /* Pentru mobil - 1 coloană */
614
- @media (max-width: 768px) {
615
595
  .footer-countries-container {
596
+ display: block !important;
616
597
  flex-direction: column;
617
598
  gap: var(--spacing-16);
618
599
  }
619
-
600
+
620
601
  .footer-countries-container bd-footer-links-group {
621
602
  flex: 0 0 100%;
622
603
  width: 100%;
623
604
  }
605
+
606
+ /* STILURI MODIFICATE PENTRU FOOTER-LINKS PE MOBILE */
607
+ .footer-links {
608
+ display: flex;
609
+ flex-direction: column;
610
+ gap: var(--spacing-8) !important;
611
+ }
612
+
613
+ .footer-links-left,
614
+ .footer-links-right {
615
+ width: 100%;
616
+ }
617
+
618
+ /* QUICK LINKS - PRIMA POZIȚIE */
619
+ .footer-links-left {
620
+ order: 1;
621
+ }
622
+
623
+ /* DIVIDER - ÎNTRE QUICK LINKS ȘI SOCIAL LINKS */
624
+ /* Targetăm divider-ul care este copil direct în .footer-links */
625
+ .footer-links > bd-divider-horizontal {
626
+ order: 2;
627
+ margin: var(--spacing-16) 0;
628
+ width: 100%;
629
+ }
630
+
631
+ /* SOCIAL LINKS - A TREIA POZIȚIE (DUPĂ DIVIDER) */
632
+ .footer-links-right {
633
+ order: 3;
634
+ display: flex;
635
+ justify-content: center;
636
+ margin-top: 0;
637
+ margin-bottom: 0;
638
+ }
639
+
640
+ /* STILURI PENTRU COMPONENTELE BD-FOOTER-LINKS-GROUP */
641
+ bd-footer-links-group {
642
+ width: 100% !important;
643
+ min-width: 100% !important;
644
+ padding-top: 0 !important;
645
+ padding-bottom: 0 !important;
646
+ margin-bottom: var(--spacing-8) !important;
647
+ }
648
+
649
+ .footer-links-left ::slotted(bd-footer-links-group) {
650
+ padding-top: 0 !important;
651
+ padding-bottom: 0 !important;
652
+ margin-bottom: var(--spacing-8) !important;
653
+ }
654
+
655
+ /* GRID PENTRU QUICK LINKS */
656
+ .footer-links-left bd-grid {
657
+ display: flex !important;
658
+ flex-direction: column !important;
659
+ gap: var(--spacing-8) !important;
660
+ }
661
+
662
+ bd-grid {
663
+ grid-template-columns: 1fr !important;
664
+ gap: var(--spacing-8) !important;
665
+ }
666
+
667
+ .footer-links-left {
668
+ gap: var(--spacing-8) !important;
669
+ }
670
+ .footer-middle-line {
671
+ display: flex;
672
+ flex-direction: column;
673
+ gap: var(--spacing-16);
674
+ padding-top: 0 !important;
675
+ }
676
+
677
+ .secondary-nav-container {
678
+ order: 1;
679
+ width: 100%;
680
+ }
681
+
682
+ /* Divider-ul imediat după secondary-nav */
683
+ .secondary-nav-container bd-divider-horizontal {
684
+ margin-top: var(--spacing-16);
685
+ margin-bottom: var(--spacing-16);
686
+ width: 100%;
687
+ }
688
+
689
+ .footer-address {
690
+ order: 2;
691
+ width: 100%;
692
+ text-align: left;
693
+ }
624
694
  }
625
695
  `;