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/esm/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use client"
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
3
  import * as React from 'react';
4
- import React__default, { createContext, useMemo, useContext, useState, useEffect, Component } from 'react';
4
+ import React__default, { createContext, useMemo, useContext, useState, useEffect, Component, useCallback } from 'react';
5
5
  import { createTheme, ThemeProvider, styled } from '@mui/material/styles';
6
- import { useTheme, Button as Button$1, Card as Card$1, CardHeader, CardContent, CardActions, Box, Typography, Menu, MenuItem, Avatar, Drawer, IconButton, FormControlLabel, useMediaQuery, Toolbar, RadioGroup, Radio, AppBar as AppBar$1, Divider, List, ListItem, ListItemButton, ListItemText, styled as styled$1, Dialog, ButtonBase, Slider, Checkbox, Accordion, AccordionSummary, AccordionDetails } from '@mui/material';
6
+ import { useTheme, Button as Button$1, Card as Card$1, CardHeader, CardContent, CardActions, Box, Typography, Menu, MenuItem, Avatar, Drawer, IconButton, FormControlLabel, useMediaQuery, Toolbar, RadioGroup, Radio, AppBar as AppBar$1, Divider, List, ListItem, ListItemButton, ListItemText, styled as styled$1, Dialog, ButtonBase, Slider, Checkbox, Accordion, AccordionSummary, AccordionDetails, TextField, Autocomplete, Chip } from '@mui/material';
7
7
  import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';
8
8
  import CloseIcon from '@mui/icons-material/Close';
9
9
  import AppBar from '@mui/material/AppBar';
@@ -14,6 +14,8 @@ import InfoIcon from '@mui/icons-material/Info';
14
14
  import AddIcon from '@mui/icons-material/Add';
15
15
  import RemoveIcon from '@mui/icons-material/Remove';
16
16
  import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
17
+ import AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline';
18
+ import RemoveCircleOutlineIcon from '@mui/icons-material/RemoveCircleOutline';
17
19
 
18
20
  /**
19
21
  * Tenant Typography Configurations
@@ -401,6 +403,1272 @@ const ammetlifeTypography = {
401
403
  * These map to the new Figma-based variants
402
404
  * ======================================== */
403
405
  };
