@bonlineza/luxity-lib 2.37.1 → 2.37.2

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.
@@ -310,7 +310,9 @@
310
310
  isSearchFocused = _ref.isSearchFocused,
311
311
  setIsSearchFocused = _ref.setIsSearchFocused,
312
312
  currency = _ref.currency,
313
- currencySymbol = _ref.currencySymbol;
313
+ currencySymbol = _ref.currencySymbol,
314
+ onProductSearchResultClick = _ref.onProductSearchResultClick,
315
+ onBrandSearchResultClick = _ref.onBrandSearchResultClick;
314
316
 
315
317
  var _useState = React.useState(false),
316
318
  _useState2 = _slicedToArray(_useState, 2),
@@ -358,7 +360,18 @@
358
360
  return /*#__PURE__*/React__default.createElement("a", {
359
361
  key: product.link,
360
362
  href: product.link,
361
- className: "product-card"
363
+ className: "product-card",
364
+ onClick: function onClick() {
365
+ if (typeof onProductSearchResultClick === 'function') {
366
+ onProductSearchResultClick({
367
+ product_name: product.name,
368
+ product_brand: product.brand,
369
+ product_link: product.link,
370
+ search_string: searchValue,
371
+ is_popular: shouldShowInitialData
372
+ });
373
+ }
374
+ }
362
375
  }, product.featured_image && /*#__PURE__*/React__default.createElement("div", {
363
376
  className: "product-card__image-container"
364
377
  }, /*#__PURE__*/React__default.createElement("img", {
@@ -411,13 +424,33 @@
411
424
  return /*#__PURE__*/React__default.createElement("a", {
412
425
  key: brand.id,
413
426
  href: getBrandLink(brand),
414
- className: "search-results__item"
427
+ className: "search-results__item",
428
+ onClick: function onClick() {
429
+ if (typeof onBrandSearchResultClick === 'function') {
430
+ onBrandSearchResultClick({
431
+ brand_name: brand.name,
432
+ brand_link: getBrandLink(brand),
433
+ search_string: searchValue,
434
+ is_trending: true
435
+ });
436
+ }
437
+ }
415
438
  }, brand.name);
416
439
  }) : (_limitBrands2 = limitBrands(searchResults === null || searchResults === void 0 ? void 0 : searchResults.brands)) === null || _limitBrands2 === void 0 ? void 0 : _limitBrands2.map(function (brand) {
417
440
  return /*#__PURE__*/React__default.createElement("a", {
418
441
  key: brand.link,
419
442
  href: brand.link,
420
- className: "search-results__item"
443
+ className: "search-results__item",
444
+ onClick: function onClick() {
445
+ if (typeof onBrandSearchResultClick === 'function') {
446
+ onBrandSearchResultClick({
447
+ brand_name: brand.name,
448
+ brand_link: brand.link,
449
+ search_string: searchValue,
450
+ is_trending: false
451
+ });
452
+ }
453
+ }
421
454
  }, brand.name);
422
455
  }))), /*#__PURE__*/React__default.createElement("div", {
423
456
  className: "search-results__section"
@@ -665,7 +698,8 @@
665
698
  var useSearch = function useSearch(_ref) {
666
699
  var endpoint = _ref.endpoint,
667
700
  onProductIdsReceived = _ref.onProductIdsReceived,
668
- currency = _ref.currency;
701
+ currency = _ref.currency,
702
+ onSearchPreview = _ref.onSearchPreview;
669
703
  var currentSearchRequestToken = React.useRef(null);
670
704
  var debounce = React.useCallback(function (func, wait) {
671
705
  var timeout;
@@ -726,6 +760,16 @@
726
760
  onProductIdsReceived(searchResults.luxity_product_ids);
727
761
  }
728
762
 
763
+ if (typeof onSearchPreview === 'function') {
764
+ var _searchResults$brands, _searchResults$produc;
765
+
766
+ var hasResults = ((_searchResults$brands = searchResults.brands) === null || _searchResults$brands === void 0 ? void 0 : _searchResults$brands.length) > 0 || ((_searchResults$produc = searchResults.products) === null || _searchResults$produc === void 0 ? void 0 : _searchResults$produc.length) > 0;
767
+ onSearchPreview({
768
+ search_string: searchQuery,
769
+ has_results: hasResults
770
+ });
771
+ }
772
+
729
773
  currentSearchRequestToken.current = null;
730
774
  }
731
775
  }).catch(function (error) {
@@ -738,7 +782,7 @@
738
782
  currentSearchRequestToken.current = null;
739
783
  }
740
784
  });
