@digital-b2c/coreui-kit 0.1.0 → 0.2.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.
package/dist/index.css CHANGED
@@ -1,3 +1,21 @@
1
+ /* src/components/Picture/Picture.module.scss */
2
+ .image-desktop {
3
+ display: block;
4
+ }
5
+ @media (max-width: 768px) {
6
+ .image-desktop {
7
+ display: none;
8
+ }
9
+ }
10
+ .image-mobile {
11
+ display: none;
12
+ }
13
+ @media (max-width: 768px) {
14
+ .image-mobile {
15
+ display: block;
16
+ }
17
+ }
18
+
1
19
  /* src/components/Button/Button.module.scss */
2
20
  .button {
3
21
  width: fit-content;
@@ -17,10 +35,11 @@
17
35
  background: rgba(255, 255, 255, 0);
18
36
  font-family: var(--font-family-primary);
19
37
  font-size: var(--font-size-md);
20
- font-weight: var(--font-weight-regular);
38
+ font-weight: var(--font-weight-medium);
21
39
  line-height: var(--line-height-normal);
22
40
  letter-spacing: -0.5%;
23
41
  position: relative;
42
+ transition: all 0.2s ease-in-out;
24
43
  }
25
44
  .button:hover {
26
45
  text-decoration: none;
@@ -158,7 +177,7 @@
158
177
  #ffffff,
159
178
  rgba(153, 153, 153, 0.39));
160
179
  border-radius: inherit;
161
- animation: rotateGradient 2s linear infinite;
180
+ animation: rotateGradient 2s ease-in infinite;
162
181
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
163
182
  -webkit-mask-composite: xor;
164
183
  mask-composite: exclude;
@@ -171,6 +190,12 @@
171
190
  background: transparent;
172
191
  outline: 4px solid var(--color-link);
173
192
  }
193
+ .button .icon,
194
+ .button .logo {
195
+ width: 24px;
196
+ height: 24px;
197
+ object-fit: contain;
198
+ }
174
199
  @property --angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
175
200
  @keyframes rotateGradient {
176
201
  from {
@@ -181,6 +206,117 @@
181
206
  }
182
207
  }
183
208
 
209
+ /* src/components/BrandsStrip/BrandsStrip.module.scss */
210
+ .brandsStrip {
211
+ display: flex;
212
+ height: 116px;
213
+ padding: 16px;
214
+ position: relative;
215
+ overflow: hidden;
216
+ }
217
+ .brandsStrip.light {
218
+ background:
219
+ linear-gradient(
220
+ 89.48deg,
221
+ rgba(255, 255, 255, 0.25) -2.75%,
222
+ rgba(153, 153, 153, 0) 187.82%);
223
+ backdrop-filter: blur(7.45513px);
224
+ }
225
+ .brandsStrip.light::before {
226
+ content: "";
227
+ position: absolute;
228
+ inset: 0;
229
+ padding: 0.75px;
230
+ border: 0.75px solid;
231
+ background:
232
+ linear-gradient(
233
+ 89.06deg,
234
+ rgba(153, 153, 153, 0.39) -2.28%,
235
+ rgba(255, 255, 255, 0.39) 101.91%);
236
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
237
+ -webkit-mask-composite: xor;
238
+ mask-composite: exclude;
239
+ pointer-events: none;
240
+ }
241
+ .brandsStrip.dark {
242
+ background-color: var(--color-black);
243
+ }
244
+ .brandsStrip.small {
245
+ height: 80px;
246
+ }
247
+ .brandsStrip.small .logoWrapper {
248
+ height: 49px;
249
+ width: 183px;
250
+ }
251
+ .brandsStrip .container {
252
+ position: relative;
253
+ display: flex;
254
+ justify-content: center;
255
+ align-items: center;
256
+ gap: 16px;
257
+ width: 100%;
258
+ height: 100%;
259
+ transition: filter 0.3s ease;
260
+ }
261
+ .brandsStrip .container .title {
262
+ color: var(--color-white);
263
+ }
264
+ .brandsStrip .container.blurred {
265
+ filter: blur(15px);
266
+ cursor: pointer;
267
+ }
268
+ .brandsStrip .logos {
269
+ display: flex;
270
+ gap: 120px;
271
+ }
272
+ .brandsStrip .logos.marquee {
273
+ position: relative;
274
+ display: flex;
275
+ align-items: center;
276
+ width: 100%;
277
+ height: 100%;
278
+ }
279
+ .brandsStrip .logos.marquee .logoWrapper {
280
+ --marquee-duration: 8s;
281
+ --marquee-item-width: 258px;
282
+ --marquee-gap: 120px;
283
+ --total-distance: calc( (var(--marquee-item-width) + var(--marquee-gap)) * var(--total-items) );
284
+ position: absolute;
285
+ inset-inline-start: 100%;
286
+ width: var(--marquee-item-width);
287
+ animation: scrollIndividual var(--marquee-duration) linear infinite;
288
+ animation-delay: calc(var(--marquee-duration) / var(--total-items) * var(--item-index) * -1);
289
+ }
290
+ .brandsStrip .logos.marquee .logoWrapper.paused {
291
+ animation-play-state: paused;
292
+ }
293
+ .brandsStrip .logoWrapper {
294
+ flex-shrink: 0;
295
+ height: 69px;
296
+ width: 260px;
297
+ display: flex;
298
+ align-items: center;
299
+ justify-content: center;
300
+ }
301
+ .brandsStrip .logoWrapper .logo {
302
+ width: 100%;
303
+ height: auto;
304
+ object-fit: contain;
305
+ }
306
+ .brandsStrip .cta {
307
+ position: absolute;
308
+ top: 50%;
309
+ left: 50%;
310
+ transform: translate(-50%, -50%);
311
+ z-index: 10;
312
+ max-width: 295px;
313
+ }
314
+ @keyframes scrollIndividual {
315
+ to {
316
+ transform: translateX(calc(var(--total-distance) * -1));
317
+ }
318
+ }
319
+
184
320
  /* src/components/Card/Card.module.scss */
