@bonlineza/luxity-lib 2.10.0 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -27,6 +27,10 @@
27
27
  - CheckBoxButton
28
28
  - GenderSelector
29
29
  - LuxityLoader
30
+ - GraphQLDropdownSelector
31
+ - LuxityGraphQLDropdownSelector
32
+ - MaterialSelector
33
+ - ModelSelector
30
34
 
31
35
  ## Elements (simple Styled Components)
32
36
  - Buttons
@@ -0,0 +1,194 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('styled-components')) :
3
+ typeof define === 'function' && define.amd ? define(['react', 'styled-components'], factory) :
4
+ (global = global || self, global.RareStepFooter = factory(global.React, global.styled));
5
+ }(this, (function (React, 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
+ }
19
+ }
20
+ }
21
+
22
+ return target;
23
+ };
24
+ return _extends.apply(this, arguments);
25
+ }
26
+
27
+ function _taggedTemplateLiteral(strings, raw) {
28
+ if (!raw) {
29
+ raw = strings.slice(0);
30
+ }
31
+
32
+ return Object.freeze(Object.defineProperties(strings, {
33
+ raw: {
34
+ value: Object.freeze(raw)
35
+ }
36
+ }));
37
+ }
38
+
39
+ var theme = {
40
+ breakpoints: ['40em', '52em', '64em'],
41
+ space: ['0px', '4px', '8px', '16px', '32px', '64px', '128px', '256px', '512px'],
42
+ fontSizes: ['12px', '14px', '16px', '20px', '24px', '32px', '48px', '64px', '72px'],
43
+ marginPaddings: ['0.5rem', '1rem', '1.5rem', '2rem', '2.5rem', '3rem', '3.5rem', '4rem', '4.5rem', '5rem', '5.5rem', '6rem'],
44
+ letterSpacings: ['-0.5px', '0px', '+0.5px'],
45
+ radii: ['0px', '2px', '4px', '8px'],
46
+ borderRadius: '6px',
47
+ colors: {
48
+ primary: '#000',
49
+ base: '#4e4949',
50
+ baseLt: '#817c7c',
51
+ borderColor: '#d8d8d8',
52
+ ntrlMin: '#fff',
53
+ ntrlMinTen: '#e6e6e6',
54
+ gray: '#efefef',
55
+ darkerGray: '#454141'
56
+ },
57
+ rareStepColors: {
58
+ primary: '#202b58',
59
+ secondary: '#ef5c2d',
60
+ ntrlMin: '#ffffff',
61
+ ntrl40: '#f4f4f4',
62
+ ntrl50: '#808080',
63
+ ntrl60: '#e8e8e8',
64
+ ntrl70: '#252525',
65
+ ntrlMax: '#000000'
66
+ },
67
+ rareStepFontWeights: {
68
+ normal: 400,
69
+ medium: 500,
70
+ semiBold: 600,
71
+ bold: 700
72
+ },
73
+ rareStepFontSize: {
74
+ h1: '36px',
75
+ h2: '30px',
76
+ h3: '24px',
77
+ h4: '20px',
78
+ h5: '16px',
79
+ h6: '14px',
80
+ footerTitle: '18px'
81
+ }
82
+ };
83
+
84
+ var themed = (function (Component) {
85
+ return /*#__PURE__*/React.forwardRef(function (props, ref) {
86
+ return /*#__PURE__*/React__default.createElement(styled.ThemeProvider, {
87
+ theme: theme
88
+ }, /*#__PURE__*/React__default.createElement(Component, _extends({}, props, {
89
+ ref: ref
90
+ })));
91
+ });
92
+ });
93
+
94
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
95
+ var FooterWrapper = styled__default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n {\n display: flex;\n background-color: ", ";\n font-weight: ", ";\n padding: ", ";\n font-size: ", ";\n }\n"])), function (props) {
96
+ return props.theme.rareStepColors.ntrlMax;
97
+ }, function (props) {
98
+ return props.theme.rareStepFontWeights.bold;
99
+ }, function (props) {
100
+ return props.theme.marginPaddings[4];
101
+ }, function (props) {
102
+ return props.theme.rareStepFontSize.h5;
103
+ });
104
+ var FooterLinksWrapper = styled__default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n {\n display: flex;\n flex-basis: 70%;\n }\n"])));
105
+ var FooterLinksContainer = styled__default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n {\n display: flex;\n flex-direction: column;\n flex: 1;\n padding-right: ", ";\n }\n"])), function (props) {
106
+ return props.theme.marginPaddings[4];
107
+ });
108
+ var FooterTitleLink = styled__default.a(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n {\n text-transform: uppercase;\n color: ", ";\n margin-bottom: ", ";\n cursor: pointer;\n font-weight: ", ";\n font-size: ", ";\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: underline;\n }\n }\n"])), function (props) {
109
+ return props.theme.rareStepColors.ntrlMin;
110
+ }, function (props) {
111
+ return props.theme.marginPaddings[1];
112
+ }, function (props) {
113
+ return props.theme.rareStepFontWeights.bold;
114
+ }, function (props) {
115
+ return props.theme.rareStepFontSize.footerTitle;
116
+ }, function (props) {
117
+ return props.theme.rareStepColors.ntrlMin;
118
+ });
119
+ var FooterLink = styled__default.a(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n {\n color: ", ";\n cursor: pointer;\n margin-bottom: ", ";\n font-weight: ", ";\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: underline;\n }\n }\n"])), function (props) {
120
+ return props.theme.rareStepColors.ntrlMin;
121
+ }, function (props) {
122
+ return props.theme.space[2];
123
+ }, function (props) {
124
+ return props.theme.rareStepFontWeights.normal;
125
+ }, function (props) {
126
+ return props.theme.rareStepColors.ntrlMin;
127
+ });
128
+ var FooterImage = styled__default.img(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n {\n width: 100%;\n height: 100%;\n max-height: 300px;\n object-fit: cover;\n }\n"])));
129
+ var FooterImageWrapper = styled__default.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n {\n flex-basis: 30%;\n }\n"])));
130
+ var FooterLogo = styled__default.img(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n {\n width: 120px;\n height: 50px;\n margin-top: ", ";\n }\n"])), function (props) {
131
+ return props.theme.marginPaddings[5];
132
+ });
133
+ var SocialIconWrapper = styled__default.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n {\n display: flex;\n }\n"])));
134
+ var SocialIcon = styled__default.img(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n {\n width: 30px;\n height: 30px;\n margin-right: ", ";\n }\n"])), function (props) {
135
+ return props.theme.marginPaddings[0];
136
+ });
137
+
138
+ function RareStepFooter(_ref) {
139
+ var footer_image_url = _ref.footer_image_url,
140
+ footer_logo_image_url = _ref.footer_logo_image_url,
141
+ facebook_url = _ref.facebook_url,
142
+ facebook_icon_url = _ref.facebook_icon_url,
143
+ instagram_url = _ref.instagram_url,
144
+ instagram_image_url = _ref.instagram_image_url;
145
+ return /*#__PURE__*/React__default.createElement(FooterWrapper, null, /*#__PURE__*/React__default.createElement(FooterLinksWrapper, null, /*#__PURE__*/React__default.createElement(FooterLinksContainer, null, /*#__PURE__*/React__default.createElement(FooterTitleLink, {
146
+ href: "/contact-us"
147
+ }, "Contact"), /*#__PURE__*/React__default.createElement(FooterLink, {
148
+ href: "/contact-us"
149
+ }, "Contact Us"), /*#__PURE__*/React__default.createElement(FooterLink, null), /*#__PURE__*/React__default.createElement(FooterLink, null, "000 000 0000"), /*#__PURE__*/React__default.createElement(FooterLink, {
150
+ href: "mailto:myorder@rarestep.co.za"
151
+ }, "myorder@rarestep.co.za"), /*#__PURE__*/React__default.createElement(FooterLogo, {
152
+ src: footer_logo_image_url
153
+ }), /*#__PURE__*/React__default.createElement(FooterTitleLink, null, "Connect"), /*#__PURE__*/React__default.createElement(SocialIconWrapper, null, /*#__PURE__*/React__default.createElement(FooterLink, {
154
+ href: facebook_url
155
+ }, /*#__PURE__*/React__default.createElement(SocialIcon, {
156
+ src: facebook_icon_url
157
+ })), /*#__PURE__*/React__default.createElement(FooterLink, {
158
+ href: instagram_url
159
+ }, /*#__PURE__*/React__default.createElement(SocialIcon, {
160
+ src: instagram_image_url
161
+ })))), /*#__PURE__*/React__default.createElement(FooterLinksContainer, null, /*#__PURE__*/React__default.createElement(FooterTitleLink, {
162
+ href: "/buy-sell"
163
+ }, "Buy & Sell"), /*#__PURE__*/React__default.createElement(FooterLink, {
164
+ href: "/product-category/brands"
165
+ }, "New Arrival"), /*#__PURE__*/React__default.createElement(FooterLink, {
166
+ href: "/product-category/sneakers/brands/"
167
+ }, "Sneakers"), /*#__PURE__*/React__default.createElement(FooterLink, null, "Create Your Interest"), /*#__PURE__*/React__default.createElement(FooterLink, {
168
+ href: "/sell-to-us"
169
+ }, "Sell To Us")), /*#__PURE__*/React__default.createElement(FooterLinksContainer, null, /*#__PURE__*/React__default.createElement(FooterTitleLink, {
170
+ href: "/about"
171
+ }, "Company"), /*#__PURE__*/React__default.createElement(FooterLink, {
172
+ href: "/about"
173
+ }, "Our Story"), /*#__PURE__*/React__default.createElement(FooterLink, {
174
+ href: "/blog"
175
+ }, "Sneakers")), /*#__PURE__*/React__default.createElement(FooterLinksContainer, null, /*#__PURE__*/React__default.createElement(FooterTitleLink, {
176
+ href: "/faq"
177
+ }, "Help"), /*#__PURE__*/React__default.createElement(FooterLink, {
178
+ href: "/faq"
179
+ }, "FAQs"), /*#__PURE__*/React__default.createElement(FooterLink, {
180
+ href: "/shipping"
181
+ }, "Shipping & Returns"), /*#__PURE__*/React__default.createElement(FooterLink, {
182
+ href: "/terms-conditions"
183
+ }, "Terms & Conditions"), /*#__PURE__*/React__default.createElement(FooterLink, {
184
+ href: "/privacy"
185
+ }, "Privacy Policy"))), /*#__PURE__*/React__default.createElement(FooterImageWrapper, null, /*#__PURE__*/React__default.createElement(FooterImage, {
186
+ src: footer_image_url
187
+ })));
188
+ }
189
+
190
+ var index = themed(RareStepFooter);
191
+
192
+ return index;
193
+
194
+ })));
@@ -0,0 +1,317 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('styled-components')) :
3
+ typeof define === 'function' && define.amd ? define(['react', 'styled-components'], factory) :
4
+ (global = global || self, global.RareStepHeader = factory(global.React, global.styled));
5
+ }(this, (function (React, styled) { 'use strict';
6
+
7
+ var React__default = 'default' in React ? React['default'] : React;
8
+ styled = styled && Object.prototype.hasOwnProperty.call(styled, 'default') ? styled['default'] : styled;
9
+
10
+ function _taggedTemplateLiteral(strings, raw) {
11
+ if (!raw) {
12
+ raw = strings.slice(0);
13
+ }
14
+
15
+ return Object.freeze(Object.defineProperties(strings, {
16
+ raw: {
17
+ value: Object.freeze(raw)
18
+ }
19
+ }));
20
+ }
21
+
22
+ function _slicedToArray(arr, i) {
23
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
24
+ }
25
+
26
+ function _arrayWithHoles(arr) {
27
+ if (Array.isArray(arr)) return arr;
28
+ }
29
+
30
+ function _iterableToArrayLimit(arr, i) {
31
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
32
+
33
+ if (_i == null) return;
34
+ var _arr = [];
35
+ var _n = true;
36
+ var _d = false;
37
+
38
+ var _s, _e;
39
+
40
+ try {
41
+ for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
42
+ _arr.push(_s.value);
43
+
44
+ if (i && _arr.length === i) break;
45
+ }
46
+ } catch (err) {
47
+ _d = true;
48
+ _e = err;
49
+ } finally {
50
+ try {
51
+ if (!_n && _i["return"] != null) _i["return"]();
52
+ } finally {
53
+ if (_d) throw _e;
54
+ }
55
+ }
56
+
57
+ return _arr;
58
+ }
59
+
60
+ function _unsupportedIterableToArray(o, minLen) {
61
+ if (!o) return;
62
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
63
+ var n = Object.prototype.toString.call(o).slice(8, -1);
64
+ if (n === "Object" && o.constructor) n = o.constructor.name;
65
+ if (n === "Map" || n === "Set") return Array.from(o);
66
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
67
+ }
68
+
69
+ function _arrayLikeToArray(arr, len) {
70
+ if (len == null || len > arr.length) len = arr.length;
71
+
72
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
73
+
74
+ return arr2;
75
+ }
76
+
77
+ function _nonIterableRest() {
78
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
79
+ }
80
+
81
+ 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;
82
+ var HeaderWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n {\n display: flex;\n flex-direction: column;\n background-color: ", ";\n }\n"])), function (props) {
83
+ return props.theme.rareStepColors.ntrlMin;
84
+ });
85
+ var HeaderContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n {\n display: flex;\n justify-content: space-between;\n padding: ", ";\n }\n"])), function (props) {
86
+ return props.theme.marginPaddings[3];
87
+ });
88
+ var LogoFigure = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n"])));
89
+ var LogoImage = styled.img(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n {\n width: 200px;\n height: 70px;\n }\n"])));
90
+ var CurrencyFlagIcon = styled.img(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n {\n width: 25px;\n height: 15px;\n margin-top: 9px;\n margin-right: 10px;\n }\n"])));
91
+ var SellToUsLink = styled.a(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n {\n color: ", ";\n font-weight: ", ";\n font-size: ", ";\n padding-top: 10px;\n text-transform: uppercase;\n letter-spacing: 1px;\n cursor: pointer;\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: none;\n }\n }\n"])), function (props) {
92
+ return props.theme.rareStepColors.secondary;
93
+ }, function (props) {
94
+ return props.theme.rareStepFontWeights.bold;
95
+ }, function (props) {
96
+ return props.theme.rareStepFontSize.h5;
97
+ }, function (props) {
98
+ return props.theme.rareStepColors.secondary;
99
+ });
100
+ var HeaderIconsContainer = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n {\n display: flex;\n align-items: center;\n }\n"])));
101
+ var HeaderIcon = styled.img(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n {\n width: 30px;\n height: 30px;\n margin-left: ", ";\n cursor: pointer;\n }\n"])), function (props) {
102
+ return props.theme.marginPaddings[3];
103
+ });
104
+ var NavigationContainer = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n {\n display: flex;\n justify-content: space-between;\n background-color: ", ";\n padding: ", ";\n padding-bottom: 0;\n }\n"])), function (props) {
105
+ return props.theme.rareStepColors.secondary;
106
+ }, function (props) {
107
+ return props.theme.marginPaddings[3];
108
+ });
109
+ var NavigationLink = styled.a(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n {\n color: ", ";\n font-size: ", ";\n margin-right: ", ";\n padding-top: 2px;\n padding-bottom: ", ";\n cursor: pointer;\n border-bottom: 2px solid ", ";\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) {
110
+ return props.theme.rareStepColors.ntrlMin;
111
+ }, function (props) {
112
+ return props.theme.rareStepFontSize.h5;
113
+ }, function (props) {
114
+ return props.theme.marginPaddings[5];
115
+ }, function (props) {
116
+ return props.theme.marginPaddings[1];
117
+ }, function (props) {
118
+ return props.theme.rareStepColors.secondary;
119
+ }, function (props) {
120
+ return props.theme.rareStepColors.ntrlMin;
121
+ }, function (props) {
122
+ return props.theme.rareStepColors.secondary;
123
+ });
124
+ var NavigationLinks = styled.div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n {\n display: flex;\n }\n"])));
125
+ var Dropdown = styled.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n {\n display: flex;\n background-color: ", ";\n padding: ", "\n ", ";\n border-top: 1px solid ", ";\n font-size: ", ";\n }\n"])), function (props) {
126
+ return props.theme.rareStepColors.secondary;
127
+ }, function (props) {
128
+ return props.theme.marginPaddings[7];
129
+ }, function (props) {
130
+ return props.theme.marginPaddings[1];
131
+ }, function (props) {
132
+ return props.theme.rareStepColors.ntrl40;
133
+ }, function (props) {
134
+ return props.theme.rareStepFontSize.h5;
135
+ });
136
+ var DropdownBrands = styled.div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n {\n display: flex;\n flex-direction: column;\n flex-basis: 20%;\n }\n"])));
137
+ var DropdownModels = styled.div(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n {\n display: flex;\n flex-direction: column;\n padding: 0 ", ";\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n flex-basis: 50%;\n }\n"])), function (props) {
138
+ return props.theme.marginPaddings[3];
139
+ }, function (props) {
140
+ return props.theme.rareStepColors.ntrl40;
141
+ }, function (props) {
142
+ return props.theme.rareStepColors.ntrl40;
143
+ });
144
+ var DropdownFigure = styled.div(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n {\n display: flex;\n flex-basis: 30%;\n padding-left: ", ";\n }\n"])), function (props) {
145
+ return props.theme.marginPaddings[5];
146
+ });
147
+ var DropdownImage = styled.img(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n {\n width: 90%;\n height: 100%;\n object-fit: cover;\n margin-left: auto;\n }\n"])));
148
+ var DropdownLink = styled.a(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n {\n color: ", ";\n padding-bottom: ", ";\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: underline;\n }\n }\n"])), function (props) {
149
+ return props.theme.rareStepColors.ntrlMin;
150
+ }, function (props) {
151
+ return props.theme.marginPaddings[0];
152
+ }, function (props) {
153
+ return props.theme.rareStepColors.ntrlMin;
154
+ });
155
+ var DropdownBrandLinkContainer = styled.div(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n {\n display: flex;\n\n &:hover {\n cursor: pointer;\n\n hr {\n display: block;\n }\n }\n }\n"])));
156
+ var DropdownBrandLinkHR = styled.hr(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n {\n display: none;\n width: 20px;\n margin-top: 10px;\n color: ", ";\n margin-right: 10px;\n }\n"])), function (props) {
157
+ return props.theme.rareStepColors.secondary;
158
+ });
159
+ var DropdownBrandLink = styled.a(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n {\n color: ", ";\n padding-bottom: 0.5rem;\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: none;\n }\n }\n"])), function (props) {
160
+ return props.theme.rareStepColors.ntrlMin;
161
+ }, function (props) {
162
+ return props.theme.rareStepColors.ntrlMin;
163
+ });
164
+ var DropdownNavigatorIcon = styled.img(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n {\n width: 15px;\n height: 12px;\n margin-left: ", ";\n }\n"])), function (props) {
165
+ return props.theme.marginPaddings[0];
166
+ });
167
+ var SellToUsHR = styled.hr(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n {\n width: 80px;\n margin-top: 20px;\n color: ", ";\n border: 1px solid ", ";\n margin-right: 10px;\n }\n"])), function (props) {
168
+ return props.theme.rareStepColors.secondary;
169
+ }, function (props) {
170
+ return props.theme.rareStepColors.secondary;
171
+ });
172
+ var SearchContainer = styled.div(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n {\n display: flex;\n padding: ", "\n ", ";\n background-color: ", ";\n align-items: center;\n border-top: 1px solid ", ";\n }\n"])), function (props) {
173
+ return props.theme.marginPaddings[1];
174
+ }, function (props) {
175
+ return props.theme.marginPaddings[3];
176
+ }, function (props) {
177
+ return props.theme.rareStepColors.secondary;
178
+ }, function (props) {
179
+ return props.theme.rareStepColors.ntrl40;
180
+ });
181
+ var SearchInput = styled.input(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n {\n width: 50%;\n font-size: ", ";\n padding-bottom: ", ";\n background-color: ", ";\n color: ", ";\n border: none;\n margin-left: ", ";\n\n &::placeholder {\n color: ", ";\n }\n }\n"])), function (props) {
182
+ return props.theme.rareStepFontSize.footerTitle;
183
+ }, function (props) {
184
+ return props.theme.marginPaddings[0];
185
+ }, function (props) {
186
+ return props.theme.rareStepColors.secondary;
187
+ }, function (props) {
188
+ return props.theme.rareStepColors.ntrl40;
189
+ }, function (props) {
190
+ return props.theme.marginPaddings[3];
191
+ }, function (props) {
192
+ return props.theme.rareStepColors.ntrl40;
193
+ });
194
+ var SearchIcon = styled.img(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n {\n width: 20px;\n height: 20px;\n cursor: pointer;\n }\n"])));
195
+ var CloseIcon = styled.img(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n {\n width: 20px;\n height: 20px;\n margin-left: auto;\n cursor: pointer;\n }\n"])));
196
+
197
+ var RareStepHeader = function RareStepHeader(_ref) {
198
+ var _header_dropdown_prod;
199
+
200
+ var header_logo_img_url = _ref.header_logo_img_url,
201
+ search_icon_url = _ref.search_icon_url,
202
+ cart_icon_url = _ref.cart_icon_url,
203
+ user_icon_url = _ref.user_icon_url,
204
+ interest_icon_url = _ref.interest_icon_url,
205
+ dropdown_closed_icon_url = _ref.dropdown_closed_icon_url,
206
+ dropdown_open_icon_url = _ref.dropdown_open_icon_url,
207
+ currency_flag_icon_url = _ref.currency_flag_icon_url,
208
+ close_icon_url = _ref.close_icon_url,
209
+ navigation_search_icon_url = _ref.navigation_search_icon_url,
210
+ wordpress_site_url = _ref.wordpress_site_url,
211
+ header_dropdown_product_object = _ref.header_dropdown_product_object;
212
+
213
+ var _useState = React.useState(false),
214
+ _useState2 = _slicedToArray(_useState, 2),
215
+ showDropdown = _useState2[0],
216
+ setShowDropdown = _useState2[1];
217
+
218
+ var timeoutIdRef = React.useRef(null);
219
+ var searchInputRef = React.useRef(null);
220
+
221
+ var _useState3 = React.useState(false),
222
+ _useState4 = _slicedToArray(_useState3, 2),
223
+ showSearch = _useState4[0],
224
+ setShowSearch = _useState4[1];
225
+
226
+ var _useState5 = React.useState([]),
227
+ _useState6 = _slicedToArray(_useState5, 2),
228
+ currentModels = _useState6[0],
229
+ setCurrentModels = _useState6[1];
230
+
231
+ var _useState7 = React.useState(null),
232
+ _useState8 = _slicedToArray(_useState7, 2),
233
+ currentBrand = _useState8[0],
234
+ setCurrentBrand = _useState8[1];
235
+
236
+ var handleShowDropdown = function handleShowDropdown() {
237
+ clearTimeout(timeoutIdRef.current);
238
+ setShowDropdown(true);
239
+ };
240
+
241
+ var handleHideDropdown = function handleHideDropdown() {
242
+ timeoutIdRef.current = setTimeout(function () {
243
+ setShowDropdown(false);
244
+ }, 500);
245
+ };
246
+
247
+ var toggleSearch = function toggleSearch() {
248
+ setShowSearch(!showSearch);
249
+ };
250
+
251
+ var handleOnSearch = function handleOnSearch() {
252
+ window.location.replace("".concat(wordpress_site_url, "/?s=").concat(searchInputRef.current.value));
253
+ };
254
+
255
+ var handleKeyDown = function handleKeyDown(e) {
256
+ if (e.key === 'Enter') {
257
+ handleOnSearch();
258
+ }
259
+ };
260
+
261
+ var handleBrandHover = function handleBrandHover(brand) {
262
+ setCurrentBrand(brand);
263
+ setCurrentModels(brand.models);
264
+ };
265
+
266
+ return /*#__PURE__*/React__default.createElement(HeaderWrapper, null, /*#__PURE__*/React__default.createElement(HeaderContainer, null, /*#__PURE__*/React__default.createElement(LogoFigure, null, /*#__PURE__*/React__default.createElement(LogoImage, {
267
+ src: header_logo_img_url
268
+ })), /*#__PURE__*/React__default.createElement(HeaderIconsContainer, null, /*#__PURE__*/React__default.createElement(SellToUsHR, null), /*#__PURE__*/React__default.createElement(SellToUsLink, null, "Sell to us"), /*#__PURE__*/React__default.createElement(HeaderIcon, {
269
+ src: search_icon_url,
270
+ onClick: toggleSearch
271
+ }), /*#__PURE__*/React__default.createElement(HeaderIcon, {
272
+ src: interest_icon_url
273
+ }), /*#__PURE__*/React__default.createElement(HeaderIcon, {
274
+ src: user_icon_url
275
+ }), /*#__PURE__*/React__default.createElement(HeaderIcon, {
276
+ src: cart_icon_url
277
+ }))), /*#__PURE__*/React__default.createElement(NavigationContainer, null, /*#__PURE__*/React__default.createElement(NavigationLinks, null, /*#__PURE__*/React__default.createElement(NavigationLink, null, "New Arrivals"), /*#__PURE__*/React__default.createElement(NavigationLink, {
278
+ onMouseOver: handleShowDropdown,
279
+ onMouseOut: handleHideDropdown
280
+ }, header_dropdown_product_object.product_type, showDropdown ? /*#__PURE__*/React__default.createElement(DropdownNavigatorIcon, {
281
+ src: dropdown_closed_icon_url
282
+ }) : /*#__PURE__*/React__default.createElement(DropdownNavigatorIcon, {
283
+ src: dropdown_open_icon_url
284
+ })), /*#__PURE__*/React__default.createElement(NavigationLink, null, "Create Your Interests"), /*#__PURE__*/React__default.createElement(NavigationLink, null, "Rare Step Finder")), /*#__PURE__*/React__default.createElement(NavigationLinks, null, /*#__PURE__*/React__default.createElement(NavigationLink, null, "Our Story"), /*#__PURE__*/React__default.createElement(NavigationLink, null, "Blog"), /*#__PURE__*/React__default.createElement(NavigationLink, null, "Contact Us"), /*#__PURE__*/React__default.createElement(CurrencyFlagIcon, {
285
+ src: currency_flag_icon_url
286
+ }), /*#__PURE__*/React__default.createElement(NavigationLink, null, "South African (ZAR, R)"))), showSearch && /*#__PURE__*/React__default.createElement(SearchContainer, null, /*#__PURE__*/React__default.createElement(SearchIcon, {
287
+ src: navigation_search_icon_url,
288
+ onClick: handleOnSearch
289
+ }), /*#__PURE__*/React__default.createElement(SearchInput, {
290
+ ref: searchInputRef,
291
+ placeholder: "Search...",
292
+ onKeyDown: handleKeyDown
293
+ }), /*#__PURE__*/React__default.createElement(CloseIcon, {
294
+ src: close_icon_url,
295
+ onClick: toggleSearch
296
+ })), showDropdown && /*#__PURE__*/React__default.createElement(Dropdown, {
297
+ onMouseOver: handleShowDropdown,
298
+ onMouseOut: handleHideDropdown
299
+ }, /*#__PURE__*/React__default.createElement(DropdownBrands, null, header_dropdown_product_object === null || header_dropdown_product_object === void 0 ? void 0 : (_header_dropdown_prod = header_dropdown_product_object.brands) === null || _header_dropdown_prod === void 0 ? void 0 : _header_dropdown_prod.map(function (brand, index) {
300
+ return /*#__PURE__*/React__default.createElement(DropdownBrandLinkContainer, {
301
+ key: index,
302
+ onMouseOver: function onMouseOver() {
303
+ return handleBrandHover(brand);
304
+ }
305
+ }, /*#__PURE__*/React__default.createElement(DropdownBrandLinkHR, null), /*#__PURE__*/React__default.createElement(DropdownBrandLink, null, brand.brand_name));
306
+ })), /*#__PURE__*/React__default.createElement(DropdownModels, null, currentModels === null || currentModels === void 0 ? void 0 : currentModels.map(function (model, index) {
307
+ return /*#__PURE__*/React__default.createElement(DropdownLink, {
308
+ key: index
309
+ }, model.model_name);
310
+ })), (currentBrand === null || currentBrand === void 0 ? void 0 : currentBrand.brand_image_url) && /*#__PURE__*/React__default.createElement(DropdownFigure, null, /*#__PURE__*/React__default.createElement(DropdownImage, {
311
+ src: currentBrand === null || currentBrand === void 0 ? void 0 : currentBrand.brand_image_url
312
+ }))));
313
+ };
314
+
315
+ return RareStepHeader;
316
+
317
+ })));
@@ -0,0 +1,15 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react')) :
3
+ typeof define === 'function' && define.amd ? define(['react'], factory) :
4
+ (global = global || self, global.RareStepLoginModal = factory(global.React));
5
+ }(this, (function (React) { 'use strict';
6
+
7
+ React = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;
8
+
9
+ function RareStepLoginModal() {
10
+ return /*#__PURE__*/React.createElement("div", null, "RareStepLoginModal");
11
+ }
12
+
13
+ return RareStepLoginModal;
14
+
15
+ })));