406
+ /**
407
+ * B2C ID Typography Configuration
408
+ */
409
+ const b2cidTypography = {
410
+ fontFamily: 'Montserrat',
411
+ fontWeightRegular: 400,
412
+ fontWeightMedium: 500,
413
+ fontWeightSemiBold: 600,
414
+ fontWeightBold: 700,
415
+ fontWeightExtraBold: 800,
416
+ fontWeightExtraBlack: 900,
417
+ H1: {
418
+ fontSize: '64px',
419
+ fontStyle: 'normal',
420
+ fontWeight: 900,
421
+ lineHeight: '72px',
422
+ },
423
+ h1: {
424
+ fontSize: '42px',
425
+ fontStyle: 'normal',
426
+ fontWeight: 700,
427
+ lineHeight: '48px',
428
+ '@media (max-width:600px)': {
429
+ fontSize: '24px',
430
+ fontStyle: 'normal',
431
+ fontWeight: 700,
432
+ lineHeight: '30px',
433
+ },
434
+ },
435
+ h2: {
436
+ fontSize: '22px',
437
+ fontStyle: 'normal',
438
+ fontWeight: 700,
439
+ lineHeight: '26px',
440
+ '@media (max-width:600px)': {
441
+ fontSize: '16px',
442
+ fontStyle: 'normal',
443
+ fontWeight: 600,
444
+ lineHeight: '22px',
445
+ },
446
+ },
447
+ h3: {
448
+ fontSize: '18px',
449
+ fontStyle: 'normal',
450
+ fontWeight: 600,
451
+ lineHeight: '24px',
452
+ '@media (max-width:600px)': {
453
+ fontSize: '14px',
454
+ fontStyle: 'normal',
455
+ fontWeight: 600,
456
+ lineHeight: '20px',
457
+ },
458
+ },
459
+ bodyStrongLarge: {
460
+ fontSize: '16px',
461
+ fontStyle: 'normal',
462
+ fontWeight: 500,
463
+ lineHeight: '20px',
464
+ '@media (max-width:600px)': {
465
+ fontSize: '14px',
466
+ fontStyle: 'normal',
467
+ fontWeight: 400,
468
+ lineHeight: '18px',
469
+ },
470
+ },
471
+ bodyStrongMedium: {
472
+ fontSize: '14px',
473
+ fontStyle: 'normal',
474
+ fontWeight: 500,
475
+ lineHeight: '18px',
476
+ },
477
+ bodyStrongSmall: {
478
+ fontSize: '12px',
479
+ fontStyle: 'normal',
480
+ fontWeight: 500,
481
+ lineHeight: '16px',
482
+ },
483
+ bodyStrongSmallBoth: {
484
+ fontSize: '14px',
485
+ fontStyle: 'normal',
486
+ fontWeight: 500,
487
+ lineHeight: '18px',
488
+ '@media (max-width:600px)': {
489
+ fontSize: '12px',
490
+ fontStyle: 'normal',
491
+ fontWeight: 500,
492
+ lineHeight: '16px',
493
+ },
494
+ },
495
+ bodyStrongSM: {
496
+ fontSize: '14px',
497
+ fontStyle: 'normal',
498
+ fontWeight: 500,
499
+ lineHeight: '18px',
500
+ '@media (max-width:600px)': {
501
+ fontSize: '12px',
502
+ fontStyle: 'normal',
503
+ fontWeight: 500,
504
+ lineHeight: '16px',
505
+ },
506
+ },
507
+ bodyFeedbackText: {
508
+ fontSize: '12px',
509
+ fontStyle: 'normal',
510
+ fontWeight: 600,
511
+ lineHeight: '16px',
512
+ },
513
+ bodyStrongSmallBadgeText: {
514
+ fontSize: '14px',
515
+ fontStyle: 'normal',
516
+ fontWeight: 500,
517
+ lineHeight: '16px',
518
+ '@media (max-width:600px)': {
519
+ fontSize: '12px',
520
+ fontStyle: 'normal',
521
+ fontWeight: 400,
522
+ lineHeight: '18px',
523
+ },
524
+ },
525
+ bodyLarge: {
526
+ fontSize: '16px',
527
+ fontStyle: 'normal',
528
+ fontWeight: 400,
529
+ lineHeight: '20px',
530
+ '@media (max-width:600px)': {
531
+ fontSize: '14px',
532
+ fontStyle: 'normal',
533
+ fontWeight: 400,
534
+ lineHeight: '18px',
535
+ },
536
+ },
537
+ bodyLargeXL: {
538
+ fontSize: '16px',
539
+ fontStyle: 'normal',
540
+ fontWeight: 500,
541
+ lineHeight: '20px',
542
+ '@media (max-width:600px)': {
543
+ fontSize: '14px',
544
+ fontStyle: 'normal',
545
+ fontWeight: 400,
546
+ lineHeight: '18px',
547
+ },
548
+ },
549
+ bodyMedium: {
550
+ fontSize: '14px',
551
+ fontStyle: 'normal',
552
+ fontWeight: 400,
553
+ lineHeight: '18px',
554
+ },
555
+ bodyMediumCountryLabel: {
556
+ fontSize: '16px',
557
+ fontStyle: 'normal',
558
+ fontWeight: 400,
559
+ lineHeight: '20px',
560
+ '@media (max-width:600px)': {
561
+ fontSize: '14px',
562
+ fontStyle: 'normal',
563
+ fontWeight: 400,
564
+ lineHeight: '18px',
565
+ },
566
+ },
567
+ bodyMediumLarge: {
568
+ fontSize: '14px',
569
+ fontStyle: 'normal',
570
+ fontWeight: 600,
571
+ lineHeight: '18px',
572
+ },
573
+ bodySmall: {
574
+ fontSize: '12px',
575
+ fontStyle: 'normal',
576
+ fontWeight: 400,
577
+ lineHeight: '16px',
578
+ },
579
+ displayLarge: {
580
+ fontSize: '57px',
581
+ fontStyle: 'normal',
582
+ fontWeight: 900,
583
+ lineHeight: '64px',
584
+ },
585
+ displayMedium: {
586
+ fontSize: '45px',
587
+ fontStyle: 'normal',
588
+ fontWeight: 800,
589
+ lineHeight: '52px',
590
+ },
591
+ displaySmall: {
592
+ fontSize: '30px',
593
+ fontStyle: 'normal',
594
+ fontWeight: 700,
595
+ lineHeight: '44px',
596
+ '@media (max-width:600px)': {
597
+ fontSize: '22px',
598
+ fontStyle: 'normal',
599
+ fontWeight: 700,
600
+ lineHeight: '30px',
601
+ },
602
+ },
603
+ displaySmallForTitle: {
604
+ fontSize: '22px',
605
+ fontStyle: 'normal',
606
+ fontWeight: 700,
607
+ lineHeight: '26px',
608
+ '@media (max-width:600px)': {
609
+ fontSize: '16px',
610
+ fontStyle: 'normal',
611
+ fontWeight: 600,
612
+ lineHeight: '22px',
613
+ },
614
+ },
615
+ drawerMainTitle: {
616
+ fontSize: '24px',
617
+ fontStyle: 'normal',
618
+ fontWeight: 700,
619
+ lineHeight: '30px',
620
+ },
621
+ drawerTitle: {
622
+ fontSize: '16px',
623
+ fontStyle: 'normal',
624
+ fontWeight: 600,
625
+ lineHeight: '22px',
626
+ },
627
+ bannerTopTextHome: {
628
+ fontSize: '64px',
629
+ fontStyle: 'normal',
630
+ fontWeight: 800,
631
+ lineHeight: '86.966px',
632
+ '@media (max-width:600px)': {
633
+ fontSize: '45px',
634
+ fontStyle: 'normal',
635
+ fontWeight: 800,
636
+ lineHeight: '52px',
637
+ },
638
+ },
639
+ bannerLowerTextHome: {
640
+ fontSize: '64px',
641
+ fontStyle: 'normal',
642
+ fontWeight: 800,
643
+ lineHeight: '86.966px',
644
+ '@media (max-width:600px)': {
645
+ fontSize: '36px',
646
+ fontStyle: 'normal',
647
+ fontWeight: 700,
648
+ lineHeight: '44px',
649
+ },
650
+ },
651
+ categoryBanner: {
652
+ fontSize: '64px',
653
+ fontStyle: 'normal',
654
+ fontWeight: 800,
655
+ lineHeight: '86.966px',
656
+ '@media (max-width:600px)': {
657
+ fontSize: '34px',
658
+ fontStyle: 'normal',
659
+ fontWeight: 700,
660
+ lineHeight: '44px',
661
+ },
662
+ },
663
+ description: {
664
+ fontSize: '18px',
665
+ fontStyle: 'normal',
666
+ fontWeight: 600,
667
+ lineHeight: '24px',
668
+ '@media (max-width:600px)': {
669
+ fontSize: '8px',
670
+ fontStyle: 'normal',
671
+ fontWeight: 600,
672
+ lineHeight: '16px',
673
+ },
674
+ },
675
+ tileDescription: {
676
+ fontSize: '16px',
677
+ fontStyle: 'normal',
678
+ fontWeight: '500',
679
+ lineHeight: '20px',
680
+ '@media (max-width:600px)': {
681
+ fontSize: '12px',
682
+ fontStyle: 'normal',
683
+ fontWeight: '500',
684
+ lineHeight: '16px',
685
+ },
686
+ },
687
+ ctaButton: {
688
+ fontSize: '14px',
689
+ fontStyle: 'normal',
690
+ fontWeight: '600',
691
+ lineHeight: '20px',
692
+ },
693
+ bodyStrongDescription: {
694
+ fontSize: '16px',
695
+ fontStyle: 'normal',
696
+ fontWeight: 500,
697
+ lineHeight: '20px',
698
+ '@media (max-width:600px)': {
699
+ fontSize: '14px',
700
+ fontStyle: 'normal',
701
+ fontWeight: 500,
702
+ lineHeight: '18px',
703
+ },
704
+ },
705
+ bodyStrongLargeOnlyDesktop: {
706
+ fontSize: '16px',
707
+ fontStyle: 'normal',
708
+ fontWeight: 500,
709
+ lineHeight: '20px',
710
+ },
711
+ imageLabel: {
712
+ fontSize: '16px',
713
+ fontStyle: 'normal',
714
+ fontWeight: 400,
715
+ lineHeight: '20px',
716
+ },
717
+ currencyValue: {
718
+ fontSize: '6px',
719
+ fontStyle: 'normal',
720
+ fontWeight: 600,
721
+ lineHeight: '16px',
722
+ },
723
+ smallText: {
724
+ fontSize: '8px',
725
+ fontStyle: 'normal',
726
+ fontWeight: 500,
727
+ lineHeight: '16px',
728
+ },
729
+ tableHeaderText: {
730
+ fontSize: '18px',
731
+ fontStyle: 'normal',
732
+ fontWeight: 600,
733
+ lineHeight: '24px',
734
+ '@media (max-width:600px)': {
735
+ fontSize: '14px',
736
+ fontStyle: 'normal',
737
+ fontWeight: 600,
738
+ lineHeight: '20px',
739
+ },
740
+ },
741
+ tableHeaderPremiumValue: {
742
+ fontSize: '14px',
743
+ fontStyle: 'normal',
744
+ fontWeight: 400,
745
+ lineHeight: '16px',
746
+ '@media (max-width:600px)': {
747
+ fontSize: '12px',
748
+ fontStyle: 'normal',
749
+ fontWeight: 400,
750
+ lineHeight: '16px',
751
+ },
752
+ },
753
+ tableHeaderDiscountedPremiumValue: {
754
+ fontSize: '14px',
755
+ fontStyle: 'normal',
756
+ fontWeight: 400,
757
+ lineHeight: '16px',
758
+ '@media (max-width:600px)': {
759
+ fontSize: '12px',
760
+ fontStyle: 'normal',
761
+ fontWeight: 500,
762
+ lineHeight: '16px',
763
+ },
764
+ },
765
+ addonRp: {
766
+ fontSize: '8px',
767
+ fontStyle: 'normal',
768
+ fontWeight: 600,
769
+ lineHeight: '16px',
770
+ },
771
+ aiNotification: {
772
+ fontSize: '9px',
773
+ fontStyle: 'normal',
774
+ fontWeight: 500,
775
+ lineHeight: '14px',
776
+ },
777
+ mobileH2: {
778
+ fontSize: '16px',
779
+ fontStyle: 'normal',
780
+ fontWeight: 700,
781
+ lineHeight: '20px',
782
+ },
783
+ annuallyTag: {
784
+ fontSize: '14px',
785
+ fontStyle: 'normal',
786
+ fontWeight: 400,
787
+ lineHeight: '16px',
788
+ '@media (max-width:600px)': {
789
+ fontSize: '12px',
790
+ fontStyle: 'normal',
791
+ fontWeight: 400,
792
+ lineHeight: '20px',
793
+ },
794
+ },
795
+ descriptionContact: {
796
+ fontSize: '16px',
797
+ fontStyle: 'normal',
798
+ fontWeight: 400,
799
+ lineHeight: '20px',
800
+ '@media (max-width:600px)': {
801
+ fontSize: '12px',
802
+ fontStyle: 'normal',
803
+ fontWeight: 400,
804
+ lineHeight: '16px',
805
+ },
806
+ },
807
+ radioGroupHeader: {
808
+ fontSize: '14px',
809
+ fontStyle: 'normal',
810
+ fontWeight: 400,
811
+ lineHeight: '20px',
812
+ '@media (min-width:600px)': {
813
+ fontSize: '16px',
814
+ fontStyle: 'normal',
815
+ fontWeight: 400,
816
+ lineHeight: '24px',
817
+ },
818
+ },
819
+ title: {
820
+ fontSize: '16px',
821
+ fontStyle: 'normal',
822
+ fontWeight: 700,
823
+ lineHeight: '24px',
824
+ },
825
+ aboutUsDesc: {
826
+ fontSize: '24px',
827
+ fontStyle: 'normal',
828
+ fontWeight: 400,
829
+ lineHeight: '30px',
830
+ '@media (max-width:600px)': {
831
+ fontSize: '14px',
832
+ fontStyle: 'normal',
833
+ fontWeight: 500,
834
+ lineHeight: '18px',
835
+ },
836
+ },
837
+ ppandtosdescription: {
838
+ fontSize: '14px',
839
+ fontStyle: 'normal',
840
+ fontWeight: 400,
841
+ lineHeight: '18px',
842
+ '@media (max-width:600px)': {
843
+ fontSize: '12px',
844
+ fontStyle: 'normal',
845
+ fontWeight: 400,
846
+ lineHeight: '16px',
847
+ },
848
+ },
849
+ ppandtosheader: {
850
+ fontSize: '16px',
851
+ fontStyle: 'normal',
852
+ fontWeight: 500,
853
+ lineHeight: '20px',
854
+ '@media (max-width:600px)': {
855
+ fontSize: '14px',
856
+ fontStyle: 'normal',
857
+ fontWeight: 500,
858
+ lineHeight: '18px',
859
+ },
860
+ },
861
+ contactUsDescription: {
862
+ fontSize: '12px',
863
+ fontStyle: 'normal',
864
+ fontWeight: 500,
865
+ lineHeight: '16px',
866
+ '@media (max-width:600px)': {
867
+ fontSize: '8px',
868
+ fontStyle: 'normal',
869
+ fontWeight: 600,
870
+ lineHeight: '16px',
871
+ },
872
+ },
873
+ descriptionForContact: {
874
+ fontSize: '18px',
875
+ fontStyle: 'normal',
876
+ fontWeight: 600,
877
+ lineHeight: '24px',
878
+ '@media (max-width:600px)': {
879
+ fontSize: '12px',
880
+ fontStyle: 'normal',
881
+ fontWeight: 500,
882
+ lineHeight: '16px',
883
+ },
884
+ },
885
+ policystatus: {
886
+ fontSize: '14px',
887
+ fontStyle: 'normal',
888
+ fontWeight: 500,
889
+ lineHeight: '18px',
890
+ '@media (max-width:600px)': {
891
+ fontSize: '12px',
892
+ fontStyle: 'normal',
893
+ fontWeight: 500,
894
+ lineHeight: '16px',
895
+ },
896
+ },
897
+ policyitemdetails: {
898
+ fontSize: '16px',
899
+ fontStyle: 'normal',
900
+ fontWeight: 400,
901
+ lineHeight: '20px',
902
+ '@media (max-width:600px)': {
903
+ fontSize: '14px',
904
+ fontStyle: 'normal',
905
+ fontWeight: 400,
906
+ lineHeight: '18px',
907
+ },
908
+ },
909
+ amountOnFloating: {
910
+ fontSize: '14px',
911
+ fontStyle: 'normal',
912
+ fontWeight: 600,
913
+ lineHeight: '20px',
914
+ },
915
+ ratingEmoji: {
916
+ fontSize: '14px',
917
+ fontStyle: 'normal',
918
+ fontWeight: 600,
919
+ lineHeight: '20px',
920
+ '@media (max-width:600px)': {
921
+ fontSize: '12px',
922
+ fontStyle: 'normal',
923
+ fontWeight: 600,
924
+ lineHeight: '16px',
925
+ },
926
+ },
927
+ displayMediumForBoth: {
928
+ fontSize: '45px',
929
+ fontStyle: 'normal',
930
+ fontWeight: 800,
931
+ lineHeight: '52px',
932
+ '@media (max-width:600px)': {
933
+ fontSize: '24px',
934
+ fontStyle: 'normal',
935
+ fontWeight: 800,
936
+ lineHeight: '24px',
937
+ },
938
+ },
939
+ bodyLargeSubHeading: {
940
+ fontSize: '16px',
941
+ fontStyle: 'normal',
942
+ fontWeight: 400,
943
+ lineHeight: '20px',
944
+ '@media (max-width:600px)': {
945
+ fontSize: '10px',
946
+ fontStyle: 'normal',
947
+ fontWeight: 500,
948
+ lineHeight: '12px',
949
+ },
950
+ },
951
+ h2Contact: {
952
+ fontSize: '22px',
953
+ fontStyle: 'normal',
954
+ fontWeight: 700,
955
+ lineHeight: '26px',
956
+ '@media (max-width:600px)': {
957
+ fontSize: '14px',
958
+ fontStyle: 'normal',
959
+ fontWeight: 600,
960
+ lineHeight: '20px',
961
+ },
962
+ },
963
+ tileDescriptionContact: {
964
+ fontSize: '18px',
965
+ fontStyle: 'normal',
966
+ fontWeight: '600',
967
+ lineHeight: '24px',
968
+ '@media (max-width:600px)': {
969
+ fontSize: '12px',
970
+ fontStyle: 'normal',
971
+ fontWeight: '500',
972
+ lineHeight: '16px',
973
+ },
974
+ },
975
+ bodyStrongLargePartners: {
976
+ fontSize: '16px',
977
+ fontStyle: 'normal',
978
+ fontWeight: 500,
979
+ lineHeight: '20px',
980
+ '@media (max-width:600px)': {
981
+ fontSize: '14px',
982
+ fontStyle: 'normal',
983
+ fontWeight: 600,
984
+ lineHeight: '20px',
985
+ },
986
+ },
987
+ h4: {
988
+ fontSize: '18px',
989
+ fontStyle: 'normal',
990
+ fontWeight: 600,
991
+ lineHeight: '24px',
992
+ '@media (max-width:600px)': {
993
+ fontSize: '14px',
994
+ fontStyle: 'normal',
995
+ fontWeight: 500,
996
+ lineHeight: '18px',
997
+ },
998
+ },
999
+ mobileH3: {
1000
+ fontSize: '10px',
1001
+ fontStyle: 'normal',
1002
+ fontWeight: 700,
1003
+ lineHeight: '16px',
1004
+ },
1005
+ mobileDescription: {
1006
+ fontSize: '10px',
1007
+ fontStyle: 'normal',
1008
+ fontWeight: 400,
1009
+ lineHeight: '16px',
1010
+ },
1011
+ termsTitle: {
1012
+ fontSize: '14px',
1013
+ fontStyle: 'normal',
1014
+ fontWeight: 500,
1015
+ lineHeight: '20px',
1016
+ },
1017
+ policyTitle: {
1018
+ fontSize: '14px',
1019
+ fontStyle: 'normal',
1020
+ fontWeight: 600,
1021
+ lineHeight: '22px',
1022
+ },
1023
+ infoMessage: {
1024
+ fontSize: '10px',
1025
+ fontStyle: 'normal',
1026
+ fontWeight: 500,
1027
+ lineHeight: '16px',
1028
+ },
1029
+ seoBanner: {
1030
+ fontSize: '40px',
1031
+ fontStyle: 'normal',
1032
+ fontWeight: 700,
1033
+ lineHeight: '44px',
1034
+ '@media (max-width:600px)': {
1035
+ fontSize: '30px',
1036
+ fontStyle: 'normal',
1037
+ fontWeight: 700,
1038
+ lineHeight: '120%',
1039
+ },
1040
+ },
1041
+ h3SEO: {
1042
+ fontSize: '18px',
1043
+ fontStyle: 'normal',
1044
+ fontWeight: 600,
1045
+ lineHeight: '24px',
1046
+ '@media (max-width:600px)': {
1047
+ fontSize: '14px',
1048
+ fontStyle: 'normal',
1049
+ fontWeight: 600,
1050
+ lineHeight: '20px',
1051
+ },
1052
+ },
1053
+ h2SEO: {
1054
+ fontSize: '22px',
1055
+ fontStyle: 'normal',
1056
+ fontWeight: 700,
1057
+ lineHeight: '26px',
1058
+ '@media (max-width:600px)': {
1059
+ fontSize: '16px',
1060
+ fontStyle: 'normal',
1061
+ fontWeight: 600,
1062
+ lineHeight: '22px',
1063
+ },
1064
+ },
1065
+ descriptionForZsurvey: {
1066
+ fontSize: '14px',
1067
+ fontStyle: 'normal',
1068
+ fontWeight: 500,
1069
+ lineHeight: '18px',
1070
+ '@media (max-width:600px)': {
1071
+ fontSize: '10px',
1072
+ fontStyle: 'normal',
1073
+ fontWeight: 500,
1074
+ lineHeight: '16px',
1075
+ },
1076
+ },
1077
+ interstialText: {
1078
+ fontSize: '18px',
1079
+ fontStyle: 'normal',
1080
+ fontWeight: 600,
1081
+ lineHeight: '24px',
1082
+ '@media (max-width:600px)': {
1083
+ fontSize: '10px',
1084
+ fontStyle: 'normal',
1085
+ fontWeight: 600,
1086
+ lineHeight: '20px',
1087
+ },
1088
+ },
1089
+ interstialTitle: {
1090
+ fontSize: '18px',
1091
+ fontStyle: 'normal',
1092
+ fontWeight: 600,
1093
+ lineHeight: '24px',
1094
+ '@media (max-width:600px)': {
1095
+ fontSize: '16px',
1096
+ fontStyle: 'normal',
1097
+ fontWeight: 600,
1098
+ lineHeight: '24px',
1099
+ },
1100
+ },
1101
+ interstialHighlights: {
1102
+ fontSize: '14px',
1103
+ fontStyle: 'normal',
1104
+ fontWeight: 400,
1105
+ lineHeight: '18px',
1106
+ '@media (max-width:600px)': {
1107
+ fontSize: '12px',
1108
+ fontStyle: 'normal',
1109
+ fontWeight: 400,
1110
+ lineHeight: '16px',
1111
+ },
1112
+ },
1113
+ interstialPrefixText: {
1114
+ fontSize: '12px',
1115
+ fontStyle: 'normal',
1116
+ fontWeight: 600,
1117
+ lineHeight: '14.4px',
1118
+ '@media (max-width:600px)': {
1119
+ fontSize: '10px',
1120
+ fontStyle: 'normal',
1121
+ fontWeight: 600,
1122
+ lineHeight: '12px',
1123
+ },
1124
+ },
1125
+ interstialAmountText: {
1126
+ fontSize: '16px',
1127
+ fontStyle: 'normal',
1128
+ fontWeight: 600,
1129
+ lineHeight: '24px',
1130
+ '@media (max-width:600px)': {
1131
+ fontSize: '14px',
1132
+ fontStyle: 'normal',
1133
+ fontWeight: 600,
1134
+ lineHeight: '22px',
1135
+ },
1136
+ },
1137
+ interstialPostText: {
1138
+ fontSize: '12px',
1139
+ fontStyle: 'normal',
1140
+ fontWeight: 600,
1141
+ lineHeight: '16px',
1142
+ '@media (max-width:600px)': {
1143
+ fontSize: '10px',
1144
+ fontStyle: 'normal',
1145
+ fontWeight: 600,
1146
+ lineHeight: '16px',
1147
+ },
1148
+ },
1149
+ interstialButtonText: {
1150
+ fontSize: '16px',
1151
+ fontStyle: 'normal',
1152
+ fontWeight: 600,
1153
+ lineHeight: '24px',
1154
+ '@media (max-width:600px)': {
1155
+ fontSize: '14px',
1156
+ fontStyle: 'normal',
1157
+ fontWeight: 600,
1158
+ lineHeight: '20px',
1159
+ },
1160
+ },
1161
+ interstialRecommendationTag: {
1162
+ fontSize: '12px',
1163
+ fontStyle: 'normal',
1164
+ fontWeight: 700,
1165
+ lineHeight: '16px',
1166
+ '@media (max-width:600px)': {
1167
+ fontSize: '10px',
1168
+ fontStyle: 'normal',
1169
+ fontWeight: 700,
1170
+ lineHeight: '16px',
1171
+ },
1172
+ },
1173
+ interstialPromotionTag: {
1174
+ fontSize: '12px',
1175
+ fontStyle: 'normal',
1176
+ fontWeight: 700,
1177
+ lineHeight: '16px',
1178
+ '@media (max-width:600px)': {
1179
+ fontSize: '10px',
1180
+ fontStyle: 'normal',
1181
+ fontWeight: 700,
1182
+ lineHeight: '16px',
1183
+ },
1184
+ },
1185
+ recommendationTag: {
1186
+ fontSize: '12px',
1187
+ fontStyle: 'normal',
1188
+ fontWeight: 400,
1189
+ lineHeight: '14.4px',
1190
+ '@media (max-width:600px)': {
1191
+ fontSize: '10px',
1192
+ fontStyle: 'normal',
1193
+ fontWeight: 400,
1194
+ lineHeight: '12px',
1195
+ },
1196
+ },
1197
+ aiRecommendationTitle: {
1198
+ fontSize: '12px',
1199
+ fontStyle: 'normal',
1200
+ fontWeight: 700,
1201
+ lineHeight: '12px',
1202
+ '@media (max-width:600px)': {
1203
+ fontSize: '10px',
1204
+ fontStyle: 'normal',
1205
+ fontWeight: 700,
1206
+ lineHeight: '12px',
1207
+ },
1208
+ },
1209
+ h2Interstitial: {
1210
+ fontSize: '22px',
1211
+ fontStyle: 'normal',
1212
+ fontWeight: 700,
1213
+ lineHeight: '28px',
1214
+ '@media (max-width:600px)': {
1215
+ fontSize: '20px',
1216
+ fontStyle: 'normal',
1217
+ fontWeight: 700,
1218
+ lineHeight: '26px',
1219
+ },
1220
+ },
1221
+ contactDescription: {
1222
+ fontSize: '12px',
1223
+ fontStyle: 'normal',
1224
+ fontWeight: 400,
1225
+ lineHeight: '16px',
1226
+ '@media (max-width:600px)': {
1227
+ fontSize: '10px',
1228
+ fontStyle: 'normal',
1229
+ fontWeight: 400,
1230
+ lineHeight: '14px',
1231
+ },
1232
+ },
1233
+ personalizedPlanHeaderTitle: {
1234
+ fontSize: '16px',
1235
+ fontStyle: 'normal',
1236
+ fontWeight: 600,
1237
+ lineHeight: '24px',
1238
+ '@media (max-width:600px)': {
1239
+ fontSize: '12px',
1240
+ fontStyle: 'normal',
1241
+ fontWeight: 600,
1242
+ lineHeight: '16px',
1243
+ },
1244
+ },
1245
+ h4ForBoth: {
1246
+ fontSize: '14px',
1247
+ fontStyle: 'normal',
1248
+ fontWeight: 500,
1249
+ lineHeight: '18px',
1250
+ },
1251
+ interstialAmountTextForBoth: {
1252
+ fontSize: '16px',
1253
+ fontStyle: 'normal',
1254
+ fontWeight: 600,
1255
+ lineHeight: '24px',
1256
+ '@media (max-width:600px)': {
1257
+ fontSize: '12px',
1258
+ fontStyle: 'normal',
1259
+ fontWeight: 600,
1260
+ lineHeight: '16px',
1261
+ },
1262
+ },
1263
+ personalizedPlanHeaderSubtitle: {
1264
+ fontSize: '12px',
1265
+ fontStyle: 'normal',
1266
+ fontWeight: 400,
1267
+ lineHeight: '16px',
1268
+ '@media (max-width:600px)': {
1269
+ fontSize: '9px',
1270
+ fontStyle: 'normal',
1271
+ fontWeight: 400,
1272
+ lineHeight: '14px',
1273
+ },
1274
+ },
1275
+ personalizedPlanNewTag: {
1276
+ fontSize: '10px',
1277
+ fontStyle: 'normal',
1278
+ fontWeight: 700,
1279
+ lineHeight: '14px',
1280
+ },
1281
+ personalizedPlanNewTagBoth: {
1282
+ fontSize: '12px',
1283
+ fontStyle: 'normal',
1284
+ fontWeight: 700,
1285
+ lineHeight: '16px',
1286
+ '@media (max-width:600px)': {
1287
+ fontSize: '10px',
1288
+ fontStyle: 'normal',
1289
+ fontWeight: 700,
1290
+ lineHeight: '14px',
1291
+ },
1292
+ },
1293
+ drawerMainTitleTwo: {
1294
+ fontSize: '24px',
1295
+ fontStyle: 'normal',
1296
+ fontWeight: 700,
1297
+ lineHeight: '32px',
1298
+ '@media (max-width:600px)': {
1299
+ fontSize: '16px',
1300
+ fontStyle: 'normal',
1301
+ fontWeight: 600,
1302
+ lineHeight: '24px',
1303
+ },
1304
+ },
1305
+ bodyStrongLargeOnlyMobile: {
1306
+ fontSize: '16px',
1307
+ fontStyle: 'normal',
1308
+ fontWeight: 500,
1309
+ lineHeight: '20px',
1310
+ '@media (max-width:600px)': {
1311
+ fontSize: '12px',
1312
+ fontStyle: 'normal',
1313
+ fontWeight: 500,
1314
+ lineHeight: '16px',
1315
+ },
1316
+ },
1317
+ personalizedCount: {
1318
+ fontSize: '16px',
1319
+ fontStyle: 'normal',
1320
+ fontWeight: 600,
1321
+ lineHeight: '14.4px',
1322
+ '@media (max-width:600px)': {
1323
+ fontSize: '10px',
1324
+ fontStyle: 'normal',
1325
+ fontWeight: 600,
1326
+ lineHeight: '12px',
1327
+ },
1328
+ },
1329
+ questionaireQuestionTitle: {
1330
+ fontSize: '16px',
1331
+ fontStyle: 'normal',
1332
+ fontWeight: 600,
1333
+ lineHeight: '24px',
1334
+ '@media (max-width:600px)': {
1335
+ fontSize: '14px',
1336
+ fontStyle: 'normal',
1337
+ fontWeight: 600,
1338
+ lineHeight: '20px',
1339
+ },
1340
+ },
1341
+ questionaireQuestionDescription: {
1342
+ fontSize: '14px',
1343
+ fontStyle: 'normal',
1344
+ fontWeight: 400,
1345
+ lineHeight: '18px',
1346
+ '@media (max-width:600px)': {
1347
+ fontSize: '12px',
1348
+ fontStyle: 'normal',
1349
+ fontWeight: 400,
1350
+ lineHeight: '16px',
1351
+ },
1352
+ },
1353
+ searchAirline: {
1354
+ fontSize: '16px',
1355
+ fontStyle: 'normal',
1356
+ fontWeight: 600,
1357
+ lineHeight: '24px',
1358
+ '@media (max-width:600px)': {
1359
+ fontSize: '14px',
1360
+ fontStyle: 'normal',
1361
+ fontWeight: 600,
1362
+ lineHeight: '20px',
1363
+ },
1364
+ },
1365
+ displaySmallTwo: {
1366
+ fontSize: '30px',
1367
+ fontStyle: 'normal',
1368
+ fontWeight: 700,
1369
+ lineHeight: '44px',
1370
+ '@media (max-width:600px)': {
1371
+ fontSize: '20px',
1372
+ fontStyle: 'normal',
1373
+ fontWeight: 700,
1374
+ lineHeight: '28px',
1375
+ },
1376
+ },
1377
+ annualFeeEntryone: {
1378
+ fontSize: '18px',
1379
+ fontStyle: 'normal',
1380
+ fontWeight: 500,
1381
+ lineHeight: '32px',
1382
+ '@media (max-width:600px)': {
1383
+ fontSize: '10px',
1384
+ fontStyle: 'normal',
1385
+ fontWeight: 400,
1386
+ lineHeight: '14px',
1387
+ },
1388
+ },
1389
+ annualFeeEntrytwo: {
1390
+ fontSize: '18px',
1391
+ fontStyle: 'normal',
1392
+ fontWeight: 700,
1393
+ lineHeight: '32px',
1394
+ '@media (max-width:600px)': {
1395
+ fontSize: '10px',
1396
+ fontStyle: 'normal',
1397
+ fontWeight: 700,
1398
+ lineHeight: '14px',
1399
+ },
1400
+ },
1401
+ displaySmallForModalTitle: {
1402
+ fontSize: '22px',
1403
+ fontStyle: 'normal',
1404
+ fontWeight: 700,
1405
+ lineHeight: '26px',
1406
+ '@media (max-width:600px)': {
1407
+ fontSize: '20px',
1408
+ fontStyle: 'normal',
1409
+ fontWeight: 700,
1410
+ lineHeight: '28px',
1411
+ },
1412
+ },
1413
+ bodyMediumModalDesc: {
1414
+ fontSize: '16px',
1415
+ fontStyle: 'normal',
1416
+ fontWeight: 400,
1417
+ lineHeight: '20px',
1418
+ '@media (max-width:600px)': {
1419
+ fontSize: '14px',
1420
+ fontStyle: 'normal',
1421
+ fontWeight: 400,
1422
+ lineHeight: '18px',
1423
+ },
1424
+ },
1425
+ personalizedPlanNewTagForBoth: {
1426
+ fontSize: '12px',
1427
+ fontStyle: 'normal',
1428
+ fontWeight: 700,
1429
+ lineHeight: '16px',
1430
+ '@media (max-width:600px)': {
1431
+ fontSize: '10px',
1432
+ fontStyle: 'normal',
1433
+ fontWeight: 700,
1434
+ lineHeight: '14px',
1435
+ },
1436
+ },
1437
+ personalizedPlanHeaderTitleReverse: {
1438
+ fontSize: '18px',
1439
+ fontStyle: 'normal',
1440
+ fontWeight: 700,
1441
+ lineHeight: '24px',
1442
+ '@media (max-width:600px)': {
1443
+ fontSize: '16px',
1444
+ fontStyle: 'normal',
1445
+ fontWeight: 600,
1446
+ lineHeight: '24px',
1447
+ },
1448
+ },
1449
+ h3Reverse: {
1450
+ fontSize: '14px',
1451
+ fontStyle: 'normal',
1452
+ fontWeight: 600,
1453
+ lineHeight: '20px',
1454
+ '@media (max-width:600px)': {
1455
+ fontSize: '12px',
1456
+ fontStyle: 'normal',
1457
+ fontWeight: 600,
1458
+ lineHeight: '16px',
1459
+ },
1460
+ },
1461
+ bodyStrongSmallForboth: {
1462
+ fontSize: '14px',
1463
+ fontStyle: 'normal',
1464
+ fontWeight: 500,
1465
+ lineHeight: '18px',
1466
+ '@media (max-width:600px)': {
1467
+ fontSize: '12px',
1468
+ fontStyle: 'normal',
1469
+ fontWeight: 500,
1470
+ lineHeight: '16px',
1471
+ },
1472
+ },
1473
+ bodyFeedbackTextForBoth: {
1474
+ fontSize: '14px',
1475
+ fontStyle: 'normal',
1476
+ fontWeight: 600,
1477
+ lineHeight: '18px',
1478
+ '@media (max-width:600px)': {
1479
+ fontSize: '12px',
1480
+ fontStyle: 'normal',
1481
+ fontWeight: 600,
1482
+ lineHeight: '16px',
1483
+ },
1484
+ },
1485
+ personalizedPlanNewTagReverse: {
1486
+ fontSize: '12px',
1487
+ fontStyle: 'normal',
1488
+ fontWeight: 700,
1489
+ lineHeight: '16px',
1490
+ '@media (max-width:600px)': {
1491
+ fontSize: '10px',
1492
+ fontStyle: 'normal',
1493
+ fontWeight: 700,
1494
+ lineHeight: '14px',
1495
+ },
1496
+ },
1497
+ seoPageTitle: {
1498
+ fontSize: '22px',
1499
+ fontStyle: 'normal',
1500
+ fontWeight: 700,
1501
+ lineHeight: '26px',
1502
+ '@media (max-width:600px)': {
1503
+ fontSize: '16px',
1504
+ fontStyle: 'normal',
1505
+ fontWeight: 700,
1506
+ lineHeight: '24px',
1507
+ },
1508
+ },
1509
+ h3ForBoth: {
1510
+ fontSize: '14px',
1511
+ fontStyle: 'normal',
1512
+ fontWeight: 600,
1513
+ lineHeight: '20px',
1514
+ },
1515
+ bodyMediumModalDescLarge: {
1516
+ fontSize: '16px',
1517
+ fontStyle: 'normal',
1518
+ fontWeight: 500,
1519
+ lineHeight: '20px',
1520
+ '@media (max-width:600px)': {
1521
+ fontSize: '14px',
1522
+ fontStyle: 'normal',
1523
+ fontWeight: 400,
1524
+ lineHeight: '18px',
1525
+ },
1526
+ },
1527
+ bodySmallForBoth: {
1528
+ fontSize: '14px',
1529
+ fontStyle: 'normal',
1530
+ fontWeight: 400,
1531
+ lineHeight: '18px',
1532
+ '@media (max-width:600px)': {
1533
+ fontSize: '12px',
1534
+ fontStyle: 'normal',
1535
+ fontWeight: 400,
1536
+ lineHeight: '16px',
1537
+ },
1538
+ },
1539
+ switchFromPetToCar: {
1540
+ fontSize: '12px',
1541
+ fontStyle: 'normal',
1542
+ fontWeight: 400,
1543
+ lineHeight: '16px',
1544
+ '@media (max-width:600px)': {
1545
+ fontSize: '10px',
1546
+ fontStyle: 'normal',
1547
+ fontWeight: 400,
1548
+ lineHeight: '14px',
1549
+ },
1550
+ },
1551
+ interstialPetToCar: {
1552
+ fontSize: '16px',
1553
+ fontStyle: 'normal',
1554
+ fontWeight: 600,
1555
+ lineHeight: '24px',
1556
+ '@media (max-width:600px)': {
1557
+ fontSize: '10px',
1558
+ fontStyle: 'normal',
1559
+ fontWeight: 600,
1560
+ lineHeight: '14px',
1561
+ },
1562
+ },
1563
+ interstialPetToCarButton: {
1564
+ fontSize: '16px',
1565
+ fontStyle: 'normal',
1566
+ fontWeight: 600,
1567
+ lineHeight: '24px',
1568
+ '@media (max-width:600px)': {
1569
+ fontSize: '10px',
1570
+ fontStyle: 'normal',
1571
+ fontWeight: 600,
1572
+ lineHeight: '16px',
1573
+ },
1574
+ },
1575
+ countPercentage: {
1576
+ fontSize: '14px',
1577
+ fontStyle: 'normal',
1578
+ fontWeight: 600,
1579
+ lineHeight: '20px',
1580
+ '@media (max-width:600px)': {
1581
+ fontSize: '12px',
1582
+ fontStyle: 'normal',
1583
+ fontWeight: 600,
1584
+ lineHeight: '16px',
1585
+ },
1586
+ },
1587
+ h2Large: {
1588
+ fontSize: '22px',
1589
+ fontStyle: 'normal',
1590
+ fontWeight: 700,
1591
+ lineHeight: '26px',
1592
+ '@media (max-width:600px)': {
1593
+ fontSize: '16px',
1594
+ fontStyle: 'normal',
1595
+ fontWeight: 600,
1596
+ lineHeight: '24px',
1597
+ },
1598
+ },
1599
+ aiTimeStamp: {
1600
+ fontSize: '10px',
1601
+ fontStyle: 'normal',
1602
+ fontWeight: 400,
1603
+ lineHeight: '14px',
1604
+ },
1605
+ originalPriceDescription: {
1606
+ fontSize: '12px',
1607
+ fontStyle: 'normal',
1608
+ fontWeight: 500,
1609
+ lineHeight: '16px',
1610
+ '@media (max-width:600px)': {
1611
+ fontSize: '10px',
1612
+ fontStyle: 'normal',
1613
+ fontWeight: 500,
1614
+ lineHeight: '14px',
1615
+ },
1616
+ },
1617
+ interstialAmountTextOne: {
1618
+ fontSize: '16px',
1619
+ fontStyle: 'normal',
1620
+ fontWeight: 600,
1621
+ lineHeight: '24px',
1622
+ },
1623
+ interstialAmountTextNew: {
1624
+ fontSize: '22px',
1625
+ fontStyle: 'normal',
1626
+ fontWeight: 700,
1627
+ lineHeight: '26px',
1628
+ '@media (max-width:600px)': {
1629
+ fontSize: '16px',
1630
+ fontStyle: 'normal',
1631
+ fontWeight: 600,
1632
+ lineHeight: '24px',
1633
+ },
1634
+ },
1635
+ ratingEmojiBold: {
1636
+ fontSize: '16px',
1637
+ fontStyle: 'normal',
1638
+ fontWeight: 600,
1639
+ lineHeight: '20px',
1640
+ '@media (max-width:600px)': {
1641
+ fontSize: '14px',
1642
+ fontStyle: 'normal',
1643
+ fontWeight: 600,
1644
+ lineHeight: '20px',
1645
+ },
1646
+ },
1647
+ ratingEmojiBoldTwo: {
1648
+ fontSize: '16px',
1649
+ fontStyle: 'normal',
1650
+ fontWeight: 600,
1651
+ lineHeight: '20px',
1652
+ '@media (max-width:600px)': {
1653
+ fontSize: '14px',
1654
+ fontStyle: 'normal',
1655
+ fontWeight: 400,
1656
+ lineHeight: '18px',
1657
+ },
1658
+ },
1659
+ interstialAmountTextOneForboth: {
1660
+ fontSize: '18px',
1661
+ fontStyle: 'normal',
1662
+ fontWeight: 700,
1663
+ lineHeight: '24px',
1664
+ '@media (max-width:600px)': {
1665
+ fontSize: '16px',
1666
+ fontStyle: 'normal',
1667
+ fontWeight: 600,
1668
+ lineHeight: '24px',
1669
+ },
1670
+ },
1671
+ };
404
1672
  /**
405
1673
  * Typography Registry
406
1674
  * Map of tenant IDs to their typography configurations
@@ -408,6 +1676,7 @@ const ammetlifeTypography = {
408
1676
  const tenantTypography = {
409
1677
  igloo: iglooTypography,
410
1678
  ammetlife: ammetlifeTypography,
1679
+ b2cid: b2cidTypography,
411
1680
  };
412
1681
  /**
413
1682
  * Get typography configuration by tenant ID
@@ -593,6 +1862,91 @@ const ammetlifeTheme = {
593
1862
  favicon: 'https://static.iglooinsure.com/icons/favicon.ico',
594
1863
  assetBaseUrl: '/assets/tenants/ammetlife',
595
1864
  };
1865
+ /**
1866
+ * B2C ID Theme Configuration
1867
+ */
1868
+ const b2cidTheme = {
1869
+ palette: {
1870
+ primary: {
1871
+ dark: '#1300A9',
1872
+ main: '#4E4EEB',
1873
+ light: '#8183FF',
1874
+ bright: '#C1C1FF',
1875
+ plain: '#E1DFFF',
1876
+ border: '#4E4EFD',
1877
+ },
1878
+ secondary: {
1879
+ dim: '#650713',
1880
+ dark: '#C55153',
1881
+ main: '#FF7D7D',
1882
+ bright: '#FF7378',
1883
+ mediumBright: '#FF7062',
1884
+ light: '#FFB3B1',
1885
+ lighter: '#FFEBEB',
1886
+ },
1887
+ tertiary: {
1888
+ dim: '#C5C6CF',
1889
+ dark: '#E1E2EB',
1890
+ main: '#F5F5FF',
1891
+ light: '#FEFBFF',
1892
+ bright: '#F9F9F9',
1893
+ },
1894
+ natural: {
1895
+ dim: '#13131B',
1896
+ dark: '#5F5E62',
1897
+ main: '#929094',
1898
+ light: '#C8C5CA',
1899
+ bright: '#fff',
1900
+ granite: '#666',
1901
+ },
1902
+ ui: {
1903
+ sliderActive: '#4E4EEB',
1904
+ sliderInactive: '#c8c5ca',
1905
+ sliderBackground: '#f9f9f9',
1906
+ toggleActive: '#4E4EEB',
1907
+ toggleActiveText: '#ffffff',
1908
+ toggleInactiveText: '#5f5e62',
1909
+ calloutBackground: '#f9f9f9',
1910
+ calloutBorder: '#ffffff',
1911
+ inputBackground: '#ffffff',
1912
+ inputBorder: '#eeeeee',
1913
+ buttonPrimary: '#4E4EEB',
1914
+ buttonPrimaryHover: 'rgba(78, 78, 235, 0.7)',
1915
+ },
1916
+ motor: {
1917
+ main: '#00CCFF',
1918
+ light: 'rgba(0, 208, 255, 0.10)',
1919
+ bright: '#DFF9FF',
1920
+ },
1921
+ car: {
1922
+ main: '#00CCFF',
1923
+ light: 'rgba(0, 208, 255, 0.10)',
1924
+ darkAI: '#06BDCE',
1925
+ },
1926
+ travel: {
1927
+ main: '#00E08B',
1928
+ light: 'rgba(0, 228, 130, 0.10)',
1929
+ },
1930
+ health: {
1931
+ main: '#FD72E7',
1932
+ },
1933
+ life: {
1934
+ main: '#C3214B',
1935
+ light: 'rgba(195, 33, 75, 0.10)',
1936
+ },
1937
+ pet: {
1938
+ main: '#F3A100',
1939
+ },
1940
+ },
1941
+ typography: {
1942
+ ...b2cidTypography,
1943
+ fontFamily: '"Montserrat", "Roboto", "Helvetica", "Arial", sans-serif',
1944
+ },
1945
+ logo: '/assets/tenants/b2cid/logo.svg',
1946
+ logoWhite: '/assets/tenants/b2cid/logo_white.svg',
1947
+ favicon: 'https://static.iglooinsure.com/icons/favicon.ico',
1948
+ assetBaseUrl: '/assets/tenants/b2cid',
1949
+ };
596
1950
  /**
597
1951
  * Theme Registry
598
1952
  * Map of tenant IDs to their theme configurations
@@ -600,6 +1954,7 @@ const ammetlifeTheme = {
600
1954
  const tenantThemes = {
601
1955
  igloo: iglooTheme,
602
1956
  ammetlife: ammetlifeTheme,
1957
+ b2cid: b2cidTheme,
603
1958
  };
604
1959
  /**
605
1960
  * Get theme configuration by tenant ID
@@ -904,7 +2259,7 @@ function resolveReactComponent(component) {
904
2259
  * - Header height: 80px
905
2260
  * - Background: white (#ffffff)
906
2261
  * - Content padding: 156px horizontal on 1440px viewport
907
- * - Logo dimensions: 126px × 16px
2262
+ * - Logo dimensions: 126px × 16px (default)
908
2263
  * - Gap between menu items: 32px
909
2264
  * - Menu text: MetLife Circular Bold, 18px, #13131B, line-height 24px
910
2265
  * - CTA Button: Filled, #0090da, border-radius 24px, height 48px
@@ -977,13 +2332,16 @@ const LogoContainer$2 = styled(Box)({
977
2332
  });
978
2333
  /**
979
2334
  * Logo image
980
- * Width: 126px, height: 16px (per Figma node 1328:28463)
2335
+ * Width: 126px, height: 16px by default.
2336
+ * Height can be overridden with `$logoHeight` for tenant-specific needs.
981
2337
  */
