@bonlineza/luxity-lib 2.38.2 → 2.39.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.
@@ -82,10 +82,22 @@
82
82
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
83
83
  }
84
84
 
85
+ function _toConsumableArray(arr) {
86
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
87
+ }
88
+
89
+ function _arrayWithoutHoles(arr) {
90
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
91
+ }
92
+
85
93
  function _arrayWithHoles(arr) {
86
94
  if (Array.isArray(arr)) return arr;
87
95
  }
88
96
 
97
+ function _iterableToArray(iter) {
98
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
99
+ }
100
+
89
101
  function _iterableToArrayLimit(arr, i) {
90
102
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
91
103
 
@@ -133,6 +145,10 @@
133
145
  return arr2;
134
146
  }
135
147
 
148
+ function _nonIterableSpread() {
149
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
150
+ }
151
+
136
152
  function _nonIterableRest() {
137
153
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
138
154
  }
@@ -298,7 +314,7 @@
298
314
  };
299
315
 
300
316
  var SearchResults = function SearchResults(_ref) {
301
- var _searchResults$brands, _searchResults$produc, _initialSearchData$tr, _initialSearchData$la, _limitBrands, _limitBrands2, _initialSearchData$la2, _searchResults$produc2;
317
+ var _searchResults$brands, _searchResults$produc, _initialSearchData$tr, _initialSearchData$la;
302
318
 
303
319
  var searchValue = _ref.searchValue,
304
320
  searchResults = _ref.searchResults,
@@ -315,7 +331,9 @@
315
331
  onBrandSearchResultClick = _ref.onBrandSearchResultClick,
316
332
  onCreateInterests = _ref.onCreateInterests,
317
333
  noResultsImage = _ref.noResultsImage,
318
- showNoResults = _ref.showNoResults;
334
+ showNoResults = _ref.showNoResults,
335
+ _ref$isLoading = _ref.isLoading,
336
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading;
319
337
 
320
338
  var _useState = React.useState(false),
321
339
  _useState2 = _slicedToArray(_useState, 2),
@@ -354,6 +372,39 @@
354
372
  return "".concat(currencySymbol).concat(formatter.format(price));
355
373
  };
356
374
 
