@bonlineza/luxity-lib 2.39.4 → 2.39.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/Accordion.js +342 -352
  2. package/AddInterest.js +3109 -3068
  3. package/AddProductInterest.js +999 -7572
  4. package/BrandSelector.js +854 -861
  5. package/Checkbox.js +240 -250
  6. package/CheckboxButton.js +229 -236
  7. package/CommunicationPreferenceOptionsRenderer.js +560 -568
  8. package/CommunicationPreferenceSection.js +651 -659
  9. package/CommunicationPreferences.js +2394 -2402
  10. package/ConditionSelector.js +852 -859
  11. package/CountryCodeSelect.js +79 -6650
  12. package/CurrencyInputFormatter.js +86 -96
  13. package/CurrencySelect.js +219 -227
  14. package/DropdownSelector.js +212 -6821
  15. package/GALink.js +43 -51
  16. package/GenderSelector.js +355 -362
  17. package/GraphQLDropdownSelector.js +5308 -11832
  18. package/GraphQLMultiSelector.js +593 -601
  19. package/IconHeader.js +118 -126
  20. package/IconWrapper.js +17 -25
  21. package/InterestCatSelector.js +424 -389
  22. package/InterestItem.js +462 -469
  23. package/Interests.js +4719 -11243
  24. package/InterestsSubheading.js +33 -41
  25. package/InvertedTextButton.js +167 -175
  26. package/LuxityAppSideNav.js +181 -189
  27. package/LuxityDesktopHeader.js +1355 -1363
  28. package/LuxityFooter.js +2228 -2236
  29. package/LuxityGraphQLDropdownSelector.js +5395 -11919
  30. package/LuxityGraphQLMultiselector.js +778 -785
  31. package/LuxityMobileHeader.js +1786 -1794
  32. package/LuxityPageReady.js +199 -209
  33. package/LuxityProductInterestItem.js +359 -367
  34. package/LuxitySideNav.js +665 -673
  35. package/MaterialSelector.js +5430 -11954
  36. package/ModelSelector.js +5430 -11954
  37. package/NotificationDropDown.js +459 -7030
  38. package/Notify.js +20 -32
  39. package/OutlinePrimaryButton.js +134 -142
  40. package/PriceRangeSelector.js +1264 -1265
  41. package/PrimaryButton.js +129 -137
  42. package/RadioButtons.js +308 -318
  43. package/RangeSlider.js +1033 -1039
  44. package/RareStepFooter.js +257 -264
  45. package/RareStepHeader.js +801 -808
  46. package/ReactSelectWrapper.js +33 -6604
  47. package/SecondaryButton.js +144 -152
  48. package/ShoeSizeRangeSelector.js +1147 -1153
  49. package/ShoeSizeSelector.js +1146 -1154
  50. package/SimpleErrorBoundary.js +130 -138
  51. package/StyleSelector.js +854 -861
  52. package/TestComponent.js +15 -0
  53. package/TextButton.js +135 -143
  54. package/Tooltip.js +176 -184
  55. package/Tracking.js +15 -25
  56. package/WrapperButton.js +50 -58
  57. package/build/CountryCodeSelect/index.js +18 -0
  58. package/build/ReactSelectWrapper/index.js +34 -0
  59. package/build/bundle.css +1 -1
  60. package/build/bundle.js +10634 -17192
  61. package/build/constants.js +32 -43
  62. package/package.json +2 -2
  63. package/postcss.config.js +6 -0
  64. package/svg/Accessories.js +34 -42
  65. package/svg/Account.js +30 -38
  66. package/svg/Add.js +31 -39
  67. package/svg/ArrowRight.js +28 -36
  68. package/svg/Bags.js +40 -48
  69. package/svg/BurgerMenu.js +24 -32
  70. package/svg/Calendar.js +98 -106
  71. package/svg/CalendarCircled.js +100 -108
  72. package/svg/CheckCircled.js +32 -40
  73. package/svg/Close.js +29 -37
  74. package/svg/Clothing.js +36 -44
  75. package/svg/Dot.js +32 -40
  76. package/svg/Edit.js +27 -35
  77. package/svg/Eye.js +28 -36
  78. package/svg/FileAttach.js +28 -36
  79. package/svg/FileAttachCircled.js +30 -38
  80. package/svg/Jewellery.js +56 -0
  81. package/svg/LightBulb.js +58 -66
  82. package/svg/Logo.js +132 -140
  83. package/svg/LuxityMenu.js +28 -36
  84. package/svg/Minus.js +29 -37
  85. package/svg/MobileAvatar.js +28 -36
  86. package/svg/MyOrder.js +36 -44
  87. package/svg/MyPayment.js +36 -44
  88. package/svg/MyProfile.js +44 -52
  89. package/svg/MySale.js +31 -39
  90. package/svg/Notification.js +30 -38
  91. package/svg/PointerDown.js +28 -36
  92. package/svg/Search.js +27 -35
  93. package/svg/Shoes.js +37 -45
  94. package/svg/SvgWrapper.js +13 -21
  95. package/svg/Trash.js +32 -40
  96. package/svg/Watches.js +47 -55
