igloo-d2c-components 1.0.28 → 1.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +156 -30
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +156 -30
- package/dist/esm/index.js.map +1 -1
- package/dist/types/components/DesktopHeaderMenuBar/DesktopHeaderMenuBar.d.ts +16 -10
- package/dist/types/components/DesktopHeaderMenuBar/index.d.ts +1 -0
- package/dist/types/components/DesktopHeaderMenuBar/styled.d.ts +22 -10
- package/dist/types/components/DesktopHeaderMenuBar/types.d.ts +36 -0
- package/dist/types/components/Header/Header.d.ts +33 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -351,7 +351,7 @@ const ammetlifeTypography = Object.assign(Object.assign({}, iglooTypography), {
|
|
|
351
351
|
fontWeight: 700,
|
|
352
352
|
lineHeight: '38px',
|
|
353
353
|
letterSpacing: 0,
|
|
354
|
-
wordSpacing: '-
|
|
354
|
+
wordSpacing: '-10px',
|
|
355
355
|
},
|
|
356
356
|
// Title Medium (H2) - MetLife Circular Bold 16/24
|
|
357
357
|
titleMedium: {
|
|
@@ -890,11 +890,12 @@ function Banner(_a) {
|
|
|
890
890
|
* Design Specifications:
|
|
891
891
|
* - Header height: 80px
|
|
892
892
|
* - Background: white (#ffffff)
|
|
893
|
-
* - Content
|
|
894
|
-
* - Logo
|
|
895
|
-
* - Gap between
|
|
896
|
-
* - Menu text: MetLife Circular Bold, 18px, #13131B
|
|
897
|
-
* -
|
|
893
|
+
* - Content padding: 156px horizontal on 1440px viewport
|
|
894
|
+
* - Logo dimensions: 126px × 16px
|
|
895
|
+
* - Gap between menu items: 32px
|
|
896
|
+
* - Menu text: MetLife Circular Bold, 18px, #13131B, line-height 24px
|
|
897
|
+
* - CTA Button: Filled, #0090da, border-radius 24px, height 48px
|
|
898
|
+
* - CTA text: MetLife Circular Medium, 16px, white, line-height 20px
|
|
898
899
|
*/
|
|
899
900
|
/**
|
|
900
901
|
* Design System Colors (from Figma node 1581-22604)
|
|
@@ -912,7 +913,7 @@ const designColors = {
|
|
|
912
913
|
* Main AppBar container
|
|
913
914
|
* Height: 80px, white background, centered content
|
|
914
915
|
*/
|
|
915
|
-
const StyledAppBar$2 = styles.styled(AppBar)((
|
|
916
|
+
const StyledAppBar$2 = styles.styled(AppBar)(() => ({
|
|
916
917
|
backgroundColor: designColors.natural.light00,
|
|
917
918
|
boxShadow: 'none',
|
|
918
919
|
position: 'fixed',
|
|
@@ -942,13 +943,12 @@ const HeaderContainer$1 = styles.styled(material.Box)(({ theme }) => ({
|
|
|
942
943
|
},
|
|
943
944
|
}));
|
|
944
945
|
/**
|
|
945
|
-
* Left section containing logo
|
|
946
|
-
*
|
|
946
|
+
* Left section containing logo only
|
|
947
|
+
* Per Figma: Logo on left side of header
|
|
947
948
|
*/
|
|
948
949
|
const LeftSection = styles.styled(material.Box)({
|
|
949
950
|
display: 'flex',
|
|
950
951
|
alignItems: 'center',
|
|
951
|
-
gap: '32px',
|
|
952
952
|
height: '100%',
|
|
953
953
|
});
|
|
954
954
|
/**
|
|
@@ -963,11 +963,11 @@ const LogoContainer$2 = styles.styled(material.Box)({
|
|
|
963
963
|
});
|
|
964
964
|
/**
|
|
965
965
|
* Logo image
|
|
966
|
-
* Width: 126px, height: 16px (per Figma)
|
|
966
|
+
* Width: 126px, height: 16px (per Figma node 1328:28463)
|
|
967
967
|
*/
|
|
968
968
|
const LogoImage$1 = styles.styled('img')({
|
|
969
|
-
width: '
|
|
970
|
-
height: '
|
|
969
|
+
width: '126px',
|
|
970
|
+
height: '16px',
|
|
971
971
|
objectFit: 'contain',
|
|
972
972
|
});
|
|
973
973
|
/**
|
|
@@ -985,7 +985,7 @@ styles.styled(material.Box)({
|
|
|
985
985
|
* Font: MetLife Circular Bold, 18px, color: #13131B
|
|
986
986
|
* Padding: 10px horizontal (creates visual spacing between items)
|
|
987
987
|
*/
|
|
988
|
-
const MenuItemButton = styles.styled(material.Button)((
|
|
988
|
+
const MenuItemButton = styles.styled(material.Button)(() => ({
|
|
989
989
|
display: 'flex',
|
|
990
990
|
alignItems: 'center',
|
|
991
991
|
gap: '8px',
|
|
@@ -999,6 +999,7 @@ const MenuItemButton = styles.styled(material.Button)(({ theme }) => ({
|
|
|
999
999
|
fontSize: '18px',
|
|
1000
1000
|
lineHeight: '24px',
|
|
1001
1001
|
letterSpacing: '0px',
|
|
1002
|
+
wordSpacing: '-5px',
|
|
1002
1003
|
borderRadius: 0,
|
|
1003
1004
|
'&:hover': {
|
|
1004
1005
|
backgroundColor: 'transparent',
|
|
@@ -1015,6 +1016,7 @@ const MenuItemText = styles.styled(material.Typography)({
|
|
|
1015
1016
|
fontSize: '18px',
|
|
1016
1017
|
lineHeight: '24px',
|
|
1017
1018
|
letterSpacing: '0px',
|
|
1019
|
+
wordSpacing: '-5px',
|
|
1018
1020
|
color: 'inherit',
|
|
1019
1021
|
});
|
|
1020
1022
|
/**
|
|
@@ -1027,19 +1029,22 @@ const DropdownIcon = styles.styled(ArrowDropDownIcon)({
|
|
|
1027
1029
|
color: designColors.natural.dim100,
|
|
1028
1030
|
});
|
|
1029
1031
|
/**
|
|
1030
|
-
* Right section containing
|
|
1032
|
+
* Right section containing menu items and CTA button
|
|
1033
|
+
* Gap: 32px between menu items (per Figma node 3506:35611)
|
|
1031
1034
|
*/
|
|
1032
1035
|
const RightSection = styles.styled(material.Box)({
|
|
1033
1036
|
display: 'flex',
|
|
1034
1037
|
alignItems: 'center',
|
|
1038
|
+
gap: '32px',
|
|
1035
1039
|
height: '100%',
|
|
1036
1040
|
});
|
|
1037
1041
|
/**
|
|
1038
|
-
* Login button (text style)
|
|
1042
|
+
* Login button (text style) - DEPRECATED
|
|
1043
|
+
* @deprecated Use PurchaseButton instead
|
|
1039
1044
|
* Based on Figma: Style=Text, State=enabled, Show Icon=False
|
|
1040
1045
|
* Color: #0090da (primary blue/teal)
|
|
1041
1046
|
*/
|
|
1042
|
-
|
|
1047
|
+
styles.styled(material.Button)(() => ({
|
|
1043
1048
|
display: 'flex',
|
|
1044
1049
|
alignItems: 'center',
|
|
1045
1050
|
padding: '0 10px',
|
|
@@ -1052,6 +1057,7 @@ const LoginButton = styles.styled(material.Button)(({ theme }) => ({
|
|
|
1052
1057
|
fontSize: '18px',
|
|
1053
1058
|
lineHeight: '24px',
|
|
1054
1059
|
letterSpacing: '0px',
|
|
1060
|
+
wordSpacing: '-5px',
|
|
1055
1061
|
borderRadius: 0,
|
|
1056
1062
|
backgroundColor: 'transparent',
|
|
1057
1063
|
'&:hover': {
|
|
@@ -1059,10 +1065,41 @@ const LoginButton = styles.styled(material.Button)(({ theme }) => ({
|
|
|
1059
1065
|
textDecoration: 'underline',
|
|
1060
1066
|
},
|
|
1061
1067
|
}));
|
|
1068
|
+
/**
|
|
1069
|
+
* Purchase Now CTA Button (filled style)
|
|
1070
|
+
* Based on Figma: Style=Filled, State=Enabled (node 3506:36976)
|
|
1071
|
+
* Background: #0090da, border-radius: 24px, height: 48px
|
|
1072
|
+
* Text: MetLife Circular Medium, 16px, white, line-height 20px
|
|
1073
|
+
*/
|
|
1074
|
+
const PurchaseButton = styles.styled(material.Button)(() => ({
|
|
1075
|
+
display: 'flex',
|
|
1076
|
+
alignItems: 'center',
|
|
1077
|
+
justifyContent: 'center',
|
|
1078
|
+
padding: '10px 24px',
|
|
1079
|
+
height: '48px',
|
|
1080
|
+
minWidth: 'auto',
|
|
1081
|
+
textTransform: 'none',
|
|
1082
|
+
color: designColors.natural.light00,
|
|
1083
|
+
backgroundColor: designColors.primary.main60,
|
|
1084
|
+
fontFamily: '"MetLifeCircular", "Montserrat", "Roboto", "Helvetica", "Arial", sans-serif',
|
|
1085
|
+
fontWeight: 500,
|
|
1086
|
+
fontSize: '16px',
|
|
1087
|
+
lineHeight: '20px',
|
|
1088
|
+
letterSpacing: '0px',
|
|
1089
|
+
wordSpacing: '-5px',
|
|
1090
|
+
borderRadius: '24px',
|
|
1091
|
+
whiteSpace: 'nowrap',
|
|
1092
|
+
'&:hover': {
|
|
1093
|
+
backgroundColor: '#007bb8',
|
|
1094
|
+
},
|
|
1095
|
+
'&:active': {
|
|
1096
|
+
backgroundColor: '#006a9e',
|
|
1097
|
+
},
|
|
1098
|
+
}));
|
|
1062
1099
|
/**
|
|
1063
1100
|
* Dropdown menu container
|
|
1064
1101
|
*/
|
|
1065
|
-
const StyledMenu$1 = styles.styled(material.Menu)((
|
|
1102
|
+
const StyledMenu$1 = styles.styled(material.Menu)(() => ({
|
|
1066
1103
|
'& .MuiPaper-root': {
|
|
1067
1104
|
borderRadius: '16px',
|
|
1068
1105
|
marginTop: '8px',
|
|
@@ -1073,7 +1110,7 @@ const StyledMenu$1 = styles.styled(material.Menu)(({ theme }) => ({
|
|
|
1073
1110
|
/**
|
|
1074
1111
|
* Dropdown menu item
|
|
1075
1112
|
*/
|
|
1076
|
-
const StyledMenuItem$1 = styles.styled(material.MenuItem)((
|
|
1113
|
+
const StyledMenuItem$1 = styles.styled(material.MenuItem)(() => ({
|
|
1077
1114
|
display: 'flex',
|
|
1078
1115
|
alignItems: 'center',
|
|
1079
1116
|
gap: '12px',
|
|
@@ -1082,6 +1119,7 @@ const StyledMenuItem$1 = styles.styled(material.MenuItem)(({ theme }) => ({
|
|
|
1082
1119
|
fontWeight: 500,
|
|
1083
1120
|
fontSize: '16px',
|
|
1084
1121
|
lineHeight: '24px',
|
|
1122
|
+
wordSpacing: '-5px',
|
|
1085
1123
|
color: designColors.natural.dim100,
|
|
1086
1124
|
'&:hover': {
|
|
1087
1125
|
backgroundColor: 'rgba(0, 144, 218, 0.08)',
|
|
@@ -1096,28 +1134,65 @@ const MenuItemIcon = styles.styled('img')({
|
|
|
1096
1134
|
objectFit: 'contain',
|
|
1097
1135
|
});
|
|
1098
1136
|
|
|
1137
|
+
/**
|
|
1138
|
+
* Smooth scroll utility function
|
|
1139
|
+
* Scrolls to a target element by ID with smooth behavior
|
|
1140
|
+
*/
|
|
1141
|
+
const scrollToElement = (targetId, offset = 80) => {
|
|
1142
|
+
const element = document.getElementById(targetId);
|
|
1143
|
+
if (element) {
|
|
1144
|
+
const elementPosition = element.getBoundingClientRect().top;
|
|
1145
|
+
const offsetPosition = elementPosition + window.pageYOffset - offset;
|
|
1146
|
+
window.scrollTo({
|
|
1147
|
+
top: offsetPosition,
|
|
1148
|
+
behavior: 'smooth',
|
|
1149
|
+
});
|
|
1150
|
+
}
|
|
1151
|
+
};
|
|
1099
1152
|
/**
|
|
1100
1153
|
* DesktopHeaderMenuBar Component
|
|
1101
1154
|
*
|
|
1102
|
-
* A
|
|
1155
|
+
* A desktop header with logo on left, navigation menu items and CTA button on right.
|
|
1156
|
+
* Supports scroll-to-section interactions for menu items.
|
|
1103
1157
|
*
|
|
1104
1158
|
* @param logo - Logo image source URL
|
|
1105
1159
|
* @param logoAlt - Alt text for the logo image
|
|
1106
1160
|
* @param menuItems - Array of menu items to display
|
|
1107
|
-
* @param
|
|
1108
|
-
* @param
|
|
1161
|
+
* @param showCtaButton - Whether to show the CTA button (default: true)
|
|
1162
|
+
* @param ctaButtonText - Text for the CTA button (default: 'Purchase Now')
|
|
1163
|
+
* @param onCtaClick - Handler for CTA button click
|
|
1164
|
+
* @param ctaScrollTargetId - Target element ID for CTA scroll action
|
|
1165
|
+
* @param onScrollToSection - Callback when menu item triggers scroll
|
|
1109
1166
|
* @param onLogoClick - Handler for logo click
|
|
1110
|
-
* @param onLoginClick - Handler for login button click
|
|
1111
1167
|
* @param formatMessage - i18n function for translations
|
|
1112
1168
|
*/
|
|
1113
|
-
function DesktopHeaderMenuBar({ logo, logoAlt = 'Logo', menuItems,
|
|
1114
|
-
|
|
1169
|
+
function DesktopHeaderMenuBar({ logo, logoAlt = 'Logo', menuItems,
|
|
1170
|
+
// Legacy props (deprecated)
|
|
1171
|
+
showLoginButton, loginButtonText, onLoginClick,
|
|
1172
|
+
// New CTA props
|
|
1173
|
+
showCtaButton = true, ctaButtonText = 'Purchase Now', onCtaClick, ctaScrollTargetId, onScrollToSection, onLogoClick, formatMessage = (descriptor) => descriptor.id, className, }) {
|
|
1174
|
+
var _a;
|
|
1175
|
+
// Track which dropdown is currently open (for backward compatibility)
|
|
1115
1176
|
const [openMenuKey, setOpenMenuKey] = React__namespace.useState(null);
|
|
1116
1177
|
const [anchorEl, setAnchorEl] = React__namespace.useState(null);
|
|
1178
|
+
// Determine which button props to use (support legacy props)
|
|
1179
|
+
const shouldShowCtaButton = (_a = showCtaButton !== null && showCtaButton !== void 0 ? showCtaButton : showLoginButton) !== null && _a !== void 0 ? _a : true;
|
|
1180
|
+
const ctaText = ctaButtonText || loginButtonText || 'Purchase Now';
|
|
1181
|
+
const handleCtaClick = onCtaClick || onLoginClick;
|
|
1117
1182
|
const handleMenuClick = (event, item) => {
|
|
1118
1183
|
var _a;
|
|
1184
|
+
// Handle scroll-to-section behavior
|
|
1185
|
+
if (item.scrollTargetId) {
|
|
1186
|
+
if (onScrollToSection) {
|
|
1187
|
+
onScrollToSection(item.scrollTargetId, item.scrollTargetProductCode);
|
|
1188
|
+
}
|
|
1189
|
+
else {
|
|
1190
|
+
scrollToElement(item.scrollTargetId);
|
|
1191
|
+
}
|
|
1192
|
+
return;
|
|
1193
|
+
}
|
|
1194
|
+
// Handle dropdown behavior (backward compatibility)
|
|
1119
1195
|
if (item.hasDropdown && item.subItems && item.subItems.length > 0) {
|
|
1120
|
-
// Toggle dropdown
|
|
1121
1196
|
if (openMenuKey === item.key) {
|
|
1122
1197
|
handleCloseMenu();
|
|
1123
1198
|
}
|
|
@@ -1147,7 +1222,18 @@ function DesktopHeaderMenuBar({ logo, logoAlt = 'Logo', menuItems, showLoginButt
|
|
|
1147
1222
|
e.preventDefault();
|
|
1148
1223
|
onLogoClick === null || onLogoClick === void 0 ? void 0 : onLogoClick();
|
|
1149
1224
|
};
|
|
1150
|
-
|
|
1225
|
+
const handleCtaButtonClick = () => {
|
|
1226
|
+
if (ctaScrollTargetId) {
|
|
1227
|
+
if (onScrollToSection) {
|
|
1228
|
+
onScrollToSection(ctaScrollTargetId);
|
|
1229
|
+
}
|
|
1230
|
+
else {
|
|
1231
|
+
scrollToElement(ctaScrollTargetId);
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1234
|
+
handleCtaClick === null || handleCtaClick === void 0 ? void 0 : handleCtaClick();
|
|
1235
|
+
};
|
|
1236
|
+
return (jsxRuntime.jsx(StyledAppBar$2, Object.assign({ className: className }, { children: jsxRuntime.jsxs(HeaderContainer$1, { children: [jsxRuntime.jsx(LeftSection, { children: jsxRuntime.jsx(LogoContainer$2, Object.assign({ onClick: handleLogoClick }, { children: jsxRuntime.jsx(LogoImage$1, { src: logo, alt: logoAlt }) })) }), jsxRuntime.jsxs(RightSection, { children: [menuItems.map((item) => (jsxRuntime.jsxs(React__namespace.Fragment, { children: [jsxRuntime.jsxs(MenuItemButton, Object.assign({ 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.jsx(MenuItemText, { children: formatMessage({ id: item.label }) }), item.hasDropdown && jsxRuntime.jsx(DropdownIcon, {})] })), item.hasDropdown && item.subItems && (jsxRuntime.jsx(StyledMenu$1, Object.assign({ id: `menu-${item.key}`, anchorEl: anchorEl, open: openMenuKey === item.key, onClose: handleCloseMenu, anchorOrigin: {
|
|
1151
1237
|
vertical: 'bottom',
|
|
1152
1238
|
horizontal: 'left',
|
|
1153
1239
|
}, transformOrigin: {
|
|
@@ -1155,7 +1241,7 @@ function DesktopHeaderMenuBar({ logo, logoAlt = 'Logo', menuItems, showLoginButt
|
|
|
1155
1241
|
horizontal: 'left',
|
|
1156
1242
|
}, MenuListProps: {
|
|
1157
1243
|
'aria-labelledby': `menu-button-${item.key}`,
|
|
1158
|
-
} }, { children: item.subItems.map((subItem) => (jsxRuntime.jsxs(StyledMenuItem$1, Object.assign({ onClick: () => handleSubItemClick(item, subItem.key), "data-testid": `submenu-item-${subItem.key}` }, { children: [subItem.icon && (jsxRuntime.jsx(MenuItemIcon, { src: subItem.icon, alt: subItem.label })), formatMessage({ id: subItem.label })] }), subItem.key))) })))] }, item.key)))
|
|
1244
|
+
} }, { children: item.subItems.map((subItem) => (jsxRuntime.jsxs(StyledMenuItem$1, Object.assign({ onClick: () => handleSubItemClick(item, subItem.key), "data-testid": `submenu-item-${subItem.key}` }, { children: [subItem.icon && (jsxRuntime.jsx(MenuItemIcon, { src: subItem.icon, alt: subItem.label })), formatMessage({ id: subItem.label })] }), subItem.key))) })))] }, item.key))), shouldShowCtaButton && (jsxRuntime.jsx(PurchaseButton, Object.assign({ onClick: handleCtaButtonClick, "data-testid": "header-cta-button" }, { children: formatMessage({ id: ctaText }) })))] })] }) })));
|
|
1159
1245
|
}
|
|
1160
1246
|
|
|
1161
1247
|
const StyledAppBar$1 = styles.styled(AppBar)(({ theme, ispartnershippagemobileview, scrolled }) => {
|
|
@@ -1521,7 +1607,7 @@ const TypographyBtnText = styles.styled(material.Typography)(({ theme }) => {
|
|
|
1521
1607
|
* />
|
|
1522
1608
|
* ```
|
|
1523
1609
|
*/
|
|
1524
|
-
function Header$1({ logo, alternateLogo, showAlternateLogo = false, navigationLinks, languages, currentLocale, currentLang, userToken, userFirstName, isMobile: propIsMobile, scrolled = false, isPartnershipPageMobileView = false, isPartnershipPagePCView = false, isSeoPageView = false, showGetQuoteButton = false, bannerData, ctaData, host = '', welcomeMessage, formatMessage = (descriptor) => descriptor.id, menuItems, userProfileComponent, onLogoClick, onProductMenuClick, onLanguageChange, onLoginClick, onSignupClick, onLogoutClick, onPartnershipClick, onAboutUsClick, onBlogClick, onMyProfileClick, onGetQuoteClick, onPartnershipCTAClick, useNewDesktopLayout = false, desktopMenuItems = [], }) {
|
|
1610
|
+
function Header$1({ logo, alternateLogo, showAlternateLogo = false, navigationLinks, languages, currentLocale, currentLang, userToken, userFirstName, isMobile: propIsMobile, scrolled = false, isPartnershipPageMobileView = false, isPartnershipPagePCView = false, isSeoPageView = false, showGetQuoteButton = false, bannerData, ctaData, 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, }) {
|
|
1525
1611
|
var _a, _b, _c;
|
|
1526
1612
|
const tenantTheme = useTenantTheme();
|
|
1527
1613
|
tenantTheme === null || tenantTheme === void 0 ? void 0 : tenantTheme.theme;
|
|
@@ -1568,12 +1654,14 @@ function Header$1({ logo, alternateLogo, showAlternateLogo = false, navigationLi
|
|
|
1568
1654
|
onClick: subItem.onClick,
|
|
1569
1655
|
})),
|
|
1570
1656
|
onClick: item.onClick,
|
|
1657
|
+
scrollTargetId: item.scrollTargetId,
|
|
1658
|
+
scrollTargetProductCode: item.scrollTargetProductCode,
|
|
1571
1659
|
});
|
|
1572
1660
|
});
|
|
1573
1661
|
// Render new desktop layout when enabled and on actual desktop viewport
|
|
1574
1662
|
// Uses isActuallyDesktop to avoid SSR/prop issues with isMobile detection
|
|
1575
1663
|
if (useNewDesktopLayout && isActuallyDesktop) {
|
|
1576
|
-
return (jsxRuntime.jsx(DesktopHeaderMenuBar, { logo: logo, logoAlt: "Logo", menuItems: convertedDesktopMenuItems,
|
|
1664
|
+
return (jsxRuntime.jsx(DesktopHeaderMenuBar, { logo: logo, logoAlt: "Logo", menuItems: convertedDesktopMenuItems, showCtaButton: showCtaButton, ctaButtonText: ctaButtonText, onCtaClick: onCtaClick, ctaScrollTargetId: ctaScrollTargetId, onScrollToSection: onScrollToSection, onLogoClick: onLogoClick, formatMessage: formatMessage }));
|
|
1577
1665
|
}
|
|
1578
1666
|
return (jsxRuntime.jsx(StyledAppBar$1, Object.assign({ ispartnershippagemobileview: isPartnershipPageMobileView, scrolled: scrolled }, { children: jsxRuntime.jsx(ResponsiveB2CLayout, { children: jsxRuntime.jsx(StyledContainer, Object.assign({ ispartnershippagemobileview: isPartnershipPageMobileView, scrolled: scrolled, maxWidth: "xl" }, { children: jsxRuntime.jsxs(material.Toolbar, Object.assign({ disableGutters: true }, { children: [jsxRuntime.jsx("a", Object.assign({ href: host || '#', onClick: (e) => {
|
|
1579
1667
|
e === null || e === void 0 ? void 0 : e.preventDefault();
|
|
@@ -2052,6 +2140,7 @@ const TitleText = styles.styled(material.Typography)(({ theme }) => ({
|
|
|
2052
2140
|
fontWeight: 700,
|
|
2053
2141
|
fontSize: '28px',
|
|
2054
2142
|
lineHeight: '28px',
|
|
2143
|
+
wordSpacing: '-5px',
|
|
2055
2144
|
color: '#13131B',
|
|
2056
2145
|
[theme.breakpoints.down('md')]: {
|
|
2057
2146
|
fontSize: '20px',
|
|
@@ -2062,6 +2151,7 @@ const SubtitleText = styles.styled(material.Typography)(({ theme }) => ({
|
|
|
2062
2151
|
fontWeight: 400,
|
|
2063
2152
|
fontSize: '14px',
|
|
2064
2153
|
lineHeight: '18px',
|
|
2154
|
+
wordSpacing: '-5px',
|
|
2065
2155
|
color: '#5F5E62',
|
|
2066
2156
|
}));
|
|
2067
2157
|
const FooterButtons = styles.styled(material.Box)(({ theme }) => ({
|
|
@@ -2079,6 +2169,7 @@ const PrimaryButton = styles.styled(material.Button)(({ theme }) => ({
|
|
|
2079
2169
|
fontWeight: 500,
|
|
2080
2170
|
fontSize: '14px',
|
|
2081
2171
|
lineHeight: '18px',
|
|
2172
|
+
wordSpacing: '-5px',
|
|
2082
2173
|
'&:disabled': {
|
|
2083
2174
|
backgroundColor: '#C8C5CA',
|
|
2084
2175
|
color: '#FFFFFF',
|
|
@@ -2091,6 +2182,7 @@ const SecondaryButton = styles.styled(material.Button)(({ theme }) => ({
|
|
|
2091
2182
|
fontWeight: 500,
|
|
2092
2183
|
fontSize: '14px',
|
|
2093
2184
|
lineHeight: '18px',
|
|
2185
|
+
wordSpacing: '-5px',
|
|
2094
2186
|
}));
|
|
2095
2187
|
|
|
2096
2188
|
/**
|
|
@@ -2199,6 +2291,7 @@ const HeaderTitle = material.styled(material.Typography)({
|
|
|
2199
2291
|
fontSize: '20px',
|
|
2200
2292
|
fontWeight: 700,
|
|
2201
2293
|
lineHeight: '28px',
|
|
2294
|
+
wordSpacing: '-5px',
|
|
2202
2295
|
color: '#13131b',
|
|
2203
2296
|
});
|
|
2204
2297
|
const HeaderSubtitle = material.styled(material.Typography)({
|
|
@@ -2206,6 +2299,7 @@ const HeaderSubtitle = material.styled(material.Typography)({
|
|
|
2206
2299
|
fontSize: '14px',
|
|
2207
2300
|
fontWeight: 400,
|
|
2208
2301
|
lineHeight: '18px',
|
|
2302
|
+
wordSpacing: '-5px',
|
|
2209
2303
|
color: 'rgba(0, 0, 0, 0.6)',
|
|
2210
2304
|
});
|
|
2211
2305
|
const ProductsContainer = material.styled(material.Box)({
|
|
@@ -2246,6 +2340,7 @@ const ProductName$1 = material.styled(material.Typography)({
|
|
|
2246
2340
|
fontSize: '14px',
|
|
2247
2341
|
fontWeight: 700,
|
|
2248
2342
|
lineHeight: '22px',
|
|
2343
|
+
wordSpacing: '-5px',
|
|
2249
2344
|
color: '#13131b',
|
|
2250
2345
|
textAlign: 'center',
|
|
2251
2346
|
});
|
|
@@ -2254,6 +2349,7 @@ const ProductType = material.styled(material.Typography)({
|
|
|
2254
2349
|
fontSize: '12px',
|
|
2255
2350
|
fontWeight: 400,
|
|
2256
2351
|
lineHeight: '16px',
|
|
2352
|
+
wordSpacing: '-5px',
|
|
2257
2353
|
color: '#13131b',
|
|
2258
2354
|
textAlign: 'center',
|
|
2259
2355
|
});
|
|
@@ -2267,6 +2363,7 @@ const ViewPlansButton = material.styled(material.Button)({
|
|
|
2267
2363
|
fontSize: '14px',
|
|
2268
2364
|
fontWeight: 500,
|
|
2269
2365
|
lineHeight: '18px',
|
|
2366
|
+
wordSpacing: '-5px',
|
|
2270
2367
|
});
|
|
2271
2368
|
|
|
2272
2369
|
function ProductSelectionDrawer({ open, onClose, products, onProductSelect, title = 'Select your product', subtitle = 'Pick the product that suits your protection goals to view available plans', viewPlansButtonText = 'View plans', }) {
|
|
@@ -2309,6 +2406,7 @@ const QuestionTitle = styles.styled(material.Typography)(({ theme }) => ({
|
|
|
2309
2406
|
fontWeight: 700,
|
|
2310
2407
|
fontSize: '18px',
|
|
2311
2408
|
lineHeight: '24px',
|
|
2409
|
+
wordSpacing: '-5px',
|
|
2312
2410
|
color: '#13131B',
|
|
2313
2411
|
[theme.breakpoints.down('md')]: {
|
|
2314
2412
|
fontSize: '14px',
|
|
@@ -2319,6 +2417,7 @@ const QuestionSubtext = styles.styled(material.Typography)(({ theme }) => ({
|
|
|
2319
2417
|
fontWeight: 400,
|
|
2320
2418
|
fontSize: '16px',
|
|
2321
2419
|
lineHeight: '20px',
|
|
2420
|
+
wordSpacing: '-5px',
|
|
2322
2421
|
color: '#5F5E62',
|
|
2323
2422
|
[theme.breakpoints.down('md')]: {
|
|
2324
2423
|
fontSize: '12px',
|
|
@@ -2447,6 +2546,7 @@ const OptionLabel = styles.styled(material.Typography)(({ theme, selected, color
|
|
|
2447
2546
|
fontWeight: selected ? 700 : 500,
|
|
2448
2547
|
fontSize: '14px',
|
|
2449
2548
|
lineHeight: '20px',
|
|
2549
|
+
wordSpacing: '-5px',
|
|
2450
2550
|
color: selected ? '#0090DA' : colors.unselectedText,
|
|
2451
2551
|
textAlign: 'center',
|
|
2452
2552
|
fontFamily: '"MetLifeCircular", "Montserrat", sans-serif',
|
|
@@ -2526,6 +2626,7 @@ const ToggleLabel = styles.styled(material.Typography)(({ theme, selected }) =>
|
|
|
2526
2626
|
fontWeight: 600,
|
|
2527
2627
|
fontSize: '14px',
|
|
2528
2628
|
lineHeight: '20px',
|
|
2629
|
+
wordSpacing: '-5px',
|
|
2529
2630
|
color: selected ? '#FEFBFF' : '#5F5E62',
|
|
2530
2631
|
whiteSpace: 'nowrap',
|
|
2531
2632
|
}));
|
|
@@ -2674,6 +2775,7 @@ const ToggleText = styles.styled(material.Typography)(({ theme }) => {
|
|
|
2674
2775
|
fontWeight: ((_d = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _d === void 0 ? void 0 : _d.fontWeightSemiBold) || 600,
|
|
2675
2776
|
lineHeight: ((_f = (_e = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _e === void 0 ? void 0 : _e.bodyMedium) === null || _f === void 0 ? void 0 : _f.lineHeight) || '20px',
|
|
2676
2777
|
whiteSpace: 'nowrap',
|
|
2778
|
+
wordSpacing: '-5px',
|
|
2677
2779
|
});
|
|
2678
2780
|
});
|
|
2679
2781
|
|
|
@@ -2752,6 +2854,7 @@ const CalloutTitle = styles.styled(material.Typography)(({ theme }) => {
|
|
|
2752
2854
|
fontSize: ((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _b === void 0 ? void 0 : _b.bodyMedium) === null || _c === void 0 ? void 0 : _c.fontSize) || '16px',
|
|
2753
2855
|
fontWeight: ((_d = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _d === void 0 ? void 0 : _d.fontWeightSemiBold) || 700,
|
|
2754
2856
|
lineHeight: ((_f = (_e = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _e === void 0 ? void 0 : _e.bodyMedium) === null || _f === void 0 ? void 0 : _f.lineHeight) || '20px',
|
|
2857
|
+
wordSpacing: '-5px',
|
|
2755
2858
|
color: ((_h = (_g = theme === null || theme === void 0 ? void 0 : theme.palette) === null || _g === void 0 ? void 0 : _g.natural) === null || _h === void 0 ? void 0 : _h.dim) || '#13131b',
|
|
2756
2859
|
[theme.breakpoints.down('md')]: {
|
|
2757
2860
|
fontSize: '14px',
|
|
@@ -2767,6 +2870,7 @@ const CalloutText = styles.styled(material.Typography)(({ theme }) => {
|
|
|
2767
2870
|
fontSize: ((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _b === void 0 ? void 0 : _b.bodySmall) === null || _c === void 0 ? void 0 : _c.fontSize) || '14px',
|
|
2768
2871
|
fontWeight: ((_e = (_d = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _d === void 0 ? void 0 : _d.bodySmall) === null || _e === void 0 ? void 0 : _e.fontWeight) || 400,
|
|
2769
2872
|
lineHeight: ((_g = (_f = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _f === void 0 ? void 0 : _f.bodySmall) === null || _g === void 0 ? void 0 : _g.lineHeight) || '16px',
|
|
2873
|
+
wordSpacing: '-5px',
|
|
2770
2874
|
color: ((_j = (_h = theme === null || theme === void 0 ? void 0 : theme.palette) === null || _h === void 0 ? void 0 : _h.natural) === null || _j === void 0 ? void 0 : _j.dark) || '#5f5e62',
|
|
2771
2875
|
[theme.breakpoints.down('md')]: {
|
|
2772
2876
|
fontSize: '12px',
|
|
@@ -2829,6 +2933,7 @@ const InputLabel = styles.styled(material.Typography)(({ theme }) => {
|
|
|
2829
2933
|
fontSize: ((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _b === void 0 ? void 0 : _b.bodySmall) === null || _c === void 0 ? void 0 : _c.fontSize) || '12px',
|
|
2830
2934
|
fontWeight: ((_e = (_d = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _d === void 0 ? void 0 : _d.bodySmall) === null || _e === void 0 ? void 0 : _e.fontWeight) || 400,
|
|
2831
2935
|
lineHeight: ((_g = (_f = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _f === void 0 ? void 0 : _f.bodySmall) === null || _g === void 0 ? void 0 : _g.lineHeight) || '16px',
|
|
2936
|
+
wordSpacing: '-5px',
|
|
2832
2937
|
color: ((_j = (_h = theme === null || theme === void 0 ? void 0 : theme.palette) === null || _h === void 0 ? void 0 : _h.natural) === null || _j === void 0 ? void 0 : _j.dim) || '#13131b',
|
|
2833
2938
|
});
|
|
2834
2939
|
});
|
|
@@ -2856,6 +2961,7 @@ const InputValue = styles.styled(material.Typography)(({ theme }) => {
|
|
|
2856
2961
|
fontSize: ((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _b === void 0 ? void 0 : _b.bodyMedium) === null || _c === void 0 ? void 0 : _c.fontSize) || '14px',
|
|
2857
2962
|
fontWeight: ((_e = (_d = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _d === void 0 ? void 0 : _d.bodyMedium) === null || _e === void 0 ? void 0 : _e.fontWeight) || 400,
|
|
2858
2963
|
lineHeight: ((_g = (_f = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _f === void 0 ? void 0 : _f.bodyMedium) === null || _g === void 0 ? void 0 : _g.lineHeight) || '18px',
|
|
2964
|
+
wordSpacing: '-5px',
|
|
2859
2965
|
color: ((_j = (_h = theme === null || theme === void 0 ? void 0 : theme.palette) === null || _h === void 0 ? void 0 : _h.natural) === null || _j === void 0 ? void 0 : _j.dim) || '#13131b',
|
|
2860
2966
|
textAlign: 'center',
|
|
2861
2967
|
flex: 1,
|
|
@@ -2944,6 +3050,7 @@ const RangeLabel = styles.styled(material.Typography)(({ theme }) => {
|
|
|
2944
3050
|
fontSize: ((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _b === void 0 ? void 0 : _b.smallText) === null || _c === void 0 ? void 0 : _c.fontSize) || '8px',
|
|
2945
3051
|
fontWeight: ((_e = (_d = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _d === void 0 ? void 0 : _d.smallText) === null || _e === void 0 ? void 0 : _e.fontWeight) || 500,
|
|
2946
3052
|
lineHeight: ((_g = (_f = theme === null || theme === void 0 ? void 0 : theme.typography) === null || _f === void 0 ? void 0 : _f.smallText) === null || _g === void 0 ? void 0 : _g.lineHeight) || '16px',
|
|
3053
|
+
wordSpacing: '-5px',
|
|
2947
3054
|
color: ((_j = (_h = theme === null || theme === void 0 ? void 0 : theme.palette) === null || _h === void 0 ? void 0 : _h.natural) === null || _j === void 0 ? void 0 : _j.main) || '#929094',
|
|
2948
3055
|
});
|
|
2949
3056
|
});
|
|
@@ -3159,6 +3266,7 @@ const ProgressText = styles.styled(material.Typography)({
|
|
|
3159
3266
|
color: '#5F5E62',
|
|
3160
3267
|
fontWeight: 400,
|
|
3161
3268
|
lineHeight: '16px',
|
|
3269
|
+
wordSpacing: '-5px',
|
|
3162
3270
|
});
|
|
3163
3271
|
|
|
3164
3272
|
const CheckoutProgress = ({ currentStep, totalSteps, onBack, showBackButton = true, progressBarTheme, sx, }) => {
|
|
@@ -3201,12 +3309,14 @@ const ProductName = styles.styled(material.Typography)({
|
|
|
3201
3309
|
fontWeight: 600,
|
|
3202
3310
|
color: '#13131B',
|
|
3203
3311
|
lineHeight: '20px',
|
|
3312
|
+
wordSpacing: '-5px',
|
|
3204
3313
|
});
|
|
3205
3314
|
const PlanName = styles.styled(material.Typography)({
|
|
3206
3315
|
fontSize: '12px',
|
|
3207
3316
|
fontWeight: 400,
|
|
3208
3317
|
color: '#13131B',
|
|
3209
3318
|
lineHeight: '16px',
|
|
3319
|
+
wordSpacing: '-5px',
|
|
3210
3320
|
});
|
|
3211
3321
|
const PriceContainer = styles.styled(material.Box)({
|
|
3212
3322
|
display: 'flex',
|
|
@@ -3218,12 +3328,14 @@ const Price = styles.styled(material.Typography)({
|
|
|
3218
3328
|
fontWeight: 600,
|
|
3219
3329
|
color: '#13131B',
|
|
3220
3330
|
lineHeight: '20px',
|
|
3331
|
+
wordSpacing: '-5px',
|
|
3221
3332
|
});
|
|
3222
3333
|
const PricePeriod = styles.styled(material.Typography)({
|
|
3223
3334
|
fontSize: '12px',
|
|
3224
3335
|
fontWeight: 400,
|
|
3225
3336
|
color: '#13131B',
|
|
3226
3337
|
lineHeight: '16px',
|
|
3338
|
+
wordSpacing: '-5px',
|
|
3227
3339
|
});
|
|
3228
3340
|
|
|
3229
3341
|
const ProductCard = ({ productName, planName, logoUrl, price, currency = 'RM', period = '/month', sx, showIndicator = true, }) => {
|
|
@@ -3243,6 +3355,7 @@ const SectionTitle$2 = styles.styled(material.Typography)({
|
|
|
3243
3355
|
fontWeight: 700,
|
|
3244
3356
|
color: '#13131B',
|
|
3245
3357
|
lineHeight: '28px',
|
|
3358
|
+
wordSpacing: '-5px',
|
|
3246
3359
|
marginBottom: '8px',
|
|
3247
3360
|
});
|
|
3248
3361
|
const SectionDescription = styles.styled(material.Typography)({
|
|
@@ -3250,6 +3363,7 @@ const SectionDescription = styles.styled(material.Typography)({
|
|
|
3250
3363
|
fontWeight: 400,
|
|
3251
3364
|
color: '#5F5E62',
|
|
3252
3365
|
lineHeight: '18px',
|
|
3366
|
+
wordSpacing: '-5px',
|
|
3253
3367
|
});
|
|
3254
3368
|
|
|
3255
3369
|
const CheckoutHeader = ({ progress, product, sectionTitle, sectionDescription, sticky = true, progressBarTheme, sx, }) => {
|
|
@@ -3291,6 +3405,7 @@ const StyledButton = styles.styled('button')(({ isDisabled, desktopWidth }) => (
|
|
|
3291
3405
|
fontSize: '14px',
|
|
3292
3406
|
fontWeight: 500,
|
|
3293
3407
|
lineHeight: '18px',
|
|
3408
|
+
wordSpacing: '-5px',
|
|
3294
3409
|
cursor: isDisabled ? 'not-allowed' : 'pointer',
|
|
3295
3410
|
transition: 'all 0.2s ease',
|
|
3296
3411
|
'&:hover': {
|
|
@@ -3321,6 +3436,7 @@ const QuestionText = styles.styled(material.Typography)({
|
|
|
3321
3436
|
fontWeight: 400,
|
|
3322
3437
|
color: '#13131B',
|
|
3323
3438
|
lineHeight: '24px',
|
|
3439
|
+
wordSpacing: '-5px',
|
|
3324
3440
|
fontFamily: '"MetLifeCircular", "Montserrat", sans-serif',
|
|
3325
3441
|
});
|
|
3326
3442
|
const OptionsContainer = styles.styled(material.Box)({
|
|
@@ -3351,6 +3467,7 @@ styles.styled(material.Typography)(({ selected }) => ({
|
|
|
3351
3467
|
fontWeight: 600,
|
|
3352
3468
|
color: selected ? '#13131B' : '#5F5E62',
|
|
3353
3469
|
lineHeight: '20px',
|
|
3470
|
+
wordSpacing: '-5px',
|
|
3354
3471
|
}));
|
|
3355
3472
|
|
|
3356
3473
|
const HealthQuestionGroup = ({ question, questionNumber, value, onChange, error, labels = { yes: 'Yes', no: 'No' }, sx, }) => {
|
|
@@ -3414,6 +3531,7 @@ const CheckboxLabel$1 = styles.styled(material.Typography)({
|
|
|
3414
3531
|
fontWeight: 400,
|
|
3415
3532
|
color: '#5F5E62',
|
|
3416
3533
|
lineHeight: '18px',
|
|
3534
|
+
wordSpacing: '-5px',
|
|
3417
3535
|
});
|
|
3418
3536
|
|
|
3419
3537
|
const PersonalInformationForm = ({ renderField, fields, consents, onSubmit, formRef, sx, desktopGridLayout = false, }) => {
|
|
@@ -3501,12 +3619,14 @@ const CheckboxLabel = styles.styled(material.Typography)({
|
|
|
3501
3619
|
fontWeight: 400,
|
|
3502
3620
|
color: '#5F5E62',
|
|
3503
3621
|
lineHeight: '18px',
|
|
3622
|
+
wordSpacing: '-5px',
|
|
3504
3623
|
});
|
|
3505
3624
|
const SectionTitle$1 = styles.styled(material.Typography)({
|
|
3506
3625
|
fontSize: '16px',
|
|
3507
3626
|
fontWeight: 600,
|
|
3508
3627
|
color: '#13131B',
|
|
3509
3628
|
lineHeight: '24px',
|
|
3629
|
+
wordSpacing: '-5px',
|
|
3510
3630
|
});
|
|
3511
3631
|
|
|
3512
3632
|
const ContactDetailsForm = ({ renderField, fields, mailingFields, mailingAddressSame, onSubmit, formRef, sx, desktopGridLayout = false, }) => {
|
|
@@ -3687,6 +3807,7 @@ const FAQTitle = material.styled(material.Typography)(({ theme }) => ({
|
|
|
3687
3807
|
fontWeight: 700,
|
|
3688
3808
|
fontSize: '20px',
|
|
3689
3809
|
lineHeight: '28px',
|
|
3810
|
+
wordSpacing: '-5px',
|
|
3690
3811
|
textAlign: 'center',
|
|
3691
3812
|
width: '100%',
|
|
3692
3813
|
margin: 0,
|
|
@@ -3730,6 +3851,7 @@ const FAQQuestion = material.styled(material.Typography)(({ theme }) => ({
|
|
|
3730
3851
|
fontWeight: 700,
|
|
3731
3852
|
fontSize: '14px',
|
|
3732
3853
|
lineHeight: '20px',
|
|
3854
|
+
wordSpacing: '-5px',
|
|
3733
3855
|
flex: 1,
|
|
3734
3856
|
[theme.breakpoints.up('md')]: {
|
|
3735
3857
|
fontSize: '15px',
|
|
@@ -3740,6 +3862,7 @@ const StyledAccordionDetails = material.styled(material.AccordionDetails)(({ the
|
|
|
3740
3862
|
fontWeight: 400,
|
|
3741
3863
|
fontSize: '14px',
|
|
3742
3864
|
lineHeight: '20px',
|
|
3865
|
+
wordSpacing: '-5px',
|
|
3743
3866
|
padding: '0 0 16px 0',
|
|
3744
3867
|
[theme.breakpoints.up('md')]: {
|
|
3745
3868
|
fontSize: '15px',
|
|
@@ -3807,6 +3930,7 @@ const SectionContainer = material.styled(material.Box)(({ theme }) => ({
|
|
|
3807
3930
|
const SectionTitle = material.styled(material.Typography)(({ theme }) => ({
|
|
3808
3931
|
fontWeight: 700,
|
|
3809
3932
|
fontSize: '20px',
|
|
3933
|
+
wordSpacing: '-5px',
|
|
3810
3934
|
lineHeight: '28px',
|
|
3811
3935
|
textAlign: 'center',
|
|
3812
3936
|
width: '100%',
|
|
@@ -3850,6 +3974,7 @@ const BenefitTitle = material.styled(material.Typography)(({ theme }) => ({
|
|
|
3850
3974
|
fontWeight: 700,
|
|
3851
3975
|
fontSize: '14px',
|
|
3852
3976
|
lineHeight: '20px',
|
|
3977
|
+
wordSpacing: '-5px',
|
|
3853
3978
|
margin: 0,
|
|
3854
3979
|
[theme.breakpoints.up('md')]: {
|
|
3855
3980
|
fontSize: '18px',
|
|
@@ -3860,6 +3985,7 @@ const BenefitDescription = material.styled(material.Typography)(({ theme }) => (
|
|
|
3860
3985
|
fontWeight: 400,
|
|
3861
3986
|
fontSize: '14px',
|
|
3862
3987
|
lineHeight: '18px',
|
|
3988
|
+
wordSpacing: '-5px',
|
|
3863
3989
|
margin: 0,
|
|
3864
3990
|
[theme.breakpoints.up('md')]: {
|
|
3865
3991
|
fontSize: '16px',
|