185
321
  .card {
186
322
  display: flex;
@@ -198,24 +334,6 @@
198
334
  color: #cecece;
199
335
  }
200
336
 
201
- /* src/components/Picture/Picture.module.scss */
202
- .image-desktop {
203
- display: block;
204
- }
205
- @media (max-width: 768px) {
206
- .image-desktop {
207
- display: none;
208
- }
209
- }
210
- .image-mobile {
211
- display: none;
212
- }
213
- @media (max-width: 768px) {
214
- .image-mobile {
215
- display: block;
216
- }
217
- }
218
-
219
337
  /* src/components/CountingCard/CountingCard.module.scss */
220
338
  .counting-card {
221
339
  display: flex;
@@ -316,9 +434,93 @@
316
434
  /* src/components/primitives/Container/Container.module.scss */
317
435
  .container {
318
436
  width: 100%;
319
- max-width: 1440px;
437
+ max-width: 1280px;
320
438
  overflow: visible;
321
439
  margin: 0 auto;
440
+ position: relative;
441
+ }
442
+
443
+ /* src/components/PracticeCard/PracticeCard.module.scss */
444
+ .practice-card {
445
+ color: var(--color-white);
446
+ position: relative;
447
+ max-width: 426px;
448
+ height: 521px;
449
+ overflow: hidden;
450
+ cursor: pointer;
451
+ }
452
+ .practice-card .wrapper {
453
+ color: inherit;
454
+ text-decoration: none;
455
+ }
456
+ .practice-card .background {
457
+ object-fit: cover;
458
+ position: absolute;
459
+ z-index: 1;
460
+ top: 0;
461
+ left: 0;
462
+ width: 100%;
463
+ height: 100%;
464
+ transition: transform 0.2s ease;
465
+ }
466
+ .practice-card .container {
467
+ position: relative;
468
+ z-index: 2;
469
+ display: flex;
470
+ flex-direction: column;
471
+ justify-content: space-between;
472
+ width: 100%;
473
+ height: 100%;
474
+ padding: var(--spacing-lg);
475
+ }
476
+ @media (max-width: 768px) {
477
+ .practice-card .container {
478
+ flex-direction: row;
479
+ align-items: center;
480
+ justify-content: space-between;
481
+ padding: var(--spacing-md);
482
+ }
483
+ }
484
+ .practice-card .title {
485
+ max-width: 196px;
486
+ }
487
+ @media (max-width: 768px) {
488
+ .practice-card .title {
489
+ max-width: 146px;
490
+ font-size: var(--font-size-xl);
491
+ line-height: var(--line-height-tight-4);
492
+ }
493
+ }
494
+ .practice-card .cta {
495
+ display: flex;
496
+ justify-content: flex-end;
497
+ }
498
+ .practice-card .ctaRest {
499
+ position: absolute;
500
+ opacity: 1;
501
+ transition: opacity 0.2s ease, transform 0.2s ease;
502
+ }
503
+ .practice-card .ctaHover {
504
+ opacity: 0;
505
+ transition: opacity 0.2s ease;
506
+ }
507
+ .practice-card:hover .background {
508
+ transform: scale(1.08);
509
+ }
510
+ .practice-card:hover .ctaRest {
511
+ opacity: 0;
512
+ transform: rotate(-45deg);
513
+ }
514
+ .practice-card:hover .ctaHover {
515
+ opacity: 1;
516
+ transition-delay: 0.1s;
517
+ }
518
+ @media (max-width: 768px) {
519
+ .practice-card {
520
+ width: 100%;
521
+ max-width: unset;
522
+ height: 140px;
523
+ }
322
524
  }
323
525
 
324
526
  /* src/widgets/CardCollection/CardCollection.module.scss */
@@ -357,6 +559,248 @@
357
559
  }
