@bonlineza/luxity-lib 2.37.4 → 2.37.6

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.
@@ -7734,7 +7734,7 @@
7734
7734
  className: "fl-right__item"
7735
7735
  }, /*#__PURE__*/React__default.createElement(PrimaryButton$1, {
7736
7736
  "data-qe-id": "add-interest-btn",
7737
- disabled: !selectedBrand,
7737
+ disabled: !selectedBrand || !selectedModel && !selectedMaterial,
7738
7738
  type: "button",
7739
7739
  onClick: submitInterest
7740
7740
  }, "SAVE"))))))));
@@ -11461,7 +11461,7 @@
11461
11461
  className: "fl-right__item"
11462
11462
  }, /*#__PURE__*/React__default.createElement(PrimaryButton$1, {
11463
11463
  "data-qe-id": "add-interest-btn",
11464
- disabled: !selectedBrand,
11464
+ disabled: !selectedBrand || !selectedModel && !selectedMaterial,
11465
11465
  type: "button",
11466
11466
  onClick: submitInterest
11467
11467
  }, "SAVE"))))))));
package/Interests.js CHANGED
@@ -11324,7 +11324,7 @@
11324
11324
  className: "fl-right__item"
11325
11325
  }, /*#__PURE__*/React__default.createElement(PrimaryButton$1, {
11326
11326
  "data-qe-id": "add-interest-btn",
11327
- disabled: !selectedBrand,
11327
+ disabled: !selectedBrand || !selectedModel && !selectedMaterial,
11328
11328
  type: "button",
11329
11329
  onClick: submitInterest
11330
11330
  }, "SAVE"))))))));
@@ -698,6 +698,7 @@
698
698
  var useSearch = function useSearch(_ref) {
699
699
  var endpoint = _ref.endpoint,
700
700
  onProductIdsReceived = _ref.onProductIdsReceived,
701
+ onSearchLoading = _ref.onSearchLoading,
701
702
  currency = _ref.currency,
702
703
  onSearchPreview = _ref.onSearchPreview;
703
704
  var currentSearchRequestToken = React.useRef(null);
@@ -748,7 +749,12 @@
748
749
 
749
750
 
750
751
  var newSearchToken = axios.CancelToken.source();
751
- currentSearchRequestToken.current = newSearchToken;
752
+ currentSearchRequestToken.current = newSearchToken; // Set loading to true when starting the search request
753
+
754
+ if (typeof onSearchLoading === 'function') {
755
+ onSearchLoading(true);
756
+ }
757
+
752
758
  axios.post(endpoint, searchProducts(searchQuery, 3, currency), {
753
759
  cancelToken: newSearchToken.token
754
760
  }).then(function (response) {
@@ -770,7 +776,11 @@
770
776
  });
771
777
  }
772
778
 
773
- currentSearchRequestToken.current = null;
779
+ currentSearchRequestToken.current = null; // Set loading to false when search completes successfully
780
+
781
+ if (typeof onSearchLoading === 'function') {
782
+ onSearchLoading(false);
783
+ }
774
784
  }
775
785
  }).catch(function (error) {
776
786
  if (!axios.isCancel(error)) {
@@ -779,10 +789,14 @@
779
789
  products: [],
780
790
  luxity_product_ids: []
781
791
  });
782
- currentSearchRequestToken.current = null;
792
+ currentSearchRequestToken.current = null; // Set loading to false when search fails
793
+
794
+ if (typeof onSearchLoading === 'function') {
795
+ onSearchLoading(false);
796
+ }
783
797
  }
784
798
  });
785
- }, [endpoint, currency, onSearchPreview, onProductIdsReceived]);
799
+ }, [endpoint, currency, onSearchPreview, onProductIdsReceived, onSearchLoading]);
786
800
  var debouncedSearch = React.useMemo(function () {
787
801
  return debounce(function (searchQuery, setSearchResults) {
788
802
  return performSearch(searchQuery, setSearchResults);
@@ -887,6 +901,22 @@
887
901
  }
888
902
  }, [searchValue, immediateSearch, setIsSearchFocused, setSearchValue]);
889
903
  };
