@bonlineza/luxity-lib 2.36.1-uk-platform.1 → 2.36.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Accordion.js +116 -76
- package/AddInterest.js +777 -440
- package/AddProductInterest.js +644 -485
- package/BrandSelector.js +336 -176
- package/Checkbox.js +101 -68
- package/CheckboxButton.js +124 -79
- package/CommunicationPreferenceOptionsRenderer.js +169 -159
- package/CommunicationPreferenceSection.js +178 -166
- package/CommunicationPreferences.js +427 -549
- package/ConditionSelector.js +336 -174
- package/CountryCodeSelect.js +10 -7
- package/CurrencyInputFormatter.js +56 -29
- package/CurrencySelect.js +49 -23
- package/DropdownSelector.js +92 -68
- package/GALink.js +16 -6
- package/GenderSelector.js +142 -88
- package/GraphQLDropdownSelector.js +1508 -929
- package/GraphQLMultiSelector.js +274 -141
- package/IconHeader.js +25 -11
- package/IconWrapper.js +7 -3
- package/InterestCatSelector.js +74 -34
- package/InterestItem.js +187 -103
- package/Interests.js +1463 -913
- package/InterestsSubheading.js +10 -5
- package/InvertedTextButton.js +63 -27
- package/LuxityAppSideNav.js +21 -18
- package/LuxityDesktopHeader.js +451 -298
- package/LuxityFooter.js +321 -430
- package/LuxityGraphQLDropdownSelector.js +1540 -945
- package/LuxityGraphQLMultiselector.js +321 -167
- package/LuxityMobileHeader.js +544 -353
- package/LuxityPageReady.js +136 -74
- package/LuxityProductInterestItem.js +175 -97
- package/LuxitySideNav.js +244 -176
- package/MaterialSelector.js +1547 -951
- package/ModelSelector.js +1547 -951
- package/NotificationDropDown.js +218 -118
- package/Notify.js +1 -0
- package/OutlinePrimaryButton.js +58 -26
- package/PriceRangeSelector.js +281 -168
- package/PrimaryButton.js +58 -26
- package/RadioButtons.js +140 -114
- package/RangeSlider.js +242 -152
- package/RareStepFooter.js +41 -27
- package/RareStepHeader.js +190 -139
- package/ReactSelectWrapper.js +1 -0
- package/SecondaryButton.js +58 -26
- package/ShoeSizeRangeSelector.js +260 -162
- package/ShoeSizeSelector.js +263 -158
- package/SimpleErrorBoundary.js +106 -59
- package/StyleSelector.js +336 -176
- package/TestComponent.js +15 -0
- package/TextButton.js +58 -26
- package/Tooltip.js +39 -17
- package/Tracking.js +1 -0
- package/WrapperButton.js +43 -20
- package/build/CountryCodeSelect/index.js +18 -0
- package/build/ReactSelectWrapper/index.js +34 -0
- package/build/bundle.css +1 -1
- package/build/bundle.js +2616 -1974
- package/package.json +1 -1
- package/postcss.config.js +6 -0
- package/svg/Accessories.js +13 -6
- package/svg/Account.js +13 -6
- package/svg/Add.js +13 -6
- package/svg/ArrowRight.js +13 -6
- package/svg/Bags.js +13 -6
- package/svg/BurgerMenu.js +13 -6
- package/svg/Calendar.js +13 -6
- package/svg/CalendarCircled.js +13 -6
- package/svg/CheckCircled.js +13 -6
- package/svg/Close.js +13 -6
- package/svg/Clothing.js +13 -6
- package/svg/Dot.js +13 -6
- package/svg/Edit.js +13 -6
- package/svg/Eye.js +13 -6
- package/svg/FileAttach.js +13 -6
- package/svg/FileAttachCircled.js +13 -6
- package/svg/LightBulb.js +13 -6
- package/svg/Logo.js +13 -6
- package/svg/LuxityMenu.js +13 -6
- package/svg/Minus.js +13 -6
- package/svg/MobileAvatar.js +13 -6
- package/svg/MyOrder.js +13 -6
- package/svg/MyPayment.js +13 -6
- package/svg/MyProfile.js +14 -8
- package/svg/MySale.js +13 -6
- package/svg/Notification.js +13 -6
- package/svg/PointerDown.js +13 -6
- package/svg/Search.js +13 -6
- package/svg/Shoes.js +13 -6
- package/svg/SvgWrapper.js +7 -3
- package/svg/Trash.js +13 -6
- package/svg/Watches.js +13 -6
package/LuxityMobileHeader.js
CHANGED
|
@@ -8,140 +8,164 @@
|
|
|
8
8
|
axios = axios && Object.prototype.hasOwnProperty.call(axios, 'default') ? axios['default'] : axios;
|
|
9
9
|
var styled__default = 'default' in styled ? styled['default'] : styled;
|
|
10
10
|
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
function _defineProperty(e, r, t) {
|
|
20
|
-
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
21
|
-
value: t,
|
|
22
|
-
enumerable: !0,
|
|
23
|
-
configurable: !0,
|
|
24
|
-
writable: !0
|
|
25
|
-
}) : e[r] = t, e;
|
|
26
|
-
}
|
|
27
|
-
function _extends() {
|
|
28
|
-
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
29
|
-
for (var e = 1; e < arguments.length; e++) {
|
|
30
|
-
var t = arguments[e];
|
|
31
|
-
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
32
|
-
}
|
|
33
|
-
return n;
|
|
34
|
-
}, _extends.apply(null, arguments);
|
|
35
|
-
}
|
|
36
|
-
function _iterableToArrayLimit(r, l) {
|
|
37
|
-
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
38
|
-
if (null != t) {
|
|
39
|
-
var e,
|
|
40
|
-
n,
|
|
41
|
-
i,
|
|
42
|
-
u,
|
|
43
|
-
a = [],
|
|
44
|
-
f = !0,
|
|
45
|
-
o = !1;
|
|
46
|
-
try {
|
|
47
|
-
if (i = (t = t.call(r)).next, 0 === l) {
|
|
48
|
-
if (Object(t) !== t) return;
|
|
49
|
-
f = !1;
|
|
50
|
-
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
51
|
-
} catch (r) {
|
|
52
|
-
o = !0, n = r;
|
|
53
|
-
} finally {
|
|
54
|
-
try {
|
|
55
|
-
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
|
|
56
|
-
} finally {
|
|
57
|
-
if (o) throw n;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return a;
|
|
11
|
+
function ownKeys(object, enumerableOnly) {
|
|
12
|
+
var keys = Object.keys(object);
|
|
13
|
+
|
|
14
|
+
if (Object.getOwnPropertySymbols) {
|
|
15
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
16
|
+
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
17
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
18
|
+
})), keys.push.apply(keys, symbols);
|
|
61
19
|
}
|
|
20
|
+
|
|
21
|
+
return keys;
|
|
62
22
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
})), t.push.apply(t, o);
|
|
23
|
+
|
|
24
|
+
function _objectSpread2(target) {
|
|
25
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
26
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
27
|
+
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
28
|
+
_defineProperty(target, key, source[key]);
|
|
29
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
|
|
30
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
31
|
+
});
|
|
73
32
|
}
|
|
74
|
-
|
|
33
|
+
|
|
34
|
+
return target;
|
|
75
35
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
36
|
+
|
|
37
|
+
function _defineProperty(obj, key, value) {
|
|
38
|
+
if (key in obj) {
|
|
39
|
+
Object.defineProperty(obj, key, {
|
|
40
|
+
value: value,
|
|
41
|
+
enumerable: true,
|
|
42
|
+
configurable: true,
|
|
43
|
+
writable: true
|
|
83
44
|
});
|
|
45
|
+
} else {
|
|
46
|
+
obj[key] = value;
|
|
84
47
|
}
|
|
85
|
-
|
|
48
|
+
|
|
49
|
+
return obj;
|
|
86
50
|
}
|
|
87
|
-
|
|
88
|
-
|
|
51
|
+
|
|
52
|
+
function _extends() {
|
|
53
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
54
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
55
|
+
var source = arguments[i];
|
|
56
|
+
|
|
57
|
+
for (var key in source) {
|
|
58
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
59
|
+
target[key] = source[key];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return target;
|
|
65
|
+
};
|
|
66
|
+
return _extends.apply(this, arguments);
|
|
89
67
|
}
|
|
90
|
-
|
|
91
|
-
|
|
68
|
+
|
|
69
|
+
function _taggedTemplateLiteral(strings, raw) {
|
|
70
|
+
if (!raw) {
|
|
71
|
+
raw = strings.slice(0);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return Object.freeze(Object.defineProperties(strings, {
|
|
92
75
|
raw: {
|
|
93
|
-
value: Object.freeze(
|
|
76
|
+
value: Object.freeze(raw)
|
|
94
77
|
}
|
|
95
78
|
}));
|
|
96
79
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (void 0 !== e) {
|
|
101
|
-
var i = e.call(t, r || "default");
|
|
102
|
-
if ("object" != typeof i) return i;
|
|
103
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
104
|
-
}
|
|
105
|
-
return ("string" === r ? String : Number)(t);
|
|
80
|
+
|
|
81
|
+
function _slicedToArray(arr, i) {
|
|
82
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
106
83
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
84
|
+
|
|
85
|
+
function _arrayWithHoles(arr) {
|
|
86
|
+
if (Array.isArray(arr)) return arr;
|
|
110
87
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
88
|
+
|
|
89
|
+
function _iterableToArrayLimit(arr, i) {
|
|
90
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
91
|
+
|
|
92
|
+
if (_i == null) return;
|
|
93
|
+
var _arr = [];
|
|
94
|
+
var _n = true;
|
|
95
|
+
var _d = false;
|
|
96
|
+
|
|
97
|
+
var _s, _e;
|
|
98
|
+
|
|
99
|
+
try {
|
|
100
|
+
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
|
101
|
+
_arr.push(_s.value);
|
|
102
|
+
|
|
103
|
+
if (i && _arr.length === i) break;
|
|
104
|
+
}
|
|
105
|
+
} catch (err) {
|
|
106
|
+
_d = true;
|
|
107
|
+
_e = err;
|
|
108
|
+
} finally {
|
|
109
|
+
try {
|
|
110
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
111
|
+
} finally {
|
|
112
|
+
if (_d) throw _e;
|
|
113
|
+
}
|
|
116
114
|
}
|
|
115
|
+
|
|
116
|
+
return _arr;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
120
|
+
if (!o) return;
|
|
121
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
122
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
123
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
124
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
125
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function _arrayLikeToArray(arr, len) {
|
|
129
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
130
|
+
|
|
131
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
132
|
+
|
|
133
|
+
return arr2;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function _nonIterableRest() {
|
|
137
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
117
138
|
}
|
|
118
139
|
|
|
119
140
|
var LuxityAppSideNav = function LuxityAppSideNav(_ref) {
|
|
120
141
|
var closeIcon = _ref.closeIcon,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
142
|
+
accountIcon = _ref.accountIcon,
|
|
143
|
+
orderIcon = _ref.orderIcon,
|
|
144
|
+
saleIcon = _ref.saleIcon,
|
|
145
|
+
onDashboardClick = _ref.onDashboardClick,
|
|
146
|
+
onLogoutClick = _ref.onLogoutClick,
|
|
147
|
+
bugReportLink = _ref.bugReportLink,
|
|
148
|
+
onLuxityShopClick = _ref.onLuxityShopClick,
|
|
149
|
+
onInterestClick = _ref.onInterestClick,
|
|
150
|
+
onAddressClick = _ref.onAddressClick,
|
|
151
|
+
onCouponsClick = _ref.onCouponsClick,
|
|
152
|
+
onEditProfileClick = _ref.onEditProfileClick,
|
|
153
|
+
onCurrentOrdersClick = _ref.onCurrentOrdersClick,
|
|
154
|
+
onPastOrdersClick = _ref.onPastOrdersClick,
|
|
155
|
+
onSubmissionsClick = _ref.onSubmissionsClick,
|
|
156
|
+
onPastSalesClick = _ref.onPastSalesClick,
|
|
157
|
+
onPaidOutClick = _ref.onPaidOutClick,
|
|
158
|
+
showSideNav = _ref.showSideNav,
|
|
159
|
+
onMenuClick = _ref.onMenuClick;
|
|
160
|
+
|
|
139
161
|
var onCloseSideNav = function onCloseSideNav(e) {
|
|
140
162
|
onMenuClick();
|
|
163
|
+
|
|
141
164
|
if (e.key === 'Enter') {
|
|
142
165
|
e.preventDefault();
|
|
143
166
|
}
|
|
144
167
|
};
|
|
168
|
+
|
|
145
169
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
146
170
|
className: "side-nav"
|
|
147
171
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -299,9 +323,9 @@
|
|
|
299
323
|
|
|
300
324
|
var StoresDropdown = function StoresDropdown(_ref) {
|
|
301
325
|
var backIcon = _ref.backIcon,
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
326
|
+
onBackClick = _ref.onBackClick,
|
|
327
|
+
stores = _ref.stores,
|
|
328
|
+
onContactUsClick = _ref.onContactUsClick;
|
|
305
329
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
306
330
|
className: "side-nav__sub-menu"
|
|
307
331
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
@@ -341,19 +365,20 @@
|
|
|
341
365
|
|
|
342
366
|
var BrandsDropDown = function BrandsDropDown(_ref) {
|
|
343
367
|
var subMenuOpen = _ref.subMenuOpen,
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
368
|
+
onBackClick = _ref.onBackClick,
|
|
369
|
+
onCloseSideNav = _ref.onCloseSideNav,
|
|
370
|
+
backIcon = _ref.backIcon,
|
|
371
|
+
subMenuCategoryTitle = _ref.subMenuCategoryTitle,
|
|
372
|
+
productUrl = _ref.productUrl,
|
|
373
|
+
categoryElements = _ref.categoryElements,
|
|
374
|
+
subMenuBrandsTitle = _ref.subMenuBrandsTitle,
|
|
375
|
+
_ref$brandsList = _ref.brandsList,
|
|
376
|
+
brandsList = _ref$brandsList === void 0 ? [] : _ref$brandsList,
|
|
377
|
+
categorySlug = _ref.categorySlug,
|
|
378
|
+
isLoading = _ref.isLoading,
|
|
379
|
+
hasError = _ref.hasError,
|
|
380
|
+
LinkComponent = _ref.LinkComponent;
|
|
381
|
+
|
|
357
382
|
var handleLinkClick = function handleLinkClick(event) {
|
|
358
383
|
event.preventDefault();
|
|
359
384
|
var href = event.currentTarget.getAttribute('href');
|
|
@@ -361,6 +386,7 @@
|
|
|
361
386
|
onCloseSideNav();
|
|
362
387
|
window.location.href = href;
|
|
363
388
|
};
|
|
389
|
+
|
|
364
390
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
365
391
|
className: "side-nav__content ".concat(subMenuOpen ? '' : 'side-nav__content--hidden')
|
|
366
392
|
}, hasError ? /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -407,6 +433,7 @@
|
|
|
407
433
|
className: "side-nav__element"
|
|
408
434
|
}, "All Brands"), !!brandsList.length && brandsList.map(function (brand) {
|
|
409
435
|
return /*#__PURE__*/React__default.createElement(LinkComponent, {
|
|
436
|
+
key: brand.slug,
|
|
410
437
|
href: "".concat(productUrl, "/").concat(categorySlug === 'new' ? 'brands' : categorySlug, "/").concat(brand.slug),
|
|
411
438
|
onClick: handleLinkClick,
|
|
412
439
|
className: "side-nav__element"
|
|
@@ -416,14 +443,15 @@
|
|
|
416
443
|
|
|
417
444
|
var removeCategoryByName = function removeCategoryByName(categories, name) {
|
|
418
445
|
var _categories$filter;
|
|
446
|
+
|
|
419
447
|
return (_categories$filter = categories === null || categories === void 0 ? void 0 : categories.filter(function (category) {
|
|
420
448
|
return category.name.toLowerCase() !== name.toLowerCase();
|
|
421
449
|
})) !== null && _categories$filter !== void 0 ? _categories$filter : [];
|
|
422
450
|
};
|
|
423
451
|
|
|
424
452
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
425
|
-
|
|
426
453
|
/* position relative is required for the Body element to be positioned correctly */
|
|
454
|
+
|
|
427
455
|
var relativeInlineStyle = styled.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n"])));
|
|
428
456
|
var topMiddleBodyStyle = styled.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n z-index: 1;\n bottom: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n"])));
|
|
429
457
|
var getTopMiddleArrowAfterStyle = function getTopMiddleArrowAfterStyle(props) {
|
|
@@ -437,31 +465,40 @@
|
|
|
437
465
|
};
|
|
438
466
|
|
|
439
467
|
var _templateObject$1;
|
|
468
|
+
|
|
440
469
|
var getBodyStyle = function getBodyStyle() {
|
|
441
470
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
442
471
|
var _props$toolTipPositio = props.toolTipPosition,
|
|
443
|
-
|
|
472
|
+
toolTipPosition = _props$toolTipPositio === void 0 ? '' : _props$toolTipPositio;
|
|
473
|
+
|
|
444
474
|
switch (toolTipPosition) {
|
|
445
475
|
case 'top':
|
|
446
476
|
return topMiddleBodyStyle;
|
|
477
|
+
|
|
447
478
|
case 'bottom':
|
|
448
479
|
return getBottomMiddleBodyStyle(props);
|
|
480
|
+
|
|
449
481
|
default:
|
|
450
482
|
return null;
|
|
451
483
|
}
|
|
452
484
|
};
|
|
485
|
+
|
|
453
486
|
var getAfterStyling = function getAfterStyling() {
|
|
454
487
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
455
488
|
var toolTipPosition = props.toolTipPosition;
|
|
489
|
+
|
|
456
490
|
switch (toolTipPosition) {
|
|
457
491
|
case 'top':
|
|
458
492
|
return getTopMiddleArrowAfterStyle(props);
|
|
493
|
+
|
|
459
494
|
case 'bottom':
|
|
460
495
|
return getBottomMiddleArrowAfterStyle(props);
|
|
496
|
+
|
|
461
497
|
default:
|
|
462
498
|
return '';
|
|
463
499
|
}
|
|
464
500
|
};
|
|
501
|
+
|
|
465
502
|
var Body = styled__default.span(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n ", ";\n visibility: hidden;\n opacity: 0;\n width: ", ";\n transition: visibility 0.3s linear, opacity 0.3s linear;\n background-color: ", ";\n color: white;\n text-align: center;\n border-radius: 5px;\n ", "\n &::after {\n content: ' ';\n position: absolute;\n ", "\n }\n"])), relativeInlineStyle, function (props) {
|
|
466
503
|
return props.bodyWidth;
|
|
467
504
|
}, function (props) {
|
|
@@ -541,12 +578,12 @@
|
|
|
541
578
|
|
|
542
579
|
var Tooltip = function Tooltip(_ref) {
|
|
543
580
|
var children = _ref.children,
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
581
|
+
toolTipText = _ref.toolTipText,
|
|
582
|
+
toolTipPosition = _ref.toolTipPosition,
|
|
583
|
+
bodyWidth = _ref.bodyWidth,
|
|
584
|
+
apexWidth = _ref.apexWidth,
|
|
585
|
+
containerClassName = _ref.containerClassName,
|
|
586
|
+
bodyClassName = _ref.bodyClassName;
|
|
550
587
|
return /*#__PURE__*/React__default.createElement(Container, {
|
|
551
588
|
className: containerClassName
|
|
552
589
|
}, children, /*#__PURE__*/React__default.createElement(Body, {
|
|
@@ -556,6 +593,7 @@
|
|
|
556
593
|
className: bodyClassName
|
|
557
594
|
}, toolTipText));
|
|
558
595
|
};
|
|
596
|
+
|
|
559
597
|
Tooltip.defaultProps = {
|
|
560
598
|
children: null,
|
|
561
599
|
toolTipText: '',
|
|
@@ -569,21 +607,25 @@
|
|
|
569
607
|
|
|
570
608
|
var CurrencySelect = function CurrencySelect(_ref) {
|
|
571
609
|
var currency = _ref.currency,
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
610
|
+
currencyOptions = _ref.currencyOptions,
|
|
611
|
+
onCurrencyChange = _ref.onCurrencyChange,
|
|
612
|
+
_ref$isCurrencySelect = _ref.isCurrencySelectionDisabled,
|
|
613
|
+
isCurrencySelectionDisabled = _ref$isCurrencySelect === void 0 ? false : _ref$isCurrencySelect,
|
|
614
|
+
_ref$tooltipContent = _ref.tooltipContent,
|
|
615
|
+
tooltipContent = _ref$tooltipContent === void 0 ? '' : _ref$tooltipContent;
|
|
616
|
+
|
|
578
617
|
if (!currencyOptions || currencyOptions.length === 0) {
|
|
579
618
|
return null;
|
|
580
619
|
}
|
|
620
|
+
|
|
581
621
|
var selectedOption = currencyOptions.find(function (opt) {
|
|
582
622
|
return opt.value === currency;
|
|
583
623
|
});
|
|
624
|
+
|
|
584
625
|
if (!selectedOption) {
|
|
585
626
|
return null;
|
|
586
627
|
}
|
|
628
|
+
|
|
587
629
|
return /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
588
630
|
toolTipText: isCurrencySelectionDisabled ? tooltipContent : '',
|
|
589
631
|
toolTipPosition: "bottom",
|
|
@@ -612,70 +654,79 @@
|
|
|
612
654
|
|
|
613
655
|
var LuxitySideNav = function LuxitySideNav(_ref) {
|
|
614
656
|
var accordionIcon = _ref.accordionIcon,
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
categoryConfig = _ref.categoryConfig;
|
|
657
|
+
closeIcon = _ref.closeIcon,
|
|
658
|
+
backIcon = _ref.backIcon,
|
|
659
|
+
productUrl = _ref.productUrl,
|
|
660
|
+
onAccountClick = _ref.onAccountClick,
|
|
661
|
+
onCartClick = _ref.onCartClick,
|
|
662
|
+
onContactUsClick = _ref.onContactUsClick,
|
|
663
|
+
onOurStoryClick = _ref.onOurStoryClick,
|
|
664
|
+
onBlogClick = _ref.onBlogClick,
|
|
665
|
+
onSellToUsClick = _ref.onSellToUsClick,
|
|
666
|
+
stores = _ref.stores,
|
|
667
|
+
categoryElements = _ref.categoryElements,
|
|
668
|
+
showSideNav = _ref.showSideNav,
|
|
669
|
+
onMenuClick = _ref.onMenuClick,
|
|
670
|
+
currency = _ref.currency,
|
|
671
|
+
currencyOptions = _ref.currencyOptions,
|
|
672
|
+
onCurrencyChange = _ref.onCurrencyChange,
|
|
673
|
+
isCurrencySelectionDisabled = _ref.isCurrencySelectionDisabled,
|
|
674
|
+
tooltipContent = _ref.tooltipContent,
|
|
675
|
+
LinkComponent = _ref.LinkComponent,
|
|
676
|
+
categoryConfig = _ref.categoryConfig;
|
|
677
|
+
|
|
637
678
|
var _useState = React.useState(false),
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
679
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
680
|
+
subMenuOpen = _useState2[0],
|
|
681
|
+
setSubMenuOpen = _useState2[1];
|
|
682
|
+
|
|
641
683
|
var _useState3 = React.useState(''),
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
684
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
685
|
+
displayedSubMenu = _useState4[0],
|
|
686
|
+
setDisplayedSubMenu = _useState4[1];
|
|
687
|
+
|
|
645
688
|
var _useState5 = React.useState(false),
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
689
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
690
|
+
loading = _useState6[0],
|
|
691
|
+
setLoading = _useState6[1];
|
|
692
|
+
|
|
649
693
|
var _useState7 = React.useState({}),
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
694
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
695
|
+
dropdownData = _useState8[0],
|
|
696
|
+
setDropdownData = _useState8[1];
|
|
697
|
+
|
|
653
698
|
var _useState9 = React.useState(false),
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
699
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
700
|
+
hasError = _useState10[0],
|
|
701
|
+
setHasError = _useState10[1];
|
|
702
|
+
|
|
657
703
|
var onSubMenuClick = function onSubMenuClick(subMenu) {
|
|
658
704
|
setSubMenuOpen(function (prev) {
|
|
659
705
|
return !prev;
|
|
660
706
|
});
|
|
661
707
|
setDisplayedSubMenu(subMenu);
|
|
662
708
|
};
|
|
709
|
+
|
|
663
710
|
var onStoresClick = function onStoresClick() {
|
|
664
711
|
setSubMenuOpen(false);
|
|
665
712
|
setDisplayedSubMenu('stores');
|
|
666
713
|
};
|
|
714
|
+
|
|
667
715
|
var onBackClick = function onBackClick() {
|
|
668
716
|
setSubMenuOpen(false);
|
|
669
717
|
setDisplayedSubMenu('');
|
|
670
718
|
};
|
|
719
|
+
|
|
671
720
|
var onCloseSideNav = function onCloseSideNav(e) {
|
|
672
721
|
onMenuClick();
|
|
673
722
|
setSubMenuOpen(false);
|
|
674
723
|
setDisplayedSubMenu('');
|
|
724
|
+
|
|
675
725
|
if (e && e.key === 'Enter') {
|
|
676
726
|
e.preventDefault();
|
|
677
727
|
}
|
|
678
728
|
};
|
|
729
|
+
|
|
679
730
|
function addCategoryToElements(elements, categoryName) {
|
|
680
731
|
return elements.map(function (element) {
|
|
681
732
|
return _objectSpread2(_objectSpread2({}, element), {}, {
|
|
@@ -683,26 +734,31 @@
|
|
|
683
734
|
});
|
|
684
735
|
});
|
|
685
736
|
}
|
|
737
|
+
|
|
686
738
|
React.useMemo(function () {
|
|
687
739
|
setLoading(true);
|
|
688
|
-
axios.get("".concat(menuData)).then(function (_ref2) {
|
|
740
|
+
axios.get("".concat(categoryConfig.menuData)).then(function (_ref2) {
|
|
689
741
|
var data = _ref2.data;
|
|
690
742
|
setLoading(false);
|
|
691
743
|
setDropdownData(data);
|
|
692
744
|
}).catch(function () {
|
|
693
745
|
return setHasError(true);
|
|
694
746
|
});
|
|
695
|
-
}, [menuData]);
|
|
747
|
+
}, [categoryConfig.menuData]);
|
|
748
|
+
|
|
696
749
|
var renderMenuItems = function renderMenuItems() {
|
|
697
750
|
return categoryConfig.categories.map(function (category) {
|
|
698
751
|
var title = category.title,
|
|
699
|
-
|
|
752
|
+
categorySlug = category.categorySlug;
|
|
700
753
|
var slug = categorySlug;
|
|
754
|
+
|
|
701
755
|
if (categorySlug === 'brands') {
|
|
702
756
|
slug = 'new';
|
|
703
757
|
}
|
|
758
|
+
|
|
704
759
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
705
|
-
className: "side-nav__menu-item"
|
|
760
|
+
className: "side-nav__menu-item",
|
|
761
|
+
key: slug
|
|
706
762
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
707
763
|
type: "button",
|
|
708
764
|
className: "side-nav__menu-title-wrapper",
|
|
@@ -718,14 +774,16 @@
|
|
|
718
774
|
})));
|
|
719
775
|
});
|
|
720
776
|
};
|
|
777
|
+
|
|
721
778
|
var renderDropdownLinks = function renderDropdownLinks() {
|
|
722
779
|
return categoryConfig.categories.map(function (category) {
|
|
723
780
|
var categorySlug = category.categorySlug,
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
781
|
+
categoryName = category.categoryName,
|
|
782
|
+
elementsKey = category.elementsKey,
|
|
783
|
+
subCategoryElementsKey = category.subCategoryElementsKey,
|
|
784
|
+
styleElementsKey = category.styleElementsKey;
|
|
728
785
|
var categoryElementsProcessed = categoryElements;
|
|
786
|
+
|
|
729
787
|
if (subCategoryElementsKey && dropdownData[subCategoryElementsKey]) {
|
|
730
788
|
// show subcategory elements
|
|
731
789
|
categoryElementsProcessed = removeCategoryByName(dropdownData[subCategoryElementsKey], categoryName);
|
|
@@ -734,15 +792,21 @@
|
|
|
734
792
|
} else {
|
|
735
793
|
categoryElementsProcessed = addCategoryToElements(categoryElementsProcessed, categorySlug);
|
|
736
794
|
}
|
|
795
|
+
|
|
737
796
|
var subMenuTitle = 'Brands';
|
|
797
|
+
|
|
738
798
|
if (categorySlug !== 'brands') {
|
|
739
799
|
subMenuTitle = "".concat(categoryName, " Brands");
|
|
740
800
|
}
|
|
801
|
+
|
|
741
802
|
var subMenu = categorySlug;
|
|
803
|
+
|
|
742
804
|
if (subMenu === 'brands') {
|
|
743
805
|
subMenu = 'new';
|
|
744
806
|
}
|
|
807
|
+
|
|
745
808
|
return /*#__PURE__*/React__default.createElement(BrandsDropDown, {
|
|
809
|
+
key: categorySlug,
|
|
746
810
|
subMenuOpen: subMenuOpen && displayedSubMenu === subMenu,
|
|
747
811
|
onBackClick: onBackClick,
|
|
748
812
|
backIcon: backIcon,
|
|
@@ -759,6 +823,7 @@
|
|
|
759
823
|
});
|
|
760
824
|
});
|
|
761
825
|
};
|
|
826
|
+
|
|
762
827
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
763
828
|
className: "side-nav"
|
|
764
829
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -780,7 +845,8 @@
|
|
|
780
845
|
})), /*#__PURE__*/React__default.createElement("div", {
|
|
781
846
|
className: "side-nav__menu-items-wrapper"
|
|
782
847
|
}, renderMenuItems(), !!stores.length && /*#__PURE__*/React__default.createElement("div", {
|
|
783
|
-
className: "side-nav__menu-item"
|
|
848
|
+
className: "side-nav__menu-item",
|
|
849
|
+
key: "stores"
|
|
784
850
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
785
851
|
type: "button",
|
|
786
852
|
className: "side-nav__menu-title-wrapper",
|
|
@@ -792,42 +858,49 @@
|
|
|
792
858
|
alt: "accordion-icon",
|
|
793
859
|
className: "side-nav__accordion-icon"
|
|
794
860
|
}))), /*#__PURE__*/React__default.createElement("div", {
|
|
795
|
-
className: "side-nav__menu-item"
|
|
861
|
+
className: "side-nav__menu-item",
|
|
862
|
+
key: "sell-to-us"
|
|
796
863
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
797
864
|
type: "button",
|
|
798
865
|
className: "side-nav__block-button",
|
|
799
866
|
onClick: onSellToUsClick
|
|
800
867
|
}, "Sell To Us")), /*#__PURE__*/React__default.createElement("div", {
|
|
801
|
-
className: "side-nav__menu-item"
|
|
868
|
+
className: "side-nav__menu-item",
|
|
869
|
+
key: "our-story"
|
|
802
870
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
803
871
|
type: "button",
|
|
804
872
|
className: "side-nav__sub-link",
|
|
805
873
|
onClick: onOurStoryClick
|
|
806
874
|
}, "Our Story")), typeof onBlogClick === 'function' && /*#__PURE__*/React__default.createElement("div", {
|
|
807
|
-
className: "side-nav__menu-item"
|
|
875
|
+
className: "side-nav__menu-item",
|
|
876
|
+
key: "blog"
|
|
808
877
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
809
878
|
type: "button",
|
|
810
879
|
className: "side-nav__sub-link",
|
|
811
880
|
onClick: onBlogClick
|
|
812
881
|
}, "Blog")), /*#__PURE__*/React__default.createElement("div", {
|
|
813
|
-
className: "side-nav__menu-item"
|
|
882
|
+
className: "side-nav__menu-item",
|
|
883
|
+
key: "contact-us"
|
|
814
884
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
815
885
|
type: "button",
|
|
816
886
|
className: "side-nav__sub-link",
|
|
817
887
|
onClick: onContactUsClick
|
|
818
888
|
}, "Contact Us")), /*#__PURE__*/React__default.createElement("div", {
|
|
819
|
-
className: "side-nav__menu-item"
|
|
889
|
+
className: "side-nav__menu-item",
|
|
890
|
+
key: "my-account"
|
|
820
891
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
821
892
|
type: "button",
|
|
822
893
|
className: "side-nav__sub-link",
|
|
823
894
|
onClick: onAccountClick
|
|
824
895
|
}, "My Account")), /*#__PURE__*/React__default.createElement("div", {
|
|
825
|
-
className: "side-nav__menu-item"
|
|
896
|
+
className: "side-nav__menu-item",
|
|
897
|
+
key: "my-cart"
|
|
826
898
|
}, /*#__PURE__*/React__default.createElement("button", {
|
|
827
899
|
type: "button",
|
|
828
900
|
className: "side-nav__sub-link",
|
|
829
901
|
onClick: onCartClick
|
|
830
902
|
}, "My Cart")), /*#__PURE__*/React__default.createElement(CurrencySelect, {
|
|
903
|
+
key: "currency",
|
|
831
904
|
currency: currency,
|
|
832
905
|
currencyOptions: currencyOptions,
|
|
833
906
|
onCurrencyChange: onCurrencyChange,
|
|
@@ -836,37 +909,39 @@
|
|
|
836
909
|
}))), renderDropdownLinks(), displayedSubMenu === 'stores' && /*#__PURE__*/React__default.createElement("div", {
|
|
837
910
|
className: "side-nav__content"
|
|
838
911
|
}, /*#__PURE__*/React__default.createElement(StoresDropdown, {
|
|
912
|
+
key: "stores",
|
|
839
913
|
backIcon: backIcon,
|
|
840
914
|
onBackClick: onBackClick,
|
|
841
915
|
stores: stores,
|
|
842
916
|
onContactUsClick: onContactUsClick
|
|
843
917
|
})));
|
|
844
918
|
};
|
|
845
|
-
LuxitySideNav.defaultProps = {
|
|
846
|
-
onBlogClick: undefined
|
|
847
|
-
};
|
|
848
919
|
|
|
849
920
|
var SearchResults = function SearchResults(_ref) {
|
|
850
921
|
var _searchResults$brands, _searchResults$produc, _searchResults$brands2, _searchResults$produc2, _initialSearchData$tr, _initialSearchData$la, _limitBrands, _limitBrands2, _initialSearchData$la2, _searchResults$produc3;
|
|
922
|
+
|
|
851
923
|
var searchValue = _ref.searchValue,
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
924
|
+
searchResults = _ref.searchResults,
|
|
925
|
+
onViewAll = _ref.onViewAll,
|
|
926
|
+
searchResultsRef = _ref.searchResultsRef,
|
|
927
|
+
onSearchSubmit = _ref.onSearchSubmit,
|
|
928
|
+
setSearchValue = _ref.setSearchValue,
|
|
929
|
+
initialSearchData = _ref.initialSearchData,
|
|
930
|
+
isSearchFocused = _ref.isSearchFocused,
|
|
931
|
+
setIsSearchFocused = _ref.setIsSearchFocused,
|
|
932
|
+
currency = _ref.currency,
|
|
933
|
+
currencySymbol = _ref.currencySymbol;
|
|
934
|
+
|
|
862
935
|
var _useState = React.useState(false),
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
936
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
937
|
+
isMobile = _useState2[0],
|
|
938
|
+
setIsMobile = _useState2[1];
|
|
939
|
+
|
|
866
940
|
React.useEffect(function () {
|
|
867
941
|
var checkIfMobile = function checkIfMobile() {
|
|
868
942
|
setIsMobile(window.innerWidth <= 1024);
|
|
869
943
|
};
|
|
944
|
+
|
|
870
945
|
checkIfMobile();
|
|
871
946
|
window.addEventListener('resize', checkIfMobile);
|
|
872
947
|
return function () {
|
|
@@ -876,12 +951,15 @@
|
|
|
876
951
|
var shouldShowInitialData = isSearchFocused && (!searchValue || searchValue.trim().length < 3) || (searchValue === null || searchValue === void 0 ? void 0 : searchValue.trim().length) >= 3 && !(searchResults !== null && searchResults !== void 0 && (_searchResults$brands = searchResults.brands) !== null && _searchResults$brands !== void 0 && _searchResults$brands.length) && !(searchResults !== null && searchResults !== void 0 && (_searchResults$produc = searchResults.products) !== null && _searchResults$produc !== void 0 && _searchResults$produc.length);
|
|
877
952
|
var hasResults = (searchResults === null || searchResults === void 0 ? void 0 : (_searchResults$brands2 = searchResults.brands) === null || _searchResults$brands2 === void 0 ? void 0 : _searchResults$brands2.length) > 0 || (searchResults === null || searchResults === void 0 ? void 0 : (_searchResults$produc2 = searchResults.products) === null || _searchResults$produc2 === void 0 ? void 0 : _searchResults$produc2.length) > 0;
|
|
878
953
|
var hasInitialData = (initialSearchData === null || initialSearchData === void 0 ? void 0 : (_initialSearchData$tr = initialSearchData.trending_brands) === null || _initialSearchData$tr === void 0 ? void 0 : _initialSearchData$tr.length) > 0 || (initialSearchData === null || initialSearchData === void 0 ? void 0 : (_initialSearchData$la = initialSearchData.latest_products) === null || _initialSearchData$la === void 0 ? void 0 : _initialSearchData$la.length) > 0;
|
|
954
|
+
|
|
879
955
|
if (!hasResults && !hasInitialData) {
|
|
880
956
|
return null;
|
|
881
957
|
}
|
|
882
|
-
|
|
958
|
+
|
|
959
|
+
if (!isSearchFocused) {
|
|
883
960
|
return null;
|
|
884
961
|
}
|
|
962
|
+
|
|
885
963
|
var formatPrice = function formatPrice(price) {
|
|
886
964
|
var formatter = new Intl.NumberFormat(undefined, {
|
|
887
965
|
minimumFractionDigits: 0,
|
|
@@ -889,6 +967,7 @@
|
|
|
889
967
|
});
|
|
890
968
|
return "".concat(currencySymbol).concat(formatter.format(price));
|
|
891
969
|
};
|
|
970
|
+
|
|
892
971
|
var renderProductCard = function renderProductCard(product) {
|
|
893
972
|
var selectedPrice = product.prices ? product.prices.find(function (p) {
|
|
894
973
|
return p.currency === currency;
|
|
@@ -900,7 +979,7 @@
|
|
|
900
979
|
key: product.link,
|
|
901
980
|
href: product.link,
|
|
902
981
|
className: "product-card"
|
|
903
|
-
},
|
|
982
|
+
}, product.featured_image && /*#__PURE__*/React__default.createElement("div", {
|
|
904
983
|
className: "product-card__image-container"
|
|
905
984
|
}, /*#__PURE__*/React__default.createElement("img", {
|
|
906
985
|
src: product.featured_image,
|
|
@@ -926,15 +1005,19 @@
|
|
|
926
1005
|
className: "product-card__condition-label"
|
|
927
1006
|
}, "Condition:"), product.condition))));
|
|
928
1007
|
};
|
|
1008
|
+
|
|
929
1009
|
var getBrandLink = function getBrandLink(brand) {
|
|
930
1010
|
return "/products/brands/".concat(brand.slug);
|
|
931
1011
|
};
|
|
1012
|
+
|
|
932
1013
|
var limitBrands = function limitBrands(brands) {
|
|
933
1014
|
if (isMobile && brands && brands.length > 4) {
|
|
934
1015
|
return brands.slice(0, 4);
|
|
935
1016
|
}
|
|
1017
|
+
|
|
936
1018
|
return brands;
|
|
937
1019
|
};
|
|
1020
|
+
|
|
938
1021
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
939
1022
|
className: "search-results",
|
|
940
1023
|
ref: searchResultsRef
|
|
@@ -975,6 +1058,7 @@
|
|
|
975
1058
|
className: "search-results__view-all-button",
|
|
976
1059
|
onClick: function onClick() {
|
|
977
1060
|
onViewAll();
|
|
1061
|
+
|
|
978
1062
|
if (!shouldShowInitialData) {
|
|
979
1063
|
onSearchSubmit(searchValue);
|
|
980
1064
|
setSearchValue('');
|
|
@@ -997,18 +1081,21 @@
|
|
|
997
1081
|
|
|
998
1082
|
var useSearch = function useSearch(_ref) {
|
|
999
1083
|
var endpoint = _ref.endpoint,
|
|
1000
|
-
|
|
1001
|
-
|
|
1084
|
+
onProductIdsReceived = _ref.onProductIdsReceived,
|
|
1085
|
+
currency = _ref.currency;
|
|
1086
|
+
var currentSearchRequestToken = React.useRef(null);
|
|
1002
1087
|
var debounce = React.useCallback(function (func, wait) {
|
|
1003
1088
|
var timeout;
|
|
1004
1089
|
return function executedFunction() {
|
|
1005
1090
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1006
1091
|
args[_key] = arguments[_key];
|
|
1007
1092
|
}
|
|
1093
|
+
|
|
1008
1094
|
var later = function later() {
|
|
1009
1095
|
clearTimeout(timeout);
|
|
1010
1096
|
func.apply(void 0, args);
|
|
1011
1097
|
};
|
|
1098
|
+
|
|
1012
1099
|
clearTimeout(timeout);
|
|
1013
1100
|
timeout = setTimeout(later, wait);
|
|
1014
1101
|
};
|
|
@@ -1027,47 +1114,75 @@
|
|
|
1027
1114
|
});
|
|
1028
1115
|
});
|
|
1029
1116
|
}, []);
|
|
1030
|
-
var performSearch = React.useCallback(function (
|
|
1031
|
-
if (!
|
|
1117
|
+
var performSearch = React.useCallback(function (searchQuery, setSearchResults) {
|
|
1118
|
+
if (!searchQuery || searchQuery.trim() === '') {
|
|
1032
1119
|
setSearchResults({
|
|
1033
1120
|
brands: [],
|
|
1034
1121
|
products: [],
|
|
1035
1122
|
luxity_product_ids: []
|
|
1036
1123
|
});
|
|
1037
1124
|
return;
|
|
1038
|
-
}
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1125
|
+
} // Cancel any ongoing search request to prevent race conditions
|
|
1126
|
+
|
|
1127
|
+
|
|
1128
|
+
if (currentSearchRequestToken.current) {
|
|
1129
|
+
currentSearchRequestToken.current.cancel();
|
|
1130
|
+
} // Create a new token for this specific search request
|
|
1131
|
+
|
|
1132
|
+
|
|
1133
|
+
var newSearchToken = axios.CancelToken.source();
|
|
1134
|
+
currentSearchRequestToken.current = newSearchToken;
|
|
1135
|
+
axios.post(endpoint, searchProducts(searchQuery, 3, currency), {
|
|
1136
|
+
cancelToken: newSearchToken.token
|
|
1137
|
+
}).then(function (response) {
|
|
1138
|
+
if (currentSearchRequestToken.current === newSearchToken) {
|
|
1139
|
+
var searchResults = response.data.data.luxity_products_serach_results;
|
|
1140
|
+
setSearchResults(searchResults);
|
|
1141
|
+
|
|
1142
|
+
if (searchResults && searchResults.luxity_product_ids) {
|
|
1143
|
+
onProductIdsReceived(searchResults.luxity_product_ids);
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
currentSearchRequestToken.current = null;
|
|
1147
|
+
}
|
|
1148
|
+
}).catch(function (error) {
|
|
1149
|
+
if (!axios.isCancel(error)) {
|
|
1150
|
+
setSearchResults({
|
|
1151
|
+
brands: [],
|
|
1152
|
+
products: [],
|
|
1153
|
+
luxity_product_ids: []
|
|
1154
|
+
});
|
|
1155
|
+
currentSearchRequestToken.current = null;
|
|
1044
1156
|
}
|
|
1045
|
-
}).catch(function () {
|
|
1046
|
-
setSearchResults({
|
|
1047
|
-
brands: [],
|
|
1048
|
-
products: [],
|
|
1049
|
-
luxity_product_ids: []
|
|
1050
|
-
});
|
|
1051
1157
|
});
|
|
1052
1158
|
}, [endpoint, currency, onProductIdsReceived]);
|
|
1053
1159
|
var debouncedSearch = React.useMemo(function () {
|
|
1054
|
-
return debounce(function (
|
|
1055
|
-
return performSearch(
|
|
1160
|
+
return debounce(function (searchQuery, setSearchResults) {
|
|
1161
|
+
return performSearch(searchQuery, setSearchResults);
|
|
1056
1162
|
}, 500);
|
|
1057
1163
|
}, [debounce, performSearch]);
|
|
1058
1164
|
var createDebouncedSearch = React.useCallback(function (setSearchResults) {
|
|
1059
|
-
return function (
|
|
1060
|
-
return debouncedSearch(
|
|
1165
|
+
return function (searchQuery) {
|
|
1166
|
+
return debouncedSearch(searchQuery, setSearchResults);
|
|
1061
1167
|
};
|
|
1062
1168
|
}, [debouncedSearch]);
|
|
1063
1169
|
var createImmediateSearch = React.useCallback(function (setSearchValue, setSearchResults, onSearchSubmit) {
|
|
1064
|
-
return function (
|
|
1170
|
+
return function (searchQuery) {
|
|
1171
|
+
/*
|
|
1172
|
+
* Cancel any pending search request when immediate search is performed
|
|
1173
|
+
* Immediate search is when the user types a search query and presses enter
|
|
1174
|
+
*/
|
|
1175
|
+
if (currentSearchRequestToken.current) {
|
|
1176
|
+
currentSearchRequestToken.current.cancel();
|
|
1177
|
+
currentSearchRequestToken.current = null;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1065
1180
|
setSearchValue('');
|
|
1066
1181
|
setSearchResults({
|
|
1067
1182
|
brands: [],
|
|
1068
1183
|
products: []
|
|
1069
1184
|
});
|
|
1070
|
-
onSearchSubmit(
|
|
1185
|
+
onSearchSubmit(searchQuery);
|
|
1071
1186
|
};
|
|
1072
1187
|
}, []);
|
|
1073
1188
|
return {
|
|
@@ -1077,103 +1192,31 @@
|
|
|
1077
1192
|
};
|
|
1078
1193
|
};
|
|
1079
1194
|
|
|
1080
|
-
var
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
onBlogClick = _ref$onBlogClick === void 0 ? undefined : _ref$onBlogClick,
|
|
1102
|
-
bugReportLink = _ref.bugReportLink,
|
|
1103
|
-
onSellToUsClick = _ref.onSellToUsClick,
|
|
1104
|
-
onLogoClick = _ref.onLogoClick,
|
|
1105
|
-
onLuxityShopClick = _ref.onLuxityShopClick,
|
|
1106
|
-
endpoint = _ref.endpoint,
|
|
1107
|
-
menuData = _ref.menuData,
|
|
1108
|
-
initialSearchData = _ref.initialSearchData,
|
|
1109
|
-
onSearchSubmit = _ref.onSearchSubmit,
|
|
1110
|
-
onProductIdsReceived = _ref.onProductIdsReceived,
|
|
1111
|
-
onLogoutClick = _ref.onLogoutClick,
|
|
1112
|
-
onInterestClick = _ref.onInterestClick,
|
|
1113
|
-
onAddressClick = _ref.onAddressClick,
|
|
1114
|
-
onCouponsClick = _ref.onCouponsClick,
|
|
1115
|
-
onEditProfileClick = _ref.onEditProfileClick,
|
|
1116
|
-
onCurrentOrdersClick = _ref.onCurrentOrdersClick,
|
|
1117
|
-
onPastOrdersClick = _ref.onPastOrdersClick,
|
|
1118
|
-
onSubmissionsClick = _ref.onSubmissionsClick,
|
|
1119
|
-
onPastSalesClick = _ref.onPastSalesClick,
|
|
1120
|
-
onPaidOutClick = _ref.onPaidOutClick,
|
|
1121
|
-
currency = _ref.currency,
|
|
1122
|
-
currencySymbol = _ref.currencySymbol,
|
|
1123
|
-
currencyOptions = _ref.currencyOptions,
|
|
1124
|
-
onCurrencyChange = _ref.onCurrencyChange,
|
|
1125
|
-
isCurrencySelectionDisabled = _ref.isCurrencySelectionDisabled,
|
|
1126
|
-
tooltipContent = _ref.tooltipContent,
|
|
1127
|
-
LinkComponent = _ref.LinkComponent,
|
|
1128
|
-
shop = _ref.shop,
|
|
1129
|
-
app = _ref.app,
|
|
1130
|
-
categoryConfig = _ref.categoryConfig;
|
|
1131
|
-
var _useSearch = useSearch({
|
|
1132
|
-
endpoint: endpoint,
|
|
1133
|
-
onProductIdsReceived: onProductIdsReceived,
|
|
1134
|
-
currency: currency
|
|
1135
|
-
}),
|
|
1136
|
-
fetchInitialSearchData = _useSearch.fetchInitialSearchData,
|
|
1137
|
-
createDebouncedSearch = _useSearch.createDebouncedSearch,
|
|
1138
|
-
createImmediateSearch = _useSearch.createImmediateSearch;
|
|
1139
|
-
var _useState = React.useState(''),
|
|
1140
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1141
|
-
searchValue = _useState2[0],
|
|
1142
|
-
setSearchValue = _useState2[1];
|
|
1143
|
-
var _useState3 = React.useState(false),
|
|
1144
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
1145
|
-
showSearchBar = _useState4[0],
|
|
1146
|
-
setShowSearchbar = _useState4[1];
|
|
1147
|
-
var _useState5 = React.useState(false),
|
|
1148
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
1149
|
-
showSideNav = _useState6[0],
|
|
1150
|
-
setShowSideNav = _useState6[1];
|
|
1151
|
-
var _useState7 = React.useState({
|
|
1152
|
-
brands: [],
|
|
1153
|
-
products: []
|
|
1154
|
-
}),
|
|
1155
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
1156
|
-
searchResults = _useState8[0],
|
|
1157
|
-
setSearchResults = _useState8[1];
|
|
1158
|
-
var _useState9 = React.useState(false),
|
|
1159
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
1160
|
-
isSearchFocused = _useState10[0],
|
|
1161
|
-
setIsSearchFocused = _useState10[1];
|
|
1162
|
-
var _useState11 = React.useState({
|
|
1163
|
-
trending_brands: [],
|
|
1164
|
-
latest_products: []
|
|
1165
|
-
}),
|
|
1166
|
-
_useState12 = _slicedToArray(_useState11, 2),
|
|
1167
|
-
initialSearchView = _useState12[0],
|
|
1168
|
-
setInitialSearchView = _useState12[1];
|
|
1169
|
-
var searchResultsRef = React.useRef(null);
|
|
1170
|
-
var searchInputRef = React.useRef(null);
|
|
1171
|
-
var debouncedSearch = createDebouncedSearch(setSearchResults);
|
|
1172
|
-
var immediateSearch = createImmediateSearch(setSearchValue, setSearchResults, onSearchSubmit);
|
|
1173
|
-
var handleChange = function handleChange(event) {
|
|
1195
|
+
var useSearchClickOutside = function useSearchClickOutside(ref, searchResults, setCachedResults, setIsSearchFocused, setSearchResults) {
|
|
1196
|
+
React.useEffect(function () {
|
|
1197
|
+
var handleClickOutside = function handleClickOutside(event) {
|
|
1198
|
+
if (ref.current && !ref.current.contains(event.target)) {
|
|
1199
|
+
setCachedResults(searchResults);
|
|
1200
|
+
setIsSearchFocused(false);
|
|
1201
|
+
setSearchResults({
|
|
1202
|
+
brands: [],
|
|
1203
|
+
products: []
|
|
1204
|
+
});
|
|
1205
|
+
}
|
|
1206
|
+
};
|
|
1207
|
+
|
|
1208
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
1209
|
+
return function () {
|
|
1210
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
1211
|
+
};
|
|
1212
|
+
}, [ref, searchResults, setCachedResults, setIsSearchFocused, setSearchResults]);
|
|
1213
|
+
};
|
|
1214
|
+
var useSearchInputChange = function useSearchInputChange(setSearchValue, setIsSearchFocused, debouncedSearch, setSearchResults, setCachedResults) {
|
|
1215
|
+
return React.useCallback(function (event) {
|
|
1174
1216
|
var value = event.target.value;
|
|
1175
1217
|
setSearchValue(value);
|
|
1176
1218
|
setIsSearchFocused(true);
|
|
1219
|
+
|
|
1177
1220
|
if (value.trim().length >= 3) {
|
|
1178
1221
|
debouncedSearch(value);
|
|
1179
1222
|
} else {
|
|
@@ -1181,50 +1224,178 @@
|
|
|
1181
1224
|
brands: [],
|
|
1182
1225
|
products: []
|
|
1183
1226
|
});
|
|
1227
|
+
setCachedResults({
|
|
1228
|
+
brands: [],
|
|
1229
|
+
products: []
|
|
1230
|
+
});
|
|
1184
1231
|
}
|
|
1185
|
-
};
|
|
1186
|
-
|
|
1232
|
+
}, [setSearchValue, setIsSearchFocused, debouncedSearch, setSearchResults, setCachedResults]);
|
|
1233
|
+
};
|
|
1234
|
+
var useSearchInputFocus = function useSearchInputFocus(searchValue, setIsSearchFocused, cachedResults, setSearchResults) {
|
|
1235
|
+
var handleSearchClick = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
|
|
1236
|
+
return React.useCallback(function () {
|
|
1237
|
+
setIsSearchFocused(true);
|
|
1238
|
+
|
|
1239
|
+
if (typeof handleSearchClick === 'function') {
|
|
1240
|
+
handleSearchClick();
|
|
1241
|
+
} else if (searchValue.trim().length >= 3) {
|
|
1242
|
+
setSearchResults(cachedResults);
|
|
1243
|
+
}
|
|
1244
|
+
}, [searchValue, setIsSearchFocused, cachedResults, setSearchResults, handleSearchClick]);
|
|
1245
|
+
};
|
|
1246
|
+
var useSearchInputKeyDown = function useSearchInputKeyDown(searchValue, immediateSearch, setIsSearchFocused) {
|
|
1247
|
+
var setSearchValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
1248
|
+
return React.useCallback(function (event) {
|
|
1187
1249
|
if (event.key === 'Enter') {
|
|
1188
1250
|
event.preventDefault();
|
|
1251
|
+
|
|
1189
1252
|
if (searchValue.trim().length >= 3) {
|
|
1190
1253
|
immediateSearch(searchValue);
|
|
1191
|
-
setIsSearchFocused(false);
|
|
1192
1254
|
}
|
|
1193
|
-
|
|
1255
|
+
|
|
1256
|
+
setIsSearchFocused(false);
|
|
1257
|
+
} else if (event.key === 'Escape' && setSearchValue) {
|
|
1194
1258
|
setSearchValue('');
|
|
1195
1259
|
setIsSearchFocused(false);
|
|
1196
1260
|
}
|
|
1197
|
-
};
|
|
1261
|
+
}, [searchValue, immediateSearch, setIsSearchFocused, setSearchValue]);
|
|
1262
|
+
};
|
|
1263
|
+
|
|
1264
|
+
var LuxityMobileHeader = function LuxityMobileHeader(_ref) {
|
|
1265
|
+
var logoSrc = _ref.logoSrc,
|
|
1266
|
+
menuIcon = _ref.menuIcon,
|
|
1267
|
+
inputSearchIcon = _ref.inputSearchIcon,
|
|
1268
|
+
onCartClick = _ref.onCartClick,
|
|
1269
|
+
cartIcon = _ref.cartIcon,
|
|
1270
|
+
cartCount = _ref.cartCount,
|
|
1271
|
+
closeIcon = _ref.closeIcon,
|
|
1272
|
+
accountIcon = _ref.accountIcon,
|
|
1273
|
+
saleIcon = _ref.saleIcon,
|
|
1274
|
+
orderIcon = _ref.orderIcon,
|
|
1275
|
+
accordionIcon = _ref.accordionIcon,
|
|
1276
|
+
backIcon = _ref.backIcon,
|
|
1277
|
+
productsUrl = _ref.productsUrl,
|
|
1278
|
+
stores = _ref.stores,
|
|
1279
|
+
categoryElements = _ref.categoryElements,
|
|
1280
|
+
onAccountClick = _ref.onAccountClick,
|
|
1281
|
+
onDashboardClick = _ref.onDashboardClick,
|
|
1282
|
+
onContactUsClick = _ref.onContactUsClick,
|
|
1283
|
+
onOurStoryClick = _ref.onOurStoryClick,
|
|
1284
|
+
_ref$onBlogClick = _ref.onBlogClick,
|
|
1285
|
+
onBlogClick = _ref$onBlogClick === void 0 ? undefined : _ref$onBlogClick,
|
|
1286
|
+
bugReportLink = _ref.bugReportLink,
|
|
1287
|
+
onSellToUsClick = _ref.onSellToUsClick,
|
|
1288
|
+
onLogoClick = _ref.onLogoClick,
|
|
1289
|
+
onLuxityShopClick = _ref.onLuxityShopClick,
|
|
1290
|
+
endpoint = _ref.endpoint,
|
|
1291
|
+
initialSearchData = _ref.initialSearchData,
|
|
1292
|
+
onSearchSubmit = _ref.onSearchSubmit,
|
|
1293
|
+
onProductIdsReceived = _ref.onProductIdsReceived,
|
|
1294
|
+
onLogoutClick = _ref.onLogoutClick,
|
|
1295
|
+
onInterestClick = _ref.onInterestClick,
|
|
1296
|
+
onAddressClick = _ref.onAddressClick,
|
|
1297
|
+
onCouponsClick = _ref.onCouponsClick,
|
|
1298
|
+
onEditProfileClick = _ref.onEditProfileClick,
|
|
1299
|
+
onCurrentOrdersClick = _ref.onCurrentOrdersClick,
|
|
1300
|
+
onPastOrdersClick = _ref.onPastOrdersClick,
|
|
1301
|
+
onSubmissionsClick = _ref.onSubmissionsClick,
|
|
1302
|
+
onPastSalesClick = _ref.onPastSalesClick,
|
|
1303
|
+
onPaidOutClick = _ref.onPaidOutClick,
|
|
1304
|
+
currency = _ref.currency,
|
|
1305
|
+
currencySymbol = _ref.currencySymbol,
|
|
1306
|
+
currencyOptions = _ref.currencyOptions,
|
|
1307
|
+
onCurrencyChange = _ref.onCurrencyChange,
|
|
1308
|
+
isCurrencySelectionDisabled = _ref.isCurrencySelectionDisabled,
|
|
1309
|
+
tooltipContent = _ref.tooltipContent,
|
|
1310
|
+
LinkComponent = _ref.LinkComponent,
|
|
1311
|
+
shop = _ref.shop,
|
|
1312
|
+
app = _ref.app,
|
|
1313
|
+
categoryConfig = _ref.categoryConfig;
|
|
1314
|
+
|
|
1315
|
+
var _useSearch = useSearch({
|
|
1316
|
+
endpoint: endpoint,
|
|
1317
|
+
onProductIdsReceived: onProductIdsReceived,
|
|
1318
|
+
currency: currency
|
|
1319
|
+
}),
|
|
1320
|
+
fetchInitialSearchData = _useSearch.fetchInitialSearchData,
|
|
1321
|
+
createDebouncedSearch = _useSearch.createDebouncedSearch,
|
|
1322
|
+
createImmediateSearch = _useSearch.createImmediateSearch;
|
|
1323
|
+
|
|
1324
|
+
var _useState = React.useState(''),
|
|
1325
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1326
|
+
searchValue = _useState2[0],
|
|
1327
|
+
setSearchValue = _useState2[1];
|
|
1328
|
+
|
|
1329
|
+
var _useState3 = React.useState(false),
|
|
1330
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1331
|
+
showSearchBar = _useState4[0],
|
|
1332
|
+
setShowSearchbar = _useState4[1];
|
|
1333
|
+
|
|
1334
|
+
var _useState5 = React.useState(false),
|
|
1335
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
1336
|
+
showSideNav = _useState6[0],
|
|
1337
|
+
setShowSideNav = _useState6[1];
|
|
1338
|
+
|
|
1339
|
+
var _useState7 = React.useState({
|
|
1340
|
+
brands: [],
|
|
1341
|
+
products: []
|
|
1342
|
+
}),
|
|
1343
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
1344
|
+
searchResults = _useState8[0],
|
|
1345
|
+
setSearchResults = _useState8[1];
|
|
1346
|
+
|
|
1347
|
+
var _useState9 = React.useState({
|
|
1348
|
+
brands: [],
|
|
1349
|
+
products: []
|
|
1350
|
+
}),
|
|
1351
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
1352
|
+
cachedResults = _useState10[0],
|
|
1353
|
+
setCachedResults = _useState10[1];
|
|
1354
|
+
|
|
1355
|
+
var _useState11 = React.useState(false),
|
|
1356
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
1357
|
+
isSearchFocused = _useState12[0],
|
|
1358
|
+
setIsSearchFocused = _useState12[1];
|
|
1359
|
+
|
|
1360
|
+
var _useState13 = React.useState({
|
|
1361
|
+
trending_brands: [],
|
|
1362
|
+
latest_products: []
|
|
1363
|
+
}),
|
|
1364
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
1365
|
+
initialSearchView = _useState14[0],
|
|
1366
|
+
setInitialSearchView = _useState14[1];
|
|
1367
|
+
|
|
1368
|
+
var searchResultsRef = React.useRef(null);
|
|
1369
|
+
var searchInputRef = React.useRef(null);
|
|
1370
|
+
var debouncedSearch = createDebouncedSearch(function (results) {
|
|
1371
|
+
setSearchResults(results);
|
|
1372
|
+
setCachedResults(results);
|
|
1373
|
+
});
|
|
1374
|
+
var immediateSearch = createImmediateSearch(setSearchValue, setSearchResults, onSearchSubmit);
|
|
1375
|
+
var handleChange = useSearchInputChange(setSearchValue, setIsSearchFocused, debouncedSearch, setSearchResults, setCachedResults);
|
|
1376
|
+
var handleKeyDown = useSearchInputKeyDown(searchValue, immediateSearch, setIsSearchFocused, setSearchValue);
|
|
1198
1377
|
React.useMemo(function () {
|
|
1378
|
+
if (!initialSearchData) {
|
|
1379
|
+
return;
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1199
1382
|
fetchInitialSearchData(initialSearchData, setInitialSearchView);
|
|
1200
1383
|
}, [initialSearchData, fetchInitialSearchData]);
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
if (searchResultsRef.current && !searchResultsRef.current.contains(event.target)) {
|
|
1204
|
-
setSearchValue('');
|
|
1205
|
-
setIsSearchFocused(false);
|
|
1206
|
-
setSearchResults({
|
|
1207
|
-
brands: [],
|
|
1208
|
-
products: []
|
|
1209
|
-
});
|
|
1210
|
-
}
|
|
1211
|
-
};
|
|
1212
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
1213
|
-
return function () {
|
|
1214
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
1215
|
-
};
|
|
1216
|
-
}, []);
|
|
1384
|
+
useSearchClickOutside(searchResultsRef, searchResults, setCachedResults, setIsSearchFocused, setSearchResults);
|
|
1385
|
+
var handleSearchFocus = useSearchInputFocus(searchValue, setIsSearchFocused, cachedResults, setSearchResults);
|
|
1217
1386
|
React.useEffect(function () {
|
|
1218
1387
|
if (showSearchBar && searchInputRef.current) {
|
|
1219
1388
|
searchInputRef.current.focus();
|
|
1220
1389
|
}
|
|
1221
1390
|
}, [showSearchBar]);
|
|
1391
|
+
|
|
1222
1392
|
var onSearchClick = function onSearchClick() {
|
|
1223
1393
|
setShowSearchbar(function (prev) {
|
|
1224
1394
|
return !prev;
|
|
1225
1395
|
});
|
|
1226
1396
|
setSearchValue('');
|
|
1227
1397
|
setIsSearchFocused(!showSearchBar);
|
|
1398
|
+
|
|
1228
1399
|
if (showSearchBar) {
|
|
1229
1400
|
setSearchResults({
|
|
1230
1401
|
brands: [],
|
|
@@ -1232,66 +1403,86 @@
|
|
|
1232
1403
|
});
|
|
1233
1404
|
}
|
|
1234
1405
|
};
|
|
1406
|
+
|
|
1235
1407
|
var onMenuClick = function onMenuClick() {
|
|
1236
1408
|
setShowSideNav(function (prev) {
|
|
1237
1409
|
return !prev;
|
|
1238
1410
|
});
|
|
1239
1411
|
};
|
|
1412
|
+
|
|
1240
1413
|
var handleClick = function handleClick(callback) {
|
|
1241
1414
|
callback();
|
|
1242
1415
|
setShowSideNav(false);
|
|
1243
1416
|
};
|
|
1417
|
+
|
|
1244
1418
|
var handleDashboardClick = function handleDashboardClick() {
|
|
1245
1419
|
return handleClick(onDashboardClick);
|
|
1246
1420
|
};
|
|
1421
|
+
|
|
1247
1422
|
var handleSellToUsClick = function handleSellToUsClick() {
|
|
1248
1423
|
return handleClick(onSellToUsClick);
|
|
1249
1424
|
};
|
|
1425
|
+
|
|
1250
1426
|
var handleCartClick = function handleCartClick() {
|
|
1251
1427
|
return handleClick(onCartClick);
|
|
1252
1428
|
};
|
|
1429
|
+
|
|
1253
1430
|
var handleLuxityShopClick = function handleLuxityShopClick() {
|
|
1254
1431
|
return handleClick(onLuxityShopClick);
|
|
1255
1432
|
};
|
|
1433
|
+
|
|
1256
1434
|
var handleLogoutClick = function handleLogoutClick() {
|
|
1257
1435
|
return handleClick(onLogoutClick);
|
|
1258
1436
|
};
|
|
1437
|
+
|
|
1259
1438
|
var handleInterestClick = function handleInterestClick() {
|
|
1260
1439
|
return handleClick(onInterestClick);
|
|
1261
1440
|
};
|
|
1441
|
+
|
|
1262
1442
|
var handleAddressClick = function handleAddressClick() {
|
|
1263
1443
|
return handleClick(onAddressClick);
|
|
1264
1444
|
};
|
|
1445
|
+
|
|
1265
1446
|
var handleCouponsClick = function handleCouponsClick() {
|
|
1266
1447
|
return handleClick(onCouponsClick);
|
|
1267
1448
|
};
|
|
1449
|
+
|
|
1268
1450
|
var handleEditProfileClick = function handleEditProfileClick() {
|
|
1269
1451
|
return handleClick(onEditProfileClick);
|
|
1270
1452
|
};
|
|
1453
|
+
|
|
1271
1454
|
var handleCurrentOrdersClick = function handleCurrentOrdersClick() {
|
|
1272
1455
|
return handleClick(onCurrentOrdersClick);
|
|
1273
1456
|
};
|
|
1457
|
+
|
|
1274
1458
|
var handlePastOrdersClick = function handlePastOrdersClick() {
|
|
1275
1459
|
return handleClick(onPastOrdersClick);
|
|
1276
1460
|
};
|
|
1461
|
+
|
|
1277
1462
|
var handlePastSalesClick = function handlePastSalesClick() {
|
|
1278
1463
|
return handleClick(onPastSalesClick);
|
|
1279
1464
|
};
|
|
1465
|
+
|
|
1280
1466
|
var handlePaidOutClick = function handlePaidOutClick() {
|
|
1281
1467
|
return handleClick(onPaidOutClick);
|
|
1282
1468
|
};
|
|
1469
|
+
|
|
1283
1470
|
var handleSubmissionsClick = function handleSubmissionsClick() {
|
|
1284
1471
|
return handleClick(onSubmissionsClick);
|
|
1285
1472
|
};
|
|
1473
|
+
|
|
1286
1474
|
var handleAccountClick = function handleAccountClick() {
|
|
1287
1475
|
return handleClick(onAccountClick);
|
|
1288
1476
|
};
|
|
1477
|
+
|
|
1289
1478
|
var handleContactUsClick = function handleContactUsClick() {
|
|
1290
1479
|
return handleClick(onContactUsClick);
|
|
1291
1480
|
};
|
|
1481
|
+
|
|
1292
1482
|
var handleOurStoryClick = function handleOurStoryClick() {
|
|
1293
1483
|
return handleClick(onOurStoryClick);
|
|
1294
1484
|
};
|
|
1485
|
+
|
|
1295
1486
|
var handleBlogClick = onBlogClick ? function () {
|
|
1296
1487
|
return handleClick(onBlogClick);
|
|
1297
1488
|
} : undefined;
|
|
@@ -1315,7 +1506,8 @@
|
|
|
1315
1506
|
className: "navbar__logo"
|
|
1316
1507
|
}, /*#__PURE__*/React__default.createElement("img", {
|
|
1317
1508
|
src: logoSrc,
|
|
1318
|
-
alt: "luxity-logo"
|
|
1509
|
+
alt: "luxity-logo",
|
|
1510
|
+
loading: "eager"
|
|
1319
1511
|
}))), /*#__PURE__*/React__default.createElement("div", {
|
|
1320
1512
|
className: "navbar__icons-wrapper"
|
|
1321
1513
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -1342,6 +1534,8 @@
|
|
|
1342
1534
|
}), shop && /*#__PURE__*/React__default.createElement("div", {
|
|
1343
1535
|
className: "navbar__cart-count"
|
|
1344
1536
|
}, cartCount))))), showSearchBar && /*#__PURE__*/React__default.createElement("div", {
|
|
1537
|
+
className: "navbar__search-container"
|
|
1538
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
1345
1539
|
className: "navbar__product-search-wrapper"
|
|
1346
1540
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
1347
1541
|
className: "navbar__product-search"
|
|
@@ -1353,9 +1547,7 @@
|
|
|
1353
1547
|
value: searchValue,
|
|
1354
1548
|
onChange: handleChange,
|
|
1355
1549
|
onKeyDown: handleKeyDown,
|
|
1356
|
-
onFocus:
|
|
1357
|
-
return setIsSearchFocused(true);
|
|
1358
|
-
}
|
|
1550
|
+
onFocus: handleSearchFocus
|
|
1359
1551
|
})), /*#__PURE__*/React__default.createElement("button", {
|
|
1360
1552
|
type: "button",
|
|
1361
1553
|
onClick: onSearchClick
|
|
@@ -1363,7 +1555,7 @@
|
|
|
1363
1555
|
src: closeIcon,
|
|
1364
1556
|
alt: "close-icon",
|
|
1365
1557
|
className: "navbar__input-close-icon"
|
|
1366
|
-
})))
|
|
1558
|
+
}))), isSearchFocused && /*#__PURE__*/React__default.createElement(SearchResults, {
|
|
1367
1559
|
searchValue: searchValue,
|
|
1368
1560
|
searchResults: searchResults,
|
|
1369
1561
|
onViewAll: function onViewAll() {
|
|
@@ -1383,7 +1575,7 @@
|
|
|
1383
1575
|
setIsSearchFocused: setIsSearchFocused,
|
|
1384
1576
|
currency: currency,
|
|
1385
1577
|
currencySymbol: currencySymbol
|
|
1386
|
-
}), shop && /*#__PURE__*/React__default.createElement(LuxitySideNav, {
|
|
1578
|
+
}))), shop && /*#__PURE__*/React__default.createElement(LuxitySideNav, {
|
|
1387
1579
|
accordionIcon: accordionIcon,
|
|
1388
1580
|
logoSrc: logoSrc,
|
|
1389
1581
|
closeIcon: closeIcon,
|
|
@@ -1400,7 +1592,6 @@
|
|
|
1400
1592
|
showSideNav: showSideNav,
|
|
1401
1593
|
onMenuClick: onMenuClick,
|
|
1402
1594
|
endpoint: endpoint,
|
|
1403
|
-
menuData: menuData,
|
|
1404
1595
|
currency: currency,
|
|
1405
1596
|
currencyOptions: currencyOptions,
|
|
1406
1597
|
onCurrencyChange: onCurrencyChange,
|