358
560
  }
359
561
 
562
+ /* src/widgets/ContactModule/ContactModule.module.scss */
563
+ .contact-module {
564
+ width: 100%;
565
+ display: block;
566
+ padding-top: 96px;
567
+ }
568
+ .contact-module .container,
569
+ .contact-module .wrapper,
570
+ .contact-module .content,
571
+ .contact-module .cta-wrapper {
572
+ display: flex;
573
+ flex-direction: column;
574
+ align-items: center;
575
+ width: 100%;
576
+ }
577
+ .contact-module .cta-wrapper {
578
+ flex-direction: row;
579
+ justify-content: center;
580
+ gap: var(--spacing-sm);
581
+ }
582
+ @media (max-width: 768px) {
583
+ .contact-module .cta-wrapper {
584
+ flex-direction: column-reverse;
585
+ }
586
+ .contact-module .cta-wrapper .cta {
587
+ width: 100%;
588
+ }
589
+ }
590
+ .contact-module .wrapper {
591
+ gap: var(--spacing-lg);
592
+ padding: 0 var(--spacing-md);
593
+ }
594
+ .contact-module .content {
595
+ gap: var(--spacing-sm);
596
+ text-align: center;
597
+ }
598
+ @media (max-width: 768px) {
599
+ .contact-module .content {
600
+ max-width: 80%;
601
+ }
602
+ }
603
+ .contact-module .title {
604
+ color: var(--color-black);
605
+ }
606
+ @media (max-width: 768px) {
607
+ .contact-module .title {
608
+ max-width: 75%;
609
+ }
610
+ }
611
+ @media (max-width: 768px) {
612
+ .contact-module .image {
613
+ max-width: 80%;
614
+ margin-top: -14px;
615
+ }
616
+ }
617
+
618
+ /* src/widgets/HeroBanner/HeroBanner.module.scss */
619
+ .heroBanner {
620
+ width: 100%;
621
+ position: relative;
622
+ }
623
+ .heroBanner.mainHeroBanner {
624
+ background-color: #f3f3f3;
625
+ padding: 48px 80px 0 80px;
626
+ }
627
+ .heroBanner.mainHeroBanner .container {
628
+ max-width: 1280px;
629
+ height: calc(100dvh - 112px);
630
+ margin: 0 auto;
631
+ border-radius: 16px;
632
+ overflow: hidden;
633
+ }
634
+ .heroBanner.bannerPodcast .container {
635
+ flex-direction: row;
636
+ align-items: center;
637
+ justify-content: center;
638
+ height: 100dvh;
639
+ padding: var(--spacing-7xl);
640
+ gap: 64px;
641
+ }
642
+ .heroBanner.bannerPodcast .container .banner {
643
+ padding: 0;
644
+ justify-content: center;
645
+ }
646
+ .heroBanner.bannerPodcast .container .banner .text .title {
647
+ color: var(--color-black);
648
+ }
649
+ .heroBanner.bannerPodcast .container .banner .text .subtitle {
650
+ color: var(--color-gray);
651
+ }
652
+ .heroBanner.bannerPodcast .container .logoWrapper {
653
+ z-index: 2;
654
+ }
655
+ .heroBanner.bannerPodcast .container .logoWrapper .logo {
656
+ object-fit: contain;
657
+ max-width: 466px;
658
+ }
659
+ .heroBanner.bannerPodcast .container .horizontalGradient {
660
+ display: flex;
661
+ height: 8px;
662
+ }
663
+ .heroBanner.bannerPodcast .container .horizontalGradient .lensCrafters {
664
+ background-color: var(--color-lenscrafter-blue);
665
+ }
666
+ .heroBanner.bannerPodcast .container .horizontalGradient .forEyes {
667
+ background-color: var(--color-foreyes-brown);
668
+ }
669
+ .heroBanner.bannerPodcast .container .horizontalGradient .optical {
670
+ background-color: var(--color-targetoptical-red);
671
+ }
672
+ .heroBanner.bannerPodcast .container .horizontalGradient .pearleVision {
673
+ background-color: var(--color-pearlevision-green);
674
+ }
675
+ .heroBanner .container {
676
+ position: relative;
677
+ display: flex;
678
+ flex-direction: column;
679
+ justify-content: end;
680
+ height: calc(100dvh - 64px);
681
+ }
682
+ .heroBanner .container .banner {
683
+ display: flex;
684
+ flex-direction: column;
685
+ justify-content: end;
686
+ width: 100%;
687
+ max-width: 661px;
688
+ height: 100%;
689
+ gap: var(--spacing-lg);
690
+ padding: var(--spacing-7xl);
691
+ z-index: 2;
692
+ }
693
+ .heroBanner .container .banner .text {
694
+ display: flex;
695
+ flex-direction: column;
696
+ gap: var(--spacing-sm);
697
+ color: var(--color-white);
698
+ }
699
+ .heroBanner .container .banner .ctaContainer {
700
+ display: flex;
701
+ gap: var(--spacing-sm);
702
+ }
703
+ .heroBanner .container .brandsStrip {
704
+ z-index: 3;
705
+ }
706
+ .heroBanner .container .backgroundImage {
707
+ position: absolute;
708
+ top: 0;
709
+ left: 0;
710
+ width: 100%;
711
+ height: 100%;
712
+ object-fit: cover;
713
+ z-index: 1;
714
+ }
715
+ .heroBanner .scrollDown {
716
+ display: flex;
717
+ justify-content: center;
718
+ align-items: center;
719
+ width: 100%;
720
+ height: 64px;
721
+ }
722
+ .heroBanner .scrollDown .arrow {
723
+ width: 32px;
724
+ height: 32px;
725
+ }
726
+ @media (max-width: 768px) {
727
+ .heroBanner.mainHeroBanner {
728
+ padding: 24px 16px;
729
+ }
730
+ .heroBanner.mainHeroBanner .container {
731
+ height: calc(100dvh - 88px);
732
+ }
733
+ .heroBanner.bannerPodcast .container {
734
+ flex-direction: column;
735
+ padding: 24px 16px;
736
+ gap: 32px;
737
+ }
738
+ .heroBanner.bannerPodcast .container .banner {
739
+ order: 2;
740
+ height: unset;
741
+ }
742
+ .heroBanner.bannerPodcast .container .logoWrapper {
743
+ order: 1;
744
+ }
745
+ .heroBanner.bannerPodcast .container .logoWrapper .logo {
746
+ width: 100%;
747
+ }
748
+ .heroBanner .container .banner {
749
+ padding: var(--spacing-lg) var(--spacing-md);
750
+ }
751
+ .heroBanner .container .banner .ctaContainer {
752
+ flex-direction: column;
753
+ }
754
+ }
755
+
756
+ /* src/widgets/MiniBanner/MiniBanner.module.scss */
757
+ .minibanner {
758
+ width: 100%;
759
+ background-color: #f3f3f3;
760
+ min-height: 192px;
761
+ position: relative;
762
+ color: var(--color-white);
763
+ text-align: center;
764
+ }
765
+ .minibanner :global(.h1) {
766
+ font-weight: 400;
767
+ }
768
+ .minibanner .background {
769
+ position: absolute;
770
+ left: 0;
771
+ top: 0;
772
+ width: 100%;
773
+ height: 100%;
774
+ object-fit: cover;
775
+ z-index: 1;
776
+ }
777
+ .minibanner .container {
778
+ display: flex;
779
+ flex-direction: column;
780
+ align-items: center;
781
+ justify-content: center;
782
+ gap: var(--spacing-lg);
783
+ padding: var(--spacing-3xl) 0;
784
+ z-index: 2;
785
+ }
786
+ @media (max-width: 768px) {
787
+ .minibanner .container {
788
+ padding: var(--spacing-3xl) var(--spacing-md);
789
+ }
790
+ }
791
+ .minibanner.miniBannerNoBG {
792
+ color: var(--color-black);
793
+ }
794
+ .minibanner.miniBannerNoBG .container {
795
+ gap: var(--spacing-lg);
796
+ padding: var(--spacing-5xl) 0;
797
+ }
798
+ @media (max-width: 768px) {
799
+ .minibanner.miniBannerNoBG .container {
800
+ padding: var(--spacing-5xl) var(--spacing-md);
801
+ }
802
+ }
803
+
360
804
  /* src/widgets/MiniSectionCta/MiniSectionCta.module.scss */