904
+ var useSearchUrlQuery = function useSearchUrlQuery(setSearchValue, debouncedSearch) {
905
+ var hasProcessedUrlQuery = React.useRef(false);
906
+ React.useEffect(function () {
907
+ if (hasProcessedUrlQuery.current) return;
908
+ var urlParams = new URLSearchParams(window.location.search);
909
+ var queryParam = urlParams.get('q');
910
+ var isSearchPage = window.location.pathname.includes('/search');
911
+
912
+ if (queryParam && queryParam.trim() !== '' && isSearchPage) {
913
+ hasProcessedUrlQuery.current = true;
914
+ setSearchValue(queryParam);
915
+ debouncedSearch(queryParam);
916
+ }
917
+ }, [setSearchValue, debouncedSearch]);
918
+ return hasProcessedUrlQuery;
919
+ };
890
920
 
891
921
  var removeCategoryByName = function removeCategoryByName(categories, name) {
892
922
  var _categories$filter;
@@ -923,6 +953,7 @@
923
953
  onProductSearchResultClick = _ref.onProductSearchResultClick,
924
954
  onBrandSearchResultClick = _ref.onBrandSearchResultClick,
925
955
  onProductIdsReceived = _ref.onProductIdsReceived,
956
+ onSearchLoading = _ref.onSearchLoading,
926
957
  currency = _ref.currency,
927
958
  currencySymbol = _ref.currencySymbol,
928
959
  currencyOptions = _ref.currencyOptions,
@@ -941,6 +972,7 @@
941
972
  var _useSearch = useSearch({
942
973
  endpoint: endpoint,
943
974
  onProductIdsReceived: onProductIdsReceived,
975
+ onSearchLoading: onSearchLoading,
944
976
  currency: currency,
945
977
  onSearchPreview: onSearchPreview
946
978
  }),
@@ -1004,6 +1036,7 @@
1004
1036
  });
1005
1037
  var immediateSearch = createImmediateSearch(setSearchValue, setSearchResults, onSearchSubmit);
1006
1038
  var handleChange = useSearchInputChange(setSearchValue, setIsSearchFocused, debouncedSearch, setSearchResults, setCachedResults);
1039
+ useSearchUrlQuery(setSearchValue, debouncedSearch);
1007
1040
  useSearchClickOutside(searchResultsRef, searchResults, setCachedResults, setIsSearchFocused, setSearchResults);
1008
1041
 
1009
1042
  var handleSearchClick = function handleSearchClick() {
@@ -11461,7 +11461,7 @@
11461
11461
  className: "fl-right__item"
11462
11462
  }, /*#__PURE__*/React__default.createElement(PrimaryButton$1, {
11463
11463
  "data-qe-id": "add-interest-btn",
11464
- disabled: !selectedBrand,
11464
+ disabled: !selectedBrand || !selectedModel && !selectedMaterial,
11465
11465
  type: "button",
11466
11466
  onClick: submitInterest
11467
11467
  }, "SAVE"))))))));
@@ -1115,6 +1115,7 @@
1115
1115
  var useSearch = function useSearch(_ref) {
1116
1116
  var endpoint = _ref.endpoint,
1117
1117
  onProductIdsReceived = _ref.onProductIdsReceived,
1118
+ onSearchLoading = _ref.onSearchLoading,
1118
1119
  currency = _ref.currency,
1119
1120
  onSearchPreview = _ref.onSearchPreview;
1120
1121
  var currentSearchRequestToken = React.useRef(null);
@@ -1165,7 +1166,12 @@
1165
1166
 
1166
1167
 
1167
1168
  var newSearchToken = axios.CancelToken.source();
1168
- currentSearchRequestToken.current = newSearchToken;
1169
+ currentSearchRequestToken.current = newSearchToken; // Set loading to true when starting the search request
1170
+
1171
+ if (typeof onSearchLoading === 'function') {
1172
+ onSearchLoading(true);
1173
+ }
1174
+
1169
1175
  axios.post(endpoint, searchProducts(searchQuery, 3, currency), {
1170
1176
  cancelToken: newSearchToken.token
1171
1177
  }).then(function (response) {
@@ -1187,7 +1193,11 @@
1187
1193
  });
1188
1194
  }
1189
1195
 
1190
- currentSearchRequestToken.current = null;
1196
+ currentSearchRequestToken.current = null; // Set loading to false when search completes successfully
1197
+
1198
+ if (typeof onSearchLoading === 'function') {
1199
+ onSearchLoading(false);
1200
+ }
1191
1201
  }