741
- }, [endpoint, currency, onProductIdsReceived]);
785
+ }, [endpoint, currency, onSearchPreview, onProductIdsReceived]);
742
786
  var debouncedSearch = React.useMemo(function () {
743
787
  return debounce(function (searchQuery, setSearchResults) {
744
788
  return performSearch(searchQuery, setSearchResults);
@@ -874,7 +918,10 @@
874
918
  endpoint = _ref.endpoint,
875
919
  initialSearchData = _ref.initialSearchData,
876
920
  onSearchSubmit = _ref.onSearchSubmit,
877
- onSearchClick = _ref.onSearchClick,
921
+ onSearchBarClick = _ref.onSearchBarClick,
922
+ onSearchPreview = _ref.onSearchPreview,
923
+ onProductSearchResultClick = _ref.onProductSearchResultClick,
924
+ onBrandSearchResultClick = _ref.onBrandSearchResultClick,
878
925
  onProductIdsReceived = _ref.onProductIdsReceived,
879
926
  currency = _ref.currency,
880
927
  currencySymbol = _ref.currencySymbol,
@@ -894,7 +941,8 @@
894
941
  var _useSearch = useSearch({
895
942
  endpoint: endpoint,
896
943
  onProductIdsReceived: onProductIdsReceived,
897
- currency: currency
944
+ currency: currency,
945
+ onSearchPreview: onSearchPreview
898
946
  }),
899
947
  fetchInitialSearchData = _useSearch.fetchInitialSearchData,
900
948
  createDebouncedSearch = _useSearch.createDebouncedSearch,
@@ -959,15 +1007,15 @@
959
1007
  useSearchClickOutside(searchResultsRef, searchResults, setCachedResults, setIsSearchFocused, setSearchResults);
960
1008
 
961
1009
  var handleSearchClick = function handleSearchClick() {
962
- if (typeof onSearchClick === 'function') {
963
- onSearchClick();
1010
+ if (typeof onSearchBarClick === 'function') {
1011
+ onSearchBarClick();
964
1012
  return;
965
1013
  }
966
1014
 
967
1015
  handleSearchFocus();
968
1016
  };
969
1017
 
970
- var handleSearchFocus = useSearchInputFocus(searchValue, setIsSearchFocused, cachedResults, setSearchResults, onSearchClick);
1018
+ var handleSearchFocus = useSearchInputFocus(searchValue, setIsSearchFocused, cachedResults, setSearchResults);
971
1019
  var handleKeyDown = useSearchInputKeyDown(searchValue, immediateSearch, setIsSearchFocused);
972
1020
 
973
1021
  function addCategoryToElements(elements, categoryName) {
@@ -1090,7 +1138,9 @@
1090
1138
  isSearchFocused: isSearchFocused,
1091
1139
  setIsSearchFocused: setIsSearchFocused,
1092
1140
  currency: currency,
1093
- currencySymbol: currencySymbol
1141
+ currencySymbol: currencySymbol,
1142
+ onProductSearchResultClick: onProductSearchResultClick,
1143
+ onBrandSearchResultClick: onBrandSearchResultClick
1094
1144
  }), /*#__PURE__*/React__default.createElement("nav", {
1095
1145
  className: "navbar__nav-links navbar__nav-links--wrap"
1096
1146
  }, renderDropdownLinks(), !!stores.length && /*#__PURE__*/React__default.createElement("li", {
@@ -930,7 +930,9 @@
930
930
  isSearchFocused = _ref.isSearchFocused,
931
931
  setIsSearchFocused = _ref.setIsSearchFocused,
932
932
  currency = _ref.currency,
933
- currencySymbol = _ref.currencySymbol;
933
+ currencySymbol = _ref.currencySymbol,
934
+ onProductSearchResultClick = _ref.onProductSearchResultClick,
935
+ onBrandSearchResultClick = _ref.onBrandSearchResultClick;
934
936
 
935
937
  var _useState = React.useState(false),
936
938
  _useState2 = _slicedToArray(_useState, 2),
@@ -978,7 +980,18 @@
978
980
  return /*#__PURE__*/React__default.createElement("a", {
979
981
  key: product.link,
980
982
  href: product.link,
981
- className: "product-card"
983
+ className: "product-card",
984
+ onClick: function onClick() {
985
+ if (typeof onProductSearchResultClick === 'function') {
986
+ onProductSearchResultClick({
987
+ product_name: product.name,
988
+ product_brand: product.brand,
989
+ product_link: product.link,
990
+ search_string: searchValue,
991
+ is_popular: shouldShowInitialData
992
+ });
993
+ }
994
+ }
982
995
  }, product.featured_image && /*#__PURE__*/React__default.createElement("div", {
983
996
  className: "product-card__image-container"
984
997
  }, /*#__PURE__*/React__default.createElement("img", {
@@ -1031,13 +1044,33 @@
1031
1044
  return /*#__PURE__*/React__default.createElement("a", {
1032
1045
  key: brand.id,
1033
1046
  href: getBrandLink(brand),
1034
- className: "search-results__item"
1047
+ className: "search-results__item",
1048
+ onClick: function onClick() {
1049
+ if (typeof onBrandSearchResultClick === 'function') {
1050
+ onBrandSearchResultClick({
1051
+ brand_name: brand.name,
1052
+ brand_link: getBrandLink(brand),
1053
+ search_string: searchValue,
1054
+ is_trending: true
1055
+ });
1056
+ }
1057
+ }
1035
1058
  }, brand.name);
1036
1059
  }) : (_limitBrands2 = limitBrands(searchResults === null || searchResults === void 0 ? void 0 : searchResults.brands)) === null || _limitBrands2 === void 0 ? void 0 : _limitBrands2.map(function (brand) {
1037
1060
  return /*#__PURE__*/React__default.createElement("a", {
1038
1061
  key: brand.link,
1039
1062
  href: brand.link,
1040
- className: "search-results__item"
1063
+ className: "search-results__item",
1064
+ onClick: function onClick() {
1065
+ if (typeof onBrandSearchResultClick === 'function') {
1066
+ onBrandSearchResultClick({
1067
+ brand_name: brand.name,
1068
+ brand_link: brand.link,
1069
+ search_string: searchValue,
1070
+ is_trending: false
1071
+ });
1072
+ }
1073
+ }
1041
1074
  }, brand.name);
1042
1075
  }))), /*#__PURE__*/React__default.createElement("div", {
1043
1076
  className: "search-results__section"
@@ -1082,7 +1115,8 @@
1082
1115
  var useSearch = function useSearch(_ref) {
1083
1116
  var endpoint = _ref.endpoint,
1084
1117
  onProductIdsReceived = _ref.onProductIdsReceived,
1085
- currency = _ref.currency;
1118
+ currency = _ref.currency,
1119
+ onSearchPreview = _ref.onSearchPreview;
1086
1120
  var currentSearchRequestToken = React.useRef(null);
1087
1121
  var debounce = React.useCallback(function (func, wait) {
1088
1122
  var timeout;
@@ -1143,6 +1177,16 @@
1143
1177
  onProductIdsReceived(searchResults.luxity_product_ids);
1144
1178
  }
1145
1179
 
1180
+ if (typeof onSearchPreview === 'function') {
1181
+ var _searchResults$brands, _searchResults$produc;
1182
+
1183
+ var hasResults = ((_searchResults$brands = searchResults.brands) === null || _searchResults$brands === void 0 ? void 0 : _searchResults$brands.length) > 0 || ((_searchResults$produc = searchResults.products) === null || _searchResults$produc === void 0 ? void 0 : _searchResults$produc.length) > 0;
1184
+ onSearchPreview({
1185
+ search_string: searchQuery,
1186
+ has_results: hasResults
1187
+ });
1188
+ }
1189
+
1146
1190
  currentSearchRequestToken.current = null;
1147
1191
  }
1148
1192
  }).catch(function (error) {
@@ -1155,7 +1199,7 @@
1155
1199
  currentSearchRequestToken.current = null;
1156
1200
  }
1157
1201
  });
1158
- }, [endpoint, currency, onProductIdsReceived]);
1202
+ }, [endpoint, currency, onSearchPreview, onProductIdsReceived]);
1159
1203
  var debouncedSearch = React.useMemo(function () {
1160
1204
  return debounce(function (searchQuery, setSearchResults) {
1161
1205
  return performSearch(searchQuery, setSearchResults);
@@ -1290,6 +1334,10 @@
1290
1334
  endpoint = _ref.endpoint,
1291
1335
  initialSearchData = _ref.initialSearchData,
1292
1336
  onSearchSubmit = _ref.onSearchSubmit,
1337
+ onSearchBarClick = _ref.onSearchBarClick,
1338
+ onSearchPreview = _ref.onSearchPreview,
1339
+ onProductSearchResultClick = _ref.onProductSearchResultClick,
1340
+ onBrandSearchResultClick = _ref.onBrandSearchResultClick,
1293
1341
  onProductIdsReceived = _ref.onProductIdsReceived,
1294
1342
  onLogoutClick = _ref.onLogoutClick,
1295
1343
  onInterestClick = _ref.onInterestClick,
@@ -1316,7 +1364,8 @@
1316
1364
  var _useSearch = useSearch({
1317
1365
  endpoint: endpoint,
1318
1366
  onProductIdsReceived: onProductIdsReceived,
1319
- currency: currency
1367
+ currency: currency,
1368
+ onSearchPreview: onSearchPreview
1320
1369
  }),
1321
1370
  fetchInitialSearchData = _useSearch.fetchInitialSearchData,
1322
1371
  createDebouncedSearch = _useSearch.createDebouncedSearch,
@@ -1391,6 +1440,10 @@
1391
1440
  }, [showSearchBar]);
1392
1441
 
1393
1442
  var onSearchClick = function onSearchClick() {
1443
+ if (!showSearchBar && typeof onSearchBarClick === 'function') {
1444
+ onSearchBarClick();
1445
+ }
1446
+
1394
1447
  setShowSearchbar(function (prev) {
1395
1448
  return !prev;
1396
1449
  });
@@ -1594,7 +1647,9 @@
1594
1647
  isSearchFocused: isSearchFocused,
1595
1648
  setIsSearchFocused: setIsSearchFocused,
1596
1649
  currency: currency,
1597
- currencySymbol: currencySymbol
1650
+ currencySymbol: currencySymbol,
1651
+ onProductSearchResultClick: onProductSearchResultClick,
1652
+ onBrandSearchResultClick: onBrandSearchResultClick
1598
1653
  }))), shop && /*#__PURE__*/React__default.createElement(LuxitySideNav, {
1599
1654
  accordionIcon: accordionIcon,
1600
1655
  logoSrc: logoSrc,
package/build/bundle.css CHANGED
@@ -1 +1 @@
1
- .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}.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%}.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)}}
1
+ .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;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}}.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}@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}.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%}.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}}.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}.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
@@ -15821,7 +15821,9 @@
15821
15821
  isSearchFocused = _ref.isSearchFocused,
