@bonlineza/luxity-lib 2.37.8 → 2.38.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LuxityDesktopHeader.js +177 -45
- package/LuxityMobileHeader.js +194 -62
- package/build/bundle.css +1 -1
- package/build/bundle.js +220 -75
- package/package.json +1 -1
package/LuxityMobileHeader.js
CHANGED
|
@@ -918,7 +918,7 @@
|
|
|
918
918
|
};
|
|
919
919
|
|
|
920
920
|
var SearchResults = function SearchResults(_ref) {
|
|
921
|
-
var _searchResults$brands, _searchResults$produc,
|
|
921
|
+
var _searchResults$brands, _searchResults$produc, _initialSearchData$tr, _initialSearchData$la, _limitBrands, _limitBrands2, _initialSearchData$la2, _searchResults$produc2;
|
|
922
922
|
|
|
923
923
|
var searchValue = _ref.searchValue,
|
|
924
924
|
searchResults = _ref.searchResults,
|
|
@@ -932,7 +932,10 @@
|
|
|
932
932
|
currency = _ref.currency,
|
|
933
933
|
currencySymbol = _ref.currencySymbol,
|
|
934
934
|
onProductSearchResultClick = _ref.onProductSearchResultClick,
|
|
935
|
-
onBrandSearchResultClick = _ref.onBrandSearchResultClick
|
|
935
|
+
onBrandSearchResultClick = _ref.onBrandSearchResultClick,
|
|
936
|
+
onCreateInterests = _ref.onCreateInterests,
|
|
937
|
+
noResultsImage = _ref.noResultsImage,
|
|
938
|
+
showNoResults = _ref.showNoResults;
|
|
936
939
|
|
|
937
940
|
var _useState = React.useState(false),
|
|
938
941
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -950,15 +953,16 @@
|
|
|
950
953
|
window.removeEventListener('resize', checkIfMobile);
|
|
951
954
|
};
|
|
952
955
|
}, []);
|
|
953
|
-
var
|
|
954
|
-
var hasResults = (searchResults === null || searchResults === void 0 ? void 0 : (_searchResults$
|
|
956
|
+
var hasSearchBeenPerformed = (searchValue === null || searchValue === void 0 ? void 0 : searchValue.trim().length) >= 3;
|
|
957
|
+
var hasResults = (searchResults === null || searchResults === void 0 ? void 0 : (_searchResults$brands = searchResults.brands) === null || _searchResults$brands === void 0 ? void 0 : _searchResults$brands.length) > 0 || (searchResults === null || searchResults === void 0 ? void 0 : (_searchResults$produc = searchResults.products) === null || _searchResults$produc === void 0 ? void 0 : _searchResults$produc.length) > 0;
|
|
955
958
|
var hasInitialData = (initialSearchData === null || initialSearchData === void 0 ? void 0 : (_initialSearchData$tr = initialSearchData.trending_brands) === null || _initialSearchData$tr === void 0 ? void 0 : _initialSearchData$tr.length) > 0 || (initialSearchData === null || initialSearchData === void 0 ? void 0 : (_initialSearchData$la = initialSearchData.latest_products) === null || _initialSearchData$la === void 0 ? void 0 : _initialSearchData$la.length) > 0;
|
|
959
|
+
var shouldShowInitialData = isSearchFocused && (!hasSearchBeenPerformed || !hasResults && !showNoResults);
|
|
956
960
|
|
|
957
|
-
if (!
|
|
961
|
+
if (!isSearchFocused) {
|
|
958
962
|
return null;
|
|
959
963
|
}
|
|
960
964
|
|
|
961
|
-
if (!
|
|
965
|
+
if (!hasResults && !hasInitialData && !showNoResults) {
|
|
962
966
|
return null;
|
|
963
967
|
}
|
|
964
968
|
|
|
@@ -977,6 +981,8 @@
|
|
|
977
981
|
price: product.price,
|
|
978
982
|
retail_price: product.est_retail_price
|
|
979
983
|
};
|
|
984
|
+
var displayPrice = product.on_promotion && product.promotion_price ? product.promotion_price : selectedPrice.price;
|
|
985
|
+
var hasPromotion = product.on_promotion && product.promotion_price;
|
|
980
986
|
return /*#__PURE__*/React__default.createElement("a", {
|
|
981
987
|
key: product.link,
|
|
982
988
|
href: product.link,
|
|
@@ -1004,15 +1010,23 @@
|
|
|
1004
1010
|
className: "product-card__name"
|
|
1005
1011
|
}, shouldShowInitialData ? /*#__PURE__*/React__default.createElement("span", null, /*#__PURE__*/React__default.createElement("span", {
|
|
1006
1012
|
className: "product-card__brand-name"
|
|
1007
|
-
}, product.brand.toUpperCase()), ' ', product.name) :
|
|
1013
|
+
}, product.brand.toUpperCase()), ' ', product.name) : /*#__PURE__*/React__default.createElement("span", null, /*#__PURE__*/React__default.createElement("span", {
|
|
1014
|
+
className: "product-card__brand-name"
|
|
1015
|
+
}, product.brand.toUpperCase()), ' ', product.name)), /*#__PURE__*/React__default.createElement("div", {
|
|
1008
1016
|
className: "product-card__info-row"
|
|
1009
1017
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
1010
1018
|
className: "product-card__price-group"
|
|
1019
|
+
}, hasPromotion ? /*#__PURE__*/React__default.createElement("div", {
|
|
1020
|
+
className: "product-card__price-with-promotion"
|
|
1011
1021
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
1022
|
+
className: "product-card__price product-card__price--promotion"
|
|
1023
|
+
}, formatPrice(displayPrice)), /*#__PURE__*/React__default.createElement("div", {
|
|
1024
|
+
className: "product-card__price product-card__price--original"
|
|
1025
|
+
}, formatPrice(selectedPrice.price))) : /*#__PURE__*/React__default.createElement("div", {
|
|
1012
1026
|
className: "product-card__price"
|
|
1013
|
-
}, formatPrice(
|
|
1027
|
+
}, formatPrice(displayPrice)), selectedPrice.retail_price > 1 && selectedPrice.retail_price > displayPrice && /*#__PURE__*/React__default.createElement("div", {
|
|
1014
1028
|
className: "product-card__retail-price"
|
|
1015
|
-
}, "Est. Retail: ", formatPrice(selectedPrice.retail_price))), /*#__PURE__*/React__default.createElement("div", {
|
|
1029
|
+
}, "Est. Retail: ", formatPrice(selectedPrice.retail_price))), product.condition && /*#__PURE__*/React__default.createElement("div", {
|
|
1016
1030
|
className: "product-card__condition"
|
|
1017
1031
|
}, /*#__PURE__*/React__default.createElement("span", {
|
|
1018
1032
|
className: "product-card__condition-label"
|
|
@@ -1029,7 +1043,36 @@
|
|
|
1029
1043
|
}
|
|
1030
1044
|
|
|
1031
1045
|
return brands;
|
|
1032
|
-
};
|
|
1046
|
+
}; // Show no results state
|
|
1047
|
+
|
|
1048
|
+
|
|
1049
|
+
if (showNoResults) {
|
|
1050
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
1051
|
+
className: "search-results",
|
|
1052
|
+
ref: searchResultsRef
|
|
1053
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
1054
|
+
className: "search-results__no-results"
|
|
1055
|
+
}, /*#__PURE__*/React__default.createElement("h2", {
|
|
1056
|
+
className: "search-results__header"
|
|
1057
|
+
}, "TOP MATCHES"), /*#__PURE__*/React__default.createElement("div", {
|
|
1058
|
+
className: "search-results__no-results-content"
|
|
1059
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
1060
|
+
className: "search-results__no-results-image"
|
|
1061
|
+
}, /*#__PURE__*/React__default.createElement("img", {
|
|
1062
|
+
src: noResultsImage,
|
|
1063
|
+
alt: "No results"
|
|
1064
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
1065
|
+
className: "search-results__no-results-text"
|
|
1066
|
+
}, /*#__PURE__*/React__default.createElement("p", {
|
|
1067
|
+
className: "search-results__no-results-title"
|
|
1068
|
+
}, "There are currently no products in stock that match your selection"), /*#__PURE__*/React__default.createElement("p", {
|
|
1069
|
+
className: "search-results__no-results-description"
|
|
1070
|
+
}, "Create an interest now and receive instant notifications as your interests list."))), /*#__PURE__*/React__default.createElement("button", {
|
|
1071
|
+
type: "button",
|
|
1072
|
+
className: "search-results__create-interest-button",
|
|
1073
|
+
onClick: onCreateInterests
|
|
1074
|
+
}, "Create Interests")));
|
|
1075
|
+
}
|
|
1033
1076
|
|
|
1034
1077
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
1035
1078
|
className: "search-results",
|
|
@@ -1086,7 +1129,7 @@
|
|
|
1086
1129
|
}
|
|
1087
1130
|
}, "View all items")), /*#__PURE__*/React__default.createElement("div", {
|
|
1088
1131
|
className: "search-results__product-list"
|
|
1089
|
-
}, shouldShowInitialData ? initialSearchData === null || initialSearchData === void 0 ? void 0 : (_initialSearchData$la2 = initialSearchData.latest_products) === null || _initialSearchData$la2 === void 0 ? void 0 : _initialSearchData$la2.map(renderProductCard) : searchResults === null || searchResults === void 0 ? void 0 : (_searchResults$
|
|
1132
|
+
}, shouldShowInitialData ? initialSearchData === null || initialSearchData === void 0 ? void 0 : (_initialSearchData$la2 = initialSearchData.latest_products) === null || _initialSearchData$la2 === void 0 ? void 0 : _initialSearchData$la2.map(renderProductCard) : searchResults === null || searchResults === void 0 ? void 0 : (_searchResults$produc2 = searchResults.products) === null || _searchResults$produc2 === void 0 ? void 0 : _searchResults$produc2.map(renderProductCard)), /*#__PURE__*/React__default.createElement("button", {
|
|
1090
1133
|
type: "button",
|
|
1091
1134
|
className: "search-results__view-all-button",
|
|
1092
1135
|
onClick: function onClick() {
|
|
@@ -1101,22 +1144,36 @@
|
|
|
1101
1144
|
}, "View all items")));
|
|
1102
1145
|
};
|
|
1103
1146
|
|
|
1104
|
-
var
|
|
1147
|
+
var searchBrandsAggregations = function searchBrandsAggregations(search, currencyCode) {
|
|
1105
1148
|
return {
|
|
1106
|
-
query: "\n query
|
|
1149
|
+
query: "\n query GetProductFilterAggregations($search: String!) {\n luxity_products_aggregations(search: $search) {\n luxity_brand {\n name\n }\n }\n }\n ",
|
|
1150
|
+
variables: {
|
|
1151
|
+
search: search,
|
|
1152
|
+
currency_code: currencyCode
|
|
1153
|
+
}
|
|
1154
|
+
};
|
|
1155
|
+
}; // NEW: Get top products for search dropdown (right side)
|
|
1156
|
+
|
|
1157
|
+
var searchProductsFilter = function searchProductsFilter(search, limit, currencyCode) {
|
|
1158
|
+
return {
|
|
1159
|
+
query: "\n query LUXITY_PRODUCTS_FILTER(\n $search: String!\n $limit: Int!\n $page: Int!\n $sort_by: String!\n $with_sold: Boolean!\n $currency_code: String!\n ) {\n luxity_products_filter(\n search: $search\n limit: $limit\n page: $page\n sort_by: $sort_by\n with_sold: $with_sold\n ) {\n data {\n id\n product {\n sku\n name\n price(currency_code: $currency_code)\n promotion_price(currency_code: $currency_code)\n est_retail_price(currency_code: $currency_code)\n condition\n currency_symbol(currency_code: $currency_code)\n }\n category_type\n gender\n status\n featured_image\n on_promotion\n promotion_discount\n luxity_brand {\n id\n name\n slug\n }\n }\n total\n }\n }\n ",
|
|
1107
1160
|
variables: {
|
|
1108
1161
|
search: search,
|
|
1109
1162
|
limit: limit,
|
|
1110
|
-
|
|
1163
|
+
page: 1,
|
|
1164
|
+
sort_by: 'newest',
|
|
1165
|
+
with_sold: false,
|
|
1166
|
+
currency_code: currencyCode
|
|
1111
1167
|
}
|
|
1112
1168
|
};
|
|
1113
1169
|
};
|
|
1114
1170
|
|
|
1115
1171
|
var useSearch = function useSearch(_ref) {
|
|
1116
1172
|
var endpoint = _ref.endpoint,
|
|
1117
|
-
|
|
1173
|
+
onSearchLoading = _ref.onSearchLoading,
|
|
1118
1174
|
currency = _ref.currency,
|
|
1119
|
-
onSearchPreview = _ref.onSearchPreview
|
|
1175
|
+
onSearchPreview = _ref.onSearchPreview,
|
|
1176
|
+
onNoResults = _ref.onNoResults;
|
|
1120
1177
|
var currentSearchRequestToken = React.useRef(null);
|
|
1121
1178
|
var debounce = React.useCallback(function (func, wait) {
|
|
1122
1179
|
var timeout;
|
|
@@ -1152,9 +1209,13 @@
|
|
|
1152
1209
|
if (!searchQuery || searchQuery.trim() === '') {
|
|
1153
1210
|
setSearchResults({
|
|
1154
1211
|
brands: [],
|
|
1155
|
-
products: []
|
|
1156
|
-
|
|
1157
|
-
|
|
1212
|
+
products: []
|
|
1213
|
+
}); // Reset no results state when clearing search
|
|
1214
|
+
|
|
1215
|
+
if (typeof onNoResults === 'function') {
|
|
1216
|
+
onNoResults(false);
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1158
1219
|
return;
|
|
1159
1220
|
} // Cancel any ongoing search request to prevent race conditions
|
|
1160
1221
|
|
|
@@ -1165,22 +1226,81 @@
|
|
|
1165
1226
|
|
|
1166
1227
|
|
|
1167
1228
|
var newSearchToken = axios.CancelToken.source();
|
|
1168
|
-
currentSearchRequestToken.current = newSearchToken;
|
|
1169
|
-
|
|
1229
|
+
currentSearchRequestToken.current = newSearchToken; // Reset no results state when starting new search (user is typing)
|
|
1230
|
+
|
|
1231
|
+
if (typeof onNoResults === 'function') {
|
|
1232
|
+
onNoResults(false);
|
|
1233
|
+
} // Set loading to true when starting the search request
|
|
1234
|
+
|
|
1235
|
+
|
|
1236
|
+
if (typeof onSearchLoading === 'function') {
|
|
1237
|
+
onSearchLoading(true);
|
|
1238
|
+
} // Make TWO parallel queries: brands aggregations + products filter
|
|
1239
|
+
|
|
1240
|
+
|
|
1241
|
+
Promise.all([// Query 1: Get brands aggregations
|
|
1242
|
+
axios.post(endpoint, searchBrandsAggregations(searchQuery, currency), {
|
|
1170
1243
|
cancelToken: newSearchToken.token
|
|
1171
|
-
})
|
|
1244
|
+
}), // Query 2: Get top 3 products
|
|
1245
|
+
axios.post(endpoint, searchProductsFilter(searchQuery, 3, currency), {
|
|
1246
|
+
cancelToken: newSearchToken.token
|
|
1247
|
+
})]).then(function (_ref3) {
|
|
1248
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
1249
|
+
brandsResponse = _ref4[0],
|
|
1250
|
+
productsResponse = _ref4[1];
|
|
1251
|
+
|
|
1172
1252
|
if (currentSearchRequestToken.current === newSearchToken) {
|
|
1173
|
-
var
|
|
1174
|
-
|
|
1253
|
+
var _brandsResponse$data$, _productsResponse$dat, _productsResponse$dat2;
|
|
1254
|
+
|
|
1255
|
+
// Extract brands from aggregations
|
|
1256
|
+
var brandsData = ((_brandsResponse$data$ = brandsResponse.data.data.luxity_products_aggregations) === null || _brandsResponse$data$ === void 0 ? void 0 : _brandsResponse$data$.luxity_brand) || []; // Extract products from filter
|
|
1257
|
+
|
|
1258
|
+
var productsData = ((_productsResponse$dat = productsResponse.data.data.luxity_products_filter) === null || _productsResponse$dat === void 0 ? void 0 : _productsResponse$dat.data) || [];
|
|
1259
|
+
var totalResults = ((_productsResponse$dat2 = productsResponse.data.data.luxity_products_filter) === null || _productsResponse$dat2 === void 0 ? void 0 : _productsResponse$dat2.total) || 0; // Map brands to old structure: { name, link }
|
|
1260
|
+
|
|
1261
|
+
var brands = brandsData.slice(0, 10).map(function (brand) {
|
|
1262
|
+
return {
|
|
1263
|
+
name: brand.name,
|
|
1264
|
+
link: "/products/brands/".concat(brand.name.toLowerCase().replace(/\s+/g, '-')) // Convert to slug
|
|
1265
|
+
|
|
1266
|
+
};
|
|
1267
|
+
}); // Map products to old structure with prices
|
|
1268
|
+
|
|
1269
|
+
var products = productsData.map(function (product) {
|
|
1270
|
+
return {
|
|
1271
|
+
name: product.product.name,
|
|
1272
|
+
brand: product.luxity_brand.name,
|
|
1273
|
+
link: "/products/".concat(product.id),
|
|
1274
|
+
// Using product ID for link
|
|
1275
|
+
price: product.product.price || 0,
|
|
1276
|
+
promotion_price: product.product.promotion_price || null,
|
|
1277
|
+
est_retail_price: product.product.est_retail_price || 0,
|
|
1278
|
+
condition: product.product.condition || '',
|
|
1279
|
+
currency_symbol: product.product.currency_symbol || '',
|
|
1280
|
+
featured_image: product.featured_image,
|
|
1281
|
+
on_promotion: product.on_promotion || false,
|
|
1282
|
+
promotion_discount: product.promotion_discount || 0,
|
|
1283
|
+
// Keep new fields for potential future use
|
|
1284
|
+
id: product.id,
|
|
1285
|
+
category_type: product.category_type,
|
|
1286
|
+
luxity_brand: product.luxity_brand
|
|
1287
|
+
};
|
|
1288
|
+
});
|
|
1289
|
+
var searchResults = {
|
|
1290
|
+
brands: brands,
|
|
1291
|
+
products: products,
|
|
1292
|
+
total: totalResults
|
|
1293
|
+
};
|
|
1294
|
+
setSearchResults(searchResults); // Check if we have no results (empty aggregations)
|
|
1175
1295
|
|
|
1176
|
-
|
|
1177
|
-
|
|
1296
|
+
var hasNoResults = brandsData.length === 0 && productsData.length === 0;
|
|
1297
|
+
|
|
1298
|
+
if (typeof onNoResults === 'function') {
|
|
1299
|
+
onNoResults(hasNoResults);
|
|
1178
1300
|
}
|
|
1179
1301
|
|
|
1180
1302
|
if (typeof onSearchPreview === 'function') {
|
|
1181
|
-
var
|
|
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;
|
|
1303
|
+
var hasResults = brands.length > 0 || products.length > 0;
|
|
1184
1304
|
onSearchPreview({
|
|
1185
1305
|
search_string: searchQuery,
|
|
1186
1306
|
has_results: hasResults
|
|
@@ -1193,13 +1313,12 @@
|
|
|
1193
1313
|
if (!axios.isCancel(error)) {
|
|
1194
1314
|
setSearchResults({
|
|
1195
1315
|
brands: [],
|
|
1196
|
-
products: []
|
|
1197
|
-
luxity_product_ids: []
|
|
1316
|
+
products: []
|
|
1198
1317
|
});
|
|
1199
1318
|
currentSearchRequestToken.current = null;
|
|
1200
1319
|
}
|
|
1201
1320
|
});
|
|
1202
|
-
}, [endpoint, currency, onSearchPreview,
|
|
1321
|
+
}, [endpoint, currency, onSearchPreview, onSearchLoading, onNoResults]);
|
|
1203
1322
|
var debouncedSearch = React.useMemo(function () {
|
|
1204
1323
|
return debounce(function (searchQuery, setSearchResults) {
|
|
1205
1324
|
return performSearch(searchQuery, setSearchResults);
|
|
@@ -1338,7 +1457,7 @@
|
|
|
1338
1457
|
onSearchPreview = _ref.onSearchPreview,
|
|
1339
1458
|
onProductSearchResultClick = _ref.onProductSearchResultClick,
|
|
1340
1459
|
onBrandSearchResultClick = _ref.onBrandSearchResultClick,
|
|
1341
|
-
|
|
1460
|
+
onSearchLoading = _ref.onSearchLoading,
|
|
1342
1461
|
onLogoutClick = _ref.onLogoutClick,
|
|
1343
1462
|
onInterestClick = _ref.onInterestClick,
|
|
1344
1463
|
onAddressClick = _ref.onAddressClick,
|
|
@@ -1359,61 +1478,69 @@
|
|
|
1359
1478
|
shop = _ref.shop,
|
|
1360
1479
|
app = _ref.app,
|
|
1361
1480
|
categoryConfig = _ref.categoryConfig,
|
|
1362
|
-
name = _ref.name
|
|
1481
|
+
name = _ref.name,
|
|
1482
|
+
onCreateInterests = _ref.onCreateInterests,
|
|
1483
|
+
noResultsImage = _ref.noResultsImage;
|
|
1484
|
+
|
|
1485
|
+
var _useState = React.useState(false),
|
|
1486
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1487
|
+
showNoResults = _useState2[0],
|
|
1488
|
+
setShowNoResults = _useState2[1];
|
|
1363
1489
|
|
|
1364
1490
|
var _useSearch = useSearch({
|
|
1365
1491
|
endpoint: endpoint,
|
|
1366
|
-
|
|
1492
|
+
onSearchLoading: onSearchLoading,
|
|
1367
1493
|
currency: currency,
|
|
1368
|
-
onSearchPreview: onSearchPreview
|
|
1494
|
+
onSearchPreview: onSearchPreview,
|
|
1495
|
+
onNoResults: setShowNoResults
|
|
1369
1496
|
}),
|
|
1370
1497
|
fetchInitialSearchData = _useSearch.fetchInitialSearchData,
|
|
1371
1498
|
createDebouncedSearch = _useSearch.createDebouncedSearch,
|
|
1372
1499
|
createImmediateSearch = _useSearch.createImmediateSearch;
|
|
1373
1500
|
|
|
1374
|
-
var
|
|
1375
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1376
|
-
searchValue = _useState2[0],
|
|
1377
|
-
setSearchValue = _useState2[1];
|
|
1378
|
-
|
|
1379
|
-
var _useState3 = React.useState(false),
|
|
1501
|
+
var _useState3 = React.useState(''),
|
|
1380
1502
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
1381
|
-
|
|
1382
|
-
|
|
1503
|
+
searchValue = _useState4[0],
|
|
1504
|
+
setSearchValue = _useState4[1];
|
|
1383
1505
|
|
|
1384
1506
|
var _useState5 = React.useState(false),
|
|
1385
1507
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
1386
|
-
|
|
1387
|
-
|
|
1508
|
+
showSearchBar = _useState6[0],
|
|
1509
|
+
setShowSearchbar = _useState6[1];
|
|
1388
1510
|
|
|
1389
|
-
var _useState7 = React.useState(
|
|
1390
|
-
brands: [],
|
|
1391
|
-
products: []
|
|
1392
|
-
}),
|
|
1511
|
+
var _useState7 = React.useState(false),
|
|
1393
1512
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
1394
|
-
|
|
1395
|
-
|
|
1513
|
+
showSideNav = _useState8[0],
|
|
1514
|
+
setShowSideNav = _useState8[1];
|
|
1396
1515
|
|
|
1397
1516
|
var _useState9 = React.useState({
|
|
1398
1517
|
brands: [],
|
|
1399
1518
|
products: []
|
|
1400
1519
|
}),
|
|
1401
1520
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
1402
|
-
|
|
1403
|
-
|
|
1521
|
+
searchResults = _useState10[0],
|
|
1522
|
+
setSearchResults = _useState10[1];
|
|
1404
1523
|
|
|
1405
|
-
var _useState11 = React.useState(
|
|
1524
|
+
var _useState11 = React.useState({
|
|
1525
|
+
brands: [],
|
|
1526
|
+
products: []
|
|
1527
|
+
}),
|
|
1406
1528
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
1407
|
-
|
|
1408
|
-
|
|
1529
|
+
cachedResults = _useState12[0],
|
|
1530
|
+
setCachedResults = _useState12[1];
|
|
1409
1531
|
|
|
1410
|
-
var _useState13 = React.useState(
|
|
1532
|
+
var _useState13 = React.useState(false),
|
|
1533
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
1534
|
+
isSearchFocused = _useState14[0],
|
|
1535
|
+
setIsSearchFocused = _useState14[1];
|
|
1536
|
+
|
|
1537
|
+
var _useState15 = React.useState({
|
|
1411
1538
|
trending_brands: [],
|
|
1412
1539
|
latest_products: []
|
|
1413
1540
|
}),
|
|
1414
|
-
|
|
1415
|
-
initialSearchView =
|
|
1416
|
-
setInitialSearchView =
|
|
1541
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
1542
|
+
initialSearchView = _useState16[0],
|
|
1543
|
+
setInitialSearchView = _useState16[1];
|
|
1417
1544
|
|
|
1418
1545
|
var searchResultsRef = React.useRef(null);
|
|
1419
1546
|
var searchInputRef = React.useRef(null);
|
|
@@ -1455,6 +1582,7 @@
|
|
|
1455
1582
|
brands: [],
|
|
1456
1583
|
products: []
|
|
1457
1584
|
});
|
|
1585
|
+
setShowNoResults(false);
|
|
1458
1586
|
}
|
|
1459
1587
|
};
|
|
1460
1588
|
|
|
@@ -1639,6 +1767,7 @@
|
|
|
1639
1767
|
products: []
|
|
1640
1768
|
});
|
|
1641
1769
|
setIsSearchFocused(false);
|
|
1770
|
+
setShowNoResults(false);
|
|
1642
1771
|
},
|
|
1643
1772
|
onSearchSubmit: onSearchSubmit,
|
|
1644
1773
|
setSearchValue: setSearchValue,
|
|
@@ -1649,7 +1778,10 @@
|
|
|
1649
1778
|
currency: currency,
|
|
1650
1779
|
currencySymbol: currencySymbol,
|
|
1651
1780
|
onProductSearchResultClick: onProductSearchResultClick,
|
|
1652
|
-
onBrandSearchResultClick: onBrandSearchResultClick
|
|
1781
|
+
onBrandSearchResultClick: onBrandSearchResultClick,
|
|
1782
|
+
onCreateInterests: onCreateInterests,
|
|
1783
|
+
noResultsImage: noResultsImage,
|
|
1784
|
+
showNoResults: showNoResults
|
|
1653
1785
|
}))), shop && /*#__PURE__*/React__default.createElement(LuxitySideNav, {
|
|
1654
1786
|
accordionIcon: accordionIcon,
|
|
1655
1787
|
logoSrc: logoSrc,
|
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}}.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%}.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%}.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}.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{font-family:Martel Sans;font-size:14px;font-weight:600;line-height:1}.product-card__price--promotion{color:#000}.product-card__price--original{color:#939393;font-weight:400;text-decoration:line-through}.product-card__price-with-promotion{display:flex;flex-direction:column;gap:2px}.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}}.search-results__no-results{display:flex;flex-direction:column;width:100%}.search-results__no-results-content{align-items:flex-start;display:flex;gap:20px;padding:20px}@media only screen and (max-width:879px){.search-results__no-results-content{align-items:center;flex-direction:column;text-align:center}}.search-results__no-results-image{border-radius:4px;flex-shrink:0;height:180px;overflow:hidden;width:180px}@media only screen and (max-width:879px){.search-results__no-results-image{height:150px;width:150px}}.search-results__no-results-image img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.search-results__no-results-text{display:flex;flex:1;flex-direction:column;gap:12px}.search-results__no-results-title{color:#000;font-family:Martel Sans;font-size:16px;font-weight:600;line-height:1.4;margin:0}.search-results__no-results-description{color:#939393;font-family:Martel Sans;font-size:14px;line-height:1.5;margin:0}.search-results__create-interest-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__create-interest-button{display:block}}.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)}}
|