1192
1202
  }).catch(function (error) {
1193
1203
  if (!axios.isCancel(error)) {
@@ -1196,10 +1206,14 @@
1196
1206
  products: [],
1197
1207
  luxity_product_ids: []
1198
1208
  });
1199
- currentSearchRequestToken.current = null;
1209
+ currentSearchRequestToken.current = null; // Set loading to false when search fails
1210
+
1211
+ if (typeof onSearchLoading === 'function') {
1212
+ onSearchLoading(false);
1213
+ }
1200
1214
  }
1201
1215
  });
1202
- }, [endpoint, currency, onSearchPreview, onProductIdsReceived]);
1216
+ }, [endpoint, currency, onSearchPreview, onProductIdsReceived, onSearchLoading]);
1203
1217
  var debouncedSearch = React.useMemo(function () {
1204
1218
  return debounce(function (searchQuery, setSearchResults) {
1205
1219
  return performSearch(searchQuery, setSearchResults);
@@ -1304,6 +1318,22 @@
1304
1318
  }
1305
1319
  }, [searchValue, immediateSearch, setIsSearchFocused, setSearchValue]);
1306
1320
  };
1321
+ var useSearchUrlQuery = function useSearchUrlQuery(setSearchValue, debouncedSearch) {
1322
+ var hasProcessedUrlQuery = React.useRef(false);
1323
+ React.useEffect(function () {
1324
+ if (hasProcessedUrlQuery.current) return;
1325
+ var urlParams = new URLSearchParams(window.location.search);
1326
+ var queryParam = urlParams.get('q');
1327
+ var isSearchPage = window.location.pathname.includes('/search');
1328
+
1329
+ if (queryParam && queryParam.trim() !== '' && isSearchPage) {
1330
+ hasProcessedUrlQuery.current = true;
1331
+ setSearchValue(queryParam);
1332
+ debouncedSearch(queryParam);
1333
+ }
1334
+ }, [setSearchValue, debouncedSearch]);
1335
+ return hasProcessedUrlQuery;
1336
+ };
1307
1337
 
1308
1338
  var LuxityMobileHeader = function LuxityMobileHeader(_ref) {
1309
1339
  var logoSrc = _ref.logoSrc,
@@ -1339,6 +1369,7 @@
1339
1369
  onProductSearchResultClick = _ref.onProductSearchResultClick,
1340
1370
  onBrandSearchResultClick = _ref.onBrandSearchResultClick,
1341
1371
  onProductIdsReceived = _ref.onProductIdsReceived,
1372
+ onSearchLoading = _ref.onSearchLoading,
1342
1373
  onLogoutClick = _ref.onLogoutClick,
1343
1374
  onInterestClick = _ref.onInterestClick,
1344
1375
  onAddressClick = _ref.onAddressClick,
@@ -1364,6 +1395,7 @@
1364
1395
  var _useSearch = useSearch({
1365
1396
  endpoint: endpoint,
1366
1397
  onProductIdsReceived: onProductIdsReceived,
1398
+ onSearchLoading: onSearchLoading,
1367
1399
  currency: currency,
1368
1400
  onSearchPreview: onSearchPreview
1369
1401
  }),
@@ -1423,6 +1455,7 @@
1423
1455
  });
1424
1456
  var immediateSearch = createImmediateSearch(setSearchValue, setSearchResults, onSearchSubmit);
1425
1457
  var handleChange = useSearchInputChange(setSearchValue, setIsSearchFocused, debouncedSearch, setSearchResults, setCachedResults);
1458
+ useSearchUrlQuery(setSearchValue, debouncedSearch);
1426
1459
  var handleKeyDown = useSearchInputKeyDown(searchValue, immediateSearch, setIsSearchFocused, setSearchValue);
1427
1460
  React.useMemo(function () {
1428
1461
  if (!initialSearchData) {
@@ -11461,7 +11461,7 @@
11461
11461
  className: "fl-right__item"
11462
11462
  }, /*#__PURE__*/React__default.createElement(PrimaryButton$1, {
11463
11463
  "data-qe-id": "add-interest-btn",
11464
- disabled: !selectedBrand,
11464
+ disabled: !selectedBrand || !selectedModel && !selectedMaterial,
11465
11465
  type: "button",
11466
11466
  onClick: submitInterest
11467
11467
  }, "SAVE"))))))));