package/RareStepHeader.js CHANGED
@@ -1,855 +1,848 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('prop-types'), require('styled-components')) :
3
- typeof define === 'function' && define.amd ? define(['react', 'prop-types', 'styled-components'], factory) :
4
- (global = global || self, global.RareStepHeader = factory(global.React, global.PropTypes, global.styled));
5
- }(this, (function (React, propTypes, styled) { 'use strict';
6
-
7
- var React__default = 'default' in React ? React['default'] : React;
8
- var styled__default = 'default' in styled ? styled['default'] : styled;
9
-
10
- function _extends() {
11
- _extends = Object.assign ? Object.assign.bind() : function (target) {
12
- for (var i = 1; i < arguments.length; i++) {
13
- var source = arguments[i];
14
-
15
- for (var key in source) {
16
- if (Object.prototype.hasOwnProperty.call(source, key)) {
17
- target[key] = source[key];
18
- }
1
+ import React, { forwardRef, useRef, useEffect, Fragment, useState } from 'react';
2
+ import 'prop-types';
3
+ import styled, { ThemeProvider } from 'styled-components';
4
+
5
+ function _extends() {
6
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
7
+ for (var i = 1; i < arguments.length; i++) {
8
+ var source = arguments[i];
9
+
10
+ for (var key in source) {
11
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
12
+ target[key] = source[key];
19
13
  }
20
14
  }
15
+ }
16
+
17
+ return target;
18
+ };
19
+ return _extends.apply(this, arguments);
20
+ }
21
21
 
22
- return target;
23
- };
24
- return _extends.apply(this, arguments);
22
+ function _taggedTemplateLiteral(strings, raw) {
23
+ if (!raw) {
24
+ raw = strings.slice(0);
25
25
  }
26
26
 
27
- function _taggedTemplateLiteral(strings, raw) {
28
- if (!raw) {
29
- raw = strings.slice(0);
27
+ return Object.freeze(Object.defineProperties(strings, {
28
+ raw: {
29
+ value: Object.freeze(raw)
30
30
  }
31
+ }));
32
+ }
31
33
 
32
- return Object.freeze(Object.defineProperties(strings, {
33
- raw: {
34
- value: Object.freeze(raw)
35
- }
36
- }));
37
- }
34
+ function _slicedToArray(arr, i) {
35
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
36
+ }
38
37
 
39
- function _slicedToArray(arr, i) {
40
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
41
- }
38
+ function _arrayWithHoles(arr) {
39
+ if (Array.isArray(arr)) return arr;
40
+ }
42
41
 
43
- function _arrayWithHoles(arr) {
44
- if (Array.isArray(arr)) return arr;
45
- }
42
+ function _iterableToArrayLimit(arr, i) {
43
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
46
44
 
47
- function _iterableToArrayLimit(arr, i) {
48
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
45
+ if (_i == null) return;
46
+ var _arr = [];
47
+ var _n = true;
48
+ var _d = false;
49
49
 
50
- if (_i == null) return;
51
- var _arr = [];
52
- var _n = true;
53
- var _d = false;
50
+ var _s, _e;
54
51
 
55
- var _s, _e;
52
+ try {
53
+ for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
54
+ _arr.push(_s.value);
56
55
 
56
+ if (i && _arr.length === i) break;
57
+ }
58
+ } catch (err) {
59
+ _d = true;
60
+ _e = err;
61
+ } finally {
57
62
  try {
58
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
59
- _arr.push(_s.value);
60
-
61
- if (i && _arr.length === i) break;
62
- }
63
- } catch (err) {
64
- _d = true;
65
- _e = err;
63
+ if (!_n && _i["return"] != null) _i["return"]();
66
64
  } finally {
67
- try {
68
- if (!_n && _i["return"] != null) _i["return"]();
69
- } finally {
70
- if (_d) throw _e;
71
- }
65
+ if (_d) throw _e;
72
66
  }
73
-
74
- return _arr;
75
67
  }
76
68
 
77
- function _unsupportedIterableToArray(o, minLen) {
78
- if (!o) return;
79
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
80
- var n = Object.prototype.toString.call(o).slice(8, -1);
81
- if (n === "Object" && o.constructor) n = o.constructor.name;
82
- if (n === "Map" || n === "Set") return Array.from(o);
83
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
69
+ return _arr;
70
+ }
71
+
72
+ function _unsupportedIterableToArray(o, minLen) {
73
+ if (!o) return;
74
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
75
+ var n = Object.prototype.toString.call(o).slice(8, -1);
76
+ if (n === "Object" && o.constructor) n = o.constructor.name;
77
+ if (n === "Map" || n === "Set") return Array.from(o);
78
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
79
+ }
80
+
81
+ function _arrayLikeToArray(arr, len) {
82
+ if (len == null || len > arr.length) len = arr.length;
83
+
84
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
85
+
86
+ return arr2;
87
+ }
88
+
89
+ function _nonIterableRest() {
90
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
91
+ }
92
+
93
+ var theme = {
94
+ breakpoints: ['40em', '52em', '64em'],
95
+ space: ['0px', '4px', '8px', '16px', '32px', '64px', '128px', '256px', '512px'],
96
+ fontSizes: ['12px', '14px', '16px', '20px', '24px', '32px', '48px', '64px', '72px'],
97
+ marginPaddings: ['0.5rem', '1rem', '1.5rem', '2rem', '2.5rem', '3rem', '3.5rem', '4rem', '4.5rem', '5rem', '5.5rem', '6rem'],
98
+ letterSpacings: ['-0.5px', '0px', '+0.5px'],
99
+ radii: ['0px', '2px', '4px', '8px'],
100
+ borderRadius: '6px',
101
+ colors: {
102
+ primary: '#000',
103
+ base: '#4e4949',
104
+ baseLt: '#817c7c',
105
+ borderColor: '#d8d8d8',
106
+ ntrlMin: '#fff',
107
+ ntrlMinTen: '#e6e6e6',
108
+ gray: '#efefef',
109
+ darkerGray: '#454141'
110
+ },
111
+ rareStepColors: {
112
+ primary: '#202b58',
113
+ secondary: '#ef5c2d',
114
+ ntrlMin: '#ffffff',
115
+ ntrl40: '#f4f4f4',
116
+ ntrl50: '#808080',
117
+ ntrl60: '#e8e8e8',
118
+ ntrl70: '#252525',
119
+ ntrlMax: '#000000'
120
+ },
121
+ rareStepFontWeights: {
122
+ normal: 400,
123
+ medium: 500,
124
+ semiBold: 600,
125
+ bold: 700
126
+ },
127
+ rareStepFontSize: {
128
+ h1: '36px',
129
+ h2: '30px',
130
+ h3: '24px',
131
+ h4: '20px',
132
+ h5: '16px',
133
+ h6: '14px',
134
+ footerTitle: '16px'
135
+ },
136
+ rareStepPageSizes: {
137
+ mobile: '500px',
138
+ tablet: '768px',
139
+ desktop: '992px',
140
+ screenl: '1280px',
141
+ screenxl: '1680px',
142
+ screenxxl: '1920px',
143
+ container: '1600px'
84
144
  }
145
+ };
146
+
147
+ var themed = (function (Component) {
148
+ return /*#__PURE__*/forwardRef(function (props, ref) {
149
+ return /*#__PURE__*/React.createElement(ThemeProvider, {
150
+ theme: theme
151
+ }, /*#__PURE__*/React.createElement(Component, _extends({}, props, {
152
+ ref: ref
153
+ })));
154
+ });
155
+ });
156
+
157
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30;
158
+ var HeaderWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n {\n display: inline-block;\n background-color: ", ";\n position: relative;\n width: 100%;\n\n .header__search-container,\n .header__search-input {\n background-color: ", ";\n }\n\n .header__search-container {\n max-width: ", ";\n margin: 0 auto;\n padding: ", " 5%;\n }\n }\n"])), function (props) {
159
+ return props.theme.rareStepColors.ntrlMin;
160
+ }, function (props) {
161
+ return props.theme.rareStepColors.primary;
162
+ }, function (props) {
163
+ return props.theme.rareStepPageSizes.container;
164
+ }, function (props) {
165
+ return props.theme.marginPaddings[1];
166
+ });
167
+ var PageContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n {\n max-width: ", ";\n margin: 0 auto;\n width: 100%;\n padding: 0 5%;\n display: flex;\n justify-content: space-between;\n }\n"])), function (props) {
168
+ return props.theme.rareStepPageSizes.container;
169
+ });
170
+ var HeaderContainer = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n {\n display: flex;\n justify-content: space-between;\n padding: ", " 5%;\n max-width: ", ";\n margin: 0 auto;\n width: 100%;\n }\n"])), function (props) {
171
+ return props.theme.marginPaddings[1];
172
+ }, function (props) {
173
+ return props.theme.rareStepPageSizes.container;
174
+ });
175
+ var LogoFigure = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n"])));
176
+ var LogoImage = styled.img(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n {\n width: 160px;\n cursor: pointer;\n }\n"])));
177
+ var CurrencyFlagIcon = styled.img(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n {\n width: 25px;\n height: 15px;\n margin-top: 9px;\n margin-right: 10px;\n }\n"])));
178
+ var SellToUsLink = styled.a(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n {\n color: ", ";\n font-weight: ", ";\n font-size: ", ";\n text-transform: uppercase;\n letter-spacing: 1px;\n cursor: pointer;\n text-decoration: none;\n font-style: italic;\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: none;\n }\n }\n"])), function (props) {
179
+ return props.theme.rareStepColors.secondary;
180
+ }, function (props) {
181
+ return props.theme.rareStepFontWeights.bold;
182
+ }, function (props) {
183
+ return props.theme.rareStepFontSize.h5;
184
+ }, function (props) {
185
+ return props.theme.rareStepColors.secondary;
186
+ });
187
+ var HeaderIconsContainer = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n {\n display: flex;\n align-items: center;\n\n .account-icon {\n &__wrapper {\n position: relative;\n }\n\n &__dropdown {\n position: absolute;\n width: 100%;\n top: 25px;\n left: 0;\n }\n }\n }\n"])));
188
+ var HeaderIcon = styled.img(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n {\n width: 25px;\n height: 22px;\n margin-left: ", ";\n cursor: pointer;\n }\n"])), function (props) {
189
+ return props.theme.marginPaddings[3];
190
+ });
191
+ var NavigationContainer = styled.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n {\n display: flex;\n justify-content: space-between;\n background-color: ", ";\n padding-top: ", ";\n }\n"])), function (props) {
192
+ return props.theme.rareStepColors.primary;
193
+ }, function (props) {
194
+ return props.theme.marginPaddings[1];
195
+ });
196
+ var NavigationLink = styled.a(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n {\n display: flex;\n flex-wrap: no-wrap;\n align-items: center;\n color: ", ";\n font-size: ", ";\n margin-right: ", ";\n padding-top: 2px;\n padding-bottom: ", ";\n cursor: pointer;\n border-bottom: 2px solid ", ";\n text-decoration: none;\n white-space: nowrap;\n\n &:last-child {\n margin-right: 0;\n }\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: none;\n border-bottom: 2px solid ", ";\n }\n }\n"])), function (props) {
197
+ return props.theme.rareStepColors.ntrlMin;
198
+ }, function (props) {
199
+ return props.theme.rareStepFontSize.h5;
200
+ }, function (props) {
201
+ return props.theme.marginPaddings[5];
202
+ }, function (props) {
203
+ return props.theme.marginPaddings[1];
204
+ }, function (props) {
205
+ return props.theme.rareStepColors.primary;
206
+ }, function (props) {
207
+ return props.theme.rareStepColors.ntrlMin;
208
+ }, function (props) {
209
+ return props.theme.rareStepColors.secondary;
210
+ });
211
+ var NavigationLinks = styled.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n {\n display: flex;\n }\n"])));
212
+ var Dropdown = styled.div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n {\n display: flex;\n background-color: ", ";\n padding: ", " 0;\n border-top: 1px solid ", ";\n font-size: ", ";\n position: absolute;\n width: 100%;\n }\n"])), function (props) {
213
+ return props.theme.rareStepColors.primary;
214
+ }, function (props) {
215
+ return props.theme.marginPaddings[4];
216
+ }, function (props) {
217
+ return props.theme.rareStepColors.ntrl40;
218
+ }, function (props) {
219
+ return props.theme.rareStepFontSize.h5;
220
+ });
221
+ var DropdownBrands = styled.div(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n {\n display: flex;\n flex-direction: column;\n width: 20%;\n }\n"])));
222
+ var DropdownLinks = styled.ul(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n {\n padding: 0 ", ";\n border-right: 1px solid ", ";\n width: 50%;\n column-count: 3;\n }\n"])), function (props) {
223
+ return props.theme.marginPaddings[3];
224
+ }, function (props) {
225
+ return props.theme.rareStepColors.ntrl40;
226
+ });
227
+ var DropdownLinksList = styled.li(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n {\n list-style: none;\n }\n"])));
228
+ var DropdownFigure = styled.div(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n {\n display: flex;\n width: 30%;\n padding-left: ", ";\n }\n"])), function (props) {
229
+ return props.theme.marginPaddings[5];
230
+ });
231
+ var DropdownImage = styled.img(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n {\n width: 90%;\n height: 300px;\n object-fit: cover;\n margin-left: auto;\n max-height: 100%;\n }\n"])));
232
+ var DropdownLink = styled.a(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n {\n color: ", ";\n padding-bottom: ", ";\n cursor: pointer;\n text-decoration: none;\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: underline;\n }\n }\n"])), function (props) {
233
+ return props.theme.rareStepColors.ntrlMin;
234
+ }, function (props) {
235
+ return props.theme.marginPaddings[0];
236
+ }, function (props) {
237
+ return props.theme.rareStepColors.ntrlMin;
238
+ });
239
+ var DropdownBrandLinkContainer = styled.div(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n {\n display: flex;\n\n &:hover {\n cursor: pointer;\n\n hr {\n display: block;\n }\n\n a {\n font-weight: ", ";\n }\n }\n }\n"])), function (props) {
240
+ return props.theme.rareStepFontWeights.bold;
241
+ });
242
+ var DropdownBrandLinkHR = styled.hr(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n {\n display: none;\n width: 20px;\n margin: 10px 10px 0 0;\n color: ", ";\n height: 1px;\n border: 1px solid ", ";\n }\n"])), function (props) {
243
+ return props.theme.rareStepColors.secondary;
244
+ }, function (props) {
245
+ return props.theme.rareStepColors.secondary;
246
+ });
247
+ var DropdownBrandLink = styled.a(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n {\n color: ", ";\n padding-bottom: 0.5rem;\n text-decoration: none;\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: none;\n font-weight: ", ";\n }\n }\n"])), function (props) {
248
+ return props.theme.rareStepColors.ntrlMin;
249
+ }, function (props) {
250
+ return props.theme.rareStepColors.ntrlMin;
251
+ }, function (props) {
252
+ return props.theme.rareStepFontWeights.bold;
253
+ });
254
+ var DropdownNavigatorIcon = styled.img(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n {\n width: 15px;\n height: 12px;\n margin-left: ", ";\n }\n"])), function (props) {
255
+ return props.theme.marginPaddings[0];
256
+ });
257
+ var SellToUsHR = styled.hr(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n {\n width: 80px;\n margin-top: 10px;\n color: ", ";\n border: 1px solid ", ";\n margin-right: 10px;\n }\n"])), function (props) {
258
+ return props.theme.rareStepColors.secondary;
259
+ }, function (props) {
260
+ return props.theme.rareStepColors.secondary;
261
+ });
262
+ var SearchContainer = styled.div(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n {\n display: flex;\n padding: ", " 0;\n align-items: center;\n }\n"])), function (props) {
263
+ return props.theme.marginPaddings[1];
264
+ });
265
+ var SearchInput = styled.input(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n {\n width: 100%;\n font-size: ", ";\n padding-bottom: ", ";\n color: ", ";\n border: none;\n margin-left: ", ";\n\n &:active,\n &:focus,\n &:focus-visible {\n outline: none;\n border: none;\n }\n\n &::placeholder {\n color: ", ";\n }\n }\n"])), function (props) {
266
+ return props.theme.rareStepFontSize.footerTitle;
267
+ }, function (props) {
268
+ return props.theme.marginPaddings[0];
269
+ }, function (props) {
270
+ return props.theme.rareStepColors.ntrl40;
271
+ }, function (props) {
272
+ return props.theme.marginPaddings[3];
273
+ }, function (props) {
274
+ return props.theme.rareStepColors.ntrl40;
275
+ });
276
+ var SearchIcon = styled.img(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["\n {\n width: 20px;\n height: 20px;\n cursor: pointer;\n margin-bottom: 7px;\n }\n"])));
277
+ var CloseIcon = styled.img(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["\n {\n width: 20px;\n height: 20px;\n cursor: pointer;\n }\n"])));
278
+ var CurrencyContainer = styled.div(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral(["\n {\n display: flex;\n }\n"])));
279
+ var DropdownSearchContainer = styled.div(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral(["\n {\n background-color: ", ";\n border-top: 1px solid ", ";\n }\n"])), function (props) {
280
+ return props.theme.rareStepColors.primary;
281
+ }, function (props) {
282
+ return props.theme.rareStepColors.ntrl40;
283
+ });
284
+
285
+ var Search = function Search(_ref) {
286
+ var closeIconUrl = _ref.closeIconUrl,
287
+ navigationSearchIconUrl = _ref.navigationSearchIconUrl,
288
+ wordpressSiteUrl = _ref.wordpressSiteUrl,
289
+ toggleSearch = _ref.toggleSearch;
290
+ var searchInputRef = useRef(null);
291
+
292
+ var handleOnSearch = function handleOnSearch() {
293
+ window.location.replace("".concat(wordpressSiteUrl, "/?post_type=product&s=").concat(searchInputRef.current.value));
294
+ };
85
295
 
86
- function _arrayLikeToArray(arr, len) {
87
- if (len == null || len > arr.length) len = arr.length;
88
-
89
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
296
+ var handleKeyDown = function handleKeyDown(e) {
297
+ if (e.key === 'Enter') {
298
+ handleOnSearch();
299
+ }
300
+ };
90
301
 
91
- return arr2;
92
- }
302
+ useEffect(function () {
303
+ searchInputRef.current.focus();
304
+ }, []);
305
+ return /*#__PURE__*/React.createElement(SearchContainer, {
306
+ className: "header__search-container"
307
+ }, /*#__PURE__*/React.createElement(SearchIcon, {
308
+ className: "header__icon",
309
+ src: navigationSearchIconUrl,
310
+ onClick: handleOnSearch
311
+ }), /*#__PURE__*/React.createElement(SearchInput, {
312
+ className: "header__search-input",
313
+ ref: searchInputRef,
314
+ placeholder: "Search...",
315
+ onKeyDown: handleKeyDown
316
+ }), /*#__PURE__*/React.createElement(CloseIcon, {
317
+ className: "header__icon",
318
+ src: closeIconUrl,
319
+ onClick: toggleSearch
320
+ }));
321
+ };
322
+
323
+ function capitalizeWords(str) {
324
+ return str.toLowerCase().replace(/\b\w/g, function (match) {
325
+ return match.toUpperCase();
326
+ });
327
+ }
328
+
329
+ var HeaderDropdown = function HeaderDropdown(_ref) {
330
+ var currentSelectedItem = _ref.currentSelectedItem,
331
+ handleShowDropdown = _ref.handleShowDropdown,
332
+ handleHideDropdown = _ref.handleHideDropdown;
333
+ return /*#__PURE__*/React.createElement(Dropdown, {
334
+ onMouseOver: handleShowDropdown,
335
+ onMouseOut: handleHideDropdown
336
+ }, /*#__PURE__*/React.createElement(PageContainer, null, /*#__PURE__*/React.createElement(DropdownLinks, null, ((currentSelectedItem === null || currentSelectedItem === void 0 ? void 0 : currentSelectedItem.items) || []).map(function (item, index) {
337
+ return /*#__PURE__*/React.createElement(DropdownLinksList, {
338
+ key: index
339
+ }, /*#__PURE__*/React.createElement(DropdownLink, {
340
+ href: item.itemLink
341
+ }, capitalizeWords(item.itemName)));
342
+ })), /*#__PURE__*/React.createElement(DropdownFigure, null, (currentSelectedItem === null || currentSelectedItem === void 0 ? void 0 : currentSelectedItem.brandImageUrl) && /*#__PURE__*/React.createElement(DropdownImage, {
343
+ src: currentSelectedItem === null || currentSelectedItem === void 0 ? void 0 : currentSelectedItem.brandImageUrl
344
+ }))));
345
+ };
346
+
347
+ function Navigation(_ref) {
348
+ var dropdownClosedIconUrl = _ref.dropdownClosedIconUrl,
349
+ dropdownOpenIconUrl = _ref.dropdownOpenIconUrl,
350
+ handleShowDropdown = _ref.handleShowDropdown,
351
+ handleHideDropdown = _ref.handleHideDropdown,
352
+ currentSelectedItem = _ref.currentSelectedItem,
353
+ desktopHeaderLinks = _ref.desktopHeaderLinks;
354
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(NavigationContainer, null, /*#__PURE__*/React.createElement(PageContainer, null, /*#__PURE__*/React.createElement(NavigationLinks, null, desktopHeaderLinks.left.map(function (link, index) {
355
+ return link !== null && link !== void 0 && link.isDropdown ? /*#__PURE__*/React.createElement(NavigationLink, {
356
+ key: index,
357
+ href: link.url,
358
+ onMouseOver: function onMouseOver() {
359
+ return handleShowDropdown(link);
360
+ },
361
+ onMouseOut: handleHideDropdown
362
+ }, capitalizeWords(link.name), currentSelectedItem.name === link.name ? /*#__PURE__*/React.createElement(DropdownNavigatorIcon, {
363
+ src: dropdownClosedIconUrl
364
+ }) : /*#__PURE__*/React.createElement(DropdownNavigatorIcon, {
365
+ src: dropdownOpenIconUrl
366
+ })) : /*#__PURE__*/React.createElement(NavigationLink, {
367
+ href: link.url,
368
+ key: index
369
+ }, capitalizeWords(link.name));
370
+ })), /*#__PURE__*/React.createElement(NavigationLinks, null, desktopHeaderLinks.right.map(function (link, index) {
371
+ return /*#__PURE__*/React.createElement(NavigationLink, {
372
+ href: link.url,
373
+ key: index
374
+ }, link.name);
375
+ })))));
376
+ }
377
+
378
+ var RareStepDesktopHeader = function RareStepDesktopHeader(_ref) {
379
+ var headerLogoImgUrl = _ref.headerLogoImgUrl,
380
+ searchIconUrl = _ref.searchIconUrl,
381
+ cartIconUrl = _ref.cartIconUrl,
382
+ userIconUrl = _ref.userIconUrl,
383
+ interestIconUrl = _ref.interestIconUrl,
384
+ dropdownClosedIconUrl = _ref.dropdownClosedIconUrl,
385
+ dropdownOpenIconUrl = _ref.dropdownOpenIconUrl,
386
+ currencyFlagIconUrl = _ref.currencyFlagIconUrl,
387
+ closeIconUrl = _ref.closeIconUrl,
388
+ navigationSearchIconUrl = _ref.navigationSearchIconUrl,
389
+ wordpressSiteUrl = _ref.wordpressSiteUrl,
390
+ desktopHeaderLinks = _ref.desktopHeaderLinks,
391
+ handleOnAccountClick = _ref.handleOnAccountClick,
392
+ handleOnCartClick = _ref.handleOnCartClick,
393
+ userIconDropdownContent = _ref.userIconDropdownContent;
394
+ var timeoutIdRef = useRef(null);
395
+
396
+ var _useState = useState(false),
397
+ _useState2 = _slicedToArray(_useState, 2),
398
+ showSearch = _useState2[0],
399
+ setShowSearch = _useState2[1];
400
+
401
+ var _useState3 = useState({}),
402
+ _useState4 = _slicedToArray(_useState3, 2),
403
+ currentSelectedItem = _useState4[0],
404
+ setCurrentSelectedItem = _useState4[1];
405
+
406
+ var _useState5 = useState(false),
407
+ _useState6 = _slicedToArray(_useState5, 2),
408
+ isUserIconDropdownContent = _useState6[0],
409
+ setIsUserIconDropdownContent = _useState6[1];
410
+
411
+ var userDropdownTimeoutIdRef = useRef(null);
412
+
413
+ var toggleSearch = function toggleSearch() {
414
+ setShowSearch(!showSearch);
415
+ };
93
416
 
94
- function _nonIterableRest() {
95
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
96
- }
417
+ var _handleShowDropdown = function handleShowDropdown(currentItem) {
418
+ clearTimeout(timeoutIdRef.current);
97
419
 
98
- var theme = {
99
- breakpoints: ['40em', '52em', '64em'],
100
- space: ['0px', '4px', '8px', '16px', '32px', '64px', '128px', '256px', '512px'],
101
- fontSizes: ['12px', '14px', '16px', '20px', '24px', '32px', '48px', '64px', '72px'],
102
- marginPaddings: ['0.5rem', '1rem', '1.5rem', '2rem', '2.5rem', '3rem', '3.5rem', '4rem', '4.5rem', '5rem', '5.5rem', '6rem'],
103
- letterSpacings: ['-0.5px', '0px', '+0.5px'],
104
- radii: ['0px', '2px', '4px', '8px'],
105
- borderRadius: '6px',
106
- colors: {
107
- primary: '#000',
108
- base: '#4e4949',
109
- baseLt: '#817c7c',
110
- borderColor: '#d8d8d8',
111
- ntrlMin: '#fff',
112
- ntrlMinTen: '#e6e6e6',
113
- gray: '#efefef',
114
- darkerGray: '#454141'
115
- },
116
- rareStepColors: {
117
- primary: '#202b58',
118
- secondary: '#ef5c2d',
119
- ntrlMin: '#ffffff',
120
- ntrl40: '#f4f4f4',
121
- ntrl50: '#808080',
122
- ntrl60: '#e8e8e8',
123
- ntrl70: '#252525',
124
- ntrlMax: '#000000'
125
- },
126
- rareStepFontWeights: {
127
- normal: 400,
128
- medium: 500,
129
- semiBold: 600,
130
- bold: 700
131
- },
132
- rareStepFontSize: {
133
- h1: '36px',
134
- h2: '30px',
135
- h3: '24px',
136
- h4: '20px',
137
- h5: '16px',
138
- h6: '14px',
139
- footerTitle: '16px'
140
- },
141
- rareStepPageSizes: {
142
- mobile: '500px',
143
- tablet: '768px',
144
- desktop: '992px',
145
- screenl: '1280px',
146
- screenxl: '1680px',
147
- screenxxl: '1920px',
148
- container: '1600px'
420
+ if (currentItem) {
421
+ setCurrentSelectedItem(currentItem);
149
422
  }
150
423
  };
151
424
 
152
- var themed = (function (Component) {
153
- return /*#__PURE__*/React.forwardRef(function (props, ref) {
154
- return /*#__PURE__*/React__default.createElement(styled.ThemeProvider, {
155
- theme: theme
156
- }, /*#__PURE__*/React__default.createElement(Component, _extends({}, props, {
157
- ref: ref
158
- })));
159
- });
160
- });
161
-
162
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30;
163
- var HeaderWrapper = styled__default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n {\n display: inline-block;\n background-color: ", ";\n position: relative;\n width: 100%;\n\n .header__search-container,\n .header__search-input {\n background-color: ", ";\n }\n\n .header__search-container {\n max-width: ", ";\n margin: 0 auto;\n padding: ", " 5%;\n }\n }\n"])), function (props) {
164
- return props.theme.rareStepColors.ntrlMin;
165
- }, function (props) {
166
- return props.theme.rareStepColors.primary;
167
- }, function (props) {
168
- return props.theme.rareStepPageSizes.container;
169
- }, function (props) {
170
- return props.theme.marginPaddings[1];
171
- });
172
- var PageContainer = styled__default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n {\n max-width: ", ";\n margin: 0 auto;\n width: 100%;\n padding: 0 5%;\n display: flex;\n justify-content: space-between;\n }\n"])), function (props) {
173
- return props.theme.rareStepPageSizes.container;
174
- });
175
- var HeaderContainer = styled__default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n {\n display: flex;\n justify-content: space-between;\n padding: ", " 5%;\n max-width: ", ";\n margin: 0 auto;\n width: 100%;\n }\n"])), function (props) {
176
- return props.theme.marginPaddings[1];
177
- }, function (props) {
178
- return props.theme.rareStepPageSizes.container;
179
- });
180
- var LogoFigure = styled__default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n"])));
181
- var LogoImage = styled__default.img(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n {\n width: 160px;\n cursor: pointer;\n }\n"])));
182
- var CurrencyFlagIcon = styled__default.img(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n {\n width: 25px;\n height: 15px;\n margin-top: 9px;\n margin-right: 10px;\n }\n"])));
183
- var SellToUsLink = styled__default.a(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n {\n color: ", ";\n font-weight: ", ";\n font-size: ", ";\n text-transform: uppercase;\n letter-spacing: 1px;\n cursor: pointer;\n text-decoration: none;\n font-style: italic;\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: none;\n }\n }\n"])), function (props) {
184
- return props.theme.rareStepColors.secondary;
185
- }, function (props) {
186
- return props.theme.rareStepFontWeights.bold;
187
- }, function (props) {
188
- return props.theme.rareStepFontSize.h5;
189
- }, function (props) {
190
- return props.theme.rareStepColors.secondary;
191
- });
192
- var HeaderIconsContainer = styled__default.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n {\n display: flex;\n align-items: center;\n\n .account-icon {\n &__wrapper {\n position: relative;\n }\n\n &__dropdown {\n position: absolute;\n width: 100%;\n top: 25px;\n left: 0;\n }\n }\n }\n"])));
193
- var HeaderIcon = styled__default.img(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n {\n width: 25px;\n height: 22px;\n margin-left: ", ";\n cursor: pointer;\n }\n"])), function (props) {
194
- return props.theme.marginPaddings[3];
195
- });
196
- var NavigationContainer = styled__default.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n {\n display: flex;\n justify-content: space-between;\n background-color: ", ";\n padding-top: ", ";\n }\n"])), function (props) {
197
- return props.theme.rareStepColors.primary;
198
- }, function (props) {
199
- return props.theme.marginPaddings[1];
200
- });
201
- var NavigationLink = styled__default.a(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n {\n display: flex;\n flex-wrap: no-wrap;\n align-items: center;\n color: ", ";\n font-size: ", ";\n margin-right: ", ";\n padding-top: 2px;\n padding-bottom: ", ";\n cursor: pointer;\n border-bottom: 2px solid ", ";\n text-decoration: none;\n white-space: nowrap;\n\n &:last-child {\n margin-right: 0;\n }\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: none;\n border-bottom: 2px solid ", ";\n }\n }\n"])), function (props) {
202
- return props.theme.rareStepColors.ntrlMin;
203
- }, function (props) {
204
- return props.theme.rareStepFontSize.h5;
205
- }, function (props) {
206
- return props.theme.marginPaddings[5];
207
- }, function (props) {
208
- return props.theme.marginPaddings[1];
209
- }, function (props) {
210
- return props.theme.rareStepColors.primary;
211
- }, function (props) {
212
- return props.theme.rareStepColors.ntrlMin;
213
- }, function (props) {
214
- return props.theme.rareStepColors.secondary;
215
- });
216
- var NavigationLinks = styled__default.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n {\n display: flex;\n }\n"])));
217
- var Dropdown = styled__default.div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n {\n display: flex;\n background-color: ", ";\n padding: ", " 0;\n border-top: 1px solid ", ";\n font-size: ", ";\n position: absolute;\n width: 100%;\n }\n"])), function (props) {
218
- return props.theme.rareStepColors.primary;
219
- }, function (props) {
220
- return props.theme.marginPaddings[4];
221
- }, function (props) {
222
- return props.theme.rareStepColors.ntrl40;
223
- }, function (props) {
224
- return props.theme.rareStepFontSize.h5;
225
- });
226
- var DropdownBrands = styled__default.div(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n {\n display: flex;\n flex-direction: column;\n width: 20%;\n }\n"])));
227
- var DropdownLinks = styled__default.ul(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n {\n padding: 0 ", ";\n border-right: 1px solid ", ";\n width: 50%;\n column-count: 3;\n }\n"])), function (props) {
228
- return props.theme.marginPaddings[3];
229
- }, function (props) {
230
- return props.theme.rareStepColors.ntrl40;
231
- });
232
- var DropdownLinksList = styled__default.li(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n {\n list-style: none;\n }\n"])));
233
- var DropdownFigure = styled__default.div(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n {\n display: flex;\n width: 30%;\n padding-left: ", ";\n }\n"])), function (props) {
234
- return props.theme.marginPaddings[5];
235
- });
236
- var DropdownImage = styled__default.img(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n {\n width: 90%;\n height: 300px;\n object-fit: cover;\n margin-left: auto;\n max-height: 100%;\n }\n"])));
237
- var DropdownLink = styled__default.a(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n {\n color: ", ";\n padding-bottom: ", ";\n cursor: pointer;\n text-decoration: none;\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: underline;\n }\n }\n"])), function (props) {
238
- return props.theme.rareStepColors.ntrlMin;
239
- }, function (props) {
240
- return props.theme.marginPaddings[0];
241
- }, function (props) {
242
- return props.theme.rareStepColors.ntrlMin;
243
- });
244
- var DropdownBrandLinkContainer = styled__default.div(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n {\n display: flex;\n\n &:hover {\n cursor: pointer;\n\n hr {\n display: block;\n }\n\n a {\n font-weight: ", ";\n }\n }\n }\n"])), function (props) {
245
- return props.theme.rareStepFontWeights.bold;
246
- });
247
- var DropdownBrandLinkHR = styled__default.hr(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n {\n display: none;\n width: 20px;\n margin: 10px 10px 0 0;\n color: ", ";\n height: 1px;\n border: 1px solid ", ";\n }\n"])), function (props) {
248
- return props.theme.rareStepColors.secondary;
249
- }, function (props) {
250
- return props.theme.rareStepColors.secondary;
251
- });
252
- var DropdownBrandLink = styled__default.a(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n {\n color: ", ";\n padding-bottom: 0.5rem;\n text-decoration: none;\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: none;\n font-weight: ", ";\n }\n }\n"])), function (props) {
253
- return props.theme.rareStepColors.ntrlMin;
254
- }, function (props) {
255
- return props.theme.rareStepColors.ntrlMin;
256
- }, function (props) {
257
- return props.theme.rareStepFontWeights.bold;
258
- });
259
- var DropdownNavigatorIcon = styled__default.img(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n {\n width: 15px;\n height: 12px;\n margin-left: ", ";\n }\n"])), function (props) {
260
- return props.theme.marginPaddings[0];
261
- });
262
- var SellToUsHR = styled__default.hr(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n {\n width: 80px;\n margin-top: 10px;\n color: ", ";\n border: 1px solid ", ";\n margin-right: 10px;\n }\n"])), function (props) {
263
- return props.theme.rareStepColors.secondary;
264
- }, function (props) {
265
- return props.theme.rareStepColors.secondary;
266
- });
267
- var SearchContainer = styled__default.div(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n {\n display: flex;\n padding: ", " 0;\n align-items: center;\n }\n"])), function (props) {
268
- return props.theme.marginPaddings[1];
269
- });
270
- var SearchInput = styled__default.input(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n {\n width: 100%;\n font-size: ", ";\n padding-bottom: ", ";\n color: ", ";\n border: none;\n margin-left: ", ";\n\n &:active,\n &:focus,\n &:focus-visible {\n outline: none;\n border: none;\n }\n\n &::placeholder {\n color: ", ";\n }\n }\n"])), function (props) {
271
- return props.theme.rareStepFontSize.footerTitle;
272
- }, function (props) {
273
- return props.theme.marginPaddings[0];
274
- }, function (props) {
275
- return props.theme.rareStepColors.ntrl40;
276
- }, function (props) {
277
- return props.theme.marginPaddings[3];
278
- }, function (props) {
279
- return props.theme.rareStepColors.ntrl40;
280
- });
281
- var SearchIcon = styled__default.img(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["\n {\n width: 20px;\n height: 20px;\n cursor: pointer;\n margin-bottom: 7px;\n }\n"])));
282
- var CloseIcon = styled__default.img(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["\n {\n width: 20px;\n height: 20px;\n cursor: pointer;\n }\n"])));
283
- var CurrencyContainer = styled__default.div(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral(["\n {\n display: flex;\n }\n"])));
284
- var DropdownSearchContainer = styled__default.div(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral(["\n {\n background-color: ", ";\n border-top: 1px solid ", ";\n }\n"])), function (props) {
285
- return props.theme.rareStepColors.primary;
286
- }, function (props) {
287
- return props.theme.rareStepColors.ntrl40;
288
- });
289
-
290
- var Search = function Search(_ref) {
291
- var closeIconUrl = _ref.closeIconUrl,
292
- navigationSearchIconUrl = _ref.navigationSearchIconUrl,
293
- wordpressSiteUrl = _ref.wordpressSiteUrl,
294
- toggleSearch = _ref.toggleSearch;
295
- var searchInputRef = React.useRef(null);
425
+ var handleHideDropdown = function handleHideDropdown() {
426
+ timeoutIdRef.current = setTimeout(function () {
427
+ setCurrentSelectedItem({});
428
+ }, 500);
429
+ };
296
430
 
297
- var handleOnSearch = function handleOnSearch() {
298
- window.location.replace("".concat(wordpressSiteUrl, "/?post_type=product&s=").concat(searchInputRef.current.value));
299
- };
431
+ var handleShowUserDropdown = function handleShowUserDropdown() {
432
+ clearTimeout(userDropdownTimeoutIdRef.current);
433
+ setIsUserIconDropdownContent(true);
434
+ };
300
435
 
301
- var handleKeyDown = function handleKeyDown(e) {
302
- if (e.key === 'Enter') {
303
- handleOnSearch();
304
- }
305
- };
306
-
307
- React.useEffect(function () {
308
- searchInputRef.current.focus();
309
- }, []);
310
- return /*#__PURE__*/React__default.createElement(SearchContainer, {
311
- className: "header__search-container"
312
- }, /*#__PURE__*/React__default.createElement(SearchIcon, {
313
- className: "header__icon",
314
- src: navigationSearchIconUrl,
315
- onClick: handleOnSearch
316
- }), /*#__PURE__*/React__default.createElement(SearchInput, {
317
- className: "header__search-input",
318
- ref: searchInputRef,
319
- placeholder: "Search...",
320
- onKeyDown: handleKeyDown
321
- }), /*#__PURE__*/React__default.createElement(CloseIcon, {
322
- className: "header__icon",
323
- src: closeIconUrl,
324
- onClick: toggleSearch
325
- }));
436
+ var handleHideUserDropdown = function handleHideUserDropdown() {
437
+ userDropdownTimeoutIdRef.current = setTimeout(function () {
438
+ setIsUserIconDropdownContent(false);
439
+ }, 500);
326
440
  };
327
441
 
328
- function capitalizeWords(str) {
329
- return str.toLowerCase().replace(/\b\w/g, function (match) {
330
- return match.toUpperCase();
331
- });
332
- }
442
+ return /*#__PURE__*/React.createElement(HeaderWrapper, null, /*#__PURE__*/React.createElement(HeaderContainer, null, /*#__PURE__*/React.createElement(LogoFigure, null, /*#__PURE__*/React.createElement(LogoImage, {
443
+ className: "header__logo",
444
+ src: headerLogoImgUrl,
445
+ onClick: function onClick() {
446
+ window.location.href = wordpressSiteUrl;
447
+ }
448
+ })), /*#__PURE__*/React.createElement(HeaderIconsContainer, null, /*#__PURE__*/React.createElement(SellToUsHR, null), /*#__PURE__*/React.createElement(SellToUsLink, {
449
+ href: desktopHeaderLinks.button.url
450
+ }, desktopHeaderLinks.button.name), /*#__PURE__*/React.createElement("div", {
451
+ className: "account-icon__wrapper"
452
+ }, /*#__PURE__*/React.createElement(HeaderIcon, {
453
+ src: searchIconUrl,
454
+ onClick: toggleSearch
455
+ }), interestIconUrl && /*#__PURE__*/React.createElement(HeaderIcon, {
456
+ src: interestIconUrl
457
+ }), userIconUrl && /*#__PURE__*/React.createElement(HeaderIcon, {
458
+ onMouseOver: handleShowUserDropdown,
459
+ onMouseOut: handleHideUserDropdown,
460
+ className: "account-icon",
461
+ src: userIconUrl,
462
+ onClick: handleOnAccountClick
463
+ }), /*#__PURE__*/React.createElement(HeaderIcon, {
464
+ src: cartIconUrl,
465
+ onClick: handleOnCartClick
466
+ }), isUserIconDropdownContent && userIconDropdownContent && /*#__PURE__*/React.createElement("div", {
467
+ onFocus: handleShowUserDropdown,
468
+ onBlur: handleHideUserDropdown,
469
+ onMouseOver: handleShowUserDropdown,
470
+ onMouseOut: handleHideUserDropdown,
471
+ className: "account-icon__dropdown"
472
+ }, userIconDropdownContent)))), /*#__PURE__*/React.createElement(Navigation, {
473
+ dropdownClosedIconUrl: dropdownClosedIconUrl,
474
+ dropdownOpenIconUrl: dropdownOpenIconUrl,
475
+ currencyFlagIconUrl: currencyFlagIconUrl,
476
+ handleShowDropdown: _handleShowDropdown,
477
+ currentSelectedItem: currentSelectedItem,
478
+ handleHideDropdown: handleHideDropdown,
479
+ desktopHeaderLinks: desktopHeaderLinks
480
+ }), showSearch && /*#__PURE__*/React.createElement(DropdownSearchContainer, null, /*#__PURE__*/React.createElement(Search, {
481
+ closeIconUrl: closeIconUrl,
482
+ navigationSearchIconUrl: navigationSearchIconUrl,
483
+ wordpressSiteUrl: wordpressSiteUrl,
484
+ toggleSearch: toggleSearch
485
+ })), Object.keys(currentSelectedItem).length !== 0 && /*#__PURE__*/React.createElement(HeaderDropdown, {
486
+ currentSelectedItem: currentSelectedItem,
487
+ handleShowDropdown: function handleShowDropdown() {
488
+ return _handleShowDropdown();
489
+ },
490
+ handleHideDropdown: handleHideDropdown
491
+ }));
492
+ };
493
+
494
+ var RareStepDesktopHeader$1 = themed(RareStepDesktopHeader);
495
+
496
+ var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4$1, _templateObject5$1, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1, _templateObject10$1, _templateObject11$1, _templateObject12$1, _templateObject13$1, _templateObject14$1, _templateObject15$1, _templateObject16$1, _templateObject17$1, _templateObject18$1, _templateObject19$1, _templateObject20$1, _templateObject21$1, _templateObject22$1, _templateObject23$1;
497
+ var HeaderWrapper$1 = styled.div(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n {\n display: flex;\n background-color: ", ";\n position: relative;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: ", " 5%;\n }\n"])), function (props) {
498
+ return props.theme.rareStepColors.ntrlMin;
499
+ }, function (props) {
500
+ return props.theme.marginPaddings[3];
501
+ });
502
+ var Icon = styled.img(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\n {\n width: 30px;\n height: 30px;\n cursor: pointer;\n }\n"])));
503
+ var Logo = styled.img(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral(["\n {\n width: 140px;\n height: auto;\n margin-left: 30px;\n cursor: pointer;\n }\n"])));
504
+ var IconWrapper = styled.div(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral(["\n {\n display: flex;\n width: auto;\n height: 25px;\n\n .search-icon,\n .cart-icon {\n width: 100%;\n height: 100%;\n }\n\n .cart-icon {\n margin-left: 10px;\n }\n }\n"])));
505
+ var NavigationWrapper = styled.div(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n padding: ", ";\n"])), function (props) {
506
+ return props.theme.marginPaddings[1];
507
+ });
508
+ var NavigationWrapperTitle = styled.div(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n font-size: 16px;\n"])));
509
+ var NavigationWrapperItem = styled.div(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral(["\n padding: 10px 0px 0px 20px;\n font-size: 14px;\n cursor: pointer;\n"])));
510
+ var SideNavWrapper = styled.div(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteral(["\n {\n position: relative;\n overflow: hidden;\n\n .side-nav-link--bottom {\n font-size: ", ";\n }\n }\n"])), function (props) {
511
+ return props.theme.rareStepFontSize.h6;
512
+ });
513
+ var SideNav = styled.div(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteral(["\n {\n position: fixed;\n top: 0;\n left: -100%;\n width: 80%;\n height: 100%;\n background-color: ", ";\n color: ", ";\n padding: ", ";\n z-index: 9;\n }\n"])), function (props) {
514
+ return props.theme.rareStepColors.primary;
515
+ }, function (props) {
516
+ return props.theme.rareStepColors.ntrlMin;
517
+ }, function (props) {
518
+ return props.theme.marginPaddings[1];
519
+ });
520
+ var Overlay = styled.div(_templateObject10$1 || (_templateObject10$1 = _taggedTemplateLiteral(["\n {\n position: fixed;\n top: 0;\n right: 200%;\n width: 20%;\n height: 100%;\n background-color: ", ";\n opacity: 0.5;\n }\n"])), function (props) {
521
+ return props.theme.rareStepColors.ntrl40;
522
+ });
523
+ var CloseIcon$1 = styled.img(_templateObject11$1 || (_templateObject11$1 = _taggedTemplateLiteral(["\n {\n width: 25px;\n height: 25px;\n cursor: pointer;\n }\n"])));
524
+ var SideNavLink = styled.a(_templateObject12$1 || (_templateObject12$1 = _taggedTemplateLiteral(["\n {\n padding: ", ";\n color: ", ";\n text-decoration: none;\n text-align: left;\n display: block;\n width: 100%;\n cursor: pointer;\n }\n"])), function (props) {
525
+ return props.theme.marginPaddings[1];
526
+ }, function (props) {
527
+ return props.theme.rareStepColors.ntrlMin;
528
+ });
529
+ var CloseIconWrapper = styled.div(_templateObject13$1 || (_templateObject13$1 = _taggedTemplateLiteral(["\n {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n }\n"])));
530
+ var SellToUsLink$1 = styled.a(_templateObject14$1 || (_templateObject14$1 = _taggedTemplateLiteral(["\n {\n color: ", ";\n border: 1px solid ", ";\n background-color: transparent;\n text-transform: uppercase;\n font-weight: ", ";\n display: block;\n width: calc(100% - ", ");\n padding: ", ";\n margin: ", ";\n text-align: center;\n text-decoration: none;\n border-radius: 5px;\n letter-spacing: 1px;\n font-style: italic;\n font-size: ", ";\n }\n"])), function (props) {
531
+ return props.theme.rareStepColors.secondary;
532
+ }, function (props) {
533
+ return props.theme.rareStepColors.secondary;
534
+ }, function (props) {
535
+ return props.theme.rareStepFontWeights.bold;
536
+ }, function (props) {
537
+ return props.theme.marginPaddings[2];
538
+ }, function (props) {
539
+ return props.theme.marginPaddings[1];
540
+ }, function (props) {
541
+ return props.theme.marginPaddings[1];
542
+ }, function (props) {
543
+ return props.theme.rareStepFontSize.h5;
544
+ });
545
+ var SubMenuLinkContainer = styled.div(_templateObject15$1 || (_templateObject15$1 = _taggedTemplateLiteral(["\n {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n"])));
546
+ var SubMenuRightIcon = styled.img(_templateObject16$1 || (_templateObject16$1 = _taggedTemplateLiteral(["\n {\n width: 20px;\n height: 20px;\n }\n"])));
547
+ var Hr = styled.hr(_templateObject17$1 || (_templateObject17$1 = _taggedTemplateLiteral(["\n {\n width: 100%;\n color: ", ";\n margin: 0;\n }\n"])), function (props) {
548
+ return props.theme.rareStepColors.ntrlMax;
549
+ });
550
+ var MobileSearchContainer = styled.div(_templateObject18$1 || (_templateObject18$1 = _taggedTemplateLiteral(["\n {\n background-color: ", ";\n\n .header {\n &__icon {\n width: 20px;\n height: 20px;\n }\n\n &__search-container {\n border-top: 1px solid ", ";\n padding-left: 5%;\n padding-right: 5%;\n }\n\n &__search-input {\n width: 100%;\n color: ", ";\n background-color: ", ";\n\n &::placeholder {\n color: ", ";\n }\n }\n }\n }\n"])), function (props) {
551
+ return props.theme.rareStepColors.primary;
552
+ }, function (props) {
553
+ return props.theme.rareStepColors.ntrl50;
554
+ }, function (props) {
555
+ return props.theme.rareStepColors.ntrlMin;
556
+ }, function (props) {
557
+ return props.theme.rareStepColors.primary;
558
+ }, function (props) {
559
+ return props.theme.rareStepColors.ntrlMin;
560
+ });
561
+ var BackButton = styled.button(_templateObject19$1 || (_templateObject19$1 = _taggedTemplateLiteral(["\n {\n background-color: transparent;\n border: none;\n color: ", ";\n margin: 30px 0;\n position: relative;\n\n &:hover {\n cursor: pointer;\n background-color: transparent;\n color: ", ";\n text-decoration: underline;\n }\n }\n"])), function (props) {
562
+ return props.theme.rareStepColors.ntrlMin;
563
+ }, function (props) {
564
+ return props.theme.rareStepColors.ntrlMin;
565
+ });
566
+ var BackIcon = styled.img(_templateObject20$1 || (_templateObject20$1 = _taggedTemplateLiteral(["\n {\n width: 20px;\n height: 20px;\n margin-right: 10px;\n position: absolute;\n top: 0;\n left: 10px;\n }\n"])));
567
+ var BackButtonContent = styled.div(_templateObject21$1 || (_templateObject21$1 = _taggedTemplateLiteral(["\n {\n font-size: ", ";\n text-transform: uppercase;\n color: ", ";\n margin-left: 35px;\n display: inline-block;\n }\n"])), function (props) {
568
+ return props.theme.rareStepFontSize.h5;
569
+ }, function (props) {
570
+ return props.theme.rareStepColors.ntrlMin;
571
+ });
572
+ var SideNavLinksContainer = styled.div(_templateObject22$1 || (_templateObject22$1 = _taggedTemplateLiteral(["\n {\n overflow-y: auto;\n overflow-x: hidden;\n height: 90%;\n padding-bottom: 50px;\n overscroll-behavior: contain;\n }\n"])));
573
+ var MenuSideNavWrapper = styled.div(_templateObject23$1 || (_templateObject23$1 = _taggedTemplateLiteral(["\n {\n .side-nav {\n transition: left 1s ease-in-out;\n\n &--open {\n left: 0;\n }\n\n &--close {\n left: -100%;\n }\n\n &__currency {\n margin: ", " 0 0\n ", ";\n }\n }\n\n .overlay {\n transition: right 1s ease-in-out;\n\n &--open {\n right: 0;\n }\n\n &--close {\n right: 200%;\n }\n }\n }\n"])), function (props) {
574
+ return props.theme.marginPaddings[4];
575
+ }, function (props) {
576
+ return props.theme.marginPaddings[1];
577
+ });
578
+
579
+ var enableBodyScroll = function enableBodyScroll() {
580
+ var _document = document,
581
+ body = _document.body;
582
+ body.style.overflow = '';
583
+ };
584
+ var disableBodyScroll = function disableBodyScroll() {
585
+ var _document2 = document,
586
+ body = _document2.body;
587
+ body.style.overflow = 'hidden';
588
+ };
589
+
590
+ function MenuSideNav(_ref) {
591
+ var closeIconUrl = _ref.closeIconUrl,
592
+ children = _ref.children,
593
+ setShowSideNav = _ref.setShowSideNav,
594
+ isSubMenu = _ref.isSubMenu,
595
+ backIconUrl = _ref.backIconUrl,
596
+ sideNavClassName = _ref.sideNavClassName,
597
+ overlayClassName = _ref.overlayClassName;
598
+
599
+ var handleSideNavClose = function handleSideNavClose() {
600
+ setShowSideNav(false);
601
+ enableBodyScroll();
602
+ };
333
603
 
334
- var HeaderDropdown = function HeaderDropdown(_ref) {
335
- var currentSelectedItem = _ref.currentSelectedItem,
336
- handleShowDropdown = _ref.handleShowDropdown,
337
- handleHideDropdown = _ref.handleHideDropdown;
338
- return /*#__PURE__*/React__default.createElement(Dropdown, {
339
- onMouseOver: handleShowDropdown,
340
- onMouseOut: handleHideDropdown
341
- }, /*#__PURE__*/React__default.createElement(PageContainer, null, /*#__PURE__*/React__default.createElement(DropdownLinks, null, ((currentSelectedItem === null || currentSelectedItem === void 0 ? void 0 : currentSelectedItem.items) || []).map(function (item, index) {
342
- return /*#__PURE__*/React__default.createElement(DropdownLinksList, {
343
- key: index
344
- }, /*#__PURE__*/React__default.createElement(DropdownLink, {
345
- href: item.itemLink
346
- }, capitalizeWords(item.itemName)));
347
- })), /*#__PURE__*/React__default.createElement(DropdownFigure, null, (currentSelectedItem === null || currentSelectedItem === void 0 ? void 0 : currentSelectedItem.brandImageUrl) && /*#__PURE__*/React__default.createElement(DropdownImage, {
348
- src: currentSelectedItem === null || currentSelectedItem === void 0 ? void 0 : currentSelectedItem.brandImageUrl
349
- }))));
604
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(SideNavWrapper, null, /*#__PURE__*/React.createElement(SideNav, {
605
+ className: sideNavClassName
606
+ }, isSubMenu ? /*#__PURE__*/React.createElement(BackButton, {
607
+ onClick: function onClick() {
608
+ return setShowSideNav(false);
609
+ }
610
+ }, /*#__PURE__*/React.createElement(BackIcon, {
611
+ src: backIconUrl
612
+ }), /*#__PURE__*/React.createElement(BackButtonContent, null, "Back to menu")) : /*#__PURE__*/React.createElement(CloseIconWrapper, null, /*#__PURE__*/React.createElement(CloseIcon$1, {
613
+ onClick: handleSideNavClose,
614
+ src: closeIconUrl
615
+ })), /*#__PURE__*/React.createElement(SideNavLinksContainer, null, children)), /*#__PURE__*/React.createElement(Overlay, {
616
+ onClick: handleSideNavClose,
617
+ className: overlayClassName
618
+ })));
619
+ }
620
+
621
+ function SideNavLinks(_ref) {
622
+ var rightArrowIconUrl = _ref.rightArrowIconUrl,
623
+ links = _ref.links,
624
+ setShowSideNavSubMenu = _ref.setShowSideNavSubMenu,
625
+ closeSubMenu = _ref.closeSubMenu,
626
+ setShowSideNav = _ref.setShowSideNav;
627
+
628
+ var handleOnLinkClick = function handleOnLinkClick(link) {
629
+ link.onClick();
630
+ closeSubMenu();
350
631
  };
351
632
 
352
- function Navigation(_ref) {
353
- var dropdownClosedIconUrl = _ref.dropdownClosedIconUrl,
354
- dropdownOpenIconUrl = _ref.dropdownOpenIconUrl,
355
- handleShowDropdown = _ref.handleShowDropdown,
356
- handleHideDropdown = _ref.handleHideDropdown,
357
- currentSelectedItem = _ref.currentSelectedItem,
358
- desktopHeaderLinks = _ref.desktopHeaderLinks;
359
- return /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(NavigationContainer, null, /*#__PURE__*/React__default.createElement(PageContainer, null, /*#__PURE__*/React__default.createElement(NavigationLinks, null, desktopHeaderLinks.left.map(function (link, index) {
360
- return link !== null && link !== void 0 && link.isDropdown ? /*#__PURE__*/React__default.createElement(NavigationLink, {
361
- key: index,
362
- href: link.url,
363
- onMouseOver: function onMouseOver() {
364
- return handleShowDropdown(link);
365
- },
366
- onMouseOut: handleHideDropdown
367
- }, capitalizeWords(link.name), currentSelectedItem.name === link.name ? /*#__PURE__*/React__default.createElement(DropdownNavigatorIcon, {
368
- src: dropdownClosedIconUrl
369
- }) : /*#__PURE__*/React__default.createElement(DropdownNavigatorIcon, {
370
- src: dropdownOpenIconUrl
371
- })) : /*#__PURE__*/React__default.createElement(NavigationLink, {
372
- href: link.url,
373
- key: index
374
- }, capitalizeWords(link.name));
375
- })), /*#__PURE__*/React__default.createElement(NavigationLinks, null, desktopHeaderLinks.right.map(function (link, index) {
376
- return /*#__PURE__*/React__default.createElement(NavigationLink, {
377
- href: link.url,
378
- key: index
379
- }, link.name);
380
- })))));
381
- }
633
+ var handleToRedirectOnItem = function handleToRedirectOnItem(item) {
634
+ item.onClickItem();
635
+ setShowSideNav();
636
+ };
382
637
 
