@bonlineza/luxity-lib 2.34.1 → 2.34.3

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.
Files changed (86) hide show
  1. package/Accordion.js +76 -116
  2. package/AddInterest.js +434 -768
  3. package/BrandSelector.js +176 -336
  4. package/Checkbox.js +68 -101
  5. package/CheckboxButton.js +79 -124
  6. package/CommunicationPreferenceOptionsRenderer.js +107 -125
  7. package/CommunicationPreferenceSection.js +114 -134
  8. package/CommunicationPreferences.js +443 -339
  9. package/CountryCodeSelect.js +7 -10
  10. package/CurrencyInputFormatter.js +29 -56
  11. package/CurrencySelect.js +188 -19
  12. package/GALink.js +6 -16
  13. package/GenderSelector.js +88 -142
  14. package/GraphQLDropdownSelector.js +505 -939
  15. package/GraphQLMultiSelector.js +141 -274
  16. package/IconHeader.js +11 -25
  17. package/IconWrapper.js +3 -7
  18. package/InterestCatSelector.js +34 -74
  19. package/InterestItem.js +103 -187
  20. package/Interests.js +485 -890
  21. package/InterestsSubheading.js +5 -10
  22. package/InvertedTextButton.js +27 -63
  23. package/LuxityAppSideNav.js +18 -21
  24. package/LuxityDesktopHeader.js +360 -211
  25. package/LuxityFooter.js +464 -260
  26. package/LuxityGraphQLDropdownSelector.js +519 -969
  27. package/LuxityGraphQLMultiselector.js +167 -321
  28. package/LuxityMobileHeader.js +453 -283
  29. package/LuxityPageReady.js +74 -136
  30. package/LuxitySideNav.js +355 -159
  31. package/MaterialSelector.js +525 -976
  32. package/ModelSelector.js +525 -976
  33. package/NotificationDropDown.js +111 -209
  34. package/Notify.js +0 -1
  35. package/OutlinePrimaryButton.js +26 -58
  36. package/PriceRangeSelector.js +168 -281
  37. package/PrimaryButton.js +26 -58
  38. package/RadioButtons.js +114 -140
  39. package/RangeSlider.js +152 -242
  40. package/RareStepFooter.js +27 -41
  41. package/RareStepHeader.js +139 -190
  42. package/ReactSelectWrapper.js +0 -1
  43. package/SecondaryButton.js +26 -58
  44. package/ShoeSizeRangeSelector.js +162 -260
  45. package/ShoeSizeSelector.js +158 -263
  46. package/SimpleErrorBoundary.js +59 -106
  47. package/StyleSelector.js +176 -336
  48. package/TextButton.js +26 -58
  49. package/Tooltip.js +17 -39
  50. package/Tracking.js +0 -1
  51. package/WrapperButton.js +20 -43
  52. package/build/bundle.css +1 -1
  53. package/build/bundle.js +1321 -1697
  54. package/package.json +1 -1
  55. package/svg/Accessories.js +6 -13
  56. package/svg/Account.js +6 -13
  57. package/svg/Add.js +6 -13
  58. package/svg/ArrowRight.js +6 -13
  59. package/svg/Bags.js +6 -13
  60. package/svg/BurgerMenu.js +6 -13
  61. package/svg/Calendar.js +6 -13
  62. package/svg/CalendarCircled.js +6 -13
  63. package/svg/CheckCircled.js +6 -13
  64. package/svg/Close.js +6 -13
  65. package/svg/Clothing.js +6 -13
  66. package/svg/Dot.js +6 -13
  67. package/svg/Edit.js +6 -13
  68. package/svg/Eye.js +6 -13
  69. package/svg/FileAttach.js +6 -13
  70. package/svg/FileAttachCircled.js +6 -13
  71. package/svg/LightBulb.js +6 -13
  72. package/svg/Logo.js +6 -13
  73. package/svg/LuxityMenu.js +6 -13
  74. package/svg/Minus.js +6 -13
  75. package/svg/MobileAvatar.js +6 -13
  76. package/svg/MyOrder.js +6 -13
  77. package/svg/MyPayment.js +6 -13
  78. package/svg/MyProfile.js +8 -14
  79. package/svg/MySale.js +6 -13
  80. package/svg/Notification.js +6 -13
  81. package/svg/PointerDown.js +6 -13
  82. package/svg/Search.js +6 -13
  83. package/svg/Shoes.js +6 -13
  84. package/svg/SvgWrapper.js +3 -7
  85. package/svg/Trash.js +6 -13
  86. package/svg/Watches.js +6 -13