package/ModelSelector.js CHANGED
@@ -11461,7 +11461,7 @@
11461
11461
  className: "fl-right__item"
11462
11462
  }, /*#__PURE__*/React__default.createElement(PrimaryButton$1, {
11463
11463
  "data-qe-id": "add-interest-btn",
11464
- disabled: !selectedBrand,
11464
+ disabled: !selectedBrand || !selectedModel && !selectedMaterial,
11465
11465
  type: "button",
11466
11466
  onClick: submitInterest
11467
11467
  }, "SAVE"))))))));
package/build/bundle.css CHANGED
@@ -1 +1 @@
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}.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}}@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}.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%}.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)}}
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}.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}.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}}.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%}@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
@@ -11895,7 +11895,7 @@
11895
11895
  className: "fl-right__item"
11896
11896
  }, /*#__PURE__*/React__default.createElement(PrimaryButton$1, {
11897
11897
  "data-qe-id": "add-interest-btn",
11898
- disabled: !selectedBrand,
11898
+ disabled: !selectedBrand || !selectedModel && !selectedMaterial,
11899
11899
  type: "button",
11900
11900
  onClick: submitInterest
11901
11901
  }, "SAVE"))))))));
@@ -16000,6 +16000,7 @@
16000
16000
  var useSearch = function useSearch(_ref) {
16001
16001
  var endpoint = _ref.endpoint,
16002
16002
  onProductIdsReceived = _ref.onProductIdsReceived,
16003
+ onSearchLoading = _ref.onSearchLoading,
16003
16004
  currency = _ref.currency,
16004
16005
  onSearchPreview = _ref.onSearchPreview;
16005
16006
  var currentSearchRequestToken = React.useRef(null);
@@ -16050,7 +16051,12 @@
16050
16051
 
16051
16052
 
16052
16053
  var newSearchToken = axios.CancelToken.source();
16053
- currentSearchRequestToken.current = newSearchToken;
16054
+ currentSearchRequestToken.current = newSearchToken; // Set loading to true when starting the search request
16055
+
16056
+ if (typeof onSearchLoading === 'function') {
16057
+ onSearchLoading(true);
16058
+ }
16059
+
16054
16060
  axios.post(endpoint, searchProducts(searchQuery, 3, currency), {
16055
16061
  cancelToken: newSearchToken.token
16056
16062
  }).then(function (response) {
@@ -16072,7 +16078,11 @@
16072
16078
  });
16073
16079
  }
16074
16080
 
16075
- currentSearchRequestToken.current = null;
16081
+ currentSearchRequestToken.current = null; // Set loading to false when search completes successfully
16082
+
16083
+ if (typeof onSearchLoading === 'function') {
16084
+ onSearchLoading(false);
16085
+ }
16076
16086
  }
16077
16087
  }).catch(function (error) {
16078
16088
  if (!axios.isCancel(error)) {
@@ -16081,10 +16091,14 @@
16081
16091
  products: [],
16082
16092
  luxity_product_ids: []
16083
16093
  });
16084
- currentSearchRequestToken.current = null;
16094
+ currentSearchRequestToken.current = null; // Set loading to false when search fails
16095
+
16096
+ if (typeof onSearchLoading === 'function') {
16097
+ onSearchLoading(false);
16098
+ }
16085
16099
  }
16086
16100
  });
16087
- }, [endpoint, currency, onSearchPreview, onProductIdsReceived]);
16101
+ }, [endpoint, currency, onSearchPreview, onProductIdsReceived, onSearchLoading]);
16088
16102
  var debouncedSearch = React.useMemo(function () {
16089
16103
  return debounce(function (searchQuery, setSearchResults) {
16090
16104
  return performSearch(searchQuery, setSearchResults);
@@ -16189,6 +16203,22 @@
16189
16203
  }
16190
16204
  }, [searchValue, immediateSearch, setIsSearchFocused, setSearchValue]);
16191
16205
  };