15822
15822
  setIsSearchFocused = _ref.setIsSearchFocused,
15823
15823
  currency = _ref.currency,
15824
- currencySymbol = _ref.currencySymbol;
15824
+ currencySymbol = _ref.currencySymbol,
15825
+ onProductSearchResultClick = _ref.onProductSearchResultClick,
15826
+ onBrandSearchResultClick = _ref.onBrandSearchResultClick;
15825
15827
 
15826
15828
  var _useState = React.useState(false),
15827
15829
  _useState2 = _slicedToArray(_useState, 2),
@@ -15869,7 +15871,18 @@
15869
15871
  return /*#__PURE__*/React__default.createElement("a", {
15870
15872
  key: product.link,
15871
15873
  href: product.link,
15872
- className: "product-card"
15874
+ className: "product-card",
15875
+ onClick: function onClick() {
15876
+ if (typeof onProductSearchResultClick === 'function') {
15877
+ onProductSearchResultClick({
15878
+ product_name: product.name,
15879
+ product_brand: product.brand,
15880
+ product_link: product.link,
15881
+ search_string: searchValue,
15882
+ is_popular: shouldShowInitialData
15883
+ });
15884
+ }
15885
+ }
15873
15886
  }, product.featured_image && /*#__PURE__*/React__default.createElement("div", {
15874
15887
  className: "product-card__image-container"
15875
15888
  }, /*#__PURE__*/React__default.createElement("img", {
@@ -15922,13 +15935,33 @@
15922
15935
  return /*#__PURE__*/React__default.createElement("a", {
15923
15936
  key: brand.id,
15924
15937
  href: getBrandLink(brand),
15925
- className: "search-results__item"
15938
+ className: "search-results__item",
15939
+ onClick: function onClick() {
15940
+ if (typeof onBrandSearchResultClick === 'function') {
15941
+ onBrandSearchResultClick({
15942
+ brand_name: brand.name,
15943
+ brand_link: getBrandLink(brand),
15944
+ search_string: searchValue,
15945
+ is_trending: true
15946
+ });
15947
+ }
15948
+ }
15926
15949
  }, brand.name);
15927
15950
  }) : (_limitBrands2 = limitBrands(searchResults === null || searchResults === void 0 ? void 0 : searchResults.brands)) === null || _limitBrands2 === void 0 ? void 0 : _limitBrands2.map(function (brand) {
15928
15951
  return /*#__PURE__*/React__default.createElement("a", {
15929
15952
  key: brand.link,
15930
15953
  href: brand.link,
15931
- className: "search-results__item"
15954
+ className: "search-results__item",
15955
+ onClick: function onClick() {
15956
+ if (typeof onBrandSearchResultClick === 'function') {
15957
+ onBrandSearchResultClick({
15958
+ brand_name: brand.name,
15959
+ brand_link: brand.link,
15960
+ search_string: searchValue,
15961
+ is_trending: false
15962
+ });
15963
+ }
15964
+ }
15932
15965
  }, brand.name);
15933
15966
  }))), /*#__PURE__*/React__default.createElement("div", {
15934
15967
  className: "search-results__section"
@@ -15973,7 +16006,8 @@
15973
16006
  var useSearch = function useSearch(_ref) {
15974
16007
  var endpoint = _ref.endpoint,
15975
16008
  onProductIdsReceived = _ref.onProductIdsReceived,
15976
- currency = _ref.currency;
16009
+ currency = _ref.currency,
16010
+ onSearchPreview = _ref.onSearchPreview;
15977
16011
  var currentSearchRequestToken = React.useRef(null);
15978
16012
  var debounce = React.useCallback(function (func, wait) {
15979
16013
  var timeout;
@@ -16034,6 +16068,16 @@
16034
16068
  onProductIdsReceived(searchResults.luxity_product_ids);
16035
16069
  }
16036
16070
 
16071
+ if (typeof onSearchPreview === 'function') {
16072
+ var _searchResults$brands, _searchResults$produc;
16073
+
16074
+ var hasResults = ((_searchResults$brands = searchResults.brands) === null || _searchResults$brands === void 0 ? void 0 : _searchResults$brands.length) > 0 || ((_searchResults$produc = searchResults.products) === null || _searchResults$produc === void 0 ? void 0 : _searchResults$produc.length) > 0;
16075
+ onSearchPreview({
16076
+ search_string: searchQuery,
16077
+ has_results: hasResults
16078
+ });
16079
+ }
16080
+
16037
16081
  currentSearchRequestToken.current = null;
16038
16082
  }
16039
16083
  }).catch(function (error) {
@@ -16046,7 +16090,7 @@
16046
16090
  currentSearchRequestToken.current = null;
16047
16091
  }
16048
16092
  });
