igloo-d2c-components 1.1.1 → 1.1.3-non-prod

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.
Files changed (28) hide show
  1. package/dist/assets/tenants/b2cid/logo.svg +22 -0
  2. package/dist/assets/tenants/b2cid/logo_white.svg +22 -0
  3. package/dist/cjs/index.js +1645 -37
  4. package/dist/esm/index.js +1642 -40
  5. package/dist/types/components/CoverageAmountSlider/styled.d.ts +1 -1
  6. package/dist/types/components/DesktopHeaderMenuBar/DesktopHeaderMenuBar.d.ts +1 -1
  7. package/dist/types/components/DesktopHeaderMenuBar/styled.d.ts +10 -7
  8. package/dist/types/components/DesktopHeaderMenuBar/types.d.ts +4 -0
  9. package/dist/types/components/FAQAccordion/styled.d.ts +2 -2
  10. package/dist/types/components/Footer/styled.d.ts +4 -4
  11. package/dist/types/components/Header/Header.d.ts +17 -1
  12. package/dist/types/components/Header/styled.d.ts +9 -9
  13. package/dist/types/components/NewHeader/styled.d.ts +2 -2
  14. package/dist/types/components/OptionButton/styled.d.ts +1 -1
  15. package/dist/types/components/RecommendationsDrawer/styled.d.ts +4 -4
  16. package/dist/types/components/ToggleGroup/styled.d.ts +1 -1
  17. package/dist/types/components/TravelCategoryCard/TravelCategoryCard.d.ts +36 -0
  18. package/dist/types/components/TravelCategoryCard/index.d.ts +2 -0
  19. package/dist/types/components/TravelCategoryCard/styled.d.ts +15 -0
  20. package/dist/types/components/TravelQuoteDrawer/TravelQuoteDrawer.d.ts +82 -0
  21. package/dist/types/components/TravelQuoteDrawer/index.d.ts +2 -0
  22. package/dist/types/components/TravelQuoteDrawer/styled.d.ts +46 -0
  23. package/dist/types/index.d.ts +6 -2
  24. package/dist/types/themes/index.d.ts +4 -0
  25. package/dist/types/themes/typography.d.ts +4 -0
  26. package/dist/types/types/tenant.d.ts +1 -1
  27. package/dist/types/utils/componentResolver.d.ts +1 -1
  28. package/package.json +5 -4
package/dist/cjs/index.js CHANGED
@@ -15,6 +15,8 @@ var InfoIcon = require('@mui/icons-material/Info');
15
15
  var AddIcon = require('@mui/icons-material/Add');
16
16
  var RemoveIcon = require('@mui/icons-material/Remove');
17
17
  var ExpandMoreIcon = require('@mui/icons-material/ExpandMore');
18
+ var AddCircleOutlineIcon = require('@mui/icons-material/AddCircleOutline');
19
+ var RemoveCircleOutlineIcon = require('@mui/icons-material/RemoveCircleOutline');
18
20
 
19
21
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
20
22
 
@@ -47,6 +49,8 @@ var InfoIcon__default = /*#__PURE__*/_interopDefault(InfoIcon);
47
49
  var AddIcon__default = /*#__PURE__*/_interopDefault(AddIcon);
48
50
  var RemoveIcon__default = /*#__PURE__*/_interopDefault(RemoveIcon);
49
51
  var ExpandMoreIcon__default = /*#__PURE__*/_interopDefault(ExpandMoreIcon);
52
+ var AddCircleOutlineIcon__default = /*#__PURE__*/_interopDefault(AddCircleOutlineIcon);
53
+ var RemoveCircleOutlineIcon__default = /*#__PURE__*/_interopDefault(RemoveCircleOutlineIcon);
50
54
 
51
55
  /**
52
56
  * Tenant Typography Configurations
@@ -434,6 +438,1272 @@ const ammetlifeTypography = {
434
438
  * These map to the new Figma-based variants
435
439
  * ======================================== */
436
440
  };