package/LuxitySideNav.js CHANGED
@@ -1,117 +1,126 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('axios')) :
3
- typeof define === 'function' && define.amd ? define(['react', 'axios'], factory) :
4
- (global = global || self, global.LuxitySideNav = factory(global.React, global.axios));
5
- }(this, (function (React, axios) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('axios'), require('styled-components')) :
3
+ typeof define === 'function' && define.amd ? define(['react', 'axios', 'styled-components'], factory) :
4
+ (global = global || self, global.LuxitySideNav = factory(global.React, global.axios, global.styled));
5
+ }(this, (function (React, axios, styled) { 'use strict';
6
6
 
7
7
  var React__default = 'default' in React ? React['default'] : React;
8
8
  axios = axios && Object.prototype.hasOwnProperty.call(axios, 'default') ? axios['default'] : axios;
9
+ var styled__default = 'default' in styled ? styled['default'] : styled;
9
10
 
10
- function ownKeys(object, enumerableOnly) {
11
- var keys = Object.keys(object);
12
-
13
- if (Object.getOwnPropertySymbols) {
14
- var symbols = Object.getOwnPropertySymbols(object);
15
- enumerableOnly && (symbols = symbols.filter(function (sym) {
16
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
17
- })), keys.push.apply(keys, symbols);
11
+ function _arrayLikeToArray(r, a) {
12
+ (null == a || a > r.length) && (a = r.length);
13
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
14
+ return n;
15
+ }
16
+ function _arrayWithHoles(r) {
17
+ if (Array.isArray(r)) return r;
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;
18
61
  }
19
-
20
- return keys;
21
62
  }
22
-
23
- function _objectSpread2(target) {
24
- for (var i = 1; i < arguments.length; i++) {
25
- var source = null != arguments[i] ? arguments[i] : {};
26
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
27
- _defineProperty(target, key, source[key]);
28
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
29
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
30
- });
63
+ function _nonIterableRest() {
64
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
65
+ }
66
+ function ownKeys(e, r) {
67
+ var t = Object.keys(e);
68
+ if (Object.getOwnPropertySymbols) {
69
+ var o = Object.getOwnPropertySymbols(e);
70
+ r && (o = o.filter(function (r) {
71
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
72
+ })), t.push.apply(t, o);
31
73
  }
32
-
33
- return target;
74
+ return t;
34
75
  }
35
-
36
- function _defineProperty(obj, key, value) {
37
- if (key in obj) {
38
- Object.defineProperty(obj, key, {
39
- value: value,
40
- enumerable: true,
41
- configurable: true,
42
- writable: true
76
+ function _objectSpread2(e) {
77
+ for (var r = 1; r < arguments.length; r++) {
78
+ var t = null != arguments[r] ? arguments[r] : {};
79
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
80
+ _defineProperty(e, r, t[r]);
81
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
82
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
43
83
  });
44
- } else {
45
- obj[key] = value;
46
84
  }
47
-
48
- return obj;
85
+ return e;
49
86
  }
50
-
51
- function _slicedToArray(arr, i) {
52
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
87
+ function _slicedToArray(r, e) {
88
+ return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
53
89
  }
54
-
55
- function _arrayWithHoles(arr) {
56
- if (Array.isArray(arr)) return arr;
57
- }
58
-
59
- function _iterableToArrayLimit(arr, i) {
60
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
61
-
62
- if (_i == null) return;
63
- var _arr = [];
64
- var _n = true;
65
- var _d = false;
66
-
67
- var _s, _e;
68
-
69
- try {
70
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
71
- _arr.push(_s.value);
72
-
73
- if (i && _arr.length === i) break;
74
- }
75
- } catch (err) {
76
- _d = true;
77
- _e = err;
78
- } finally {
79
- try {
80
- if (!_n && _i["return"] != null) _i["return"]();
81
- } finally {
82
- if (_d) throw _e;
90
+ function _taggedTemplateLiteral(e, t) {
91
+ return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {
92
+ raw: {
93
+ value: Object.freeze(t)
83
94
  }
84
- }
85
-
86
- return _arr;
95
+ }));
87
96
  }
88
-
89
- function _unsupportedIterableToArray(o, minLen) {
90
- if (!o) return;
91
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
92
- var n = Object.prototype.toString.call(o).slice(8, -1);
93
- if (n === "Object" && o.constructor) n = o.constructor.name;
94
- if (n === "Map" || n === "Set") return Array.from(o);
95
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
97
+ function _toPrimitive(t, r) {
98
+ if ("object" != typeof t || !t) return t;
99
+ var e = t[Symbol.toPrimitive];
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);
96
106
  }
97
-
98
- function _arrayLikeToArray(arr, len) {
99
- if (len == null || len > arr.length) len = arr.length;
100
-
101
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
102
-
103
- return arr2;
107
+ function _toPropertyKey(t) {
108
+ var i = _toPrimitive(t, "string");
109
+ return "symbol" == typeof i ? i : i + "";
104
110
  }
105
-
106
- function _nonIterableRest() {
107
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
111
+ function _unsupportedIterableToArray(r, a) {
112
+ if (r) {
113
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
114
+ var t = {}.toString.call(r).slice(8, -1);
115
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
116
+ }
108
117
  }
109
118
 
110
119
  var StoresDropdown = function StoresDropdown(_ref) {
111
120
  var backIcon = _ref.backIcon,
112
- onBackClick = _ref.onBackClick,
113
- stores = _ref.stores,
114
- onContactUsClick = _ref.onContactUsClick;
121
+ onBackClick = _ref.onBackClick,
122
+ stores = _ref.stores,
123
+ onContactUsClick = _ref.onContactUsClick;
115
124
  return /*#__PURE__*/React__default.createElement("div", {
116
125
  className: "side-nav__sub-menu"
117
126
  }, /*#__PURE__*/React__default.createElement("button", {
@@ -151,19 +160,19 @@
151
160
 
152
161
  var BrandsDropDown = function BrandsDropDown(_ref) {
153
162
  var subMenuOpen = _ref.subMenuOpen,
154
- onBackClick = _ref.onBackClick,
155
- backIcon = _ref.backIcon,
156
- subMenuCategoryTitle = _ref.subMenuCategoryTitle,
157
- productUrl = _ref.productUrl,
158
- categoryElements = _ref.categoryElements,
159
- subMenuBrandsTitle = _ref.subMenuBrandsTitle,
160
- _ref$brandsList = _ref.brandsList,
161
- brandsList = _ref$brandsList === void 0 ? [] : _ref$brandsList,
162
- categorySlug = _ref.categorySlug,
163
- isLoading = _ref.isLoading,
164
- hasError = _ref.hasError,
165
- LinkComponent = _ref.LinkComponent,
166
- setSubMenuOpen = _ref.setSubMenuOpen;
163
+ onBackClick = _ref.onBackClick,
164
+ backIcon = _ref.backIcon,
165
+ subMenuCategoryTitle = _ref.subMenuCategoryTitle,
166
+ productUrl = _ref.productUrl,
167
+ categoryElements = _ref.categoryElements,
168
+ subMenuBrandsTitle = _ref.subMenuBrandsTitle,
169
+ _ref$brandsList = _ref.brandsList,
170
+ brandsList = _ref$brandsList === void 0 ? [] : _ref$brandsList,
171
+ categorySlug = _ref.categorySlug,
172
+ isLoading = _ref.isLoading,
173
+ hasError = _ref.hasError,
174
+ LinkComponent = _ref.LinkComponent,
175
+ setSubMenuOpen = _ref.setSubMenuOpen;
167
176
  return /*#__PURE__*/React__default.createElement("div", {
168
177
  className: "side-nav__content ".concat(subMenuOpen ? '' : 'side-nav__content--hidden')
169
178
  }, hasError ? /*#__PURE__*/React__default.createElement("div", {
@@ -227,7 +236,6 @@
227
236
 
228
237
  var removeCategoryByName = function removeCategoryByName(categories, name) {
229
238
  var _categories$filter;
230
-
231
239
  return (_categories$filter = categories === null || categories === void 0 ? void 0 : categories.filter(function (category) {
232
240
  return category.name !== name;
233
241
  })) !== null && _categories$filter !== void 0 ? _categories$filter : [];
@@ -256,85 +264,268 @@
256
264
  }
257
265
  };
258
266
 
267
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
268
+
269
+ /* position relative is required for the Body element to be positioned correctly */
270
+ var relativeInlineStyle = styled.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n"])));
271
+ 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"])));
272
+ var getTopMiddleArrowAfterStyle = function getTopMiddleArrowAfterStyle(props) {
273
+ return styled.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n /*Bottom Arrow*/\n top: 100%; /* At the bottom of the tooltip */\n left: calc(50% - ", ");\n border-width: ", ";\n border-style: solid;\n border-color: ", " transparent transparent transparent;\n"])), props.apexWidth, props.apexWidth, props.theme.colors.base);
274
+ };
275
+ var getBottomMiddleBodyStyle = function getBottomMiddleBodyStyle(props) {
276
+ return styled.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: absolute;\n top: 100%;\n left: calc(50% - ", " / 2);\n"])), props.bodyWidth);
277
+ };
278
+ var getBottomMiddleArrowAfterStyle = function getBottomMiddleArrowAfterStyle(props) {
279
+ return styled.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n /*Top Arrow*/\n bottom: 100%; /* At the top of the tooltip */\n top: initial;\n left: 50%;\n border-style: solid;\n border-color: transparent transparent ", " transparent;\n"])), props.theme.colors.base);
280
+ };
281
+
282
+ var _templateObject$1;
283
+ var getBodyStyle = function getBodyStyle() {
284
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
285
+ var _props$toolTipPositio = props.toolTipPosition,
286
+ toolTipPosition = _props$toolTipPositio === void 0 ? '' : _props$toolTipPositio;
287
+ switch (toolTipPosition) {
288
+ case 'top':
289
+ return topMiddleBodyStyle;
290
+ case 'bottom':
291
+ return getBottomMiddleBodyStyle(props);
292
+ default:
293
+ return null;
294
+ }
295
+ };
296
+ var getAfterStyling = function getAfterStyling() {
297
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
298
+ var toolTipPosition = props.toolTipPosition;
299
+ switch (toolTipPosition) {
300
+ case 'top':
301
+ return getTopMiddleArrowAfterStyle(props);
302
+ case 'bottom':
303
+ return getBottomMiddleArrowAfterStyle(props);
304
+ default:
305
+ return '';
306
+ }
307
+ };
308
+ 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) {
309
+ return props.bodyWidth;
310
+ }, function (props) {
311
+ return props.theme.colors.base || 'black';
312
+ }, function (props) {
313
+ return getBodyStyle(props);
314
+ }, function (props) {
315
+ return getAfterStyling(props);
316
+ });
317
+
318
+ var _templateObject$2;
319
+ var Container = styled__default.div(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n ", ";\n cursor: pointer;\n &:hover ", " {\n opacity: 1;\n visibility: visible;\n }\n"])), relativeInlineStyle, Body);
320
+
321
+ var theme = {
322
+ breakpoints: ['40em', '52em', '64em'],
323
+ space: ['0px', '4px', '8px', '16px', '32px', '64px', '128px', '256px', '512px'],
324
+ fontSizes: ['12px', '14px', '16px', '20px', '24px', '32px', '48px', '64px', '72px'],
325
+ marginPaddings: ['0.5rem', '1rem', '1.5rem', '2rem', '2.5rem', '3rem', '3.5rem', '4rem', '4.5rem', '5rem', '5.5rem', '6rem'],
326
+ letterSpacings: ['-0.5px', '0px', '+0.5px'],
327
+ radii: ['0px', '2px', '4px', '8px'],
328
+ borderRadius: '6px',
329
+ colors: {
330
+ primary: '#000',
331
+ base: '#4e4949',
332
+ baseLt: '#817c7c',
333
+ borderColor: '#d8d8d8',
334
+ ntrlMin: '#fff',
335
+ ntrlMinTen: '#e6e6e6',
336
+ gray: '#efefef',
337
+ darkerGray: '#454141'
338
+ },
339
+ rareStepColors: {
340
+ primary: '#202b58',
341
+ secondary: '#ef5c2d',
342
+ ntrlMin: '#ffffff',
343
+ ntrl40: '#f4f4f4',
344
+ ntrl50: '#808080',
345
+ ntrl60: '#e8e8e8',
346
+ ntrl70: '#252525',
347
+ ntrlMax: '#000000'
348
+ },
349
+ rareStepFontWeights: {
350
+ normal: 400,
351
+ medium: 500,
352
+ semiBold: 600,
353
+ bold: 700
354
+ },
355
+ rareStepFontSize: {
356
+ h1: '36px',
357
+ h2: '30px',
358
+ h3: '24px',
359
+ h4: '20px',
360
+ h5: '16px',
361
+ h6: '14px',
362
+ footerTitle: '16px'
363
+ },
364
+ rareStepPageSizes: {
365
+ mobile: '500px',
366
+ tablet: '768px',
367
+ desktop: '992px',
368
+ screenl: '1280px',
369
+ screenxl: '1680px',
370
+ screenxxl: '1920px',
371
+ container: '1600px'
372
+ }
373
+ };
374
+
375
+ var themed = (function (Component) {
376
+ return /*#__PURE__*/React.forwardRef(function (props, ref) {
377
+ return /*#__PURE__*/React__default.createElement(styled.ThemeProvider, {
378
+ theme: theme
379
+ }, /*#__PURE__*/React__default.createElement(Component, _extends({}, props, {
380
+ ref: ref
381
+ })));
382
+ });
383
+ });
384
+
385
+ var Tooltip = function Tooltip(_ref) {
386
+ var children = _ref.children,
387
+ toolTipText = _ref.toolTipText,
388
+ toolTipPosition = _ref.toolTipPosition,
389
+ bodyWidth = _ref.bodyWidth,
390
+ apexWidth = _ref.apexWidth,
391
+ containerClassName = _ref.containerClassName,
392
+ bodyClassName = _ref.bodyClassName;
393
+ return /*#__PURE__*/React__default.createElement(Container, {
394
+ className: containerClassName
395
+ }, children, /*#__PURE__*/React__default.createElement(Body, {
396
+ toolTipPosition: toolTipPosition,
397
+ bodyWidth: bodyWidth,
398
+ apexWidth: apexWidth,
399
+ className: bodyClassName
400
+ }, toolTipText));
401
+ };
402
+ Tooltip.defaultProps = {
403
+ children: null,
404
+ toolTipText: '',
405
+ toolTipPosition: 'top',
406
+ bodyWidth: '8em',
407
+ apexWidth: '5px',
408
+ containerClassName: '',
409
+ bodyClassName: ''
410
+ };
411
+ var Tooltip$1 = themed(Tooltip);
412
+
413
+ var CurrencySelect = function CurrencySelect(_ref) {
414
+ var currency = _ref.currency,
415
+ currencyOptions = _ref.currencyOptions,
416
+ onCurrencyChange = _ref.onCurrencyChange,
417
+ _ref$isCurrencySelect = _ref.isCurrencySelectionDisabled,
418
+ isCurrencySelectionDisabled = _ref$isCurrencySelect === void 0 ? false : _ref$isCurrencySelect,
419
+ _ref$tooltipContent = _ref.tooltipContent,
420
+ tooltipContent = _ref$tooltipContent === void 0 ? '' : _ref$tooltipContent;
421
+ if (!currencyOptions || currencyOptions.length === 0) {
422
+ return null;
423
+ }
424
+ var selectedOption = currencyOptions.find(function (opt) {
425
+ return opt.value === currency;
426
+ });
427
+ if (!selectedOption) {
428
+ return null;
429
+ }
430
+ return /*#__PURE__*/React__default.createElement(Tooltip$1, {
431
+ toolTipText: isCurrencySelectionDisabled ? tooltipContent : '',
432
+ toolTipPosition: "bottom",
433
+ bodyWidth: "160px"
434
+ }, /*#__PURE__*/React__default.createElement("div", {
435
+ className: "currency-select-container ".concat(isCurrencySelectionDisabled ? 'disabled' : '')
436
+ }, /*#__PURE__*/React__default.createElement("div", {
437
+ className: "currency-flag"
438
+ }, /*#__PURE__*/React__default.createElement("img", {
439
+ src: selectedOption.flagSrc,
440
+ alt: "".concat(currency, " flag")
441
+ })), /*#__PURE__*/React__default.createElement("select", {
442
+ value: currency,
443
+ onChange: function onChange(e) {
444
+ return onCurrencyChange(e.target.value);
445
+ },
446
+ className: "currency-select",
447
+ disabled: isCurrencySelectionDisabled
448
+ }, currencyOptions.map(function (option) {
449
+ return /*#__PURE__*/React__default.createElement("option", {
450
+ key: option.value,
451
+ value: option.value
452
+ }, option.value, " (", option.symbol, ")");
453
+ }))));
454
+ };
455
+
259
456
  var LuxitySideNav = function LuxitySideNav(_ref) {
260
457
  var accordionIcon = _ref.accordionIcon,
261
- closeIcon = _ref.closeIcon,
262
- backIcon = _ref.backIcon,
263
- productUrl = _ref.productUrl,
264
- onAccountClick = _ref.onAccountClick,
265
- onCartClick = _ref.onCartClick,
266
- onContactUsClick = _ref.onContactUsClick,
267
- onOurStoryClick = _ref.onOurStoryClick,
268
- onBlogClick = _ref.onBlogClick,
269
- onSellToUsClick = _ref.onSellToUsClick,
270
- stores = _ref.stores,
271
- categoryElements = _ref.categoryElements,
272
- showSideNav = _ref.showSideNav,
273
- onMenuClick = _ref.onMenuClick,
274
- menuData = _ref.menuData,
275
- LinkComponent = _ref.LinkComponent;
276
-
458
+ closeIcon = _ref.closeIcon,
459
+ backIcon = _ref.backIcon,
460
+ productUrl = _ref.productUrl,
461
+ onAccountClick = _ref.onAccountClick,
462
+ onCartClick = _ref.onCartClick,
463
+ onContactUsClick = _ref.onContactUsClick,
464
+ onOurStoryClick = _ref.onOurStoryClick,
465
+ onBlogClick = _ref.onBlogClick,
466
+ onSellToUsClick = _ref.onSellToUsClick,
467
+ stores = _ref.stores,
468
+ categoryElements = _ref.categoryElements,
469
+ showSideNav = _ref.showSideNav,
470
+ onMenuClick = _ref.onMenuClick,
471
+ menuData = _ref.menuData,
472
+ LinkComponent = _ref.LinkComponent,
473
+ currency = _ref.currency,
474
+ currencyOptions = _ref.currencyOptions,
475
+ onCurrencyChange = _ref.onCurrencyChange,
476
+ isCurrencySelectionDisabled = _ref.isCurrencySelectionDisabled,
477
+ tooltipContent = _ref.tooltipContent;
277
478
  var _useState = React.useState(false),
278
- _useState2 = _slicedToArray(_useState, 2),
279
- subMenuOpen = _useState2[0],
280
- setSubMenuOpen = _useState2[1];
281
-
479
+ _useState2 = _slicedToArray(_useState, 2),
480
+ subMenuOpen = _useState2[0],
481
+ setSubMenuOpen = _useState2[1];
282
482
  var _useState3 = React.useState(''),
283
- _useState4 = _slicedToArray(_useState3, 2),
284
- displayedSubMenu = _useState4[0],
285
- setDisplayedSubMenu = _useState4[1];
286
-
483
+ _useState4 = _slicedToArray(_useState3, 2),
484
+ displayedSubMenu = _useState4[0],
485
+ setDisplayedSubMenu = _useState4[1];
287
486
  var _useState5 = React.useState(false),
288
- _useState6 = _slicedToArray(_useState5, 2),
289
- loading = _useState6[0],
290
- setLoading = _useState6[1];
291
-
487
+ _useState6 = _slicedToArray(_useState5, 2),
488
+ loading = _useState6[0],
489
+ setLoading = _useState6[1];
292
490
  var _useState7 = React.useState({
293
- latestArrivals: [],
294
- bags: [],
295
- shoes: [],
296
- apparel: [],
297
- accessories: [],
298
- watches: [],
299
- accessoriesCategories: [],
300
- apparelStyles: []
301
- }),
302
- _useState8 = _slicedToArray(_useState7, 2),
303
- dropdownData = _useState8[0],
304
- setDropdownData = _useState8[1];
305
-
491
+ latestArrivals: [],
492
+ bags: [],
493
+ shoes: [],
494
+ apparel: [],
495
+ accessories: [],
496
+ watches: [],
497
+ accessoriesCategories: [],
498
+ apparelStyles: []
499
+ }),
500
+ _useState8 = _slicedToArray(_useState7, 2),
501
+ dropdownData = _useState8[0],
502
+ setDropdownData = _useState8[1];
306
503
  var _useState9 = React.useState(false),
307
- _useState10 = _slicedToArray(_useState9, 2),
308
- hasError = _useState10[0],
309
- setHasError = _useState10[1];
310
-
504
+ _useState10 = _slicedToArray(_useState9, 2),
505
+ hasError = _useState10[0],
506
+ setHasError = _useState10[1];
311
507
  var onSubMenuClick = function onSubMenuClick(subMenu) {
312
508
  setSubMenuOpen(function (prev) {
313
509
  return !prev;
314
510
  });
315
511
  setDisplayedSubMenu(subMenu);
316
512
  };
317
-
318
513
  var onStoresClick = function onStoresClick() {
319
514
  setSubMenuOpen(false);
320
515
  setDisplayedSubMenu('stores');
321
516
  };
322
-
323
517
  var onBackClick = function onBackClick() {
324
518
  setSubMenuOpen(false);
325
519
  setDisplayedSubMenu('');
326
520
  };
327
-
328
521
  var onCloseSideNav = function onCloseSideNav(e) {
329
522
  onMenuClick();
330
523
  setSubMenuOpen(false);
331
524
  setDisplayedSubMenu('');
332
-
333
525
  if (e.key === 'Enter') {
334
526
  e.preventDefault();
335
527
  }
336
528
  };
337
-
338
529
  function addCategoryToElements(elements, categoryName) {
339
530
  return elements.map(function (element) {
340
531
  return _objectSpread2(_objectSpread2({}, element), {}, {
@@ -342,7 +533,6 @@
342
533
  });
343
534
  });
344
535
  }
345
-
346
536
  React.useMemo(function () {
347
537
  setLoading(true);
348
538
  axios.get("".concat(menuData)).then(function (_ref2) {
@@ -516,7 +706,13 @@
516
706
  type: "button",
517
707
  className: "side-nav__sub-link",
518
708
  onClick: onCartClick
519
- }, "My Cart")))), /*#__PURE__*/React__default.createElement(BrandsDropDown, {
709
+ }, "My Cart")), /*#__PURE__*/React__default.createElement(CurrencySelect, {
710
+ currency: currency,
711
+ currencyOptions: currencyOptions,
712
+ onCurrencyChange: onCurrencyChange,
713
+ isCurrencySelectionDisabled: isCurrencySelectionDisabled,
714
+ tooltipContent: tooltipContent
715
+ }))), /*#__PURE__*/React__default.createElement(BrandsDropDown, {
520
716
  subMenuOpen: subMenuOpen && displayedSubMenu === 'new',
521
717
  onBackClick: onBackClick,
522
718
  backIcon: backIcon,