16049
- }, [endpoint, currency, onProductIdsReceived]);
16093
+ }, [endpoint, currency, onSearchPreview, onProductIdsReceived]);
16050
16094
  var debouncedSearch = React.useMemo(function () {
16051
16095
  return debounce(function (searchQuery, setSearchResults) {
16052
16096
  return performSearch(searchQuery, setSearchResults);
@@ -16182,7 +16226,10 @@
16182
16226
  endpoint = _ref.endpoint,
16183
16227
  initialSearchData = _ref.initialSearchData,
16184
16228
  onSearchSubmit = _ref.onSearchSubmit,
16185
- onSearchClick = _ref.onSearchClick,
16229
+ onSearchBarClick = _ref.onSearchBarClick,
16230
+ onSearchPreview = _ref.onSearchPreview,
16231
+ onProductSearchResultClick = _ref.onProductSearchResultClick,
16232
+ onBrandSearchResultClick = _ref.onBrandSearchResultClick,
16186
16233
  onProductIdsReceived = _ref.onProductIdsReceived,
16187
16234
  currency = _ref.currency,
16188
16235
  currencySymbol = _ref.currencySymbol,
@@ -16202,7 +16249,8 @@
16202
16249
  var _useSearch = useSearch({
16203
16250
  endpoint: endpoint,
16204
16251
  onProductIdsReceived: onProductIdsReceived,
16205
- currency: currency
16252
+ currency: currency,
16253
+ onSearchPreview: onSearchPreview
16206
16254
  }),
16207
16255
  fetchInitialSearchData = _useSearch.fetchInitialSearchData,
16208
16256
  createDebouncedSearch = _useSearch.createDebouncedSearch,
@@ -16267,15 +16315,15 @@
16267
16315
  useSearchClickOutside(searchResultsRef, searchResults, setCachedResults, setIsSearchFocused, setSearchResults);
16268
16316
 
16269
16317
  var handleSearchClick = function handleSearchClick() {
16270
- if (typeof onSearchClick === 'function') {
16271
- onSearchClick();
16318
+ if (typeof onSearchBarClick === 'function') {
16319
+ onSearchBarClick();
16272
16320
  return;
16273
16321
  }
16274
16322
 
16275
16323
  handleSearchFocus();
16276
16324
  };
16277
16325
 
16278
- var handleSearchFocus = useSearchInputFocus(searchValue, setIsSearchFocused, cachedResults, setSearchResults, onSearchClick);
16326
+ var handleSearchFocus = useSearchInputFocus(searchValue, setIsSearchFocused, cachedResults, setSearchResults);
16279
16327
  var handleKeyDown = useSearchInputKeyDown(searchValue, immediateSearch, setIsSearchFocused);
16280
16328
 
16281
16329
  function addCategoryToElements(elements, categoryName) {
@@ -16398,7 +16446,9 @@
16398
16446
  isSearchFocused: isSearchFocused,
16399
16447
  setIsSearchFocused: setIsSearchFocused,
16400
16448
  currency: currency,
16401
- currencySymbol: currencySymbol
16449
+ currencySymbol: currencySymbol,
16450
+ onProductSearchResultClick: onProductSearchResultClick,
16451
+ onBrandSearchResultClick: onBrandSearchResultClick
16402
16452
  }), /*#__PURE__*/React__default.createElement("nav", {
16403
16453
  className: "navbar__nav-links navbar__nav-links--wrap"
16404
16454
  }, renderDropdownLinks(), !!stores.length && /*#__PURE__*/React__default.createElement("li", {
@@ -17091,6 +17141,10 @@
17091
17141
  endpoint = _ref.endpoint,
17092
17142
  initialSearchData = _ref.initialSearchData,
17093
17143
  onSearchSubmit = _ref.onSearchSubmit,
17144
+ onSearchBarClick = _ref.onSearchBarClick,
17145
+ onSearchPreview = _ref.onSearchPreview,
17146
+ onProductSearchResultClick = _ref.onProductSearchResultClick,
17147
+ onBrandSearchResultClick = _ref.onBrandSearchResultClick,
17094
17148
  onProductIdsReceived = _ref.onProductIdsReceived,
17095
17149
  onLogoutClick = _ref.onLogoutClick,
17096
17150
  onInterestClick = _ref.onInterestClick,
@@ -17117,7 +17171,8 @@
17117
17171
  var _useSearch = useSearch({
17118
17172
  endpoint: endpoint,
17119
17173
  onProductIdsReceived: onProductIdsReceived,
17120
- currency: currency
17174
+ currency: currency,
17175
+ onSearchPreview: onSearchPreview
17121
17176
  }),
17122
17177
  fetchInitialSearchData = _useSearch.fetchInitialSearchData,
17123
17178
  createDebouncedSearch = _useSearch.createDebouncedSearch,
@@ -17192,6 +17247,10 @@
17192
17247
  }, [showSearchBar]);
17193
17248
 
17194
17249
  var onSearchClick = function onSearchClick() {
17250
+ if (!showSearchBar && typeof onSearchBarClick === 'function') {
17251
+ onSearchBarClick();
17252
+ }
17253
+
17195
17254
  setShowSearchbar(function (prev) {
17196
17255
  return !prev;
17197
17256
  });
@@ -17395,7 +17454,9 @@
17395
17454
  isSearchFocused: isSearchFocused,
17396
17455
  setIsSearchFocused: setIsSearchFocused,
17397
17456
  currency: currency,
17398
- currencySymbol: currencySymbol
17457
+ currencySymbol: currencySymbol,
17458
+ onProductSearchResultClick: onProductSearchResultClick,
17459
+ onBrandSearchResultClick: onBrandSearchResultClick
17399
17460
  }))), shop && /*#__PURE__*/React__default.createElement(LuxitySideNav, {
17400
17461
  accordionIcon: accordionIcon,
17401
17462
  logoSrc: logoSrc,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonlineza/luxity-lib",
3
- "version": "2.37.1",
3
+ "version": "2.37.2",
4
4
  "scripts": {
5
5
  "start": "start-storybook -p 9001 -c .storybook -s ./public",
6
6
  "clean": "rimraf ./build/*.*",
package/build/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- bundle.css
2
- bundle.js
3
- constants.js
package/build/.npmignore DELETED
File without changes