982
- const LogoImage$1 = styled('img')({
2338
+ const LogoImage$1 = styled('img', {
2339
+ shouldForwardProp: (prop) => prop !== '$logoHeight',
2340
+ })(({ $logoHeight }) => ({
983
2341
  width: '126px',
984
- height: '16px',
2342
+ height: $logoHeight || '16px',
985
2343
  objectFit: 'contain',
986
- });
2344
+ }));
987
2345
  /**
988
2346
  * Navigation menu container
989
2347
  * No additional gap - items are spaced by LeftSection's gap
@@ -1236,7 +2594,7 @@ const MENU_HOVER_ICONS = {
1236
2594
  * @param onLogoClick - Handler for logo click
1237
2595
  * @param formatMessage - i18n function for translations
1238
2596
  */
1239
- function DesktopHeaderMenuBar({ logo, logoAlt = 'Logo', menuItems,
2597
+ function DesktopHeaderMenuBar({ logo, logoAlt = 'Logo', logoHeight, menuItems,
1240
2598
  // Legacy props (deprecated)
1241
2599
  showLoginButton, loginButtonText, onLoginClick,
1242
2600
  // New CTA props
@@ -1332,7 +2690,7 @@ languages = [], currentLocale, onLanguageChange, }) {
1332
2690
  }
1333
2691
  return `AMP ${normalizedCode}`;
1334
2692
  };
1335
- return (jsx(StyledAppBar$2, { className: className, children: jsxs(HeaderContainer$1, { children: [jsx(LeftSection, { children: jsx(LogoContainer$2, { onClick: handleLogoClick, children: logo ? jsx(LogoImage$1, { src: logo, alt: logoAlt }) : null }) }), jsxs(RightSection, { children: [menuItems.map((item) => (jsxs(React.Fragment, { children: [jsxs(MenuItemContainer, { onMouseEnter: () => setHoveredMenuKey(item.key), onMouseLeave: () => setHoveredMenuKey(null), children: [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: jsxs(MenuItemContent, { isHovered: hoveredMenuKey === item.key, children: [hoveredMenuKey === item.key &&
2693
+ return (jsx(StyledAppBar$2, { className: className, children: jsxs(HeaderContainer$1, { children: [jsx(LeftSection, { children: jsx(LogoContainer$2, { onClick: handleLogoClick, children: logo ? jsx(LogoImage$1, { src: logo, alt: logoAlt, "$logoHeight": logoHeight }) : null }) }), jsxs(RightSection, { children: [menuItems.map((item) => (jsxs(React.Fragment, { children: [jsxs(MenuItemContainer, { onMouseEnter: () => setHoveredMenuKey(item.key), onMouseLeave: () => setHoveredMenuKey(null), children: [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: jsxs(MenuItemContent, { isHovered: hoveredMenuKey === item.key, children: [hoveredMenuKey === item.key &&
1336
2694
  (Boolean(item.scrollTargetProductCode) ||
1337
2695
  item.key in MENU_HOVER_ICONS) && (jsx(MenuItemTopIcon, { children: jsx(MenuItemIcon, { src: MENU_HOVER_ICONS[item.key] ?? '/assets/tenants/ammetlife/shield_icon.png', alt: "" }) })), jsx(MenuItemText, { children: formatMessage({ id: item.label }) }), item.hasDropdown && jsx(DropdownIcon, {})] }) }), hoveredMenuKey === item.key &&
1338
2696
  Boolean(item.scrollTargetProductCode) && (jsx(MenuItemTooltip, { "data-testid": `menu-tooltip-${item.key}`, children: jsx(MenuItemTooltipText, { children: getHoverTooltipLabel(item.scrollTargetProductCode) }) }))] }), item.hasDropdown && item.subItems && (jsx(StyledMenu$1, { id: `menu-${item.key}`, anchorEl: anchorEl, open: openMenuKey === item.key, onClose: handleCloseMenu, anchorOrigin: {
@@ -1361,7 +2719,9 @@ languages = [], currentLocale, onLanguageChange, }) {
1361
2719
 
1362
2720
  const ResolvedCloseIcon$1 = resolveSvgIcon(CloseIcon);
1363
2721
  const ResolvedMenuIcon = resolveSvgIcon(MenuIcon);
1364
- const StyledAppBar$1 = styled(AppBar)(({ theme, ispartnershippagemobileview, scrolled }) => ({
2722
+ const StyledAppBar$1 = styled(AppBar, {
2723
+ shouldForwardProp: (prop) => prop !== 'ispartnershippagemobileview' && prop !== 'scrolled',
2724
+ })(({ theme, ispartnershippagemobileview, scrolled }) => ({
1365
2725
  zIndex: '1000 !important',
1366
2726
  backgroundColor: ispartnershippagemobileview && !scrolled
1367
2727
  ? 'transparent !important'
@@ -1384,7 +2744,9 @@ const ResponsiveB2CLayout = styled('div')(({ theme }) => ({
1384
2744
  margin: '0 auto',
1385
2745
  },
1386
2746
  }));
1387
- const StyledContainer = styled(Container)(({ theme, scrolled }) => ({
2747
+ const StyledContainer = styled(Container, {
2748
+ shouldForwardProp: (prop) => prop !== 'ispartnershippagemobileview' && prop !== 'scrolled',
2749
+ })(({ theme, scrolled }) => ({
1388
2750
  boxShadow: 'none',
1389
2751
  [theme?.breakpoints?.down('md')]: {
1390
2752
  boxShadow: !scrolled ? 'none' : '0px 2px 20px 4px rgba(0, 0, 0, 0.14)',
@@ -1395,11 +2757,11 @@ const TypographyLogo = styled(Typography)(({ theme }) => ({
1395
2757
  display: '-webkit-box',
1396
2758
  alignItems: 'anchor-center',
1397
2759
  [theme?.breakpoints?.up('md')]: {
1398
- width: 95,
2760
+ width: 'auto',
1399
2761
  height: 57,
1400
2762
  },
1401
2763
  [theme?.breakpoints?.down('md')]: {
1402
- width: 73.3,
2764
+ width: 'auto',
1403
2765
  display: 'flex',
1404
2766
  },
1405
2767
  }));
@@ -1526,12 +2888,14 @@ const StyledAvatarUserIcon = styled(Avatar)(({ theme }) => ({
1526
2888
  margin: '0',
1527
2889
  },
1528
2890
  }));
1529
- const StyledMenuIcon = styled(ResolvedMenuIcon)(({ theme, ispartnershippagemobileview, scrolled }) => ({
2891
+ const StyledMenuIcon = styled(ResolvedMenuIcon, {
2892
+ shouldForwardProp: (prop) => prop !== 'ispartnershippagemobileview' && prop !== 'scrolled',
2893
+ })(({ theme, ispartnershippagemobileview, scrolled }) => ({
1530
2894
  color: ispartnershippagemobileview && !scrolled
1531
2895
  ? theme.palette.common?.white || '#fff'
1532
2896
  : `${theme.palette.text?.primary || '#000'}`,
1533
2897
  }));
1534
- const StyledDrawer$3 = styled(Drawer)(({ theme }) => ({
2898
+ const StyledDrawer$4 = styled(Drawer)(({ theme }) => ({
1535
2899
  '& .MuiMenu-paper': {
1536
2900
  left: 'auto',
1537
2901
  width: 'fit-content',
@@ -1670,7 +3034,7 @@ const ResolvedDesktopHeaderMenuBar = resolveReactComponent(DesktopHeaderMenuBar)
1670
3034
  * />
1671
3035
  * ```
1672
3036
  */
1673
- 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, }) {
3037
+ 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, }) {
1674
3038
  useTenantTheme();
1675
3039
  const muiTheme = useTheme();
1676
3040
  const themeBreakpoint = useMediaQuery(muiTheme?.breakpoints?.down('md'));
@@ -1717,7 +3081,7 @@ function Header$1({ logo, navigationLinks, languages, currentLocale, userToken,
1717
3081
  // Render new desktop layout whenever enabled in non-mobile mode.
1718
3082
  // This avoids falling back to the legacy desktop path during SSR.
1719
3083
  if (useNewDesktopLayout && !isMobile) {
1720
- return (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 }));
3084
+ return (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 }));
1721
3085
  }
1722
3086
  return (jsx(StyledAppBar$1, { ispartnershippagemobileview: isPartnershipPageMobileView, scrolled: scrolled, children: jsx(ResponsiveB2CLayout, { children: jsx(StyledContainer, { ispartnershippagemobileview: isPartnershipPageMobileView, scrolled: scrolled, maxWidth: "xl", children: jsxs(Toolbar, { disableGutters: true, children: [jsx("button", { onClick: (e) => {
1723
3087
  e?.preventDefault();
@@ -1744,13 +3108,14 @@ function Header$1({ logo, navigationLinks, languages, currentLocale, userToken,
1744
3108
  letterSpacing: '.3rem',
1745
3109
  color: 'inherit',
1746
3110
  textDecoration: 'none',
1747
- }, children: logo ? (jsx("img", { src: logo, alt: "Logo", height: 'auto', width: '126px', style: {
1748
- height: 'auto',
1749
- width: '126px',
3111
+ }, children: logo ? (jsx("img", { src: logo, alt: "Logo", style: {
3112
+ height: '100%',
3113
+ width: 'auto',
3114
+ objectFit: 'contain',
1750
3115
  } })) : null }) }), !isMobile && (jsxs(Fragment, { children: [shouldShowContent && (jsxs(Box, { sx: {
1751
3116
  flexGrow: 1,
1752
3117
  display: { xs: 'none', md: 'flex', gap: 40 },
1753
- }, children: [jsxs(ButtonDesktopMenu, { onClick: handleOpenNavMenu, sx: { my: 2, textTransform: 'capitalize' }, "data-testid": "productNavigationMenu", children: [jsx(Typography, { variant: "h6", children: formatMessage({ id: 'Products' }) }), jsx(ResolvedArrowDropDownIcon, {})] }, "product"), menuItems?.partnership && (jsx(ButtonDesktopMenu, { onClick: onPartnershipClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsx(Typography, { variant: "h6", children: jsx(AnchorLink$1, { href: `${host}${menuItems.partnership.route}`, onClick: (e) => e?.preventDefault(), children: menuItems.partnership.label }) }) }, "partnership")), menuItems?.aboutUs && (jsx(ButtonDesktopMenu, { onClick: onAboutUsClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsx(Typography, { variant: "h6", children: jsx(AnchorLinks, { href: `${host}${menuItems.aboutUs.route}`, onClick: (e) => e?.preventDefault(), children: menuItems.aboutUs.label }) }) }, "aboutus")), menuItems?.blog && (jsx(ButtonDesktopMenu, { onClick: onBlogClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsx(Typography, { variant: "h6", children: jsx(AnchorLink$1, { href: menuItems.blog.url, onClick: (e) => e?.preventDefault(), children: menuItems.blog.label }) }) }, "blog"))] })), jsxs(Box, { sx: {
3118
+ }, children: [jsxs(ButtonDesktopMenu, { onClick: handleOpenNavMenu, sx: { my: 2, textTransform: 'capitalize' }, "data-testid": "productNavigationMenu", children: [jsx(Typography, { variant: desktopMenuTextVariant, children: formatMessage({ id: 'Products' }) }), jsx(ResolvedArrowDropDownIcon, {})] }, "product"), menuItems?.partnership && (jsx(ButtonDesktopMenu, { onClick: onPartnershipClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsx(Typography, { variant: desktopMenuTextVariant, children: jsx(AnchorLink$1, { href: `${host}${menuItems.partnership.route}`, onClick: (e) => e?.preventDefault(), children: menuItems.partnership.label }) }) }, "partnership")), menuItems?.aboutUs && (jsx(ButtonDesktopMenu, { onClick: onAboutUsClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsx(Typography, { variant: desktopMenuTextVariant, children: jsx(AnchorLinks, { href: `${host}${menuItems.aboutUs.route}`, onClick: (e) => e?.preventDefault(), children: menuItems.aboutUs.label }) }) }, "aboutus")), menuItems?.blog && (jsx(ButtonDesktopMenu, { onClick: onBlogClick, sx: { my: 2, textTransform: 'capitalize' }, children: jsx(Typography, { variant: desktopMenuTextVariant, children: jsx(AnchorLink$1, { href: menuItems.blog.url, onClick: (e) => e?.preventDefault(), children: menuItems.blog.label }) }) }, "blog"))] })), jsxs(Box, { sx: {
1754
3119
  flexGrow: 1,
1755
3120
  display: {
1756
3121
  xs: 'none',
@@ -1758,12 +3123,12 @@ function Header$1({ logo, navigationLinks, languages, currentLocale, userToken,
1758
3123
  gap: 40,
1759
3124
  justifyContent: 'flex-end',
1760
3125
  },
1761
- }, children: [shouldShowContent && (jsxs(ButtonDesktopMenu, { onClick: handleOpenLanguageMenu, sx: { my: 2, textTransform: 'capitalize' }, "data-testid": "selectedLocale", children: [jsx(Typography, { variant: "h6", children: formatMessage({
3126
+ }, children: [shouldShowContent && (jsxs(ButtonDesktopMenu, { onClick: handleOpenLanguageMenu, sx: { my: 2, textTransform: 'capitalize' }, "data-testid": "selectedLocale", children: [jsx(Typography, { variant: desktopMenuTextVariant, children: formatMessage({
1762
3127
  id: `${currentLocale?.toLocaleUpperCase()}`,
1763
3128
  }) }), jsx(ResolvedArrowDropDownIcon, {})] }, "language")), isPartnershipPagePCView && scrolled ? (jsx(StyledButton$1, { variant: "contained", onClick: onPartnershipCTAClick, children: jsx(TypographyBtnText, { variant: "body1", children: formatMessage({ id: 'Be Our Partner' }) }) })) : isSeoPageView && scrolled && bannerData ? (jsx(StyledButtonBanner, { style: { background: bannerData?.ctaBGColor }, variant: "contained", onClick: onGetQuoteClick, children: jsx(Typography, { style: {
1764
3129
  color: bannerData?.ctaTextColor,
1765
3130
  textTransform: 'none',
1766
- }, variant: "body1", children: bannerData?.ctaText }) })) : userToken ? (jsx(StyledAvatar, { onClick: handleOpenUserMenu, "data-testid": "user-profile-avatar", children: firstName1stLetter })) : (jsxs(DivButtonWrapper, { children: [jsx(ButtonAuth, { color: "primary", variant: "outlined", sx: { textTransform: 'capitalize' }, onClick: onLoginClick, "data-testid": "headerLogin", children: jsx(TypographyAuth, { variant: "body1", children: formatMessage({ id: 'Log in' }) }) }), jsx(ButtonAuth, { color: "primary", variant: "contained", sx: { textTransform: 'capitalize' }, onClick: onSignupClick, children: jsx(TypographyAuth, { variant: "body1", children: formatMessage({ id: 'Sign up' }) }) })] }))] }), jsx(StyledMenu, { id: "menu-appbar", anchorEl: anchorElNav, anchorOrigin: {
3131
+ }, variant: "body1", children: bannerData?.ctaText }) })) : userToken ? (jsx(StyledAvatar, { onClick: handleOpenUserMenu, "data-testid": "user-profile-avatar", children: firstName1stLetter })) : (jsxs(DivButtonWrapper, { children: [jsx(ButtonAuth, { color: "primary", variant: "outlined", sx: { textTransform: 'capitalize' }, onClick: onLoginClick, "data-testid": "headerLogin", children: jsx(TypographyAuth, { variant: desktopAuthTextVariant, children: formatMessage({ id: 'Log in' }) }) }), jsx(ButtonAuth, { color: "primary", variant: "contained", sx: { textTransform: 'capitalize' }, onClick: onSignupClick, children: jsx(TypographyAuth, { variant: desktopAuthTextVariant, children: formatMessage({ id: 'Sign up' }) }) })] }))] }), jsx(StyledMenu, { id: "menu-appbar", anchorEl: anchorElNav, anchorOrigin: {
1767
3132
  vertical: 'bottom',
1768
3133
  horizontal: 'left',
1769
3134
  }, keepMounted: true, transformOrigin: {
@@ -1782,10 +3147,10 @@ function Header$1({ logo, navigationLinks, languages, currentLocale, userToken,
1782
3147
  horizontal: 'left',
1783
3148
  }, open: Boolean(anchorElLanguage), onClose: handleCloseLanguageMenu, sx: {
1784
3149
  display: { xs: 'none', md: 'block' },
1785
- }, children: jsx(DivProductListing, { children: languages.map(({ value, locale, label }) => (jsx(StyledMenuItem, { onClick: () => {
3150
+ }, children: jsx(DivProductListing, { children: languages.map(({ value, locale, label, desktopLabel }) => (jsx(StyledMenuItem, { onClick: () => {
1786
3151
  onLanguageChange?.(locale, value);
1787
3152
  handleCloseLanguageMenu();
1788
- }, "data-testid": `lang-${locale}`, children: jsx(Typography, { variant: "body1", textAlign: "center", children: label }) }, value))) }) }), jsx(StyledMenu, { id: "user-menu", anchorEl: anchorElUserMenu, anchorOrigin: {
3153
+ }, "data-testid": `lang-${locale}`, children: jsx(Typography, { variant: "body1", textAlign: "center", children: desktopLabel || label }) }, value))) }) }), jsx(StyledMenu, { id: "user-menu", anchorEl: anchorElUserMenu, anchorOrigin: {
1789
3154
  vertical: 'bottom',
1790
3155
  horizontal: 'left',
1791
3156
  }, keepMounted: true, transformOrigin: {
@@ -1817,7 +3182,7 @@ function Header$1({ logo, navigationLinks, languages, currentLocale, userToken,
1817
3182
  }, variant: "contained", onClick: onGetQuoteClick, children: jsx(Typography, { style: {
1818
3183
  color: bannerData?.ctaTextColor,
1819
3184
  textTransform: 'none',
1820
- }, variant: "body1", children: bannerData?.ctaText }) })) : userToken ? (jsx(StyledAvatarUserIcon, { "data-testid": "user-profile-avatar", children: firstName1stLetter })) : (jsx(StyledMenuIcon, { ispartnershippagemobileview: isPartnershipPageMobileView, scrolled: scrolled })) }), jsxs(StyledDrawer$3, { id: "menu-appbar", anchor: "top", keepMounted: true, open: Boolean(anchorElNav), onClose: handleCloseNavMenu, sx: {
3185
+ }, variant: "body1", children: bannerData?.ctaText }) })) : userToken ? (jsx(StyledAvatarUserIcon, { "data-testid": "user-profile-avatar", children: firstName1stLetter })) : (jsx(StyledMenuIcon, { ispartnershippagemobileview: isPartnershipPageMobileView, scrolled: scrolled })) }), jsxs(StyledDrawer$4, { id: "menu-appbar", anchor: "top", keepMounted: true, open: Boolean(anchorElNav), onClose: handleCloseNavMenu, sx: {
1821
3186
  display: { xs: 'block', md: 'none' },
1822
3187
  width: '100%',
1823
3188
  left: 0,
@@ -1886,13 +3251,13 @@ const MenuIconButton = styled(IconButton)(() => ({
1886
3251
  fontSize: '24px',
1887
3252
  },
1888
3253
  }));
1889
- const StyledDrawer$2 = styled(Drawer)(() => ({
3254
+ const StyledDrawer$3 = styled(Drawer)(() => ({
1890
3255
  '& .MuiDrawer-paper': {
1891
3256
  backgroundColor: '#FFFFFF',
1892
3257
  boxSizing: 'border-box',
1893
3258
  },
1894
3259
  }));
1895
- const DrawerHeader$2 = styled(Box)(() => ({
3260
+ const DrawerHeader$3 = styled(Box)(() => ({
1896
3261
  display: 'flex',
1897
3262
  alignItems: 'center',
1898
3263
  justifyContent: 'space-between',
@@ -1912,7 +3277,7 @@ const CloseIconButton = styled(IconButton)(() => ({
1912
3277
  fontSize: '24px',
1913
3278
  },
1914
3279
  }));
1915
- const DrawerContent$2 = styled(Box)(({ theme }) => ({
3280
+ const DrawerContent$3 = styled(Box)(({ theme }) => ({
1916
3281
  flex: 1,
1917
3282
  overflowY: 'auto',
1918
3283
  paddingBottom: theme.spacing(2),
@@ -1960,7 +3325,7 @@ function NewHeader({ logo: propLogo, logoAltText = 'Logo', navigationLinks = [],
1960
3325
  item.onClick?.();
1961
3326
  handleDrawerClose();
1962
3327
  };
1963
- return (jsxs(Fragment, { children: [jsx(StyledAppBar, { position: "fixed", children: jsxs(StyledToolbar, { disableGutters: true, children: [jsx(LogoContainer$1, { onClick: handleLogoClick, children: jsx(LogoImage, { src: logo, alt: logoAltText }) }), jsx(MenuIconButton, { size: "large", edge: "end", "aria-label": "menu", onClick: handleDrawerOpen, children: jsx(MenuIcon, {}) })] }) }), jsx(StyledDrawer$2, { anchor: "right", open: drawerOpen, onClose: handleDrawerClose, children: customDrawerContent ? (jsx(Box, { sx: { width: isMobile ? '100vw' : 350 }, children: customDrawerContent })) : (jsxs(Box, { sx: { width: isMobile ? '100vw' : 350 }, children: [jsxs(DrawerHeader$2, { children: [jsx(DrawerLogoContainer, { onClick: handleLogoClick, children: jsx(LogoImage, { src: logo, alt: logoAltText }) }), jsx(CloseIconButton, { onClick: handleDrawerClose, "aria-label": "close", children: jsx(CloseIcon, {}) })] }), jsx(Divider, {}), jsx(DrawerContent$2, { children: navigationLinks.length > 0 && (jsx(List, { children: navigationLinks.map((item) => (jsx(ListItem, { disablePadding: true, children: jsx(ListItemButton, { onClick: () => handleMenuItemClick(item), children: jsx(ListItemText, { primary: formatMessage({ id: item.label }) }) }) }, item.key))) })) })] })) })] }));
3328
+ return (jsxs(Fragment, { children: [jsx(StyledAppBar, { position: "fixed", children: jsxs(StyledToolbar, { disableGutters: true, children: [jsx(LogoContainer$1, { onClick: handleLogoClick, children: jsx(LogoImage, { src: logo, alt: logoAltText }) }), jsx(MenuIconButton, { size: "large", edge: "end", "aria-label": "menu", onClick: handleDrawerOpen, children: jsx(MenuIcon, {}) })] }) }), jsx(StyledDrawer$3, { anchor: "right", open: drawerOpen, onClose: handleDrawerClose, children: customDrawerContent ? (jsx(Box, { sx: { width: isMobile ? '100vw' : 350 }, children: customDrawerContent })) : (jsxs(Box, { sx: { width: isMobile ? '100vw' : 350 }, children: [jsxs(DrawerHeader$3, { children: [jsx(DrawerLogoContainer, { onClick: handleLogoClick, children: jsx(LogoImage, { src: logo, alt: logoAltText }) }), jsx(CloseIconButton, { onClick: handleDrawerClose, "aria-label": "close", children: jsx(CloseIcon, {}) })] }), jsx(Divider, {}), jsx(DrawerContent$3, { children: navigationLinks.length > 0 && (jsx(List, { children: navigationLinks.map((item) => (jsx(ListItem, { disablePadding: true, children: jsx(ListItemButton, { onClick: () => handleMenuItemClick(item), children: jsx(ListItemText, { primary: formatMessage({ id: item.label }) }) }) }, item.key))) })) })] })) })] }));
1964
3329
  }
1965
3330
 
1966
3331
  /**
@@ -2260,7 +3625,7 @@ function Footer({ simplifiedLayout = false, introText, addressText, socialLinks,
2260
3625
  }), index === navigationLinks.length - 1 && (jsxs(Fragment, { children: [jsx(ButtonBottomLink, { onClick: onPrivacyPolicyClick, children: jsx(Typography, { variant: "body1", children: jsx(AnchorLink, { href: `${host}/${currentLocale}/terms/privacypolicy`, onClick: (e) => e?.preventDefault(), children: formatMessage({ id: 'Privacy Policy' }) }) }) }), jsx(ButtonBottomLink, { onClick: onTermsOfServiceClick, children: jsx(Typography, { variant: "body1", children: jsx(AnchorLink, { href: `${host}/${currentLocale}/terms/termsofservice`, onClick: (e) => e?.preventDefault(), children: formatMessage({ id: 'Terms of Service' }) }) }) }), jsx(DivSocial, { children: socialLinks.map((social) => (jsx(ButtonIcon, { onClick: () => onSocialClick?.(social.platform, social.url), "aria-label": social.ariaLabel || social.platform, children: jsx(AnchorLink, { href: sanitizeUrl(social.url, '#'), onClick: (e) => e?.preventDefault(), children: jsx("img", { src: social.icon, alt: social.platform, height: isMobile ? '24' : '28', width: isMobile ? '24' : '28', loading: "lazy" }) }) }, social.platform))) })] }))] }, index))) }))] }), isMobile && jsx(StyledDivider, {}), isMobile && (jsx(DivBottom, { children: jsxs(DivLinks, { children: [jsx("div", { onClick: onPrivacyPolicyClick, style: { cursor: 'pointer' }, children: jsx(Typography, { variant: "body2", children: jsx(AnchorLink, { href: `${host}/${currentLocale}/terms/privacypolicy`, onClick: (e) => e?.preventDefault(), children: formatMessage({ id: 'Privacy Policy' }) }) }) }), jsx(DivSep, {}), jsx("div", { onClick: onTermsOfServiceClick, style: { cursor: 'pointer' }, children: jsx(Typography, { variant: "body2", children: jsx(AnchorLink, { href: `${host}/${currentLocale}/terms/termsofservice`, onClick: (e) => e?.preventDefault(), children: formatMessage({ id: 'Terms of Service' }) }) }) })] }) }))] }) }));
2261
3626
  }
2262
3627
 
2263
- const StyledDrawer$1 = styled(Drawer)(({ theme }) => ({
3628
+ const StyledDrawer$2 = styled(Drawer)(({ theme }) => ({
2264
3629
  zIndex: '1300 !important',
2265
3630
  '& .MuiDrawer-root': {
2266
3631
  zIndex: 1300,
@@ -2280,7 +3645,7 @@ const StyledDrawer$1 = styled(Drawer)(({ theme }) => ({
2280
3645
  zIndex: 1299,
2281
3646
  },
2282
3647
  }));
2283
- const DrawerHeader$1 = styled(Box)(({ theme }) => ({
3648
+ const DrawerHeader$2 = styled(Box)(({ theme }) => ({
2284
3649
  display: 'flex',
2285
3650
  alignItems: 'center',
2286
3651
  justifyContent: 'flex-start',
@@ -2291,7 +3656,7 @@ const DrawerHeader$1 = styled(Box)(({ theme }) => ({
2291
3656
  minHeight: '56px',
2292
3657
  },
2293
3658
  }));
2294
- const DrawerContent$1 = styled(Box)(() => ({
3659
+ const DrawerContent$2 = styled(Box)(() => ({
2295
3660
  flex: 1,
2296
3661
  overflowY: 'auto',
2297
3662
  padding: '16px 0',
@@ -2422,7 +3787,7 @@ function RecommendationsDrawer({ open, onClose, children, headerIcon, title, sub
2422
3787
  onClose();
2423
3788
  }
2424
3789
  };
2425
- return (jsx(StyledDrawer$1, { anchor: "bottom", open: open, onClose: handleClose, PaperProps: {
3790
+ return (jsx(StyledDrawer$2, { anchor: "bottom", open: open, onClose: handleClose, PaperProps: {
2426
3791
  sx: {
2427
3792
  height: '95vh',
2428
3793
  borderTopLeftRadius: '16px',
@@ -2431,7 +3796,7 @@ function RecommendationsDrawer({ open, onClose, children, headerIcon, title, sub
2431
3796
  },
2432
3797
  }, sx: {
2433
3798
  zIndex: 1300,
2434
- }, children: jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', height: '100%' }, children: [jsx(DrawerHeader$1, { children: jsx(BackArrowButton, { onClick: handleBackOrClose, "aria-label": showBackButton ? 'back' : 'close', children: showBackButton ? jsx(ArrowBackIcon, {}) : jsx(CloseIcon, {}) }) }), (title || subtitle || headerIcon) && (jsxs(HeaderSection, { children: [headerIcon && (jsx(CategoryIcon, { children: jsx("img", { src: headerIcon, alt: "Category icon", width: 32, height: 32 }) })), title && (jsx(TitleText, { variant: "h5", children: formatMessage({ id: title }) })), subtitle && (jsx(SubtitleText, { variant: "body2", children: formatMessage({ id: subtitle }) }))] })), jsx(DrawerContent$1, { children: children }), showFooter && (jsx(DrawerFooter, { children: customFooter ? (customFooter) : (jsxs(FooterButtons, { children: [primaryButtonText && (jsx(PrimaryButton, { variant: "contained", fullWidth: true, onClick: onPrimaryAction, disabled: primaryButtonDisabled, sx: {
3799
+ }, children: jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', height: '100%' }, children: [jsx(DrawerHeader$2, { children: jsx(BackArrowButton, { onClick: handleBackOrClose, "aria-label": showBackButton ? 'back' : 'close', children: showBackButton ? jsx(ArrowBackIcon, {}) : jsx(CloseIcon, {}) }) }), (title || subtitle || headerIcon) && (jsxs(HeaderSection, { children: [headerIcon && (jsx(CategoryIcon, { children: jsx("img", { src: headerIcon, alt: "Category icon", width: 32, height: 32 }) })), title && (jsx(TitleText, { variant: "h5", children: formatMessage({ id: title }) })), subtitle && (jsx(SubtitleText, { variant: "body2", children: formatMessage({ id: subtitle }) }))] })), jsx(DrawerContent$2, { children: children }), showFooter && (jsx(DrawerFooter, { children: customFooter ? (customFooter) : (jsxs(FooterButtons, { children: [primaryButtonText && (jsx(PrimaryButton, { variant: "contained", fullWidth: true, onClick: onPrimaryAction, disabled: primaryButtonDisabled, sx: {
2435
3800
  backgroundColor: primaryColor,
2436
3801
  '&:hover': {
2437
3802
  backgroundColor: primaryColor,
@@ -2444,7 +3809,7 @@ function RecommendationsDrawer({ open, onClose, children, headerIcon, title, sub
2444
3809
  }, children: formatMessage({ id: secondaryButtonText }) }))] })) }))] }) }));
2445
3810
  }
2446
3811
 
2447
- const StyledDrawer = styled$1(Drawer)(() => ({
3812
+ const StyledDrawer$1 = styled$1(Drawer)(() => ({
2448
3813
  zIndex: 1300,
2449
3814
  '& .MuiDrawer-paper': {
2450
3815
  borderTopLeftRadius: '8px',
@@ -2547,13 +3912,13 @@ styled$1(Typography)(() => ({
2547
3912
  textAlign: 'center',
2548
3913
  wordSpacing: '0px',
2549
3914
  }));
2550
- const DrawerContent = styled$1(Box)({
3915
+ const DrawerContent$1 = styled$1(Box)({
2551
3916
  display: 'flex',
2552
3917
  flexDirection: 'column',
2553
3918
  width: '100%',
2554
3919
  backgroundColor: '#ffffff',
2555
3920
  });
2556
- const DrawerHeader = styled$1(Box)({
3921
+ const DrawerHeader$1 = styled$1(Box)({
2557
3922
  display: 'flex',
2558
3923
  justifyContent: 'flex-end',
2559
3924
  alignItems: 'center',
@@ -2785,7 +4150,7 @@ function ProductSelectionDrawer({ open, onClose, products, onProductSelect, titl
2785
4150
  }, children: [product.cardImage ? (jsx(ProductCardImage, { src: product.cardImage, alt: product.name, className: "product-card-image-layer" })) : (jsx(ProductCardPlaceholder, { className: "product-card-placeholder-layer" })), jsxs(ProductCardBottomBar, { className: "product-card-bottom-bar", children: [jsx(ProductIcon, { className: "product-card-icon", children: jsx("img", { src: product.icon ?? product.logo, alt: "" }) }), jsx(ProductName$1, { className: "product-card-name", children: product.name })] })] })] }, product.id))) }) })] }));
2786
4151
  }
2787
4152
  // Mobile Drawer variant (default)
2788
- return (jsx(StyledDrawer, { anchor: "bottom", open: open, onClose: onClose, children: jsxs(DrawerContent, { children: [jsx(DrawerHeader, { children: jsx(CloseButtonContainer, { children: jsx(IconButton, { onClick: onClose, sx: { padding: 0 }, children: jsx(CloseIcon, { sx: { fontSize: 24, color: '#13131b' } }) }) }) }), jsxs(Header, { children: [jsx(HeaderTitle, { children: title }), jsx(HeaderSubtitle, { children: subtitle })] }), jsx(ProductsContainer, { children: jsx(ProductsGrid, { productCount: products.length, children: products.map((product) => (jsxs(ProductCardWrapper, { children: [jsx(ProductCategoryLabel, { children: product.subtitle ?? product.type }), jsxs(ProductCard$1, { onClick: () => onProductSelect(product.id), role: "button", tabIndex: 0, onKeyDown: (e) => {
4153
+ return (jsx(StyledDrawer$1, { anchor: "bottom", open: open, onClose: onClose, children: jsxs(DrawerContent$1, { children: [jsx(DrawerHeader$1, { children: jsx(CloseButtonContainer, { children: jsx(IconButton, { onClick: onClose, sx: { padding: 0 }, children: jsx(CloseIcon, { sx: { fontSize: 24, color: '#13131b' } }) }) }) }), jsxs(Header, { children: [jsx(HeaderTitle, { children: title }), jsx(HeaderSubtitle, { children: subtitle })] }), jsx(ProductsContainer, { children: jsx(ProductsGrid, { productCount: products.length, children: products.map((product) => (jsxs(ProductCardWrapper, { children: [jsx(ProductCategoryLabel, { children: product.subtitle ?? product.type }), jsxs(ProductCard$1, { onClick: () => onProductSelect(product.id), role: "button", tabIndex: 0, onKeyDown: (e) => {
2789
4154
  if (e.key === 'Enter' || e.key === ' ') {
2790
4155
  e.preventDefault();
2791
4156
  onProductSelect(product.id);
@@ -4737,6 +6102,243 @@ function isStaticImageData(image) {
4737
6102
  typeof image.src === 'string');
4738
6103
  }
4739
6104
 
6105
+ const CardContainer = styled$1(Box)(({ theme }) => ({
6106
+ display: 'flex',
6107
+ flexDirection: 'column',
6108
+ alignItems: 'center',
6109
+ padding: '32px 24px',
6110
+ borderRadius: '16px',
6111
+ border: '1px solid',
6112
+ borderColor: theme.palette.divider,
6113
+ cursor: 'pointer',
6114
+ transition: 'all 0.2s ease',
6115
+ backgroundColor: '#fff',
6116
+ '&:hover': {
6117
+ borderColor: theme.palette.primary.main,
6118
+ boxShadow: '0 4px 20px rgba(0, 0, 0, 0.08)',
6119
+ transform: 'translateY(-2px)',
6120
+ },
6121
+ }));
6122
+ const CardIcon = styled$1('img')({
6123
+ width: 80,
6124
+ height: 80,
6125
+ marginBottom: 16,
6126
+ objectFit: 'contain',
6127
+ });
6128
+ const CardTitle = styled$1(Typography)({
6129
+ fontWeight: 600,
6130
+ textAlign: 'center',
6131
+ marginBottom: 4,
6132
+ });
6133
+ const CardDescription = styled$1(Typography)(({ theme }) => ({
6134
+ textAlign: 'center',
6135
+ color: theme.palette.text.secondary,
6136
+ }));
6137
+ const InsurerLogos = styled$1(Box)({
6138
+ display: 'flex',
6139
+ gap: 8,
6140
+ marginTop: 16,
6141
+ alignItems: 'center',
6142
+ });
6143
+ const InsurerLogo = styled$1('img')({
6144
+ height: 24,
6145
+ objectFit: 'contain',
6146
+ });
6147
+
6148
+ function TravelCategoryCard({ categoryKey, icon, title, description, insurerLogos, onClick, testId, }) {
6149
+ return (jsxs(CardContainer, { onClick: () => onClick?.(categoryKey), "data-testid": testId ?? `travel-category-${categoryKey.toLowerCase()}`, children: [jsx(CardIcon, { src: icon, alt: title }), jsx(CardTitle, { variant: "h6", children: title }), jsx(CardDescription, { variant: "body2", children: description }), insurerLogos && insurerLogos.length > 0 && (jsx(InsurerLogos, { children: insurerLogos.map((logo, index) => (jsx(InsurerLogo, { src: logo, alt: `insurer-${index}` }, index))) }))] }));
6150
+ }
6151
+
6152
+ const StyledDrawer = styled$1(Drawer)(({ theme }) => ({
6153
+ '& .MuiDrawer-paper': {
6154
+ width: '100%',
6155
+ maxWidth: '480px',
6156
+ borderTopLeftRadius: 16,
6157
+ borderTopRightRadius: 16,
6158
+ maxHeight: '90vh',
6159
+ [theme.breakpoints.up('md')]: {
6160
+ borderTopLeftRadius: 0,
6161
+ borderTopRightRadius: 0,
6162
+ maxHeight: '100vh',
6163
+ },
6164
+ },
6165
+ }));
6166
+ const DrawerHeader = styled$1(Box)(({ theme }) => ({
6167
+ display: 'flex',
6168
+ justifyContent: 'space-between',
6169
+ alignItems: 'center',
6170
+ padding: '16px 20px',
6171
+ borderBottom: `1px solid ${theme.palette.divider}`,
6172
+ }));
6173
+ const DrawerTitle = styled$1(Typography)({
6174
+ fontWeight: 600,
6175
+ fontSize: '18px',
6176
+ });
6177
+ const DrawerContent = styled$1(Box)({
6178
+ padding: '20px',
6179
+ overflowY: 'auto',
6180
+ flex: 1,
6181
+ });
6182
+ const FormSection = styled$1(Box)({
6183
+ marginBottom: 24,
6184
+ });
6185
+ const FormLabel = styled$1(Typography)(({ theme }) => ({
6186
+ fontWeight: 500,
6187
+ marginBottom: 8,
6188
+ color: theme.palette.text.primary,
6189
+ }));
6190
+ const GroupSizeGrid = styled$1(Box)({
6191
+ display: 'grid',
6192
+ gridTemplateColumns: 'repeat(2, 1fr)',
6193
+ gap: 8,
6194
+ });
6195
+ const GroupSizeOption = styled$1(Box, {
6196
+ shouldForwardProp: (prop) => prop !== 'selected',
6197
+ })(({ theme, selected }) => ({
6198
+ display: 'flex',
6199
+ alignItems: 'center',
6200
+ justifyContent: 'center',
6201
+ padding: '10px 16px',
6202
+ borderRadius: 8,
6203
+ border: `1.5px solid ${selected ? theme.palette.primary.main : theme.palette.divider}`,
6204
+ backgroundColor: selected ? `${theme.palette.primary.main}10` : '#fff',
6205
+ cursor: 'pointer',
6206
+ fontWeight: selected ? 600 : 400,
6207
+ color: selected ? theme.palette.primary.main : theme.palette.text.primary,
6208
+ transition: 'all 0.15s ease',
6209
+ '&:hover': {
6210
+ borderColor: theme.palette.primary.main,
6211
+ },
6212
+ }));
6213
+ const CounterContainer = styled$1(Box)({
6214
+ display: 'flex',
6215
+ alignItems: 'center',
6216
+ justifyContent: 'space-between',
6217
+ padding: '8px 0',
6218
+ });
6219
+ const CounterLabel = styled$1(Typography)({
6220
+ fontWeight: 500,
6221
+ });
6222
+ const CounterControls = styled$1(Box)({
6223
+ display: 'flex',
6224
+ alignItems: 'center',
6225
+ gap: 12,
6226
+ });
6227
+ const CounterValue = styled$1(Typography)({
6228
+ fontWeight: 600,
6229
+ minWidth: 24,
6230
+ textAlign: 'center',
6231
+ });
6232
+ const DatePickerRow = styled$1(Box)({
6233
+ display: 'grid',
6234
+ gridTemplateColumns: '1fr 1fr',
6235
+ gap: 12,
6236
+ });
6237
+ const SubmitButton = styled$1(Button$1)({
6238
+ width: '100%',
6239
+ padding: '12px 24px',
6240
+ borderRadius: 8,
6241
+ fontWeight: 600,
6242
+ fontSize: '16px',
6243
+ textTransform: 'none',
6244
+ marginTop: 16,
6245
+ });
6246
+ const DestinationChipsContainer = styled$1(Box)({
6247
+ display: 'flex',
6248
+ flexWrap: 'wrap',
6249
+ gap: 6,
6250
+ marginTop: 8,
6251
+ });
6252
+
6253
+ const GROUP_SIZE_OPTIONS = [
6254
+ { key: 'Individual', defaultLabel: 'Individual' },
6255
+ { key: 'Dual', defaultLabel: 'Dual' },
6256
+ { key: 'Couple', defaultLabel: 'Couple' },
6257
+ { key: 'Family', defaultLabel: 'Family' },
6258
+ ];
6259
+ const MAX_ADULTS = 10;
6260
+ const MAX_CHILDREN = 10;
6261
+ function TravelQuoteDrawer({ open, category, onClose, onSubmit, countryOptions = [], cityOptions = [], loading = false, labels = {}, }) {
6262
+ const theme = useTheme();
6263
+ const isMobile = useMediaQuery(theme.breakpoints.down('md'));
6264
+ const [groupSize, setGroupSize] = useState('Individual');
6265
+ const [startDate, setStartDate] = useState('');
6266
+ const [endDate, setEndDate] = useState('');
6267
+ const [adultCount, setAdultCount] = useState(1);
6268
+ const [childCount, setChildCount] = useState(0);
6269
+ const [selectedCountries, setSelectedCountries] = useState([]);
6270
+ const [selectedCity, setSelectedCity] = useState('');
6271
+ const isInternational = category === 'International';
6272
+ const handleGroupSizeChange = useCallback((size) => {
6273
+ setGroupSize(size);
6274
+ switch (size) {
6275
+ case 'Individual':
6276
+ setAdultCount(1);
6277
+ setChildCount(0);
6278
+ break;
6279
+ case 'Dual':
6280
+ case 'Couple':
6281
+ setAdultCount(2);
6282
+ setChildCount(0);
6283
+ break;
6284
+ case 'Family':
6285
+ setAdultCount(2);
6286
+ setChildCount(1);
6287
+ break;
6288
+ }
6289
+ }, []);
6290
+ const isFamily = groupSize === 'Family';
6291
+ const handleSubmit = useCallback(() => {
6292
+ if (!category)
6293
+ return;
6294
+ const values = {
6295
+ category,
6296
+ groupSize,
6297
+ travelStartDate: startDate,
6298
+ travelEndDate: endDate,
6299
+ adultCount,
6300
+ childCount,
6301
+ destinations: isInternational
6302
+ ? selectedCountries.map((c) => c.value)
6303
+ : selectedCity
6304
+ ? [selectedCity]
6305
+ : [],
6306
+ ...(isInternational
6307
+ ? { countries: selectedCountries }
6308
+ : { cities: selectedCity }),
6309
+ };
6310
+ onSubmit(values);
6311
+ }, [
6312
+ category,
6313
+ groupSize,
6314
+ startDate,
6315
+ endDate,
6316
+ adultCount,
6317
+ childCount,
6318
+ selectedCountries,
6319
+ selectedCity,
6320
+ isInternational,
6321
+ onSubmit,
6322
+ ]);
6323
+ const groupSizeLabelMap = useMemo(() => ({
6324
+ Individual: labels.individual ?? 'Individual',
6325
+ Dual: labels.dual ?? 'Dual',
6326
+ Couple: labels.couple ?? 'Couple',
6327
+ Family: labels.family ?? 'Family',
6328
+ }), [labels]);
6329
+ const drawerTitle = labels.title
6330
+ ?? (isInternational
6331
+ ? 'International Travel Insurance'
6332
+ : 'Domestic Travel Insurance');
6333
+ return (jsxs(StyledDrawer, { anchor: isMobile ? 'bottom' : 'right', open: open, onClose: onClose, children: [jsxs(DrawerHeader, { children: [jsx(DrawerTitle, { variant: "h6", children: drawerTitle }), jsx(IconButton, { onClick: onClose, size: "small", children: jsx(CloseIcon, {}) })] }), jsxs(DrawerContent, { children: [jsxs(FormSection, { children: [jsx(FormLabel, { variant: "body2", children: labels.groupSizeLabel ?? 'Group Size' }), jsx(GroupSizeGrid, { children: GROUP_SIZE_OPTIONS.map((option) => (jsx(GroupSizeOption, { selected: groupSize === option.key, onClick: () => handleGroupSizeChange(option.key), children: groupSizeLabelMap[option.key] }, option.key))) })] }), jsxs(FormSection, { children: [jsx(FormLabel, { variant: "body2", children: labels.travelDatesLabel ?? 'Travel Dates' }), jsxs(DatePickerRow, { children: [jsx(TextField, { type: "date", label: labels.startDateLabel ?? 'Start Date', value: startDate, onChange: (e) => setStartDate(e.target.value), InputLabelProps: { shrink: true }, inputProps: {
6334
+ min: new Date().toISOString().split('T')[0],
6335
+ }, size: "small", fullWidth: true }), jsx(TextField, { type: "date", label: labels.endDateLabel ?? 'End Date', value: endDate, onChange: (e) => setEndDate(e.target.value), InputLabelProps: { shrink: true }, inputProps: {
6336
+ min: startDate ||
6337
+ new Date().toISOString().split('T')[0],
6338
+ }, size: "small", fullWidth: true })] })] }), jsxs(FormSection, { children: [jsx(FormLabel, { variant: "body2", children: labels.destinationLabel ?? 'Destination' }), isInternational ? (jsxs(Fragment, { children: [jsx(Autocomplete, { multiple: true, options: countryOptions, getOptionLabel: (option) => option.label, value: selectedCountries, onChange: (_, newValue) => setSelectedCountries(newValue), groupBy: (option) => option.group ?? '', renderInput: (params) => (jsx(TextField, { ...params, placeholder: "Search countries...", size: "small" })), renderTags: () => null }), selectedCountries.length > 0 && (jsx(DestinationChipsContainer, { children: selectedCountries.map((country) => (jsx(Chip, { label: country.label, size: "small", onDelete: () => setSelectedCountries((prev) => prev.filter((c) => c.value !==
6339
+ country.value)) }, country.value))) }))] })) : (jsx(Autocomplete, { options: cityOptions.map((c) => c.name), value: selectedCity || null, onChange: (_, newValue) => setSelectedCity(newValue ?? ''), renderInput: (params) => (jsx(TextField, { ...params, placeholder: "Search cities...", size: "small" })) }))] }), isFamily && (jsxs(FormSection, { children: [jsxs(CounterContainer, { children: [jsx(CounterLabel, { variant: "body2", children: labels.adultsLabel ?? 'Adults' }), jsxs(CounterControls, { children: [jsx(IconButton, { size: "small", disabled: adultCount <= 1, onClick: () => setAdultCount((c) => Math.max(1, c - 1)), children: jsx(RemoveCircleOutlineIcon, {}) }), jsx(CounterValue, { variant: "body1", children: adultCount }), jsx(IconButton, { size: "small", disabled: adultCount >= MAX_ADULTS, onClick: () => setAdultCount((c) => Math.min(MAX_ADULTS, c + 1)), children: jsx(AddCircleOutlineIcon, {}) })] })] }), jsxs(CounterContainer, { children: [jsx(CounterLabel, { variant: "body2", children: labels.childrenLabel ?? 'Children' }), jsxs(CounterControls, { children: [jsx(IconButton, { size: "small", disabled: childCount <= 0, onClick: () => setChildCount((c) => Math.max(0, c - 1)), children: jsx(RemoveCircleOutlineIcon, {}) }), jsx(CounterValue, { variant: "body1", children: childCount }), jsx(IconButton, { size: "small", disabled: childCount >= MAX_CHILDREN, onClick: () => setChildCount((c) => Math.min(MAX_CHILDREN, c + 1)), children: jsx(AddCircleOutlineIcon, {}) })] })] })] })), jsx(SubmitButton, { variant: "contained", color: "primary", onClick: handleSubmit, disabled: loading, children: labels.submitLabel ?? 'Get Quote' })] })] }));
6340
+ }
6341
+
4740
6342
  /**
4741
6343
  * Common UI Icons
4742
6344
  * Path references to reusable icons
@@ -4760,4 +6362,4 @@ function getIconPath(iconName) {
4760
6362
  return ICON_PATHS[iconName];
4761
6363
  }
4762
6364
 
4763
- export { Banner, BenefitsSummary, BillingToggle, Button, Card, CheckoutFormButton, CheckoutHeader, CheckoutProgress, ChildInformationForm, ContactDetailsForm, CoverageAmountSlider, DesktopHeaderMenuBar, ErrorBoundary, FAQAccordion, Footer, Header$1 as Header, HealthInformationForm, HealthQuestionGroup, ICON_PATHS, InfoCallout, NewHeader, OptionButton, PersonalInformationForm, ProductCard, ProductSelectionDrawer, QuestionSection, RecommendationsDrawer, TenantThemeProvider, ToggleGroup, ammetlifeTheme, ammetlifeTypography, createThemeCSSVariables, getAvailableTenants, getIconPath, getImageSrc, getTenantAssetPath, getTenantLogoPath, getTenantTheme, getTenantTypography, getThemeColor, iglooTheme, iglooTypography, isStaticImageData, isValidExternalUrl, isValidTenantId, mergeTenantTheme, resolveComponent, resolveReactComponent, resolveSvgIcon, safeWindowOpen, sanitizeUrl, tenantThemes, tenantTypography, useIsTenant, useTenantAsset, useTenantFavicon, useTenantId, useTenantLogo, useTenantTheme, withErrorBoundary };
6365
+ export { Banner, BenefitsSummary, BillingToggle, Button, Card, CheckoutFormButton, CheckoutHeader, CheckoutProgress, ChildInformationForm, ContactDetailsForm, CoverageAmountSlider, DesktopHeaderMenuBar, ErrorBoundary, FAQAccordion, Footer, Header$1 as Header, HealthInformationForm, HealthQuestionGroup, ICON_PATHS, InfoCallout, NewHeader, OptionButton, PersonalInformationForm, ProductCard, ProductSelectionDrawer, QuestionSection, RecommendationsDrawer, TenantThemeProvider, ToggleGroup, TravelCategoryCard, TravelQuoteDrawer, ammetlifeTheme, ammetlifeTypography, b2cidTheme, b2cidTypography, createThemeCSSVariables, getAvailableTenants, getIconPath, getImageSrc, getTenantAssetPath, getTenantLogoPath, getTenantTheme, getTenantTypography, getThemeColor, iglooTheme, iglooTypography, isStaticImageData, isValidExternalUrl, isValidTenantId, mergeTenantTheme, resolveComponent, resolveReactComponent, resolveSvgIcon, safeWindowOpen, sanitizeUrl, tenantThemes, tenantTypography, useIsTenant, useTenantAsset, useTenantFavicon, useTenantId, useTenantLogo, useTenantTheme, withErrorBoundary };