441
+ /**
442
+ * B2C ID Typography Configuration
443
+ */
444
+ const b2cidTypography = {
445
+ fontFamily: 'Montserrat',
446
+ fontWeightRegular: 400,
447
+ fontWeightMedium: 500,
448
+ fontWeightSemiBold: 600,
449
+ fontWeightBold: 700,
450
+ fontWeightExtraBold: 800,
451
+ fontWeightExtraBlack: 900,
452
+ H1: {
453
+ fontSize: '64px',
454
+ fontStyle: 'normal',
455
+ fontWeight: 900,
456
+ lineHeight: '72px',
457
+ },
458
+ h1: {
459
+ fontSize: '42px',
460
+ fontStyle: 'normal',
461
+ fontWeight: 700,
462
+ lineHeight: '48px',
463
+ '@media (max-width:600px)': {
464
+ fontSize: '24px',
465
+ fontStyle: 'normal',
466
+ fontWeight: 700,
467
+ lineHeight: '30px',
468
+ },
469
+ },
470
+ h2: {
471
+ fontSize: '22px',
472
+ fontStyle: 'normal',
473
+ fontWeight: 700,
474
+ lineHeight: '26px',
475
+ '@media (max-width:600px)': {
476
+ fontSize: '16px',
477
+ fontStyle: 'normal',
478
+ fontWeight: 600,
479
+ lineHeight: '22px',
480
+ },
481
+ },
482
+ h3: {
483
+ fontSize: '18px',
484
+ fontStyle: 'normal',
485
+ fontWeight: 600,
486
+ lineHeight: '24px',
487
+ '@media (max-width:600px)': {
488
+ fontSize: '14px',
489
+ fontStyle: 'normal',
490
+ fontWeight: 600,
491
+ lineHeight: '20px',
492
+ },
493
+ },
494
+ bodyStrongLarge: {
495
+ fontSize: '16px',
496
+ fontStyle: 'normal',
497
+ fontWeight: 500,
498
+ lineHeight: '20px',
499
+ '@media (max-width:600px)': {
500
+ fontSize: '14px',
501
+ fontStyle: 'normal',
502
+ fontWeight: 400,
503
+ lineHeight: '18px',
504
+ },
505
+ },
506
+ bodyStrongMedium: {
507
+ fontSize: '14px',
508
+ fontStyle: 'normal',
509
+ fontWeight: 500,
510
+ lineHeight: '18px',
511
+ },
512
+ bodyStrongSmall: {
513
+ fontSize: '12px',
514
+ fontStyle: 'normal',
515
+ fontWeight: 500,
516
+ lineHeight: '16px',
517
+ },
518
+ bodyStrongSmallBoth: {
519
+ fontSize: '14px',
520
+ fontStyle: 'normal',
521
+ fontWeight: 500,
522
+ lineHeight: '18px',
523
+ '@media (max-width:600px)': {
524
+ fontSize: '12px',
525
+ fontStyle: 'normal',
526
+ fontWeight: 500,
527
+ lineHeight: '16px',
528
+ },
529
+ },
530
+ bodyStrongSM: {
531
+ fontSize: '14px',
532
+ fontStyle: 'normal',
533
+ fontWeight: 500,
534
+ lineHeight: '18px',
535
+ '@media (max-width:600px)': {
536
+ fontSize: '12px',
537
+ fontStyle: 'normal',
538
+ fontWeight: 500,
539
+ lineHeight: '16px',
540
+ },
541
+ },
542
+ bodyFeedbackText: {
543
+ fontSize: '12px',
544
+ fontStyle: 'normal',
545
+ fontWeight: 600,
546
+ lineHeight: '16px',
547
+ },
548
+ bodyStrongSmallBadgeText: {
549
+ fontSize: '14px',
550
+ fontStyle: 'normal',
551
+ fontWeight: 500,
552
+ lineHeight: '16px',
553
+ '@media (max-width:600px)': {
554
+ fontSize: '12px',
555
+ fontStyle: 'normal',
556
+ fontWeight: 400,
557
+ lineHeight: '18px',
558
+ },
559
+ },
560
+ bodyLarge: {
561
+ fontSize: '16px',
562
+ fontStyle: 'normal',
563
+ fontWeight: 400,
564
+ lineHeight: '20px',
565
+ '@media (max-width:600px)': {
566
+ fontSize: '14px',
567
+ fontStyle: 'normal',
568
+ fontWeight: 400,
569
+ lineHeight: '18px',
570
+ },
571
+ },
572
+ bodyLargeXL: {
573
+ fontSize: '16px',
574
+ fontStyle: 'normal',
575
+ fontWeight: 500,
576
+ lineHeight: '20px',
577
+ '@media (max-width:600px)': {
578
+ fontSize: '14px',
579
+ fontStyle: 'normal',
580
+ fontWeight: 400,
581
+ lineHeight: '18px',
582
+ },
583
+ },
584
+ bodyMedium: {
585
+ fontSize: '14px',
586
+ fontStyle: 'normal',
587
+ fontWeight: 400,
588
+ lineHeight: '18px',
589
+ },
590
+ bodyMediumCountryLabel: {
591
+ fontSize: '16px',
592
+ fontStyle: 'normal',
593
+ fontWeight: 400,
594
+ lineHeight: '20px',
595
+ '@media (max-width:600px)': {
596
+ fontSize: '14px',
597
+ fontStyle: 'normal',
598
+ fontWeight: 400,
599
+ lineHeight: '18px',
600
+ },
601
+ },
602
+ bodyMediumLarge: {
603
+ fontSize: '14px',
604
+ fontStyle: 'normal',
605
+ fontWeight: 600,
606
+ lineHeight: '18px',
607
+ },
608
+ bodySmall: {
609
+ fontSize: '12px',
610
+ fontStyle: 'normal',
611
+ fontWeight: 400,
612
+ lineHeight: '16px',
613
+ },
614
+ displayLarge: {
615
+ fontSize: '57px',
616
+ fontStyle: 'normal',
617
+ fontWeight: 900,
618
+ lineHeight: '64px',
619
+ },
620
+ displayMedium: {
621
+ fontSize: '45px',
622
+ fontStyle: 'normal',
623
+ fontWeight: 800,
624
+ lineHeight: '52px',
625
+ },
626
+ displaySmall: {
627
+ fontSize: '30px',
628
+ fontStyle: 'normal',
629
+ fontWeight: 700,
630
+ lineHeight: '44px',
631
+ '@media (max-width:600px)': {
632
+ fontSize: '22px',
633
+ fontStyle: 'normal',
634
+ fontWeight: 700,
635
+ lineHeight: '30px',
636
+ },
637
+ },
638
+ displaySmallForTitle: {
639
+ fontSize: '22px',
640
+ fontStyle: 'normal',
641
+ fontWeight: 700,
642
+ lineHeight: '26px',
643
+ '@media (max-width:600px)': {
644
+ fontSize: '16px',
645
+ fontStyle: 'normal',
646
+ fontWeight: 600,
647
+ lineHeight: '22px',
648
+ },
649
+ },
650
+ drawerMainTitle: {
651
+ fontSize: '24px',
652
+ fontStyle: 'normal',
653
+ fontWeight: 700,
654
+ lineHeight: '30px',
655
+ },
656
+ drawerTitle: {
657
+ fontSize: '16px',
658
+ fontStyle: 'normal',
659
+ fontWeight: 600,
660
+ lineHeight: '22px',
661
+ },
662
+ bannerTopTextHome: {
663
+ fontSize: '64px',
664
+ fontStyle: 'normal',
665
+ fontWeight: 800,
666
+ lineHeight: '86.966px',
667
+ '@media (max-width:600px)': {
668
+ fontSize: '45px',
669
+ fontStyle: 'normal',
670
+ fontWeight: 800,
671
+ lineHeight: '52px',
672
+ },
673
+ },
674
+ bannerLowerTextHome: {
675
+ fontSize: '64px',
676
+ fontStyle: 'normal',
677
+ fontWeight: 800,
678
+ lineHeight: '86.966px',
679
+ '@media (max-width:600px)': {
680
+ fontSize: '36px',
681
+ fontStyle: 'normal',
682
+ fontWeight: 700,
683
+ lineHeight: '44px',
684
+ },
685
+ },
686
+ categoryBanner: {
687
+ fontSize: '64px',
688
+ fontStyle: 'normal',
689
+ fontWeight: 800,
690
+ lineHeight: '86.966px',
691
+ '@media (max-width:600px)': {
692
+ fontSize: '34px',
693
+ fontStyle: 'normal',
694
+ fontWeight: 700,
695
+ lineHeight: '44px',
696
+ },
697
+ },
698
+ description: {
699
+ fontSize: '18px',
700
+ fontStyle: 'normal',
701
+ fontWeight: 600,
702
+ lineHeight: '24px',
703
+ '@media (max-width:600px)': {
704
+ fontSize: '8px',
705
+ fontStyle: 'normal',
706
+ fontWeight: 600,
707
+ lineHeight: '16px',
708
+ },
709
+ },
710
+ tileDescription: {
711
+ fontSize: '16px',
712
+ fontStyle: 'normal',
713
+ fontWeight: '500',
714
+ lineHeight: '20px',
715
+ '@media (max-width:600px)': {
716
+ fontSize: '12px',
717
+ fontStyle: 'normal',
718
+ fontWeight: '500',
719
+ lineHeight: '16px',
720
+ },
721
+ },
722
+ ctaButton: {
723
+ fontSize: '14px',
724
+ fontStyle: 'normal',
725
+ fontWeight: '600',
726
+ lineHeight: '20px',
727
+ },
728
+ bodyStrongDescription: {
729
+ fontSize: '16px',
730
+ fontStyle: 'normal',
731
+ fontWeight: 500,
732
+ lineHeight: '20px',
733
+ '@media (max-width:600px)': {
734
+ fontSize: '14px',
735
+ fontStyle: 'normal',
736
+ fontWeight: 500,
737
+ lineHeight: '18px',
738
+ },
739
+ },
740
+ bodyStrongLargeOnlyDesktop: {
741
+ fontSize: '16px',
742
+ fontStyle: 'normal',
743
+ fontWeight: 500,
744
+ lineHeight: '20px',
745
+ },
746
+ imageLabel: {
747
+ fontSize: '16px',
748
+ fontStyle: 'normal',
749
+ fontWeight: 400,
750
+ lineHeight: '20px',
751
+ },
752
+ currencyValue: {
753
+ fontSize: '6px',
754
+ fontStyle: 'normal',
755
+ fontWeight: 600,
756
+ lineHeight: '16px',
757
+ },
758
+ smallText: {
759
+ fontSize: '8px',
760
+ fontStyle: 'normal',
761
+ fontWeight: 500,
762
+ lineHeight: '16px',
763
+ },
764
+ tableHeaderText: {
765
+ fontSize: '18px',
766
+ fontStyle: 'normal',
767
+ fontWeight: 600,
768
+ lineHeight: '24px',
769
+ '@media (max-width:600px)': {
770
+ fontSize: '14px',
771
+ fontStyle: 'normal',
772
+ fontWeight: 600,
773
+ lineHeight: '20px',
774
+ },
775
+ },
776
+ tableHeaderPremiumValue: {
777
+ fontSize: '14px',
778
+ fontStyle: 'normal',
779
+ fontWeight: 400,
780
+ lineHeight: '16px',
781
+ '@media (max-width:600px)': {
782
+ fontSize: '12px',
783
+ fontStyle: 'normal',
784
+ fontWeight: 400,
785
+ lineHeight: '16px',
786
+ },
787
+ },
788
+ tableHeaderDiscountedPremiumValue: {
789
+ fontSize: '14px',
790
+ fontStyle: 'normal',
791
+ fontWeight: 400,
792
+ lineHeight: '16px',
793
+ '@media (max-width:600px)': {
794
+ fontSize: '12px',
795
+ fontStyle: 'normal',
796
+ fontWeight: 500,
797
+ lineHeight: '16px',
798
+ },
799
+ },
800
+ addonRp: {
801
+ fontSize: '8px',
802
+ fontStyle: 'normal',
803
+ fontWeight: 600,
804
+ lineHeight: '16px',
805
+ },
806
+ aiNotification: {
807
+ fontSize: '9px',
808
+ fontStyle: 'normal',
809
+ fontWeight: 500,
810
+ lineHeight: '14px',
811
+ },
812
+ mobileH2: {
813
+ fontSize: '16px',
814
+ fontStyle: 'normal',
815
+ fontWeight: 700,
816
+ lineHeight: '20px',
817
+ },
818
+ annuallyTag: {
819
+ fontSize: '14px',
820
+ fontStyle: 'normal',
821
+ fontWeight: 400,
822
+ lineHeight: '16px',
823
+ '@media (max-width:600px)': {
824
+ fontSize: '12px',
825
+ fontStyle: 'normal',
826
+ fontWeight: 400,
827
+ lineHeight: '20px',
828
+ },
829
+ },
830
+ descriptionContact: {
831
+ fontSize: '16px',
832
+ fontStyle: 'normal',
833
+ fontWeight: 400,
834
+ lineHeight: '20px',
835
+ '@media (max-width:600px)': {
836
+ fontSize: '12px',
837
+ fontStyle: 'normal',
838
+ fontWeight: 400,
839
+ lineHeight: '16px',
840
+ },
841
+ },
842
+ radioGroupHeader: {
843
+ fontSize: '14px',
844
+ fontStyle: 'normal',
845
+ fontWeight: 400,
846
+ lineHeight: '20px',
847
+ '@media (min-width:600px)': {
848
+ fontSize: '16px',
849
+ fontStyle: 'normal',
850
+ fontWeight: 400,
851
+ lineHeight: '24px',
852
+ },
853
+ },
854
+ title: {
855
+ fontSize: '16px',
856
+ fontStyle: 'normal',
857
+ fontWeight: 700,
858
+ lineHeight: '24px',
859
+ },
860
+ aboutUsDesc: {
861
+ fontSize: '24px',
862
+ fontStyle: 'normal',
863
+ fontWeight: 400,
864
+ lineHeight: '30px',
865
+ '@media (max-width:600px)': {
866
+ fontSize: '14px',
867
+ fontStyle: 'normal',
868
+ fontWeight: 500,
869
+ lineHeight: '18px',
870
+ },
871
+ },
872
+ ppandtosdescription: {
873
+ fontSize: '14px',
874
+ fontStyle: 'normal',
875
+ fontWeight: 400,
876
+ lineHeight: '18px',
877
+ '@media (max-width:600px)': {
878
+ fontSize: '12px',
879
+ fontStyle: 'normal',
880
+ fontWeight: 400,
881
+ lineHeight: '16px',
882
+ },
883
+ },
884
+ ppandtosheader: {
885
+ fontSize: '16px',
886
+ fontStyle: 'normal',
887
+ fontWeight: 500,
888
+ lineHeight: '20px',
889
+ '@media (max-width:600px)': {
890
+ fontSize: '14px',
891
+ fontStyle: 'normal',
892
+ fontWeight: 500,
893
+ lineHeight: '18px',
894
+ },
895
+ },
896
+ contactUsDescription: {
897
+ fontSize: '12px',
898
+ fontStyle: 'normal',
899
+ fontWeight: 500,
900
+ lineHeight: '16px',
901
+ '@media (max-width:600px)': {
902
+ fontSize: '8px',
903
+ fontStyle: 'normal',
904
+ fontWeight: 600,
905
+ lineHeight: '16px',
906
+ },
907
+ },
908
+ descriptionForContact: {
909
+ fontSize: '18px',
910
+ fontStyle: 'normal',
911
+ fontWeight: 600,
912
+ lineHeight: '24px',
913
+ '@media (max-width:600px)': {
914
+ fontSize: '12px',
915
+ fontStyle: 'normal',
916
+ fontWeight: 500,
917
+ lineHeight: '16px',
918
+ },
919
+ },
920
+ policystatus: {
921
+ fontSize: '14px',
922
+ fontStyle: 'normal',
923
+ fontWeight: 500,
924
+ lineHeight: '18px',
925
+ '@media (max-width:600px)': {
926
+ fontSize: '12px',
927
+ fontStyle: 'normal',
928
+ fontWeight: 500,
929
+ lineHeight: '16px',
930
+ },
931
+ },
932
+ policyitemdetails: {
933
+ fontSize: '16px',
934
+ fontStyle: 'normal',
935
+ fontWeight: 400,
936
+ lineHeight: '20px',
937
+ '@media (max-width:600px)': {
938
+ fontSize: '14px',
939
+ fontStyle: 'normal',
940
+ fontWeight: 400,
941
+ lineHeight: '18px',
942
+ },
943
+ },
944
+ amountOnFloating: {
945
+ fontSize: '14px',
946
+ fontStyle: 'normal',
947
+ fontWeight: 600,
948
+ lineHeight: '20px',
949
+ },
950
+ ratingEmoji: {
951
+ fontSize: '14px',
952
+ fontStyle: 'normal',
953
+ fontWeight: 600,
954
+ lineHeight: '20px',
955
+ '@media (max-width:600px)': {
956
+ fontSize: '12px',
957
+ fontStyle: 'normal',
958
+ fontWeight: 600,
959
+ lineHeight: '16px',
960
+ },
961
+ },
962
+ displayMediumForBoth: {
963
+ fontSize: '45px',
964
+ fontStyle: 'normal',
965
+ fontWeight: 800,
966
+ lineHeight: '52px',
967
+ '@media (max-width:600px)': {
968
+ fontSize: '24px',
969
+ fontStyle: 'normal',
970
+ fontWeight: 800,
971
+ lineHeight: '24px',
972
+ },
973
+ },
974
+ bodyLargeSubHeading: {
975
+ fontSize: '16px',
976
+ fontStyle: 'normal',
977
+ fontWeight: 400,
978
+ lineHeight: '20px',
979
+ '@media (max-width:600px)': {
980
+ fontSize: '10px',
981
+ fontStyle: 'normal',
982
+ fontWeight: 500,
983
+ lineHeight: '12px',
984
+ },
985
+ },
986
+ h2Contact: {
987
+ fontSize: '22px',
988
+ fontStyle: 'normal',
989
+ fontWeight: 700,
990
+ lineHeight: '26px',
991
+ '@media (max-width:600px)': {
992
+ fontSize: '14px',
993
+ fontStyle: 'normal',
994
+ fontWeight: 600,
995
+ lineHeight: '20px',
996
+ },
997
+ },
998
+ tileDescriptionContact: {
999
+ fontSize: '18px',
1000
+ fontStyle: 'normal',
1001
+ fontWeight: '600',
1002
+ lineHeight: '24px',
1003
+ '@media (max-width:600px)': {
1004
+ fontSize: '12px',
1005
+ fontStyle: 'normal',
1006
+ fontWeight: '500',
1007
+ lineHeight: '16px',
1008
+ },
1009
+ },
1010
+ bodyStrongLargePartners: {
1011
+ fontSize: '16px',
1012
+ fontStyle: 'normal',
1013
+ fontWeight: 500,
1014
+ lineHeight: '20px',
1015
+ '@media (max-width:600px)': {
1016
+ fontSize: '14px',
1017
+ fontStyle: 'normal',
1018
+ fontWeight: 600,
1019
+ lineHeight: '20px',
1020
+ },
1021
+ },
1022
+ h4: {
1023
+ fontSize: '18px',
1024
+ fontStyle: 'normal',
1025
+ fontWeight: 600,
1026
+ lineHeight: '24px',
1027
+ '@media (max-width:600px)': {
1028
+ fontSize: '14px',
1029
+ fontStyle: 'normal',
1030
+ fontWeight: 500,
1031
+ lineHeight: '18px',
1032
+ },
1033
+ },
1034
+ mobileH3: {
1035
+ fontSize: '10px',
1036
+ fontStyle: 'normal',
1037
+ fontWeight: 700,
1038
+ lineHeight: '16px',
1039
+ },
1040
+ mobileDescription: {
1041
+ fontSize: '10px',
1042
+ fontStyle: 'normal',
1043
+ fontWeight: 400,
1044
+ lineHeight: '16px',
1045
+ },
1046
+ termsTitle: {
1047
+ fontSize: '14px',
1048
+ fontStyle: 'normal',
1049
+ fontWeight: 500,
1050
+ lineHeight: '20px',
1051
+ },
1052
+ policyTitle: {
1053
+ fontSize: '14px',
1054
+ fontStyle: 'normal',
1055
+ fontWeight: 600,
1056
+ lineHeight: '22px',
1057
+ },
1058
+ infoMessage: {
1059
+ fontSize: '10px',
1060
+ fontStyle: 'normal',
1061
+ fontWeight: 500,
1062
+ lineHeight: '16px',
1063
+ },
1064
+ seoBanner: {
1065
+ fontSize: '40px',
1066
+ fontStyle: 'normal',
1067
+ fontWeight: 700,
1068
+ lineHeight: '44px',
1069
+ '@media (max-width:600px)': {
1070
+ fontSize: '30px',
1071
+ fontStyle: 'normal',
1072
+ fontWeight: 700,
1073
+ lineHeight: '120%',
1074
+ },
1075
+ },
1076
+ h3SEO: {
1077
+ fontSize: '18px',
1078
+ fontStyle: 'normal',
1079
+ fontWeight: 600,
1080
+ lineHeight: '24px',
1081
+ '@media (max-width:600px)': {
1082
+ fontSize: '14px',
1083
+ fontStyle: 'normal',
1084
+ fontWeight: 600,
1085
+ lineHeight: '20px',
1086
+ },
1087
+ },
1088
+ h2SEO: {
1089
+ fontSize: '22px',
1090
+ fontStyle: 'normal',
1091
+ fontWeight: 700,
1092
+ lineHeight: '26px',
1093
+ '@media (max-width:600px)': {
1094
+ fontSize: '16px',
1095
+ fontStyle: 'normal',
1096
+ fontWeight: 600,
1097
+ lineHeight: '22px',
1098
+ },
1099
+ },
1100
+ descriptionForZsurvey: {
1101
+ fontSize: '14px',
1102
+ fontStyle: 'normal',
1103
+ fontWeight: 500,
1104
+ lineHeight: '18px',
1105
+ '@media (max-width:600px)': {
1106
+ fontSize: '10px',
1107
+ fontStyle: 'normal',
1108
+ fontWeight: 500,
1109
+ lineHeight: '16px',
1110
+ },
1111
+ },
1112
+ interstialText: {
1113
+ fontSize: '18px',
1114
+ fontStyle: 'normal',
1115
+ fontWeight: 600,
1116
+ lineHeight: '24px',
1117
+ '@media (max-width:600px)': {
1118
+ fontSize: '10px',
1119
+ fontStyle: 'normal',
1120
+ fontWeight: 600,
1121
+ lineHeight: '20px',
1122
+ },
1123
+ },
1124
+ interstialTitle: {
1125
+ fontSize: '18px',
1126
+ fontStyle: 'normal',
1127
+ fontWeight: 600,
1128
+ lineHeight: '24px',
1129
+ '@media (max-width:600px)': {
1130
+ fontSize: '16px',
1131
+ fontStyle: 'normal',
1132
+ fontWeight: 600,
1133
+ lineHeight: '24px',
1134
+ },
1135
+ },
1136
+ interstialHighlights: {
1137
+ fontSize: '14px',
1138
+ fontStyle: 'normal',
1139
+ fontWeight: 400,
1140
+ lineHeight: '18px',
1141
+ '@media (max-width:600px)': {
1142
+ fontSize: '12px',
1143
+ fontStyle: 'normal',
1144
+ fontWeight: 400,
1145
+ lineHeight: '16px',
1146
+ },
1147
+ },
1148
+ interstialPrefixText: {
1149
+ fontSize: '12px',
1150
+ fontStyle: 'normal',
1151
+ fontWeight: 600,
1152
+ lineHeight: '14.4px',
1153
+ '@media (max-width:600px)': {
1154
+ fontSize: '10px',
1155
+ fontStyle: 'normal',
1156
+ fontWeight: 600,
1157
+ lineHeight: '12px',
1158
+ },
1159
+ },
1160
+ interstialAmountText: {
1161
+ fontSize: '16px',
1162
+ fontStyle: 'normal',
1163
+ fontWeight: 600,
1164
+ lineHeight: '24px',
1165
+ '@media (max-width:600px)': {
1166
+ fontSize: '14px',
1167
+ fontStyle: 'normal',
1168
+ fontWeight: 600,
1169
+ lineHeight: '22px',
1170
+ },
1171
+ },
1172
+ interstialPostText: {
1173
+ fontSize: '12px',
1174
+ fontStyle: 'normal',
1175
+ fontWeight: 600,
1176
+ lineHeight: '16px',
1177
+ '@media (max-width:600px)': {
1178
+ fontSize: '10px',
1179
+ fontStyle: 'normal',
1180
+ fontWeight: 600,
1181
+ lineHeight: '16px',
1182
+ },
1183
+ },
1184
+ interstialButtonText: {
1185
+ fontSize: '16px',
1186
+ fontStyle: 'normal',
1187
+ fontWeight: 600,
1188
+ lineHeight: '24px',
1189
+ '@media (max-width:600px)': {
1190
+ fontSize: '14px',
1191
+ fontStyle: 'normal',
1192
+ fontWeight: 600,
1193
+ lineHeight: '20px',
1194
+ },
1195
+ },
1196
+ interstialRecommendationTag: {
1197
+ fontSize: '12px',
1198
+ fontStyle: 'normal',
1199
+ fontWeight: 700,
1200
+ lineHeight: '16px',
1201
+ '@media (max-width:600px)': {
1202
+ fontSize: '10px',
1203
+ fontStyle: 'normal',
1204
+ fontWeight: 700,
1205
+ lineHeight: '16px',
1206
+ },
1207
+ },
1208
+ interstialPromotionTag: {
1209
+ fontSize: '12px',
1210
+ fontStyle: 'normal',
1211
+ fontWeight: 700,
1212
+ lineHeight: '16px',
1213
+ '@media (max-width:600px)': {
1214
+ fontSize: '10px',
1215
+ fontStyle: 'normal',
1216
+ fontWeight: 700,
1217
+ lineHeight: '16px',
1218
+ },
1219
+ },
1220
+ recommendationTag: {
1221
+ fontSize: '12px',
1222
+ fontStyle: 'normal',
1223
+ fontWeight: 400,
1224
+ lineHeight: '14.4px',
1225
+ '@media (max-width:600px)': {
1226
+ fontSize: '10px',
1227
+ fontStyle: 'normal',
1228
+ fontWeight: 400,
1229
+ lineHeight: '12px',
1230
+ },
1231
+ },
1232
+ aiRecommendationTitle: {
1233
+ fontSize: '12px',
1234
+ fontStyle: 'normal',
1235
+ fontWeight: 700,
1236
+ lineHeight: '12px',
1237
+ '@media (max-width:600px)': {
1238
+ fontSize: '10px',
1239
+ fontStyle: 'normal',
1240
+ fontWeight: 700,
1241
+ lineHeight: '12px',
1242
+ },
1243
+ },
1244
+ h2Interstitial: {
1245
+ fontSize: '22px',
1246
+ fontStyle: 'normal',
1247
+ fontWeight: 700,
1248
+ lineHeight: '28px',
1249
+ '@media (max-width:600px)': {
1250
+ fontSize: '20px',
1251
+ fontStyle: 'normal',
1252
+ fontWeight: 700,
1253
+ lineHeight: '26px',
1254
+ },
1255
+ },
1256
+ contactDescription: {
1257
+ fontSize: '12px',
1258
+ fontStyle: 'normal',
1259
+ fontWeight: 400,
1260
+ lineHeight: '16px',
1261
+ '@media (max-width:600px)': {
1262
+ fontSize: '10px',
1263
+ fontStyle: 'normal',
1264
+ fontWeight: 400,
1265
+ lineHeight: '14px',
1266
+ },
1267
+ },
1268
+ personalizedPlanHeaderTitle: {
1269
+ fontSize: '16px',
1270
+ fontStyle: 'normal',
1271
+ fontWeight: 600,
1272
+ lineHeight: '24px',
1273
+ '@media (max-width:600px)': {
1274
+ fontSize: '12px',
1275
+ fontStyle: 'normal',
1276
+ fontWeight: 600,
1277
+ lineHeight: '16px',
1278
+ },
1279
+ },
1280
+ h4ForBoth: {
1281
+ fontSize: '14px',
1282
+ fontStyle: 'normal',
1283
+ fontWeight: 500,
1284
+ lineHeight: '18px',
1285
+ },
1286
+ interstialAmountTextForBoth: {
1287
+ fontSize: '16px',
1288
+ fontStyle: 'normal',
1289
+ fontWeight: 600,
1290
+ lineHeight: '24px',
1291
+ '@media (max-width:600px)': {
1292
+ fontSize: '12px',
1293
+ fontStyle: 'normal',
1294
+ fontWeight: 600,
1295
+ lineHeight: '16px',
1296
+ },
1297
+ },
1298
+ personalizedPlanHeaderSubtitle: {
1299
+ fontSize: '12px',
1300
+ fontStyle: 'normal',
1301
+ fontWeight: 400,
1302
+ lineHeight: '16px',
1303
+ '@media (max-width:600px)': {
1304
+ fontSize: '9px',
1305
+ fontStyle: 'normal',
1306
+ fontWeight: 400,
1307
+ lineHeight: '14px',
1308
+ },
1309
+ },
1310
+ personalizedPlanNewTag: {
1311
+ fontSize: '10px',
1312
+ fontStyle: 'normal',
1313
+ fontWeight: 700,
1314
+ lineHeight: '14px',
1315
+ },
1316
+ personalizedPlanNewTagBoth: {
1317
+ fontSize: '12px',
1318
+ fontStyle: 'normal',
1319
+ fontWeight: 700,
1320
+ lineHeight: '16px',
1321
+ '@media (max-width:600px)': {
1322
+ fontSize: '10px',
1323
+ fontStyle: 'normal',
1324
+ fontWeight: 700,
1325
+ lineHeight: '14px',
1326
+ },
1327
+ },
1328
+ drawerMainTitleTwo: {
1329
+ fontSize: '24px',
1330
+ fontStyle: 'normal',
1331
+ fontWeight: 700,
1332
+ lineHeight: '32px',
1333
+ '@media (max-width:600px)': {
1334
+ fontSize: '16px',
1335
+ fontStyle: 'normal',
1336
+ fontWeight: 600,
1337
+ lineHeight: '24px',
1338
+ },
1339
+ },
1340
+ bodyStrongLargeOnlyMobile: {
1341
+ fontSize: '16px',
1342
+ fontStyle: 'normal',
1343
+ fontWeight: 500,
1344
+ lineHeight: '20px',
1345
+ '@media (max-width:600px)': {
1346
+ fontSize: '12px',
1347
+ fontStyle: 'normal',
1348
+ fontWeight: 500,
1349
+ lineHeight: '16px',
1350
+ },
1351
+ },
1352
+ personalizedCount: {
1353
+ fontSize: '16px',
1354
+ fontStyle: 'normal',
1355
+ fontWeight: 600,
1356
+ lineHeight: '14.4px',
1357
+ '@media (max-width:600px)': {
1358
+ fontSize: '10px',
1359
+ fontStyle: 'normal',
1360
+ fontWeight: 600,
1361
+ lineHeight: '12px',
1362
+ },
1363
+ },
1364
+ questionaireQuestionTitle: {
1365
+ fontSize: '16px',
1366
+ fontStyle: 'normal',
1367
+ fontWeight: 600,
1368
+ lineHeight: '24px',
1369
+ '@media (max-width:600px)': {
1370
+ fontSize: '14px',
1371
+ fontStyle: 'normal',
1372
+ fontWeight: 600,
1373
+ lineHeight: '20px',
1374
+ },
1375
+ },
1376
+ questionaireQuestionDescription: {
1377
+ fontSize: '14px',
1378
+ fontStyle: 'normal',
1379
+ fontWeight: 400,
1380
+ lineHeight: '18px',
1381
+ '@media (max-width:600px)': {
1382
+ fontSize: '12px',
1383
+ fontStyle: 'normal',
1384
+ fontWeight: 400,
1385
+ lineHeight: '16px',
1386
+ },
1387
+ },
1388
+ searchAirline: {
1389
+ fontSize: '16px',
1390
+ fontStyle: 'normal',
1391
+ fontWeight: 600,
1392
+ lineHeight: '24px',
1393
+ '@media (max-width:600px)': {
1394
+ fontSize: '14px',
1395
+ fontStyle: 'normal',
1396
+ fontWeight: 600,
1397
+ lineHeight: '20px',
1398
+ },
1399
+ },
1400
+ displaySmallTwo: {
1401
+ fontSize: '30px',
1402
+ fontStyle: 'normal',
1403
+ fontWeight: 700,
1404
+ lineHeight: '44px',
1405
+ '@media (max-width:600px)': {
1406
+ fontSize: '20px',
1407
+ fontStyle: 'normal',
1408
+ fontWeight: 700,
1409
+ lineHeight: '28px',
1410
+ },
1411
+ },
1412
+ annualFeeEntryone: {
1413
+ fontSize: '18px',
1414
+ fontStyle: 'normal',
1415
+ fontWeight: 500,
1416
+ lineHeight: '32px',
1417
+ '@media (max-width:600px)': {
1418
+ fontSize: '10px',
1419
+ fontStyle: 'normal',
1420
+ fontWeight: 400,
1421
+ lineHeight: '14px',
1422
+ },
1423
+ },
1424
+ annualFeeEntrytwo: {
1425
+ fontSize: '18px',
1426
+ fontStyle: 'normal',
1427
+ fontWeight: 700,
1428
+ lineHeight: '32px',
1429
+ '@media (max-width:600px)': {
1430
+ fontSize: '10px',
1431
+ fontStyle: 'normal',
1432
+ fontWeight: 700,
1433
+ lineHeight: '14px',
1434
+ },
1435
+ },
1436
+ displaySmallForModalTitle: {
1437
+ fontSize: '22px',
1438
+ fontStyle: 'normal',
1439
+ fontWeight: 700,
1440
+ lineHeight: '26px',
1441
+ '@media (max-width:600px)': {
1442
+ fontSize: '20px',
1443
+ fontStyle: 'normal',
1444
+ fontWeight: 700,
1445
+ lineHeight: '28px',
1446
+ },
1447
+ },
1448
+ bodyMediumModalDesc: {
1449
+ fontSize: '16px',
1450
+ fontStyle: 'normal',
1451
+ fontWeight: 400,
1452
+ lineHeight: '20px',
1453
+ '@media (max-width:600px)': {
1454
+ fontSize: '14px',
1455
+ fontStyle: 'normal',
1456
+ fontWeight: 400,
1457
+ lineHeight: '18px',
1458
+ },
1459
+ },
1460
+ personalizedPlanNewTagForBoth: {
1461
+ fontSize: '12px',
1462
+ fontStyle: 'normal',
1463
+ fontWeight: 700,
1464
+ lineHeight: '16px',
1465
+ '@media (max-width:600px)': {
1466
+ fontSize: '10px',
1467
+ fontStyle: 'normal',
1468
+ fontWeight: 700,
1469
+ lineHeight: '14px',
1470
+ },
1471
+ },
1472
+ personalizedPlanHeaderTitleReverse: {
1473
+ fontSize: '18px',
1474
+ fontStyle: 'normal',
1475
+ fontWeight: 700,
1476
+ lineHeight: '24px',
1477
+ '@media (max-width:600px)': {
1478
+ fontSize: '16px',
1479
+ fontStyle: 'normal',
1480
+ fontWeight: 600,
1481
+ lineHeight: '24px',
1482
+ },
1483
+ },
1484
+ h3Reverse: {
1485
+ fontSize: '14px',
1486
+ fontStyle: 'normal',
1487
+ fontWeight: 600,
1488
+ lineHeight: '20px',
1489
+ '@media (max-width:600px)': {
1490
+ fontSize: '12px',
1491
+ fontStyle: 'normal',
1492
+ fontWeight: 600,
1493
+ lineHeight: '16px',
1494
+ },
1495
+ },
1496
+ bodyStrongSmallForboth: {
1497
+ fontSize: '14px',
1498
+ fontStyle: 'normal',
1499
+ fontWeight: 500,
1500
+ lineHeight: '18px',
1501
+ '@media (max-width:600px)': {
1502
+ fontSize: '12px',
1503
+ fontStyle: 'normal',
1504
+ fontWeight: 500,
1505
+ lineHeight: '16px',
1506
+ },
1507
+ },
1508
+ bodyFeedbackTextForBoth: {
1509
+ fontSize: '14px',
1510
+ fontStyle: 'normal',
1511
+ fontWeight: 600,
1512
+ lineHeight: '18px',
1513
+ '@media (max-width:600px)': {
1514
+ fontSize: '12px',
1515
+ fontStyle: 'normal',
1516
+ fontWeight: 600,
1517
+ lineHeight: '16px',
1518
+ },
1519
+ },
1520
+ personalizedPlanNewTagReverse: {
1521
+ fontSize: '12px',
1522
+ fontStyle: 'normal',
1523
+ fontWeight: 700,
1524
+ lineHeight: '16px',
1525
+ '@media (max-width:600px)': {
1526
+ fontSize: '10px',
1527
+ fontStyle: 'normal',
1528
+ fontWeight: 700,
1529
+ lineHeight: '14px',
1530
+ },
1531
+ },
1532
+ seoPageTitle: {
1533
+ fontSize: '22px',
1534
+ fontStyle: 'normal',
1535
+ fontWeight: 700,
1536
+ lineHeight: '26px',
1537
+ '@media (max-width:600px)': {
1538
+ fontSize: '16px',
1539
+ fontStyle: 'normal',
1540
+ fontWeight: 700,
1541
+ lineHeight: '24px',
1542
+ },
1543
+ },
1544
+ h3ForBoth: {
1545
+ fontSize: '14px',
1546
+ fontStyle: 'normal',
1547
+ fontWeight: 600,
1548
+ lineHeight: '20px',
1549
+ },
1550
+ bodyMediumModalDescLarge: {
1551
+ fontSize: '16px',
1552
+ fontStyle: 'normal',
1553
+ fontWeight: 500,
1554
+ lineHeight: '20px',
1555
+ '@media (max-width:600px)': {
1556
+ fontSize: '14px',
1557
+ fontStyle: 'normal',
1558
+ fontWeight: 400,
1559
+ lineHeight: '18px',
1560
+ },
1561
+ },
1562
+ bodySmallForBoth: {
1563
+ fontSize: '14px',
1564
+ fontStyle: 'normal',
1565
+ fontWeight: 400,
1566
+ lineHeight: '18px',
1567
+ '@media (max-width:600px)': {
1568
+ fontSize: '12px',
1569
+ fontStyle: 'normal',
1570
+ fontWeight: 400,
1571
+ lineHeight: '16px',
1572
+ },
1573
+ },
1574
+ switchFromPetToCar: {
1575
+ fontSize: '12px',
1576
+ fontStyle: 'normal',
1577
+ fontWeight: 400,
1578
+ lineHeight: '16px',
1579
+ '@media (max-width:600px)': {
1580
+ fontSize: '10px',
1581
+ fontStyle: 'normal',
1582
+ fontWeight: 400,
1583
+ lineHeight: '14px',
1584
+ },
1585
+ },
1586
+ interstialPetToCar: {
1587
+ fontSize: '16px',
1588
+ fontStyle: 'normal',
1589
+ fontWeight: 600,
1590
+ lineHeight: '24px',
1591
+ '@media (max-width:600px)': {
1592
+ fontSize: '10px',
1593
+ fontStyle: 'normal',
1594
+ fontWeight: 600,
1595
+ lineHeight: '14px',
1596
+ },
1597
+ },
1598
+ interstialPetToCarButton: {
1599
+ fontSize: '16px',
1600
+ fontStyle: 'normal',
1601
+ fontWeight: 600,
1602
+ lineHeight: '24px',
1603
+ '@media (max-width:600px)': {
1604
+ fontSize: '10px',
1605
+ fontStyle: 'normal',
1606
+ fontWeight: 600,
1607
+ lineHeight: '16px',
1608
+ },
1609
+ },
1610
+ countPercentage: {
1611
+ fontSize: '14px',
1612
+ fontStyle: 'normal',
1613
+ fontWeight: 600,
1614
+ lineHeight: '20px',
1615
+ '@media (max-width:600px)': {
1616
+ fontSize: '12px',
1617
+ fontStyle: 'normal',
1618
+ fontWeight: 600,
1619
+ lineHeight: '16px',
1620
+ },
1621
+ },
1622
+ h2Large: {
1623
+ fontSize: '22px',
1624
+ fontStyle: 'normal',
1625
+ fontWeight: 700,
1626
+ lineHeight: '26px',
1627
+ '@media (max-width:600px)': {
1628
+ fontSize: '16px',
1629
+ fontStyle: 'normal',
1630
+ fontWeight: 600,
1631
+ lineHeight: '24px',
1632
+ },
1633
+ },
1634
+ aiTimeStamp: {
1635
+ fontSize: '10px',
1636
+ fontStyle: 'normal',
1637
+ fontWeight: 400,
1638
+ lineHeight: '14px',
1639
+ },
1640
+ originalPriceDescription: {
1641
+ fontSize: '12px',
1642
+ fontStyle: 'normal',
1643
+ fontWeight: 500,
1644
+ lineHeight: '16px',
1645
+ '@media (max-width:600px)': {
1646
+ fontSize: '10px',
1647
+ fontStyle: 'normal',
1648
+ fontWeight: 500,
1649
+ lineHeight: '14px',
1650
+ },
1651
+ },
1652
+ interstialAmountTextOne: {
1653
+ fontSize: '16px',
1654
+ fontStyle: 'normal',
1655
+ fontWeight: 600,
1656
+ lineHeight: '24px',
1657
+ },
1658
+ interstialAmountTextNew: {
1659
+ fontSize: '22px',
1660
+ fontStyle: 'normal',
1661
+ fontWeight: 700,
1662
+ lineHeight: '26px',
1663
+ '@media (max-width:600px)': {
1664
+ fontSize: '16px',
1665
+ fontStyle: 'normal',
1666
+ fontWeight: 600,
1667
+ lineHeight: '24px',
1668
+ },
1669
+ },
1670
+ ratingEmojiBold: {
1671
+ fontSize: '16px',
1672
+ fontStyle: 'normal',
1673
+ fontWeight: 600,
1674
+ lineHeight: '20px',
1675
+ '@media (max-width:600px)': {
1676
+ fontSize: '14px',
1677
+ fontStyle: 'normal',
1678
+ fontWeight: 600,
1679
+ lineHeight: '20px',
1680
+ },
1681
+ },
1682
+ ratingEmojiBoldTwo: {
1683
+ fontSize: '16px',
1684
+ fontStyle: 'normal',
1685
+ fontWeight: 600,
1686
+ lineHeight: '20px',
1687
+ '@media (max-width:600px)': {
1688
+ fontSize: '14px',
1689
+ fontStyle: 'normal',
1690
+ fontWeight: 400,
1691
+ lineHeight: '18px',
1692
+ },
1693
+ },
1694
+ interstialAmountTextOneForboth: {
1695
+ fontSize: '18px',
1696
+ fontStyle: 'normal',
1697
+ fontWeight: 700,
1698
+ lineHeight: '24px',
1699
+ '@media (max-width:600px)': {
1700
+ fontSize: '16px',
1701
+ fontStyle: 'normal',
1702
+ fontWeight: 600,
1703
+ lineHeight: '24px',
1704
+ },
1705
+ },
1706
+ };
437
1707
  /**
438
1708
  * Typography Registry
439
1709
  * Map of tenant IDs to their typography configurations
@@ -441,6 +1711,7 @@ const ammetlifeTypography = {
441
1711
  const tenantTypography = {
442
1712
  igloo: iglooTypography,
443
1713
  ammetlife: ammetlifeTypography,
1714
+ b2cid: b2cidTypography,
444
1715
  };
445
1716
  /**
446
1717
  * Get typography configuration by tenant ID
@@ -626,6 +1897,91 @@ const ammetlifeTheme = {
626
1897
  favicon: 'https://static.iglooinsure.com/icons/favicon.ico',
627
1898
  assetBaseUrl: '/assets/tenants/ammetlife',
628
1899
  };
1900
+ /**
1901
+ * B2C ID Theme Configuration
1902
+ */
1903
+ const b2cidTheme = {
1904
+ palette: {
1905
+ primary: {
1906
+ dark: '#1300A9',
1907
+ main: '#4E4EEB',
1908
+ light: '#8183FF',
1909
+ bright: '#C1C1FF',
1910
+ plain: '#E1DFFF',
1911
+ border: '#4E4EFD',
1912
+ },
1913
+ secondary: {
1914
+ dim: '#650713',
1915
+ dark: '#C55153',
1916
+ main: '#FF7D7D',
1917
+ bright: '#FF7378',
1918
+ mediumBright: '#FF7062',
1919
+ light: '#FFB3B1',
1920
+ lighter: '#FFEBEB',
1921
+ },
1922
+ tertiary: {
1923
+ dim: '#C5C6CF',
1924
+ dark: '#E1E2EB',
1925
+ main: '#F5F5FF',
1926
+ light: '#FEFBFF',
1927
+ bright: '#F9F9F9',
1928
+ },
1929
+ natural: {
1930
+ dim: '#13131B',
1931
+ dark: '#5F5E62',
1932
+ main: '#929094',
1933
+ light: '#C8C5CA',
1934
+ bright: '#fff',
1935
+ granite: '#666',
1936
+ },
1937
+ ui: {
1938
+ sliderActive: '#4E4EEB',
1939
+ sliderInactive: '#c8c5ca',
1940
+ sliderBackground: '#f9f9f9',
1941
+ toggleActive: '#4E4EEB',
1942
+ toggleActiveText: '#ffffff',
1943
+ toggleInactiveText: '#5f5e62',
1944
+ calloutBackground: '#f9f9f9',
1945
+ calloutBorder: '#ffffff',
1946
+ inputBackground: '#ffffff',
1947
+ inputBorder: '#eeeeee',
1948
+ buttonPrimary: '#4E4EEB',
1949
+ buttonPrimaryHover: 'rgba(78, 78, 235, 0.7)',
1950
+ },
1951
+ motor: {
1952
+ main: '#00CCFF',
1953
+ light: 'rgba(0, 208, 255, 0.10)',
1954
+ bright: '#DFF9FF',
1955
+ },
1956
+ car: {
1957
+ main: '#00CCFF',
1958
+ light: 'rgba(0, 208, 255, 0.10)',
1959
+ darkAI: '#06BDCE',
1960
+ },
1961
+ travel: {
1962
+ main: '#00E08B',
1963
+ light: 'rgba(0, 228, 130, 0.10)',
1964
+ },
1965
+ health: {
1966
+ main: '#FD72E7',
1967
+ },
1968
+ life: {
1969
+ main: '#C3214B',
1970
+ light: 'rgba(195, 33, 75, 0.10)',
1971
+ },
1972
+ pet: {
1973
+ main: '#F3A100',
1974
+ },
1975
+ },
1976
+ typography: {
1977
+ ...b2cidTypography,
1978
+ fontFamily: '"Montserrat", "Roboto", "Helvetica", "Arial", sans-serif',
1979
+ },
1980
+ logo: '/assets/tenants/b2cid/logo.svg',
1981
+ logoWhite: '/assets/tenants/b2cid/logo_white.svg',
1982
+ favicon: 'https://static.iglooinsure.com/icons/favicon.ico',
1983
+ assetBaseUrl: '/assets/tenants/b2cid',
1984
+ };
629
1985
  /**
630
1986
  * Theme Registry
631
1987
  * Map of tenant IDs to their theme configurations
@@ -633,6 +1989,7 @@ const ammetlifeTheme = {
633
1989
  const tenantThemes = {
634
1990
  igloo: iglooTheme,
635
1991
  ammetlife: ammetlifeTheme,
1992
+ b2cid: b2cidTheme,
636
1993
  };
637
1994
  /**
638
1995
  * Get theme configuration by tenant ID
@@ -937,7 +2294,7 @@ function resolveReactComponent(component) {
937
2294
  * - Header height: 80px
938
2295
  * - Background: white (#ffffff)
939
2296
  * - Content padding: 156px horizontal on 1440px viewport
940
- * - Logo dimensions: 126px × 16px
2297
+ * - Logo dimensions: 126px × 16px (default)
941
2298
  * - Gap between menu items: 32px
942
2299
  * - Menu text: MetLife Circular Bold, 18px, #13131B, line-height 24px
943
2300
  * - CTA Button: Filled, #0090da, border-radius 24px, height 48px
@@ -1010,13 +2367,16 @@ const LogoContainer$2 = styles.styled(material.Box)({
1010
2367
  });
1011
2368
  /**
1012
2369
  * Logo image
1013
- * Width: 126px, height: 16px (per Figma node 1328:28463)
2370
+ * Width: 126px, height: 16px by default.
2371
+ * Height can be overridden with `$logoHeight` for tenant-specific needs.
1014
2372
  */