16206
+ var useSearchUrlQuery = function useSearchUrlQuery(setSearchValue, debouncedSearch) {
16207
+ var hasProcessedUrlQuery = React.useRef(false);
16208
+ React.useEffect(function () {
16209
+ if (hasProcessedUrlQuery.current) return;
16210
+ var urlParams = new URLSearchParams(window.location.search);
16211
+ var queryParam = urlParams.get('q');
16212
+ var isSearchPage = window.location.pathname.includes('/search');
16213
+
16214
+ if (queryParam && queryParam.trim() !== '' && isSearchPage) {
16215
+ hasProcessedUrlQuery.current = true;
16216
+ setSearchValue(queryParam);
16217
+ debouncedSearch(queryParam);
16218
+ }
16219
+ }, [setSearchValue, debouncedSearch]);
16220
+ return hasProcessedUrlQuery;
16221
+ };
16192
16222
 
16193
16223
  var removeCategoryByName = function removeCategoryByName(categories, name) {
16194
16224
  var _categories$filter;
@@ -16225,6 +16255,7 @@
16225
16255
  onProductSearchResultClick = _ref.onProductSearchResultClick,
16226
16256
  onBrandSearchResultClick = _ref.onBrandSearchResultClick,
16227
16257
  onProductIdsReceived = _ref.onProductIdsReceived,
16258
+ onSearchLoading = _ref.onSearchLoading,
16228
16259
  currency = _ref.currency,
16229
16260
  currencySymbol = _ref.currencySymbol,
16230
16261
  currencyOptions = _ref.currencyOptions,
@@ -16243,6 +16274,7 @@
16243
16274
  var _useSearch = useSearch({
16244
16275
  endpoint: endpoint,
16245
16276
  onProductIdsReceived: onProductIdsReceived,
16277
+ onSearchLoading: onSearchLoading,
16246
16278
  currency: currency,
16247
16279
  onSearchPreview: onSearchPreview
16248
16280
  }),
@@ -16306,6 +16338,7 @@
16306
16338
  });
16307
16339
  var immediateSearch = createImmediateSearch(setSearchValue, setSearchResults, onSearchSubmit);
16308
16340
  var handleChange = useSearchInputChange(setSearchValue, setIsSearchFocused, debouncedSearch, setSearchResults, setCachedResults);
16341
+ useSearchUrlQuery(setSearchValue, debouncedSearch);
16309
16342
  useSearchClickOutside(searchResultsRef, searchResults, setCachedResults, setIsSearchFocused, setSearchResults);
16310
16343
 
16311
16344
  var handleSearchClick = function handleSearchClick() {
@@ -17140,6 +17173,7 @@
17140
17173
  onProductSearchResultClick = _ref.onProductSearchResultClick,
17141
17174
  onBrandSearchResultClick = _ref.onBrandSearchResultClick,
17142
17175
  onProductIdsReceived = _ref.onProductIdsReceived,
17176
+ onSearchLoading = _ref.onSearchLoading,
17143
17177
  onLogoutClick = _ref.onLogoutClick,
17144
17178
  onInterestClick = _ref.onInterestClick,
17145
17179
  onAddressClick = _ref.onAddressClick,
@@ -17165,6 +17199,7 @@
17165
17199
  var _useSearch = useSearch({
17166
17200
  endpoint: endpoint,
17167
17201
  onProductIdsReceived: onProductIdsReceived,
17202
+ onSearchLoading: onSearchLoading,
17168
17203
  currency: currency,
17169
17204
  onSearchPreview: onSearchPreview
17170
17205
  }),
@@ -17224,6 +17259,7 @@
17224
17259
  });
17225
17260
  var immediateSearch = createImmediateSearch(setSearchValue, setSearchResults, onSearchSubmit);
17226
17261
  var handleChange = useSearchInputChange(setSearchValue, setIsSearchFocused, debouncedSearch, setSearchResults, setCachedResults);
17262
+ useSearchUrlQuery(setSearchValue, debouncedSearch);
17227
17263
  var handleKeyDown = useSearchInputKeyDown(searchValue, immediateSearch, setIsSearchFocused, setSearchValue);
17228
17264
  React.useMemo(function () {
17229
17265
  if (!initialSearchData) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonlineza/luxity-lib",
3
- "version": "2.37.4",
3
+ "version": "2.37.6",
4
4
  "scripts": {
5
5
  "start": "start-storybook -p 9001 -c .storybook -s ./public",
6
6
  "clean": "rimraf ./build/*.*",