375
+ var renderBrandSkeleton = function renderBrandSkeleton() {
376
+ return /*#__PURE__*/React__default.createElement("div", {
377
+ className: "brand-skeleton"
378
+ }, /*#__PURE__*/React__default.createElement("div", {
379
+ className: "brand-skeleton__item shimmer"
380
+ }), /*#__PURE__*/React__default.createElement("div", {
381
+ className: "brand-skeleton__item shimmer"
382
+ }), /*#__PURE__*/React__default.createElement("div", {
383
+ className: "brand-skeleton__item shimmer"
384
+ }), /*#__PURE__*/React__default.createElement("div", {
385
+ className: "brand-skeleton__item shimmer"
386
+ }));
387
+ };
388
+
389
+ var renderProductSkeleton = function renderProductSkeleton() {
390
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _toConsumableArray(Array(3)).map(function (_, index) {
391
+ return /*#__PURE__*/React__default.createElement("div", {
392
+ key: index,
393
+ className: "product-skeleton"
394
+ }, /*#__PURE__*/React__default.createElement("div", {
395
+ className: "product-skeleton__image shimmer"
396
+ }), /*#__PURE__*/React__default.createElement("div", {
397
+ className: "product-skeleton__content"
398
+ }, /*#__PURE__*/React__default.createElement("div", {
399
+ className: "product-skeleton__title shimmer"
400
+ }), /*#__PURE__*/React__default.createElement("div", {
401
+ className: "product-skeleton__subtitle shimmer"
402
+ }), /*#__PURE__*/React__default.createElement("div", {
403
+ className: "product-skeleton__price shimmer"
404
+ })));
405
+ }));
406
+ };
407
+
357
408
  var renderProductCard = function renderProductCard(product) {
358
409
  var selectedPrice = product.prices ? product.prices.find(function (p) {
359
410
  return p.currency === currency;
@@ -423,6 +474,70 @@
423
474
  }
424
475
 
425
476
  return brands;
477
+ };
478
+
479
+ var renderBrandsList = function renderBrandsList() {
480
+ var _limitBrands2;
481
+
482
+ if (isLoading) {
483
+ return renderBrandSkeleton();
484
+ }
485
+
486
+ if (shouldShowInitialData) {
487
+ var _limitBrands;
488
+
489
+ return (_limitBrands = limitBrands(initialSearchData === null || initialSearchData === void 0 ? void 0 : initialSearchData.trending_brands)) === null || _limitBrands === void 0 ? void 0 : _limitBrands.map(function (brand) {
490
+ return /*#__PURE__*/React__default.createElement("a", {
491
+ key: brand.id,
492
+ href: getBrandLink(brand),
493
+ className: "search-results__item",
494
+ onClick: function onClick() {
495
+ if (typeof onBrandSearchResultClick === 'function') {
496
+ onBrandSearchResultClick({
497
+ brand_name: brand.name,
498
+ brand_link: getBrandLink(brand),
499
+ search_string: searchValue,
500
+ is_trending: true
501
+ });
502
+ }
503
+ }
504
+ }, brand.name);
505
+ });
506
+ }
507
+
508
+ return (_limitBrands2 = limitBrands(searchResults === null || searchResults === void 0 ? void 0 : searchResults.brands)) === null || _limitBrands2 === void 0 ? void 0 : _limitBrands2.map(function (brand) {
509
+ return /*#__PURE__*/React__default.createElement("a", {
510
+ key: brand.link,
511
+ href: brand.link,
512
+ className: "search-results__item",
513
+ onClick: function onClick() {
514
+ if (typeof onBrandSearchResultClick === 'function') {
515
+ onBrandSearchResultClick({
516
+ brand_name: brand.name,
517
+ brand_link: brand.link,
518
+ search_string: searchValue,
519
+ is_trending: false
520
+ });
521
+ }
522
+ }
523
+ }, brand.name);
524
+ });
525
+ };
526
+
527
+ var renderProductsList = function renderProductsList() {
528
+ var _searchResults$produc2;
529
+
530
+ if (isLoading) {
531
+ return renderProductSkeleton();
532
+ }
533
+
534
+ if (shouldShowInitialData) {
535
+ var _initialSearchData$la2;
536
+
537
+ return initialSearchData === null || initialSearchData === void 0 ? void 0 : (_initialSearchData$la2 = initialSearchData.latest_products) === null || _initialSearchData$la2 === void 0 ? void 0 : _initialSearchData$la2.map(renderProductCard);
538
+ }
539
+
540
+ return searchResults === null || searchResults === void 0 ? void 0 : (_searchResults$produc2 = searchResults.products) === null || _searchResults$produc2 === void 0 ? void 0 : _searchResults$produc2.map(renderProductCard);
426
541
  }; // Show no results state
427
542
 
428
543
 
@@ -463,39 +578,7 @@
463
578
  className: "search-results__header"
464
579
  }, shouldShowInitialData ? 'TRENDING SEARCHES' : 'BRANDS'), /*#__PURE__*/React__default.createElement("div", {
465
580
  className: "search-results__list"
466
- }, shouldShowInitialData ? (_limitBrands = limitBrands(initialSearchData === null || initialSearchData === void 0 ? void 0 : initialSearchData.trending_brands)) === null || _limitBrands === void 0 ? void 0 : _limitBrands.map(function (brand) {
467
- return /*#__PURE__*/React__default.createElement("a", {
468
- key: brand.id,
469
- href: getBrandLink(brand),
470
- className: "search-results__item",
471
- onClick: function onClick() {
472
- if (typeof onBrandSearchResultClick === 'function') {
473
- onBrandSearchResultClick({
474
- brand_name: brand.name,
475
- brand_link: getBrandLink(brand),
476
- search_string: searchValue,
477
- is_trending: true
478
- });
479
- }
480
- }
481
- }, brand.name);
482
- }) : (_limitBrands2 = limitBrands(searchResults === null || searchResults === void 0 ? void 0 : searchResults.brands)) === null || _limitBrands2 === void 0 ? void 0 : _limitBrands2.map(function (brand) {
483
- return /*#__PURE__*/React__default.createElement("a", {
484
- key: brand.link,
485
- href: brand.link,
486
- className: "search-results__item",
487
- onClick: function onClick() {
488
- if (typeof onBrandSearchResultClick === 'function') {
489
- onBrandSearchResultClick({
490
- brand_name: brand.name,
491
- brand_link: brand.link,
492
- search_string: searchValue,
493
- is_trending: false
494
- });
495
- }
496
- }
497
- }, brand.name);
498
- }))), /*#__PURE__*/React__default.createElement("div", {
581
+ }, renderBrandsList())), /*#__PURE__*/React__default.createElement("div", {
499
582
  className: "search-results__section"
500
583
  }, /*#__PURE__*/React__default.createElement("div", {
501
584
  className: "search-results__section-header"
@@ -509,7 +592,7 @@
509
592
  }
510
593
  }, "View all items")), /*#__PURE__*/React__default.createElement("div", {
511
594
  className: "search-results__product-list"
512
- }, 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", {
595
+ }, renderProductsList()), /*#__PURE__*/React__default.createElement("button", {
513
596
  type: "button",
514
597
  className: "search-results__view-all-button",
515
598
  onClick: function onClick() {
@@ -835,7 +918,12 @@
835
918
  if (currentSearchRequestToken.current === newSearchToken) {
836
919
  var _brandsResponse$data$, _productsResponse$dat, _productsResponse$dat2;
837
920
 
838
- // Extract brands from aggregations
921
+ // Set loading to false when search completes
922
+ if (typeof onSearchLoading === 'function') {
923
+ onSearchLoading(false);
924
+ } // Extract brands from aggregations
925
+
926
+
839
927
  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
840
928
 
841
929
  var productsData = ((_productsResponse$dat = productsResponse.data.data.luxity_products_filter) === null || _productsResponse$dat === void 0 ? void 0 : _productsResponse$dat.data) || [];
@@ -898,6 +986,11 @@
898
986
  }
899
987
  }).catch(function (error) {
900
988
  if (!axios.isCancel(error)) {
989
+ // Set loading to false when search fails
990
+ if (typeof onSearchLoading === 'function') {
991
+ onSearchLoading(false);
992
+ }
993
+
901
994
  setSearchResults({
902
995
  brands: [],
903
996
  products: []
@@ -1045,7 +1138,7 @@
1045
1138
  onSearchPreview = _ref.onSearchPreview,
1046
1139
  onProductSearchResultClick = _ref.onProductSearchResultClick,
1047
1140
  onBrandSearchResultClick = _ref.onBrandSearchResultClick,
1048
- onSearchLoading = _ref.onSearchLoading,
1141
+ _onSearchLoading = _ref.onSearchLoading,
1049
1142
  currency = _ref.currency,
1050
1143
  currencySymbol = _ref.currencySymbol,
1051
1144
  currencyOptions = _ref.currencyOptions,
@@ -1075,53 +1168,64 @@
1075
1168
 
1076
1169
  var _useState5 = React.useState(false),
1077
1170
  _useState6 = _slicedToArray(_useState5, 2),
1078
- isSearchFocused = _useState6[0],
1079
- setIsSearchFocused = _useState6[1];
1171
+ searchLoading = _useState6[0],
1172
+ setSearchLoading = _useState6[1];
1173
+
1174
+ var _useState7 = React.useState(false),
1175
+ _useState8 = _slicedToArray(_useState7, 2),
1176
+ isSearchFocused = _useState8[0],
1177
+ setIsSearchFocused = _useState8[1];
1080
1178
 
1081
- var _useState7 = React.useState({
1179
+ var _useState9 = React.useState({
1082
1180
  trending_brands: [],
1083
1181
  latest_products: []
1084
1182
  }),
1085
- _useState8 = _slicedToArray(_useState7, 2),
1086
- initialSearchView = _useState8[0],
1087
- setInitialSearchView = _useState8[1];
1088
-
1089
- var _useState9 = React.useState({}),
1090
1183
  _useState10 = _slicedToArray(_useState9, 2),
1091
- dropdownData = _useState10[0],
1092
- setDropdownData = _useState10[1];
1184
+ initialSearchView = _useState10[0],
1185
+ setInitialSearchView = _useState10[1];
1093
1186
 
1094
- var _useState11 = React.useState(false),
1187
+ var _useState11 = React.useState({}),
1095
1188
  _useState12 = _slicedToArray(_useState11, 2),
1096
- hasError = _useState12[0],
1097
- setHasError = _useState12[1];
1189
+ dropdownData = _useState12[0],
1190
+ setDropdownData = _useState12[1];
1098
1191
 
1099
- var _useState13 = React.useState({
1100
- brands: [],
1101
- products: []
1102
- }),
1192
+ var _useState13 = React.useState(false),
1103
1193
  _useState14 = _slicedToArray(_useState13, 2),
1104
- searchResults = _useState14[0],
1105
- setSearchResults = _useState14[1];
1194
+ hasError = _useState14[0],
1195
+ setHasError = _useState14[1];
1106
1196
 
1107
1197
  var _useState15 = React.useState({
1108
1198
  brands: [],
1109
1199
  products: []
1110
1200
  }),
1111
1201
  _useState16 = _slicedToArray(_useState15, 2),
1112
- cachedResults = _useState16[0],
1113
- setCachedResults = _useState16[1];
1202
+ searchResults = _useState16[0],
1203
+ setSearchResults = _useState16[1];
1114
1204
 
1115
- var _useState17 = React.useState(false),
1205
+ var _useState17 = React.useState({
1206
+ brands: [],
1207
+ products: []
1208
+ }),
1116
1209
  _useState18 = _slicedToArray(_useState17, 2),
1117
- showNoResults = _useState18[0],
1118
- setShowNoResults = _useState18[1];
1210
+ cachedResults = _useState18[0],
1211
+ setCachedResults = _useState18[1];
1212
+
1213
+ var _useState19 = React.useState(false),
1214
+ _useState20 = _slicedToArray(_useState19, 2),
1215
+ showNoResults = _useState20[0],
1216
+ setShowNoResults = _useState20[1];
1119
1217
 
1120
1218
  var searchResultsRef = React.useRef(null);
1121
1219
 
1122
1220
  var _useSearch = useSearch({
1123
1221
  endpoint: endpoint,
1124
- onSearchLoading: onSearchLoading,
1222
+ onSearchLoading: function onSearchLoading(isLoading) {
1223
+ setSearchLoading(isLoading);
1224
+
1225
+ if (typeof _onSearchLoading === 'function') {
1226
+ _onSearchLoading(isLoading);
1227
+ }
1228
+ },
1125
1229
  currency: currency,
1126
1230
  onSearchPreview: onSearchPreview,
1127
1231
  onNoResults: setShowNoResults
@@ -1276,7 +1380,8 @@
1276
1380
  onBrandSearchResultClick: onBrandSearchResultClick,
1277
1381
  onCreateInterests: onCreateInterests,
1278
1382
  noResultsImage: noResultsImage,
1279
- showNoResults: showNoResults
1383
+ showNoResults: showNoResults,
1384
+ isLoading: searchLoading
1280
1385
  }), /*#__PURE__*/React__default.createElement("nav", {
1281
1386
  className: "navbar__nav-links navbar__nav-links--wrap"
1282
1387
  }, renderDropdownLinks(), !!stores.length && /*#__PURE__*/React__default.createElement("li", {
package/LuxityFooter.js CHANGED
@@ -1823,6 +1823,7 @@
1823
1823
  _formControl.current.formState = getProxyFormState(formState, control);
1824
1824
  return _formControl.current;
1825
1825
  }
1826
+ //# sourceMappingURL=index.esm.mjs.map
1826
1827
 
1827
1828
  var theme = {
1828
1829
  breakpoints: ['40em', '52em', '64em'],
@@ -82,10 +82,22 @@
82
82
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
83
83
  }
84
84
 
85
+ function _toConsumableArray(arr) {
86
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
87
+ }
88
+
89
+ function _arrayWithoutHoles(arr) {
90
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
91
+ }
92
+
85
93
  function _arrayWithHoles(arr) {
86
94
  if (Array.isArray(arr)) return arr;
87
95
  }
88
96
 
97
+ function _iterableToArray(iter) {
98
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
99
+ }
100
+
89
101
  function _iterableToArrayLimit(arr, i) {
90
102
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
91
103
 
@@ -133,6 +145,10 @@
133
145
  return arr2;
134
146
  }
135
147
 
148
+ function _nonIterableSpread() {
149
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
150
+ }
151
+
136
152
  function _nonIterableRest() {
137
153
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
138
154
  }
@@ -918,7 +934,7 @@
918
934
  };
919
935
 
920
936
  var SearchResults = function SearchResults(_ref) {
921
- var _searchResults$brands, _searchResults$produc, _initialSearchData$tr, _initialSearchData$la, _limitBrands, _limitBrands2, _initialSearchData$la2, _searchResults$produc2;
937
+ var _searchResults$brands, _searchResults$produc, _initialSearchData$tr, _initialSearchData$la;
922
938
 
923
939
  var searchValue = _ref.searchValue,
924
940
  searchResults = _ref.searchResults,
@@ -935,7 +951,9 @@
935
951
  onBrandSearchResultClick = _ref.onBrandSearchResultClick,
936
952
  onCreateInterests = _ref.onCreateInterests,
937
953
  noResultsImage = _ref.noResultsImage,
938
- showNoResults = _ref.showNoResults;
954
+ showNoResults = _ref.showNoResults,
955
+ _ref$isLoading = _ref.isLoading,
956
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading;
939
957
 
940
958
  var _useState = React.useState(false),
941
959
  _useState2 = _slicedToArray(_useState, 2),
@@ -974,6 +992,39 @@
974
992
  return "".concat(currencySymbol).concat(formatter.format(price));
975
993
  };
976
994
 
995
+ var renderBrandSkeleton = function renderBrandSkeleton() {
996
+ return /*#__PURE__*/React__default.createElement("div", {
997
+ className: "brand-skeleton"
998
+ }, /*#__PURE__*/React__default.createElement("div", {
999
+ className: "brand-skeleton__item shimmer"
1000
+ }), /*#__PURE__*/React__default.createElement("div", {
1001
+ className: "brand-skeleton__item shimmer"
1002
+ }), /*#__PURE__*/React__default.createElement("div", {
1003
+ className: "brand-skeleton__item shimmer"
1004
+ }), /*#__PURE__*/React__default.createElement("div", {
1005
+ className: "brand-skeleton__item shimmer"
1006
+ }));
1007
+ };
1008
+
1009
+ var renderProductSkeleton = function renderProductSkeleton() {
1010
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _toConsumableArray(Array(3)).map(function (_, index) {
1011
+ return /*#__PURE__*/React__default.createElement("div", {
1012
+ key: index,
1013
+ className: "product-skeleton"
1014
+ }, /*#__PURE__*/React__default.createElement("div", {
1015
+ className: "product-skeleton__image shimmer"
1016
+ }), /*#__PURE__*/React__default.createElement("div", {
1017
+ className: "product-skeleton__content"
1018
+ }, /*#__PURE__*/React__default.createElement("div", {
1019
+ className: "product-skeleton__title shimmer"
1020
+ }), /*#__PURE__*/React__default.createElement("div", {
1021
+ className: "product-skeleton__subtitle shimmer"
1022
+ }), /*#__PURE__*/React__default.createElement("div", {
1023
+ className: "product-skeleton__price shimmer"
1024
+ })));
1025
+ }));
1026
+ };
1027
+
977
1028
  var renderProductCard = function renderProductCard(product) {
978
1029
  var selectedPrice = product.prices ? product.prices.find(function (p) {
979
1030
  return p.currency === currency;
@@ -1043,6 +1094,70 @@
1043
1094
  }
1044
1095
 
1045
1096
  return brands;
1097
+ };
1098
+
1099
+ var renderBrandsList = function renderBrandsList() {
1100
+ var _limitBrands2;
1101
+
1102
+ if (isLoading) {
1103
+ return renderBrandSkeleton();
1104
+ }
1105
+
1106
+ if (shouldShowInitialData) {
1107
+ var _limitBrands;
1108
+
1109
+ return (_limitBrands = limitBrands(initialSearchData === null || initialSearchData === void 0 ? void 0 : initialSearchData.trending_brands)) === null || _limitBrands === void 0 ? void 0 : _limitBrands.map(function (brand) {
1110
+ return /*#__PURE__*/React__default.createElement("a", {
1111
+ key: brand.id,
1112
+ href: getBrandLink(brand),
1113
+ className: "search-results__item",
1114
+ onClick: function onClick() {
1115
+ if (typeof onBrandSearchResultClick === 'function') {
1116
+ onBrandSearchResultClick({
1117
+ brand_name: brand.name,
1118
+ brand_link: getBrandLink(brand),
1119
+ search_string: searchValue,
1120
+ is_trending: true
1121
+ });
1122
+ }
1123
+ }
1124
+ }, brand.name);
1125
+ });
1126
+ }
1127
+
1128
+ return (_limitBrands2 = limitBrands(searchResults === null || searchResults === void 0 ? void 0 : searchResults.brands)) === null || _limitBrands2 === void 0 ? void 0 : _limitBrands2.map(function (brand) {
1129
+ return /*#__PURE__*/React__default.createElement("a", {
1130
+ key: brand.link,
1131
+ href: brand.link,
1132
+ className: "search-results__item",
1133
+ onClick: function onClick() {
1134
+ if (typeof onBrandSearchResultClick === 'function') {
1135
+ onBrandSearchResultClick({
1136
+ brand_name: brand.name,
1137
+ brand_link: brand.link,
1138
+ search_string: searchValue,
1139
+ is_trending: false
1140
+ });
1141
+ }
1142
+ }
1143
+ }, brand.name);
1144
+ });
1145
+ };
1146
+
1147
+ var renderProductsList = function renderProductsList() {
1148
+ var _searchResults$produc2;
1149
+
1150
+ if (isLoading) {
1151
+ return renderProductSkeleton();
1152
+ }
1153
+
1154
+ if (shouldShowInitialData) {
1155
+ var _initialSearchData$la2;
1156
+
1157
+ return initialSearchData === null || initialSearchData === void 0 ? void 0 : (_initialSearchData$la2 = initialSearchData.latest_products) === null || _initialSearchData$la2 === void 0 ? void 0 : _initialSearchData$la2.map(renderProductCard);
1158
+ }
1159
+
1160
+ return searchResults === null || searchResults === void 0 ? void 0 : (_searchResults$produc2 = searchResults.products) === null || _searchResults$produc2 === void 0 ? void 0 : _searchResults$produc2.map(renderProductCard);
1046
1161
  }; // Show no results state
1047
1162
 
1048
1163
 
@@ -1083,39 +1198,7 @@
1083
1198
  className: "search-results__header"
1084
1199
  }, shouldShowInitialData ? 'TRENDING SEARCHES' : 'BRANDS'), /*#__PURE__*/React__default.createElement("div", {
1085
1200
  className: "search-results__list"
1086
- }, shouldShowInitialData ? (_limitBrands = limitBrands(initialSearchData === null || initialSearchData === void 0 ? void 0 : initialSearchData.trending_brands)) === null || _limitBrands === void 0 ? void 0 : _limitBrands.map(function (brand) {
1087
- return /*#__PURE__*/React__default.createElement("a", {
1088
- key: brand.id,
1089
- href: getBrandLink(brand),
1090
- className: "search-results__item",
1091
- onClick: function onClick() {
1092
- if (typeof onBrandSearchResultClick === 'function') {
1093
- onBrandSearchResultClick({
1094
- brand_name: brand.name,
1095
- brand_link: getBrandLink(brand),
1096
- search_string: searchValue,
1097
- is_trending: true
1098
- });
1099
- }
1100
- }
1101
- }, brand.name);
1102
- }) : (_limitBrands2 = limitBrands(searchResults === null || searchResults === void 0 ? void 0 : searchResults.brands)) === null || _limitBrands2 === void 0 ? void 0 : _limitBrands2.map(function (brand) {
1103
- return /*#__PURE__*/React__default.createElement("a", {
1104
- key: brand.link,
1105
- href: brand.link,
1106
- className: "search-results__item",
1107
- onClick: function onClick() {
1108
- if (typeof onBrandSearchResultClick === 'function') {
1109
- onBrandSearchResultClick({
1110
- brand_name: brand.name,
1111
- brand_link: brand.link,
1112
- search_string: searchValue,
1113
- is_trending: false
1114
- });
1115
- }
1116
- }
1117
- }, brand.name);
1118
- }))), /*#__PURE__*/React__default.createElement("div", {
1201
+ }, renderBrandsList())), /*#__PURE__*/React__default.createElement("div", {
1119
1202
  className: "search-results__section"
1120
1203
  }, /*#__PURE__*/React__default.createElement("div", {
1121
1204
  className: "search-results__section-header"
@@ -1129,7 +1212,7 @@
1129
1212
  }
1130
1213
  }, "View all items")), /*#__PURE__*/React__default.createElement("div", {
1131
1214
  className: "search-results__product-list"
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", {
1215
+ }, renderProductsList()), /*#__PURE__*/React__default.createElement("button", {
1133
1216
  type: "button",
1134
1217
  className: "search-results__view-all-button",
1135
1218
  onClick: function onClick() {
@@ -1252,7 +1335,12 @@
1252
1335
  if (currentSearchRequestToken.current === newSearchToken) {
1253
1336
  var _brandsResponse$data$, _productsResponse$dat, _productsResponse$dat2;
1254
1337
 
1255
- // Extract brands from aggregations
1338
+ // Set loading to false when search completes
1339
+ if (typeof onSearchLoading === 'function') {
1340
+ onSearchLoading(false);
1341
+ } // Extract brands from aggregations
1342
+
1343
+
1256
1344
  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
1345
 
1258
1346
  var productsData = ((_productsResponse$dat = productsResponse.data.data.luxity_products_filter) === null || _productsResponse$dat === void 0 ? void 0 : _productsResponse$dat.data) || [];
@@ -1315,6 +1403,11 @@
1315
1403
  }
1316
1404
  }).catch(function (error) {
1317
1405
  if (!axios.isCancel(error)) {
1406
+ // Set loading to false when search fails
1407
+ if (typeof onSearchLoading === 'function') {
1408
+ onSearchLoading(false);
1409
+ }
1410
+
1318
1411
  setSearchResults({
1319
1412
  brands: [],
1320
1413
  products: []
@@ -1461,7 +1554,7 @@
1461
1554
  onSearchPreview = _ref.onSearchPreview,
1462
1555
  onProductSearchResultClick = _ref.onProductSearchResultClick,
1463
1556
  onBrandSearchResultClick = _ref.onBrandSearchResultClick,
1464
- onSearchLoading = _ref.onSearchLoading,
1557
+ _onSearchLoading = _ref.onSearchLoading,
1465
1558
  onLogoutClick = _ref.onLogoutClick,
1466
1559
  onInterestClick = _ref.onInterestClick,
1467
1560
  onAddressClick = _ref.onAddressClick,
@@ -1491,9 +1584,20 @@
1491
1584
  showNoResults = _useState2[0],
1492
1585
  setShowNoResults = _useState2[1];
1493
1586
 
1587
+ var _useState3 = React.useState(false),
1588
+ _useState4 = _slicedToArray(_useState3, 2),
1589
+ searchLoading = _useState4[0],
1590
+ setSearchLoading = _useState4[1];
1591
+
1494
1592
  var _useSearch = useSearch({
1495
1593
  endpoint: endpoint,
1496
- onSearchLoading: onSearchLoading,
1594
+ onSearchLoading: function onSearchLoading(isLoading) {
1595
+ setSearchLoading(isLoading);
1596
+
1597
+ if (typeof _onSearchLoading === 'function') {
1598
+ _onSearchLoading(isLoading);
1599
+ }
1600
+ },
1497
1601
  currency: currency,
1498
1602
  onSearchPreview: onSearchPreview,
1499
1603
  onNoResults: setShowNoResults
@@ -1502,49 +1606,49 @@
1502
1606
  createDebouncedSearch = _useSearch.createDebouncedSearch,
1503
1607
  createImmediateSearch = _useSearch.createImmediateSearch;
1504
1608
 
1505
- var _useState3 = React.useState(''),
1506
- _useState4 = _slicedToArray(_useState3, 2),
1507
- searchValue = _useState4[0],
1508
- setSearchValue = _useState4[1];
1509
-
1510
- var _useState5 = React.useState(false),
1609
+ var _useState5 = React.useState(''),
1511
1610
  _useState6 = _slicedToArray(_useState5, 2),
1512
- showSearchBar = _useState6[0],
1513
- setShowSearchbar = _useState6[1];
1611
+ searchValue = _useState6[0],
1612
+ setSearchValue = _useState6[1];
1514
1613
 
1515
1614
  var _useState7 = React.useState(false),
1516
1615
  _useState8 = _slicedToArray(_useState7, 2),
1517
- showSideNav = _useState8[0],
1518
- setShowSideNav = _useState8[1];
1616
+ showSearchBar = _useState8[0],
1617
+ setShowSearchbar = _useState8[1];
1519
1618
 
1520
- var _useState9 = React.useState({
1521
- brands: [],
1522
- products: []
1523
- }),
1619
+ var _useState9 = React.useState(false),
1524
1620
  _useState10 = _slicedToArray(_useState9, 2),
1525
- searchResults = _useState10[0],
1526
- setSearchResults = _useState10[1];
1621
+ showSideNav = _useState10[0],
1622
+ setShowSideNav = _useState10[1];
1527
1623
 
1528
1624
  var _useState11 = React.useState({
1529
1625
  brands: [],
1530
1626
  products: []
1531
1627
  }),
1532
1628
  _useState12 = _slicedToArray(_useState11, 2),
1533
- cachedResults = _useState12[0],
1534
- setCachedResults = _useState12[1];
1629
+ searchResults = _useState12[0],
1630
+ setSearchResults = _useState12[1];
1535
1631
 
1536
- var _useState13 = React.useState(false),
1632
+ var _useState13 = React.useState({
1633
+ brands: [],
1634
+ products: []
1635
+ }),
1537
1636
  _useState14 = _slicedToArray(_useState13, 2),
1538
- isSearchFocused = _useState14[0],
1539
- setIsSearchFocused = _useState14[1];
1637
+ cachedResults = _useState14[0],
1638
+ setCachedResults = _useState14[1];
1639
+
1640
+ var _useState15 = React.useState(false),
1641
+ _useState16 = _slicedToArray(_useState15, 2),
1642
+ isSearchFocused = _useState16[0],
1643
+ setIsSearchFocused = _useState16[1];
1540
1644
 
1541
- var _useState15 = React.useState({
1645
+ var _useState17 = React.useState({
1542
1646
  trending_brands: [],
1543
1647
  latest_products: []
1544
1648
  }),
1545
- _useState16 = _slicedToArray(_useState15, 2),
1546
- initialSearchView = _useState16[0],
1547
- setInitialSearchView = _useState16[1];
1649
+ _useState18 = _slicedToArray(_useState17, 2),
1650
+ initialSearchView = _useState18[0],
1651
+ setInitialSearchView = _useState18[1];
1548
1652
 
1549
1653
  var searchResultsRef = React.useRef(null);
1550
1654
  var searchInputRef = React.useRef(null);
@@ -1785,7 +1889,8 @@
1785
1889
  onBrandSearchResultClick: onBrandSearchResultClick,
1786
1890
  onCreateInterests: onCreateInterests,
1787
1891
  noResultsImage: noResultsImage,
1788
- showNoResults: showNoResults
1892
+ showNoResults: showNoResults,
1893
+ isLoading: searchLoading
1789
1894
  }))), shop && /*#__PURE__*/React__default.createElement(LuxitySideNav, {
1790
1895
  accordionIcon: accordionIcon,
1791
1896
  logoSrc: logoSrc,
package/build/bundle.css CHANGED
@@ -1 +1 @@
1
- .interests__add-button{display:flex;flex-direction:row;gap:10px;width:100%}@media only screen and (max-width:879px){.interests__add-button{flex-direction:column}}.interests__section-wrapper{display:flex;flex-direction:column;width:100%}.interests__select-option{display:flex;flex-direction:column;margin-bottom:15px}.interests__title{font-family:El Messiri;font-size:16px;margin-bottom:10px}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;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%}.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}@charset "UTF-8";.currency-select-container{align-items:center;display:flex;margin-right:18px;position:relative}.currency-select-container .currency-flag{margin-right:5px}.currency-select-container .currency-flag img{height:15px;-o-object-fit:cover;object-fit:cover;width:20px}.currency-select-container .currency-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:transparent;border:none;color:#000;cursor:pointer;font-family:inherit;font-size:14px;margin:0;outline:none;padding:5px 15px 5px 5px}.currency-select-container .currency-select::-ms-expand{display:none}.currency-select-container .currency-select:focus{box-shadow:none;outline:none}.currency-select-container .currency-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.currency-select-container:after{color:#000;content:"▼";font-size:10px;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%)}@media only screen and (max-width:879px){.currency-select-container .currency-select{appearance:menulist;-webkit-appearance:menulist;-moz-appearance:menulist;padding-right:0}.currency-select-container:after{display:none}}.currency-select-container.disabled{cursor:not-allowed;opacity:.7}.currency-select-container.disabled .currency-select{pointer-events:none}.footer__newsletter-section{align-items:center;background-color:#000;color:#fff;display:flex;justify-content:space-between;padding:2.265rem 0}@media only screen and (max-width:879px){.footer__newsletter-section{flex-direction:column}}.footer__newsletter-wrapper{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__newsletter-wrapper{flex-direction:column}.footer__link-container{flex-basis:50%}}.footer__newsletter-icon{height:30px;position:absolute;right:0;top:0;width:32px}.footer__newsletter-form{flex-basis:50%;max-width:250px;position:relative}@media only screen and (max-width:879px){.footer__newsletter-form{display:block;margin-top:20px;max-width:100%;width:100%}}.footer__newsletter-title{font-family:Martel Sans,sans-serif;font-size:14px;font-weight:700;letter-spacing:3px;margin-bottom:1.125rem;text-transform:uppercase}.footer__newsletter-text{font-size:14px}.footer__form-input{background-color:#000;border:none;border-bottom:1px solid #fff;color:#fff;height:30px;outline:none;width:100%}.footer__form-input::-moz-placeholder{color:#fff;font-weight:400}.footer__form-input::placeholder{color:#fff;font-weight:400}.footer__form-errors{color:#fff;margin-top:5px}.footer__main-section{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:50px;margin-top:80px}.footer__link-title{font-family:El Messiri;font-size:16px;font-weight:700;margin-bottom:20px;text-transform:uppercase}@media only screen and (max-width:879px){.footer__link-title{margin-bottom:10px}}.footer__link-child{margin-top:25px}.footer__links{display:flex;flex-direction:column}.footer__link{color:#939393;cursor:pointer;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:7px;text-align:left;text-decoration:none}.footer__link:hover{color:#000;text-decoration:underline}@media only screen and (max-width:879px){.footer__link{margin-bottom:10px}}.footer__link-wrapper{align-items:center;display:flex;gap:5px}.footer__link-icon{height:30px;margin-bottom:18px}.footer__text{color:#939393;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:15px;text-align:left;text-decoration:none}.footer__store-hours{margin-top:35px}.footer__copyrights-section{border-top:1px solid;display:flex;justify-content:space-between;padding-bottom:20px;padding-top:20px}.footer__logo{height:30px;width:135px}.footer__payment-icons{align-items:center;display:flex;gap:8px}.footer__wrapper{margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__wrapper{padding:32px 0 0 24px}}.footer__wrapper--desktop{display:block}@media only screen and (max-width:879px){.footer__wrapper--desktop{display:none}}.footer__wrapper--mobile{display:none}@media only screen and (max-width:879px){.footer__wrapper--mobile{display:block;padding-top:30px}}.footer__copyright{font-size:10px;line-height:22px}.footer__copyright--mobile{display:none}@media only screen and (max-width:879px){.footer__copyright--mobile{display:block;padding:30px 10px 30px 0;text-align:center}}.footer__section-row{display:flex;gap:50%}@media only screen and (max-width:879px){.footer__section-row{gap:unset}}.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{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}}.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}@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}.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%}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{align-items:center;display:flex;font-size:14px;font-weight:700;justify-content:center;line-height:20px;text-transform:uppercase}.side-nav__menu-icon{display:flex;height:25px;margin-right:10px;width:25px}.side-nav__menu-divider{margin-bottom:40px}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}.stores-dropdown{align-items:flex-start;display:flex;font-family:Martel Sans;gap:20px;margin-left:auto;margin-right:auto;max-width:1280px;overflow-x:auto;padding:20px 15px}.stores-dropdown__image{height:200px;-o-object-fit:cover;object-fit:cover;width:100%}.stores-dropdown__store-details{flex-basis:20%}.stores-dropdown__title{font-family:El Messiri}.stores-dropdown__main-title,.stores-dropdown__title{font-size:16px;font-weight:400;letter-spacing:3px;margin-top:20px}.stores-dropdown__main-title{font-weight:700;margin-bottom:10px}.stores-dropdown__open-days{font-size:12px;font-weight:700;line-height:20px}.stores-dropdown__open-hours{font-size:12px;font-weight:400;line-height:20px}.stores-dropdown__queries-title{font-family:El Messiri;font-size:16px;font-weight:400;letter-spacing:3px}.stores-dropdown__contact-details{font-size:16px;font-weight:700}.stores-dropdown__view-more{cursor:pointer;font-size:14px;font-weight:400;margin-top:10px;text-transform:capitalize}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.shimmer{animation:shimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,#f4f4f4 0,#dfdede 20%,#f4f4f4 40%,#f4f4f4);background-size:800px 104px}@media only screen and (max-width:1052px){.shimmer{background-size:600px 104px}}.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}@media only screen and (max-width:1052px){.search-results__header{font-size:13px;padding:12px 16px}}.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:#f2eeeb!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{gap:16px;padding:16px}}@media only screen and (max-width:1052px){.search-results__no-results-content{align-items:flex-start;gap:12px;padding:16px 12px}}.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:120px;width:120px}}@media only screen and (max-width:1052px){.search-results__no-results-image{height:100px;width:100px}}.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;text-align:left}@media only screen and (max-width:1052px){.search-results__no-results-text{gap:8px}}.search-results__no-results-title{color:#000;font-family:Martel Sans;font-size:16px;font-weight:600;line-height:1.4;margin:0}@media only screen and (max-width:879px){.search-results__no-results-title{font-size:14px}}@media only screen and (max-width:1052px){.search-results__no-results-title{font-size:14px;line-height:1.3}}.search-results__no-results-description{color:#939393;font-family:Martel Sans;font-size:14px;line-height:1.5;margin:0}@media only screen and (max-width:879px){.search-results__no-results-description{font-size:13px}}@media only screen and (max-width:1052px){.search-results__no-results-description{font-size:12px;line-height:1.4}}.search-results__create-interest-button{background-color:#f2eeeb!important;border:none;color:#000;cursor:pointer;font-family:Martel Sans;font-size:13px;font-weight:400;padding:16px;text-align:center;width:100%}@media only screen and (max-width:879px){.search-results__create-interest-button{display:block}}@media only screen and (max-width:1052px){.search-results__create-interest-button{font-size:13px;margin-top:8px;padding:14px 16px}}.brand-skeleton{display:flex;flex-direction:column;width:100%}.brand-skeleton__item{background-color:#f4f4f4;border-radius:4px;height:32px;margin:8px 20px}.brand-skeleton__item:first-child{margin-top:0}@media only screen and (max-width:1052px){.brand-skeleton__item{height:28px;margin:6px 16px}}.product-skeleton{display:flex;gap:16px;padding:12px 20px}@media only screen and (max-width:1052px){.product-skeleton{gap:12px;padding:10px 16px}}.product-skeleton__image{background-color:#f4f4f4;border-radius:2px;flex-shrink:0;height:90px;width:90px}@media only screen and (max-width:1052px){.product-skeleton__image{height:70px;width:70px}}.product-skeleton__content{display:flex;flex:1;flex-direction:column;gap:12px}@media only screen and (max-width:1052px){.product-skeleton__content{gap:8px}}.product-skeleton__title{background-color:#f4f4f4;border-radius:4px;height:16px;width:100%}@media only screen and (max-width:1052px){.product-skeleton__title{height:14px}}.product-skeleton__subtitle{background-color:#f4f4f4;border-radius:4px;height:14px;width:80%}@media only screen and (max-width:1052px){.product-skeleton__subtitle{height:12px;width:70%}}.product-skeleton__price{background-color:#f4f4f4;border-radius:4px;height:14px;margin-top:auto;width:60%}@media only screen and (max-width:1052px){.product-skeleton__price{height:12px;width:50%}}.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
@@ -15136,6 +15136,7 @@
15136
15136
  _formControl.current.formState = getProxyFormState(formState, control);
15137
15137
  return _formControl.current;
15138
15138
  }
15139
+ //# sourceMappingURL=index.esm.mjs.map
15139
15140
 
15140
15141
  var _excluded$9 = ["ref"];
15141
15142
 
@@ -15804,7 +15805,7 @@
15804
15805
  };
15805
15806
 
15806
15807
  var SearchResults = function SearchResults(_ref) {
15807
- var _searchResults$brands, _searchResults$produc, _initialSearchData$tr, _initialSearchData$la, _limitBrands, _limitBrands2, _initialSearchData$la2, _searchResults$produc2;
15808
+ var _searchResults$brands, _searchResults$produc, _initialSearchData$tr, _initialSearchData$la;
15808
15809
 
15809
15810
  var searchValue = _ref.searchValue,
15810
15811
  searchResults = _ref.searchResults,
@@ -15821,7 +15822,9 @@
15821
15822
  onBrandSearchResultClick = _ref.onBrandSearchResultClick,
15822
15823
  onCreateInterests = _ref.onCreateInterests,
15823
15824
  noResultsImage = _ref.noResultsImage,
15824
- showNoResults = _ref.showNoResults;
15825
+ showNoResults = _ref.showNoResults,
15826
+ _ref$isLoading = _ref.isLoading,
15827
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading;
15825
15828
 
15826
15829
  var _useState = React.useState(false),
15827
15830
  _useState2 = _slicedToArray(_useState, 2),
@@ -15860,6 +15863,39 @@
15860
15863
  return "".concat(currencySymbol).concat(formatter.format(price));
15861
15864
  };
15862
15865
 
15866
+ var renderBrandSkeleton = function renderBrandSkeleton() {
15867
+ return /*#__PURE__*/React__default.createElement("div", {
15868
+ className: "brand-skeleton"
15869
+ }, /*#__PURE__*/React__default.createElement("div", {
15870
+ className: "brand-skeleton__item shimmer"
15871
+ }), /*#__PURE__*/React__default.createElement("div", {
15872
+ className: "brand-skeleton__item shimmer"
15873
+ }), /*#__PURE__*/React__default.createElement("div", {
15874
+ className: "brand-skeleton__item shimmer"
15875
+ }), /*#__PURE__*/React__default.createElement("div", {
15876
+ className: "brand-skeleton__item shimmer"
15877
+ }));
15878
+ };
15879
+
15880
+ var renderProductSkeleton = function renderProductSkeleton() {
15881
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _toConsumableArray(Array(3)).map(function (_, index) {
15882
+ return /*#__PURE__*/React__default.createElement("div", {
15883
+ key: index,
15884
+ className: "product-skeleton"
15885
+ }, /*#__PURE__*/React__default.createElement("div", {
15886
+ className: "product-skeleton__image shimmer"
15887
+ }), /*#__PURE__*/React__default.createElement("div", {
15888
+ className: "product-skeleton__content"
15889
+ }, /*#__PURE__*/React__default.createElement("div", {
15890
+ className: "product-skeleton__title shimmer"
15891
+ }), /*#__PURE__*/React__default.createElement("div", {
15892
+ className: "product-skeleton__subtitle shimmer"
15893
+ }), /*#__PURE__*/React__default.createElement("div", {
15894
+ className: "product-skeleton__price shimmer"
15895
+ })));
15896
+ }));
15897
+ };
15898
+
15863
15899
  var renderProductCard = function renderProductCard(product) {
15864
15900
  var selectedPrice = product.prices ? product.prices.find(function (p) {
15865
15901
  return p.currency === currency;
@@ -15929,6 +15965,70 @@
15929
15965
  }
15930
15966
 
15931
15967
  return brands;
15968
+ };
15969
+
15970
+ var renderBrandsList = function renderBrandsList() {
15971
+ var _limitBrands2;
15972
+
15973
+ if (isLoading) {
15974
+ return renderBrandSkeleton();
15975
+ }
15976
+
15977
+ if (shouldShowInitialData) {
15978
+ var _limitBrands;
15979
+
15980
+ return (_limitBrands = limitBrands(initialSearchData === null || initialSearchData === void 0 ? void 0 : initialSearchData.trending_brands)) === null || _limitBrands === void 0 ? void 0 : _limitBrands.map(function (brand) {
15981
+ return /*#__PURE__*/React__default.createElement("a", {
15982
+ key: brand.id,
15983
+ href: getBrandLink(brand),
15984
+ className: "search-results__item",
15985
+ onClick: function onClick() {
15986
+ if (typeof onBrandSearchResultClick === 'function') {
15987
+ onBrandSearchResultClick({
15988
+ brand_name: brand.name,
15989
+ brand_link: getBrandLink(brand),
15990
+ search_string: searchValue,
15991
+ is_trending: true
15992
+ });
15993
+ }
15994
+ }
15995
+ }, brand.name);
15996
+ });
15997
+ }
15998
+
15999
+ return (_limitBrands2 = limitBrands(searchResults === null || searchResults === void 0 ? void 0 : searchResults.brands)) === null || _limitBrands2 === void 0 ? void 0 : _limitBrands2.map(function (brand) {
16000
+ return /*#__PURE__*/React__default.createElement("a", {
16001
+ key: brand.link,
16002
+ href: brand.link,
16003
+ className: "search-results__item",
16004
+ onClick: function onClick() {
16005
+ if (typeof onBrandSearchResultClick === 'function') {
16006
+ onBrandSearchResultClick({
16007
+ brand_name: brand.name,
16008
+ brand_link: brand.link,
16009
+ search_string: searchValue,
16010
+ is_trending: false
16011
+ });
16012
+ }
16013
+ }
16014
+ }, brand.name);
16015
+ });
16016
+ };
16017
+
16018
+ var renderProductsList = function renderProductsList() {
16019
+ var _searchResults$produc2;
16020
+
16021
+ if (isLoading) {
16022
+ return renderProductSkeleton();
16023
+ }
16024
+
16025
+ if (shouldShowInitialData) {
16026
+ var _initialSearchData$la2;
16027
+
16028
+ return initialSearchData === null || initialSearchData === void 0 ? void 0 : (_initialSearchData$la2 = initialSearchData.latest_products) === null || _initialSearchData$la2 === void 0 ? void 0 : _initialSearchData$la2.map(renderProductCard);
16029
+ }
16030
+
16031
+ return searchResults === null || searchResults === void 0 ? void 0 : (_searchResults$produc2 = searchResults.products) === null || _searchResults$produc2 === void 0 ? void 0 : _searchResults$produc2.map(renderProductCard);
15932
16032
  }; // Show no results state
15933
16033
 
15934
16034
 
@@ -15969,39 +16069,7 @@
15969
16069
  className: "search-results__header"
15970
16070
  }, shouldShowInitialData ? 'TRENDING SEARCHES' : 'BRANDS'), /*#__PURE__*/React__default.createElement("div", {
15971
16071
  className: "search-results__list"
15972
- }, shouldShowInitialData ? (_limitBrands = limitBrands(initialSearchData === null || initialSearchData === void 0 ? void 0 : initialSearchData.trending_brands)) === null || _limitBrands === void 0 ? void 0 : _limitBrands.map(function (brand) {
15973
- return /*#__PURE__*/React__default.createElement("a", {
15974
- key: brand.id,
15975
- href: getBrandLink(brand),
15976
- className: "search-results__item",
15977
- onClick: function onClick() {
15978
- if (typeof onBrandSearchResultClick === 'function') {
15979
- onBrandSearchResultClick({
15980
- brand_name: brand.name,
15981
- brand_link: getBrandLink(brand),
15982
- search_string: searchValue,
15983
- is_trending: true
15984
- });
15985
- }
15986
- }
15987
- }, brand.name);
15988
- }) : (_limitBrands2 = limitBrands(searchResults === null || searchResults === void 0 ? void 0 : searchResults.brands)) === null || _limitBrands2 === void 0 ? void 0 : _limitBrands2.map(function (brand) {
15989
- return /*#__PURE__*/React__default.createElement("a", {
15990
- key: brand.link,
15991
- href: brand.link,
15992
- className: "search-results__item",
15993
- onClick: function onClick() {
15994
- if (typeof onBrandSearchResultClick === 'function') {
15995
- onBrandSearchResultClick({
15996
- brand_name: brand.name,
15997
- brand_link: brand.link,
15998
- search_string: searchValue,
15999
- is_trending: false
16000
- });
16001
- }
16002
- }
16003
- }, brand.name);
16004
- }))), /*#__PURE__*/React__default.createElement("div", {
16072
+ }, renderBrandsList())), /*#__PURE__*/React__default.createElement("div", {
16005
16073
  className: "search-results__section"
16006
16074
  }, /*#__PURE__*/React__default.createElement("div", {
16007
16075
  className: "search-results__section-header"
@@ -16015,7 +16083,7 @@
16015
16083
  }
16016
16084
  }, "View all items")), /*#__PURE__*/React__default.createElement("div", {
16017
16085
  className: "search-results__product-list"
16018
- }, 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", {
16086
+ }, renderProductsList()), /*#__PURE__*/React__default.createElement("button", {
16019
16087
  type: "button",
16020
16088
  className: "search-results__view-all-button",
16021
16089
  onClick: function onClick() {
@@ -16138,7 +16206,12 @@
16138
16206
  if (currentSearchRequestToken.current === newSearchToken) {
16139
16207
  var _brandsResponse$data$, _productsResponse$dat, _productsResponse$dat2;
16140
16208
 
16141
- // Extract brands from aggregations
16209
+ // Set loading to false when search completes
16210
+ if (typeof onSearchLoading === 'function') {
16211
+ onSearchLoading(false);
16212
+ } // Extract brands from aggregations
16213
+
16214
+
16142
16215
  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
16143
16216
 
16144
16217
  var productsData = ((_productsResponse$dat = productsResponse.data.data.luxity_products_filter) === null || _productsResponse$dat === void 0 ? void 0 : _productsResponse$dat.data) || [];
@@ -16201,6 +16274,11 @@
16201
16274
  }
16202
16275
  }).catch(function (error) {
16203
16276
  if (!axios.isCancel(error)) {
16277
+ // Set loading to false when search fails
16278
+ if (typeof onSearchLoading === 'function') {
16279
+ onSearchLoading(false);
16280
+ }
16281
+
16204
16282
  setSearchResults({
16205
16283
  brands: [],
16206
16284
  products: []
@@ -16348,7 +16426,7 @@
16348
16426
  onSearchPreview = _ref.onSearchPreview,
16349
16427
  onProductSearchResultClick = _ref.onProductSearchResultClick,
16350
16428
  onBrandSearchResultClick = _ref.onBrandSearchResultClick,
16351
- onSearchLoading = _ref.onSearchLoading,
16429
+ _onSearchLoading = _ref.onSearchLoading,
16352
16430
  currency = _ref.currency,
16353
16431
  currencySymbol = _ref.currencySymbol,
16354
16432
  currencyOptions = _ref.currencyOptions,
@@ -16378,53 +16456,64 @@
16378
16456
 
16379
16457
  var _useState5 = React.useState(false),
16380
16458
  _useState6 = _slicedToArray(_useState5, 2),
16381
- isSearchFocused = _useState6[0],
16382
- setIsSearchFocused = _useState6[1];
16459
+ searchLoading = _useState6[0],
16460
+ setSearchLoading = _useState6[1];
16461
+
16462
+ var _useState7 = React.useState(false),
16463
+ _useState8 = _slicedToArray(_useState7, 2),
16464
+ isSearchFocused = _useState8[0],
16465
+ setIsSearchFocused = _useState8[1];
16383
16466
 
16384
- var _useState7 = React.useState({
16467
+ var _useState9 = React.useState({
16385
16468
  trending_brands: [],
16386
16469
  latest_products: []
16387
16470
  }),
16388
- _useState8 = _slicedToArray(_useState7, 2),
16389
- initialSearchView = _useState8[0],
16390
- setInitialSearchView = _useState8[1];
16391
-
16392
- var _useState9 = React.useState({}),
16393
16471
  _useState10 = _slicedToArray(_useState9, 2),
16394
- dropdownData = _useState10[0],
16395
- setDropdownData = _useState10[1];
16472
+ initialSearchView = _useState10[0],
16473
+ setInitialSearchView = _useState10[1];
16396
16474
 
16397
- var _useState11 = React.useState(false),
16475
+ var _useState11 = React.useState({}),
16398
16476
  _useState12 = _slicedToArray(_useState11, 2),
16399
- hasError = _useState12[0],
16400
- setHasError = _useState12[1];
16477
+ dropdownData = _useState12[0],
16478
+ setDropdownData = _useState12[1];
16401
16479
 
16402
- var _useState13 = React.useState({
16403
- brands: [],
16404
- products: []
16405
- }),
16480
+ var _useState13 = React.useState(false),
16406
16481
  _useState14 = _slicedToArray(_useState13, 2),
16407
- searchResults = _useState14[0],
16408
- setSearchResults = _useState14[1];
16482
+ hasError = _useState14[0],
16483
+ setHasError = _useState14[1];
16409
16484
 
16410
16485
  var _useState15 = React.useState({
16411
16486
  brands: [],
16412
16487
  products: []
16413
16488
  }),
16414
16489
  _useState16 = _slicedToArray(_useState15, 2),
16415
- cachedResults = _useState16[0],
16416
- setCachedResults = _useState16[1];
16490
+ searchResults = _useState16[0],
16491
+ setSearchResults = _useState16[1];
16417
16492
 
16418
- var _useState17 = React.useState(false),
16493
+ var _useState17 = React.useState({
16494
+ brands: [],
16495
+ products: []
16496
+ }),
16419
16497
  _useState18 = _slicedToArray(_useState17, 2),
16420
- showNoResults = _useState18[0],
16421
- setShowNoResults = _useState18[1];
16498
+ cachedResults = _useState18[0],
16499
+ setCachedResults = _useState18[1];
16500
+
16501
+ var _useState19 = React.useState(false),
16502
+ _useState20 = _slicedToArray(_useState19, 2),
16503
+ showNoResults = _useState20[0],
16504
+ setShowNoResults = _useState20[1];
16422
16505
 
16423
16506
  var searchResultsRef = React.useRef(null);
16424
16507
 
16425
16508
  var _useSearch = useSearch({
16426
16509
  endpoint: endpoint,
16427
- onSearchLoading: onSearchLoading,
16510
+ onSearchLoading: function onSearchLoading(isLoading) {
16511
+ setSearchLoading(isLoading);
16512
+
16513
+ if (typeof _onSearchLoading === 'function') {
16514
+ _onSearchLoading(isLoading);
16515
+ }
16516
+ },
16428
16517
  currency: currency,
16429
16518
  onSearchPreview: onSearchPreview,
16430
16519
  onNoResults: setShowNoResults
@@ -16579,7 +16668,8 @@
16579
16668
  onBrandSearchResultClick: onBrandSearchResultClick,
16580
16669
  onCreateInterests: onCreateInterests,
16581
16670
  noResultsImage: noResultsImage,
16582
- showNoResults: showNoResults
16671
+ showNoResults: showNoResults,
16672
+ isLoading: searchLoading
16583
16673
  }), /*#__PURE__*/React__default.createElement("nav", {
16584
16674
  className: "navbar__nav-links navbar__nav-links--wrap"
16585
16675
  }, renderDropdownLinks(), !!stores.length && /*#__PURE__*/React__default.createElement("li", {
@@ -17276,7 +17366,7 @@
17276
17366
  onSearchPreview = _ref.onSearchPreview,
17277
17367
  onProductSearchResultClick = _ref.onProductSearchResultClick,
17278
17368
  onBrandSearchResultClick = _ref.onBrandSearchResultClick,
17279
- onSearchLoading = _ref.onSearchLoading,
17369
+ _onSearchLoading = _ref.onSearchLoading,
17280
17370
  onLogoutClick = _ref.onLogoutClick,
17281
17371
  onInterestClick = _ref.onInterestClick,
17282
17372
  onAddressClick = _ref.onAddressClick,
@@ -17306,9 +17396,20 @@
17306
17396
  showNoResults = _useState2[0],
17307
17397
  setShowNoResults = _useState2[1];
17308
17398
 
17399
+ var _useState3 = React.useState(false),
17400
+ _useState4 = _slicedToArray(_useState3, 2),
17401
+ searchLoading = _useState4[0],
17402
+ setSearchLoading = _useState4[1];
17403
+
17309
17404
  var _useSearch = useSearch({
17310
17405
  endpoint: endpoint,
17311
- onSearchLoading: onSearchLoading,
17406
+ onSearchLoading: function onSearchLoading(isLoading) {
17407
+ setSearchLoading(isLoading);
17408
+
17409
+ if (typeof _onSearchLoading === 'function') {
17410
+ _onSearchLoading(isLoading);
17411
+ }
17412
+ },
17312
17413
  currency: currency,
17313
17414
  onSearchPreview: onSearchPreview,
17314
17415
  onNoResults: setShowNoResults
@@ -17317,49 +17418,49 @@
17317
17418
  createDebouncedSearch = _useSearch.createDebouncedSearch,
17318
17419
  createImmediateSearch = _useSearch.createImmediateSearch;
17319
17420
 
17320
- var _useState3 = React.useState(''),
17321
- _useState4 = _slicedToArray(_useState3, 2),
17322
- searchValue = _useState4[0],
17323
- setSearchValue = _useState4[1];
17324
-
17325
- var _useState5 = React.useState(false),
17421
+ var _useState5 = React.useState(''),
17326
17422
  _useState6 = _slicedToArray(_useState5, 2),
17327
- showSearchBar = _useState6[0],
17328
- setShowSearchbar = _useState6[1];
17423
+ searchValue = _useState6[0],
17424
+ setSearchValue = _useState6[1];
17329
17425
 
17330
17426
  var _useState7 = React.useState(false),
17331
17427
  _useState8 = _slicedToArray(_useState7, 2),
17332
- showSideNav = _useState8[0],
17333
- setShowSideNav = _useState8[1];
17428
+ showSearchBar = _useState8[0],
17429
+ setShowSearchbar = _useState8[1];
17334
17430
 
17335
- var _useState9 = React.useState({
17336
- brands: [],
17337
- products: []
17338
- }),
17431
+ var _useState9 = React.useState(false),
17339
17432
  _useState10 = _slicedToArray(_useState9, 2),
17340
- searchResults = _useState10[0],
17341
- setSearchResults = _useState10[1];
17433
+ showSideNav = _useState10[0],
17434
+ setShowSideNav = _useState10[1];
17342
17435
 
17343
17436
  var _useState11 = React.useState({
17344
17437
  brands: [],
17345
17438
  products: []
17346
17439
  }),
17347
17440
  _useState12 = _slicedToArray(_useState11, 2),
17348
- cachedResults = _useState12[0],
17349
- setCachedResults = _useState12[1];
17441
+ searchResults = _useState12[0],
17442
+ setSearchResults = _useState12[1];
17350
17443
 
17351
- var _useState13 = React.useState(false),
17444
+ var _useState13 = React.useState({
17445
+ brands: [],
17446
+ products: []
17447
+ }),
17352
17448
  _useState14 = _slicedToArray(_useState13, 2),
17353
- isSearchFocused = _useState14[0],
17354
- setIsSearchFocused = _useState14[1];
17449
+ cachedResults = _useState14[0],
17450
+ setCachedResults = _useState14[1];
17355
17451
 
17356
- var _useState15 = React.useState({
17452
+ var _useState15 = React.useState(false),
17453
+ _useState16 = _slicedToArray(_useState15, 2),
17454
+ isSearchFocused = _useState16[0],
17455
+ setIsSearchFocused = _useState16[1];
17456
+
17457
+ var _useState17 = React.useState({
17357
17458
  trending_brands: [],
17358
17459
  latest_products: []
17359
17460
  }),
17360
- _useState16 = _slicedToArray(_useState15, 2),
17361
- initialSearchView = _useState16[0],
17362
- setInitialSearchView = _useState16[1];
17461
+ _useState18 = _slicedToArray(_useState17, 2),
17462
+ initialSearchView = _useState18[0],
17463
+ setInitialSearchView = _useState18[1];
17363
17464
 
17364
17465
  var searchResultsRef = React.useRef(null);
17365
17466
  var searchInputRef = React.useRef(null);
@@ -17600,7 +17701,8 @@
17600
17701
  onBrandSearchResultClick: onBrandSearchResultClick,
17601
17702
  onCreateInterests: onCreateInterests,
17602
17703
  noResultsImage: noResultsImage,
17603
- showNoResults: showNoResults
17704
+ showNoResults: showNoResults,
17705
+ isLoading: searchLoading
17604
17706
  }))), shop && /*#__PURE__*/React__default.createElement(LuxitySideNav, {
17605
17707
  accordionIcon: accordionIcon,
17606
17708
  logoSrc: logoSrc,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonlineza/luxity-lib",
3
- "version": "2.38.2",
3
+ "version": "2.39.1",
4
4
  "scripts": {
5
5
  "start": "start-storybook -p 9001 -c .storybook -s ./public",
6
6
  "clean": "rimraf ./build/*.*",
package/TestComponent.js DELETED
@@ -1,15 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react')) :
3
- typeof define === 'function' && define.amd ? define(['react'], factory) :
4
- (global = global || self, global.TestComponent = factory(global.React));
5
- }(this, (function (React) { 'use strict';
6
-
7
- React = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;
8
-
9
- var TestComponent = function TestComponent() {
10
- return /*#__PURE__*/React.createElement("div", null, "TestComponent");
11
- };
12
-
13
- return TestComponent;
14
-
15
- })));
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var react_1 = __importDefault(require("react"));
7
- var ReactSelectWrapper_1 = __importDefault(require("../ReactSelectWrapper"));
8
- var responseTransform = function (countryData) {
9
- return countryData.map(function (item) { return ({
10
- label: "".concat(item.code, " (+").concat(item.dial_code, ")"),
11
- value: item.code,
12
- }); });
13
- };
14
- var CountryCodeSelect = function (_a) {
15
- var _b = _a.countryData, countryData = _b === void 0 ? [] : _b, className = _a.className, classNamePrefix = _a.classNamePrefix, _c = _a.defaultCountryCode, defaultCountryCode = _c === void 0 ? 'ZA' : _c, _d = _a.onChange, onChange = _d === void 0 ? function () { return null; } : _d, _e = _a.isSearchable, isSearchable = _e === void 0 ? true : _e, _f = _a.name, name = _f === void 0 ? 'country_code' : _f, _g = _a.renderNoData, renderNoData = _g === void 0 ? function () { return 'Loading...'; } : _g;
16
- return (react_1.default.createElement(react_1.default.Fragment, null, countryData && countryData.length ? (react_1.default.createElement(ReactSelectWrapper_1.default, { name: name, className: className, classNamePrefix: classNamePrefix, options: responseTransform(countryData), defaultValue: responseTransform(countryData.filter(function (item) { return item.code === defaultCountryCode; })), onChange: onChange, isSearchable: isSearchable })) : (renderNoData())));
17
- };
18
- exports.default = CountryCodeSelect;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- var __importDefault = (this && this.__importDefault) || function (mod) {
25
- return (mod && mod.__esModule) ? mod : { "default": mod };
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- var react_1 = __importDefault(require("react"));
29
- var react_select_1 = __importDefault(require("react-select"));
30
- var ReactSelectWrapper = function (_a) {
31
- var _b = _a.isMulti, isMulti = _b === void 0 ? false : _b, _c = _a.isSearchable, isSearchable = _c === void 0 ? false : _c, _d = _a.components, components = _d === void 0 ? { IndicatorSeparator: function () { return null; } } : _d, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.className, className = _f === void 0 ? 'dropdown-select-container' : _f, _g = _a.classNamePrefix, classNamePrefix = _g === void 0 ? 'dropdown-select' : _g, _h = _a.onChange, onChange = _h === void 0 ? function () { return null; } : _h, name = _a.name, _j = _a.noOptionsMessage, noOptionsMessage = _j === void 0 ? function () { return 'No Options'; } : _j, rest = __rest(_a, ["isMulti", "isSearchable", "components", "options", "className", "classNamePrefix", "onChange", "name", "noOptionsMessage"]);
32
- return (react_1.default.createElement(react_select_1.default, __assign({ isMulti: isMulti, isSearchable: isSearchable, components: components, options: options, className: className, classNamePrefix: classNamePrefix, onChange: onChange, name: name, noOptionsMessage: noOptionsMessage }, rest)));
33
- };
34
- exports.default = ReactSelectWrapper;
package/postcss.config.js DELETED
@@ -1,6 +0,0 @@
1
- module.exports = {
2
- plugins: {
3
- tailwindcss: {},
4
- autoprefixer: {},
5
- },
6
- };