@bonlineza/luxity-lib 2.30.3 → 2.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/GALink.js ADDED
@@ -0,0 +1,60 @@
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.GALink = 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 _extends() {
10
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
11
+ for (var i = 1; i < arguments.length; i++) {
12
+ var source = arguments[i];
13
+
14
+ for (var key in source) {
15
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
16
+ target[key] = source[key];
17
+ }
18
+ }
19
+ }
20
+
21
+ return target;
22
+ };
23
+ return _extends.apply(this, arguments);
24
+ }
25
+
26
+ var Event = function Event(instance, track) {
27
+ var category = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
28
+ var action = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
29
+ var label = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';
30
+ var value = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';
31
+
32
+ if (track) {
33
+ instance.event({
34
+ category: category,
35
+ action: action,
36
+ label: label,
37
+ value: value
38
+ });
39
+ }
40
+ };
41
+
42
+ var GALink = function GALink(props) {
43
+ var gaOnClick = function gaOnClick(event) {
44
+ Event(props.instance, props.track, 'Link', "Click on ".concat(props.href), props.label);
45
+
46
+ if (typeof props.onClick === 'function') {
47
+ props.onClick(event);
48
+ }
49
+ };
50
+
51
+ return /*#__PURE__*/React.createElement("a", _extends({
52
+ href: "/"
53
+ }, props, {
54
+ onClick: gaOnClick
55
+ }), props.children);
56
+ };
57
+
58
+ return GALink;
59
+
60
+ })));
@@ -10982,11 +10982,16 @@
10982
10982
  var SubmitButton = styled__default.input(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n flex-basis: 15%;\n margin-right: 5px;\n"])));
10983
10983
 
10984
10984
  var _templateObject$U;
10985
+ var FooterWrapper$1 = styled__default.div(_templateObject$U || (_templateObject$U = _taggedTemplateLiteral(["\n {\n background-color: ", ";\n }\n"])), function (props) {
10986
+ return props.theme.colors.gray;
10987
+ });
10988
+
10989
+ var _templateObject$V;
10985
10990
  var ALL_ITEM$1 = {
10986
10991
  label: 'ALL',
10987
10992
  value: 'ALL'
10988
10993
  };
10989
- var StyledMultiselector$1 = styled__default.div(_templateObject$U || (_templateObject$U = _taggedTemplateLiteral(["\n .multiselector__selected-items,\n .multiselector__selectable-items {\n display: flex;\n flex-flow: no-wrap;\n margin-bottom: 40px;\n .dropdown-select-container {\n width: 100%;\n .dropdown-select {\n &__control {\n border-color: ", ";\n border-radius: 0px;\n background-color: ", ";\n color: ", ";\n }\n &__multi-value {\n background-color: ", ";\n }\n &__multi-value__label {\n color: ", ";\n font-size: 100%;\n }\n &__multi-value__remove {\n svg {\n fill: ", ";\n }\n }\n }\n }\n }\n"])), function (props) {
10994
+ var StyledMultiselector$1 = styled__default.div(_templateObject$V || (_templateObject$V = _taggedTemplateLiteral(["\n .multiselector__selected-items,\n .multiselector__selectable-items {\n display: flex;\n flex-flow: no-wrap;\n margin-bottom: 40px;\n .dropdown-select-container {\n width: 100%;\n .dropdown-select {\n &__control {\n border-color: ", ";\n border-radius: 0px;\n background-color: ", ";\n color: ", ";\n }\n &__multi-value {\n background-color: ", ";\n }\n &__multi-value__label {\n color: ", ";\n font-size: 100%;\n }\n &__multi-value__remove {\n svg {\n fill: ", ";\n }\n }\n }\n }\n }\n"])), function (props) {
10990
10995
  return props.theme.colors.primary;
10991
10996
  }, function (props) {
10992
10997
  return props.theme.colors.ntrlMin;
@@ -0,0 +1,413 @@
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.LuxityDesktopHeader = factory(global.React));
5
+ }(this, (function (React) { 'use strict';
6
+
7
+ var React__default = 'default' in React ? React['default'] : React;
8
+
9
+ function _slicedToArray(arr, i) {
10
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
11
+ }
12
+
13
+ function _arrayWithHoles(arr) {
14
+ if (Array.isArray(arr)) return arr;
15
+ }
16
+
17
+ function _iterableToArrayLimit(arr, i) {
18
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
19
+
20
+ if (_i == null) return;
21
+ var _arr = [];
22
+ var _n = true;
23
+ var _d = false;
24
+
25
+ var _s, _e;
26
+
27
+ try {
28
+ for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
29
+ _arr.push(_s.value);
30
+
31
+ if (i && _arr.length === i) break;
32
+ }
33
+ } catch (err) {
34
+ _d = true;
35
+ _e = err;
36
+ } finally {
37
+ try {
38
+ if (!_n && _i["return"] != null) _i["return"]();
39
+ } finally {
40
+ if (_d) throw _e;
41
+ }
42
+ }
43
+
44
+ return _arr;
45
+ }
46
+
47
+ function _unsupportedIterableToArray(o, minLen) {
48
+ if (!o) return;
49
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
50
+ var n = Object.prototype.toString.call(o).slice(8, -1);
51
+ if (n === "Object" && o.constructor) n = o.constructor.name;
52
+ if (n === "Map" || n === "Set") return Array.from(o);
53
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
54
+ }
55
+
56
+ function _arrayLikeToArray(arr, len) {
57
+ if (len == null || len > arr.length) len = arr.length;
58
+
59
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
60
+
61
+ return arr2;
62
+ }
63
+
64
+ function _nonIterableRest() {
65
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
66
+ }
67
+
68
+ var Dropdown = function Dropdown(_ref) {
69
+ var title = _ref.title,
70
+ imageSrc = _ref.imageSrc,
71
+ _ref$categoryElements = _ref.categoryElements,
72
+ categoryElements = _ref$categoryElements === void 0 ? [] : _ref$categoryElements,
73
+ _ref$brandElements = _ref.brandElements,
74
+ brandElements = _ref$brandElements === void 0 ? [] : _ref$brandElements,
75
+ productsUrl = _ref.productsUrl,
76
+ categorySlug = _ref.categorySlug,
77
+ categoryTitle = _ref.categoryTitle;
78
+ return /*#__PURE__*/React__default.createElement("div", {
79
+ className: "dropdown"
80
+ }, /*#__PURE__*/React__default.createElement("div", {
81
+ className: "dropdown__column"
82
+ }, /*#__PURE__*/React__default.createElement("div", {
83
+ className: "dropdown__title"
84
+ }, title), /*#__PURE__*/React__default.createElement("div", {
85
+ className: "dropdown__elements dropdown__elements--column"
86
+ }, !!categoryElements.length && categoryElements.map(function (category) {
87
+ return /*#__PURE__*/React__default.createElement("a", {
88
+ href: "".concat(productsUrl, "/").concat(category === null || category === void 0 ? void 0 : category.slug),
89
+ className: "dropdown__element",
90
+ key: category.name
91
+ }, category === null || category === void 0 ? void 0 : category.name);
92
+ }))), /*#__PURE__*/React__default.createElement("div", {
93
+ className: "dropdown__column"
94
+ }, /*#__PURE__*/React__default.createElement("div", {
95
+ className: "dropdown__title"
96
+ }, "Brands"), /*#__PURE__*/React__default.createElement("div", {
97
+ className: "dropdown__elements dropdown__elements--row"
98
+ }, /*#__PURE__*/React__default.createElement("a", {
99
+ href: "".concat(productsUrl, "/").concat(categorySlug),
100
+ className: "dropdown__element"
101
+ }, "All ", categoryTitle), !!brandElements.length && brandElements.map(function (brand) {
102
+ return /*#__PURE__*/React__default.createElement("a", {
103
+ href: "".concat(productsUrl, "/").concat(brand === null || brand === void 0 ? void 0 : brand.slug),
104
+ className: "dropdown__element",
105
+ key: brand.name
106
+ }, brand === null || brand === void 0 ? void 0 : brand.name);
107
+ }))), /*#__PURE__*/React__default.createElement("div", {
108
+ className: "dropdown__column"
109
+ }, /*#__PURE__*/React__default.createElement("img", {
110
+ src: imageSrc,
111
+ alt: "".concat(title)
112
+ })));
113
+ };
114
+
115
+ var StoresDropdown = function StoresDropdown(_ref) {
116
+ var _ref$stores = _ref.stores,
117
+ stores = _ref$stores === void 0 ? [] : _ref$stores,
118
+ contactNumber = _ref.contactNumber;
119
+ return /*#__PURE__*/React__default.createElement("div", {
120
+ className: "stores-dropdown"
121
+ }, !!stores.length && stores.map(function (store) {
122
+ return /*#__PURE__*/React__default.createElement("div", {
123
+ className: "stores-dropdown__store-details",
124
+ key: store.name
125
+ }, /*#__PURE__*/React__default.createElement("div", {
126
+ className: "stores-dropdown__store-image"
127
+ }, /*#__PURE__*/React__default.createElement("img", {
128
+ className: "stores-dropdown__image",
129
+ src: store.image,
130
+ alt: store.name
131
+ })), /*#__PURE__*/React__default.createElement("div", {
132
+ className: "stores-dropdown__store-info"
133
+ }, /*#__PURE__*/React__default.createElement("h4", {
134
+ className: "stores-dropdown__title"
135
+ }, store.title, " ", /*#__PURE__*/React__default.createElement("br", null), " ", store.location), /*#__PURE__*/React__default.createElement("div", {
136
+ className: "stores-dropdown__open-days"
137
+ }, store.regularOpenDays), /*#__PURE__*/React__default.createElement("div", {
138
+ className: "stores-dropdown__open-hours"
139
+ }, store.regularOpenHours), /*#__PURE__*/React__default.createElement("div", {
140
+ className: "stores-dropdown__open-days"
141
+ }, store.holidayOpenDays), /*#__PURE__*/React__default.createElement("div", {
142
+ className: "stores-dropdown__open-hours"
143
+ }, store.holidayOpenHours), (store === null || store === void 0 ? void 0 : store.weekendOpenDays) && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
144
+ className: "stores-dropdown__open-days"
145
+ }, store.weekendOpenDays), /*#__PURE__*/React__default.createElement("div", {
146
+ className: "stores-dropdown__open-hours"
147
+ }, store.weekendOpenHours))));
148
+ }), /*#__PURE__*/React__default.createElement("div", {
149
+ className: "stores-dropdown__queries"
150
+ }, /*#__PURE__*/React__default.createElement("h4", {
151
+ className: "stores-dropdown__queries-title"
152
+ }, "Customer Queries: "), /*#__PURE__*/React__default.createElement("a", {
153
+ className: "stores-dropdown__contact-details",
154
+ href: "tel:".concat(contactNumber)
155
+ }, contactNumber)));
156
+ };
157
+
158
+ var categories = {
159
+ shoes: {
160
+ name: 'Shoes',
161
+ slug: 'shoes'
162
+ },
163
+ bags: {
164
+ name: 'Bags',
165
+ slug: 'bags'
166
+ },
167
+ clothing: {
168
+ name: 'Clothing',
169
+ slug: 'apparel'
170
+ },
171
+ watches: {
172
+ name: 'Watches',
173
+ slug: 'watches'
174
+ },
175
+ accessories: {
176
+ name: 'Accessories',
177
+ slug: 'accessories'
178
+ }
179
+ };
180
+
181
+ var LuxityDesktopHeader = function LuxityDesktopHeader(_ref) {
182
+ var accountIcon = _ref.accountIcon,
183
+ cartIcon = _ref.cartIcon,
184
+ interestIcon = _ref.interestIcon,
185
+ cartCount = _ref.cartCount,
186
+ logoSrc = _ref.logoSrc,
187
+ categoryElements = _ref.categoryElements,
188
+ newBrandElements = _ref.newBrandElements,
189
+ bagsElements = _ref.bagsElements,
190
+ shoesElements = _ref.shoesElements,
191
+ clothingElements = _ref.clothingElements,
192
+ accessoriesElements = _ref.accessoriesElements,
193
+ accessoriesCategoryElements = _ref.accessoriesCategoryElements,
194
+ watchesElements = _ref.watchesElements,
195
+ newBrandsImage = _ref.newBrandsImage,
196
+ bagsImage = _ref.bagsImage,
197
+ shoesImage = _ref.shoesImage,
198
+ clothingImage = _ref.clothingImage,
199
+ accessoriesImage = _ref.accessoriesImage,
200
+ watchesImage = _ref.watchesImage,
201
+ productsUrl = _ref.productsUrl,
202
+ stores = _ref.stores,
203
+ contactNumber = _ref.contactNumber,
204
+ onInterestClick = _ref.onInterestClick,
205
+ onCartClick = _ref.onCartClick,
206
+ onAccountClick = _ref.onAccountClick,
207
+ inputSearchIcon = _ref.inputSearchIcon,
208
+ onSearch = _ref.onSearch,
209
+ ourStoryLink = _ref.ourStoryLink,
210
+ blogLink = _ref.blogLink,
211
+ contactUsLink = _ref.contactUsLink,
212
+ sellToUsLink = _ref.sellToUsLink;
213
+
214
+ var _useState = React.useState(''),
215
+ _useState2 = _slicedToArray(_useState, 2),
216
+ searchValue = _useState2[0],
217
+ setSearchValue = _useState2[1];
218
+
219
+ var handleChange = function handleChange(event) {
220
+ setSearchValue(event.target.value);
221
+ };
222
+
223
+ var handleKeyDown = function handleKeyDown(event) {
224
+ if (event.key === 'Enter') {
225
+ onSearch(searchValue);
226
+ }
227
+ };
228
+
229
+ return /*#__PURE__*/React__default.createElement("div", {
230
+ className: "navbar"
231
+ }, /*#__PURE__*/React__default.createElement("div", {
232
+ className: "navbar__container"
233
+ }, /*#__PURE__*/React__default.createElement("div", {
234
+ className: "navbar__logo-wrapper"
235
+ }, /*#__PURE__*/React__default.createElement("div", {
236
+ className: "navbar__logo"
237
+ }, /*#__PURE__*/React__default.createElement("img", {
238
+ src: logoSrc,
239
+ alt: "luxity-logo"
240
+ }))), /*#__PURE__*/React__default.createElement("div", {
241
+ className: "navbar__section"
242
+ }, /*#__PURE__*/React__default.createElement("div", {
243
+ className: "navbar__body"
244
+ }, /*#__PURE__*/React__default.createElement("div", {
245
+ className: "navbar__product-search"
246
+ }, /*#__PURE__*/React__default.createElement("img", {
247
+ src: inputSearchIcon,
248
+ alt: "search-icon",
249
+ className: "navbar__input-search-icon"
250
+ }), /*#__PURE__*/React__default.createElement("input", {
251
+ className: "navbar__form-input",
252
+ type: "text",
253
+ placeholder: "Search for items and designs",
254
+ value: searchValue,
255
+ onChange: handleChange,
256
+ onKeyDown: handleKeyDown
257
+ })), /*#__PURE__*/React__default.createElement("nav", {
258
+ className: "navbar__nav-links navbar__nav-links--wrap"
259
+ }, /*#__PURE__*/React__default.createElement("li", {
260
+ className: "navbar__link"
261
+ }, /*#__PURE__*/React__default.createElement("a", {
262
+ href: "#",
263
+ className: "navbar__link-item"
264
+ }, "New"), /*#__PURE__*/React__default.createElement("div", {
265
+ className: "navbar__dropdown"
266
+ }, /*#__PURE__*/React__default.createElement(Dropdown, {
267
+ title: "Department",
268
+ imageSrc: newBrandsImage,
269
+ categoryElements: categoryElements,
270
+ brandElements: newBrandElements,
271
+ productsUrl: productsUrl,
272
+ categorySlug: "brands",
273
+ categoryTitle: "Brands"
274
+ }))), /*#__PURE__*/React__default.createElement("li", {
275
+ className: "navbar__link"
276
+ }, /*#__PURE__*/React__default.createElement("a", {
277
+ href: "#",
278
+ className: "navbar__link-item"
279
+ }, "Bags"), /*#__PURE__*/React__default.createElement("div", {
280
+ className: "navbar__dropdown"
281
+ }, /*#__PURE__*/React__default.createElement(Dropdown, {
282
+ title: "Department",
283
+ imageSrc: bagsImage,
284
+ categoryElements: categoryElements,
285
+ brandElements: bagsElements,
286
+ productsUrl: productsUrl,
287
+ categorySlug: categories.bags.slug,
288
+ categoryTitle: categories.bags.name
289
+ }))), /*#__PURE__*/React__default.createElement("li", {
290
+ className: "navbar__link"
291
+ }, /*#__PURE__*/React__default.createElement("a", {
292
+ href: "#",
293
+ className: "navbar__link-item"
294
+ }, "Shoes"), /*#__PURE__*/React__default.createElement("div", {
295
+ className: "navbar__dropdown"
296
+ }, /*#__PURE__*/React__default.createElement(Dropdown, {
297
+ title: "Department",
298
+ imageSrc: shoesImage,
299
+ categoryElements: categoryElements,
300
+ brandElements: shoesElements,
301
+ productsUrl: productsUrl,
302
+ categorySlug: categories.shoes.slug,
303
+ categoryTitle: categories.shoes.name
304
+ }))), /*#__PURE__*/React__default.createElement("li", {
305
+ className: "navbar__link"
306
+ }, /*#__PURE__*/React__default.createElement("a", {
307
+ href: "#",
308
+ className: "navbar__link-item"
309
+ }, "Clothing"), /*#__PURE__*/React__default.createElement("div", {
310
+ className: "navbar__dropdown"
311
+ }, /*#__PURE__*/React__default.createElement(Dropdown, {
312
+ title: "Department",
313
+ imageSrc: clothingImage,
314
+ categoryElements: categoryElements,
315
+ brandElements: clothingElements,
316
+ productsUrl: productsUrl,
317
+ categorySlug: categories.clothing.slug,
318
+ categoryTitle: categories.clothing.name
319
+ }))), /*#__PURE__*/React__default.createElement("li", {
320
+ className: "navbar__link"
321
+ }, /*#__PURE__*/React__default.createElement("a", {
322
+ href: "#",
323
+ className: "navbar__link-item"
324
+ }, "Accessories"), /*#__PURE__*/React__default.createElement("div", {
325
+ className: "navbar__dropdown"
326
+ }, /*#__PURE__*/React__default.createElement(Dropdown, {
327
+ title: "Categories",
328
+ imageSrc: accessoriesImage,
329
+ categoryElements: accessoriesCategoryElements,
330
+ brandElements: accessoriesElements,
331
+ productsUrl: productsUrl,
332
+ categorySlug: categories.accessories.slug,
333
+ categoryTitle: categories.accessories.name
334
+ }))), /*#__PURE__*/React__default.createElement("li", {
335
+ className: "navbar__link"
336
+ }, /*#__PURE__*/React__default.createElement("a", {
337
+ href: "#",
338
+ className: "navbar__link-item"
339
+ }, "Watches"), /*#__PURE__*/React__default.createElement("div", {
340
+ className: "navbar__dropdown"
341
+ }, /*#__PURE__*/React__default.createElement(Dropdown, {
342
+ title: "Department",
343
+ imageSrc: watchesImage,
344
+ categoryElements: categoryElements,
345
+ brandElements: watchesElements,
346
+ productsUrl: productsUrl,
347
+ categorySlug: categories.watches.slug,
348
+ categoryTitle: categories.watches.name
349
+ }))), /*#__PURE__*/React__default.createElement("li", {
350
+ className: "navbar__link"
351
+ }, /*#__PURE__*/React__default.createElement("a", {
352
+ href: "#",
353
+ className: "navbar__link-item"
354
+ }, "Stores"), /*#__PURE__*/React__default.createElement("div", {
355
+ className: "navbar__dropdown"
356
+ }, /*#__PURE__*/React__default.createElement(StoresDropdown, {
357
+ stores: stores,
358
+ contactNumber: contactNumber
359
+ }))))), /*#__PURE__*/React__default.createElement("div", {
360
+ className: "navbar__icons-wrapper"
361
+ }, /*#__PURE__*/React__default.createElement("div", {
362
+ className: "navbar__icons"
363
+ }, /*#__PURE__*/React__default.createElement("button", {
364
+ type: "button",
365
+ className: "navbar__icon",
366
+ onClick: onInterestClick
367
+ }, /*#__PURE__*/React__default.createElement("img", {
368
+ src: interestIcon,
369
+ alt: "interest-icon"
370
+ })), /*#__PURE__*/React__default.createElement("button", {
371
+ type: "button",
372
+ className: "navbar__icon",
373
+ onClick: onAccountClick
374
+ }, /*#__PURE__*/React__default.createElement("img", {
375
+ src: accountIcon,
376
+ alt: "account-icon"
377
+ })), /*#__PURE__*/React__default.createElement("button", {
378
+ type: "button",
379
+ className: "navbar__cart-icon navbar__icon",
380
+ onClick: onCartClick
381
+ }, /*#__PURE__*/React__default.createElement("img", {
382
+ src: cartIcon,
383
+ alt: "cart-icon"
384
+ }), /*#__PURE__*/React__default.createElement("div", {
385
+ className: "navbar__cart-count"
386
+ }, cartCount))), /*#__PURE__*/React__default.createElement("nav", {
387
+ className: "navbar__nav-links"
388
+ }, /*#__PURE__*/React__default.createElement("li", {
389
+ className: "navbar__company-link"
390
+ }, /*#__PURE__*/React__default.createElement("a", {
391
+ href: ourStoryLink,
392
+ className: "navbar__link-item"
393
+ }, "Our Story")), /*#__PURE__*/React__default.createElement("li", {
394
+ className: "navbar__company-link"
395
+ }, /*#__PURE__*/React__default.createElement("a", {
396
+ href: blogLink,
397
+ className: "navbar__link-item"
398
+ }, "Blog")), /*#__PURE__*/React__default.createElement("li", {
399
+ className: "navbar__company-link"
400
+ }, /*#__PURE__*/React__default.createElement("a", {
401
+ href: contactUsLink,
402
+ className: "navbar__link-item"
403
+ }, "Contact Us")), /*#__PURE__*/React__default.createElement("li", {
404
+ className: "navbar__company-link navbar__company-block"
405
+ }, /*#__PURE__*/React__default.createElement("a", {
406
+ href: sellToUsLink,
407
+ className: "navbar__link-item"
408
+ }, "Sell to us")))))));
409
+ };
410
+
411
+ return LuxityDesktopHeader;
412
+
413
+ })));