361
805
  .miniSectionCta {
362
806
  width: 100%;
@@ -419,7 +863,7 @@
419
863
  }
420
864
  .miniSectionCta.infoCallout .subtitle {
421
865
  font-size: var(--font-size-lg);
422
- font-weight: var(--font-weight-regular);
866
+ font-weight: var(--font-weight-medium);
423
867
  line-height: var(--line-height-tight-1);
424
868
  }
425
869
  .miniSectionCta.miniTextCenterCta .col {
@@ -427,6 +871,69 @@
427
871
  }
428
872
  }
429
873
 
874
+ /* src/widgets/PracticePathCards/PracticePathCards.module.scss */
875
+ .practice-path-cards {
876
+ display: block;
877
+ width: 100%;
878
+ padding: var(--spacing-3xl) 0;
879
+ }
880
+ @media (max-width: 768px) {
881
+ .practice-path-cards {
882
+ padding: var(--spacing-lg) var(--spacing-md);
883
+ }
884
+ }
885
+ .practice-path-cards h2 {
886
+ color: var(--color-black);
887
+ }
888
+ .practice-path-cards .container {
889
+ display: flex;
890
+ flex-direction: column;
891
+ gap: var(--spacing-xl);
892
+ }
893
+ .practice-path-cards .wrapper {
894
+ display: flex;
895
+ align-items: center;
896
+ justify-content: space-between;
897
+ gap: var(--spacing-xl);
898
+ }
899
+ @media (max-width: 768px) {
900
+ .practice-path-cards .wrapper {
901
+ flex-direction: column;
902
+ }
903
+ .practice-path-cards .wrapper .ctaWrapper {
904
+ width: 100%;
905
+ padding: 0 var(--spacing-lg);
906
+ }
907
+ .practice-path-cards .wrapper .ctaWrapper .cta {
908
+ width: 100%;
909
+ }
910
+ }
911
+ .practice-path-cards .content {
912
+ display: flex;
913
+ flex-direction: column;
914
+ gap: var(--spacing-sm);
915
+ }
916
+ .practice-path-cards .cards {
917
+ display: flex;
918
+ flex-direction: row;
919
+ overflow: hidden;
920
+ border-radius: 16px;
921
+ justify-content: center;
922
+ }
923
+ @media (max-width: 768px) {
924
+ .practice-path-cards .cards {
925
+ flex-direction: column;
926
+ }
927
+ }
928
+ .practice-path-cards .card {
929
+ width: 33.333%;
930
+ }
931
+ @media (max-width: 768px) {
932
+ .practice-path-cards .card {
933
+ width: 100%;
934
+ }
935
+ }
936
+
430
937
  /* src/widgets/Teaser5050With3Text/Teaser5050With3Text.module.scss */
431
938
  .teaser5050-3text {
432
939
  width: 100%;