383
- var RareStepDesktopHeader = function RareStepDesktopHeader(_ref) {
384
- var headerLogoImgUrl = _ref.headerLogoImgUrl,
385
- searchIconUrl = _ref.searchIconUrl,
386
- cartIconUrl = _ref.cartIconUrl,
387
- userIconUrl = _ref.userIconUrl,
388
- interestIconUrl = _ref.interestIconUrl,
389
- dropdownClosedIconUrl = _ref.dropdownClosedIconUrl,
390
- dropdownOpenIconUrl = _ref.dropdownOpenIconUrl,
391
- currencyFlagIconUrl = _ref.currencyFlagIconUrl,
392
- closeIconUrl = _ref.closeIconUrl,
393
- navigationSearchIconUrl = _ref.navigationSearchIconUrl,
394
- wordpressSiteUrl = _ref.wordpressSiteUrl,
395
- desktopHeaderLinks = _ref.desktopHeaderLinks,
396
- handleOnAccountClick = _ref.handleOnAccountClick,
397
- handleOnCartClick = _ref.handleOnCartClick,
398
- userIconDropdownContent = _ref.userIconDropdownContent;
399
- var timeoutIdRef = React.useRef(null);
400
-
401
- var _useState = React.useState(false),
402
- _useState2 = _slicedToArray(_useState, 2),
403
- showSearch = _useState2[0],
404
- setShowSearch = _useState2[1];
405
-
406
- var _useState3 = React.useState({}),
407
- _useState4 = _slicedToArray(_useState3, 2),
408
- currentSelectedItem = _useState4[0],
409
- setCurrentSelectedItem = _useState4[1];
410
-
411
- var _useState5 = React.useState(false),
412
- _useState6 = _slicedToArray(_useState5, 2),
413
- isUserIconDropdownContent = _useState6[0],
414
- setIsUserIconDropdownContent = _useState6[1];
415
-
416
- var userDropdownTimeoutIdRef = React.useRef(null);
417
-
418
- var toggleSearch = function toggleSearch() {
419
- setShowSearch(!showSearch);
420
- };
421
-
422
- var _handleShowDropdown = function handleShowDropdown(currentItem) {
423
- clearTimeout(timeoutIdRef.current);
424
-
425
- if (currentItem) {
426
- setCurrentSelectedItem(currentItem);
427
- }
428
- };
429
-
430
- var handleHideDropdown = function handleHideDropdown() {
431
- timeoutIdRef.current = setTimeout(function () {
432
- setCurrentSelectedItem({});
433
- }, 500);
434
- };
435
-
436
- var handleShowUserDropdown = function handleShowUserDropdown() {
437
- clearTimeout(userDropdownTimeoutIdRef.current);
438
- setIsUserIconDropdownContent(true);
439
- };
440
-
441
- var handleHideUserDropdown = function handleHideUserDropdown() {
442
- userDropdownTimeoutIdRef.current = setTimeout(function () {
443
- setIsUserIconDropdownContent(false);
444
- }, 500);
445
- };
446
-
447
- return /*#__PURE__*/React__default.createElement(HeaderWrapper, null, /*#__PURE__*/React__default.createElement(HeaderContainer, null, /*#__PURE__*/React__default.createElement(LogoFigure, null, /*#__PURE__*/React__default.createElement(LogoImage, {
448
- className: "header__logo",
449
- src: headerLogoImgUrl,
638
+ return /*#__PURE__*/React.createElement(Fragment, null, ((links === null || links === void 0 ? void 0 : links.navigationMenus) || []).map(function (item) {
639
+ return /*#__PURE__*/React.createElement(NavigationWrapper, null, item.isButton ? /*#__PURE__*/React.createElement(SellToUsLink$1, {
450
640
  onClick: function onClick() {
451
- window.location.href = wordpressSiteUrl;
641
+ return handleToRedirectOnItem(item);
452
642
  }
453
- })), /*#__PURE__*/React__default.createElement(HeaderIconsContainer, null, /*#__PURE__*/React__default.createElement(SellToUsHR, null), /*#__PURE__*/React__default.createElement(SellToUsLink, {
454
- href: desktopHeaderLinks.button.url
455
- }, desktopHeaderLinks.button.name), /*#__PURE__*/React__default.createElement("div", {
456
- className: "account-icon__wrapper"
457
- }, /*#__PURE__*/React__default.createElement(HeaderIcon, {
458
- src: searchIconUrl,
459
- onClick: toggleSearch
460
- }), interestIconUrl && /*#__PURE__*/React__default.createElement(HeaderIcon, {
461
- src: interestIconUrl
462
- }), userIconUrl && /*#__PURE__*/React__default.createElement(HeaderIcon, {
463
- onMouseOver: handleShowUserDropdown,
464
- onMouseOut: handleHideUserDropdown,
465
- className: "account-icon",
466
- src: userIconUrl,
467
- onClick: handleOnAccountClick
468
- }), /*#__PURE__*/React__default.createElement(HeaderIcon, {
469
- src: cartIconUrl,
470
- onClick: handleOnCartClick
471
- }), isUserIconDropdownContent && userIconDropdownContent && /*#__PURE__*/React__default.createElement("div", {
472
- onFocus: handleShowUserDropdown,
473
- onBlur: handleHideUserDropdown,
474
- onMouseOver: handleShowUserDropdown,
475
- onMouseOut: handleHideUserDropdown,
476
- className: "account-icon__dropdown"
477
- }, userIconDropdownContent)))), /*#__PURE__*/React__default.createElement(Navigation, {
478
- dropdownClosedIconUrl: dropdownClosedIconUrl,
479
- dropdownOpenIconUrl: dropdownOpenIconUrl,
480
- currencyFlagIconUrl: currencyFlagIconUrl,
481
- handleShowDropdown: _handleShowDropdown,
482
- currentSelectedItem: currentSelectedItem,
483
- handleHideDropdown: handleHideDropdown,
484
- desktopHeaderLinks: desktopHeaderLinks
485
- }), showSearch && /*#__PURE__*/React__default.createElement(DropdownSearchContainer, null, /*#__PURE__*/React__default.createElement(Search, {
486
- closeIconUrl: closeIconUrl,
487
- navigationSearchIconUrl: navigationSearchIconUrl,
488
- wordpressSiteUrl: wordpressSiteUrl,
489
- toggleSearch: toggleSearch
490
- })), Object.keys(currentSelectedItem).length !== 0 && /*#__PURE__*/React__default.createElement(HeaderDropdown, {
491
- currentSelectedItem: currentSelectedItem,
492
- handleShowDropdown: function handleShowDropdown() {
493
- return _handleShowDropdown();
643
+ }, item.title) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(NavigationWrapperTitle, {
644
+ style: {
645
+ cursor: item.isLink && 'pointer'
494
646
  },
495
- handleHideDropdown: handleHideDropdown
496
- }));
497
- };
498
-
499
- var RareStepDesktopHeader$1 = themed(RareStepDesktopHeader);
500
-
501
- var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4$1, _templateObject5$1, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1, _templateObject10$1, _templateObject11$1, _templateObject12$1, _templateObject13$1, _templateObject14$1, _templateObject15$1, _templateObject16$1, _templateObject17$1, _templateObject18$1, _templateObject19$1, _templateObject20$1, _templateObject21$1, _templateObject22$1, _templateObject23$1;
502
- var HeaderWrapper$1 = styled__default.div(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n {\n display: flex;\n background-color: ", ";\n position: relative;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: ", " 5%;\n }\n"])), function (props) {
503
- return props.theme.rareStepColors.ntrlMin;
504
- }, function (props) {
505
- return props.theme.marginPaddings[3];
506
- });
507
- var Icon = styled__default.img(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\n {\n width: 30px;\n height: 30px;\n cursor: pointer;\n }\n"])));
508
- var Logo = styled__default.img(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral(["\n {\n width: 140px;\n height: auto;\n margin-left: 30px;\n cursor: pointer;\n }\n"])));
509
- var IconWrapper = styled__default.div(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral(["\n {\n display: flex;\n width: auto;\n height: 25px;\n\n .search-icon,\n .cart-icon {\n width: 100%;\n height: 100%;\n }\n\n .cart-icon {\n margin-left: 10px;\n }\n }\n"])));
510
- var NavigationWrapper = styled__default.div(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n padding: ", ";\n"])), function (props) {
511
- return props.theme.marginPaddings[1];
512
- });
513
- var NavigationWrapperTitle = styled__default.div(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n font-size: 16px;\n"])));
514
- var NavigationWrapperItem = styled__default.div(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral(["\n padding: 10px 0px 0px 20px;\n font-size: 14px;\n cursor: pointer;\n"])));
515
- var SideNavWrapper = styled__default.div(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteral(["\n {\n position: relative;\n overflow: hidden;\n\n .side-nav-link--bottom {\n font-size: ", ";\n }\n }\n"])), function (props) {
516
- return props.theme.rareStepFontSize.h6;
517
- });
518
- var SideNav = styled__default.div(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteral(["\n {\n position: fixed;\n top: 0;\n left: -100%;\n width: 80%;\n height: 100%;\n background-color: ", ";\n color: ", ";\n padding: ", ";\n z-index: 9;\n }\n"])), function (props) {
519
- return props.theme.rareStepColors.primary;
520
- }, function (props) {
521
- return props.theme.rareStepColors.ntrlMin;
522
- }, function (props) {
523
- return props.theme.marginPaddings[1];
524
- });
525
- var Overlay = styled__default.div(_templateObject10$1 || (_templateObject10$1 = _taggedTemplateLiteral(["\n {\n position: fixed;\n top: 0;\n right: 200%;\n width: 20%;\n height: 100%;\n background-color: ", ";\n opacity: 0.5;\n }\n"])), function (props) {
526
- return props.theme.rareStepColors.ntrl40;
527
- });
528
- var CloseIcon$1 = styled__default.img(_templateObject11$1 || (_templateObject11$1 = _taggedTemplateLiteral(["\n {\n width: 25px;\n height: 25px;\n cursor: pointer;\n }\n"])));
529
- var SideNavLink = styled__default.a(_templateObject12$1 || (_templateObject12$1 = _taggedTemplateLiteral(["\n {\n padding: ", ";\n color: ", ";\n text-decoration: none;\n text-align: left;\n display: block;\n width: 100%;\n cursor: pointer;\n }\n"])), function (props) {
530
- return props.theme.marginPaddings[1];
531
- }, function (props) {
532
- return props.theme.rareStepColors.ntrlMin;
533
- });
534
- var CloseIconWrapper = styled__default.div(_templateObject13$1 || (_templateObject13$1 = _taggedTemplateLiteral(["\n {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n }\n"])));
535
- var SellToUsLink$1 = styled__default.a(_templateObject14$1 || (_templateObject14$1 = _taggedTemplateLiteral(["\n {\n color: ", ";\n border: 1px solid ", ";\n background-color: transparent;\n text-transform: uppercase;\n font-weight: ", ";\n display: block;\n width: calc(100% - ", ");\n padding: ", ";\n margin: ", ";\n text-align: center;\n text-decoration: none;\n border-radius: 5px;\n letter-spacing: 1px;\n font-style: italic;\n font-size: ", ";\n }\n"])), function (props) {
536
- return props.theme.rareStepColors.secondary;
537
- }, function (props) {
538
- return props.theme.rareStepColors.secondary;
539
- }, function (props) {
540
- return props.theme.rareStepFontWeights.bold;
541
- }, function (props) {
542
- return props.theme.marginPaddings[2];
543
- }, function (props) {
544
- return props.theme.marginPaddings[1];
545
- }, function (props) {
546
- return props.theme.marginPaddings[1];
547
- }, function (props) {
548
- return props.theme.rareStepFontSize.h5;
549
- });
550
- var SubMenuLinkContainer = styled__default.div(_templateObject15$1 || (_templateObject15$1 = _taggedTemplateLiteral(["\n {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n"])));
551
- var SubMenuRightIcon = styled__default.img(_templateObject16$1 || (_templateObject16$1 = _taggedTemplateLiteral(["\n {\n width: 20px;\n height: 20px;\n }\n"])));
552
- var Hr = styled__default.hr(_templateObject17$1 || (_templateObject17$1 = _taggedTemplateLiteral(["\n {\n width: 100%;\n color: ", ";\n margin: 0;\n }\n"])), function (props) {
553
- return props.theme.rareStepColors.ntrlMax;
554
- });
555
- var MobileSearchContainer = styled__default.div(_templateObject18$1 || (_templateObject18$1 = _taggedTemplateLiteral(["\n {\n background-color: ", ";\n\n .header {\n &__icon {\n width: 20px;\n height: 20px;\n }\n\n &__search-container {\n border-top: 1px solid ", ";\n padding-left: 5%;\n padding-right: 5%;\n }\n\n &__search-input {\n width: 100%;\n color: ", ";\n background-color: ", ";\n\n &::placeholder {\n color: ", ";\n }\n }\n }\n }\n"])), function (props) {
556
- return props.theme.rareStepColors.primary;
557
- }, function (props) {
558
- return props.theme.rareStepColors.ntrl50;
559
- }, function (props) {
560
- return props.theme.rareStepColors.ntrlMin;
561
- }, function (props) {
562
- return props.theme.rareStepColors.primary;
563
- }, function (props) {
564
- return props.theme.rareStepColors.ntrlMin;
565
- });
566
- var BackButton = styled__default.button(_templateObject19$1 || (_templateObject19$1 = _taggedTemplateLiteral(["\n {\n background-color: transparent;\n border: none;\n color: ", ";\n margin: 30px 0;\n position: relative;\n\n &:hover {\n cursor: pointer;\n background-color: transparent;\n color: ", ";\n text-decoration: underline;\n }\n }\n"])), function (props) {
567
- return props.theme.rareStepColors.ntrlMin;
568
- }, function (props) {
569
- return props.theme.rareStepColors.ntrlMin;
570
- });
571
- var BackIcon = styled__default.img(_templateObject20$1 || (_templateObject20$1 = _taggedTemplateLiteral(["\n {\n width: 20px;\n height: 20px;\n margin-right: 10px;\n position: absolute;\n top: 0;\n left: 10px;\n }\n"])));
572
- var BackButtonContent = styled__default.div(_templateObject21$1 || (_templateObject21$1 = _taggedTemplateLiteral(["\n {\n font-size: ", ";\n text-transform: uppercase;\n color: ", ";\n margin-left: 35px;\n display: inline-block;\n }\n"])), function (props) {
573
- return props.theme.rareStepFontSize.h5;
574
- }, function (props) {
575
- return props.theme.rareStepColors.ntrlMin;
576
- });
577
- var SideNavLinksContainer = styled__default.div(_templateObject22$1 || (_templateObject22$1 = _taggedTemplateLiteral(["\n {\n overflow-y: auto;\n overflow-x: hidden;\n height: 90%;\n padding-bottom: 50px;\n overscroll-behavior: contain;\n }\n"])));
578
- var MenuSideNavWrapper = styled__default.div(_templateObject23$1 || (_templateObject23$1 = _taggedTemplateLiteral(["\n {\n .side-nav {\n transition: left 1s ease-in-out;\n\n &--open {\n left: 0;\n }\n\n &--close {\n left: -100%;\n }\n\n &__currency {\n margin: ", " 0 0\n ", ";\n }\n }\n\n .overlay {\n transition: right 1s ease-in-out;\n\n &--open {\n right: 0;\n }\n\n &--close {\n right: 200%;\n }\n }\n }\n"])), function (props) {
579
- return props.theme.marginPaddings[4];
580
- }, function (props) {
581
- return props.theme.marginPaddings[1];
582
- });
583
-
584
- var enableBodyScroll = function enableBodyScroll() {
585
- var _document = document,
586
- body = _document.body;
587
- body.style.overflow = '';
588
- };
589
- var disableBodyScroll = function disableBodyScroll() {
590
- var _document2 = document,
591
- body = _document2.body;
592
- body.style.overflow = 'hidden';
593
- };
594
-
595
- function MenuSideNav(_ref) {
596
- var closeIconUrl = _ref.closeIconUrl,
597
- children = _ref.children,
598
- setShowSideNav = _ref.setShowSideNav,
599
- isSubMenu = _ref.isSubMenu,
600
- backIconUrl = _ref.backIconUrl,
601
- sideNavClassName = _ref.sideNavClassName,
602
- overlayClassName = _ref.overlayClassName;
603
-
604
- var handleSideNavClose = function handleSideNavClose() {
605
- setShowSideNav(false);
606
- enableBodyScroll();
607
- };
608
-
609
- return /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(SideNavWrapper, null, /*#__PURE__*/React__default.createElement(SideNav, {
610
- className: sideNavClassName
611
- }, isSubMenu ? /*#__PURE__*/React__default.createElement(BackButton, {
612
647
  onClick: function onClick() {
613
- return setShowSideNav(false);
648
+ return item.isLink && handleToRedirectOnItem(item);
614
649
  }
615
- }, /*#__PURE__*/React__default.createElement(BackIcon, {
616
- src: backIconUrl
617
- }), /*#__PURE__*/React__default.createElement(BackButtonContent, null, "Back to menu")) : /*#__PURE__*/React__default.createElement(CloseIconWrapper, null, /*#__PURE__*/React__default.createElement(CloseIcon$1, {
618
- onClick: handleSideNavClose,
619
- src: closeIconUrl
620
- })), /*#__PURE__*/React__default.createElement(SideNavLinksContainer, null, children)), /*#__PURE__*/React__default.createElement(Overlay, {
621
- onClick: handleSideNavClose,
622
- className: overlayClassName
623
- })));
624
- }
625
-
626
- function SideNavLinks(_ref) {
627
- var rightArrowIconUrl = _ref.rightArrowIconUrl,
628
- links = _ref.links,
629
- setShowSideNavSubMenu = _ref.setShowSideNavSubMenu,
630
- closeSubMenu = _ref.closeSubMenu,
631
- setShowSideNav = _ref.setShowSideNav;
632
-
633
- var handleOnLinkClick = function handleOnLinkClick(link) {
634
- link.onClick();
635
- closeSubMenu();
636
- };
637
-
638
- var handleToRedirectOnItem = function handleToRedirectOnItem(item) {
639
- item.onClickItem();
640
- setShowSideNav();
641
- };
642
-
643
- return /*#__PURE__*/React__default.createElement(React.Fragment, null, ((links === null || links === void 0 ? void 0 : links.navigationMenus) || []).map(function (item) {
644
- return /*#__PURE__*/React__default.createElement(NavigationWrapper, null, item.isButton ? /*#__PURE__*/React__default.createElement(SellToUsLink$1, {
645
- onClick: function onClick() {
646
- return handleToRedirectOnItem(item);
647
- }
648
- }, item.title) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(NavigationWrapperTitle, {
649
- style: {
650
- cursor: item.isLink && 'pointer'
651
- },
650
+ }, item.title), item.items.map(function (subItems) {
651
+ return subItems.isMobile && /*#__PURE__*/React.createElement(NavigationWrapperItem, {
652
652
  onClick: function onClick() {
653
- return item.isLink && handleToRedirectOnItem(item);
653
+ return handleToRedirectOnItem(subItems);
654
654
  }
655
- }, item.title), item.items.map(function (subItems) {
656
- return subItems.isMobile && /*#__PURE__*/React__default.createElement(NavigationWrapperItem, {
657
- onClick: function onClick() {
658
- return handleToRedirectOnItem(subItems);
659
- }
660
- }, subItems.name);
661
- })));
662
- }), links.top.map(function (link, index) {
663
- return link !== null && link !== void 0 && link.isSubMenu ? /*#__PURE__*/React__default.createElement(SubMenuLinkContainer, {
664
- onClick: function onClick() {
665
- return setShowSideNavSubMenu(true);
666
- },
667
- key: index
668
- }, /*#__PURE__*/React__default.createElement(SideNavLink, null, capitalizeWords(link.name)), /*#__PURE__*/React__default.createElement(SubMenuRightIcon, {
669
- src: rightArrowIconUrl
670
- })) : /*#__PURE__*/React__default.createElement(SideNavLink, {
671
- key: index,
672
- href: link.url
673
- }, capitalizeWords(link.name));
674
- }), links.button && /*#__PURE__*/React__default.createElement(SellToUsLink$1, {
675
- href: links.button.url
676
- }, links.button.name), links.bottom.map(function (link, index) {
677
- return /*#__PURE__*/React__default.createElement(SideNavLink, {
678
- key: index,
679
- href: link.url,
680
- className: "side-nav-link--bottom",
681
- onClick: link !== null && link !== void 0 && link.isButton ? function () {
682
- return handleOnLinkClick(link);
683
- } : null
684
- }, capitalizeWords(link.name));
685
- }));
686
- }
687
-
688
- function SideNavSubMenuLinks(_ref) {
689
- var links = _ref.links;
690
- return /*#__PURE__*/React__default.createElement(React.Fragment, null, links.subMenuLinks.map(function (link, index) {
691
- return /*#__PURE__*/React__default.createElement(SideNavLink, {
692
- key: index,
693
- href: link.url
694
- }, capitalizeWords(link.name));
695
- }));
696
- }
697
-
698
- function RareStepMobileHeader(_ref) {
699
- var headerLogoImgUrl = _ref.headerLogoImgUrl,
700
- searchIconUrl = _ref.searchIconUrl,
701
- menuIconUrl = _ref.menuIconUrl,
702
- cartIconUrl = _ref.cartIconUrl,
703
- closeIconUrl = _ref.closeIconUrl,
704
- mobileHeaderLinks = _ref.mobileHeaderLinks,
705
- rightArrowIconUrl = _ref.rightArrowIconUrl,
706
- navigationSearchIconUrl = _ref.navigationSearchIconUrl,
707
- wordpressSiteUrl = _ref.wordpressSiteUrl,
708
- backIconUrl = _ref.backIconUrl,
709
- currencyFlagIconUrl = _ref.currencyFlagIconUrl,
710
- handleOnCartClick = _ref.handleOnCartClick;
711
-
712
- var _useState = React.useState(false),
713
- _useState2 = _slicedToArray(_useState, 2),
714
- showSideNav = _useState2[0],
715
- setShowSideNav = _useState2[1];
716
-
717
- var _useState3 = React.useState(false),
718
- _useState4 = _slicedToArray(_useState3, 2),
719
- showSideNavSubMenu = _useState4[0],
720
- setShowSideNavSubMenu = _useState4[1];
721
-
722
- var _useState5 = React.useState(false),
723
- _useState6 = _slicedToArray(_useState5, 2),
724
- showSearch = _useState6[0],
725
- setShowSearch = _useState6[1];
726
-
727
- var toggleSearch = function toggleSearch() {
728
- setShowSearch(!showSearch);
729
- };
730
-
731
- var closeSubMenu = function closeSubMenu() {
732
- setShowSideNav(false);
733
- enableBodyScroll();
734
- };
735
-
736
- return /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(HeaderWrapper$1, null, /*#__PURE__*/React__default.createElement(Icon, {
655
+ }, subItems.name);
656
+ })));
657
+ }), links.top.map(function (link, index) {
658
+ return link !== null && link !== void 0 && link.isSubMenu ? /*#__PURE__*/React.createElement(SubMenuLinkContainer, {
737
659
  onClick: function onClick() {
738
- disableBodyScroll();
739
- setShowSideNav(true);
660
+ return setShowSideNavSubMenu(true);
740
661
  },
741
- src: menuIconUrl
742
- }), /*#__PURE__*/React__default.createElement(Logo, {
743
- src: headerLogoImgUrl,
744
- onClick: function onClick() {
745
- window.location.href = wordpressSiteUrl;
746
- }
747
- }), /*#__PURE__*/React__default.createElement(IconWrapper, null, /*#__PURE__*/React__default.createElement(Icon, {
748
- className: "search-icon",
749
- src: searchIconUrl,
750
- onClick: toggleSearch
751
- }), /*#__PURE__*/React__default.createElement(Icon, {
752
- className: "cart-icon",
753
- src: cartIconUrl,
754
- onClick: handleOnCartClick
755
- }))), showSearch && /*#__PURE__*/React__default.createElement(MobileSearchContainer, null, /*#__PURE__*/React__default.createElement(Search, {
756
- closeIconUrl: closeIconUrl,
757
- navigationSearchIconUrl: navigationSearchIconUrl,
758
- wordpressSiteUrl: wordpressSiteUrl,
759
- toggleSearch: toggleSearch
760
- })), /*#__PURE__*/React__default.createElement(Hr, null), /*#__PURE__*/React__default.createElement(MenuSideNavWrapper, null, /*#__PURE__*/React__default.createElement(MenuSideNav, {
761
- sideNavClassName: "side-nav side-nav--".concat(showSideNav ? 'open' : 'close'),
762
- overlayClassName: "overlay overlay--".concat(showSideNav ? 'open' : 'close'),
763
- closeIconUrl: closeIconUrl,
764
- backIconUrl: backIconUrl,
765
- isSubMenu: false,
766
- setShowSideNav: setShowSideNav
767
- }, /*#__PURE__*/React__default.createElement(SideNavLinks, {
768
- rightArrowIconUrl: rightArrowIconUrl,
769
- links: mobileHeaderLinks,
770
- setShowSideNavSubMenu: setShowSideNavSubMenu,
771
- currencyFlagIconUrl: currencyFlagIconUrl,
772
- closeSubMenu: closeSubMenu,
773
- setShowSideNav: setShowSideNav
774
- }))), /*#__PURE__*/React__default.createElement(MenuSideNavWrapper, null, /*#__PURE__*/React__default.createElement(MenuSideNav, {
775
- sideNavClassName: "side-nav side-nav--".concat(showSideNavSubMenu ? 'open' : 'close'),
776
- overlayClassName: "overlay overlay--".concat(showSideNavSubMenu ? 'open' : 'close'),
777
- closeIconUrl: closeIconUrl,
778
- backIconUrl: backIconUrl,
779
- isSubMenu: true,
780
- setShowSideNav: setShowSideNavSubMenu
781
- }, /*#__PURE__*/React__default.createElement(SideNavSubMenuLinks, {
782
- links: mobileHeaderLinks
783
- }))));
784
- }
785
-
786
- /** RareStep header component */
787
-
788
- var RareStepHeader = function RareStepHeader(_ref) {
789
- var headerLogoImgUrl = _ref.headerLogoImgUrl,
790
- searchIconUrl = _ref.searchIconUrl,
791
- cartIconUrl = _ref.cartIconUrl,
792
- userIconUrl = _ref.userIconUrl,
793
- interestIconUrl = _ref.interestIconUrl,
794
- dropdownClosedIconUrl = _ref.dropdownClosedIconUrl,
795
- dropdownOpenIconUrl = _ref.dropdownOpenIconUrl,
796
- currencyFlagIconUrl = _ref.currencyFlagIconUrl,
797
- closeIconUrl = _ref.closeIconUrl,
798
- navigationSearchIconUrl = _ref.navigationSearchIconUrl,
799
- wordpressSiteUrl = _ref.wordpressSiteUrl,
800
- desktopHeaderWrapperClass = _ref.desktopHeaderWrapperClass,
801
- menuIconUrl = _ref.menuIconUrl,
802
- mobileHeaderWrapperClass = _ref.mobileHeaderWrapperClass,
803
- rightArrowIconUrl = _ref.rightArrowIconUrl,
804
- desktopHeaderLinks = _ref.desktopHeaderLinks,
805
- mobileHeaderLinks = _ref.mobileHeaderLinks,
806
- mobileCloseIconUrl = _ref.mobileCloseIconUrl,
807
- handleOnAccountClick = _ref.handleOnAccountClick,
808
- backIconUrl = _ref.backIconUrl,
809
- handleOnCartClick = _ref.handleOnCartClick,
810
- userIconDropdownContent = _ref.userIconDropdownContent;
811
- return /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
812
- className: desktopHeaderWrapperClass
813
- }, /*#__PURE__*/React__default.createElement(RareStepDesktopHeader$1, {
814
- headerLogoImgUrl: headerLogoImgUrl,
815
- searchIconUrl: searchIconUrl,
816
- cartIconUrl: cartIconUrl,
817
- userIconUrl: userIconUrl,
818
- interestIconUrl: interestIconUrl,
819
- dropdownClosedIconUrl: dropdownClosedIconUrl,
820
- dropdownOpenIconUrl: dropdownOpenIconUrl,
821
- currencyFlagIconUrl: currencyFlagIconUrl,
822
- closeIconUrl: closeIconUrl,
823
- navigationSearchIconUrl: navigationSearchIconUrl,
824
- wordpressSiteUrl: wordpressSiteUrl,
825
- desktopHeaderLinks: desktopHeaderLinks,
826
- handleOnAccountClick: handleOnAccountClick,
827
- handleOnCartClick: handleOnCartClick,
828
- userIconDropdownContent: userIconDropdownContent
829
- })), /*#__PURE__*/React__default.createElement("div", {
830
- className: mobileHeaderWrapperClass
831
- }, /*#__PURE__*/React__default.createElement(RareStepMobileHeader, {
832
- menuIconUrl: menuIconUrl,
833
- headerLogoImgUrl: headerLogoImgUrl,
834
- searchIconUrl: searchIconUrl,
835
- cartIconUrl: cartIconUrl,
836
- closeIconUrl: closeIconUrl,
837
- rightArrowIconUrl: rightArrowIconUrl,
838
- mobileHeaderLinks: mobileHeaderLinks,
839
- navigationSearchIconUrl: navigationSearchIconUrl,
840
- mobileCloseIconUrl: mobileCloseIconUrl,
841
- wordpressSiteUrl: wordpressSiteUrl,
842
- backIconUrl: backIconUrl,
843
- currencyFlagIconUrl: currencyFlagIconUrl,
844
- handleOnCartClick: handleOnCartClick
845
- })));
662
+ key: index
663
+ }, /*#__PURE__*/React.createElement(SideNavLink, null, capitalizeWords(link.name)), /*#__PURE__*/React.createElement(SubMenuRightIcon, {
664
+ src: rightArrowIconUrl
665
+ })) : /*#__PURE__*/React.createElement(SideNavLink, {
666
+ key: index,
667
+ href: link.url
668
+ }, capitalizeWords(link.name));
669
+ }), links.button && /*#__PURE__*/React.createElement(SellToUsLink$1, {
670
+ href: links.button.url
671
+ }, links.button.name), links.bottom.map(function (link, index) {
672
+ return /*#__PURE__*/React.createElement(SideNavLink, {
673
+ key: index,
674
+ href: link.url,
675
+ className: "side-nav-link--bottom",
676
+ onClick: link !== null && link !== void 0 && link.isButton ? function () {
677
+ return handleOnLinkClick(link);
678
+ } : null
679
+ }, capitalizeWords(link.name));
680
+ }));
681
+ }
682
+
683
+ function SideNavSubMenuLinks(_ref) {
684
+ var links = _ref.links;
685
+ return /*#__PURE__*/React.createElement(Fragment, null, links.subMenuLinks.map(function (link, index) {
686
+ return /*#__PURE__*/React.createElement(SideNavLink, {
687
+ key: index,
688
+ href: link.url
689
+ }, capitalizeWords(link.name));
690
+ }));
691
+ }
692
+
693
+ function RareStepMobileHeader(_ref) {
694
+ var headerLogoImgUrl = _ref.headerLogoImgUrl,
695
+ searchIconUrl = _ref.searchIconUrl,
696
+ menuIconUrl = _ref.menuIconUrl,
697
+ cartIconUrl = _ref.cartIconUrl,
698
+ closeIconUrl = _ref.closeIconUrl,
699
+ mobileHeaderLinks = _ref.mobileHeaderLinks,
700
+ rightArrowIconUrl = _ref.rightArrowIconUrl,
701
+ navigationSearchIconUrl = _ref.navigationSearchIconUrl,
702
+ wordpressSiteUrl = _ref.wordpressSiteUrl,
703
+ backIconUrl = _ref.backIconUrl,
704
+ currencyFlagIconUrl = _ref.currencyFlagIconUrl,
705
+ handleOnCartClick = _ref.handleOnCartClick;
706
+
707
+ var _useState = useState(false),
708
+ _useState2 = _slicedToArray(_useState, 2),
709
+ showSideNav = _useState2[0],
710
+ setShowSideNav = _useState2[1];
711
+
712
+ var _useState3 = useState(false),
713
+ _useState4 = _slicedToArray(_useState3, 2),
714
+ showSideNavSubMenu = _useState4[0],
715
+ setShowSideNavSubMenu = _useState4[1];
716
+
717
+ var _useState5 = useState(false),
718
+ _useState6 = _slicedToArray(_useState5, 2),
719
+ showSearch = _useState6[0],
720
+ setShowSearch = _useState6[1];
721
+
722
+ var toggleSearch = function toggleSearch() {
723
+ setShowSearch(!showSearch);
846
724
  };
847
725
 
848
- RareStepHeader.defaultProps = {
849
- userIconDropdownContent: null
726
+ var closeSubMenu = function closeSubMenu() {
727
+ setShowSideNav(false);
728
+ enableBodyScroll();
850
729
  };
851
- var index = themed(RareStepHeader);
852
730
 
853
- return index;
854
-
855
- })));
731
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(HeaderWrapper$1, null, /*#__PURE__*/React.createElement(Icon, {
732
+ onClick: function onClick() {
733
+ disableBodyScroll();
734
+ setShowSideNav(true);
735
+ },
736
+ src: menuIconUrl
737
+ }), /*#__PURE__*/React.createElement(Logo, {
738
+ src: headerLogoImgUrl,
739
+ onClick: function onClick() {
740
+ window.location.href = wordpressSiteUrl;
741
+ }
742
+ }), /*#__PURE__*/React.createElement(IconWrapper, null, /*#__PURE__*/React.createElement(Icon, {
743
+ className: "search-icon",
744
+ src: searchIconUrl,
745
+ onClick: toggleSearch
746
+ }), /*#__PURE__*/React.createElement(Icon, {
747
+ className: "cart-icon",
748
+ src: cartIconUrl,
749
+ onClick: handleOnCartClick
750
+ }))), showSearch && /*#__PURE__*/React.createElement(MobileSearchContainer, null, /*#__PURE__*/React.createElement(Search, {
751
+ closeIconUrl: closeIconUrl,
752
+ navigationSearchIconUrl: navigationSearchIconUrl,
753
+ wordpressSiteUrl: wordpressSiteUrl,
754
+ toggleSearch: toggleSearch
755
+ })), /*#__PURE__*/React.createElement(Hr, null), /*#__PURE__*/React.createElement(MenuSideNavWrapper, null, /*#__PURE__*/React.createElement(MenuSideNav, {
756
+ sideNavClassName: "side-nav side-nav--".concat(showSideNav ? 'open' : 'close'),
757
+ overlayClassName: "overlay overlay--".concat(showSideNav ? 'open' : 'close'),
758
+ closeIconUrl: closeIconUrl,
759
+ backIconUrl: backIconUrl,
760
+ isSubMenu: false,
761
+ setShowSideNav: setShowSideNav
762
+ }, /*#__PURE__*/React.createElement(SideNavLinks, {
763
+ rightArrowIconUrl: rightArrowIconUrl,
764
+ links: mobileHeaderLinks,
765
+ setShowSideNavSubMenu: setShowSideNavSubMenu,
766
+ currencyFlagIconUrl: currencyFlagIconUrl,
767
+ closeSubMenu: closeSubMenu,
768
+ setShowSideNav: setShowSideNav
769
+ }))), /*#__PURE__*/React.createElement(MenuSideNavWrapper, null, /*#__PURE__*/React.createElement(MenuSideNav, {
770
+ sideNavClassName: "side-nav side-nav--".concat(showSideNavSubMenu ? 'open' : 'close'),
771
+ overlayClassName: "overlay overlay--".concat(showSideNavSubMenu ? 'open' : 'close'),
772
+ closeIconUrl: closeIconUrl,
773
+ backIconUrl: backIconUrl,
774
+ isSubMenu: true,
775
+ setShowSideNav: setShowSideNavSubMenu
776
+ }, /*#__PURE__*/React.createElement(SideNavSubMenuLinks, {
777
+ links: mobileHeaderLinks
778
+ }))));
779
+ }
780
+
781
+ /** RareStep header component */
782
+
783
+ var RareStepHeader = function RareStepHeader(_ref) {
784
+ var headerLogoImgUrl = _ref.headerLogoImgUrl,
785
+ searchIconUrl = _ref.searchIconUrl,
786
+ cartIconUrl = _ref.cartIconUrl,
787
+ userIconUrl = _ref.userIconUrl,
788
+ interestIconUrl = _ref.interestIconUrl,
789
+ dropdownClosedIconUrl = _ref.dropdownClosedIconUrl,
790
+ dropdownOpenIconUrl = _ref.dropdownOpenIconUrl,
791
+ currencyFlagIconUrl = _ref.currencyFlagIconUrl,
792
+ closeIconUrl = _ref.closeIconUrl,
793
+ navigationSearchIconUrl = _ref.navigationSearchIconUrl,
794
+ wordpressSiteUrl = _ref.wordpressSiteUrl,
795
+ desktopHeaderWrapperClass = _ref.desktopHeaderWrapperClass,
796
+ menuIconUrl = _ref.menuIconUrl,
797
+ mobileHeaderWrapperClass = _ref.mobileHeaderWrapperClass,
798
+ rightArrowIconUrl = _ref.rightArrowIconUrl,
799
+ desktopHeaderLinks = _ref.desktopHeaderLinks,
800
+ mobileHeaderLinks = _ref.mobileHeaderLinks,
801
+ mobileCloseIconUrl = _ref.mobileCloseIconUrl,
802
+ handleOnAccountClick = _ref.handleOnAccountClick,
803
+ backIconUrl = _ref.backIconUrl,
804
+ handleOnCartClick = _ref.handleOnCartClick,
805
+ userIconDropdownContent = _ref.userIconDropdownContent;
806
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div", {
807
+ className: desktopHeaderWrapperClass
808
+ }, /*#__PURE__*/React.createElement(RareStepDesktopHeader$1, {
809
+ headerLogoImgUrl: headerLogoImgUrl,
810
+ searchIconUrl: searchIconUrl,
811
+ cartIconUrl: cartIconUrl,
812
+ userIconUrl: userIconUrl,
813
+ interestIconUrl: interestIconUrl,
814
+ dropdownClosedIconUrl: dropdownClosedIconUrl,
815
+ dropdownOpenIconUrl: dropdownOpenIconUrl,
816
+ currencyFlagIconUrl: currencyFlagIconUrl,
817
+ closeIconUrl: closeIconUrl,
818
+ navigationSearchIconUrl: navigationSearchIconUrl,
819
+ wordpressSiteUrl: wordpressSiteUrl,
820
+ desktopHeaderLinks: desktopHeaderLinks,
821
+ handleOnAccountClick: handleOnAccountClick,
822
+ handleOnCartClick: handleOnCartClick,
823
+ userIconDropdownContent: userIconDropdownContent
824
+ })), /*#__PURE__*/React.createElement("div", {
825
+ className: mobileHeaderWrapperClass
826
+ }, /*#__PURE__*/React.createElement(RareStepMobileHeader, {
827
+ menuIconUrl: menuIconUrl,
828
+ headerLogoImgUrl: headerLogoImgUrl,
829
+ searchIconUrl: searchIconUrl,
830
+ cartIconUrl: cartIconUrl,
831
+ closeIconUrl: closeIconUrl,
832
+ rightArrowIconUrl: rightArrowIconUrl,
833
+ mobileHeaderLinks: mobileHeaderLinks,
834
+ navigationSearchIconUrl: navigationSearchIconUrl,
835
+ mobileCloseIconUrl: mobileCloseIconUrl,
836
+ wordpressSiteUrl: wordpressSiteUrl,
837
+ backIconUrl: backIconUrl,
838
+ currencyFlagIconUrl: currencyFlagIconUrl,
839
+ handleOnCartClick: handleOnCartClick
840
+ })));
841
+ };
842
+
843
+ RareStepHeader.defaultProps = {
844
+ userIconDropdownContent: null
845
+ };
846
+ var index = themed(RareStepHeader);
847
+
848
+ export default index;