@bonlineza/luxity-lib 2.36.2 → 2.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9718,11 +9718,12 @@
9718
9718
  var _data$data$user = data.data.user,
9719
9719
  email_interest_send_schedule = _data$data$user.email_interest_send_schedule,
9720
9720
  whatsapp_interest_send_schedule = _data$data$user.whatsapp_interest_send_schedule,
9721
- vip = _data$data$user.vip;
9721
+ is_early_access = _data$data$user.is_early_access,
9722
+ is_exclusive = _data$data$user.is_exclusive;
9722
9723
 
9723
9724
  _this.setState({
9724
9725
  options: options,
9725
- isVip: vip,
9726
+ canReceiveWhatsAppNotifications: is_early_access || is_exclusive,
9726
9727
  emailSelectedOption: options.find(function (item) {
9727
9728
  return item.value === email_interest_send_schedule;
9728
9729
  }),
@@ -9737,7 +9738,7 @@
9737
9738
  options = _this$state.options,
9738
9739
  emailSelectedOption = _this$state.emailSelectedOption,
9739
9740
  whatsappSelectedOption = _this$state.whatsappSelectedOption,
9740
- isVip = _this$state.isVip,
9741
+ canReceiveWhatsAppNotifications = _this$state.canReceiveWhatsAppNotifications,
9741
9742
  updating = _this$state.request.fetching;
9742
9743
  return /*#__PURE__*/React__default.createElement(NotifyContainer, null, /*#__PURE__*/React__default.createElement(LuxityNotifications, null), /*#__PURE__*/React__default.createElement(LuxityPageReady, {
9743
9744
  getRequestPromise: _this.props.getSchedule,
@@ -9746,7 +9747,7 @@
9746
9747
  }
9747
9748
  }, /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
9748
9749
  className: "notification-settings"
9749
- }, isVip && /*#__PURE__*/React__default.createElement("div", {
9750
+ }, canReceiveWhatsAppNotifications && /*#__PURE__*/React__default.createElement("div", {
9750
9751
  className: "notification-row-wrapper"
9751
9752
  }, /*#__PURE__*/React__default.createElement("div", {
9752
9753
  className: "notification-dropdown-label"
@@ -9791,7 +9792,7 @@
9791
9792
  options: [],
9792
9793
  emailSelectedOption: null,
9793
9794
  whatsappSelectedOption: null,
9794
- isVip: false,
9795
+ canReceiveWhatsAppNotifications: false,
9795
9796
  request: _objectSpread2({}, request)
9796
9797
  };
9797
9798
  return _this;
package/Interests.js CHANGED
@@ -7624,11 +7624,12 @@
7624
7624
  var _data$data$user = data.data.user,
7625
7625
  email_interest_send_schedule = _data$data$user.email_interest_send_schedule,
7626
7626
  whatsapp_interest_send_schedule = _data$data$user.whatsapp_interest_send_schedule,
7627
- vip = _data$data$user.vip;
7627
+ is_early_access = _data$data$user.is_early_access,
7628
+ is_exclusive = _data$data$user.is_exclusive;
7628
7629
 
7629
7630
  _this.setState({
7630
7631
  options: options,
7631
- isVip: vip,
7632
+ canReceiveWhatsAppNotifications: is_early_access || is_exclusive,
7632
7633
  emailSelectedOption: options.find(function (item) {
7633
7634
  return item.value === email_interest_send_schedule;
7634
7635
  }),
@@ -7643,7 +7644,7 @@
7643
7644
  options = _this$state.options,
7644
7645
  emailSelectedOption = _this$state.emailSelectedOption,
7645
7646
  whatsappSelectedOption = _this$state.whatsappSelectedOption,
7646
- isVip = _this$state.isVip,
7647
+ canReceiveWhatsAppNotifications = _this$state.canReceiveWhatsAppNotifications,
7647
7648
  updating = _this$state.request.fetching;
7648
7649
  return /*#__PURE__*/React__default.createElement(NotifyContainer, null, /*#__PURE__*/React__default.createElement(LuxityNotifications, null), /*#__PURE__*/React__default.createElement(LuxityPageReady, {
7649
7650
  getRequestPromise: _this.props.getSchedule,
@@ -7652,7 +7653,7 @@
7652
7653
  }
7653
7654
  }, /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
7654
7655
  className: "notification-settings"
7655
- }, isVip && /*#__PURE__*/React__default.createElement("div", {
7656
+ }, canReceiveWhatsAppNotifications && /*#__PURE__*/React__default.createElement("div", {
7656
7657
  className: "notification-row-wrapper"
7657
7658
  }, /*#__PURE__*/React__default.createElement("div", {
7658
7659
  className: "notification-dropdown-label"
@@ -7697,7 +7698,7 @@
7697
7698
  options: [],
7698
7699
  emailSelectedOption: null,
7699
7700
  whatsappSelectedOption: null,
7700
- isVip: false,
7701
+ canReceiveWhatsAppNotifications: false,
7701
7702
  request: _objectSpread2({}, request)
7702
7703
  };
7703
7704
  return _this;
@@ -882,9 +882,11 @@
882
882
  onCurrencyChange = _ref.onCurrencyChange,
883
883
  isCurrencySelectionDisabled = _ref.isCurrencySelectionDisabled,
884
884
  tooltipContent = _ref.tooltipContent,
885
- vipIcon = _ref.vipIcon,
885
+ earlyAccessIcon = _ref.earlyAccessIcon,
886
+ exclusiveIcon = _ref.exclusiveIcon,
886
887
  name = _ref.name,
887
- isVip = _ref.isVip,
888
+ isEarlyAccess = _ref.isEarlyAccess,
889
+ isExclusive = _ref.isExclusive,
888
890
  shop = _ref.shop,
889
891
  app = _ref.app,
890
892
  categoryConfig = _ref.categoryConfig;
@@ -1030,8 +1032,8 @@
1030
1032
  });
1031
1033
  };
1032
1034
 
1033
- var getMarginRight = function getMarginRight(userIsVip, userName) {
1034
- if (userIsVip) return '15px';
1035
+ var getMarginRight = function getMarginRight(showLoyaltyIcon, userName) {
1036
+ if (showLoyaltyIcon) return '15px';
1035
1037
  if (userName) return '5px';
1036
1038
  return '18px';
1037
1039
  };
@@ -1117,17 +1119,23 @@
1117
1119
  className: "navbar__icon relative flex",
1118
1120
  onClick: onAccountClick,
1119
1121
  style: {
1120
- marginRight: getMarginRight(isVip, name)
1122
+ marginRight: getMarginRight(isEarlyAccess || isExclusive, name)
1121
1123
  }
1122
1124
  }, /*#__PURE__*/React__default.createElement("img", {
1123
1125
  src: accountIcon,
1124
1126
  alt: "account-icon",
1125
1127
  width: 20,
1126
1128
  height: 20
1127
- }), isVip && /*#__PURE__*/React__default.createElement("img", {
1128
- src: vipIcon,
1129
- alt: "vip-icon",
1130
- className: "navbar__vip-icon",
1129
+ }), isEarlyAccess && /*#__PURE__*/React__default.createElement("img", {
1130
+ src: earlyAccessIcon,
1131
+ alt: "loyalty-icon",
1132
+ className: "navbar__loyalty-icon",
1133
+ width: 16,
1134
+ height: 16
1135
+ }), isExclusive && /*#__PURE__*/React__default.createElement("img", {
1136
+ src: exclusiveIcon,
1137
+ alt: "loyalty-icon",
1138
+ className: "navbar__loyalty-icon",
1131
1139
  width: 16,
1132
1140
  height: 16
1133
1141
  })), name && /*#__PURE__*/React__default.createElement("button", {
@@ -1154,7 +1162,7 @@
1154
1162
  alt: "cart-icon",
1155
1163
  width: 20,
1156
1164
  height: 20
1157
- }), shop && /*#__PURE__*/React__default.createElement("div", {
1165
+ }), shop && cartCount > 0 && /*#__PURE__*/React__default.createElement("div", {
1158
1166
  className: "navbar__cart-count"
1159
1167
  }, cartCount))), /*#__PURE__*/React__default.createElement("nav", {
1160
1168
  className: "navbar__nav-links"
@@ -9718,11 +9718,12 @@
9718
9718
  var _data$data$user = data.data.user,
9719
9719
  email_interest_send_schedule = _data$data$user.email_interest_send_schedule,
9720
9720
  whatsapp_interest_send_schedule = _data$data$user.whatsapp_interest_send_schedule,
9721
- vip = _data$data$user.vip;
9721
+ is_early_access = _data$data$user.is_early_access,
9722
+ is_exclusive = _data$data$user.is_exclusive;
9722
9723
 
9723
9724
  _this.setState({
9724
9725
  options: options,
9725
- isVip: vip,
9726
+ canReceiveWhatsAppNotifications: is_early_access || is_exclusive,
9726
9727
  emailSelectedOption: options.find(function (item) {
9727
9728
  return item.value === email_interest_send_schedule;
9728
9729
  }),
@@ -9737,7 +9738,7 @@
9737
9738
  options = _this$state.options,
9738
9739
  emailSelectedOption = _this$state.emailSelectedOption,
9739
9740
  whatsappSelectedOption = _this$state.whatsappSelectedOption,
9740
- isVip = _this$state.isVip,
9741
+ canReceiveWhatsAppNotifications = _this$state.canReceiveWhatsAppNotifications,
9741
9742
  updating = _this$state.request.fetching;
9742
9743
  return /*#__PURE__*/React__default.createElement(NotifyContainer, null, /*#__PURE__*/React__default.createElement(LuxityNotifications, null), /*#__PURE__*/React__default.createElement(LuxityPageReady, {
9743
9744
  getRequestPromise: _this.props.getSchedule,
@@ -9746,7 +9747,7 @@
9746
9747
  }
9747
9748
  }, /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
9748
9749
  className: "notification-settings"
9749
- }, isVip && /*#__PURE__*/React__default.createElement("div", {
9750
+ }, canReceiveWhatsAppNotifications && /*#__PURE__*/React__default.createElement("div", {
9750
9751
  className: "notification-row-wrapper"
9751
9752
  }, /*#__PURE__*/React__default.createElement("div", {
9752
9753
  className: "notification-dropdown-label"
@@ -9791,7 +9792,7 @@
9791
9792
  options: [],
9792
9793
  emailSelectedOption: null,
9793
9794
  whatsappSelectedOption: null,
9794
- isVip: false,
9795
+ canReceiveWhatsAppNotifications: false,
9795
9796
  request: _objectSpread2({}, request)
9796
9797
  };
9797
9798
  return _this;
@@ -1310,7 +1310,8 @@
1310
1310
  LinkComponent = _ref.LinkComponent,
1311
1311
  shop = _ref.shop,
1312
1312
  app = _ref.app,
1313
- categoryConfig = _ref.categoryConfig;
1313
+ categoryConfig = _ref.categoryConfig,
1314
+ name = _ref.name;
1314
1315
 
1315
1316
  var _useSearch = useSearch({
1316
1317
  endpoint: endpoint,
@@ -1486,6 +1487,14 @@
1486
1487
  var handleBlogClick = onBlogClick ? function () {
1487
1488
  return handleClick(onBlogClick);
1488
1489
  } : undefined;
1490
+
1491
+ var getInitials = function getInitials(fullName) {
1492
+ if (!fullName) return '';
1493
+ return fullName.split(' ').map(function (n) {
1494
+ return n[0];
1495
+ }).join('').slice(0, 2);
1496
+ };
1497
+
1489
1498
  return /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
1490
1499
  className: "navbar navbar__mobile-wrapper"
1491
1500
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -1531,9 +1540,20 @@
1531
1540
  alt: "cart-icon",
1532
1541
  width: 20,
1533
1542
  height: 20
1534
- }), shop && /*#__PURE__*/React__default.createElement("div", {
1543
+ }), shop && cartCount > 0 && /*#__PURE__*/React__default.createElement("div", {
1535
1544
  className: "navbar__cart-count"
1536
- }, cartCount))))), showSearchBar && /*#__PURE__*/React__default.createElement("div", {
1545
+ }, cartCount)), shop && /*#__PURE__*/React__default.createElement("button", {
1546
+ type: "button",
1547
+ className: "navbar__icon",
1548
+ onClick: handleAccountClick
1549
+ }, name ? /*#__PURE__*/React__default.createElement("div", {
1550
+ className: "navbar__account-initials"
1551
+ }, getInitials(name)) : /*#__PURE__*/React__default.createElement("img", {
1552
+ src: accountIcon,
1553
+ alt: "account-icon",
1554
+ width: 20,
1555
+ height: 20
1556
+ }))))), showSearchBar && /*#__PURE__*/React__default.createElement("div", {
1537
1557
  className: "navbar__search-container"
1538
1558
  }, /*#__PURE__*/React__default.createElement("div", {
1539
1559
  className: "navbar__product-search-wrapper"
@@ -9718,11 +9718,12 @@
9718
9718
  var _data$data$user = data.data.user,
9719
9719
  email_interest_send_schedule = _data$data$user.email_interest_send_schedule,
9720
9720
  whatsapp_interest_send_schedule = _data$data$user.whatsapp_interest_send_schedule,
9721
- vip = _data$data$user.vip;
9721
+ is_early_access = _data$data$user.is_early_access,
9722
+ is_exclusive = _data$data$user.is_exclusive;
9722
9723
 
9723
9724
  _this.setState({
9724
9725
  options: options,
9725
- isVip: vip,
9726
+ canReceiveWhatsAppNotifications: is_early_access || is_exclusive,
9726
9727
  emailSelectedOption: options.find(function (item) {
9727
9728
  return item.value === email_interest_send_schedule;
9728
9729
  }),
@@ -9737,7 +9738,7 @@
9737
9738
  options = _this$state.options,
9738
9739
  emailSelectedOption = _this$state.emailSelectedOption,
9739
9740
  whatsappSelectedOption = _this$state.whatsappSelectedOption,
9740
- isVip = _this$state.isVip,
9741
+ canReceiveWhatsAppNotifications = _this$state.canReceiveWhatsAppNotifications,
9741
9742
  updating = _this$state.request.fetching;
9742
9743
  return /*#__PURE__*/React__default.createElement(NotifyContainer, null, /*#__PURE__*/React__default.createElement(LuxityNotifications, null), /*#__PURE__*/React__default.createElement(LuxityPageReady, {
9743
9744
  getRequestPromise: _this.props.getSchedule,
@@ -9746,7 +9747,7 @@
9746
9747
  }
9747
9748
  }, /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
9748
9749
  className: "notification-settings"
9749
- }, isVip && /*#__PURE__*/React__default.createElement("div", {
9750
+ }, canReceiveWhatsAppNotifications && /*#__PURE__*/React__default.createElement("div", {
9750
9751
  className: "notification-row-wrapper"
9751
9752
  }, /*#__PURE__*/React__default.createElement("div", {
9752
9753
  className: "notification-dropdown-label"
@@ -9791,7 +9792,7 @@
9791
9792
  options: [],
9792
9793
  emailSelectedOption: null,
9793
9794
  whatsappSelectedOption: null,
9794
- isVip: false,
9795
+ canReceiveWhatsAppNotifications: false,
9795
9796
  request: _objectSpread2({}, request)
9796
9797
  };
9797
9798
  return _this;
package/ModelSelector.js CHANGED
@@ -9718,11 +9718,12 @@
9718
9718
  var _data$data$user = data.data.user,
9719
9719
  email_interest_send_schedule = _data$data$user.email_interest_send_schedule,
9720
9720
  whatsapp_interest_send_schedule = _data$data$user.whatsapp_interest_send_schedule,
9721
- vip = _data$data$user.vip;
9721
+ is_early_access = _data$data$user.is_early_access,
9722
+ is_exclusive = _data$data$user.is_exclusive;
9722
9723
 
9723
9724
  _this.setState({
9724
9725
  options: options,
9725
- isVip: vip,
9726
+ canReceiveWhatsAppNotifications: is_early_access || is_exclusive,
9726
9727
  emailSelectedOption: options.find(function (item) {
9727
9728
  return item.value === email_interest_send_schedule;
9728
9729
  }),
@@ -9737,7 +9738,7 @@
9737
9738
  options = _this$state.options,
9738
9739
  emailSelectedOption = _this$state.emailSelectedOption,
9739
9740
  whatsappSelectedOption = _this$state.whatsappSelectedOption,
9740
- isVip = _this$state.isVip,
9741
+ canReceiveWhatsAppNotifications = _this$state.canReceiveWhatsAppNotifications,
9741
9742
  updating = _this$state.request.fetching;
9742
9743
  return /*#__PURE__*/React__default.createElement(NotifyContainer, null, /*#__PURE__*/React__default.createElement(LuxityNotifications, null), /*#__PURE__*/React__default.createElement(LuxityPageReady, {
9743
9744
  getRequestPromise: _this.props.getSchedule,
@@ -9746,7 +9747,7 @@
9746
9747
  }
9747
9748
  }, /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
9748
9749
  className: "notification-settings"
9749
- }, isVip && /*#__PURE__*/React__default.createElement("div", {
9750
+ }, canReceiveWhatsAppNotifications && /*#__PURE__*/React__default.createElement("div", {
9750
9751
  className: "notification-row-wrapper"
9751
9752
  }, /*#__PURE__*/React__default.createElement("div", {
9752
9753
  className: "notification-dropdown-label"
@@ -9791,7 +9792,7 @@
9791
9792
  options: [],
9792
9793
  emailSelectedOption: null,
9793
9794
  whatsappSelectedOption: null,
9794
- isVip: false,
9795
+ canReceiveWhatsAppNotifications: false,
9795
9796
  request: _objectSpread2({}, request)
9796
9797
  };
9797
9798
  return _this;
@@ -7025,11 +7025,12 @@
7025
7025
  var _data$data$user = data.data.user,
7026
7026
  email_interest_send_schedule = _data$data$user.email_interest_send_schedule,
7027
7027
  whatsapp_interest_send_schedule = _data$data$user.whatsapp_interest_send_schedule,
7028
- vip = _data$data$user.vip;
7028
+ is_early_access = _data$data$user.is_early_access,
7029
+ is_exclusive = _data$data$user.is_exclusive;
7029
7030
 
7030
7031
  _this.setState({
7031
7032
  options: options,
7032
- isVip: vip,
7033
+ canReceiveWhatsAppNotifications: is_early_access || is_exclusive,
7033
7034
  emailSelectedOption: options.find(function (item) {
7034
7035
  return item.value === email_interest_send_schedule;
7035
7036
  }),
@@ -7044,7 +7045,7 @@
7044
7045
  options = _this$state.options,
7045
7046
  emailSelectedOption = _this$state.emailSelectedOption,
7046
7047
  whatsappSelectedOption = _this$state.whatsappSelectedOption,
7047
- isVip = _this$state.isVip,
7048
+ canReceiveWhatsAppNotifications = _this$state.canReceiveWhatsAppNotifications,
7048
7049
  updating = _this$state.request.fetching;
7049
7050
  return /*#__PURE__*/React__default.createElement(NotifyContainer, null, /*#__PURE__*/React__default.createElement(LuxityNotifications, null), /*#__PURE__*/React__default.createElement(LuxityPageReady, {
7050
7051
  getRequestPromise: _this.props.getSchedule,
@@ -7053,7 +7054,7 @@
7053
7054
  }
7054
7055
  }, /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
7055
7056
  className: "notification-settings"
7056
- }, isVip && /*#__PURE__*/React__default.createElement("div", {
7057
+ }, canReceiveWhatsAppNotifications && /*#__PURE__*/React__default.createElement("div", {
7057
7058
  className: "notification-row-wrapper"
7058
7059
  }, /*#__PURE__*/React__default.createElement("div", {
7059
7060
  className: "notification-dropdown-label"
@@ -7098,7 +7099,7 @@
7098
7099
  options: [],
7099
7100
  emailSelectedOption: null,
7100
7101
  whatsappSelectedOption: null,
7101
- isVip: false,
7102
+ canReceiveWhatsAppNotifications: false,
7102
7103
  request: _objectSpread2({}, request)
7103
7104
  };
7104
7105
  return _this;
@@ -0,0 +1,3 @@
1
+ bundle.css
2
+ bundle.js
3
+ constants.js
File without changes
package/build/bundle.css CHANGED
@@ -1 +1 @@
1
- .side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;justify-content:space-between;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{font-size:14px;font-weight:700;line-height:20px;text-transform:uppercase}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}.navbar{box-shadow:2px 2px 10px #dfdede;display:flex;padding-bottom:10px;padding-top:20px;position:relative}.navbar__link-item--desktop{align-items:center;display:flex;height:35px;margin:auto 0;padding-top:5px}.navbar__mobile-wrapper{align-items:center;display:flex;flex-direction:column;padding-bottom:20px;padding-left:32px;padding-right:32px}.navbar__container{display:flex;margin:0 auto;max-width:1280px;padding-left:12px;padding-right:12px;width:100%}.navbar__body{flex-basis:60%}.navbar__wrapper{align-items:center;display:flex;justify-content:space-between;width:100%}.navbar__product-search-wrapper{align-items:center;display:flex;justify-content:center;padding:0 20%;width:100%}@media only screen and (max-width:879px){.navbar__product-search-wrapper{padding:0}}.navbar__search-container{width:100%}.navbar__input-close-icon{height:auto;margin-bottom:10px;margin-left:10px;width:20px}@media only screen and (max-width:879px){.navbar__input-close-icon{margin-bottom:0;margin-left:0;width:15px}}.navbar__menu-icon{width:30px}.navbar__product-search{align-items:center;display:flex;max-width:545px;width:100%}.navbar__logo-wrapper{margin-right:18px;width:200px}.navbar__logo{width:200px}@media only screen and (max-width:879px){.navbar__logo{margin-left:10px;margin-top:5px;width:125px}}.navbar__form-input{align-items:center;background:transparent;border:none;display:flex;font-size:13px;outline:none;padding:8px;width:100%}.navbar__product-search{border:1px solid #dfdede;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__product-search{border:none;border-bottom:1px solid #dfdede;margin-bottom:0;margin-right:10px;margin-top:10px}}.navbar__section{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between;width:100%}.navbar__link{display:inline-block;font-family:Martel Sans;font-size:14px;font-weight:700;margin-right:10px;overflow:hidden;text-transform:uppercase;transition:.3s ease-in-out}.navbar__link:after{background-color:#000;content:"";display:block;height:2px;transition:width .25s ease-out;width:0}.navbar__link:hover:after{width:100%}.navbar__link:hover .navbar__dropdown{animation:fadeInDropdown .3s ease-in-out;display:block}.navbar__dropdown{background-color:#fff;box-shadow:5px 5px 5px #dfdede;display:none;left:0;position:absolute;width:100%;z-index:999}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar__company-link{font-size:13px;font-weight:400;list-style:none;margin-left:18px;text-decoration:none}.navbar__company-block{align-items:center;background-color:#000;color:#fff;display:flex;font-weight:700;height:33px;justify-content:center;margin-right:0;padding:0 18px;text-transform:uppercase}.navbar__input-search-icon{height:auto;margin-left:1.125rem;margin-right:.375rem;width:15px}.navbar__nav-links{align-items:center;display:flex}.navbar__nav-links--wrap{flex-wrap:wrap}.navbar__icons{align-items:center;display:flex;height:40px;justify-content:flex-end;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__icons{display:block;height:20px;margin-bottom:0}}.navbar__icon{cursor:pointer;height:auto;margin-right:18px;width:20px}@media only screen and (max-width:879px){.navbar__icon{margin-right:0}}.navbar__icon--app{cursor:pointer;height:auto;margin-left:12px;width:20px}@media only screen and (max-width:879px){.navbar__icon--app{margin-right:0}}.navbar__vip-icon{height:16px;position:absolute;right:-12px;top:-4px;width:16px}.navbar__cart-icon{position:relative}.navbar__cart-count{align-items:center;background-color:#000;border-radius:50%;bottom:50%;color:#fff;display:flex;font-size:13px;height:20px;justify-content:center;left:100%;position:absolute;width:20px}@charset "UTF-8";.currency-select-container{align-items:center;display:flex;margin-right:18px;position:relative}.currency-select-container .currency-flag{margin-right:5px}.currency-select-container .currency-flag img{height:15px;-o-object-fit:cover;object-fit:cover;width:20px}.currency-select-container .currency-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:transparent;border:none;color:#000;cursor:pointer;font-family:inherit;font-size:14px;margin:0;outline:none;padding:5px 15px 5px 5px}.currency-select-container .currency-select::-ms-expand{display:none}.currency-select-container .currency-select:focus{box-shadow:none;outline:none}.currency-select-container .currency-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.currency-select-container:after{color:#000;content:"▼";font-size:10px;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%)}@media only screen and (max-width:879px){.currency-select-container .currency-select{appearance:menulist;-webkit-appearance:menulist;-moz-appearance:menulist;padding-right:0}.currency-select-container:after{display:none}}.currency-select-container.disabled{cursor:not-allowed;opacity:.7}.currency-select-container.disabled .currency-select{pointer-events:none}.footer__newsletter-section{align-items:center;background-color:#000;color:#fff;display:flex;justify-content:space-between;padding:2.265rem 0}@media only screen and (max-width:879px){.footer__newsletter-section{flex-direction:column}}.footer__newsletter-wrapper{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__newsletter-wrapper{flex-direction:column}.footer__link-container{flex-basis:50%}}.footer__newsletter-icon{height:30px;position:absolute;right:0;top:0;width:32px}.footer__newsletter-form{flex-basis:50%;max-width:250px;position:relative}@media only screen and (max-width:879px){.footer__newsletter-form{display:block;margin-top:20px;max-width:100%;width:100%}}.footer__newsletter-title{font-family:Martel Sans,sans-serif;font-size:14px;font-weight:700;letter-spacing:3px;margin-bottom:1.125rem;text-transform:uppercase}.footer__newsletter-text{font-size:14px}.footer__form-input{background-color:#000;border:none;border-bottom:1px solid #fff;color:#fff;height:30px;outline:none;width:100%}.footer__form-input::-moz-placeholder{color:#fff;font-weight:400}.footer__form-input::placeholder{color:#fff;font-weight:400}.footer__form-errors{color:#fff;margin-top:5px}.footer__main-section{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:50px;margin-top:80px}.footer__link-title{font-family:El Messiri;font-size:16px;font-weight:700;margin-bottom:20px;text-transform:uppercase}@media only screen and (max-width:879px){.footer__link-title{margin-bottom:10px}}.footer__link-child{margin-top:25px}.footer__links{display:flex;flex-direction:column}.footer__link{color:#939393;cursor:pointer;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:7px;text-align:left;text-decoration:none}.footer__link:hover{color:#000;text-decoration:underline}@media only screen and (max-width:879px){.footer__link{margin-bottom:10px}}.footer__link-wrapper{align-items:center;display:flex;gap:5px}.footer__link-icon{height:30px;margin-bottom:18px}.footer__text{color:#939393;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:15px;text-align:left;text-decoration:none}.footer__store-hours{margin-top:35px}.footer__copyrights-section{border-top:1px solid;display:flex;justify-content:space-between;padding-bottom:20px;padding-top:20px}.footer__logo{height:30px;width:135px}.footer__payment-icons{align-items:center;display:flex;gap:8px}.footer__wrapper{margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__wrapper{padding:32px 0 0 24px}}.footer__wrapper--desktop{display:block}@media only screen and (max-width:879px){.footer__wrapper--desktop{display:none}}.footer__wrapper--mobile{display:none}@media only screen and (max-width:879px){.footer__wrapper--mobile{display:block;padding-top:30px}}.footer__copyright{font-size:10px;line-height:22px}.footer__copyright--mobile{display:none}@media only screen and (max-width:879px){.footer__copyright--mobile{display:block;padding:30px 10px 30px 0;text-align:center}}.footer__section-row{display:flex;gap:50%}@media only screen and (max-width:879px){.footer__section-row{gap:unset}}.interests__add-button{display:flex;flex-direction:row;gap:10px;width:100%}@media only screen and (max-width:879px){.interests__add-button{flex-direction:column}}.interests__section-wrapper{display:flex;flex-direction:column;width:100%}.interests__select-option{display:flex;flex-direction:column;margin-bottom:15px}.interests__title{font-family:El Messiri;font-size:16px;margin-bottom:10px}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{align-items:center;display:flex;font-size:14px;font-weight:700;justify-content:center;line-height:20px;text-transform:uppercase}.side-nav__menu-icon{display:flex;height:25px;margin-right:10px;width:25px}.side-nav__menu-divider{margin-bottom:40px}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}.stores-dropdown{align-items:flex-start;display:flex;font-family:Martel Sans;gap:20px;margin-left:auto;margin-right:auto;max-width:1280px;overflow-x:auto;padding:20px 15px}.stores-dropdown__image{height:200px;-o-object-fit:cover;object-fit:cover;width:100%}.stores-dropdown__store-details{flex-basis:20%}.stores-dropdown__title{font-family:El Messiri}.stores-dropdown__main-title,.stores-dropdown__title{font-size:16px;font-weight:400;letter-spacing:3px;margin-top:20px}.stores-dropdown__main-title{font-weight:700;margin-bottom:10px}.stores-dropdown__open-days{font-size:12px;font-weight:700;line-height:20px}.stores-dropdown__open-hours{font-size:12px;font-weight:400;line-height:20px}.stores-dropdown__queries-title{font-family:El Messiri;font-size:16px;font-weight:400;letter-spacing:3px}.stores-dropdown__contact-details{font-size:16px;font-weight:700}.stores-dropdown__view-more{cursor:pointer;font-size:14px;font-weight:400;margin-top:10px;text-transform:capitalize}.search-results{background:#fff;border:1px solid #dfdede;border-radius:2px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;position:absolute;width:770px;z-index:50}@media only screen and (max-width:1052px){.search-results{border:none;box-shadow:none;flex-direction:column;left:0;right:0;top:100%;width:100%}}.search-results__section:first-child{border-right:1px solid #dfdede;flex:1;min-width:240px}.search-results__section:last-child{display:flex;flex:2;flex-direction:column}.search-results__section-header{align-items:center;display:flex;justify-content:space-between}.search-results__header{color:#000;font-family:Martel Sans;font-size:14px;font-weight:600;margin-bottom:0;padding:16px 20px;text-transform:uppercase}.search-results__view-all-link{display:none}@media only screen and (max-width:879px){.search-results__view-all-link{color:#000;display:block;font-family:Martel Sans;font-size:14px;margin-right:20px}}.search-results__list{display:flex;flex-direction:column}.search-results__item{color:grey;font-family:Martel Sans;font-size:14px;padding:8px 20px;text-decoration:none}.search-results__product-list{display:flex;flex-direction:column;overflow-y:auto}.product-card{color:inherit;display:flex;padding:12px 20px;text-decoration:none;transition:background-color .15s ease}.product-card:hover{background-color:#f4f4f4}.product-card__image-container{border-radius:2px;flex-shrink:0;height:90px;margin-right:16px;overflow:hidden;width:90px}.product-card__image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.product-card__details{display:flex;flex:1;flex-direction:column}.product-card__name{color:#000;font-family:Martel Sans;font-size:14px;line-height:1.4;margin-bottom:24px}.product-card__brand-name{font-weight:600}.product-card__info-row{align-items:flex-end;display:flex;justify-content:space-between}@media only screen and (max-width:879px){.product-card__info-row{align-items:flex-start;flex-direction:column}}.product-card__price-group{display:flex;flex-direction:column;gap:4px}.product-card__price{color:#000;font-family:Martel Sans;font-size:14px;font-weight:600;line-height:1}.product-card__retail-price{color:#939393;font-family:Martel Sans;font-size:14px;text-decoration:line-through}.product-card__condition{color:#000;font-family:Martel Sans;font-size:13px;margin-right:20px;text-align:right}.product-card__condition-label{color:#939393;margin-right:4px}.search-results__view-all-button{background-color:#f5f0ea!important;border:none;color:#000;cursor:pointer;font-family:Martel Sans;font-size:13px;font-weight:400;padding:16px;text-align:center}@media only screen and (max-width:879px){.search-results__view-all-button{display:none}}.dropdown{display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:1280px;min-height:500px;overflow-x:auto;padding:20px 0}.dropdown__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center;min-height:300px}.dropdown__column{flex:1;padding-left:12px}.dropdown__column:nth-child(2){flex:2}.dropdown__title{font-family:El Messiri;font-size:16px;font-weight:700;letter-spacing:3px;line-height:1;margin-bottom:20px;text-transform:uppercase}.dropdown__elements{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:800px;overflow-y:auto}.dropdown__brand-elements{-moz-column-count:3;column-count:3;max-height:800px}.dropdown__brand-element{cursor:pointer;margin-bottom:10px}.dropdown__element{flex-basis:33.33%;font-family:Martel Sans;font-size:14px;font-weight:400;margin-bottom:10px;text-transform:capitalize}.cover-spinner{align-items:center;background-color:hsla(0,0%,100%,.7);display:flex;height:100%;justify-content:center;min-height:400px;position:relative;top:50%;width:100%;z-index:9999}.cover-spinner:after{animation:spin 1.5s linear infinite;border:4px dotted #000;border-radius:50%;border-top-color:transparent;content:"";display:block;height:40px;position:absolute;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
1
+ .interests__add-button{display:flex;flex-direction:row;gap:10px;width:100%}@media only screen and (max-width:879px){.interests__add-button{flex-direction:column}}.interests__section-wrapper{display:flex;flex-direction:column;width:100%}.interests__select-option{display:flex;flex-direction:column;margin-bottom:15px}.interests__title{font-family:El Messiri;font-size:16px;margin-bottom:10px}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;justify-content:space-between;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{font-size:14px;font-weight:700;line-height:20px;text-transform:uppercase}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}.footer__newsletter-section{align-items:center;background-color:#000;color:#fff;display:flex;justify-content:space-between;padding:2.265rem 0}@media only screen and (max-width:879px){.footer__newsletter-section{flex-direction:column}}.footer__newsletter-wrapper{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__newsletter-wrapper{flex-direction:column}.footer__link-container{flex-basis:50%}}.footer__newsletter-icon{height:30px;position:absolute;right:0;top:0;width:32px}.footer__newsletter-form{flex-basis:50%;max-width:250px;position:relative}@media only screen and (max-width:879px){.footer__newsletter-form{display:block;margin-top:20px;max-width:100%;width:100%}}.footer__newsletter-title{font-family:Martel Sans,sans-serif;font-size:14px;font-weight:700;letter-spacing:3px;margin-bottom:1.125rem;text-transform:uppercase}.footer__newsletter-text{font-size:14px}.footer__form-input{background-color:#000;border:none;border-bottom:1px solid #fff;color:#fff;height:30px;outline:none;width:100%}.footer__form-input::-moz-placeholder{color:#fff;font-weight:400}.footer__form-input::placeholder{color:#fff;font-weight:400}.footer__form-errors{color:#fff;margin-top:5px}.footer__main-section{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:50px;margin-top:80px}.footer__link-title{font-family:El Messiri;font-size:16px;font-weight:700;margin-bottom:20px;text-transform:uppercase}@media only screen and (max-width:879px){.footer__link-title{margin-bottom:10px}}.footer__link-child{margin-top:25px}.footer__links{display:flex;flex-direction:column}.footer__link{color:#939393;cursor:pointer;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:7px;text-align:left;text-decoration:none}.footer__link:hover{color:#000;text-decoration:underline}@media only screen and (max-width:879px){.footer__link{margin-bottom:10px}}.footer__link-wrapper{align-items:center;display:flex;gap:5px}.footer__link-icon{height:30px;margin-bottom:18px}.footer__text{color:#939393;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:15px;text-align:left;text-decoration:none}.footer__store-hours{margin-top:35px}.footer__copyrights-section{border-top:1px solid;display:flex;justify-content:space-between;padding-bottom:20px;padding-top:20px}.footer__logo{height:30px;width:135px}.footer__payment-icons{align-items:center;display:flex;gap:8px}.footer__wrapper{margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__wrapper{padding:32px 0 0 24px}}.footer__wrapper--desktop{display:block}@media only screen and (max-width:879px){.footer__wrapper--desktop{display:none}}.footer__wrapper--mobile{display:none}@media only screen and (max-width:879px){.footer__wrapper--mobile{display:block;padding-top:30px}}.footer__copyright{font-size:10px;line-height:22px}.footer__copyright--mobile{display:none}@media only screen and (max-width:879px){.footer__copyright--mobile{display:block;padding:30px 10px 30px 0;text-align:center}}.footer__section-row{display:flex;gap:50%}@media only screen and (max-width:879px){.footer__section-row{gap:unset}}.navbar{box-shadow:2px 2px 10px #dfdede;display:flex;padding-bottom:10px;padding-top:20px;position:relative}@media only screen and (max-width:879px){.navbar{padding-top:12px}}.navbar__link-item--desktop{align-items:center;display:flex;height:35px;margin:auto 0;padding-top:5px}.navbar__mobile-wrapper{align-items:center;display:flex;flex-direction:column;padding-left:16px;padding-right:16px}.navbar__container{display:flex;margin:0 auto;max-width:1280px;padding-left:12px;padding-right:12px;width:100%}.navbar__body{flex-basis:60%}.navbar__wrapper{align-items:center;display:flex;gap:10px;justify-content:flex-start;width:100%}@media only screen and (max-width:879px){.navbar__wrapper .navbar__menu-icon-wrapper{margin-right:10px}.navbar__wrapper .navbar__logo{margin-left:0;margin-right:auto}.navbar__wrapper .navbar__icons-wrapper{align-items:center;display:flex;gap:20px;margin-left:auto}.navbar__wrapper .navbar__icons{align-items:center;display:flex;gap:20px;margin:0}.navbar__wrapper .navbar__icon{margin:0}}.navbar__product-search-wrapper{align-items:center;display:flex;justify-content:center;padding:0 20%;width:100%}@media only screen and (max-width:879px){.navbar__product-search-wrapper{padding:0}}.navbar__search-container{width:100%}.navbar__input-close-icon{height:auto;margin-bottom:10px;margin-left:10px;width:20px}@media only screen and (max-width:879px){.navbar__input-close-icon{margin-bottom:0;margin-left:0;width:15px}}.navbar__menu-icon{width:20px}.navbar__product-search{align-items:center;display:flex;max-width:545px;width:100%}.navbar__logo-wrapper{margin-right:18px;width:200px}.navbar__logo{width:200px}@media only screen and (max-width:879px){.navbar__logo{margin-left:10px;margin-top:5px;width:150px}}.navbar__form-input{align-items:center;background:transparent;border:none;display:flex;font-size:13px;outline:none;padding:8px;width:100%}.navbar__product-search{border:1px solid #dfdede;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__product-search{border:none;border-bottom:1px solid #dfdede;margin-bottom:0;margin-right:10px;margin-top:10px}}.navbar__section{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between;width:100%}.navbar__link{display:inline-block;font-family:Martel Sans;font-size:14px;font-weight:700;margin-right:10px;overflow:hidden;text-transform:uppercase;transition:.3s ease-in-out}.navbar__link:after{background-color:#000;content:"";display:block;height:2px;transition:width .25s ease-out;width:0}.navbar__link:hover:after{width:100%}.navbar__link:hover .navbar__dropdown{animation:fadeInDropdown .3s ease-in-out;display:block}.navbar__dropdown{background-color:#fff;box-shadow:5px 5px 5px #dfdede;display:none;left:0;position:absolute;width:100%;z-index:999}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar__company-link{font-size:13px;font-weight:400;list-style:none;margin-left:18px;text-decoration:none}.navbar__company-block{align-items:center;background-color:#000;color:#fff;display:flex;font-weight:700;height:33px;justify-content:center;margin-right:0;padding:0 18px;text-transform:uppercase}.navbar__input-search-icon{height:auto;margin-left:1.125rem;margin-right:.375rem;width:15px}.navbar__nav-links{align-items:center;display:flex}.navbar__nav-links--wrap{flex-wrap:wrap}.navbar__icons{align-items:center;display:flex;height:40px;justify-content:flex-end;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__icons{display:block;height:20px;margin-bottom:0}}.navbar__icon{cursor:pointer;height:auto;margin-right:18px;width:20px}.navbar__icon.navbar__cart-icon{margin-right:0}.navbar__icon--app{cursor:pointer;height:auto;margin-left:12px;width:20px}@media only screen and (max-width:879px){.navbar__icon--app{margin-right:0}}.navbar__loyalty-icon{height:18px;position:absolute;right:-14px;top:-6px;width:18px}.navbar__cart-icon{position:relative}.navbar__cart-count{bottom:50%;font-size:13px;height:20px;left:60%;position:absolute;width:20px}.navbar__account-initials,.navbar__cart-count{align-items:center;background-color:#f2eeeb;border-radius:50%;color:#000;display:flex;justify-content:center}.navbar__account-initials{font-size:11px;font-weight:500;height:24px;text-transform:uppercase;width:24px}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{align-items:center;display:flex;font-size:14px;font-weight:700;justify-content:center;line-height:20px;text-transform:uppercase}.side-nav__menu-icon{display:flex;height:25px;margin-right:10px;width:25px}.side-nav__menu-divider{margin-bottom:40px}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}@charset "UTF-8";.currency-select-container{align-items:center;display:flex;margin-right:18px;position:relative}.currency-select-container .currency-flag{margin-right:5px}.currency-select-container .currency-flag img{height:15px;-o-object-fit:cover;object-fit:cover;width:20px}.currency-select-container .currency-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:transparent;border:none;color:#000;cursor:pointer;font-family:inherit;font-size:14px;margin:0;outline:none;padding:5px 15px 5px 5px}.currency-select-container .currency-select::-ms-expand{display:none}.currency-select-container .currency-select:focus{box-shadow:none;outline:none}.currency-select-container .currency-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.currency-select-container:after{color:#000;content:"▼";font-size:10px;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%)}@media only screen and (max-width:879px){.currency-select-container .currency-select{appearance:menulist;-webkit-appearance:menulist;-moz-appearance:menulist;padding-right:0}.currency-select-container:after{display:none}}.currency-select-container.disabled{cursor:not-allowed;opacity:.7}.currency-select-container.disabled .currency-select{pointer-events:none}.stores-dropdown{align-items:flex-start;display:flex;font-family:Martel Sans;gap:20px;margin-left:auto;margin-right:auto;max-width:1280px;overflow-x:auto;padding:20px 15px}.stores-dropdown__image{height:200px;-o-object-fit:cover;object-fit:cover;width:100%}.stores-dropdown__store-details{flex-basis:20%}.stores-dropdown__title{font-family:El Messiri}.stores-dropdown__main-title,.stores-dropdown__title{font-size:16px;font-weight:400;letter-spacing:3px;margin-top:20px}.stores-dropdown__main-title{font-weight:700;margin-bottom:10px}.stores-dropdown__open-days{font-size:12px;font-weight:700;line-height:20px}.stores-dropdown__open-hours{font-size:12px;font-weight:400;line-height:20px}.stores-dropdown__queries-title{font-family:El Messiri;font-size:16px;font-weight:400;letter-spacing:3px}.stores-dropdown__contact-details{font-size:16px;font-weight:700}.stores-dropdown__view-more{cursor:pointer;font-size:14px;font-weight:400;margin-top:10px;text-transform:capitalize}.search-results{background:#fff;border:1px solid #dfdede;border-radius:2px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;position:absolute;width:770px;z-index:50}@media only screen and (max-width:1052px){.search-results{border:none;box-shadow:none;flex-direction:column;left:0;right:0;top:100%;width:100%}}.search-results__section:first-child{border-right:1px solid #dfdede;flex:1;min-width:240px}.search-results__section:last-child{display:flex;flex:2;flex-direction:column}.search-results__section-header{align-items:center;display:flex;justify-content:space-between}.search-results__header{color:#000;font-family:Martel Sans;font-size:14px;font-weight:600;margin-bottom:0;padding:16px 20px;text-transform:uppercase}.search-results__view-all-link{display:none}@media only screen and (max-width:879px){.search-results__view-all-link{color:#000;display:block;font-family:Martel Sans;font-size:14px;margin-right:20px}}.search-results__list{display:flex;flex-direction:column}.search-results__item{color:grey;font-family:Martel Sans;font-size:14px;padding:8px 20px;text-decoration:none}.search-results__product-list{display:flex;flex-direction:column;overflow-y:auto}.product-card{color:inherit;display:flex;padding:12px 20px;text-decoration:none;transition:background-color .15s ease}.product-card:hover{background-color:#f4f4f4}.product-card__image-container{border-radius:2px;flex-shrink:0;height:90px;margin-right:16px;overflow:hidden;width:90px}.product-card__image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.product-card__details{display:flex;flex:1;flex-direction:column}.product-card__name{color:#000;font-family:Martel Sans;font-size:14px;line-height:1.4;margin-bottom:24px}.product-card__brand-name{font-weight:600}.product-card__info-row{align-items:flex-end;display:flex;justify-content:space-between}@media only screen and (max-width:879px){.product-card__info-row{align-items:flex-start;flex-direction:column}}.product-card__price-group{display:flex;flex-direction:column;gap:4px}.product-card__price{color:#000;font-family:Martel Sans;font-size:14px;font-weight:600;line-height:1}.product-card__retail-price{color:#939393;font-family:Martel Sans;font-size:14px;text-decoration:line-through}.product-card__condition{color:#000;font-family:Martel Sans;font-size:13px;margin-right:20px;text-align:right}.product-card__condition-label{color:#939393;margin-right:4px}.search-results__view-all-button{background-color:#f5f0ea!important;border:none;color:#000;cursor:pointer;font-family:Martel Sans;font-size:13px;font-weight:400;padding:16px;text-align:center}@media only screen and (max-width:879px){.search-results__view-all-button{display:none}}.dropdown{display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:1280px;min-height:500px;overflow-x:auto;padding:20px 0}.dropdown__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center;min-height:300px}.dropdown__column{flex:1;padding-left:12px}.dropdown__column:nth-child(2){flex:2}.dropdown__title{font-family:El Messiri;font-size:16px;font-weight:700;letter-spacing:3px;line-height:1;margin-bottom:20px;text-transform:uppercase}.dropdown__elements{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:800px;overflow-y:auto}.dropdown__brand-elements{-moz-column-count:3;column-count:3;max-height:800px}.dropdown__brand-element{cursor:pointer;margin-bottom:10px}.dropdown__element{flex-basis:33.33%;font-family:Martel Sans;font-size:14px;font-weight:400;margin-bottom:10px;text-transform:capitalize}.cover-spinner{align-items:center;background-color:hsla(0,0%,100%,.7);display:flex;height:100%;justify-content:center;min-height:400px;position:relative;top:50%;width:100%;z-index:9999}.cover-spinner:after{animation:spin 1.5s linear infinite;border:4px dotted #000;border-radius:50%;border-top-color:transparent;content:"";display:block;height:40px;position:absolute;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
package/build/bundle.js CHANGED
@@ -10152,11 +10152,12 @@
10152
10152
  var _data$data$user = data.data.user,
10153
10153
  email_interest_send_schedule = _data$data$user.email_interest_send_schedule,
10154
10154
  whatsapp_interest_send_schedule = _data$data$user.whatsapp_interest_send_schedule,
10155
- vip = _data$data$user.vip;
10155
+ is_early_access = _data$data$user.is_early_access,
10156
+ is_exclusive = _data$data$user.is_exclusive;
10156
10157
 
10157
10158
  _this.setState({
10158
10159
  options: options,
10159
- isVip: vip,
10160
+ canReceiveWhatsAppNotifications: is_early_access || is_exclusive,
10160
10161
  emailSelectedOption: options.find(function (item) {
10161
10162
  return item.value === email_interest_send_schedule;
10162
10163
  }),
@@ -10171,7 +10172,7 @@
10171
10172
  options = _this$state.options,
10172
10173
  emailSelectedOption = _this$state.emailSelectedOption,
10173
10174
  whatsappSelectedOption = _this$state.whatsappSelectedOption,
10174
- isVip = _this$state.isVip,
10175
+ canReceiveWhatsAppNotifications = _this$state.canReceiveWhatsAppNotifications,
10175
10176
  updating = _this$state.request.fetching;
10176
10177
  return /*#__PURE__*/React__default.createElement(NotifyContainer, null, /*#__PURE__*/React__default.createElement(LuxityNotifications, null), /*#__PURE__*/React__default.createElement(LuxityPageReady, {
10177
10178
  getRequestPromise: _this.props.getSchedule,
@@ -10180,7 +10181,7 @@
10180
10181
  }
10181
10182
  }, /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
10182
10183
  className: "notification-settings"
10183
- }, isVip && /*#__PURE__*/React__default.createElement("div", {
10184
+ }, canReceiveWhatsAppNotifications && /*#__PURE__*/React__default.createElement("div", {
10184
10185
  className: "notification-row-wrapper"
10185
10186
  }, /*#__PURE__*/React__default.createElement("div", {
10186
10187
  className: "notification-dropdown-label"
@@ -10225,7 +10226,7 @@
10225
10226
  options: [],
10226
10227
  emailSelectedOption: null,
10227
10228
  whatsappSelectedOption: null,
10228
- isVip: false,
10229
+ canReceiveWhatsAppNotifications: false,
10229
10230
  request: _objectSpread2({}, request)
10230
10231
  };
10231
10232
  return _this;
@@ -16311,9 +16312,11 @@
16311
16312
  onCurrencyChange = _ref.onCurrencyChange,
16312
16313
  isCurrencySelectionDisabled = _ref.isCurrencySelectionDisabled,
16313
16314
  tooltipContent = _ref.tooltipContent,
16314
- vipIcon = _ref.vipIcon,
16315
+ earlyAccessIcon = _ref.earlyAccessIcon,
16316
+ exclusiveIcon = _ref.exclusiveIcon,
16315
16317
  name = _ref.name,
16316
- isVip = _ref.isVip,
16318
+ isEarlyAccess = _ref.isEarlyAccess,
16319
+ isExclusive = _ref.isExclusive,
16317
16320
  shop = _ref.shop,
16318
16321
  app = _ref.app,
16319
16322
  categoryConfig = _ref.categoryConfig;
@@ -16459,8 +16462,8 @@
16459
16462
  });
16460
16463
  };
16461
16464
 
16462
- var getMarginRight = function getMarginRight(userIsVip, userName) {
16463
- if (userIsVip) return '15px';
16465
+ var getMarginRight = function getMarginRight(showLoyaltyIcon, userName) {
16466
+ if (showLoyaltyIcon) return '15px';
16464
16467
  if (userName) return '5px';
16465
16468
  return '18px';
16466
16469
  };
@@ -16546,17 +16549,23 @@
16546
16549
  className: "navbar__icon relative flex",
16547
16550
  onClick: onAccountClick,
16548
16551
  style: {
16549
- marginRight: getMarginRight(isVip, name)
16552
+ marginRight: getMarginRight(isEarlyAccess || isExclusive, name)
16550
16553
  }
16551
16554
  }, /*#__PURE__*/React__default.createElement("img", {
16552
16555
  src: accountIcon,
16553
16556
  alt: "account-icon",
16554
16557
  width: 20,
16555
16558
  height: 20
16556
- }), isVip && /*#__PURE__*/React__default.createElement("img", {
16557
- src: vipIcon,
16558
- alt: "vip-icon",
16559
- className: "navbar__vip-icon",
16559
+ }), isEarlyAccess && /*#__PURE__*/React__default.createElement("img", {
16560
+ src: earlyAccessIcon,
16561
+ alt: "loyalty-icon",
16562
+ className: "navbar__loyalty-icon",
16563
+ width: 16,
16564
+ height: 16
16565
+ }), isExclusive && /*#__PURE__*/React__default.createElement("img", {
16566
+ src: exclusiveIcon,
16567
+ alt: "loyalty-icon",
16568
+ className: "navbar__loyalty-icon",
16560
16569
  width: 16,
16561
16570
  height: 16
16562
16571
  })), name && /*#__PURE__*/React__default.createElement("button", {
@@ -16583,7 +16592,7 @@
16583
16592
  alt: "cart-icon",
16584
16593
  width: 20,
16585
16594
  height: 20
16586
- }), shop && /*#__PURE__*/React__default.createElement("div", {
16595
+ }), shop && cartCount > 0 && /*#__PURE__*/React__default.createElement("div", {
16587
16596
  className: "navbar__cart-count"
16588
16597
  }, cartCount))), /*#__PURE__*/React__default.createElement("nav", {
16589
16598
  className: "navbar__nav-links"
@@ -17224,7 +17233,8 @@
17224
17233
  LinkComponent = _ref.LinkComponent,
17225
17234
  shop = _ref.shop,
17226
17235
  app = _ref.app,
17227
- categoryConfig = _ref.categoryConfig;
17236
+ categoryConfig = _ref.categoryConfig,
17237
+ name = _ref.name;
17228
17238
 
17229
17239
  var _useSearch = useSearch({
17230
17240
  endpoint: endpoint,
@@ -17400,6 +17410,14 @@
17400
17410
  var handleBlogClick = onBlogClick ? function () {
17401
17411
  return handleClick(onBlogClick);
17402
17412
  } : undefined;
17413
+
17414
+ var getInitials = function getInitials(fullName) {
17415
+ if (!fullName) return '';
17416
+ return fullName.split(' ').map(function (n) {
17417
+ return n[0];
17418
+ }).join('').slice(0, 2);
17419
+ };
17420
+
17403
17421
  return /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
17404
17422
  className: "navbar navbar__mobile-wrapper"
17405
17423
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -17445,9 +17463,20 @@
17445
17463
  alt: "cart-icon",
17446
17464
  width: 20,
17447
17465
  height: 20
17448
- }), shop && /*#__PURE__*/React__default.createElement("div", {
17466
+ }), shop && cartCount > 0 && /*#__PURE__*/React__default.createElement("div", {
17449
17467
  className: "navbar__cart-count"
17450
- }, cartCount))))), showSearchBar && /*#__PURE__*/React__default.createElement("div", {
17468
+ }, cartCount)), shop && /*#__PURE__*/React__default.createElement("button", {
17469
+ type: "button",
17470
+ className: "navbar__icon",
17471
+ onClick: handleAccountClick
17472
+ }, name ? /*#__PURE__*/React__default.createElement("div", {
17473
+ className: "navbar__account-initials"
17474
+ }, getInitials(name)) : /*#__PURE__*/React__default.createElement("img", {
17475
+ src: accountIcon,
17476
+ alt: "account-icon",
17477
+ width: 20,
17478
+ height: 20
17479
+ }))))), showSearchBar && /*#__PURE__*/React__default.createElement("div", {
17451
17480
  className: "navbar__search-container"
17452
17481
  }, /*#__PURE__*/React__default.createElement("div", {
17453
17482
  className: "navbar__product-search-wrapper"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonlineza/luxity-lib",
3
- "version": "2.36.2",
3
+ "version": "2.37.0",
4
4
  "scripts": {
5
5
  "start": "start-storybook -p 9001 -c .storybook -s ./public",
6
6
  "clean": "rimraf ./build/*.*",
package/TestComponent.js DELETED
@@ -1,15 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react')) :
3
- typeof define === 'function' && define.amd ? define(['react'], factory) :
4
- (global = global || self, global.TestComponent = factory(global.React));
5
- }(this, (function (React) { 'use strict';
6
-
7
- React = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;
8
-
9
- var TestComponent = function TestComponent() {
10
- return /*#__PURE__*/React.createElement("div", null, "TestComponent");
11
- };
12
-
13
- return TestComponent;
14
-
15
- })));
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var react_1 = __importDefault(require("react"));
7
- var ReactSelectWrapper_1 = __importDefault(require("../ReactSelectWrapper"));
8
- var responseTransform = function (countryData) {
9
- return countryData.map(function (item) { return ({
10
- label: "".concat(item.code, " (+").concat(item.dial_code, ")"),
11
- value: item.code,
12
- }); });
13
- };
14
- var CountryCodeSelect = function (_a) {
15
- var _b = _a.countryData, countryData = _b === void 0 ? [] : _b, className = _a.className, classNamePrefix = _a.classNamePrefix, _c = _a.defaultCountryCode, defaultCountryCode = _c === void 0 ? 'ZA' : _c, _d = _a.onChange, onChange = _d === void 0 ? function () { return null; } : _d, _e = _a.isSearchable, isSearchable = _e === void 0 ? true : _e, _f = _a.name, name = _f === void 0 ? 'country_code' : _f, _g = _a.renderNoData, renderNoData = _g === void 0 ? function () { return 'Loading...'; } : _g;
16
- return (react_1.default.createElement(react_1.default.Fragment, null, countryData && countryData.length ? (react_1.default.createElement(ReactSelectWrapper_1.default, { name: name, className: className, classNamePrefix: classNamePrefix, options: responseTransform(countryData), defaultValue: responseTransform(countryData.filter(function (item) { return item.code === defaultCountryCode; })), onChange: onChange, isSearchable: isSearchable })) : (renderNoData())));
17
- };
18
- exports.default = CountryCodeSelect;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- var __importDefault = (this && this.__importDefault) || function (mod) {
25
- return (mod && mod.__esModule) ? mod : { "default": mod };
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- var react_1 = __importDefault(require("react"));
29
- var react_select_1 = __importDefault(require("react-select"));
30
- var ReactSelectWrapper = function (_a) {
31
- var _b = _a.isMulti, isMulti = _b === void 0 ? false : _b, _c = _a.isSearchable, isSearchable = _c === void 0 ? false : _c, _d = _a.components, components = _d === void 0 ? { IndicatorSeparator: function () { return null; } } : _d, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.className, className = _f === void 0 ? 'dropdown-select-container' : _f, _g = _a.classNamePrefix, classNamePrefix = _g === void 0 ? 'dropdown-select' : _g, _h = _a.onChange, onChange = _h === void 0 ? function () { return null; } : _h, name = _a.name, _j = _a.noOptionsMessage, noOptionsMessage = _j === void 0 ? function () { return 'No Options'; } : _j, rest = __rest(_a, ["isMulti", "isSearchable", "components", "options", "className", "classNamePrefix", "onChange", "name", "noOptionsMessage"]);
32
- return (react_1.default.createElement(react_select_1.default, __assign({ isMulti: isMulti, isSearchable: isSearchable, components: components, options: options, className: className, classNamePrefix: classNamePrefix, onChange: onChange, name: name, noOptionsMessage: noOptionsMessage }, rest)));
33
- };
34
- exports.default = ReactSelectWrapper;
package/postcss.config.js DELETED
@@ -1,6 +0,0 @@
1
- module.exports = {
2
- plugins: {
3
- tailwindcss: {},
4
- autoprefixer: {},
5
- },
6
- };