1015
- const LogoImage$1 = styles.styled('img')({
2373
+ const LogoImage$1 = styles.styled('img', {
2374
+ shouldForwardProp: (prop) => prop !== '$logoHeight',
2375
+ })(({ $logoHeight }) => ({
1016
2376
  width: '126px',
1017
- height: '16px',
2377
+ height: $logoHeight || '16px',
1018
2378
  objectFit: 'contain',
1019
- });
2379
+ }));
1020
2380
  /**
1021
2381
  * Navigation menu container
1022
2382
  * No additional gap - items are spaced by LeftSection's gap
@@ -1269,7 +2629,7 @@ const MENU_HOVER_ICONS = {
1269
2629
  * @param onLogoClick - Handler for logo click
1270
2630
  * @param formatMessage - i18n function for translations
1271
2631
  */
1272
- function DesktopHeaderMenuBar({ logo, logoAlt = 'Logo', menuItems,
2632
+ function DesktopHeaderMenuBar({ logo, logoAlt = 'Logo', logoHeight, menuItems,
1273
2633
  // Legacy props (deprecated)
1274
2634
  showLoginButton, loginButtonText, onLoginClick,
1275
2635
  // New CTA props
@@ -1365,7 +2725,7 @@ languages = [], currentLocale, onLanguageChange, }) {
1365
2725
  }
1366
2726
  return `AMP ${normalizedCode}`;
1367
2727
  };
1368
- return (jsxRuntime.jsx(StyledAppBar$2, { className: className, children: jsxRuntime.jsxs(HeaderContainer$1, { children: [jsxRuntime.jsx(LeftSection, { children: jsxRuntime.jsx(LogoContainer$2, { onClick: handleLogoClick, children: logo ? jsxRuntime.jsx(LogoImage$1, { src: logo, alt: logoAlt }) : null }) }), jsxRuntime.jsxs(RightSection, { children: [menuItems.map((item) => (jsxRuntime.jsxs(React__namespace.Fragment, { children: [jsxRuntime.jsxs(MenuItemContainer, { onMouseEnter: () => setHoveredMenuKey(item.key), onMouseLeave: () => setHoveredMenuKey(null), children: [jsxRuntime.jsx(MenuItemButton, { onClick: (e) => handleMenuClick(e, item), "aria-haspopup": item.hasDropdown ? 'true' : undefined, "aria-expanded": item.hasDropdown ? openMenuKey === item.key : undefined, "data-testid": `menu-item-${item.key}`, children: jsxRuntime.jsxs(MenuItemContent, { isHovered: hoveredMenuKey === item.key, children: [hoveredMenuKey === item.key &&
2728
+ return (jsxRuntime.jsx(StyledAppBar$2, { className: className, children: jsxRuntime.jsxs(HeaderContainer$1, { children: [jsxRuntime.jsx(LeftSection, { children: jsxRuntime.jsx(LogoContainer$2, { onClick: handleLogoClick, children: logo ? jsxRuntime.jsx(LogoImage$1, { src: logo, alt: logoAlt, "$logoHeight": logoHeight }) : null }) }), jsxRuntime.jsxs(RightSection, { children: [menuItems.map((item) => (jsxRuntime.jsxs(React__namespace.Fragment, { children: [jsxRuntime.jsxs(MenuItemContainer, { onMouseEnter: () => setHoveredMenuKey(item.key), onMouseLeave: () => setHoveredMenuKey(null), children: [jsxRuntime.jsx(MenuItemButton, { onClick: (e) => handleMenuClick(e, item), "aria-haspopup": item.hasDropdown ? 'true' : undefined, "aria-expanded": item.hasDropdown ? openMenuKey === item.key : undefined, "data-testid": `menu-item-${item.key}`, children: jsxRuntime.jsxs(MenuItemContent, { isHovered: hoveredMenuKey === item.key, children: [hoveredMenuKey === item.key &&
1369
2729
  (Boolean(item.scrollTargetProductCode) ||
1370
2730
  item.key in MENU_HOVER_ICONS) && (jsxRuntime.jsx(MenuItemTopIcon, { children: jsxRuntime.jsx(MenuItemIcon, { src: MENU_HOVER_ICONS[item.key] ?? '/assets/tenants/ammetlife/shield_icon.png', alt: "" }) })), jsxRuntime.jsx(MenuItemText, { children: formatMessage({ id: item.label }) }), item.hasDropdown && jsxRuntime.jsx(DropdownIcon, {})] }) }), hoveredMenuKey === item.key &&
1371
2731
  Boolean(item.scrollTargetProductCode) && (jsxRuntime.jsx(MenuItemTooltip, { "data-testid": `menu-tooltip-${item.key}`, children: jsxRuntime.jsx(MenuItemTooltipText, { children: getHoverTooltipLabel(item.scrollTargetProductCode) }) }))] }), item.hasDropdown && item.subItems && (jsxRuntime.jsx(StyledMenu$1, { id: `menu-${item.key}`, anchorEl: anchorEl, open: openMenuKey === item.key, onClose: handleCloseMenu, anchorOrigin: {
@@ -1394,7 +2754,9 @@ languages = [], currentLocale, onLanguageChange, }) {
1394
2754
 
1395
2755
  const ResolvedCloseIcon$1 = resolveSvgIcon(CloseIcon__default.default);
1396
2756
  const ResolvedMenuIcon = resolveSvgIcon(MenuIcon__default.default);
1397
- const StyledAppBar$1 = styles.styled(AppBar__default.default)(({ theme, ispartnershippagemobileview, scrolled }) => ({
2757
+ const StyledAppBar$1 = styles.styled(AppBar__default.default, {
2758
+ shouldForwardProp: (prop) => prop !== 'ispartnershippagemobileview' && prop !== 'scrolled',
2759
+ })(({ theme, ispartnershippagemobileview, scrolled }) => ({
1398
2760
  zIndex: '1000 !important',
1399
2761
  backgroundColor: ispartnershippagemobileview && !scrolled
1400
2762
  ? 'transparent !important'
@@ -1417,7 +2779,9 @@ const ResponsiveB2CLayout = styles.styled('div')(({ theme }) => ({
1417
2779
  margin: '0 auto',
1418
2780
  },
1419
2781
  }));
1420
- const StyledContainer = styles.styled(Container__default.default)(({ theme, scrolled }) => ({
2782
+ const StyledContainer = styles.styled(Container__default.default, {
2783
+ shouldForwardProp: (prop) => prop !== 'ispartnershippagemobileview' && prop !== 'scrolled',
2784
+ })(({ theme, scrolled }) => ({
1421
2785
  boxShadow: 'none',
1422
2786
  [theme?.breakpoints?.down('md')]: {
1423
2787
  boxShadow: !scrolled ? 'none' : '0px 2px 20px 4px rgba(0, 0, 0, 0.14)',
@@ -1428,11 +2792,11 @@ const TypographyLogo = styles.styled(material.Typography)(({ theme }) => ({
1428
2792
  display: '-webkit-box',
1429
2793
  alignItems: 'anchor-center',
1430
2794
  [theme?.breakpoints?.up('md')]: {
1431
- width: 95,
2795
+ width: 'auto',
1432
2796
  height: 57,
1433
2797
  },
1434
2798
  [theme?.breakpoints?.down('md')]: {
1435
- width: 73.3,
2799
+ width: 'auto',
1436
2800
  display: 'flex',
1437
2801
  },
1438
2802
  }));
@@ -1559,12 +2923,14 @@ const StyledAvatarUserIcon = styles.styled(material.Avatar)(({ theme }) => ({
1559
2923
  margin: '0',
1560
2924
  },
1561
2925
  }));
1562
- const StyledMenuIcon = styles.styled(ResolvedMenuIcon)(({ theme, ispartnershippagemobileview, scrolled }) => ({
2926
+ const StyledMenuIcon = styles.styled(ResolvedMenuIcon, {
2927
+ shouldForwardProp: (prop) => prop !== 'ispartnershippagemobileview' && prop !== 'scrolled',
2928
+ })(({ theme, ispartnershippagemobileview, scrolled }) => ({
1563
2929
  color: ispartnershippagemobileview && !scrolled
1564
2930
  ? theme.palette.common?.white || '#fff'
1565
2931
  : `${theme.palette.text?.primary || '#000'}`,
1566
2932
  }));
1567
- const StyledDrawer$3 = styles.styled(material.Drawer)(({ theme }) => ({
2933
+ const StyledDrawer$4 = styles.styled(material.Drawer)(({ theme }) => ({
1568
2934
  '& .MuiMenu-paper': {
1569
2935
  left: 'auto',
1570
2936
  width: 'fit-content',
@@ -1703,7 +3069,7 @@ const ResolvedDesktopHeaderMenuBar = resolveReactComponent(DesktopHeaderMenuBar)
1703
3069
  * />
1704
3070
  * ```
1705
3071
  */
1706
- function Header$1({ logo, navigationLinks, languages, currentLocale, userToken, userFirstName, isMobile: propIsMobile, scrolled = false, isPartnershipPageMobileView = false, isPartnershipPagePCView = false, isSeoPageView = false, bannerData, host = '', welcomeMessage, formatMessage = (descriptor) => descriptor.id, menuItems, userProfileComponent, onLogoClick, onProductMenuClick, onLanguageChange, onLoginClick, onSignupClick, onLogoutClick, onPartnershipClick, onAboutUsClick, onBlogClick, onMyProfileClick, onGetQuoteClick, onPartnershipCTAClick, useNewDesktopLayout = false, desktopMenuItems = [], showCtaButton = true, ctaButtonText = 'Purchase Now', onCtaClick, ctaScrollTargetId, onScrollToSection, }) {
3072
+ function Header$1({ logo, logoHeight, navigationLinks, languages, currentLocale, userToken, userFirstName, isMobile: propIsMobile, scrolled = false, isPartnershipPageMobileView = false, isPartnershipPagePCView = false, isSeoPageView = false, bannerData, host = '', welcomeMessage, formatMessage = (descriptor) => descriptor.id, menuItems, userProfileComponent, onLogoClick, onProductMenuClick, onLanguageChange, onLoginClick, onSignupClick, onLogoutClick, onPartnershipClick, onAboutUsClick, onBlogClick, onMyProfileClick, onGetQuoteClick, onPartnershipCTAClick, useNewDesktopLayout = false, desktopMenuItems = [], desktopMenuTextVariant = 'h6', desktopAuthTextVariant = 'body1', showCtaButton = true, ctaButtonText = 'Purchase Now', onCtaClick, ctaScrollTargetId, onScrollToSection, }) {
1707
3073
  useTenantTheme();
1708
3074
  const muiTheme = material.useTheme();
1709
3075
  const themeBreakpoint = material.useMediaQuery(muiTheme?.breakpoints?.down('md'));
@@ -1750,7 +3116,7 @@ function Header$1({ logo, navigationLinks, languages, currentLocale, userToken,
1750
3116
  // Render new desktop layout whenever enabled in non-mobile mode.
1751
3117
  // This avoids falling back to the legacy desktop path during SSR.
1752
3118
  if (useNewDesktopLayout && !isMobile) {
1753
- return (jsxRuntime.jsx(ResolvedDesktopHeaderMenuBar, { logo: logo, logoAlt: "Logo", menuItems: convertedDesktopMenuItems, showCtaButton: showCtaButton, ctaButtonText: ctaButtonText, onCtaClick: onCtaClick, ctaScrollTargetId: ctaScrollTargetId, onScrollToSection: onScrollToSection, onLogoClick: onLogoClick, formatMessage: formatMessage, languages: languages, currentLocale: currentLocale, onLanguageChange: onLanguageChange }));
3119
+ return (jsxRuntime.jsx(ResolvedDesktopHeaderMenuBar, { logo: logo, logoHeight: logoHeight, logoAlt: "Logo", menuItems: convertedDesktopMenuItems, showCtaButton: showCtaButton, ctaButtonText: ctaButtonText, onCtaClick: onCtaClick, ctaScrollTargetId: ctaScrollTargetId, onScrollToSection: onScrollToSection, onLogoClick: onLogoClick, formatMessage: formatMessage, languages: languages, currentLocale: currentLocale, onLanguageChange: onLanguageChange }));
1754
3120
  }
1755
3121
  return (jsxRuntime.jsx(StyledAppBar$1, { ispartnershippagemobileview: isPartnershipPageMobileView, scrolled: scrolled, children: jsxRuntime.jsx(ResponsiveB2CLayout, { children: jsxRuntime.jsx(StyledContainer, { ispartnershippagemobileview: isPartnershipPageMobileView, scrolled: scrolled, maxWidth: "xl", children: jsxRuntime.jsxs(material.Toolbar, { disableGutters: true, children: [jsxRuntime.jsx("button", { onClick: (e) => {
1756
3122
  e?.preventDefault();
@@ -1777,13 +3143,14 @@ function Header$1({ logo, navigationLinks, languages, currentLocale, userToken,
1777
3143
  letterSpacing: '.3rem',
1778
3144
  color: 'inherit',
1779
3145
  textDecoration: 'none',
1780
- }, children: logo ? (jsxRuntime.jsx("img", { src: logo, alt: "Logo", height: 'auto', width: '126px', style: {
1781
- height: 'auto',
1782
- width: '126px',
3146
+ }, children: logo ? (jsxRuntime.jsx("img", { src: logo, alt: "Logo", style: {
3147
+ height: '100%',
3148
+ width: 'auto',
3149
+ objectFit: 'contain',
1783
3150
  } })) : null }) }), !isMobile && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [shouldShowContent && (jsxRuntime.jsxs(material.Box, { sx: {
1784
3151
  flexGrow: 1,
1785
3152
  display: { xs: 'none', md: 'flex', gap: 40 },
1786
- }, children: [jsxRuntime.jsxs(ButtonDesktopMenu, { onClick: handleOpenNavMenu, sx: { my: 2, textTransform: 'capitalize' }, "data-testid": "productNavigationMenu", children: [jsxRuntime.jsx(material.Typography, { variant: "h6", children: formatMessage({ id: 'Products' }) }), jsxRuntime.jsx(ResolvedArrowDropDownIcon, {})] }, "product"), menuItems?.partnership && (jsxRuntime.jsx(ButtonDesktopMenu, { onClick: onPartnershipClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsxRuntime.jsx(material.Typography, { variant: "h6", children: jsxRuntime.jsx(AnchorLink$1, { href: `${host}${menuItems.partnership.route}`, onClick: (e) => e?.preventDefault(), children: menuItems.partnership.label }) }) }, "partnership")), menuItems?.aboutUs && (jsxRuntime.jsx(ButtonDesktopMenu, { onClick: onAboutUsClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsxRuntime.jsx(material.Typography, { variant: "h6", children: jsxRuntime.jsx(AnchorLinks, { href: `${host}${menuItems.aboutUs.route}`, onClick: (e) => e?.preventDefault(), children: menuItems.aboutUs.label }) }) }, "aboutus")), menuItems?.blog && (jsxRuntime.jsx(ButtonDesktopMenu, { onClick: onBlogClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsxRuntime.jsx(material.Typography, { variant: "h6", children: jsxRuntime.jsx(AnchorLink$1, { href: menuItems.blog.url, onClick: (e) => e?.preventDefault(), children: menuItems.blog.label }) }) }, "blog"))] })), jsxRuntime.jsxs(material.Box, { sx: {
3153
+ }, children: [jsxRuntime.jsxs(ButtonDesktopMenu, { onClick: handleOpenNavMenu, sx: { my: 2, textTransform: 'capitalize' }, "data-testid": "productNavigationMenu", children: [jsxRuntime.jsx(material.Typography, { variant: desktopMenuTextVariant, children: formatMessage({ id: 'Products' }) }), jsxRuntime.jsx(ResolvedArrowDropDownIcon, {})] }, "product"), menuItems?.partnership && (jsxRuntime.jsx(ButtonDesktopMenu, { onClick: onPartnershipClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsxRuntime.jsx(material.Typography, { variant: desktopMenuTextVariant, children: jsxRuntime.jsx(AnchorLink$1, { href: `${host}${menuItems.partnership.route}`, onClick: (e) => e?.preventDefault(), children: menuItems.partnership.label }) }) }, "partnership")), menuItems?.aboutUs && (jsxRuntime.jsx(ButtonDesktopMenu, { onClick: onAboutUsClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsxRuntime.jsx(material.Typography, { variant: desktopMenuTextVariant, children: jsxRuntime.jsx(AnchorLinks, { href: `${host}${menuItems.aboutUs.route}`, onClick: (e) => e?.preventDefault(), children: menuItems.aboutUs.label }) }) }, "aboutus")), menuItems?.blog && (jsxRuntime.jsx(ButtonDesktopMenu, { onClick: onBlogClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsxRuntime.jsx(material.Typography, { variant: desktopMenuTextVariant, children: jsxRuntime.jsx(AnchorLink$1, { href: menuItems.blog.url, onClick: (e) => e?.preventDefault(), children: menuItems.blog.label }) }) }, "blog"))] })), jsxRuntime.jsxs(material.Box, { sx: {
1787
3154
  flexGrow: 1,
1788
3155
  display: {
1789
3156
  xs: 'none',
@@ -1791,12 +3158,12 @@ function Header$1({ logo, navigationLinks, languages, currentLocale, userToken,
1791
3158
  gap: 40,
1792
3159
  justifyContent: 'flex-end',
1793
3160
  },
1794
- }, children: [shouldShowContent && (jsxRuntime.jsxs(ButtonDesktopMenu, { onClick: handleOpenLanguageMenu, sx: { my: 2, textTransform: 'capitalize' }, "data-testid": "selectedLocale", children: [jsxRuntime.jsx(material.Typography, { variant: "h6", children: formatMessage({
3161
+ }, children: [shouldShowContent && (jsxRuntime.jsxs(ButtonDesktopMenu, { onClick: handleOpenLanguageMenu, sx: { my: 2, textTransform: 'capitalize' }, "data-testid": "selectedLocale", children: [jsxRuntime.jsx(material.Typography, { variant: desktopMenuTextVariant, children: formatMessage({
1795
3162
  id: `${currentLocale?.toLocaleUpperCase()}`,
1796
3163
  }) }), jsxRuntime.jsx(ResolvedArrowDropDownIcon, {})] }, "language")), isPartnershipPagePCView && scrolled ? (jsxRuntime.jsx(StyledButton$1, { variant: "contained", onClick: onPartnershipCTAClick, children: jsxRuntime.jsx(TypographyBtnText, { variant: "body1", children: formatMessage({ id: 'Be Our Partner' }) }) })) : isSeoPageView && scrolled && bannerData ? (jsxRuntime.jsx(StyledButtonBanner, { style: { background: bannerData?.ctaBGColor }, variant: "contained", onClick: onGetQuoteClick, children: jsxRuntime.jsx(material.Typography, { style: {
1797
3164
  color: bannerData?.ctaTextColor,
1798
3165
  textTransform: 'none',
1799
- }, variant: "body1", children: bannerData?.ctaText }) })) : userToken ? (jsxRuntime.jsx(StyledAvatar, { onClick: handleOpenUserMenu, "data-testid": "user-profile-avatar", children: firstName1stLetter })) : (jsxRuntime.jsxs(DivButtonWrapper, { children: [jsxRuntime.jsx(ButtonAuth, { color: "primary", variant: "outlined", sx: { textTransform: 'capitalize' }, onClick: onLoginClick, "data-testid": "headerLogin", children: jsxRuntime.jsx(TypographyAuth, { variant: "body1", children: formatMessage({ id: 'Log in' }) }) }), jsxRuntime.jsx(ButtonAuth, { color: "primary", variant: "contained", sx: { textTransform: 'capitalize' }, onClick: onSignupClick, children: jsxRuntime.jsx(TypographyAuth, { variant: "body1", children: formatMessage({ id: 'Sign up' }) }) })] }))] }), jsxRuntime.jsx(StyledMenu, { id: "menu-appbar", anchorEl: anchorElNav, anchorOrigin: {
3166
+ }, variant: "body1", children: bannerData?.ctaText }) })) : userToken ? (jsxRuntime.jsx(StyledAvatar, { onClick: handleOpenUserMenu, "data-testid": "user-profile-avatar", children: firstName1stLetter })) : (jsxRuntime.jsxs(DivButtonWrapper, { children: [jsxRuntime.jsx(ButtonAuth, { color: "primary", variant: "outlined", sx: { textTransform: 'capitalize' }, onClick: onLoginClick, "data-testid": "headerLogin", children: jsxRuntime.jsx(TypographyAuth, { variant: desktopAuthTextVariant, children: formatMessage({ id: 'Log in' }) }) }), jsxRuntime.jsx(ButtonAuth, { color: "primary", variant: "contained", sx: { textTransform: 'capitalize' }, onClick: onSignupClick, children: jsxRuntime.jsx(TypographyAuth, { variant: desktopAuthTextVariant, children: formatMessage({ id: 'Sign up' }) }) })] }))] }), jsxRuntime.jsx(StyledMenu, { id: "menu-appbar", anchorEl: anchorElNav, anchorOrigin: {
1800
3167
  vertical: 'bottom',
1801
3168
  horizontal: 'left',
1802
3169
  }, keepMounted: true, transformOrigin: {
@@ -1815,10 +3182,10 @@ function Header$1({ logo, navigationLinks, languages, currentLocale, userToken,
1815
3182
  horizontal: 'left',
1816
3183
  }, open: Boolean(anchorElLanguage), onClose: handleCloseLanguageMenu, sx: {
1817
3184
  display: { xs: 'none', md: 'block' },
1818
- }, children: jsxRuntime.jsx(DivProductListing, { children: languages.map(({ value, locale, label }) => (jsxRuntime.jsx(StyledMenuItem, { onClick: () => {
3185
+ }, children: jsxRuntime.jsx(DivProductListing, { children: languages.map(({ value, locale, label, desktopLabel }) => (jsxRuntime.jsx(StyledMenuItem, { onClick: () => {
1819
3186
  onLanguageChange?.(locale, value);
1820
3187
  handleCloseLanguageMenu();
1821
- }, "data-testid": `lang-${locale}`, children: jsxRuntime.jsx(material.Typography, { variant: "body1", textAlign: "center", children: label }) }, value))) }) }), jsxRuntime.jsx(StyledMenu, { id: "user-menu", anchorEl: anchorElUserMenu, anchorOrigin: {
3188
+ }, "data-testid": `lang-${locale}`, children: jsxRuntime.jsx(material.Typography, { variant: "body1", textAlign: "center", children: desktopLabel || label }) }, value))) }) }), jsxRuntime.jsx(StyledMenu, { id: "user-menu", anchorEl: anchorElUserMenu, anchorOrigin: {
1822
3189
  vertical: 'bottom',
1823
3190
  horizontal: 'left',
1824
3191
  }, keepMounted: true, transformOrigin: {
@@ -1850,7 +3217,7 @@ function Header$1({ logo, navigationLinks, languages, currentLocale, userToken,
1850
3217
  }, variant: "contained", onClick: onGetQuoteClick, children: jsxRuntime.jsx(material.Typography, { style: {
1851
3218
  color: bannerData?.ctaTextColor,
1852
3219
  textTransform: 'none',
1853
- }, variant: "body1", children: bannerData?.ctaText }) })) : userToken ? (jsxRuntime.jsx(StyledAvatarUserIcon, { "data-testid": "user-profile-avatar", children: firstName1stLetter })) : (jsxRuntime.jsx(StyledMenuIcon, { ispartnershippagemobileview: isPartnershipPageMobileView, scrolled: scrolled })) }), jsxRuntime.jsxs(StyledDrawer$3, { id: "menu-appbar", anchor: "top", keepMounted: true, open: Boolean(anchorElNav), onClose: handleCloseNavMenu, sx: {
3220
+ }, variant: "body1", children: bannerData?.ctaText }) })) : userToken ? (jsxRuntime.jsx(StyledAvatarUserIcon, { "data-testid": "user-profile-avatar", children: firstName1stLetter })) : (jsxRuntime.jsx(StyledMenuIcon, { ispartnershippagemobileview: isPartnershipPageMobileView, scrolled: scrolled })) }), jsxRuntime.jsxs(StyledDrawer$4, { id: "menu-appbar", anchor: "top", keepMounted: true, open: Boolean(anchorElNav), onClose: handleCloseNavMenu, sx: {
1854
3221
  display: { xs: 'block', md: 'none' },
1855
3222
  width: '100%',
1856
3223
  left: 0,
@@ -1919,13 +3286,13 @@ const MenuIconButton = styles.styled(material.IconButton)(() => ({
1919
3286
  fontSize: '24px',
1920
3287
  },
1921
3288
  }));
1922
- const StyledDrawer$2 = styles.styled(material.Drawer)(() => ({
3289
+ const StyledDrawer$3 = styles.styled(material.Drawer)(() => ({
1923
3290
  '& .MuiDrawer-paper': {
1924
3291
  backgroundColor: '#FFFFFF',
1925
3292
  boxSizing: 'border-box',
1926
3293
  },
1927
3294
  }));
1928
- const DrawerHeader$2 = styles.styled(material.Box)(() => ({
3295
+ const DrawerHeader$3 = styles.styled(material.Box)(() => ({
1929
3296
  display: 'flex',
1930
3297
  alignItems: 'center',
1931
3298
  justifyContent: 'space-between',
@@ -1945,7 +3312,7 @@ const CloseIconButton = styles.styled(material.IconButton)(() => ({
1945
3312
  fontSize: '24px',
1946
3313
  },
1947
3314
  }));
1948
- const DrawerContent$2 = styles.styled(material.Box)(({ theme }) => ({
3315
+ const DrawerContent$3 = styles.styled(material.Box)(({ theme }) => ({
1949
3316
  flex: 1,
1950
3317
  overflowY: 'auto',
1951
3318
  paddingBottom: theme.spacing(2),
@@ -1993,7 +3360,7 @@ function NewHeader({ logo: propLogo, logoAltText = 'Logo', navigationLinks = [],
1993
3360
  item.onClick?.();
1994
3361
  handleDrawerClose();
1995
3362
  };
1996
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(StyledAppBar, { position: "fixed", children: jsxRuntime.jsxs(StyledToolbar, { disableGutters: true, children: [jsxRuntime.jsx(LogoContainer$1, { onClick: handleLogoClick, children: jsxRuntime.jsx(LogoImage, { src: logo, alt: logoAltText }) }), jsxRuntime.jsx(MenuIconButton, { size: "large", edge: "end", "aria-label": "menu", onClick: handleDrawerOpen, children: jsxRuntime.jsx(MenuIcon__default.default, {}) })] }) }), jsxRuntime.jsx(StyledDrawer$2, { anchor: "right", open: drawerOpen, onClose: handleDrawerClose, children: customDrawerContent ? (jsxRuntime.jsx(material.Box, { sx: { width: isMobile ? '100vw' : 350 }, children: customDrawerContent })) : (jsxRuntime.jsxs(material.Box, { sx: { width: isMobile ? '100vw' : 350 }, children: [jsxRuntime.jsxs(DrawerHeader$2, { children: [jsxRuntime.jsx(DrawerLogoContainer, { onClick: handleLogoClick, children: jsxRuntime.jsx(LogoImage, { src: logo, alt: logoAltText }) }), jsxRuntime.jsx(CloseIconButton, { onClick: handleDrawerClose, "aria-label": "close", children: jsxRuntime.jsx(CloseIcon__default.default, {}) })] }), jsxRuntime.jsx(material.Divider, {}), jsxRuntime.jsx(DrawerContent$2, { children: navigationLinks.length > 0 && (jsxRuntime.jsx(material.List, { children: navigationLinks.map((item) => (jsxRuntime.jsx(material.ListItem, { disablePadding: true, children: jsxRuntime.jsx(material.ListItemButton, { onClick: () => handleMenuItemClick(item), children: jsxRuntime.jsx(material.ListItemText, { primary: formatMessage({ id: item.label }) }) }) }, item.key))) })) })] })) })] }));
3363
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(StyledAppBar, { position: "fixed", children: jsxRuntime.jsxs(StyledToolbar, { disableGutters: true, children: [jsxRuntime.jsx(LogoContainer$1, { onClick: handleLogoClick, children: jsxRuntime.jsx(LogoImage, { src: logo, alt: logoAltText }) }), jsxRuntime.jsx(MenuIconButton, { size: "large", edge: "end", "aria-label": "menu", onClick: handleDrawerOpen, children: jsxRuntime.jsx(MenuIcon__default.default, {}) })] }) }), jsxRuntime.jsx(StyledDrawer$3, { anchor: "right", open: drawerOpen, onClose: handleDrawerClose, children: customDrawerContent ? (jsxRuntime.jsx(material.Box, { sx: { width: isMobile ? '100vw' : 350 }, children: customDrawerContent })) : (jsxRuntime.jsxs(material.Box, { sx: { width: isMobile ? '100vw' : 350 }, children: [jsxRuntime.jsxs(DrawerHeader$3, { children: [jsxRuntime.jsx(DrawerLogoContainer, { onClick: handleLogoClick, children: jsxRuntime.jsx(LogoImage, { src: logo, alt: logoAltText }) }), jsxRuntime.jsx(CloseIconButton, { onClick: handleDrawerClose, "aria-label": "close", children: jsxRuntime.jsx(CloseIcon__default.default, {}) })] }), jsxRuntime.jsx(material.Divider, {}), jsxRuntime.jsx(DrawerContent$3, { children: navigationLinks.length > 0 && (jsxRuntime.jsx(material.List, { children: navigationLinks.map((item) => (jsxRuntime.jsx(material.ListItem, { disablePadding: true, children: jsxRuntime.jsx(material.ListItemButton, { onClick: () => handleMenuItemClick(item), children: jsxRuntime.jsx(material.ListItemText, { primary: formatMessage({ id: item.label }) }) }) }, item.key))) })) })] })) })] }));
1997
3364
  }
1998
3365
 
1999
3366
  /**
@@ -2293,7 +3660,7 @@ function Footer({ simplifiedLayout = false, introText, addressText, socialLinks,
2293
3660
  }), index === navigationLinks.length - 1 && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ButtonBottomLink, { onClick: onPrivacyPolicyClick, children: jsxRuntime.jsx(material.Typography, { variant: "body1", children: jsxRuntime.jsx(AnchorLink, { href: `${host}/${currentLocale}/terms/privacypolicy`, onClick: (e) => e?.preventDefault(), children: formatMessage({ id: 'Privacy Policy' }) }) }) }), jsxRuntime.jsx(ButtonBottomLink, { onClick: onTermsOfServiceClick, children: jsxRuntime.jsx(material.Typography, { variant: "body1", children: jsxRuntime.jsx(AnchorLink, { href: `${host}/${currentLocale}/terms/termsofservice`, onClick: (e) => e?.preventDefault(), children: formatMessage({ id: 'Terms of Service' }) }) }) }), jsxRuntime.jsx(DivSocial, { children: socialLinks.map((social) => (jsxRuntime.jsx(ButtonIcon, { onClick: () => onSocialClick?.(social.platform, social.url), "aria-label": social.ariaLabel || social.platform, children: jsxRuntime.jsx(AnchorLink, { href: sanitizeUrl(social.url, '#'), onClick: (e) => e?.preventDefault(), children: jsxRuntime.jsx("img", { src: social.icon, alt: social.platform, height: isMobile ? '24' : '28', width: isMobile ? '24' : '28', loading: "lazy" }) }) }, social.platform))) })] }))] }, index))) }))] }), isMobile && jsxRuntime.jsx(StyledDivider, {}), isMobile && (jsxRuntime.jsx(DivBottom, { children: jsxRuntime.jsxs(DivLinks, { children: [jsxRuntime.jsx("div", { onClick: onPrivacyPolicyClick, style: { cursor: 'pointer' }, children: jsxRuntime.jsx(material.Typography, { variant: "body2", children: jsxRuntime.jsx(AnchorLink, { href: `${host}/${currentLocale}/terms/privacypolicy`, onClick: (e) => e?.preventDefault(), children: formatMessage({ id: 'Privacy Policy' }) }) }) }), jsxRuntime.jsx(DivSep, {}), jsxRuntime.jsx("div", { onClick: onTermsOfServiceClick, style: { cursor: 'pointer' }, children: jsxRuntime.jsx(material.Typography, { variant: "body2", children: jsxRuntime.jsx(AnchorLink, { href: `${host}/${currentLocale}/terms/termsofservice`, onClick: (e) => e?.preventDefault(), children: formatMessage({ id: 'Terms of Service' }) }) }) })] }) }))] }) }));
2294
3661
  }
2295
3662
 
2296
- const StyledDrawer$1 = styles.styled(material.Drawer)(({ theme }) => ({
3663
+ const StyledDrawer$2 = styles.styled(material.Drawer)(({ theme }) => ({
2297
3664
  zIndex: '1300 !important',
2298
3665
  '& .MuiDrawer-root': {
2299
3666
  zIndex: 1300,
@@ -2313,7 +3680,7 @@ const StyledDrawer$1 = styles.styled(material.Drawer)(({ theme }) => ({
2313
3680
  zIndex: 1299,
2314
3681
  },
2315
3682
  }));
2316
- const DrawerHeader$1 = styles.styled(material.Box)(({ theme }) => ({
3683
+ const DrawerHeader$2 = styles.styled(material.Box)(({ theme }) => ({
2317
3684
  display: 'flex',
2318
3685
  alignItems: 'center',
2319
3686
  justifyContent: 'flex-start',
@@ -2324,7 +3691,7 @@ const DrawerHeader$1 = styles.styled(material.Box)(({ theme }) => ({
2324
3691
  minHeight: '56px',
2325
3692
  },
2326
3693
  }));
2327
- const DrawerContent$1 = styles.styled(material.Box)(() => ({
3694
+ const DrawerContent$2 = styles.styled(material.Box)(() => ({
2328
3695
  flex: 1,
2329
3696
  overflowY: 'auto',
2330
3697
  padding: '16px 0',
@@ -2455,7 +3822,7 @@ function RecommendationsDrawer({ open, onClose, children, headerIcon, title, sub
2455
3822
  onClose();
2456
3823
  }
2457
3824
  };
2458
- return (jsxRuntime.jsx(StyledDrawer$1, { anchor: "bottom", open: open, onClose: handleClose, PaperProps: {
3825
+ return (jsxRuntime.jsx(StyledDrawer$2, { anchor: "bottom", open: open, onClose: handleClose, PaperProps: {
2459
3826
  sx: {
2460
3827
  height: '95vh',
2461
3828
  borderTopLeftRadius: '16px',
@@ -2464,7 +3831,7 @@ function RecommendationsDrawer({ open, onClose, children, headerIcon, title, sub
2464
3831
  },
2465
3832
  }, sx: {
2466
3833
  zIndex: 1300,
2467
- }, children: jsxRuntime.jsxs(material.Box, { sx: { display: 'flex', flexDirection: 'column', height: '100%' }, children: [jsxRuntime.jsx(DrawerHeader$1, { children: jsxRuntime.jsx(BackArrowButton, { onClick: handleBackOrClose, "aria-label": showBackButton ? 'back' : 'close', children: showBackButton ? jsxRuntime.jsx(ArrowBackIcon__default.default, {}) : jsxRuntime.jsx(CloseIcon__default.default, {}) }) }), (title || subtitle || headerIcon) && (jsxRuntime.jsxs(HeaderSection, { children: [headerIcon && (jsxRuntime.jsx(CategoryIcon, { children: jsxRuntime.jsx("img", { src: headerIcon, alt: "Category icon", width: 32, height: 32 }) })), title && (jsxRuntime.jsx(TitleText, { variant: "h5", children: formatMessage({ id: title }) })), subtitle && (jsxRuntime.jsx(SubtitleText, { variant: "body2", children: formatMessage({ id: subtitle }) }))] })), jsxRuntime.jsx(DrawerContent$1, { children: children }), showFooter && (jsxRuntime.jsx(DrawerFooter, { children: customFooter ? (customFooter) : (jsxRuntime.jsxs(FooterButtons, { children: [primaryButtonText && (jsxRuntime.jsx(PrimaryButton, { variant: "contained", fullWidth: true, onClick: onPrimaryAction, disabled: primaryButtonDisabled, sx: {
3834
+ }, children: jsxRuntime.jsxs(material.Box, { sx: { display: 'flex', flexDirection: 'column', height: '100%' }, children: [jsxRuntime.jsx(DrawerHeader$2, { children: jsxRuntime.jsx(BackArrowButton, { onClick: handleBackOrClose, "aria-label": showBackButton ? 'back' : 'close', children: showBackButton ? jsxRuntime.jsx(ArrowBackIcon__default.default, {}) : jsxRuntime.jsx(CloseIcon__default.default, {}) }) }), (title || subtitle || headerIcon) && (jsxRuntime.jsxs(HeaderSection, { children: [headerIcon && (jsxRuntime.jsx(CategoryIcon, { children: jsxRuntime.jsx("img", { src: headerIcon, alt: "Category icon", width: 32, height: 32 }) })), title && (jsxRuntime.jsx(TitleText, { variant: "h5", children: formatMessage({ id: title }) })), subtitle && (jsxRuntime.jsx(SubtitleText, { variant: "body2", children: formatMessage({ id: subtitle }) }))] })), jsxRuntime.jsx(DrawerContent$2, { children: children }), showFooter && (jsxRuntime.jsx(DrawerFooter, { children: customFooter ? (customFooter) : (jsxRuntime.jsxs(FooterButtons, { children: [primaryButtonText && (jsxRuntime.jsx(PrimaryButton, { variant: "contained", fullWidth: true, onClick: onPrimaryAction, disabled: primaryButtonDisabled, sx: {
2468
3835
  backgroundColor: primaryColor,
2469
3836
  '&:hover': {
2470
3837
  backgroundColor: primaryColor,
@@ -2477,7 +3844,7 @@ function RecommendationsDrawer({ open, onClose, children, headerIcon, title, sub
2477
3844
  }, children: formatMessage({ id: secondaryButtonText }) }))] })) }))] }) }));
2478
3845
  }
2479
3846
 
2480
- const StyledDrawer = material.styled(material.Drawer)(() => ({
3847
+ const StyledDrawer$1 = material.styled(material.Drawer)(() => ({
2481
3848
  zIndex: 1300,
2482
3849
  '& .MuiDrawer-paper': {
2483
3850
  borderTopLeftRadius: '8px',
@@ -2580,13 +3947,13 @@ material.styled(material.Typography)(() => ({
2580
3947
  textAlign: 'center',
2581
3948
  wordSpacing: '0px',
2582
3949
  }));
2583
- const DrawerContent = material.styled(material.Box)({
3950
+ const DrawerContent$1 = material.styled(material.Box)({
2584
3951
  display: 'flex',
2585
3952
  flexDirection: 'column',
2586
3953
  width: '100%',
2587
3954
  backgroundColor: '#ffffff',
2588
3955
  });
2589
- const DrawerHeader = material.styled(material.Box)({
3956
+ const DrawerHeader$1 = material.styled(material.Box)({
2590
3957
  display: 'flex',
2591
3958
  justifyContent: 'flex-end',
2592
3959
  alignItems: 'center',
@@ -2818,7 +4185,7 @@ function ProductSelectionDrawer({ open, onClose, products, onProductSelect, titl
2818
4185
  }, children: [product.cardImage ? (jsxRuntime.jsx(ProductCardImage, { src: product.cardImage, alt: product.name, className: "product-card-image-layer" })) : (jsxRuntime.jsx(ProductCardPlaceholder, { className: "product-card-placeholder-layer" })), jsxRuntime.jsxs(ProductCardBottomBar, { className: "product-card-bottom-bar", children: [jsxRuntime.jsx(ProductIcon, { className: "product-card-icon", children: jsxRuntime.jsx("img", { src: product.icon ?? product.logo, alt: "" }) }), jsxRuntime.jsx(ProductName$1, { className: "product-card-name", children: product.name })] })] })] }, product.id))) }) })] }));
2819
4186
  }
2820
4187
  // Mobile Drawer variant (default)
2821
- return (jsxRuntime.jsx(StyledDrawer, { anchor: "bottom", open: open, onClose: onClose, children: jsxRuntime.jsxs(DrawerContent, { children: [jsxRuntime.jsx(DrawerHeader, { children: jsxRuntime.jsx(CloseButtonContainer, { children: jsxRuntime.jsx(material.IconButton, { onClick: onClose, sx: { padding: 0 }, children: jsxRuntime.jsx(CloseIcon__default.default, { sx: { fontSize: 24, color: '#13131b' } }) }) }) }), jsxRuntime.jsxs(Header, { children: [jsxRuntime.jsx(HeaderTitle, { children: title }), jsxRuntime.jsx(HeaderSubtitle, { children: subtitle })] }), jsxRuntime.jsx(ProductsContainer, { children: jsxRuntime.jsx(ProductsGrid, { productCount: products.length, children: products.map((product) => (jsxRuntime.jsxs(ProductCardWrapper, { children: [jsxRuntime.jsx(ProductCategoryLabel, { children: product.subtitle ?? product.type }), jsxRuntime.jsxs(ProductCard$1, { onClick: () => onProductSelect(product.id), role: "button", tabIndex: 0, onKeyDown: (e) => {
4188
+ return (jsxRuntime.jsx(StyledDrawer$1, { anchor: "bottom", open: open, onClose: onClose, children: jsxRuntime.jsxs(DrawerContent$1, { children: [jsxRuntime.jsx(DrawerHeader$1, { children: jsxRuntime.jsx(CloseButtonContainer, { children: jsxRuntime.jsx(material.IconButton, { onClick: onClose, sx: { padding: 0 }, children: jsxRuntime.jsx(CloseIcon__default.default, { sx: { fontSize: 24, color: '#13131b' } }) }) }) }), jsxRuntime.jsxs(Header, { children: [jsxRuntime.jsx(HeaderTitle, { children: title }), jsxRuntime.jsx(HeaderSubtitle, { children: subtitle })] }), jsxRuntime.jsx(ProductsContainer, { children: jsxRuntime.jsx(ProductsGrid, { productCount: products.length, children: products.map((product) => (jsxRuntime.jsxs(ProductCardWrapper, { children: [jsxRuntime.jsx(ProductCategoryLabel, { children: product.subtitle ?? product.type }), jsxRuntime.jsxs(ProductCard$1, { onClick: () => onProductSelect(product.id), role: "button", tabIndex: 0, onKeyDown: (e) => {
2822
4189
  if (e.key === 'Enter' || e.key === ' ') {
2823
4190
  e.preventDefault();
2824
4191
  onProductSelect(product.id);
@@ -4770,6 +6137,243 @@ function isStaticImageData(image) {
4770
6137
  typeof image.src === 'string');
4771
6138
  }
4772
6139
 
6140
+ const CardContainer = material.styled(material.Box)(({ theme }) => ({
6141
+ display: 'flex',
6142
+ flexDirection: 'column',
6143
+ alignItems: 'center',
6144
+ padding: '32px 24px',
6145
+ borderRadius: '16px',
6146
+ border: '1px solid',
6147
+ borderColor: theme.palette.divider,
6148
+ cursor: 'pointer',
6149
+ transition: 'all 0.2s ease',
6150
+ backgroundColor: '#fff',
6151
+ '&:hover': {
6152
+ borderColor: theme.palette.primary.main,
6153
+ boxShadow: '0 4px 20px rgba(0, 0, 0, 0.08)',
6154
+ transform: 'translateY(-2px)',
6155
+ },
6156
+ }));
6157
+ const CardIcon = material.styled('img')({
6158
+ width: 80,
6159
+ height: 80,
6160
+ marginBottom: 16,
6161
+ objectFit: 'contain',
6162
+ });
6163
+ const CardTitle = material.styled(material.Typography)({
6164
+ fontWeight: 600,
6165
+ textAlign: 'center',
6166
+ marginBottom: 4,
6167
+ });
6168
+ const CardDescription = material.styled(material.Typography)(({ theme }) => ({
6169
+ textAlign: 'center',
6170
+ color: theme.palette.text.secondary,
6171
+ }));
6172
+ const InsurerLogos = material.styled(material.Box)({
6173
+ display: 'flex',
6174
+ gap: 8,
6175
+ marginTop: 16,
6176
+ alignItems: 'center',
6177
+ });
6178
+ const InsurerLogo = material.styled('img')({
6179
+ height: 24,
6180
+ objectFit: 'contain',
6181
+ });
6182
+
6183
+ function TravelCategoryCard({ categoryKey, icon, title, description, insurerLogos, onClick, testId, }) {
6184
+ return (jsxRuntime.jsxs(CardContainer, { onClick: () => onClick?.(categoryKey), "data-testid": testId ?? `travel-category-${categoryKey.toLowerCase()}`, children: [jsxRuntime.jsx(CardIcon, { src: icon, alt: title }), jsxRuntime.jsx(CardTitle, { variant: "h6", children: title }), jsxRuntime.jsx(CardDescription, { variant: "body2", children: description }), insurerLogos && insurerLogos.length > 0 && (jsxRuntime.jsx(InsurerLogos, { children: insurerLogos.map((logo, index) => (jsxRuntime.jsx(InsurerLogo, { src: logo, alt: `insurer-${index}` }, index))) }))] }));
6185
+ }
6186
+
6187
+ const StyledDrawer = material.styled(material.Drawer)(({ theme }) => ({
6188
+ '& .MuiDrawer-paper': {
6189
+ width: '100%',
6190
+ maxWidth: '480px',
6191
+ borderTopLeftRadius: 16,
6192
+ borderTopRightRadius: 16,
6193
+ maxHeight: '90vh',
6194
+ [theme.breakpoints.up('md')]: {
6195
+ borderTopLeftRadius: 0,
6196
+ borderTopRightRadius: 0,
6197
+ maxHeight: '100vh',
6198
+ },
6199
+ },
6200
+ }));
6201
+ const DrawerHeader = material.styled(material.Box)(({ theme }) => ({
6202
+ display: 'flex',
6203
+ justifyContent: 'space-between',
6204
+ alignItems: 'center',
6205
+ padding: '16px 20px',
6206
+ borderBottom: `1px solid ${theme.palette.divider}`,
6207
+ }));
6208
+ const DrawerTitle = material.styled(material.Typography)({
6209
+ fontWeight: 600,
6210
+ fontSize: '18px',
6211
+ });
6212
+ const DrawerContent = material.styled(material.Box)({
6213
+ padding: '20px',
6214
+ overflowY: 'auto',
6215
+ flex: 1,
6216
+ });
6217
+ const FormSection = material.styled(material.Box)({
6218
+ marginBottom: 24,
6219
+ });
6220
+ const FormLabel = material.styled(material.Typography)(({ theme }) => ({
6221
+ fontWeight: 500,
6222
+ marginBottom: 8,
6223
+ color: theme.palette.text.primary,
6224
+ }));
6225
+ const GroupSizeGrid = material.styled(material.Box)({
6226
+ display: 'grid',
6227
+ gridTemplateColumns: 'repeat(2, 1fr)',
6228
+ gap: 8,
6229
+ });
6230
+ const GroupSizeOption = material.styled(material.Box, {
6231
+ shouldForwardProp: (prop) => prop !== 'selected',
6232
+ })(({ theme, selected }) => ({
6233
+ display: 'flex',
6234
+ alignItems: 'center',
6235
+ justifyContent: 'center',
6236
+ padding: '10px 16px',
6237
+ borderRadius: 8,
6238
+ border: `1.5px solid ${selected ? theme.palette.primary.main : theme.palette.divider}`,
6239
+ backgroundColor: selected ? `${theme.palette.primary.main}10` : '#fff',
6240
+ cursor: 'pointer',
6241
+ fontWeight: selected ? 600 : 400,
6242
+ color: selected ? theme.palette.primary.main : theme.palette.text.primary,
6243
+ transition: 'all 0.15s ease',
6244
+ '&:hover': {
6245
+ borderColor: theme.palette.primary.main,
6246
+ },
6247
+ }));
6248
+ const CounterContainer = material.styled(material.Box)({
6249
+ display: 'flex',
6250
+ alignItems: 'center',
6251
+ justifyContent: 'space-between',
6252
+ padding: '8px 0',
6253
+ });
6254
+ const CounterLabel = material.styled(material.Typography)({
6255
+ fontWeight: 500,
6256
+ });
6257
+ const CounterControls = material.styled(material.Box)({
6258
+ display: 'flex',
6259
+ alignItems: 'center',
6260
+ gap: 12,
6261
+ });
6262
+ const CounterValue = material.styled(material.Typography)({
6263
+ fontWeight: 600,
6264
+ minWidth: 24,
6265
+ textAlign: 'center',
6266
+ });
6267
+ const DatePickerRow = material.styled(material.Box)({
6268
+ display: 'grid',
6269
+ gridTemplateColumns: '1fr 1fr',
6270
+ gap: 12,
6271
+ });
6272
+ const SubmitButton = material.styled(material.Button)({
6273
+ width: '100%',
6274
+ padding: '12px 24px',
6275
+ borderRadius: 8,
6276
+ fontWeight: 600,
6277
+ fontSize: '16px',
6278
+ textTransform: 'none',
6279
+ marginTop: 16,
6280
+ });
6281
+ const DestinationChipsContainer = material.styled(material.Box)({
6282
+ display: 'flex',
6283
+ flexWrap: 'wrap',
6284
+ gap: 6,
6285
+ marginTop: 8,
6286
+ });
6287
+
6288
+ const GROUP_SIZE_OPTIONS = [
6289
+ { key: 'Individual', defaultLabel: 'Individual' },
6290
+ { key: 'Dual', defaultLabel: 'Dual' },
6291
+ { key: 'Couple', defaultLabel: 'Couple' },
6292
+ { key: 'Family', defaultLabel: 'Family' },
6293
+ ];
6294
+ const MAX_ADULTS = 10;
6295
+ const MAX_CHILDREN = 10;
6296
+ function TravelQuoteDrawer({ open, category, onClose, onSubmit, countryOptions = [], cityOptions = [], loading = false, labels = {}, }) {
6297
+ const theme = material.useTheme();
6298
+ const isMobile = material.useMediaQuery(theme.breakpoints.down('md'));
6299
+ const [groupSize, setGroupSize] = React.useState('Individual');
6300
+ const [startDate, setStartDate] = React.useState('');
6301
+ const [endDate, setEndDate] = React.useState('');
6302
+ const [adultCount, setAdultCount] = React.useState(1);
6303
+ const [childCount, setChildCount] = React.useState(0);
6304
+ const [selectedCountries, setSelectedCountries] = React.useState([]);
6305
+ const [selectedCity, setSelectedCity] = React.useState('');
6306
+ const isInternational = category === 'International';
6307
+ const handleGroupSizeChange = React.useCallback((size) => {
6308
+ setGroupSize(size);
6309
+ switch (size) {
6310
+ case 'Individual':
6311
+ setAdultCount(1);
6312
+ setChildCount(0);
6313
+ break;
6314
+ case 'Dual':
6315
+ case 'Couple':
6316
+ setAdultCount(2);
6317
+ setChildCount(0);
6318
+ break;
6319
+ case 'Family':
6320
+ setAdultCount(2);
6321
+ setChildCount(1);
6322
+ break;
6323
+ }
6324
+ }, []);
6325
+ const isFamily = groupSize === 'Family';
6326
+ const handleSubmit = React.useCallback(() => {
6327
+ if (!category)
6328
+ return;
6329
+ const values = {
6330
+ category,
6331
+ groupSize,
6332
+ travelStartDate: startDate,
6333
+ travelEndDate: endDate,
6334
+ adultCount,
6335
+ childCount,
6336
+ destinations: isInternational
6337
+ ? selectedCountries.map((c) => c.value)
6338
+ : selectedCity
6339
+ ? [selectedCity]
6340
+ : [],
6341
+ ...(isInternational
6342
+ ? { countries: selectedCountries }
6343
+ : { cities: selectedCity }),
6344
+ };
6345
+ onSubmit(values);
6346
+ }, [
6347
+ category,
6348
+ groupSize,
6349
+ startDate,
6350
+ endDate,
6351
+ adultCount,
6352
+ childCount,
6353
+ selectedCountries,
6354
+ selectedCity,
6355
+ isInternational,
6356
+ onSubmit,
6357
+ ]);
6358
+ const groupSizeLabelMap = React.useMemo(() => ({
6359
+ Individual: labels.individual ?? 'Individual',
6360
+ Dual: labels.dual ?? 'Dual',
6361
+ Couple: labels.couple ?? 'Couple',
6362
+ Family: labels.family ?? 'Family',
6363
+ }), [labels]);
6364
+ const drawerTitle = labels.title
6365
+ ?? (isInternational
6366
+ ? 'International Travel Insurance'
6367
+ : 'Domestic Travel Insurance');
6368
+ return (jsxRuntime.jsxs(StyledDrawer, { anchor: isMobile ? 'bottom' : 'right', open: open, onClose: onClose, children: [jsxRuntime.jsxs(DrawerHeader, { children: [jsxRuntime.jsx(DrawerTitle, { variant: "h6", children: drawerTitle }), jsxRuntime.jsx(material.IconButton, { onClick: onClose, size: "small", children: jsxRuntime.jsx(CloseIcon__default.default, {}) })] }), jsxRuntime.jsxs(DrawerContent, { children: [jsxRuntime.jsxs(FormSection, { children: [jsxRuntime.jsx(FormLabel, { variant: "body2", children: labels.groupSizeLabel ?? 'Group Size' }), jsxRuntime.jsx(GroupSizeGrid, { children: GROUP_SIZE_OPTIONS.map((option) => (jsxRuntime.jsx(GroupSizeOption, { selected: groupSize === option.key, onClick: () => handleGroupSizeChange(option.key), children: groupSizeLabelMap[option.key] }, option.key))) })] }), jsxRuntime.jsxs(FormSection, { children: [jsxRuntime.jsx(FormLabel, { variant: "body2", children: labels.travelDatesLabel ?? 'Travel Dates' }), jsxRuntime.jsxs(DatePickerRow, { children: [jsxRuntime.jsx(material.TextField, { type: "date", label: labels.startDateLabel ?? 'Start Date', value: startDate, onChange: (e) => setStartDate(e.target.value), InputLabelProps: { shrink: true }, inputProps: {
6369
+ min: new Date().toISOString().split('T')[0],
6370
+ }, size: "small", fullWidth: true }), jsxRuntime.jsx(material.TextField, { type: "date", label: labels.endDateLabel ?? 'End Date', value: endDate, onChange: (e) => setEndDate(e.target.value), InputLabelProps: { shrink: true }, inputProps: {
6371
+ min: startDate ||
6372
+ new Date().toISOString().split('T')[0],
6373
+ }, size: "small", fullWidth: true })] })] }), jsxRuntime.jsxs(FormSection, { children: [jsxRuntime.jsx(FormLabel, { variant: "body2", children: labels.destinationLabel ?? 'Destination' }), isInternational ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(material.Autocomplete, { multiple: true, options: countryOptions, getOptionLabel: (option) => option.label, value: selectedCountries, onChange: (_, newValue) => setSelectedCountries(newValue), groupBy: (option) => option.group ?? '', renderInput: (params) => (jsxRuntime.jsx(material.TextField, { ...params, placeholder: "Search countries...", size: "small" })), renderTags: () => null }), selectedCountries.length > 0 && (jsxRuntime.jsx(DestinationChipsContainer, { children: selectedCountries.map((country) => (jsxRuntime.jsx(material.Chip, { label: country.label, size: "small", onDelete: () => setSelectedCountries((prev) => prev.filter((c) => c.value !==
6374
+ country.value)) }, country.value))) }))] })) : (jsxRuntime.jsx(material.Autocomplete, { options: cityOptions.map((c) => c.name), value: selectedCity || null, onChange: (_, newValue) => setSelectedCity(newValue ?? ''), renderInput: (params) => (jsxRuntime.jsx(material.TextField, { ...params, placeholder: "Search cities...", size: "small" })) }))] }), isFamily && (jsxRuntime.jsxs(FormSection, { children: [jsxRuntime.jsxs(CounterContainer, { children: [jsxRuntime.jsx(CounterLabel, { variant: "body2", children: labels.adultsLabel ?? 'Adults' }), jsxRuntime.jsxs(CounterControls, { children: [jsxRuntime.jsx(material.IconButton, { size: "small", disabled: adultCount <= 1, onClick: () => setAdultCount((c) => Math.max(1, c - 1)), children: jsxRuntime.jsx(RemoveCircleOutlineIcon__default.default, {}) }), jsxRuntime.jsx(CounterValue, { variant: "body1", children: adultCount }), jsxRuntime.jsx(material.IconButton, { size: "small", disabled: adultCount >= MAX_ADULTS, onClick: () => setAdultCount((c) => Math.min(MAX_ADULTS, c + 1)), children: jsxRuntime.jsx(AddCircleOutlineIcon__default.default, {}) })] })] }), jsxRuntime.jsxs(CounterContainer, { children: [jsxRuntime.jsx(CounterLabel, { variant: "body2", children: labels.childrenLabel ?? 'Children' }), jsxRuntime.jsxs(CounterControls, { children: [jsxRuntime.jsx(material.IconButton, { size: "small", disabled: childCount <= 0, onClick: () => setChildCount((c) => Math.max(0, c - 1)), children: jsxRuntime.jsx(RemoveCircleOutlineIcon__default.default, {}) }), jsxRuntime.jsx(CounterValue, { variant: "body1", children: childCount }), jsxRuntime.jsx(material.IconButton, { size: "small", disabled: childCount >= MAX_CHILDREN, onClick: () => setChildCount((c) => Math.min(MAX_CHILDREN, c + 1)), children: jsxRuntime.jsx(AddCircleOutlineIcon__default.default, {}) })] })] })] })), jsxRuntime.jsx(SubmitButton, { variant: "contained", color: "primary", onClick: handleSubmit, disabled: loading, children: labels.submitLabel ?? 'Get Quote' })] })] }));
6375
+ }
6376
+
4773
6377
  /**
4774
6378
  * Common UI Icons
4775
6379
  * Path references to reusable icons
@@ -4822,8 +6426,12 @@ exports.QuestionSection = QuestionSection;
4822
6426
  exports.RecommendationsDrawer = RecommendationsDrawer;
4823
6427
  exports.TenantThemeProvider = TenantThemeProvider;
4824
6428
  exports.ToggleGroup = ToggleGroup;
6429
+ exports.TravelCategoryCard = TravelCategoryCard;
6430
+ exports.TravelQuoteDrawer = TravelQuoteDrawer;
4825
6431
  exports.ammetlifeTheme = ammetlifeTheme;
4826
6432
  exports.ammetlifeTypography = ammetlifeTypography;
6433
+ exports.b2cidTheme = b2cidTheme;
6434
+ exports.b2cidTypography = b2cidTypography;
4827
6435
  exports.createThemeCSSVariables = createThemeCSSVariables;
4828
6436
  exports.getAvailableTenants = getAvailableTenants;
4829
6437
  exports.getIconPath = getIconPath;